[
  {
    "index": 1,
    "heading": "2026-04-05 02:23:10 AREA: U",
    "published_at": "2026-04-05 02:23:10",
    "area": "U",
    "message_id": "UA73",
    "text": "ZCZC UA73\n042320 UTC APR 26\nMONDOLFO RADIO\n_COSTAVURNAV NR. 195/26 APR 03\nMAR ADRIATICO - VENEZIA -\nGIORNO 05 APR 2026 DALLE ORE 0600 UTC ALLE ORE 1800 UTC\nVTS VENEAFMP_JMGFM_KQBU__NB_HUDOA_KD__:*JZ_LKB_BK_KD___3(1_43'58,9 .-''8.- -553,+89,3\n9,9,,888_\n+:+: 7-74\n042320 UTCVYM\n_MONDOLFO RADIO\n\nMOASTAL _YFM_ HT_E_GBY__ITION)  \nSOUTHERN ADRIATIC SEA   OTRANTO \nDAYS 01 02 07 08 09 10 13 14 15 16 17 20 21 22 23 24\n27 28 29 AND 30 APR FROM 08 00LT TO 23 00LT, WILL BE CARRIED OUT AZB _ZBS_Z_S_V_QVMQMOMLMOALM \nQHIQ_L_HO_A IM__RONT OF _STIRR_ _ENERI'\n_8,__4-,_3, -_97,$_$_9/_)_/_=____2__) __L_C\nA    40 25_3_10_111!*_13(_631_( 1__101!_3_39$3_/_9.11BRXL_L_BBOBDEGOK_BKDBGMMM_QOSP -3  $    _ 27'45 N   FJI WPST_QHE V61111!_._.9_XA_WI E MF    40 23'05 0_111!*_1$6)*1_6_+)_0+=___)))__45_G\nLR_L_I_, Z\nUT\nZ_D FIIHING A_E\nTBITEDQV=,,,,\n_!)\n'-__83_)_8__/\n9+4____ZCZ__N__$_-=515____):34_\nLT__SN__YU_E_._2/___!26\nNA\n___7(4)BHL___LSV_PX_EKOV_IX_FOLLOWING CONTAINERVESSELS ARE AT RISKLF_QBKU_DAX\nI\nI_ILFHU_YZM__QHWING HEAVY SEA COWFHFZJMWMDF_DMU_PJ__S\n QZV+,945_ 59 ,945_23'5 $\n9___\n28\nAHMMKKBNB___\nMPJCYPJMWMSHPYG_JPMF_M_Q_XP S_A_UFNWKQ2=1._6*_EPBW_HDPMU_PMWFYPBH_)U_0+/_+1$_=3 _3!_$_!__72F_JRFQYWV_3_QP_QB__200M\nN_II RE RECOMBPWPWMHZM_AJ_AK_Y_JJMP ___LNN\n_NGWM_PYKO_32_9=____0_)_\n999999++++__7_77_ZCZC",
    "clean_text": "ZCZC UA73\n042320 UTC APR 26\nMONDOLFO RADIO\n_COSTAVURNAV NR. 195/26 APR 03\nMAR ADRIATICO - VENEZIA -\nGIORNO 05 APR 2026 DALLE ORE 0600 UTC ALLE ORE 1800 UTC\nVTS VENEAFMP_JMGFM_KQBU__NB_HUDOA_KD__:*JZ_LKB_BK_KD___3(1_43'58,9 .-''8.- -553,+89,3\n9,9,,888_\n+:+: 7-74\n042320 UTCVYM\n_MONDOLFO RADIO\n\nMOASTAL _YFM_ HT_E_GBY__ITION)\nSOUTHERN ADRIATIC SEA OTRANTO\nDAYS 01 02 07 08 09 10 13 14 15 16 17 20 21 22 23 24\n27 28 29 AND 30 APR FROM 08 00LT TO 23 00LT, WILL BE CARRIED OUT AZB _ZBS_Z_S_V_QVMQMOMLMOALM\nQHIQ_L_HO_A IM__RONT OF _STIRR_ _ENERI'\n_8,__4-,_3, -_97,$_$_9/_)_/_=____2__) __L_C\nA 40 25_3_10_111!*_13(_631_( 1__101!_3_39$3_/_9.11BRXL_L_BBOBDEGOK_BKDBGMMM_QOSP -3 $ _ 27'45 N FJI WPST_QHE V61111!_._.9_XA_WI E MF 40 23'05 0_111!*_1$6)*1_6_+)_0+=___)))__45_G\nLR_L_I_, Z\nUT\nZ_D FIIHING A_E\nTBITEDQV=,,,,\n_!)\n'-__83_)_8__/\n9+4____ZCZ__N__$_-=515____):34_\nLT__SN__YU_E_._2/___!26\nNA\n___7(4)BHL___LSV_PX_EKOV_IX_FOLLOWING CONTAINERVESSELS ARE AT RISKLF_QBKU_DAX\nI\nI_ILFHU_YZM__QHWING HEAVY SEA COWFHFZJMWMDF_DMU_PJ__S\nQZV+,945_ 59 ,945_23'5 $\n9___\n28\nAHMMKKBNB___\nMPJCYPJMWMSHPYG_JPMF_M_Q_XP S_A_UFNWKQ2=1._6*_EPBW_HDPMU_PMWFYPBH_)U_0+/_+1$_=3 _3!_$_!__72F_JRFQYWV_3_QP_QB__200M\nN_II RE RECOMBPWPWMHZM_AJ_AK_Y_JJMP ___LNN\n_NGWM_PYKO_32_9=____0_)_\n999999++++__7_77_ZCZC",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Adriatic Sea and central Italian coast. Readable text says: Giorno 05 apr 2026 dalle ore 0600 utc alle ore 1800 utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Giorno 05 apr 2026 dalle ore 0600 utc alle ore 1800 utc",
      "27 28 29 and 30 apr from 08 00lt to 23 00lt, will be carried out azb zbs z s v qvmqmomlmoalm",
      "Costavurnav nr. 195/26 apr 03"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 2,
    "heading": "2026-04-05 02:21:33 AREA: U",
    "published_at": "2026-04-05 02:21:33",
    "area": "U",
    "message_id": "UA72",
    "text": "ZCZC UA72\n04__- .__!.YM\n_MONDOLFO_RA_FOONON_ZJHSMYFM\n TUE_GQ_\n_WE REPETITION)   \nSOUTHERN ADRIATIC SEA   BRINDISI \nFM 01 JAN UNTIL _EQ DEC 2026 FROM LOCAL TIME 06 00 TO 24 00,\nWITH EXCLUSION OF NATIONAL HOLIDAYS AND JULY AND AUGUST, WILL BE\nCARRIED OUT A MILITARY ACTIVITY WITH SMALL WEAPONS I_MYPONFM_YZHMZ_MHZYYPMX_SSZM_FY__MYC) ____ 40 38' 4_'_4!__6*8 01' 12 E  B  40 39' 869 N  VL_I PES YYO E \nC  40 39' 02 N   18 04' 24 E  D  40 37' 51 N   18 _27 E \nE  40 36' 39 N   18 03' 22 _3  !  40 38' 0, N   18 01' 12 E \nTRANSIT, ANCHORAGE AND FISHING ARE PROHIBITED \nNNNN",
    "clean_text": "ZCZC UA72\n04__- .__!.YM\n_MONDOLFO_RA_FOONON_ZJHSMYFM\nTUE_GQ_\n_WE REPETITION)\nSOUTHERN ADRIATIC SEA BRINDISI\nFM 01 JAN UNTIL _EQ DEC 2026 FROM LOCAL TIME 06 00 TO 24 00,\nWITH EXCLUSION OF NATIONAL HOLIDAYS AND JULY AND AUGUST, WILL BE\nCARRIED OUT A MILITARY ACTIVITY WITH SMALL WEAPONS I_MYPONFM_YZHMZ_MHZYYPMX_SSZM_FY__MYC) ____ 40 38' 4_'_4!__6*8 01' 12 E B 40 39' 869 N VL_I PES YYO E\nC 40 39' 02 N 18 04' 24 E D 40 37' 51 N 18 _27 E\nE 40 36' 39 N 18 03' 22 _3 ! 40 38' 0, N 18 01' 12 E\nTRANSIT, ANCHORAGE AND FISHING ARE PROHIBITED\nNNNN",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "ADRIATIC",
      "BRINDISI"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Adriatic Sea and central Italian coast. Readable text says: Transit, anchorage and fishing are prohibited. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Transit, anchorage and fishing are prohibited",
      "Carried out a military activity with small weapons i myponfm yzhmz mhzyypmx sszm fy myc) 40 38' 4 ' 4! 6 8 01' 12 e b 40 39' 869 n vl i pes yyo e",
      "Fm 01 jan until eq dec 2026 from local time 06 00 to 24 00"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 3,
    "heading": "2026-04-05 02:20:12 AREA: U",
    "published_at": "2026-04-05 02:20:12",
    "area": "U",
    "message_id": "UA70",
    "text": "ZCZC UA70\n042320 UTC APR 2_\n __+2+'_+.62!+9$9_173/26 MAR 26 (3 RILANCIO)\nADRIATIC SEM_MG_PPAFM_MGSLY_JSWONFM_J\n_ONMYHMY_UG_M_M_WPMIE\nLIGHTHOUSE NR_N _BYHMGFHN_2.+_.__\n,,,,\n\n\n+:+: 7-71\n042320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 148/26 MAR 24 (2 REPETITION) \nCENT_SMWYFHF_MJPM_M_F_RA.\nLIGHTHOUSE OFM__JXYMF_. 3871 (E2316.35 IN POSITION:\n  42 27.9'N  LONG 014 14.0'E\nNOT WORKING_\nNNNN",
    "clean_text": "ZCZC UA70\n042320 UTC APR 2_\n__+2+'_+.62!+9$9_173/26 MAR 26 (3 RILANCIO)\nADRIATIC SEM_MG_PPAFM_MGSLY_JSWONFM_J\n_ONMYHMY_UG_M_M_WPMIE\nLIGHTHOUSE NR_N _BYHMGFHN_2.+_.__\n,,,,\n\n+:+: 7-71\n042320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 148/26 MAR 24 (2 REPETITION)\nCENT_SMWYFHF_MJPM_M_F_RA.\nLIGHTHOUSE OFM__JXYMF_. 3871 (E2316.35 IN POSITION:\n42 27.9'N LONG 014 14.0'E\nNOT WORKING_\nNNNN",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Adriatic Sea and central Italian coast. Readable text says: Lighthouse ofm jxymf . 3871 (e2316.35 in position. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lighthouse ofm jxymf . 3871 (e2316.35 in position",
      "Lighthouse nr n byhmgfhn 2",
      "Coastal warning 148/26 mar 24 (2 repetition)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 8,
    "heading": "2026-04-05 02:16:51 AREA: T",
    "published_at": "2026-04-05 02:16:51",
    "area": "T",
    "message_id": "TA81",
    "text": "ZCZC TA81\n13_154 UTC MAR\nOOS_ENDERADIO _SI 101/26\nTSS-_2_'__89334:_)8-_)3\n ,,,,\n\n_7(ZCZC",
    "clean_text": "ZCZC TA81\n13_154 UTC MAR\nOOS_ENDERADIO _SI 101/26\nTSS-_2_'__89334:_)8-_)3\n,,,,\n\n_7(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: Oos enderadio si 101/26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Oos enderadio si 101/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 9,
    "heading": "2026-04-05 02:16:11 AREA: T",
    "published_at": "2026-04-05 02:16:11",
    "area": "T",
    "message_id": "TA85",
    "text": "ZCZC TA85\n300828 UTC JP_MO_GD__QEKUEKU-_19DP_KDOZRJGL_:)_4* 2_\n__,)__28_) __)__:_4___09' 51-23.73___\n_UUZ__Z __MUBOND_CM_UN 002-30.286E\nANCHORING AND FISHING ARE PROHIBITED \nWTHIN DISTA_CE OF 200M\nN_NN\n\n__ZCZC",
    "clean_text": "ZCZC TA85\n300828 UTC JP_MO_GD__QEKUEKU-_19DP_KDOZRJGL_:)_4* 2_\n__,)__28_) __)__:_4___09' 51-23.73___\n_UUZ__Z __MUBOND_CM_UN 002-30.286E\nANCHORING AND FISHING ARE PROHIBITED\nWTHIN DISTA_CE OF 200M\nN_NN\n\n__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: Anchoring and fishing are prohibited. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Anchoring and fishing are prohibited",
      "Wthin dista ce of 200m"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 10,
    "heading": "2026-04-05 02:14:50 AREA: T",
    "published_at": "2026-04-05 02:14:50",
    "area": "T",
    "message_id": "",
    "text": "ZCZC T_FC_N_ C _PMG_HXM_YONGZZJHPWPYWFZM_JF_\n__TU_ONGZZJHPWP_GAPPLYC_\nCABLE OPERATIONS BY M/V MANU PEKKA AND M/V DUKE\nBETWEEN FOLLOWING COORDINATES : \n51-31.75N 002-31.13E\n51-20.82N 002-52.76PMON\nH  Z_ZPGM\n_POMUTE\n51-19.93N 003-09.75E \n51-19.31N 003-08.04E\n51-20.06N 002-51.09E \n5__9N 002-30.45E\nA BAN ON ACHORING AND FISHING IN THE ENTIRE CORRIDOR\nSHIPPING R_Q PJHPWMHZM_JJMHMMJ_PMQ_NCE\nMANU PEKKA IS LISHPF_MZCHMZM\nD_M__M _QY AND 65\nNNNN",
    "clean_text": "ZCZC T_FC_N_ C _PMG_HXM_YONGZZJHPWPYWFZM_JF_\n__TU_ONGZZJHPWP_GAPPLYC_\nCABLE OPERATIONS BY M/V MANU PEKKA AND M/V DUKE\nBETWEEN FOLLOWING COORDINATES :\n51-31.75N 002-31.13E\n51-20.82N 002-52.76PMON\nH Z_ZPGM\n_POMUTE\n51-19.93N 003-09.75E\n51-19.31N 003-08.04E\n51-20.06N 002-51.09E\n5__9N 002-30.45E\nA BAN ON ACHORING AND FISHING IN THE ENTIRE CORRIDOR\nSHIPPING R_Q PJHPWMHZM_JJMHMMJ_PMQ_NCE\nMANU PEKKA IS LISHPF_MZCHMZM\nD_M__M _QY AND 65\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: A ban on achoring and fishing in the entire corridor. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "A ban on achoring and fishing in the entire corridor",
      "Cable operations by m/v manu pekka and m/v duke",
      "Shipping r q pjhpwmhzm jjmhmmj pmq nce"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 17,
    "heading": "2026-04-05 02:08:23 AREA: P",
    "published_at": "2026-04-05 02:08:23",
    "area": "P",
    "message_id": "PB41",
    "text": "ZCZC PB41\n042248 UTC APR 26\nGALEWARNING, 04 APR 22:42 UTC.\nDOGGER. ___69.)!_$_\n_9,_*+:_$_0*_.\n+_9,_$:_)0__5_-.3'. DOVER.\nSOUTHWEST 8.\n\n\n\nNNNN",
    "clean_text": "ZCZC PB41\n042248 UTC APR 26\nGALEWARNING, 04 APR 22:42 UTC.\nDOGGER. ___69.)!_$_\n_9,_*+:_$_0*_.\n+_9,_$:_)0__5_-.3'. DOVER.\nSOUTHWEST 8.\n\nNNNN",
    "display_region_heading": "Unresolved B1 code P",
    "display_region_label": "B1 code P",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code P. Readable text says: Galewarning, 04 apr 22:42 utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Galewarning, 04 apr 22:42 utc",
      "Southwest 8"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 18,
    "heading": "2026-04-05 02:06:56 AREA: S",
    "published_at": "2026-04-05 02:06:56",
    "area": "S",
    "message_id": "SE76",
    "text": "ZCZC SE76\n042300 _,__05____):1\n=_)5_\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nSUNDAY:\nSOUTH TO SOUTHWEST 7, NORTHERN PART AT TIMES 8, SHIFTING SLOWLY\nNORTHWEST AND DECREASING 6.\nLOCALLY SHOWER WITH MODERATE VISIBILITY.\nSEA NORTHERN PART FOR A TIME 6 METER.\n\nMONDAY:\nWEST TO NORTHWEST ABOUT 6, LATER VARIABLE WINDS ABOUT 3.\nGOOD VISIBILITY.\nSEA NORTHERN PART FIRST 4 METER.\nNNNN",
    "clean_text": "ZCZC SE76\n042300 _,__05____):1\n=_)5_\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nSUNDAY:\nSOUTH TO SOUTHWEST 7, NORTHERN PART AT TIMES 8, SHIFTING SLOWLY\nNORTHWEST AND DECREASING 6.\nLOCALLY SHOWER WITH MODERATE VISIBILITY.\nSEA NORTHERN PART FOR A TIME 6 METER.\n\nMONDAY:\nWEST TO NORTHWEST ABOUT 6, LATER VARIABLE WINDS ABOUT 3.\nGOOD VISIBILITY.\nSEA NORTHERN PART FIRST 4 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": "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. Readable text says: Locally shower with moderate visibility. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Locally shower with moderate visibility",
      "Good visibility",
      "Weatherforecast for german bight"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 23,
    "heading": "2026-04-05 02:03:35 AREA: S",
    "published_at": "2026-04-05 02:03:35",
    "area": "S",
    "message_id": "SA81",
    "text": "ZCZC SA81\nNCC_AHAMBURG\n3((_._ _'_!_J Y_U_NAV. WARN. _O. 191\nGERMAN BIGHT. SOUTHERLY WEISSE BANK.\nUNDERWATER OPERALFZJMLEM_\nM\n_G:_6+._:0*__*___.\n*_/_35__7*9,_6+:2._+*!_!+.__6_63__.\n__0:___Z__ABILITY DURING OPERATIONS.\nBERTH OF 500 METERS REQUESTED.\nNNNN",
    "clean_text": "ZCZC SA81\nNCC_AHAMBURG\n3((_._ _'_!_J Y_U_NAV. WARN. _O. 191\nGERMAN BIGHT. SOUTHERLY WEISSE BANK.\nUNDERWATER OPERALFZJMLEM_\nM\n_G:_6+._:0*__*___.\n*_/_35__7*9,_6+:2._+*!_!+.__6_63__.\n__0:___Z__ABILITY DURING OPERATIONS.\nBERTH OF 500 METERS REQUESTED.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "GERMAN BIGHT",
      "WEISSE BANK"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text says: Ncc ahamburg. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ncc ahamburg",
      "German bight. southerly weisse bank",
      "Underwater operalfzjmlem"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 24,
    "heading": "2026-04-05 02:02:37 AREA: S",
    "published_at": "2026-04-05 02:02:37",
    "area": "S",
    "message_id": "SA82",
    "text": "ZCZC SA82\nNCC-__-_)_6_9,OKKELGILDSGI_BGERMAN BIGHT. NORTHWESTERLY OWF 'BARD OFFS_ 1'.\nSURVEY OPERATIONJFN _ROGRESS BY MV 'KOMMANDOR ORCA', CS 'BKF\n_J_9_6+:2._+*!_!+.__6_!__.\n$___0_!_0__60*_6!__0_.__0_6_)!'!__.2:6!_.+PYKH_M\nBERTH OF 1 NM REQUESTED.\nNNN_\n\n_ZCZC",
    "clean_text": "ZCZC SA82\nNCC-__-_)_6_9,OKKELGILDSGI_BGERMAN BIGHT. NORTHWESTERLY OWF 'BARD OFFS_ 1'.\nSURVEY OPERATIONJFN _ROGRESS BY MV 'KOMMANDOR ORCA', CS 'BKF\n_J_9_6+:2._+*!_!+.__6_!__.\n$___0_!_0__60*_6!__0_.__0_6_)!'!__.2:6!_.+PYKH_M\nBERTH OF 1 NM REQUESTED.\nNNN_\n\n_ZCZC",
    "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: Survey operationjfn rogress by mv 'kommandor orca', cs 'bkf. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Survey operationjfn rogress by mv 'kommandor orca', cs 'bkf",
      "Berth of 1 nm requested"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 25,
    "heading": "2026-04-05 02:01:44 AREA: S",
    "published_at": "2026-04-05 02:01:44",
    "area": "S",
    "message_id": "SA83",
    "text": "ZCZC SA83\nNCC=_9)_6_9,\n__UM_VH__YM\n_NAV. WARN. NO. 194\nGERMAN BIGHT. WEISSE BANK.\nSURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR3',\nAROUND POSITION 54-47,3N\n_58,3_ZCZC",
    "clean_text": "ZCZC SA83\nNCC=_9)_6_9,\n__UM_VH__YM\n_NAV. WARN. NO. 194\nGERMAN BIGHT. WEISSE BANK.\nSURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR3',\nAROUND POSITION 54-47,3N\n_58,3_ZCZC",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "GERMAN BIGHT",
      "WEISSE BANK"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text reports survey operations and implies local caution around the work area. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Survey operations by mv 'fugro synergy', cs 'c6xr3'",
      "German bight. weisse bank",
      "Around position 54-47,3n"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 26,
    "heading": "2026-04-05 01:58:26 AREA: R",
    "published_at": "2026-04-05 01:58:26",
    "area": "R",
    "message_id": "RA03",
    "text": "ZCZC RA03\n042250 UTC APR 26\nLA MADDAL_NM_WFZONON_ZJHSM_YF_M_\n_XWY AP_\n_VONGJZCHDPYMFZFMJNCBKBH_K_K:_\n_D_ZQ_(3(__1_(3___32$_-/1,__N_N__NCQFZJMYI_MYPWC_PWMYKPNBO_SSELS IN TRANSIT BEWARE.\nNNNN",
    "clean_text": "ZCZC RA03\n042250 UTC APR 26\nLA MADDAL_NM_WFZONON_ZJHSM_YF_M_\n_XWY AP_\n_VONGJZCHDPYMFZFMJNCBKBH_K_K:_\n_D_ZQ_(3(__1_(3___32$_-/1,__N_N__NCQFZJMYI_MYPWC_PWMYKPNBO_SSELS IN TRANSIT BEWARE.\nNNNN",
    "display_region_heading": "Unresolved B1 code R",
    "display_region_label": "B1 code R",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code R. 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": 27,
    "heading": "2026-04-05 01:56:25 AREA: R",
    "published_at": "2026-04-05 01:56:25",
    "area": "R",
    "message_id": "RA02",
    "text": "ZCZC RA02\n042250 UTC APR 26\nLA MADDALENA RADIO\n\nCZJHSM_YFM\n HKQOKEOXO_XBRDKD)\nTYRRHENIAN SEA LATINA\nNWEJ_C__ _ Y H C__U UUU_UCUFMGWM_APRIL 2026\nFROM LOCAL TIME 07.30 TO 18.00 AND ON 2,9,16,23 AND 30 APRIL 2026,\nFROM LOCAL TIME 07.30 TO 23._0___!'_:_ :-_48_$ 975 - !848,_\n.8)85-46 -:58=856 8, 5_3 '3- -43- 'ECHO 332/33_',__!6__.6_0_9,_'+_'__3.___+__.\n06_0(._)+:202.)_.__0._+'_+_!._+!_*_A. 41 27'16''N 012 40'55''E,\nB. 41 22'00''N 012 36'00''E,\nC. 41 14'50''N 01_.0:*__'_3,\nD. 41 06'48''N 012 51'46''E,\nE. 41 16'00''N 012 55'00''E,\nF. 41 20'30''N 012 55'50''E,\nG. 41 24'57''N /7=_8'37''E,\nA. 41 271 _.1__))\n7)6__4_E.\nTRANSIT, ANCHORAGE AND FISHING ARE PROHIBITED.\n\nNNNN",
    "clean_text": "ZCZC RA02\n042250 UTC APR 26\nLA MADDALENA RADIO\n\nCZJHSM_YFM\nHKQOKEOXO_XBRDKD)\nTYRRHENIAN SEA LATINA\nNWEJ_C__ _ Y H C__U UUU_UCUFMGWM_APRIL 2026\nFROM LOCAL TIME 07.30 TO 18.00 AND ON 2,9,16,23 AND 30 APRIL 2026,\nFROM LOCAL TIME 07.30 TO 23._0___!'_:_ :-_48_$ 975 - !848,_\n.8)85-46 -:58=856 8, 5_3 '3- -43- 'ECHO 332/33_',__!6__.6_0_9,_'+_'__3.___+__.\n06_0(._)+:202.)_.__0._+'_+_!._+!_*_A. 41 27'16''N 012 40'55''E,\nB. 41 22'00''N 012 36'00''E,\nC. 41 14'50''N 01_.0:*__'_3,\nD. 41 06'48''N 012 51'46''E,\nE. 41 16'00''N 012 55'00''E,\nF. 41 20'30''N 012 55'50''E,\nG. 41 24'57''N /7=_8'37''E,\nA. 41 271 _.1__))\n7)6__4_E.\nTRANSIT, ANCHORAGE AND FISHING ARE PROHIBITED.\n\nNNNN",
    "resolved_station_name": "La Maddalena",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Tyrrhenian Sea and Sardinia approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "LA MADDALENA"
    ],
    "display_region_heading": "Italy - Tyrrhenian Sea and Sardinia approaches",
    "display_region_label": "La Maddalena, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Tyrrhenian Sea and Sardinia approaches. Readable text says: Transit, anchorage and fishing are prohibited. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Transit, anchorage and fishing are prohibited",
      "From local time 07.30 to 18.00 and on 2,9,16,23 and 30 april 2026",
      "Czjhsm yfm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 28,
    "heading": "2026-04-05 01:52:58 AREA: R",
    "published_at": "2026-04-05 01:52:58",
    "area": "R",
    "message_id": "RA99",
    "text": "ZCZC RA99\n042250,75: -04 26\nLA MADDALENA RADIO\n\nCOASTAL WARNING 017/26 MAR 31 (1 REPETATION'9,5__66$0!.*0./!_!_\n0_/$!_._.)\nDAYS 7,8,9,10,13,14,15,1_,20,21,22,23,24,27,28,29 AND\n30 APRIL 2026 FROM LOCAL TIME 07.00 TO 23.00, WILL BE CARRIED OUT\nA FIRING MILITARY ACTIVITCPJMFMHDPMJPMYPMPYF_JGJHMJPMPY_JO\nG__WU_G RANGE, ON THE COAH_LN INCLUDING\nIN THE AREA NAME 'ECHO 312' IN THE  C_RCULAR DEPTH _ECTZR _RMT\nCHF___BFSVJM_FH_M_P_P_M_YZBMHD_MNZFHMJMLPSZ_MFWF_HVWV_O_PPSPPSSO 011 58'42''E.\nTRANSIT, ANCHORAGE AWM_FJDFFGNA_EM_YZDFLFHPW_ONTONNII__\nZC_C DWFJJ_\nLA MADDALENA RADIO\n\nCOASTAL WARNING 019/26 APR 02 ALT\nTYRRHENIAN SEA   TARQUINIA COAST (VT)\nDAYS 7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29 AND 30\nAPRIL 2026 FROM LOCAL TIME 07_ _._:_!'.$'_..$+:6.__06.*:*0__9___!''._ __(33UBAX_BKB_3_3_*_:31_(_8583' 8, 5_3 '3- -43-\n,3-4 'PIAN DI SPILLA' FIRING RANGE ONTTHE COASTC_MHY_CFFON_VG\nH_SMGF_SCWF_MFJFWPMHDPM\n_HO 304' ANDN'R42',\nBOUNDED BY THE FOLLOWING POINTS:\n_- :4-=_ N   011 39'52 E \nB  42 16'45 N   011 37'13 E \nC  42 14'35 N   011 37'52 E \nD  42 13'26 N   011 40'00 E \nE  42 15'02 N_V\n_ _YJYHMGPMONHYJFH_MG__AGE AND FISHINGV_PM_YZDFLFHPWMONONON_\nZCZC",
    "clean_text": "ZCZC RA99\n042250,75: -04 26\nLA MADDALENA RADIO\n\nCOASTAL WARNING 017/26 MAR 31 (1 REPETATION'9,5__66$0!.*0./!_!_\n0_/$!_._.)\nDAYS 7,8,9,10,13,14,15,1_,20,21,22,23,24,27,28,29 AND\n30 APRIL 2026 FROM LOCAL TIME 07.00 TO 23.00, WILL BE CARRIED OUT\nA FIRING MILITARY ACTIVITCPJMFMHDPMJPMYPMPYF_JGJHMJPMPY_JO\nG__WU_G RANGE, ON THE COAH_LN INCLUDING\nIN THE AREA NAME 'ECHO 312' IN THE C_RCULAR DEPTH _ECTZR _RMT\nCHF___BFSVJM_FH_M_P_P_M_YZBMHD_MNZFHMJMLPSZ_MFWF_HVWV_O_PPSPPSSO 011 58'42''E.\nTRANSIT, ANCHORAGE AWM_FJDFFGNA_EM_YZDFLFHPW_ONTONNII__\nZC_C DWFJJ_\nLA MADDALENA RADIO\n\nCOASTAL WARNING 019/26 APR 02 ALT\nTYRRHENIAN SEA TARQUINIA COAST (VT)\nDAYS 7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29 AND 30\nAPRIL 2026 FROM LOCAL TIME 07_ _._:_!'.$'_..$+:6.__06.*:*0__9___!''._ __(33UBAX_BKB_3_3_*_:31_(_8583' 8, 5_3 '3- -43-\n,3-4 'PIAN DI SPILLA' FIRING RANGE ONTTHE COASTC_MHY_CFFON_VG\nH_SMGF_SCWF_MFJFWPMHDPM\n_HO 304' ANDN'R42',\nBOUNDED BY THE FOLLOWING POINTS:\n_- :4-=_ N 011 39'52 E\nB 42 16'45 N 011 37'13 E\nC 42 14'35 N 011 37'52 E\nD 42 13'26 N 011 40'00 E\nE 42 15'02 N_V\n_ _YJYHMGPMONHYJFH_MG__AGE AND FISHINGV_PM_YZDFLFHPWMONONON_\nZCZC",
    "resolved_station_name": "La Maddalena",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Tyrrhenian Sea and Sardinia approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "LA MADDALENA"
    ],
    "display_region_heading": "Italy - Tyrrhenian Sea and Sardinia approaches",
    "display_region_label": "La Maddalena, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Tyrrhenian Sea and Sardinia approaches. Readable text says: Coastal warning 017/26 mar 31 (1 repetation'9,5 66$0!. 0./! !. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Coastal warning 017/26 mar 31 (1 repetation'9,5 66$0!. 0./! !",
      "A firing military activitcpjmfmhdpmjpmypmpyf jgjhmjpmpy jo",
      "Transit, anchorage awm fjdffgna em yzdflfhpw ontonnii"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 29,
    "heading": "2026-04-05 01:50:12 AREA: I",
    "published_at": "2026-04-05 01:50:12",
    "area": "I",
    "message_id": "",
    "text": "ZCZC I_+:__\n(__ .-$$-)3,-54-__.\n9,+*_'._6._ (1 RELAY)\nSARDINIA -(LA _ADDA_ZMHDPM_UUK_UK_\n_A__YJ_ZF\nNY___M__HFMF__E__K_ARNING 016/26 MAR 31 (1 REPETATION)\nTYRRHENIAN SEA CIVITAVECCHIA (RM)\nDAYS 7,8,9,1_,1_. 6 \n 3 _7_ BUUU_UYUCUFUZMGWM\n_NONG_YF_M\n_FUEXG6+_._+_'._!_0.\nCB_E CARR_OUT\nA FIRING MILITARY ACTIVITIES IN THE SEA AREA NEAR 'FURBARA' FIRING\nRANGE, OD THE CO_AT NEAR CERVETERI (RM), INCLUDING IN T_E ZONHPZMPJG_ GSN BOUNDED BY THE FOLLOWING POINTS:\nA. 42 00'57''N 011 58'26''E,\nB. 41 59_10''N _PQW PWS_MFE,\nC. 41 55'00''N 011 57'30''E,\nD. 41 58'3_''N 011 55'12''E,\nE. 42 00'28''N 011 58!06''E.\nTRANSIT, ANCHOGAGENAND FISHING ARE PROHIBITED.\n\nNNNN",
    "clean_text": "ZCZC I_+:__\n(__ .-$$-)3,-54-__.\n9,+*_'._6._ (1 RELAY)\nSARDINIA -(LA _ADDA_ZMHDPM_UUK_UK_\n_A__YJ_ZF\nNY___M__HFMF__E__K_ARNING 016/26 MAR 31 (1 REPETATION)\nTYRRHENIAN SEA CIVITAVECCHIA (RM)\nDAYS 7,8,9,1_,1_. 6\n3 _7_ BUUU_UYUCUFUZMGWM\n_NONG_YF_M\n_FUEXG6+_._+_'._!_0.\nCB_E CARR_OUT\nA FIRING MILITARY ACTIVITIES IN THE SEA AREA NEAR 'FURBARA' FIRING\nRANGE, OD THE CO_AT NEAR CERVETERI (RM), INCLUDING IN T_E ZONHPZMPJG_ GSN BOUNDED BY THE FOLLOWING POINTS:\nA. 42 00'57''N 011 58'26''E,\nB. 41 59_10''N _PQW PWS_MFE,\nC. 41 55'00''N 011 57'30''E,\nD. 41 58'3_''N 011 55'12''E,\nE. 42 00'28''N 011 58!06''E.\nTRANSIT, ANCHOGAGENAND FISHING ARE PROHIBITED.\n\nNNNN",
    "display_region_heading": "Unresolved B1 code I",
    "display_region_label": "B1 code I",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code I. Readable text says: Transit, anchogagenand fishing are prohibited. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Transit, anchogagenand fishing are prohibited",
      "A firing military activities in the sea area near 'furbara' firing",
      "Sardinia -(la adda zmhdpm uuk uk"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 34,
    "heading": "2026-04-05 01:26:04 AREA: T",
    "published_at": "2026-04-05 01:26:04",
    "area": "T",
    "message_id": "",
    "text": "ZCZJ OD70\nA_ZYHE___BW POINT B,\nFOUL L_EA BA KEEP_A_SAJ_A__TANCE \nM\nOSNUOF___CHORE$ VEOPLE OV RBOAJD FA_LEN FROM THE_IJRAIV__LBBART\n_AG_\nUWX_Z__L_E_MOK OUTMJBM_CSZY\nFFRGIZGP_4_\n_\n2_ _)_\n00 )_'_6$+J$_-=6_GSUQ_ZCZC",
    "clean_text": "ZCZJ OD70\nA_ZYHE___BW POINT B,\nFOUL L_EA BA KEEP_A_SAJ_A__TANCE\nM\nOSNUOF___CHORE$ VEOPLE OV RBOAJD FA_LEN FROM THE_IJRAIV__LBBART\n_AG_\nUWX_Z__L_E_MOK OUTMJBM_CSZY\nFFRGIZGP_4_\n_\n2_ _)_\n00 )_'_6$+J$_-=6_GSUQ_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": 35,
    "heading": "2026-04-05 01:07:23 AREA: O",
    "published_at": "2026-04-05 01:07:23",
    "area": "O",
    "message_id": "OB18",
    "text": "ZCZC OB18\nGALE W__NING SATURDAY 04 APRIL 2154 UTC\n XUD_A__JC___\nU_U_ZC__M_L_CP__VZSKELBKK____-6 04_48) 2154 UTC\n\nFITZROY\nGALE NOW CEADED\n\nLUNDY FASTNET\nSEVERE GALE FORC_ _Z\nG_PPYFM_P_HP_ DECREASINBVOAE FORCE _ IMMINENT\nNNNN",
    "clean_text": "ZCZC OB18\nGALE W__NING SATURDAY 04 APRIL 2154 UTC\nXUD_A__JC___\nU_U_ZC__M_L_CP__VZSKELBKK____-6 04_48) 2154 UTC\n\nFITZROY\nGALE NOW CEADED\n\nLUNDY FASTNET\nSEVERE GALE FORC_ _Z\nG_PPYFM_P_HP_ DECREASINBVOAE FORCE _ IMMINENT\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: Gale w ning saturday 04 april 2154 utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gale w ning saturday 04 april 2154 utc",
      "Gale now ceaded",
      "Severe gale forc z"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 37,
    "heading": "2026-04-05 00:52:23 AREA: L",
    "published_at": "2026-04-05 00:52:23",
    "area": "L",
    "message_id": "LB14",
    "text": "ZCZC LB14\n041824 UTC APR 26\nNORWEGIAN GALE WARNING NO 235\n  FEDJE - STAD\nFROM SUNDAY AF\nKPZZM_PJHMWMZYHD_PJHMP_M_S_M_ZYXPM\nCMGHMHF_PJM_S_M_ZYXPM\nF_ONONG_WZX__SI___ZCZC",
    "clean_text": "ZCZC LB14\n041824 UTC APR 26\nNORWEGIAN GALE WARNING NO 235\nFEDJE - STAD\nFROM SUNDAY AF\nKPZZM_PJHMWMZYHD_PJHMP_M_S_M_ZYXPM\nCMGHMHF_PJM_S_M_ZYXPM\nF_ONONG_WZX__SI___ZCZC",
    "resolved_station_name": "Orlandet",
    "resolved_country": "Norway",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Norwegian Sea and central Norwegian coast",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "NORWEGIAN GALE WARNING"
    ],
    "display_region_heading": "Norway - Norwegian Sea and central Norwegian coast",
    "display_region_label": "Orlandet, Norway",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Norway - Norwegian Sea and central Norwegian coast. Readable text says: Norwegian gale warning no 235. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Norwegian gale warning no 235",
      "Fedje - stad",
      "From sunday af"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 38,
    "heading": "2026-04-05 00:50:07 AREA: L",
    "published_at": "2026-04-05 00:50:07",
    "area": "L",
    "message_id": "LB15",
    "text": "ZCZC LB15\n042146 UTC APR 26\nNORWEGIAN GALE WARNING NO. GX374/2026\nISSUED BY NORWEGIAN METEOROLOGICAL INSTITUTE 4.4.2026 AT 2_.____9,EBQ_FM SUN 05UTC TO 09UTC, W STRM 10 FM SUN 09UTC TO MON 00UTC\nOUTER SKAGERRAK: SW GALE 8 FM SUN 06UTC TO 09UTC, W STRM 10 FM SUN 09UTC TO 21UTC\nFISHER: SW GALE 8 FM SAT 23UTCMTZMJCM\n_TC, W VIOLENT STRM 11 FM SUN 06UTC TO 18UTC\nFORTIES: S GALE 8 FM SAT 22UTC TO SUN 03UTC, W VIOLENT STRM 11 FM SUN 03UTC TO 15UTC\nSOUTH UTSIRE: SE SEV GALE 9 FM SAT 23UTC TO SUN 03UTC AWMUM_FZSPHMJHYBM\n _\n__1.)9__.$__$__,/1_.$__-__29_$1$_MMQNBEK_NB____1.)9_.___$_9,1_._,$ 2 '54. 10 FM SUN 09UTC TO 18UTC\nVIKING: SE GALE 8 FM SAT 22UTC TO SUN 03UTC AND NW VIOLENT STRM 11 FM SUN 05UTC TO 15UTC\nEAST-TAMPEN: NW OCC GALE 8 FM SUN 12UTC TO 18UTC\n\nNNNN",
    "clean_text": "ZCZC LB15\n042146 UTC APR 26\nNORWEGIAN GALE WARNING NO. GX374/2026\nISSUED BY NORWEGIAN METEOROLOGICAL INSTITUTE 4.4.2026 AT 2_.____9,EBQ_FM SUN 05UTC TO 09UTC, W STRM 10 FM SUN 09UTC TO MON 00UTC\nOUTER SKAGERRAK: SW GALE 8 FM SUN 06UTC TO 09UTC, W STRM 10 FM SUN 09UTC TO 21UTC\nFISHER: SW GALE 8 FM SAT 23UTCMTZMJCM\n_TC, W VIOLENT STRM 11 FM SUN 06UTC TO 18UTC\nFORTIES: S GALE 8 FM SAT 22UTC TO SUN 03UTC, W VIOLENT STRM 11 FM SUN 03UTC TO 15UTC\nSOUTH UTSIRE: SE SEV GALE 9 FM SAT 23UTC TO SUN 03UTC AWMUM_FZSPHMJHYBM\n_\n__1.)9__.$__$__,/1_.$__-__29_$1$_MMQNBEK_NB____1.)9_.___$_9,1_._,$ 2 '54. 10 FM SUN 09UTC TO 18UTC\nVIKING: SE GALE 8 FM SAT 22UTC TO SUN 03UTC AND NW VIOLENT STRM 11 FM SUN 05UTC TO 15UTC\nEAST-TAMPEN: NW OCC GALE 8 FM SUN 12UTC TO 18UTC\n\nNNNN",
    "resolved_station_name": "Rogaland Radio",
    "resolved_country": "Norway",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "South-west Norwegian coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "SKAGERRAK"
    ],
    "display_region_heading": "Norway - South-west Norwegian coast",
    "display_region_label": "Rogaland Radio, Norway",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Norway - South-west Norwegian coast. Readable text says: Outer skagerrak: sw gale 8 fm sun 06utc to 09utc, w strm 10 fm sun 09utc to 21utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Outer skagerrak: sw gale 8 fm sun 06utc to 09utc, w strm 10 fm sun 09utc to 21utc",
      "Forties: s gale 8 fm sat 22utc to sun 03utc, w violent strm 11 fm sun 03utc to 15utc",
      "South utsire: se sev gale 9 fm sat 23utc to sun 03utc awmum fzsphmjhybm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 39,
    "heading": "2026-04-05 00:44:01 AREA: P",
    "published_at": "2026-04-05 00:44:01",
    "area": "P",
    "message_id": "PL01",
    "text": "ZCZC PL01\n042107 UTC APR 26\nWAVE HEIGHT WARNING  300CM TSS TERSCHELLING - GERMAN BIGHT\nISSUED AT 042100 UTC APR\n\n_ZHFPYM_PJJPSJM_FHDMMSP_HD_Z.\n __UGBMYPMHMYFJ_ONZ_MSZJFM_ZHFPYJMWCYF_MD__EA CONDITIONS, \nIN PARTICULAR FROM A WEST-NORTHWEST TO NORTHERLY DIRECTION.\nTHESE VESSELS SHOULD ALTER COURSE IF NECESSARY \nTO AVOID COMING ABEAM TO THE WAVES AND \nTAKE OTHER APPROPRIATE MEASURES TO AVOID LOSING CZHFPYP__ONNKKKKKKKKKKKKKKKKKKP _ _ZCZC",
    "clean_text": "ZCZC PL01\n042107 UTC APR 26\nWAVE HEIGHT WARNING 300CM TSS TERSCHELLING - GERMAN BIGHT\nISSUED AT 042100 UTC APR\n\n_ZHFPYM_PJJPSJM_FHDMMSP_HD_Z.\n__UGBMYPMHMYFJ_ONZ_MSZJFM_ZHFPYJMWCYF_MD__EA CONDITIONS,\nIN PARTICULAR FROM A WEST-NORTHWEST TO NORTHERLY DIRECTION.\nTHESE VESSELS SHOULD ALTER COURSE IF NECESSARY\nTO AVOID COMING ABEAM TO THE WAVES AND\nTAKE OTHER APPROPRIATE MEASURES TO AVOID LOSING CZHFPYP__ONNKKKKKKKKKKKKKKKKKKP _ _ZCZC",
    "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": [
      "TERSCHELLING"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "navigational warning",
    "subject_code": "L",
    "decoded_summary": "navigational warning for Netherlands - Dutch EEZ and southern North Sea. Readable text says: Wave height warning 300cm tss terschelling - german bight. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Wave height warning 300cm tss terschelling - german bight",
      "These vessels should alter course if necessary",
      "In particular from a west-northwest to northerly direction"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 40,
    "heading": "2026-04-05 00:40:12 AREA: K",
    "published_at": "2026-04-05 00:40:12",
    "area": "K",
    "message_id": "KA40",
    "text": "ZCZC KA40\nAVURNAV CHERBOURG 40/26\nWIGHT - D82\nSPECIAL OPERATIONS\n1. FI_I_ _ESXFJPONIIIKG_+_.\n __PMG_H_MYM\n_TO 111500 UTC APR 26_,_60.)+:202.)3_49-59.92N 000-12._3W\nQ_\nY_Y_)9,__(_:)1:_-:_EXKN\nLKGCNGX___H_CZ__2___3_+971_6!(*\n_*1_3*3__2=71___!_-44-_5_'5\n0-45 19\nWARNIDG NONE\nPAR_\nLO G__PYSMJR_Z_F_M_F_K_YU_LC\nVG_HFMSZ_O_EA_NNN\n\n__FZCZC",
    "clean_text": "ZCZC KA40\nAVURNAV CHERBOURG 40/26\nWIGHT - D82\nSPECIAL OPERATIONS\n1. FI_I_ _ESXFJPONIIIKG_+_.\n__PMG_H_MYM\n_TO 111500 UTC APR 26_,_60.)+:202.)3_49-59.92N 000-12._3W\nQ_\nY_Y_)9,__(_:)1:_-:_EXKN\nLKGCNGX___H_CZ__2___3_+971_6!(*\n_*1_3*3__2=71___!_-44-_5_'5\n0-45 19\nWARNIDG NONE\nPAR_\nLO G__PYSMJR_Z_F_M_F_K_YU_LC\nVG_HFMSZ_O_EA_NNN\n\n__FZCZC",
    "resolved_station_name": "Niton (France relay)",
    "resolved_country": "United Kingdom / France",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Channel Islands and north-east French coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV CHERBOURG",
      "CHERBOURG"
    ],
    "display_region_heading": "United Kingdom / France - Channel Islands and north-east French coast",
    "display_region_label": "Niton (France relay), United Kingdom / France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom / France - Channel Islands and north-east French coast. Readable text says: Avurnav cherbourg 40/26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Avurnav cherbourg 40/26",
      "Special operations",
      "Warnidg none"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 41,
    "heading": "2026-04-05 00:17:41 AREA: T",
    "published_at": "2026-04-05 00:17:41",
    "area": "T",
    "message_id": "",
    "text": "ZCZ_UJB24\n0_112__777_3\n120 UTC AP_I_WY_MADDALENE RIDIO\n_\n P_E UDUE_\n _M_SU MAR __O_ LIBICO.\nTEMPORALI PREVISTI: HU MAR DI LEVACT_8)\n_744-':_3 043=8'53!._!'9_\n_9_3- $'INSTABIL_TABS A_BWKBB_X_'\nIN DT_ENULOIO M _S_ADI_SUL\nMEDITERRANEO OCCIDENHS_DEPRESSIONE AI Q___PA SUL MAR EGEO.\n3. PREVISIONE VALIDA FINO ALLE ORE 0_/UTC DEL 0_/0412023 53,$3,+- 234 )3 ._____0/7::3'_8=3:\nOIRRENO SETTENTRIONALE:5\n ZNA ZNBVE_EOGO POCO NUVOLO__AZ__ FJFLFSFH_JMGLCZM_GZ__MBZJ_Z_H_ POCO\nNUVOLOSO_M\n_TI_RENO GENTR_LE 3 SET_ORE OVEST: NDRD 3 -SERENO O POCO NVOLOSO\n_AFVS_-MOSSO IN AT_EFUAZCO_C_ORE EST: NORDOVEST 3 CON LOCALI __MFORZI -SERENO O\nPOCO NUVOLOJOM_TM__IOILITA' )3 3\n)SERENO O POCZ\n_LOSO.\nTCRRENO MERIDIOMAH _LMGJPHHZYPMZNPJH_MGZEIBEBKQEAB__-___5__+_+*+9,__\n!*!)!'!__*._):+.___+**+.!.__0:-!+0.*0__+60.+62_\n_020_0!9,_+62+_0*_._0._*060++.Z__VBC_ZSZJZ__O _HFYYPM_PYFWFZFW_Z_\n_OE_OL_I_K_DG\nLDI_PCAGGLD__I_ALI RINFORZI -G_ACGE_CZ\n___\nXAK _HL_TA' BUONA -MOSSO / TENDENZA: NORD 3 -POCO NUVOLOSO\nSEHHZYPMJCW__H\nEZ__U_KB_K_MJPHHPHYFZSP_EST 1 MARE 2/NORDESH 1 MARE\n1//_7_=_.__6_.\nTIRRENO CENTRALE - SETTORE OVEST: SUD 2 OAYUN\nAO\n__RE 2/_CWPJHM_MARE\n2/EST 2 _ 1-_9_TIUB_F__KJNBKBHQD_MPJH_KENBNKHQMIOXOLKENONKQXUOXBHKENZXEST 1 MARE 1.\nTIRRENO MERIDIONALE - SETTORE OVEST: NZYWM_ST 2 MARE\nV_XSUDOVEST 1\nMARE 2/SUD 2 MARE 1.\nTIRRENO MERIDIONALEIDAWY_XP__PG_G__G\n_DCAG_W MARE 2/OVEST 3 MARE 2/OVEST 2 MARE\n2/OVEST 2 MARKM_ETEOMAR.\nNNNN",
    "clean_text": "ZCZ_UJB24\n0_112__777_3\n120 UTC AP_I_WY_MADDALENE RIDIO\n_\nP_E UDUE_\n_M_SU MAR __O_ LIBICO.\nTEMPORALI PREVISTI: HU MAR DI LEVACT_8)\n_744-':_3 043=8'53!._!'9_\n_9_3- $'INSTABIL_TABS A_BWKBB_X_'\nIN DT_ENULOIO M _S_ADI_SUL\nMEDITERRANEO OCCIDENHS_DEPRESSIONE AI Q___PA SUL MAR EGEO.\n3. PREVISIONE VALIDA FINO ALLE ORE 0_/UTC DEL 0_/0412023 53,$3,+- 234 )3 ._____0/7::3'_8=3:\nOIRRENO SETTENTRIONALE:5\nZNA ZNBVE_EOGO POCO NUVOLO__AZ__ FJFLFSFH_JMGLCZM_GZ__MBZJ_Z_H_ POCO\nNUVOLOSO_M\n_TI_RENO GENTR_LE 3 SET_ORE OVEST: NDRD 3 -SERENO O POCO NVOLOSO\n_AFVS_-MOSSO IN AT_EFUAZCO_C_ORE EST: NORDOVEST 3 CON LOCALI __MFORZI -SERENO O\nPOCO NUVOLOJOM_TM__IOILITA' )3 3\n)SERENO O POCZ\n_LOSO.\nTCRRENO MERIDIOMAH _LMGJPHHZYPMZNPJH_MGZEIBEBKQEAB__-___5__+_+*+9,__\n!*!)!'!__*._):+.___+**+.!.__0:-!+0.*0__+60.+62_\n_020_0!9,_+62+_0*_._0._*060++.Z__VBC_ZSZJZ__O _HFYYPM_PYFWFZFW_Z_\n_OE_OL_I_K_DG\nLDI_PCAGGLD__I_ALI RINFORZI -G_ACGE_CZ\n___\nXAK _HL_TA' BUONA -MOSSO / TENDENZA: NORD 3 -POCO NUVOLOSO\nSEHHZYPMJCW__H\nEZ__U_KB_K_MJPHHPHYFZSP_EST 1 MARE 2/NORDESH 1 MARE\n1//_7_=_.__6_.\nTIRRENO CENTRALE - SETTORE OVEST: SUD 2 OAYUN\nAO\n__RE 2/_CWPJHM_MARE\n2/EST 2 _ 1-_9_TIUB_F__KJNBKBHQD_MPJH_KENBNKHQMIOXOLKENONKQXUOXBHKENZXEST 1 MARE 1.\nTIRRENO MERIDIONALE - SETTORE OVEST: NZYWM_ST 2 MARE\nV_XSUDOVEST 1\nMARE 2/SUD 2 MARE 1.\nTIRRENO MERIDIONALEIDAWY_XP__PG_G__G\n_DCAG_W MARE 2/OVEST 3 MARE 2/OVEST 2 MARE\n2/OVEST 2 MARKM_ETEOMAR.\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: Mediterraneo occidenhs depressione ai q pa sul mar egeo. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mediterraneo occidenhs depressione ai q pa sul mar egeo",
      "Ti reno gentr le 3 set ore ovest: ndrd 3 -sereno o poco nvoloso",
      "Afvs -mosso in at efuazco c ore est: nordovest 3 con locali mforzi -sereno o"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 42,
    "heading": "2026-04-05 00:11:31 AREA: G",
    "published_at": "2026-04-05 00:11:31",
    "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": 43,
    "heading": "2026-04-05 00:10:53 AREA: G",
    "published_at": "2026-04-05 00:10:53",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GAWYQO_G_AX\n FT_EMONGDC_LP__\nRACE BANK W_K_KTK_FGQS!*_1_/2.\n_ !9_ '8_,-)' 8,9034-58=3: \n/-. D01, 53-20.1N 000-49.1E. \nB. S01, __ __:__.\n__H_ZG__\n2. CANCEL WZ 58/26 (GA29). \nNNNN",
    "clean_text": "ZCZC GAWYQO_G_AX\nFT_EMONGDC_LP__\nRACE BANK W_K_KTK_FGQS!*_1_/2.\n_ !9_ '8_,-)' 8,9034-58=3:\n/-. D01, 53-20.1N 000-49.1E.\nB. S01, __ __:__.\n__H_ZG__\n2. CANCEL WZ 58/26 (GA29).\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: 2. cancel wz 58/26 (ga29). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "2. cancel wz 58/26 (ga29)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 44,
    "heading": "2026-04-05 00:10:22 AREA: G",
    "published_at": "2026-04-05 00:10:22",
    "area": "G",
    "message_id": "",
    "text": "ZCZC G KR_ X_S_ORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N 002-59.1E U_AU_N_WM CANCEL WZ 82/26 (GA42).\nNNNN",
    "clean_text": "ZCZC G KR_ X_S_ORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N 002-59.1E U_AU_N_WM 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": [
      "ORWELL GAS FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom - North Sea and north-east UK coast. Readable text says: 1. met mast 53-10.7n 002-59.1e u au n wm cancel wz 82/26 (ga42). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. met mast 53-10.7n 002-59.1e u au n wm cancel wz 82/26 (ga42)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 45,
    "heading": "2026-04-05 00:09:52 AREA: G",
    "published_at": "2026-04-05 00:09:52",
    "area": "G",
    "message_id": "GA74",
    "text": "ZCZC GA74\nWZ 207/26 \nHUMBER. \nRAVENSPUYMZYHDM_JM_FPW_XWYAST27_8_-03.2N 001-02.0E, UNLIT AND ALL NAVA__\nINOPERATIVE. \nNNNN",
    "clean_text": "ZCZC GA74\nWZ 207/26\nHUMBER.\nRAVENSPUYMZYHDM_JM_FPW_XWYAST27_8_-03.2N 001-02.0E, UNLIT AND ALL NAVA__\nINOPERATIVE.\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: Inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Inoperative",
      "Ravenspuymzyhdm jm fpw xwyast27 8 -03.2n 001-02.0e, unlit and all nava"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 46,
    "heading": "2026-04-05 00:09:27 AREA: G",
    "published_at": "2026-04-05 00:09:27",
    "area": "G",
    "message_id": "GA81",
    "text": "ZCZC GA81\nWZ 214/26_\n__DSS. \nMRCC HUMBER. \nMF R/T SERVICE FROM CULLERCOATS SITE 55-04.4N 001-27.8W OFF AIR. \nNNNN",
    "clean_text": "ZCZC GA81\nWZ 214/26_\n__DSS.\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": 47,
    "heading": "2026-04-05 00:09:03 AREA: G",
    "published_at": "2026-04-05 00:09:03",
    "area": "G",
    "message_id": "GA83",
    "text": "ZCZC GA83\nWZ 215/26 \nGMDSS. \n__6_/._+_06\n_.9___/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.5_3 9_84. \nNNNN",
    "clean_text": "ZCZC GA83\nWZ 215/26\nGMDSS.\n__6_/._+_06\n_.9___/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.5_3 9_84.\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": [
      "9 /t service from bawdsey site 51-59.6n 001-24.5 3 9 84"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 48,
    "heading": "2026-04-05 00:08:03 AREA: G",
    "published_at": "2026-04-05 00:08:03",
    "area": "G",
    "message_id": "GA02",
    "text": "ZCZC GA02\nWZ 223/26\nHUMBER. \nLEMAN GAS FIELD. \n1. PLATFORM 49/27-ED 53-03.6N 002-12.6E, UNLIT AND A_L NAVAIDS INOPECA\nCVE. \n_ __+_2_2:_'Z_ PJ EKCB_7_C__,,\n\nZCZC",
    "clean_text": "ZCZC GA02\nWZ 223/26\nHUMBER.\nLEMAN GAS FIELD.\n1. PLATFORM 49/27-ED 53-03.6N 002-12.6E, UNLIT AND A_L NAVAIDS INOPECA\nCVE.\n_ __+_2_2:_'Z_ PJ EKCB_7_C__,,\n\nZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: 1. platform 49/27-ed 53-03.6n 002-12.6e, unlit and a l navaids inopeca. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. platform 49/27-ed 53-03.6n 002-12.6e, unlit and a l navaids inopeca",
      "Leman gas field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 49,
    "heading": "2026-04-05 00:07:02 AREA: G",
    "published_at": "2026-04-05 00:07:02",
    "area": "G",
    "message_id": "GA07",
    "text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESSEMER GAS FIELD.\n1. PLATFOD_ 49/23E,553-11.9N 02__2 _43_,3_' '853 57-:7.7N 002-03.2W OFF AIR.\n2. CANCEL WZ 213/26 (GA80).\nNNNN",
    "clean_text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESSEMER GAS FIELD.\n1. PLATFOD_ 49/23E,553-11.9N 02__2 _43_,3_' '853 57-:7.7N 002-03.2W OFF AIR.\n2. CANCEL WZ 213/26 (GA80).\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER",
      "BESSEMER GAS FIELD"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: 1. platfod 49/23e,553-11.9n 02 2 43 ,3 ' '853 57-:7.7n 002-03.2w off air. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. platfod 49/23e,553-11.9n 02 2 43 ,3 ' '853 57-:7.7n 002-03.2w off air",
      "Bessemer gas field",
      "2. cancel wz 213/26 (ga80)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 50,
    "heading": "2026-04-05 00:06:01 AREA: G",
    "published_at": "2026-04-05 00:06:01",
    "area": "G",
    "message_id": "GA15",
    "text": "ZCZC GA15\nWZ 221/26\nDTGJER._\n7!'9!8__9!!'_$1 _48(-_!94. '975_2-4( 53-11.0N 002-05.8E UNLIT AND ALL NAVAIDS INOPERATIVE.\nNNNN",
    "clean_text": "ZCZC GA15\nWZ 221/26\nDTGJER._\n7!'9!8__9!!'_$1 _48(-_!94. '975_2-4( 53-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: 7!'9!8 9!!' $1 48(- !94. '975 2-4( 53-11.0n 002-05.8e unlit and all navaids inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "7!'9!8 9!!' $1 48(- !94. '975 2-4( 53-11.0n 002-05.8e unlit and all navaids inoperative"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 51,
    "heading": "2026-04-05 00:04:20 AREA: G",
    "published_at": "2026-04-05 00:04:20",
    "area": "G",
    "message_id": "GB38",
    "text": "ZCZC GB38\nCULLERCOATSRADIO\nGA_ECEOHK3_9X_RRBXD_Z_H_QOU_EE_RB_QM \nNNNN",
    "clean_text": "ZCZC GB38\nCULLERCOATSRADIO\nGA_ECEOHK3_9X_RRBXD_Z_H_QOU_EE_RB_QM\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "CULLERCOATS",
      "CULLERCOATSRADIO"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Cullercoatsradio. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Cullercoatsradio"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 52,
    "heading": "2026-04-05 00:03:51 AREA: G",
    "published_at": "2026-04-05 00:03:51",
    "area": "G",
    "message_id": "GA23",
    "text": "ZCZC GA23\nWZ 250/26 \nCANCEL WZ 248/26 (GA22)(OA84) AND THIS MSG. VHF R/T AND DSC SERVICES FROM DURNPJ_MJFHP_MGZY_SMZWFHFZJMYPJHZYPW_NNNN",
    "clean_text": "ZCZC GA23\nWZ 250/26\nCANCEL WZ 248/26 (GA22)(OA84) AND THIS MSG. VHF R/T AND DSC SERVICES FROM DURNPJ_MJFHP_MGZY_SMZWFHFZJMYPJHZYPW_NNNN",
    "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": [
      "Cancel wz 248/26 (ga22)(oa84) and this msg. vhf r/t and dsc services from durnpj mjfhp mgzy smzwfhfzjmypjhzypw nnnn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 53,
    "heading": "2026-04-05 00:00:13 AREA: G",
    "published_at": "2026-04-05 00:00:13",
    "area": "G",
    "message_id": "GE20",
    "text": "ZCZC GE20\nISSUWW BA_HDQM_PH_Z_!/0._.\n7 MGZMJHM_APR\nNO_GWS_M_YFJ_XMG\nF__M_ZYHFPJIIIKMX_ZBYHEM_ZYHDMHQOILEERB_XSR_MES FAIR ISLE\n\nTHE GENERAL SITUATION AT MIDDAY\nLOW SHANNON 992 EXP S NORWAY 980 BY MIDDAY TOMORROW\n\n24-HR FORECASTS\n\nVIKING\nS 3 TO 5, BECMG CYCLONIC, THEN NW LTR, 7 TO SEV GALE 9, PERHAPS STORM 10 LTR, BECMG W 5 TO 7 LT__._6+888(:$.+6._063.6_:_$_._+_'.$!_$.+6.._!_0.'_6.!.\n!__.2.*.:_*!60_4-8,. GOOD, OCNL POOR\n\nFORTIES CROMARTY FORHDONGX_NIC 6 TZM_SNM__4__(_,____:._ 2 6 TO GALE 8 LTR. MOD OR ROUGH, BECMG ROUGH OR VERY ROUGH, OCNLMDF_DMJZ\nA TIME LTR IN FORTIES. RAIN. GOOD, OCNL POOR\n\nTYNE DOGGER HUMBER\nCYCLONIC 5 TO 7, INCR 7 TO SEV GALE 9, OCNL STORM 10 IN TYNE, DOGGER AND FISHER, BECMG W 6 TO GALE 8 LTR. MOD, BECMG ROUGHMZ_M_PYEII_OUGH, BUT VERY ROUGH OR HIGH FOR A TIME IN FISHER. SHWRS. MOWONONGHD_PJONGJUM_EMGHZM_S_M_FI_IKVEER W 4 TO 6 LTR. ROUGH OR VERY ROUGH IN PLYMOUTH AND W PORTLAND, ELSEWHERE SLT OR MOD, BECMG MOD OR ROUGH. SHWRS. MAINLY GOOD\n\nFAIR ISLE\nCYCLONIC 3 TO 5, INCR 7 TO SEV GALE 9 FOR A TIME IN FAIR ISLE, BECMG W 6 TO GALE 8 LTR. __97__ 94_2 24 HOURS:\nGALES EXP IN VIKI_ FORTIES, C_OMARTY, FORTH AND DOGGER WITH STRG WINDS IN ALL OTHER AREAS \n\nNNNN",
    "clean_text": "ZCZC GE20\nISSUWW BA_HDQM_PH_Z_!/0._.\n7 MGZMJHM_APR\nNO_GWS_M_YFJ_XMG\nF__M_ZYHFPJIIIKMX_ZBYHEM_ZYHDMHQOILEERB_XSR_MES FAIR ISLE\n\nTHE GENERAL SITUATION AT MIDDAY\nLOW SHANNON 992 EXP S NORWAY 980 BY MIDDAY TOMORROW\n\n24-HR FORECASTS\n\nVIKING\nS 3 TO 5, BECMG CYCLONIC, THEN NW LTR, 7 TO SEV GALE 9, PERHAPS STORM 10 LTR, BECMG W 5 TO 7 LT__._6+888(:$.+6._063.6_:_$_._+_'.$!_$.+6.._!_0.'_6.!.\n!__.2.*.:_*!60_4-8,. GOOD, OCNL POOR\n\nFORTIES CROMARTY FORHDONGX_NIC 6 TZM_SNM__4__(_,____:._ 2 6 TO GALE 8 LTR. MOD OR ROUGH, BECMG ROUGH OR VERY ROUGH, OCNLMDF_DMJZ\nA TIME LTR IN FORTIES. RAIN. GOOD, OCNL POOR\n\nTYNE DOGGER HUMBER\nCYCLONIC 5 TO 7, INCR 7 TO SEV GALE 9, OCNL STORM 10 IN TYNE, DOGGER AND FISHER, BECMG W 6 TO GALE 8 LTR. MOD, BECMG ROUGHMZ_M_PYEII_OUGH, BUT VERY ROUGH OR HIGH FOR A TIME IN FISHER. SHWRS. MOWONONGHD_PJONGJUM_EMGHZM_S_M_FI_IKVEER W 4 TO 6 LTR. ROUGH OR VERY ROUGH IN PLYMOUTH AND W PORTLAND, ELSEWHERE SLT OR MOD, BECMG MOD OR ROUGH. SHWRS. MAINLY GOOD\n\nFAIR ISLE\nCYCLONIC 3 TO 5, INCR 7 TO SEV GALE 9 FOR A TIME IN FAIR ISLE, BECMG W 6 TO GALE 8 LTR. __97__ 94_2 24 HOURS:\nGALES EXP IN VIKI_ FORTIES, C_OMARTY, FORTH AND DOGGER WITH STRG WINDS IN ALL OTHER AREAS\n\nNNNN",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER",
      "DOGGER",
      "CROMARTY",
      "TYNE"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention gales, rain across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "S 3 to 5, becmg cyclonic, then nw ltr, 7 to sev gale 9, perhaps storm 10 ltr, becmg w 5 to 7 lt . 6 888(:$. 6. 063.6 : $ . '.$! $. 6.. ! 0.' 6.!",
      "Forties cromarty forhdongx nic 6 tzm snm 4 ( , :. 2 6 to gale 8 ltr. mod or rough, becmg rough or very rough, ocnlmdf dmjz",
      "Cyclonic 5 to 7, incr 7 to sev gale 9, ocnl storm 10 in tyne, dogger and fisher, becmg w 6 to gale 8 ltr. mod, becmg roughmz m pyeii ough, but very rough or high for a time in fisher. shwrs. mowononghd pjongjum emghzm s m fi ikveer w 4 to 6 ltr. rough or very rough in plymouth and w portland, elsewhere slt or mod, becmg mod or rough. shwrs. mainly good"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 3,
    "heading": "2026-04-04 23:56:46 AREA: F",
    "published_at": "2026-04-04 23:56:46",
    "area": "F",
    "message_id": "FA26",
    "text": "ZCZC FA26\n051430 UTC FDB\nLATVIAN NAV WARN _\n_54-) _-)58:. LAGVIAN WATERS.\nDUE TO ICE CZWFHFZBNY BUOYS NZV__YVJM__PMLPPM_FHDWYUPBONG_\nFZ_H_M_FH_M_CHFZ__G\nONNIIII\nZCZC",
    "clean_text": "ZCZC FA26\n051430 UTC FDB\nLATVIAN NAV WARN _\n_54-) _-)58:. LAGVIAN WATERS.\nDUE TO ICE CZWFHFZBNY BUOYS NZV__YVJM__PMLPPM_FHDWYUPBONG_\nFZ_H_M_FH_M_CHFZ__G\nONNIIII\nZCZC",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code F. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Due to ice czwfhfzbny buoys nzv yvjm pmlppm fhdwyupbong",
      "Latvian nav warn",
      "54-) -)58:. lagvian waters"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 4,
    "heading": "2026-04-04 23:56:07 AREA: T",
    "published_at": "2026-04-04 23:56:07",
    "area": "T",
    "message_id": "",
    "text": "ZCZCIFABI_\n_  Y__GC_XMZO_PJHZF__RESEARCH KIT WAS PLA_E_ WES_ F_ZMMFZ_PVSPFJCHMS__ZJFHFZ\nZZEIG\nDK__MUUN 0____0__09,\n!___=____./:_!+_,888__\nZCZC",
    "clean_text": "ZCZCIFABI_\n_ Y__GC_XMZO_PJHZF__RESEARCH KIT WAS PLA_E_ WES_ F_ZMMFZ_PVSPFJCHMS__ZJFHFZ\nZZEIG\nDK__MUUN 0____0__09,\n!___=____./:_!+_,888__\nZCZC",
    "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: Zczcifabi. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Zczcifabi"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 5,
    "heading": "2026-04-04 23:54:21 AREA: F",
    "published_at": "2026-04-04 23:54:21",
    "area": "F",
    "message_id": "",
    "text": "ZCZC FA_3\n251840 UTC _ARH\n\nETERSBU_M NAM WARN 049/26\nEASTERN GULF OF FINLFWONJDF_JMQ_PYXMJ_BNNMCXG\nBX_R THRU BELWQYN 027-16.50E 60-05.40N 027-54.00E\n99-53_00N 027-48.0.!377\n7_:+:=:-02\n7=1_=)6____1=6\n0,:0='!/_.63E TA_CZ__(.:_3__W\nZCZC",
    "clean_text": "ZCZC FA_3\n251840 UTC _ARH\n\nETERSBU_M NAM WARN 049/26\nEASTERN GULF OF FINLFWONJDF_JMQ_PYXMJ_BNNMCXG\nBX_R THRU BELWQYN 027-16.50E 60-05.40N 027-54.00E\n99-53_00N 027-48.0.!377\n7_:+:=:-02\n7=1_=)6____1=6\n0,:0='!/_.63E TA_CZ__(.:_3__W\nZCZC",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code F. Readable text says: Bx r thru belwqyn 027-16.50e 60-05.40n 027-54.00e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Bx r thru belwqyn 027-16.50e 60-05.40n 027-54.00e",
      "Eastern gulf of finlfwonjdf jmq pyxmj bnnmcxg",
      "Etersbu m nam warn 049/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 7,
    "heading": "2026-04-04 23:51:13 AREA: F",
    "published_at": "2026-04-04 23:51:13",
    "area": "F",
    "message_id": "FB96",
    "text": "ZCZC FB96\nBALTIC SEA MET WARNINGS\nNFWMJS_QBCK_BJ_ENGEEGEGKBKFECOXXHKXXOPNMP_JHCYW_MP\nP_F_V_PXY_BMG_CW_MSHPM_HW__S. _)-5_\n+._4,8___ '/7(1_(__TW_RUZ_DE __N DECR.\nAR HI__SUNDAW ___\nAX_FC UTC APR\nBALTIFESE_ NAV WARNN02:/6'\nBALTIC SEA AGEA AND INLAND WATERWAYS.\nAFTER TE WINTE_ SJASON FLOATIN_MK\nSHHFZSMJUKB_Q\n___ZMPS_B_32$0ZBHEKTION OR CA_SCZED9.___.)_+_*.2__6=*.__0.)00.7!_$267__.__0_!1._+6=*.7!''.__0._0_06_._0=*__9,\n!'_'_\nZCZC",
    "clean_text": "ZCZC FB96\nBALTIC SEA MET WARNINGS\nNFWMJS_QBCK_BJ_ENGEEGEGKBKFECOXXHKXXOPNMP_JHCYW_MP\nP_F_V_PXY_BMG_CW_MSHPM_HW__S. _)-5_\n+._4,8___ '/7(1_(__TW_RUZ_DE __N DECR.\nAR HI__SUNDAW ___\nAX_FC UTC APR\nBALTIFESE_ NAV WARNN02:/6'\nBALTIC SEA AGEA AND INLAND WATERWAYS.\nAFTER TE WINTE_ SJASON FLOATIN_MK\nSHHFZSMJUKB_Q\n___ZMPS_B_32$0ZBHEKTION OR CA_SCZED9.___.)_+_*.2__6=*.__0.)00.7!_$267__.__0_!1._+6=*.7!''.__0._0_06_._0=*__9,\n!'_'_\nZCZC",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code F. Readable text says: Baltic sea met warnings. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Baltic sea met warnings",
      "Nfwmjs qbck bj engeegegkbkfecoxxhkxxopnmp jhcyw mp",
      "Baltic sea agea and inland waterways"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 8,
    "heading": "2026-04-04 23:45:03 AREA: E",
    "published_at": "2026-04-04 23:45:03",
    "area": "E",
    "message_id": "",
    "text": "ZCZC EA2_\nWZ 185/26_\nWIGHT. \nNEEDLES LIGHT 50-_53(___ 1-6/ /___'8_,-) 8,9034-58=3. \nNNNN",
    "clean_text": "ZCZC EA2_\nWZ 185/26_\nWIGHT.\nNEEDLES LIGHT 50-_53(___ 1-6/ /___'8_,-) 8,9034-58=3.\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",
      "NEEDLES"
    ],
    "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. Readable text says: Needles light 50- 53( 1-6/ / '8 ,-) 8,9034-58 3. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Needles light 50- 53( 1-6/ / '8 ,-) 8,9034-58 3"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 9,
    "heading": "2026-04-04 23:44:43 AREA: E",
    "published_at": "2026-04-04 23:44:43",
    "area": "E",
    "message_id": "EA27",
    "text": "ZCZC EA27\nWZ 192/26 \nLUNDY. 9,_'_06_+_96 51-23.0N 003-=08UMCSFH_\n \nNNNN",
    "clean_text": "ZCZC EA27\nWZ 192/26\nLUNDY. 9,_'_06_+_96 51-23.0N 003-=08UMCSFH_\n\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "LUNDY"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. 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-04 23:44:19 AREA: E",
    "published_at": "2026-04-04 23:44:19",
    "area": "E",
    "message_id": "EA40",
    "text": "ZCZC EA40\nWZ 215/26 \nGMDSS. \nMRCC DOVER. \nMF R/T SERVICE FROM BA$_8($__$G _ZX\n_J_A_001-24.5E OFF AIR. \nNNN_\n\nZCZC",
    "clean_text": "ZCZC EA40\nWZ 215/26\nGMDSS.\nMRCC DOVER.\nMF R/T SERVICE FROM BA$_8($__$G _ZX\n_J_A_001-24.5E OFF AIR.\nNNN_\n\nZCZC",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mf r/t service from ba$ 8($ $g zx",
      "Mrcc dover"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 11,
    "heading": "2026-04-04 23:43:55 AREA: E",
    "published_at": "2026-04-04 23:43:55",
    "area": "E",
    "message_id": "",
    "text": "ZCZC E_46\nWZ 234/26 \nPLYMOUTH. LANDS END_SOUTHEASTWARDS. \nSOKTH CARDINAL BUOY 50-01.2N 005-40.4W UNLIT. \nNNNN",
    "clean_text": "ZCZC E_46\nWZ 234/26\nPLYMOUTH. LANDS END_SOUTHEASTWARDS.\nSOKTH CARDINAL BUOY 50-01.2N 005-40.4W UNLIT.\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code E. Readable text says: Sokth cardinal buoy 50-01.2n 005-40.4w unlit.",
    "decoded_highlights": [
      "Sokth cardinal buoy 50-01.2n 005-40.4w unlit",
      "Plymouth. lands end southeastwards"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 12,
    "heading": "2026-04-04 23:43:26 AREA: E",
    "published_at": "2026-04-04 23:43:26",
    "area": "E",
    "message_id": "EA49",
    "text": "ZCZC EA49\n27-'_-.+6=\n7_EMWY \nFASTNET..9,))'_)) )3$_3 '975_3-'52-4$'. \nEAST CARDINAL BUOY 51-55.3N 007-48.5W UNLIT. \n\nNNNN",
    "clean_text": "ZCZC EA49\n27-'_-.+6=\n7_EMWY\nFASTNET..9,))'_)) )3$_3 '975_3-'52-4$'.\nEAST CARDINAL BUOY 51-55.3N 007-48.5W UNLIT.\n\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: East cardinal buoy 51-55.3n 007-48.5w unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "East cardinal buoy 51-55.3n 007-48.5w unlit"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 13,
    "heading": "2026-04-04 23:42:57 AREA: E",
    "published_at": "2026-04-04 23:42:57",
    "area": "E",
    "message_id": "EB",
    "text": "ZCZC EB\nC_ONGFHZYWFZONG_S_M_Y_FMJKHMEIKPOGEOHK3___MGCH_ONONGJZSPONGJZCH_U_JD_RJQBPB_RE GALJ FORCE 9 VEERING WESTERLY GALE FORCE 8 SOON\nNNNN",
    "clean_text": "ZCZC EB\nC_ONGFHZYWFZONG_S_M_Y_FMJKHMEIKPOGEOHK3___MGCH_ONONGJZSPONGJZCH_U_JD_RJQBPB_RE GALJ FORCE 9 VEERING WESTERLY GALE FORCE 8 SOON\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code E. Readable text says: C ongfhzywfzong s m y fmjkhmeikpogeohk3 mgch onongjzspongjzch u jd rjqbpb re galj force 9 veering westerly gale force 8 soon. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "C ongfhzywfzong s m y fmjkhmeikpogeohk3 mgch onongjzspongjzch u jd rjqbpb re galj force 9 veering westerly gale force 8 soon"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 14,
    "heading": "2026-04-04 23:40:13 AREA: E",
    "published_at": "2026-04-04 23:40:13",
    "area": "E",
    "message_id": "EE01",
    "text": "ZCZC EE01\n\nISSUED BY THE MET OFFICE AT 1900 ON SAT 04 APR\n\n\nGALE WARNINGS: THAMES DOVER WIGHT PORTLAND PLYMOUTH FITZROY SO_Q_ASTNET\nV_BH_ GTNERAL MOD, BECMG MOD OR ROUGH. SHWRS. MAINLY GOOD\n\nBISCAY FITZROY\nCYCLONIC 4 TO 6, BUT 6 TO GALE 8 ATM__YKHMMFHAYZ_BECMG VRB 2 TO 4. ROUGH OR VERY ROUGH, OCNL MOD AT FIRST IN E BISCAY AND S FITZROY, AND HIGH AT FIRST IN N FITZROY. SHWRS.3_99$\n\nSOLE LUNDY FASTNET\nS OR SW 7 __+.*0\n._'_._+._+_'.*_+6_.\n ___+6_._!_!.!.!6!*$.*0_.__.888_7.\n_.__+.\n:___6+:_$.+4__,30_3_/42L_H__J_AUO_31__1KBKUBW32_:$__31___1_, W LUNDY AND FASTNET, BECMG MOD OR ROUGH LTR. RAIN, THEN SHWRS. GOOD, OCNL POOR\n\nOUTLOOK FLW 24 HOURS:\nA RISK OF GALES IN SOLE WITH STRG WINDS IN ALL OTHER AREAS EXCEPT DOVER AND WIGHT\nNNNN",
    "clean_text": "ZCZC EE01\n\nISSUED BY THE MET OFFICE AT 1900 ON SAT 04 APR\n\nGALE WARNINGS: THAMES DOVER WIGHT PORTLAND PLYMOUTH FITZROY SO_Q_ASTNET\nV_BH_ GTNERAL MOD, BECMG MOD OR ROUGH. SHWRS. MAINLY GOOD\n\nBISCAY FITZROY\nCYCLONIC 4 TO 6, BUT 6 TO GALE 8 ATM__YKHMMFHAYZ_BECMG VRB 2 TO 4. ROUGH OR VERY ROUGH, OCNL MOD AT FIRST IN E BISCAY AND S FITZROY, AND HIGH AT FIRST IN N FITZROY. SHWRS.3_99$\n\nSOLE LUNDY FASTNET\nS OR SW 7 __+.*0\n._'_._+._+_'.*_+6_.\n___+6_._!_!.!.!6!*$.*0_.__.888_7.\n_.__+.\n:___6+:_$.+4__,30_3_/42L_H__J_AUO_31__1KBKUBW32_:$__31___1_, W LUNDY AND FASTNET, BECMG MOD OR ROUGH LTR. RAIN, THEN SHWRS. GOOD, OCNL POOR\n\nOUTLOOK FLW 24 HOURS:\nA RISK OF GALES IN SOLE WITH STRG WINDS IN ALL OTHER AREAS EXCEPT DOVER AND WIGHT\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",
      "PORTLAND"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for United Kingdom - English Channel and western approaches. This is a weather bulletin; readable sections mention gales, ice, rain across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gale warnings: thames dover wight portland plymouth fitzroy so q astnet",
      "Cyclonic 4 to 6, but 6 to gale 8 atm ykhmmfhayz becmg vrb 2 to 4. rough or very rough, ocnl mod at first in e biscay and s fitzroy, and high at first in n fitzroy. shwrs.3 99$",
      "A risk of gales in sole with strg winds in all other areas except dover and wight"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 15,
    "heading": "2026-04-04 23:20:00 AREA: S",
    "published_at": "2026-04-04 23:20:00",
    "area": "S",
    "message_id": "SB48",
    "text": "ZCZC SB48\n_U_F__WX-HAMBURG (NCC)\nWARNING NO. 116  0420______.YO_G_ZYM_PY_MZF_DH\n_ONGJMHZMJUM_CMGHZM_FM_F_ENT, SHIFTING W SOON, CEASING SHPY_NNNN",
    "clean_text": "ZCZC SB48\n_U_F__WX-HAMBURG (NCC)\nWARNING NO. 116 0420______.YO_G_ZYM_PY_MZF_DH\n_ONGJMHZMJUM_CMGHZM_FM_F_ENT, SHIFTING W SOON, CEASING SHPY_NNNN",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code S. Readable text says: Warning no. 116 0420 .yo g zym py mzf dh. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Warning no. 116 0420 .yo g zym py mzf dh",
      "Ongjmhzmjum cmghzm fm f ent, shifting w soon, ceasing shpy nnnn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 16,
    "heading": "2026-04-04 22:44:38 AREA: W",
    "published_at": "2026-04-04 22:44:38",
    "area": "W",
    "message_id": "WA38",
    "text": "ZCZC WA38\nAVURNAV TOULO_WWXWY\n_S_OVENCE\nSPECIAL OPER__IONS\n1. SEA TRIALS\n FROM 050000 _TCVYM_\nZMGH\n_MOHM_YMMAF__\nGJO_M__ZM_B_PHVZHMLJZ_\n_ASON IN FOLLOWFO\n_W_PUJ_MOU _EAPTMW__X\n:.90N 007-30.40E\n 42-47_!'_9_\n_$=(UL9__9_,_(:3.)_)9G1:4____+:202.)342-25.__\n_J ___TPTNM\nYU_IMTJ_HGM J1:4___+1'KCBG:'))0:,_1:4__,+__\n-_1_5_5: -04 26\n ROV IMPLEMENTA\nSZO\nB_NMG_V JASBN IN \n _C())__\n-\n__8 ____CZC WA36\nAVURNAVTTOULON 220/26\n_)89,\n'03:8_9 \n_'\n+_._+=\n!1. SC_ 4( __*!__)__(_$-_,+(:30_)9Q9:$_\n 42-56.00N 003-35::_/3(_1_+_1____ZCZC",
    "clean_text": "ZCZC WA38\nAVURNAV TOULO_WWXWY\n_S_OVENCE\nSPECIAL OPER__IONS\n1. SEA TRIALS\nFROM 050000 _TCVYM_\nZMGH\n_MOHM_YMMAF__\nGJO_M__ZM_B_PHVZHMLJZ_\n_ASON IN FOLLOWFO\n_W_PUJ_MOU _EAPTMW__X\n:.90N 007-30.40E\n42-47_!'_9_\n_$=(UL9__9_,_(:3.)_)9G1:4____+:202.)342-25.__\n_J ___TPTNM\nYU_IMTJ_HGM J1:4___+1'KCBG:'))0:,_1:4__,+__\n-_1_5_5: -04 26\nROV IMPLEMENTA\nSZO\nB_NMG_V JASBN IN\n_C())__\n-\n__8 ____CZC WA36\nAVURNAVTTOULON 220/26\n_)89,\n'03:8_9\n_'\n+_._+=\n!1. SC_ 4( __*!__)__(_$-_,+(:30_)9Q9:$_\n42-56.00N 003-35::_/3(_1_+_1____ZCZC",
    "display_region_heading": "Unresolved B1 code W",
    "display_region_label": "B1 code W",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code W. Readable text says: Avurnav toulo wwxwy. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Avurnav toulo wwxwy",
      "Special oper ions",
      "1. sea trials"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 17,
    "heading": "2026-04-04 22:43:20 AREA: T",
    "published_at": "2026-04-04 22:43:20",
    "area": "T",
    "message_id": "",
    "text": "ZCZ_ WAN*:,)_1ACSL_Z_UAZFF_E - LION - MA_DAZT_A - PROVENCE - /'-4$9___\n87 , !94:3 -43 -=-8)-_)3 9, 5_3._0)__*!_09,.$__J\nX_TG_YHFSIBG_VEUK__5: -04\n1___\n85(65_*_\n7_:_(1)9(_,_:1)93//__/__XVS_5/26, 216/26, 217/26, 219/_220/26, 221/26, 222/26, 22 224_22/=_8' .'_ 101_:5 UTC APR __NO_ZCZC",
    "clean_text": "ZCZ_ WAN*:,)_1ACSL_Z_UAZFF_E - LION - MA_DAZT_A - PROVENCE - /'-4$9___\n87 , !94:3 -43 -=-8)-_)3 9, 5_3._0)__*!_09,.$__J\nX_TG_YHFSIBG_VEUK__5: -04\n1___\n85(65_*_\n7_:_(1)9(_,_:1)93//__/__XVS_5/26, 216/26, 217/26, 219/_220/26, 221/26, 222/26, 22 224_22/=_8' .'_ 101_:5 UTC APR __NO_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": 19,
    "heading": "2026-04-04 22:30:18 AREA: V",
    "published_at": "2026-04-04 22:30:18",
    "area": "V",
    "message_id": "",
    "text": "ZCZC VA__301531 ___/._6_\n_26 \nTHK___S WIND FARM. \n1. TURBINE A06 51-45.0N 001-14.6E _O_ SIGNAL INO_____XWY\n_OM BA___MYN_PI_AIR.\n_NNNN",
    "clean_text": "ZCZC VA__301531 ___/._6_\n_26\nTHK___S WIND FARM.\n1. TURBINE A06 51-45.0N 001-14.6E _O_ SIGNAL INO_____XWY\n_OM BA___MYN_PI_AIR.\n_NNNN",
    "display_region_heading": "Unresolved B1 code V",
    "display_region_label": "B1 code V",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code V. Readable text says: 1. turbine a06 51-45.0n 001-14.6e o signal ino xwy. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. turbine a06 51-45.0n 001-14.6e o signal ino xwy"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 20,
    "heading": "2026-04-04 22:20:13 AREA: U",
    "published_at": "2026-04-04 22:20:13",
    "area": "U",
    "message_id": "UE41",
    "text": "ZCZC UE41\n041920 UTC APR 26\nMONDOLFO RADIO\n\nWEATHER FORECAST OVER MER_XERRANEAN AREAS ISSUED BY ROME METEO_OLOGY CENTRE AT 18/UTC OF 04/04/2026\nAND AK _ UP EO 06/UTC OF 05/04/2026\n1. WARNINGS:\nTHUNDERSTORMS UNDER COURSE:  OVER AEGAC SEA, LEVANTINE BASIN SEA AND\nLIBYAN SEA.\nTHUNDERSTORMS FORECAST: OVER LEVJLTVNE BASIN SEA, AE*, '3- -,$\n)8_6-, '3-=.\nGALES UNDER COURSE: NIL\nGALES FORECAST:_0,8)\n2. WEATHER SITUATION:\nINSTABILITY AREA OVER LIBYAN SEA. FRONTAL SYSTEM OVER AEGEAN SEA IS\nWEAKENING. HIGH AND FLAT FIALD OF 1026 HPA OVER WESTERN MEDITERRANEAN\n3. FORECAST TO 06/UTC OF 05/04/2026 AND 12 HOURS OUTLOOK:\n _+6_$06.26!_!_.*=__._\n6!)'0._0.(_(4_CR_VISIBILIT_ -_'.995_\n'3- / OUTLOOK: VARIABLE 2 -FAIR.\nCENTRAL ADRIATIC SO_ES_ASQK_HQ_D_PJQDJ _RDMSDKNH_XEFN___Y\n_$_GOOD VISIBILITY -SLIGHT SEA / OUTLOOK: NORTHWESTERLY 3 -FAIR.\nSOUTHERN ADRIATIC SEA: NORTHWESTERLY 4 LOCALLY INCREASING -FAIR\n-GOOD VISIBILITY TU_MO__RAT_ SEA / OUTLOOK: NORTHERLY 4 -FAIR.\n4. WINHKF_K\nRLOUTLOOK OVER ITALIWOKI_ES F_ZBM_ F_GCH_MZ._+_+6_+_9,+6_$06.26!_!_.*__\n_*+:_$0*_06'/_(8___(- 1/NB_ESTERLY 2 SEA\n1/EASTERLY 2 SEA 0/NOM_HERLY 1 SEA 1.\nCE_TRAL ADRIATIC S V_MGJZCHDPYSEM_UMGJPM\n__GAE_WRJQBGMLR GM_TRDV__G_\n2 SEA 1/NORTHWESTERLY 2 SEA 1.\nSOUTHERN ADRIATIC SEA: WESTERLY 3 S__ 2/NORTHWETLLP 1/NORTHWESTERLY 3 SEA 2.\n\nEND METEOMAR.\n,_$._$\n__(____77_77_ZCZC",
    "clean_text": "ZCZC UE41\n041920 UTC APR 26\nMONDOLFO RADIO\n\nWEATHER FORECAST OVER MER_XERRANEAN AREAS ISSUED BY ROME METEO_OLOGY CENTRE AT 18/UTC OF 04/04/2026\nAND AK _ UP EO 06/UTC OF 05/04/2026\n1. WARNINGS:\nTHUNDERSTORMS UNDER COURSE: OVER AEGAC SEA, LEVANTINE BASIN SEA AND\nLIBYAN SEA.\nTHUNDERSTORMS FORECAST: OVER LEVJLTVNE BASIN SEA, AE*, '3- -,$\n)8_6-, '3-=.\nGALES UNDER COURSE: NIL\nGALES FORECAST:_0,8)\n2. WEATHER SITUATION:\nINSTABILITY AREA OVER LIBYAN SEA. FRONTAL SYSTEM OVER AEGEAN SEA IS\nWEAKENING. HIGH AND FLAT FIALD OF 1026 HPA OVER WESTERN MEDITERRANEAN\n3. FORECAST TO 06/UTC OF 05/04/2026 AND 12 HOURS OUTLOOK:\n_+6_$06.26!_!_.*=__._\n6!)'0._0.(_(4_CR_VISIBILIT_ -_'.995_\n'3- / OUTLOOK: VARIABLE 2 -FAIR.\nCENTRAL ADRIATIC SO_ES_ASQK_HQ_D_PJQDJ _RDMSDKNH_XEFN___Y\n_$_GOOD VISIBILITY -SLIGHT SEA / OUTLOOK: NORTHWESTERLY 3 -FAIR.\nSOUTHERN ADRIATIC SEA: NORTHWESTERLY 4 LOCALLY INCREASING -FAIR\n-GOOD VISIBILITY TU_MO__RAT_ SEA / OUTLOOK: NORTHERLY 4 -FAIR.\n4. WINHKF_K\nRLOUTLOOK OVER ITALIWOKI_ES F_ZBM_ F_GCH_MZ._+_+6_+_9,+6_$06.26!_!_.*__\n_*+:_$0*_06'/_(8___(- 1/NB_ESTERLY 2 SEA\n1/EASTERLY 2 SEA 0/NOM_HERLY 1 SEA 1.\nCE_TRAL ADRIATIC S V_MGJZCHDPYSEM_UMGJPM\n__GAE_WRJQBGMLR GM_TRDV__G_\n2 SEA 1/NORTHWESTERLY 2 SEA 1.\nSOUTHERN ADRIATIC SEA: WESTERLY 3 S__ 2/NORTHWETLLP 1/NORTHWESTERLY 3 SEA 2.\n\nEND METEOMAR.\n,_$._$\n__(____77_77_ZCZC",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Italy - Adriatic Sea and central Italian coast. This is a weather bulletin; readable sections mention thunderstorms, gales across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Thunderstorms under course: over aegac sea, levantine basin sea and",
      "Thunderstorms forecast: over levjltvne basin sea, ae , '3- -,$",
      "$ good visibility -slight sea / outlook: northwesterly 3 -fair"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 22,
    "heading": "2026-04-04 22:14:33 AREA: T",
    "published_at": "2026-04-04 22:14:33",
    "area": "T",
    "message_id": "TA13",
    "text": "ZCZC TA13\nE_\nE_D_D_CHFMG_HXONONGZZJHPWPYWFZM_JF__ PU_\nVAARGEUL 1 \nLIGHTBUOY VG5, 51-24.73N 002-56.78E D_F_HF_MONGJDF_WMHZMYP__YH_J_ML_P_LFPWM_ZKH_CYWONGOIII_ZCZC",
    "clean_text": "ZCZC TA13\nE_\nE_D_D_CHFMG_HXONONGZZJHPWPYWFZM_JF__ PU_\nVAARGEUL 1\nLIGHTBUOY VG5, 51-24.73N 002-56.78E D_F_HF_MONGJDF_WMHZMYP__YH_J_ML_P_LFPWM_ZKH_CYWONGOIII_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: Lightbuoy vg5, 51-24.73n 002-56.78e d f hf mongjdf wmhzmyp yh j ml p lfpwm zkh cywongoiii zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lightbuoy vg5, 51-24.73n 002-56.78e d f hf mongjdf wmhzmyp yh j ml p lfpwm zkh cywongoiii zczc",
      "Vaargeul 1"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 26,
    "heading": "2026-04-04 22:12:07 AREA: T",
    "published_at": "2026-04-04 22:12:07",
    "area": "T",
    "message_id": "TA23",
    "text": "ZCZC TA23\n011244 UH_ AYR\nOOSTENDERADIO MSI 1445_TSS-WESTHINDER\nCALIBRATION BEACON LOST B_MVEL GEOSURVEYRVOYRVOYXJ_QX_Y_INITY OF POS 51 24.3N 002 51.4E\nNGJDF_G IS REQUESTED NOT TO ANCHOR NOR TO FISH \nIN THE VICINITY\nNNNN",
    "clean_text": "ZCZC TA23\n011244 UH_ AYR\nOOSTENDERADIO MSI 1445_TSS-WESTHINDER\nCALIBRATION BEACON LOST B_MVEL GEOSURVEYRVOYRVOYXJ_QX_Y_INITY OF POS 51 24.3N 002 51.4E\nNGJDF_G IS REQUESTED NOT 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",
    "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, including anchoring, fishing, or towing limits.",
    "decoded_highlights": [
      "Ngjdf g is requested not to anchor nor to fish",
      "Calibration beacon lost b mvel geosurveyrvoyrvoyxj qx y inity of pos 51 24.3n 002 51.4e",
      "Oostenderadio msi 1445 tss-westhinder"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 28,
    "heading": "2026-04-04 22:10:18 AREA: T",
    "published_at": "2026-04-04 22:10:18",
    "area": "T",
    "message_id": "TE08",
    "text": "ZCZC TE08\n041910 UTC APR\nOOSTENDERADIO WX 08/_*9,__$_0*.2.2+_06\n_6, VEER WSW. DURINGNHDPMF_DHX__B_ZM__YMHZM_CMGHZM\nF_MG_Z_ZY_Z_ONGZZYF_MWP_YO_M \nBEBZ\n_U_ZLXF_VW_A_H__DUX_QPKYYQ_\nQDLDF Q_HW_\nQXTY_\n_TX_XY_E\n__UQX_QFW_Q_RROW MORNING\nDECR TO 5. \nALL AREAS:\nSCT CLOUDS AND DRY. TONIGHT BECMG OVERCAST FLWD BY RAIN_M_J_Z_ZY_Z_MJZ_PMLYP_JM_ZFMLCIII_SK OF A SHWR. GOOD VIS, MOD IN PRECIPITATION.\nNNNN",
    "clean_text": "ZCZC TE08\n041910 UTC APR\nOOSTENDERADIO WX 08/_*9,__$_0*.2.2+_06\n_6, VEER WSW. DURINGNHDPMF_DHX__B_ZM__YMHZM_CMGHZM\nF_MG_Z_ZY_Z_ONGZZYF_MWP_YO_M\nBEBZ\n_U_ZLXF_VW_A_H__DUX_QPKYYQ_\nQDLDF Q_HW_\nQXTY_\n_TX_XY_E\n__UQX_QFW_Q_RROW MORNING\nDECR TO 5.\nALL AREAS:\nSCT CLOUDS AND DRY. TONIGHT BECMG OVERCAST FLWD BY RAIN_M_J_Z_ZY_Z_MJZ_PMLYP_JM_ZFMLCIII_SK OF A SHWR. GOOD VIS, MOD IN PRECIPITATION.\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Belgium - Belgian coast and southern North Sea. Readable text says: Sct clouds and dry. tonight becmg overcast flwd by rain m j z zy z mjz pmlyp jm zfmlciii sk of a shwr. good vis, mod in precipitation. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Sct clouds and dry. tonight becmg overcast flwd by rain m j z zy z mjz pmlyp jm zfmlciii sk of a shwr. good vis, mod in precipitation",
      "All areas"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 29,
    "heading": "2026-04-04 22:07:38 AREA: S",
    "published_at": "2026-04-04 22:07:38",
    "area": "S",
    "message_id": "",
    "text": "ZCZC SA3'0,_\n050930 UTC MA_Y\nNAV. WARN. NO. 129\nTSS GERMAN _F_DHM_PJHPYM_DY__DON_JGU_T_PBJ_WM__S_COQP_BG_PXLG_S_G\nXXBR)__8__0=74_/_ )*_\n)ZCZC",
    "clean_text": "ZCZC SA3'0,_\n050930 UTC MA_Y\nNAV. WARN. NO. 129\nTSS GERMAN _F_DHM_PJHPYM_DY__DON_JGU_T_PBJ_WM__S_COQP_BG_PXLG_S_G\nXXBR)__8__0=74_/_ )*_\n)ZCZC",
    "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: Nav. warn. no. 129. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Nav. warn. no. 129"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 32,
    "heading": "2026-04-04 22:05:50 AREA: S",
    "published_at": "2026-04-04 22:05:50",
    "area": "S",
    "message_id": "SA80",
    "text": "ZCZC SA80\n_$_!____)=6_5,\n_$ :0__=\n//__/\n_\nNAV. WARN.._/+__._!+9,_0!201_\n1_/:41_EIDER' LIGHTBUZ_MMMQYN 008-29E\nTEMPORARILY REPLA BY UNLIHENC B_O\n\n_\n\n__---------_-\n77ZCZC",
    "clean_text": "ZCZC SA80\n_$_!____)=6_5,\n_$ :0__=\n//__/\n_\nNAV. WARN.._/+__._!+9,_0!201_\n1_/:41_EIDER' LIGHTBUZ_MMMQYN 008-29E\nTEMPORARILY REPLA BY UNLIHENC B_O\n\n_\n\n__---------_-\n77ZCZC",
    "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: 1 /:41 eider' lightbuz mmmqyn 008-29e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1 /:41 eider' lightbuz mmmqyn 008-29e",
      "Temporarily repla by unlihenc b o"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 33,
    "heading": "2026-04-04 22:03:03 AREA: T",
    "published_at": "2026-04-04 22:03:03",
    "area": "T",
    "message_id": "",
    "text": "ZCZCMJ_FPBNAHMLCY_ON\n___K__._04 2=9,__WARN__/+__. +69,__,3)(9_32_,_+4=_\n_Y MV ':_!+911RYUG_IZ__YZCW__1_2\n_'___0=0_8_8))_5!,\nRE\nYYPJ_E3__-589,_9,88__345_ 9=87.__4XXP_F_U_LDIIIIALL\nOOOOOZZZZZZZAAAAAAAAAAAAAAAAAAAAA__XAF_AXAFM_HF_C-HMLCS_O_NG_GG__RO_\n__D_Y\nNAV. WARN.=_MVONQ_JVF _JRMAN BF_DH\n_MG_AY_WK_SHORE 1'9\n,_*.39QO_ATIONS IN YYZYPQB_OBPOBP_N 54-28,5N 005-30!!_\n_60*_!_ .-,93=4-_8)856 $+3_3__/_!+*_+_'_3$2_-___=__88)0_===\n+\n++++\n-7_ZCA_MJ\nF_ON_T\nSVIKTY__L_Q_LLBB_C MAR _NA\n_WARN..__+_)..-/_0+40_8_(_. JZCHDNRSPBVM\n_WPY__PERATIONS BY MV 'FUP_FO2',\nN_N_\n_,:(\n7'4-46,6_06-00,5E\nHGYPJHYF_BIBK_B_KS*_$748,_ 9_06_1))0_BPYHDM500 ('__C_DRDR__I __PQV\n\n_\n_0_----____7_\n(_  ZCZC",
    "clean_text": "ZCZCMJ_FPBNAHMLCY_ON\n___K__._04 2=9,__WARN__/+__. +69,__,3)(9_32_,_+4=_\n_Y MV ':_!+911RYUG_IZ__YZCW__1_2\n_'___0=0_8_8))_5!,\nRE\nYYPJ_E3__-589,_9,88__345_ 9=87.__4XXP_F_U_LDIIIIALL\nOOOOOZZZZZZZAAAAAAAAAAAAAAAAAAAAA__XAF_AXAFM_HF_C-HMLCS_O_NG_GG__RO_\n__D_Y\nNAV. WARN.=_MVONQ_JVF _JRMAN BF_DH\n_MG_AY_WK_SHORE 1'9\n,_*.39QO_ATIONS IN YYZYPQB_OBPOBP_N 54-28,5N 005-30!!_\n_60*_!_ .-,93=4-_8)856 $+3_3__/_!+*_+_'_3$2_-___=__88)0_===\n+\n++++\n-7_ZCA_MJ\nF_ON_T\nSVIKTY__L_Q_LLBB_C MAR _NA\n_WARN..__+_)..-/_0+40_8_(_. JZCHDNRSPBVM\n_WPY__PERATIONS BY MV 'FUP_FO2',\nN_N_\n_,:(\n7'4-46,6_06-00,5E\nHGYPJHYF_BIBK_B_KS*_$748,_ 9_06_1))0_BPYHDM500 ('__C_DRDR__I __PQV\n\n_\n_0_----____7_\n(_ ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: 39qo ations in yyzypqb obpobp n 54-28,5n 005-30!!. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "39qo ations in yyzypqb obpobp n 54-28,5n 005-30!!",
      "Zczcmj fpbnahmlcy on"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 34,
    "heading": "2026-04-04 22:02:07 AREA: S",
    "published_at": "2026-04-04 22:02:07",
    "area": "S",
    "message_id": "SA85",
    "text": "ZCZC SA85\nNCC-HAMBURGO_YQP UTC APR 26\nNAV. WARN. NO. 196\nGERMAN BIGHT. NORTHWESTERLYB_L_X\n_RX\n_R_SURVP__L_MV 'OC_EQQKQ__N_XFAY__SE_AMB__9_8\n_\n_\n2)__)____-2(50__9,_*__3\nRESTRFMHP_M__NXBEKS*)__:503!SVSGGOV_\nLF VSAFE BPYHDMZ._ ._+_4XXP_NU_ULLDFUSF__KUZCZC",
    "clean_text": "ZCZC SA85\nNCC-HAMBURGO_YQP UTC APR 26\nNAV. WARN. NO. 196\nGERMAN BIGHT. NORTHWESTERLYB_L_X\n_RX\n_R_SURVP__L_MV 'OC_EQQKQ__N_XFAY__SE_AMB__9_8\n_\n_\n2)__)____-2(50__9,_*__3\nRESTRFMHP_M__NXBEKS*)__:503!SVSGGOV_\nLF VSAFE BPYHDMZ._ ._+_4XXP_NU_ULLDFUSF__KUZCZC",
    "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: German bight. northwesterlyb l x. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "German bight. northwesterlyb l x",
      "Nav. warn. no. 196",
      "Ncc-hamburgo yqp utc apr 26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 35,
    "heading": "2026-04-04 22:00:44 AREA: S",
    "published_at": "2026-04-04 22:00:44",
    "area": "S",
    "message_id": "SE75",
    "text": "ZCZC SE75\n041900 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nSATURDAY:\nWIND: SOUTHWESTERLY WINDS ABOUT 4, LATER INCREASING 6 TO 7.\nVISIBILITY/WEATHER: LOCALLY SHOWER WITH POORV_FJFLFSF_\nSEA: INCREASING 3 METER.\n\nSUNDAY:\nWIND: SOUTH TO SOUTHWEST 7, NORTHERN PART AT TIMES 8, SHIFTING SLOWLY\nNORTHWEST AND DECREASING 6.\nVISIBILITY/WEATHER: LOCALLY\nSHZ_Q_M_FH_M_ZWPYHMMOJ'*____1__7145 !94 - 58.3 5 METER.\nNNNN",
    "clean_text": "ZCZC SE75\n041900 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nSATURDAY:\nWIND: SOUTHWESTERLY WINDS ABOUT 4, LATER INCREASING 6 TO 7.\nVISIBILITY/WEATHER: LOCALLY SHOWER WITH POORV_FJFLFSF_\nSEA: INCREASING 3 METER.\n\nSUNDAY:\nWIND: SOUTH TO SOUTHWEST 7, NORTHERN PART AT TIMES 8, SHIFTING SLOWLY\nNORTHWEST AND DECREASING 6.\nVISIBILITY/WEATHER: LOCALLY\nSHZ_Q_M_FH_M_ZWPYHMMOJ'*____1__7145 !94 - 58.3 5 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 poorv fjflfsf. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Visibility/weather: locally shower with poorv fjflfsf",
      "Visibility/weather: locally",
      "Weatherforecast for german bight"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 36,
    "heading": "2026-04-04 22:00:12 AREA: S",
    "published_at": "2026-04-04 22:00:12",
    "area": "S",
    "message_id": "SB47",
    "text": "ZCZC SB47\n041900 NAVTEX-HAMBURG (NCC)\nWARNING NO. 115  041225UTC APR\nFOR GERMAN BIGHT:\nS TO SW 7 TO 8 SOON, SHIFTING W LATER.\nNNNN",
    "clean_text": "ZCZC SB47\n041900 NAVTEX-HAMBURG (NCC)\nWARNING NO. 115 041225UTC APR\nFOR GERMAN BIGHT:\nS TO SW 7 TO 8 SOON, SHIFTING W LATER.\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": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Germany - German Bight and German North Sea. Readable text says: Warning no. 115 041225utc apr.",
    "decoded_highlights": [
      "Warning no. 115 041225utc apr",
      "S to sw 7 to 8 soon, shifting w later",
      "041900 navtex-hamburg (ncc)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 39,
    "heading": "2026-04-04 21:30:19 AREA: P",
    "published_at": "2026-04-04 21:30:19",
    "area": "P",
    "message_id": "PB40",
    "text": "ZCZC PB40\n041608 UTC APR 26\nGALEWARNING, 04 APR 16:03 UTC.\nDOGGER.\nSOUTHWEST 9.\nGERMAN BIGHT. HUMBER.\nSOUTH TO SOU_D_PJ_M\nF_ONGHD_PJ\nB\nI_BNRN_ZCHD_PJ_M\nF_ONONGPWMZ._'0_6!_9,9,9,,888_+/-/._PP_NU  UPMGCH_MYM\n_MSI 107/26\nNORTHSEA\nTHE FOLLOWING WIND TURBINES HAVE DEFECTS\n\nHOLLANDSE KUST NOORD\n52-40.3N 004-09.8E HNI4 FOGHORN INOPERATIVE\n52-44.9N 004-12.2E HNF4 UNLIT\n\nHOLLANDSE KUST ZUID\n52-19.2N 004-06.5E HZZ6 UNLIT\n52-22.6N 004-11.3EMDAT_UNLIT\n_7_  _1__,\n_00.9E HZR FOGHORN INOPERATIVE\n\nCANCEL MSI 302/25\n\nNNNN",
    "clean_text": "ZCZC PB40\n041608 UTC APR 26\nGALEWARNING, 04 APR 16:03 UTC.\nDOGGER.\nSOUTHWEST 9.\nGERMAN BIGHT. HUMBER.\nSOUTH TO SOU_D_PJ_M\nF_ONGHD_PJ\nB\nI_BNRN_ZCHD_PJ_M\nF_ONONGPWMZ._'0_6!_9,9,9,,888_+/-/._PP_NU UPMGCH_MYM\n_MSI 107/26\nNORTHSEA\nTHE FOLLOWING WIND TURBINES HAVE DEFECTS\n\nHOLLANDSE KUST NOORD\n52-40.3N 004-09.8E HNI4 FOGHORN INOPERATIVE\n52-44.9N 004-12.2E HNF4 UNLIT\n\nHOLLANDSE KUST ZUID\n52-19.2N 004-06.5E HZZ6 UNLIT\n52-22.6N 004-11.3EMDAT_UNLIT\n_7_ _1__,\n_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": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Netherlands - Dutch EEZ and southern North Sea. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "52-40.3n 004-09.8e hni4 foghorn inoperative",
      "00.9e hzr foghorn inoperative",
      "The following wind turbines have defects"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 41,
    "heading": "2026-04-04 21:05:04 AREA: G",
    "published_at": "2026-04-04 21:05:04",
    "area": "G",
    "message_id": "GA22",
    "text": "ZCZC GA22\nWZ 248/26 \n_K_O_\nMRCC FLAND. \nVHF R/T AND DSC SERVICESVFYZBMWCYPJJMJFIIIU58-33.9N 004-44.1W\nOXF AIR.\nNNNN",
    "clean_text": "ZCZC GA22\nWZ 248/26\n_K_O_\nMRCC FLAND.\nVHF R/T AND DSC SERVICESVFYZBMWCYPJJMJFIIIU58-33.9N 004-44.1W\nOXF 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": [
      "Vhf r/t and dsc servicesvfyzbmwcypjjmjfiiiu58-33.9n 004-44.1w",
      "Mrcc fland"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 42,
    "heading": "2026-04-04 20:09:03 AREA: T",
    "published_at": "2026-04-04 20:09:03",
    "area": "T",
    "message_id": "",
    "text": "ZCZCIGA96\n=3!2_0.$*8_., !-_6_=__8___=_.:.._( \n__3\n__3_57/267\n__* =_48_6  \nFM_N\n_\nNKXN__26\nDENA_1-.=_4_ __4_\n.\n53____\n777ZCZC",
    "clean_text": "ZCZCIGA96\n=3!2_0.$*8_., !-_6_=__8___=_.:.._(\n__3\n__3_57/267\n__* =_48_6\nFM_N\n_\nNKXN__26\nDENA_1-.=_4_ __4_\n.\n53____\n777ZCZC",
    "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": 43,
    "heading": "2026-04-04 20:07:53 AREA: G",
    "published_at": "2026-04-04 20:07:53",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\n 2_ (82/26 \n__7._3_!5\n5_4-:3 _-,( 28,$ !-4.. \n1_ TURBINE FOG ZIGNALS INOSPYHF_WC_IVIM \n \n. D01,__3-20.1\n,:00.-49_1E.7_\nB. S61, 53-1 ._. _+_-__*__---*$__9_9 _-\n7\nNAVACEA I 4326 \nNOZODVJ_.__\n___'_\n__0_-.-__)_-16.48N 000-46.317!_=_60\n_ _/_2_2*_32ZCZC",
    "clean_text": "ZCZC GA61\n2_ (82/26\n__7._3_!5\n5_4-:3 _-,( 28,$ !-4..\n1_ TURBINE FOG ZIGNALS INOSPYHF_WC_IVIM\n\n. D01,__3-20.1\n,:00.-49_1E.7_\nB. S61, 53-1 ._. _+_-__*__---*$__9_9 _-\n7\nNAVACEA I 4326\nNOZODVJ_.__\n___'_\n__0_-.-__)_-16.48N 000-46.317!_=_60\n_ _/_2_2*_32ZCZC",
    "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 fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1 turbine fog zignals inospyhf wc ivim",
      "Navacea i 4326"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 44,
    "heading": "2026-04-04 20:06:52 AREA: G",
    "published_at": "2026-04-04 20:06:52",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA_UR\n_\n_Z 207_)\n86_./_1\n_0(_+\n8._ 7_\n_51__6 _*+\n)/__-$9_+\n!641_!2(2)+2___2_-_+AFAX_\nC_\nNGAA\nRI__AIDS IM_PRATN\nQ_\n_UC_UUALZCZC",
    "clean_text": "ZCZC GA_UR\n_\n_Z 207_)\n86_./_1\n_0(_+\n8._ 7_\n_51__6 _*+\n)/__-$9_+\n!641_!2(2)+2___2_-_+AFAX_\nC_\nNGAA\nRI__AIDS IM_PRATN\nQ_\n_UC_UUALZCZC",
    "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. 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": 45,
    "heading": "2026-04-04 20:03:01 AREA: G",
    "published_at": "2026-04-04 20:03:01",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GABQ B_QJGEJ_DOG_G. \n__'9_\n___*3+60._!_.27\n2. !:-,:_)__+ 95/2_ (TA_OJJCQ\n_P__\n_AZD VT$_$,,__+*__2-+_2__*96/___3(69_*8___OIKZH__JVD_LTLBQWM__IE_C_JBR\nL_U\n_+(+.+:_882_2+_9)5+ +8_ 55-0_)._3_EQ_Z_ZCZC",
    "clean_text": "ZCZC GABQ B_QJGEJ_DOG_G.\n__'9_\n___*3+60._!_.27\n2. !:-,:_)__+ 95/2_ (TA_OJJCQ\n_P__\n_AZD VT$_$,,__+*__2-+_2__*96/___3(69_*8___OIKZH__JVD_LTLBQWM__IE_C_JBR\nL_U\n_+(+.+:_882_2+_9)5+ +8_ 55-0_)._3_EQ_Z_ZCZC",
    "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. 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": 46,
    "heading": "2026-04-04 18:02:35 AREA: T",
    "published_at": "2026-04-04 18:02:35",
    "area": "T",
    "message_id": "",
    "text": "_CZC A_P\nH\n_\nB\n_Q_U_U_UUU_S\n__WP_\nEJST FRI_IANCCSLANSS\nO_TW_\nU__KAXA_\nNAG_RQYPFMGCH_OK3(149,_-)32-48_.__+_0_. HUMLP__SOUTH XAX_WVA__LV_I__W_C_UPOUG_I _P_\nK__F V_PSOUTHWEJ_M\n\nEND OF GSP_Y_G_NONNKKKKKKKKKKKVVVVV_SJYWFONG_QMS__FN_H\n\nD_YNE DOGVE_ \nSSOUTH_WETANL_W_4)')*__\n-___+.+6.6*._:''0_!_/00._._)___99,=___9_2=__4- 8 7--4,8\n_'_$._\nC. ,5+  :\n_23_85  -5: __550':/6_._,5,_-87_(6_7'$__=._,_(1__,R_XSP_UO_\nMAI_ES_\nCU___UEQ_DBZCZC",
    "clean_text": "_CZC A_P\nH\n_\nB\n_Q_U_U_UUU_S\n__WP_\nEJST FRI_IANCCSLANSS\nO_TW_\nU__KAXA_\nNAG_RQYPFMGCH_OK3(149,_-)32-48_.__+_0_. HUMLP__SOUTH XAX_WVA__LV_I__W_C_UPOUG_I _P_\nK__F V_PSOUTHWEJ_M\n\nEND OF GSP_Y_G_NONNKKKKKKKKKKKVVVVV_SJYWFONG_QMS__FN_H\n\nD_YNE DOGVE_\nSSOUTH_WETANL_W_4)')*__\n-___+.+6.6*._:''0_!_/00._._)___99,=___9_2=__4- 8 7--4,8\n_'_$._\nC. ,5+ :\n_23_85 -5: __550':/6_._,5,_-87_(6_7'$__=._,_(1__,R_XSP_UO_\nMAI_ES_\nCU___UEQ_DBZCZC",
    "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: Ejst fri ianccslanss. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ejst fri ianccslanss"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 47,
    "heading": "2026-04-04 17:36:06 AREA: P",
    "published_at": "2026-04-04 17:36:06",
    "area": "P",
    "message_id": "",
    "text": "ZCZC PA_ER\nQRQURE UTC OCT 25\nMSI 310/25\nBUOY HWP14 IN 52-40N 003-56E TEMPORARILY WITHDRAWN.\nCANCEL MSI 308/25\nNNNN",
    "clean_text": "ZCZC PA_ER\nQRQURE UTC OCT 25\nMSI 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": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code P. Readable text says: Buoy hwp14 in 52-40n 003-56e temporarily withdrawn.",
    "decoded_highlights": [
      "Buoy hwp14 in 52-40n 003-56e temporarily withdrawn",
      "Qrqure utc oct 25"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 48,
    "heading": "2026-04-04 17:35:27 AREA: P",
    "published_at": "2026-04-04 17:35:27",
    "area": "P",
    "message_id": "PA41",
    "text": "ZCZC PA41\n29068+ _ )._.66\nMSI 10352_\n __**.+6_$._6!0*'29,:206__06.+)*_6:__!+.60_+6_029,!.\n!_!___..+_..'!_._+!!_.9,__6C_G_PRAEOMTGPMWM_HYP_HG_M\n_EOMYE.\nDANGEROUS TO FISNECE_CANCEL MSI 102/26\nNNNN",
    "clean_text": "ZCZC PA41\n29068+ _ )._.66\nMSI 10352_\n__**.+6_$._6!0*'29,:206__06.+)*_6:__!+.60_+6_029,!.\n!_!___..+_..'!_._+!!_.9,__6C_G_PRAEOMTGPMWM_HYP_HG_M\n_EOMYE.\nDANGEROUS TO FISNECE_CANCEL 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 fisnece cancel msi 102/26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Dangerous to fisnece cancel msi 102/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 49,
    "heading": "2026-04-04 17:34:54 AREA: P",
    "published_at": "2026-04-04 17:34:54",
    "area": "P",
    "message_id": "PB38",
    "text": "ZCZC PB38\n041128 UTC APR 26\nGALEWARNING, DTG 04 APR 11:77\n  _\nDOGGER. HUMBER.\nSOUTH TO SOUTHWEST 8.\nGERMAN BIGHT. THAMES. DOVER.\nSOUTH TO SOUTHWEST 7.\n\n\nNNNN",
    "clean_text": "ZCZC PB38\n041128 UTC APR 26\nGALEWARNING, DTG 04 APR 11:77\n_\nDOGGER. HUMBER.\nSOUTH TO SOUTHWEST 8.\nGERMAN BIGHT. THAMES. DOVER.\nSOUTH TO SOUTHWEST 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, dtg 04 apr 11:77.",
    "decoded_highlights": [
      "Galewarning, dtg 04 apr 11:77",
      "Dogger. humber",
      "South to southwest 8"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 50,
    "heading": "2026-04-04 14:33:51 AREA: P",
    "published_at": "2026-04-04 14:33:51",
    "area": "P",
    "message_id": "PB37",
    "text": "ZCZC PB37\n041128 UTC APR 26\nGALEWARNING,=_ 04 APR 11:22 UTC.\nDOGGER. HUMBER.\nSOUTH TO SOUTHWEST 8.\nGERMAN BIGHT. THAMES. DOVER.\nSOUTH TO SOUTHWEST 7.\n\n99,,(_\n-\n+_++9+\n !616 +_1___+:+: 0381\n04130 UTC APR 26\nFORECAST DUTCH EEZ ISSUEDMHM\n _XUPMGCHXM_Y__EONGDCZLPYMWZ_SOUTH TO SOUTD_PJ_M_FONONGHD_PJM_PYBMLFZDHMONJZCHDMHZMJZZ__V_WK_W_A_E_PSIS\nLOW,=989, NORTH OF I_ESWMFJMWPP_P__MWMBZ__MHZMONZYU_\nMZCH_MGJJZ_FHPWMHYZC_DJM_FS_MBZ_PMPJH_YWJM_YZJJMONHDPMZYHDMJPMJHCYW_MF_DHMWMJCWEM_ZYF_\nFORECAST VALID SATURDAY 15:00 T_PP UTC\n\nTHAMES \nSOUTH 4-5,_GYWCSS_MF_YPJF_MJZCHD_PJ_M_CF_ONGSHPYMJJZ__YEMYF_GOOD, LOCALLY AND IN PRECIPITATION POSSIBLY MODERATE_2-=3_38__5 1. BH_G_PH_Y_MGF_YPJFM\nU__ METER.\n\n\nHUMBER \nSOUTH 4-5, GRSSWC_SYM_Q13_1-/_2($7-8.\nLATER SHOWERY RAIN.\nGOOD, LO_ATION POSSIBLY MODERATE.\nWAVEHEIGHT 1.0-1.5 METER, INCREASING 2.5-3.5 METER.\n\n\nGERMAMVBC_DHMONJZCHDM_YHMG_YWCSS_MF_YPJF_MJZCHD_PJ_M_CF_ON_Z_ONALLY SHOWERY RAIN.\nGOOD, IN PRECIPITATION MODERATE.\nWAVEHEIGHT 1.5-2.0 METER, INCREASING 3.5-4.0 METER.\n\n\nDOGGER \nSOUTH TO SOUTHEAST 4-5, GRADUALLY INCREASING SOUTHWEST 7-8.\nOCCASIONALLY SHOWERY RAIN.\nGOOD, IN JI_',\n',_-=3_38__5 1.5-2.0 METER, INCREASING 3.5-4.0 METER.\n\n\nFORECAST VALID SUNDAY 03:00 TILL SUNDAY 15:00 UTC\n\nTHAMES \nSOUTHWEST 7-8, DECREASING WEST 5-6.\nFIRST AND LATER OCCASIONAL SHO S_OVOW_DY_W_MTC_M_YPXF_FHHFZM_ZJJFLSEM_ZWPYHP_WAVEHEIGHT 2.0-3.0 METER, DECREASING 1.5-2.0 METER.\n\n\nHUMBER \nSOUTHWEST 7-8, DECREASING WEST 5-6.\nFIRST AND L_TER OCCAJFZ_B_W_BH)_3_$($_)__10_,0__8_:__.\nWAVEHEIGHT 2.5-3.5 METER, DECREASING 2.0-2.5 METER.\n\n\nGERMAN BI_DHMONJZCHD_PJ_M_CFMGWP_YPJFM_PJ_M_HE_O_G_FY_HMJDZ_PYEMYF_GOOD, IN PRECIPITATION MODERATE.\nWAVEHEIGHT 3.5-4.0 METER, DECREASFFL_\nU_H_V_HMG_PH_Y_\n\nDOGGER \nSOUTHWEST 7-8, POSSIBLY TEMPORARY 9, DECREASING WEST 5-6.\nLATER OCCASIONAL SHOWERS.\n___++2_._!._60/!_!__!+._+206_0_WAVEHEIGHT 3.5-4.0 METER, DECREASING 2.5-3.5 METER.\n\n\n\n\nNNNN",
    "clean_text": "ZCZC PB37\n041128 UTC APR 26\nGALEWARNING,=_ 04 APR 11:22 UTC.\nDOGGER. HUMBER.\nSOUTH TO SOUTHWEST 8.\nGERMAN BIGHT. THAMES. DOVER.\nSOUTH TO SOUTHWEST 7.\n\n99,,(_\n-\n+_++9+\n!616 +_1___+:+: 0381\n04130 UTC APR 26\nFORECAST DUTCH EEZ ISSUEDMHM\n_XUPMGCHXM_Y__EONGDCZLPYMWZ_SOUTH TO SOUTD_PJ_M_FONONGHD_PJM_PYBMLFZDHMONJZCHDMHZMJZZ__V_WK_W_A_E_PSIS\nLOW,=989, NORTH OF I_ESWMFJMWPP_P__MWMBZ__MHZMONZYU_\nMZCH_MGJJZ_FHPWMHYZC_DJM_FS_MBZ_PMPJH_YWJM_YZJJMONHDPMZYHDMJPMJHCYW_MF_DHMWMJCWEM_ZYF_\nFORECAST VALID SATURDAY 15:00 T_PP UTC\n\nTHAMES\nSOUTH 4-5,_GYWCSS_MF_YPJF_MJZCHD_PJ_M_CF_ONGSHPYMJJZ__YEMYF_GOOD, LOCALLY AND IN PRECIPITATION POSSIBLY MODERATE_2-=3_38__5 1. BH_G_PH_Y_MGF_YPJFM\nU__ METER.\n\nHUMBER\nSOUTH 4-5, GRSSWC_SYM_Q13_1-/_2($7-8.\nLATER SHOWERY RAIN.\nGOOD, LO_ATION POSSIBLY MODERATE.\nWAVEHEIGHT 1.0-1.5 METER, INCREASING 2.5-3.5 METER.\n\nGERMAMVBC_DHMONJZCHDM_YHMG_YWCSS_MF_YPJF_MJZCHD_PJ_M_CF_ON_Z_ONALLY SHOWERY RAIN.\nGOOD, IN PRECIPITATION MODERATE.\nWAVEHEIGHT 1.5-2.0 METER, INCREASING 3.5-4.0 METER.\n\nDOGGER\nSOUTH TO SOUTHEAST 4-5, GRADUALLY INCREASING SOUTHWEST 7-8.\nOCCASIONALLY SHOWERY RAIN.\nGOOD, IN JI_',\n',_-=3_38__5 1.5-2.0 METER, INCREASING 3.5-4.0 METER.\n\nFORECAST VALID SUNDAY 03:00 TILL SUNDAY 15:00 UTC\n\nTHAMES\nSOUTHWEST 7-8, DECREASING WEST 5-6.\nFIRST AND LATER OCCASIONAL SHO S_OVOW_DY_W_MTC_M_YPXF_FHHFZM_ZJJFLSEM_ZWPYHP_WAVEHEIGHT 2.0-3.0 METER, DECREASING 1.5-2.0 METER.\n\nHUMBER\nSOUTHWEST 7-8, DECREASING WEST 5-6.\nFIRST AND L_TER OCCAJFZ_B_W_BH)_3_$($_)__10_,0__8_:__.\nWAVEHEIGHT 2.5-3.5 METER, DECREASING 2.0-2.5 METER.\n\nGERMAN BI_DHMONJZCHD_PJ_M_CFMGWP_YPJFM_PJ_M_HE_O_G_FY_HMJDZ_PYEMYF_GOOD, IN PRECIPITATION MODERATE.\nWAVEHEIGHT 3.5-4.0 METER, DECREASFFL_\nU_H_V_HMG_PH_Y_\n\nDOGGER\nSOUTHWEST 7-8, POSSIBLY TEMPORARY 9, DECREASING WEST 5-6.\nLATER OCCASIONAL SHOWERS.\n___++2_._!._60/!_!__!+._+206_0_WAVEHEIGHT 3.5-4.0 METER, DECREASING 2.5-3.5 METER.\n\nNNNN",
    "resolved_station_name": "Netherlands Coastguard Radio",
    "resolved_country": "Netherlands",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Dutch EEZ and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "DUTCH EEZ"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Netherlands - Dutch EEZ and southern North Sea. Readable text says: Forecast valid sunday 03:00 till sunday 15:00 utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Forecast valid sunday 03:00 till sunday 15:00 utc",
      "Forecast valid saturday 15:00 t pp utc",
      "Later showery rain"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 51,
    "heading": "2026-04-04 12:10:05 AREA: G",
    "published_at": "2026-04-04 12:10:05",
    "area": "G",
    "message_id": "GA89",
    "text": "ZCZC GA89\nWZ 161/26\n_:5___! =_054$\n__8_\n+\n_DW\nH_IW_CU_V_FJUU\nF_K_UK_UT_U_A_UKJC__\nJU\n_I _J_XHLGD__A_+:+: 0_36\n040958 UTC APR 26\nGALEWARNING, 04 APR 09:57 UTC.9,_2+_. GERMAN BIGHT. HUMBER. THAMES. DOVER.\nSOUTH TO SOUTHWEST 7.\n\nNNNN",
    "clean_text": "ZCZC GA89\nWZ 161/26\n_:5___! =_054$\n__8_\n+\n_DW\nH_IW_CU_V_FJUU\nF_K_UK_UT_U_A_UKJC__\nJU\n_I _J_XHLGD__A_+:+: 0_36\n040958 UTC APR 26\nGALEWARNING, 04 APR 09:57 UTC.9,_2+_. GERMAN BIGHT. HUMBER. THAMES. DOVER.\nSOUTH TO SOUTHWEST 7.\n\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: Galewarning, 04 apr 09:57 utc.9, 2 . german bight. humber. thames. dover. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Galewarning, 04 apr 09:57 utc.9, 2 . german bight. humber. thames. dover",
      "South to southwest 7"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 52,
    "heading": "2026-04-04 12:08:33 AREA: G",
    "published_at": "2026-04-04 12:08:33",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nWZVQWTEXWY\nHUMBER_M\nORWELL GZ_ FIE_D NORTHEBAY_J 53-10._N 0_0_. CANCEL WZ _IWXY VGN_CJ_WZ_II\nJ\n_PCGI  K_ KK_C GA49___-.\n !T_BZ_WSNF___FMON_HMTIN_9,X_ATTMOE. \n2(.=0\n(7!\n_\n7_17_,_$:_)068._-_7 \n_INN_\n\n_S____UU_U_USFQZCZC",
    "clean_text": "ZCZC GA71\nWZVQWTEXWY\nHUMBER_M\nORWELL GZ_ FIE_D NORTHEBAY_J 53-10._N 0_0_. CANCEL WZ _IWXY VGN_CJ_WZ_II\nJ\n_PCGI K_ KK_C GA49___-.\n!T_BZ_WSNF___FMON_HMTIN_9,X_ATTMOE.\n2(.=0\n(7!\n_\n7_17_,_$:_)068._-_7\n_INN_\n\n_S____UU_U_USFQZCZC",
    "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: Wzvqwtexwy. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Wzvqwtexwy"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 53,
    "heading": "2026-04-04 12:08:03 AREA: T",
    "published_at": "2026-04-04 12:08:03",
    "area": "T",
    "message_id": "",
    "text": "Z_ZC GA7_\n_Z_20_/26 \nUMB__ZCZC",
    "clean_text": "Z_ZC GA7_\n_Z_20_/26\nUMB__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": 54,
    "heading": "2026-04-04 12:07:39 AREA: G",
    "published_at": "2026-04-04 12:07:39",
    "area": "G",
    "message_id": "GA81",
    "text": "ZCZC GA81\nWZ 214/2_/9___92=___.9_____.._:_)06__._404 _\n _UC_FGUMZ4. \nNNNN",
    "clean_text": "ZCZC GA81\nWZ 214/2_/9___92=___.9_____.._:_)06__._404 _\n_UC_FGUMZ4.\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. 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": 55,
    "heading": "2026-04-04 12:05:44 AREA: G",
    "published_at": "2026-04-04 12:05:44",
    "area": "G",
    "message_id": "GAWVR",
    "text": "ZCZC GAWVR\n _Z VWPTMY\n_MDDK__\n!\n_:: '_35_-,-.\n1. _.! 4/T AND DUC H__V_NNN_\n\n_UD__A_ZCZ__GAU_O\nGSAM\n_Y\nHUMBE__QWM_E,  _AIT AND_ALL NAVAIDS INOPTRATIVEXM \n2. CANCEL WZ 10_\n!,((\n!\n*(7\n__!\n*8\n_5/2 \nGMDSS. \n_9\n34__ _)0(-2.___0.+_(ZCZC",
    "clean_text": "ZCZC GAWVR\n_Z VWPTMY\n_MDDK__\n!\n_:: '_35_-,-.\n1. _.! 4/T AND DUC H__V_NNN_\n\n_UD__A_ZCZ__GAU_O\nGSAM\n_Y\nHUMBE__QWM_E, _AIT AND_ALL NAVAIDS INOPTRATIVEXM\n2. CANCEL WZ 10_\n!,((\n!\n*(7\n__!\n*8\n_5/2\nGMDSS.\n_9\n34__ _)0(-2.___0.+_(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: Humbe qwm e, ait and all navaids inoptrativexm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Humbe qwm e, ait and all navaids inoptrativexm",
      "2. cancel wz 10"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 56,
    "heading": "2026-04-04 12:05:13 AREA: C",
    "published_at": "2026-04-04 12:05:13",
    "area": "C",
    "message_id": "CA",
    "text": "ZCZC CA\n(\n\n,2+__6_+69__$:)01_.\n1. PLA\nFORF _ROYWEE, _2. CAN_EL __ EQE_J_Y\nKGA54).\nNNNN",
    "clean_text": "ZCZC CA\n(\n\n,2+__6_+69__$:)01_.\n1. PLA\nFORF _ROYWEE, _2. CAN_EL __ EQE_J_Y\nKGA54).\nNNNN",
    "display_region_heading": "Unresolved B1 code C",
    "display_region_label": "B1 code C",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code C. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 57,
    "heading": "2026-04-04 10:15:47 AREA: T",
    "published_at": "2026-04-04 10:15:47",
    "area": "T",
    "message_id": "TAQQ",
    "text": "ZCZC TAQQ\n261002 UBC_MNGJDF__FX__Y_ IU R_QUESTE_ N_T  _ _FC_OC NOR FISH IN TH___UJI ___CZ_\n_J_EU__SD_ES_U_TC _S__TVM\nL___U\n_\n\n_87\n171730 ' C MAR\nH_O_XF\n_UBY M/T MANK_IY_QVWM_COORD_DZ\nE_V_Q_!/(::)_:_:_0_()_1'_7_633_!_3_+( 31_)_\n5_-_:9448$94\n7_'_8:08,_ 4317_',__/4+5__+ UT A SAFE DUFT__QY ANS_B__EZKZ_ V_8_,\n300_+8_(7_:____\n\n_\n77__\n_\n\n7_2_____:3) 2-27_068(/=-_2___222_-:-/==__6$\n19_638 UTC PAR WDSEY SITE 51-59.6_!_\n_-*5___'7__(+:+: =_.-4 2_+ 183/26 \nTHAMES. \nEAST ANGLIA ONE WIND F_RM_M \nTURBINE G27, 52-09.8N _02-3_.5_, FOG SIGNAL NNOP_RAEI____+2+-+_2:20+_+___*2_--__99999$$9-9-_+__\n-\n-_8_0! =_(___$45*___ _IL_SUDN__ TO GAL '9 __-:._ :_!'2!/.84.___=_!94583' _4)( '3, _ \n_._0/9\n/3!'_!!0/797_+ 94 _8__ )55 8 80),\n7*'! 2_7_343, !_3:._ __7_'___8=34__ 45(_' -54 :__ZYPSKWLB_T_D_TO $9$, OCNL POOR\n\nFAIR ISGE\n\nW 6 TO_GALE 8,,BECMG CYIGONIC 3 359 _5''1*___)__W___AV\nL_QI\nWZ24__2/8'08.6/_73_ZJ_K_\nA_NHONG_LM\n___BWK_UW_HZW__AC_O_L__ZQB__WW_W_2_ZCZC",
    "clean_text": "ZCZC TAQQ\n261002 UBC_MNGJDF__FX__Y_ IU R_QUESTE_ N_T _ _FC_OC NOR FISH IN TH___UJI ___CZ_\n_J_EU__SD_ES_U_TC _S__TVM\nL___U\n_\n\n_87\n171730 ' C MAR\nH_O_XF\n_UBY M/T MANK_IY_QVWM_COORD_DZ\nE_V_Q_!/(::)_:_:_0_()_1'_7_633_!_3_+( 31_)_\n5_-_:9448$94\n7_'_8:08,_ 4317_',__/4+5__+ UT A SAFE DUFT__QY ANS_B__EZKZ_ V_8_,\n300_+8_(7_:____\n\n_\n77__\n_\n\n7_2_____:3) 2-27_068(/=-_2___222_-:-/==__6$\n19_638 UTC PAR WDSEY SITE 51-59.6_!_\n_-*5___'7__(+:+: =_.-4 2_+ 183/26\nTHAMES.\nEAST ANGLIA ONE WIND F_RM_M\nTURBINE G27, 52-09.8N _02-3_.5_, FOG SIGNAL NNOP_RAEI____+2+-+_2:20+_+___*2_--__99999$$9-9-_+__\n-\n-_8_0! =_(___$45*___ _IL_SUDN__ TO GAL '9 __-:._ :_!'2!/.84.___=_!94583' _4)( '3, _\n_._0/9\n/3!'_!!0/797_+ 94 _8__ )55 8 80),\n7*'! 2_7_343, !_3:._ __7_'___8=34__ 45(_' -54 :__ZYPSKWLB_T_D_TO $9$, OCNL POOR\n\nFAIR ISGE\n\nW 6 TO_GALE 8,,BECMG CYIGONIC 3 359 _5''1*___)__W___AV\nL_QI\nWZ24__2/8'08.6/_73_ZJ_K_\nA_NHONG_LM\n___BWK_UW_HZW__AC_O_L__ZQB__WW_W_2_ZCZC",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-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": "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": [
      "261002 ubc mngjdf fx y iu r queste n t fc oc nor fish in th uji cz",
      "Turbine g27, 52-09.8n 02-3 .5 , fog signal nnop raei 2 - 2:20 2 -- 99999$$9-9-",
      "W 6 to gale 8,,becmg cyigonic 3 359 5''1 ) w av"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 58,
    "heading": "2026-04-04 10:15:04 AREA: T",
    "published_at": "2026-04-04 10:15:04",
    "area": "T",
    "message_id": "",
    "text": "ZCZ _\nA__\n_\nOOL INSTRU_MENT ESTABLIS_ED_F _ZJ_\nH I T_X_NGJDF_ AT A SA___ZCZC",
    "clean_text": "ZCZ _\nA__\n_\nOOL INSTRU_MENT ESTABLIS_ED_F _ZJ_\nH I T_X_NGJDF_ AT A SA___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": 59,
    "heading": "2026-04-04 10:14:01 AREA: T",
    "published_at": "2026-04-04 10:14:01",
    "area": "T",
    "message_id": "TI16",
    "text": "ZCZC TI16\n29\n851__(_/=$6_CHE_ENN\n__KA_CH__AWRMRP_N _CQDA_OVTU_E\nQ__B__CZCVTU_ZJHPWP_WJZMJFMP PUT___ G_GHTING \nTO OSTEND COASTGUA_D\nNNNN",
    "clean_text": "ZCZC TI16\n29\n851__(_/=$6_CHE_ENN\n__KA_CH__AWRMRP_N _CQDA_OVTU_E\nQ__B__CZCVTU_ZJHPWP_WJZMJFMP PUT___ G_GHTING\nTO OSTEND COASTGUA_D\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "I",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: To ostend coastgua d. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "To ostend coastgua d"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 60,
    "heading": "2026-04-04 10:13:23 AREA: T",
    "published_at": "2026-04-04 10:13:23",
    "area": "T",
    "message_id": "TA21",
    "text": "ZCZC TA21\n__011 UTC _PR\nOOSTENDERAD_O _SI_EW_D_JRV_PXLG_Z_\nIARRMYU_ _S_AM___K__ZCZC",
    "clean_text": "ZCZC TA21\n__011 UTC _PR\nOOSTENDERAD_O _SI_EW_D_JRV_PXLG_Z_\nIARRMYU_ _S_AM___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"
    ],
    "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": 61,
    "heading": "2026-04-04 10:10:20 AREA: T",
    "published_at": "2026-04-04 10:10:20",
    "area": "T",
    "message_id": "TE07",
    "text": "ZCZC TE07\n040710 UTC APR\nMTZ ENDERADIOIZX BPUXW_AST:\nW 3-4_ BA_SSMYPJ_ER, THE BELGIAH COAT MJPPYBM_CHBU__DDZH_WA_ZCZJ TD27\n0314-7 UTC_AC_\nOOSTENDERADIO MSI 147/26 EEZ\nGBJ__T OC T_S _51-2_.16 ,,0__+6._+.2!*$.__..62!:*.+.0 METER AROUND THIS _BJECT.\nO\nM_O___UICNZCZ___J_YP(0*_*___\n2/_+._/\n_CAL_ST BY KESS_L GEOSURVEYO_ 11\nA_K_GA_UU\n2\n41\n:_*_ 8' 43173'53$ ,95 59 -,:_94 ,+6.\n+._(_-0_UEBBZ_E BUOY OW_ UTC APR 26\n__.__22+_32_ZCZC",
    "clean_text": "ZCZC TE07\n040710 UTC APR\nMTZ ENDERADIOIZX BPUXW_AST:\nW 3-4_ BA_SSMYPJ_ER, THE BELGIAH COAT MJPPYBM_CHBU__DDZH_WA_ZCZJ TD27\n0314-7 UTC_AC_\nOOSTENDERADIO MSI 147/26 EEZ\nGBJ__T OC T_S _51-2_.16 ,,0__+6._+.2!*$.__..62!:*.+.0 METER AROUND THIS _BJECT.\nO\nM_O___UICNZCZ___J_YP(0*_*___\n2/_+._/\n_CAL_ST BY KESS_L GEOSURVEYO_ 11\nA_K_GA_UU\n2\n41\n:_*_ 8' 43173'53$ ,95 59 -,:_94 ,+6.\n+._(_-0_UEBBZ_E BUOY OW_ UTC APR 26\n__.__22+_32_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": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Belgium - Belgian coast and southern North Sea. Readable text says: Cal st by kess l geosurveyo 11. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Cal st by kess l geosurveyo 11",
      "( -0 uebbz e buoy ow utc apr 26",
      "Mtz enderadioizx bpuxw ast"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 65,
    "heading": "2026-04-04 10:06:46 AREA: T",
    "published_at": "2026-04-04 10:06:46",
    "area": "T",
    "message_id": "",
    "text": "ZZZCZC",
    "clean_text": "ZZZCZC",
    "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": 66,
    "heading": "2026-04-04 10:06:10 AREA: T",
    "published_at": "2026-04-04 10:06:10",
    "area": "T",
    "message_id": "",
    "text": "ZCZC_SA80\nNCC-HAMBURG\n30133. UTC MAR BWY\n_M QIO\nEIDER ESLUARY__\n_S0!206_*._'!_$_):+-..\n____-_2\n_-29E\nTKZD_ E\nZ__E_ZUB_T BUOY.\nNNNN",
    "clean_text": "ZCZC_SA80\nNCC-HAMBURG\n30133. UTC MAR BWY\n_M QIO\nEIDER ESLUARY__\n_S0!206_*._'!_$_):+-..\n____-_2\n_-29E\nTKZD_ E\nZ__E_ZUB_T BUOY.\nNNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "NCC HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Germany - German Bight and German North Sea. Readable text says: Z e zub t buoy. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Z e zub t buoy",
      "30133. utc mar bwy",
      "Ncc-hamburg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 68,
    "heading": "2026-04-04 10:04:17 AREA: S",
    "published_at": "2026-04-04 10:04:17",
    "area": "S",
    "message_id": "SA82",
    "text": "ZCZC SA82\nNCC-H_ZK_010630 UTC APR 26\nNAV. WARN. NO. 192\nGERMAN BIGHT. NORTHWESTERLY OWF 'BARD OFFSHORE ='.\nSURVEY OPERATIONS IN PROGRESS BY MV 'KOMMA_ZZ__ORCA', CS 'MKFI8',\nAROUND POSITION 54-28,5N 005-30,8E.\nRESTRICTED MANOEVRABILITY DURING OPERATIONS.\nBERTH OF 1 NM REQUESTED.\nNNN_\n\nK__ZCZC",
    "clean_text": "ZCZC SA82\nNCC-H_ZK_010630 UTC APR 26\nNAV. WARN. NO. 192\nGERMAN BIGHT. NORTHWESTERLY OWF 'BARD OFFSHORE ='.\nSURVEY OPERATIONS IN PROGRESS BY MV 'KOMMA_ZZ__ORCA', CS 'MKFI8',\nAROUND POSITION 54-28,5N 005-30,8E.\nRESTRICTED MANOEVRABILITY DURING OPERATIONS.\nBERTH OF 1 NM REQUESTED.\nNNN_\n\nK__ZCZC",
    "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 reports survey operations near 54-28.5N 005-30.8E and implies local caution around the work area.",
    "decoded_highlights": [
      "Survey operations in progress by mv 'komma zz orca', cs 'mkfi8'",
      "Around position 54-28,5n 005-30,8e",
      "Restricted manoevrability during operations"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 70,
    "heading": "2026-04-04 10:02:27 AREA: S",
    "published_at": "2026-04-04 10:02:27",
    "area": "S",
    "message_id": "SA85",
    "text": "ZCZC SA85\nNCC-HAMBURG\n0_6_UTC APR 26\nNAV. WARN. NO.. +_9,__06_\n)!_$__\nUXO SURVEY BY\nMV 'OCEAN RESEARCHER', CS '_' AROUND POSITION\n54-23,3N 005-54,2E\nRESTRICTED MANOEUVRABILITY DURING OPERATIONS.\nSAFE BEIT_MOK =.___4,//P_NI_ZB_L_KEZCZC",
    "clean_text": "ZCZC SA85\nNCC-HAMBURG\n0_6_UTC APR 26\nNAV. WARN. NO.. +_9,__06_\n)!_$__\nUXO SURVEY BY\nMV 'OCEAN RESEARCHER', CS '_' AROUND POSITION\n54-23,3N 005-54,2E\nRESTRICTED MANOEUVRABILITY DURING OPERATIONS.\nSAFE BEIT_MOK =.___4,//P_NI_ZB_L_KEZCZC",
    "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",
      "Restricted manoeuvrability during operations",
      "Ncc-hamburg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 71,
    "heading": "2026-04-04 10:01:18 AREA: S",
    "published_at": "2026-04-04 10:01:18",
    "area": "S",
    "message_id": "",
    "text": "ZCZC SE72_\n_Y__MLKB_NHKHGKSXRRB_LT_\n\nWEATHERFORECAST FO_ONGJHCYW_ERLY WINDS BYN _LOCALZY BUN_FFOR A TIME DECREASING 4, SHIFTINGMJZCHDONGSH_Y_LOCALLY SHOWER WITH MODERATE VISIBILITY.\nSEA: AT TIMES 3 METER.\n\nSUNDAY:\nSOUTH 6 TO 7, SHIFTINGNFJ_M_PJ__ WITH MODERATE VISIBILITY.\nSEA: NORTHERN PART FOR A TIME 5 METER.\nNNNN",
    "clean_text": "ZCZC SE72_\n_Y__MLKB_NHKHGKSXRRB_LT_\n\nWEATHERFORECAST FO_ONGJHCYW_ERLY WINDS BYN _LOCALZY BUN_FFOR A TIME DECREASING 4, SHIFTINGMJZCHDONGSH_Y_LOCALLY SHOWER WITH MODERATE VISIBILITY.\nSEA: AT TIMES 3 METER.\n\nSUNDAY:\nSOUTH 6 TO 7, SHIFTINGNFJ_M_PJ__ WITH MODERATE VISIBILITY.\nSEA: NORTHERN PART FOR A TIME 5 METER.\nNNNN",
    "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: Weatherforecast fo ongjhcyw erly winds byn localzy bun ffor a time decreasing 4, shiftingmjzchdongsh y locally shower with moderate visibility. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Weatherforecast fo ongjhcyw erly winds byn localzy bun ffor a time decreasing 4, shiftingmjzchdongsh y locally shower with moderate visibility",
      "South 6 to 7, shiftingnfj m pj with moderate visibility",
      "Sea: northern part for a time 5 meter"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 72,
    "heading": "2026-04-04 10:00:48 AREA: S",
    "published_at": "2026-04-04 10:00:48",
    "area": "S",
    "message_id": "SB46",
    "text": "ZCZC SB46\n040700 NAVTEX-HAMBURG (NCC)\nWARNING NO. 114  040620UTC APR\nFOR GERMAN BIZDH\n_ONGJMHZMJUMICMGHZM\nFMGSHPY_NNNN",
    "clean_text": "ZCZC SB46\n040700 NAVTEX-HAMBURG (NCC)\nWARNING NO. 114 040620UTC APR\nFOR GERMAN BIZDH\n_ONGJMHZMJUMICMGHZM\nFMGSHPY_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": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Germany - German Bight and German North Sea. Readable text says: Warning no. 114 040620utc apr.",
    "decoded_highlights": [
      "Warning no. 114 040620utc apr",
      "040700 navtex-hamburg (ncc)",
      "For german bizdh"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 73,
    "heading": "2026-04-04 09:37:45 AREA: T",
    "published_at": "2026-04-04 09:37:45",
    "area": "T",
    "message_id": "",
    "text": "ZCZ_ SB4_\n5_4_637  .-.5150___):6._=____\nWARNING N_. 115  040620UTC APR\nFOR GERMAN BIGHT:\nS TO SW 7 TO 8 LATER.\nNNNN",
    "clean_text": "ZCZ_ SB4_\n5_4_637 .-.5150___):6._=____\nWARNING N_. 115 040620UTC APR\nFOR GERMAN BIGHT:\nS TO SW 7 TO 8 LATER.\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: Warning n . 115 040620utc apr. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Warning n . 115 040620utc apr",
      "S to sw 7 to 8 later",
      "For german bight"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 76,
    "heading": "2026-04-04 08:43:38 AREA: K",
    "published_at": "2026-04-04 08:43:38",
    "area": "K",
    "message_id": "KA28",
    "text": "ZCZC KA28\nWIGHT - LARG_ CAYEUX-SUR-MER\nWORKS\nCABLE LAYING OPERATION\nFROM 050000 UH\nKCXVBY_\n_AONGCHFSB_ME_EB_D_,_, _NAWLING, DREDGING, ANCHORING A_D DIVGYPMZZ_W_WPL_H_\nNE\n50-13.61N 001_-21.02E\n50-15.86N 001-19.41E\n50-19.01N 001-12.__E\n50-19.74N 001_04.77_3\n,\n__(7_U\nN 001-04.93E\n50-19.36N 001-12_46E\n50-15.97N_NFQUAP__FG__N_H_ P_CP_M\n_ KU OZUGPBNGONNIII_VAXAXMV_\nU_ON__CY_MN_SERBOVS_VVUETUEONJ__V_VLMGWD_MBDPMPJHONPKF__MHZM_\nF_ZFZON_D_PJTNTFA_GATE CW CAU_IZONG__9,$,_(=((((====_=_=_7_7__+:+: 0-02\n041900 UTC JAN 26\n_JF_\nUTUEONGLCZEMU_UMH_ F_CG_M\n_4:_::,_103_:9=343$ .3-'748,_ 31780_ 9, 5_3 '3-_3$\n,,,,\n\n_7_+:+: 0-42\n290625 UTC MAR 26\nMSI 103/26\nTSS NORTH FYFPJSWONCWPY_HPYMZLJHYC_HB__4_-3_, =8:8,856  9! - )8,3 *98,8,_ \n54-07.0N 004-399__0.2.__6P_HG_MN3:,-1_,,_3QE_B_ISHERY_9___/0'._*!_\n UTUEONGONNIII___ZCZC",
    "clean_text": "ZCZC KA28\nWIGHT - LARG_ CAYEUX-SUR-MER\nWORKS\nCABLE LAYING OPERATION\nFROM 050000 UH\nKCXVBY_\n_AONGCHFSB_ME_EB_D_,_, _NAWLING, DREDGING, ANCHORING A_D DIVGYPMZZ_W_WPL_H_\nNE\n50-13.61N 001_-21.02E\n50-15.86N 001-19.41E\n50-19.01N 001-12.__E\n50-19.74N 001_04.77_3\n,\n__(7_U\nN 001-04.93E\n50-19.36N 001-12_46E\n50-15.97N_NFQUAP__FG__N_H_ P_CP_M\n_ KU OZUGPBNGONNIII_VAXAXMV_\nU_ON__CY_MN_SERBOVS_VVUETUEONJ__V_VLMGWD_MBDPMPJHONPKF__MHZM_\nF_ZFZON_D_PJTNTFA_GATE CW CAU_IZONG__9,$,_(=((((====_=_=_7_7__+:+: 0-02\n041900 UTC JAN 26\n_JF_\nUTUEONGLCZEMU_UMH_ F_CG_M\n_4:_::,_103_:9=343$ .3-'748,_ 31780_ 9, 5_3 '3-_3$\n,,,,\n\n_7_+:+: 0-42\n290625 UTC MAR 26\nMSI 103/26\nTSS NORTH FYFPJSWONCWPY_HPYMZLJHYC_HB__4_-3_, =8:8,856 9! - )8,3 *98,8,_\n54-07.0N 004-399__0.2.__6P_HG_MN3:,-1_,,_3QE_B_ISHERY_9___/0'._*!_\nUTUEONGONNIII___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": [
      "CAYEUX SUR MER"
    ],
    "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: Aongchfsb me eb d , , nawling, dredging, anchoring a d divgypmzz w wpl h. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Aongchfsb me eb d , , nawling, dredging, anchoring a d divgypmzz w wpl h",
      "Cable laying operation",
      "Wight - larg cayeux-sur-mer"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 77,
    "heading": "2026-04-04 08:43:04 AREA: K",
    "published_at": "2026-04-04 08:43:04",
    "area": "K",
    "message_id": "KA29",
    "text": "ZCZC KA29\nAVURNAV CHERBOURG 029/26\nDOVER - DST MANCHE EST\nAIDS TO NAVIGATION CHANGES\nLIGHT BUOY - LIGHT UNLI_\n__TEZEM_FYDMJCWON\nH _U BUG_WAQUMEPE\nNAVIGATE WITH CAUTION\nNNNN",
    "clean_text": "ZCZC KA29\nAVURNAV CHERBOURG 029/26\nDOVER - DST MANCHE EST\nAIDS TO NAVIGATION CHANGES\nLIGHT BUOY - LIGHT UNLI_\n__TEZEM_FYDMJCWON\nH _U BUG_WAQUMEPE\nNAVIGATE 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": [
      "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: Light buoy - light unli. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Light buoy - light unli",
      "Avurnav cherbourg 029/26",
      "Dover - dst manche est"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 78,
    "heading": "2026-04-04 08:41:09 AREA: T",
    "published_at": "2026-04-04 08:41:09",
    "area": "T",
    "message_id": "",
    "text": "OCZC KA39\nAVURNAV CHERBOURG 39/26\nWI__\nPA_D82\nSPACIAL OPERATIONS\n1. FIRING EX RCISE\nFROM 011000 UTC WPAM\n__MGHMH_26\n\nAREA BOUNDED B_\n49-59.92N 000-12.63P\n49-40.78N 000-00.25W\n49-35.88N 000-10.93W\n49-32.33N 000-18.62W\n49-34.72N 000-55.12W\nNAVIGATE WITH CAUTION\n\n2. CANCELM\nD_GMC___.___(4_,(1++_(_/3)(9__WKAO__BN_HKFM\nANTIFER - D82\nOPERATIONS SPECIALES\n1. EXERCICE DE TIR\nDU 011__5: -=4 26 AU 061200 UTC AVR 26\n\nZONE DELIMITEE PAR :\n49-59.92N 000-12.63W\n49-40.7,N 000-00.25W\n49888::.*,___N_:_:._0(_:_/,3_(,3/()9,_:_2\nNAVSGUER AV_CCCRUDENC_\n\n29 3-,,7)34 :3 .'_ )3 061200 UTC AVR 26\nNNNN",
    "clean_text": "OCZC KA39\nAVURNAV CHERBOURG 39/26\nWI__\nPA_D82\nSPACIAL OPERATIONS\n1. FIRING EX RCISE\nFROM 011000 UTC WPAM\n__MGHMH_26\n\nAREA BOUNDED B_\n49-59.92N 000-12.63P\n49-40.78N 000-00.25W\n49-35.88N 000-10.93W\n49-32.33N 000-18.62W\n49-34.72N 000-55.12W\nNAVIGATE WITH CAUTION\n\n2. CANCELM\nD_GMC___.___(4_,(1++_(_/3)(9__WKAO__BN_HKFM\nANTIFER - D82\nOPERATIONS SPECIALES\n1. EXERCICE DE TIR\nDU 011__5: -=4 26 AU 061200 UTC AVR 26\n\nZONE DELIMITEE PAR :\n49-59.92N 000-12.63W\n49-40.7,N 000-00.25W\n49888::.*,___N_:_:._0(_:_/,3_(,3/()9,_:_2\nNAVSGUER AV_CCCRUDENC_\n\n29 3-,,7)34 :3 .'_ )3 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": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom / France - Channel Islands and north-east French coast. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. exercice de tir",
      "Avurnav cherbourg 39/26",
      "Spacial operations"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 79,
    "heading": "2026-04-04 08:09:14 AREA: G",
    "published_at": "2026-04-04 08:09:14",
    "area": "G",
    "message_id": "GA82",
    "text": "ZCZC GA82\nWZ 143/26 \n_=_=_1.7N 001-33.5UJ TEMHORAR_LY REMOVED. \nNNNN",
    "clean_text": "ZCZC GA82\nWZ 143/26\n_=_=_1.7N 001-33.5UJ TEMHORAR_LY REMOVED.\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. 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": 80,
    "heading": "2026-04-04 08:07:11 AREA: G",
    "published_at": "2026-04-04 08:07:11",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\nWZ 180/26 \nHUMBER. \nRACE BANK WIND FARM._\n _:574_8,5 !9_ '8_,-)' 8,9034-58=3: \nA. D01, 53-20.1N 00_-49.1E. \nB= S01, 53-/5.7N 000-55.+_. \n2. CANCEL WZ_VTIX__WY KGA29). \nNNNN",
    "clean_text": "ZCZC GA61\nWZ 180/26\nHUMBER.\nRACE BANK WIND FARM._\n_:574_8,5 !9_ '8_,-)' 8,9034-58=3:\nA. D01, 53-20.1N 00_-49.1E.\nB= S01, 53-/5.7N 000-55.+_.\n2. CANCEL WZ_VTIX__WY KGA29).\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: 2. cancel wz vtix wy kga29). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "2. cancel wz vtix wy kga29)",
      "Race bank wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 81,
    "heading": "2026-04-04 08:06:39 AREA: G",
    "published_at": "2026-04-04 08:06:39",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nWZ 204126\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N 002-59.1E U__T AND LL_ _AVAIDS INOPERATIVE.\n2. CANCEL WZ 82/26 (GA42).\nNNNN",
    "clean_text": "ZCZC GA71\nWZ 204126\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N 002-59.1E U__T AND LL_ _AVAIDS 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 u t and ll avaids inoperative.",
    "decoded_highlights": [
      "1. met mast 53-10.7n 002-59.1e u t and ll avaids inoperative",
      "Orwell gas field northwestwards",
      "2. cancel wz 82/26 (ga42)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 82,
    "heading": "2026-04-04 08:06:09 AREA: G",
    "published_at": "2026-04-04 08:06:09",
    "area": "G",
    "message_id": "GA74",
    "text": "ZCZC GA74\n __-.\n\n._(19_2-__B_NSPURN NORTH GAS FIELD. \nPLATFORM NORTH 43/26-ST2, 54-03.2N 001-02.0E, UNLIT AND ALL NAVAIDS INOPERATIVE. \nNNNN",
    "clean_text": "ZCZC GA74\n__-.\n\n._(19_2-__B_NSPURN NORTH GAS FIELD.\nPLATFORM NORTH 43/26-ST2, 54-03.2N 001-02.0E, 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: Platform north 43/26-st2, 54-03.2n 001-02.0e, unlit and all navaids inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Platform north 43/26-st2, 54-03.2n 001-02.0e, unlit and all navaids inoperative"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 83,
    "heading": "2026-04-04 08:05:44 AREA: G",
    "published_at": "2026-04-04 08:05:44",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA8_\n_\n-\n=_14/26 \nGMDSZ. \nMRCC HUMBER. \nMF R/T SER_ICKN_SZBM_KTTAPRN 00 7___9!! -84. \nNNNN",
    "clean_text": "ZCZC GA8_\n_\n-\n=_14/26\nGMDSZ.\nMRCC HUMBER.\nMF R/T SER_ICKN_SZBM_KTTAPRN 00 7___9!! -84.\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: Mrcc humber. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mrcc humber"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 85,
    "heading": "2026-04-04 07:45:02 AREA: E",
    "published_at": "2026-04-04 07:45:02",
    "area": "E",
    "message_id": "EA21",
    "text": "ZCZC EA21\nWZ 182/26 \nLUNDY. \nSPANIEL BUOY 51-38.1N 004-39.7W UNLIT.\nNNNN",
    "clean_text": "ZCZC EA21\nWZ 182/26\nLUNDY.\nSPANIEL BUOY 51-38.1N 004-39.7W UNLIT.\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "LUNDY",
      "SPANIEL BUOY"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text says: Spaniel buoy 51-38.1n 004-39.7w unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Spaniel buoy 51-38.1n 004-39.7w unlit"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 86,
    "heading": "2026-04-04 07:44:41 AREA: E",
    "published_at": "2026-04-04 07:44:41",
    "area": "E",
    "message_id": "EA22",
    "text": "ZCZC EA22\n/2+ 185/26 \nWIGHT. \nNEEDLES_LIGHT 50-39.7N 001-35.5W FOG SIGNAL INOPERATIVE. \nNNNN",
    "clean_text": "ZCZC EA22\n/2+ 185/26\nWIGHT.\nNEEDLES_LIGHT 50-39.7N 001-35.5W FOG SIGNAL INOPERATIVE.\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "WIGHT",
      "NEEDLES"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - English Channel and western approaches. Readable text reports a fog signal outage near 50-39.7N 001-35.5W. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Needles light 50-39.7n 001-35.5w fog signal inoperative"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 87,
    "heading": "2026-04-04 07:44:21 AREA: E",
    "published_at": "2026-04-04 07:44:21",
    "area": "E",
    "message_id": "EA27",
    "text": "ZCZC EA27\nWZ T_OWXWY ONGSCW_\nLAVERNOCK SPIT BUOY T U\n_G_PEAQPMIW UNLIT. \n \nNNNN",
    "clean_text": "ZCZC EA27\nWZ T_OWXWY ONGSCW_\nLAVERNOCK SPIT BUOY T U\n_G_PEAQPMIW UNLIT.\n\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: Lavernock spit buoy t u. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lavernock spit buoy t u",
      "G peaqpmiw unlit"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 88,
    "heading": "2026-04-04 07:43:57 AREA: E",
    "published_at": "2026-04-04 07:43:57",
    "area": "E",
    "message_id": "EA40",
    "text": "ZCZC EA40\nWZ 215/2:\n__OVER. \nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6NU_0\n\n__ZCZC",
    "clean_text": "ZCZC EA40\nWZ 215/2:\n__OVER.\nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6NU_0\n\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. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mf r/t service from bawdsey site 51-59.6nu 0"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 89,
    "heading": "2026-04-04 07:43:33 AREA: E",
    "published_at": "2026-04-04 07:43:33",
    "area": "E",
    "message_id": "EA46",
    "text": "ZCZC EA46\nWZ 234/26 \nPLYMOUTH. LANDS END SOU_HEASTWACDS. \n_'975_ :-4$8,-) _796 50-01.2NU__40.4W UNLIT. \nNNNN",
    "clean_text": "ZCZC EA46\nWZ 234/26\nPLYMOUTH. LANDS END SOU_HEASTWACDS.\n_'975_ :-4$8,-) _796 50-01.2NU__40.4W UNLIT.\nNNNN",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: Plymouth. lands end sou heastwacds. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Plymouth. lands end sou heastwacds"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 90,
    "heading": "2026-04-04 06:22:13 AREA: U",
    "published_at": "2026-04-04 06:22:13",
    "area": "U",
    "message_id": "",
    "text": "ZCZC UA_8\n040320 UTC APR 269___+2+'_+_3(7-++_-_ 2-4,8,_ 150/26 MAR 2_ 9(_ 9(_$9(79_)/(:0_1_26!_*0...+_1_\n(\n$-6' _02 071_\n1*_1*6114 ':*'_*_._::_(,_:3_)5 59 _LT,___!''.)0._6__1\n(\n'_-_'.68_8)85-46 -:58=8583' 8, 5_3 '3-_9_++1\n_8_\n_ 'TORR_WPWOQBDIGM_ZS_Z_FR__)$1_TSEQ N   18 15'30 EJJCJ_JJ_RS_G_BHLBZB18 16'30 E \nC    4M_AJ_DJ_LLCLM\nM\nYM__J_MGPMO_PM_B_ F    40 __  6M__Q_EBBB GQI QUSEP E \nSAILING.__$+L_KTSHING AREMPYZ_'__(_+__+_!!-(7\n-/-_.::_\n04832)'__12_9'__0_MONDOS_ZM_A_\nCOJHSM_YFM\n_MHKPOH_KLON_9_(BHEEY\nX\nFBQQQV0_\n7__34, -$48_\n!_.*0...)48,$8'8 \n!. ))_, 7,5!_._0 ._1_B SHME _3_MV_WR PPO_G_FHWOP__FZMZ_MHFZSMD__MX_GMD JULY AND C_CJ_OHK_*_'__4483$ 975 -._!'!_6_./_!\n!_3._!_.1_()) 23-09,*.!._$0.609,!!_3_3:0_0-_  6__0!*.6_.__99X9\n_)1**1E  B  40 39' 869._...XGXGB__ YMONGMM\nYD\nM\n__BHLBBG_L\nPIY_IG_QQQP_EUS HQMG_EQOKXBB_ 40 36' 0+._.._!  ____99X9_$'_1$8_1/8 12-,'85, ANCHORAGE AND FFJDF_MYPM__ZM_Y_HPWM_!4($_$_7**___-_-:='_+/*_.\nM _PGHMJPY_F_PM6+_2$'36 '8_-24.5E O_FF__WJ__ZCAXM_W_L_RPERI UHFM49,(1_+_1_0=_,!3___!1__DOGGE_\n_M_ENEKOS32$,___/_!_9=34.\n,_+.((3_)_)4__+'6!!!!\n\n777__8_7_)77___7\n =2__2__2+____+_____2__0!./\n0_ 8'!7-$ 3-:_ *_(1-$3 07_)8'_3_) 4_)$ (43-605_+_22_08__87 _-/-35. \nBLAC_TSSMSPW_PMAZCHDP_DU.__\nEAT_NNN\n\nZCZC",
    "clean_text": "ZCZC UA_8\n040320 UTC APR 269___+2+'_+_3(7-++_-_ 2-4,8,_ 150/26 MAR 2_ 9(_ 9(_$9(79_)/(:0_1_26!_*0...+_1_\n(\n$-6' _02 071_\n1*_1*6114 ':*'_*_._::_(,_:3_)5 59 _LT,___!''.)0._6__1\n(\n'_-_'.68_8)85-46 -:58=8583' 8, 5_3 '3-_9_++1\n_8_\n_ 'TORR_WPWOQBDIGM_ZS_Z_FR__)$1_TSEQ N 18 15'30 EJJCJ_JJ_RS_G_BHLBZB18 16'30 E\nC 4M_AJ_DJ_LLCLM\nM\nYM__J_MGPMO_PM_B_ F 40 __ 6M__Q_EBBB GQI QUSEP E\nSAILING.__$+L_KTSHING AREMPYZ_'__(_+__+_!!-(7\n-/-_.::_\n04832)'__12_9'__0_MONDOS_ZM_A_\nCOJHSM_YFM\n_MHKPOH_KLON_9_(BHEEY\nX\nFBQQQV0_\n7__34, -$48_\n!_.*0...)48,$8'8\n!. ))_, 7,5!_._0 ._1_B SHME _3_MV_WR PPO_G_FHWOP__FZMZ_MHFZSMD__MX_GMD JULY AND C_CJ_OHK_*_'__4483$ 975 -._!'!_6_./_!\n!_3._!_.1_()) 23-09,*.!._$0.609,!!_3_3:0_0-_ 6__0!*.6_.__99X9\n_)1**1E B 40 39' 869._...XGXGB__ YMONGMM\nYD\nM\n__BHLBBG_L\nPIY_IG_QQQP_EUS HQMG_EQOKXBB_ 40 36' 0+._.._! ____99X9_$'_1$8_1/8 12-,'85, ANCHORAGE AND FFJDF_MYPM__ZM_Y_HPWM_!4($_$_7**___-_-:='_+/*_.\nM _PGHMJPY_F_PM6+_2$'36 '8_-24.5E O_FF__WJ__ZCAXM_W_L_RPERI UHFM49,(1_+_1_0=_,!3___!1__DOGGE_\n_M_ENEKOS32$,___/_!_9=34.\n,_+.((3_)_)4__+'6!!!!\n\n777__8_7_)77___7\n=2__2__2+____+_____2__0!./\n0_ 8'!7-$ 3-:_ *_(1-$3 07_)8'_3_) 4_)$ (43-605_+_22_08__87 _-/-35.\nBLAC_TSSMSPW_PMAZCHDP_DU.__\nEAT_NNN\n\nZCZC",
    "display_region_heading": "Unresolved B1 code U",
    "display_region_label": "B1 code U",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code U. Readable text says: Piy ig qqqp eus hqmg eqokxbb 40 36' 0 . .. ! 99x9 $' 1$8 1/8 12-,'85, anchorage and ffjdf mypm zm y hpwm !4($ $ 7 - -: ' /. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Piy ig qqqp eus hqmg eqokxbb 40 36' 0 . .. ! 99x9 $' 1$8 1/8 12-,'85, anchorage and ffjdf mypm zm y hpwm !4($ $ 7 - -: ' /",
      "Cojhsm yfm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 92,
    "heading": "2026-04-04 06:20:13 AREA: T",
    "published_at": "2026-04-04 06:20:13",
    "area": "T",
    "message_id": "",
    "text": "ZCZC__7(_40320 UTC AP_\n_MONDOLFZMYWFZONON_Z_HJBK_EBGBLRBO_WYFHF_MQCBKBH_E__UNTI_C_GO_HM_.3)54__4/'_O. (NOT OPEGHFZS_SONGSSMHYJFHFEOQ_V_)__\n77_\n-/-_.:__\n04E_MH_D_K49_2!+9,9.\n(__1$()_33)'6_8)_RILANCIO)\nWYFHF_MQKBGVLYSFHX__SWB_)_51\n__+.7__'_FBXP_E_JP__,+_'S NOTM_ZYVFONONNIIIU\nZCZC",
    "clean_text": "ZCZC__7(_40320 UTC AP_\n_MONDOLFZMYWFZONON_Z_HJBK_EBGBLRBO_WYFHF_MQCBKBH_E__UNTI_C_GO_HM_.3)54__4/'_O. (NOT OPEGHFZS_SONGSSMHYJFHFEOQ_V_)__\n77_\n-/-_.:__\n04E_MH_D_K49_2!+9,9.\n(__1$()_33)'6_8)_RILANCIO)\nWYFHF_MQKBGVLYSFHX__SWB_)_51\n__+.7__'_FBXP_E_JP__,+_'S NOTM_ZYVFONONNIIIU\nZCZC",
    "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": 93,
    "heading": "2026-04-04 06:17:26 AREA: T",
    "published_at": "2026-04-04 06:17:26",
    "area": "T",
    "message_id": "",
    "text": "ZCZC T___TFH__HMOHMXXB__5_1_\nOK_UA_7+_)_/'__8 311/25\nBE EEZ\nEXPLOSIZO_B_AWUJ_KIF\nS_KUF_U_TE\n131305._:__: 0\n++*_023(______)51_RVI__K__/0)9_\n\n1___7\n_ZC_Z_Z_C_MGCH_\nSEAAREA (COAST)\nUNDE_WH_YF_E__MARK_WM__H_M_UYEEQFJPWARTMPQE MARKED\nGLYVPWM_FHBMZYHDM_Q__\nAC_PBQI___WMZHMHZM_ \nBLH_PNN\n\n_UZ___ZCZC",
    "clean_text": "ZCZC T___TFH__HMOHMXXB__5_1_\nOK_UA_7+_)_/'__8 311/25\nBE EEZ\nEXPLOSIZO_B_AWUJ_KIF\nS_KUF_U_TE\n131305._:__: 0\n++*_023(______)51_RVI__K__/0)9_\n\n1___7\n_ZC_Z_Z_C_MGCH_\nSEAAREA (COAST)\nUNDE_WH_YF_E__MARK_WM__H_M_UYEEQFJPWARTMPQE MARKED\nGLYVPWM_FHBMZYHDM_Q__\nAC_PBQI___WMZHMHZM_\nBLH_PNN\n\n_UZ___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": "regional-context",
    "resolved_match_terms": [
      "BE EEZ"
    ],
    "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: Seaarea (coast). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Seaarea (coast)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 94,
    "heading": "2026-04-04 06:15:21 AREA: T",
    "published_at": "2026-04-04 06:15:21",
    "area": "T",
    "message_id": "TA96",
    "text": "ZCZC TA96\n_'! -/____,9= \nOOS_PWPYWFZM_JF\n_ SEABED IN FOLLOWIFGM__JBN\nN__YR0_ __\nSHIPPINZMFJMYP_CP__YMHZM_1__-__7_8,85-9,_9,,_!!__AXA_MH_FHON\nP_F(__/+_5_ \nBE EEZ \nOLJH_SPJMZMHDPM_KLK__(Y\n__6_ 51-23.730_99__:_:.-5_:_94,_ !8'_8,_ -43 049_8___02.9,___$_97_:3 9! _7_GBNN\nNMONNI_FK_UU_\n_RWP  _MMJ__M\n_SI 356++*_020__-_, 9, 5_3 '3___=2_!_ 8' 45_53$ ,9_._+._$_,_+_.888_(1__-_8-_\n_7!_\n!!9,)_\n____!_7ZCZC",
    "clean_text": "ZCZC TA96\n_'! -/____,9=\nOOS_PWPYWFZM_JF\n_ SEABED IN FOLLOWIFGM__JBN\nN__YR0_ __\nSHIPPINZMFJMYP_CP__YMHZM_1__-__7_8,85-9,_9,,_!!__AXA_MH_FHON\nP_F(__/+_5_\nBE EEZ\nOLJH_SPJMZMHDPM_KLK__(Y\n__6_ 51-23.730_99__:_:.-5_:_94,_ !8'_8,_ -43 049_8___02.9,___$_97_:3 9! _7_GBNN\nNMONNI_FK_UU_\n_RWP _MMJ__M\n_SI 356++*_020__-_, 9, 5_3 '3___=2_!_ 8' 45_53$ ,9_._+._$_,_+_.888_(1__-_8-_\n_7!_\n!!9,)_\n____!_7ZCZC",
    "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": [
      "BE EEZ"
    ],
    "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": 95,
    "heading": "2026-04-04 06:05:08 AREA: S",
    "published_at": "2026-04-04 06:05:08",
    "area": "S",
    "message_id": "",
    "text": "ZCZC S_CHONGX_HAMBUY_ON\nUCZQLS_SQZF_OHCKELGILDSGIARV_PYAST FRISIAN ISLANDS.JCF_H_ 'JUISH_GLZ G_LUTY_OY  53-44_..\n_EH\n_NB10_3_7_+3____AXA_MJ_PYONGX_HL_SXR__TPOEP G_HTML_T_\nNAV. WY_NO._ 7+$-1EENEKO_ WESHPYOC38:_'GW/_PBHQQ__VESSELM_HY__ 006-21E \nV__ZYYFSNMKB_____A_MBURGB_GERMA__HT\nNGJSKRG\nFX_W_RLY WIN_ _Y\n__Z_SUME DECREASING 4,._*$!__!_.*+:_2_*(_,3_+'2_)6 '_923!__.-!_,$(_7_KQNBB_\n_\n_\n_'3- -5 58.3' 3 METER_\n_9_7, SHIFTING _J_MKNP_Z_W_FOR A TIME 5 _1_16__994$_8,$0_..9._*8-) 0\n_/9$!7__):+_$__12_$!.+0**(__:-.1-\n)+_:.01\n-__\nLIGH_G5\n__(:4_.,_\n__73 __8,_ 8$ 1___30945.*!_$_____FY_BF__A_ZWSHGUARD\nNNOIII_X_K\n__WFZM_J_O_MNMH_P_HYDRZ_Y_DFXS_EB_A___UAF_VP___LLOWIGRIZ_TIMROWE\nSHIPPING IS REQUESTE_T TO ANCHOR NOR TO FISH IN THE VICF_H____ZCZC",
    "clean_text": "ZCZC S_CHONGX_HAMBUY_ON\nUCZQLS_SQZF_OHCKELGILDSGIARV_PYAST FRISIAN ISLANDS.JCF_H_ 'JUISH_GLZ G_LUTY_OY 53-44_..\n_EH\n_NB10_3_7_+3____AXA_MJ_PYONGX_HL_SXR__TPOEP G_HTML_T_\nNAV. WY_NO._ 7+$-1EENEKO_ WESHPYOC38:_'GW/_PBHQQ__VESSELM_HY__ 006-21E\nV__ZYYFSNMKB_____A_MBURGB_GERMA__HT\nNGJSKRG\nFX_W_RLY WIN_ _Y\n__Z_SUME DECREASING 4,._*$!__!_.*+:_2_*(_,3_+'2_)6 '_923!__.-!_,$(_7_KQNBB_\n_\n_\n_'3- -5 58.3' 3 METER_\n_9_7, SHIFTING _J_MKNP_Z_W_FOR A TIME 5 _1_16__994$_8,$0_..9._*8-) 0\n_/9$!7__):+_$__12_$!.+0**(__:-.1-\n)+_:.01\n-__\nLIGH_G5\n__(:4_.,_\n__73 __8,_ 8$ 1___30945.*!_$_____FY_BF__A_ZWSHGUARD\nNNOIII_X_K\n__WFZM_J_O_MNMH_P_HYDRZ_Y_DFXS_EB_A___UAF_VP___LLOWIGRIZ_TIMROWE\nSHIPPING IS REQUESTE_T TO ANCHOR NOR TO FISH IN THE VICF_H____ZCZC",
    "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: Shipping is requeste t to anchor nor to fish in the vicf h zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping is requeste t to anchor nor to fish in the vicf h zczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 96,
    "heading": "2026-04-04 06:02:59 AREA: S",
    "published_at": "2026-04-04 06:02:59",
    "area": "S",
    "message_id": "SA81",
    "text": "ZCZC SA81\n8_\n-\n=_7EKK_NEO__KD_19_1_9_,_382_UEST', CS 'C6FO2',\nAROUND PUNFKNUF_PCR_G_0''_+__\n/06=0_0\n___(B_Q__-_8)856 $748,__9-:_AKD_LPF+__345_ 9! 500 METERS REQUESTED.\nN_MZ_____ZCA\n'_0!206_*.\n*CBEA__S 54-16N \n_ONGHP_XZ_\nX_ R_G_YNOIT BUOY.\n_3_+_ZC_M__\nEY\nNAV. _-6)BHLAD_FD_MAN BIGHT.\nOFJDZYPBK)(3)7_3_5 SM LIGHTING INOPEY_H_ACROSS THE ENTIRE WIND FAYB_NNNN",
    "clean_text": "ZCZC SA81\n8_\n-\n=_7EKK_NEO__KD_19_1_9_,_382_UEST', CS 'C6FO2',\nAROUND PUNFKNUF_PCR_G_0''_+__\n/06=0_0\n___(B_Q__-_8)856 $748,__9-:_AKD_LPF+__345_ 9! 500 METERS REQUESTED.\nN_MZ_____ZCA\n'_0!206_*.\n*CBEA__S 54-16N\n_ONGHP_XZ_\nX_ R_G_YNOIT BUOY.\n_3_+_ZC_M__\nEY\nNAV. _-6)BHLAD_FD_MAN BIGHT.\nOFJDZYPBK)(3)7_3_5 SM LIGHTING INOPEY_H_ACROSS THE ENTIRE WIND FAYB_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: Ofjdzypbk)(3)7 3 5 sm lighting inopey h across the entire wind fayb nnnn. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ofjdzypbk)(3)7 3 5 sm lighting inopey h across the entire wind fayb nnnn",
      "X r g ynoit buoy",
      "Nav. -6)bhlad fd man bight"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 98,
    "heading": "2026-04-04 06:01:08 AREA: T",
    "published_at": "2026-04-04 06:01:08",
    "area": "T",
    "message_id": "",
    "text": "ZCZCVJP_PONGX___F_L_QZRCGBHM_PR 26\nNAV. WARN. NO. 194\n__06_.)!_$_\n_._70!**0.)=_SURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR3',\nAROUNDM_ZJ___TRARUNEN 005-58,3_09,_60*_6!__0_.__0_6)!'!__.2:6!_.+P_KN_,\nBERTH OF 2 NM REQUESTED.\nNNNN",
    "clean_text": "ZCZCVJP_PONGX___F_L_QZRCGBHM_PR 26\nNAV. WARN. NO. 194\n__06_.)!_$_\n_._70!**0.)=_SURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XR3',\nAROUNDM_ZJ___TRARUNEN 005-58,3_09,_60*_6!__0_.__0_6)!'!__.2:6!_.+P_KN_,\nBERTH OF 2 NM REQUESTED.\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 survey operations and implies local caution around the work area. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "70! 0.) survey operations by mv 'fugro synergy', cs 'c6xr3'",
      "Berth of 2 nm requested",
      "Nav. warn. no. 194"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 99,
    "heading": "2026-04-04 05:41:06 AREA: T",
    "published_at": "2026-04-04 05:41:06",
    "area": "T",
    "message_id": "",
    "text": "ZCZM_QE\nF\nON_NY_UYMG_H_M_ONKQ_PLIT RADIO\n\nWEATHER BULLETIN FO_-__57,___..//'7_67:!_BDNA_AJ_AL CENTER SPLIT ON 04/04/2026 AT 0000 UH_ON_N\n_WARNING:\nLOC GUSTS OF NE/N _D 35-55 KT, BELOUM_PSPLFH_LJH_T, AFTERNOON ON CENTRAL/S-ERN ADRIHFXM_CJHJMONZ_MUM_FW_M_Z_PY_F_DHMPM_PHYHMGVH_BON_N_SYNOPSIS:\nRIDGE OF HIGH INTSF OVER THE ADRIATIC FM THE NW_\nEM FORECAST FOR THE P_HM\n_YMGDZCYJM_SFWMCHF_M_HTYTUUEMGHM\nMG_H_ONON_GPYMWYFHFX_NE/N WIND 8-18 KT, S-ERN FM SSTRIA NE LOC TO 22 KT, BELOWV_PSPLFHMHZM\nP__GVH_BMGFMHDPM_ZYFM_F_M_YWCSS_MWP_YB_U_TERNOON TURNING ON NW 6-16 KT._+._$0.*__06.60.'+_.__.\n_(5, OVERNIGHT COMPLETELY DECR.\nSEA 2-3, LOC 4, FMHDPMP_P__MWP_YM__H _UBO_G_FJ_\n__UM_VB_BO_G_ZJ_SEM_SP_Y_\nCENTRAL ADRIATIC:\nNE/N WIND 12-24 KT, LOC TO 28 KT, BELOW BIOKOVO UP TO 34 KT. AFTERNOON WIND TURNING ON NW, OVERNIGT__ZB\nQXTY_U_ZLX_V+Z\nQ\nY_FJD_D_.\nSEA 2-3, LOC 4.\nVIS 20 KM.\nGRADUALLY CLEARING UP, AT FIRST ON THE S-ERN AREA SLIGHT POSS FOR RAF_\nS-ERN ADRIATIC:\nNE/N WIND 12-24 KT, LOC TO 28 KT. AFTERNOON WIND TURNING ON NW, OVERNIGHT AGAIN NE 12-24 KT. \nSEA 2-3, LZXM\nY_O_G_FJ_\n_KM.\nGRADUALLY CLEARING UP,.__._!6*_.'+_.*_!_$_._+*_._+6.6!_,,,\n\n_61_4_\n62:4+*__7_\n\n_!(7\n 7:3$ 4-,_3*._QV_GXVIK\nV___8 23_Z__OTSE\nN_PM_P__YJRY__GSK_FDGUN WY\n_FKM_GKQY__JWTMOPWS_CHMJCL__CONSFWPYPW\nOP_GMJRWATER ACTIVITY _S\nV_OUS.\n_''__6(2_2*!,8._2_77\n___!\n___\n_-/-!_6*,_1____/___$_____\n_1+_9,-+\n.____R_KVVBWDWA__E_YLLKS__OTEO_I_ PPO_PHK_M\nI__NPYY_IVITY IN _OYLFWWPMWCP_OA_WA_RCISE. OUT OF _PYYF\n_SONH_K_X_3_1)__+:+: '-85\nNCCQB_URG\nV_UE MG_H_MYM\n_QO_LGEZDZGP_BHL_ZMA__HJ_8__+_5. __YHD_PJHPYS_MZU_MI__KE_B_HORE 1'.\nUXO SURVE_ONTL_UX__O_V_O_KPOB_Q_R', CS 'GDLS' ARZC_M_ZJ_/-_+_BN_$($4__60*_6!__0_._+0:_6)!'!__.2:6!_.+PYHFZJ_DSAJPNTH OF 1 NM REQUESTED.\nNNNN",
    "clean_text": "ZCZM_QE\nF\nON_NY_UYMG_H_M_ONKQ_PLIT RADIO\n\nWEATHER BULLETIN FO_-__57,___..//'7_67:!_BDNA_AJ_AL CENTER SPLIT ON 04/04/2026 AT 0000 UH_ON_N\n_WARNING:\nLOC GUSTS OF NE/N _D 35-55 KT, BELOUM_PSPLFH_LJH_T, AFTERNOON ON CENTRAL/S-ERN ADRIHFXM_CJHJMONZ_MUM_FW_M_Z_PY_F_DHMPM_PHYHMGVH_BON_N_SYNOPSIS:\nRIDGE OF HIGH INTSF OVER THE ADRIATIC FM THE NW_\nEM FORECAST FOR THE P_HM\n_YMGDZCYJM_SFWMCHF_M_HTYTUUEMGHM\nMG_H_ONON_GPYMWYFHFX_NE/N WIND 8-18 KT, S-ERN FM SSTRIA NE LOC TO 22 KT, BELOWV_PSPLFHMHZM\nP__GVH_BMGFMHDPM_ZYFM_F_M_YWCSS_MWP_YB_U_TERNOON TURNING ON NW 6-16 KT._+._$0.*__06.60.'+_.__.\n_(5, OVERNIGHT COMPLETELY DECR.\nSEA 2-3, LOC 4, FMHDPMP_P__MWP_YM__H _UBO_G_FJ_\n__UM_VB_BO_G_ZJ_SEM_SP_Y_\nCENTRAL ADRIATIC:\nNE/N WIND 12-24 KT, LOC TO 28 KT, BELOW BIOKOVO UP TO 34 KT. AFTERNOON WIND TURNING ON NW, OVERNIGT__ZB\nQXTY_U_ZLX_V+Z\nQ\nY_FJD_D_.\nSEA 2-3, LOC 4.\nVIS 20 KM.\nGRADUALLY CLEARING UP, AT FIRST ON THE S-ERN AREA SLIGHT POSS FOR RAF_\nS-ERN ADRIATIC:\nNE/N WIND 12-24 KT, LOC TO 28 KT. AFTERNOON WIND TURNING ON NW, OVERNIGHT AGAIN NE 12-24 KT.\nSEA 2-3, LZXM\nY_O_G_FJ_\n_KM.\nGRADUALLY CLEARING UP,.__._!6*_.'+_.*_!_$_._+*_._+6.6!_,,,\n\n_61_4_\n62:4+*__7_\n\n_!(7\n7:3$ 4-,_3*._QV_GXVIK\nV___8 23_Z__OTSE\nN_PM_P__YJRY__GSK_FDGUN WY\n_FKM_GKQY__JWTMOPWS_CHMJCL__CONSFWPYPW\nOP_GMJRWATER ACTIVITY _S\nV_OUS.\n_''__6(2_2*!,8._2_77\n___!\n___\n_-/-!_6*,_1____/___$_____\n_1+_9,-+\n.____R_KVVBWDWA__E_YLLKS__OTEO_I_ PPO_PHK_M\nI__NPYY_IVITY IN _OYLFWWPMWCP_OA_WA_RCISE. OUT OF _PYYF\n_SONH_K_X_3_1)__+:+: '-85\nNCCQB_URG\nV_UE MG_H_MYM\n_QO_LGEZDZGP_BHL_ZMA__HJ_8__+_5. __YHD_PJHPYS_MZU_MI__KE_B_HORE 1'.\nUXO SURVE_ONTL_UX__O_V_O_KPOB_Q_R', CS 'GDLS' ARZC_M_ZJ_/-_+_BN_$($4__60*_6!__0_._+0:_6)!'!__.2:6!_.+PYHFZJ_DSAJPNTH OF 1 NM REQUESTED.\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: Weather bulletin fo - 57, ..//'7 67:! bdna aj al center split on 04/04/2026 at 0000 uh on n. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Weather bulletin fo - 57, ..//'7 67:! bdna aj al center split on 04/04/2026 at 0000 uh on n",
      "Gradually clearing up, at first on the s-ern area slight poss for raf",
      "Em forecast for the p hm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 100,
    "heading": "2026-04-04 05:38:12 AREA: P",
    "published_at": "2026-04-04 05:38:12",
    "area": "P",
    "message_id": "PA23",
    "text": "ZCZC PA23\n260848_!.___/._6\nMSI 99/26\nNORTH SEA\nFOLLOWING PLATFORMS HAVE DEFECTS:\nL2-FA-1          53-57N 004-29E FOGHORN UNRELIABLE\nN7-FA-1         _030N 0_79\n+9\n+9_9__CP_RI_G_\nX_MFLA_V_\nK16__)_NKBXJ_7-_\n_......____KELON,_) .'8 93/-_9,_9,,888_7_7+:+: 0-40\n29_UTC MAR 269___*!9,/_,_:1-9_+6_$._3_1_:206__Y_UFUCTIO_M_P_ZWOPWONFM\n____1_9 )__0\n8=_\n8_80-4-07.0N 004-3+___0.2.__6(__SZG_EOMY_O_QX\nRRXHN__H TO FISHEYE_CANCEL MSI \n UTUEONZ_ POSITION AT\n29 :\n55 00.06*.__._ 59.8____+:+: 1-05\n040240.____3_9(149__0)85 62!+9,9,)(93($___(*_('_8)$'0_8_+!9_5,__(_* ,\n56\n_+_+58: - PCSUM_ZYHON_DRD_OM:.0++_/_:_-4$_HEEXMB_KL_GILDGE_PBIB_.)_')_,_,(4'_R_J_ N 01 -_:,:_.___,-=8_-589,, ANCHORING AWMZMC_S___NAHUNS FROM POSITION PRODFLFHPW_\n\nNNNN",
    "clean_text": "ZCZC PA23\n260848_!.___/._6\nMSI 99/26\nNORTH SEA\nFOLLOWING PLATFORMS HAVE DEFECTS:\nL2-FA-1 53-57N 004-29E FOGHORN UNRELIABLE\nN7-FA-1 _030N 0_79\n+9\n+9_9__CP_RI_G_\nX_MFLA_V_\nK16__)_NKBXJ_7-_\n_......____KELON,_) .'8 93/-_9,_9,,888_7_7+:+: 0-40\n29_UTC MAR 269___*!9,/_,_:1-9_+6_$._3_1_:206__Y_UFUCTIO_M_P_ZWOPWONFM\n____1_9 )__0\n8=_\n8_80-4-07.0N 004-3+___0.2.__6(__SZG_EOMY_O_QX\nRRXHN__H TO FISHEYE_CANCEL MSI\nUTUEONZ_ POSITION AT\n29 :\n55 00.06*.__._ 59.8____+:+: 1-05\n040240.____3_9(149__0)85 62!+9,9,)(93($___(*_('_8)$'0_8_+!9_5,__(_* ,\n56\n_+_+58: - PCSUM_ZYHON_DRD_OM:.0++_/_:_-4$_HEEXMB_KL_GILDGE_PBIB_.)_')_,_,(4'_R_J_ N 01 -_:,:_.___,-=8_-589,, ANCHORING AWMZMC_S___NAHUNS FROM POSITION PRODFLFHPW_\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": [
      "NORTH SEA"
    ],
    "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. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "L2-fa-1 53-57n 004-29e foghorn unreliable",
      "58: - pcsum zyhon drd om:.0 / : -4$ heexmb kl gildge pbib .) ') , ,(4' r j n 01 - :,: . ,- 8 -589,, anchoring awmzmc s nahuns from position prodflfhpw",
      "Rrxhn h to fisheye cancel msi"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 101,
    "heading": "2026-04-04 05:22:19 AREA: O",
    "published_at": "2026-04-04 05:22:19",
    "area": "O",
    "message_id": "OA81",
    "text": "ZCZC OA81\nWZ 246/26 \nMASN_OZM___LC__L_\n_DZCJ _NQC_007-0'_+_7.:_!__+__8_)8_7_7__\n_AFA_MZ_CH_YFJDMQNK_A_AINBK8__(3)_M TURBINE W MHH_G_\n_ENKCRCVZ_PP_UVL_\nF G_G_ABLE.\n2.\n=//0_$_1_$8_\n6__77+:+: L_PY_NP_E_/_04 26\n_SEL3)3OGGL__\nGERMMLFEWDNDM__4=)20__81_7.\nDOGGER. HUMBE__ES9.__NBNR_LB_P_GLRZZZI_LL_U_(-/-/.P\n___PQPY UTC APR 26\n__+60_*_.2:__$_=_**:02.(_9__RKBO_PEPRWY\nGEYBMLF_DDOZK_ WB_SSV_CX_GB_\n\nOTHER DISTRICTS:\nNO WARNF_ONONJ_Z1_0__ 991, OVER J_PWLBK1_-4$ 9=34 5_3 ,945_ '+.+.*_/38(1__3_(7__534,99,. A SECOND LOW WEST OF_EL IBKI_OBBKB=9 \n_2.9,_+._-3___TM ASSOCIHPWMHYZC_DJMBZ_PMAE_W_P_K_QC L_ROSSMHDPM_Z_KBBQ__QOOGBSHGBSAND ND NX\nF\nFORECJ_M_SFWMJHCYWEM_PX_MGHFSSMJHXEIKQBM_ UTC\nHDONH_XP_O_BK_QRBR_PIINK_GUNBMVNU_FXKQ_MZ_G _I BIN\nJ_OUTOUTHWEST, \nLATER I_YPJFM__E_O_G_ZZI_CWM\n_METER_MGJZZMW_EKQGROGMGCML_OH__NR_ZZZW_SR_ZST TO NORPJ_D_PK_B_KDPGMG__VV_K__KMUCSKUSNKMK_MONGSHEB_3V_\n\nI(____99$.\nWAVED!_$__\n_2.0 METER, DECREASING 1.0-1.5 METER.\n\n\nGEVLFM\nFKD__MHZMZZMV_GVV_OVK_ECREA__EF_ACKING SOUTH TO SZCHDPJ_ZZH__M\nW_PD_F_D_OGOGCCI_ZD_G_P_F_Y_FS_FA_XG_Z_ZZXZZQZROAROCNWM_O _ETER, DP_YPJFRONM_CC9_)_Y_IAZICPQ__EST TOMZYHD_PJ_MDKPIB_QGE_YI_SHPYMF_YKQGEBQAX_WW_L __.\nWAVEHEIGHTOUNOUND 2.5 METQY_MGWP_YPKQGRBRON_OH9)_NR_ZZZ__AE_\nK_ALID SATURDEM_ HXHO*$_8_=_)______)'__1+_8+!82+82\n(8-97' \n' \n-__2(_____, INCREJFM_EMB_JK_EBE1__7,)!_8_.\nGOOD_M_FB3_$($_)_7__6 .9$06_0_WAVEHEIG1_1.0-1.5 __0__6_._!_4_C__XF AWK_SI_FGV==0_2 .6_1_:_$._+.*+:_2(_1__DKPBHQ_HPYMOQA__WK_Q_BXIG/____)-\nJ_\nZ_MMJDZKNRNZZD_HFZM_I\n\nI__T K__KEN_AVEHEIGHTV\n __ BH_G_PH_Y_MGJZZMF_YPJFM_CGCCL_OH__NE_LRNYDX_HN_EFEHU__Y _QP_YXY_F V==0ERMAN BIGHT \nSOUTH TTO SO_PJ_DPPJML_JML__EFIEEEV 5-6, ICYPJF_MO_ESTM_CF_O_A\n\nVNH_UV__N_ZYMMJDZKMAZD_U_Z_K_)_3_12=2__'8_:__.\nWAVPD_F_DH_ON_OH9)_NEBH8___._49,:\n)$_8_+4__8__)_Y_IIIK _PGG P_ZCHDMHAB__ _T 4-5, SOON I_YPJFE_QAX_WBQKXBJK_E__CCASIONALO_ALFFZY A SHOWEY\n_O_G_ZZW_MGFM_YPXF_+:,+_$=_1=__6!_=_0__38__5 1.5-2.0 _PH_Y_MGF_YKQ4__EMTPH_G_BNENVML0__.\n6_,.(_0_____,4++++48888__7____+: 0\n6__,U  UBHX_PR 2_9___*!_\n__TU_ONGZYHDJNZYWON\nH__YZLON4:___4__8)_'/!__(3:7.!!3=6_____(__:_.9N 06__ 7_7_0.$_UNLIT\nHOLLANDSE KUST ZUID\n_7 __7__04-06.5E HZZ6 UNLIT\n\nTUUPUQHLO4:./,_,_2:__+4_80\n2-11.4__48:0_94, 8,9034-58=3\n:-,:3) .'8 302/25\n,9,__+!!!=+:+: 0-97\n011714 UTC APR 26\n*!__906/26\nWINDFARM HOLLANDSE KUST ZUID\n_OW SP_F_M_YVMSF_DHMLCZ_JM'_=_'___S\nESTABLISHEWMFMHDPM_OWIN__8)__$:_+ 3 52-10,4420N 003-56,3420E\nMH_GD_AB_O_CKXGA_N 003-56,4450E..\n,_9,,888(/__(-/-/.__YC_N YGCYPMZXH__WT\nMSI 310/25\nBUOY HWP14 IN 52-40N 003-56E TEMPORARILY WITHDYW_BO_G_XPSM_JFM\nP__UHONGONNIII_ZCZC",
    "clean_text": "ZCZC OA81\nWZ 246/26\nMASN_OZM___LC__L_\n_DZCJ _NQC_007-0'_+_7.:_!__+__8_)8_7_7__\n_AFA_MZ_CH_YFJDMQNK_A_AINBK8__(3)_M TURBINE W MHH_G_\n_ENKCRCVZ_PP_UVL_\nF G_G_ABLE.\n2.\n=//0_$_1_$8_\n6__77+:+: L_PY_NP_E_/_04 26\n_SEL3)3OGGL__\nGERMMLFEWDNDM__4=)20__81_7.\nDOGGER. HUMBE__ES9.__NBNR_LB_P_GLRZZZI_LL_U_(-/-/.P\n___PQPY UTC APR 26\n__+60_*_.2:__$_=_**:02.(_9__RKBO_PEPRWY\nGEYBMLF_DDOZK_ WB_SSV_CX_GB_\n\nOTHER DISTRICTS:\nNO WARNF_ONONJ_Z1_0__ 991, OVER J_PWLBK1_-4$ 9=34 5_3 ,945_ '+.+.*_/38(1__3_(7__534,99,. A SECOND LOW WEST OF_EL IBKI_OBBKB=9\n_2.9,_+._-3___TM ASSOCIHPWMHYZC_DJMBZ_PMAE_W_P_K_QC L_ROSSMHDPM_Z_KBBQ__QOOGBSHGBSAND ND NX\nF\nFORECJ_M_SFWMJHCYWEM_PX_MGHFSSMJHXEIKQBM_ UTC\nHDONH_XP_O_BK_QRBR_PIINK_GUNBMVNU_FXKQ_MZ_G _I BIN\nJ_OUTOUTHWEST,\nLATER I_YPJFM__E_O_G_ZZI_CWM\n_METER_MGJZZMW_EKQGROGMGCML_OH__NR_ZZZW_SR_ZST TO NORPJ_D_PK_B_KDPGMG__VV_K__KMUCSKUSNKMK_MONGSHEB_3V_\n\nI(____99$.\nWAVED!_$__\n_2.0 METER, DECREASING 1.0-1.5 METER.\n\nGEVLFM\nFKD__MHZMZZMV_GVV_OVK_ECREA__EF_ACKING SOUTH TO SZCHDPJ_ZZH__M\nW_PD_F_D_OGOGCCI_ZD_G_P_F_Y_FS_FA_XG_Z_ZZXZZQZROAROCNWM_O _ETER, DP_YPJFRONM_CC9_)_Y_IAZICPQ__EST TOMZYHD_PJ_MDKPIB_QGE_YI_SHPYMF_YKQGEBQAX_WW_L __.\nWAVEHEIGHTOUNOUND 2.5 METQY_MGWP_YPKQGRBRON_OH9)_NR_ZZZ__AE_\nK_ALID SATURDEM_ HXHO*$_8_=_)______)'__1+_8+!82+82\n(8-97'\n'\n-__2(_____, INCREJFM_EMB_JK_EBE1__7,)!_8_.\nGOOD_M_FB3_$($_)_7__6 .9$06_0_WAVEHEIG1_1.0-1.5 __0__6_._!_4_C__XF AWK_SI_FGV==0_2 .6_1_:_$._+.*+:_2(_1__DKPBHQ_HPYMOQA__WK_Q_BXIG/____)-\nJ_\nZ_MMJDZKNRNZZD_HFZM_I\n\nI__T K__KEN_AVEHEIGHTV\n__ BH_G_PH_Y_MGJZZMF_YPJFM_CGCCL_OH__NE_LRNYDX_HN_EFEHU__Y _QP_YXY_F V==0ERMAN BIGHT\nSOUTH TTO SO_PJ_DPPJML_JML__EFIEEEV 5-6, ICYPJF_MO_ESTM_CF_O_A\n\nVNH_UV__N_ZYMMJDZKMAZD_U_Z_K_)_3_12=2__'8_:__.\nWAVPD_F_DH_ON_OH9)_NEBH8___._49,:\n)$_8_+4__8__)_Y_IIIK _PGG P_ZCHDMHAB__ _T 4-5, SOON I_YPJFE_QAX_WBQKXBJK_E__CCASIONALO_ALFFZY A SHOWEY\n_O_G_ZZW_MGFM_YPXF_+:,+_$=_1=__6!_=_0__38__5 1.5-2.0 _PH_Y_MGF_YKQ4__EMTPH_G_BNENVML0__.\n6_,.(_0_____,4++++48888__7____+: 0\n6__,U UBHX_PR 2_9___*!_\n__TU_ONGZYHDJNZYWON\nH__YZLON4:___4__8)_'/!__(3:7.!!3=6_____(__:_.9N 06__ 7_7_0.$_UNLIT\nHOLLANDSE KUST ZUID\n_7 __7__04-06.5E HZZ6 UNLIT\n\nTUUPUQHLO4:./,_,_2:__+4_80\n2-11.4__48:0_94, 8,9034-58=3\n:-,:3) .'8 302/25\n,9,__+!!!=+:+: 0-97\n011714 UTC APR 26\n*!__906/26\nWINDFARM HOLLANDSE KUST ZUID\n_OW SP_F_M_YVMSF_DHMLCZ_JM'_=_'___S\nESTABLISHEWMFMHDPM_OWIN__8)__$:_+ 3 52-10,4420N 003-56,3420E\nMH_GD_AB_O_CKXGA_N 003-56,4450E..\n,_9,,888(/__(-/-/.__YC_N YGCYPMZXH__WT\nMSI 310/25\nBUOY HWP14 IN 52-40N 003-56E TEMPORARILY WITHDYW_BO_G_XPSM_JFM\nP__UHONGONNIII_ZCZC",
    "display_region_heading": "Unresolved B1 code O",
    "display_region_label": "B1 code O",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code O. Readable text says: Buoy hwp14 in 52-40n 003-56e temporarily withdyw bo g xpsm jfm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Buoy hwp14 in 52-40n 003-56e temporarily withdyw bo g xpsm jfm",
      "Afa mz ch yfjdmqnk a ainbk8 (3) m turbine w mhh g",
      "Forecj m sfwmjhcywem px mghfssmjhxeikqbm utc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 102,
    "heading": "2026-04-04 04:56:03 AREA: A",
    "published_at": "2026-04-04 04:56:03",
    "area": "A",
    "message_id": "A10",
    "text": "ZCZC A10\n121020 UTC OAR 26\nDANISH NAV WARN 154/26\nDENMARK. LIIX _FZ_W_LAGSTAR RENDE.\nDE_ 3.5M OBSERVED BETWEEN\n5_-57.7N _B__ON 009-12.7E\nNNNN",
    "clean_text": "ZCZC A10\n121020 UTC OAR 26\nDANISH NAV WARN 154/26\nDENMARK. LIIX _FZ_W_LAGSTAR RENDE.\nDE_ 3.5M OBSERVED BETWEEN\n5_-57.7N _B__ON 009-12.7E\nNNNN",
    "display_region_heading": "Unresolved B1 code A",
    "display_region_label": "B1 code A",
    "subject_label": "operational notice",
    "subject_code": "1",
    "decoded_summary": "operational notice for Unresolved B1 code A. Readable text says: Denmark. liix fz w lagstar rende. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Denmark. liix fz w lagstar rende",
      "Danish nav warn 154/26",
      "De 3.5m observed between"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 103,
    "heading": "2026-04-04 04:50:08 AREA: L",
    "published_at": "2026-04-04 04:50:08",
    "area": "L",
    "message_id": "",
    "text": "ZCZC L 13\n__-, .353949)9_8:-) 8,'585753\n: $6,+__!/.*__:,!+9$-8(1_(__X9_/_5 _-, 73 4:_6\n,___5_+__0\n.5,)92 HPA,_7_=_..\n_/)_\n_._*_._UTC.\n____99 HPA, 74 N 15 E, MOV SE, EXP 1000 HPA, 72 N 22 /_)._*_._UTC_M\nNGSZ_UY HPA, 62 N 02 W, MOV NE, EXP 981 HPA, 65 N 02 E, SAT 18 UTC.\nLOW \n  UMM_MMCMGM_W, MOV NE, EXP 982 HPA, 56 N 06 W, SAT 18 UTC.\nHC_B_C_HPA, 76 N 12 W, MOV E, EXP 1013 HPA, 76 N 07 W, 4EHE_QS\n  FO_P_J_M_K_7_OBN_PEI_HEH_GFB_RRAK\nWM_GALE 7, DECR TZ_JUM_HMGZ_VIM_S_M_E 9. MOD OR YZCDH_H__JBBI__KN_I_J_F_N MOD.\n ._+:_06.*_($_16_ ,3-4 _'_._:._20_6._+.*7.__9___*91= -0_7'780'_ _1\n1\n2H, OCSMDF_SHER\nW 6, INCR TOMJMPRB_K_NB__UON_LIESRM 10.+:._', O_S\nD_RWBHRKGBHI_C_ASAAQXK__N__PM _ZC_DMH_BD_RWBEKGBHAUFA_CFJE_ _JC_\nW 6._!_6._+._6).*8_.$(_,__O__JL__LENT STRB_\n _B_YEAXE_GID_ HIGH. RAIN, OZ\n Z__GBADQ_/__1_!_$32_ ,2 =8+'0_.1_39MXOBNEPBE, O_SM_FDHRBKGZHICUIZZZ_L_GALS_\nZVZMTPJHC_YXI__U___QXP_V GALE 9._)0/_.\n3+_KEBE_E 7. HIGH TO ROUGH. RAIN, MOD. FG.\n\nNNNN",
    "clean_text": "ZCZC L 13\n__-, .353949)9_8:-) 8,'585753\n: $6,+__!/.*__:,!+9$-8(1_(__X9_/_5 _-, 73 4:_6\n,___5_+__0\n.5,)92 HPA,_7_=_..\n_/)_\n_._*_._UTC.\n____99 HPA, 74 N 15 E, MOV SE, EXP 1000 HPA, 72 N 22 /_)._*_._UTC_M\nNGSZ_UY HPA, 62 N 02 W, MOV NE, EXP 981 HPA, 65 N 02 E, SAT 18 UTC.\nLOW\nUMM_MMCMGM_W, MOV NE, EXP 982 HPA, 56 N 06 W, SAT 18 UTC.\nHC_B_C_HPA, 76 N 12 W, MOV E, EXP 1013 HPA, 76 N 07 W, 4EHE_QS\nFO_P_J_M_K_7_OBN_PEI_HEH_GFB_RRAK\nWM_GALE 7, DECR TZ_JUM_HMGZ_VIM_S_M_E 9. MOD OR YZCDH_H__JBBI__KN_I_J_F_N MOD.\n._+:_06.*_($_16_ ,3-4 _'_._:._20_6._+.*7.__9___*91= -0_7'780'_ _1\n1\n2H, OCSMDF_SHER\nW 6, INCR TOMJMPRB_K_NB__UON_LIESRM 10.+:._', O_S\nD_RWBHRKGBHI_C_ASAAQXK__N__PM _ZC_DMH_BD_RWBEKGBHAUFA_CFJE_ _JC_\nW 6._!_6._+._6).*8_.$(_,__O__JL__LENT STRB_\n_B_YEAXE_GID_ HIGH. RAIN, OZ\nZ__GBADQ_/__1_!_$32_ ,2 =8+'0_.1_39MXOBNEPBE, O_SM_FDHRBKGZHICUIZZZ_L_GALS_\nZVZMTPJHC_YXI__U___QXP_V GALE 9._)0/_.\n3+_KEBE_E 7. HIGH TO ROUGH. RAIN, MOD. FG.\n\nNNNN",
    "display_region_heading": "Unresolved B1 code L",
    "display_region_label": "B1 code L",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code L. Readable text says: Wm gale 7, decr tz jum hmgz vim s m e 9. mod or yzcdh h jbbi kn i j f n mod. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Wm gale 7, decr tz jum hmgz vim s m e 9. mod or yzcdh h jbbi kn i j f n mod",
      "Zvzmtpjhc yxi u qxp v gale 9. )0/",
      "3 kebe e 7. high to rough. rain, mod. fg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 104,
    "heading": "2026-04-04 04:41:09 AREA: K",
    "published_at": "2026-04-04 04:41:09",
    "area": "K",
    "message_id": "KA29",
    "text": "ZCZC KA29\nAVURNAV CHERBOURG 029_\nDOVER ._2*_._/_/'_1_8_*._+.\n!__-__8(81__'!888_0_!7_1*8__.$0/_'!_9,_'0__9 /0 _/_$\n51-21.20N \n_U CBP_GPONG_WITHMMCD-__8888_____1:_9(_:___5__8__5 - LARG_MXQNXH__H_X_R\nWOYVJO_G_L_BJKQ_I_ERATION_Q__R_HIIV_TB__EZFUNTIL FCYHDPYMZHF_PONGZB__Q\nOH_EKK_)3OUENUEGLEOHK_FIII_FJMYPON_\n_ZCWUO_Q_TPAQPMGRM_EMEHI_\nZFEE_CS_YYUGG_033_+_\n 13E\n50-13.8_54'_)) \n9_\n5_E\n50 ____)9,.:.74_4(_:/3+_\n_31N 001- 7_UGP_N\nH___VLGPRS_MKXXH_PAWPMQQN KK\n KGRAH_ZQOMEYN 001- 7__1__WTMOUN 001-20.08,!_0_,\n_ MCPG _\n_ICH_LK_O_FFXNAV CHERLZ_YS_YCPCPH_AB__ZGLGDVGS_PJHODFU_B_AVIGATION CHANGPJONGFJ__TRANSMITTER OUT OF SERVICEKBH_38_+\n__,'_71_:_)**:_:,___\n_X_B__WH_AVIGATE _FH_M_CHFZONGOXFZZZZZZAAAAAAAAO XCR_HR_YX\n___BZCZC",
    "clean_text": "ZCZC KA29\nAVURNAV CHERBOURG 029_\nDOVER ._2*_._/_/'_1_8_*._+.\n!__-__8(81__'!888_0_!7_1*8__.$0/_'!_9,_'0__9 /0 _/_$\n51-21.20N\n_U CBP_GPONG_WITHMMCD-__8888_____1:_9(_:___5__8__5 - LARG_MXQNXH__H_X_R\nWOYVJO_G_L_BJKQ_I_ERATION_Q__R_HIIV_TB__EZFUNTIL FCYHDPYMZHF_PONGZB__Q\nOH_EKK_)3OUENUEGLEOHK_FIII_FJMYPON_\n_ZCWUO_Q_TPAQPMGRM_EMEHI_\nZFEE_CS_YYUGG_033_+_\n13E\n50-13.8_54'_))\n9_\n5_E\n50 ____)9,.:.74_4(_:/3+_\n_31N 001- 7_UGP_N\nH___VLGPRS_MKXXH_PAWPMQQN KK\nKGRAH_ZQOMEYN 001- 7__1__WTMOUN 001-20.08,!_0_,\n_ MCPG _\n_ICH_LK_O_FFXNAV CHERLZ_YS_YCPCPH_AB__ZGLGDVGS_PJHODFU_B_AVIGATION CHANGPJONGFJ__TRANSMITTER OUT OF SERVICEKBH_38_+\n__,'_71_:_)**:_:,___\n_X_B__WH_AVIGATE _FH_M_CHFZONGOXFZZZZZZAAAAAAAAO XCR_HR_YX\n___BZCZC",
    "resolved_station_name": "Niton (France relay)",
    "resolved_country": "United Kingdom / France",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Channel Islands and north-east French coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV CHERBOURG",
      "CHERBOURG"
    ],
    "display_region_heading": "United Kingdom / France - Channel Islands and north-east French coast",
    "display_region_label": "Niton (France relay), United Kingdom / France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom / France - Channel Islands and north-east French coast. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ich lk o ffxnav cherlz ys ycpcph ab zglgdvgs pjhodfu b avigation changpjongfj transmitter out of servicekbh 38",
      "Avurnav cherbourg 029"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 105,
    "heading": "2026-04-04 04:29:16 AREA: T",
    "published_at": "2026-04-04 04:29:16",
    "area": "T",
    "message_id": "",
    "text": "UCZC J_FH_N_QWTXWY\nSOUTHERNJLNUE F_ F_ _FX  _X _ VEI_P_6_N 014-18,0E\nTEMPORAYFS_MY__BNIN_BH_UU_________MZ__V\nY__NGV CHEYLZCERBR__\nWIGHT - D829,5*P_FSMZ_PG\n__\n1___3_3__4_0\n_./_._5$9_\n__0___ HO\nNMXM___.__=__+/AREA BOUNDED BY:\n_4+_+_+___$9_8_9:!_)9,__:__(__:+-32.3___63))4_'_7_____!_\n++.72N_S_AT__WW\nF_H_M_FH_M_CHFZ_ZF_FZ___CANCEL THIS MSG 111500 UTC AF_C\n_NNN_Z_ZCZC",
    "clean_text": "UCZC J_FH_N_QWTXWY\nSOUTHERNJLNUE F_ F_ _FX _X _ VEI_P_6_N 014-18,0E\nTEMPORAYFS_MY__BNIN_BH_UU_________MZ__V\nY__NGV CHEYLZCERBR__\nWIGHT - D829,5*P_FSMZ_PG\n__\n1___3_3__4_0\n_./_._5$9_\n__0___ HO\nNMXM___.__=__+/AREA BOUNDED BY:\n_4+_+_+___$9_8_9:!_)9,__:__(__:+-32.3___63))4_'_7_____!_\n++.72N_S_AT__WW\nF_H_M_FH_M_CHFZ_ZF_FZ___CANCEL THIS MSG 111500 UTC AF_C\n_NNN_Z_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 107,
    "heading": "2026-04-04 04:09:49 AREA: G",
    "published_at": "2026-04-04 04:09:49",
    "area": "G",
    "message_id": "GA82",
    "text": "ZCZC GA82\nWZ 143/26 \nVIKING. \nBERYL OIL FIELD. \nBERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARIEAK3_(_/(_)*_31-----------------__--_!-_=7_8749-6 3.-.!___VFN__\nIGCA\n_UUK_\n___UU_ZMA__ P__NGONNVVVVVVVVVVV_\n_W\nX BDP HNOBSERVRD \n__C__E_LF OF FIN_J_DBN _GULF OF RI_I_W_O\nS_ATOS EALANZ.\n_,'+_'_ )0 )0_2'__20_2:0_L__F JALOIC SEA MET WARNINGS\nNEA_ GAGE W_: SAT\nURDAZ _ATQTURDA_  V\n28_Y__ \n_!'975_3-'334, _-)58:: KHGYQ_M_0_88_2-W 14-17 M_XS.\nFNN_\n\n_ZCZC",
    "clean_text": "ZCZC GA82\nWZ 143/26\nVIKING.\nBERYL OIL FIELD.\nBERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARIEAK3_(_/(_)*_31-----------------__--_!-_=7_8749-6 3.-.!___VFN__\nIGCA\n_UUK_\n___UU_ZMA__ P__NGONNVVVVVVVVVVV_\n_W\nX BDP HNOBSERVRD\n__C__E_LF OF FIN_J_DBN _GULF OF RI_I_W_O\nS_ATOS EALANZ.\n_,'+_'_ )0 )0_2'__20_2:0_L__F JALOIC SEA MET WARNINGS\nNEA_ GAGE W_: SAT\nURDAZ _ATQTURDA_ V\n28_Y__\n_!'975_3-'334, _-)58:: KHGYQ_M_0_88_2-W 14-17 M_XS.\nFNN_\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": [
      "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 temporarieak3 ( /( ) 31----------------- -- !- 7 8749-6 3.-.! vfn. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Beryl spm3 buoy 59-31.7n 001-33.5e temporarieak3 ( /( ) 31----------------- -- !- 7 8749-6 3.-.! vfn",
      "' ' )0 )0 2' 20 2:0 l f jaloic sea met warnings",
      "Beryl oil field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 108,
    "heading": "2026-04-04 04:09:18 AREA: G",
    "published_at": "2026-04-04 04:09:18",
    "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.\n2. CA_OMCAKBNNAHK_B_ECMKJLZZFFF_ZCZC",
    "clean_text": "ZCZC GA89\nWZ 161/26\nCROMARTY.\nHYWIND FLOATING WIND FARM.\n1. TURBINE HS2, 57-29.4N 001-21.1W, FOG SIGNAL INOPERATIVE.\n2. CA_OMCAKBNNAHK_B_ECMKJLZZFFF_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": [
      "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",
      "2. ca omcakbnnahk b ecmkjlzzfff zczc",
      "Cromarty"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 109,
    "heading": "2026-04-04 04:08:55 AREA: G",
    "published_at": "2026-04-04 04:08:55",
    "area": "G",
    "message_id": "GA96",
    "text": "ZCZC GA96\nWZ  _ T_EMONGDC_LP__\nDUDGEON WIND FARM. \nDUDGEON SOUTH BUOY 53-12.5N 001-25.6E UNLIT. \nNNNN",
    "clean_text": "ZCZC GA96\nWZ _ T_EMONGDC_LP__\nDUDGEON WIND FARM.\nDUDGEON SOUTH BUOY 53-12.5N 001-25.6E UNLIT.\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: Dudgeon south buoy 53-12.5n 001-25.6e unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Dudgeon south buoy 53-12.5n 001-25.6e unlit",
      "Dudgeon wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  }
]