[
  {
    "index": 1,
    "heading": "2026-04-02 18:06:22 AREA: S",
    "published_at": "2026-04-02 18:06:22",
    "area": "S",
    "message_id": "SE62",
    "text": "ZCZC SE62\n021500 NAVTEX-HAMBURG (NCC)\n\nWEATHER_ORECAST FOR GERMAN BIGHT\n\nTHURSDAY:\nWIND: NORTHWEST ABOUT 5, _8-_34 23'534, 0-45 '_8!58,_ 23'5.\nVISIBILITY/WEATHER: FIRST RAIN ODVJSZAPYM_FH_M_Y\nSEM_ZZ_M_FJFLFSFHE_A: NORTHERN PART 2,5 METER.\n\nFRIDAY:\nWIND: WEST TO NORTHWEST ABOU_ RN FAST SHIFTING SOUTH TO SOUTHWEST,\nFOR A TIME INCREASING 6_/*9!__!___(:1__*(_EZKUBU_EKQGEBR_BHB1'*_$0HHKNK_: AT TIMES RAIN OR SHOWER WITH POOR VISIBILITY.\nSEA:=__+6.._!_0.\n6.__0__6_NNNN",
    "clean_text": "ZCZC SE62\n021500 NAVTEX-HAMBURG (NCC)\n\nWEATHER_ORECAST FOR GERMAN BIGHT\n\nTHURSDAY:\nWIND: NORTHWEST ABOUT 5, _8-_34 23'534, 0-45 '_8!58,_ 23'5.\nVISIBILITY/WEATHER: FIRST RAIN ODVJSZAPYM_FH_M_Y\nSEM_ZZ_M_FJFLFSFHE_A: NORTHERN PART 2,5 METER.\n\nFRIDAY:\nWIND: WEST TO NORTHWEST ABOU_ RN FAST SHIFTING SOUTH TO SOUTHWEST,\nFOR A TIME INCREASING 6_/*9!__!___(:1__*(_EZKUBU_EKQGEBR_BHB1'*_$0HHKNK_: AT TIMES RAIN OR SHOWER WITH POOR VISIBILITY.\nSEA:=__+6.._!_0.\n6.__0__6_NNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NAVTEX HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Germany - German Bight and German North Sea. Readable text says: Visibility/weather: first rain odvjszapym fh m y. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Visibility/weather: first rain odvjszapym fh m y",
      "Weather orecast for german bight",
      "Sem zz m fjflfsfhe a: northern part 2,5 meter"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 3,
    "heading": "2026-04-02 18:05:10 AREA: T",
    "published_at": "2026-04-02 18:05:10",
    "area": "T",
    "message_id": "",
    "text": "ZCZ_V75\n75\nNCC-HAMBURG\nU\nOTP PP UTC MA_V\n_NAV. WARN_NO. 183\nEAST FRISIAN ISLANDS.JUIST.\n 'JUIST-N___IGHTBUOY  53-44N  006-55E MISSING.\nNNNN",
    "clean_text": "ZCZ_V75\n75\nNCC-HAMBURG\nU\nOTP PP UTC MA_V\n_NAV. WARN_NO. 183\nEAST FRISIAN ISLANDS.JUIST.\n'JUIST-N___IGHTBUOY 53-44N 006-55E MISSING.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "NCC HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Germany - German Bight and German North Sea. Readable text says: 'juist-n ightbuoy 53-44n 006-55e missing. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "'juist-n ightbuoy 53-44n 006-55e missing",
      "Otp pp utc ma v",
      "East frisian islands.juist"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 4,
    "heading": "2026-04-02 18:03:57 AREA: S",
    "published_at": "2026-04-02 18:03:57",
    "area": "S",
    "message_id": "SA80",
    "text": "ZCZC SA80\n,_/_'(__77.-__)__-4,. DO. 18+\n0!206.0*_:63_'EIDER' LIGHTBUOY  54-16N 008+_09,__0_$+1(-__,)85 _796.\nNNNN",
    "clean_text": "ZCZC SA80\n,_/_'(__77.-__)__-4,. DO. 18+\n0!206.0*_:63_'EIDER' LIGHTBUOY 54-16N 008+_09,__0_$+1(-__,)85 _796.\nNNNN",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code S. Readable text says: 0!206.0 :63 'eider' lightbuoy 54-16n 008 09, 0 $ 1(- ,)85 796. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "0!206.0 :63 'eider' lightbuoy 54-16n 008 09, 0 $ 1(- ,)85 796"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 6,
    "heading": "2026-04-02 18:01:10 AREA: S",
    "published_at": "2026-04-02 18:01:10",
    "area": "S",
    "message_id": "SA83",
    "text": "ZCZC SA83\nNCC-HA_TKYL\nQPWPRWP UTC APR 26\nNAV. WARN. NO. 194\nGERMAN BIGHT. WEFJJPMLV_SURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR3',\nAROUND POSITION 54-47,3N 005-58,3E\nRESTRICTED MANOEVRABILITY DURING OPERA_IZ_F_ONIII_ERTH OF 2 NM REQUESH_W_NNNN",
    "clean_text": "ZCZC SA83\nNCC-HA_TKYL\nQPWPRWP UTC APR 26\nNAV. WARN. NO. 194\nGERMAN BIGHT. WEFJJPMLV_SURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR3',\nAROUND POSITION 54-47,3N 005-58,3E\nRESTRICTED MANOEVRABILITY DURING OPERA_IZ_F_ONIII_ERTH OF 2 NM REQUESH_W_NNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "GERMAN BIGHT"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text reports survey operations near 54-47.3N 005-58.3E and implies local caution around the work area.",
    "decoded_highlights": [
      "German bight. wefjjpmlv survey operations by mv 'fugro synergy', cs 'c6xr3'",
      "Around position 54-47,3n 005-58,3e",
      "Restricted manoevrability during opera iz f oniii erth of 2 nm requesh w nnnn"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 7,
    "heading": "2026-04-02 18:00:14 AREA: D",
    "published_at": "2026-04-02 18:00:14",
    "area": "D",
    "message_id": "DAQIT",
    "text": "ZCZC DAQIT\nNCC_MBURG\n020610 UTC APR 26\nNAV. WARN. NO. 196\nGERMAN BGHT. NORTHW_STJRLY OWF _BARD OFFSHORE 1'.\nUXO SURVEY BY\nMV 'OCEAN RESEARCHER', CS 'GDLS' AROUND POSITION\n54-23,3N 005-54,2E\nRESTRICTED MANOEUVRABILITY DURING OPERATIONS.\nSAFE BERTH OF 1 NM REQUESTED.\nNNNN",
    "clean_text": "ZCZC DAQIT\nNCC_MBURG\n020610 UTC APR 26\nNAV. WARN. NO. 196\nGERMAN BGHT. NORTHW_STJRLY OWF _BARD OFFSHORE 1'.\nUXO SURVEY BY\nMV 'OCEAN RESEARCHER', CS 'GDLS' AROUND POSITION\n54-23,3N 005-54,2E\nRESTRICTED MANOEUVRABILITY DURING OPERATIONS.\nSAFE BERTH OF 1 NM REQUESTED.\nNNNN",
    "display_region_heading": "Unresolved B1 code D",
    "display_region_label": "B1 code D",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code D. Readable text says: Uxo survey by.",
    "decoded_highlights": [
      "Uxo survey by",
      "Restricted manoeuvrability during operations",
      "German bght. northw stjrly owf bard offshore 1'"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 8,
    "heading": "2026-04-02 17:35:57 AREA: P",
    "published_at": "2026-04-02 17:35:57",
    "area": "P",
    "message_id": "PA34",
    "text": "ZCZC PA34\n14_760._:__.+/_.\n__9___*!.\n0 _UHONGLCZ_MDU_ YMGFM\nH__YG_\n_YE TEMPORARILY WITHDRAWN.\nCANCEL MSI 308/25\nNNNN",
    "clean_text": "ZCZC PA34\n14_760._:__.+/_.\n__9___*!.\n0 _UHONGLCZ_MDU_ YMGFM\nH__YG_\n_YE TEMPORARILY WITHDRAWN.\nCANCEL MSI 308/25\nNNNN",
    "display_region_heading": "Unresolved B1 code P",
    "display_region_label": "B1 code P",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code P. Readable text says: Ye temporarily withdrawn. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ye temporarily withdrawn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 10,
    "heading": "2026-04-02 17:29:56 AREA: P",
    "published_at": "2026-04-02 17:29:56",
    "area": "P",
    "message_id": "PE77",
    "text": "ZCZC PE77\n021306 UTC APR 26\nFORECAST DUTCH EEZ ISSUED AT 11:27 UTC 020426\nTHERE ARE NO WARNINGS.\n\nSYNOPSIS\nRIDGE OVER THE DOGGER MOVING ACROSS THE NORTH SEA. LOW, \n1011, WEST OF IRELAND MOVING TO THE NORTH OF SCOTLAND AND \nDEEPENING, 989. ASSOCIATED TROUGH WILL REACH THE NORTH SEMONFMHDPM_ZYF_\nFORECAST VALID THURSDAY 15:00 TILL FRIDAY 03:00 UTC\n\nTHAMES \nNORTHWEST 3-4, SOON DECREASING 2-3, BA__FN_MJZCHD_PJH_MONGSHPYMF_YPJFM_YH_ONG_FYJHMYFJ_MZ..'!_$_.*_+(,4,_99$.\nWAVEHEIGHT AROUN_M\n_METER, DECREASING AROUND 1.0 METER.\n\n\nHUMBP_F_ISUXK_ 3-4, BACKING SOUTHWEST, LATER INCREASING 4-5.\nFIRST RISK OF AN LIGHT SHOWER.\nGOOD.\nWAVEHEIGHT 1.5-2.0 METER, DECREASING 1.0-1.5 METER.\n\n\nGERMAN BIGHT \nNORTHWEST 4-5, SOON DECREASING 3-4, BACKING WEST, LAHPYMONF_YPJF_MJZCHD_PJ_M_YH_ONGFMHDPMPJHPYM_Y_M_FYJHMYFMZYBUE_.\nGOOD.\nWAVEHEIGHT 1.5-2.5 METER.\n\n\nDOGGER \nNORTHWEST 3-4, BACKING SOUTHWEST, LATER INCREASING 4-5.\nFIRST RISK OF AN LIGHT SHOWER.\nGOOD.\nWAVEHEIGHT 2.0-3.0 METER, DECREASING 1.5-2.0 METER.\n\n\nFZYP_J_M_SFWM_YF_EM_PX_MGHFSSM_YFWKPOM_ UTC\n\nTHAMES \nSOUTHWEST 4-5, SOON INCREJFM__EMGHP_ARILY INCREASING \n6-7.\nOCCASIONALLY LIGHT RAIN OR DRIZZLE.\nGOOD, IN PRECC_FHHFZM_ZJJFLSEM_ZWPYHP_WAVEHEIGHT AROUND 1.0 METER, INCREASING 1.5-2.0 METER.\n\n9,_$:_)06.9,*+:_$_0*_._6_._*++.!_60*!.___.__0_-48)6 8,:43-'8,_ \n6-7.\nOCCASIONALLY LIGHT RAIN OR DRIZZLE, LATEYMYF_GOOD, IN PRECIPITATION POSSIBLY MODERATE, LATER MODERATE.\nWAVEHEIGHT 1.0-1.5 ETER, INCREASING AROUND 2.0 METER.\n\n\nGERMAN BIGHTMONJZCHD_PJHM_YHMGJZZMF_YPJFM__EMGHP_ARILY 7.\nOCCASIONALLY LIGHT RAIN OR DRIZZLE, LATER RAIN.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE, LATER MODERATE.\nWAVEHEIGHT 1.5-2.5 METER, INCREASING AROUND 2.5 METER.\n\n\nDOGGER \nSOUTHWEST 4-5, SOON INCREASING 5-6, POSSIBLY _ N LATER \nDECREASING 4-5.\nOCCASIONALLY LIGHT RAIN OR DRIZZLE, LATER RAIN.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE, LATER MODERATE.\nWAVEHEIGHT 1.5-2.0 METER, INCREASING 2.0-2.5 METER.\n\n\n\n\nNNNN",
    "clean_text": "ZCZC PE77\n021306 UTC APR 26\nFORECAST DUTCH EEZ ISSUED AT 11:27 UTC 020426\nTHERE ARE NO WARNINGS.\n\nSYNOPSIS\nRIDGE OVER THE DOGGER MOVING ACROSS THE NORTH SEA. LOW,\n1011, WEST OF IRELAND MOVING TO THE NORTH OF SCOTLAND AND\nDEEPENING, 989. ASSOCIATED TROUGH WILL REACH THE NORTH SEMONFMHDPM_ZYF_\nFORECAST VALID THURSDAY 15:00 TILL FRIDAY 03:00 UTC\n\nTHAMES\nNORTHWEST 3-4, SOON DECREASING 2-3, BA__FN_MJZCHD_PJH_MONGSHPYMF_YPJFM_YH_ONG_FYJHMYFJ_MZ..'!_$_.*_+(,4,_99$.\nWAVEHEIGHT AROUN_M\n_METER, DECREASING AROUND 1.0 METER.\n\nHUMBP_F_ISUXK_ 3-4, BACKING SOUTHWEST, LATER INCREASING 4-5.\nFIRST RISK OF AN LIGHT SHOWER.\nGOOD.\nWAVEHEIGHT 1.5-2.0 METER, DECREASING 1.0-1.5 METER.\n\nGERMAN BIGHT\nNORTHWEST 4-5, SOON DECREASING 3-4, BACKING WEST, LAHPYMONF_YPJF_MJZCHD_PJ_M_YH_ONGFMHDPMPJHPYM_Y_M_FYJHMYFMZYBUE_.\nGOOD.\nWAVEHEIGHT 1.5-2.5 METER.\n\nDOGGER\nNORTHWEST 3-4, BACKING SOUTHWEST, LATER INCREASING 4-5.\nFIRST RISK OF AN LIGHT SHOWER.\nGOOD.\nWAVEHEIGHT 2.0-3.0 METER, DECREASING 1.5-2.0 METER.\n\nFZYP_J_M_SFWM_YF_EM_PX_MGHFSSM_YFWKPOM_ UTC\n\nTHAMES\nSOUTHWEST 4-5, SOON INCREJFM__EMGHP_ARILY INCREASING\n6-7.\nOCCASIONALLY LIGHT RAIN OR DRIZZLE.\nGOOD, IN PRECC_FHHFZM_ZJJFLSEM_ZWPYHP_WAVEHEIGHT AROUND 1.0 METER, INCREASING 1.5-2.0 METER.\n\n9,_$:_)06.9,*+:_$_0*_._6_._*++.!_60*!.___.__0_-48)6 8,:43-'8,_\n6-7.\nOCCASIONALLY LIGHT RAIN OR DRIZZLE, LATEYMYF_GOOD, IN PRECIPITATION POSSIBLY MODERATE, LATER MODERATE.\nWAVEHEIGHT 1.0-1.5 ETER, INCREASING AROUND 2.0 METER.\n\nGERMAN BIGHTMONJZCHD_PJHM_YHMGJZZMF_YPJFM__EMGHP_ARILY 7.\nOCCASIONALLY LIGHT RAIN OR DRIZZLE, LATER RAIN.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE, LATER MODERATE.\nWAVEHEIGHT 1.5-2.5 METER, INCREASING AROUND 2.5 METER.\n\nDOGGER\nSOUTHWEST 4-5, SOON INCREASING 5-6, POSSIBLY _ N LATER\nDECREASING 4-5.\nOCCASIONALLY LIGHT RAIN OR DRIZZLE, LATER RAIN.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE, LATER MODERATE.\nWAVEHEIGHT 1.5-2.0 METER, INCREASING 2.0-2.5 METER.\n\nNNNN",
    "resolved_station_name": "Netherlands Coastguard Radio",
    "resolved_country": "Netherlands",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Dutch EEZ and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "DUTCH EEZ"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Netherlands - Dutch EEZ and southern North Sea. Readable text says there are currently no active warnings for this forecast area. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Occasionally light rain or drizzle, lateymyf good, in precipitation possibly moderate, later moderate",
      "Occasionally light rain or drizzle, later rain",
      "First risk of an light shower"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 11,
    "heading": "2026-04-02 16:07:47 AREA: G",
    "published_at": "2026-04-02 16:07:47",
    "area": "G",
    "message_id": "GA82",
    "text": "ZCZC GA82\n/2+ 143/26 \nVIKING_BERYL OIL FIELD. \nBERYL SPM3 BUOY 59-31.7N 001-33.5R TEMPORARILY REMOVED. \nNNNN",
    "clean_text": "ZCZC GA82\n/2+ 143/26\nVIKING_BERYL OIL FIELD.\nBERYL SPM3 BUOY 59-31.7N 001-33.5R TEMPORARILY REMOVED.\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "BERYL OIL FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Beryl spm3 buoy 59-31.7n 001-33.5r temporarily removed.",
    "decoded_highlights": [
      "Beryl spm3 buoy 59-31.7n 001-33.5r temporarily removed",
      "Viking beryl oil field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 12,
    "heading": "2026-04-02 16:07:24 AREA: G",
    "published_at": "2026-04-02 16:07:24",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA9_\nWZ 171/26 \nHUMBER. \nDUDGEON WIND FARM. \nDUDGEON SZCHDMLCZEM_HP_ _N 001-25.6E UNLIT.=9,_9,,888_ZCZC",
    "clean_text": "ZCZC GA9_\nWZ 171/26\nHUMBER.\nDUDGEON WIND FARM.\nDUDGEON SZCHDMLCZEM_HP_ _N 001-25.6E UNLIT.=9,_9,,888_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom - North Sea and north-east UK coast. Readable text says: Dudgeon szchdmlczem hp n 001-25.6e unlit. 9, 9,,888 zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Dudgeon szchdmlczem hp n 001-25.6e unlit. 9, 9,,888 zczc",
      "Dudgeon wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 13,
    "heading": "2026-04-02 16:06:46 AREA: G",
    "published_at": "2026-04-02 16:06:46",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\nWZ 180/26 \nHUMBER. \nRACE BANK WIND FARM. \n1. \nCMLF_M__.*!_'*.!+_06_!_08_8(\n/_-. D01, 53-20.1N 000-49.__)!_+,___+9_0,/)9_,(._.)_,_:,$-_,B_M CANCEL WZ 58/26 (GA29). \nNNNN",
    "clean_text": "ZCZC GA61\nWZ 180/26\nHUMBER.\nRACE BANK WIND FARM.\n1.\nCMLF_M__.*!_'*.!+_06_!_08_8(\n/_-. D01, 53-20.1N 000-49.__)!_+,___+9_0,/)9_,(._.)_,_:,$-_,B_M CANCEL WZ 58/26 (GA29).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Race bank wind farm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Race bank wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 14,
    "heading": "2026-04-02 16:06:15 AREA: G",
    "published_at": "2026-04-02 16:06:15",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nWZ 204/26\nHUMBER.\n 9_) _-' !83)$ ,945_23'52-4$'.\n1. MET MAST 53-10.7N 002_$ -)) ,-=-8$' 8,9034-58=3.\n2. CANC__2_ 82/2_ =5__\n,79,,888(_ZCZC",
    "clean_text": "ZCZC GA71\nWZ 204/26\nHUMBER.\n9_) _-' !83)$ ,945_23'52-4$'.\n1. MET MAST 53-10.7N 002_$ -)) ,-=-8$' 8,9034-58=3.\n2. CANC__2_ 82/2_ =5__\n,79,,888(_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: 1. met mast 53-10.7n 002 $ -)) ,- -8$' 8,9034-58 3. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. met mast 53-10.7n 002 $ -)) ,- -8$' 8,9034-58 3"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 15,
    "heading": "2026-04-02 16:05:45 AREA: G",
    "published_at": "2026-04-02 16:05:45",
    "area": "G",
    "message_id": "GA74",
    "text": "ZCZC GA74\n_V\n TU_HUMBER. 9,_6_0__:6.+6_$._*._!0_2_\nPLATFORM NZFT_ 43/26-ST2, 54-03.2N 001-02.0E, UNLFHMWMSSMOFWJMFB__C___ __9_,888_ZCZC",
    "clean_text": "ZCZC GA74\n_V\nTU_HUMBER. 9,_6_0__:6.+6_$._*._!0_2_\nPLATFORM NZFT_ 43/26-ST2, 54-03.2N 001-02.0E, UNLFHMWMSSMOFWJMFB__C___ __9_,888_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 16,
    "heading": "2026-04-02 16:05:20 AREA: G",
    "published_at": "2026-04-02 16:05:20",
    "area": "G",
    "message_id": "GA",
    "text": "ZCZC GA\nF_ONG_AM\n_ _TU_MO_G_ \nMRCC C_LP__MO_G_/T SERVICE FROM CULLERCOATS SITJMLH\n__RMRN 001-27.8W OFF AIR. \nNNNN",
    "clean_text": "ZCZC GA\nF_ONG_AM\n_ _TU_MO_G_\nMRCC C_LP__MO_G_/T SERVICE FROM CULLERCOATS SITJMLH\n__RMRN 001-27.8W OFF AIR.\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "CULLERCOATS"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mrcc c lp mo g /t service from cullercoats sitjmlh",
      "Rmrn 001-27.8w off air"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 17,
    "heading": "2026-04-02 16:04:56 AREA: G",
    "published_at": "2026-04-02 16:04:56",
    "area": "G",
    "message_id": "GA83",
    "text": "ZCZC GA83\n_ _WKT\nSMO_'_. \nMRCC DOVER. \nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.9_0_+_. \nNMNN\n\n\nUZCZC",
    "clean_text": "ZCZC GA83\n_ _WKT\nSMO_'_.\nMRCC DOVER.\nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.9_0_+_.\nNMNN\n\nUZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mf r/t service from bawdsey site 51-59.6n 001-24.9 0",
      "Mrcc dover"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 18,
    "heading": "2026-04-02 16:04:28 AREA: G",
    "published_at": "2026-04-02 16:04:28",
    "area": "G",
    "message_id": "GA94",
    "text": "ZCZC GA94\nWZ 220/26\nTYNE.\nBLYTH OFFSHORE DEMONSTRATOR WIND FARM.\nTURBINE B10 55-06.8N 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\nNNNN",
    "clean_text": "ZCZC GA94\nWZ 220/26\nTYNE.\nBLYTH OFFSHORE DEMONSTRATOR WIND FARM.\nTURBINE B10 55-06.8N 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "TYNE"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text reports a fog signal outage near 55-06.8N 001-23.6W.",
    "decoded_highlights": [
      "Turbine b10 55-06.8n 001-23.6w unlit and fog signal inoperative",
      "Blyth offshore demonstrator wind farm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 19,
    "heading": "2026-04-02 16:03:56 AREA: G",
    "published_at": "2026-04-02 16:03:56",
    "area": "G",
    "message_id": "GA02",
    "text": "ZCZC GA02\nWZ 223/26\nHC_LVY_\nLEMAN GAS FIELD. \n1. PLATFORM 49/27-ED 53-03.6N 002-12.6E, UNLIT AND ALL NAVAIDS INOPERATIVE. \n2. CANCEL WZ 100_2+ (=\n_7'_9,_9,,888_ZCZC",
    "clean_text": "ZCZC GA02\nWZ 223/26\nHC_LVY_\nLEMAN GAS FIELD.\n1. PLATFORM 49/27-ED 53-03.6N 002-12.6E, UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 100_2+ (=\n_7'_9,_9,,888_ZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: 1. platform 49/27-ed 53-03.6n 002-12.6e, unlit and all navaids inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. platform 49/27-ed 53-03.6n 002-12.6e, unlit and all navaids inoperative",
      "Leman gas field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 20,
    "heading": "2026-04-02 16:02:55 AREA: G",
    "published_at": "2026-04-02 16:02:55",
    "area": "G",
    "message_id": "GA07",
    "text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESY_P_M_JM_FP_W__O _QM PLATFO_ROXWEE, 53-11.9N 002-29.1_( __\nUL\nZB_V\nEYABI_EF_V_F_CANCEL WZ 104/26 (GA54).\nNNNN",
    "clean_text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESY_P_M_JM_FP_W__O _QM PLATFO_ROXWEE, 53-11.9N 002-29.1_( __\nUL\nZB_V\nEYABI_EF_V_F_CANCEL WZ 104/26 (GA54).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Eyabi ef v f cancel wz 104/26 (ga54). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Eyabi ef v f cancel wz 104/26 (ga54)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 21,
    "heading": "2026-04-02 16:02:29 AREA: G",
    "published_at": "2026-04-02 16:02:29",
    "area": "G",
    "message_id": "GA12",
    "text": "ZCZC GA12\nWZ 232_26 \n_UMLENNER ANK. \nPLATFONM SOUTHWARK 53-11.0N 002-05.8E _N_\n_AND ALL NAVA_DS INOPERATIVE.\nNNONNIII_AZCZC",
    "clean_text": "ZCZC GA12\nWZ 232_26\n_UMLENNER ANK.\nPLATFONM SOUTHWARK 53-11.0N 002-05.8E _N_\n_AND ALL NAVA_DS INOPERATIVE.\nNNONNIII_AZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: And all nava ds inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "And all nava ds inoperative",
      "Platfonm southwark 53-11.0n 002-05.8e n",
      "Umlenner ank"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 22,
    "heading": "2026-04-02 16:01:54 AREA: G",
    "published_at": "2026-04-02 16:01:54",
    "area": "G",
    "message_id": "GA15",
    "text": "ZCZC GA15\nWZ 221/26 \nDOGGER. \nSOFIA OFFSHOR_ WIND FARM. \n1. BUOYS U_LIT: \nA. N1 55-08.1N 002-09.5E. \nB. E5 54-51.5N 0_+20.7E. \n2. _./0'.8-.\n+\n573.=___S_MONGIII_NIII__Z_ZCZC",
    "clean_text": "ZCZC GA15\nWZ 221/26\nDOGGER.\nSOFIA OFFSHOR_ WIND FARM.\n1. BUOYS U_LIT:\nA. N1 55-08.1N 002-09.5E.\nB. E5 54-51.5N 0_+20.7E.\n2. _./0'.8-.\n+\n573.=___S_MONGIII_NIII__Z_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "DOGGER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: 1. buoys u lit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. buoys u lit",
      "Sofia offshor wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 24,
    "heading": "2026-04-02 16:00:15 AREA: G",
    "published_at": "2026-04-02 16:00:15",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GZ__ 08' _*7+\n_9_=$_5+__2 APRIL 09 - U_KVE_\nVIKING\nNO_ZIII_CHDPJHPYS_M_FORCE 8 EXPEPTES AV__\n_\n__\nRTIES CROMARTY FOR_H\nSOUTHERLY GA_E FORC_D LATER\n\n\n_MMINEN\n__M_Q_TED A_HDNMS_O SOURS OF TIME OF ISSE\n_\nI_OOEXPECTED WITHIN SIX _O_12 HOURS OF TIME OF I_SUE\n\nLATER_EXPECTED MORE THAN 12 HOURS FROM TIME OF ISSUE\nN_NN\n\nJCI\n_UZCZC",
    "clean_text": "ZCZC GZ__ 08' _*7+\n_9_=$_5+__2 APRIL 09 - U_KVE_\nVIKING\nNO_ZIII_CHDPJHPYS_M_FORCE 8 EXPEPTES AV__\n_\n__\nRTIES CROMARTY FOR_H\nSOUTHERLY GA_E FORC_D LATER\n\n_MMINEN\n__M_Q_TED A_HDNMS_O SOURS OF TIME OF ISSE\n_\nI_OOEXPECTED WITHIN SIX _O_12 HOURS OF TIME OF I_SUE\n\nLATER_EXPECTED MORE THAN 12 HOURS FROM TIME OF ISSUE\nN_NN\n\nJCI\n_UZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "CROMARTY"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom - North Sea and north-east UK coast. Readable text says: I ooexpected within six o 12 hours of time of i sue. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "I ooexpected within six o 12 hours of time of i sue",
      "Later expected more than 12 hours from time of issue",
      "Southerly ga e forc d later"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 27,
    "heading": "2026-04-02 14:30:20 AREA: V",
    "published_at": "2026-04-02 14:30:20",
    "area": "V",
    "message_id": "VA75",
    "text": "ZCZC VA75\n301531 UTC M__\n_\nWZ 242/26 \nTHAMES. \nGUNFLEET SANDS WIND FARM. \n1. TURBINEVA06 51-45.0N 001-14.6E FOG S_GNAL INOPER_F\nP_BM_CANCEL WZ 126/26 (VA58).\nNNNN",
    "clean_text": "ZCZC VA75\n301531 UTC M__\n_\nWZ 242/26\nTHAMES.\nGUNFLEET SANDS WIND FARM.\n1. TURBINEVA06 51-45.0N 001-14.6E FOG S_GNAL INOPER_F\nP_BM_CANCEL WZ 126/26 (VA58).\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. turbineva06 51-45.0n 001-14.6e fog s gnal inoper f",
      "P bm cancel wz 126/26 (va58)",
      "Gunfleet sands wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 29,
    "heading": "2026-04-02 14:17:00 AREA: T",
    "published_at": "2026-04-02 14:17:00",
    "area": "T",
    "message_id": "TA79",
    "text": "ZCZC TA79\n270420 UTC SKP  \nOOSTENDERAD_OVMSI 350/25\nOOSTENDE-ZEEBRUGGE\nCHAIN ON THE SE_ABED IN THE VICINITY \nOF 51-20,05N 003-03,75E\nSHIPPING IS RJQUESTED NOT TO ANCHORR\n JZ_MLZM__ K_X__B___8:8,856\n _9,,88_ZCZFMHWPMOOPN 003-03.586E\nSHIPS_BMFJM_PI_\n_HPJC_\n_OT TO ANCHOR NOR TO FISH IN THENMIMINITY.\nNN_\nZCZC",
    "clean_text": "ZCZC TA79\n270420 UTC SKP\nOOSTENDERAD_OVMSI 350/25\nOOSTENDE-ZEEBRUGGE\nCHAIN ON THE SE_ABED IN THE VICINITY\nOF 51-20,05N 003-03,75E\nSHIPPING IS RJQUESTED NOT TO ANCHORR\nJZ_MLZM__ K_X__B___8:8,856\n_9,,88_ZCZFMHWPMOOPN 003-03.586E\nSHIPS_BMFJM_PI_\n_HPJC_\n_OT TO ANCHOR NOR TO FISH IN THENMIMINITY.\nNN_\nZCZC",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions near 51-20.05N 003-03.75E, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ot to anchor nor to fish in thenmiminity",
      "Shipping is rjquested not to anchorr",
      "Chain on the se abed in the vicinity"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 31,
    "heading": "2026-04-02 14:15:33 AREA: T",
    "published_at": "2026-04-02 14:15:33",
    "area": "T",
    "message_id": "TA96",
    "text": "ZCZC TA96\n1081916 _O_\nBZ\nMON_ZZJHP_W\nFA_N MSI 54/24\nOOS_ MDE-ZEEBRUGG_ V_\nXIV_PIIIK_JPLPWMFM_ZS_Z_FM_ZJON\nH _C__G G_\n_\n511_=__+,!70259.844E\nSHIPPING IS REQUEST$_.95 59 -,:_9_ ,94 59 !8'9  __ __ =8:8,_5_\nNNNN",
    "clean_text": "ZCZC TA96\n1081916 _O_\nBZ\nMON_ZZJHP_W\nFA_N MSI 54/24\nOOS_ MDE-ZEEBRUGG_ V_\nXIV_PIIIK_JPLPWMFM_ZS_Z_FM_ZJON\nH _C__G G_\n_\n511_=__+,!70259.844E\nSHIPPING IS REQUEST$_.95 59 -,:_9_ ,94 59 !8'9 __ __ =8:8,_5_\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 32,
    "heading": "2026-04-02 14:14:51 AREA: T",
    "published_at": "2026-04-02 14:14:51",
    "area": "T",
    "message_id": "TA02",
    "text": "ZCZC TA02\n082006 UTC NO\n__UYONGZZJHPWPYWFZMB_FM_HY__\n OOSTENDE-AU_BRUG__ FOLLOWINO_YBF\nHQ_QW_TMOEIN  00258.482E\n5(_15.943N  00258.492E\nSHIPPING IS REQ_CHOR NOR TB_I_MHDPM\nFXD__ONGONNI_IUUU\n_\n\n_\nU\n__\nU_FU\n\nZCZC",
    "clean_text": "ZCZC TA02\n082006 UTC NO\n__UYONGZZJHPWPYWFZMB_FM_HY__\nOOSTENDE-AU_BRUG__ FOLLOWINO_YBF\nHQ_QW_TMOEIN 00258.482E\n5(_15.943N 00258.492E\nSHIPPING IS REQ_CHOR NOR TB_I_MHDPM\nFXD__ONGONNI_IUUU\n_\n\n_\nU\n__\nU_FU\n\nZCZC",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Shipping is req chor nor tb i mhdpm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping is req chor nor tb i mhdpm",
      "Hq qw tmoein 00258.482e"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 33,
    "heading": "2026-04-02 14:14:07 AREA: T",
    "published_at": "2026-04-02 14:14:07",
    "area": "T",
    "message_id": "TA12",
    "text": "ZCZC TA12\n_/261544 UTC MA_ VWY\nOOS__ND__ADIOKM_I\n_31!_6\nTERRITORIAL__EAH_DROG_APHICAL IFS__UIMENT ESTABLISHED IN SZJ\nH __ _A_O6,817_MIK_SS AT_A _FE DISTZNCEAID NNT TO ANMDZ_FMHDPM\nF__ZWZCZC",
    "clean_text": "ZCZC TA12\n_/261544 UTC MA_ VWY\nOOS__ND__ADIOKM_I\n_31!_6\nTERRITORIAL__EAH_DROG_APHICAL IFS__UIMENT ESTABLISHED IN SZJ\nH __ _A_O6,817_MIK_SS AT_A _FE DISTZNCEAID NNT TO ANMDZ_FMHDPM\nF__ZWZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code T. Readable text says: Territorial eah drog aphical ifs uiment established in szj. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Territorial eah drog aphical ifs uiment established in szj",
      "/261544 utc ma vwy"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 35,
    "heading": "2026-04-02 14:13:04 AREA: T",
    "published_at": "2026-04-02 14:13:04",
    "area": "T",
    "message_id": "",
    "text": "ZCZC T_1_\n_+ __ .___/._69,_+__2062!+___.__,4_(1+9++_ _= =5__!_7_. CLEMENS\nANCHOR AND CHAIN LOST IN POS 51-24.40N 002-39.57E\n\nNNNN",
    "clean_text": "ZCZC T_1_\n_+ __ .___/._69,_+__2062!+___.__,4_(1+9++_ _= =5__!_7_. CLEMENS\nANCHOR AND CHAIN LOST IN POS 51-24.40N 002-39.57E\n\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Anchor and chain lost in pos 51-24.40n 002-39.57e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Anchor and chain lost in pos 51-24.40n 002-39.57e"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 37,
    "heading": "2026-04-02 14:11:07 AREA: T",
    "published_at": "2026-04-02 14:11:07",
    "area": "T",
    "message_id": "TA23",
    "text": "ZCZC TA23\n0_1244 UTC APR\nOOSTENDERADIO MSI 144/26\nTSS-W_DER\nCAHIBFHFZMLP_ZMSZIII_JH_LEM_PJJPSM_PZJCY\nP__RON__ZOY__ POS 51 24.37, 002 51.4E\nSHIPPING IS REQUESTED_NOTN_O ANMDZYMZYMHZM_FJDMONGFMHDPM\nF_F_H__NGONNII____U_ZCZC",
    "clean_text": "ZCZC TA23\n0_1244 UTC APR\nOOSTENDERADIO MSI 144/26\nTSS-W_DER\nCAHIBFHFZMLP_ZMSZIII_JH_LEM_PJJPSM_PZJCY\nP__RON__ZOY__ POS 51 24.37, 002 51.4E\nSHIPPING IS REQUESTED_NOTN_O ANMDZYMZYMHZM_FJDMONGFMHDPM\nF_F_H__NGONNII____U_ZCZC",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Shipping is requested notn o anmdzymzymhzm fjdmongfmhdpm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping is requested notn o anmdzymzymhzm fjdmongfmhdpm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 38,
    "heading": "2026-04-02 14:10:21 AREA: T",
    "published_at": "2026-04-02 14:10:21",
    "area": "T",
    "message_id": "TA24",
    "text": "ZCZC TA24\n0_2 UTC APR\nOOSTENDERADIO MSI 145/26\nDE PANNE-OOSTENDE\nGUNNERY EXERCISES IN THE GREAT SECTOR OF LOMBARDSIJDE\nTODAY 02 04 2026\nFROM 1000 UNTIL_P UTC\nGUNNERY SECTOR IS LISTENING ON CHAN 16 AND 74\nCANCEL THIS MESSAGE _21530 UTC APR\nNNNN",
    "clean_text": "ZCZC TA24\n0_2 UTC APR\nOOSTENDERADIO MSI 145/26\nDE PANNE-OOSTENDE\nGUNNERY EXERCISES IN THE GREAT SECTOR OF LOMBARDSIJDE\nTODAY 02 04 2026\nFROM 1000 UNTIL_P UTC\nGUNNERY SECTOR IS LISTENING ON CHAN 16 AND 74\nCANCEL THIS MESSAGE _21530 UTC APR\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Gunnery exercises in the great sector of lombardsijde.",
    "decoded_highlights": [
      "Gunnery exercises in the great sector of lombardsijde",
      "Gunnery sector is listening on chan 16 and 74",
      "Cancel this message 21530 utc apr"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 39,
    "heading": "2026-04-02 14:06:22 AREA: F",
    "published_at": "2026-04-02 14:06:22",
    "area": "F",
    "message_id": "FEYQ",
    "text": "ZCZC FEYQ\n021100 (0)_5+/2-__-._74!94 _8_ _8__5\n1\n__5_285_ 0-45)3.'_)_,_,$!)!'!_3_SEA NORTHERN PART 2,5 M__ER.\n _\nFRIDAY:\nWEST TO NORTHWEST ABOUT 4, FAST SHIFTING SOUTH OZV__ HDAPJH_MG_ZYMONGHF_PM__YPJFM_EMGJDF_HFM_PJHMSHPYMWMWP_YPJFMI\nAT TIMES RAIN OR SHOWER WITH POOG VISIBILITY.\n_*0._+6.._!_0.\n6.__0__6_NNNN",
    "clean_text": "ZCZC FEYQ\n021100 (0)_5+/2-__-._74!94 _8_ _8__5\n1\n__5_285_ 0-45)3.'_)_,_,$!)!'!_3_SEA NORTHERN PART 2,5 M__ER.\n_\nFRIDAY:\nWEST TO NORTHWEST ABOUT 4, FAST SHIFTING SOUTH OZV__ HDAPJH_MG_ZYMONGHF_PM__YPJFM_EMGJDF_HFM_PJHMSHPYMWMWP_YPJFMI\nAT TIMES RAIN OR SHOWER WITH POOG VISIBILITY.\n_*0._+6.._!_0.\n6.__0__6_NNNN",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Unresolved B1 code F. Readable text says: At times rain or shower with poog visibility. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "At times rain or shower with poog visibility",
      "West to northwest about 4, fast shifting south ozv hdapjh mg zymonghf pm ypjfm emgjdf hfm pjhmshpymwmwp ypjfmi"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 45,
    "heading": "2026-04-02 14:01:10 AREA: S",
    "published_at": "2026-04-02 14:01:10",
    "area": "S",
    "message_id": "SA80",
    "text": "ZCZC SA80\n,_/_._74_\n020 UTC YM\n_NAV. WARN. NO. 194\nGERMAN BIGHT. WEISSE BANK.\nSURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR3',\nAROUND P_SITION )4-4_,3_.\n''__!0_09,_60*_6!__0_.__0_6)!'!__.2:6!_.+PYHFZJ_ONIIICERTH OF 2 NM REQUESTED.\nNNNN",
    "clean_text": "ZCZC SA80\n,_/_._74_\n020 UTC YM\n_NAV. WARN. NO. 194\nGERMAN BIGHT. WEISSE BANK.\nSURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR3',\nAROUND P_SITION )4-4_,3_.\n''__!0_09,_60*_6!__0_.__0_6)!'!__.2:6!_.+PYHFZJ_ONIIICERTH OF 2 NM REQUESTED.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "GERMAN BIGHT",
      "WEISSE BANK"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text reports survey operations and implies local caution around the work area. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Survey operations by mv 'fugro synergy', cs 'c6xr3'",
      "'' !0 09, 60 6! 0 . 0 6)!'! .2:6! . pyhfzj oniiicerth of 2 nm requested",
      "German bight. weisse bank"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 46,
    "heading": "2026-04-02 14:00:14 AREA: S",
    "published_at": "2026-04-02 14:00:14",
    "area": "S",
    "message_id": "SA85",
    "text": "ZCZC SA85\nNCC-HAMBURG\n020610 _HCMYM\n_ NO. 196\nGERMAN BIGHT_ NORTHWESTERLY OWF 'BARD OFFSHORE 1'.\nUXO SURVEY BY\nMV 'OCEAN RESEARCHER', CS 'GDLS' AROUND POSITIO\nN_HY_PPGM\n_TRNWE\nRESTRICTED MANOEUVRABILITY DURING OPERATIONSGMONKIIAFE BERTH OF 1 NM D _CPJHPW_NNNN",
    "clean_text": "ZCZC SA85\nNCC-HAMBURG\n020610 _HCMYM\n_ NO. 196\nGERMAN BIGHT_ NORTHWESTERLY OWF 'BARD OFFSHORE 1'.\nUXO SURVEY BY\nMV 'OCEAN RESEARCHER', CS 'GDLS' AROUND POSITIO\nN_HY_PPGM\n_TRNWE\nRESTRICTED MANOEUVRABILITY DURING OPERATIONSGMONKIIAFE BERTH OF 1 NM D _CPJHPW_NNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NCC HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text says: Uxo survey by.",
    "decoded_highlights": [
      "Uxo survey by",
      "Restricted manoeuvrability during operationsgmonkiiafe berth of 1 nm d cpjhpw nnnn",
      "German bight northwesterly owf 'bard offshore 1'"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 47,
    "heading": "2026-04-02 12:51:37 AREA: G",
    "published_at": "2026-04-02 12:51:37",
    "area": "G",
    "message_id": "GB31",
    "text": "ZCZC GB31\nGB31\nCULLERCOATSRADIO\nGALE WARNING THURSDAY 02 APRIL 0948 UTC\n\nVIKING\nSZIIERLY GALE FORCE 8 EXPECTED LATER\n\nJORTIES CROMARTY FORTH\nSOUTHERLY GALE FORCE_8_=0_,0__(:/\n=1-,_3+++__8,'___)$_4______5_8, '8/ _974' 9! 58.3 9! 8''73\n\nSOON: EXPECTED WITHIN SIX TO 12___974'=+_._!_0.+_.!_*:!+___'+,3_BHN_ MORE THAN 12 HOURS FROM TIME OF ISSUE\nNNNN",
    "clean_text": "ZCZC GB31\nGB31\nCULLERCOATSRADIO\nGALE WARNING THURSDAY 02 APRIL 0948 UTC\n\nVIKING\nSZIIERLY GALE FORCE 8 EXPECTED LATER\n\nJORTIES CROMARTY FORTH\nSOUTHERLY GALE FORCE_8_=0_,0__(:/\n=1-,_3+++__8,'___)$_4______5_8, '8/ _974' 9! 58.3 9! 8''73\n\nSOON: EXPECTED WITHIN SIX TO 12___974'=+_._!_0.+_.!_*:!+___'+,3_BHN_ MORE THAN 12 HOURS FROM TIME OF ISSUE\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "CULLERCOATS",
      "CULLERCOATSRADIO"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Gale warning thursday 02 april 0948 utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gale warning thursday 02 april 0948 utc",
      "Sziierly gale force 8 expected later",
      "Southerly gale force 8 0 ,0 (:/"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 48,
    "heading": "2026-04-02 12:40:14 AREA: T",
    "published_at": "2026-04-02 12:40:14",
    "area": "T",
    "message_id": "",
    "text": "Z_ZC_KZJG__= - LI_HT AHGIT_E WITH CAU\nIONO\n_CT_ZH_ATION\nFR_F 0500__ UT_AC _ARC26_83',5_) *7_\n$_).+_!/6_:_+__/__80N 000-57_:850\n,_\n___.8 (_7/_.6:_+9,_9,K_KKKKKKKKK_KKXKKZCZC",
    "clean_text": "Z_ZC_KZJG__= - LI_HT AHGIT_E WITH CAU\nIONO\n_CT_ZH_ATION\nFR_F 0500__ UT_AC _ARC26_83',5_) *7_\n$_).+_!/6_:_+__/__80N 000-57_:850\n,_\n___.8 (_7/_.6:_+9,_9,K_KKKKKKKKK_KKXKKZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 49,
    "heading": "2026-04-02 12:09:00 AREA: G",
    "published_at": "2026-04-02 12:09:00",
    "area": "G",
    "message_id": "GA82",
    "text": "ZCZC GA82\nWZ_\n_Y_ \nVIKING. \nBERYL OIL FIELD. \nBERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARILY REMOVED. \nNNNN",
    "clean_text": "ZCZC GA82\nWZ_\n_Y_\nVIKING.\nBERYL OIL FIELD.\nBERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARILY REMOVED.\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "BERYL OIL FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Beryl spm3 buoy 59-31.7n 001-33.5e temporarily removed.",
    "decoded_highlights": [
      "Beryl spm3 buoy 59-31.7n 001-33.5e temporarily removed",
      "Beryl oil field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 50,
    "heading": "2026-04-02 12:08:37 AREA: G",
    "published_at": "2026-04-02 12:08:37",
    "area": "G",
    "message_id": "GA96",
    "text": "ZCZC GA96\nWZ 171/26 \nHUMBER. \nDUDGEON WIND FARM. \n,WCW_PZMJZCHDMLCZEM_HP_ _N 001-25.6E UNLIT. \nNNNN",
    "clean_text": "ZCZC GA96\nWZ 171/26\nHUMBER.\nDUDGEON WIND FARM.\n,WCW_PZMJZCHDMLCZEM_HP_ _N 001-25.6E UNLIT.\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Wcw pzmjzchdmlczem hp n 001-25.6e unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Wcw pzmjzchdmlczem hp n 001-25.6e unlit",
      "Dudgeon wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 51,
    "heading": "2026-04-02 12:08:00 AREA: G",
    "published_at": "2026-04-02 12:08:00",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\nWZ 180/26 \nHUMBER. \nRACEVNK WIND FARM. \n1. TURBINE FOGVSI___OPERATIVE: \nA. D01, 53-20.1N 000-49.1E. \nB. S01, 53-15.7N 000-55.9 10_2. CANCEL WZ 58/26 (GA29). \nNNNN",
    "clean_text": "ZCZC GA61\nWZ 180/26\nHUMBER.\nRACEVNK WIND FARM.\n1. TURBINE FOGVSI___OPERATIVE:\nA. D01, 53-20.1N 000-49.1E.\nB. S01, 53-15.7N 000-55.9 10_2. CANCEL WZ 58/26 (GA29).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention fog across the covered waters.",
    "decoded_highlights": [
      "1. turbine fogvsi operative",
      "B. s01, 53-15.7n 000-55.9 10 2. cancel wz 58/26 (ga29)",
      "Racevnk wind farm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 52,
    "heading": "2026-04-02 12:07:28 AREA: G",
    "published_at": "2026-04-02 12:07:28",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET\n_AF\nM_TGU __CG_ML_IUPWATOMQE UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 82/26 (GA42).\nNNNN",
    "clean_text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET\n_AF\nM_TGU __CG_ML_IUPWATOMQE UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 82/26 (GA42).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER",
      "ORWELL GAS FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: M tgu cg ml iupwatomqe unlit and all navaids inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "M tgu cg ml iupwatomqe unlit and all navaids inoperative",
      "Orwell gas field northwestwards",
      "2. cancel wz 82/26 (ga42)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 53,
    "heading": "2026-04-02 12:06:59 AREA: G",
    "published_at": "2026-04-02 12:06:59",
    "area": "G",
    "message_id": "GA74",
    "text": "ZCZC GA74\nWZ 207/26 \nHUMBER. \nRAVENSPURN NORTH GAS FIELD. \nPLATFORM NORTH 43/26-ST2, 54-03.2N 001-02.0E, UNLIT AND ALL NAVAIDS INOPERATIVE. \nNNNN",
    "clean_text": "ZCZC GA74\nWZ 207/26\nHUMBER.\nRAVENSPURN NORTH GAS FIELD.\nPLATFORM NORTH 43/26-ST2, 54-03.2N 001-02.0E, UNLIT AND ALL NAVAIDS INOPERATIVE.\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Platform north 43/26-st2, 54-03.2n 001-02.0e, unlit and all navaids inoperative.",
    "decoded_highlights": [
      "Platform north 43/26-st2, 54-03.2n 001-02.0e, unlit and all navaids inoperative",
      "Ravenspurn north gas field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 54,
    "heading": "2026-04-02 12:06:34 AREA: G",
    "published_at": "2026-04-02 12:06:34",
    "area": "G",
    "message_id": "GA81",
    "text": "ZCZC GA81\nWZ 214/26 \nGMDSS. \nMRCC HUMBER. \nMF R/T SERVICE FROM CULLERCOATS SITE ___88_4N 001-27.8W OFF AIR. \nNNNN",
    "clean_text": "ZCZC GA81\nWZ 214/26\nGMDSS.\nMRCC HUMBER.\nMF R/T SERVICE FROM CULLERCOATS SITE ___88_4N 001-27.8W OFF AIR.\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "CULLERCOATS"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mf r/t service from cullercoats site 88 4n 001-27.8w off air",
      "Mrcc humber"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 55,
    "heading": "2026-04-02 12:06:09 AREA: G",
    "published_at": "2026-04-02 12:06:09",
    "area": "G",
    "message_id": "GA83",
    "text": "ZCZC GA83\nWZ 215/26 \nGMDSS. \nMRCC DOVER. \nMF R/T SERVICE FRO__DSEY SITE 51-59.6N 001-24.5E OFF __ \nNNNN",
    "clean_text": "ZCZC GA83\nWZ 215/26\nGMDSS.\nMRCC DOVER.\nMF R/T SERVICE FRO__DSEY SITE 51-59.6N 001-24.5E OFF __\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mf r/t service fro dsey site 51-59.6n 001-24.5e off",
      "Mrcc dover"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 56,
    "heading": "2026-04-02 12:05:42 AREA: G",
    "published_at": "2026-04-02 12:05:42",
    "area": "G",
    "message_id": "GA94",
    "text": "ZCZC GA94\nWZ 220/26\nTYNE.\nBLYTH OFFSHORE DEMONSTRATOR WIND FAPQ_GB_B_ES_9_V__DBVW IEUTGG_.(:,0:9/*__(87_'8_,-) 8,9034-58=3\nNNNN",
    "clean_text": "ZCZC GA94\nWZ 220/26\nTYNE.\nBLYTH OFFSHORE DEMONSTRATOR WIND FAPQ_GB_B_ES_9_V__DBVW IEUTGG_.(:,0:9/*__(87_'8_,-) 8,9034-58=3\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "TYNE"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 57,
    "heading": "2026-04-02 12:05:10 AREA: G",
    "published_at": "2026-04-02 12:05:10",
    "area": "G",
    "message_id": "GA02",
    "text": "ZCZC GA02\nWZ 223/26\nHUMLP__\nLEMAN GAS FIELD. \n1. PLATFORM 49/27-ED 53-03.6N 002-12.6E, UNLIT AND ALL NAVAIDS INOPERATIVE. \n2. CANCEL WZ 100/26 (GA52).\nNNNN",
    "clean_text": "ZCZC GA02\nWZ 223/26\nHUMLP__\nLEMAN GAS FIELD.\n1. PLATFORM 49/27-ED 53-03.6N 002-12.6E, UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 100/26 (GA52).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: 1. platform 49/27-ed 53-03.6n 002-12.6e, unlit and all navaids inoperative.",
    "decoded_highlights": [
      "1. platform 49/27-ed 53-03.6n 002-12.6e, unlit and all navaids inoperative",
      "Leman gas field",
      "2. cancel wz 100/26 (ga52)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 58,
    "heading": "2026-04-02 12:04:39 AREA: G",
    "published_at": "2026-04-02 12:04:39",
    "area": "G",
    "message_id": "GA04",
    "text": "ZCZC GA04\nWZ 225/26\nGMDSS.\nMRCC SHETLAND.\n1. MF R/T AND DSC SERVICPJ__YZBM__PPJJMJIIIK 57-07.7N 002-03.2W OFF_FM_2. CANCEL WZ 213/26 (GA80).\nNNNN",
    "clean_text": "ZCZC GA04\nWZ 225/26\nGMDSS.\nMRCC SHETLAND.\n1. MF R/T AND DSC SERVICPJ__YZBM__PPJJMJIIIK 57-07.7N 002-03.2W OFF_FM_2. CANCEL WZ 213/26 (GA80).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: 1. mf r/t and dsc servicpj yzbm ppjjmjiiik 57-07.7n 002-03.2w off fm 2. cancel wz 213/26 (ga80). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. mf r/t and dsc servicpj yzbm ppjjmjiiik 57-07.7n 002-03.2w off fm 2. cancel wz 213/26 (ga80)",
      "Mrcc shetland"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 59,
    "heading": "2026-04-02 12:04:09 AREA: G",
    "published_at": "2026-04-02 12:04:09",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GAPPCO_G_AM\nUUETUEONGDC_LP__BESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 53-11.9N 002_29.1E, FOG_SIGSMFZ_PYHF\nP_BON ___GXXPSM_AM\n__TUEMVG_HYS_ONGONNIII__ZCZC",
    "clean_text": "ZCZC GAPPCO_G_AM\nUUETUEONGDC_LP__BESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 53-11.9N 002_29.1E, FOG_SIGSMFZ_PYHF\nP_BON ___GXXPSM_AM\n__TUEMVG_HYS_ONGONNIII__ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "BESSEMER GAS FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. platform 49/23e, 53-11.9n 002 29.1e, fog sigsmfz pyhf",
      "Uuetueongdc lp bessemer gas field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 60,
    "heading": "2026-04-02 12:03:43 AREA: G",
    "published_at": "2026-04-02 12:03:43",
    "area": "G",
    "message_id": "GA12",
    "text": "ZCZC GA12\nWZ 232/26 \nHUMBER. \nINNER BANK. \nPLATFORM SOUTHWAIKMAQQMPN 0020\n_!_0.:888_.2.''._!2*.!+_06_!\n0__9,_9,,888_ZCZC",
    "clean_text": "ZCZC GA12\nWZ 232/26\nHUMBER.\nINNER BANK.\nPLATFORM SOUTHWAIKMAQQMPN 0020\n_!_0.:888_.2.''._!2*.!+_06_!\n0__9,_9,,888_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER",
      "INNER BANK"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Inner bank. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Inner bank",
      "Platform southwaikmaqqmpn 0020"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 61,
    "heading": "2026-04-02 12:03:08 AREA: P",
    "published_at": "2026-04-02 12:03:08",
    "area": "P",
    "message_id": "PA15",
    "text": "ZCZC PA15\nWZ 221/26 \nDOGGER. \nSOFIA OFFSHORE WIN:_6__\n1. BUOYS UNLIT: \nA. N1 55-08.1N 002-09.5E. \nB. ET TRATQMTN 002-20.7E. \n2. CANCEL WZ 95/26 (GA50). \nNNNN",
    "clean_text": "ZCZC PA15\nWZ 221/26\nDOGGER.\nSOFIA OFFSHORE WIN:_6__\n1. BUOYS UNLIT:\nA. N1 55-08.1N 002-09.5E.\nB. ET TRATQMTN 002-20.7E.\n2. CANCEL WZ 95/26 (GA50).\nNNNN",
    "display_region_heading": "Unresolved B1 code P",
    "display_region_label": "B1 code P",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code P. Readable text says: 1. buoys unlit.",
    "decoded_highlights": [
      "1. buoys unlit",
      "B. et tratqmtn 002-20.7e",
      "2. cancel wz 95/26 (ga50)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 62,
    "heading": "2026-04-02 12:02:33 AREA: G",
    "published_at": "2026-04-02 12:02:33",
    "area": "G",
    "message_id": "GA18",
    "text": "ZCZC GA18\nWZ 243/26 \nFORTH. \nNEART NA GAOITHE WINDFARM. \n1. NNG E BUOY 56-14.3N 002-08.6W AND NNG S BUOY 56-12.3N 002-09.8W AIS INOPERTF\nP_BM_M CANCEL WZ 130/26 (GA73). \nNNNN",
    "clean_text": "ZCZC GA18\nWZ 243/26\nFORTH.\nNEART NA GAOITHE WINDFARM.\n1. NNG E BUOY 56-14.3N 002-08.6W AND NNG S BUOY 56-12.3N 002-09.8W AIS INOPERTF\nP_BM_M CANCEL WZ 130/26 (GA73).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: 1. nng e buoy 56-14.3n 002-08.6w and nng s buoy 56-12.3n 002-09.8w ais inopertf.",
    "decoded_highlights": [
      "1. nng e buoy 56-14.3n 002-08.6w and nng s buoy 56-12.3n 002-09.8w ais inopertf",
      "P bm m cancel wz 130/26 (ga73)",
      "Neart na gaoithe windfarm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 63,
    "heading": "2026-04-02 12:00:14 AREA: G",
    "published_at": "2026-04-02 12:00:14",
    "area": "G",
    "message_id": "GE13",
    "text": "ZCZC GE13\nISSUED BY THE MET OFFICE AT 0900 ON THU _2._69,9,9,__'_._6!*_/._!6.!*'09,98887_3 _3,34-) '857-589, -5 .8$,8__5\nNEW LOW EXP MALIN 995 BY MIDNIGHT TONIGHT\n\n_WYGDYM_ZYP_J_II NONG\nF__ONDFR  TO 6, BACK S OR SE 5 TO 7 LTR, PERHAPS GALE 8 LTR. MOD OR ROUGH. WINTRY SHWRS. GOOD, OCNL POOR\n\nFORTIES CROMARTY FORTH TYNE DOGGER\nN_4 TO 6, BACK S 5 TO 7 LTR, PERHAPS GALE 8 LTR IN FORTIES AND CROMARTY. __+2.+6.6+:$__._6!.'_6__99$, OCNL POOR LTR\n\nHUMBER THAMES\nNW BACK SW LTR, 4 HHM\n_LT OR MOD, OCNL SMOOTH. RAIN LTR. GOOD, OCNL POOR LTR\n\nFAIR ISLE\nN 3 TO 5, CYCLONIC THEN SE 6 TO GALE 8 LTR. MOD OR ROUGH, BECMG VERY ROUGH LTR IN NW. RAIN LTR. MOD OR GOOD, OCNL POOR LTR\n\nOUTLOOK FLW 24 HOURS:\nGALES EXP IN VIKING, FORTIES, CROMARTY AND FAIR ISLE. STRG WINDS EXP IN ALL OTHER AREAS \nNNNN",
    "clean_text": "ZCZC GE13\nISSUED BY THE MET OFFICE AT 0900 ON THU _2._69,9,9,__'_._6!*_/._!6.!*'09,98887_3 _3,34-) '857-589, -5 .8$,8__5\nNEW LOW EXP MALIN 995 BY MIDNIGHT TONIGHT\n\n_WYGDYM_ZYP_J_II NONG\nF__ONDFR TO 6, BACK S OR SE 5 TO 7 LTR, PERHAPS GALE 8 LTR. MOD OR ROUGH. WINTRY SHWRS. GOOD, OCNL POOR\n\nFORTIES CROMARTY FORTH TYNE DOGGER\nN_4 TO 6, BACK S 5 TO 7 LTR, PERHAPS GALE 8 LTR IN FORTIES AND CROMARTY. __+2.+6.6+:$__._6!.'_6__99$, OCNL POOR LTR\n\nHUMBER THAMES\nNW BACK SW LTR, 4 HHM\n_LT OR MOD, OCNL SMOOTH. RAIN LTR. GOOD, OCNL POOR LTR\n\nFAIR ISLE\nN 3 TO 5, CYCLONIC THEN SE 6 TO GALE 8 LTR. MOD OR ROUGH, BECMG VERY ROUGH LTR IN NW. RAIN LTR. MOD OR GOOD, OCNL POOR LTR\n\nOUTLOOK FLW 24 HOURS:\nGALES EXP IN VIKING, FORTIES, CROMARTY AND FAIR ISLE. STRG WINDS EXP IN ALL OTHER AREAS\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER",
      "DOGGER",
      "CROMARTY",
      "TYNE"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention gales, ice, rain across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "F ondfr to 6, back s or se 5 to 7 ltr, perhaps gale 8 ltr. mod or rough. wintry shwrs. good, ocnl poor",
      "N 4 to 6, back s 5 to 7 ltr, perhaps gale 8 ltr in forties and cromarty. 2. 6.6 :$ . 6!.' 6 99$, ocnl poor ltr",
      "N 3 to 5, cyclonic then se 6 to gale 8 ltr. mod or rough, becmg very rough ltr in nw. rain ltr. mod or good, ocnl poor ltr"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 64,
    "heading": "2026-04-02 11:44:35 AREA: E",
    "published_at": "2026-04-02 11:44:35",
    "area": "E",
    "message_id": "EA21",
    "text": "ZCZC EA21\nWZ 182/2$ \n__':2_(__B_ 51-3:_\nN 004-39.7W UNLIT.\nNNNN",
    "clean_text": "ZCZC EA21\nWZ 182/2$\n__':2_(__B_ 51-3:_\nN 004-39.7W UNLIT.\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 65,
    "heading": "2026-04-02 11:44:14 AREA: E",
    "published_at": "2026-04-02 11:44:14",
    "area": "E",
    "message_id": "EA22",
    "text": "ZCZC EA22\nWZ 185/26 \nWIGHT. \nNEEDLES LIGHT 50-39.7N 001-35.5W_ \n_NNN\n\n\n\nU_S\nU_ZCZC",
    "clean_text": "ZCZC EA22\nWZ 185/26\nWIGHT.\nNEEDLES LIGHT 50-39.7N 001-35.5W_\n_NNN\n\nU_S\nU_ZCZC",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "WIGHT",
      "NEEDLES"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text says: Needles light 50-39.7n 001-35.5w. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Needles light 50-39.7n 001-35.5w"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 66,
    "heading": "2026-04-02 11:43:30 AREA: T",
    "published_at": "2026-04-02 11:43:30",
    "area": "T",
    "message_id": "",
    "text": "ZCZC TAB_P\nWZ 215/26 \nMRCC DOVER. \nMF R/T SERVIC._6+_.)_2*0-.*!_0.\n_____ 001-24.5E OFF AIRLMMOOTZLBZFFF____ZMEA27\nWZ 192/26 \n5LUNDY. \nIAVQ__O_\n\n_ZCZC",
    "clean_text": "ZCZC TAB_P\nWZ 215/26\nMRCC DOVER.\nMF R/T SERVIC._6+_.)_2*0-.*!_0.\n_____ 001-24.5E OFF AIRLMMOOTZLBZFFF____ZMEA27\nWZ 192/26\n5LUNDY.\nIAVQ__O_\n\n_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Mrcc dover. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mrcc dover"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 68,
    "heading": "2026-04-02 11:40:14 AREA: E",
    "published_at": "2026-04-02 11:40:14",
    "area": "E",
    "message_id": "EE93",
    "text": "ZCZC EE93\nISSUE_ BY THE MET OFFICE AT 0700 ON THU 02 APR\n\n\nGALE WARNINGS: NONE\n\nTHE GENAAL SITUATION AT MIDNIGHOT\nNEJ LOW EXP MALIN 995 BYMMW_FDHMHZF_DHONON_ES DOVER\nNW BACK SW LTR! 4 TO 6. SLT ORNMOD, OCNL SMOOTH. _AIN LTR. GOOD, OCNL PUOOR LTR\n\n_WIGHT PORTLANDMS_BZKHDMLFJX_BACK W O_ SW _TOVN_R TO 6. SLT OR MOD, OCNL SOUUGH LTR IN PLYMOUTH AND BISCAY. RAIN _OOD, OCNL _OOR LTR\n\nZ FI_ZROY\nNE 4 TO 6, OCNL 7 IN S. MOD OR ROUGHM FAIR. GOO_\nON_DMFFHAFZ_M_\nVRB 2 TO 4_ B:__(7.0\n=__.6+:$_._+!'._06*.6_:+$.'_6_)9(__4(_:_\n_9643-8BH__J_-9,_':23._*_0_9,_88 3 TO\nLO_GLP__MJUM_HMGHZM\nCZVGJSHMZYM_ZW\nMGLPXDMBZWMZYMYZCD_M+_'._063.6:_$.M_JHPH_RAIN LTR. GOOD)54\n\nOUO_OOK FLW 24 HOURS:\nGALES EXP IN FITZROY AND SOLE. STRG WINDS EXP IN ALL OTHER_J_PJ_UIZCZC",
    "clean_text": "ZCZC EE93\nISSUE_ BY THE MET OFFICE AT 0700 ON THU 02 APR\n\nGALE WARNINGS: NONE\n\nTHE GENAAL SITUATION AT MIDNIGHOT\nNEJ LOW EXP MALIN 995 BYMMW_FDHMHZF_DHONON_ES DOVER\nNW BACK SW LTR! 4 TO 6. SLT ORNMOD, OCNL SMOOTH. _AIN LTR. GOOD, OCNL PUOOR LTR\n\n_WIGHT PORTLANDMS_BZKHDMLFJX_BACK W O_ SW _TOVN_R TO 6. SLT OR MOD, OCNL SOUUGH LTR IN PLYMOUTH AND BISCAY. RAIN _OOD, OCNL _OOR LTR\n\nZ FI_ZROY\nNE 4 TO 6, OCNL 7 IN S. MOD OR ROUGHM FAIR. GOO_\nON_DMFFHAFZ_M_\nVRB 2 TO 4_ B:__(7.0\n=__.6+:$_._+!'._06*.6_:+$.'_6_)9(__4(_:_\n_9643-8BH__J_-9,_':23._*_0_9,_88 3 TO\nLO_GLP__MJUM_HMGHZM\nCZVGJSHMZYM_ZW\nMGLPXDMBZWMZYMYZCD_M+_'._063.6:_$.M_JHPH_RAIN LTR. GOOD)54\n\nOUO_OOK FLW 24 HOURS:\nGALES EXP IN FITZROY AND SOLE. STRG WINDS EXP IN ALL OTHER_J_PJ_UIZCZC",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "WIGHT",
      "PORTLAND"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for United Kingdom - English Channel and western approaches. This is a weather bulletin; readable sections mention gales, ice, rain across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gales exp in fitzroy and sole. strg winds exp in all other j pj uizczc",
      "Gale warnings: none",
      "Wight portlandms bzkhdmlfjx back w o sw tovn r to 6. slt or mod, ocnl souugh ltr in plymouth and biscay. rain ood, ocnl oor ltr"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 69,
    "heading": "2026-04-02 11:23:21 AREA: T",
    "published_at": "2026-04-02 11:23:21",
    "area": "T",
    "message_id": "TA24",
    "text": "ZCZC TA24\n020802 UTC APR\nOOSTENDERADIO MSI 145/26\nDE PANNE-OOSTENDE\nGUNNERY EXERCI_PJMIIIKLOMBARDSIJDE\nTODAY 02 :_ 2026\nFROM 1000 UNTIL 1530 UTC\nGUNNERY SECTOR IS LISTENING ON CHAN 16 AND 74\nCANCEL THIS MESSAGE 021530 UTC APR\nNNNN",
    "clean_text": "ZCZC TA24\n020802 UTC APR\nOOSTENDERADIO MSI 145/26\nDE PANNE-OOSTENDE\nGUNNERY EXERCI_PJMIIIKLOMBARDSIJDE\nTODAY 02 :_ 2026\nFROM 1000 UNTIL 1530 UTC\nGUNNERY SECTOR IS LISTENING ON CHAN 16 AND 74\nCANCEL THIS MESSAGE 021530 UTC APR\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Gunnery sector is listening on chan 16 and 74.",
    "decoded_highlights": [
      "Gunnery sector is listening on chan 16 and 74",
      "De panne-oostende",
      "Gunnery exerci pjmiiiklombardsijde"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 72,
    "heading": "2026-04-02 10:30:21 AREA: V",
    "published_at": "2026-04-02 10:30:21",
    "area": "V",
    "message_id": "VA75",
    "text": "ZCZC VA75\n301531 __MAR _WZ 242/26 \nTHAMES. \nGUNFLEET SANDS WIND FARM. \n1. TURLFPM\n_A_H Y_VE. \n2._CANCEL WZ 126/26 (VA58).\nNONIII_ZCZC",
    "clean_text": "ZCZC VA75\n301531 __MAR _WZ 242/26\nTHAMES.\nGUNFLEET SANDS WIND FARM.\n1. TURLFPM\n_A_H Y_VE.\n2._CANCEL WZ 126/26 (VA58).\nNONIII_ZCZC",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Gunfleet sands wind farm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gunfleet sands wind farm",
      "2. cancel wz 126/26 (va58)",
      "Noniii zczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 73,
    "heading": "2026-04-02 10:18:59 AREA: T",
    "published_at": "2026-04-02 10:18:59",
    "area": "T",
    "message_id": "",
    "text": "ICZCZC",
    "clean_text": "ICZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 76,
    "heading": "2026-04-02 10:16:32 AREA: T",
    "published_at": "2026-04-02 10:16:32",
    "area": "T",
    "message_id": "TA87",
    "text": "ZCZC TA87\n _7_ UTC MAR\nOOSTENDERADIO MSI 107/26\nOOST_DEVA_Z_EBRUGGE\nCABLE OPERATIONS B_ M/V MANU PEKKA AND M/V DUKE\nBETWEEN FOLLOWING COORDINATES : \n51-31.75N 002-31.13E\n51-20.82N _U_UYE \n51-19.93N 003-09.75E\n51-19.93N 003-09.75E \n51-19.31N 003-08.04E\n51-20.06N 002-51.09E \n51-31.19N 002-30.45E\nA BAN ON ACHORING AND FISHING IN THE ENTIRE CORRIDOR\nSHIPPING REQUESTED TO PASS AT A SAFE DISTACPO_G__MP_VK\n1__1$GEBAMDB_LBO_H 16 AND 65\nNNNN",
    "clean_text": "ZCZC TA87\n_7_ UTC MAR\nOOSTENDERADIO MSI 107/26\nOOST_DEVA_Z_EBRUGGE\nCABLE OPERATIONS B_ M/V MANU PEKKA AND M/V DUKE\nBETWEEN FOLLOWING COORDINATES :\n51-31.75N 002-31.13E\n51-20.82N _U_UYE\n51-19.93N 003-09.75E\n51-19.93N 003-09.75E\n51-19.31N 003-08.04E\n51-20.06N 002-51.09E\n51-31.19N 002-30.45E\nA BAN ON ACHORING AND FISHING IN THE ENTIRE CORRIDOR\nSHIPPING REQUESTED TO PASS AT A SAFE DISTACPO_G__MP_VK\n1__1$GEBAMDB_LBO_H 16 AND 65\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: A ban on achoring and fishing in the entire corridor. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "A ban on achoring and fishing in the entire corridor",
      "Cable operations b m/v manu pekka and m/v duke",
      "Shipping requested to pass at a safe distacpo g mp vk"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 77,
    "heading": "2026-04-02 10:15:16 AREA: T",
    "published_at": "2026-04-02 10:15:16",
    "area": "T",
    "message_id": "",
    "text": "ZCZC TA1_\n261002 UTXM_YMONGZZJHPWPYWFZM_JF__ PT_EONGZZJHPWP_GAPPLYC_\nOBSTACLES ON THE SEABED IN FOLLOWING POSITIONS\n51 17,352N 0___HEE _GP_N\nH_XMC/)9G:89_0$__GJDF_G IS REQUESTED NOT TO ANCHOR NOR FISH IN THE VICINITY\n\n\nNNNN",
    "clean_text": "ZCZC TA1_\n261002 UTXM_YMONGZZJHPWPYWFZM_JF__ PT_EONGZZJHPWP_GAPPLYC_\nOBSTACLES ON THE SEABED IN FOLLOWING POSITIONS\n51 17,352N 0___HEE _GP_N\nH_XMC/)9G:89_0$__GJDF_G IS REQUESTED NOT TO ANCHOR NOR FISH IN THE VICINITY\n\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text reports seabed obstacles and warns against anchoring or fishing nearby. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Obstacles on the seabed in following positions",
      "H xmc/)9g:89 0$ gjdf g is requested not to anchor nor fish in the vicinity"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 82,
    "heading": "2026-04-02 10:12:15 AREA: T",
    "published_at": "2026-04-02 10:12:15",
    "area": "T",
    "message_id": "TA22",
    "text": "ZCZC TA22\n011041_: -04\nOOSTENDERADIO MSI 143/26\nTSS-OFF NOO_NDER  \nSPECIAL PURPOS_OY OWFB, W. FL 5S, \n51-40.23N 002-48.34E ESTABLISHED \nCANCEL THIS MESSAGE: 151041 UTC APR 26\nNNNN",
    "clean_text": "ZCZC TA22\n011041_: -04\nOOSTENDERADIO MSI 143/26\nTSS-OFF NOO_NDER\nSPECIAL PURPOS_OY OWFB, W. FL 5S,\n51-40.23N 002-48.34E ESTABLISHED\nCANCEL THIS MESSAGE: 151041 UTC APR 26\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: 51-40.23n 002-48.34e established.",
    "decoded_highlights": [
      "51-40.23n 002-48.34e established",
      "Special purpos oy owfb, w. fl 5s",
      "Tss-off noo nder"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 84,
    "heading": "2026-04-02 10:10:22 AREA: T",
    "published_at": "2026-04-02 10:10:22",
    "area": "T",
    "message_id": "TE03",
    "text": "ZCZC TE03\n020710 UTC APR\nOOSTENDERADIO WX 03/26\nTHAMES AND BELGIAN COAST :\nW TB SW 3-4, BECMG NNW OR N 5-6 AND BY THE EVENING DECR 4-5. DURIM_E EVENING GRAD VRB 2-3.\nDOVER:\nNW 3-4, BECMG_ OR N 4-5 AND B_E EVENING BECMG VRB 2-3.\nALL REGIONS:\n_34:-'5._!_$.!8883,5 )8__5 4-8,, TOMORROW AFTERNOON DRY. PATCHES OF LOCAL FOG. MOD VIS DURING PRECIPITATION, LOC POOR VIS, LATE_M_ZZIMO_\n\nNNNN",
    "clean_text": "ZCZC TE03\n020710 UTC APR\nOOSTENDERADIO WX 03/26\nTHAMES AND BELGIAN COAST :\nW TB SW 3-4, BECMG NNW OR N 5-6 AND BY THE EVENING DECR 4-5. DURIM_E EVENING GRAD VRB 2-3.\nDOVER:\nNW 3-4, BECMG_ OR N 4-5 AND B_E EVENING BECMG VRB 2-3.\nALL REGIONS:\n_34:-'5._!_$.!8883,5 )8__5 4-8,, TOMORROW AFTERNOON DRY. PATCHES OF LOCAL FOG. MOD VIS DURING PRECIPITATION, LOC POOR VIS, LATE_M_ZZIMO_\n\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Belgium - Belgian coast and southern North Sea. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "34:-'5. ! $.!8883,5 )8 5 4-8,, tomorrow afternoon dry. patches of local fog. mod vis during precipitation, loc poor vis, late m zzimo",
      "W tb sw 3-4, becmg nnw or n 5-6 and by the evening decr 4-5. durim e evening grad vrb 2-3",
      "Nw 3-4, becmg or n 4-5 and b e evening becmg vrb 2-3"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 91,
    "heading": "2026-04-02 10:02:29 AREA: S",
    "published_at": "2026-04-02 10:02:29",
    "area": "S",
    "message_id": "SA83",
    "text": "ZCZC SA83\nNCC-HAMBURG\n020420 UTC APR 26\nNAV. WARN. NO. 194\nGERMAN BIGHT. WEISSE BANK.\nSURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR3',\nAROUND POSITION 54-47,3N 005-58,3E\nRESTRICTED MANOEVRABILITY DURING OPERATIONS,\nBERTH OF 2 NM REQUESTED.\nNNNN",
    "clean_text": "ZCZC SA83\nNCC-HAMBURG\n020420 UTC APR 26\nNAV. WARN. NO. 194\nGERMAN BIGHT. WEISSE BANK.\nSURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR3',\nAROUND POSITION 54-47,3N 005-58,3E\nRESTRICTED MANOEVRABILITY DURING OPERATIONS,\nBERTH OF 2 NM REQUESTED.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NCC HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text reports survey operations near 54-47.3N 005-58.3E and implies local caution around the work area.",
    "decoded_highlights": [
      "Survey operations by mv 'fugro synergy', cs 'c6xr3'",
      "Around position 54-47,3n 005-58,3e",
      "Restricted manoevrability during operations"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 92,
    "heading": "2026-04-02 10:01:32 AREA: S",
    "published_at": "2026-04-02 10:01:32",
    "area": "S",
    "message_id": "SA85",
    "text": "ZCZC SA85\nNCC-HAMBURG\n 020610 UTC APR 26\nNAV. WARN. NO. 196\nGERMAN BIGHT. NORTHWESTERLY OWF 'BARDCOJ_S_ZRE 1'.\nUXO SURVEY BY\nMV 'OCEAN RESEARCHER', CS 'GDLS' AROUND POSITION\n54-23,3N 005-54,2E\nRESTRICTED MANOEUVRABILITY DURING OPERATIONS.\nSAFE BERTH OF 1 NM REQUESTED.\nNNNN",
    "clean_text": "ZCZC SA85\nNCC-HAMBURG\n020610 UTC APR 26\nNAV. WARN. NO. 196\nGERMAN BIGHT. NORTHWESTERLY OWF 'BARDCOJ_S_ZRE 1'.\nUXO SURVEY BY\nMV 'OCEAN RESEARCHER', CS 'GDLS' AROUND POSITION\n54-23,3N 005-54,2E\nRESTRICTED MANOEUVRABILITY DURING OPERATIONS.\nSAFE BERTH OF 1 NM REQUESTED.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NCC HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text says: Uxo survey by.",
    "decoded_highlights": [
      "Uxo survey by",
      "Restricted manoeuvrability during operations",
      "German bight. northwesterly owf 'bardcoj s zre 1'"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 93,
    "heading": "2026-04-02 10:00:14 AREA: S",
    "published_at": "2026-04-02 10:00:14",
    "area": "S",
    "message_id": "SE60",
    "text": "ZCZC SE60\n020700 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nTHURSDAY:\nSOUTHWEST ABOUT 4, JDF_HF_MHZMZYHD_PJHPYS_MWFYP_HFZJ_MG_ZYMMHF_PONGF_YPJFM_HMGHZM\n_AT TIMES RAIN WITH POOR VISIBILITY.\nSEA NORTHERN PYHMHMHF_PJ__ METER.\n\nFRIDAY:\nWEST TO NORTHWEST ABOUTB_IN_X_MJDF_HF_MHZMJZCHD_PJHPYS_MWFYP_HFZJ_O_G_ZYMMHF_PMF_YPJF_MLZCHM\n_AT TIMES RAIN WITH POOR VISIBILITY.\nSEA FOR A TIME 3 METER.\nNNNN",
    "clean_text": "ZCZC SE60\n020700 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nTHURSDAY:\nSOUTHWEST ABOUT 4, JDF_HF_MHZMZYHD_PJHPYS_MWFYP_HFZJ_MG_ZYMMHF_PONGF_YPJFM_HMGHZM\n_AT TIMES RAIN WITH POOR VISIBILITY.\nSEA NORTHERN PYHMHMHF_PJ__ METER.\n\nFRIDAY:\nWEST TO NORTHWEST ABOUTB_IN_X_MJDF_HF_MHZMJZCHD_PJHPYS_MWFYP_HFZJ_O_G_ZYMMHF_PMF_YPJF_MLZCHM\n_AT TIMES RAIN WITH POOR VISIBILITY.\nSEA FOR A TIME 3 METER.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NAVTEX HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Germany - German Bight and German North Sea. Readable text says: At times rain with poor visibility. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "At times rain with poor visibility",
      "Weatherforecast for german bight",
      "Sea for a time 3 meter"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 94,
    "heading": "2026-04-02 09:32:07 AREA: P",
    "published_at": "2026-04-02 09:32:07",
    "area": "P",
    "message_id": "PA17",
    "text": "ZCZC PA17\n291955 _=_/.__\n_MSI 38/26\nBUOY WP1 53-19N 004-03E TEMPORARILY WITHDRAWN.\nOBJECT  ON THE SEABED 53-19.3N 004-02.5E \nDANGEROUS TO SHIPPING\nCANCEL MSI 248/25\nNNNN",
    "clean_text": "ZCZC PA17\n291955 _=_/.__\n_MSI 38/26\nBUOY WP1 53-19N 004-03E TEMPORARILY WITHDRAWN.\nOBJECT ON THE SEABED 53-19.3N 004-02.5E\nDANGEROUS TO SHIPPING\nCANCEL MSI 248/25\nNNNN",
    "display_region_heading": "Unresolved B1 code P",
    "display_region_label": "B1 code P",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code P. Readable text says: Buoy wp1 53-19n 004-03e temporarily withdrawn. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Buoy wp1 53-19n 004-03e temporarily withdrawn",
      "Object on the seabed 53-19.3n 004-02.5e",
      "Dangerous to shipping"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 96,
    "heading": "2026-04-02 09:29:56 AREA: T",
    "published_at": "2026-04-02 09:29:56",
    "area": "T",
    "message_id": "",
    "text": "ZCPCC \nW\nPRQOPP UTC JAN 26\nMSI 2/26\nBUOY WP2_5K_N_L_4:_(:,_113_:9=343$ .3-'748,_ 31780.3,5 9, 5_3 '3-_3$\n,,,,\n\n_+:+: 0-42\n290625 UTC_NHCQ_DQQ_AE_WB_E_1_((_)_8(_0_)*_6:__!+.60_+6_029,!.\n!_!___..+_..'!0._+!!_.9,__6C_G_TE AND 54-03.5N 004-39.6E.\nDANGEROUS TO _ISHERY.\nCANCEL MSI 102/26\nONNIII_ZCZC",
    "clean_text": "ZCPCC\nW\nPRQOPP UTC JAN 26\nMSI 2/26\nBUOY WP2_5K_N_L_4:_(:,_113_:9=343$ .3-'748,_ 31780.3,5 9, 5_3 '3-_3$\n,,,,\n\n_+:+: 0-42\n290625 UTC_NHCQ_DQQ_AE_WB_E_1_((_)_8(_0_)*_6:__!+.60_+6_029,!.\n!_!___..+_..'!0._+!!_.9,__6C_G_TE AND 54-03.5N 004-39.6E.\nDANGEROUS TO _ISHERY.\nCANCEL MSI 102/26\nONNIII_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Buoy wp2 5k n l 4: (:, 113 :9 343$ .3-'748, 31780.3,5 9, 5 3 '3- 3$. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Buoy wp2 5k n l 4: (:, 113 :9 343$ .3-'748, 31780.3,5 9, 5 3 '3- 3$",
      "Prqopp utc jan 26",
      "Dangerous to ishery"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 97,
    "heading": "2026-04-02 09:22:36 AREA: S",
    "published_at": "2026-04-02 09:22:36",
    "area": "S",
    "message_id": "SA85",
    "text": "ZCZC SA85\nNAVTEX-HAMBURG (NCC)\n020610 UTC APR 26\nNAV. WARN. NO. 196\nGERMAN BIGHT. NORTHWESTERLY OWF 'BARD OFFSHORE 1'.\nUXOMJCY\nP__LEON__\nM\nJGZ_PMYPJPY_DPY_J_G_JM\nJGWSJ_JMGYZCWM_ZJFHFZON_HY_PPGM\n_TRNW_PONIIIIESTRICTED MANOEUVRABILITY DURING OPERATIONS.\nSAFE BERTH OF 1 NM REQUESTED.\nNNNN",
    "clean_text": "ZCZC SA85\nNAVTEX-HAMBURG (NCC)\n020610 UTC APR 26\nNAV. WARN. NO. 196\nGERMAN BIGHT. NORTHWESTERLY OWF 'BARD OFFSHORE 1'.\nUXOMJCY\nP__LEON__\nM\nJGZ_PMYPJPY_DPY_J_G_JM\nJGWSJ_JMGYZCWM_ZJFHFZON_HY_PPGM\n_TRNW_PONIIIIESTRICTED MANOEUVRABILITY DURING OPERATIONS.\nSAFE BERTH OF 1 NM REQUESTED.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NAVTEX HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text says: German bight. northwesterly owf 'bard offshore 1'. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "German bight. northwesterly owf 'bard offshore 1'",
      "Safe berth of 1 nm requested",
      "Trnw poniiiiestricted manoeuvrability during operations"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 98,
    "heading": "2026-04-02 08:43:57 AREA: K",
    "published_at": "2026-04-02 08:43:57",
    "area": "K",
    "message_id": "KA26",
    "text": "ZCZC KA26\nAVUICA_NM\nMOZU_O_26/26\nDOVER - DST _S TO NA\nIGAT_ON CH_NG_S\nAIS TRANSMITTER OUT __U_E_____Q_Q___EZCZG LA11\n308!3 UT_ V WARN 177/26\n DENMARK LISM FIORD LAGSTAG R_ND_\nKWM AE_TH OLJ\nM_PWBN\nOAQTOT__T_N_GDFWP\nZ._30'9,9,,88 __-_\n__*_\n\n+!+: )-10\n12_:-7._ _/._1=\n__\n_+-9,' ,-= 2-4, 154/26\nDENMARK. LIIM FIORD. _8)93.5M OBSERVED BET_EN\n_56-5.7_, 009-10'$=\n_$*!DG_RP_5'.\n.__/__ZCZC",
    "clean_text": "ZCZC KA26\nAVUICA_NM\nMOZU_O_26/26\nDOVER - DST _S TO NA\nIGAT_ON CH_NG_S\nAIS TRANSMITTER OUT __U_E_____Q_Q___EZCZG LA11\n308!3 UT_ V WARN 177/26\nDENMARK LISM FIORD LAGSTAG R_ND_\nKWM AE_TH OLJ\nM_PWBN\nOAQTOT__T_N_GDFWP\nZ._30'9,9,,88 __-_\n__*_\n\n+!+: )-10\n12_:-7._ _/._1=\n__\n_+-9,' ,-= 2-4, 154/26\nDENMARK. LIIM FIORD. _8)93.5M OBSERVED BET_EN\n_56-5.7_, 009-10'$=\n_$*!DG_RP_5'.\n.__/__ZCZC",
    "resolved_station_name": "Niton (France relay)",
    "resolved_country": "United Kingdom / France",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Channel Islands and north-east French coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "DOVER"
    ],
    "display_region_heading": "United Kingdom / France - Channel Islands and north-east French coast",
    "display_region_label": "Niton (France relay), United Kingdom / France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom / France - Channel Islands and north-east French coast. Readable text says: Ais transmitter out u e q q ezczg la11. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ais transmitter out u e q q ezczg la11",
      "Denmark. liim fiord. 8)93.5m observed bet en",
      "Dover - dst s to na"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 99,
    "heading": "2026-04-02 08:40:16 AREA: K",
    "published_at": "2026-04-02 08:40:16",
    "area": "K",
    "message_id": "KA39",
    "text": "ZCZC KA39\nAVURNAV CHERBOURG 39/26\nWIGHT - D82\nSPECIAL OPGYHFZJON\n_FIRING EXERCISE\nFROM 011000 UTC APR 26 TO 061200 UTC APR 26\n\nAREA BOUNDED BY:\n49-59.92N 000-12.63W\n,9-40.78N 000-00.25W\n49-35.88N 000-10.93W\n49-32.33N 000-18.62W\n49-34.72N 000-55.12W\nNAVIGATE WITH CAUTION\n\n2. CANCEL THIS MSG 061200 UTC APR 26\n\nAVURNAV CHERBOURG 39/26\nANTIFER - D82\nOPERATIONS SPECIALES\n1. EXERCICE DE TFPONGW_M_KQNKQBCMB1_200 UTC AVR 26\n\nZONE DELIMITEE PAR :\n49-59.92N 000-12.63W\n49-40.78N 000-00.25W\n49-_35.8_N V___AQPMOEW\n49-3_N 000-18.62W\n49-34.72N 000-55.17__9,_(9/(._OCB_B3/83U FFFZ_P UHMK__M___UZCOI_UZJJN 0+()_0+_17___\n2(_'*$\n:$__KBUQ_BCB__BDQD_XN CHANGES\nLIGHT BUOY - LIGHT UNLIT\nBYOY FIGDMJCWON\nH _U BUG_M\n_U CBP_GPONGWBF_H_M_FH\nCHFZONGZON_WQ_FZGZC KA28\nWIHT\nQA LARGECCEYE_F-!3__/\n_/$_)\n2_ZCZC",
    "clean_text": "ZCZC KA39\nAVURNAV CHERBOURG 39/26\nWIGHT - D82\nSPECIAL OPGYHFZJON\n_FIRING EXERCISE\nFROM 011000 UTC APR 26 TO 061200 UTC APR 26\n\nAREA BOUNDED BY:\n49-59.92N 000-12.63W\n,9-40.78N 000-00.25W\n49-35.88N 000-10.93W\n49-32.33N 000-18.62W\n49-34.72N 000-55.12W\nNAVIGATE WITH CAUTION\n\n2. CANCEL THIS MSG 061200 UTC APR 26\n\nAVURNAV CHERBOURG 39/26\nANTIFER - D82\nOPERATIONS SPECIALES\n1. EXERCICE DE TFPONGW_M_KQNKQBCMB1_200 UTC AVR 26\n\nZONE DELIMITEE PAR :\n49-59.92N 000-12.63W\n49-40.78N 000-00.25W\n49-_35.8_N V___AQPMOEW\n49-3_N 000-18.62W\n49-34.72N 000-55.17__9,_(9/(._OCB_B3/83U FFFZ_P UHMK__M___UZCOI_UZJJN 0+()_0+_17___\n2(_'*$\n:$__KBUQ_BCB__BDQD_XN CHANGES\nLIGHT BUOY - LIGHT UNLIT\nBYOY FIGDMJCWON\nH _U BUG_M\n_U CBP_GPONGWBF_H_M_FH\nCHFZONGZON_WQ_FZGZC KA28\nWIHT\nQA LARGECCEYE_F-!3__/\n_/$_)\n2_ZCZC",
    "resolved_station_name": "Niton (France relay)",
    "resolved_country": "United Kingdom / France",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Channel Islands and north-east French coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV CHERBOURG",
      "CHERBOURG"
    ],
    "display_region_heading": "United Kingdom / France - Channel Islands and north-east French coast",
    "display_region_label": "Niton (France relay), United Kingdom / France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom / France - Channel Islands and north-east French coast. Readable text reports an aid-to-navigation fault near 49-59.92N 000-12.63W; 49-35.88N 000-10.93W. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Light buoy - light unlit",
      "1. exercice de tfpongw m kqnkqbcmb1 200 utc avr 26",
      "Firing exercise"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 100,
    "heading": "2026-04-02 08:31:41 AREA: J",
    "published_at": "2026-04-02 08:31:41",
    "area": "J",
    "message_id": "JA26",
    "text": "ZCZC JA26\n_3_9 !__._ __._1__$+___700__,=1Z_ZFCAB _==0__ZCZC",
    "clean_text": "ZCZC JA26\n_3_9 !__._ __._1__$+___700__,=1Z_ZFCAB _==0__ZCZC",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code J. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 101,
    "heading": "2026-04-02 08:13:47 AREA: S",
    "published_at": "2026-04-02 08:13:47",
    "area": "S",
    "message_id": "SA84",
    "text": "ZCZC SA84\nNAVTEX-HAMBURG (NCC)\n020500 UTC APR 26\n_V. WARN. NO. 195\nNAV. WARN. NO. 1\n0=__/0''02_NNNN",
    "clean_text": "ZCZC SA84\nNAVTEX-HAMBURG (NCC)\n020500 UTC APR 26\n_V. WARN. NO. 195\nNAV. WARN. NO. 1\n0=__/0''02_NNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NAVTEX HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text says: Nav. warn. no. 1. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Nav. warn. no. 1",
      "Navtex-hamburg (ncc)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 102,
    "heading": "2026-04-02 08:10:54 AREA: G",
    "published_at": "2026-04-02 08:10:54",
    "area": "G",
    "message_id": "GU82",
    "text": "ZCZC GU82\nWZ 143/26 \nVIKING. \nBERYL OIL FIELD. \nBERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARILY REMOVED. \nNNNN",
    "clean_text": "ZCZC GU82\nWZ 143/26\nVIKING.\nBERYL OIL FIELD.\nBERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARILY REMOVED.\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "BERYL OIL FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "U",
    "decoded_summary": "operational notice for United Kingdom - North Sea and north-east UK coast. Readable text says: Beryl spm3 buoy 59-31.7n 001-33.5e temporarily removed.",
    "decoded_highlights": [
      "Beryl spm3 buoy 59-31.7n 001-33.5e temporarily removed",
      "Beryl oil field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 103,
    "heading": "2026-04-02 08:10:23 AREA: G",
    "published_at": "2026-04-02 08:10:23",
    "area": "G",
    "message_id": "GA89",
    "text": "ZCZC GA89\n5_-.\n 3 5739___6+_6_3_HYWIND FLOATING WIND FARM.\n1. TURBINE HS2, 57-29.4N 001-21.1W, FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 39/26 (GA12).\nNNNN",
    "clean_text": "ZCZC GA89\n5_-.\n3 5739___6+_6_3_HYWIND FLOATING WIND FARM.\n1. TURBINE HS2, 57-29.4N 001-21.1W, FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 39/26 (GA12).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text reports a fog signal outage near 57-29.4N 001-21.1W. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. turbine hs2, 57-29.4n 001-21.1w, fog signal inoperative",
      "2. cancel wz 39/26 (ga12)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 104,
    "heading": "2026-04-02 08:10:00 AREA: G",
    "published_at": "2026-04-02 08:10:00",
    "area": "G",
    "message_id": "GA96",
    "text": "ZCZC GA96\nWZ 171/26 \nHUMBER. \nW_W_PZ_M_F_M_YB_O_MJZCHDMLCZEM_HP_ _N 08__8((_3_0.:'!__\n\nZCZC",
    "clean_text": "ZCZC GA96\nWZ 171/26\nHUMBER.\nW_W_PZ_M_F_M_YB_O_MJZCHDMLCZEM_HP_ _N 08__8((_3_0.:'!__\n\nZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 105,
    "heading": "2026-04-02 08:09:28 AREA: G",
    "published_at": "2026-04-02 08:09:28",
    "area": "G",
    "message_id": "GA97",
    "text": "ZCZC GA97\nNAVAREAVF 43/26 \nNOYHDMJP_\nTEAL AND GUILLEMOT OIL FIELDS. \nCHART GB 278. \nSAFETY ZONE, RADIUS 500 METRES, ESTABLISHED IN 57-16.48N 000-46.38E\nNNNN",
    "clean_text": "ZCZC GA97\nNAVAREAVF 43/26\nNOYHDMJP_\nTEAL AND GUILLEMOT OIL FIELDS.\nCHART GB 278.\nSAFETY ZONE, RADIUS 500 METRES, ESTABLISHED IN 57-16.48N 000-46.38E\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: Safety zone, radius 500 metres, established in 57-16.48n 000-46.38e.",
    "decoded_highlights": [
      "Safety zone, radius 500 metres, established in 57-16.48n 000-46.38e",
      "Navareavf 43/26",
      "Noyhdmjp"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 106,
    "heading": "2026-04-02 08:08:51 AREA: G",
    "published_at": "2026-04-02 08:08:51",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\nW_ 180/26 \nHUMBER. \nRACE BANK WIND FARM. \n1. TURBINE FOG SIGNALS INOPERATIVE: \nA. D01, 53-20.1N 000-49.1E. \nB. S01, 53-15.7N 000-55.9E. \n2. CANCEL WZ 58/26 (GA29). \nNNONNIII_ZCZC",
    "clean_text": "ZCZC GA61\nW_ 180/26\nHUMBER.\nRACE BANK WIND FARM.\n1. TURBINE FOG SIGNALS INOPERATIVE:\nA. D01, 53-20.1N 000-49.1E.\nB. S01, 53-15.7N 000-55.9E.\n2. CANCEL WZ 58/26 (GA29).\nNNONNIII_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention fog across the covered waters.",
    "decoded_highlights": [
      "1. turbine fog signals inoperative",
      "Race bank wind farm",
      "2. cancel wz 58/26 (ga29)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 107,
    "heading": "2026-04-02 08:08:19 AREA: G",
    "published_at": "2026-04-02 08:08:19",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS99_\n_9__O_Q_BDNCM/)__02-59.1E UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 82/26 (GA42).\nNNNN",
    "clean_text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS99_\n_9__O_Q_BDNCM/)__02-59.1E UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 82/26 (GA42).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER",
      "ORWELL GAS FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: 9 o q bdncm/) 02-59.1e unlit and all navaids inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "9 o q bdncm/) 02-59.1e unlit and all navaids inoperative",
      "Orwell gas field northwestwards99",
      "2. cancel wz 82/26 (ga42)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 109,
    "heading": "2026-04-02 08:07:24 AREA: G",
    "published_at": "2026-04-02 08:07:24",
    "area": "G",
    "message_id": "GA81",
    "text": "ZCZC GA81\nWZ 214/26 \nGMDSS. \n_MRCC HUMBER. \nMF R/T SERVICE FROM CULLERCOATS SITE 55-04.4N 001-27.8W OFF AIR. \nNNNN",
    "clean_text": "ZCZC GA81\nWZ 214/26\nGMDSS.\n_MRCC HUMBER.\nMF R/T SERVICE FROM CULLERCOATS SITE 55-04.4N 001-27.8W OFF AIR.\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "CULLERCOATS"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "Mf r/t service from cullercoats site 55-04.4n 001-27.8w off air",
      "Mrcc humber"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 110,
    "heading": "2026-04-02 08:07:00 AREA: G",
    "published_at": "2026-04-02 08:07:00",
    "area": "G",
    "message_id": "GA83",
    "text": "ZCZC GA83\nWZ _15=26 \nGMDSS. \nMRCC DOVER. \nMF R/T SERVIC_M_PZBML_WJP_MJ$,_,_/$__ 001-24.5E OFF AIR. \nNNNN",
    "clean_text": "ZCZC GA83\nWZ _15=26\nGMDSS.\nMRCC DOVER.\nMF R/T SERVIC_M_PZBML_WJP_MJ$,_,_/$__ 001-24.5E OFF AIR.\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: Mrcc dover. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mrcc dover"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 111,
    "heading": "2026-04-02 08:06:33 AREA: G",
    "published_at": "2026-04-02 08:06:33",
    "area": "G",
    "message_id": "GA94",
    "text": "ZCZC GA94\nWZ 220/26\nTYNE.\nBLYTH OFFSHORE DEMONSTRATZYM_F_M_YB_TURBINE B10 55-06.8N 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\nNNNN",
    "clean_text": "ZCZC GA94\nWZ 220/26\nTYNE.\nBLYTH OFFSHORE DEMONSTRATZYM_F_M_YB_TURBINE B10 55-06.8N 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "TYNE"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text reports a fog signal outage near 55-06.8N 001-23.6W. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Blyth offshore demonstratzym f m yb turbine b10 55-06.8n 001-23.6w unlit and fog signal inoperative"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 112,
    "heading": "2026-04-02 08:06:01 AREA: G",
    "published_at": "2026-04-02 08:06:01",
    "area": "G",
    "message_id": "GA02",
    "text": "ZCZC GA02\nWZ 223/26\nHUMBER. \nLEMAN GAS FIELD. \n1. PLATFORM 49/27-ED 53-03.6N 002-12.6E, UNLHMWMSSM_FWJMFZ_PYHF\nP_BM_M CANCEL WZ 100/26 (GA52).\nNNNN",
    "clean_text": "ZCZC GA02\nWZ 223/26\nHUMBER.\nLEMAN GAS FIELD.\n1. PLATFORM 49/27-ED 53-03.6N 002-12.6E, UNLHMWMSSM_FWJMFZ_PYHF\nP_BM_M CANCEL WZ 100/26 (GA52).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: 1. platform 49/27-ed 53-03.6n 002-12.6e, unlhmwmssm fwjmfz pyhf.",
    "decoded_highlights": [
      "1. platform 49/27-ed 53-03.6n 002-12.6e, unlhmwmssm fwjmfz pyhf",
      "P bm m cancel wz 100/26 (ga52)",
      "Leman gas field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 113,
    "heading": "2026-04-02 08:05:30 AREA: G",
    "published_at": "2026-04-02 08:05:30",
    "area": "G",
    "message_id": "GA04",
    "text": "ZCZC GA04\nWZ 225/26\nGMDSS.\nMRCC SHETLAND.\n1. MF R/T AND DSC SERVICES FROM GREGNESS SITE 57-07.7N 002-03.2W OFF AIR.\n2. CANCEL WZ 213/26 (GA80).\nNNNN",
    "clean_text": "ZCZC GA04\nWZ 225/26\nGMDSS.\nMRCC SHETLAND.\n1. MF R/T AND DSC SERVICES FROM GREGNESS SITE 57-07.7N 002-03.2W OFF AIR.\n2. CANCEL WZ 213/26 (GA80).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "1. mf r/t and dsc services from gregness site 57-07.7n 002-03.2w off air",
      "Mrcc shetland",
      "2. cancel wz 213/26 (ga80)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 114,
    "heading": "2026-04-02 08:04:59 AREA: G",
    "published_at": "2026-04-02 08:04:59",
    "area": "G",
    "message_id": "GA07",
    "text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 53-11.9N 002-29.1E, FOG SIGNAL INOPARATIVE.\n2. CANCEL WZ 104/26 (GA54).\nNNNN",
    "clean_text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 53-11.9N 002-29.1E, FOG SIGNAL INOPARATIVE.\n2. CANCEL WZ 104/26 (GA54).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER",
      "BESSEMER GAS FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention fog across the covered waters.",
    "decoded_highlights": [
      "1. platform 49/23e, 53-11.9n 002-29.1e, fog signal inoparative",
      "Bessemer gas field",
      "2. cancel wz 104/26 (ga54)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 115,
    "heading": "2026-04-02 08:01:02 AREA: G",
    "published_at": "2026-04-02 08:01:02",
    "area": "G",
    "message_id": "GA18",
    "text": "ZCZC GA18\nWZ K__E_WC\n__K8_\n(_H_FLHSX__\n_U KRC_IUF*87*___7KKM _\n2. IAKGA50). \nNNU_AN_\nJU_U _UZI_I GL_62/26 \n1. NAVAREA I WAHMSNL CRM__YXPMHM_UC ___TV_TBKEONK:0_+_ SERIES: 43, 52, 60, 61, 62. \nNOTES: \nA. _53/5' 9! ,-=-43- 8 2-4,8,_' 8''73$ 3-:_ 233( -47._8__3$ 8, 233()6 3$8589,' 9! 5_3 -$.84-)56 ,958*3' 59 .-48,34' _7))358,. NAVAHEA I WARNINGS LESS THAN _2 DAYZ OLD *_3\n65_\n$+___102_\n3\n +\n_+/__1(_+_\n5+\n7__1\n_EQU_BBLF_ZAOOLN__35013 4_4_:___-=53/ 54-,'.85534'.\nC. TO_ _OMPLETE\nT__*_+_.''.___+6/0.__60.!._8_8_6_*_._!_8:_ -43 ,9 )9,_34 _38,_ _49-$:-'5, ARE REPRINTED IN SECTION III OF ANMB IN WEEKS 1, 13, 26._2._0+._2.60.'*+._!')'_._6+_.___9 23_'853 -5: _T__\nV_TGB_F\n_DMIRALTY.CO.UK/RADIONAVIGATIONALWARNINGS.\nALTERNATI\nEHJ\n GHDPJPMB_ML_MYP CP_HN_O_QONCLK_IL FROM NAVAREA I CO-ORJFHZYMH_NAVWARNINGS(AT)UKHO.GOV.UK \n2. CANCEL NAVAREA I 57/26 (EA43)(GA92)(OA68). \nNNNN",
    "clean_text": "ZCZC GA18\nWZ K__E_WC\n__K8_\n(_H_FLHSX__\n_U KRC_IUF*87*___7KKM _\n2. IAKGA50).\nNNU_AN_\nJU_U _UZI_I GL_62/26\n1. NAVAREA I WAHMSNL CRM__YXPMHM_UC ___TV_TBKEONK:0_+_ SERIES: 43, 52, 60, 61, 62.\nNOTES:\nA. _53/5' 9! ,-=-43- 8 2-4,8,_' 8''73$ 3-:_ 233( -47._8__3$ 8, 233()6 3$8589,' 9! 5_3 -$.84-)56 ,958*3' 59 .-48,34' _7))358,. NAVAHEA I WARNINGS LESS THAN _2 DAYZ OLD *_3\n65_\n$+___102_\n3\n+\n_+/__1(_+_\n5+\n7__1\n_EQU_BBLF_ZAOOLN__35013 4_4_:___-=53/ 54-,'.85534'.\nC. TO_ _OMPLETE\nT__*_+_.''.___+6/0.__60.!._8_8_6_*_._!_8:_ -43 ,9 )9,_34 _38,_ _49-$:-'5, ARE REPRINTED IN SECTION III OF ANMB IN WEEKS 1, 13, 26._2._0+._2.60.'*+._!')'_._6+_.___9 23_'853 -5: _T__\nV_TGB_F\n_DMIRALTY.CO.UK/RADIONAVIGATIONALWARNINGS.\nALTERNATI\nEHJ\nGHDPJPMB_ML_MYP CP_HN_O_QONCLK_IL FROM NAVAREA I CO-ORJFHZYMH_NAVWARNINGS(AT)UKHO.GOV.UK\n2. CANCEL NAVAREA I 57/26 (EA43)(GA92)(OA68).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. Readable text says: A. 53/5' 9! ,- -43- 8 2-4,8, ' 8''73$ 3-: 233( -47. 8 3$ 8, 233()6 3$8589,' 9! 5 3 -$.84-)56 ,958 3' 59 .-48,34' 7))358,. navahea i warnings less than 2 dayz old 3. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "A. 53/5' 9! ,- -43- 8 2-4,8, ' 8''73$ 3-: 233( -47. 8 3$ 8, 233()6 3$8589,' 9! 5 3 -$.84-)56 ,958 3' 59 .-48,34' 7))358,. navahea i warnings less than 2 dayz old 3",
      "Ghdpjpmb ml myp cp hn o qonclk il from navarea i co-orjfhzymh navwarnings(at)ukho.gov.uk",
      "Dmiralty.co.uk/radionavigationalwarnings"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 116,
    "heading": "2026-04-02 08:00:15 AREA: G",
    "published_at": "2026-04-02 08:00:15",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GB0_9,_)\n0_9,___3_3__) 0247 UTC\n\nFORTIES\nGALE NOW CEASED\n\nIMMIIE_T: B_P__TEN_CJ_BF T_M_ O_N\n_HEV_X- 8''73\n_ND_ONN__IKZCZC",
    "clean_text": "ZCZC GB0_9,_)\n0_9,___3_3__) 0247 UTC\n\nFORTIES\nGALE NOW CEASED\n\nIMMIIE_T: B_P__TEN_CJ_BF T_M_ O_N\n_HEV_X- 8''73\n_ND_ONN__IKZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code G. Readable text says: Gale now ceased. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gale now ceased"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 117,
    "heading": "2026-04-02 07:55:31 AREA: F",
    "published_at": "2026-04-02 07:55:31",
    "area": "F",
    "message_id": "FA17",
    "text": "ZCZC FA17\n211049 UTC NO_M\nM_Y_M__YN_C__HS__D_3 8,!94.-589,.\nV_S_ BOUNEV_Z_M_ZY\nJMJCLQP__M_Z____!/.9,60*_!__!*.*$''.__,)$ICEINFO' ON VHF OR\nPHONE +46 (0)10 492 76 00 AS FOIIOWS:\nWHEN PASSING LAT N6\n ON VHF CH 82.\nARRIV_LM_PSZYHMZM\nD__16 WHEN TH '_88.9,!*._0'_._++602_30-45743 430945 9, =_! :_ _16, \nLATEST _._$+:6*._0_+60.206_:608_9__+6_!_+____+.+.60*_1!__))58:3._94_.V\nNNNN",
    "clean_text": "ZCZC FA17\n211049 UTC NO_M\nM_Y_M__YN_C__HS__D_3 8,!94.-589,.\nV_S_ BOUNEV_Z_M_ZY\nJMJCLQP__M_Z____!/.9,60*_!__!*.*$''.__,)$ICEINFO' ON VHF OR\nPHONE +46 (0)10 492 76 00 AS FOIIOWS:\nWHEN PASSING LAT N6\nON VHF CH 82.\nARRIV_LM_PSZYHMZM\nD__16 WHEN TH '_88.9,!*._0'_._++602_30-45743 430945 9, =_! :_ _16,\nLATEST _._$+:6*._0_+60.206_:608_9__+6_!_+____+.+.60*_1!__))58:3._94_.V\nNNNN",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code F. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Jmjclqp m z !/.9,60 ! ! . $''. ,)$iceinfo' on vhf or",
      "Phone 46 (0)10 492 76 00 as foiiows",
      "When passing lat n6"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 118,
    "heading": "2026-04-02 07:54:59 AREA: F",
    "published_at": "2026-04-02 07:54:59",
    "area": "F",
    "message_id": "FA88",
    "text": "ZCZC FA88\n15__UTC JANV\nJ_ZFM\nM_Y_M\n__TU__O_G___KAG_B_WAF_HFZJM_FSZH_PMZ_MONHYJFHMHYW!/._$6+:6$.\n!__06!.$*.9,)00.*:*_02_2_\n,,,,\n\n_\nZCZC",
    "clean_text": "ZCZC FA88\n15__UTC JANV\nJ_ZFM\nM_Y_M\n__TU__O_G___KAG_B_WAF_HFZJM_FSZH_PMZ_MONHYJFHMHYW!/._$6+:6$.\n!__06!.$*.9,)00.*:*_02_2_\n,,,,\n\n_\nZCZC",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code F. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 119,
    "heading": "2026-04-02 07:54:24 AREA: F",
    "published_at": "2026-04-02 07:54:24",
    "area": "F",
    "message_id": "",
    "text": "ZCZC FAQD_ H_P\nMG \nQM_QLONSH_FM\nM_Y_M\n__TUJBO_G_P_YSMLSHF__D\nV_IAN WATERS. \nDUE TO ICE CONDITIONS MANY BUOYS \nAND MARKS ZAVERR_G___UTION.\nNNNN",
    "clean_text": "ZCZC FAQD_ H_P\nMG\nQM_QLONSH_FM\nM_Y_M\n__TUJBO_G_P_YSMLSHF__D\nV_IAN WATERS.\nDUE TO ICE CONDITIONS MANY BUOYS\nAND MARKS ZAVERR_G___UTION.\nNNNN",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code F. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Due to ice conditions many buoys",
      "V ian waters"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 120,
    "heading": "2026-04-02 07:53:45 AREA: F",
    "published_at": "2026-04-02 07:53:45",
    "area": "F",
    "message_id": "FA80",
    "text": "ZCZC FA80\n_071144 UTC MAR\nESTONIAN NAV WARN 024/26.\nCENTRAL BALTIC.\n_PJCH KIT WAS _LA_ED WEDH\n_IFROM JG_ENINSULA IN POSITIONS \n57-59.62N _PWQSRUMQQE AND\n57-57.77N 021-47._9E\nNAVIGATE WITZ CAUTION.\nNNNN",
    "clean_text": "ZCZC FA80\n_071144 UTC MAR\nESTONIAN NAV WARN 024/26.\nCENTRAL BALTIC.\n_PJCH KIT WAS _LA_ED WEDH\n_IFROM JG_ENINSULA IN POSITIONS\n57-59.62N _PWQSRUMQQE AND\n57-57.77N 021-47._9E\nNAVIGATE WITZ CAUTION.\nNNNN",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code F. Readable text says: Estonian nav warn 024/26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Estonian nav warn 024/26",
      "Central baltic",
      "Ifrom jg eninsula in positions"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 122,
    "heading": "2026-04-02 07:50:16 AREA: F",
    "published_at": "2026-04-02 07:50:16",
    "area": "F",
    "message_id": "FE91",
    "text": "ZCZC FE91\n020245 UTC APR\nBALTIC SEA WEATHERFORJCAST\nNEA_ARNING\nVSKAGERRAK\nW_A\n_P L PASSES E-WARDS JUAVIU4A MINOR L OVER S NORWAY MOV SLWY E-WST VALID 24 SO_\nSKIGEMMZD___(_5_ .9$-POOR VCS.\nKAH\nP_KH\nMGHDPMJZCW_MGHDPMLPS_J_MG_PJHPYMLS_FM\nJ\nGJUM_HZMG\nPY_F_DHMUM__V_MAINL_ GOOD VIS, SOME FOC.\nLAKE VAENERN\nSW 3-8. THIS AFTERNOON VRB 1-5. (\n1_!+.6!!_BAUN_SLU_C, \n'975_3-'5_0'_41___\n___3,,$.56_$!,0_'+.*_._. DECR 2-7 AND TEMPO VRB. RISK OF_M\nGULF OF RIGA, \n_7)! 9! !8$)-,$\n8, 2 0-45'_'2 6)10_ /8,:3=_,5' =4_ 1-5. _-7'=\n+*_\nSOUTHERN SEA OF BOTHNIA\n4-9__-6 _99$ =8', BUT RISK OK COASTAL FOGPATCHES.\nNORTHERN SEA O_RBZTHNIA, THE QUARK, BAY OF BOPO RA_D WIT MOD-POOR VIS. FM EVENING_PZZMMAU\nZCZC",
    "clean_text": "ZCZC FE91\n020245 UTC APR\nBALTIC SEA WEATHERFORJCAST\nNEA_ARNING\nVSKAGERRAK\nW_A\n_P L PASSES E-WARDS JUAVIU4A MINOR L OVER S NORWAY MOV SLWY E-WST VALID 24 SO_\nSKIGEMMZD___(_5_ .9$-POOR VCS.\nKAH\nP_KH\nMGHDPMJZCW_MGHDPMLPS_J_MG_PJHPYMLS_FM\nJ\nGJUM_HZMG\nPY_F_DHMUM__V_MAINL_ GOOD VIS, SOME FOC.\nLAKE VAENERN\nSW 3-8. THIS AFTERNOON VRB 1-5. (\n1_!+.6!!_BAUN_SLU_C,\n'975_3-'5_0'_41___\n___3,,$.56_$!,0_'+.*_._. DECR 2-7 AND TEMPO VRB. RISK OF_M\nGULF OF RIGA,\n_7)! 9! !8$)-,$\n8, 2 0-45'_'2 6)10_ /8,:3=_,5' =4_ 1-5. _-7'=\n+*_\nSOUTHERN SEA OF BOTHNIA\n4-9__-6 _99$ =8', BUT RISK OK COASTAL FOGPATCHES.\nNORTHERN SEA O_RBZTHNIA, THE QUARK, BAY OF BOPO RA_D WIT MOD-POOR VIS. FM EVENING_PZZMMAU\nZCZC",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Unresolved B1 code F. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "4-9 -6 99$ 8', but risk ok coastal fogpatches",
      "Baltic sea weatherforjcast",
      "P l passes e-wards juaviu4a minor l over s norway mov slwy e-wst valid 24 so"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 123,
    "heading": "2026-04-02 07:44:36 AREA: E",
    "published_at": "2026-04-02 07:44:36",
    "area": "E",
    "message_id": "EA21",
    "text": "ZCZC EA21\nWZ 182/26 \nLUNDY. \nSPANIEL BUOY 51-38.1N 004-39.7W UNLIT.\nNNNN",
    "clean_text": "ZCZC EA21\nWZ 182/26\nLUNDY.\nSPANIEL BUOY 51-38.1N 004-39.7W UNLIT.\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "LUNDY",
      "SPANIEL BUOY"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text says: Spaniel buoy 51-38.1n 004-39.7w unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Spaniel buoy 51-38.1n 004-39.7w unlit"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 124,
    "heading": "2026-04-02 07:43:54 AREA: E",
    "published_at": "2026-04-02 07:43:54",
    "area": "E",
    "message_id": "EA27",
    "text": "ZCZC EA27\nWZ 192/26 \nLUNDY. \nLAVERNOCK SPIT BUOY 51-23.0N 00(_ ____7.:'!__\n \n_888_AXA_MP_\n_WZ 185/26 \nWIGHT. \nNEEDLES LIGHT 50-39.7N 001-35.5W FOG SIGNAL INOPERATIVE. \nNNNN",
    "clean_text": "ZCZC EA27\nWZ 192/26\nLUNDY.\nLAVERNOCK SPIT BUOY 51-23.0N 00(_ ____7.:'!__\n\n_888_AXA_MP_\n_WZ 185/26\nWIGHT.\nNEEDLES LIGHT 50-39.7N 001-35.5W FOG SIGNAL INOPERATIVE.\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "WIGHT",
      "LUNDY",
      "NEEDLES"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text reports a fog signal outage near 50-39.7N 001-35.5W. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Needles light 50-39.7n 001-35.5w fog signal inoperative",
      "Lavernock spit buoy 51-23.0n 00( 7.:'!"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 125,
    "heading": "2026-04-02 07:43:30 AREA: E",
    "published_at": "2026-04-02 07:43:30",
    "area": "E",
    "message_id": "EA40",
    "text": "ZCZC EA40\nWZ 215/26 \nGMDSS. \nMRCC DOVER. \nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.5E OFF AIR. \nNNNN",
    "clean_text": "ZCZC EA40\nWZ 215/26\nGMDSS.\nMRCC DOVER.\nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.5E OFF AIR.\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "Mf r/t service from bawdsey site 51-59.6n 001-24.5e off air",
      "Mrcc dover"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 126,
    "heading": "2026-04-02 07:43:06 AREA: E",
    "published_at": "2026-04-02 07:43:06",
    "area": "E",
    "message_id": "EA46",
    "text": "ZCZC EA46\nWZ 234/26 \nPLYMOUTH. LANDS END SOUTHEASTWARDS. \nSOUTH CARDINAL BUOY 50-01.2N 005-40.4W UNLIT. \nNNNN",
    "clean_text": "ZCZC EA46\nWZ 234/26\nPLYMOUTH. LANDS END SOUTHEASTWARDS.\nSOUTH CARDINAL BUOY 50-01.2N 005-40.4W UNLIT.\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: South cardinal buoy 50-01.2n 005-40.4w unlit.",
    "decoded_highlights": [
      "South cardinal buoy 50-01.2n 005-40.4w unlit",
      "Plymouth. lands end southeastwards"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 127,
    "heading": "2026-04-02 07:40:44 AREA: E",
    "published_at": "2026-04-02 07:40:44",
    "area": "E",
    "message_id": "EA47",
    "text": "ZCZC EA47\nMAVAREA I 62/26 \n1. NAVAREA I WARNINGS IN FORCE AT 271000 UTC MAR 2026: \n2026 SERIES_.60.__.361, 62. \nNOTES: \nA9 TEXTS OF NAVAREA I WARNINGS ISSUED EACH WEEK ARE PUBLISHED IN WEEKLY EDFHFZJMZ_MHDPMW_FYSH_MZHF_PJMHZM_YFPYJMLCSSPHFM_MHCZSNR__HSBLKBKEKB_I WARNINGS LESS THAN 42 DAYS OSWM_XWY ONWARD) ARE PROMULGATED VIA ENHANCED GROUP CALL (EGC) AND/OR RELEVANT NAVTEX TRANSMITTERS.\nC. THE COMPLETE TEXTS OF ALL IN-FORCE NAVAREA I WARNINGS, INCLUDING THOSE WHICH ARE NO LONGER BEING BROADCAST, ARE REPRINTED INMFP_HFZMFFFMZ_M_II_IN WEEKS 1, 13, 26 AND 39 AND ARE LFZ__FSLSPM_YZ_MHDP_C_DZM_PLJFHPMH_HTTPS://MSI.ADMIRALTY.CO.UK/RADFZ_F_ZSFZKSYB_SONG_ESE MAYZJVR_RRYDRBCRTJ __RPOEU_M_L FROM NAVAREA I CO-ORD_NATOR AT: NAVWARNINGS(AT)UKHO.GOV.UK \n2. CANCEL NAVAREA I 57/26 (EA43)(GA92)(OA68). \nNNNN",
    "clean_text": "ZCZC EA47\nMAVAREA I 62/26\n1. NAVAREA I WARNINGS IN FORCE AT 271000 UTC MAR 2026:\n2026 SERIES_.60.__.361, 62.\nNOTES:\nA9 TEXTS OF NAVAREA I WARNINGS ISSUED EACH WEEK ARE PUBLISHED IN WEEKLY EDFHFZJMZ_MHDPMW_FYSH_MZHF_PJMHZM_YFPYJMLCSSPHFM_MHCZSNR__HSBLKBKEKB_I WARNINGS LESS THAN 42 DAYS OSWM_XWY ONWARD) ARE PROMULGATED VIA ENHANCED GROUP CALL (EGC) AND/OR RELEVANT NAVTEX TRANSMITTERS.\nC. THE COMPLETE TEXTS OF ALL IN-FORCE NAVAREA I WARNINGS, INCLUDING THOSE WHICH ARE NO LONGER BEING BROADCAST, ARE REPRINTED INMFP_HFZMFFFMZ_M_II_IN WEEKS 1, 13, 26 AND 39 AND ARE LFZ__FSLSPM_YZ_MHDP_C_DZM_PLJFHPMH_HTTPS://MSI.ADMIRALTY.CO.UK/RADFZ_F_ZSFZKSYB_SONG_ESE MAYZJVR_RRYDRBCRTJ __RPOEU_M_L FROM NAVAREA I CO-ORD_NATOR AT: NAVWARNINGS(AT)UKHO.GOV.UK\n2. CANCEL NAVAREA I 57/26 (EA43)(GA92)(OA68).\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: A9 texts of navarea i warnings issued each week are published in weekly edfhfzjmz mhdpmw fysh mzhf pjmhzm yfpyjmlcssphfm mhczsnr hsblkbkekb i warnings less than 42 days oswm xwy onward) are promulgated via enhanced group call (egc) and/or relevant navtex transmitters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "A9 texts of navarea i warnings issued each week are published in weekly edfhfzjmz mhdpmw fysh mzhf pjmhzm yfpyjmlcssphfm mhczsnr hsblkbkekb i warnings less than 42 days oswm xwy onward) are promulgated via enhanced group call (egc) and/or relevant navtex transmitters",
      "C. the complete texts of all in-force navarea i warnings, including those which are no longer being broadcast, are reprinted inmfp hfzmfffmz m ii in weeks 1, 13, 26 and 39 and are lfz fslspm yz mhdp c dzm pljfhpmh https://msi.admiralty.co.uk/radfz f zsfzksyb song ese mayzjvr rrydrbcrtj rpoeu m l from navarea i co-ord nator at: navwarnings(at)ukho.gov.uk",
      "2. cancel navarea i 57/26 (ea43)(ga92)(oa68)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 128,
    "heading": "2026-04-02 07:40:15 AREA: E",
    "published_at": "2026-04-02 07:40:15",
    "area": "E",
    "message_id": "EA49",
    "text": "ZCZC EA49\n27204:ZM_Y_\nUUEMONGP_YZMONG_A_\nUYT_EMO_G_JHPH_\nBLACKBALL LEDGE SOUTHPJH_Y_II_M \nEAST CARDINAL BUOY 51-55.3N 007-48.5W UNLIT. \n\nNNNN",
    "clean_text": "ZCZC EA49\n27204:ZM_Y_\nUUEMONGP_YZMONG_A_\nUYT_EMO_G_JHPH_\nBLACKBALL LEDGE SOUTHPJH_Y_II_M\nEAST CARDINAL BUOY 51-55.3N 007-48.5W UNLIT.\n\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: East cardinal buoy 51-55.3n 007-48.5w unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "East cardinal buoy 51-55.3n 007-48.5w unlit",
      "Blackball ledge southpjh y ii m"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 129,
    "heading": "2026-04-02 07:36:26 AREA: S",
    "published_at": "2026-04-02 07:36:26",
    "area": "S",
    "message_id": "SA83",
    "text": "ZCZC SA83\nNAV__MBURG (_CC)\n02\n4_0 _75: -04 26\nNAV. WARN. NO. 194\nGERMAN_FUGRO SYNERGY', CS 'C6XR3',\nAROUND POSITION 54-47,3N 005-58,3E\nRESTRICTED MANOEV_LFSFH_MWCYF_MZATIONS,\nBERTH OF _ 43173'53$.\nCANCEL NAV. WARN. NO. 11+_9__9_,(((((((((((((((((((((((((((((((((((((__ZCZC",
    "clean_text": "ZCZC SA83\nNAV__MBURG (_CC)\n02\n4_0 _75: -04 26\nNAV. WARN. NO. 194\nGERMAN_FUGRO SYNERGY', CS 'C6XR3',\nAROUND POSITION 54-47,3N 005-58,3E\nRESTRICTED MANOEV_LFSFH_MWCYF_MZATIONS,\nBERTH OF _ 43173'53$.\nCANCEL NAV. WARN. NO. 11+_9__9_,(((((((((((((((((((((((((((((((((((((__ZCZC",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code S. Readable text says: Around position 54-47,3n 005-58,3e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Around position 54-47,3n 005-58,3e",
      "Restricted manoev lfsfh mwcyf mzations",
      "Cancel nav. warn. no. 11 9 9 ,((((((((((((((((((((((((((((((((((((( zczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 130,
    "heading": "2026-04-02 07:31:12 AREA: D",
    "published_at": "2026-04-02 07:31:12",
    "area": "D",
    "message_id": "DB42",
    "text": "ZCZC DB42\nFAROE ISLANDS\n012106UTC APR 26\nGALE WNG NO 295 BY FMO ISSUED AT 1520UTC\n\nYTRI: DA_ M/F_\nMUNK: SE 17\nFUGLOY: SE 16\nICELAND YFWP_XMGJPM\n_\nNNNN",
    "clean_text": "ZCZC DB42\nFAROE ISLANDS\n012106UTC APR 26\nGALE WNG NO 295 BY FMO ISSUED AT 1520UTC\n\nYTRI: DA_ M/F_\nMUNK: SE 17\nFUGLOY: SE 16\nICELAND YFWP_XMGJPM\n_\nNNNN",
    "display_region_heading": "Unresolved B1 code D",
    "display_region_label": "B1 code D",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code D. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gale wng no 295 by fmo issued at 1520utc",
      "Iceland yfwp xmgjpm",
      "Faroe islands"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 131,
    "heading": "2026-04-02 07:30:30 AREA: D",
    "published_at": "2026-04-02 07:30:30",
    "area": "D",
    "message_id": "DA50",
    "text": "ZCZC DA50\nFAROE ISLANDS\nNAVIGATIONAL WARNING NO. 13/2026\n                    ...9,__$0.__BG_2_ ON SKERH LMI - ENTRANCE TO SOERVAG IN POS.  62  .5' N  007  24' W IS UNLIT.\n\nMRCC TORSHAVN\n2_0UTC MARCHV_\n\nNNNN",
    "clean_text": "ZCZC DA50\nFAROE ISLANDS\nNAVIGATIONAL WARNING NO. 13/2026\n...9,__$0.__BG_2_ ON SKERH LMI - ENTRANCE TO SOERVAG IN POS. 62 .5' N 007 24' W IS UNLIT.\n\nMRCC TORSHAVN\n2_0UTC MARCHV_\n\nNNNN",
    "display_region_heading": "Unresolved B1 code D",
    "display_region_label": "B1 code D",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code D. Readable text says: Navigational warning no. 13/2026. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Navigational warning no. 13/2026",
      "9, $0. bg 2 on skerh lmi - entrance to soervag in pos. 62 .5' n 007 24' w is unlit",
      "Faroe islands"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 132,
    "heading": "2026-04-02 07:18:42 AREA: P",
    "published_at": "2026-04-02 07:18:42",
    "area": "P",
    "message_id": "PB26",
    "text": "ZCZC PB26\n020408 UTC APR 26\nGALEWARNING, 02 APR 04:03 UTC.\nDOGGER. G_RMAN BIGHT. HUMBER. THAMES. DOVER.\nNO WARNING.\n\nEND OF GALEWARNING\n\nNNNN",
    "clean_text": "ZCZC PB26\n020408 UTC APR 26\nGALEWARNING, 02 APR 04:03 UTC.\nDOGGER. G_RMAN BIGHT. HUMBER. THAMES. DOVER.\nNO WARNING.\n\nEND OF GALEWARNING\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Galewarning, 02 apr 04:03 utc.",
    "decoded_highlights": [
      "Galewarning, 02 apr 04:03 utc",
      "Dogger. g rman bight. humber. thames. dover",
      "No warning"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 133,
    "heading": "2026-04-02 07:02:05 AREA: A",
    "published_at": "2026-04-02 07:02:05",
    "area": "A",
    "message_id": "AA17",
    "text": "ZCZC AA17\nAVUNNAV_BY__QQOX_Y\nUCANTABRICO\nORIFTI_G H_ZARDS_\n_. VESSEL A_RIT\n 11 METRE CATAMARAN_\n NO ONE ON BOARD\n 44-00.00N QPPAWR_AVUM_\nMMYCJHOU_ \nT_O__FF_ZO_FP_KPMFPSKZFZHFZJON\n_BMG!6=__59 312130 UTC MA_V26\n_ FROM 01100_ UTC APR 26 _59\n_  4(__.____/__HKWOB\nZ_KQOH_AYD_XCMGGOCM__=39=_9: 0(569._(___YMAO_D_\n_OM 0- +/\nUTC APR 26\n GUNHER_ EXERC_JJMLJM_Y_YL_KEK_EMZ\nH__PPW\n 44-50.00N 001-22.00W\n 44-41.00S _0(-22.0_W\n 44-41.00N 0_8-_100W\nJ_M NCEL THIS _SG GP__W__AZ_ZC AA0\nAVURNJV BREST_112__2\n_E_HZNT\nR_UTEING CHANGE\n1. RXCLUSSODCZONE\n C_LTIC INTERCONNEC_OR PRDJECT\n_ CAB_E OPERATION\n ANCHORING__8_8!, ADS_F_HN_V_KHF_FHFPJMHMWLZHDMM_V_W_KLU_Q_KDWA_KRQB_OKJN_-\n:-__0__7__! !(+_____9753.\n 7(_7_*_3_:_.9__48-52.92N VPPRARTMIQ_W\nPPRATWMEPW\n 4___*9___8.87N 005-HB _UO_MIBFKO_)9,___$14_:_48-58.93N 005-07.58W\n 48-59.25N 005-10.04W\n 49-00.19N 005-11.53W\n 49-00.93N 085-1_50W\n 49-01.45N 005-14.)_W\n 49-02.01N 005-16.80W\n 49-00.97N 005-17.38W\n 49-00.44N 0_5=6_+:_89___3+:__(_)9__9(._$:___48-59.47N 005-12.81W\n 48-58.18N 005-10.83W\n 48-57.83N 005-07.58W\n 48-57.82N 005-05.76W\n 48-57.72N _PPTAPTMWPW\n 48-56.00N 004-59.49W\n 48-53.98N 004-53.00W\n 48-51.95N 004-46.54W\n 48-50.10N 004-40.65W\n 48-47.23N 004-31.53W\n 48-45.35N 004-25.57W\n 48-44.83N ___YQ_59__9,._6!66_!0_._-22.51W\n 48-44.79N 004-19.75W\n 48-4_.__.7__/ :_U_\n 48-44.74N 004-13.13W\n 48-44.77N 004-11.01_ONM_YFYY_HZGM\n_PMTWW\n 48-44.26N 004-08.16W\n 48-4_.71N 004-07.47W\n _RI_RWMIQN _:3(1:)94(_/EHK4:_/GHK_XLRQH_Z\n_WOVGKB_AVURNAV BREST 64/26NNNN",
    "clean_text": "ZCZC AA17\nAVUNNAV_BY__QQOX_Y\nUCANTABRICO\nORIFTI_G H_ZARDS_\n_. VESSEL A_RIT\n11 METRE CATAMARAN_\nNO ONE ON BOARD\n44-00.00N QPPAWR_AVUM_\nMMYCJHOU_\nT_O__FF_ZO_FP_KPMFPSKZFZHFZJON\n_BMG!6=__59 312130 UTC MA_V26\n_ FROM 01100_ UTC APR 26 _59\n_ 4(__.____/__HKWOB\nZ_KQOH_AYD_XCMGGOCM__=39=_9: 0(569._(___YMAO_D_\n_OM 0- +/\nUTC APR 26\nGUNHER_ EXERC_JJMLJM_Y_YL_KEK_EMZ\nH__PPW\n44-50.00N 001-22.00W\n44-41.00S _0(-22.0_W\n44-41.00N 0_8-_100W\nJ_M NCEL THIS _SG GP__W__AZ_ZC AA0\nAVURNJV BREST_112__2\n_E_HZNT\nR_UTEING CHANGE\n1. RXCLUSSODCZONE\nC_LTIC INTERCONNEC_OR PRDJECT\n_ CAB_E OPERATION\nANCHORING__8_8!, ADS_F_HN_V_KHF_FHFPJMHMWLZHDMM_V_W_KLU_Q_KDWA_KRQB_OKJN_-\n:-__0__7__! !(+_____9753.\n7(_7_*_3_:_.9__48-52.92N VPPRARTMIQ_W\nPPRATWMEPW\n4___*9___8.87N 005-HB _UO_MIBFKO_)9,___$14_:_48-58.93N 005-07.58W\n48-59.25N 005-10.04W\n49-00.19N 005-11.53W\n49-00.93N 085-1_50W\n49-01.45N 005-14.)_W\n49-02.01N 005-16.80W\n49-00.97N 005-17.38W\n49-00.44N 0_5=6_+:_89___3+:__(_)9__9(._$:___48-59.47N 005-12.81W\n48-58.18N 005-10.83W\n48-57.83N 005-07.58W\n48-57.82N 005-05.76W\n48-57.72N _PPTAPTMWPW\n48-56.00N 004-59.49W\n48-53.98N 004-53.00W\n48-51.95N 004-46.54W\n48-50.10N 004-40.65W\n48-47.23N 004-31.53W\n48-45.35N 004-25.57W\n48-44.83N ___YQ_59__9,._6!66_!0_._-22.51W\n48-44.79N 004-19.75W\n48-4_.__.7__/ :_U_\n48-44.74N 004-13.13W\n48-44.77N 004-11.01_ONM_YFYY_HZGM\n_PMTWW\n48-44.26N 004-08.16W\n48-4_.71N 004-07.47W\n_RI_RWMIQN _:3(1:)94(_/EHK4:_/GHK_XLRQH_Z\n_WOVGKB_AVURNAV BREST 64/26NNNN",
    "display_region_heading": "Unresolved B1 code A",
    "display_region_label": "B1 code A",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code A. Readable text says: Anchoring 8 8!, ads f hn v khf fhfpjmhmwlzhdmm v w klu q kdwa krqb okjn -. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Anchoring 8 8!, ads f hn v khf fhfpjmhmwlzhdmm v w klu q kdwa krqb okjn -",
      "Ucantabrico",
      "11 metre catamaran"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 134,
    "heading": "2026-04-02 07:01:14 AREA: A",
    "published_at": "2026-04-02 07:01:14",
    "area": "A",
    "message_id": "",
    "text": "ZCZC A_19\n_VR_MNG_\nA\nL U TEO_GM9_+3,_- _UZENN _BXEAKBBUE_AF\nAASZCZC",
    "clean_text": "ZCZC A_19\n_VR_MNG_\nA\nL U TEO_GM9_+3,_- _UZENN _BXEAKBBUE_AF\nAASZCZC",
    "display_region_heading": "Unresolved B1 code A",
    "display_region_label": "B1 code A",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code A. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 135,
    "heading": "2026-04-02 07:01:13 AREA: T",
    "published_at": "2026-04-02 07:01:13",
    "area": "T",
    "message_id": "",
    "text": "Z_ZCZC",
    "clean_text": "Z_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 136,
    "heading": "2026-04-02 06:51:16 AREA: X",
    "published_at": "2026-04-02 06:51:16",
    "area": "X",
    "message_id": "XA37",
    "text": "ZCZC XA37\n020350 UTC APR -69,_6\n_6:_57_7__ 9,__'+*9,_06_._:'_9_+_-1_ =8:8,8583'.- ORINQUE MINES ANCHORED 14 METRES DEEP FROM 010001UTC APR 26 TO 302359UTC SEP 26__!.._/6_(__!_3.___.__.+.62!+:*._0_0602.!._0:,(_()9,_.:._:/_:_9,,((((((((((((((((9_0-_:-,:3_ 5_:' .'_ 0304_0 \n C APR_26NNNN",
    "clean_text": "ZCZC XA37\n020350 UTC APR -69,_6\n_6:_57_7__ 9,__'+*9,_06_._:'_9_+_-1_ =8:8,8583'.- ORINQUE MINES ANCHORED 14 METRES DEEP FROM 010001UTC APR 26 TO 302359UTC SEP 26__!.._/6_(__!_3.___.__.+.62!+:*._0_0602.!._0:,(_()9,_.:._:/_:_9,,((((((((((((((((9_0-_:-,:3_ 5_:' .'_ 0304_0\nC APR_26NNNN",
    "display_region_heading": "Unresolved B1 code X",
    "display_region_label": "B1 code X",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code X. Readable text says: 6: 57 7 9, ' 9, 06 . :' 9 -1 8:8,8583'.- orinque mines anchored 14 metres deep from 010001utc apr 26 to 302359utc sep 26 !.. /6 ( ! 3. . . .62! : . 0 0602.!. 0:,( ()9, .:. :/ : 9,,((((((((((((((((9 0- :-,:3 5 :' .' 0304 0. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "6: 57 7 9, ' 9, 06 . :' 9 -1 8:8,8583'.- orinque mines anchored 14 metres deep from 010001utc apr 26 to 302359utc sep 26 !.. /6 ( ! 3. . . .62! : . 0 0602.!. 0:,( ()9, .:. :/ : 9,,((((((((((((((((9 0- :-,:3 5 :' .' 0304 0",
      "C apr 26nnnn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 137,
    "heading": "2026-04-02 06:50:09 AREA: X",
    "published_at": "2026-04-02 06:50:09",
    "area": "X",
    "message_id": "XA76",
    "text": "ZCZC XA76\n020350 UTC APR 26\nNR-0891/2026\nVALENCIA\nCULLERA - SAGUNTO\nDREDGING WORKS IN CULLERA AND DISCHARGE OPERATIONS IN SAGUNTO CARRIED OUT BY VES_ESMLZ_MYF_GY__NHGLH_\nDREDGYM_VF_A LIMITEDVBUVSZJFHFZW_S_GGKHCZ 000-07.14W\n39-16.69N 000-08.22W\n39-16.91N 000-69_\n___9,9,2602_02.__06!'.2:_-, 3,5NM N OF SAGUNTO PORT,  IN VICINITIES OF 39-42.0N 000-10W\nNNNN",
    "clean_text": "ZCZC XA76\n020350 UTC APR 26\nNR-0891/2026\nVALENCIA\nCULLERA - SAGUNTO\nDREDGING WORKS IN CULLERA AND DISCHARGE OPERATIONS IN SAGUNTO CARRIED OUT BY VES_ESMLZ_MYF_GY__NHGLH_\nDREDGYM_VF_A LIMITEDVBUVSZJFHFZW_S_GGKHCZ 000-07.14W\n39-16.69N 000-08.22W\n39-16.91N 000-69_\n___9,9,2602_02.__06!'.2:_-, 3,5NM N OF SAGUNTO PORT, IN VICINITIES OF 39-42.0N 000-10W\nNNNN",
    "display_region_heading": "Unresolved B1 code X",
    "display_region_label": "B1 code X",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code X. Readable text says: 9,9,2602 02. 06!'.2: -, 3,5nm n of sagunto port, in vicinities of 39-42.0n 000-10w. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "9,9,2602 02. 06!'.2: -, 3,5nm n of sagunto port, in vicinities of 39-42.0n 000-10w",
      "Dredging works in cullera and discharge operations in sagunto carried out by ves esmlz myf gy nhglh",
      "Dredgym vf a limitedvbuvszjfhfzw s ggkhcz 000-07.14w"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 138,
    "heading": "2026-04-02 06:48:28 AREA: W",
    "published_at": "2026-04-02 06:48:28",
    "area": "W",
    "message_id": "WA28",
    "text": "ZCZC WA28\nAVURNAV TOULON 212/26\nPROVENCE - ESPIGUETTE\nAIDS TO NAVIGATION CHANGES\n1. LIGHT RANGE REDUCED\n L'ESPIGUETTE LIGHT IN POSITION : \n 43-29.26N 004-08.51E\n (CHART FR7008)\n LIGHT BOOK L1 : 52720\n FL(3)15S 24M\n RANGE REDUCED TO 11 MILES\n NAVIGATE _N\n_M_CHFZON\n_CANCEL THFJMBJ_\n_ _UUMG_HXM_E_\nU_ONNKKKKKKKKKKKKKKKP__\nGRFZCZC",
    "clean_text": "ZCZC WA28\nAVURNAV TOULON 212/26\nPROVENCE - ESPIGUETTE\nAIDS TO NAVIGATION CHANGES\n1. LIGHT RANGE REDUCED\nL'ESPIGUETTE LIGHT IN POSITION :\n43-29.26N 004-08.51E\n(CHART FR7008)\nLIGHT BOOK L1 : 52720\nFL(3)15S 24M\nRANGE REDUCED TO 11 MILES\nNAVIGATE _N\n_M_CHFZON\n_CANCEL THFJMBJ_\n_ _UUMG_HXM_E_\nU_ONNKKKKKKKKKKKKKKKP__\nGRFZCZC",
    "resolved_station_name": "CROSS La Garde",
    "resolved_country": "France",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Provence, Ligurian Sea and western Mediterranean",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV TOULON"
    ],
    "display_region_heading": "France - Provence, Ligurian Sea and western Mediterranean",
    "display_region_label": "CROSS La Garde, France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for France - Provence, Ligurian Sea and western Mediterranean. Readable text says: 1. light range reduced. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. light range reduced",
      "L'espiguette light in position",
      "Light book l1 : 52720"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 139,
    "heading": "2026-04-02 06:44:54 AREA: W",
    "published_at": "2026-04-02 06:44:54",
    "area": "W",
    "message_id": "WA31",
    "text": "ZCZC WA31\nAVURNAV TOULON 215/26\nLIGURE\nSPECIAL OPERATIONS\n1. SCIENTIFIC SURVEY\n JGO_OPPPP UTC APR 26 TO 122359 UTC APR 26\n BY MV TETHYS II IN FOLLOWING AERAS.\n AG_A\nQW_VBBZOWPWMLEM_XONMYPUC_G_PYATTMPE/43-20.0N 006-55.0E\n 43-36.3N 007-28.0_43-43.2N 007-24.4E\n COASTLINE\n \n AREA 24 BOUNDED BY :\n 43-20.0N 006-55.0E/43-24.0N 007-03.0E\n *3-11.7N 007-14.8E/43-05.2N 007-02.0E\n 43-06.0N 006-55.0E\n \n AREA 25 BOUNDED BY :\n 43-24.0N 007-03.0E/43-11.7N 007-14.8E\n 43-17.6N 007-26.6E/43-30.0N 007-15_7_09,.9,.60.\n__97,$3$ _6 :\n 43-35.5N 007-26.4E/43-29.5N 007-31.6E \n 43-31.2N 007-3_9+_=2___70_0__.\n_39.3E \n _YP C_UG_PUAWYMYE/43-29.3N 007-15.1E\n \n AREA 27 BOUNDED BY :\n 43-05.2N 007-02.0E/43-01.9N 007-30.4E\n 43-05.6N 007-37.8E/43-17.6N 007-26.6E\nMONMYPM_BOUNDED BY :\n 43-24.0N 007-3__+_0__+6=Z_CG_ARTMUE\n 43-05.6N 007-37.8E/43-17.6N 007-26.6E\nNMONMYPM_BOUNDED BY :\n 43-09.7N 007-45.7E/43-00.6N 007-49.7E\n 42-57.9N 007-44.5E/43-00.0N 007-43.0E\n 43-01.8N 007-30.5E\n \n AREA ENSEIGNEMENT BOUNDED BY :\n 43-45.0N 007-31.3E/43-39.3N 007-36.0E \n 43-35.0N 007-37.3E/43-34.0M 007-34.3E  \n 43-31.3N 007-35.4E/43-29.3N 007-3(_0_0.9,._600__0__.\n_26.3E/43-36.2N 007-28.0E\n 43-42.2N 007-25.0E\n WIDE BERTH REQUESTED\n2. CANCEL THIS MSG 130059 UTC APR 26NNNN",
    "clean_text": "ZCZC WA31\nAVURNAV TOULON 215/26\nLIGURE\nSPECIAL OPERATIONS\n1. SCIENTIFIC SURVEY\nJGO_OPPPP UTC APR 26 TO 122359 UTC APR 26\nBY MV TETHYS II IN FOLLOWING AERAS.\nAG_A\nQW_VBBZOWPWMLEM_XONMYPUC_G_PYATTMPE/43-20.0N 006-55.0E\n43-36.3N 007-28.0_43-43.2N 007-24.4E\nCOASTLINE\n\nAREA 24 BOUNDED BY :\n43-20.0N 006-55.0E/43-24.0N 007-03.0E\n*3-11.7N 007-14.8E/43-05.2N 007-02.0E\n43-06.0N 006-55.0E\n\nAREA 25 BOUNDED BY :\n43-24.0N 007-03.0E/43-11.7N 007-14.8E\n43-17.6N 007-26.6E/43-30.0N 007-15_7_09,.9,.60.\n__97,$3$ _6 :\n43-35.5N 007-26.4E/43-29.5N 007-31.6E\n43-31.2N 007-3_9+_=2___70_0__.\n_39.3E\n_YP C_UG_PUAWYMYE/43-29.3N 007-15.1E\n\nAREA 27 BOUNDED BY :\n43-05.2N 007-02.0E/43-01.9N 007-30.4E\n43-05.6N 007-37.8E/43-17.6N 007-26.6E\nMONMYPM_BOUNDED BY :\n43-24.0N 007-3__+_0__+6=Z_CG_ARTMUE\n43-05.6N 007-37.8E/43-17.6N 007-26.6E\nNMONMYPM_BOUNDED BY :\n43-09.7N 007-45.7E/43-00.6N 007-49.7E\n42-57.9N 007-44.5E/43-00.0N 007-43.0E\n43-01.8N 007-30.5E\n\nAREA ENSEIGNEMENT BOUNDED BY :\n43-45.0N 007-31.3E/43-39.3N 007-36.0E\n43-35.0N 007-37.3E/43-34.0M 007-34.3E\n43-31.3N 007-35.4E/43-29.3N 007-3(_0_0.9,._600__0__.\n_26.3E/43-36.2N 007-28.0E\n43-42.2N 007-25.0E\nWIDE BERTH REQUESTED\n2. CANCEL THIS MSG 130059 UTC APR 26NNNN",
    "resolved_station_name": "CROSS La Garde",
    "resolved_country": "France",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Provence, Ligurian Sea and western Mediterranean",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV TOULON"
    ],
    "display_region_heading": "France - Provence, Ligurian Sea and western Mediterranean",
    "display_region_label": "CROSS La Garde, France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for France - Provence, Ligurian Sea and western Mediterranean. Readable text points to a scientific survey area near 43-20.0N 006-55.0E; 43-24.0N 007-03.0E and requests a wide berth. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Qw vbbzowpwmlem xonmypuc g pyattmpe/43-20.0n 006-55.0e",
      "1. scientific survey",
      "Yp c ug puawymye/43-29.3n 007-15.1e"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 140,
    "heading": "2026-04-02 06:42:14 AREA: W",
    "published_at": "2026-04-02 06:42:14",
    "area": "W",
    "message_id": "WA32",
    "text": "ZCZC WA32\nAVURNAV TOULON 216/26\nLIGYPO J__MAL OPERATIONS\n_QMM_J_FPHFVF_\nQMEB_FROM 060000 UTC APR 26 TO 082359 UTC APR 26\n BY MV TETHYS II IN FOLLOWING AERASL_ONMGYPM_BOUNDED BY :9_-27.0N  006-55.0E/43-20.0N  __E_E\n 43-36.3N_VAWIAWIMPE/43-43.2N  007-24.4E\n COASTLINE\n \n AREA 25 BOUNDED BY :\n 43-24.0N 007-03.0E/43-11.7N 007-14.8E\n 43-17.6N 007-26.6E/43-30.0N 00_ __7_0_,.9,.60._(1___202.)3._/9,.600_____.\n_26.4E/43-29.5N 007-31.6E \n 43-31.2N 00:___+___-23.0__.\n_39.3E \n 43-17.2N 007-26.6E/43-29.3N 007-15.1E\n \n AREA 28 BOUNDED BY :\n 43-24.0N 007-39.3E/43-09.7N 007-45.7E\n 43-05.6N 00_73E/43-17.6N 007-26.6E\n \n AREA ENSEIGNEMENT BOUNDED BY :\n 437+_____\n_31.50E/43-32.00N 007-36.20E\n 43-34.00N 007-34.50E/43-35.00N 007-37.50E\n 43-39.50N 007-36.00E/43-4\n.00N 007-31.50E\n 43-42.50N 007-25.00E/43-36.50N 007-28.00E\n 43-35.50N 007-26.50EO M_VGXDY_M6_.___*9_90_!20.)06_$.0_:0*_029,\n_9__/_0'=__8' .'_ 090059 UTC APR 26NNNN",
    "clean_text": "ZCZC WA32\nAVURNAV TOULON 216/26\nLIGYPO J__MAL OPERATIONS\n_QMM_J_FPHFVF_\nQMEB_FROM 060000 UTC APR 26 TO 082359 UTC APR 26\nBY MV TETHYS II IN FOLLOWING AERASL_ONMGYPM_BOUNDED BY :9_-27.0N 006-55.0E/43-20.0N __E_E\n43-36.3N_VAWIAWIMPE/43-43.2N 007-24.4E\nCOASTLINE\n\nAREA 25 BOUNDED BY :\n43-24.0N 007-03.0E/43-11.7N 007-14.8E\n43-17.6N 007-26.6E/43-30.0N 00_ __7_0_,.9,.60._(1___202.)3._/9,.600_____.\n_26.4E/43-29.5N 007-31.6E\n43-31.2N 00:___+___-23.0__.\n_39.3E\n43-17.2N 007-26.6E/43-29.3N 007-15.1E\n\nAREA 28 BOUNDED BY :\n43-24.0N 007-39.3E/43-09.7N 007-45.7E\n43-05.6N 00_73E/43-17.6N 007-26.6E\n\nAREA ENSEIGNEMENT BOUNDED BY :\n437+_____\n_31.50E/43-32.00N 007-36.20E\n43-34.00N 007-34.50E/43-35.00N 007-37.50E\n43-39.50N 007-36.00E/43-4\n.00N 007-31.50E\n43-42.50N 007-25.00E/43-36.50N 007-28.00E\n43-35.50N 007-26.50EO M_VGXDY_M6_.___*9_90_!20.)06_$.0_:0*_029,\n_9__/_0'=__8' .'_ 090059 UTC APR 26NNNN",
    "resolved_station_name": "CROSS La Garde",
    "resolved_country": "France",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Provence, Ligurian Sea and western Mediterranean",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV TOULON"
    ],
    "display_region_heading": "France - Provence, Ligurian Sea and western Mediterranean",
    "display_region_label": "CROSS La Garde, France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for France - Provence, Ligurian Sea and western Mediterranean. Readable text says: 43-36.3n vawiawimpe/43-43.2n 007-24.4e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "43-36.3n vawiawimpe/43-43.2n 007-24.4e",
      "By mv tethys ii in following aerasl onmgypm bounded by :9 -27.0n 006-55.0e/43-20.0n e e",
      "Avurnav toulon 216/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 141,
    "heading": "2026-04-02 06:41:13 AREA: W",
    "published_at": "2026-04-02 06:41:13",
    "area": "W",
    "message_id": "WA33",
    "text": "ZCZC WA33\n_._:1+*_)_KO3_9__ECIAL OPERATIONS\n1. SCIENTIFIC SURVEY\n FROM 100000 UTC APR 26 TO 222359 UTC APR 26\n BY M/V EUROPE IN AERA BOUNDED BY :\n 43-15.00N 004-02.00E\n 43-15.00N 004-40.00E\n 42-48.00N 004-40.00E\n 42-48.00N 004-02.00E\n (CHART FR7008)\n WIDPMLPYHDBRXXP_UZB__UZ_CEL THIS MSG 230059 UTC APR _,,,\n\nZCZC",
    "clean_text": "ZCZC WA33\n_._:1+*_)_KO3_9__ECIAL OPERATIONS\n1. SCIENTIFIC SURVEY\nFROM 100000 UTC APR 26 TO 222359 UTC APR 26\nBY M/V EUROPE IN AERA BOUNDED BY :\n43-15.00N 004-02.00E\n43-15.00N 004-40.00E\n42-48.00N 004-40.00E\n42-48.00N 004-02.00E\n(CHART FR7008)\nWIDPMLPYHDBRXXP_UZB__UZ_CEL THIS MSG 230059 UTC APR _,,,\n\nZCZC",
    "display_region_heading": "Unresolved B1 code W",
    "display_region_label": "B1 code W",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code W. Readable text points to a scientific survey area near 43-15.00N 004-02.00E; 43-15.00N 004-40.00E and requests a wide berth. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. scientific survey",
      "By m/v europe in aera bounded by"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 142,
    "heading": "2026-04-02 06:40:09 AREA: W",
    "published_at": "2026-04-02 06:40:09",
    "area": "W",
    "message_id": "WA30",
    "text": "ZCZC WA30\n,__:6__._+:'+.\n_ _57_9___6+__/09_*P_FSMZ_PYHFZJON\n_FIRING EXERCISE\nV_AZ_ 021315 UTC APR 26 TO 021429 UTC APR 26\n FROM 022015 UTC APR 26 TO 0221_'_: -04 26\n AREA 31-40 BOUNDED BY :\n 43-02.40N 005-38.00E/42-40.00N 005-38.00E\n 42-40.00N 005-10.00E/42-46.00N 005-10.00E\n (CHART FR7507)\n HAZARDOUS HZMO_($-__KOH_KTJO_W0_)149,_((:439/_04 26NNNN",
    "clean_text": "ZCZC WA30\n,__:6__._+:'+.\n_ _57_9___6+__/09_*P_FSMZ_PYHFZJON\n_FIRING EXERCISE\nV_AZ_ 021315 UTC APR 26 TO 021429 UTC APR 26\nFROM 022015 UTC APR 26 TO 0221_'_: -04 26\nAREA 31-40 BOUNDED BY :\n43-02.40N 005-38.00E/42-40.00N 005-38.00E\n42-40.00N 005-10.00E/42-46.00N 005-10.00E\n(CHART FR7507)\nHAZARDOUS HZMO_($-__KOH_KTJO_W0_)149,_((:439/_04 26NNNN",
    "display_region_heading": "Unresolved B1 code W",
    "display_region_label": "B1 code W",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code W. Readable text says: Hazardous hzmo ($- koh ktjo w0 )149, ((:439/ 04 26nnnn. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Hazardous hzmo ($- koh ktjo w0 )149, ((:439/ 04 26nnnn",
      "Firing exercise",
      "Area 31-40 bounded by"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 145,
    "heading": "2026-04-02 06:30:20 AREA: T",
    "published_at": "2026-04-02 06:30:20",
    "area": "T",
    "message_id": "",
    "text": "ZCZ_MV_X___OBNN_MXBSMPZ_IN___!)335 '-,$' 28,$ !-4.. \n1._6886888(\nOCN19_.(_N 0__4-58=3__.\n_CANC-0\n._3573.=_\n__!!_+_)_+2_+!!!_ZCZC",
    "clean_text": "ZCZ_MV_X___OBNN_MXBSMPZ_IN___!)335 '-,$' 28,$ !-4..\n1._6886888(\nOCN19_.(_N 0__4-58=3__.\n_CANC-0\n._3573.=_\n__!!_+_)_+2_+!!!_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 148,
    "heading": "2026-04-02 06:17:18 AREA: T",
    "published_at": "2026-04-02 06:17:18",
    "area": "T",
    "message_id": "TA79",
    "text": "ZCZC TA79\n270420_UH_MJP_MMONGZZ_HPWPYWFZM_JFM_PH__WMFMHWB_____1_+-_1-20,05N 003-03,75E\nSHIPPING_STED NOT TO ANCHOR \nNOR TO _FISH IN THE VICINITY\nNGONNIII__ZCZC",
    "clean_text": "ZCZC TA79\n270420_UH_MJP_MMONGZZ_HPWPYWFZM_JFM_PH__WMFMHWB_____1_+-_1-20,05N 003-03,75E\nSHIPPING_STED NOT TO ANCHOR\nNOR TO _FISH IN THE VICINITY\nNGONNIII__ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code T. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Nor to fish in the vicinity",
      "Shipping sted not to anchor"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 156,
    "heading": "2026-04-02 06:11:03 AREA: T",
    "published_at": "2026-04-02 06:11:03",
    "area": "T",
    "message_id": "TA22",
    "text": "ZCZC TA22\n_+*_02062!+_143/26\nTSS-OFF NOORDHINDER  \nSPECIAL PURPOSE BUOY OWFB, W. FL 5S, \n51-40.23N 002-48.34E ESTABLISHED \nCAXPSMHDFJM_PJ_P_XM __Y _I_TC APR 26\nNNNN",
    "clean_text": "ZCZC TA22\n_+*_02062!+_143/26\nTSS-OFF NOORDHINDER\nSPECIAL PURPOSE BUOY OWFB, W. FL 5S,\n51-40.23N 002-48.34E ESTABLISHED\nCAXPSMHDFJM_PJ_P_XM __Y _I_TC APR 26\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "NOORDHINDER"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: 51-40.23n 002-48.34e established. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "51-40.23n 002-48.34e established",
      "Special purpose buoy owfb, w. fl 5s",
      "Tss-off noordhinder"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 158,
    "heading": "2026-04-02 06:03:55 AREA: S",
    "published_at": "2026-04-02 06:03:55",
    "area": "S",
    "message_id": "SE59",
    "text": "ZCZC SE59\n020300 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIG_T\n\nTHURSDAY:\nWIND: SOUTHWEST ABOUT 4, SHIFTING TO NORTHWESTERLY DIRECTIONS, FOR A\nTIME INCREASING 5 TO 6.\nVISIBILITY/WEATHER: AT TIMES RAIN _ POOR VISIBILITY.\nSEA: NORTHERN PART AT TIMES 2,5 METER.\n\nFRIDAY:\nWIND: WEST TO NORTHWEST ABOUT 4, FAST SHIFTING TO SOUTHWESTERLY\nDIRECT_ONS, _OR A TIME INCREASING ABOUT 6.\nVISIBILITY/WEATHER: AT TI_RAIN WITH POOR VISIBILITY.\nSEA: FOR A TIME 3 METE_\nNNNN",
    "clean_text": "ZCZC SE59\n020300 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIG_T\n\nTHURSDAY:\nWIND: SOUTHWEST ABOUT 4, SHIFTING TO NORTHWESTERLY DIRECTIONS, FOR A\nTIME INCREASING 5 TO 6.\nVISIBILITY/WEATHER: AT TIMES RAIN _ POOR VISIBILITY.\nSEA: NORTHERN PART AT TIMES 2,5 METER.\n\nFRIDAY:\nWIND: WEST TO NORTHWEST ABOUT 4, FAST SHIFTING TO SOUTHWESTERLY\nDIRECT_ONS, _OR A TIME INCREASING ABOUT 6.\nVISIBILITY/WEATHER: AT TI_RAIN WITH POOR VISIBILITY.\nSEA: FOR A TIME 3 METE_\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NAVTEX HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Germany - German Bight and German North Sea. Readable text says: Visibility/weather: at times rain poor visibility.",
    "decoded_highlights": [
      "Visibility/weather: at times rain poor visibility",
      "Visibility/weather: at ti rain with poor visibility",
      "Weatherforecast for german big t"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 160,
    "heading": "2026-04-02 06:02:25 AREA: S",
    "published_at": "2026-04-02 06:02:25",
    "area": "S",
    "message_id": "SA42",
    "text": "ZCZC SA42\nNCC-HAMBURG\n110800 UHXM_Y_\n_NAV. WARN. NO. 139\nGERMAN BIGHT. WEISSE BANK.\nSURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR3',\nAROUND POSITION 54-46,5N 006-09,1E\nRESHYF_HP_M__PB_KS*__1_7/3_39__KD_)1_+_!!_345_ 9! 2 NM REQUESTED.\nNNNN",
    "clean_text": "ZCZC SA42\nNCC-HAMBURG\n110800 UHXM_Y_\n_NAV. WARN. NO. 139\nGERMAN BIGHT. WEISSE BANK.\nSURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR3',\nAROUND POSITION 54-46,5N 006-09,1E\nRESHYF_HP_M__PB_KS*__1_7/3_39__KD_)1_+_!!_345_ 9! 2 NM REQUESTED.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NCC HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text reports survey operations near 54-46.5N 006-09.1E and implies local caution around the work area. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Survey operations by mv 'fugro synergy', cs 'c6xr3'",
      "Around position 54-46,5n 006-09,1e",
      "German bight. weisse bank"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 164,
    "heading": "2026-04-02 05:54:50 AREA: G",
    "published_at": "2026-04-02 05:54:50",
    "area": "G",
    "message_id": "GB30",
    "text": "ZCZC GB30\nGB30\nGALE WARNING THURSDAY 02 APRIL 0247 UTC\n\nFORTIES\nGALE NOW CEASED\n\nIMMINENT: EXPECTED WITHIN SIX HOURS OF TIME OF ISSUE\nSOON: EXPECTED WITHIN SIX TO 12 HOURS OF TIME OF ISSUE\nLATER: EXPECTED MORE THAN 12 HOURS FROM TIME OF ISSUPONGONNIKKKKKKKKKKKKKKK_NYZCZC",
    "clean_text": "ZCZC GB30\nGB30\nGALE WARNING THURSDAY 02 APRIL 0247 UTC\n\nFORTIES\nGALE NOW CEASED\n\nIMMINENT: EXPECTED WITHIN SIX HOURS OF TIME OF ISSUE\nSOON: EXPECTED WITHIN SIX TO 12 HOURS OF TIME OF ISSUE\nLATER: EXPECTED MORE THAN 12 HOURS FROM TIME OF ISSUPONGONNIKKKKKKKKKKKKKKK_NYZCZC",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code G. Readable text says: Gale warning thursday 02 april 0247 utc.",
    "decoded_highlights": [
      "Gale warning thursday 02 april 0247 utc",
      "Gale now ceased",
      "Imminent: expected within six hours of time of issue"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 165,
    "heading": "2026-04-02 05:41:07 AREA: Q",
    "published_at": "2026-04-02 05:41:07",
    "area": "Q",
    "message_id": "QE77",
    "text": "ZCZC QE77\n\n020240 UTC APR 26\nSPLIT RADIO\n\nWEA_HER BULLETIN FOR ADRIATIC ISSUED BY THE MARINE METEOROLOGICAL CENHVMVJFSFHMZM\nUOTUUEV_UTC\n\n1. WARNING:\nSCT GUSTS OF NE WIND 35-75 KT_NIN VELEBITSKI KANAL UP TO 95 KT. \nSEA LOC 5.\nLOC POSS SUDDEN STORMS MOSTLY OFFSHORE OF MPHYS_-ERN ADRIATIC.\n\n2. SYNOPSIS:\nRIDGE OF HIGH INTSF FM N, DEEP LO_MJ_F_HFM_BMHEYYDPFMHZ_YWJMFZFMJP_OR THE NEXT 2 CYJCYJM_SFWMCHFSM_PTYTUUEMGHM\n_MG_H_ONBNZ_YMWYFHFX\nNE WIND 18-36 KT, ON S-ERN PART OF AREA LOC UP TO 42 KT, IN VELEBITSKI KANAL UP TO 52 KT,\nTOWARDS THE END OF THE DAY/OVERNIGHT ON N-ERN PART OF AREA DECR 12-22 KT.\nSEA 3-4, OFFSHORE/VELEBITSKI KANAL 4-5.\nVIS 10-20 KM.\nVRB CLOUDY, LOC POSS SLIGHT RAIN MOSTLY ON FAR S OF AREA.\n\nCENTRAL ADRIATIC:\nNE WIND 18-36 KT, STILL OVERNIGHT/MORNING LOC UP TO 42 KT, TOWARDS THE END OF THE DAY/OVERNIG__\n_PXY_BO_QKBKPIR_HORE 4-5.\nVIS 10-20 KM.\nVRB CLOUDY, LOC RAIN OR T-SHWRS MOSTLY OFFSHORE/S-ERN PART OF AREA.\n\nS-ERN ADYFHFX_NE 18-36 KT, TOWARDS THE END OF THE DAY/OVERNIGHT DECR.\nSEA 369!!'_943 4-5. \nVIS 10-20 KM. \nVRB CLOUDY,LOC RAIN OR T-SHWRS MOSTLY OFFSHORE.+NNNN",
    "clean_text": "ZCZC QE77\n\n020240 UTC APR 26\nSPLIT RADIO\n\nWEA_HER BULLETIN FOR ADRIATIC ISSUED BY THE MARINE METEOROLOGICAL CENHVMVJFSFHMZM\nUOTUUEV_UTC\n\n1. WARNING:\nSCT GUSTS OF NE WIND 35-75 KT_NIN VELEBITSKI KANAL UP TO 95 KT.\nSEA LOC 5.\nLOC POSS SUDDEN STORMS MOSTLY OFFSHORE OF MPHYS_-ERN ADRIATIC.\n\n2. SYNOPSIS:\nRIDGE OF HIGH INTSF FM N, DEEP LO_MJ_F_HFM_BMHEYYDPFMHZ_YWJMFZFMJP_OR THE NEXT 2 CYJCYJM_SFWMCHFSM_PTYTUUEMGHM\n_MG_H_ONBNZ_YMWYFHFX\nNE WIND 18-36 KT, ON S-ERN PART OF AREA LOC UP TO 42 KT, IN VELEBITSKI KANAL UP TO 52 KT,\nTOWARDS THE END OF THE DAY/OVERNIGHT ON N-ERN PART OF AREA DECR 12-22 KT.\nSEA 3-4, OFFSHORE/VELEBITSKI KANAL 4-5.\nVIS 10-20 KM.\nVRB CLOUDY, LOC POSS SLIGHT RAIN MOSTLY ON FAR S OF AREA.\n\nCENTRAL ADRIATIC:\nNE WIND 18-36 KT, STILL OVERNIGHT/MORNING LOC UP TO 42 KT, TOWARDS THE END OF THE DAY/OVERNIG__\n_PXY_BO_QKBKPIR_HORE 4-5.\nVIS 10-20 KM.\nVRB CLOUDY, LOC RAIN OR T-SHWRS MOSTLY OFFSHORE/S-ERN PART OF AREA.\n\nS-ERN ADYFHFX_NE 18-36 KT, TOWARDS THE END OF THE DAY/OVERNIGHT DECR.\nSEA 369!!'_943 4-5.\nVIS 10-20 KM.\nVRB CLOUDY,LOC RAIN OR T-SHWRS MOSTLY OFFSHORE.+NNNN",
    "resolved_station_name": "Split",
    "resolved_country": "Croatia",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "SPLIT RADIO"
    ],
    "display_region_heading": "Croatia - Adriatic Sea",
    "display_region_label": "Split, Croatia",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Croatia - Adriatic Sea. Readable text says: Vrb cloudy, loc poss slight rain mostly on far s of area.",
    "decoded_highlights": [
      "Vrb cloudy, loc poss slight rain mostly on far s of area",
      "Vrb cloudy, loc rain or t-shwrs mostly offshore/s-ern part of area",
      "Vrb cloudy,loc rain or t-shwrs mostly offshore. nnnn"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  }
]