[
  {
    "index": 1,
    "heading": "2026-04-03 23:45:06 AREA: E",
    "published_at": "2026-04-03 23:45:06",
    "area": "E",
    "message_id": "EA27",
    "text": "ZCZC EA27\n'085 _796 51-23.0N 003-10.8W_UNLI\n.\n\n \nCN_N\n__A_JUE______ZNZC EA2_\n__2+8182/26 \n_SNWEXLON_:,_/(_/)*__+_,-8_7_)\n_\n68_)6_,/__8*4_'\n==_/(_._ZCZC",
    "clean_text": "ZCZC EA27\n'085 _796 51-23.0N 003-10.8W_UNLI\n.\n\nCN_N\n__A_JUE______ZNZC EA2_\n__2+8182/26\n_SNWEXLON_:,_/(_/)*__+_,-8_7_)\n_\n68_)6_,/__8*4_'\n==_/(_._ZCZC",
    "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": 2,
    "heading": "2026-04-03 23:44:18 AREA: E",
    "published_at": "2026-04-03 23:44:18",
    "area": "E",
    "message_id": "EA46",
    "text": "ZCZC EA46\nWA__P_T_DS END SOUTHEASTWARDS. \nSOUTH CARDINAL BUOY 50-01.2N_'___85. \nNNNN",
    "clean_text": "ZCZC EA46\nWA__P_T_DS END SOUTHEASTWARDS.\nSOUTH CARDINAL BUOY 50-01.2N_'___85.\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 ' 85. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "South cardinal buoy 50-01.2n ' 85"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 3,
    "heading": "2026-04-03 23:43:49 AREA: T",
    "published_at": "2026-04-03 23:43:49",
    "area": "T",
    "message_id": "",
    "text": "ZCAC EA49\n272048Z MAR 2026 \nEA49 \nWZ 240/26 \nFASTNET. \nBLACK_A_THEASTWARDS. \nEASE CARDINAL BUOY 51-5_.3N 007-48.5W UNLIT. \n,,,\n\n_2ZCZC",
    "clean_text": "ZCAC EA49\n272048Z MAR 2026\nEA49\nWZ 240/26\nFASTNET.\nBLACK_A_THEASTWARDS.\nEASE CARDINAL BUOY 51-5_.3N 007-48.5W UNLIT.\n,,,\n\n_2ZCZC",
    "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: Ease cardinal buoy 51-5 .3n 007-48.5w unlit.",
    "decoded_highlights": [
      "Ease cardinal buoy 51-5 .3n 007-48.5w unlit",
      "Black a theastwards"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 4,
    "heading": "2026-04-03 23:40:13 AREA: E",
    "published_at": "2026-04-03 23:40:13",
    "area": "E",
    "message_id": "",
    "text": "ZCZC EE9_\nISSUED BY THE MET OFFICE AT 1900 ON FRI 03 APR\n\n\nGALE WARNINGS: FITZROY SOLE LUNDY FASTNET\n\nTHE GENERAL SITUA_FZM\nM_FWP_ONGSZUM_FYMFJSPM_ZFPMGP_ORWEGIAN SEA 980 BY MIDDAY TOMORROW. NEW LOW EXP ROCKALL 990 BY SAME TIME. HIGH 100 MILES W OF FITZROY 1028, SLOW-MOV, DISSIPATING\n\n24-HR FORECASTS\n\nTHAMEJO_G_MZYMJUM_HMGHZM_CMGWP_YM\nYMG_ZYMMHFBP_BII _SHMZYM_ZW\nM_Z_SMYZC_DMHM_FY_H_SHWRS THEN FAIR. MOD BECMG GOOD\n\nDOVER WIGHT\nSW 4 TO 6, OCNL _UMGHM_FY_H_ROUGH, BECMG SLT OR MOD. OCCASIONAL DRIZZLE. MOD OCNL PZZYONONG_ZYHIII_DONGUM_YMGHZM_BACK SW 5 TO 7, PERHAPS GALE 8 LTR. MOD OR ROUGH, BECMG VERY ROUGH LTR IN W PLYMOUTH. OCCASIONAL DRIZZLE. MOD OCNL POOR\n\nBISCAY\nW, BACK S, 4 TO 6, OCNLVLE_FMJ_OD OR ROUGH. FAIR. GOOD\n\nS FITZROY\nVRB 4, BECMG SW 3 TO 5. MOD OR ROUGH. FAIR. GOOD\n\nN FITZROY SOLE\nSW, VEER W LTR, 6 TO GALE 8, PERHAPS SEV GALE 9 LTR. ROUGRE_GQL_L_UGH, OCNL HIGH LTR. OCCASIONAL RAIN OR DRIZZLE. MOD OCNL POOR\n\nLUNDY FASTNET\nW 4 TO 6, BACK S 6 TO GALE 8, PERHAPS SEV GALE 9 LTR. IN IRISH SEA SLT OR MOD, BECMG ROUGH OR VERY ROUGH LTR, OTHERWISE ROUGH OR VERY ROUGH, OCNL HIGH LTR IN W FASTNET. SHWRS THEN RAIN. GOOD BECMG POOR\n\nOUTLOOK FLW 24 HOURS:\nGALES OR SEV GALES EXP IN ALL AREAS EXCEPT BISCAY WHERE STRG  EXP\nNNNN",
    "clean_text": "ZCZC EE9_\nISSUED BY THE MET OFFICE AT 1900 ON FRI 03 APR\n\nGALE WARNINGS: FITZROY SOLE LUNDY FASTNET\n\nTHE GENERAL SITUA_FZM\nM_FWP_ONGSZUM_FYMFJSPM_ZFPMGP_ORWEGIAN SEA 980 BY MIDDAY TOMORROW. NEW LOW EXP ROCKALL 990 BY SAME TIME. HIGH 100 MILES W OF FITZROY 1028, SLOW-MOV, DISSIPATING\n\n24-HR FORECASTS\n\nTHAMEJO_G_MZYMJUM_HMGHZM_CMGWP_YM\nYMG_ZYMMHFBP_BII _SHMZYM_ZW\nM_Z_SMYZC_DMHM_FY_H_SHWRS THEN FAIR. MOD BECMG GOOD\n\nDOVER WIGHT\nSW 4 TO 6, OCNL _UMGHM_FY_H_ROUGH, BECMG SLT OR MOD. OCCASIONAL DRIZZLE. MOD OCNL PZZYONONG_ZYHIII_DONGUM_YMGHZM_BACK SW 5 TO 7, PERHAPS GALE 8 LTR. MOD OR ROUGH, BECMG VERY ROUGH LTR IN W PLYMOUTH. OCCASIONAL DRIZZLE. MOD OCNL POOR\n\nBISCAY\nW, BACK S, 4 TO 6, OCNLVLE_FMJ_OD OR ROUGH. FAIR. GOOD\n\nS FITZROY\nVRB 4, BECMG SW 3 TO 5. MOD OR ROUGH. FAIR. GOOD\n\nN FITZROY SOLE\nSW, VEER W LTR, 6 TO GALE 8, PERHAPS SEV GALE 9 LTR. ROUGRE_GQL_L_UGH, OCNL HIGH LTR. OCCASIONAL RAIN OR DRIZZLE. MOD OCNL POOR\n\nLUNDY FASTNET\nW 4 TO 6, BACK S 6 TO GALE 8, PERHAPS SEV GALE 9 LTR. IN IRISH SEA SLT OR MOD, BECMG ROUGH OR VERY ROUGH LTR, OTHERWISE ROUGH OR VERY ROUGH, OCNL HIGH LTR IN W FASTNET. SHWRS THEN RAIN. GOOD BECMG POOR\n\nOUTLOOK FLW 24 HOURS:\nGALES OR SEV GALES EXP IN ALL AREAS EXCEPT BISCAY WHERE STRG EXP\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"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom - English Channel and western approaches. This is a weather bulletin; readable sections mention gales, ice, rain across the covered waters.",
    "decoded_highlights": [
      "Gale warnings: fitzroy sole lundy fastnet",
      "Sw 4 to 6, ocnl umghm fy h rough, becmg slt or mod. occasional drizzle. mod ocnl pzzyonong zyhiii dongum ymghzm back sw 5 to 7, perhaps gale 8 ltr. mod or rough, becmg very rough ltr in w plymouth. occasional drizzle. mod ocnl poor",
      "Sw, veer w ltr, 6 to gale 8, perhaps sev gale 9 ltr. rougre gql l ugh, ocnl high ltr. occasional rain or drizzle. mod ocnl poor"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 5,
    "heading": "2026-04-03 22:54:48 AREA: P",
    "published_at": "2026-04-03 22:54:48",
    "area": "P",
    "message_id": "PB32",
    "text": "ZCZC PB32\n031+6!._:__.YM\n_GALEWARNING, 03 APR 19:43 UTC.\nDOGGER. GERMAN BIGHT. HUMBER. THAMES. DOVER.\nWEST TO SOUTHWEST 7.\n\nEND OF GALEWARNING\n\nNNNN",
    "clean_text": "ZCZC PB32\n031+6!._:__.YM\n_GALEWARNING, 03 APR 19:43 UTC.\nDOGGER. GERMAN BIGHT. HUMBER. THAMES. DOVER.\nWEST TO SOUTHWEST 7.\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, 03 apr 19:43 utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Galewarning, 03 apr 19:43 utc",
      "Dogger. german bight. humber. thames. dover",
      "End of galewarning"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 8,
    "heading": "2026-04-03 22:18:55 AREA: T",
    "published_at": "2026-04-03 22:18:55",
    "area": "T",
    "message_id": "TA81",
    "text": "ZCZC TA81\n 07 _3__/3_EKU-__._:0__$01KKQ_I8(_0_)4=__!,(_$4 .3*:6!_ 09)3, 5170_0__9,_\n5_2__9,_'!+__60'!)'8+8888-)__7\n__ZCZ_MH_ZZ_N_ Y EH_B_X_\nOOSTENDERADIO MSI 02757 _5___:3_+\n__ 8' 43173___UWLW_SH NOR TO ANCHOYMFMHDPM\nF___9,,8_7\n_8\n(_:= __6\nOZWZJ_EO_KU_\n23-5_3$_'106*\n.________K___ZCZC",
    "clean_text": "ZCZC TA81\n07 _3__/3_EKU-__._:0__$01KKQ_I8(_0_)4=__!,(_$4 .3*:6!_ 09)3, 5170_0__9,_\n5_2__9,_'!+__60'!)'8+8888-)__7\n__ZCZ_MH_ZZ_N_ Y EH_B_X_\nOOSTENDERADIO MSI 02757 _5___:3_+\n__ 8' 43173___UWLW_SH NOR TO ANCHOYMFMHDPM\nF___9,,8_7\n_8\n(_:= __6\nOZWZJ_EO_KU_\n23-5_3$_'106*\n.________K___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. 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": 10,
    "heading": "2026-04-03 22:17:02 AREA: T",
    "published_at": "2026-04-03 22:17:02",
    "area": "T",
    "message_id": "TA04",
    "text": "ZCZC TA04\n+_/1__0_49__\n8_1__4_2_8:_0=:__9,//__:_9_9-'5-) 49753 - DE PANNE-OOSTENDE \nSPECIAL PURPOSE BUOY KYCN, Y. FL 5S, 51-09.88N _AREMPPE ESTABLISHED \n\nNNNN",
    "clean_text": "ZCZC TA04\n+_/1__0_49__\n8_1__4_2_8:_0=:__9,//__:_9_9-'5-) 49753 - DE PANNE-OOSTENDE\nSPECIAL PURPOSE BUOY KYCN, Y. FL 5S, 51-09.88N _AREMPPE ESTABLISHED\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"
    ],
    "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: Special purpose buoy kycn, y. fl 5s, 51-09.88n aremppe established. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Special purpose buoy kycn, y. fl 5s, 51-09.88n aremppe established"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 12,
    "heading": "2026-04-03 22:15:00 AREA: T",
    "published_at": "2026-04-03 22:15:00",
    "area": "T",
    "message_id": "",
    "text": "ZCZC TA13_'8 132/26\nVAARGEUL 1 \nLIGHTBUOY VG5, 51-24.7_N 002_8E DRIFTING \nSHIPPING IS REQUESTED TZM_P_ZYHMJF_DH__MOZDABAQ__BE_KPDEXKRU_B____C TA12\n261544 UTC __WY\nOO_DERADIO MSI 131/26\nTERRITORIAL SEAHYDROGRAPHICAL INSTRUMENT ESTABLISH_D IN _YNIQUE  UNMA_KE_\nSHIPPING _TED TO PASS AT _FEMWFJH_PMWMZHMHZ_ IN THE CH_ F_FKH_NN\n\n__U\n\nU__ZCZC",
    "clean_text": "ZCZC TA13_'8 132/26\nVAARGEUL 1\nLIGHTBUOY VG5, 51-24.7_N 002_8E DRIFTING\nSHIPPING IS REQUESTED TZM_P_ZYHMJF_DH__MOZDABAQ__BE_KPDEXKRU_B____C TA12\n261544 UTC __WY\nOO_DERADIO MSI 131/26\nTERRITORIAL SEAHYDROGRAPHICAL INSTRUMENT ESTABLISH_D IN _YNIQUE UNMA_KE_\nSHIPPING _TED TO PASS AT _FEMWFJH_PMWMZHMHZ_ IN THE CH_ F_FKH_NN\n\n__U\n\nU__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: Lightbuoy vg5, 51-24.7 n 002 8e drifting. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lightbuoy vg5, 51-24.7 n 002 8e drifting",
      "Territorial seahydrographical instrument establish d in ynique unma ke",
      "Vaargeul 1"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 14,
    "heading": "2026-04-03 22:13:54 AREA: T",
    "published_at": "2026-04-03 22:13:54",
    "area": "T",
    "message_id": "",
    "text": "ZCZC TA21_\n/_1_2$!206.9,_) 07_09'3 _796 92!-, W. FL 5S, \n51-41.69N 002-44.67E ESTABLISHED  \nCANCEL THIS MESSAGE: 15_011 UTC APR 26\nNNNN",
    "clean_text": "ZCZC TA21_\n/_1_2$!206.9,_) 07_09'3 _796 92!-, W. FL 5S,\n51-41.69N 002-44.67E ESTABLISHED\nCANCEL THIS MESSAGE: 15_011 UTC APR 26\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: 51-41.69n 002-44.67e established. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "51-41.69n 002-44.67e established",
      "Cancel this message: 15 011 utc apr 26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 15,
    "heading": "2026-04-03 22:12:35 AREA: C",
    "published_at": "2026-04-03 22:12:35",
    "area": "C",
    "message_id": "",
    "text": "ZCZC CTK_XG_____4 UTC APR\nOOSTENDERADIO MSI _QRRX6\nTSS_ASTHINDER\n _LIB_LOHON BDACO_ POS _ WRMEN 002 51.4E\nSHI_G IS X__CPJHIIIUNOT TO ANCHOR NOR TO FISH \nIN THE VICINITY\nNNNN",
    "clean_text": "ZCZC CTK_XG_____4 UTC APR\nOOSTENDERADIO MSI _QRRX6\nTSS_ASTHINDER\n_LIB_LOHON BDACO_ POS _ WRMEN 002 51.4E\nSHI_G IS X__CPJHIIIUNOT TO ANCHOR NOR TO FISH\nIN THE VICINITY\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-fallback",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shi g is x cpjhiiiunot to anchor nor to fish",
      "Oostenderadio msi qrrx6",
      "Tss asthinder"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 16,
    "heading": "2026-04-03 22:10:19 AREA: T",
    "published_at": "2026-04-03 22:10:19",
    "area": "T",
    "message_id": "TA27",
    "text": "ZCZC TA27\n031437 UTC APR\nOOSTENDERADIO MS_RUXWY EEZ\nOBJECT ON THE SEABP_QAWUMQYN 002-42.65E\nSHIPPING REQUESTE_T TO ANCHOR NZYMHZM_FJDMFMMYU/1__00 ME O\nE_QLLPII__BJECT.\nNNNN",
    "clean_text": "ZCZC TA27\n031437 UTC APR\nOOSTENDERADIO MS_RUXWY EEZ\nOBJECT ON THE SEABP_QAWUMQYN 002-42.65E\nSHIPPING REQUESTE_T TO ANCHOR NZYMHZM_FJDMFMMYU/1__00 ME O\nE_QLLPII__BJECT.\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: Shipping requeste t to anchor nzymhzm fjdmfmmyu/1 00 me o. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping requeste t to anchor nzymhzm fjdmfmmyu/1 00 me o",
      "Object on the seabp qawumqyn 002-42.65e",
      "Oostenderadio ms ruxwy eez"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 17,
    "heading": "2026-04-03 22:07:03 AREA: S",
    "published_at": "2026-04-03 22:07:03",
    "area": "S",
    "message_id": "SA34",
    "text": "ZCZC SA34\nNCC-HAMBURG\n0=!093*_:-+-___\nNAVLM WARN. NO. 129\nTSS GERMAN BIGHT WESTERN APPROACH\n'GW/LQQBJ32_,:_QP_BDRCX)9,_0::.,___4(*__1_4,__,8,_9,,((((((((((((((((((((((((((((((((((((7$,_ _!_4_NCE_A__E_CZCZC",
    "clean_text": "ZCZC SA34\nNCC-HAMBURG\n0=!093*_:-+-___\nNAVLM WARN. NO. 129\nTSS GERMAN BIGHT WESTERN APPROACH\n'GW/LQQBJ32_,:_QP_BDRCX)9,_0::.,___4(*__1_4,__,8,_9,,((((((((((((((((((((((((((((((((((((7$,_ _!_4_NCE_A__E_CZCZC",
    "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: Navlm warn. no. 129. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Navlm warn. no. 129",
      "Tss german bight western approach",
      "Ncc-hamburg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 19,
    "heading": "2026-04-03 22:05:50 AREA: S",
    "published_at": "2026-04-03 22:05:50",
    "area": "S",
    "message_id": "SA79",
    "text": "ZCZC SA79\nNCC-HAMBURG\n30080MG_HXM_Y_\n_NAV. WARN. NO. 187\nGERMAN BFPDH\n_O_VZFJ_HOPE WINDPARK 'NORDSEE OST'.\n5 SM LIGHTING INOPERATIVE ACROSS THE ENTIRE WIND FARM.\nNNNN",
    "clean_text": "ZCZC SA79\nNCC-HAMBURG\n30080MG_HXM_Y_\n_NAV. WARN. NO. 187\nGERMAN BFPDH\n_O_VZFJ_HOPE WINDPARK 'NORDSEE OST'.\n5 SM LIGHTING INOPERATIVE ACROSS THE ENTIRE WIND FARM.\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: 5 sm lighting inoperative across the entire wind farm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "5 sm lighting inoperative across the entire wind farm",
      "German bfpdh",
      "Nav. warn. no. 187"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 23,
    "heading": "2026-04-03 22:01:32 AREA: S",
    "published_at": "2026-04-03 22:01:32",
    "area": "S",
    "message_id": "SA85",
    "text": "ZCZC SA85\nNCC-HAMBURG\n020610 UTC __M\n_NAV. WARN_. 196\nGERMAN BIGHT. NORTHWESTERLY OWF 'BARD OFFSHORE 1'.\nUXO SURVEY BY\nMV 'OCEAN RESEARCHER', CS 'GDLS' AROUND POSITION\n54-23,3N 005-54,2E\nRESTRICTED MANO_C_Y_FJ_VO_I_7$\n_IKD_)1_+_!!_-!3 _345_ 9! 1 NM REQUESL_W_ONGON\n______AV.__2-4,. NO. 194\nGERMAN_BIGHT. WEISSE BANK.\nSURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR_PJONGYZC_SITION 54-47,3N 005-58,3E\nRESTRICTED MANOEVRABILITY DURING OPERATIONS,\nBERTH OF 2 NM _P_CPJHPW_ZCZC",
    "clean_text": "ZCZC SA85\nNCC-HAMBURG\n020610 UTC __M\n_NAV. WARN_. 196\nGERMAN BIGHT. NORTHWESTERLY OWF 'BARD OFFSHORE 1'.\nUXO SURVEY BY\nMV 'OCEAN RESEARCHER', CS 'GDLS' AROUND POSITION\n54-23,3N 005-54,2E\nRESTRICTED MANO_C_Y_FJ_VO_I_7$\n_IKD_)1_+_!!_-!3 _345_ 9! 1 NM REQUESL_W_ONGON\n______AV.__2-4,. NO. 194\nGERMAN_BIGHT. WEISSE BANK.\nSURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR_PJONGYZC_SITION 54-47,3N 005-58,3E\nRESTRICTED MANOEVRABILITY DURING OPERATIONS,\nBERTH OF 2 NM _P_CPJHPW_ZCZC",
    "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-23.3N 005-54.2E; 54-47.3N 005-58.3E and implies local caution around the work area. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Survey operations by mv 'fugro synergy', cs 'c6xr pjongyzc sition 54-47,3n 005-58,3e",
      "Uxo survey by",
      "Restricted mano c y fj vo i 7$"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 24,
    "heading": "2026-04-03 22:00:13 AREA: S",
    "published_at": "2026-04-03 22:00:13",
    "area": "S",
    "message_id": "SE69",
    "text": "ZCZC SE69\n031900 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nFRIDAYB_I_\n__\nHFUQPP\nWXTQF_\n_ALLY 7, _'_8!58,_ 23'5 59 ,945_23'5.\nVISIBILITY/WEAHDPY_IN OR SHOWER WITH PARTLY POOR VISIBILITY.\nSEA: 3 METER.\n\nSATURDAY:\nWIND: WESTERLY WINDS 6, L_ ILGF__WO _FOGJ_J_Q4_ROQ__-__SOUTH LATER.\nVISIBILITY/WEATHER: LOCALLY SHOWER WITH POOR VISIBILITY.\nSEA: 2,5 METER,=__0*_06._6_.'_06._0.__0__6_NNNN",
    "clean_text": "ZCZC SE69\n031900 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nFRIDAYB_I_\n__\nHFUQPP\nWXTQF_\n_ALLY 7, _'_8!58,_ 23'5 59 ,945_23'5.\nVISIBILITY/WEAHDPY_IN OR SHOWER WITH PARTLY POOR VISIBILITY.\nSEA: 3 METER.\n\nSATURDAY:\nWIND: WESTERLY WINDS 6, L_ ILGF__WO _FOGJ_J_Q4_ROQ__-__SOUTH LATER.\nVISIBILITY/WEATHER: LOCALLY SHOWER WITH POOR VISIBILITY.\nSEA: 2,5 METER,=__0*_06._6_.'_06._0.__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. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Visibility/weather: locally shower with poor visibility",
      "Visibility/weahdpy in or shower with partly poor visibility",
      "Wind: westerly winds 6, l ilgf wo fogj j q4 roq - south later"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 25,
    "heading": "2026-04-03 21:50:13 AREA: R",
    "published_at": "2026-04-03 21:50:13",
    "area": "R",
    "message_id": "RE88",
    "text": "ZCZC RE88\n031850 UTC APR 26\nLA MADZALENA RADIO\n\nWE_THER FORECAST O_R MEDITERRSEAN AREAS LSSUED BY _OLOGY CJNTRE AT 18/UTC OF _PEXPRX_PWY\nAND VALID UP TO 06/UTC OF 04/04/2026\n1. WARNINGS:_\n_\n,:10+__(_(7JB__UNDERSTO_MZ \n__UZLXF_Q_\nK_.\n_A_ES UNDER C_UIS: - NORT\nWZ_4)6 7 IOC\nHJ NORTH BALE NORTH B_Z_ER SO OVER WQKB\nQHLHE_N_Y__JQD_OAU_SGZPWSCYP_MZZH ZU\n _ER AEGEAN SEA ISNSLOWLY MOV_NG\nEASTUXGZ__J_ASH_RLYWM INSTABILITY AREA OVER LGVAMC OF _VRXPRX_PWY AND VQIMGDZCYJMZCPHBZVWF\nLIGURIAN SEA: WESTERL_GHT SUL\nSOUTH SECTMI  _OUTLOHK: VARIABL=+_7)___466$!_*04.\n_ENTRAL TYRRHENI_ALIGHT SJA WKAKB__\n_U_ZL_DW_D /_OUTLOOK_.*!2\n99$ =8_8_8)856\n-MODERAJHMJFWQPFVKOOOTHW SO_K_T_P__J_RS\nCOASTWARD -GOOD LOCALLY MODERATE VISIBILILW INGGEASING -FLIGHT SDA\nLJV_X\nU_XM\nFU__\nBHEASTERLY 3 -FEW CLOUDS9\n__.__'_\n)8_748-, '3-: SOUTHWESTERLY 3 A__ KWXSOUTHWESTTRLY 4 SEA\n2__OT_SOUTHWESTERLY 4 S+45_34, 5644_3,8-, '3-: NORTHERLS _EMGJPM\n_ 3 SEA 2/'_-__34)6 2 SEA 2.\nCENTHAL TYRRHPWFP_M_JHMJFWP_FN_MOEOHERL_ 3 S_ACHDPYSEM__MT_ _\nKCQ_KE_PBCBHPECONX__OHW_ 4 _'3- 2/NORTHE_LY 4 SEA\n3/SOUTHWESTERLY 1 SEA 2/EASTERLY 1 SEA 2.\nSOUTHERN TYRRS_NIAN WJST SIDEP_\n_DR__WESTERLY__ZSOUTN_NN\nT_RIZENI_N EAST NIETZCZC",
    "clean_text": "ZCZC RE88\n031850 UTC APR 26\nLA MADZALENA RADIO\n\nWE_THER FORECAST O_R MEDITERRSEAN AREAS LSSUED BY _OLOGY CJNTRE AT 18/UTC OF _PEXPRX_PWY\nAND VALID UP TO 06/UTC OF 04/04/2026\n1. WARNINGS:_\n_\n,:10+__(_(7JB__UNDERSTO_MZ\n__UZLXF_Q_\nK_.\n_A_ES UNDER C_UIS: - NORT\nWZ_4)6 7 IOC\nHJ NORTH BALE NORTH B_Z_ER SO OVER WQKB\nQHLHE_N_Y__JQD_OAU_SGZPWSCYP_MZZH ZU\n_ER AEGEAN SEA ISNSLOWLY MOV_NG\nEASTUXGZ__J_ASH_RLYWM INSTABILITY AREA OVER LGVAMC OF _VRXPRX_PWY AND VQIMGDZCYJMZCPHBZVWF\nLIGURIAN SEA: WESTERL_GHT SUL\nSOUTH SECTMI _OUTLOHK: VARIABL=+_7)___466$!_*04.\n_ENTRAL TYRRHENI_ALIGHT SJA WKAKB__\n_U_ZL_DW_D /_OUTLOOK_.*!2\n99$ =8_8_8)856\n-MODERAJHMJFWQPFVKOOOTHW SO_K_T_P__J_RS\nCOASTWARD -GOOD LOCALLY MODERATE VISIBILILW INGGEASING -FLIGHT SDA\nLJV_X\nU_XM\nFU__\nBHEASTERLY 3 -FEW CLOUDS9\n__.__'_\n)8_748-, '3-: SOUTHWESTERLY 3 A__ KWXSOUTHWESTTRLY 4 SEA\n2__OT_SOUTHWESTERLY 4 S+45_34, 5644_3,8-, '3-: NORTHERLS _EMGJPM\n_ 3 SEA 2/'_-__34)6 2 SEA 2.\nCENTHAL TYRRHPWFP_M_JHMJFWP_FN_MOEOHERL_ 3 S_ACHDPYSEM__MT_ _\nKCQ_KE_PBCBHPECONX__OHW_ 4 _'3- 2/NORTHE_LY 4 SEA\n3/SOUTHWESTERLY 1 SEA 2/EASTERLY 1 SEA 2.\nSOUTHERN TYRRS_NIAN WJST SIDEP_\n_DR__WESTERLY__ZSOUTN_NN\nT_RIZENI_N EAST NIETZCZC",
    "display_region_heading": "Unresolved B1 code R",
    "display_region_label": "B1 code R",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Unresolved B1 code R. Readable text says: We ther forecast o r mediterrsean areas lssued by ology cjntre at 18/utc of pexprx pwy. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "We ther forecast o r mediterrsean areas lssued by ology cjntre at 18/utc of pexprx pwy",
      "Coastward -good locally moderate visibililw inggeasing -flight sda",
      "1. warnings"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 26,
    "heading": "2026-04-03 21:41:08 AREA: T",
    "published_at": "2026-04-03 21:41:08",
    "area": "T",
    "message_id": "",
    "text": "ZCZK QE-4\n5\n031840 UTJVLJSXTRNNTSFH_YW__OIBCAPU\nD\n_MMS_\nGGJ\nGVYMWYF_F_VJUMLM_IV_E(__)3_85!(8 =,7) 1--!8/_ _9.94492__3!94 _MN_ \nVIS 20 /=9__9_5-*_'3.'071__,9,__0_6'.7+(__\nNEVXK_ _QWA_R\nTQOVN TILL\nMORNING LOC TO 288KT, UND_I_BIOKOVO UP TO 34 KT. IN THP__HPYZZMUM\n UUYMGVH_BONGJPM_AA\nO_ OFFSHORE 3-4.\nVIS 20 KM.\nVRB CLOUDY, STILL AT FIRST SLIGHT POSS OF RAIN. OVERNIGHT GRADUALLY CLEARING UP.\n\n_'-_3_/N 12-24 KT. TOMORROW AFTERNOON NW 12-26 KT.\nSEA 2-3, OFFSHO_E 3-4.\nVIS 20 KM.\n7=4_ :)97$6 285_ ')8__5 09'' 9! 4-8,. TOMORROW GRADUALLY CLEARING UP.NNNN",
    "clean_text": "ZCZK QE-4\n5\n031840 UTJVLJSXTRNNTSFH_YW__OIBCAPU\nD\n_MMS_\nGGJ\nGVYMWYF_F_VJUMLM_IV_E(__)3_85!(8 =,7) 1--!8/_ _9.94492__3!94 _MN_\nVIS 20 /=9__9_5-*_'3.'071__,9,__0_6'.7+(__\nNEVXK_ _QWA_R\nTQOVN TILL\nMORNING LOC TO 288KT, UND_I_BIOKOVO UP TO 34 KT. IN THP__HPYZZMUM\nUUYMGVH_BONGJPM_AA\nO_ OFFSHORE 3-4.\nVIS 20 KM.\nVRB CLOUDY, STILL AT FIRST SLIGHT POSS OF RAIN. OVERNIGHT GRADUALLY CLEARING UP.\n\n_'-_3_/N 12-24 KT. TOMORROW AFTERNOON NW 12-26 KT.\nSEA 2-3, OFFSHO_E 3-4.\nVIS 20 KM.\n7=4_ :)97$6 285_ ')8__5 09'' 9! 4-8,. TOMORROW GRADUALLY CLEARING UP.NNNN",
    "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: Vrb cloudy, still at first slight poss of rain. overnight gradually clearing up. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Vrb cloudy, still at first slight poss of rain. overnight gradually clearing up",
      "Morning loc to 288kt, und i biokovo up to 34 kt. in thp hpyzzmum",
      "'- 3 /n 12-24 kt. tomorrow afternoon nw 12-26 kt"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 27,
    "heading": "2026-04-03 21:33:00 AREA: P",
    "published_at": "2026-04-03 21:33:00",
    "area": "P",
    "message_id": "PA96",
    "text": "ZCZC PA96\n291955 _7_/._6\nMSI 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\nIXWT\nNNNN",
    "clean_text": "ZCZC PA96\n291955 _7_/._6\nMSI 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\nIXWT\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.",
    "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": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 30,
    "heading": "2026-04-03 21:30:19 AREA: P",
    "published_at": "2026-04-03 21:30:19",
    "area": "P",
    "message_id": "PA33",
    "text": "ZCZC PA33\n021123 UTC YM\n___SI 107/26\nNORTHSEA\nTHE FOLLOWING WIND TURBINES HAVE DEFECTS\n\nHOLLANDSE KUST NOORD\n52-40.3N 004-09.8E HNI4 FOGHORN INOPERATIVE\n52-44.+__.\n_12.2E HNF4 UNLIT\n\nHOLLANDSE KUST ZUID\n52-19.2N 004-06.5E HZZ6 UNLIT\n52-22.6N 004-11.3E HZX2 UNLIT\n52-11.4N 004-00.9E HZR FOGHORN INOPERATIVE\n\nCANCEL MSI 302/25\n\nNNNN",
    "clean_text": "ZCZC PA33\n021123 UTC YM\n___SI 107/26\nNORTHSEA\nTHE FOLLOWING WIND TURBINES HAVE DEFECTS\n\nHOLLANDSE KUST NOORD\n52-40.3N 004-09.8E HNI4 FOGHORN INOPERATIVE\n52-44.+__.\n_12.2E HNF4 UNLIT\n\nHOLLANDSE KUST ZUID\n52-19.2N 004-06.5E HZZ6 UNLIT\n52-22.6N 004-11.3E HZX2 UNLIT\n52-11.4N 004-00.9E HZR FOGHORN INOPERATIVE\n\nCANCEL MSI 302/25\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": "regional-context",
    "resolved_match_terms": [
      "NORTHSEA"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Netherlands - Dutch EEZ and southern North Sea. This is a weather bulletin; readable sections mention fog across the covered waters.",
    "decoded_highlights": [
      "52-40.3n 004-09.8e hni4 foghorn inoperative",
      "52-11.4n 004-00.9e hzr foghorn inoperative",
      "The following wind turbines have defects"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 32,
    "heading": "2026-04-03 21:23:52 AREA: O",
    "published_at": "2026-04-03 21:23:52",
    "area": "O",
    "message_id": "OA81",
    "text": "ZCZC OA81\nWZ 246/26 \nMALIN. \nSKERRYVOYPMSFHDHDZCJPM\nHE Z_YGXM\nS_MOW UNLI.\n_, ,,\n2\n_1__\n7_ +(-._+_0:_\n =6!*$.(0__3 28,$ !-4..\n1. T_R_I_UNRELIABLEEM\n_W_ _ZI UL_WW_107/26 (OA20).\nNNNJ_ZCZC",
    "clean_text": "ZCZC OA81\nWZ 246/26\nMALIN.\nSKERRYVOYPMSFHDHDZCJPM\nHE Z_YGXM\nS_MOW UNLI.\n_, ,,\n2\n_1__\n7_ +(-._+_0:_\n=6!*$.(0__3 28,$ !-4..\n1. T_R_I_UNRELIABLEEM\n_W_ _ZI UL_WW_107/26 (OA20).\nNNNJ_ZCZC",
    "resolved_station_name": "Portpatrick",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Irish Sea and western UK approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "MALIN"
    ],
    "display_region_heading": "United Kingdom - Irish Sea and western UK approaches",
    "display_region_label": "Portpatrick, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - Irish Sea and western UK approaches. Readable text says: Skerryvoypmsfhdhdzcjpm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Skerryvoypmsfhdhdzcjpm",
      "S mow unli",
      "Nnnj zczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 33,
    "heading": "2026-04-03 21:23:17 AREA: O",
    "published_at": "2026-04-03 21:23:17",
    "area": "O",
    "message_id": "OB12",
    "text": "ZCZC OB12\nPT_\n_ADIO\n_ECA_\n_PSM_Y8 EXPECTED LATER\n\nMALIN\nNORTHE_S _A_ORCE _I EXPECTED _A\nT_O GBI_IBONNIIIWA_ZCZC",
    "clean_text": "ZCZC OB12\nPT_\n_ADIO\n_ECA_\n_PSM_Y8 EXPECTED LATER\n\nMALIN\nNORTHE_S _A_ORCE _I EXPECTED _A\nT_O GBI_IBONNIIIWA_ZCZC",
    "resolved_station_name": "Portpatrick",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Irish Sea and western UK approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "MALIN"
    ],
    "display_region_heading": "United Kingdom - Irish Sea and western UK approaches",
    "display_region_label": "Portpatrick, United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for United Kingdom - Irish Sea and western UK approaches. Readable text says: Psm y8 expected later. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Psm y8 expected later"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 34,
    "heading": "2026-04-03 20:09:35 AREA: G",
    "published_at": "2026-04-03 20:09:35",
    "area": "G",
    "message_id": "GA899",
    "text": "ZCZC GA899\n+(9,.1._:0+56.\nY_UF_M_SZHFM_F_M_YB_PMDJ_TUAWOMRN 001-21.1W, FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 39/26 (GA12).\nNNNN",
    "clean_text": "ZCZC GA899\n+(9,.1._:0+56.\nY_UF_M_SZHFM_F_M_YB_PMDJ_TUAWOMRN 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. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Y uf m szhfm f m yb pmdj tuawomrn 001-21.1w, fog signal inoperative",
      "2. cancel wz 39/26 (ga12)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 35,
    "heading": "2026-04-03 20:09:13 AREA: G",
    "published_at": "2026-04-03 20:09:13",
    "area": "G",
    "message_id": "GA96",
    "text": "ZCZC GA96\nWZ 171/26 \nHUMBER. \nDUDGEON WIND FARM. \nDUDGEON SOUTH BUOY 53-12.5N 001-25.6E UNLIT. \nNNNN",
    "clean_text": "ZCZC GA96\nWZ 171/26\nHUMBER.\nDUDGEON WIND FARM.\nDUDGEON SOUTH BUOY 53-12.5N 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: Dudgeon south buoy 53-12.5n 001-25.6e unlit.",
    "decoded_highlights": [
      "Dudgeon south buoy 53-12.5n 001-25.6e unlit",
      "Dudgeon wind farm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 36,
    "heading": "2026-04-03 20:08:41 AREA: T",
    "published_at": "2026-04-03 20:08:41",
    "area": "T",
    "message_id": "",
    "text": "ZCZCMO_ZCOJGZ_ENKBMFM_YPT_AMONGZYHDMJP__\nTEAL AND GUILLEMOT OIL FIELDS. \nCHART GB 278. \nSAFETY ZONE, RADIUS 500 METRES, ESTABLISHEDMFM_HCU _N 000-46.38E\n NNNN",
    "clean_text": "ZCZCMO_ZCOJGZ_ENKBMFM_YPT_AMONGZYHDMJP__\nTEAL AND GUILLEMOT OIL FIELDS.\nCHART GB 278.\nSAFETY ZONE, RADIUS 500 METRES, ESTABLISHEDMFM_HCU _N 000-46.38E\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: Safety zone, radius 500 metres, establishedmfm hcu n 000-46.38e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Safety zone, radius 500 metres, establishedmfm hcu n 000-46.38e",
      "Teal and guillemot oil fields"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 37,
    "heading": "2026-04-03 20:08:03 AREA: G",
    "published_at": "2026-04-03 20:08:03",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\n__-== :T_EMONGDC_LP__DMONGY_PMLVM_FM__YLZOOONXOHDXES___'8_,-)' 8,9034-58=3: \nA. D01, 53-20.1N 000-49.1E. \nB. S01, 53-7_, 000_\n_+E. \n2. CANCEL WZ 58/\n__ (__0_+). \nNNNN",
    "clean_text": "ZCZC GA61\n__-== :T_EMONGDC_LP__DMONGY_PMLVM_FM__YLZOOONXOHDXES___'8_,-)' 8,9034-58=3:\nA. D01, 53-20.1N 000-49.1E.\nB. S01, 53-7_, 000_\n_+E.\n2. CANCEL WZ 58/\n__ (__0_+).\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: 2. cancel wz 58/. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "2. cancel wz 58/"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 38,
    "heading": "2026-04-03 20:07:31 AREA: G",
    "published_at": "2026-04-03 20:07:31",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N 002-59.1E UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CA_ WZ _\nVXGA RWLRWLM\nNGONNIIIKZCZC",
    "clean_text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N 002-59.1E UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CA_ WZ _\nVXGA RWLRWLM\nNGONNIIIKZCZC",
    "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: 1. met mast 53-10.7n 002-59.1e unlit and all navaids inoperative.",
    "decoded_highlights": [
      "1. met mast 53-10.7n 002-59.1e unlit and all navaids inoperative",
      "Orwell gas field northwestwards",
      "Vxga rwlrwlm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 39,
    "heading": "2026-04-03 20:07:02 AREA: G",
    "published_at": "2026-04-03 20:07:02",
    "area": "G",
    "message_id": "GA74",
    "text": "ZCZC GA74\nWZV\n__TU_M_NGDC_LP___M\nNGY_PJ_CYMZYHDM_JM_FP_W\n_O_LATFORM NORTH 43/26-ST2, 54-03.2N 001-02.0E, UNLITCA_DNSSM_FWJMF_Z_PYHF\nPIBMONGONNIIIIZCZC",
    "clean_text": "ZCZC GA74\nWZV\n__TU_M_NGDC_LP___M\nNGY_PJ_CYMZYHDM_JM_FP_W\n_O_LATFORM NORTH 43/26-ST2, 54-03.2N 001-02.0E, UNLITCA_DNSSM_FWJMF_Z_PYHF\nPIBMONGONNIIIIZCZC",
    "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: O latform north 43/26-st2, 54-03.2n 001-02.0e, unlitca dnssm fwjmf z pyhf. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "O latform north 43/26-st2, 54-03.2n 001-02.0e, unlitca dnssm fwjmf z pyhf",
      "Pibmongonniiiizczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 40,
    "heading": "2026-04-03 20:06:37 AREA: G",
    "published_at": "2026-04-03 20:06:37",
    "area": "G",
    "message_id": "GA81",
    "text": "ZCZC GA81\nWZ 214/26 \nGMDSS. \nMRCC HUMBER. \nMF R/T SERVICE FROMMFCSS_Y_ZHJMJFHPM_HH_II_KYBYG_M\n_ UC__GUMZ_4. \nNNNN",
    "clean_text": "ZCZC GA81\nWZ 214/26\nGMDSS.\nMRCC HUMBER.\nMF R/T SERVICE FROMMFCSS_Y_ZHJMJFHPM_HH_II_KYBYG_M\n_ UC__GUMZ_4.\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 ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mf r/t service frommfcss y zhjmjfhpm hh ii kybyg m",
      "Mrcc humber"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 41,
    "heading": "2026-04-03 20:06:13 AREA: G",
    "published_at": "2026-04-03 20:06:13",
    "area": "G",
    "message_id": "GA83",
    "text": "ZCZC GA83\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 GA83\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 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": [
      "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": 42,
    "heading": "2026-04-03 20:05:45 AREA: G",
    "published_at": "2026-04-03 20:05:45",
    "area": "G",
    "message_id": "GA94",
    "text": "ZCZC GA94\nWZ 220/26\nTYNE.\nBLYTH OFFSHORE DEMONSTRATOR WIND FARM.\nTURBINE B10 55-06.8N  _ 2193_7.:'!_.2.+_.*!_'.!+_06_!_09,_9,,8887ZCZC",
    "clean_text": "ZCZC GA94\nWZ 220/26\nTYNE.\nBLYTH OFFSHORE DEMONSTRATOR WIND FARM.\nTURBINE B10 55-06.8N _ 2193_7.:'!_.2.+_.*!_'.!+_06_!_09,_9,,8887ZCZC",
    "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 says: Turbine b10 55-06.8n 2193 7.:'! .2. . ! '.! 06 ! 09, 9,,8887zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Turbine b10 55-06.8n 2193 7.:'! .2. . ! '.! 06 ! 09, 9,,8887zczc",
      "Blyth offshore demonstrator wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 43,
    "heading": "2026-04-03 20:04:42 AREA: G",
    "published_at": "2026-04-03 20:04:42",
    "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 WZM\nVKXWY KGA80).\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 WZM\nVKXWY KGA80).\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 wzm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 44,
    "heading": "2026-04-03 20:04:12 AREA: T",
    "published_at": "2026-04-03 20:04:12",
    "area": "T",
    "message_id": "",
    "text": "ZCZV ___\nWZ 226/2_9,5$:_)_\nBESSEMER GAS FIELD.\n9/23E, 53-11.9N 002-29.1E, FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 104/26 (GA56'_9,_9,,888(ZCZC",
    "clean_text": "ZCZV ___\nWZ 226/2_9,5$:_)_\nBESSEMER GAS FIELD.\n9/23E, 53-11.9N 002-29.1E, FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 104/26 (GA56'_9,_9,,888(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 reports a fog signal outage near 53-11.9N 002-29.1E. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "9/23e, 53-11.9n 002-29.1e, fog signal inoperative",
      "2. cancel wz 104/26 (ga56' 9, 9,,888(zczc",
      "Bessemer gas field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 45,
    "heading": "2026-04-03 20:03:46 AREA: G",
    "published_at": "2026-04-03 20:03:46",
    "area": "G",
    "message_id": "GA12",
    "text": "ZCZC GA12\nWZ_\nUPUT_EMONGDC_LP_\n_MONGFPYMLV_\nPLAT SOUTHWARK _11.0N 002-05.8E UNLIT AND ALL NAVAIDS INOPERATIVE.\nNNNN",
    "clean_text": "ZCZC GA12\nWZ_\nUPUT_EMONGDC_LP_\n_MONGFPYMLV_\nPLAT SOUTHWARK _11.0N 002-05.8E UNLIT AND ALL NAVAIDS INOPERATIVE.\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: Plat southwark 11.0n 002-05.8e unlit and all navaids inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Plat southwark 11.0n 002-05.8e unlit and all navaids inoperative"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 46,
    "heading": "2026-04-03 20:03:11 AREA: G",
    "published_at": "2026-04-03 20:03:11",
    "area": "G",
    "message_id": "GA15",
    "text": "ZCZC GA15\nWZ 221/262._!!'_943 28,$ !-4.. \n1. BUOYS UNLIT: \nA. N_=55-08.1N 002-09.5E. \nB. E5 54-51.5N 002-20.7E. \n2. CANCEL WZ 95/26 (GA50). \nNNNN",
    "clean_text": "ZCZC GA15\nWZ 221/262._!!'_943 28,$ !-4..\n1. BUOYS UNLIT:\nA. N_=55-08.1N 002-09.5E.\nB. E5 54-51.5N 002-20.7E.\n2. CANCEL WZ 95/26 (GA50).\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. buoys unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. buoys unlit",
      "2. cancel wz 95/26 (ga50)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 47,
    "heading": "2026-04-03 20:00:14 AREA: G",
    "published_at": "2026-04-03 20:00:14",
    "area": "G",
    "message_id": "GA20",
    "text": "ZCZC GA20\nNAVAREA I 68/26\n1. NAVAREA I WARNINGS IN FORCE AT 031000 UTC A_R 2026:\n\n2026 SERIES: 43, 61, 67, 68.\n\nNOTES:\nA. TEXTS OF NAVAREA I WARNINGS ISDPWMPAMUPPVMYPM_CLSFIIIWEEKLY EDITIONS OF THE ADMIRALTY NOTICES TO MARIN_BULLETIN (ANMBQSMONONGL_NAVA_CWARNINGS LESS THAN 42 DAYS OLD (43/26 ONWARD) ARE PROMULGATE_M_F_PD_PWM_YZCM_(EGC) AND/OR RELEVANT NAVTEX TRANSMITTERS.\n\nC. THE COMPLETE TEXTS OF ALL IN-FORCE NAVARE I WA_RNINGS, INCLUDING THOSE WHICH ARE NO LONGER BEING BROA_CAST, ARE REPRINTEWMFMJP_HFZMFFFMZ_M__IICIN WEEKS 1, 13, 26 AND 39 AND ARE ALSO AVAILLSPM_YZBMHDPMC_DZM_PLJFHPMH_HTTPS://MSI.A_KA_FYSH_.UK/RADP_NAVIGATIONALWARNINGS.\n\nALTERNATIVELY, THESE MAY BE REQUESTED BY E-MAIL FROM NAVAREA I CO-ORDINATOR AT: NAVWARNINGS(AT)UKHO.GOV.UK\n\n2. CANCELVFAVAREA I 62/26 (EAG_ULKGA13)(OA74).\nNNNN",
    "clean_text": "ZCZC GA20\nNAVAREA I 68/26\n1. NAVAREA I WARNINGS IN FORCE AT 031000 UTC A_R 2026:\n\n2026 SERIES: 43, 61, 67, 68.\n\nNOTES:\nA. TEXTS OF NAVAREA I WARNINGS ISDPWMPAMUPPVMYPM_CLSFIIIWEEKLY EDITIONS OF THE ADMIRALTY NOTICES TO MARIN_BULLETIN (ANMBQSMONONGL_NAVA_CWARNINGS LESS THAN 42 DAYS OLD (43/26 ONWARD) ARE PROMULGATE_M_F_PD_PWM_YZCM_(EGC) AND/OR RELEVANT NAVTEX TRANSMITTERS.\n\nC. THE COMPLETE TEXTS OF ALL IN-FORCE NAVARE I WA_RNINGS, INCLUDING THOSE WHICH ARE NO LONGER BEING BROA_CAST, ARE REPRINTEWMFMJP_HFZMFFFMZ_M__IICIN WEEKS 1, 13, 26 AND 39 AND ARE ALSO AVAILLSPM_YZBMHDPMC_DZM_PLJFHPMH_HTTPS://MSI.A_KA_FYSH_.UK/RADP_NAVIGATIONALWARNINGS.\n\nALTERNATIVELY, THESE MAY BE REQUESTED BY E-MAIL FROM NAVAREA I CO-ORDINATOR AT: NAVWARNINGS(AT)UKHO.GOV.UK\n\n2. CANCELVFAVAREA I 62/26 (EAG_ULKGA13)(OA74).\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": [
      "1. navarea i warnings in force at 031000 utc a r 2026",
      "A. texts of navarea i warnings isdpwmpamuppvmypm clsfiiiweekly editions of the admiralty notices to marin bulletin (anmbqsmonongl nava cwarnings less than 42 days old (43/26 onward) are promulgate m f pd pwm yzcm (egc) and/or relevant navtex transmitters",
      "C. the complete texts of all in-force navare i wa rnings, including those which are no longer being broa cast, are reprintewmfmjp hfzmfffmz m iicin weeks 1, 13, 26 and 39 and are also availlspm yzbmhdpmc dzm pljfhpmh https://msi.a ka fysh .uk/radp navigationalwarnings"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 49,
    "heading": "2026-04-03 18:30:19 AREA: V",
    "published_at": "2026-04-03 18:30:19",
    "area": "V",
    "message_id": "VA15",
    "text": "ZCZC VA15\n301531 UHMM_XWY \nTHAMES. \nGUNFLEET SAIDS WIND FARM. \n(1_.0N 001-14.6\nFOG SIGNAL\n_NZ_WF\nF_PLBM__CU_CXWY\nGMDSS.\n_.4:: $9=34\nMF R/T_SE_V CE FROM BAWDSEY SITE 51-59.6N 00\n-24.5E OFF AIR_NNCN\n\nUFJZCZC",
    "clean_text": "ZCZC VA15\n301531 UHMM_XWY\nTHAMES.\nGUNFLEET SAIDS WIND FARM.\n(1_.0N 001-14.6\nFOG SIGNAL\n_NZ_WF\nF_PLBM__CU_CXWY\nGMDSS.\n_.4:: $9=34\nMF R/T_SE_V CE FROM BAWDSEY SITE 51-59.6N 00\n-24.5E OFF AIR_NNCN\n\nUFJZCZC",
    "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": [
      "Fog signal",
      "Mf r/t se v ce from bawdsey site 51-59.6n 00",
      "Gunfleet saids wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 51,
    "heading": "2026-04-03 18:18:11 AREA: T",
    "published_at": "2026-04-03 18:18:11",
    "area": "T",
    "message_id": "TA53",
    "text": "ZCZC TA53\n _1*(3_._:__.2_-9,__+**!)'0.0__'+!_0.+__$0.*888_3$\nIN POS 51-36.__$ ,95 59_-,:_94 ,9__59 !8'_ 8! 5_3 =8:8,856.\n\nNNNN",
    "clean_text": "ZCZC TA53\n_1*(3_._:__.2_-9,__+**!)'0.0__'+!_0.+__$0.*888_3$\nIN POS 51-36.__$ ,95 59_-,:_94 ,9__59 !8'_ 8! 5_3 =8:8,856.\n\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": 52,
    "heading": "2026-04-03 18:17:30 AREA: T",
    "published_at": "2026-04-03 18:17:30",
    "area": "T",
    "message_id": "TA45",
    "text": "ZCZC TA45\n0111 OOSTENDERADIO MSI 311/25\nBE__EZ\nEXPLOSI_OSTON THE LINE BETWEEN POSITIONS 51-20.04N 003-05.47E \n51-20.990N _P\nE_G_X_NOT TO ANCHOR NOR TO FISH IN THE VICINITY.\n___U_\nU_ZCZC",
    "clean_text": "ZCZC TA45\n0111 OOSTENDERADIO MSI 311/25\nBE__EZ\nEXPLOSI_OSTON THE LINE BETWEEN POSITIONS 51-20.04N 003-05.47E\n51-20.990N _P\nE_G_X_NOT TO ANCHOR NOR TO FISH IN THE VICINITY.\n___U_\nU_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 sets local operating restrictions near 51-20.04N 003-05.47E, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "E g x not to anchor nor to fish in the vicinity",
      "Explosi oston the line between positions 51-20.04n 003-05.47e",
      "0111 oostenderadio msi 311/25"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 53,
    "heading": "2026-04-03 18:16:52 AREA: T",
    "published_at": "2026-04-03 18:16:52",
    "area": "T",
    "message_id": "TA79",
    "text": "ZCZC TA79\n270420 UTC SEPC_MSI 350/25\nOOS__NDE3ZEEBRUGGE\nCHAIN ON TH_ABED IN THE VICINIT\nMZ.)_ _-___5N 00_-__,75E\nSHIPPING IS REQUESTED NOT TO ANCH__MONGZYMHZMICK_!_$.!._$0.__!+R_Z_UZCZC",
    "clean_text": "ZCZC TA79\n270420 UTC SEPC_MSI 350/25\nOOS__NDE3ZEEBRUGGE\nCHAIN ON TH_ABED IN THE VICINIT\nMZ.)_ _-___5N 00_-__,75E\nSHIPPING IS REQUESTED NOT TO ANCH__MONGZYMHZMICK_!_$.!._$0.__!+R_Z_UZCZC",
    "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": [
      "ZEEBRUGGE"
    ],
    "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: Chain on th abed in the vicinit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Chain on th abed in the vicinit",
      "Oos nde3zeebrugge"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 54,
    "heading": "2026-04-03 18:16:05 AREA: T",
    "published_at": "2026-04-03 18:16:05",
    "area": "T",
    "message_id": "",
    "text": "ZCZC TAO_\nXWJOQY PLYCHYP_NGZLJH_SP_MZMHDPIIU__SZE FOLLOWING POS\n5117.431N  00302.602E\n51_7.259N  00302.007E\nQTQQYMEPRN  0_0+_9__44E\nSHIPPING_IS REQUESTED NOT TO ANCHOR NOR_TO FC_\nUEZCZC",
    "clean_text": "ZCZC TAO_\nXWJOQY PLYCHYP_NGZLJH_SP_MZMHDPIIU__SZE FOLLOWING POS\n5117.431N 00302.602E\n51_7.259N 00302.007E\nQTQQYMEPRN 0_0+_9__44E\nSHIPPING_IS REQUESTED NOT TO ANCHOR NOR_TO FC_\nUEZCZC",
    "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 sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping is requested not to anchor nor to fc",
      "Xwjoqy plychyp ngzljh sp mzmhdpiiu sze following pos"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 55,
    "heading": "2026-04-03 18:15:23 AREA: T",
    "published_at": "2026-04-03 18:15:23",
    "area": "T",
    "message_id": "TA02",
    "text": "ZCZC TA02\n0_ 544/24\nOOSTENDE-ZEEBRUGGE\nO_POS\n5115.938N  00258.482K_\n_TQQTMOREN  00258.492E\n_PING IS REQUJSTED NOT TZ ANCHOR NOR TO FISH IN _HE VICINITY\n_NNNN",
    "clean_text": "ZCZC TA02\n0_ 544/24\nOOSTENDE-ZEEBRUGGE\nO_POS\n5115.938N 00258.482K_\n_TQQTMOREN 00258.492E\n_PING IS REQUJSTED NOT TZ ANCHOR NOR TO FISH IN _HE VICINITY\n_NNNN",
    "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: Ping is requjsted not tz anchor nor to fish in he vicinity. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ping is requjsted not tz anchor nor to fish in he vicinity",
      "Oostende-zeebrugge",
      "Tqqtmoren 00258.492e"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 56,
    "heading": "2026-04-03 18:13:56 AREA: T",
    "published_at": "2026-04-03 18:13:56",
    "area": "T",
    "message_id": "",
    "text": "ZCZCMH_P_YDROGR_P_ICAL INSTRUMENT ESTABLI_HED I_S 51-2_-663N 003-06,817E  UN_AY_PWONGJDFJIKK0.2!*__1.2.+_._+._$+6.+6._!*$.!.+$0_\n!/!___9,_,_+_!!_____+*+:._7:\n__!1002 UTC MA_ \nOOSTENDERADIO MSI 130/26\nOOSTE\n_AU_EEBRUGGE\nOBST_CLES ON THE SEABED\nI._+'_+_!.__281N 0_2TYNTTEE\nSHI\nPINUG IS REQUESTED NOT TO ANCHOR NOR FISH_IN _H VICINITY\n\n\nNNNN",
    "clean_text": "ZCZCMH_P_YDROGR_P_ICAL INSTRUMENT ESTABLI_HED I_S 51-2_-663N 003-06,817E UN_AY_PWONGJDFJIKK0.2!*__1.2.+_._+._$+6.+6._!*$.!.+$0_\n!/!___9,_,_+_!!_____+*+:._7:\n__!1002 UTC MA_\nOOSTENDERADIO MSI 130/26\nOOSTE\n_AU_EEBRUGGE\nOBST_CLES ON THE SEABED\nI._+'_+_!.__281N 0_2TYNTTEE\nSHI\nPINUG IS REQUESTED NOT TO ANCHOR NOR FISH_IN _H VICINITY\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": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Pinug is requested not to anchor nor fish in h vicinity",
      "Obst cles on the seabed"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 57,
    "heading": "2026-04-03 18:13:21 AREA: T",
    "published_at": "2026-04-03 18:13:21",
    "area": "T",
    "message_id": "TA13",
    "text": "ZCZC TA13\n262038 U _ MAA_\nOOSTENDERANLO_ L\nQ__Y_C_Y\nVAARGEKL _\nLIGHTBUOY VG5,_5 _N 002-56.78'3 $48!5_,_ \nSHIPPING IS REQUEST_D TO REPORT SIGHTI_G UARD\n_NNNN",
    "clean_text": "ZCZC TA13\n262038 U _ MAA_\nOOSTENDERANLO_ L\nQ__Y_C_Y\nVAARGEKL _\nLIGHTBUOY VG5,_5 _N 002-56.78'3 $48!5_,_\nSHIPPING IS REQUEST_D TO REPORT SIGHTI_G UARD\n_NNNN",
    "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: Lightbuoy vg5, 5 n 002-56.78'3 $48!5. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lightbuoy vg5, 5 n 002-56.78'3 $48!5",
      "Shipping is request d to report sighti g uard",
      "Oostenderanlo l"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 58,
    "heading": "2026-04-03 18:10:55 AREA: T",
    "published_at": "2026-04-03 18:10:55",
    "area": "T",
    "message_id": "",
    "text": "ZCZCUTAXJU\n!3**_1__2(-_*_02062!_.9:(\n_19_/26\nTSS-_20*_$!2069,_'!)6_!+.)08_'57,2\n_4E\nSHUPPICMED NOTTO ANCHO_ _OR TO F_SZ \n_IVICCNITY\nNNNN",
    "clean_text": "ZCZCUTAXJU\n!3**_1__2(-_*_02062!_.9:(\n_19_/26\nTSS-_20*_$!2069,_'!)6_!+.)08_'57,2\n_4E\nSHUPPICMED NOTTO ANCHO_ _OR TO F_SZ\n_IVICCNITY\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: Shuppicmed notto ancho or to f sz. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shuppicmed notto ancho or to f sz",
      "Zczcutaxju",
      "Iviccnity"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 59,
    "heading": "2026-04-03 18:10:19 AREA: T",
    "published_at": "2026-04-03 18:10:19",
    "area": "T",
    "message_id": "",
    "text": "ZCZ_ TA_\n0$1437 _TC APR\nOOSTENDERADI_ _XWY \nEE\n_N THE SEABED 51-27.16N 0____3,//'0U_U_OJ_LMU_I_P_U_YZWFHO__D_T_W_WWAJZCZC",
    "clean_text": "ZCZ_ TA_\n0$1437 _TC APR\nOOSTENDERADI_ _XWY\nEE\n_N THE SEABED 51-27.16N 0____3,//'0U_U_OJ_LMU_I_P_U_YZWFHO__D_T_W_WWAJZCZC",
    "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": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium - Belgian coast and southern North Sea. Readable text says: Oostenderadi xwy. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Oostenderadi xwy"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 60,
    "heading": "2026-04-03 18:08:04 AREA: S",
    "published_at": "2026-04-03 18:08:04",
    "area": "S",
    "message_id": "SE68",
    "text": "ZCZC SE68\n031500 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nFRIDAY:\n(28,$: SOUTH 9 IZ_SSEM_CMGJDF_HF_M_PJHMHZMZY\nD_PE_PO G_FJFLFSFH__HKNK_OWER WITH PARTLY POOR\n_IFI_FSF\nD__\nSEA: 3 METER.\n\nSATURDAY:\n___!__534)6 28,$' 6, LOCALLY 7, FOR A TIMPM_IESKQ4_RBQ__$)SOUTH LATER.\nVISIBILITY/WEATHER: LOCALLY SHOWER WITH POOR VISIBILITY.\nSEA: 2,5 METVYLMG_PJHPYM_YHMSHPYM_PMG_PH_\nNNNN",
    "clean_text": "ZCZC SE68\n031500 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nFRIDAY:\n(28,$: SOUTH 9 IZ_SSEM_CMGJDF_HF_M_PJHMHZMZY\nD_PE_PO G_FJFLFSFH__HKNK_OWER WITH PARTLY POOR\n_IFI_FSF\nD__\nSEA: 3 METER.\n\nSATURDAY:\n___!__534)6 28,$' 6, LOCALLY 7, FOR A TIMPM_IESKQ4_RBQ__$)SOUTH LATER.\nVISIBILITY/WEATHER: LOCALLY SHOWER WITH POOR VISIBILITY.\nSEA: 2,5 METVYLMG_PJHPYM_YHMSHPYM_PMG_PH_\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: locally shower with poor visibility. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Visibility/weather: locally shower with poor visibility",
      "Weatherforecast for german bight",
      "031500 navtex-hamburg (ncc)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 61,
    "heading": "2026-04-03 18:07:26 AREA: S",
    "published_at": "2026-04-03 18:07:26",
    "area": "S",
    "message_id": "SA34",
    "text": "ZCZC SA34\nNCC-HAMBURG\n_PTPOEP UTC MAR 26\nNA__M WARN. NO. 129\nTSS\nGVY_MLF_DHM_PJHPYM_ACH\n'GW/EMS' LIGH\n-VESSEL 54-10N 006-21E TEMPORARILY REMZVED\nNNNN",
    "clean_text": "ZCZC SA34\nNCC-HAMBURG\n_PTPOEP UTC MAR 26\nNA__M WARN. NO. 129\nTSS\nGVY_MLF_DHM_PJHPYM_ACH\n'GW/EMS' LIGH\n-VESSEL 54-10N 006-21E TEMPORARILY REMZVED\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: -vessel 54-10n 006-21e temporarily remzved. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "-vessel 54-10n 006-21e temporarily remzved",
      "Ptpoep utc mar 26",
      "Ncc-hamburg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 62,
    "heading": "2026-04-03 18:06:52 AREA: S",
    "published_at": "2026-04-03 18:06:52",
    "area": "S",
    "message_id": "SA75",
    "text": "ZCZC SA75\nNCC-HAMBURG\n2:HMGVHXM_Y_\n_NAV. WARN. NO. 183\nEAST FRISIAN ISLANDS.JUIST.\n 'JUIST-N'  LIGHTBUOY  5_66_..\n_EHHGPM_FJJF__NNNN",
    "clean_text": "ZCZC SA75\nNCC-HAMBURG\n2:HMGVHXM_Y_\n_NAV. WARN. NO. 183\nEAST FRISIAN ISLANDS.JUIST.\n'JUIST-N' LIGHTBUOY 5_66_..\n_EHHGPM_FJJF__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: 'juist-n' lightbuoy 5 66. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "'juist-n' lightbuoy 5 66",
      "East frisian islands.juist",
      "Nav. warn. no. 183"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 63,
    "heading": "2026-04-03 18:05:39 AREA: S",
    "published_at": "2026-04-03 18:05:39",
    "area": "S",
    "message_id": "SA80",
    "text": "ZCZC SA80\nNCC_BURG\n301330 UTC MAC 26\nNAV. WARN. NO. 189\nEI_ER ESTUARY.\n'EIDER' LIGHTT_Z_MM\nHY__PIAWOE\nTEMPORARILY REPLACED BY UNH_\nMLCZE_NNNN",
    "clean_text": "ZCZC SA80\nNCC_BURG\n301330 UTC MAC 26\nNAV. WARN. NO. 189\nEI_ER ESTUARY.\n'EIDER' LIGHTT_Z_MM\nHY__PIAWOE\nTEMPORARILY REPLACED BY UNH_\nMLCZE_NNNN",
    "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: 'eider' lightt z mm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "'eider' lightt z mm",
      "Ei er estuary",
      "Temporarily replaced by unh"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 65,
    "heading": "2026-04-03 18:01:57 AREA: S",
    "published_at": "2026-04-03 18:01:57",
    "area": "S",
    "message_id": "SA85",
    "text": "ZCZC SA85\nNCC-HAMBURG\n020610 UTC AN__\n_NAV. WARN. NO. 196\nGER_AN BIGHT. NORTHWESTERLY OWF 'BARD OFFSHORE 1'.\nUXO SURVEY BY\nVZ\nM\nJGZ_PMYPJPY_DPY_J_G_JM\nJGSWSJ_JMGYZCWMJ_J9!+9,__6_00_.\n!__(_6__09,_60*_6!__0_._+0:_6)!'!__.2:6!_.+PYHFZJ_SAFE_TH OF 1 NM REQUESTED.\nNNNN",
    "clean_text": "ZCZC SA85\nNCC-HAMBURG\n020610 UTC AN__\n_NAV. WARN. NO. 196\nGER_AN BIGHT. NORTHWESTERLY OWF 'BARD OFFSHORE 1'.\nUXO SURVEY BY\nVZ\nM\nJGZ_PMYPJPY_DPY_J_G_JM\nJGSWSJ_JMGYZCWMJ_J9!+9,__6_00_.\n!__(_6__09,_60*_6!__0_._+0:_6)!'!__.2:6!_.+PYHFZJ_SAFE_TH 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. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Uxo survey by",
      "Ger an bight. northwesterly owf 'bard offshore 1'",
      "Nav. warn. no. 196"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 66,
    "heading": "2026-04-03 18:00:13 AREA: S",
    "published_at": "2026-04-03 18:00:13",
    "area": "S",
    "message_id": "",
    "text": "ZCZC SA8_9,_/__-._74_\n030615 UTC APR 26\nNAV. WARN. NO..:++\n,\n_9=__-=53/- AREA (S) WARNINGS IN FORCE AT 030615 UTC APR 26:\n2026:  1_83 187 189 191 192 194 196\nNOTES:\nA. _,-=53/- AREAV_CGJLSV_AYF_OGS LESS THAN 42 DAYS CPF__ ONWARD) ARE\nPROMULGATED\nBY NAVTEX TRANJMFHHPYM_FPLPY_ON_L__ COMPLE\n_XTS OF ALL IN- FORCE NAVTEX- AREA _KS) _2-4,8,_',\nINCLUDING THOSE WHICH ARE NO\nLONGER BEING BROADCAST, ARE AVAILABLE FRZBMHDPMLJDM_PLJFHPMH_WWW2.BSH.DE/AKTDAT/NWN/NWN-FZYWDF\nWWW2.BSH.DE/AKTDAT/NWN/NWN-OT.PDF\n2. CANCEL NAV. WA__PO O_BM __OONGONNKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKVKZCZC",
    "clean_text": "ZCZC SA8_9,_/__-._74_\n030615 UTC APR 26\nNAV. WARN. NO..:++\n,\n_9=__-=53/- AREA (S) WARNINGS IN FORCE AT 030615 UTC APR 26:\n2026: 1_83 187 189 191 192 194 196\nNOTES:\nA. _,-=53/- AREAV_CGJLSV_AYF_OGS LESS THAN 42 DAYS CPF__ ONWARD) ARE\nPROMULGATED\nBY NAVTEX TRANJMFHHPYM_FPLPY_ON_L__ COMPLE\n_XTS OF ALL IN- FORCE NAVTEX- AREA _KS) _2-4,8,_',\nINCLUDING THOSE WHICH ARE NO\nLONGER BEING BROADCAST, ARE AVAILABLE FRZBMHDPMLJDM_PLJFHPMH_WWW2.BSH.DE/AKTDAT/NWN/NWN-FZYWDF\nWWW2.BSH.DE/AKTDAT/NWN/NWN-OT.PDF\n2. CANCEL NAV. WA__PO O_BM __OONGONNKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKVKZCZC",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code S. Readable text says: A. ,- 53/- areav cgjlsv ayf ogs less than 42 days cpf onward) are. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "A. ,- 53/- areav cgjlsv ayf ogs less than 42 days cpf onward) are",
      "Xts of all in- force navtex- area ks) 2-4,8, '",
      "Longer being broadcast, are available frzbmhdpmljdm pljfhpmh www2.bsh.de/aktdat/nwn/nwn-fzywdf"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 67,
    "heading": "2026-04-03 17:41:24 AREA: P",
    "published_at": "2026-04-03 17:41:24",
    "area": "P",
    "message_id": "PA34",
    "text": "ZCZC PA34\n1417143753__-*+_MSI 310/25\nBUOY HWP14 IN 52-40N 003-56E TEMPORARILY WITHDRAWN.\nCANCEL MSI 308/25\nNNNN",
    "clean_text": "ZCZC PA34\n1417143753__-*+_MSI 310/25\nBUOY HWP14 IN 52-40N 003-56E 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: Buoy hwp14 in 52-40n 003-56e temporarily withdrawn. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Buoy hwp14 in 52-40n 003-56e temporarily withdrawn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 69,
    "heading": "2026-04-03 17:29:55 AREA: P",
    "published_at": "2026-04-03 17:29:55",
    "area": "P",
    "message_id": "PE79",
    "text": "ZCZC PE79\n031306 UTC APR 26\nFORECAST DUTCH EEZ ISSUED AT 11:07 UTC 030426\nALL DISTRICTS SOUTHWEST 7\n\nSYNOPSIS\nLOW, 981,._+_06._$0._6+06._+_/__-_$2_AEKE(_1,:B_PWMHYZC_DJ_Z_PYMHDPMZYHDMJPM_FS_MBZ_PMPJH_Y_J_\nWEAK RIDGE MOVING TO TDPMJZCHDPYM_YHMZ_MHDPMZYHDMJPMFMONHDNM_EGLGLR_ZAE__KQ_BB_QGB_KE_(1_(0_M_LG_FSSMJHCYWEM_PX__C\n\nTHAMES \nSOUTHWEST 6-7, SOON DECREASING 5-6, LAHPYM_PPYFM_PJ_M_YH_ONG_FYJHMZ_ZSS_MSF_DHMYFMZYMWYFAASP_MGHDPMZ_ONAL \nSHOWER.\nGOOD, IN PRECIPIATION MODERATE, FIRST POSSIBLY POOR AND \nSMALL RISK FOG.\nW_PD_F_DH_\nU__UBH_G_PH_Y_MGSHPYMWP_YPJFM\n __P METER_\n,9,_$:_)06.9,*+:_$_0*_._, SOON DECREASING 5-6, VEERING WEST.\nFIRST OCCASIONALLY LIGHT RAIN OR DRIZZLE, THEN OCCASIONAL \nSHOWER.\nGOOD, IN PRECIPIATION MODERATE, FIRST POSSIBLY POOR AND \nSMALL RISK FOG.\nWAVEHEIGHT 2.0-2.5 METER, LATER DEEUED\nX__CC9)_NR_ZZZENEKB_32$_+1-__2(_1__QKXBU_EKQ3_(,1$__-__-__2(_1__DKP__IRST OCCASIONALLY LIGHT RAIN OR DRIZZLE, THEN OCCASIONAL \nSHOWER.\nGOOD, IN PRECIPIATION MODERTP_MG_FYJHM_ZJJFLSEM_ZZYMWMONJ_SSMYFJVM_\n_2-=3_38__5 2.0-3.0 METER.\n\n\nDOGGER \nSOUTHWEST 6-7, SOON TEMPORARILY DECREASING 4-5, VEERING \nWEST.\nOCCASIONAL SHOWER.\n __++2_._!._60/!_!_!+._+206_0_.__!6*_._+**!)'3._++__WAVEHEIGHT 2.0-3.0 METER.\n\n\nFORECAJ_M_SFWMJHCYWEM_PX_MGHFSSMJHCYWEM_ _X_MG_H_ONONHD_PJMON_BKAQDAE_WKAJ_BK_K_BB_K_B_DECREASING 3-4, BACKING \nSOUTHWEST, LATER INCREASING SOUTH 4-5.\nFIRST RISK OF A SHOWER.\nGOOD.\nWAVEHEIGHT 1.5-2.0 METER, DECREASING 1.0-1.5 METER.\n\n\nHUMBER \nWEST TO NORTHWEST 5-6, SOON DECREASING 4-5, DECREASING 3_, \nLATER INCREASING SOUTH 4-5.\nGOOD.\nWAVEHEIGHT 1.5_7_.3534, DECREASING 1.0-1.5 METER.\n\n\n_EYBMLF_DHMON_PJ_M_YHMGFMHDPMJZCHDPYM_Y_M_HEMGJZZMF_YPJFM___M__JK_EBU_EKQ4_RKD_HKDB_E_GOOD.\nWAVEHEIGHT 2.0-3.0 M934, DECREASING 1.5-2.0 METER.\n\n\nDOGGER \nWEST 5-6, SOON DECREASING 4-5, DECREASING 3-4, LATER \nINCREASING SOUTH 4-5.\nFIRST RISK OF A SHOWER.\nGOOD.\nWAVEHEIGHT 2.0-3.0 METER, DECREASING 1.5-2.0 METER.\n\n\n\n\nNNNN",
    "clean_text": "ZCZC PE79\n031306 UTC APR 26\nFORECAST DUTCH EEZ ISSUED AT 11:07 UTC 030426\nALL DISTRICTS SOUTHWEST 7\n\nSYNOPSIS\nLOW, 981,._+_06._$0._6+06._+_/__-_$2_AEKE(_1,:B_PWMHYZC_DJ_Z_PYMHDPMZYHDMJPM_FS_MBZ_PMPJH_Y_J_\nWEAK RIDGE MOVING TO TDPMJZCHDPYM_YHMZ_MHDPMZYHDMJPMFMONHDNM_EGLGLR_ZAE__KQ_BB_QGB_KE_(1_(0_M_LG_FSSMJHCYWEM_PX__C\n\nTHAMES\nSOUTHWEST 6-7, SOON DECREASING 5-6, LAHPYM_PPYFM_PJ_M_YH_ONG_FYJHMZ_ZSS_MSF_DHMYFMZYMWYFAASP_MGHDPMZ_ONAL\nSHOWER.\nGOOD, IN PRECIPIATION MODERATE, FIRST POSSIBLY POOR AND\nSMALL RISK FOG.\nW_PD_F_DH_\nU__UBH_G_PH_Y_MGSHPYMWP_YPJFM\n__P METER_\n,9,_$:_)06.9,*+:_$_0*_._, SOON DECREASING 5-6, VEERING WEST.\nFIRST OCCASIONALLY LIGHT RAIN OR DRIZZLE, THEN OCCASIONAL\nSHOWER.\nGOOD, IN PRECIPIATION MODERATE, FIRST POSSIBLY POOR AND\nSMALL RISK FOG.\nWAVEHEIGHT 2.0-2.5 METER, LATER DEEUED\nX__CC9)_NR_ZZZENEKB_32$_+1-__2(_1__QKXBU_EKQ3_(,1$__-__-__2(_1__DKP__IRST OCCASIONALLY LIGHT RAIN OR DRIZZLE, THEN OCCASIONAL\nSHOWER.\nGOOD, IN PRECIPIATION MODERTP_MG_FYJHM_ZJJFLSEM_ZZYMWMONJ_SSMYFJVM_\n_2-=3_38__5 2.0-3.0 METER.\n\nDOGGER\nSOUTHWEST 6-7, SOON TEMPORARILY DECREASING 4-5, VEERING\nWEST.\nOCCASIONAL SHOWER.\n__++2_._!._60/!_!_!+._+206_0_.__!6*_._+**!)'3._++__WAVEHEIGHT 2.0-3.0 METER.\n\nFORECAJ_M_SFWMJHCYWEM_PX_MGHFSSMJHCYWEM_ _X_MG_H_ONONHD_PJMON_BKAQDAE_WKAJ_BK_K_BB_K_B_DECREASING 3-4, BACKING\nSOUTHWEST, LATER INCREASING SOUTH 4-5.\nFIRST RISK OF A SHOWER.\nGOOD.\nWAVEHEIGHT 1.5-2.0 METER, DECREASING 1.0-1.5 METER.\n\nHUMBER\nWEST TO NORTHWEST 5-6, SOON DECREASING 4-5, DECREASING 3_,\nLATER INCREASING SOUTH 4-5.\nGOOD.\nWAVEHEIGHT 1.5_7_.3534, DECREASING 1.0-1.5 METER.\n\n_EYBMLF_DHMON_PJ_M_YHMGFMHDPMJZCHDPYM_Y_M_HEMGJZZMF_YPJFM___M__JK_EBU_EKQ4_RKD_HKDB_E_GOOD.\nWAVEHEIGHT 2.0-3.0 M934, DECREASING 1.5-2.0 METER.\n\nDOGGER\nWEST 5-6, SOON DECREASING 4-5, DECREASING 3-4, LATER\nINCREASING SOUTH 4-5.\nFIRST RISK OF A SHOWER.\nGOOD.\nWAVEHEIGHT 2.0-3.0 METER, DECREASING 1.5-2.0 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. This is a weather bulletin; readable sections mention fog, rain across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "First occasionally light rain or drizzle, then occasional",
      "X cc9) nr zzzenekb 32$ 1- 2( 1 qkxbu ekq3 (,1$ - - 2( 1 dkp irst occasionally light rain or drizzle, then occasional",
      "Small risk fog"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 70,
    "heading": "2026-04-03 16:09:33 AREA: G",
    "published_at": "2026-04-03 16:09:33",
    "area": "G",
    "message_id": "GA82",
    "text": "ZCZC GA82\nWZ 143/26 \nVIKING. \nBERYL OIL FIELD. \nBERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARILY REMO_ D. \nNNNN",
    "clean_text": "ZCZC GA82\nWZ 143/26\nVIKING.\nBERYL OIL FIELD.\nBERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARILY REMO_ D.\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 remo d.",
    "decoded_highlights": [
      "Beryl spm3 buoy 59-31.7n 001-33.5e temporarily remo d",
      "Beryl oil field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 71,
    "heading": "2026-04-03 16:09:02 AREA: G",
    "published_at": "2026-04-03 16:09:02",
    "area": "G",
    "message_id": "GA89",
    "text": "ZCZC GA89\nWZ 161/26\nCROMARTY.\nHYWIND FLOATING WIND FARM.\n_19_.\n74_8,0.$*_-._:7+_6__._01-21.1W_N FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 39/26 (GA12).\nNNNN",
    "clean_text": "ZCZC GA89\nWZ 161/26\nCROMARTY.\nHYWIND FLOATING WIND FARM.\n_19_.\n74_8,0.$*_-._:7+_6__._01-21.1W_N FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 39/26 (GA12).\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": [
      "CROMARTY"
    ],
    "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. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "74 8,0.$ -. :7 6 . 01-21.1w n fog signal inoperative",
      "Cromarty",
      "Hywind floating wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 72,
    "heading": "2026-04-03 16:08:39 AREA: G",
    "published_at": "2026-04-03 16:08:39",
    "area": "G",
    "message_id": "GA96",
    "text": "ZCZC GA96\nWZ 171/26 \nHUMBER. \nDUDGEON WIND FARM. \nDUDGEZNMJZCHDMLCZEM__P_TN 007-5.6E UNLIT. \nNNNN",
    "clean_text": "ZCZC GA96\nWZ 171/26\nHUMBER.\nDUDGEON WIND FARM.\nDUDGEZNMJZCHDMLCZEM__P_TN 007-5.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: Dudgeon wind farm.",
    "decoded_highlights": [
      "Dudgeon wind farm",
      "Dudgeznmjzchdmlczem p tn 007-5.6e unlit"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 73,
    "heading": "2026-04-03 16:08:02 AREA: G",
    "published_at": "2026-04-03 16:08:02",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\nWZ _QK_B_\nHUMBER. \nNACE BANK WIND FARM. 9 ,3 !9_ '8_,-)' 8,9034-58=3_:\nA. D01, 53-20.1N 000-49.1E. \nBQO\nDMVK_NMH_G M_CGXM\nDZ_HZVC_DV_J_IJE\n_KNDKH_WY K__J29). \nNNNN",
    "clean_text": "ZCZC GA61\nWZ _QK_B_\nHUMBER.\nNACE BANK WIND FARM. 9 ,3 !9_ '8_,-)' 8,9034-58=3_:\nA. D01, 53-20.1N 000-49.1E.\nBQO\nDMVK_NMH_G M_CGXM\nDZ_HZVC_DV_J_IJE\n_KNDKH_WY K__J29).\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. 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": 74,
    "heading": "2026-04-03 16:07:30 AREA: G",
    "published_at": "2026-04-03 16:07:30",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FCELD NORTZAADTW_RDS.\n_ MET MAST 53-10.7N 002-59.1E UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 82/26 (GATCWA_ONGONNII_AZCZC",
    "clean_text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FCELD NORTZAADTW_RDS.\n_ MET MAST 53-10.7N 002-59.1E UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 82/26 (GATCWA_ONGONNII_AZCZC",
    "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: Met mast 53-10.7n 002-59.1e unlit and all navaids inoperative.",
    "decoded_highlights": [
      "Met mast 53-10.7n 002-59.1e unlit and all navaids inoperative",
      "2. cancel wz 82/26 (gatcwa ongonnii azczc",
      "Orwell gas fceld nortzaadtw rds"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 75,
    "heading": "2026-04-03 16:05:44 AREA: T",
    "published_at": "2026-04-03 16:05:44",
    "area": "T",
    "message_id": "",
    "text": "ZCZCNGA94\n2+ 220/26\nTYNE_M\nBL_T\n OFFSHORE DEM_JHY_Z_NI__BMYBP_LFPMLHX__YMIN 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\n_NRHNL_+_-\n____7.+: _-83\nWZBNWKBN_KQTXWY \nSS. 9\n__6_/.___06\n_+! 4/T SERVICE FROM BAW_DK_M_HPM\nH_KZ_N_FF AIR. \nNNNN",
    "clean_text": "ZCZCNGA94\n2+ 220/26\nTYNE_M\nBL_T\nOFFSHORE DEM_JHY_Z_NI__BMYBP_LFPMLHX__YMIN 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\n_NRHNL_+_-\n____7.+: _-83\nWZBNWKBN_KQTXWY\nSS. 9\n__6_/.___06\n_+! 4/T SERVICE FROM BAW_DK_M_HPM\nH_KZ_N_FF AIR.\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 a fog signal outage. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Offshore dem jhy z ni bmybp lfpmlhx ymin 001-23.6w unlit and fog signal inoperative",
      "! 4/t service from baw dk m hpm",
      "Wzbnwkbn kqtxwy"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 76,
    "heading": "2026-04-03 16:04:41 AREA: G",
    "published_at": "2026-04-03 16:04:41",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA!69___-.\n_7_5_9,___2_\nMRCC SHETLAND\n_\n=_9\n___ !49. _43_,3'' '853 57-07.7N 002-03.2W OFF AIR.\n2. CAN_EL WZ 213/26 (GA80).\nNNNONNI_I_\nU___CZC GA02\nWZ 223/26\nHUMBER. _\nSGOOMZJF_FP___XWUATSVLO_12.6E_ _7,_85 -,$ -)) ,-=-8$' 8,9034-58=3. \n2. CANCEL WZ 100/26 (GA52).\nNNNN",
    "clean_text": "ZCZC GA!69___-.\n_7_5_9,___2_\nMRCC SHETLAND\n_\n=_9\n___ !49. _43_,3'' '853 57-07.7N 002-03.2W OFF AIR.\n2. CAN_EL WZ 213/26 (GA80).\nNNNONNI_I_\nU___CZC GA02\nWZ 223/26\nHUMBER. _\nSGOOMZJF_FP___XWUATSVLO_12.6E_ _7,_85 -,$ -)) ,-=-8$' 8,9034-58=3.\n2. 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": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom - North Sea and north-east UK coast. Readable text says: 2. can el wz 213/26 (ga80). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "2. can el wz 213/26 (ga80)",
      "Mrcc shetland",
      "2. cancel wz 100/26 (ga52)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 77,
    "heading": "2026-04-03 16:03:45 AREA: G",
    "published_at": "2026-04-03 16:03:45",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GAQHUMBER. \nINNER BANK. \nPLATFORM SOUTHWARK 53-8\n.($ 0!T_FG_MCLIT AND ALL NAVAI_SC__ZIPY_O9,L_IIIRLLU_ZXAXMU_CO\nG_AM\nUKE\nCP_WVSNR__BS_Q_\nROEKQB__\n1. PLATFORM 49/23E, __ _, 002-29.1E, FOG SIGNAL INOPERATIVE.\n2. _:-,:3) 2+ 104/26 (GA54).\n,_!!__\n,-ZCZC",
    "clean_text": "ZCZC GAQHUMBER.\nINNER BANK.\nPLATFORM SOUTHWARK 53-8\n.($ 0!T_FG_MCLIT AND ALL NAVAI_SC__ZIPY_O9,L_IIIRLLU_ZXAXMU_CO\nG_AM\nUKE\nCP_WVSNR__BS_Q_\nROEKQB__\n1. PLATFORM 49/23E, __ _, 002-29.1E, FOG SIGNAL INOPERATIVE.\n2. _:-,:3) 2+ 104/26 (GA54).\n,_!!__\n,-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": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom - North Sea and north-east UK coast. Readable text reports a fog signal outage. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. platform 49/23e, , 002-29.1e, fog signal inoperative",
      "Inner bank",
      "Platform southwark 53-8"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 78,
    "heading": "2026-04-03 16:03:10 AREA: T",
    "published_at": "2026-04-03 16:03:10",
    "area": "T",
    "message_id": "",
    "text": "ZCZXM_N _BN_Z_-99!8- 9!!'_943 28,$ !-4.. \n1. BUOYS UNLIT: \nA. NQ_ TTAP__GX_\n_UZ_HHH__OO_MS_N_ 0_27_C_Z 9_(7-S_YV_XY\nNNNN",
    "clean_text": "ZCZXM_N _BN_Z_-99!8- 9!!'_943 28,$ !-4..\n1. BUOYS UNLIT:\nA. NQ_ TTAP__GX_\n_UZ_HHH__OO_MS_N_ 0_27_C_Z 9_(7-S_YV_XY\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: 1. buoys unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. buoys unlit"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 79,
    "heading": "2026-04-03 16:01:58 AREA: G",
    "published_at": "2026-04-03 16:01:58",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GL_PYONMG_S_M_HK3_8 UTC\n\n VIKI_ SEVQCTM_S_M_ZYXPMABHSK__7=__97_7_EKQGEBEK_NB__ET_BD\nI_\nDD_F_S__IISE FORCE 8 VEERING APFHPYS_IIUMMINENT\nHONNINNIIIK_UCZV_XV__L WZ 243/2$\n9___+6_$_\nNEAL_MM_ZK_WINDFARM+=_)/_9-__'_6-14.5N 002-08_-(8RVLR_C_QWQ_W_TYAQWMEN 002-09.8W AFJMFZ_PYHF\nP_BM_\n__M_XKZ\nF_O_EPXWY KGA73). \nNNNN",
    "clean_text": "ZCZC GL_PYONMG_S_M_HK3_8 UTC\n\nVIKI_ SEVQCTM_S_M_ZYXPMABHSK__7=__97_7_EKQGEBEK_NB__ET_BD\nI_\nDD_F_S__IISE FORCE 8 VEERING APFHPYS_IIUMMINENT\nHONNINNIIIK_UCZV_XV__L WZ 243/2$\n9___+6_$_\nNEAL_MM_ZK_WINDFARM+=_)/_9-__'_6-14.5N 002-08_-(8RVLR_C_QWQ_W_TYAQWMEN 002-09.8W AFJMFZ_PYHF\nP_BM_\n__M_XKZ\nF_O_EPXWY KGA73).\nNNNN",
    "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: Dd f s iise force 8 veering apfhpys iiumminent. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Dd f s iise force 8 veering apfhpys iiumminent"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 83,
    "heading": "2026-04-03 14:30:19 AREA: V",
    "published_at": "2026-04-03 14:30:19",
    "area": "V",
    "message_id": "VA76",
    "text": "ZCZC VA76\n031007 UTC APR 2026 \nWZ 247/26 \n1_ WZ MESSAGES IN FORCE (NAVTEX NUMBERS)(SEA _ AT 051000 UTC APR 2026: \n143/26 (GA82)(1) \n_3 573.=__!+!.*.971/26 (GA96)(4) \n180/26 (GA61)(4) \n182/26 (EA21)(9) \n183/26 (VA63)(5) \n1,_\n1975-3.=_) \n204/26 (GA71)(4) \n207/26 (GA74)(4) \n214/26 (GA81)(2-4) \n_/26 (EA40)(GA83)(VA69)(4-6) \n220/26 (GA94)(3) \n221/26 (GA15)(3) \n223/26 (GA02)(4-5) \n225/26 (GA04)(1-3) \n226/26 (GA07)(4) \n02_,_03.=_+ :\n_\n./*9_CNCHKPO_HECNMKE\nR_EAK__A_LKIL \n240/26 (EA49) \n242/26 (VA75)(5) \n5277__3_=___ !_=_'._,_/26 (Z_N__ HSMON_CANCEL THIS MSG.\nNNNN",
    "clean_text": "ZCZC VA76\n031007 UTC APR 2026\nWZ 247/26\n1_ WZ MESSAGES IN FORCE (NAVTEX NUMBERS)(SEA _ AT 051000 UTC APR 2026:\n143/26 (GA82)(1)\n_3 573.=__!+!.*.971/26 (GA96)(4)\n180/26 (GA61)(4)\n182/26 (EA21)(9)\n183/26 (VA63)(5)\n1,_\n1975-3.=_)\n204/26 (GA71)(4)\n207/26 (GA74)(4)\n214/26 (GA81)(2-4)\n_/26 (EA40)(GA83)(VA69)(4-6)\n220/26 (GA94)(3)\n221/26 (GA15)(3)\n223/26 (GA02)(4-5)\n225/26 (GA04)(1-3)\n226/26 (GA07)(4)\n02_,_03.=_+ :\n_\n./*9_CNCHKPO_HECNMKE\nR_EAK__A_LKIL\n240/26 (EA49)\n242/26 (VA75)(5)\n5277__3_=___ !_=_'._,_/26 (Z_N__ HSMON_CANCEL THIS MSG.\nNNNN",
    "display_region_heading": "Unresolved B1 code V",
    "display_region_label": "B1 code V",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code V. 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": 89,
    "heading": "2026-04-03 14:14:10 AREA: T",
    "published_at": "2026-04-03 14:14:10",
    "area": "T",
    "message_id": "TA13",
    "text": "ZCZC TA13\n262038 UTC MARM\nNGZZJHPWPYW-_19MNCHKP_AARGEUL 1 \n/)8_,__+3.\n____ 76_:0_88_002-56.78_0.2_!__!_.9,_*$!$_ 8' ___:0*_02._+.60_+6_.*!_$___.9,__+.+*_02._+___:629,_9888__ZCZC",
    "clean_text": "ZCZC TA13\n262038 UTC MARM\nNGZZJHPWPYW-_19MNCHKP_AARGEUL 1\n/)8_,__+3.\n____ 76_:0_88_002-56.78_0.2_!__!_.9,_*$!$_ 8' ___:0*_02._+.60_+6_.*!_$___.9,__+.+*_02._+___:629,_9888__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 says: Ngzzjhpwpyw- 19mnchkp aargeul 1. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ngzzjhpwpyw- 19mnchkp aargeul 1"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 90,
    "heading": "2026-04-03 14:13:41 AREA: T",
    "published_at": "2026-04-03 14:13:41",
    "area": "T",
    "message_id": "TA16",
    "text": "ZCZC TA16\n2+____=_ .-4\nOOSTENDERADIO MSI 134/26\nTSS-WESTHINDER\nM/V ST. CLEMENS\nANCHOR AND CHAIN LOST IN POS 51-24.40N _02-39.57E\n\nNNNN",
    "clean_text": "ZCZC TA16\n2+____=_ .-4\nOOSTENDERADIO MSI 134/26\nTSS-WESTHINDER\nM/V ST. CLEMENS\nANCHOR AND CHAIN LOST IN POS 51-24.40N _02-39.57E\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": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Anchor and chain lost in pos 51-24.40n 02-39.57e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Anchor and chain lost in pos 51-24.40n 02-39.57e",
      "Tss-westhinder",
      "M/v st. clemens"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 94,
    "heading": "2026-04-03 14:10:20 AREA: T",
    "published_at": "2026-04-03 14:10:20",
    "area": "T",
    "message_id": "TA26",
    "text": "ZCZC TA26\n031100 UTC__\nOOSTENDERADIO MSI IN FOR_E 14/26\n__ MSI IN FORCE (_AVTTX NUMBERS) AT 031100 M___YMNKA____$_0_44*2_23)\nMSI 143 (TA22)\n_ 142 (TA21)\nMSI 134 (TA16)\nMSI 132 (TA13) \nM___SP_S_IXG_VQ_ZE KTA11)\nMSI 119 (TA04)\nMSI 107 (TA87)\nMSI 101 (TA81)\nMSI 027\n=___++9,__*!._6:3___..____$_*+_=__,90_(_+_85)\nMSI 350/25 ($5-79)\nMSI 311/25 (TA45)\nMSI 544/24 (TA02) \nMSI 543/24 (TA96) \nMSI 189/_, !5-19)\n\n2. CANCEL THIS MSG\nNNNN",
    "clean_text": "ZCZC TA26\n031100 UTC__\nOOSTENDERADIO MSI IN FOR_E 14/26\n__ MSI IN FORCE (_AVTTX NUMBERS) AT 031100 M___YMNKA____$_0_44*2_23)\nMSI 143 (TA22)\n_ 142 (TA21)\nMSI 134 (TA16)\nMSI 132 (TA13)\nM___SP_S_IXG_VQ_ZE KTA11)\nMSI 119 (TA04)\nMSI 107 (TA87)\nMSI 101 (TA81)\nMSI 027\n=___++9,__*!._6:3___..____$_*+_=__,90_(_+_85)\nMSI 350/25 ($5-79)\nMSI 311/25 (TA45)\nMSI 544/24 (TA02)\nMSI 543/24 (TA96)\nMSI 189/_, !5-19)\n\n2. CANCEL THIS MSG\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: Oostenderadio msi in for e 14/26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Oostenderadio msi in for e 14/26",
      "2. cancel this msg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 95,
    "heading": "2026-04-03 14:08:03 AREA: S",
    "published_at": "2026-04-03 14:08:03",
    "area": "S",
    "message_id": "SE67",
    "text": "ZCZC SE67\n031100 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST JOR GERMMLF_DHONONG_YF_E_WIND: SOU_SV_$._'+_''3._:._*$!__!._0*_._+.+6_$_0_\nVISIBILITY/WEHDPY_RAIN OR SHOWER_H PARTLY POO_M_FJFLFSFHE_SEA: 3 METER.\n\nSATURDAY:\nWIND: WESTERLY WINDS 6, LOCALLY 7, FOR A TIME DACRAASIN_ 4, SHIFTING\nSOUTH LATER.\nVISIBILITY/WEATHER: LOCALLY SHOWER WITH POOR VISIBILITY.\nSEA: 2,5 METER, WESTERN PART LATER 3 METER.\nNNNN",
    "clean_text": "ZCZC SE67\n031100 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST JOR GERMMLF_DHONONG_YF_E_WIND: SOU_SV_$._'+_''3._:._*$!__!._0*_._+.+6_$_0_\nVISIBILITY/WEHDPY_RAIN OR SHOWER_H PARTLY POO_M_FJFLFSFHE_SEA: 3 METER.\n\nSATURDAY:\nWIND: WESTERLY WINDS 6, LOCALLY 7, FOR A TIME DACRAASIN_ 4, SHIFTING\nSOUTH LATER.\nVISIBILITY/WEATHER: LOCALLY SHOWER WITH POOR VISIBILITY.\nSEA: 2,5 METER, WESTERN PART LATER 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: Visibility/weather: locally shower with poor visibility. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Visibility/weather: locally shower with poor visibility",
      "Visibility/wehdpy rain or shower h partly poo m fjflfsfhe sea: 3 meter",
      "Weatherforecast jor germmlf dhonong yf e wind: sou sv $. ' ''3. :. $! !. 0 . . 6 $ 0"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 97,
    "heading": "2026-04-03 14:06:51 AREA: S",
    "published_at": "2026-04-03 14:06:51",
    "area": "S",
    "message_id": "SA75",
    "text": "ZCZC SA75\nNCC-HOLCY_ON\nUC_HMG_HM_Y_\n_NAV. WARN. NO. 183\nEAST FRISIAN ISLANDS.JUIST.\n 'JUI_T_AN'  LIGHTBUOY  53-44N  006-55E MISSING.\nNNNN",
    "clean_text": "ZCZC SA75\nNCC-HOLCY_ON\nUC_HMG_HM_Y_\n_NAV. WARN. NO. 183\nEAST FRISIAN ISLANDS.JUIST.\n'JUI_T_AN' LIGHTBUOY 53-44N 006-55E MISSING.\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: 'jui t an' lightbuoy 53-44n 006-55e missing. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "'jui t an' lightbuoy 53-44n 006-55e missing",
      "East frisian islands.juist",
      "Nav. warn. no. 183"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 102,
    "heading": "2026-04-03 14:02:52 AREA: S",
    "published_at": "2026-04-03 14:02:52",
    "area": "S",
    "message_id": "SA83",
    "text": "ZCZC SA83\nNCC-HAMBURG\n0204_5: -04 26\nNAV. ___NO. 194\nGERMAN BIGHT. WEISSE BANK.\nSURVEY ZVERATIONS BY MV 'FUGRO SYNERGY*=__*.\n*_/_3_56_0*9,_6+:2._+*!_!+.__66:0_.\n_58,3E\nRESTRICTED MANOEVYLFSFH_MWCYF_MZPYHFZJ_ONIIIOF 2__MYP_CPJHPW_NNNN",
    "clean_text": "ZCZC SA83\nNCC-HAMBURG\n0204_5: -04 26\nNAV. ___NO. 194\nGERMAN BIGHT. WEISSE BANK.\nSURVEY ZVERATIONS BY MV 'FUGRO SYNERGY*=__*.\n*_/_3_56_0*9,_6+:2._+*!_!+.__66:0_.\n_58,3E\nRESTRICTED MANOEVYLFSFH_MWCYF_MZPYHFZJ_ONIIIOF 2__MYP_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: Survey zverations by mv 'fugro synergy. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Survey zverations by mv 'fugro synergy",
      "Restricted manoevylfsfh mwcyf mzpyhfzj oniiiof 2 myp cpjhpw nnnn",
      "German bight. weisse bank"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 104,
    "heading": "2026-04-03 13:29:55 AREA: P",
    "published_at": "2026-04-03 13:29:55",
    "area": "P",
    "message_id": "PB31",
    "text": "ZCZC PB31\n030728 UTC APR 26\nGALEWARNING, 03 APR 07:25 UTC.\nDOGGER. GERMAMLF_DH\n_MG_C_LP__THAMES. DOVER.\nSOUTHWEST ,\n,99,9,9,_9,,(((((((((((((((((7_4_,2_\n!4,__\n7_+: '-86\nNCC-HAMBURG\n030615 UTC APR 26\nNAV. WARN. NO. 199\n1. NAVTX- AREA (S) WANGS IN FORCE AT 030615 UTC APN 26:\n2026:  129 183 187 189 191 192 194 196\nNOTES:\nA. NAVTEXV_ AREA (S) W_MFO_S LESS THAN 42 DAYS OLZ_\nV_UZMGZ_YW_SMGYPONIIICKG_ZBCSHPWONGL_M_HPTMHYJ_FHHPYM_FPLPY_ON_L_HE COMPLETE TEXTS OF ALL IN- FORCE NAVTEX- __6)_=_) WARNINGS,\nINCLUDING THOSE WHICH ARE NO\nLONGER BEING BROADCAST, ARE AVAILABLE FRO_MHDPMLJDM_PLJFHPMHI_ONKIIKW2.BSH.DE/AKTDAT/NWN/_7__+62___W_ON_2.BSH.DE/AKTDAT/NWN/NWN-OST.PDF\n2. CANCEL NAV. WARN_NO. 182.\nNNNN",
    "clean_text": "ZCZC PB31\n030728 UTC APR 26\nGALEWARNING, 03 APR 07:25 UTC.\nDOGGER. GERMAMLF_DH\n_MG_C_LP__THAMES. DOVER.\nSOUTHWEST ,\n,99,9,9,_9,,(((((((((((((((((7_4_,2_\n!4,__\n7_+: '-86\nNCC-HAMBURG\n030615 UTC APR 26\nNAV. WARN. NO. 199\n1. NAVTX- AREA (S) WANGS IN FORCE AT 030615 UTC APN 26:\n2026: 129 183 187 189 191 192 194 196\nNOTES:\nA. NAVTEXV_ AREA (S) W_MFO_S LESS THAN 42 DAYS OLZ_\nV_UZMGZ_YW_SMGYPONIIICKG_ZBCSHPWONGL_M_HPTMHYJ_FHHPYM_FPLPY_ON_L_HE COMPLETE TEXTS OF ALL IN- FORCE NAVTEX- __6)_=_) WARNINGS,\nINCLUDING THOSE WHICH ARE NO\nLONGER BEING BROADCAST, ARE AVAILABLE FRO_MHDPMLJDM_PLJFHPMHI_ONKIIKW2.BSH.DE/AKTDAT/NWN/_7__+62___W_ON_2.BSH.DE/AKTDAT/NWN/NWN-OST.PDF\n2. CANCEL NAV. WARN_NO. 182.\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: V uzmgz yw smgyponiiickg zbcshpwongl m hptmhyj fhhpym fplpy on l he complete texts of all in- force navtex- 6) ) warnings. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "V uzmgz yw smgyponiiickg zbcshpwongl m hptmhyj fhhpym fplpy on l he complete texts of all in- force navtex- 6) ) warnings",
      "Galewarning, 03 apr 07:25 utc",
      "A. navtexv area (s) w mfo s less than 42 days olz"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 105,
    "heading": "2026-04-03 12:51:49 AREA: G",
    "published_at": "2026-04-03 12:51:49",
    "area": "G",
    "message_id": "GB34",
    "text": "ZCZC GB34\n GALE WARNING FRIDAY 03 APRIL 0948 UTC\n\n VIKING\n SEVGDVM_SQM_ZYXPM\nZMGL_G SOUTHERLY AND DECREASING GALE FORCE 8 IMMINENT\n\n FAIR ISLE\n GALE FORCQ _FMG_PPYFM_PJHPYS_II_MMINENT\nNNNN",
    "clean_text": "ZCZC GB34\nGALE WARNING FRIDAY 03 APRIL 0948 UTC\n\nVIKING\nSEVGDVM_SQM_ZYXPM\nZMGL_G SOUTHERLY AND DECREASING GALE FORCE 8 IMMINENT\n\nFAIR ISLE\nGALE FORCQ _FMG_PPYFM_PJHPYS_II_MMINENT\nNNNN",
    "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: Zmgl g southerly and decreasing gale force 8 imminent. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Zmgl g southerly and decreasing gale force 8 imminent",
      "Gale warning friday 03 april 0948 utc",
      "Gale forcq fmg ppyfm pjhpys ii mminent"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 106,
    "heading": "2026-04-03 12:42:57 AREA: K",
    "published_at": "2026-04-03 12:42:57",
    "area": "K",
    "message_id": "KA26",
    "text": "ZCZC KA26\n_-=6/26_\nDOVER 8__$75 =8_-5 _2,)_ :-_589$\nN_NNO\nN__KK_\nUUU_ZCZC",
    "clean_text": "ZCZC KA26\n_-=6/26_\nDOVER 8__$75 =8_-5 _2,)_ :-_589$\nN_NNO\nN__KK_\nUUU_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. 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": 107,
    "heading": "2026-04-03 12:07:13 AREA: G",
    "published_at": "2026-04-03 12:07:13",
    "area": "G",
    "message_id": "GA82",
    "text": "ZCZC GA82\nWZ 143/26 \nVIKING. \nBERYL OIL FIELD. \nBERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARILY REMOVED. \nNNNN",
    "clean_text": "ZCZC GA82\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": "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": 108,
    "heading": "2026-04-03 12:06:42 AREA: G",
    "published_at": "2026-04-03 12:06:42",
    "area": "G",
    "message_id": "GA89",
    "text": "ZCZC GA89\nWZ 161/26\nCROMARTY.\nHYWIND FLOATING WIND FARM.\n1. TURBINE HS2, 57-29.4N 001-21.1W, FOG SIGNAL INOPERATIVE.\n_2. CANCEL WZ _EOXWY KGA12).\nNNNN",
    "clean_text": "ZCZC GA89\nWZ 161/26\nCROMARTY.\nHYWIND FLOATING WIND FARM.\n1. TURBINE HS2, 57-29.4N 001-21.1W, FOG SIGNAL INOPERATIVE.\n_2. CANCEL WZ _EOXWY KGA12).\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": [
      "CROMARTY"
    ],
    "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 57-29.4N 001-21.1W.",
    "decoded_highlights": [
      "1. turbine hs2, 57-29.4n 001-21.1w, fog signal inoperative",
      "Cromarty",
      "Hywind floating wind farm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 109,
    "heading": "2026-04-03 12:06:19 AREA: G",
    "published_at": "2026-04-03 12:06:19",
    "area": "G",
    "message_id": "GA96",
    "text": "ZCZC GA96\nWZ 171/26 \nHUMBER. \nDUDGEON WIND FARM. \nDUDGEON SOUTH BUOY 53-12.5N 00 7_8_8(_3_0.:'!_ __9,,888_ZCZC",
    "clean_text": "ZCZC GA96\nWZ 171/26\nHUMBER.\nDUDGEON WIND FARM.\nDUDGEON SOUTH BUOY 53-12.5N 00 7_8_8(_3_0.:'!_ __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. Readable text says: Dudgeon south buoy 53-12.5n 00 7 8 8( 3 0.:'! 9,,888 zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Dudgeon south buoy 53-12.5n 00 7 8 8( 3 0.:'! 9,,888 zczc",
      "Dudgeon wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 110,
    "heading": "2026-04-03 12:05:42 AREA: G",
    "published_at": "2026-04-03 12:05:42",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\nWZ 180/26 \nHUMBER. \nRACE BANK WIND FARM_\n1. TCYLFPM+_.*!_'*.!+_06_!_08_((\n/.9,__$01, 53-20.1N 000-49.1K\n_MONGL_S01, 53-15.7N 000-55.9E. \n2. CANCEL WZ 58/26 (GA29). \nNNNN",
    "clean_text": "ZCZC GA61\nWZ 180/26\nHUMBER.\nRACE BANK WIND FARM_\n1. TCYLFPM+_.*!_'*.!+_06_!_08_((\n/.9,__$01, 53-20.1N 000-49.1K\n_MONGL_S01, 53-15.7N 000-55.9E.\n2. 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: Mongl s01, 53-15.7n 000-55.9e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mongl s01, 53-15.7n 000-55.9e",
      "Race bank wind farm",
      "2. cancel wz 58/26 (ga29)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 111,
    "heading": "2026-04-03 12:05:10 AREA: G",
    "published_at": "2026-04-03 12:05:10",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N 002-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 NORTHWESTWARDS.\n1. MET MAST 53-10.7N 002-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: 1. met mast 53-10.7n 002-59.1e unlit and all navaids inoperative.",
    "decoded_highlights": [
      "1. met mast 53-10.7n 002-59.1e unlit and all navaids inoperative",
      "Orwell gas field northwestwards",
      "2. cancel wz 82/26 (ga42)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 112,
    "heading": "2026-04-03 12:04:40 AREA: G",
    "published_at": "2026-04-03 12:04:40",
    "area": "G",
    "message_id": "GA74",
    "text": "ZCZC GA74\nWZ 207/26 \nHUMBER. \nRAVENSPURN NORTH GAS FIELD. \nPLATFORM NOYHDM_YPT_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 NOYHDM_YPT_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 noyhdm ypt st2, 54-03.2n 001-02.0e, unlit and all navaids inoperative.",
    "decoded_highlights": [
      "Platform noyhdm ypt st2, 54-03.2n 001-02.0e, unlit and all navaids inoperative",
      "Ravenspurn north gas field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 113,
    "heading": "2026-04-03 12:04:15 AREA: G",
    "published_at": "2026-04-03 12:04:15",
    "area": "G",
    "message_id": "GAQ",
    "text": "ZCZC GAQ\nWZ 214/26 \nGMDSS. \nMRCC HUMBER. \nMF R/T SERVICE FROM CULLERCOATS SITE 55-04.4N 001-27.8W OFF AIR. \nNNNN",
    "clean_text": "ZCZC GAQ\nWZ 214/26\nGMDSS.\nMRCC 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": 114,
    "heading": "2026-04-03 12:03:51 AREA: G",
    "published_at": "2026-04-03 12:03:51",
    "area": "G",
    "message_id": "GA83",
    "text": "ZCZC GA83\nWZ 215/26 \nGMDSS. \nMRCC DOVER. \nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N \n_ UY_HGPMZ_IR. \nNNNN",
    "clean_text": "ZCZC GA83\nWZ 215/26\nGMDSS.\nMRCC DOVER.\nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N\n_ UY_HGPMZ_IR.\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": [
      "Mf r/t service from bawdsey site 51-59.6n",
      "Mrcc dover"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 115,
    "heading": "2026-04-03 12:03:24 AREA: G",
    "published_at": "2026-04-03 12:03:24",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA94__9\n_20/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__9\n_20/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": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice 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": 116,
    "heading": "2026-04-03 12:02:51 AREA: G",
    "published_at": "2026-04-03 12:02:51",
    "area": "G",
    "message_id": "GA02",
    "text": "ZCZC GA02\nWZ 223/26\nHUMBER. \nLEMAN GAS FIELD. \n1. PLATFORM 49/2 53$ 53-03.6N 002-12.6E, UNLFHMWMSSM_FWJMFZ_PYHF\nP_BM_CANCEL WZ 100/26 (GA52).\nNNNN",
    "clean_text": "ZCZC GA02\nWZ 223/26\nHUMBER.\nLEMAN GAS FIELD.\n1. PLATFORM 49/2 53$ 53-03.6N 002-12.6E, UNLFHMWMSSM_FWJMFZ_PYHF\nP_BM_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/2 53$ 53-03.6n 002-12.6e, unlfhmwmssm fwjmfz pyhf.",
    "decoded_highlights": [
      "1. platform 49/2 53$ 53-03.6n 002-12.6e, unlfhmwmssm fwjmfz pyhf",
      "P bm cancel wz 100/26 (ga52)",
      "Leman gas field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 117,
    "heading": "2026-04-03 12:02:21 AREA: G",
    "published_at": "2026-04-03 12:02:21",
    "area": "G",
    "message_id": "GA04",
    "text": "ZCZC GA04\n2-=\n_7_57_9_$''.\nMRCC SHETLAND.\n1. MF R/T AND DSC SERVICES FROM GREGNESS SITM\nHC_GXXLONG:(_,::9_-84.\n2. CANCEL WZ 213/26 (GA80).\nNNNN",
    "clean_text": "ZCZC GA04\n2-=\n_7_57_9_$''.\nMRCC SHETLAND.\n1. MF R/T AND DSC SERVICES FROM GREGNESS SITM\nHC_GXXLONG:(_,::9_-84.\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. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. mf r/t and dsc services from gregness sitm",
      "Mrcc shetland",
      "2. cancel wz 213/26 (ga80)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 118,
    "heading": "2026-04-03 12:01:50 AREA: G",
    "published_at": "2026-04-03 12:01:50",
    "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 INOPERATIVE.\n2. CANCEL WZ __TUEMVG_HYS_ONGONNIII_ZCZC",
    "clean_text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 53-11.9N 002-29.1E, FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ __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": [
      "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. Readable text reports a fog signal outage near 53-11.9N 002-29.1E.",
    "decoded_highlights": [
      "1. platform 49/23e, 53-11.9n 002-29.1e, fog signal inoperative",
      "Bessemer gas field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 119,
    "heading": "2026-04-03 12:01:24 AREA: G",
    "published_at": "2026-04-03 12:01:24",
    "area": "G",
    "message_id": "GA12",
    "text": "ZCZC GA12\nWZ 232/26 \nHUMBER. \nINNER BANK. \nPLATFORM SOUTHWARK 53-11.0N 002-05.8E UNLIT AND ALL NAVAIDS INOPERATIVE.\nNNNN",
    "clean_text": "ZCZC GA12\nWZ 232/26\nHUMBER.\nINNER BANK.\nPLATFORM SOUTHWARK 53-11.0N 002-05.8E 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",
      "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: Platform southwark 53-11.0n 002-05.8e unlit and all navaids inoperative.",
    "decoded_highlights": [
      "Platform southwark 53-11.0n 002-05.8e unlit and all navaids inoperative",
      "Inner bank"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 120,
    "heading": "2026-04-03 12:00:50 AREA: G",
    "published_at": "2026-04-03 12:00:50",
    "area": "G",
    "message_id": "GA15",
    "text": "ZCZC GA15\nWZ 221/26 \nDOGGER. \nSOFIA OFFSHORE WIND FARM. \n1. BUOYS USFH_\nA. N1 55-08.1N 002-09.5E. \nB. E5 54-51.5N 002-20.7E. \n2. CANCEL WZ 95/26 (G5 \nNNNN",
    "clean_text": "ZCZC GA15\nWZ 221/26\nDOGGER.\nSOFIA OFFSHORE WIND FARM.\n1. BUOYS USFH_\nA. N1 55-08.1N 002-09.5E.\nB. E5 54-51.5N 002-20.7E.\n2. CANCEL WZ 95/26 (G5\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": [
      "DOGGER",
      "SOFIA OFFSHORE WIND FARM"
    ],
    "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 usfh.",
    "decoded_highlights": [
      "1. buoys usfh",
      "Sofia offshore wind farm",
      "2. cancel wz 95/26 (g5"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 121,
    "heading": "2026-04-03 12:00:14 AREA: G",
    "published_at": "2026-04-03 12:00:14",
    "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-89_ -8' 8,9034-58=3. \n2. CANCEL WZ 130/26 (GA73). \n)._\n)*_\n_ZCZC",
    "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-89_ -8' 8,9034-58=3.\n2. CANCEL WZ 130/26 (GA73).\n)._\n)*_\n_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. nng e buoy 56-14.3n 002-08.6w and nng s buoy 56-12.3n 002-89 -8' 8,9034-58 3. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. nng e buoy 56-14.3n 002-08.6w and nng s buoy 56-12.3n 002-89 -8' 8,9034-58 3",
      "Neart na gaoithe windfarm",
      "2. cancel wz 130/26 (ga73)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 122,
    "heading": "2026-04-03 11:40:39 AREA: E",
    "published_at": "2026-04-03 11:40:39",
    "area": "E",
    "message_id": "EE96",
    "text": "ZCZC EE96\nEE96\nIUJD BY_ICE AT _70=(_)3 2-4,8,_': O_MIDNIG_HTNGP_MSZ_O __5 BYM_MIDN_R WIGHT\nS O  SWEK\n TO 7, VJ__IO_TH FOR A TIME: RAIN OD DRIZA_PMGPORTLAND PLYMO_TH\n_W 4 TO _YV MO_ _YMYZM_ PORTLAND. RAIN O_UDC_OO_YW_Z_F QV\n_Q\n_\n TO 4 L4. MOD __ DZ__MGHIOM_AIN _R SHWRS__ _KOOFU\n_\nK\nB_E_PZGIPD ___YMYPJONGONNII___ADCZC EA49\n_-2248Z MARCWQ__N 00_9,,87_2__+2__-__5_)__(+ 2_\n5_*.$\n__7___7___2/+:_: 3_$_7_\n2+ 19__26 \nLU_D_AZS_2_-2ZC__W\nWZ 185/2_5_,2\n_0\n__=5___1_\n_0ZFZC EAWWQ\nWZ 182_26 \nLUNDY. \nSPANIEL_B_Z.\n).__8.__ZCZC",
    "clean_text": "ZCZC EE96\nEE96\nIUJD BY_ICE AT _70=(_)3 2-4,8,_': O_MIDNIG_HTNGP_MSZ_O __5 BYM_MIDN_R WIGHT\nS O SWEK\nTO 7, VJ__IO_TH FOR A TIME: RAIN OD DRIZA_PMGPORTLAND PLYMO_TH\n_W 4 TO _YV MO_ _YMYZM_ PORTLAND. RAIN O_UDC_OO_YW_Z_F QV\n_Q\n_\nTO 4 L4. MOD __ DZ__MGHIOM_AIN _R SHWRS__ _KOOFU\n_\nK\nB_E_PZGIPD ___YMYPJONGONNII___ADCZC EA49\n_-2248Z MARCWQ__N 00_9,,87_2__+2__-__5_)__(+ 2_\n5_*.$\n__7___7___2/+:_: 3_$_7_\n2+ 19__26\nLU_D_AZS_2_-2ZC__W\nWZ 185/2_5_,2\n_0\n__=5___1_\n_0ZFZC EAWWQ\nWZ 182_26\nLUNDY.\nSPANIEL_B_Z.\n).__8.__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",
      "LUNDY",
      "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 ice, rain across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Iujd by ice at 70 ( )3 2-4,8, ': o midnig htngp msz o 5 bym midn r wight",
      "To 7, vj io th for a time: rain od driza pmgportland plymo th",
      "0zfzc eawwq"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 123,
    "heading": "2026-04-03 11:40:14 AREA: T",
    "published_at": "2026-04-03 11:40:14",
    "area": "T",
    "message_id": "",
    "text": "ZCOCK_XCWV0\n_\n+_\n__0(_9_69_0_4_=9(3___(__.$_+___534)6_='_.__6/\n.\n!._8)__TER\nNNN_\n\n__B___ZCZC",
    "clean_text": "ZCOCK_XCWV0\n_\n+_\n__0(_9_69_0_4_=9(3___(__.$_+___534)6_='_.__6/\n.\n!._8)__TER\nNNN_\n\n__B___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: Zcock xcwv0. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Zcock xcwv0"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 124,
    "heading": "2026-04-03 10:33:53 AREA: P",
    "published_at": "2026-04-03 10:33:53",
    "area": "P",
    "message_id": "PB30",
    "text": "ZCZC PB30\n030728 UTC APR 26\nGALEWARNING, 03 APR 07:25 UTC.\nDOGGER. GERMAN BIGHT. HUMBER. THAMES. DOVER.\nSOUTHWEST 7.\n\n\n\nNNNN",
    "clean_text": "ZCZC PB30\n030728 UTC APR 26\nGALEWARNING, 03 APR 07:25 UTC.\nDOGGER. GERMAN BIGHT. HUMBER. THAMES. DOVER.\nSOUTHWEST 7.\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, 03 apr 07:25 utc.",
    "decoded_highlights": [
      "Galewarning, 03 apr 07:25 utc",
      "Dogger. german bight. humber. thames. dover",
      "Southwest 7"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 125,
    "heading": "2026-04-03 10:31:21 AREA: V",
    "published_at": "2026-04-03 10:31:21",
    "area": "V",
    "message_id": "VA63",
    "text": "ZCZC VA63\n081043 ___/._6_\n_\nWZ 183/26 \nTHAMES. \nEAST ANGLIA ONE WIND FARM. \nTURBINE G27, 52-09.8N 002-33.5E, FOG SIGNAL INOPERATIVE. \nNNNN",
    "clean_text": "ZCZC VA63\n081043 ___/._6_\n_\nWZ 183/26\nTHAMES.\nEAST ANGLIA ONE WIND FARM.\nTURBINE G27, 52-09.8N 002-33.5E, FOG SIGNAL INOPERATIVE.\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. Readable text reports a fog signal outage near 52-09.8N 002-33.5E. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Turbine g27, 52-09.8n 002-33.5e, fog signal inoperative",
      "East anglia one wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 128,
    "heading": "2026-04-03 10:19:17 AREA: T",
    "published_at": "2026-04-03 10:19:17",
    "area": "T",
    "message_id": "TA99",
    "text": "ZCZC TA99\n141654 U_AN\nOOSTENDERADIO MSI 027/26\nBE EEZ\nHYDROGRAPHICAL INSTRU_ ESTABSFJDPWMF-09_$_!__'_52:8::)_,_*$!__ 8' 43173'53$ ,95 59 !8*$.+6._+._94 8, 5_3 =8:8,856\nNNNN",
    "clean_text": "ZCZC TA99\n141654 U_AN\nOOSTENDERADIO MSI 027/26\nBE EEZ\nHYDROGRAPHICAL INSTRU_ ESTABSFJDPWMF-09_$_!__'_52:8::)_,_*$!__ 8' 43173'53$ ,95 59 !8*$.+6._+._94 8, 5_3 =8:8,856\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. 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": 130,
    "heading": "2026-04-03 10:17:16 AREA: T",
    "published_at": "2026-04-03 10:17:16",
    "area": "T",
    "message_id": "TA87",
    "text": "ZCZC TA87\n17_7_5: .-4\nOOSTENDERADIO MSI 107/26\nOOSTENDE-ZEEBRUGGE\nCABLE OPERATIO__BY M/V_MANU PEKKA AND M/V DUKE\nBETWEEN FOLLOWING COORDINATES : \n51-31.75N 002-31.13E\n51-20.82N 002-52.76E \n51-19.93N _P_OMUTE\n51-19.93N 00_.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 DISTANCE\nMANU PEKKA IS LISTENING OUT ON VHF CH 16 AND 65\nNNNN",
    "clean_text": "ZCZC TA87\n17_7_5: .-4\nOOSTENDERADIO MSI 107/26\nOOSTENDE-ZEEBRUGGE\nCABLE OPERATIO__BY M/V_MANU PEKKA AND M/V DUKE\nBETWEEN FOLLOWING COORDINATES :\n51-31.75N 002-31.13E\n51-20.82N 002-52.76E\n51-19.93N _P_OMUTE\n51-19.93N 00_.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 DISTANCE\nMANU PEKKA IS LISTENING OUT ON VHF CH 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.",
    "decoded_highlights": [
      "A ban on achoring and fishing in the entire corridor",
      "Cable operatio by m/v manu pekka and m/v duke",
      "Shipping requested to pass at a safe distance"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 131,
    "heading": "2026-04-03 10:16:43 AREA: T",
    "published_at": "2026-04-03 10:16:43",
    "area": "T",
    "message_id": "TA04",
    "text": "ZCZC TA04\n240834 UHXM_YONGZZJHPWPYWFZM_QGONXX_HC_OZOASTAL ROUTE - DE PANNE-OOSTENDE \nSPECIAL PURPOSE BUOY KYCN, Y. FL 5S, 51-09.88N 002-43.00E ESTABLISHED \n\nNNNN",
    "clean_text": "ZCZC TA04\n240834 UHXM_YONGZZJHPWPYWFZM_QGONXX_HC_OZOASTAL ROUTE - DE PANNE-OOSTENDE\nSPECIAL PURPOSE BUOY KYCN, Y. FL 5S, 51-09.88N 002-43.00E ESTABLISHED\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"
    ],
    "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: Special purpose buoy kycn, y. fl 5s, 51-09.88n 002-43.00e established.",
    "decoded_highlights": [
      "Special purpose buoy kycn, y. fl 5s, 51-09.88n 002-43.00e established",
      "240834 uhxm yongzzjhpwpywfzm qgonxx hc ozoastal route - de panne-oostende"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 140,
    "heading": "2026-04-03 10:10:19 AREA: T",
    "published_at": "2026-04-03 10:10:19",
    "area": "T",
    "message_id": "TA25",
    "text": "ZCZC TA25\n030602 UTC APR \nOOSTENDERADIO MSI 146/26\nDE PANNE-OOSTENDE\nGUNNERY EXERCISES IN THE GREAT SECTOR OF LOMBARDSIJDE 03 APR 20_3__6+_._CMGCHFSM\n_PMG_HXM_CPY_MJP_HZ_MFWM__I_FJHIZN CHAN 16 AND 74\n\nNNNN",
    "clean_text": "ZCZC TA25\n030602 UTC APR\nOOSTENDERADIO MSI 146/26\nDE PANNE-OOSTENDE\nGUNNERY EXERCISES IN THE GREAT SECTOR OF LOMBARDSIJDE 03 APR 20_3__6+_._CMGCHFSM\n_PMG_HXM_CPY_MJP_HZ_MFWM__I_FJHIZN CHAN 16 AND 74\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": "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 03 apr 20 3 6 . cmgchfsm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gunnery exercises in the great sector of lombardsijde 03 apr 20 3 6 . cmgchfsm",
      "De panne-oostende"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 144,
    "heading": "2026-04-03 10:04:18 AREA: S",
    "published_at": "2026-04-03 10:04:18",
    "area": "S",
    "message_id": "SA81",
    "text": "ZCZC SA81\nNCC-HAMBURY\nN\nP_ PMG_HXM_Y_\n_NAV. WARN. NO. 191\nGERMAN BIGHT9._*+:_$06'3._0!**0.)=_UNDERWATER OPERATIONS BY MV 'FUGRO QUEST', CS 'C6FO2',\nAROUND POSITION 54-46,6N 006-00,5E\nRESTRICTED MANOEVRABILITY DURING OPERATIONK__ON_II_ERTH OF 500 MEHPYJMYP_CPJHPW_NNNN",
    "clean_text": "ZCZC SA81\nNCC-HAMBURY\nN\nP_ PMG_HXM_Y_\n_NAV. WARN. NO. 191\nGERMAN BIGHT9._*+:_$06'3._0!**0.)=_UNDERWATER OPERATIONS BY MV 'FUGRO QUEST', CS 'C6FO2',\nAROUND POSITION 54-46,6N 006-00,5E\nRESTRICTED MANOEVRABILITY DURING OPERATIONK__ON_II_ERTH OF 500 MEHPYJMYP_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": "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 says: Around position 54-46,6n 006-00,5e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Around position 54-46,6n 006-00,5e",
      "Restricted manoevrability during operationk on ii erth of 500 mehpyjmyp cpjhpw nnnn",
      "Nav. warn. no. 191"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 147,
    "heading": "2026-04-03 10:01:31 AREA: S",
    "published_at": "2026-04-03 10:01:31",
    "area": "S",
    "message_id": "SA85",
    "text": "ZCZC SA85\nNCC-_AMBURG\n020610 UTC_YM\n_NAV. WARN. NO. 196\nGERMAN BIGHT. NORTHWESTERLY 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 _ M__MYP_CPJHPW_NNNN",
    "clean_text": "ZCZC SA85\nNCC-_AMBURG\n020610 UTC_YM\n_NAV. WARN. NO. 196\nGERMAN BIGHT. NORTHWESTERLY 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 _ M__MYP_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": "regional-context",
    "resolved_match_terms": [
      "GERMAN BIGHT",
      "BARD OFFSHORE"
    ],
    "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 'bard offshore 1'"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 148,
    "heading": "2026-04-03 10:00:13 AREA: S",
    "published_at": "2026-04-03 10:00:13",
    "area": "S",
    "message_id": "SE66",
    "text": "ZCZC SE66\n030700 _\n__05____):64.\nLT_\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nFRIDAY:\nWIND: WEST TO NORTHWEST ABOUT 4, FOG OS_-FHIFTING SOUTH 6.\nVISIBIS_BI_THER: RAIN OR SHOWER WITH PARTLY POOR VISIBILITY.\nSEA: 3 METER.\n\nSATURDAY:\nWIND: WESTERLY WINDS ABOUT 5, SHIFTING SOUTD_MGF_YPJFMLZCHM\nC__NGOFJFLFSFHE__GU_ND_ LOCALLY SHOWER IH_M_ZZ_M_FJFLFSFH IZONGJP_XMUH_G_PHNEBHV_ _GP_L_MSHPYM_YMG_PH_Y_NNNN",
    "clean_text": "ZCZC SE66\n030700 _\n__05____):64.\nLT_\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nFRIDAY:\nWIND: WEST TO NORTHWEST ABOUT 4, FOG OS_-FHIFTING SOUTH 6.\nVISIBIS_BI_THER: RAIN OR SHOWER WITH PARTLY POOR VISIBILITY.\nSEA: 3 METER.\n\nSATURDAY:\nWIND: WESTERLY WINDS ABOUT 5, SHIFTING SOUTD_MGF_YPJFMLZCHM\nC__NGOFJFLFSFHE__GU_ND_ LOCALLY SHOWER IH_M_ZZ_M_FJFLFSFH IZONGJP_XMUH_G_PHNEBHV_ _GP_L_MSHPYM_YMG_PH_Y_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": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Germany - German Bight and German North Sea. This is a weather bulletin; readable sections mention fog, rain across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Wind: west to northwest about 4, fog os -fhifting south 6",
      "Visibis bi ther: rain or shower with partly poor visibility",
      "Weatherforecast for german bight"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 151,
    "heading": "2026-04-03 09:30:20 AREA: P",
    "published_at": "2026-04-03 09:30:20",
    "area": "P",
    "message_id": "PA42",
    "text": "ZCZC PA42\n290625 UHXM_Y_\n_MSI 103/26\nTSS NORHDM_YFPJSZ_O_XUNEKK_NE__SQDRX_D__4-3__7+_)_____1_9_ )8,3 *98,8,_ \n54-07.0N 004-39.5E AND 54-03.5N 004-39.6E.\nDANGEROUS TO FISHERY.\nCANCEL MSI 102/26\nNNNN",
    "clean_text": "ZCZC PA42\n290625 UHXM_Y_\n_MSI 103/26\nTSS NORHDM_YFPJSZ_O_XUNEKK_NE__SQDRX_D__4-3__7+_)_____1_9_ )8,3 *98,8,_\n54-07.0N 004-39.5E AND 54-03.5N 004-39.6E.\nDANGEROUS TO FISHERY.\nCANCEL MSI 102/26\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: Dangerous to fishery. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Dangerous to fishery"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 152,
    "heading": "2026-04-03 09:29:55 AREA: P",
    "published_at": "2026-04-03 09:29:55",
    "area": "P",
    "message_id": "PA02",
    "text": "ZCZC PA02\n041900 UTCM__\n_MSI 2/26\nBUOY WP2 53-18.7N 004-02.2E MISSING\nUNCOVERED MEASURIN_\nP CF_PHMZMHDPMJPL_WZ__ZFFF_ZCZC",
    "clean_text": "ZCZC PA02\n041900 UTCM__\n_MSI 2/26\nBUOY WP2 53-18.7N 004-02.2E MISSING\nUNCOVERED MEASURIN_\nP CF_PHMZMHDPMJPL_WZ__ZFFF_ZCZC",
    "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 wp2 53-18.7n 004-02.2e missing. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Buoy wp2 53-18.7n 004-02.2e missing",
      "Uncovered measurin"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 153,
    "heading": "2026-04-03 09:25:32 AREA: T",
    "published_at": "2026-04-03 09:25:32",
    "area": "T",
    "message_id": "TA25",
    "text": "ZCZC TA25\n030602 UTC APR \nOOSTENDERADIO MSI 146/26\nDE PANNE-OOSTEN_GUNNERY EXERCISES IN THE GREAT SECTOR OF LOMBARDSIJDE 03 APR 2026 FROM 0700 UNTIL 1030 UTC GUNNERY SECTOR _S LISTENING ON CHAN 16 AND 74\n\nNNNN",
    "clean_text": "ZCZC TA25\n030602 UTC APR\nOOSTENDERADIO MSI 146/26\nDE PANNE-OOSTEN_GUNNERY EXERCISES IN THE GREAT SECTOR OF LOMBARDSIJDE 03 APR 2026 FROM 0700 UNTIL 1030 UTC GUNNERY SECTOR _S LISTENING ON CHAN 16 AND 74\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": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: De panne-oosten gunnery exercises in the great sector of lombardsijde 03 apr 2026 from 0700 until 1030 utc gunnery sector s listening on chan 16 and 74. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "De panne-oosten gunnery exercises in the great sector of lombardsijde 03 apr 2026 from 0700 until 1030 utc gunnery sector s listening on chan 16 and 74"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 154,
    "heading": "2026-04-03 08:50:08 AREA: L",
    "published_at": "2026-04-03 08:50:08",
    "area": "L",
    "message_id": "LA11",
    "text": "ZCZC LA11\n318_0( _75: .-4 26\n($-,8'_ ,-= 2-4, 177/2'\n$3,.-4( )88. !894$ )-_'5-4_43,$3\n2_. -15.5_\n3\n=,- _)_3_7_++(+: )-10\nQWQP_C MAR 26\nDANISH NA_ WARN 154/26\nDENMARKQM V__F_ FIORD. LAGSTAR RENDE.\nD_PTHS 3._39\n+_*06_02\n)___00\n,\n____(.9N 009-12.7E\nNNNN",
    "clean_text": "ZCZC LA11\n318_0( _75: .-4 26\n($-,8'_ ,-= 2-4, 177/2'\n$3,.-4( )88. !894$ )-_'5-4_43,$3\n2_. -15.5_\n3\n=,- _)_3_7_++(+: )-10\nQWQP_C MAR 26\nDANISH NA_ WARN 154/26\nDENMARKQM V__F_ FIORD. LAGSTAR RENDE.\nD_PTHS 3._39\n+_*06_02\n)___00\n,\n____(.9N 009-12.7E\nNNNN",
    "display_region_heading": "Unresolved B1 code L",
    "display_region_label": "B1 code L",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code L. Readable text says: Denmarkqm v f fiord. lagstar rende. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Denmarkqm v f fiord. lagstar rende",
      "Qwqp c mar 26",
      "Danish na warn 154/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 155,
    "heading": "2026-04-03 08:44:54 AREA: O",
    "published_at": "2026-04-03 08:44:54",
    "area": "O",
    "message_id": "OB09",
    "text": "ZCZC OB09\n/09450-548:(4-$89\nGALE WARNING FRIDAY 03 APRIL 0540 UTC\n\nFAEROES\nSOUTHEASTERLY GALE FORCE 8 _=006!._0*_06'_.*03 _-)3 !94:3 _9 _)-_$_\n_0+_2\n96+-588:3)-,$9\n__'=.+_.61*__+: B_P_\nGNFOZOFADSO\nGALE WARNI G FRIDAY 03 A_GIL 0540__*+.92_WBDJ_ GALE FZM_E 8=_3__3:5*$ )_534\nNNNN",
    "clean_text": "ZCZC OB09\n/09450-548:(4-$89\nGALE WARNING FRIDAY 03 APRIL 0540 UTC\n\nFAEROES\nSOUTHEASTERLY GALE FORCE 8 _=006!._0*_06'_.*03 _-)3 !94:3 _9 _)-_$_\n_0+_2\n96+-588:3)-,$9\n__'=.+_.61*__+: B_P_\nGNFOZOFADSO\nGALE WARNI G FRIDAY 03 A_GIL 0540__*+.92_WBDJ_ GALE FZM_E 8=_3__3:5*$ )_534\nNNNN",
    "display_region_heading": "Unresolved B1 code O",
    "display_region_label": "B1 code O",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code O. Readable text says: Southeasterly gale force 8 006!. 0 06' . 03 -)3 !94:3 9 )- $. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Southeasterly gale force 8 006!. 0 06' . 03 -)3 !94:3 9 )- $",
      "Gale warni g friday 03 a gil 0540 .92 wbdj gale fzm e 8 3 3:5 $ ) 534",
      "Gale warning friday 03 april 0540 utc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 156,
    "heading": "2026-04-03 08:43:55 AREA: K",
    "published_at": "2026-04-03 08:43:55",
    "area": "K",
    "message_id": "KA26",
    "text": "ZCZC KA26\nVU_NAV CHERBOURG _WYXWY\nDOVER - DST MANCHE EST\n_APS_ \nQ\nZ_Z_\n_UT_\nYLV_+_ 5_-,'.85534 975 9! '34=8:3 - (_!2_.:__'\n9_)+_00.)**:60''09,\n__:0(N 000-57.80E\nH_NAVIGATE WITH CAUTION\nNNNN",
    "clean_text": "ZCZC KA26\nVU_NAV CHERBOURG _WYXWY\nDOVER - DST MANCHE EST\n_APS_\nQ\nZ_Z_\n_UT_\nYLV_+_ 5_-,'.85534 975 9! '34=8:3 - (_!2_.:__'\n9_)+_00.)**:60''09,\n__:0(N 000-57.80E\nH_NAVIGATE WITH CAUTION\nNNNN",
    "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": [
      "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 says: Vu nav cherbourg wyxwy. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Vu nav cherbourg wyxwy",
      "Dover - dst manche est",
      "H navigate with caution"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 157,
    "heading": "2026-04-03 08:42:42 AREA: T",
    "published_at": "2026-04-03 08:42:42",
    "area": "T",
    "message_id": "",
    "text": "ZCZCEKA28\nWIGH_ -\n_AT\n_PAYA_KZ_AI3ME_\nWORKW\n)'=.(-/__+WY_HKZOIGJ_ZY\nUNTIL FURTHER NOTICE\nNO FISHING, TRAWLING, DREDGING, \n_ _(2:_\nE\n52-\n5.86N 0_1-1___1N TPPQA_WMPW\n50-19.74N 01-04.7(_07-1\n_06='/+_7N 001-20.08E\n_0-13.73N 001-21.92_\nNNNN",
    "clean_text": "ZCZCEKA28\nWIGH_ -\n_AT\n_PAYA_KZ_AI3ME_\nWORKW\n)'=.(-/__+WY_HKZOIGJ_ZY\nUNTIL FURTHER NOTICE\nNO FISHING, TRAWLING, DREDGING,\n_ _(2:_\nE\n52-\n5.86N 0_1-1___1N TPPQA_WMPW\n50-19.74N 01-04.7(_07-1\n_06='/+_7N 001-20.08E\n_0-13.73N 001-21.92_\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 sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "No fishing, trawling, dredging",
      "Until further notice"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 158,
    "heading": "2026-04-03 08:42:08 AREA: T",
    "published_at": "2026-04-03 08:42:08",
    "area": "T",
    "message_id": "",
    "text": "ZCZ_ KA29\n______!-\n..$_6)+:6.-,8_3 3'_9\n_-8$__)2-_ZCZC",
    "clean_text": "ZCZ_ KA29\n______!-\n..$_6)+:6.-,8_3 3'_9\n_-8$__)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": 159,
    "heading": "2026-04-03 08:33:07 AREA: J",
    "published_at": "2026-04-03 08:33:07",
    "area": "J",
    "message_id": "JA26",
    "text": "ZCZC JA26\n7*+__\n1_2/71 +KALINGRAD NA__W_ U__WY\n\nSMW\n_W_C APR\n_N L_EAXL\n_PORARILY_DA\nGDROU___A_______PQ__\nEU\nK _F\n\n\n__SU_ISE\nWFROM _7189.92N 000-12.63W\n49-40.78\n_00-10.93W\n49-32.33\nW\n49-34.72N 000-55.12W\nNAVIG_TE WITH CAUTION\n\n2. CANCEL THIS MSG 0!_-_5: -04 26\n\nAVURNAV CHERBOURG 39/26\nANTIFER - D82\nOPERATIONS SPECIALES\n1._=_34:8:3 $3 584\nDU 011000 UTC AVR 26 AU 061200 UTC AVR 26\n\nZONE DELIMITEE PAR :\n49-59.92N 000-12.63W\n49740.78N 80_7U\nT\n_49-35.88N 000-10.93W\n49-32.33N 000-18.62W\n49-3)_72N 000-55.12W\nNAVIGUER AVEC PRUDENCE\n\n2. ANNULER CE MSG LE 061200 UTC AVR 26\nNNNN",
    "clean_text": "ZCZC JA26\n7*+__\n1_2/71 +KALINGRAD NA__W_ U__WY\n\nSMW\n_W_C APR\n_N L_EAXL\n_PORARILY_DA\nGDROU___A_______PQ__\nEU\nK _F\n\n__SU_ISE\nWFROM _7189.92N 000-12.63W\n49-40.78\n_00-10.93W\n49-32.33\nW\n49-34.72N 000-55.12W\nNAVIG_TE WITH CAUTION\n\n2. CANCEL THIS MSG 0!_-_5: -04 26\n\nAVURNAV CHERBOURG 39/26\nANTIFER - D82\nOPERATIONS SPECIALES\n1._=_34:8:3 $3 584\nDU 011000 UTC AVR 26 AU 061200 UTC AVR 26\n\nZONE DELIMITEE PAR :\n49-59.92N 000-12.63W\n49740.78N 80_7U\nT\n_49-35.88N 000-10.93W\n49-32.33N 000-18.62W\n49-3)_72N 000-55.12W\nNAVIGUER AVEC PRUDENCE\n\n2. ANNULER CE MSG LE 061200 UTC AVR 26\nNNNN",
    "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-fallback",
    "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 says: 2. cancel this msg 0! - 5: -04 26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "2. cancel this msg 0! - 5: -04 26",
      "Navig te with caution",
      "Avurnav cherbourg 39/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 160,
    "heading": "2026-04-03 08:32:02 AREA: J",
    "published_at": "2026-04-03 08:32:02",
    "area": "J",
    "message_id": "",
    "text": "ZCZC JA_AC\nLW\nQK_UMG_HXM_YONONGPSX___WARN 051/26\n__OUTHEASTERN BALTIC\nSHIPS E\n_F_FJICPKM\nM U MG HVCZFM__PPE\n55-03!0_FV__ZAETMP__ 5_46.40N 019-35._0E\n54-50.30 __ 0_9-20._0'_5__1795F_A___ZCZC",
    "clean_text": "ZCZC JA_AC\nLW\nQK_UMG_HXM_YONONGPSX___WARN 051/26\n__OUTHEASTERN BALTIC\nSHIPS E\n_F_FJICPKM\nM U MG HVCZFM__PPE\n55-03!0_FV__ZAETMP__ 5_46.40N 019-35._0E\n54-50.30 __ 0_9-20._0'_5__1795F_A___ZCZC",
    "display_region_heading": "Unresolved B1 code J",
    "display_region_label": "B1 code J",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code J. Readable text says: Outheastern baltic. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Outheastern baltic"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  }
]