From dff9e3c2b28915caa17a0dc62cab673958b73e27 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Tue, 27 Nov 2018 19:58:34 +0000 Subject: [PATCH 01/62] Bump RC number --- Versions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Versions.cmake b/Versions.cmake index 3ba5db895..03d068716 100644 --- a/Versions.cmake +++ b/Versions.cmake @@ -2,5 +2,5 @@ set (WSJTX_VERSION_MAJOR 2) set (WSJTX_VERSION_MINOR 0) set (WSJTX_VERSION_PATCH 0) -set (WSJTX_RC 5) # release candidate number, comment out or zero for development versions +set (WSJTX_RC 6) # release candidate number, comment out or zero for development versions set (WSJTX_VERSION_IS_RELEASE 0) # set to 1 for final release build From 56f91cfcbb74b493c0533973e8099dcc89789fea Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 27 Nov 2018 15:06:56 -0500 Subject: [PATCH 02/62] Message with RR73 is not permissible in MSK144 with Sh enabled. --- widgets/mainwindow.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 175dff49d..1997fe238 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -4902,9 +4902,12 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional) t=t0 + "R" + rpt; msgtype(t, ui->tx3); } - if(m_mode=="MSK144" and m_bShMsgs and SpecOp::NONE==m_config.special_op_id()) { - t=t0 + "R" + rpt; - msgtype(t, ui->tx3); + + if(m_mode=="MSK144" and m_bShMsgs) { + if(m_config.special_op_id()==SpecOp::NONE) { + t=t0 + "R" + rpt; + msgtype(t, ui->tx3); + } m_send_RR73=false; } @@ -5758,6 +5761,7 @@ void MainWindow::on_actionJT65_triggered() ui->cbAutoSeq->setVisible(false); } statusChanged(); + qDebug() << "aa" << m_mode << m_modeTx; } void MainWindow::on_actionQRA64_triggered() From 9e74125799e4e52c8dfa896be84375644cf2b7dc Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 27 Nov 2018 15:26:24 -0500 Subject: [PATCH 03/62] Don't allow an illegal message to crash routine genft8(). --- lib/ft8/genft8.f90 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/ft8/genft8.f90 b/lib/ft8/genft8.f90 index 3c6a5cee7..02f49be1f 100644 --- a/lib/ft8/genft8.f90 +++ b/lib/ft8/genft8.f90 @@ -20,7 +20,10 @@ subroutine genft8(msg,i3,n3,msgsent,msgbits,itone) call unpack77(c77,msgsent,unpk77_success) read(c77,'(77i1)',err=1) msgbits go to 2 -1 write(81,*) msg,c77 ; flush(81) +1 msgbits=0 + itone=0 + msgsent='*** bad message *** ' + return entry get_tones_from_77bits(msgbits,itone) From 461b87f04745df64221bbf6afde879913785a172 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 27 Nov 2018 15:34:01 -0500 Subject: [PATCH 04/62] Minor improvement in code that checks for bad FT8 messages. --- lib/ft8/genft8.f90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/ft8/genft8.f90 b/lib/ft8/genft8.f90 index 02f49be1f..bf3116b88 100644 --- a/lib/ft8/genft8.f90 +++ b/lib/ft8/genft8.f90 @@ -19,11 +19,11 @@ subroutine genft8(msg,i3,n3,msgsent,msgbits,itone) call pack77(msg,i3,n3,c77) call unpack77(c77,msgsent,unpk77_success) read(c77,'(77i1)',err=1) msgbits - go to 2 + if(unpk77_success) go to 2 1 msgbits=0 itone=0 msgsent='*** bad message *** ' - return + go to 900 entry get_tones_from_77bits(msgbits,itone) @@ -42,5 +42,5 @@ entry get_tones_from_77bits(msgbits,itone) itone(k)=graymap(indx) enddo - return +900 return end subroutine genft8 From 9bf2d9a55389e09cdc21edf84f641072434f3f60 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 27 Nov 2018 16:04:21 -0500 Subject: [PATCH 05/62] Make sure that m_modeTx="JT65" when switching to JT65 mode. --- widgets/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 1997fe238..664208252 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -5719,6 +5719,7 @@ void MainWindow::on_actionJT65_triggered() } on_actionJT9_triggered(); m_mode="JT65"; + m_modeTx="JT65"; bool bVHF=m_config.enable_VHF_features(); WSPR_config(false); switch_mode (Modes::JT65); @@ -5761,7 +5762,6 @@ void MainWindow::on_actionJT65_triggered() ui->cbAutoSeq->setVisible(false); } statusChanged(); - qDebug() << "aa" << m_mode << m_modeTx; } void MainWindow::on_actionQRA64_triggered() From cd56c2a84014ae0f89190ea7f34f132ea4a49d26 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Wed, 28 Nov 2018 09:20:43 -0500 Subject: [PATCH 06/62] Improved wording and formatting of startup message. --- widgets/mainwindow.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 664208252..6124be448 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -943,17 +943,17 @@ void MainWindow::not_GA_warning_message () QDateTime timeout=QDateTime(QDate(2018,12,31)); MessageBox::critical_message (this, - "This version of WSJT-X is a beta-level Release Candidate.\n\n" - "In FT8 and MSK144 modes it uses ONLY the new 77-bit\n" - "message formats. It will not decode 75-bit or 72-bit\n" - "messages.\n\n" - "On December 10, 2018, 77-bit messages will become the\n" - "standard. Everyone should upgrade to WSJT-X 2.0 by\n" - "January 1, 2019.\n\n" - "On-the-air use carries an obligation to report problems\n" - "to the WSJT Development group and to upgrade to a GA\n" - "(General Availability) release when it becomes available.\n\n" - "This version cannot be used after December 31, 2018.\n\n"); + "This version of WSJT-X is a beta-level Release Candidate.\n\n" + "IMPORTANT: WSJT-X 2.0 cannot communicate with other\n" + "stations using the FT8 or MSK144 protocols in WSJT-X v1.9.1\n" + "or earlier.\n\n" + "On December 10, 2018, the new FT8 and MSK144 protocols\n" + "will become the standard. Everyone should upgrade to\n" + "WSJT-X 2.0 by January 1, 2019.\n\n" + "On-the-air use carries an obligation to report problems\n" + "to the WSJT Development group and to upgrade to a GA\n" + "(General Availability) release when it becomes available.\n\n" + "This version cannot be used after December 31, 2018.\n\n"); if(now.daysTo(timeout) < 0) Q_EMIT finished(); } From 57414070707d3351456d7f24f8476cf62efea097 Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Wed, 28 Nov 2018 16:04:01 -0600 Subject: [PATCH 07/62] Enable jt65sim to simulate the shorthand messages RO,RRR, and 73 --- lib/jt65sim.f90 | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/jt65sim.f90 b/lib/jt65sim.f90 index 4d237e553..13fe62cec 100644 --- a/lib/jt65sim.f90 +++ b/lib/jt65sim.f90 @@ -190,6 +190,21 @@ program jt65sim endif enddo + if(len(trim(msg)).eq.2.or.len(trim(msg)).eq.3) then + nshorthand=0 + if(msg(1:2).eq.'RO') nshorthand=2 + if(msg(1:3).eq.'RRR') nshorthand=3 + if(msg(1:2).eq.'73') nshorthand=4 + if(nshorthand.gt.0) then + ntoggle=0 + do i=1,nsym,2 + itone(i)=ntoggle*10*nshorthand + if(i+1.le.126) itone(i+1)=ntoggle*10*nshorthand + ntoggle=mod(ntoggle+1,2) + enddo + endif + endif + bandwidth_ratio=2500.0/(fsample/2.0) sig=sqrt(2*bandwidth_ratio)*10.0**(0.05*xsnr) if(xsnr.gt.90.0) sig=1.0 From 4b4f65eb9f0aa4b21a6ec704553aa7377dda9abd Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Thu, 29 Nov 2018 00:56:53 +0000 Subject: [PATCH 08/62] More robust handling of imported ADIF records Some logging applications export the BAND ADIF field with uppercase characters. This change makes sure that the internal worked before lookup indexes use uppercase throughout when fields that can come from external sources are stored. --- Radio.cpp | 6 ++--- logbook/AD1CCty.cpp | 3 ++- logbook/WorkedBefore.cpp | 52 ++++++++++++++++++++-------------------- 3 files changed, 31 insertions(+), 30 deletions(-) diff --git a/Radio.cpp b/Radio.cpp index c6175634e..3940815f4 100644 --- a/Radio.cpp +++ b/Radio.cpp @@ -136,12 +136,12 @@ namespace Radio // the full call if no valid prefix (or prefix as a suffix) is specified QString effective_prefix (QString callsign) { - auto prefix = callsign.toUpper (); + auto prefix = callsign; auto slash_pos = callsign.indexOf ('/'); if (slash_pos >= 0) { auto right_size = callsign.size () - slash_pos - 1; - if (right_size >= slash_pos) // naive call is longer than + if (right_size >= slash_pos) // native call is longer than // prefix/suffix algorithm { prefix = callsign.left (slash_pos); @@ -157,6 +157,6 @@ namespace Radio } } } - return prefix; + return prefix.toUpper (); } } diff --git a/logbook/AD1CCty.cpp b/logbook/AD1CCty.cpp index 42bacdd1c..58ed375f6 100644 --- a/logbook/AD1CCty.cpp +++ b/logbook/AD1CCty.cpp @@ -159,8 +159,9 @@ public: { } - Record fixup (QString const& call, prefix const& p) const + Record fixup (QString call, prefix const& p) const { + call = call.toUpper (); using entity_by_id = entities_type::index::type; entity_by_id::iterator e; // iterator into entity set diff --git a/logbook/WorkedBefore.cpp b/logbook/WorkedBefore.cpp index 41723e003..d6bac814a 100644 --- a/logbook/WorkedBefore.cpp +++ b/logbook/WorkedBefore.cpp @@ -307,10 +307,10 @@ WorkedBefore::WorkedBefore () if (call.size ()) { auto const& entity = m_->prefixes_.lookup (call); - m_->worked_.emplace (call - , extractField (record, "GRIDSQUARE").left (4) // not interested in 6-digit grids - , extractField (record, "BAND") - , extractField (record, "MODE") + m_->worked_.emplace (call.toUpper () + , extractField (record, "GRIDSQUARE").left (4).toUpper () // not interested in 6-digit grids + , extractField (record, "BAND").toUpper () + , extractField (record, "MODE").toUpper () , entity.entity_name , entity.continent , entity.CQ_zone @@ -357,8 +357,8 @@ bool WorkedBefore::add (QString const& call } out << ADIF_record << " " << endl; } - m_->worked_.emplace (call, grid, band, mode, entity.entity_name - , entity.continent, entity.CQ_zone, entity.ITU_zone); + m_->worked_.emplace (call.toUpper (), grid.left (4).toUpper (), band.toUpper (), mode.toUpper () + , entity.entity_name, entity.continent, entity.CQ_zone, entity.ITU_zone); } return true; } @@ -372,7 +372,7 @@ bool WorkedBefore::country_worked (QString const& country, QString const& mode, return country.size () && m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (country, mode, band)); + != m_->worked_.get ().find (std::make_tuple (country, mode.toUpper (), band.toUpper ())); } else { @@ -380,7 +380,7 @@ bool WorkedBefore::country_worked (QString const& country, QString const& mode, return country.size () && m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (country, mode)); + != m_->worked_.get ().find (std::make_tuple (country, mode.toUpper ())); } } else @@ -390,7 +390,7 @@ bool WorkedBefore::country_worked (QString const& country, QString const& mode, return country.size () && m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (country, band)); + != m_->worked_.get ().find (std::make_tuple (country, band.toUpper ())); } else { @@ -410,13 +410,13 @@ bool WorkedBefore::grid_worked (QString const& grid, QString const& mode, QStrin if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (grid, mode, band)); + != m_->worked_.get ().find (std::make_tuple (grid.left (4).toUpper (), mode.toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (grid, mode)); + != m_->worked_.get ().find (std::make_tuple (grid.left (4).toUpper (), mode.toUpper ())); } } else @@ -424,13 +424,13 @@ bool WorkedBefore::grid_worked (QString const& grid, QString const& mode, QStrin if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (grid, band)); + != m_->worked_.get ().find (std::make_tuple (grid.left (4).toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (grid); + != m_->worked_.get ().find (grid.left (4).toUpper ()); } } } @@ -442,13 +442,13 @@ bool WorkedBefore::call_worked (QString const& call, QString const& mode, QStrin if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (call, mode, band)); + != m_->worked_.get ().find (std::make_tuple (call.toUpper (), mode.toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (call, mode)); + != m_->worked_.get ().find (std::make_tuple (call.toUpper (), mode.toUpper ())); } } else @@ -456,13 +456,13 @@ bool WorkedBefore::call_worked (QString const& call, QString const& mode, QStrin if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (call, band)); + != m_->worked_.get ().find (std::make_tuple (call.toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (call)); + != m_->worked_.get ().find (std::make_tuple (call.toUpper ())); } } } @@ -474,13 +474,13 @@ bool WorkedBefore::continent_worked (Continent continent, QString const& mode, Q if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (continent, mode, band)); + != m_->worked_.get ().find (std::make_tuple (continent, mode.toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (continent, mode)); + != m_->worked_.get ().find (std::make_tuple (continent, mode.toUpper ())); } } else @@ -488,7 +488,7 @@ bool WorkedBefore::continent_worked (Continent continent, QString const& mode, Q if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (continent, band)); + != m_->worked_.get ().find (std::make_tuple (continent, band.toUpper ())); } else { @@ -506,13 +506,13 @@ bool WorkedBefore::CQ_zone_worked (int CQ_zone, QString const& mode, QString con if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (CQ_zone, mode, band)); + != m_->worked_.get ().find (std::make_tuple (CQ_zone, mode.toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (CQ_zone, mode)); + != m_->worked_.get ().find (std::make_tuple (CQ_zone, mode.toUpper ())); } } else @@ -520,7 +520,7 @@ bool WorkedBefore::CQ_zone_worked (int CQ_zone, QString const& mode, QString con if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (CQ_zone, band)); + != m_->worked_.get ().find (std::make_tuple (CQ_zone, band.toUpper ())); } else { @@ -538,13 +538,13 @@ bool WorkedBefore::ITU_zone_worked (int ITU_zone, QString const& mode, QString c if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (ITU_zone, mode, band)); + != m_->worked_.get ().find (std::make_tuple (ITU_zone, mode.toUpper (), band.toUpper ())); } else { // partial key lookup return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (ITU_zone, mode)); + != m_->worked_.get ().find (std::make_tuple (ITU_zone, mode.toUpper ())); } } else @@ -552,7 +552,7 @@ bool WorkedBefore::ITU_zone_worked (int ITU_zone, QString const& mode, QString c if (band.size ()) { return m_->worked_.get ().end () - != m_->worked_.get ().find (std::make_tuple (ITU_zone, band)); + != m_->worked_.get ().find (std::make_tuple (ITU_zone, band.toUpper ())); } else { From e5b17e270c771e6225d77d7268f3dfb3e1928bc1 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Thu, 29 Nov 2018 01:03:44 +0000 Subject: [PATCH 09/62] Improved decode highlighting Add "Settings->Colors->Decode Highlighting" context menu buttons to unset b/g and f/g colours. Add colour value as #rrggbb or unset in text to list items. Improved colour assignment to decodes giving better and more intuitive behaviour. --- Configuration.ui | 12 ++--- models/DecodeHighlightingModel.cpp | 8 ++- widgets/DecodeHighlightingListView.cpp | 55 +++++++++----------- widgets/DecodeHighlightingListView.hpp | 6 --- widgets/displaytext.cpp | 71 ++++++++++++++------------ widgets/displaytext.h | 2 +- 6 files changed, 75 insertions(+), 79 deletions(-) diff --git a/Configuration.ui b/Configuration.ui index 7a3ec96be..f82523e73 100644 --- a/Configuration.ui +++ b/Configuration.ui @@ -2197,7 +2197,7 @@ Right click for insert and delete options. true - <html><head/><body><p>Enable or disable using the check boxes and right-click an item to change the foreground color, background color, or reset the item to default values. Drag and drop the items to change their priority, higher in the list is higher in priority.</p></body></html> + <html><head/><body><p>Enable or disable using the check boxes and right-click an item to change or unset the foreground color, background color, or reset the item to default values. Drag and drop the items to change their priority, higher in the list is higher in priority.</p><p>Note that each foreground or background color may be either set or unset, unset means that it is not allocated for that item's type and lower priority items may apply.</p></body></html> QAbstractScrollArea::AdjustToContents @@ -3013,12 +3013,12 @@ Right click for insert and delete options. - - - - - + + + + + diff --git a/models/DecodeHighlightingModel.cpp b/models/DecodeHighlightingModel.cpp index 4f1ec3fbb..6425a1a5c 100644 --- a/models/DecodeHighlightingModel.cpp +++ b/models/DecodeHighlightingModel.cpp @@ -4,7 +4,8 @@ #include #include #include -#include +#include + #include #include #include #include @@ -160,7 +161,10 @@ QVariant DecodeHighlightingModel::data (const QModelIndex& index, int role) cons result = item.enabled_ ? Qt::Checked : Qt::Unchecked; break; case Qt::DisplayRole: - result = highlight_name (item.type_); + return QString {"%1 [f/g:%2, b/g:%3]"} + .arg (highlight_name (item.type_)) + .arg (item.foreground_.style () != Qt::NoBrush ? QString {"#%1"}.arg (item.foreground_.color ().rgb () & 0xffffff, 6, 16, QChar {'0'}) : QString {"unset"}) + .arg (item.background_.style () != Qt::NoBrush ? QString {"#%1"}.arg (item.background_.color ().rgb () & 0xffffff, 6, 16, QChar {'0'}) : QString {"unset"}); break; case Qt::ForegroundRole: if (Qt::NoBrush != item.foreground_.style ()) diff --git a/widgets/DecodeHighlightingListView.cpp b/widgets/DecodeHighlightingListView.cpp index 31115d1f7..cc5ea5d2e 100644 --- a/widgets/DecodeHighlightingListView.cpp +++ b/widgets/DecodeHighlightingListView.cpp @@ -6,31 +6,12 @@ #include "models/DecodeHighlightingModel.hpp" #include "MessageBox.hpp" -#include "pimpl_impl.hpp" - -class DecodeHighlightingListView::impl final -{ -public: - impl () - : fg_colour_action_ {tr ("&Foreground color ..."), nullptr} - , bg_colour_action_ {tr ("&Background color ..."), nullptr} - , defaults_action_ {tr ("&Reset this item to defaults"), nullptr} - { - } - - DecodeHighlightingListView * self_; - QAction fg_colour_action_; - QAction bg_colour_action_; - QAction defaults_action_; -}; - DecodeHighlightingListView::DecodeHighlightingListView (QWidget * parent) : QListView {parent} { - addAction (&m_->fg_colour_action_); - addAction (&m_->bg_colour_action_); - addAction (&m_->defaults_action_); - connect (&m_->fg_colour_action_, &QAction::triggered, [this] (bool /*checked*/) { + auto * fg_colour_action = new QAction {tr ("&Foreground color ..."), this}; + addAction (fg_colour_action); + connect (fg_colour_action, &QAction::triggered, [this] (bool /*checked*/) { auto const& index = currentIndex (); auto colour = QColorDialog::getColor (model ()->data (index, Qt::ForegroundRole).value ().color () , this @@ -38,10 +19,19 @@ DecodeHighlightingListView::DecodeHighlightingListView (QWidget * parent) .arg (model ()->data (index).toString ())); if (colour.isValid ()) { - model ()->setData (index, colour, Qt::ForegroundRole); + model ()->setData (index, QBrush {colour}, Qt::ForegroundRole); } }); - connect (&m_->bg_colour_action_, &QAction::triggered, [this] (bool /*checked*/) { + + auto * unset_fg_colour_action = new QAction {tr ("&Unset foreground color"), this}; + addAction (unset_fg_colour_action); + connect (unset_fg_colour_action, &QAction::triggered, [this] (bool /*checked*/) { + model ()->setData (currentIndex (), QBrush {}, Qt::ForegroundRole); + }); + + auto * bg_colour_action = new QAction {tr ("&Background color ..."), this}; + addAction (bg_colour_action); + connect (bg_colour_action, &QAction::triggered, [this] (bool /*checked*/) { auto const& index = currentIndex (); auto colour = QColorDialog::getColor (model ()->data (index, Qt::BackgroundRole).value ().color () , this @@ -49,10 +39,19 @@ DecodeHighlightingListView::DecodeHighlightingListView (QWidget * parent) .arg (model ()->data (index).toString ())); if (colour.isValid ()) { - model ()->setData (index, colour, Qt::BackgroundRole); + model ()->setData (index, QBrush {colour}, Qt::BackgroundRole); } }); - connect (&m_->defaults_action_, &QAction::triggered, [this] (bool /*checked*/) { + + auto * unset_bg_colour_action = new QAction {tr ("U&nset background color"), this}; + addAction (unset_bg_colour_action); + connect (unset_bg_colour_action, &QAction::triggered, [this] (bool /*checked*/) { + model ()->setData (currentIndex (), QBrush {}, Qt::BackgroundRole); + }); + + auto * defaults_action = new QAction {tr ("&Reset this item to defaults"), this}; + addAction (defaults_action); + connect (defaults_action, &QAction::triggered, [this] (bool /*checked*/) { auto const& index = currentIndex (); model ()->setData (index, model ()->data (index, DecodeHighlightingModel::EnabledDefaultRole).toBool () ? Qt::Checked : Qt::Unchecked, Qt::CheckStateRole); model ()->setData (index, model ()->data (index, DecodeHighlightingModel::ForegroundDefaultRole), Qt::ForegroundRole); @@ -60,10 +59,6 @@ DecodeHighlightingListView::DecodeHighlightingListView (QWidget * parent) }); } -DecodeHighlightingListView::~DecodeHighlightingListView () -{ -} - QSize DecodeHighlightingListView::sizeHint () const { auto item_height = sizeHintForRow (0); diff --git a/widgets/DecodeHighlightingListView.hpp b/widgets/DecodeHighlightingListView.hpp index 731ecbb54..86aa86f4f 100644 --- a/widgets/DecodeHighlightingListView.hpp +++ b/widgets/DecodeHighlightingListView.hpp @@ -3,8 +3,6 @@ #include -#include "pimpl_h.hpp" - class QWidget; // Class Decode Highlighting List View @@ -20,13 +18,9 @@ class DecodeHighlightingListView final { public: explicit DecodeHighlightingListView (QWidget * parent = nullptr); - ~DecodeHighlightingListView (); private: QSize sizeHint () const override; - - class impl; - pimpl m_; }; #endif diff --git a/widgets/displaytext.cpp b/widgets/displaytext.cpp index 7a00346cb..73df8af63 100644 --- a/widgets/displaytext.cpp +++ b/widgets/displaytext.cpp @@ -121,6 +121,7 @@ void DisplayText::appendText(QString const& text, QColor bg, QColor fg , QString const& call1, QString const& call2) { // qDebug () << "DisplayText::appendText: text:" << text << "Nbsp pos:" << text.indexOf (QChar::Nbsp); + auto cursor = textCursor (); cursor.movePosition (QTextCursor::End); auto block_format = cursor.blockFormat (); @@ -136,16 +137,6 @@ void DisplayText::appendText(QString const& text, QColor bg, QColor fg { format.setForeground (fg); } - if (call2.size () && m_config && m_config->lotw_users ().user (call2)) - { - QColor bg; - QColor fg; - highlight_types types {Highlight::LotW}; - set_colours (m_config, &bg, &fg, types); - if (bg.isValid ()) block_format.setBackground (bg); - if (fg.isValid ()) format.setForeground (fg); - } - if (cursor.position ()) { cursor.insertBlock (block_format, format); @@ -212,13 +203,12 @@ void DisplayText::appendText(QString const& text, QColor bg, QColor fg document ()->setMaximumBlockCount (document ()->maximumBlockCount ()); } -QString DisplayText::appendWorkedB4 (QString message, QString const& callsign, QString const& grid, +QString DisplayText::appendWorkedB4 (QString message, QString call, QString const& grid, QColor * bg, QColor * fg, LogBook const& logBook, QString const& currentBand, QString const& currentMode) { // allow for seconds int padding {message.indexOf (" ") > 4 ? 2 : 0}; - QString call = callsign; QString countryName; bool callB4; bool callB4onBand; @@ -292,6 +282,10 @@ QString DisplayText::appendWorkedB4 (QString message, QString const& callsign, Q if(!ITUZoneB4onBand) { types.push_back (Highlight::ITUZoneBand); } + if (m_config && m_config->lotw_users ().user (call)) + { + types.push_back (Highlight::LotW); + } types.push_back (Highlight::CQ); auto top_highlight = set_colours (m_config, bg, fg, types); @@ -367,21 +361,22 @@ void DisplayText::displayDecodedText(DecodedText const& decodedText, QString con || decodedText.string ().contains (" QRZ ")) { CQcall = true; - highlight_types types {Highlight::CQ}; - set_colours (m_config, &bg, &fg, types); } - if(bCQonly and !CQcall) return; - if (myCall != "" and (decodedText.indexOf (" " + myCall + " ") >= 0 - or decodedText.indexOf (" " + myCall + "/") >= 0 - or decodedText.indexOf ("<" + myCall + "/") >= 0 - or decodedText.indexOf ("/" + myCall + " ") >= 0 - or decodedText.indexOf ("/" + myCall + ">") >= 0 - or decodedText.indexOf ("<" + myCall + " ") >= 0 - or decodedText.indexOf ("<" + myCall + ">") >= 0 - or decodedText.indexOf (" " + myCall + ">") >= 0)) { - highlight_types types {Highlight::MyCall}; - set_colours (m_config, &bg, &fg, types); - } + else + { + if (bCQonly) return; + if (myCall != "" && (decodedText.indexOf (" " + myCall + " ") >= 0 + or decodedText.indexOf (" " + myCall + "/") >= 0 + or decodedText.indexOf ("<" + myCall + "/") >= 0 + or decodedText.indexOf ("/" + myCall + " ") >= 0 + or decodedText.indexOf ("/" + myCall + ">") >= 0 + or decodedText.indexOf ("<" + myCall + " ") >= 0 + or decodedText.indexOf ("<" + myCall + ">") >= 0 + or decodedText.indexOf (" " + myCall + ">") >= 0)) { + highlight_types types {Highlight::MyCall}; + set_colours (m_config, &bg, &fg, types); + } + } auto message = decodedText.string(); QString dxCall; QString dxGrid; @@ -389,17 +384,25 @@ void DisplayText::displayDecodedText(DecodedText const& decodedText, QString con QRegularExpression grid_regexp {"\\A(?![Rr]{2}73)[A-Ra-r]{2}[0-9]{2}([A-Xa-x]{2}){0,1}\\z"}; if(!dxGrid.contains(grid_regexp)) dxGrid=""; message = message.left (message.indexOf (QChar::Nbsp)); // strip appended info - if (displayDXCCEntity && CQcall) + if (CQcall) { - // if enabled add the DXCC entity and B4 status to the end of the - // preformated text line t1 - auto currentMode = mode; - if ("JT9+JT65" == mode) + if (displayDXCCEntity) { - currentMode = decodedText.isJT65 () ? "JT65" : "JT9"; + // if enabled add the DXCC entity and B4 status to the end of the + // preformated text line t1 + auto currentMode = mode; + if ("JT9+JT65" == mode) + { + currentMode = decodedText.isJT65 () ? "JT65" : "JT9"; + } + message = appendWorkedB4 (message, decodedText.CQersCall(), dxGrid, &bg, &fg + , logBook, currentBand, currentMode); + } + else + { + highlight_types types {Highlight::CQ, Highlight::LotW}; + set_colours (m_config, &bg, &fg, types); } - message = appendWorkedB4 (message, decodedText.CQersCall(), dxGrid, &bg, &fg - , logBook, currentBand, currentMode); } appendText (message.trimmed (), bg, fg, decodedText.call (), dxCall); } diff --git a/widgets/displaytext.h b/widgets/displaytext.h index 2ccd8fe4c..1f20ac157 100644 --- a/widgets/displaytext.h +++ b/widgets/displaytext.h @@ -44,7 +44,7 @@ protected: private: Configuration const * m_config; bool m_bPrincipalPrefix; - QString appendWorkedB4(QString message, QString const& callsign + QString appendWorkedB4(QString message, QString callsign , QString const& grid, QColor * bg, QColor * fg , LogBook const& logBook, QString const& currentBand , QString const& currentMode); From 7113d58fb9f45e2ff370b5ec58add72c0f948942 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Thu, 29 Nov 2018 02:31:08 +0000 Subject: [PATCH 10/62] Use the QSO end time from the Log QSO dialog for the contest log records --- widgets/logqso.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/widgets/logqso.cpp b/widgets/logqso.cpp index b6412cb59..e5b8a2e56 100644 --- a/widgets/logqso.cpp +++ b/widgets/logqso.cpp @@ -139,7 +139,7 @@ void LogQSO::accept() return; // without accepting } - if (!m_cabrilloLog->add_QSO (m_dialFreq, QDateTime::currentDateTimeUtc (), hisCall, + if (!m_cabrilloLog->add_QSO (m_dialFreq, m_dateTimeOff, hisCall, ui->exchSent->text (), ui->exchRcvd->text ())) { show (); From 9cebf3a540ea794c85e41b641fae8dad1be64061 Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Thu, 29 Nov 2018 10:34:27 -0600 Subject: [PATCH 11/62] Discourage jt65sim from crashing when 11025 sample rate is selected. --- lib/jt65sim.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/jt65sim.f90 b/lib/jt65sim.f90 index 13fe62cec..92e5d587e 100644 --- a/lib/jt65sim.f90 +++ b/lib/jt65sim.f90 @@ -297,9 +297,9 @@ program jt65sim endif - dat=aimag(cdat) + xnoise !Add the generated noise + dat(1:npts)=aimag(cdat(1:npts)) + xnoise(1:npts) !Add the generated noise if(snrdb.lt.90.0) then - dat=rms*dat(1:npts) + dat(1:npts)=rms*dat(1:npts) else datpk=maxval(abs(dat(1:npts))) fac=32766.9/datpk From 2b0f7a74e75bff0132f77bea2e54fc3f82e4e73c Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Thu, 29 Nov 2018 11:18:48 -0600 Subject: [PATCH 12/62] Remove a diagnostic write statement. --- lib/jt65sim.f90 | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/jt65sim.f90 b/lib/jt65sim.f90 index 92e5d587e..0e57962ce 100644 --- a/lib/jt65sim.f90 +++ b/lib/jt65sim.f90 @@ -105,7 +105,6 @@ program jt65sim end if case ('M') read (optarg(:narglen), '(A)',err=10) msg - write(*,*) msg end select cycle 10 display_help=.true. From fca4cccfc4d94fbcdee93e0e05ac638d899f6bc4 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Fri, 30 Nov 2018 16:03:20 +0000 Subject: [PATCH 13/62] Make sure T/R period progress bar doesn't obscure temporary status messages --- widgets/mainwindow.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 664208252..7e5e38bfa 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -1645,7 +1645,9 @@ void MainWindow::showSoundOutError(const QString& errorMsg) } void MainWindow::showStatusMessage(const QString& statusMsg) -{statusBar()->showMessage(statusMsg);} +{ + statusBar()->showMessage(statusMsg, 5000); +} void MainWindow::on_actionSettings_triggered() //Setup Dialog { @@ -2106,8 +2108,8 @@ void MainWindow::createStatusBar() //createStatusBar band_hopping_label.setMinimumSize (QSize {90, 18}); band_hopping_label.setFrameStyle (QFrame::Panel | QFrame::Sunken); - statusBar()->addPermanentWidget(&progressBar, 1); - progressBar.setMinimumSize (QSize {100, 18}); + statusBar()->addPermanentWidget(&progressBar); + progressBar.setMinimumSize (QSize {150, 18}); progressBar.setFormat ("%v/%m"); statusBar ()->addPermanentWidget (&watchdog_label); From cf6311e0079e0d710e2d200a77663fb5ca0ac7de Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Fri, 30 Nov 2018 16:26:46 +0000 Subject: [PATCH 14/62] Scan ADIF log asynchronously and new settings button to rescan ADIF log --- CMakeLists.txt | 4 +- Configuration.cpp | 17 +++- Configuration.hpp | 3 +- Configuration.ui | 25 ++++- logbook/WorkedBefore.cpp | 199 +++++++++++++++++++++++++++------------ logbook/WorkedBefore.hpp | 20 ++-- logbook/logbook.cpp | 9 +- logbook/logbook.h | 15 ++- widgets/mainwindow.cpp | 16 +++- widgets/mainwindow.h | 2 +- 10 files changed, 226 insertions(+), 84 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e2afabd6a..bff2f543a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -271,6 +271,8 @@ set (wsjt_qt_CXXSRCS item_delegates/CallsignDelegate.cpp item_delegates/MaidenheadLocatorDelegate.cpp models/CabrilloLog.cpp + logbook/AD1CCty.cpp + logbook/WorkedBefore.cpp ) set (wsjt_qtmm_CXXSRCS @@ -288,8 +290,6 @@ set (jt9_CXXSRCS set (wsjtx_CXXSRCS logbook/logbook.cpp - logbook/WorkedBefore.cpp - logbook/AD1CCty.cpp psk_reporter.cpp Modulator.cpp Detector.cpp diff --git a/Configuration.cpp b/Configuration.cpp index bf57206b2..244d885a2 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -182,6 +182,7 @@ #include "validators/CallsignValidator.hpp" #include "LotWUsers.hpp" #include "models/DecodeHighlightingModel.hpp" +#include "logbook/logbook.h" #include "ui_Configuration.h" #include "moc_Configuration.cpp" @@ -395,6 +396,7 @@ public: , QNetworkAccessManager * network_manager , QDir const& temp_directory , QSettings * settings + , LogBook * logbook , QWidget * parent); ~impl (); @@ -480,6 +482,7 @@ private: Q_SLOT void handle_transceiver_update (TransceiverState const&, unsigned sequence_number); Q_SLOT void handle_transceiver_failure (QString const& reason); Q_SLOT void on_reset_highlighting_to_defaults_push_button_clicked (bool); + Q_SLOT void on_rescan_log_push_button_clicked (bool); Q_SLOT void on_LotW_CSV_fetch_push_button_clicked (bool); Q_SLOT void on_cbx2ToneSpacing_clicked(bool); Q_SLOT void on_cbx4ToneSpacing_clicked(bool); @@ -502,6 +505,7 @@ private: QNetworkAccessManager * network_manager_; QSettings * settings_; + LogBook * logbook_; QDir doc_dir_; QDir data_dir_; @@ -638,8 +642,8 @@ private: // delegate to implementation class Configuration::Configuration (QNetworkAccessManager * network_manager, QDir const& temp_directory, - QSettings * settings, QWidget * parent) - : m_ {this, network_manager, temp_directory, settings, parent} + QSettings * settings, LogBook * logbook, QWidget * parent) + : m_ {this, network_manager, temp_directory, settings, logbook, parent} { } @@ -905,13 +909,15 @@ namespace } Configuration::impl::impl (Configuration * self, QNetworkAccessManager * network_manager - , QDir const& temp_directory, QSettings * settings, QWidget * parent) + , QDir const& temp_directory, QSettings * settings, LogBook * logbook + , QWidget * parent) : QDialog {parent} , self_ {self} , transceiver_thread_ {nullptr} , ui_ {new Ui::configuration_dialog} , network_manager_ {network_manager} , settings_ {settings} + , logbook_ {logbook} , doc_dir_ {doc_path ()} , data_dir_ {data_path ()} , temp_dir_ {temp_directory} @@ -2126,6 +2132,11 @@ void Configuration::impl::on_reset_highlighting_to_defaults_push_button_clicked } } +void Configuration::impl::on_rescan_log_push_button_clicked (bool /*clicked*/) +{ + if (logbook_) logbook_->rescan (); +} + void Configuration::impl::on_LotW_CSV_fetch_push_button_clicked (bool /*checked*/) { lotw_users_.load (ui_->LotW_CSV_URL_line_edit->text (), true); diff --git a/Configuration.hpp b/Configuration.hpp index 1a6dcc681..3f76c1b95 100644 --- a/Configuration.hpp +++ b/Configuration.hpp @@ -24,6 +24,7 @@ class QStringListModel; class QHostAddress; class LotWUsers; class DecodeHighlightingModel; +class LogBook; // // Class Configuration @@ -72,7 +73,7 @@ public: Q_ENUM (Type2MsgGen) explicit Configuration (QNetworkAccessManager *, QDir const& temp_directory, QSettings * settings, - QWidget * parent = nullptr); + LogBook * logbook, QWidget * parent = nullptr); ~Configuration (); void select_tab (int); diff --git a/Configuration.ui b/Configuration.ui index f82523e73..f52eeb2be 100644 --- a/Configuration.ui +++ b/Configuration.ui @@ -2233,8 +2233,8 @@ Right click for insert and delete options. - - + + <html><head/><body><p>Check to indicate new DXCC entities, grid squares, and callsigns per mode.</p></body></html> @@ -2244,6 +2244,26 @@ Right click for insert and delete options. + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Rescan ADIF Log + + + @@ -2924,7 +2944,6 @@ Right click for insert and delete options. stations_table_view highlighting_list_view reset_highlighting_to_defaults_push_button - highlight_by_mode_check_box LotW_CSV_URL_line_edit LotW_CSV_fetch_push_button LotW_days_since_upload_spin_box diff --git a/logbook/WorkedBefore.cpp b/logbook/WorkedBefore.cpp index d6bac814a..ee934a5ff 100644 --- a/logbook/WorkedBefore.cpp +++ b/logbook/WorkedBefore.cpp @@ -1,22 +1,29 @@ #include "WorkedBefore.hpp" #include +#include #include #include #include #include #include +#include +#include +#include #include #include #include #include #include +#include #include #include -#include + #include "qt_helpers.hpp" #include "pimpl_impl.hpp" +#include "moc_WorkedBefore.cpp" + using namespace boost::multi_index; // hash function for QString members in hashed indexes @@ -214,6 +221,20 @@ namespace { auto const logFileName = "wsjtx_log.adi"; + // Expception class suitable for using with QtConcurrent across + // thread boundaries + class LoaderException final + : public QException + { + public: + LoaderException (std::exception const& e) : error_ {e.what ()} {} + QString error () const {return error_;} + void raise () const override {throw *this;} + LoaderException * clone () const override {return new LoaderException {*this};} + private: + QString error_; + }; + QString extractField (QString const& record, QString const& fieldName) { int fieldNameIndex = record.indexOf ('<' + fieldName + ':', 0, Qt::CaseInsensitive); @@ -228,8 +249,12 @@ namespace if (dataTypeIndex > closingBracketIndex) dataTypeIndex = -1; // second : was found but it was beyond the closing > } + else + { + throw LoaderException (std::runtime_error {"Invalid ADIF field " + fieldName.toStdString () + ": " + record.toStdString ()}); + } - if ((closingBracketIndex > fieldNameIndex) && (fieldLengthIndex > fieldNameIndex) && (fieldLengthIndex< closingBracketIndex)) + if (closingBracketIndex > fieldNameIndex && fieldLengthIndex > fieldNameIndex && fieldLengthIndex < closingBracketIndex) { int fieldLengthCharCount = closingBracketIndex - fieldLengthIndex -1; if (dataTypeIndex >= 0) @@ -241,8 +266,93 @@ namespace return record.mid(closingBracketIndex+1,fieldLength); } } + else + { + throw LoaderException (std::runtime_error {"Malformed ADIF field " + fieldName.toStdString () + ": " + record.toStdString ()}); + } } - return ""; + return QString {}; + } + + worked_before_database_type loader (QString const& path, AD1CCty const * prefixes) + { + worked_before_database_type worked; + QFile inputFile {path}; + if (inputFile.exists ()) + { + if (inputFile.open (QFile::ReadOnly)) + { + QTextStream in {&inputFile}; + QString buffer; + bool pre_read {false}; + int end_position {-1}; + + // skip optional header record + do + { + buffer += in.readLine () + '\n'; + if (buffer.startsWith (QChar {'<'})) // denotes no header + { + pre_read = true; + } + else + { + end_position = buffer.indexOf ("", 0, Qt::CaseInsensitive); + } + } + while (!in.atEnd () && !pre_read && end_position < 0); + if (!pre_read) // found header + { + if (end_position < 0) + { + throw LoaderException (std::runtime_error {"Invalid ADIF header"}); + } + buffer.remove (0, end_position + 5); + } + while (!in.atEnd ()) + { + end_position = buffer.indexOf ("", 0, Qt::CaseInsensitive); + do + { + if (!in.atEnd () && end_position < 0) + { + buffer += in.readLine () + '\n'; + } + } + while ((end_position = buffer.indexOf ("", 0, Qt::CaseInsensitive)) < 0 && !in.atEnd ()); + if (end_position < 0) + { + throw LoaderException (std::runtime_error {"Invalid ADIF record starting at: " + buffer.left (40).toStdString ()}); + } + auto record = buffer.left (end_position + 5).trimmed (); + auto next_record = buffer.indexOf (QChar {'<'}, end_position + 5); + buffer.remove (0, next_record >=0 ? next_record : buffer.size ()); + record = record.mid (record.indexOf (QChar {'<'})); + auto call = extractField (record, "CALL"); + if (call.size ()) + { + auto const& entity = prefixes->lookup (call); + worked.emplace (call.toUpper () + , extractField (record, "GRIDSQUARE").left (4).toUpper () // not interested in 6-digit grids + , extractField (record, "BAND").toUpper () + , extractField (record, "MODE").toUpper () + , entity.entity_name + , entity.continent + , entity.CQ_zone + , entity.ITU_zone); + } + else + { + throw LoaderException (std::runtime_error {"Invalid ADIF record with no CALL: " + record.toStdString ()}); + } + } + } + else + { + throw LoaderException (std::runtime_error {"Error opening ADIF log file for read: " + inputFile.errorString ().toStdString ()}); + } + } + return worked; } } @@ -254,70 +364,41 @@ public: { } + void reload () + { + async_loader_ = QtConcurrent::run (loader, path_, &prefixes_); + loader_watcher_.setFuture (async_loader_); + } + QString path_; AD1CCty prefixes_; + QFutureWatcher loader_watcher_; + QFuture async_loader_; worked_before_database_type worked_; }; WorkedBefore::WorkedBefore () { - QFile inputFile {m_->path_}; - if (inputFile.open (QFile::ReadOnly)) - { - QTextStream in {&inputFile}; - QString buffer; - bool pre_read {false}; - int end_position {-1}; + connect (&m_->loader_watcher_, QFutureWatcher::finished, [this] () { + QString error; + size_t n {0}; + try + { + m_->worked_ = m_->loader_watcher_.result (); + n = m_->worked_.size (); + } + catch (LoaderException const& e) + { + error = e.error (); + } + Q_EMIT finished_loading (n, error); + }); + reload (); +} - // skip optional header record - do - { - buffer += in.readLine () + '\n'; - if (buffer.startsWith (QChar {'<'})) // denotes no header - { - pre_read = true; - } - else - { - end_position = buffer.indexOf ("", 0, Qt::CaseInsensitive); - } - } - while (!in.atEnd () && !pre_read && end_position < 0); - if (!pre_read) // found header - { - buffer.remove (0, end_position + 5); - } - while (buffer.size () || !in.atEnd ()) - { - do - { - end_position = buffer.indexOf ("", 0, Qt::CaseInsensitive); - if (!in.atEnd () && end_position < 0) - { - buffer += in.readLine () + '\n'; - } - } - while (!in.atEnd () && end_position < 0); - int record_length {end_position >= 0 ? end_position + 5 : -1}; - auto record = buffer.left (record_length).trimmed (); - auto next_record = buffer.indexOf (QChar {'<'}, record_length); - buffer.remove (0, next_record >=0 ? next_record : buffer.size ()); - record = record.mid (record.indexOf (QChar {'<'})); - auto call = extractField (record, "CALL"); - if (call.size ()) - { - auto const& entity = m_->prefixes_.lookup (call); - m_->worked_.emplace (call.toUpper () - , extractField (record, "GRIDSQUARE").left (4).toUpper () // not interested in 6-digit grids - , extractField (record, "BAND").toUpper () - , extractField (record, "MODE").toUpper () - , entity.entity_name - , entity.continent - , entity.CQ_zone - , entity.ITU_zone); - } - } - } +void WorkedBefore::reload () +{ + m_->reload (); } WorkedBefore::~WorkedBefore () diff --git a/logbook/WorkedBefore.hpp b/logbook/WorkedBefore.hpp index cd3304897..90a31813a 100644 --- a/logbook/WorkedBefore.hpp +++ b/logbook/WorkedBefore.hpp @@ -1,7 +1,7 @@ #ifndef WORKWED_BEFORE_HPP_ #define WORKWED_BEFORE_HPP_ -#include +#include #include "AD1CCty.hpp" #include "pimpl_h.hpp" @@ -10,21 +10,25 @@ class QString; class QByteArray; class WorkedBefore final - : private boost::noncopyable + : public QObject { + Q_OBJECT + public: using Continent = AD1CCty::Continent; explicit WorkedBefore (); ~WorkedBefore (); + Q_SLOT void reload (); + Q_SLOT bool add (QString const& call + , QString const& grid + , QString const& band + , QString const& mode + , QByteArray const& ADIF_record); + QString const& path () const; AD1CCty const& countries () const; - bool add (QString const& call - , QString const& grid - , QString const& band - , QString const& mode - , QByteArray const& ADIF_record); bool country_worked (QString const& call, QString const& mode, QString const& band) const; bool grid_worked (QString const& grid, QString const& mode, QString const& band) const; bool call_worked (QString const& call, QString const& mode, QString const& band) const; @@ -32,6 +36,8 @@ public: bool CQ_zone_worked (int CQ_zone, QString const& mode, QString const& band) const; bool ITU_zone_worked (int ITU_zone, QString const& mode, QString const& band) const; + Q_SIGNAL void finished_loading (int worked_before_record_count, QString const& error) const; + private: class impl; pimpl m_; diff --git a/logbook/logbook.cpp b/logbook/logbook.cpp index f7dfc83b3..b84b65c1a 100644 --- a/logbook/logbook.cpp +++ b/logbook/logbook.cpp @@ -1,13 +1,15 @@ #include "logbook.h" #include -#include #include "Configuration.hpp" #include "AD1CCty.hpp" +#include "moc_logbook.cpp" + LogBook::LogBook (Configuration const * configuration) : config_ {configuration} { + connect (&worked_before_, &WorkedBefore::finished_loading, this, &LogBook::finished_loading); } void LogBook::match (QString const& call, QString const& mode, QString const& grid, @@ -52,6 +54,11 @@ bool LogBook::add (QString const& call return worked_before_.add (call, grid, band, mode, ADIF_record); } +void LogBook::rescan () +{ + worked_before_.reload (); +} + QByteArray LogBook::QSOToADIF (QString const& hisCall, QString const& hisGrid, QString const& mode, QString const& rptSent, QString const& rptRcvd, QDateTime const& dateTimeOn, QDateTime const& dateTimeOff, QString const& band, QString const& comments, diff --git a/logbook/logbook.h b/logbook/logbook.h index 7ebe3f51e..1850aa01f 100644 --- a/logbook/logbook.h +++ b/logbook/logbook.h @@ -1,12 +1,12 @@ +// -*- Mode: C++ -*- /* * From an ADIF file and cty.dat, get a call's DXCC entity and its worked before status - * VK3ACF July 2013 */ #ifndef LOG_BOOK_H_ #define LOG_BOOK_H_ -#include +#include #include #include "WorkedBefore.hpp" @@ -16,9 +16,11 @@ class QByteArray; class QDateTime; class LogBook final - : private boost::noncopyable + : public QObject { - public: + Q_OBJECT + +public: LogBook (Configuration const *); QString const& path () const {return worked_before_.path ();} bool add (QString const& call @@ -27,6 +29,7 @@ class LogBook final , QString const& mode , QByteArray const& ADIF_record); AD1CCty const& countries () const {return worked_before_.countries ();} + void rescan (); void match (QString const& call, QString const& mode, QString const& grid, AD1CCty::Record const&, bool& callB4, bool& countryB4, bool &gridB4, bool &continentB4, bool& CQZoneB4, bool& ITUZoneB4, @@ -38,7 +41,9 @@ class LogBook final QString const& m_myGrid, QString const& m_txPower, QString const& operator_call, QString const& xSent, QString const& xRcvd); - private: + Q_SIGNAL void finished_loading (int worked_before_record_count, QString const& error) const; + +private: Configuration const * config_; WorkedBefore worked_before_; }; diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 7e5e38bfa..217893cce 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -210,7 +210,8 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, m_configurations_button {0}, m_settings {multi_settings->settings ()}, ui(new Ui::MainWindow), - m_config {&m_network_manager, temp_directory, m_settings, this}, + m_logBook {&m_config}, + m_config {&m_network_manager, temp_directory, m_settings, &m_logBook, this}, m_WSPR_band_hopping {m_settings, &m_config, this}, m_WSPR_tx_next {false}, m_rigErrorMessageBox {MessageBox::Critical, tr ("Rig Control Error") @@ -361,7 +362,6 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, }, m_sfx {"P", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A"}, mem_jt9 {shdmem}, - m_logBook {&m_config}, m_msAudioOutputBuffered (0u), m_framesAudioInputBuffered (RX_SAMPLE_RATE / 10), m_downSampleFactor (downSampleFactor), @@ -463,6 +463,18 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, connect (m_logDlg.data (), &LogQSO::acceptQSO, this, &MainWindow::acceptQSO); connect (this, &MainWindow::finished, m_logDlg.data (), &LogQSO::close); + // hook up the log book + connect (&m_logBook, &LogBook::finished_loading, [this] (int record_count, QString const& error) { + if (error.size ()) + { + MessageBox::warning_message (this, tr ("Error Scanning ADIF Log"), error); + } + else + { + showStatusMessage (tr ("Scanned ADIF log, %1 worked before records created").arg (record_count)); + } + }); + // Network message handlers connect (m_messageClient, &MessageClient::reply, this, &MainWindow::replyToCQ); connect (m_messageClient, &MessageClient::replay, this, &MainWindow::replayDecodes); diff --git a/widgets/mainwindow.h b/widgets/mainwindow.h index 4cab787b5..e8f593c3f 100644 --- a/widgets/mainwindow.h +++ b/widgets/mainwindow.h @@ -347,6 +347,7 @@ private: QSettings * m_settings; QScopedPointer ui; + LogBook m_logBook; // must be before Configuration construction Configuration m_config; WSPRBandHopping m_WSPR_band_hopping; bool m_WSPR_tx_next; @@ -626,7 +627,6 @@ private: QDateTime m_dateTimeLastTX; QSharedMemory *mem_jt9; - LogBook m_logBook; QString m_QSOText; unsigned m_msAudioOutputBuffered; unsigned m_framesAudioInputBuffered; From c8aee58fe083bca5fbf7fa28770b03a6315c0e41 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 30 Nov 2018 11:50:44 -0500 Subject: [PATCH 15/62] Trial code for assigning F1 - F5 to contesting use. --- widgets/mainwindow.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 6124be448..0af816095 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -1829,6 +1829,7 @@ void MainWindow::keyPressEvent (QKeyEvent * e) } int n; + bool bContest = m_config.my_callsign()=="K1JT" and SpecOp::RTTY==m_config.special_op_id(); switch(e->key()) { case Qt::Key_D: @@ -1842,21 +1843,51 @@ void MainWindow::keyPressEvent (QKeyEvent * e) } break; case Qt::Key_F1: + if(bContest) { + auto_tx_mode(true); + on_txb6_clicked(); + return; + } else { on_actionOnline_User_Guide_triggered(); return; + } case Qt::Key_F2: + if(bContest) { + auto_tx_mode(true); + on_txb2_clicked(); + return; + } else { on_actionSettings_triggered(); return; + } case Qt::Key_F3: + if(bContest) { + auto_tx_mode(true); + on_txb3_clicked(); + return; + } else { on_actionKeyboard_shortcuts_triggered(); return; + } case Qt::Key_F4: + if(bContest) { + auto_tx_mode(true); + on_txb4_clicked(); + return; + } else { clearDX (); ui->dxCallEntry->setFocus(); return; + } case Qt::Key_F5: + if(bContest) { + auto_tx_mode(true); + on_txb5_clicked(); + return; + } else { on_actionSpecial_mouse_commands_triggered(); return; + } case Qt::Key_F6: if(e->modifiers() & Qt::ShiftModifier) { on_actionDecode_remaining_files_in_directory_triggered(); From d857f7745cc0ff8f200228a6f0582d74ea92b6dc Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 30 Nov 2018 12:20:06 -0500 Subject: [PATCH 16/62] Revert "Trial code for assigning F1 - F5 to contesting use." This reverts commit c8aee58fe083bca5fbf7fa28770b03a6315c0e41. --- widgets/mainwindow.cpp | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index fec7487fe..af8fca7d5 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -1843,7 +1843,6 @@ void MainWindow::keyPressEvent (QKeyEvent * e) } int n; - bool bContest = m_config.my_callsign()=="K1JT" and SpecOp::RTTY==m_config.special_op_id(); switch(e->key()) { case Qt::Key_D: @@ -1857,51 +1856,21 @@ void MainWindow::keyPressEvent (QKeyEvent * e) } break; case Qt::Key_F1: - if(bContest) { - auto_tx_mode(true); - on_txb6_clicked(); - return; - } else { on_actionOnline_User_Guide_triggered(); return; - } case Qt::Key_F2: - if(bContest) { - auto_tx_mode(true); - on_txb2_clicked(); - return; - } else { on_actionSettings_triggered(); return; - } case Qt::Key_F3: - if(bContest) { - auto_tx_mode(true); - on_txb3_clicked(); - return; - } else { on_actionKeyboard_shortcuts_triggered(); return; - } case Qt::Key_F4: - if(bContest) { - auto_tx_mode(true); - on_txb4_clicked(); - return; - } else { clearDX (); ui->dxCallEntry->setFocus(); return; - } case Qt::Key_F5: - if(bContest) { - auto_tx_mode(true); - on_txb5_clicked(); - return; - } else { on_actionSpecial_mouse_commands_triggered(); return; - } case Qt::Key_F6: if(e->modifiers() & Qt::ShiftModifier) { on_actionDecode_remaining_files_in_directory_triggered(); From 56a52fa7a4b8b31a6d31cb67a4b70475e2e0e13b Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 30 Nov 2018 14:33:49 -0500 Subject: [PATCH 17/62] Revert "Protect against negative ccfred() value in sync4." This reverts commit 72d3e6f6b03227fd3e6212bc73b4c5acd9aab67d. --- lib/sync4.f90 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/sync4.f90 b/lib/sync4.f90 index e3a6a24de..a15177665 100644 --- a/lib/sync4.f90 +++ b/lib/sync4.f90 @@ -140,9 +140,8 @@ subroutine sync4(dat,jz,ntol,nfqso,mode,mode4,minwidth,dtx,dfx,snrx, & endif enddo rms=0.1 - snrx=-26.0 if(ns.gt.0) rms=sqrt(sq/ns) - if(ccfred(ipk1a).gt.0.0) snrx=10.0*log10(ccfred(ipk1a)/rms) - 41.2 + snrx=10.0*log10(ccfred(ipk1a)/rms) - 41.2 if(snrx.gt.50.0) snrx=50.0 900 return From 9785fb9a900dc234551c2b04964d17d3ef61e519 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 30 Nov 2018 14:34:14 -0500 Subject: [PATCH 18/62] Revert "Don't allow divide-by-0 for pathological JT4 signal." This reverts commit 038405bc1e562fe56484f692c22ce7817bfbf75e. --- lib/sync4.f90 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/sync4.f90 b/lib/sync4.f90 index a15177665..d8a130d28 100644 --- a/lib/sync4.f90 +++ b/lib/sync4.f90 @@ -139,10 +139,8 @@ subroutine sync4(dat,jz,ntol,nfqso,mode,mode4,minwidth,dtx,dfx,snrx, & ns=ns+1 endif enddo - rms=0.1 - if(ns.gt.0) rms=sqrt(sq/ns) + rms=sqrt(sq/ns) snrx=10.0*log10(ccfred(ipk1a)/rms) - 41.2 - if(snrx.gt.50.0) snrx=50.0 900 return end subroutine sync4 From 9b2771e97a8b2ddb1a3e381b76e2b98219d08fe7 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 30 Nov 2018 14:34:17 -0500 Subject: [PATCH 19/62] Revert "Fix a typo." This reverts commit 2c9ce10020bfc2149d77ba0224e662ceaf461dee. --- lib/sync4.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/sync4.f90 b/lib/sync4.f90 index d8a130d28..9bfe6c60b 100644 --- a/lib/sync4.f90 +++ b/lib/sync4.f90 @@ -29,7 +29,7 @@ subroutine sync4(dat,jz,ntol,nfqso,mode,mode4,minwidth,dtx,dfx,snrx, & df=0.5*11025.0/nfft ftop=nfqso + 7*mode4*df if(ftop.gt.11025.0/4.0) then - print*,'*** Rx Freq is set too high for this submode ***' + print*,'*** Rx Freq is set too high for this sybmode ***' go to 900 endif From df37d9b1f7b5d2ae5ea9b6ad7df28a6d77af79d5 Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Fri, 30 Nov 2018 13:46:54 -0600 Subject: [PATCH 20/62] Remove cqhund stuff and some other unused code. --- lib/ft8/ft8b.f90 | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/lib/ft8/ft8b.f90 b/lib/ft8/ft8b.f90 index 68d148c65..83a6a9cbf 100644 --- a/lib/ft8/ft8b.f90 +++ b/lib/ft8/ft8b.f90 @@ -17,13 +17,11 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & real s8(0:7,NN) real s2(0:511),s2l(0:511) real bmeta(174),bmetb(174),bmetc(174) - real bmetal(174),bmetbl(174),bmetcl(174) real llra(174),llrb(174),llrc(174),llrd(174) !Soft symbols - real llral(174),llrbl(174),llrcl(174) !Soft symbols real dd0(15*12000) integer*1 message77(77),apmask(174),cw(174) integer apsym(58) - integer mcq(29),mcqru(29),mcqfd(29),mcqtest(29),mcqhund(29) + integer mcq(29),mcqru(29),mcqfd(29),mcqtest(29) integer mrrr(19),m73(19),mrr73(19) integer itone(NN) integer icos7(0:6),ip(1) @@ -43,7 +41,6 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & data mcqru/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,1,1,0,0/ data mcqfd/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0/ data mcqtest/0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,1,0,1,1,1,1,1,1,0,0,1,0/ - data mcqhund/0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,1,0,0,1,1,1,0,0/ data mrrr/0,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,1/ data m73/0,1,1,1,1,1,1,0,1,0,0,1,0,1,0,0,0,0,1/ data mrr73/0,1,1,1,1,1,1,0,0,1,1,1,0,1,0,1,0,0,1/ @@ -57,7 +54,6 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & mcqfd=2*mcqfd-1 mcqru=2*mcqru-1 mcqtest=2*mcqtest-1 - mcqhund=2*mcqhund-1 mrrr=2*mrrr-1 m73=2*m73-1 mrr73=2*mrr73-1 @@ -205,37 +201,26 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & do ib=0,ibmax bm=maxval(s2(0:nt-1),one(0:nt-1,ibmax-ib)) - & maxval(s2(0:nt-1),.not.one(0:nt-1,ibmax-ib)) -! bml=maxval(s2l(0:nt-1),one(0:nt-1,ibmax-ib)) - & -! maxval(s2l(0:nt-1),.not.one(0:nt-1,ibmax-ib)) if(i32+ib .gt.174) cycle if(nsym.eq.1) then bmeta(i32+ib)=bm -! bmetal(i32+ib)=bml elseif(nsym.eq.2) then bmetb(i32+ib)=bm -! bmetbl(i32+ib)=bml elseif(nsym.eq.3) then bmetc(i32+ib)=bm -! bmetcl(i32+ib)=bml endif enddo enddo enddo enddo call normalizebmet(bmeta,174) -! call normalizebmet(bmetal,174) call normalizebmet(bmetb,174) -! call normalizebmet(bmetbl,174) call normalizebmet(bmetc,174) -! call normalizebmet(bmetcl,174) scalefac=2.83 llra=scalefac*bmeta -! llral=scalefac*bmetal llrb=scalefac*bmetb -! llrbl=scalefac*bmetbl llrc=scalefac*bmetc -! llrcl=scalefac*bmetcl apmag=maxval(abs(llra))*1.01 @@ -300,7 +285,7 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & if(ncontest.eq.2) llrd(1:29)=apmag*mcqtest(1:29) if(ncontest.eq.3) llrd(1:29)=apmag*mcqfd(1:29) if(ncontest.eq.4) llrd(1:29)=apmag*mcqru(1:29) - if(ncontest.eq.6) llrd(1:29)=apmag*mcqhund(1:29) + if(ncontest.eq.6) llrd(1:29)=apmag*mcq(1:29) apmask(75:77)=1 llrd(75:76)=apmag*(-1) llrd(77)=apmag*(+1) From d08ee43fc61c2bb8a919a4ad2c9a64f26e09b6fc Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 30 Nov 2018 15:52:11 -0500 Subject: [PATCH 21/62] Set m_mode_Tx="JT9" when mode is switched to JT9. --- widgets/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index af8fca7d5..97e025931 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -5638,7 +5638,7 @@ void MainWindow::on_actionJT9_triggered() m_bFastMode=m_bFast9; WSPR_config(false); switch_mode (Modes::JT9); - if(m_modeTx!="JT9") on_pbTxMode_clicked(); + m_modeTx="JT9"; m_nsps=6912; m_FFTSize = m_nsps / 2; Q_EMIT FFTSize (m_FFTSize); From cb782c3d1940e3c47c829d301db3929acdbbf80d Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Fri, 30 Nov 2018 21:50:44 +0000 Subject: [PATCH 22/62] Fix invalid member function pointer reference --- logbook/WorkedBefore.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/logbook/WorkedBefore.cpp b/logbook/WorkedBefore.cpp index ee934a5ff..160e1fa8e 100644 --- a/logbook/WorkedBefore.cpp +++ b/logbook/WorkedBefore.cpp @@ -379,7 +379,7 @@ public: WorkedBefore::WorkedBefore () { - connect (&m_->loader_watcher_, QFutureWatcher::finished, [this] () { + connect (&m_->loader_watcher_, &QFutureWatcher::finished, [this] () { QString error; size_t n {0}; try From 42d68ff84e3ecca79d7b66d3fda044f638250a8a Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Sat, 1 Dec 2018 09:17:58 -0600 Subject: [PATCH 23/62] Add frequency drift (Hz/min) option to jt65sim. --- lib/jt65sim.f90 | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/jt65sim.f90 b/lib/jt65sim.f90 index 0e57962ce..6f7030cf4 100644 --- a/lib/jt65sim.f90 +++ b/lib/jt65sim.f90 @@ -21,12 +21,13 @@ program jt65sim character msg*22,fname*11,csubmode*1,c,optarg*500,numbuf*32 ! character call1*5,call2*5 logical :: display_help=.false.,seed_prngs=.true. - type (option) :: long_options(12) = [ & + type (option) :: long_options(13) = [ & option ('help',.false.,'h','Display this help message',''), & option ('sub-mode',.true.,'m','sub mode, default MODE=A','MODE'), & option ('num-sigs',.true.,'n','number of signals per file, default SIGNALS=10','SIGNALS'), & option ('f0',.true.,'F','base frequency offset, default F0=1500.0','F0'), & option ('doppler-spread',.true.,'d','Doppler spread, default SPREAD=0.0','SPREAD'), & + option ('drift per min',.true.,'D','Frequency drift (Hz/min), default DRIFT=0.0','DRIFT'), & option ('time-offset',.true.,'t','Time delta, default SECONDS=0.0','SECONDS'), & option ('num-files',.true.,'f','Number of files to generate, default FILES=1','FILES'), & option ('no-prng-seed',.false.,'p','Do not seed PRNGs (use for reproducible tests)',''), & @@ -50,6 +51,7 @@ program jt65sim nsigs=10 bf0=1500. fspread=0. + drift=0. xdt=0. snrdb=0. nfiles=1 @@ -58,7 +60,7 @@ program jt65sim msg="K1ABC W9XYZ EN37" do - call getopt('hm:n:F:d:t:f:ps:SG:M:',long_options,c,optarg,narglen,nstat,noffset,nremain,.true.) + call getopt('hm:n:F:d:D:t:f:ps:SG:M:',long_options,c,optarg,narglen,nstat,noffset,nremain,.true.) if( nstat .ne. 0 ) then exit end if @@ -76,6 +78,8 @@ program jt65sim read (optarg(:narglen), *,err=10) bf0 case ('d') read (optarg(:narglen), *,err=10) fspread + case ('D') + read (optarg(:narglen), *,err=10) drift case ('t') read (optarg(:narglen), *) numbuf if (numbuf(1:1) == '\') then !'\' @@ -217,11 +221,8 @@ program jt65sim do i=1,npts !Add this signal into cdat() isym=floor(i/sps)+1 if(isym.gt.nsym) exit - if(isym.ne.isym0) then - freq=f0 + itone(isym)*baud*mode65 - dphi=twopi*freq*dt - isym0=isym - endif + freq=f0 + (drift/60.0)*(i-npts/2)*dt + itone(isym)*baud*mode65 + dphi=twopi*freq*dt phi=phi + dphi if(phi.gt.twopi) phi=phi-twopi xphi=phi From 94bbe52c73c3d9ab40b988690e54f90881520786 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sat, 1 Dec 2018 13:16:57 -0500 Subject: [PATCH 24/62] Fixes several QDateTime time spec issues that effected contest logs and Cabrillo exports --- item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp | 10 ++++++++-- models/CabrilloLog.cpp | 1 - widgets/logqso.cpp | 1 - widgets/logqso.ui | 6 ++++++ widgets/mainwindow.cpp | 10 +++++----- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp b/item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp index 5b7f76eb8..fde7b8c13 100644 --- a/item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp +++ b/item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp @@ -1,8 +1,10 @@ #ifndef DATE_TIME_AS_SECS_SINCE_EPOCH_DELEGATE_HPP_ #define DATE_TIME_AS_SECS_SINCE_EPOCH_DELEGATE_HPP_ +#include #include #include +#include #include #include #include @@ -33,12 +35,16 @@ public: QString displayText (QVariant const& value, QLocale const& locale) const override { - return locale.toString (to_date_time (value), QLocale::ShortFormat); + return locale.toString (to_date_time (value), locale.dateFormat (QLocale::ShortFormat) + " hh:mm:ss"); } QWidget * createEditor (QWidget * parent, QStyleOptionViewItem const& /*option*/, QModelIndex const& /*index*/) const override { - return new QDateTimeEdit {parent}; + std::unique_ptr editor {new QDateTimeEdit {parent}}; + editor->setTimeSpec (Qt::UTC); // needed because it ignores time + // spec of the QDateTime that it is + // set from + return editor.release (); } void setEditorData (QWidget * editor, QModelIndex const& index) const override diff --git a/models/CabrilloLog.cpp b/models/CabrilloLog.cpp index 965d6f957..95aba4378 100644 --- a/models/CabrilloLog.cpp +++ b/models/CabrilloLog.cpp @@ -10,7 +10,6 @@ #include #include #include -#include #include "Configuration.hpp" #include "Bands.hpp" #include "qt_db_helpers.hpp" diff --git a/widgets/logqso.cpp b/widgets/logqso.cpp index e5b8a2e56..64f589d20 100644 --- a/widgets/logqso.cpp +++ b/widgets/logqso.cpp @@ -4,7 +4,6 @@ #include #include #include -#include #include "logbook/logbook.h" #include "MessageBox.hpp" diff --git a/widgets/logqso.ui b/widgets/logqso.ui index 75ca35db3..a03a3028a 100644 --- a/widgets/logqso.ui +++ b/widgets/logqso.ui @@ -81,6 +81,9 @@ dd/MM/yyyy HH:mm:ss + + Qt::UTC + @@ -113,6 +116,9 @@ dd/MM/yyyy HH:mm:ss + + Qt::UTC + diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 97e025931..8faf33fbd 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -188,7 +188,7 @@ namespace int ms_minute_error () { - auto const& now = QDateTime::currentDateTime (); + auto const& now = QDateTime::currentDateTimeUtc (); auto const& time = now.time (); auto second = time.second (); return now.msecsTo (now.addSecs (second > 30 ? 60 - second : -second)) - time.msec (); @@ -1508,7 +1508,7 @@ QString MainWindow::save_wave_file (QString const& name, short const * data, int BWFFile::InfoDictionary list_info { {{{'I','S','R','C'}}, source.toLocal8Bit ()}, {{{'I','S','F','T'}}, program_title (revision ()).simplified ().toLocal8Bit ()}, - {{{'I','C','R','D'}}, QDateTime::currentDateTime () + {{{'I','C','R','D'}}, QDateTime::currentDateTimeUtc () .toString ("yyyy-MM-ddTHH:mm:ss.zzzZ").toLocal8Bit ()}, {{{'I','C','M','T'}}, comment.toLocal8Bit ()}, }; @@ -2712,7 +2712,7 @@ void MainWindow::msgAvgDecode2() void MainWindow::decode() //decode() { - QDateTime now = QDateTime::currentDateTime(); + QDateTime now = QDateTime::currentDateTimeUtc (); if( m_dateTimeLastTX.isValid () ) { qint64 isecs_since_tx = m_dateTimeLastTX.secsTo(now); dec_data.params.lapcqonly= (isecs_since_tx > 600); @@ -3266,7 +3266,7 @@ void MainWindow::pskPost (DecodedText const& decodedtext) if(grid.contains (grid_regexp)) { // qDebug() << "To PSKreporter:" << deCall << grid << frequency << msgmode << snr; psk_Reporter->addRemoteStation(deCall,grid,QString::number(frequency),msgmode, - QString::number(snr),QString::number(QDateTime::currentDateTime().toTime_t())); + QString::number(snr),QString::number(QDateTime::currentDateTimeUtc ().toTime_t())); } } @@ -3399,7 +3399,7 @@ void MainWindow::guiUpdate() if(m_tune) m_bTxTime=true; //"Tune" takes precedence if(m_transmitting or m_auto or m_tune) { - m_dateTimeLastTX = QDateTime::currentDateTime (); + m_dateTimeLastTX = QDateTime::currentDateTimeUtc (); // Check for "txboth" (testing purposes only) QFile f(m_appDir + "/txboth"); From dac6a2cc260229ecc6395d5fd348645b8ab82266 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sun, 2 Dec 2018 00:51:41 +0000 Subject: [PATCH 25/62] More relaxed validation for FD exchange and fix up to uppercase --- Configuration.cpp | 25 +++- Configuration.ui | 291 ++++++++++++++++++++++------------------------ 2 files changed, 161 insertions(+), 155 deletions(-) diff --git a/Configuration.cpp b/Configuration.cpp index 244d885a2..c0c9a982f 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -210,6 +210,7 @@ namespace |DX # anyone else ) )", QRegularExpression::CaseInsensitiveOption | QRegularExpression::ExtendedPatternSyntaxOption}; + QRegularExpression field_day_exchange_re { R"( ( @@ -217,7 +218,7 @@ namespace |[0-2]\d |3[0-2] ) - [A-F]\ # class and space + [A-F]\ * # class and optional space ( AB|AK|AL|AR|AZ|BC|CO|CT|DE|EB # ARRL/RAC section |EMA|ENY|EPA|EWA|GA|GTA|IA|ID @@ -488,6 +489,8 @@ private: Q_SLOT void on_cbx4ToneSpacing_clicked(bool); Q_SLOT void on_prompt_to_log_check_box_clicked(bool); Q_SLOT void on_cbAutoLog_clicked(bool); + Q_SLOT void on_Field_Day_Exchange_textEdited (QString const&); + Q_SLOT void on_RTTY_Exchange_textEdited (QString const&); // typenames used as arguments must match registered type names :( Q_SIGNAL void start_transceiver (unsigned seqeunce_number) const; @@ -1011,8 +1014,8 @@ Configuration::impl::impl (Configuration * self, QNetworkAccessManager * network ui_->callsign_line_edit->setValidator (new CallsignValidator {this}); ui_->grid_line_edit->setValidator (new MaidenheadLocatorValidator {this}); ui_->add_macro_line_edit->setValidator (new QRegularExpressionValidator {message_alphabet, this}); - ui_->Field_Day_Exchange->setValidator(new QRegularExpressionValidator {field_day_exchange_re}); - ui_->RTTY_Exchange->setValidator(new QRegularExpressionValidator {RTTY_roundup_exchange_re}); + ui_->Field_Day_Exchange->setValidator (new QRegularExpressionValidator {field_day_exchange_re, this}); + ui_->RTTY_Exchange->setValidator (new QRegularExpressionValidator {RTTY_roundup_exchange_re, this}); ui_->udp_server_port_spin_box->setMinimum (1); ui_->udp_server_port_spin_box->setMaximum (std::numeric_limits::max ()); @@ -2507,6 +2510,22 @@ void Configuration::impl::on_cbx4ToneSpacing_clicked(bool b) if(b) ui_->cbx2ToneSpacing->setChecked(false); } +void Configuration::impl::on_Field_Day_Exchange_textEdited (QString const& exchange) +{ + auto text = exchange.simplified ().toUpper (); + auto class_pos = text.indexOf (QRegularExpression {R"([A-H])"}); + if (class_pos >= 0 && text.size () >= class_pos + 2 && text.at (class_pos + 1) != QChar {' '}) + { + text.insert (class_pos + 1, QChar {' '}); + } + ui_->Field_Day_Exchange->setText (text); +} + +void Configuration::impl::on_RTTY_Exchange_textEdited (QString const& exchange) +{ + ui_->RTTY_Exchange->setText (exchange.toUpper ()); +} + bool Configuration::impl::have_rig () { if (!open_rig ()) diff --git a/Configuration.ui b/Configuration.ui index f52eeb2be..4ec35f7ef 100644 --- a/Configuration.ui +++ b/Configuration.ui @@ -2456,7 +2456,140 @@ Right click for insert and delete options. false - + + + + + <html><head/><body><p>FT8 DXpedition mode: Hound operator calling the DX.</p></body></html> + + + Hound + + + true + + + special_op_activity_button_group + + + + + + + + 0 + 0 + + + + <html><head/><body><p>North American VHF/UHF/Microwave contests and others in which a 4-character grid locator is the required exchange.</p></body></html> + + + NA VHF Contest + + + special_op_activity_button_group + + + + + + + <html><head/><body><p>FT8 DXpedition mode: Fox (DXpedition) operator.</p></body></html> + + + Fox + + + false + + + special_op_activity_button_group + + + + + + + + 0 + 0 + + + + <html><head/><body><p>European VHF+ contests requiring a signal report, serial number, and 6-character locator.</p></body></html> + + + EU VHF Contest + + + special_op_activity_button_group + + + + + + + + + <html><head/><body><p>ARRL RTTY Roundup and similar contests. Exchange is US state, Canadian province, or &quot;DX&quot;.</p></body></html> + + + ARRL RTTY Roundup + + + special_op_activity_button_group + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + RTTY RU Exch: + + + RTTY_Exchange + + + + + + + + 70 + 0 + + + + <html><head/><body><p>ARRL RTTY Roundup and similar contests. Exchange is US state, Canadian province, or &quot;DX&quot;.</p></body></html> + + + NJ + + + Qt::AlignCenter + + + + + + + @@ -2503,7 +2636,7 @@ Right click for insert and delete options. - Exch: + FD Exch: Field_Day_Exchange @@ -2533,152 +2666,6 @@ Right click for insert and delete options. - - - - - - <html><head/><body><p>ARRL RTTY Roundup and similar contests. Exchange is US state, Canadian province, or &quot;DX&quot;.</p></body></html> - - - ARRL RTTY Roundup - - - special_op_activity_button_group - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Exch: - - - RTTY_Exchange - - - - - - - - 70 - 0 - - - - <html><head/><body><p>ARRL RTTY Roundup and similar contests. Exchange is US state, Canadian province, or &quot;DX&quot;.</p></body></html> - - - NJ - - - Qt::AlignCenter - - - - - - - - - - - <html><head/><body><p>FT8 DXpedition mode: Fox (DXpedition) operator.</p></body></html> - - - Fox - - - false - - - special_op_activity_button_group - - - - - - - - 0 - 0 - - - - <html><head/><body><p>European VHF+ contests requiring a signal report, serial number, and 6-character locator.</p></body></html> - - - EU VHF Contest - - - special_op_activity_button_group - - - - - - - - 0 - 0 - - - - <html><head/><body><p>North American VHF/UHF/Microwave contests and others in which a 4-character grid locator is the required exchange.</p></body></html> - - - NA VHF Contest - - - special_op_activity_button_group - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - <html><head/><body><p>FT8 DXpedition mode: Hound operator calling the DX.</p></body></html> - - - Hound - - - true - - - special_op_activity_button_group - - - @@ -3031,13 +3018,13 @@ Right click for insert and delete options. - - - + - + + + From d5c59e51c108af544dc60f35e134eb602e55d7a3 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sun, 2 Dec 2018 02:30:32 +0000 Subject: [PATCH 26/62] Ensure that pending log table edits do not lock out adding new QSOs Pending edits are now discarded when adding a new log contest or Fox log record. Also switch to commit on fields change edit strategy so there should be no pending edits now anyway. --- models/CabrilloLog.cpp | 8 ++++++-- models/FoxLog.cpp | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/models/CabrilloLog.cpp b/models/CabrilloLog.cpp index 95aba4378..d558e66e0 100644 --- a/models/CabrilloLog.cpp +++ b/models/CabrilloLog.cpp @@ -51,7 +51,7 @@ CabrilloLog::impl::impl (Configuration const * configuration) SQL_error_check (export_query_, &QSqlQuery::prepare, "SELECT frequency, \"when\", exchange_sent, call, exchange_rcvd FROM cabrillo_log ORDER BY \"when\""); - setEditStrategy (QSqlTableModel::OnRowChange); + setEditStrategy (QSqlTableModel::OnFieldChange); setTable ("cabrillo_log"); setHeaderData (fieldIndex ("frequency"), Qt::Horizontal, tr ("Freq(kHz)")); setHeaderData (fieldIndex ("when"), Qt::Horizontal, tr ("Date & Time(UTC)")); @@ -109,6 +109,10 @@ bool CabrilloLog::add_QSO (Frequency frequency, QDateTime const& when, QString c set_value_maybe_null (record, "exchange_sent", exchange_sent); set_value_maybe_null (record, "exchange_rcvd", exchange_received); set_value_maybe_null (record, "band", m_->configuration_->bands ()->find (frequency)); + if (m_->isDirty ()) + { + m_->revert (); // discard any uncommitted changes + } auto ok = m_->insertRecord (-1, record); if (ok) { @@ -135,7 +139,7 @@ void CabrilloLog::reset () SQL_error_check (*m_, &QSqlTableModel::removeRows, 0, m_->rowCount (), QModelIndex {}); transaction.submit (); m_->select (); // to refresh views - m_->setEditStrategy (QSqlTableModel::OnRowChange); + m_->setEditStrategy (QSqlTableModel::OnFieldChange); } } diff --git a/models/FoxLog.cpp b/models/FoxLog.cpp index 1503e5662..691647fdc 100644 --- a/models/FoxLog.cpp +++ b/models/FoxLog.cpp @@ -43,7 +43,7 @@ FoxLog::impl::impl () SQL_error_check (dupe_query_, &QSqlQuery::prepare, "SELECT COUNT(*) FROM fox_log WHERE call = :call AND band = :band"); - setEditStrategy (QSqlTableModel::OnRowChange); + setEditStrategy (QSqlTableModel::OnFieldChange); setTable ("fox_log"); setHeaderData (fieldIndex ("when"), Qt::Horizontal, tr ("Date & Time(UTC)")); setHeaderData (fieldIndex ("call"), Qt::Horizontal, tr ("Call")); @@ -100,6 +100,10 @@ bool FoxLog::add_QSO (QDateTime const& when, QString const& call, QString const& set_value_maybe_null (record, "report_sent", report_sent); set_value_maybe_null (record, "report_rcvd", report_received); set_value_maybe_null (record, "band", band); + if (m_->isDirty ()) + { + m_->revert (); // discard any uncommitted changes + } auto ok = m_->insertRecord (-1, record); if (ok) { @@ -126,6 +130,6 @@ void FoxLog::reset () SQL_error_check (*m_, &QSqlTableModel::removeRows, 0, m_->rowCount (), QModelIndex {}); transaction.submit (); m_->select (); // to refresh views - m_->setEditStrategy (QSqlTableModel::OnRowChange); + m_->setEditStrategy (QSqlTableModel::OnFieldChange); } } From fdb59cf6e9ec44f6489829f04d48d226443d4849 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sun, 2 Dec 2018 03:37:56 +0000 Subject: [PATCH 27/62] Fix a cardinality issue in the contest and Fox log windows for the Band column Foreign key relationship with the Bands model should have been many-to-many instead of one-to-many. --- widgets/CabrilloLogWindow.cpp | 2 +- widgets/FoxLogWindow.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/widgets/CabrilloLogWindow.cpp b/widgets/CabrilloLogWindow.cpp index 20f39e4e6..4bf70f805 100644 --- a/widgets/CabrilloLogWindow.cpp +++ b/widgets/CabrilloLogWindow.cpp @@ -66,7 +66,7 @@ CabrilloLogWindow::CabrilloLogWindow (QSettings * settings, Configuration const set_log_view (m_->ui_.log_table_view); m_->ui_.log_table_view->setItemDelegateForColumn (2, new DateTimeAsSecsSinceEpochDelegate {this}); m_->ui_.log_table_view->setItemDelegateForColumn (3, new CallsignDelegate {this}); - m_->ui_.log_table_view->setItemDelegateForColumn (6, new ForeignKeyDelegate {configuration->bands (), m_->log_model_, 0, 6, this}); + m_->ui_.log_table_view->setItemDelegateForColumn (6, new ForeignKeyDelegate {configuration->bands (), 0, this}); m_->ui_.log_table_view->horizontalHeader ()->moveSection (6, 1); // band to first column } diff --git a/widgets/FoxLogWindow.cpp b/widgets/FoxLogWindow.cpp index 0f96529aa..4b8fbc253 100644 --- a/widgets/FoxLogWindow.cpp +++ b/widgets/FoxLogWindow.cpp @@ -43,7 +43,7 @@ FoxLogWindow::FoxLogWindow (QSettings * settings, Configuration const * configur m_->ui_.log_table_view->setItemDelegateForColumn (1, new DateTimeAsSecsSinceEpochDelegate {this}); m_->ui_.log_table_view->setItemDelegateForColumn (2, new CallsignDelegate {this}); m_->ui_.log_table_view->setItemDelegateForColumn (3, new MaidenheadLocatorDelegate {this}); - m_->ui_.log_table_view->setItemDelegateForColumn (6, new ForeignKeyDelegate {configuration->bands (), m_->log_model_, 0, 6, this}); + m_->ui_.log_table_view->setItemDelegateForColumn (6, new ForeignKeyDelegate {configuration->bands (), 0, this}); m_->ui_.log_table_view->horizontalHeader ()->moveSection (6, 1); // move band to first column m_->ui_.rate_label->setNum (0); m_->ui_.queued_label->setNum (0); From 59fc83455d2c039d97ae1eb9992e6d7140d5b08a Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sun, 2 Dec 2018 10:09:37 -0500 Subject: [PATCH 28/62] Add contest exchange send and received fields to UDP logged QSO message Updated message_aggregator and udp_daemon reference applications to exercise this change. --- MessageClient.cpp | 6 ++- MessageClient.hpp | 3 +- MessageServer.cpp | 8 +++- MessageServer.hpp | 3 +- NetworkMessage.hpp | 2 + UDPExamples/BeaconsModel.cpp | 2 +- UDPExamples/DecodesModel.cpp | 2 +- UDPExamples/MessageAggregatorMainWindow.cpp | 9 +++- UDPExamples/MessageAggregatorMainWindow.hpp | 3 +- UDPExamples/UDPDaemon.cpp | 6 ++- widgets/logqso.cpp | 51 ++++++++++----------- widgets/logqso.h | 4 +- widgets/mainwindow.cpp | 7 ++- widgets/mainwindow.h | 4 +- 14 files changed, 67 insertions(+), 43 deletions(-) diff --git a/MessageClient.cpp b/MessageClient.cpp index 80ceb04e6..853c917a7 100644 --- a/MessageClient.cpp +++ b/MessageClient.cpp @@ -462,7 +462,8 @@ void MessageClient::qso_logged (QDateTime time_off, QString const& dx_call, QStr , QString const& report_received, QString const& tx_power , QString const& comments, QString const& name, QDateTime time_on , QString const& operator_call, QString const& my_call - , QString const& my_grid) + , QString const& my_grid, QString const& exchange_sent + , QString const& exchange_rcvd) { if (m_->server_port_ && !m_->server_string_.isEmpty ()) { @@ -470,7 +471,8 @@ void MessageClient::qso_logged (QDateTime time_off, QString const& dx_call, QStr NetworkMessage::Builder out {&message, NetworkMessage::QSOLogged, m_->id_, m_->schema_}; out << time_off << dx_call.toUtf8 () << dx_grid.toUtf8 () << dial_frequency << mode.toUtf8 () << report_sent.toUtf8 () << report_received.toUtf8 () << tx_power.toUtf8 () << comments.toUtf8 () - << name.toUtf8 () << time_on << operator_call.toUtf8 () << my_call.toUtf8 () << my_grid.toUtf8 (); + << name.toUtf8 () << time_on << operator_call.toUtf8 () << my_call.toUtf8 () << my_grid.toUtf8 () + << exchange_sent.toUtf8 () << exchange_rcvd.toUtf8 (); m_->send_message (out, message); } } diff --git a/MessageClient.hpp b/MessageClient.hpp index e1208f9c8..ec36a3357 100644 --- a/MessageClient.hpp +++ b/MessageClient.hpp @@ -64,7 +64,8 @@ public: , Frequency dial_frequency, QString const& mode, QString const& report_sent , QString const& report_received, QString const& tx_power, QString const& comments , QString const& name, QDateTime time_on, QString const& operator_call - , QString const& my_call, QString const& my_grid); + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd); // ADIF_record argument should be valid ADIF excluding any end // of record marker diff --git a/MessageServer.cpp b/MessageServer.cpp index b5a719e74..65394358f 100644 --- a/MessageServer.cpp +++ b/MessageServer.cpp @@ -294,8 +294,11 @@ void MessageServer::impl::parse_message (QHostAddress const& sender, port_type s QByteArray operator_call; QByteArray my_call; QByteArray my_grid; + QByteArray exchange_sent; + QByteArray exchange_rcvd; in >> time_off >> dx_call >> dx_grid >> dial_frequency >> mode >> report_sent >> report_received - >> tx_power >> comments >> name >> time_on >> operator_call >> my_call >> my_grid; + >> tx_power >> comments >> name >> time_on >> operator_call >> my_call >> my_grid + >> exchange_sent >> exchange_rcvd; if (check_status (in) != Fail) { Q_EMIT self_->qso_logged (id, time_off, QString::fromUtf8 (dx_call), QString::fromUtf8 (dx_grid) @@ -303,7 +306,8 @@ void MessageServer::impl::parse_message (QHostAddress const& sender, port_type s , QString::fromUtf8 (report_received), QString::fromUtf8 (tx_power) , QString::fromUtf8 (comments), QString::fromUtf8 (name), time_on , QString::fromUtf8 (operator_call), QString::fromUtf8 (my_call) - , QString::fromUtf8 (my_grid)); + , QString::fromUtf8 (my_grid), QString::fromUtf8 (exchange_sent) + , QString::fromUtf8 (exchange_rcvd)); } } break; diff --git a/MessageServer.hpp b/MessageServer.hpp index bb7501529..f308f7332 100644 --- a/MessageServer.hpp +++ b/MessageServer.hpp @@ -88,7 +88,8 @@ public: , Frequency dial_frequency, QString const& mode, QString const& report_sent , QString const& report_received, QString const& tx_power, QString const& comments , QString const& name, QDateTime time_on, QString const& operator_call - , QString const& my_call, QString const& my_grid); + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd); Q_SIGNAL void clear_decodes (QString const& id); Q_SIGNAL void logged_ADIF (QString const& id, QByteArray const& ADIF); diff --git a/NetworkMessage.hpp b/NetworkMessage.hpp index ffd0ff288..e5a3f5c08 100644 --- a/NetworkMessage.hpp +++ b/NetworkMessage.hpp @@ -240,6 +240,8 @@ * Operator call utf8 * My call utf8 * My grid utf8 + * Exchange sent utf8 + * Exchange received utf8 * * The QSO logged message is sent to the server(s) when the * WSJT-X user accepts the "Log QSO" dialog by clicking the "OK" diff --git a/UDPExamples/BeaconsModel.cpp b/UDPExamples/BeaconsModel.cpp index 1302dc05e..8955ea26a 100644 --- a/UDPExamples/BeaconsModel.cpp +++ b/UDPExamples/BeaconsModel.cpp @@ -72,7 +72,7 @@ namespace } BeaconsModel::BeaconsModel (QObject * parent) - : QStandardItemModel {0, sizeof (headings) / sizeof (headings[0]), parent} + : QStandardItemModel {0, sizeof headings / sizeof headings[0], parent} { int column {0}; for (auto const& heading : headings) diff --git a/UDPExamples/DecodesModel.cpp b/UDPExamples/DecodesModel.cpp index 5847e49ff..88b071c11 100644 --- a/UDPExamples/DecodesModel.cpp +++ b/UDPExamples/DecodesModel.cpp @@ -75,7 +75,7 @@ namespace } DecodesModel::DecodesModel (QObject * parent) - : QStandardItemModel {0, sizeof (headings) / sizeof (headings[0]), parent} + : QStandardItemModel {0, sizeof headings / sizeof headings[0], parent} { int column {0}; for (auto const& heading : headings) diff --git a/UDPExamples/MessageAggregatorMainWindow.cpp b/UDPExamples/MessageAggregatorMainWindow.cpp index 1d1dce5d6..0c2c51c30 100644 --- a/UDPExamples/MessageAggregatorMainWindow.cpp +++ b/UDPExamples/MessageAggregatorMainWindow.cpp @@ -25,12 +25,14 @@ namespace QT_TRANSLATE_NOOP ("MessageAggregatorMainWindow", "Operator"), QT_TRANSLATE_NOOP ("MessageAggregatorMainWindow", "My Call"), QT_TRANSLATE_NOOP ("MessageAggregatorMainWindow", "My Grid"), + QT_TRANSLATE_NOOP ("MessageAggregatorMainWindow", "Exchange Sent"), + QT_TRANSLATE_NOOP ("MessageAggregatorMainWindow", "Exchange Rcvd"), QT_TRANSLATE_NOOP ("MessageAggregatorMainWindow", "Comments"), }; } MessageAggregatorMainWindow::MessageAggregatorMainWindow () - : log_ {new QStandardItemModel {0, 14, this}} + : log_ {new QStandardItemModel {0, sizeof headings / sizeof headings[0], this}} , decodes_model_ {new DecodesModel {this}} , beacons_model_ {new BeaconsModel {this}} , server_ {new MessageServer {this}} @@ -209,7 +211,8 @@ void MessageAggregatorMainWindow::log_qso (QString const& /*id*/, QDateTime time , QString const& report_sent, QString const& report_received , QString const& tx_power, QString const& comments , QString const& name, QDateTime time_on, QString const& operator_call - , QString const& my_call, QString const& my_grid) + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd) { QList row; row << new QStandardItem {time_on.toString ("dd-MMM-yyyy hh:mm:ss")} @@ -225,6 +228,8 @@ void MessageAggregatorMainWindow::log_qso (QString const& /*id*/, QDateTime time << new QStandardItem {operator_call} << new QStandardItem {my_call} << new QStandardItem {my_grid} + << new QStandardItem {exchange_sent} + << new QStandardItem {exchange_rcvd} << new QStandardItem {comments}; log_->appendRow (row); log_table_view_->resizeColumnsToContents (); diff --git a/UDPExamples/MessageAggregatorMainWindow.hpp b/UDPExamples/MessageAggregatorMainWindow.hpp index b699bee93..29f762d3d 100644 --- a/UDPExamples/MessageAggregatorMainWindow.hpp +++ b/UDPExamples/MessageAggregatorMainWindow.hpp @@ -32,7 +32,8 @@ public: , Frequency dial_frequency, QString const& mode, QString const& report_sent , QString const& report_received, QString const& tx_power, QString const& comments , QString const& name, QDateTime time_on, QString const& operator_call - , QString const& my_call, QString const& my_grid); + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd); private: void add_client (QString const& id, QString const& version, QString const& revision); diff --git a/UDPExamples/UDPDaemon.cpp b/UDPExamples/UDPDaemon.cpp index b75a8adec..c075cfe83 100644 --- a/UDPExamples/UDPDaemon.cpp +++ b/UDPExamples/UDPDaemon.cpp @@ -99,7 +99,8 @@ public: , Frequency dial_frequency, QString const& mode, QString const& report_sent , QString const& report_received, QString const& tx_power , QString const& comments, QString const& name, QDateTime time_on - , QString const& operator_call, QString const& my_call, QString const& my_grid) + , QString const& operator_call, QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd) { if (client_id == id_) { @@ -107,7 +108,8 @@ public: << "freq:" << dial_frequency << "mode:" << mode << "rpt_sent:" << report_sent << "rpt_rcvd:" << report_received << "Tx_pwr:" << tx_power << "comments:" << comments << "name:" << name << "operator_call:" << operator_call << "my_call:" << my_call - << "my_grid:" << my_grid; + << "my_grid:" << my_grid << "exchange_sent:" << exchange_sent + << "exchange_rcvd:" << exchange_rcvd; std::cout << QByteArray {80, '-'}.data () << '\n'; std::cout << tr ("%1: Logged %2 grid: %3 power: %4 sent: %5 recd: %6 freq: %7 time_off: %8 op: %9 my_call: %10 my_grid: %11") .arg (id_).arg (dx_call).arg (dx_grid).arg (tx_power).arg (report_sent).arg (report_received) diff --git a/widgets/logqso.cpp b/widgets/logqso.cpp index 64f589d20..da8d00819 100644 --- a/widgets/logqso.cpp +++ b/widgets/logqso.cpp @@ -69,7 +69,7 @@ void LogQSO::initLogQSO(QString const& hisCall, QString const& hisGrid, QString if (ui->cbTxPower->isChecked ()) ui->txPower->setText(m_txPower); if (ui->cbComments->isChecked ()) ui->comments->setText(m_comments); if (m_config->report_in_comments()) { - QString t=mode; + auto t=mode; if(rptSent!="") t+=" Sent: " + rptSent; if(rptRcvd!="") t+=" Rcvd: " + rptRcvd; ui->comments->setText(t); @@ -107,30 +107,28 @@ void LogQSO::initLogQSO(QString const& hisCall, QString const& hisGrid, QString void LogQSO::accept() { - QString hisCall,hisGrid,mode,rptSent,rptRcvd,dateOn,dateOff,timeOn,timeOff,band,operator_call; - QString comments,name; - - hisCall=ui->call->text(); - hisGrid=ui->grid->text(); - mode=ui->mode->text(); - rptSent=ui->sent->text(); - rptRcvd=ui->rcvd->text(); - m_dateTimeOn = ui->start_date_time->dateTime (); - m_dateTimeOff = ui->end_date_time->dateTime (); - band=ui->band->text(); - name=ui->name->text(); - m_txPower=ui->txPower->text(); - comments=ui->comments->text(); - m_comments=comments; - QString strDialFreq(QString::number(m_dialFreq / 1.e6,'f',6)); - operator_call = ui->loggedOperator->text(); + auto hisCall = ui->call->text (); + auto hisGrid = ui->grid->text (); + auto mode = ui->mode->text (); + auto rptSent = ui->sent->text (); + auto rptRcvd = ui->rcvd->text (); + auto m_dateTimeOn = ui->start_date_time->dateTime (); + auto m_dateTimeOff = ui->end_date_time->dateTime (); + auto band = ui->band->text (); + auto name = ui->name->text (); + auto m_txPower = ui->txPower->text (); + auto m_comments = ui->comments->text (); + auto strDialFreq = QString::number (m_dialFreq / 1.e6,'f',6); + auto operator_call = ui->loggedOperator->text (); + auto xsent = ui->exchSent->text (); + auto xrcvd = ui->exchRcvd->text (); // validate using SpOp = Configuration::SpecialOperatingActivity; auto special_op = m_config->special_op_id (); if (SpOp::NONE < special_op && special_op < SpOp::FOX) { - if (ui->exchSent->text ().isEmpty () || ui->exchRcvd->text ().isEmpty ()) + if (xsent.isEmpty () || xrcvd.isEmpty ()) { show (); MessageBox::warning_message (this, tr ("Invalid QSO Data"), @@ -138,8 +136,7 @@ void LogQSO::accept() return; // without accepting } - if (!m_cabrilloLog->add_QSO (m_dialFreq, m_dateTimeOff, hisCall, - ui->exchSent->text (), ui->exchRcvd->text ())) + if (!m_cabrilloLog->add_QSO (m_dialFreq, m_dateTimeOff, hisCall, xsent, xrcvd)) { show (); MessageBox::warning_message (this, tr ("Invalid QSO Data"), @@ -161,7 +158,7 @@ void LogQSO::accept() m_dateTimeOff.time().toString("hh:mm:ss,") + hisCall + "," + hisGrid + "," + strDialFreq + "," + mode + "," + rptSent + "," + rptRcvd + "," + m_txPower + - "," + comments + "," + name; + "," + m_comments + "," + name; QTextStream out(&f); out << logEntry << endl; f.close(); @@ -176,12 +173,14 @@ void LogQSO::accept() , rptSent , rptRcvd , m_txPower - , comments + , m_comments , name , m_dateTimeOn , operator_call , m_myCall , m_myGrid + , xsent + , xrcvd , LogBook::QSOToADIF (hisCall , hisGrid , mode @@ -190,15 +189,15 @@ void LogQSO::accept() , m_dateTimeOn , m_dateTimeOff , band - , comments + , m_comments , name , strDialFreq , m_myCall , m_myGrid , m_txPower , operator_call - , ui->exchSent->text () - , ui->exchRcvd->text ())); + , xsent + , xrcvd)); QDialog::accept(); } diff --git a/widgets/logqso.h b/widgets/logqso.h index b0e703a93..346e3e5a2 100644 --- a/widgets/logqso.h +++ b/widgets/logqso.h @@ -40,7 +40,9 @@ signals: , QString const& rpt_sent, QString const& rpt_received , QString const& tx_power, QString const& comments , QString const& name, QDateTime const& QSO_date_on, QString const& operator_call - , QString const& my_call, QString const& my_grid, QByteArray const& ADIF); + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd + , QByteArray const& ADIF); protected: void hideEvent (QHideEvent *); diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 8faf33fbd..2393f01db 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -5376,7 +5376,9 @@ void MainWindow::acceptQSO (QDateTime const& QSO_date_off, QString const& call, , QString const& rpt_sent, QString const& rpt_received , QString const& tx_power, QString const& comments , QString const& name, QDateTime const& QSO_date_on, QString const& operator_call - , QString const& my_call, QString const& my_grid, QByteArray const& ADIF) + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd + , QByteArray const& ADIF) { QString date = QSO_date_on.toString("yyyyMMdd"); if (!m_logBook.add (m_hisCall, grid, m_config.bands()->find(m_freqNominal), m_modeTx, ADIF)) @@ -5386,7 +5388,8 @@ void MainWindow::acceptQSO (QDateTime const& QSO_date_off, QString const& call, } m_messageClient->qso_logged (QSO_date_off, call, grid, dial_freq, mode, rpt_sent, rpt_received - , tx_power, comments, name, QSO_date_on, operator_call, my_call, my_grid); + , tx_power, comments, name, QSO_date_on, operator_call, my_call, my_grid + , exchange_sent, exchange_rcvd); m_messageClient->logged_ADIF (ADIF); // Log to N1MM Logger diff --git a/widgets/mainwindow.h b/widgets/mainwindow.h index e8f593c3f..6a2527440 100644 --- a/widgets/mainwindow.h +++ b/widgets/mainwindow.h @@ -230,7 +230,9 @@ private slots: , QString const& rpt_sent, QString const& rpt_received , QString const& tx_power, QString const& comments , QString const& name, QDateTime const& QSO_date_on, QString const& operator_call - , QString const& my_call, QString const& my_grid, QByteArray const& ADIF); + , QString const& my_call, QString const& my_grid + , QString const& exchange_sent, QString const& exchange_rcvd + , QByteArray const& ADIF); void on_bandComboBox_currentIndexChanged (int index); void on_bandComboBox_activated (int index); void on_readFreq_clicked(); From 43edd81a8b4fa83d7dcdbd9947f0a39e2255a3ab Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sun, 2 Dec 2018 15:31:22 +0000 Subject: [PATCH 29/62] Include seconds in datebase field date/time item delegate editor --- item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp b/item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp index fde7b8c13..a666ed323 100644 --- a/item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp +++ b/item_delegates/DateTimeAsSecsSinceEpochDelegate.hpp @@ -41,6 +41,7 @@ public: QWidget * createEditor (QWidget * parent, QStyleOptionViewItem const& /*option*/, QModelIndex const& /*index*/) const override { std::unique_ptr editor {new QDateTimeEdit {parent}}; + editor->setDisplayFormat (parent->locale ().dateFormat (QLocale::ShortFormat) + " hh:mm:ss"); editor->setTimeSpec (Qt::UTC); // needed because it ignores time // spec of the QDateTime that it is // set from From 4360a5b6742ea99bcfff8d711d8309e682f4ed9d Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sun, 2 Dec 2018 16:07:46 +0000 Subject: [PATCH 30/62] Add tool tip for rescan ADIF log button Also removed the tool tip for the settings main tab widget as it is confusing when it gets inherited by children with no tool tip. --- Configuration.ui | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Configuration.ui b/Configuration.ui index 4ec35f7ef..6b04fd353 100644 --- a/Configuration.ui +++ b/Configuration.ui @@ -16,9 +16,6 @@ - - Select tab to change configuration parameters. - 0 @@ -2259,6 +2256,9 @@ Right click for insert and delete options. + + <html><head/><body><p>Click to scan the wsjtx_log.adi ADIF file again for worked before information</p></body></html> + Rescan ADIF Log From 025a0161f87527856e79192fc92515866b1c824c Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sun, 2 Dec 2018 23:19:08 +0000 Subject: [PATCH 31/62] Add special operation mode enumeration to UDP status message Also updated the message_aggregator UDP reference application to exercise this field. --- MessageClient.cpp | 4 ++-- MessageClient.hpp | 2 +- MessageServer.cpp | 6 ++++-- MessageServer.hpp | 3 ++- NetworkMessage.hpp | 15 ++++++++++++++- UDPExamples/ClientWidget.cpp | 20 +++++++++++++++++--- UDPExamples/ClientWidget.hpp | 3 ++- UDPExamples/UDPDaemon.cpp | 3 ++- widgets/mainwindow.cpp | 3 ++- 9 files changed, 46 insertions(+), 13 deletions(-) diff --git a/MessageClient.cpp b/MessageClient.cpp index 853c917a7..6ceca2dce 100644 --- a/MessageClient.cpp +++ b/MessageClient.cpp @@ -405,7 +405,7 @@ void MessageClient::status_update (Frequency f, QString const& mode, QString con , qint32 rx_df, qint32 tx_df, QString const& de_call , QString const& de_grid, QString const& dx_grid , bool watchdog_timeout, QString const& sub_mode - , bool fast_mode) + , bool fast_mode, quint8 special_op_mode) { if (m_->server_port_ && !m_->server_string_.isEmpty ()) { @@ -414,7 +414,7 @@ void MessageClient::status_update (Frequency f, QString const& mode, QString con out << f << mode.toUtf8 () << dx_call.toUtf8 () << report.toUtf8 () << tx_mode.toUtf8 () << tx_enabled << transmitting << decoding << rx_df << tx_df << de_call.toUtf8 () << de_grid.toUtf8 () << dx_grid.toUtf8 () << watchdog_timeout << sub_mode.toUtf8 () - << fast_mode; + << fast_mode << special_op_mode; m_->send_message (out, message); } } diff --git a/MessageClient.hpp b/MessageClient.hpp index ec36a3357..0deb1a49d 100644 --- a/MessageClient.hpp +++ b/MessageClient.hpp @@ -52,7 +52,7 @@ public: , QString const& tx_mode, bool tx_enabled, bool transmitting, bool decoding , qint32 rx_df, qint32 tx_df, QString const& de_call, QString const& de_grid , QString const& dx_grid, bool watchdog_timeout, QString const& sub_mode - , bool fast_mode); + , bool fast_mode, quint8 special_op_mode); Q_SLOT void decode (bool is_new, QTime time, qint32 snr, float delta_time, quint32 delta_frequency , QString const& mode, QString const& message, bool low_confidence , bool off_air); diff --git a/MessageServer.cpp b/MessageServer.cpp index 65394358f..609d24a9a 100644 --- a/MessageServer.cpp +++ b/MessageServer.cpp @@ -216,9 +216,10 @@ void MessageServer::impl::parse_message (QHostAddress const& sender, port_type s bool watchdog_timeout {false}; QByteArray sub_mode; bool fast_mode {false}; + quint8 special_op_mode {0}; in >> f >> mode >> dx_call >> report >> tx_mode >> tx_enabled >> transmitting >> decoding >> rx_df >> tx_df >> de_call >> de_grid >> dx_grid >> watchdog_timeout >> sub_mode - >> fast_mode; + >> fast_mode >> special_op_mode; if (check_status (in) != Fail) { Q_EMIT self_->status_update (id, f, QString::fromUtf8 (mode), QString::fromUtf8 (dx_call) @@ -226,7 +227,8 @@ void MessageServer::impl::parse_message (QHostAddress const& sender, port_type s , tx_enabled, transmitting, decoding, rx_df, tx_df , QString::fromUtf8 (de_call), QString::fromUtf8 (de_grid) , QString::fromUtf8 (dx_grid), watchdog_timeout - , QString::fromUtf8 (sub_mode), fast_mode); + , QString::fromUtf8 (sub_mode), fast_mode + , special_op_mode); } } break; diff --git a/MessageServer.hpp b/MessageServer.hpp index f308f7332..4a6022bfd 100644 --- a/MessageServer.hpp +++ b/MessageServer.hpp @@ -76,7 +76,8 @@ public: , QString const& report, QString const& tx_mode, bool tx_enabled , bool transmitting, bool decoding, qint32 rx_df, qint32 tx_df , QString const& de_call, QString const& de_grid, QString const& dx_grid - , bool watchdog_timeout, QString const& sub_mode, bool fast_mode); + , bool watchdog_timeout, QString const& sub_mode, bool fast_mode + , quint8 special_op_mode); Q_SIGNAL void client_closed (QString const& id); Q_SIGNAL void decode (bool is_new, QString const& id, QTime time, qint32 snr, float delta_time , quint32 delta_frequency, QString const& mode, QString const& message diff --git a/NetworkMessage.hpp b/NetworkMessage.hpp index e5a3f5c08..a4d9ba0d5 100644 --- a/NetworkMessage.hpp +++ b/NetworkMessage.hpp @@ -124,6 +124,7 @@ * Tx Watchdog bool * Sub-mode utf8 * Fast mode bool + * Special operation mode quint8 * * WSJT-X sends this status message when various internal state * changes to allow the server to track the relevant state of each @@ -142,10 +143,22 @@ * At the start and end of decoding, * When the Rx DF changes, * When the Tx DF changes, - * When the DE call or grid changes (currently when settings are exited), + * When settings are exited, * When the DX call or grid changes, * When the Tx watchdog is set or reset. * + * The Special operation mode is an enumeration that indicates the + * setting selected in the WSJT-X "Settings->Advanced->Special + * operating activity" panel. The values are as follows: + * + * 0 -> NONE + * 1 -> NA VHF + * 2 -> EU VHF + * 3 -> FIELD DAY + * 4 -> RTTY RU + * 5 -> FOX + * 6 -> HOUND + * * * Decode Out 2 quint32 * Id (unique key) utf8 diff --git a/UDPExamples/ClientWidget.cpp b/UDPExamples/ClientWidget.cpp index 10361d55d..7423f6d81 100644 --- a/UDPExamples/ClientWidget.cpp +++ b/UDPExamples/ClientWidget.cpp @@ -244,15 +244,29 @@ void ClientWidget::update_status (QString const& id, Frequency f, QString const& , QString const& report, QString const& tx_mode, bool tx_enabled , bool transmitting, bool decoding, qint32 rx_df, qint32 tx_df , QString const& de_call, QString const& de_grid, QString const& dx_grid - , bool watchdog_timeout, QString const& sub_mode, bool fast_mode) + , bool watchdog_timeout, QString const& sub_mode, bool fast_mode + , quint8 special_op_mode) { if (id == id_) { fast_mode_ = fast_mode; decodes_proxy_model_.de_call (de_call); decodes_proxy_model_.rx_df (rx_df); - de_label_->setText (de_call.size () >= 0 ? QString {"DE: %1%2"}.arg (de_call) - .arg (de_grid.size () ? '(' + de_grid + ')' : QString {}) : QString {}); + QString special; + switch (special_op_mode) + { + case 1: special = "[NA VHF]"; break; + case 2: special = "[EU VHF]"; break; + case 3: special = "[FD]"; break; + case 4: special = "[RTTY RU]"; break; + case 5: special = "[Fox]"; break; + case 6: special = "[Hound]"; break; + default: break; + } + de_label_->setText (de_call.size () >= 0 ? QString {"DE: %1%2%3"}.arg (de_call) + .arg (de_grid.size () ? '(' + de_grid + ')' : QString {}) + .arg (special) + : QString {}); mode_label_->setText (QString {"Mode: %1%2%3%4"} .arg (mode) .arg (sub_mode) diff --git a/UDPExamples/ClientWidget.hpp b/UDPExamples/ClientWidget.hpp index 29059bfa5..0459ad036 100644 --- a/UDPExamples/ClientWidget.hpp +++ b/UDPExamples/ClientWidget.hpp @@ -32,7 +32,8 @@ public: , QString const& report, QString const& tx_mode, bool tx_enabled , bool transmitting, bool decoding, qint32 rx_df, qint32 tx_df , QString const& de_call, QString const& de_grid, QString const& dx_grid - , bool watchdog_timeout, QString const& sub_mode, bool fast_mode); + , bool watchdog_timeout, QString const& sub_mode, bool fast_mode + , quint8 special_op_mode); Q_SLOT void decode_added (bool is_new, QString const& client_id, QTime, qint32 snr , float delta_time, quint32 delta_frequency, QString const& mode , QString const& message, bool low_confidence, bool off_air); diff --git a/UDPExamples/UDPDaemon.cpp b/UDPExamples/UDPDaemon.cpp index c075cfe83..0ee202dc7 100644 --- a/UDPExamples/UDPDaemon.cpp +++ b/UDPExamples/UDPDaemon.cpp @@ -50,7 +50,8 @@ public: , QString const& /*report*/, QString const& /*tx_mode*/, bool /*tx_enabled*/ , bool /*transmitting*/, bool /*decoding*/, qint32 /*rx_df*/, qint32 /*tx_df*/ , QString const& /*de_call*/, QString const& /*de_grid*/, QString const& /*dx_grid*/ - , bool /* watchdog_timeout */, QString const& sub_mode, bool /*fast_mode*/) + , bool /* watchdog_timeout */, QString const& sub_mode, bool /*fast_mode*/ + , quint8 /*special_op_mode*/) { if (id == id_) { diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 2393f01db..b265ad7ba 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -7684,7 +7684,8 @@ void MainWindow::statusUpdate () const ui->RxFreqSpinBox->value (), ui->TxFreqSpinBox->value (), m_config.my_callsign (), m_config.my_grid (), m_hisGrid, m_tx_watchdog, - submode != QChar::Null ? QString {submode} : QString {}, m_bFastMode); + submode != QChar::Null ? QString {submode} : QString {}, m_bFastMode, + static_cast (m_config.special_op_id ())); } void MainWindow::childEvent (QChildEvent * e) From 6fc27d550d208e35af756143c02a6cf07beab173 Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Mon, 3 Dec 2018 07:18:52 -0600 Subject: [PATCH 32/62] Fix an egregious bug and another not-so-egregious bug. The egregious bug prevented decodes of most signals with negative DT. --- lib/ft8/ft8_params.f90 | 4 ++-- lib/ft8/ft8apset.f90 | 2 +- lib/ft8/ft8b.f90 | 1 - lib/ft8/sync8.f90 | 4 ++-- lib/ft8_decode.f90 | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/ft8/ft8_params.f90 b/lib/ft8/ft8_params.f90 index 858e61e96..bd228bdef 100644 --- a/lib/ft8/ft8_params.f90 +++ b/lib/ft8/ft8_params.f90 @@ -1,5 +1,5 @@ -! LDPC (174,87) code -parameter (KK=87) !Information bits (75 + CRC12) +! LDPC (174,91) code +parameter (KK=91) !Information bits (77 + CRC14) parameter (ND=58) !Data symbols parameter (NS=21) !Sync symbols (3 @ Costas 7x7) parameter (NN=NS+ND) !Total channel symbols (79) diff --git a/lib/ft8/ft8apset.f90 b/lib/ft8/ft8apset.f90 index 178c61161..2fac41969 100644 --- a/lib/ft8/ft8apset.f90 +++ b/lib/ft8/ft8apset.f90 @@ -30,10 +30,10 @@ subroutine ft8apset(mycall12,hiscall12,apsym) apsym(1)=99 apsym(30)=99 return - endif read(c77,'(58i1)',err=1) apsym(1:58) + apsym=2*apsym-1 if(nohiscall) apsym(30)=99 return diff --git a/lib/ft8/ft8b.f90 b/lib/ft8/ft8b.f90 index 83a6a9cbf..0f075aad2 100644 --- a/lib/ft8/ft8b.f90 +++ b/lib/ft8/ft8b.f90 @@ -275,7 +275,6 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & if(ncontest.eq.6.and.f1.gt.950.0) cycle ! Hounds use AP only for signals below 950 Hz if(iaptype.ge.2 .and. apsym(1).gt.1) cycle ! No, or nonstandard, mycall if(iaptype.ge.3 .and. apsym(30).gt.1) cycle ! No, or nonstandard, dxcall - apsym=2*apsym-1 ! Change from [0,1] to antipodal if(iaptype.eq.1) then ! CQ or CQ RU or CQ TEST or CQ FD apmask=0 diff --git a/lib/ft8/sync8.f90 b/lib/ft8/sync8.f90 index f68e0a9c8..3924f1bad 100644 --- a/lib/ft8/sync8.f90 +++ b/lib/ft8/sync8.f90 @@ -44,7 +44,6 @@ subroutine sync8(dd,nfa,nfb,syncmin,nfqso,maxcand,s,candidate, & nssy=NSPS/NSTEP ! # steps per symbol nfos=NFFT1/NSPS ! # frequency bin oversampling factor jstrt=0.5/tstep - candidate0=0. k=0 @@ -133,7 +132,8 @@ subroutine sync8(dd,nfa,nfb,syncmin,nfqso,maxcand,s,candidate, & j=indx(i) ! if( candidate0(3,j) .ge. syncmin .and. candidate0(2,j).ge.-1.5 ) then if( candidate0(3,j) .ge. syncmin ) then - candidate(1:3,k)=abs(candidate0(1:3,j)) + candidate(2:3,k)=candidate0(2:3,j) + candidate(1,k)=abs(candidate0(1,j)) k=k+1 endif enddo diff --git a/lib/ft8_decode.f90 b/lib/ft8_decode.f90 index 511252c42..e29fa921d 100644 --- a/lib/ft8_decode.f90 +++ b/lib/ft8_decode.f90 @@ -52,7 +52,7 @@ contains character*12 mycall12,hiscall12,mycall12_0 character*6 hisgrid6 integer*2 iwave(15*12000) - integer apsym1(KK),apsym2(58) + integer apsym2(58) character datetime*13,msg37*37 ! character message*22 character*37 allmessages(100) From 49b1a5ac6234ce4d7d7d8fcc2b6e7b2f2436e7b0 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Mon, 3 Dec 2018 21:31:01 +0000 Subject: [PATCH 33/62] ARRL RTTY Roundup rules require AK and HI residents to be DX and send serial numbers --- Configuration.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Configuration.cpp b/Configuration.cpp index c0c9a982f..d979c493a 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -200,13 +200,14 @@ namespace QRegularExpression RTTY_roundup_exchange_re { R"( ( - AL|AK|AZ|AR|CA|CO|CT|DE|FL|GA # states - |HI|ID|IL|IN|IA|KS|KY|LA|ME|MD + AL|AZ|AR|CA|CO|CT|DE|FL|GA # 48 contiguous states + |ID|IL|IN|IA|KS|KY|LA|ME|MD |MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ |NM|NY|NC|ND|OH|OK|OR|PA|RI|SC |SD|TN|TX|UT|VT|VA|WA|WV|WI|WY |NB|NS|QC|ON|MB|SK|AB|BC|NWT|NF # VE provinces - |LB|NU|YT|PEI|DC + |LB|NU|YT|PEI + |DC # District of Columbia |DX # anyone else ) )", QRegularExpression::CaseInsensitiveOption | QRegularExpression::ExtendedPatternSyntaxOption}; From 041df48e962b4e1003b23aabff1405890ff7ead5 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Tue, 4 Dec 2018 01:49:36 +0000 Subject: [PATCH 34/62] Fix issues with auto scrolling log winddows to the last added row --- widgets/AbstractLogWindow.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/widgets/AbstractLogWindow.cpp b/widgets/AbstractLogWindow.cpp index e796cdc3e..c1bfd35c2 100644 --- a/widgets/AbstractLogWindow.cpp +++ b/widgets/AbstractLogWindow.cpp @@ -85,9 +85,12 @@ AbstractLogWindow::AbstractLogWindow (QString const& settings_key, QSettings * s , m_ {this, settings_key, settings, configuration} { // ensure view scrolls to latest new row - connect (&m_->model_, &QAbstractItemModel::rowsInserted, [this] (QModelIndex const& /*parent*/, int /*first*/, int /*last*/) { - if (m_->log_view_) m_->log_view_->scrollToBottom (); - }); + connect (&m_->model_, &QAbstractItemModel::rowsInserted, this, [this] (QModelIndex const& parent, int /*first*/, int last) { + // note col 0 is hidden so use col 1 + // queued connection required otherwise row may not be available + // in time + if (m_->log_view_) m_->log_view_->scrollTo (m_->log_view_->model ()->index (last, 1, parent)); + }, Qt::QueuedConnection); } AbstractLogWindow::~AbstractLogWindow () @@ -106,6 +109,7 @@ void AbstractLogWindow::set_log_view (QTableView * log_view) m_->log_view_->setAlternatingRowColors (true); m_->log_view_->setSelectionBehavior (QAbstractItemView::SelectRows); m_->log_view_->setSelectionMode (QAbstractItemView::ExtendedSelection); + m_->log_view_->setVerticalScrollMode (QAbstractItemView::ScrollPerPixel); m_->model_.setSourceModel (m_->log_view_->model ()); m_->log_view_->setModel (&m_->model_); m_->log_view_->setColumnHidden (0, true); From e9aebea0742db627fd4f763785ccb015bfd11343 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 4 Dec 2018 14:34:08 -0500 Subject: [PATCH 35/62] Updates to User Guide for v2.0. Mostly done up through Section 11. --- doc/user_guide/en/images/colors.png | Bin 9098 -> 29143 bytes doc/user_guide/en/images/file-menu.png | Bin 6430 -> 7614 bytes doc/user_guide/en/images/help-menu.png | Bin 5637 -> 7405 bytes .../en/images/keyboard-shortcuts.png | Bin 31711 -> 34101 bytes doc/user_guide/en/images/log-qso.png | Bin 10104 -> 9628 bytes .../en/images/misc-controls-center.png | Bin 6339 -> 6855 bytes doc/user_guide/en/images/reporting.png | Bin 16622 -> 18219 bytes .../en/images/settings-advanced.png | Bin 11442 -> 18252 bytes doc/user_guide/en/images/view-menu.png | Bin 3485 -> 4442 bytes doc/user_guide/en/introduction.adoc | 4 +- doc/user_guide/en/logging.adoc | 15 +-- doc/user_guide/en/make-qso.adoc | 99 ++++++++++++++---- doc/user_guide/en/new_features.adoc | 45 ++++---- doc/user_guide/en/settings-advanced.adoc | 11 +- doc/user_guide/en/settings-colors.adoc | 6 +- doc/user_guide/en/settings-general.adoc | 6 +- doc/user_guide/en/wsjtx-main.adoc | 9 +- 17 files changed, 132 insertions(+), 63 deletions(-) diff --git a/doc/user_guide/en/images/colors.png b/doc/user_guide/en/images/colors.png index 7e8e9adcc7fe257acb1a9a6bdb9a488d2a4f2b40..7c6813529f0c65aa52e230a1110802a8e72113d1 100644 GIT binary patch literal 29143 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 literal 9098 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 literal 6430 zcmcIpXIN9+mW~CbN$&xX4kDoRj?!B|kSYXe(tGcqV(5fW1VKQ$w9pXl z*GITFG2e!(@r#(B8}8alvH*BL{VL|>w)Hd6GXS6hN^ow5gSp3ZQ8si30EpVLpBr7y zUn~Itnkp6fXF5J6o9PnqtYTgY_6j`FKUIGVMYnyt7n%q(wXX`%jvA`F@sMlaCD(f( zjhRCqXUqWbv+}~7RN}g0$pA_Io2wbLneHWz@Gp0E0N!0qq+rLn-KCkUv!j*^lvZ$w zC_qy37#Gk;9dH{kO(1;}u)Unu->cXXn!yXGGlz@o@rSPt&?xq^lc@71!ihcQ?H@7Lam*N zseqA>+PUSlXV26>(K#qhJD^GZHa65x`)-ZO-OjTG}X3*mSh)_s$+= zo?NvR=`h^r1CI*KJ(Dz#*~q%u(@!3`96yA`;Jg$~iV+d83PfeTH17_CoV3eaJri2{ zVzb&@J5i(YWp40nSLSMo&(|jL@S* zG+*kmQn52~44die?C#iYKP}8@(T3Gr!B2KMq7wW1UD25!M!a5zQF7t9>_V9g-JYs` zw<1tZtST&imgUzz-&p~nN(_Nsyf}q&%zAfKLCgA3{Yzj)4z(Oh^+fT`@DLm(n1^Ft ztXQk>$#%g>N#DE7#wu;;_>ivFH@z;tchpwfKFs$Pa;%($k^v>6keG>xN!p}_d{r;A zOy}mS;4Ls)-4Acd|DkZ0IENBr{6SEBY-->)y~UR8HA>^&uS6)J&W$oLA?rMklLV{O zWdn`2Wj!WKj2~rJnu%-vj&}^*%tlMji|f3Sc;?v~{UpOJp946bv0iW_bZZygRS8a& zA^g!*QabBg$X873iP+n;A-h?;A8V~Mv2ZdH{%ZZ;xDrAn7pR$0tWxWH(cMu5^=JYH z3kO;@(6yjlRI5M&!U1dwom${rLe5?I&lTqq)*bjHtyk_vvf_B%)DUe{(>dqWE_o{V zep1iKz*|bL-N9jnhEGBb_(rb_Z1VyKCg?UGorawtvX@>{dtt3j%Lkqfhd#|nS6D8ZwsO;yzYd*-l8QcPHbx>4{8jA^1 z{^0WTSp}7fvL2X}$Impk4Dsh}tIi95v3D$hj~Sn2%9q-fsEhErr~JHGq046*?ohh+ zFm+t5rozEQc0OlBuhTx=5BWyYOg%tFnBVA}%n2T|@5s^1xKXC190*DpNq(d~8n}C&%QW_lD-@>Mljm3-#zk{?*{;$Kt$GSK9-{3wiyQ99prMSt4ax?{yCsgo(wc(~ z@hK_EW{uv{;gq`;_Mop%0$7)lao`!QB85cj#ue~+>ED_&6>}^S7h>BiXBMMgL8*Xp zRcmp9`>jev0t?Il#6Bw~j%2Fsz~rs~-`e+=oB=KX6*JVc9oW^a5OAv!V75uJ40_H7 zXapAGG2RIA%w@+!pAlH<4k^Gu$*xTaV9N0K4Izl7?V0AFi^C(29WiClarc`su*OX9 z#okhtvk029tf1OC`j>sUI?uvQMlnBfRZI`9&@=sQqcLg&JY!j%=027kzsOC3z}%RC zZ|sSwJFs`<{v*@;Q?omM;!ED))rM_TRIbW>=O1R`)*x>So&wnzEYVaaOUaE=8f6wv zZ7vd!1R$HGX^41m7JOcC(t7*~=?n;hf5b&QR10VOP$WRJr0g>O zG}rPGVV4rz+^-&D4W1&x%^R?QuQ3o;5-9}%4IWj?>E{45e>tY9j6Rn9oSw{%Yv7igH<$4Cy|`pF z?+?&~sDJmSCI^n4Tcl7Pb5_oyQ!d&vm0*sE^^5Uq_Q-3o4kC}TDwzTX4x?sNnjO^< z4Ra=wVE6M-ejbAX8lb26@FFjgD9Ms@i#Zjc0Y;c>>OXvpCq=za@SGQo1k+;>c4ClW z!tQMPq5Ytq8@oh{R;7M(;dq(c)#Z_$UR+E#nWv2hR8S{9mjq8mQiAK60M_BRRXg-O3PV6_mcwvp8G1;%>bgnbd zAomNn1M7CrhWv_>GZSWgU9--1jlmKIKhl6p!gvMS{g(q(KAO8m^^N^>C64-AeQoD8 z>G>zKf=nshh{ODA-+QBavV<%zgUWK18#9GkH=z_i-mxn%yM91&)Q3&~`Eq(JFDEou z=R(5yaTVO;n|Q9*$n%r8C}S!)^YZw`eQBvECK9cnfK3jbA(*R!jHQ>*&C8yzQwN;T z(mdH$CLyEeCI-mE^Rjrn>X%d@X&vCjImiACF`rOt72IYO$W6cZ$lreb&33 zS}x#`B4Ni$OdDm{mNF=k`+howL3J6z=w$O8iDFBvr-V|zkQb}?$O+?@yhod?U$o4d zbLf>o1sU&RTJV@FBa6(f(;~>v%}?ZBF4|H~ndVHo*cj2*cn-EjIwA(xI@)NtKjxF! z7hnTL*TBqB-9jgDJnz7}3G`f|Luza5s9g#^R1F)zk2)?qcJcG8z{eh3KgH8Kgs;smSl$&yc4qg<3nKvJbUYUl6OWUJrsFJkDrU$oS5~_YBkJztGr!D!zX;94;~fP@$W? ze=p7d&9Hwuk#y3D=8eW%l<0?(=d(-J<-Ire1LZ6vRX) z6nk%iKt?$5l#0qL?oZ`6>!q@nAqYRYe9Fj*QUNIx+sTSm3ypq2~ghJv~} zc!a*j3jpmMQMN+?4#r)wNCK{e)Ikx{VI|HGlxJKBKMPVUE%WPW);gf8i=(C7XSz4Z z2^-qPAWp%_?R9y~yFT303`b2#6AJ`uLV5E20rZ?dvOahrYGhe%lhykqwa-%3Yg{6h z`flFLGU|(Bx0}E+J>eknvRoLp7xq;CWcR=bKHM+*DVfi6S=?jamN}0`+@s9(Feuw! z{+iE|ind?trPf47XpUlRx5Fz_D{t)|jq1$YNso@(@mqteunpzaDd;{DP1dq%2B>9F z5JbOLm5=fGt@mQyGY{^y>B*7(_M;COkPfv!bfR5+XW~7jd7J3j1y;Sg%4=fgsgQ!e zUeY6j!pECD$0kV+%eWRCErHLRg$H`phkr+Q=^$l9L0kB8)o;Dht;^9TcBS(JTJgi2 zWwuFe`Lz{x)yG=W*|lBNI|oTLWK~q~p8fs|GV(L2z1Md&rw>pLZnaxg)4W+!M+QxX5%DFEU|rdFBJa9WTEs@W=Y#jf zqZJy$i7xEd>in;BtkfnlFL!ir9!$kn4qXnXNISq6QB&sgANnp*cp!K7M<}K|pET8C z7hM}#5nzP+WZAr^$}k(IC~LZKyM&u>D1CLYt?>tv5SbwHe_~ByX!NP;1pbB+RlJKha|+wn+o+(m34p zTYD(yL=)ge+N{AqC%eTtpi?2uP&`Nc!Y|!K9g?htDUd$%SsHsVG`L=tKYHfADs<;Q z;Qxv$|HvUs6l)fC+PGBM6@6AX5l9)hpSF5Y8C_N&gHW<=%xFG85nPt+A4Qv4Uz<}n zsgXRZ*`KB}PdeU~yid}@a_&?%k4E7d6$sMGvg zhM^1o)LV3rqeHb!pX$aprNP&txa4MTZ^H5T718@u{Oo2?km(`X%-A9u%j^~UJx11m zeoN)vIMX-N<4Mo`%;%*`)Ptuv-h!D@w?kCkK1^eAX=YZMT>Qa`;x^0;J=4+n+@<{~;Z% zwR-M+6|is0xfvEGOQVHg4SI$CO%&txJlRyKq6|bA1t7eRzqeKVnuE@2V0qF$p|O90 z!Kx2}*>@-#GyHv(SSseZh6gm^6zo(#DPZJ7e(9Lb#IzwRrj+#43P&YFAd^SiwTIwQHd^QGU6OvN8R=> zA9>BgepvjuWY7@_ULjueVV!_9b*^x{gqk4m6+c!8G8b)*4t~bu+k`fZQk#?S<37-G zdyx82TmwxJ>Cx~|)``E0`cu*;Pe>RdEOf|Yc@CXRv0C&!5xJ*&C|BZ$v&^vy!9LrH=cxM(7(Gx3E@NaK7b2 zloxJ9EJ=tl@LpX?H1S}mZiXR=Bop>N?svjBHePLMMG9f1dL852WSEElCv^~-a{IjJ z(M;X@CT#X`t8k{VWkbT^diyBlCZ|O@WD1{jx!h|cRi?$h}3?_%xtkZ~g9k13F?4kr8GXzE;GVCW(@IBw>_=JaaQ2V^_v#2*=R2)Y>6;w z)6@pI@EhxGVl2u79x;CAOYlGZpxHhW5+ivR>;DS+WtOdl?gB(N$bdEg3z2`_`;{D5 z03UV-l-j>tJpXMJ={6f;^c}yvcjxN(c1TyX2s zLG=MQ;S0t$)>aMo)`%MFU)_nvo^zyJgsKJV|J2**I#_9Ix!hA5Q*o6E>}^p^up1^V zRD4CYmF_e1)p-dx#R$Fj#;IA69eclFkJSz$n_$A8Hhnr&_Jh%Q06c3}RUGe_!m{;^qC z0$8@4br9Y*3ISrpehcr&^)~gJH0ghi}dHVlJe*ap57-WlDDPKlRJE+j|Fo6x= zeNBgU-H{OJx2bEfcw7P5SrFi|Y8pA$6`M0XlOy;Bx=!n!Bbk`Pa9e-b@1~r4I|9(a zYij~WNIrE0KWtT+?Y}N{#wsDly{VW}9W0*R2;J=m%KRtoH}<95wh!6@|B|DURtpHJ zbR_H7=f8YG=PB_r1pqWLru+W{{!(R_gCUby7Ql{4Mz2!P)y36~{$&!Q;FYnbnEx~Y NDhe9%a9Pv0{{b}&J>&oY diff --git a/doc/user_guide/en/images/help-menu.png b/doc/user_guide/en/images/help-menu.png index 91ef1b870e45a672977ea35df69a84e46bb85bf3..e4d9ab325c77145995cf7ee1484a5e2509e604a4 100644 GIT binary patch literal 7405 zcmbVxcT`hd(=VMM3MfjA5JWoCi=p@4L8M71K5(!?TbKl6MT#tX6

gYBu$oKtT!ZwE-kFB+ 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 Ye>tf@ulzash!RU#UPG>2#{BL70&a4|BLDyZ literal 5637 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 Lq*bMHJL0S=S@s+F7lfmt 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 literal 31711 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 AnE(I) literal 10104 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%0DpDb- zrca6byi{v9g2ZSG#$tYD;}`F@hE{+AzD@m-^o(p9+%V1pxv~H^}L&7bva;M^x_wU+L^N^yvJ9nEfu9Nsl|#31mQk z-~FKf0%gzHvB&&-SH6;-84Hog8;7y>OH{1?-jU?H?uXXB0}-_PwLa71&$;;OtRwv+ zK}o@@ZF2+e059FM*92ze!}U%FErD5YHbP1NJ%$$2ESh=~*gS8$tF&+RS;ZUO=db&-YNjH;~$D&O>+i2#B5ayzvg2xm~fT(R7V2)s33FOeQ{ zW<=}?NnXFRr5^ey>#?(=>o}-z;fNAI9`C^}1LEWBTFfiy{y{wJ$PxAA2q<^dKG`JKK{l2Giv(1i7-6}{xyXa=SW%8a4fn@+>&ZaC!+|O z681gSX(dQ zOo8x-;@%F2Y{J-HYC30!Zr6MNcayvi?i5nN79%afG*bUYZA7Fuq{Fo%knPWjXefZz zhQlr6uBsa6PduSnF#6cO8schrU0+Q0mZTQCr7&j z>YBBU?@dJ*y5}JMD>c+=aWt;uG8C&hVtSA3@x&ionIYLsLIu${QmM46jws>eW)%+R zKA&o8jT&Ern-cx%8ZCxG)2x;*9)VZ6Nr1O43574zL8GW^N#5ZgSf#!pJlJIPU2o}P z>g&n};GG?{Cvv(m;;Lxn;5yoZ{H&agRbfoqZW zk7NYKbt$q>c~qf#oMj=ZMrql?R_rVQ@7&3!47A-d#gbSu37C}9`rTa#F^T#m0#tr^ z!2M|X&KPr-AphjJ|7!;wVe;YB^n_QYQd4VhrsEXG;vi$4h7lL8u43Z+Sh)h5XS1BR z5}~AZ`$aVz!}|4Gk?78{;~D*Jj88RBfzC@ko*gSPC=%ticCs38DNTHmsi-1~$Y@$;V-oBtVG_|6KsJC}J) z%HUYqHj!|DzC2X|a2B?k|BZG8Ow3pOp&be2#dm-69!bPEYMl6I!f3vi6o^ivFc+a9 z3`2w(bf_>O=NCL@+q_VCJ+XC=DVZ*v)t!W%xX-;<@=cCMP$x&`z!oTEB z{zR?#3HFBSMg_bu@@Is68JSN6MRE~5I6=r(}>!$Q8FQ*x6Dc{DHm zhdtq3WIP6P0st>*oCu`~VA$uMr1gKoWB3rsE%O+v>k%WBy;b z?*ADh{{OYq#|I7v7zDwu?_PvAP%sG-D$jo*690Ej`5JmEB64=0aH(XBdVmYoaFF{G z6T;E=FK-|IBWnM%*#2GW0Rq2VmUporsCrVox+wTd{`L{8qbyR|r`hk_D62##4QWtM zYJmrGp{GjrlP=%R(kKlH{2mD~l%}IhAUp&`=pG2I2v{fFp>sTtwIm&s76BD@HUFKYu$=0|cBp$L;~s1{0D5km@$(QGVt{{2Mn zvy)^L)KLSWq3x0@QIzOF@aFG*Aa;Eu-#sH`sq9AunLgj3%3iDruQzb|oan&v>!c_F zOUs3iu=}T~9njV8&WzLG@tmd(KB%c&+9wBB4Z&HNX1!PkF2er(IX|Pq<&Kn9ps@;z zjk`C(mJDcEpD?z_&smbTSX~9$=ZfIP)mJ)9&%j;D{)p#QJX}1PIBtiq*rfXj74Tz2 zp{AIwu4JVM{n9%e?=tfY>mby?sT_~L%ePjfD%1v}z7tNDWoe|)jSfmSDndjEdw}OH zNaRO?yK|hgVqnMQI=3K%XvNUqQp0yzf04-=*7XT)e1WZVocjak8~+KM=PNqreq5ER z{wu%kK?q$Sf6^_$3Ar_0ORyC{@x#2{`^e$1hMN!+y2bl81TbuN5Au)Z8YiUqA@WU4 zpyY9YV4IG{F1u~srzK4MXB(URFE{dt1TVH|^Uv_%D!$f;g!)#;g>vJIyiCb@ zx4rdG(WdST<$RJ$P2GZJP5W+1>64%j3rutaqHgVv1T{QeHurTj#8w8%Q+HPwD+~{PGtjyGP za4Nr!&iMIWNwVXM^YKi)0Y~j%@}a%D1R{{II_cAaJb diff --git a/doc/user_guide/en/images/misc-controls-center.png b/doc/user_guide/en/images/misc-controls-center.png index 773501a19a342809265f19f566a0351f64bcae64..f2fdf64b9db8e90557c182b86c80621b4d6c01a7 100644 GIT binary patch literal 6855 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 BgSP+x literal 6339 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 dGYKb@hwo@KV3P8O#6KQLG$1-5^~v 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 F`5)Xk-Uk2x diff --git a/doc/user_guide/en/images/settings-advanced.png b/doc/user_guide/en/images/settings-advanced.png index 5a42a3cfe05a4e0e1aa8d375d92ec885b44ecbd3..2406d82e4baeac8070338b71d3e357aa9b88f61f 100644 GIT binary patch literal 18252 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 r{LbPkSj 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 pCf literal 11442 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 MZX0XYYdPKjFO|li5dZ)H literal 3485 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 Q?}>@Y=!U5tM#nkwAHopPTL1t6 diff --git a/doc/user_guide/en/introduction.adoc b/doc/user_guide/en/introduction.adoc index 4149a48d0..fda2f7fa4 100644 --- a/doc/user_guide/en/introduction.adoc +++ b/doc/user_guide/en/introduction.adoc @@ -7,7 +7,7 @@ K1**JT**,`" while the suffix "`-X`" indicates that _WSJT-X_ started as an extended and experimental branch of the program _WSJT_. -_WSJT-X_ Version 1.9 offers nine different protocols or modes: *FT8*, +_WSJT-X_ Version 2.0 offers nine different protocols or modes: *FT8*, *JT4*, *JT9*, *JT65*, *QRA64*, *ISCAT*, *MSK144*, *WSPR*, and *Echo*. The first five are designed for making reliable QSOs under extreme weak-signal conditions. They use nearly identical message structure @@ -47,7 +47,7 @@ format with hashed callsigns. potential propagation paths using low-power transmissions. WSPR messages normally carry the transmitting station’s callsign, grid locator, and transmitter power in dBm, and they can be decoded at -signal-to-noise ratios as low as -28 dB in a 2500 Hz bandwidth. WSPR +signal-to-noise ratios as low as -31 dB in a 2500 Hz bandwidth. WSPR users with internet access can automatically upload reception reports to a central database called {wsprnet} that provides a mapping facility, archival storage, and many other features. diff --git a/doc/user_guide/en/logging.adoc b/doc/user_guide/en/logging.adoc index ae657d23a..4eaec86e9 100644 --- a/doc/user_guide/en/logging.adoc +++ b/doc/user_guide/en/logging.adoc @@ -18,17 +18,8 @@ this option is checked _WSJT-X_ appends some additional information to all CQ messages displayed in the _Band Activity_ window. The name of the DXCC entity is shown, abbreviated if necessary. Your "`worked before`" status for this callsign (according to log file -`wsjtx_log.adi`) is flagged with a single character and a change of -background color, as follows: - -[horizontal] -!:: Default color bright purple: New DXCC entity -~:: Light pink: You have already worked this DXCC entity but not -this station - :: Green: You have previously worked the calling station - -In this respect the program does not distinguish between modes, but it -does differentiate between bands. +`wsjtx_log.adi`) is indicated by highlighting colors, if that option +has been selected. _WSJT-X_ includes a built-in `cty.dat` file containing DXCC prefix information. Updated files can be downloaded from the {cty_dat} web @@ -45,3 +36,5 @@ before status* off and then on again will cause _WSJT-X_ to re-read the log file. Very large log files may cause _WSJT-X_ to slow down when searching for calls. +Additional features are provided for *Contest* and *Fox* logging. +(more to come, here ...) diff --git a/doc/user_guide/en/make-qso.adoc b/doc/user_guide/en/make-qso.adoc index 565c7f7c2..1a564c7c2 100644 --- a/doc/user_guide/en/make-qso.adoc +++ b/doc/user_guide/en/make-qso.adoc @@ -19,7 +19,10 @@ one callsign) followed by the transmitting station’s grid locator, a signal report, R plus a signal report, or the final acknowledgements RRR or 73. These messages are compressed and encoded in a highly efficient and reliable way. In uncompressed form (as displayed -on-screen) they may contain as many as 22 characters. +on-screen) they may contain as many as 22 characters. Some operators +prefer ro send RR73 rather than RRR. This is workable because RR73 is +encoded as a valid grid locator, one unlikely ever to be occupied by +an amateur station. *Signal reports* are specified as signal-to-noise ratio (S/N) in dB, using a standard reference noise bandwidth of 2500 Hz. Thus, in the @@ -76,36 +79,92 @@ NOTE: When *Auto-Seq* is enabled the program de-activates *Enable Tx* at the end of each QSO. It is not intended that _WSJT-X_ should make fully automated QSOs. -=== VHF Contest Mode +=== Contest Messages -A special *NA VHF Contest* mode can be activated for FT8 and MSK144. -To use it you must activate *File | Settings | General | Enable -VHF/UHF/Microwave features* and then check the box *NA VHF Contest* on -the main window. This mode is configured especially for contests in -which four-character grid locators are the required exchange. When -*NA VHF Contest* mode is active, the standard QSO sequence looks like -this: +The new FT8 and MSK144 protocols support special messages optimized +for *NA VHF* and *EU VHF* contests. FT8 also supports messages for +*ARRL Field Day* and the *ARRL RTTY Roundup*. The decoders recognize +and decode these messages at any time. Configure the program to +automatically generate the required message types by selecting a +supported operating activity on the *Settings | Advanced* tab. Model +QSOs then proceed as follows, for each event type: + +*NA VHF Contest* CQ K1ABC FN42 - K1ABC W9XYZ EN37 + K1ABC W9XYZ EN37 W9XYZ K1ABC R FN42 - K1ABC W9XYZ RRR + K1ABC W9XYZ RRR W9XYZ K1ABC 73 -In contest circumstances K1ABC might choose to call CQ again rather -than sending 73 for his third transmission. +Either callsign (or both) may have /R appended. You can use RR73 in +place of RRR, and the final 73 is optional. -IMPORTANT: Do not use VHF Contest Mode on an HF band or in conditions -where worldwide propagation is available. See -<> for further details. + +*EU VHF Contest* + + CQ TEST G4ABC IO91 + G4ABC PA9XYZ JO22 + PA9XYZ 570123 IO91NP + G4ABC R 580071 JO22DB + PA9XYZ G4ABC RR73 + +Either callsign (or both) may have /P appended. + +*ARRL Field Day* + + CQ FD K1ABC FN42 + K1ABC W9XYZ 6A WI + W9XYZ K1ABC R 2B EMA + K1ABC W9XYZ RR73 + +*ARRL RTTY Roundup* + + CQ RU K1ABC FN42 + K1ABC W9XYZ 579 WI + W9XYZ K1ABC R 589 MA + K1ABC W9XYZ RR73 [[COMP-CALL]] === Compound Callsigns -Compound callsigns such as xx/K1ABC or K1ABC/x are handled in -one of two possible ways: +*FT8 and MSK144* -.Messages containing Type 1 compound callsigns +Compound callsigns like xx/K1ABC or K1ABC/x and nonstandard callsigns +like YW18FIFA are supported for normal QSOs but not for the special +contest-style messages. Model QSOs look something like this: + + CQ PJ4/K1ABC + W9XYZ + W9XYZ +03 + W9XYZ R-08 + PJ4/K1ABC RRR + PJ4/K1ABC 73 + +The compound or nonstandard callsigns are automatically recognized and +handled using special message formats. One such callsign and one +standard callsign may appear in most messages, provided that one of +them is enclosed in < > angle brackets. If the message includes a +grid locator or numerical signal report, the brackets must enclose the +compound or nonstandard callsign; otherwise the brackets may be around +either call. + +Angle brackets imply that the enclosed callsign is not transmitted in +full, but rather as a hash code using a smaller number of bits. +Receiving stations will display the full nonstandard callsign if it +has been received in full in the recent past. Otherwise it will be +displayed as < . . . >. These restrictions are honored automatically +by the algorithm that generates default messages for minimal QSOs. +Except for the special cases involving /P or /R used in VHF +contesting, _WSJT-X 2.0_ offers no support for two nonstandard +callsigns to work each other. + +*JT4, JT9, JT65, and QRA64* + +In the 72-bit modes, compound callsigns are handled in one of two +possible ways: + +.Type 1 compound callsigns A list of about 350 of the most common prefixes and suffixes can be displayed from the *Help* menu. A single compound callsign involving @@ -139,7 +198,7 @@ Notice that the full compound callsign is sent and received in the first two transmissions. After that, the operators omit the add-on prefix or suffix and use the standard structured messages. -.Type 2 Compound-Callsign Messages +.Type 2 Compound callsigns Prefixes and suffixes _not_ found in the displayable short list are handled by using *Type 2* compound callsigns. In this case the diff --git a/doc/user_guide/en/new_features.adoc b/doc/user_guide/en/new_features.adoc index c947ad827..aed97945a 100644 --- a/doc/user_guide/en/new_features.adoc +++ b/doc/user_guide/en/new_features.adoc @@ -1,33 +1,38 @@ -=== New in Version 1.9 +=== New in Version 2.0 For quick reference, here's a short list of features and capabilities -added to _WSJT-X_ since Version 1.8.0: +added to _WSJT-X_ since Version 1.9.1: -- New *FT8 DXpedition Mode* to facilitate high QSO rates in pileup -situations +- New FT8 and MSK144 protocols with 77-bit payloads permit these enhancements: -- Decoding improvements for JT65 mode, including _a priori_ (AP) -decoding when VHF/UHF/Microwave features are enabled +* Optimized contest messages for NA VHF, EU VHF, Field Day, RTTY Roundup -- Optional Auto-Sequencing in JT4, JT9, and JT65 when VHF/UHF/Microwave features are enabled +* Full support for "/R" and "/P" calls in relevant contests -- Better suppression of low-confidence false decodes generated by AP -decoding in FT8 mode +* New logging features for contesting -- Improved decoding performance for WSPR mode, especially effective at LF and MF +* Integration with N1MM+ and WriteLog for contesting -- Minor adjustments to auto-sequencing behavior +* IMproved support for compound and nonstandard callsigns -- More flexible Doppler control features for EME +* Nearly equal (or better) sensitivity compared to old protocols -- Improved waterfall sensitivity for very weak signals +* Lower false decode rates -- Automatic real-time forwarding of logged information to _N1MM Logger+_ +- Improved color highlighting of received messages + +- Improved WSPR sensitivity - Expanded and improved UDP messages sent to companion programs - Bug fixes and other minor tweaks to user interface +IMPORTANT: Note that for FT8 and MSK144 there is no backward +compatibility with WSJT-X 1.9.1 and earlier. Everyone using these +modes should upgrade to WSJT-X 2.0 by January 1, 2019. + + + === Documentation Conventions In this manual the following icons call attention to particular types @@ -48,9 +53,9 @@ _WSJT-X_ is part of an open-source project released under the {gnu_gpl} (GPL). If you have programming or documentation skills or would like to contribute to the project in other ways, please make your interests known to the development team. The project's -source-code repository can be found at {devsvn}, and most -communication among the developers takes place on the email reflector -{devmail}. Bug reports and suggestions for new features, improvements -to the _WSJT-X_ User Guide, etc., may also be sent to the -{wsjt_yahoo_group} email reflector. You must join the relevant group -before posting to either email list. +source-code repository can be found at {devsvn}, and communication +among the developers takes place on the email reflector {devmail}. +Bug reports and suggestions for new features, improvements to the +_WSJT-X_ User Guide, etc., may also be sent to the {wsjt_yahoo_group} +email reflector. You must join the relevant group before posting to +either email list. diff --git a/doc/user_guide/en/settings-advanced.adoc b/doc/user_guide/en/settings-advanced.adoc index e939977ca..810075154 100644 --- a/doc/user_guide/en/settings-advanced.adoc +++ b/doc/user_guide/en/settings-advanced.adoc @@ -36,9 +36,16 @@ with twice or four times the normal tone spacing. This feature is intended for use with specialized LF/MF transmitters that divide generated frequencies by 2 or 4 as part of the transmission process. -_FT8 DXpedition Mode_ +_Special Operating Activity: Generation of FT8 and MSk144 messages_ + +- Check this box and select the type of activity to enable +auto-generation of special message formats for contesting and +DXpeditions. For *ARRL Field Day*, enter your operating Class and +ARRL/RAC section; for *ARRL RTTY Roundup*, enter your state or province. +Use “DX” for section or state if you are not in the US or Canada. In +the RTTY Roundup, Stations in Alaska and Hawaii should enter “DX”. - Check *Fox* if you are a DXpedition station operating in FT8 DXpedition Mode. Check *Hound* if you wish to make QSOs with such a -Fox. Be sure to read the operating instructions for {ft8_DXped}. +Fox. Be sure to read the operating instructions for {ft8_DXped}. diff --git a/doc/user_guide/en/settings-colors.adoc b/doc/user_guide/en/settings-colors.adoc index 6fc95eabb..3a67d228a 100644 --- a/doc/user_guide/en/settings-colors.adoc +++ b/doc/user_guide/en/settings-colors.adoc @@ -1,5 +1,7 @@ image::colors.png[align="center",alt="Colors Screen"] _WSJT-X_ uses colors to highlight decoded messages containing -information of particular interest. Click on one of the buttons to -select your preferred colors for any message category. +information of particular interest. Check the box to select any +that interest you. Drag any line up or down to raise or lower +its logical priority. Right-click any line to select a new +foreground or background color. diff --git a/doc/user_guide/en/settings-general.adoc b/doc/user_guide/en/settings-general.adoc index 0a259dd70..2825c0c80 100644 --- a/doc/user_guide/en/settings-general.adoc +++ b/doc/user_guide/en/settings-general.adoc @@ -17,6 +17,6 @@ NOTE: If you are using a callsign with an add-on prefix or suffix, or wish to work a station using such a call, be sure to read the section <>. -NOTE: Enabling VHF/UHF/Microwave features necessarily disables the -wideband multi-decode capability of JT65. In most circumstances you -should turn this feature off when operating at HF. +NOTE: Checking *Enable VHF/UHF/Microwave features* necessarily +disables the wideband multi-decode capability of JT65. In most +circumstances you should turn this feature off when operating at HF. diff --git a/doc/user_guide/en/wsjtx-main.adoc b/doc/user_guide/en/wsjtx-main.adoc index 71f0e3c4a..aa4a9aa57 100644 --- a/doc/user_guide/en/wsjtx-main.adoc +++ b/doc/user_guide/en/wsjtx-main.adoc @@ -113,9 +113,12 @@ include::transceiver-setup.adoc[] This section introduces the basic user controls and program behavior of _WSJT-X_, with particular emphasis on the JT9, JT65, and FT8 modes. We suggest that new users should go through the full HF-oriented -tutorial, preferably while at your radio. Subsequent sections cover -additional details on <>, <> -and <>. +tutorial, preferably while at your radio. Note that as of late 2018, +digital usage on the HF bands has mostly moved from JT65 and JT9 to FT8. So +you may wish to pay particular attention to *FT8*, in Section 6.6. + +Subsequent sections cover additional details on <>, <> and <>. [[TUT_MAIN]] === Main Window Settings From 6517adbfbcd63a9753a9b1c9a9bdce584fe90559 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 4 Dec 2018 15:05:47 -0500 Subject: [PATCH 36/62] A few more updates tothe User Guide, making it "minimally acceptable" for the GA release of v2.0. --- doc/user_guide/en/decoder_notes.adoc | 6 +-- doc/user_guide/en/protocols.adoc | 74 +++++++++++++--------------- 2 files changed, 38 insertions(+), 42 deletions(-) diff --git a/doc/user_guide/en/decoder_notes.adoc b/doc/user_guide/en/decoder_notes.adoc index 6ef2dd7e2..cdae09a01 100644 --- a/doc/user_guide/en/decoder_notes.adoc +++ b/doc/user_guide/en/decoder_notes.adoc @@ -8,9 +8,9 @@ false decodes. For example: when you decide to answer a CQ, you already know your own callsign and that of your potential QSO partner. The software -therefore "`knows`" what to expect for 57 of the 72 message bits (28 -bits for each of two callsigns, 1 bit for message type) in the next -received message. The decoder's task can thus be reduced to +therefore "`knows`" what might be expected for at least 57 message +bits (28 for each of two callsigns, 1 or more for message type) in the +next received message. The decoder's task can thus be reduced to determining the remaining 15 bits of the message and ensuring that the resulting solution is reliable. diff --git a/doc/user_guide/en/protocols.adoc b/doc/user_guide/en/protocols.adoc index 456880d6e..f50096097 100644 --- a/doc/user_guide/en/protocols.adoc +++ b/doc/user_guide/en/protocols.adoc @@ -2,18 +2,20 @@ === Overview All QSO modes except ISCAT use structured messages that compress -user-readable information into fixed-length packets of 72 bits. Each -message consists of two 28-bit fields normally used for callsigns and -a 15-bit field for a grid locator, report, acknowledgment, or 73. An -additional bit flags a message containing arbitrary alphanumeric text, -up to 13 characters. Special cases allow other information such as -add-on callsign prefixes (e.g., ZA/K1ABC) or suffixes (e.g., K1ABC/P) -to be encoded. The basic aim is to compress the most common messages -used for minimally valid QSOs into a fixed 72-bit length. The -information payload in FT8 includes 3 additional bits (75 bits total). -One of the added bits is used to flag special messages used by the -DXpedition station in FT8 DXpedition Mode. Uses for the remaining two -bits are yet to be defined. +user-readable information into fixed-length packets. JT4, JT9, JT65, +and QRA64 use 72-bit payloads. Standard messages consist of two +28-bit fields normally used for callsigns and a 15-bit field for a +grid locator, report, acknowledgment, or 73. An additional bit flags +a message containing arbitrary free text, up to 13 characters. +Special cases allow other information such as add-on callsign prefixes +(e.g., ZA/K1ABC) or suffixes (e.g., K1ABC/P) to be encoded. The basic +aim is to compress the most common messages used for minimally valid +QSOs into a fixed 72-bit length. + +The information payload for FT8 and MSK144 contains 77 bits. The 5 +additional bits are used to flag special message types used for FT8 +DXpedition Mode, contesting, nonstandard callsigns, and a few other +special types. A standard amateur callsign consists of a one- or two-character prefix, at least one of which must be a letter, followed by a digit @@ -42,22 +44,16 @@ additional information is sent in place of the grid locator or by encoding additional information into some of the 6 million available slots mentioned above. -As a convenience for sending directed CQ messages, the compression -algorithm supports messages starting with `CQ AA` through `CQ ZZ`. -These message fragments are encoded internally as if they were the -callsigns `E9AA` through `E9ZZ`. Upon reception they are converted -back to the form `CQ AA` through `CQ ZZ`, for display to the user. +As a convenience for sending directed CQ messages, the 72-bit +compression algorithm supports messages starting with `CQ AA` through +`CQ ZZ`. These message fragments are encoded internally as if they +were the callsigns `E9AA` through `E9ZZ`. Upon reception they are +converted back to the form `CQ AA` through `CQ ZZ`, for display to the +user. -The FT8 and MSK144 modes support a special feature allowing convenient -transmission and acknowledgment of four-character grid locators, the -required exchanges in most North American VHF contests. With this -Contest Mode enabled, _WSJT-X_ supports messages of the form `W9XYZ -K1ABC R FN42` by converting the grid locator to that of its -diametrically opposite point on Earth. The receiving program -recognizes a locator implying a distance greater than 10,000 km, does -the reverse transformation, and inserts the implied "`R`". Obviously, -this mode should not be used on the HF bands or under other -circumstances where world-wide propagation is possible. +The new FT8 and MSK144 protocols use a different lossless compression +algorithm with features to generate and recognize the special messages +used for contesting and the like. (More to come, here ...) To be useful on channels with low signal-to-noise ratio, this kind of lossless message compression requires use of a strong forward error @@ -75,9 +71,9 @@ _WSJT-X_ modes have continuous phase and constant envelope. ==== FT8 Forward error correction (FEC) in FT8 uses a low-density parity check -(LDPC) code with 75 information bits, a 12-bit cyclic redundancy check -(CRC), and 87 parity bits making a 174-bit codeword. It is thus -called an LDPC (174,87) code. Synchronization uses 7×7 Costas arrays +(LDPC) code with 77 information bits, a 14-bit cyclic redundancy check +(CRC), and 83 parity bits making a 174-bit codeword. It is thus +called an LDPC (174,91) code. Synchronization uses 7×7 Costas arrays at the beginning, middle, and end of each transmission. Modulation is 8-tone frequency-shift keying (8-FSK) at 12000/1920 = 6.25 baud. Each transmitted symbol carries three bits, so the total number of channel @@ -231,7 +227,7 @@ which the probability of decoding is 50% or higher. |=============================================================================== |Mode |FEC Type |(n,k) | Q|Modulation type|Keying rate (Baud)|Bandwidth (Hz) |Sync Energy|Tx Duration (s)|S/N Threshold (dB) -|FT8 |LDPC, r=1/2|(174,87)| 8| 8-FSK| 6.25 | 50.0 | 0.27| 12.6 | -21 +|FT8 |LDPC, r=1/2|(174,91)| 8| 8-FSK| 6.25 | 50.0 | 0.27| 12.6 | -21 |JT4A |K=32, r=1/2|(206,72)| 2| 4-FSK| 4.375| 17.5 | 0.50| 47.1 | -23 |JT9A |K=32, r=1/2|(206,72)| 8| 9-FSK| 1.736| 15.6 | 0.19| 49.0 | -27 |JT65A |Reed Solomon|(63,12) |64|65-FSK| 2.692| 177.6 | 0.50| 46.8 | -25 @@ -329,13 +325,13 @@ For details see Table 4, below. ==== MSK144 -Standard MSK144 messages are structured in the same way as those in -the slow modes, with 72 bits of user information. Forward error -correction is implemented by first augmenting the 72 message bits with -an 8-bit cyclic redundancy check (CRC) calculated from the message -bits. The CRC is used to detect and eliminate most false decodes at -the receiver. The resulting 80-bit augmented message is mapped to a -128-bit codeword using a (128,80) binary low-density-parity-check +Standard MSK144 messages are structured in the same way as in FT8, +with 77 bits of user information. Forward error correction is +implemented by first augmenting the 77 message bits with a 13-bit +cyclic redundancy check (CRC) calculated from the message bits. The +CRC is used to detect and eliminate most false decodes at the +receiver. The resulting 90-bit augmented message is mapped to a +128-bit codeword using a (128,90) binary low-density-parity-check (LDPC) code designed by K9AN specifically for this purpose. Two 8-bit synchronizing sequences are added to make a message frame 144 bits long. Modulation is Offset Quadrature Phase-Shift Keying (OQPSK) at @@ -379,6 +375,6 @@ and your QSO partner ± 200 Hz. |JT9F |K=32, r=1/2|(206,72)| 8| 9-FSK| 50.0 | 450 | 0.19| 1.700 |JT9G |K=32, r=1/2|(206,72)| 8| 9-FSK|100.0 | 900 | 0.19| 0.850 |JT9H |K=32, r=1/2|(206,72)| 8| 9-FSK|200.0 | 1800 | 0.19| 0.425 -|MSK144 |LDPC |(128,80)| 2| OQPSK| 2000 | 2400 | 0.11| 0.072 +|MSK144 |LDPC |(128,90)| 2| OQPSK| 2000 | 2400 | 0.11| 0.072 |MSK144 Sh|LDPC |(32,16) | 2| OQPSK| 2000 | 2400 | 0.20| 0.020 |===================================================================== From a5e82ac94cca1306bd73606547874884963f49da Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Tue, 4 Dec 2018 20:01:55 -0600 Subject: [PATCH 37/62] Delete an unused routine. Fix a typo in a comment. --- CMakeLists.txt | 1 - lib/ft8/osd174.f90 | 365 ----------------------------------------- widgets/mainwindow.cpp | 2 +- 3 files changed, 1 insertion(+), 367 deletions(-) delete mode 100644 lib/ft8/osd174.f90 diff --git a/CMakeLists.txt b/CMakeLists.txt index bff2f543a..a2717dca8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -508,7 +508,6 @@ set (wsjt_FSRCS lib/msk144sim.f90 lib/mskrtd.f90 lib/77bit/my_hash.f90 - lib/ft8/osd174.f90 lib/wsprd/osdwspr.f90 lib/ft8/osd174_91.f90 lib/pctile.f90 diff --git a/lib/ft8/osd174.f90 b/lib/ft8/osd174.f90 deleted file mode 100644 index 45d7faa4b..000000000 --- a/lib/ft8/osd174.f90 +++ /dev/null @@ -1,365 +0,0 @@ -subroutine osd174(llr,apmask,ndeep,decoded,cw,nhardmin,dmin) -! -! An ordered-statistics decoder for the (174,87) code. -! -include "ldpc_174_87_params.f90" - -integer*1 apmask(N),apmaskr(N) -integer*1 gen(K,N) -integer*1 genmrb(K,N),g2(N,K) -integer*1 temp(K),m0(K),me(K),mi(K),misub(K),e2sub(N-K),e2(N-K),ui(N-K) -integer*1 r2pat(N-K) -integer indices(N),nxor(N) -integer*1 cw(N),ce(N),c0(N),hdec(N) -integer*1 decoded(K) -integer indx(N) -real llr(N),rx(N),absrx(N) -logical first,reset -data first/.true./ -save first,gen - -if( first ) then ! fill the generator matrix - gen=0 - do i=1,M - do j=1,22 - read(g(i)(j:j),"(Z1)") istr - do jj=1, 4 - irow=(j-1)*4+jj - if( btest(istr,4-jj) ) gen(irow,i)=1 - enddo - enddo - enddo - do irow=1,K - gen(irow,M+irow)=1 - enddo -first=.false. -endif - -! Re-order received vector to place systematic msg bits at the end. -rx=llr(colorder+1) -apmaskr=apmask(colorder+1) - -! Hard decisions on the received word. -hdec=0 -where(rx .ge. 0) hdec=1 - -! Use magnitude of received symbols as a measure of reliability. -absrx=abs(rx) -call indexx(absrx,N,indx) - -! Re-order the columns of the generator matrix in order of decreasing reliability. -do i=1,N - genmrb(1:K,i)=gen(1:K,indx(N+1-i)) - indices(i)=indx(N+1-i) -enddo - -! Do gaussian elimination to create a generator matrix with the most reliable -! received bits in positions 1:K in order of decreasing reliability (more or less). -do id=1,K ! diagonal element indices - do icol=id,K+20 ! The 20 is ad hoc - beware - iflag=0 - if( genmrb(id,icol) .eq. 1 ) then - iflag=1 - if( icol .ne. id ) then ! reorder column - temp(1:K)=genmrb(1:K,id) - genmrb(1:K,id)=genmrb(1:K,icol) - genmrb(1:K,icol)=temp(1:K) - itmp=indices(id) - indices(id)=indices(icol) - indices(icol)=itmp - endif - do ii=1,K - if( ii .ne. id .and. genmrb(ii,id) .eq. 1 ) then - genmrb(ii,1:N)=ieor(genmrb(ii,1:N),genmrb(id,1:N)) - endif - enddo - exit - endif - enddo -enddo - -g2=transpose(genmrb) - -! The hard decisions for the K MRB bits define the order 0 message, m0. -! Encode m0 using the modified generator matrix to find the "order 0" codeword. -! Flip various combinations of bits in m0 and re-encode to generate a list of -! codewords. Return the member of the list that has the smallest Euclidean -! distance to the received word. - -hdec=hdec(indices) ! hard decisions from received symbols -m0=hdec(1:K) ! zero'th order message -absrx=absrx(indices) -rx=rx(indices) -apmaskr=apmaskr(indices) - -call mrbencode(m0,c0,g2,N,K) -nxor=ieor(c0,hdec) -nhardmin=sum(nxor) -dmin=sum(nxor*absrx) - -cw=c0 -ntotal=0 -nrejected=0 - -if(ndeep.eq.0) goto 998 ! norder=0 -if(ndeep.gt.5) ndeep=5 -if( ndeep.eq. 1) then - nord=1 - npre1=0 - npre2=0 - nt=40 - ntheta=12 -elseif(ndeep.eq.2) then - nord=1 - npre1=1 - npre2=0 - nt=40 - ntheta=12 -elseif(ndeep.eq.3) then - nord=1 - npre1=1 - npre2=1 - nt=40 - ntheta=12 - ntau=14 -elseif(ndeep.eq.4) then - nord=2 - npre1=1 - npre2=0 - nt=40 - ntheta=12 - ntau=19 -elseif(ndeep.eq.5) then - nord=2 - npre1=1 - npre2=1 - nt=40 - ntheta=12 - ntau=19 -endif - -do iorder=1,nord - misub(1:K-iorder)=0 - misub(K-iorder+1:K)=1 - iflag=K-iorder+1 - do while(iflag .ge.0) - if(iorder.eq.nord .and. npre1.eq.0) then - iend=iflag - else - iend=1 - endif - do n1=iflag,iend,-1 - mi=misub - mi(n1)=1 - if(any(iand(apmaskr(1:K),mi).eq.1)) cycle - ntotal=ntotal+1 - me=ieor(m0,mi) - if(n1.eq.iflag) then - call mrbencode(me,ce,g2,N,K) - e2sub=ieor(ce(K+1:N),hdec(K+1:N)) - e2=e2sub - nd1Kpt=sum(e2sub(1:nt))+1 - d1=sum(ieor(me(1:K),hdec(1:K))*absrx(1:K)) - else - e2=ieor(e2sub,g2(K+1:N,n1)) - nd1Kpt=sum(e2(1:nt))+2 - endif - if(nd1Kpt .le. ntheta) then - call mrbencode(me,ce,g2,N,K) - nxor=ieor(ce,hdec) - if(n1.eq.iflag) then - dd=d1+sum(e2sub*absrx(K+1:N)) - else - dd=d1+ieor(ce(n1),hdec(n1))*absrx(n1)+sum(e2*absrx(K+1:N)) - endif - if( dd .lt. dmin ) then - dmin=dd - cw=ce - nhardmin=sum(nxor) - nd1Kptbest=nd1Kpt - endif - else - nrejected=nrejected+1 - endif - enddo -! Get the next test error pattern, iflag will go negative -! when the last pattern with weight iorder has been generated. - call nextpat(misub,k,iorder,iflag) - enddo -enddo - -if(npre2.eq.1) then - reset=.true. - ntotal=0 - do i1=K,1,-1 - do i2=i1-1,1,-1 - ntotal=ntotal+1 - mi(1:ntau)=ieor(g2(K+1:K+ntau,i1),g2(K+1:K+ntau,i2)) - call boxit(reset,mi(1:ntau),ntau,ntotal,i1,i2) - enddo - enddo - - ncount2=0 - ntotal2=0 - reset=.true. -! Now run through again and do the second pre-processing rule - misub(1:K-nord)=0 - misub(K-nord+1:K)=1 - iflag=K-nord+1 - do while(iflag .ge.0) - me=ieor(m0,misub) - call mrbencode(me,ce,g2,N,K) - e2sub=ieor(ce(K+1:N),hdec(K+1:N)) - do i2=0,ntau - ntotal2=ntotal2+1 - ui=0 - if(i2.gt.0) ui(i2)=1 - r2pat=ieor(e2sub,ui) -778 continue - call fetchit(reset,r2pat(1:ntau),ntau,in1,in2) - if(in1.gt.0.and.in2.gt.0) then - ncount2=ncount2+1 - mi=misub - mi(in1)=1 - mi(in2)=1 - if(sum(mi).lt.nord+npre1+npre2.or.any(iand(apmaskr(1:K),mi).eq.1)) cycle - me=ieor(m0,mi) - call mrbencode(me,ce,g2,N,K) - nxor=ieor(ce,hdec) - dd=sum(nxor*absrx) - if( dd .lt. dmin ) then - dmin=dd - cw=ce - nhardmin=sum(nxor) - endif - goto 778 - endif - enddo - call nextpat(misub,K,nord,iflag) - enddo -endif - -998 continue -! Re-order the codeword to place message bits at the end. -cw(indices)=cw -hdec(indices)=hdec -decoded=cw(M+1:N) -cw(colorder+1)=cw ! put the codeword back into received-word order -return -end subroutine osd174 - -subroutine mrbencode(me,codeword,g2,N,K) -integer*1 me(K),codeword(N),g2(N,K) -! fast encoding for low-weight test patterns - codeword=0 - do i=1,K - if( me(i) .eq. 1 ) then - codeword=ieor(codeword,g2(1:N,i)) - endif - enddo -return -end subroutine mrbencode - -subroutine nextpat(mi,k,iorder,iflag) - integer*1 mi(k),ms(k) -! generate the next test error pattern - ind=-1 - do i=1,k-1 - if( mi(i).eq.0 .and. mi(i+1).eq.1) ind=i - enddo - if( ind .lt. 0 ) then ! no more patterns of this order - iflag=ind - return - endif - ms=0 - ms(1:ind-1)=mi(1:ind-1) - ms(ind)=1 - ms(ind+1)=0 - if( ind+1 .lt. k ) then - nz=iorder-sum(ms) - ms(k-nz+1:k)=1 - endif - mi=ms - do i=1,k ! iflag will point to the lowest-index 1 in mi - if(mi(i).eq.1) then - iflag=i - exit - endif - enddo - return -end subroutine nextpat - -subroutine boxit(reset,e2,ntau,npindex,i1,i2) - integer*1 e2(1:ntau) - integer indexes(4000,2),fp(0:525000),np(4000) - logical reset - common/boxes/indexes,fp,np - - if(reset) then - patterns=-1 - fp=-1 - np=-1 - sc=-1 - indexes=-1 - reset=.false. - endif - - indexes(npindex,1)=i1 - indexes(npindex,2)=i2 - ipat=0 - do i=1,ntau - if(e2(i).eq.1) then - ipat=ipat+ishft(1,ntau-i) - endif - enddo - - ip=fp(ipat) ! see what's currently stored in fp(ipat) - if(ip.eq.-1) then - fp(ipat)=npindex - else - do while (np(ip).ne.-1) - ip=np(ip) - enddo - np(ip)=npindex - endif - return -end subroutine boxit - -subroutine fetchit(reset,e2,ntau,i1,i2) - integer indexes(4000,2),fp(0:525000),np(4000) - integer lastpat - integer*1 e2(ntau) - logical reset - common/boxes/indexes,fp,np - save lastpat,inext - - if(reset) then - lastpat=-1 - reset=.false. - endif - - ipat=0 - do i=1,ntau - if(e2(i).eq.1) then - ipat=ipat+ishft(1,ntau-i) - endif - enddo - index=fp(ipat) - - if(lastpat.ne.ipat .and. index.gt.0) then ! return first set of indices - i1=indexes(index,1) - i2=indexes(index,2) - inext=np(index) - elseif(lastpat.eq.ipat .and. inext.gt.0) then - i1=indexes(inext,1) - i2=indexes(inext,2) - inext=np(inext) - else - i1=-1 - i2=-1 - inext=-1 - endif - lastpat=ipat - return -end subroutine fetchit - diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index b265ad7ba..45ff68254 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -4793,7 +4793,7 @@ bool MainWindow::stdCall(QString w) if(i1==99 and (c>="A" and c<="Z")) i1=i; if(c>="0" and c<="9") i2=i; } - if(i1!=0 and i1!=1) return false; //One of the firat two characters must be a letter + if(i1!=0 and i1!=1) return false; //One of the first two characters must be a letter if(i2>2) return false; //No digits allowed after the 3rd character for(int i=i2+1; i Date: Wed, 5 Dec 2018 07:00:20 -0500 Subject: [PATCH 38/62] Fix a typo. --- doc/user_guide/en/new_features.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/user_guide/en/new_features.adoc b/doc/user_guide/en/new_features.adoc index aed97945a..2ed33ffd2 100644 --- a/doc/user_guide/en/new_features.adoc +++ b/doc/user_guide/en/new_features.adoc @@ -13,7 +13,7 @@ added to _WSJT-X_ since Version 1.9.1: * Integration with N1MM+ and WriteLog for contesting -* IMproved support for compound and nonstandard callsigns +* Improved support for compound and nonstandard callsigns * Nearly equal (or better) sensitivity compared to old protocols From d8f7354c0e088e4840c528d0a050fc6258cad66a Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Wed, 5 Dec 2018 08:19:59 -0500 Subject: [PATCH 39/62] Make fmtmsg aware of both message sizes, 22 and 37 chars. --- lib/fmtmsg.f90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/fmtmsg.f90 b/lib/fmtmsg.f90 index 2ceb81554..81789e2a9 100644 --- a/lib/fmtmsg.f90 +++ b/lib/fmtmsg.f90 @@ -1,16 +1,16 @@ subroutine fmtmsg(msg,iz) - character*22 msg + character*(*) msg ! Convert all letters to upper case - iz=22 - do i=1,22 + iz=len(msg) + do i=1,iz if(msg(i:i).ge.'a' .and. msg(i:i).le.'z') & msg(i:i)= char(ichar(msg(i:i))+ichar('A')-ichar('a')) if(msg(i:i).ne.' ') iz=i enddo - do iter=1,5 !Collapse multiple blanks into one + do iter=1,37 !Collapse multiple blanks into one ib2=index(msg(1:iz),' ') if(ib2.lt.1) go to 100 msg=msg(1:ib2)//msg(ib2+2:) From 93377c789e979a81cdf399d0b72110fa7253b03d Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Wed, 5 Dec 2018 09:52:13 -0500 Subject: [PATCH 40/62] More tweaks to the v2.0 User Guide. --- doc/common/links.adoc | 2 +- doc/user_guide/en/images/colors.png | Bin 29143 -> 30521 bytes doc/user_guide/en/settings-colors.adoc | 13 ++++++++----- doc/user_guide/en/settings-frequencies.adoc | 6 +++--- doc/user_guide/en/tutorial-example3.adoc | 7 ++++--- doc/user_guide/en/wsjtx-main.adoc | 2 +- 6 files changed, 17 insertions(+), 13 deletions(-) diff --git a/doc/common/links.adoc b/doc/common/links.adoc index 754b93570..158400854 100644 --- a/doc/common/links.adoc +++ b/doc/common/links.adoc @@ -67,7 +67,7 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :fmt_group: https://groups.yahoo.com/neo/groups/FMT-nuts/info[FMT Group] :fmt_k5cm: http://www.k5cm.com/[FMT Event Info] :fmt_wspr: http://www.physics.princeton.edu/pulsar/K1JT/FMT_User.pdf[Accurate Frequency Measurements with your WSPR Setup] -:ft8_tips: http://www.physics.princeton.edu/pulsar/K1JT/FT8_Operating_Tips.pdf[here] +:ft8_tips: http://www.g4ifb.com/FT8_Hinson_tips_for_HF_DXers.pdf[FT8 Operating Guide] :ft8_DXped: http://physics.princeton.edu/pulsar/k1jt/FT8_DXpedition_Mode.pdf[FT8 DXpedition Mode] :gnu_gpl: http://www.gnu.org/licenses/gpl-3.0.txt[GNU General Public License] :homepage: http://physics.princeton.edu/pulsar/K1JT/[WSJT Home Page] diff --git a/doc/user_guide/en/images/colors.png b/doc/user_guide/en/images/colors.png index 7c6813529f0c65aa52e230a1110802a8e72113d1..8845ada9cc9a236068e77b5f72f226550c172eb4 100644 GIT binary patch literal 30521 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 EKeB>fFaQ7m literal 29143 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 diff --git a/doc/user_guide/en/settings-colors.adoc b/doc/user_guide/en/settings-colors.adoc index 3a67d228a..fc2f748bc 100644 --- a/doc/user_guide/en/settings-colors.adoc +++ b/doc/user_guide/en/settings-colors.adoc @@ -1,7 +1,10 @@ image::colors.png[align="center",alt="Colors Screen"] -_WSJT-X_ uses colors to highlight decoded messages containing -information of particular interest. Check the box to select any -that interest you. Drag any line up or down to raise or lower -its logical priority. Right-click any line to select a new -foreground or background color. +_WSJT-X_ uses colors to highlight decoded CQ messages of particular +interest. Check the box *Show DXCC, grid, and worked-before status* +on the *Settings | General* tab, and any boxes of interest to you on +the *Colors* tab. You can drag any line up or down to raise or lower +its logical priority. Right-click any line to set a new foreground or +background color. Foreground and background colors are applied +separately, and careful choices of foreground, background, and +priority can provide two indications of worked-before status. diff --git a/doc/user_guide/en/settings-frequencies.adoc b/doc/user_guide/en/settings-frequencies.adoc index bebf6a313..5cdf26dbd 100644 --- a/doc/user_guide/en/settings-frequencies.adoc +++ b/doc/user_guide/en/settings-frequencies.adoc @@ -4,9 +4,9 @@ image::settings-frequencies.png[align="center",alt="Frequency Screen"] _Working Frequencies_: By default the *Working Frequencies* table -contains a list of frequencies conventionally used for modes JT4, JT9, -JT65, MSK144, WSPR, and Echo. Conventions may change with time or -by user preference; you can modify the frequency table as desired. +contains a list of frequencies conventionally used for modes FT8, JT4, +JT9, JT65, MSK144, WSPR, and Echo. Conventions may change with time +or by user preference; you can modify the frequency table as desired. - To change an existing entry, double-click to edit it, type a desired frequency in MHz or select from the drop down list of options, then diff --git a/doc/user_guide/en/tutorial-example3.adoc b/doc/user_guide/en/tutorial-example3.adoc index 3f2ee03f6..931067760 100644 --- a/doc/user_guide/en/tutorial-example3.adoc +++ b/doc/user_guide/en/tutorial-example3.adoc @@ -46,13 +46,14 @@ when double-clicking. NOTE: To avoid QRM from competing callers, it is frequently desirable to answer a CQ on a different frequency from that of the CQing station. The same is true when you tail-end another QSO. Choose a Tx -frequency that appears to be not in use. +frequency that appears to be not in use. You might want to check the +box *Hold Tx Freq*. NOTE: Keyboard shortcuts *Shift+F11* and *Shift+F12* provide an easy way to move your Tx frequency down or up in 60 Hz steps. -NOTE: Further helpful tips on FT8 operating procedures are available -{ft8_tips}. Thanks to ZL2IFB! +NOTE: An online {ft8_tips} by ZL2IFB offers many helpful tips on +operating procedures. .FT8 DXpedition Mode: diff --git a/doc/user_guide/en/wsjtx-main.adoc b/doc/user_guide/en/wsjtx-main.adoc index aa4a9aa57..704ad74c4 100644 --- a/doc/user_guide/en/wsjtx-main.adoc +++ b/doc/user_guide/en/wsjtx-main.adoc @@ -1,5 +1,5 @@ // This is a comment line, anything with // is ignored at process time. -= _WSJT-X_ User Guide += _WSJT-X 2.0_ User Guide Joseph H Taylor, Jr, K1JT :revnumber: {VERSION} // For web-pages, adding :badges: is ok, but is a security issue for From c8853cb90cce82e46a0ecfabb9c596abe32d47ae Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Wed, 5 Dec 2018 13:47:36 -0600 Subject: [PATCH 41/62] Use regex to decide how the GUI formats the Tx messages for subsequent packing by packjt77. Ensure that C4XMAS is properly flagged as a non-standard callsign. --- widgets/mainwindow.cpp | 32 ++++++++++---------------------- widgets/mainwindow.h | 2 +- 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 45ff68254..841ae496c 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -4777,29 +4777,17 @@ void MainWindow::abortQSO() ui->txrb6->setChecked(true); } -bool MainWindow::stdCall(QString w) +bool MainWindow::stdCall(QString const& w) { - int n=w.trimmed().length(); -//Treat /P and /R as special cases: strip them off for this test. - if(w.mid(n-2,2)=="/P") w=w.left(n-2); - if(w.mid(n-2,2)=="/R") w=w.left(n-2); - n=w.trimmed().length(); - if(n>6) return false; //Callsigns longer than 6 chars are nonstandard - w=w.toUpper(); - int i1=99; // index of first letter - int i2=-1; // index of last digit - for(int i=0; i="A" and c<="Z")) i1=i; - if(c>="0" and c<="9") i2=i; - } - if(i1!=0 and i1!=1) return false; //One of the first two characters must be a letter - if(i2>2) return false; //No digits allowed after the 3rd character - for(int i=i2+1; i"Z") return false; //Anything after final digit must be a letter - } - return true; + static QRegularExpression standard_call_re { + R"( + ^\s* # optional leading spaces + ( [A-Z]{0,2} | [A-Z][0-9] | [0-9][A-Z] ) # part 1 + ( [0-9][A-Z]{0,3} ) # part 2 + (/R | /P)? # optional suffix + \s*$ # optional trailing spaces + )", QRegularExpression::CaseInsensitiveOption | QRegularExpression::ExtendedPatternSyntaxOption}; + return standard_call_re.match (w).hasMatch (); } void MainWindow::genStdMsgs(QString rpt, bool unconditional) diff --git a/widgets/mainwindow.h b/widgets/mainwindow.h index 6a2527440..428ea6890 100644 --- a/widgets/mainwindow.h +++ b/widgets/mainwindow.h @@ -305,7 +305,7 @@ private slots: void not_GA_warning_message (); void checkMSK144ContestType(); int setTxMsg(int n); - bool stdCall(QString w); + bool stdCall(QString const& w); private: Q_SIGNAL void initializeAudioOutputStream (QAudioDeviceInfo, From 044a126278441549b2e60d9b33d62460f0e048e4 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Wed, 5 Dec 2018 15:54:42 -0500 Subject: [PATCH 42/62] Proposed wording for the v2.0 GA startup message. --- widgets/mainwindow.cpp | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index b265ad7ba..33f74911e 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -955,17 +955,12 @@ void MainWindow::not_GA_warning_message () QDateTime timeout=QDateTime(QDate(2018,12,31)); MessageBox::critical_message (this, - "This version of WSJT-X is a beta-level Release Candidate.\n\n" - "IMPORTANT: WSJT-X 2.0 cannot communicate with other\n" - "stations using the FT8 or MSK144 protocols in WSJT-X v1.9.1\n" - "or earlier.\n\n" - "On December 10, 2018, the new FT8 and MSK144 protocols\n" - "will become the standard. Everyone should upgrade to\n" - "WSJT-X 2.0 by January 1, 2019.\n\n" - "On-the-air use carries an obligation to report problems\n" - "to the WSJT Development group and to upgrade to a GA\n" - "(General Availability) release when it becomes available.\n\n" - "This version cannot be used after December 31, 2018.\n\n"); + "IMPORTANT: New protocols for the FT8 and MSK144 modes\n" + "became the world-wide standards on December 10, 2019.\n\n" + "WSJT-X 2.0 cannot communicate in these modes with other\n" + "stations using WSJT-X v1.9.1 or earlier.\n\n" + "Please help by urging everyone to upgrade to WSJT-X 2.0\n" + "no later than January 1, 2019.\n"); if(now.daysTo(timeout) < 0) Q_EMIT finished(); } From 337bae6d0d14bf62a4d36d0060e2e99422dfc82c Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Wed, 5 Dec 2018 16:06:33 -0600 Subject: [PATCH 43/62] Housekeeping. Remove unused code and unused variables. Silence some compiler warnings. --- CMakeLists.txt | 4 - lib/crc.f90 | 16 -- lib/crc12.cpp | 31 --- lib/decoder.f90 | 4 +- lib/ft8/bpdecode174.f90 | 401 -------------------------------------- lib/ft8/chkcrc12a.f90 | 24 --- lib/ft8/foxgen.f90 | 1 - lib/ft8/ft8apset.f90 | 1 - lib/ft8/ft8b.f90 | 5 +- lib/ft8/ft8code.f90 | 9 +- lib/ft8/ft8sim.f90 | 2 +- lib/msk144code.f90 | 8 +- lib/msk144decodeframe.f90 | 2 +- lib/msk144sim.f90 | 1 - 14 files changed, 12 insertions(+), 497 deletions(-) delete mode 100644 lib/crc12.cpp delete mode 100644 lib/ft8/bpdecode174.f90 delete mode 100644 lib/ft8/chkcrc12a.f90 diff --git a/CMakeLists.txt b/CMakeLists.txt index a2717dca8..3e7e816bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -322,14 +322,12 @@ set (wsjtx_CXXSRCS set (wsjt_CXXSRCS lib/crc10.cpp - lib/crc12.cpp lib/crc13.cpp lib/crc14.cpp ) # deal with a GCC v6 UB error message set_source_files_properties ( lib/crc10.cpp - lib/crc12.cpp lib/crc13.cpp lib/crc14.cpp PROPERTIES COMPILE_FLAGS -fpermissive) @@ -384,13 +382,11 @@ set (wsjt_FSRCS lib/ft8/baseline.f90 lib/bpdecode40.f90 lib/bpdecode128_90.f90 - lib/ft8/bpdecode174.f90 lib/ft8/bpdecode174_91.f90 lib/baddata.f90 lib/calibrate.f90 lib/ccf2.f90 lib/ccf65.f90 - lib/ft8/chkcrc12a.f90 lib/ft8/chkcrc13a.f90 lib/ft8/chkcrc14a.f90 lib/chkcall.f90 diff --git a/lib/crc.f90 b/lib/crc.f90 index a36e364f9..f0cd17e32 100644 --- a/lib/crc.f90 +++ b/lib/crc.f90 @@ -34,22 +34,6 @@ module crc integer (c_int), value :: length end function crc13_check - function crc12 (data, length) bind (C, name="crc12") - use, intrinsic :: iso_c_binding, only: c_short, c_ptr, c_int - implicit none - integer (c_short) :: crc12 - type (c_ptr), value :: data - integer (c_int), value :: length - end function crc12 - - function crc12_check (data, length) bind (C, name="crc12_check") - use, intrinsic :: iso_c_binding, only: c_bool, c_ptr, c_int - implicit none - logical (c_bool) :: crc12_check - type (c_ptr), value :: data - integer (c_int), value :: length - end function crc12_check - function crc10 (data, length) bind (C, name="crc10") use, intrinsic :: iso_c_binding, only: c_short, c_ptr, c_int implicit none diff --git a/lib/crc12.cpp b/lib/crc12.cpp deleted file mode 100644 index 44e50fe71..000000000 --- a/lib/crc12.cpp +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include - -extern "C" -{ - short crc12 (unsigned char const * data, int length); - bool crc12_check (unsigned char const * data, int length); -} - -#define POLY 0xc06 - -#ifdef BOOST_NO_CXX11_CONSTEXPR -#define TRUNCATED_POLYNOMIAL POLY -#else -namespace -{ - unsigned long constexpr TRUNCATED_POLYNOMIAL = POLY; -} -#endif - -// assumes CRC is last 16 bits of the data and is set to zero -// caller should assign the returned CRC into the message in big endian byte order -short crc12 (unsigned char const * data, int length) -{ - return boost::augmented_crc<12, TRUNCATED_POLYNOMIAL> (data, length); -} - -bool crc12_check (unsigned char const * data, int length) -{ - return !boost::augmented_crc<12, TRUNCATED_POLYNOMIAL> (data, length); -} diff --git a/lib/decoder.f90 b/lib/decoder.f90 index e1fb40436..730c59d12 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -470,8 +470,8 @@ contains real, intent(in) :: dt real, intent(in) :: freq character(len=37), intent(in) :: decoded - character c1*12,c2*12,g2*4,w*4,ctmp*12 - integer i0,i1,i2,i3,i4,i5,i6,n30,nwrap + character c1*12,c2*12,g2*4,w*4 + integer i0,i1,i2,i3,i4,i5,n30,nwrap integer, intent(in) :: nap real, intent(in) :: qual character*2 annot diff --git a/lib/ft8/bpdecode174.f90 b/lib/ft8/bpdecode174.f90 deleted file mode 100644 index 9442cc4a1..000000000 --- a/lib/ft8/bpdecode174.f90 +++ /dev/null @@ -1,401 +0,0 @@ -subroutine bpdecode174(llr,apmask,maxiterations,decoded,cw,nharderror,iter) -! -! A log-domain belief propagation decoder for the (174,87) code. -! -integer, parameter:: N=174, K=87, M=N-K -integer*1 codeword(N),cw(N),apmask(N) -integer colorder(N) -integer*1 decoded(K) -integer Nm(7,M) ! 5, 6, or 7 bits per check -integer Mn(3,N) ! 3 checks per bit -integer synd(M) -real tov(3,N) -real toc(7,M) -real tanhtoc(7,M) -real zn(N) -real llr(N) -real Tmn -integer nrw(M) - -data colorder/ & - 0, 1, 2, 3, 30, 4, 5, 6, 7, 8, 9, 10, 11, 32, 12, 40, 13, 14, 15, 16,& - 17, 18, 37, 45, 29, 19, 20, 21, 41, 22, 42, 31, 33, 34, 44, 35, 47, 51, 50, 43,& - 36, 52, 63, 46, 25, 55, 27, 24, 23, 53, 39, 49, 59, 38, 48, 61, 60, 57, 28, 62,& - 56, 58, 65, 66, 26, 70, 64, 69, 68, 67, 74, 71, 54, 76, 72, 75, 78, 77, 80, 79,& - 73, 83, 84, 81, 82, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,& - 100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,& - 120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,& - 140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,& - 160,161,162,163,164,165,166,167,168,169,170,171,172,173/ - -data Mn/ & - 1, 25, 69, & - 2, 5, 73, & - 3, 32, 68, & - 4, 51, 61, & - 6, 63, 70, & - 7, 33, 79, & - 8, 50, 86, & - 9, 37, 43, & - 10, 41, 65, & - 11, 14, 64, & - 12, 75, 77, & - 13, 23, 81, & - 15, 16, 82, & - 17, 56, 66, & - 18, 53, 60, & - 19, 31, 52, & - 20, 67, 84, & - 21, 29, 72, & - 22, 24, 44, & - 26, 35, 76, & - 27, 36, 38, & - 28, 40, 42, & - 30, 54, 55, & - 34, 49, 87, & - 39, 57, 58, & - 45, 74, 83, & - 46, 62, 80, & - 47, 48, 85, & - 59, 71, 78, & - 1, 50, 53, & - 2, 47, 84, & - 3, 25, 79, & - 4, 6, 14, & - 5, 7, 80, & - 8, 34, 55, & - 9, 36, 69, & - 10, 43, 83, & - 11, 23, 74, & - 12, 17, 44, & - 13, 57, 76, & - 15, 27, 56, & - 16, 28, 29, & - 18, 19, 59, & - 20, 40, 63, & - 21, 35, 52, & - 22, 54, 64, & - 24, 62, 78, & - 26, 32, 77, & - 30, 72, 85, & - 31, 65, 87, & - 33, 39, 51, & - 37, 48, 75, & - 38, 70, 71, & - 41, 42, 68, & - 45, 67, 86, & - 46, 81, 82, & - 49, 66, 73, & - 58, 60, 66, & - 61, 65, 85, & - 1, 14, 21, & - 2, 13, 59, & - 3, 67, 82, & - 4, 32, 73, & - 5, 36, 54, & - 6, 43, 46, & - 7, 28, 75, & - 8, 33, 71, & - 9, 49, 76, & - 10, 58, 64, & - 11, 48, 68, & - 12, 19, 45, & - 15, 50, 61, & - 16, 22, 26, & - 17, 72, 80, & - 18, 40, 55, & - 20, 35, 51, & - 23, 25, 34, & - 24, 63, 87, & - 27, 39, 74, & - 29, 78, 83, & - 30, 70, 77, & - 31, 69, 84, & - 22, 37, 86, & - 38, 41, 81, & - 42, 44, 57, & - 47, 53, 62, & - 52, 56, 79, & - 60, 75, 81, & - 1, 39, 77, & - 2, 16, 41, & - 3, 31, 54, & - 4, 36, 78, & - 5, 45, 65, & - 6, 57, 85, & - 7, 14, 49, & - 8, 21, 46, & - 9, 15, 72, & - 10, 20, 62, & - 11, 17, 71, & - 12, 34, 47, & - 13, 68, 86, & - 18, 23, 43, & - 19, 64, 73, & - 24, 48, 79, & - 25, 70, 83, & - 26, 80, 87, & - 27, 32, 40, & - 28, 56, 69, & - 29, 63, 66, & - 30, 42, 50, & - 33, 37, 82, & - 35, 60, 74, & - 38, 55, 84, & - 44, 52, 61, & - 51, 53, 72, & - 58, 59, 67, & - 47, 56, 76, & - 1, 19, 37, & - 2, 61, 75, & - 3, 8, 66, & - 4, 60, 84, & - 5, 34, 39, & - 6, 26, 53, & - 7, 32, 57, & - 9, 52, 67, & - 10, 12, 15, & - 11, 51, 69, & - 13, 14, 65, & - 16, 31, 43, & - 17, 20, 36, & - 18, 80, 86, & - 21, 48, 59, & - 22, 40, 46, & - 23, 33, 62, & - 24, 30, 74, & - 25, 42, 64, & - 27, 49, 85, & - 28, 38, 73, & - 29, 44, 81, & - 35, 68, 70, & - 41, 63, 76, & - 45, 49, 71, & - 50, 58, 87, & - 48, 54, 83, & - 13, 55, 79, & - 77, 78, 82, & - 1, 2, 24, & - 3, 6, 75, & - 4, 56, 87, & - 5, 44, 53, & - 7, 50, 83, & - 8, 10, 28, & - 9, 55, 62, & - 11, 29, 67, & - 12, 33, 40, & - 14, 16, 20, & - 15, 35, 73, & - 17, 31, 39, & - 18, 36, 57, & - 19, 46, 76, & - 21, 42, 84, & - 22, 34, 59, & - 23, 26, 61, & - 25, 60, 65, & - 27, 64, 80, & - 30, 37, 66, & - 32, 45, 72, & - 38, 51, 86, & - 41, 77, 79, & - 43, 56, 68, & - 47, 74, 82, & - 40, 52, 78, & - 54, 61, 71, & - 46, 58, 69/ - -data Nm/ & - 1, 30, 60, 89, 118, 147, 0, & - 2, 31, 61, 90, 119, 147, 0, & - 3, 32, 62, 91, 120, 148, 0, & - 4, 33, 63, 92, 121, 149, 0, & - 2, 34, 64, 93, 122, 150, 0, & - 5, 33, 65, 94, 123, 148, 0, & - 6, 34, 66, 95, 124, 151, 0, & - 7, 35, 67, 96, 120, 152, 0, & - 8, 36, 68, 97, 125, 153, 0, & - 9, 37, 69, 98, 126, 152, 0, & - 10, 38, 70, 99, 127, 154, 0, & - 11, 39, 71, 100, 126, 155, 0, & - 12, 40, 61, 101, 128, 145, 0, & - 10, 33, 60, 95, 128, 156, 0, & - 13, 41, 72, 97, 126, 157, 0, & - 13, 42, 73, 90, 129, 156, 0, & - 14, 39, 74, 99, 130, 158, 0, & - 15, 43, 75, 102, 131, 159, 0, & - 16, 43, 71, 103, 118, 160, 0, & - 17, 44, 76, 98, 130, 156, 0, & - 18, 45, 60, 96, 132, 161, 0, & - 19, 46, 73, 83, 133, 162, 0, & - 12, 38, 77, 102, 134, 163, 0, & - 19, 47, 78, 104, 135, 147, 0, & - 1, 32, 77, 105, 136, 164, 0, & - 20, 48, 73, 106, 123, 163, 0, & - 21, 41, 79, 107, 137, 165, 0, & - 22, 42, 66, 108, 138, 152, 0, & - 18, 42, 80, 109, 139, 154, 0, & - 23, 49, 81, 110, 135, 166, 0, & - 16, 50, 82, 91, 129, 158, 0, & - 3, 48, 63, 107, 124, 167, 0, & - 6, 51, 67, 111, 134, 155, 0, & - 24, 35, 77, 100, 122, 162, 0, & - 20, 45, 76, 112, 140, 157, 0, & - 21, 36, 64, 92, 130, 159, 0, & - 8, 52, 83, 111, 118, 166, 0, & - 21, 53, 84, 113, 138, 168, 0, & - 25, 51, 79, 89, 122, 158, 0, & - 22, 44, 75, 107, 133, 155, 172, & - 9, 54, 84, 90, 141, 169, 0, & - 22, 54, 85, 110, 136, 161, 0, & - 8, 37, 65, 102, 129, 170, 0, & - 19, 39, 85, 114, 139, 150, 0, & - 26, 55, 71, 93, 142, 167, 0, & - 27, 56, 65, 96, 133, 160, 174, & - 28, 31, 86, 100, 117, 171, 0, & - 28, 52, 70, 104, 132, 144, 0, & - 24, 57, 68, 95, 137, 142, 0, & - 7, 30, 72, 110, 143, 151, 0, & - 4, 51, 76, 115, 127, 168, 0, & - 16, 45, 87, 114, 125, 172, 0, & - 15, 30, 86, 115, 123, 150, 0, & - 23, 46, 64, 91, 144, 173, 0, & - 23, 35, 75, 113, 145, 153, 0, & - 14, 41, 87, 108, 117, 149, 170, & - 25, 40, 85, 94, 124, 159, 0, & - 25, 58, 69, 116, 143, 174, 0, & - 29, 43, 61, 116, 132, 162, 0, & - 15, 58, 88, 112, 121, 164, 0, & - 4, 59, 72, 114, 119, 163, 173, & - 27, 47, 86, 98, 134, 153, 0, & - 5, 44, 78, 109, 141, 0, 0, & - 10, 46, 69, 103, 136, 165, 0, & - 9, 50, 59, 93, 128, 164, 0, & - 14, 57, 58, 109, 120, 166, 0, & - 17, 55, 62, 116, 125, 154, 0, & - 3, 54, 70, 101, 140, 170, 0, & - 1, 36, 82, 108, 127, 174, 0, & - 5, 53, 81, 105, 140, 0, 0, & - 29, 53, 67, 99, 142, 173, 0, & - 18, 49, 74, 97, 115, 167, 0, & - 2, 57, 63, 103, 138, 157, 0, & - 26, 38, 79, 112, 135, 171, 0, & - 11, 52, 66, 88, 119, 148, 0, & - 20, 40, 68, 117, 141, 160, 0, & - 11, 48, 81, 89, 146, 169, 0, & - 29, 47, 80, 92, 146, 172, 0, & - 6, 32, 87, 104, 145, 169, 0, & - 27, 34, 74, 106, 131, 165, 0, & - 12, 56, 84, 88, 139, 0, 0, & - 13, 56, 62, 111, 146, 171, 0, & - 26, 37, 80, 105, 144, 151, 0, & - 17, 31, 82, 113, 121, 161, 0, & - 28, 49, 59, 94, 137, 0, 0, & - 7, 55, 83, 101, 131, 168, 0, & - 24, 50, 78, 106, 143, 149, 0/ - -data nrw/ & - 6,6,6,6,6,6,6,6,6,6, & - 6,6,6,6,6,6,6,6,6,6, & - 6,6,6,6,6,6,6,6,6,6, & - 6,6,6,6,6,6,6,6,6,7, & - 6,6,6,6,6,7,6,6,6,6, & - 6,6,6,6,6,7,6,6,6,6, & - 7,6,5,6,6,6,6,6,6,5, & - 6,6,6,6,6,6,6,6,6,6, & - 5,6,6,6,5,6,6/ - -ncw=3 - -decoded=0 -toc=0 -tov=0 -tanhtoc=0 -! initialize messages to checks -do j=1,M - do i=1,nrw(j) - toc(i,j)=llr((Nm(i,j))) - enddo -enddo - -ncnt=0 - -do iter=0,maxiterations - -! Update bit log likelihood ratios (tov=0 in iteration 0). - do i=1,N - if( apmask(i) .ne. 1 ) then - zn(i)=llr(i)+sum(tov(1:ncw,i)) - else - zn(i)=llr(i) - endif - enddo - -! Check to see if we have a codeword (check before we do any iteration). - cw=0 - where( zn .gt. 0. ) cw=1 - ncheck=0 - do i=1,M - synd(i)=sum(cw(Nm(1:nrw(i),i))) - if( mod(synd(i),2) .ne. 0 ) ncheck=ncheck+1 -! if( mod(synd(i),2) .ne. 0 ) write(*,*) 'check ',i,' unsatisfied' - enddo -! write(*,*) 'number of unsatisfied parity checks ',ncheck - if( ncheck .eq. 0 ) then ! we have a codeword - reorder the columns and return it - codeword=cw(colorder+1) - decoded=codeword(M+1:N) - nerr=0 - do i=1,N - if( (2*cw(i)-1)*llr(i) .lt. 0.0 ) nerr=nerr+1 - enddo - nharderror=nerr - return - endif - - if( iter.gt.0 ) then ! this code block implements an early stopping criterion -! if( iter.gt.10000 ) then ! this code block implements an early stopping criterion - nd=ncheck-nclast - if( nd .lt. 0 ) then ! # of unsatisfied parity checks decreased - ncnt=0 ! reset counter - else - ncnt=ncnt+1 - endif -! write(*,*) iter,ncheck,nd,ncnt - if( ncnt .ge. 5 .and. iter .ge. 10 .and. ncheck .gt. 15) then - nharderror=-1 - return - endif - endif - nclast=ncheck - -! Send messages from bits to check nodes - do j=1,M - do i=1,nrw(j) - ibj=Nm(i,j) - toc(i,j)=zn(ibj) - do kk=1,ncw ! subtract off what the bit had received from the check - if( Mn(kk,ibj) .eq. j ) then - toc(i,j)=toc(i,j)-tov(kk,ibj) - endif - enddo - enddo - enddo - -! send messages from check nodes to variable nodes - do i=1,M - tanhtoc(1:7,i)=tanh(-toc(1:7,i)/2) - enddo - - do j=1,N - do i=1,ncw - ichk=Mn(i,j) ! Mn(:,j) are the checks that include bit j - Tmn=product(tanhtoc(1:nrw(ichk),ichk),mask=Nm(1:nrw(ichk),ichk).ne.j) - call platanh(-Tmn,y) -! y=atanh(-Tmn) - tov(i,j)=2*y - enddo - enddo - -enddo -nharderror=-1 -return -end subroutine bpdecode174 diff --git a/lib/ft8/chkcrc12a.f90 b/lib/ft8/chkcrc12a.f90 deleted file mode 100644 index fc4291907..000000000 --- a/lib/ft8/chkcrc12a.f90 +++ /dev/null @@ -1,24 +0,0 @@ -subroutine chkcrc12a(decoded,nbadcrc) - - use crc - integer*1 decoded(87) - integer*1, target:: i1Dec8BitBytes(11) - character*87 cbits - -! Write decoded bits into cbits: 75-bit message plus 12-bit CRC - write(cbits,1000) decoded -1000 format(87i1) - read(cbits,1001) i1Dec8BitBytes -1001 format(11b8) - read(cbits,1002) ncrc12 !Received CRC12 -1002 format(75x,b12) - - i1Dec8BitBytes(10)=iand(i1Dec8BitBytes(10),128+64+32) - i1Dec8BitBytes(11)=0 - icrc12=crc12(c_loc(i1Dec8BitBytes),11) !CRC12 computed from 75 msg bits - - nbadcrc=1 - if(ncrc12.eq.icrc12) nbadcrc=0 - - return -end subroutine chkcrc12a diff --git a/lib/ft8/foxgen.f90 b/lib/ft8/foxgen.f90 index 806b20648..7492a6f70 100644 --- a/lib/ft8/foxgen.f90 +++ b/lib/ft8/foxgen.f90 @@ -20,7 +20,6 @@ subroutine foxgen() character*37 msg,msgsent integer itone(79) integer*1 msgbits(77),msgbits2 - integer*1, target:: i1Msg8BitBytes(11) integer*1, target:: mycall real x(NFFT) real*8 dt,twopi,f0,fstep,dfreq,phi,dphi diff --git a/lib/ft8/ft8apset.f90 b/lib/ft8/ft8apset.f90 index 2fac41969..15eddd057 100644 --- a/lib/ft8/ft8apset.f90 +++ b/lib/ft8/ft8apset.f90 @@ -4,7 +4,6 @@ subroutine ft8apset(mycall12,hiscall12,apsym) character*37 msg character*12 mycall12,hiscall12,hiscall integer apsym(58) - integer*1 msgbits(77) logical nohiscall if(len(trim(mycall12)).eq.0) then diff --git a/lib/ft8/ft8b.f90 b/lib/ft8/ft8b.f90 index 0f075aad2..5db48341a 100644 --- a/lib/ft8/ft8b.f90 +++ b/lib/ft8/ft8b.f90 @@ -7,12 +7,10 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & use packjt77 include 'ft8_params.f90' parameter(NP2=2812) - character*37 msg37,msgsent37 + character*37 msg37 character*12 mycall12,hiscall12,hiscall12_0 character*77 c77 - character*6 mycall6,hiscall6,c1,c2 character*13 c13 - character*87 cbits real a(5) real s8(0:7,NN) real s2(0:511),s2l(0:511) @@ -28,7 +26,6 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & integer nappasses(0:5) !Number of decoding passes to use for each QSO state integer naptypes(0:5,4) ! (nQSOProgress, decoding pass) maximum of 4 passes for now integer ncontest,ncontest0 - integer*1, target:: i1hiscall(12) logical one(0:511,0:8) integer graymap(0:7) complex cd0(0:3199) diff --git a/lib/ft8/ft8code.f90 b/lib/ft8/ft8code.f90 index c20aaaa38..cbafd34be 100644 --- a/lib/ft8/ft8code.f90 +++ b/lib/ft8/ft8code.f90 @@ -8,14 +8,11 @@ program ft8code include 'ft8_testmsg.f90' parameter (NWAVE=NN*NSPS) - character*77 c77 character*37 msg,msgsent character*9 comment - character bad*1,msgtype*16 - character*91 cbits + character bad*1,msgtype*18 integer itone(NN) integer*1 msgbits(77) - logical unpk77_success ! Get command-line argument(s) nargs=iargc() @@ -69,10 +66,10 @@ program ft8code if(msg.ne.msgsent) bad="*" if(n3.ge.0) then write(*,1020) imsg,msg,msgsent,bad,i3,n3,msgtype,comment -1020 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',i1,1x,a16,1x,a9) +1020 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',i1,1x,a18,1x,a9) else write(*,1022) imsg,msg,msgsent,bad,i3,msgtype,comment -1022 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',1x,1x,a16,1x,a9) +1022 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',1x,1x,a18,1x,a9) endif enddo diff --git a/lib/ft8/ft8sim.f90 b/lib/ft8/ft8sim.f90 index a1de4061f..e43850daf 100644 --- a/lib/ft8/ft8sim.f90 +++ b/lib/ft8/ft8sim.f90 @@ -9,7 +9,7 @@ program ft8sim parameter (NWAVE=NN*NSPS) type(hdr) h !Header for .wav file character arg*12,fname*17 - character msg37*37,msgsent37*37,msg40*40 + character msg37*37,msgsent37*37 character c77*77 complex c0(0:NMAX-1) complex c(0:NMAX-1) diff --git a/lib/msk144code.f90 b/lib/msk144code.f90 index 6c8963d01..81a185159 100644 --- a/lib/msk144code.f90 +++ b/lib/msk144code.f90 @@ -5,7 +5,7 @@ program msk144code use packjt77 character*77 c77 - character msg*37,msgsent*37,decoded,bad*1,msgtype*16 + character msg*37,msgsent*37,decoded,bad*1,msgtype*18 integer*4 i4tone(144) include 'msk144_testmsg.f90' @@ -61,13 +61,13 @@ program msk144code if(msg.ne.msgsent) bad="*" if(i3.eq.0.and.n3.ge.0) then write(*,1020) imsg,msg,msgsent,bad,i3,n3,msgtype -1020 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',i1,1x,a16) +1020 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',i1,1x,a18) elseif(i3.ge.1) then write(*,1022) imsg,msg,msgsent,bad,i3,msgtype -1022 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',1x,1x,a16) +1022 format(i2,'.',1x,a37,1x,a37,1x,a1,2x,i1,'.',1x,1x,a18) elseif(i3.lt.0) then write(*,1024) imsg,msg,msgsent,bad,msgtype -1024 format(i2,'.',1x,a37,1x,a37,1x,a1,6x,a16) +1024 format(i2,'.',1x,a37,1x,a37,1x,a1,6x,a18) endif enddo diff --git a/lib/msk144decodeframe.f90 b/lib/msk144decodeframe.f90 index de039aadc..19da84937 100644 --- a/lib/msk144decodeframe.f90 +++ b/lib/msk144decodeframe.f90 @@ -100,7 +100,7 @@ subroutine msk144decodeframe(c,softbits,msgreceived,nsuccess) if( nharderror .ge. 0 .and. nharderror .lt. 18 ) then nsuccess=1 write(c77,'(77i1)') decoded77 - read(c77(72:77),'(2b3)'),n3,i3 + read(c77(72:77),'(2b3)') n3,i3 if( (i3.eq.0.and.(n3.eq.1 .or. n3.eq.3 .or. n3.eq.4 .or. n3.gt.5)) .or. i3.eq.3 .or. i3.gt.4 ) then nsuccess=0 else diff --git a/lib/msk144sim.f90 b/lib/msk144sim.f90 index 7b2a8a00b..3472d8827 100644 --- a/lib/msk144sim.f90 +++ b/lib/msk144sim.f90 @@ -5,7 +5,6 @@ program msk144sim real pings(0:NMAX-1) real waveform(0:NMAX-1) character arg*8,msg*37,msgsent*37,fname*40 - character*77 c77 real wave(0:NMAX-1) !Simulated received waveform real*8 twopi,freq,phi,dphi0,dphi1,dphi type(hdr) h !Header for .wav file From b8e451771846eacab4b9bc9398437608fc98e1f4 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Thu, 6 Dec 2018 05:41:16 +0000 Subject: [PATCH 44/62] Improve performance of Fox and contest log view windows This include inverting the order of table view rows so the newest is at the top, without that the Qt MVC interactions when using a database table based model is too slow and complex to manage. The table views now have sort by column capability in the normal way (click column header to reverse sort order) for timely logging and non-disruption of Tx starts the log view should be sorted in descending time order and scrolled to the last row added. Without that Fox and contest logging will work but serious delays may be invoked that disrupt operation. --- item_delegates/CallsignDelegate.cpp | 1 + main.cpp | 9 +++++ models/CabrilloLog.cpp | 14 +++++-- models/FoxLog.cpp | 11 +++++- widgets/AbstractLogWindow.cpp | 59 ++++++++++++++++++----------- widgets/CabrilloLogWindow.cpp | 3 +- widgets/echoplot.cpp | 2 + widgets/echoplot.h | 11 ++++-- widgets/fastgraph.cpp | 1 + widgets/fastgraph.h | 6 ++- widgets/fastplot.cpp | 4 ++ widgets/fastplot.h | 13 ++++--- widgets/logqso.h | 4 +- widgets/mainwindow.cpp | 18 ++++++--- widgets/mainwindow.h | 14 ++++--- widgets/plotter.cpp | 6 +++ widgets/plotter.h | 12 ++---- widgets/widegraph.cpp | 2 + widgets/widegraph.h | 4 +- widgets/widgets.pri | 2 +- 20 files changed, 133 insertions(+), 63 deletions(-) diff --git a/item_delegates/CallsignDelegate.cpp b/item_delegates/CallsignDelegate.cpp index 017389458..d3b9864c1 100644 --- a/item_delegates/CallsignDelegate.cpp +++ b/item_delegates/CallsignDelegate.cpp @@ -28,3 +28,4 @@ void CallsignDelegate::setModelData (QWidget * editor, QAbstractItemModel * mode { model->setData (index, static_cast (editor)->text (), Qt::EditRole); } + diff --git a/main.cpp b/main.cpp index 601ae6a7e..fd510bffb 100644 --- a/main.cpp +++ b/main.cpp @@ -6,6 +6,8 @@ #include #include +#include +#include #include #include #include @@ -21,6 +23,7 @@ #include #include #include +#include #include #include "revision_utils.hpp" @@ -288,6 +291,12 @@ int main(int argc, char *argv[]) throw std::runtime_error {("Database Error: " + db.lastError ().text ()).toStdString ()}; } + // better performance traded for a risk of d/b corruption + // on system crash or application crash + // db.exec ("PRAGMA synchronous=OFF"); // system crash risk + // db.exec ("PRAGMA journal_mode=MEMORY"); // application crash risk + db.exec ("PRAGMA locking_mode=EXCLUSIVE"); + int result; do { diff --git a/models/CabrilloLog.cpp b/models/CabrilloLog.cpp index d558e66e0..aaedd3bd1 100644 --- a/models/CabrilloLog.cpp +++ b/models/CabrilloLog.cpp @@ -59,6 +59,12 @@ CabrilloLog::impl::impl (Configuration const * configuration) setHeaderData (fieldIndex ("exchange_sent"), Qt::Horizontal, tr ("Sent")); setHeaderData (fieldIndex ("exchange_rcvd"), Qt::Horizontal, tr ("Rcvd")); setHeaderData (fieldIndex ("band"), Qt::Horizontal, tr ("Band")); + + // This descending order by time is important, it makes the view + // place the latest row at the top, without this the model/view + // interactions are both sluggish and unhelpful. + setSort (fieldIndex ("when"), Qt::DescendingOrder); + SQL_error_check (*this, &QSqlTableModel::select); } @@ -113,11 +119,11 @@ bool CabrilloLog::add_QSO (Frequency frequency, QDateTime const& when, QString c { m_->revert (); // discard any uncommitted changes } + m_->setEditStrategy (QSqlTableModel::OnManualSubmit); + ConditionalTransaction transaction {*m_}; auto ok = m_->insertRecord (-1, record); - if (ok) - { - m_->select (); // to refresh views - } + transaction.submit (); + m_->setEditStrategy (QSqlTableModel::OnFieldChange); return ok; } diff --git a/models/FoxLog.cpp b/models/FoxLog.cpp index 691647fdc..1f985f620 100644 --- a/models/FoxLog.cpp +++ b/models/FoxLog.cpp @@ -51,6 +51,12 @@ FoxLog::impl::impl () setHeaderData (fieldIndex ("report_sent"), Qt::Horizontal, tr ("Sent")); setHeaderData (fieldIndex ("report_rcvd"), Qt::Horizontal, tr ("Rcvd")); setHeaderData (fieldIndex ("band"), Qt::Horizontal, tr ("Band")); + + // This descending order by time is important, it makes the view + // place the latest row at the top, without this the model/view + // interactions are both sluggish and unhelpful. + setSort (fieldIndex ("when"), Qt::DescendingOrder); + SQL_error_check (*this, &QSqlTableModel::select); } @@ -104,11 +110,14 @@ bool FoxLog::add_QSO (QDateTime const& when, QString const& call, QString const& { m_->revert (); // discard any uncommitted changes } + m_->setEditStrategy (QSqlTableModel::OnManualSubmit); + ConditionalTransaction transaction {*m_}; auto ok = m_->insertRecord (-1, record); if (ok) { - m_->select (); // to refresh views + ok = transaction.submit (false); } + m_->setEditStrategy (QSqlTableModel::OnFieldChange); return ok; } diff --git a/widgets/AbstractLogWindow.cpp b/widgets/AbstractLogWindow.cpp index c1bfd35c2..efa1e60f1 100644 --- a/widgets/AbstractLogWindow.cpp +++ b/widgets/AbstractLogWindow.cpp @@ -84,13 +84,23 @@ AbstractLogWindow::AbstractLogWindow (QString const& settings_key, QSettings * s : QWidget {parent} , m_ {this, settings_key, settings, configuration} { - // ensure view scrolls to latest new row - connect (&m_->model_, &QAbstractItemModel::rowsInserted, this, [this] (QModelIndex const& parent, int /*first*/, int last) { - // note col 0 is hidden so use col 1 - // queued connection required otherwise row may not be available - // in time - if (m_->log_view_) m_->log_view_->scrollTo (m_->log_view_->model ()->index (last, 1, parent)); - }, Qt::QueuedConnection); + // this attempt to scroll to the last new record doesn't work, some + // sort of issue with model indexes and optimized DB fetches. For + // now sorting by the same column and direction as the underlying DB + // select and that DB select being in descending order so new rows + // at the end appear at view row 0 gets the job done + + // // ensure view scrolls to latest new row + // connect (&m_->model_, &QAbstractItemModel::rowsInserted, this, [this] (QModelIndex const& parent, int first, int last) { + // // note col 0 is hidden so use col 1 + // // queued connection required otherwise row may not be available + // // in time + // auto index = m_->model_.index (last, 1, parent); + // if (m_->log_view_) + // { + // m_->log_view_->scrollTo (index); + // } + // }, Qt::QueuedConnection); } AbstractLogWindow::~AbstractLogWindow () @@ -105,24 +115,27 @@ void AbstractLogWindow::set_log_view (QTableView * log_view) SettingsGroup g {m_->settings_, m_->settings_key_}; restoreGeometry (m_->settings_->value ("window/geometry").toByteArray ()); m_->log_view_ = log_view; - m_->log_view_->setContextMenuPolicy (Qt::ActionsContextMenu); - m_->log_view_->setAlternatingRowColors (true); - m_->log_view_->setSelectionBehavior (QAbstractItemView::SelectRows); - m_->log_view_->setSelectionMode (QAbstractItemView::ExtendedSelection); - m_->log_view_->setVerticalScrollMode (QAbstractItemView::ScrollPerPixel); - m_->model_.setSourceModel (m_->log_view_->model ()); - m_->log_view_->setModel (&m_->model_); - m_->log_view_->setColumnHidden (0, true); + set_log_view_font (m_->configuration_->decoded_text_font ()); + log_view->setSortingEnabled (true); + log_view->setContextMenuPolicy (Qt::ActionsContextMenu); + log_view->setAlternatingRowColors (true); + log_view->setSelectionBehavior (QAbstractItemView::SelectRows); + log_view->setSelectionMode (QAbstractItemView::ExtendedSelection); + log_view->setVerticalScrollMode (QAbstractItemView::ScrollPerPixel); + m_->model_.setSourceModel (log_view->model ()); + log_view->setModel (&m_->model_); + log_view->setColumnHidden (0, true); auto horizontal_header = log_view->horizontalHeader (); + horizontal_header->setResizeContentsPrecision (0); // visible region only horizontal_header->setSectionResizeMode (QHeaderView::ResizeToContents); horizontal_header->setSectionsMovable (true); - m_->log_view_->verticalHeader ()->setSectionResizeMode (QHeaderView::ResizeToContents); - set_log_view_font (m_->configuration_->decoded_text_font ()); - m_->log_view_->scrollToBottom (); + auto vertical_header = log_view->horizontalHeader (); + vertical_header->setResizeContentsPrecision (0); // visible region only + vertical_header->setSectionResizeMode (QHeaderView::ResizeToContents); // actions - auto delete_action = new QAction {tr ("&Delete ..."), m_->log_view_}; - m_->log_view_->insertAction (nullptr, delete_action); + auto delete_action = new QAction {tr ("&Delete ..."), log_view}; + log_view->insertAction (nullptr, delete_action); connect (delete_action, &QAction::triggered, [this] (bool /*checked*/) { m_->delete_QSOs (); }); @@ -130,8 +143,8 @@ void AbstractLogWindow::set_log_view (QTableView * log_view) void AbstractLogWindow::set_log_view_font (QFont const& font) { - // m_->log_view_->setFont (font); - // m_->log_view_->horizontalHeader ()->setFont (font); - // m_->log_view_->verticalHeader ()->setFont (font); + m_->log_view_->setFont (font); + m_->log_view_->horizontalHeader ()->setFont (font); + m_->log_view_->verticalHeader ()->setFont (font); m_->model_.set_font (font); } diff --git a/widgets/CabrilloLogWindow.cpp b/widgets/CabrilloLogWindow.cpp index 4bf70f805..44a52cc6b 100644 --- a/widgets/CabrilloLogWindow.cpp +++ b/widgets/CabrilloLogWindow.cpp @@ -67,7 +67,8 @@ CabrilloLogWindow::CabrilloLogWindow (QSettings * settings, Configuration const m_->ui_.log_table_view->setItemDelegateForColumn (2, new DateTimeAsSecsSinceEpochDelegate {this}); m_->ui_.log_table_view->setItemDelegateForColumn (3, new CallsignDelegate {this}); m_->ui_.log_table_view->setItemDelegateForColumn (6, new ForeignKeyDelegate {configuration->bands (), 0, this}); - m_->ui_.log_table_view->horizontalHeader ()->moveSection (6, 1); // band to first column + auto h_header = m_->ui_.log_table_view->horizontalHeader (); + h_header->moveSection (6, 1); // band to first column } CabrilloLogWindow::~CabrilloLogWindow () diff --git a/widgets/echoplot.cpp b/widgets/echoplot.cpp index 961173b06..0a93e889e 100644 --- a/widgets/echoplot.cpp +++ b/widgets/echoplot.cpp @@ -1,6 +1,8 @@ #include "echoplot.h" #include "commons.h" #include +#include +#include #include #include "moc_echoplot.cpp" diff --git a/widgets/echoplot.h b/widgets/echoplot.h index 23976b02e..a7492b974 100644 --- a/widgets/echoplot.h +++ b/widgets/echoplot.h @@ -4,17 +4,20 @@ // For more details see the accompanying file LICENSE_WHEATLEY.TXT /////////////////////////////////////////////////////////////////////////// -#ifndef EPLOTTER_H -#define EPLOTTER_H +#ifndef EPLOTTER_H_ +#define EPLOTTER_H_ -#include #include +#include #include -#include +#include #define VERT_DIVS 7 //specify grid screen divisions #define HORZ_DIVS 20 +class QPaintEvent; +class QResizeEvent; + class EPlotter : public QFrame { Q_OBJECT diff --git a/widgets/fastgraph.cpp b/widgets/fastgraph.cpp index 2c86d5dcb..e599138f2 100644 --- a/widgets/fastgraph.cpp +++ b/widgets/fastgraph.cpp @@ -3,6 +3,7 @@ #include "commons.h" #include #include +#include #include "fastplot.h" #include "SettingsGroup.hpp" diff --git a/widgets/fastgraph.h b/widgets/fastgraph.h index 1832d84c4..7ed32671f 100644 --- a/widgets/fastgraph.h +++ b/widgets/fastgraph.h @@ -1,5 +1,5 @@ -#ifndef FASTGRAPH_H -#define FASTGRAPH_H +#ifndef FASTGRAPH_H_ +#define FASTGRAPH_H_ #include #include @@ -9,6 +9,8 @@ namespace Ui { } class QSettings; +class QCloseEvent; +class QKeyEvent; class FastGraph : public QDialog { diff --git a/widgets/fastplot.cpp b/widgets/fastplot.cpp index cd186c2c8..1437834d8 100644 --- a/widgets/fastplot.cpp +++ b/widgets/fastplot.cpp @@ -1,6 +1,10 @@ #include "fastplot.h" #include "commons.h" #include +#include +#include +#include +#include #include #include "moc_fastplot.cpp" diff --git a/widgets/fastplot.h b/widgets/fastplot.h index 57a4ea904..b13913388 100644 --- a/widgets/fastplot.h +++ b/widgets/fastplot.h @@ -4,13 +4,16 @@ // For more details see the accompanying file LICENSE_WHEATLEY.TXT /////////////////////////////////////////////////////////////////////////// -#ifndef FPLOTTER_H -#define FPLOTTER_H +#ifndef FPLOTTER_H_ +#define FPLOTTER_H_ -#include #include -#include -#include +#include +#include +#include +#include + +class QMouseEvent; class FPlotter : public QFrame { diff --git a/widgets/logqso.h b/widgets/logqso.h index 346e3e5a2..3363d2eac 100644 --- a/widgets/logqso.h +++ b/widgets/logqso.h @@ -1,6 +1,6 @@ // -*- Mode: C++ -*- -#ifndef LogQSO_H -#define LogQSO_H +#ifndef LogQSO_H_ +#define LogQSO_H_ #include diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index d54b8f1c9..d7e883652 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -1,12 +1,20 @@ //---------------------------------------------------------- MainWindow #include "mainwindow.h" #include +#include #include #include #include #include #include #include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -3100,7 +3108,7 @@ void MainWindow::readFromStdout() //readFromStdout if(w.at(0)==m_config.my_callsign() or w.at(0)==Radio::base_callsign(m_config.my_callsign())) { //### Check for ui->dxCallEntry->text()==foxCall before logging! ### ui->stopTxButton->click (); - on_logQSOButton_clicked(); + logQSOTimer.start(0); } if((w.at(2)==m_config.my_callsign() or w.at(2)==Radio::base_callsign(m_config.my_callsign())) and ui->tx3->text().length()>0) { @@ -3118,7 +3126,7 @@ void MainWindow::readFromStdout() //readFromStdout ui->tx3->text().length()>0) { if(w.at(2)=="RR73") { ui->stopTxButton->click (); - on_logQSOButton_clicked(); + logQSOTimer.start(0); } else { if(w.at(1)==Radio::base_callsign(ui->dxCallEntry->text()) and (w.at(2).mid(0,1)=="+" or w.at(2).mid(0,1)=="-")) { @@ -4453,7 +4461,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie m_nextCall=""; //### Temporary: disable use of "TU;" message if(SpecOp::RTTY == m_config.special_op_id() and m_nextCall!="") { // We're in RTTY contest and have "nextCall" queued up: send a "TU; ..." message - on_logQSOButton_clicked(); + logQSOTimer.start(0); ui->tx3->setText(ui->tx3->text().remove("TU; ")); useNextCall(); QString t="TU; " + ui->tx3->text(); @@ -4462,7 +4470,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie } else { // if(SpecOp::RTTY == m_config.special_op_id()) { if(false) { - on_logQSOButton_clicked(); + logQSOTimer.start(0); m_ntx=6; ui->txrb6->setChecked(true); } else { @@ -8216,7 +8224,7 @@ list2Done: { writeFoxQSO (QString {" Log: %1 %2 %3 %4 %5"}.arg (m_hisCall).arg (m_hisGrid) .arg (m_rptSent).arg (m_rptRcvd).arg (m_lastBand)); - on_logQSOButton_clicked(); + logQSOTimer.start(0); m_foxRateQueue.enqueue (now); //Add present time in seconds //to Rate queue. } diff --git a/widgets/mainwindow.h b/widgets/mainwindow.h index 428ea6890..cfae42029 100644 --- a/widgets/mainwindow.h +++ b/widgets/mainwindow.h @@ -1,12 +1,12 @@ // -*- Mode: C++ -*- #ifndef MAINWINDOW_H #define MAINWINDOW_H -#ifdef QT5 -#include -#else -#include -#endif + +#include +#include #include +#include +#include #include #include #include @@ -58,6 +58,8 @@ namespace Ui { class MainWindow; } +class QSharedMemory; +class QSplashScreen; class QSettings; class QLineEdit; class QFont; @@ -102,6 +104,8 @@ public: QWidget *parent = nullptr); ~MainWindow(); + int decoderBusy () const {return m_decoderBusy;} + public slots: void showSoundInError(const QString& errorMsg); void showSoundOutError(const QString& errorMsg); diff --git a/widgets/plotter.cpp b/widgets/plotter.cpp index cf3166127..761dae08d 100644 --- a/widgets/plotter.cpp +++ b/widgets/plotter.cpp @@ -1,5 +1,11 @@ #include "plotter.h" #include +#include +#include +#include +#include +#include +#include #include #include "commons.h" #include "moc_plotter.cpp" diff --git a/widgets/plotter.h b/widgets/plotter.h index 20d1739ac..e243c1777 100644 --- a/widgets/plotter.h +++ b/widgets/plotter.h @@ -5,18 +5,14 @@ // For more details see the accompanying file LICENSE_WHEATLEY.TXT /////////////////////////////////////////////////////////////////////////// -#ifndef PLOTTER_H -#define PLOTTER_H +#ifndef PLOTTER_H_ +#define PLOTTER_H_ -#ifdef QT5 -#include -#else -#include -#endif #include +#include #include #include -#include +#include #define VERT_DIVS 7 //specify grid screen divisions #define HORZ_DIVS 20 diff --git a/widgets/widegraph.cpp b/widgets/widegraph.cpp index 350eae9b0..b4601ba4c 100644 --- a/widgets/widegraph.cpp +++ b/widgets/widegraph.cpp @@ -3,6 +3,8 @@ #include #include #include +#include +#include #include "ui_widegraph.h" #include "commons.h" #include "Configuration.hpp" diff --git a/widgets/widegraph.h b/widgets/widegraph.h index f5e57f8dc..a809a6c8c 100644 --- a/widgets/widegraph.h +++ b/widgets/widegraph.h @@ -1,6 +1,6 @@ // -*- Mode: C++ -*- -#ifndef WIDEGRAPH_H -#define WIDEGRAPH_H +#ifndef WIDEGRAPH_H_ +#define WIDEGRAPH_H_ #include #include diff --git a/widgets/widgets.pri b/widgets/widgets.pri index e70c5cb9e..24ddd5a3c 100644 --- a/widgets/widgets.pri +++ b/widgets/widgets.pri @@ -19,7 +19,7 @@ HEADERS += \ widgets/echoplot.h widgets/echograph.h widgets/fastgraph.h \ widgets/fastplot.h widgets/MessageBox.hpp widgets/colorhighlighting.h \ widgets/ExportCabrillo.h widgets/AbstractLogWindow.hpp \ - widgets/FoxLogWindow.cpp widgets/CabrilloLogWindow.cpp + widgets/FoxLogWindow.hpp widgets/CabrilloLogWindow.hpp FORMS += \ widgets/mainwindow.ui widgets/about.ui \ From bf8749963546c5e2051d5ea21e68a204fb088abc Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Thu, 6 Dec 2018 14:04:14 +0000 Subject: [PATCH 45/62] Fix truncation of non-FT8 decoded messages in ALL.TXT --- widgets/mainwindow.cpp | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index d7e883652..0a68d3f0d 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -2960,18 +2960,17 @@ void MainWindow::decodeDone () void MainWindow::readFromStdout() //readFromStdout { while(proc_jt9.canReadLine()) { - QByteArray t=proc_jt9.readLine(); + auto line_read = proc_jt9.readLine (); if(m_mode!="FT8") { - //Pad 22-char msg to 37 chars - t=t.left(43) + " " + t.mid(43,-1); - t=t.trimmed(); + //Pad 22-char msg to at least 37 chars + line_read = line_read.left(43) + " " + line_read.mid(43,-1); } // qint64 ms=QDateTime::currentMSecsSinceEpoch() - m_msec0; bool bAvgMsg=false; int navg=0; - if(t.indexOf("") >= 0) { + if(line_read.indexOf("") >= 0) { if(m_mode=="QRA64") m_wideGraph->drawRed(0,0); - m_bDecoded = t.mid(20).trimmed().toInt() > 0; + m_bDecoded = line_read.mid(20).trimmed().toInt() > 0; int mswait=3*1000*m_TRperiod/4; if(!m_diskData) killFileTimer.start(mswait); //Kill in 3/4 period decodeDone (); @@ -2983,16 +2982,16 @@ void MainWindow::readFromStdout() //readFromStdout return; } else { if(m_mode=="JT4" or m_mode=="JT65" or m_mode=="QRA64" or m_mode=="FT8") { - int n=t.indexOf("f"); - if(n<0) n=t.indexOf("d"); + int n=line_read.indexOf("f"); + if(n<0) n=line_read.indexOf("d"); if(n>0) { - QString tt=t.mid(n+1,1); + QString tt=line_read.mid(n+1,1); navg=tt.toInt(); if(navg==0) { char c = tt.data()->toLatin1(); if(int(c)>=65 and int(c)<=90) navg=int(c)-54; } - if(navg>1 or t.indexOf("f*")>0) bAvgMsg=true; + if(navg>1 or line_read.indexOf("f*")>0) bAvgMsg=true; } } @@ -3005,8 +3004,7 @@ void MainWindow::readFromStdout() //readFromStdout << m_mode << endl; m_RxLog=0; } - int n=t.length(); - out << t.mid(0,n-2) << endl; + out << line_read.left (line_read.size() - 2).trimmed () << endl; f.close(); } else { MessageBox::warning_message (this, tr ("File Open Error") @@ -3022,9 +3020,9 @@ void MainWindow::readFromStdout() //readFromStdout m_blankLine = false; } - DecodedText decodedtext0 {QString::fromUtf8(t.constData()) + DecodedText decodedtext0 {QString::fromUtf8(line_read.constData()) .remove(QRegularExpression {"\r|\n"})}; - DecodedText decodedtext {QString::fromUtf8(t.constData()) + DecodedText decodedtext {QString::fromUtf8(line_read.constData()) .remove(QRegularExpression {"\r|\n"}).remove("TU; ")}; if(m_mode=="FT8" and SpecOp::FOX == m_config.special_op_id() and From 7cd7989f4503380928a88ae88759af29c4e55615 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Thu, 6 Dec 2018 15:34:46 +0000 Subject: [PATCH 46/62] Fix line ending handling when processing decodes --- widgets/mainwindow.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 0a68d3f0d..8c9648b50 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -2961,9 +2961,14 @@ void MainWindow::readFromStdout() //readFromStdout { while(proc_jt9.canReadLine()) { auto line_read = proc_jt9.readLine (); + if (auto p = std::strpbrk (line_read.constData (), "\n\r")) + { + // truncate before line ending chars + line_read = line_read.left (p - line_read.constData ()); + } if(m_mode!="FT8") { //Pad 22-char msg to at least 37 chars - line_read = line_read.left(43) + " " + line_read.mid(43,-1); + line_read = line_read.left(43) + " " + line_read.mid(43); } // qint64 ms=QDateTime::currentMSecsSinceEpoch() - m_msec0; bool bAvgMsg=false; @@ -3004,6 +3009,7 @@ void MainWindow::readFromStdout() //readFromStdout << m_mode << endl; m_RxLog=0; } + qDebug () << "line_read:" << line_read; out << line_read.left (line_read.size() - 2).trimmed () << endl; f.close(); } else { @@ -3020,10 +3026,8 @@ void MainWindow::readFromStdout() //readFromStdout m_blankLine = false; } - DecodedText decodedtext0 {QString::fromUtf8(line_read.constData()) - .remove(QRegularExpression {"\r|\n"})}; - DecodedText decodedtext {QString::fromUtf8(line_read.constData()) - .remove(QRegularExpression {"\r|\n"}).remove("TU; ")}; + DecodedText decodedtext0 {QString::fromUtf8(line_read.constData())}; + DecodedText decodedtext {QString::fromUtf8(line_read.constData()).remove("TU; ")}; if(m_mode=="FT8" and SpecOp::FOX == m_config.special_op_id() and (decodedtext.string().contains("R+") or decodedtext.string().contains("R-"))) { From cf244660cd81b1e42e46ab14c93293b64da1f662 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Thu, 6 Dec 2018 15:39:21 +0000 Subject: [PATCH 47/62] Removed unnecessary diagnostic print --- widgets/mainwindow.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 8c9648b50..827022717 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -3009,7 +3009,6 @@ void MainWindow::readFromStdout() //readFromStdout << m_mode << endl; m_RxLog=0; } - qDebug () << "line_read:" << line_read; out << line_read.left (line_read.size() - 2).trimmed () << endl; f.close(); } else { From 0ae8cade5e3c8feab68a659889bd21368db4be58 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Thu, 6 Dec 2018 11:10:09 -0500 Subject: [PATCH 48/62] Fix a typo. Remove the RC timeout. --- widgets/mainwindow.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index d54b8f1c9..480ddd079 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -951,18 +951,19 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, void MainWindow::not_GA_warning_message () { - QDateTime now=QDateTime::currentDateTime(); - QDateTime timeout=QDateTime(QDate(2018,12,31)); + MessageBox::critical_message (this, "IMPORTANT: New protocols for the FT8 and MSK144 modes\n" - "became the world-wide standards on December 10, 2019.\n\n" + "became the world-wide standards on December 10, 2018.\n\n" "WSJT-X 2.0 cannot communicate in these modes with other\n" "stations using WSJT-X v1.9.1 or earlier.\n\n" "Please help by urging everyone to upgrade to WSJT-X 2.0\n" "no later than January 1, 2019.\n"); - if(now.daysTo(timeout) < 0) Q_EMIT finished(); +// QDateTime now=QDateTime::currentDateTime(); +// QDateTime timeout=QDateTime(QDate(2018,12,31)); +// if(now.daysTo(timeout) < 0) Q_EMIT finished(); } void MainWindow::initialize_fonts () From ed90b56819740a506e48f2ad1764df28434227ea Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Thu, 6 Dec 2018 11:11:57 -0600 Subject: [PATCH 49/62] cmath is needed --- widgets/mainwindow.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 951710513..8675253f9 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -2,6 +2,7 @@ #include "mainwindow.h" #include #include +#include #include #include #include From e3daedef92af509672274b49283f9ab8d1c9a214 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Thu, 6 Dec 2018 20:58:37 +0000 Subject: [PATCH 50/62] Revert elision of AP information appended to decodes in ALL.TXT --- widgets/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 8675253f9..f7e31d6fb 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -3011,7 +3011,7 @@ void MainWindow::readFromStdout() //readFromStdout << m_mode << endl; m_RxLog=0; } - out << line_read.left (line_read.size() - 2).trimmed () << endl; + out << line_read.trimmed () << endl; f.close(); } else { MessageBox::warning_message (this, tr ("File Open Error") From 06fef2539139b2553e5d4735e3a3927900d2d47a Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Fri, 7 Dec 2018 01:44:19 +0000 Subject: [PATCH 51/62] User guide updates --- doc/common/links.adoc | 24 ++-- .../en/controls-functions-center.adoc | 2 + .../en/controls-functions-left.adoc | 2 + .../en/controls-functions-main-window.adoc | 2 + .../en/controls-functions-messages.adoc | 2 + .../en/controls-functions-status-bar.adoc | 2 + doc/user_guide/en/cooperating-programs.adoc | 10 +- doc/user_guide/en/faq.adoc | 18 ++- doc/user_guide/en/install-from-source.adoc | 10 +- doc/user_guide/en/install-linux.adoc | 14 +- doc/user_guide/en/install-mac.adoc | 2 +- doc/user_guide/en/install-windows.adoc | 18 ++- doc/user_guide/en/introduction.adoc | 47 +++---- doc/user_guide/en/make-qso.adoc | 4 +- doc/user_guide/en/measurement_tools.adoc | 2 + doc/user_guide/en/new_features.adoc | 11 +- doc/user_guide/en/settings-advanced.adoc | 2 + doc/user_guide/en/settings-audio.adoc | 15 ++- doc/user_guide/en/settings-colors.adoc | 53 ++++++-- doc/user_guide/en/settings-radio.adoc | 123 +++++++++++------- doc/user_guide/en/transceiver-setup.adoc | 68 +++++----- doc/user_guide/en/tutorial-example1.adoc | 2 + doc/user_guide/en/tutorial-example2.adoc | 2 + doc/user_guide/en/tutorial-example3.adoc | 6 +- doc/user_guide/en/tutorial-main-window.adoc | 2 + doc/user_guide/en/vhf-features.adoc | 8 +- doc/user_guide/en/wsjtx-main.adoc | 2 +- doc/user_guide/en/wspr.adoc | 2 + 28 files changed, 302 insertions(+), 153 deletions(-) diff --git a/doc/common/links.adoc b/doc/common/links.adoc index 158400854..94537cbe5 100644 --- a/doc/common/links.adoc +++ b/doc/common/links.adoc @@ -12,14 +12,14 @@ Example: [displayed text] PSK Reporter Perform searches from the doc root directory: doc -Search: grep -rl --exclude-dir="*\.svn" {pskreporter} . - grep -rl --exclude-dir="*\.svn" PSK Reporter . - grep -rl --exclude-dir="*\.svn" {devsvn} . - grep -rl --exclude-dir="*\.svn" {kvasd} . - grep -rl --exclude-dir="*\.svn" {ntpsetup} . +Search: grep -rl --exclude-dir="*\.git" {pskreporter} . + grep -rl --exclude-dir="*\.git" PSK Reporter . + grep -rl --exclude-dir="*\.git" {devrepo} . + grep -rl --exclude-dir="*\.git" {kvasd} . + grep -rl --exclude-dir="*\.git" {ntpsetup} . -Include links.adoc: grep -rl --exclude-dir="*\.svn" pskreporter . -Exclude links.adoc: grep -rl --exclude-dir="*\.svn" {pskreporter} . +Include links.adoc: grep -rl --exclude-dir="*\.git" pskreporter . +Exclude links.adoc: grep -rl --exclude-dir="*\.git" {pskreporter} . Note(s): a). Don't forget a space then "." at the end. @@ -54,8 +54,8 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :raspbian: http://physics.princeton.edu/pulsar/K1JT/wsjtx_{VERSION}_armhf.deb[wsjtx_{VERSION}_armhf.deb] :debian: http://www.debian.org/[Debian] :dev_guide: http://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/wsjt-dev-guide.html[Dev-Guide] -:devsvn1: http://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[Devel-SVN] -:devsvn: http://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[SourceForge] +:devsvn: http://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[Devel-SVN] +:devrepo: https://sourceforge.net/p/wsjt/wsjtx/ci/master/tree/[SourceForge] :dimension4: http://www.thinkman.com/dimension4/[Thinking Man Software] :download: http://physics.princeton.edu/pulsar/K1JT/wsjtx.html[Download Page] :dxatlas: http://www.dxatlas.com/[Afreet Software, Inc.] @@ -80,6 +80,7 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :lunarEchoes: http://physics.princeton.edu/pulsar/K1JT/LunarEchoes_QEX.pdf[QEX] :msk144: http://physics.princeton.edu/pulsar/k1jt/MSK144_Protocol_QEX.pdf[QEX] :msys_url: http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/[MSYS Download] +:n1mm_logger: https://n1mm.hamdocs.com/tiki-index.php[N1MM Logger+] :ntpsetup: http://www.satsignal.eu/ntp/setup.html[Network Time Protocol Setup] :osx_instructions: http://physics.princeton.edu/pulsar/K1JT/OSX_Readme[Mac OS X Install Instructions] :ppa: http://en.wikipedia.org/wiki/Personal_Package_Archive[PPA] @@ -88,6 +89,7 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :sourceforge: https://sourceforge.net/user/registration[SourceForge] :sourceforge-jtsdk: https://sourceforge.net/projects/jtsdk[SourceForge JTSDK] :ubuntu_sdk: https://launchpad.net/~ubuntu-sdk-team/+archive/ppa[Ubuntu SDK Notice] +:writelog: https://writelog.com/[Writelog] :wsjt_yahoo_group: https://groups.yahoo.com/neo/groups/wsjtgroup/info[WSJT Group] :wsjtx: http://physics.princeton.edu/pulsar/K1JT/wsjtx.html[WSJT-X] :wspr0_guide: http://www.physics.princeton.edu/pulsar/K1JT/WSPR0_Instructions.TXT[WSPR0 Guide] @@ -111,9 +113,9 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :svn: http://subversion.apache.org/packages.html#windows[Subversion] :win32: http://physics.princeton.edu/pulsar/K1JT/wsjtx-{VERSION}-win32.exe[wsjtx-{VERSION}-win32.exe] :wsjt-devel: https://lists.sourceforge.net/lists/listinfo/wsjt-devel[here] -:wsjt_svn: http://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[WSJT Source Repository] +:wsjt_repo: https://sourceforge.net/p/wsjt/wsjt_orig/ci/master/tree/[WSJT Source Repository] :wspr_code: http://physics.princeton.edu/pulsar/K1JT/WSPRcode.exe[WSPRcode.exe] -:wspr_svn: http://sourceforge.net/p/wsjt/wsjt/HEAD/tree/branches/wspr/[WSPR Source Repository] +:wspr_svn: https://sourceforge.net/p/wsjt/wspr/ci/master/tree/[WSPR Source Repository] // MAIL-TO links :alex_efros: mailto:powerman@powerman.name[Alex Efros] diff --git a/doc/user_guide/en/controls-functions-center.adoc b/doc/user_guide/en/controls-functions-center.adoc index a7701b705..a640809d6 100644 --- a/doc/user_guide/en/controls-functions-center.adoc +++ b/doc/user_guide/en/controls-functions-center.adoc @@ -36,6 +36,8 @@ inserted automatically. Typical reports for the various modes fall in the range –30 to +20 dB. Remember that JT65 reports saturate at an upper limit of -1 dB. ++ + TIP: Consider reducing power if your QSO partner reports your signal above -5 dB in one of the _WSJT-X_ slow modes. These are supposed to be weak signal modes! diff --git a/doc/user_guide/en/controls-functions-left.adoc b/doc/user_guide/en/controls-functions-left.adoc index 338346dae..4dcb20bc3 100644 --- a/doc/user_guide/en/controls-functions-left.adoc +++ b/doc/user_guide/en/controls-functions-left.adoc @@ -28,6 +28,8 @@ if the rig is detected to be in *Split* mode. The circle becomes red if you have requested CAT control but communication with the radio has been lost. ++ + TIP: Many Icom rigs cannot be queried for split status, current VFO or split transmit frequency. When using _WSJT-X_ with such radios you should not change the current VFO, split status or dial frequency diff --git a/doc/user_guide/en/controls-functions-main-window.adoc b/doc/user_guide/en/controls-functions-main-window.adoc index c15f68123..472adb9a7 100644 --- a/doc/user_guide/en/controls-functions-main-window.adoc +++ b/doc/user_guide/en/controls-functions-main-window.adoc @@ -36,6 +36,8 @@ the original frequency. * *Erase* clears the right-hand decoded text window. Double-clicking *Erase* clears both text windows. ++ + TIP: Right-clicking on either text window brings up a context menu with several options (including *Erase*) which operate on that window alone. diff --git a/doc/user_guide/en/controls-functions-messages.adoc b/doc/user_guide/en/controls-functions-messages.adoc index c712feada..6a130d70c 100644 --- a/doc/user_guide/en/controls-functions-messages.adoc +++ b/doc/user_guide/en/controls-functions-messages.adoc @@ -56,6 +56,8 @@ spaces) in the *Free Msg* box. pre-stored macro. Pressing *Enter* on a modified message here automatically adds that message to the table of stored macros. ++ + TIP: During a transmission the actual message being sent always appears in the first box of the status bar (bottom left of the main screen). diff --git a/doc/user_guide/en/controls-functions-status-bar.adoc b/doc/user_guide/en/controls-functions-status-bar.adoc index 064a6b927..a38ff54fd 100644 --- a/doc/user_guide/en/controls-functions-status-bar.adoc +++ b/doc/user_guide/en/controls-functions-status-bar.adoc @@ -21,3 +21,5 @@ the elapsed fraction of a Tx or Rx sequence. Finally, if the Watchdog lower right-hand corner displays the number of minutes remaining before timeout. +TIP: Temporary status messages may occasionally be displayed here for +a few seconds when background processing completes. \ No newline at end of file diff --git a/doc/user_guide/en/cooperating-programs.adoc b/doc/user_guide/en/cooperating-programs.adoc index e0c2acf91..99e49e1e3 100644 --- a/doc/user_guide/en/cooperating-programs.adoc +++ b/doc/user_guide/en/cooperating-programs.adoc @@ -36,4 +36,12 @@ current band, as well as other options. * {jtbridge}, by SM0THU, is available for OS X. It works together with logging applications Aether, MacLoggerDX, RUMlog or RUMlogNG. It checks QSO and QSL status of the call and DXCC entity, as well as many -other features. \ No newline at end of file +other features. + +* {n1mm_logger} is a free full feature contest logging application. It + is only available for Windows. _WSJT-X_ can send logged QSO + information to it via a network connection. + +* {writelog} is a non-free full feature contest logging + application. It is only available for Windows. _WSJT-X_ can send + logged QSO information to it via a network connection. \ No newline at end of file diff --git a/doc/user_guide/en/faq.adoc b/doc/user_guide/en/faq.adoc index fa3852a92..fe5df38ee 100644 --- a/doc/user_guide/en/faq.adoc +++ b/doc/user_guide/en/faq.adoc @@ -47,7 +47,23 @@ location for each instance of _WSJT-X_. wsjtx --rig-name=TS2000 wsjtx --rig-name=FT847 -Rig control through _OmniRig_ seems to fail when I click *Test CAT*. What can I do about it?:: +I occasionally get Rig Control Errors if I adjust my Icom rig's VFO. What's wrong?:: + +By default most Icom transceivers have *CI-V Tranceive Mode" enabled, +this will cause unsolicited CAT traffic from the rig that disrupts CAT +control by a PC. Disable this option in the rig's menu. + +I want to control my transceiver with another application as well as _WSJT-X_, is that possible?:: + +This only possible to do reliably via some kind of rig control server, +that server must be able to accept both _WSJT-X_ and the other +application(s) as clients. Using a dumb serial port splitter like the +VSPE tool is not supported, it may work but it is not reliable due to +unmanaged CAT control collisions. Applications like the _Hamlib Rig +Control Server (rigctld)_, _{omnirig}_, and _{dxlsuite} Commander_ are +potentially suitable and _WSJT-X_ can act as a client to them all. + +Rig control through _OmniRig_ seems to fail when I click *Test CAT*. What can I do about it?:: _Omni-Rig_ apparently has a bug that appears when you click *Test CAT*. Forget using *Test CAT* and just click *OK*. _Omni-Rig_ then diff --git a/doc/user_guide/en/install-from-source.adoc b/doc/user_guide/en/install-from-source.adoc index 466528f20..f106aa59b 100644 --- a/doc/user_guide/en/install-from-source.adoc +++ b/doc/user_guide/en/install-from-source.adoc @@ -1,10 +1,10 @@ // Status=review Source code for _WSJT-X_ is available from a public repository at -{devsvn}. To compile the program you will need to install at least the +{devrepo}. To compile the program you will need to install at least the following packages: -- Subversion 1.8 or later +- Git - Qt 5.2 or later - g++ 4.8 or later - gfortran 4.8 or later @@ -14,13 +14,15 @@ following packages: Source code for _WSJT-X_ v{VERSION} can be downloaded with the command: ===== -svn co svn://svn.code.sf.net/p/wsjt/wsjt/tags/wsjtx-{VERSION} +git clone git://git.code.sf.net/p/wsjt/wsjtx +cd wsjtx +git checkout wsjtx-{VERSION} ===== and for the current development branch, ===== -svn co svn://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx +git clone git://git.code.sf.net/p/wsjt/wsjtx ===== If you are interested in contributing to the development and diff --git a/doc/user_guide/en/install-linux.adoc b/doc/user_guide/en/install-linux.adoc index bf7dd442f..999d52fe8 100644 --- a/doc/user_guide/en/install-linux.adoc +++ b/doc/user_guide/en/install-linux.adoc @@ -2,6 +2,16 @@ Debian, Ubuntu, and other Debian-based systems including Raspbian: +NOTE: The project team release binary installer packages for Linux +when a new _WSJT-X_ release is announced, note that these are built to +target one contemporary version of a Linux distribution. Although +these may work on newer Linux versions or even different +distributions, it is unlikely that they will work on older +versions. Check the notes provided with the release for details of the +targeted Linux distributions and versions. If the binary package is +not compatible with your Linux distribution or version you must build +the application from sources. + * 32-bit: {debian32} - To install: + @@ -33,9 +43,9 @@ sudo dpkg -P wsjtx You may also need to execute the following command in a terminal: [example] -sudo apt install libqt5multimedia5-plugins libqt5serialport5 libfftw3-single3 +sudo apt install libqt5multimedia5-plugins libqt5serialport5 libqt5sql5-sqlite libfftw3-single3 -Fedora, Red Hat, and other rpm-based systems: +Fedora, CentOS, Red Hat, and other rpm-based systems: * 32-bit: {fedora32} - To install: diff --git a/doc/user_guide/en/install-mac.adoc b/doc/user_guide/en/install-mac.adoc index 566f5fd89..636777b55 100644 --- a/doc/user_guide/en/install-mac.adoc +++ b/doc/user_guide/en/install-mac.adoc @@ -6,7 +6,7 @@ installation notes. If you have already installed a previous version, you can retain it by changing its name in the *Applications* folder (say, from _WSJT-X_ to -_WSJT-X_1.8_). You can then proceed to the installation phase. +_WSJT-X_1.9_). You can then proceed to the installation phase. Take note also of the following: diff --git a/doc/user_guide/en/install-windows.adoc b/doc/user_guide/en/install-windows.adoc index ba50f10ff..844e2fc55 100644 --- a/doc/user_guide/en/install-windows.adoc +++ b/doc/user_guide/en/install-windows.adoc @@ -16,19 +16,23 @@ directory + TIP: Your computer may be configured so that this directory is "`invisible`". It's there, however, and accessible. An alternative -(shortcut) directory name is `%LOCALAPPDATA%\WSJT-X\`. +(shortcut) directory name is `"%LOCALAPPDATA%\WSJT-X\"`. - The built-in Windows facility for time synchronization is usually not adequate. We recommend the program _Meinberg NTP_ (see {ntpsetup} for downloading and installation instructions) or _Dimension 4_ from -{dimension4}. +{dimension4}. Recent versions of Windows 10 are now shipped with a +more capable Internet time synchronization service that is suitable if +configured appropriately. - _WSJT-X_ expects your sound card to do its raw sampling at 48000 Hz. To ensure that this will be so when running under recent versions of -Windows, open the system's *Sound* control panel and select in turn the -*Recording* and *Playback* tabs. Click on *Properties*, then -*Advanced*, and select *16 bit, 48000 Hz (DVD Quality)*. +Windows, open the system's *Sound* control panel and select in turn +the *Recording* and *Playback* tabs. Click on *Properties*, then +*Advanced*, and select *16 bit, 48000 Hz (DVD Quality)*. Switch of all +audio enhancement features for these devices. - You can uninstall _WSJT-X_ by clicking its *Uninstall* link in the -Windows *Start* menu, or by using *Uninstall a Program* on the -Windows Control Panel. +Windows *Start* menu, or by using *Uninstall a Program* on the Windows +Control Panel Programs and Features option or in Settings Apps on +Windows 10. diff --git a/doc/user_guide/en/introduction.adoc b/doc/user_guide/en/introduction.adoc index fda2f7fa4..b48738190 100644 --- a/doc/user_guide/en/introduction.adoc +++ b/doc/user_guide/en/introduction.adoc @@ -7,29 +7,30 @@ K1**JT**,`" while the suffix "`-X`" indicates that _WSJT-X_ started as an extended and experimental branch of the program _WSJT_. -_WSJT-X_ Version 2.0 offers nine different protocols or modes: *FT8*, -*JT4*, *JT9*, *JT65*, *QRA64*, *ISCAT*, *MSK144*, *WSPR*, and *Echo*. -The first five are designed for making reliable QSOs under extreme -weak-signal conditions. They use nearly identical message structure -and source encoding. JT65 and QRA64 were designed for EME -("`moonbounce`") on the VHF/UHF bands and have also proven very -effective for worldwide QRP communication on the HF bands. QRA64 has -a number of advantages over JT65, including better performance on the -very weakest signals. We imagine that over time it may replace JT65 -for EME use. JT9 was originally designed for the LF, MF, and lower HF -bands. Its submode JT9A is 2 dB more sensitive than JT65 while using -less than 10% of the bandwidth. JT4 offers a wide variety of tone -spacings and has proven highly effective for EME on microwave bands up -to 24 GHz. These four "`slow`" modes use one-minute timed sequences -of alternating transmission and reception, so a minimal QSO takes four -to six minutes — two or three transmissions by each station, one -sending in odd UTC minutes and the other even. FT8 is operationally -similar but four times faster (15-second T/R sequences) and less -sensitive by a few dB. On the HF bands, world-wide QSOs are possible -with any of these modes using power levels of a few watts (or even -milliwatts) and compromise antennas. On VHF bands and higher, QSOs -are possible (by EME and other propagation types) at signal levels 10 -to 15 dB below those required for CW. +_WSJT-X_ Version {VERSION_MAJOR}.{VERSION_MINOR} offers nine different +protocols or modes: *FT8*, *JT4*, *JT9*, *JT65*, *QRA64*, *ISCAT*, +*MSK144*, *WSPR*, and *Echo*. The first five are designed for making +reliable QSOs under extreme weak-signal conditions. They use nearly +identical message structure and source encoding. JT65 and QRA64 were +designed for EME ("`moonbounce`") on the VHF/UHF bands and have also +proven very effective for worldwide QRP communication on the HF bands. +QRA64 has a number of advantages over JT65, including better +performance on the very weakest signals. We imagine that over time it +may replace JT65 for EME use. JT9 was originally designed for the LF, +MF, and lower HF bands. Its submode JT9A is 2 dB more sensitive than +JT65 while using less than 10% of the bandwidth. JT4 offers a wide +variety of tone spacings and has proven highly effective for EME on +microwave bands up to 24 GHz. These four "`slow`" modes use +one-minute timed sequences of alternating transmission and reception, +so a minimal QSO takes four to six minutes — two or three +transmissions by each station, one sending in odd UTC minutes and the +other even. FT8 is operationally similar but four times faster +(15-second T/R sequences) and less sensitive by a few dB. On the HF +bands, world-wide QSOs are possible with any of these modes using +power levels of a few watts (or even milliwatts) and compromise +antennas. On VHF bands and higher, QSOs are possible (by EME and +other propagation types) at signal levels 10 to 15 dB below those +required for CW. *ISCAT*, *MSK144*, and optionally submodes *JT9E-H* are "`fast`" protocols designed to take advantage of brief signal enhancements from diff --git a/doc/user_guide/en/make-qso.adoc b/doc/user_guide/en/make-qso.adoc index 1a564c7c2..986583e7f 100644 --- a/doc/user_guide/en/make-qso.adoc +++ b/doc/user_guide/en/make-qso.adoc @@ -156,8 +156,8 @@ has been received in full in the recent past. Otherwise it will be displayed as < . . . >. These restrictions are honored automatically by the algorithm that generates default messages for minimal QSOs. Except for the special cases involving /P or /R used in VHF -contesting, _WSJT-X 2.0_ offers no support for two nonstandard -callsigns to work each other. +contesting, _WSJT-X {VERSION_MAJOR}.{VERSION_MINOR}_ offers no support +for two nonstandard callsigns to work each other. *JT4, JT9, JT65, and QRA64* diff --git a/doc/user_guide/en/measurement_tools.adoc b/doc/user_guide/en/measurement_tools.adoc index 57c113709..00c5e2d34 100644 --- a/doc/user_guide/en/measurement_tools.adoc +++ b/doc/user_guide/en/measurement_tools.adoc @@ -20,6 +20,8 @@ tab, delete any default frequencies for *FreqCal* mode that are not relevant for your location. You may want to replace some of them with reliably known frequencies receivable at your location. ++ + TIP: We find major-city AM broadcast stations generally serve well as frequency calibrators at the low frequency end of the spectrum. In North America we also use the standard time-and-frequency broadcasts diff --git a/doc/user_guide/en/new_features.adoc b/doc/user_guide/en/new_features.adoc index 2ed33ffd2..a90b52182 100644 --- a/doc/user_guide/en/new_features.adoc +++ b/doc/user_guide/en/new_features.adoc @@ -1,4 +1,4 @@ -=== New in Version 2.0 +=== New in Version {VERSION} For quick reference, here's a short list of features and capabilities added to _WSJT-X_ since Version 1.9.1: @@ -11,7 +11,7 @@ added to _WSJT-X_ since Version 1.9.1: * New logging features for contesting -* Integration with N1MM+ and WriteLog for contesting +* Integration with {n1mm_logger} and {writelog} for contesting * Improved support for compound and nonstandard callsigns @@ -31,6 +31,9 @@ IMPORTANT: Note that for FT8 and MSK144 there is no backward compatibility with WSJT-X 1.9.1 and earlier. Everyone using these modes should upgrade to WSJT-X 2.0 by January 1, 2019. +IMPORTANT: _WSJT-X_ Version 2.0 drops support for Apple Mac OS X 10.9 +(Mavericks). It is possible to build from source for this operating +system version but the DMG installer package requires 10.10 or later. === Documentation Conventions @@ -50,10 +53,10 @@ consequences. === How You Can Contribute _WSJT-X_ is part of an open-source project released under the -{gnu_gpl} (GPL). If you have programming or documentation skills or +{gnu_gpl} (GPLv3). If you have programming or documentation skills or would like to contribute to the project in other ways, please make your interests known to the development team. The project's -source-code repository can be found at {devsvn}, and communication +source-code repository can be found at {devrepo}, and communication among the developers takes place on the email reflector {devmail}. Bug reports and suggestions for new features, improvements to the _WSJT-X_ User Guide, etc., may also be sent to the {wsjt_yahoo_group} diff --git a/doc/user_guide/en/settings-advanced.adoc b/doc/user_guide/en/settings-advanced.adoc index 810075154..94b1c5f71 100644 --- a/doc/user_guide/en/settings-advanced.adoc +++ b/doc/user_guide/en/settings-advanced.adoc @@ -27,6 +27,8 @@ receiver's effective noise bandwidth. a larger delay between execution of a command to enable PTT and onset of Tx audio. ++ + IMPORTANT: For the health of your T/R relays and external preamplifier, we strongly recommend using a hardware sequencer and testing to make sure that sequencing is correct. diff --git a/doc/user_guide/en/settings-audio.adoc b/doc/user_guide/en/settings-audio.adoc index 478416836..921602ef9 100644 --- a/doc/user_guide/en/settings-audio.adoc +++ b/doc/user_guide/en/settings-audio.adoc @@ -4,18 +4,21 @@ image::settings-audio.png[align="center",alt="_WSJT-X_ Audio Configuration Scree Select the *Audio* tab to configure your sound system. -- _Soundcard_: Select the audio devices to be used for *Input* and +* _Soundcard_: Select the audio devices to be used for *Input* and *Output*. Usually the *Mono* settings will suffice, but in special cases you can choose *Left*, *Right*, or *Both* stereo channels. -- Be sure that your audio device is configured to sample at 48000 Hz, +** Be sure that your audio device is configured to sample at 48000 Hz, 16 bits. ++ IMPORTANT: If you select the audio output device that is also your computer's default audio device, be sure to turn off all system sounds to prevent inadvertently transmitting them over the air. ++ + NOTE: Windows Vista and later may configure audio devices using the Texas Instruments PCM2900 series CODEC for microphone input rather line input. (This chip is used in many radios with built-in USB @@ -23,18 +26,20 @@ CODECs, as well as various other audio interfaces.) If you are using such a device, be sure to set the mic level in the Recording Device Properties to 0 dB. -- _Save Directory_: _WSJT-X_ can save its received audio sequences as ++ + +* _Save Directory_: _WSJT-X_ can save its received audio sequences as `.wav` files. A default directory for these files is provided; you can select another location if desired. -- _AzEl Directory_: A file named `azel.dat` will appear in the +* _AzEl Directory_: A file named `azel.dat` will appear in the specified directory. The file contains information usable by another program for automatic tracking of the Sun or Moon, as well as calculated Doppler shift for the specified EME path. The file is updated once per second whenever the <> window is displayed. -- _Remember power settings by band_: Checking either of these will +* _Remember power settings by band_: Checking either of these will cause _WSJT-X_ to remember the *Pwr* slider setting for that operation on a band-by-band basis. For example, when *Tune* is checked here and you click the *Tune* button on the main window, the power slider will diff --git a/doc/user_guide/en/settings-colors.adoc b/doc/user_guide/en/settings-colors.adoc index fc2f748bc..bd77b6285 100644 --- a/doc/user_guide/en/settings-colors.adoc +++ b/doc/user_guide/en/settings-colors.adoc @@ -1,10 +1,47 @@ image::colors.png[align="center",alt="Colors Screen"] -_WSJT-X_ uses colors to highlight decoded CQ messages of particular -interest. Check the box *Show DXCC, grid, and worked-before status* -on the *Settings | General* tab, and any boxes of interest to you on -the *Colors* tab. You can drag any line up or down to raise or lower -its logical priority. Right-click any line to set a new foreground or -background color. Foreground and background colors are applied -separately, and careful choices of foreground, background, and -priority can provide two indications of worked-before status. +.Decode Highlighting + +* _WSJT-X_ uses colors to highlight decoded CQ messages of particular + interest. Check the box *Show DXCC, grid, and worked-before status* + on the *Settings | General* tab, and any boxes of interest to you on + the *Colors* tab. You can drag any line up or down to raise or + lower its logical priority. Right-click any line to set a new + foreground or background color. Foreground and background colors + are applied separately, and careful choices of foreground, + background, and priority can provide two indications of + worked-before status. + +* Press the *Reset Highlighting* button to reset all of the color + settings to default values. + +* Check *Highlight by Mode* if you wish worked before status to be per + <>. + +* Worked before status is calculated from your _WSJT-X_ ADIF + <> file, you may replace ADIF log file with one + exported from your station logging application, *Rescan ADIF Log* + rebuilds the _WSJT-X_ worked before indexes using the current ADIF + log file. + ++ + +TIP: The _WSJT-X_ ADIF file records must contain the "CALL" field. + The "BAND", and "MODE", and "GRIDSQUARE" fields are optional + depending on your DXing objectives. DXCC entity, continent, CQ, + and ITU Zone data for call prefixes and certain well known + overrides are derived from the cty.dat database which is bundled + with _WSJT-X_ (See <> for details). + +.Logbook of The World User Validation + +Stations who are known to have uploaded their logs to the ARRL LoTW +QSL matching service can be highlighted. The data used to determine +this is available on line. + +* *Fetch Now* will download a fresh dataset from the *Users CSV file + URL*. The LoTW team normally update this data weekly. + +* Adjust *Age of of last upload less than* to set the period within + which a station must have uploaded their log to LoTW to trigger + highlighting. \ No newline at end of file diff --git a/doc/user_guide/en/settings-radio.adoc b/doc/user_guide/en/settings-radio.adoc index 13f64267a..0f0ff27fe 100644 --- a/doc/user_guide/en/settings-radio.adoc +++ b/doc/user_guide/en/settings-radio.adoc @@ -6,66 +6,91 @@ _WSJT-X_ offers CAT (Computer Aided Transceiver) control of relevant features of most modern transceivers. To configure the program for your radio, select the *Radio* tab. -- Select your radio type from the drop-down list labeled *Rig*, or -*None* if you do not wish to use CAT control. +* Select your radio type from the drop-down list labeled *Rig*, or + *None* if you do not wish to use CAT control. -- Alternatively, if you have configured your station for control by -*DX Lab Suite Commander*, *Ham Radio Deluxe*, *Hamlib NET rigctl*, or -*Omni-Rig*, you may select one of those program names from the *Rig* -list. In these cases the entry field immediately under _CAT Control_ -will be relabeled as *Network Server*. Leave this field blank to -access the default instance of your control program, running on the -same computer. If the control program runs on a different computer -and/or port, specify it here. Hover the mouse pointer over the entry -field to see the required formatting details. +** Alternatively, if you have configured your station for control by + *DX Lab Suite Commander*, *Flrig*, *Ham Radio Deluxe*, *Hamlib NET + rigctl*, or *Omni-Rig*, you may select one of those program names + from the *Rig* list. In these cases the entry field immediately + under _CAT Control_ will be relabeled as *Network Server*. Leave + this field blank to access the default instance of your control + program, running on the same computer. If the control program runs + on a different computer and/or port, specify it here. Hover the + mouse pointer over the entry field to see the required formatting + details. -- Select *Omni-Rig Rig 1* or *Omni-Rig Rig 2* to connect to an -_Omni-Rig_ server running on the same computer. Note that _Omni-Rig_ -is available only under Windows. +** Select *Omni-Rig Rig 1* or *Omni-Rig Rig 2* to connect to an + _Omni-Rig_ server installed on the same computer. _Omni-Rig_ will + be started automatically by _WSJT-X_. -- Set *Poll Interval* to the desired interval for _WSJT-X_ to query -your radio. For most radios a small number (say, 1 – 3 s) is -suitable. ++ -- _CAT Control_: To have _WSJT-X_ control the radio directly rather -than though another program, make the following settings: +NOTE: _Omni-Rig_ is available only under Windows. -* Select the *Serial Port* used to communicate with your radio. +* Set *Poll Interval* to the desired interval for _WSJT-X_ to query + your radio. For most radios a small number (say, 1 – 3 s) is + suitable. -* _Serial Port Parameters_: Set values for *Baud Rate*, *Data Bits*, -*Stop Bits*, and *Handshake* method. Consult your radio's user guide -for the proper parameter values. +* _CAT Control_: To have _WSJT-X_ control the radio directly rather + than though another program, make the following settings: -* _Force Control Lines_: A few station setups require the CAT serial -port’s *RTS* and/or *DTR* control lines to be forced high or -low. Check these boxes only if you are sure they are needed (for -example, to power the radio serial interface). +** Select the *Serial Port* or *Network Server* including the service + port number used to communicate with your radio. -- _PTT Method_: select *VOX*, *CAT*, *DTR*, or *RTS* as the desired -method for T/R switching. If your choice is *DTR* or *RTS*, select -the desired serial port (which may be the same one as used for -CAT control). ++ -- _Transmit Audio Source_: some radios permit you to choose the -connector that will accept Tx audio. If this choice is enabled, -select *Rear/Data* or *Front/Mic*. +NOTE: A special value of *USB* is available for custom USB devices + like those used by some SDR kits. This is not the same a virtual + serial port provided by USB connected transcivers and CAT + interfaces, for those use the COM or serial port name that + refers to them. -- _Mode_: _WSJT-X_ uses upper sideband mode for both transmitting and -receiving. Select *USB*, or choose *Data/Pkt* if your radio offers -such an option and uses it to enable the rear-panel audio line input. -Some radios also offer wider and/or flatter passbands when set to -*Data/Pkt* mode. Select *None* if you do not want _WSJT-X_ to change -the radio's Mode setting. +** _Serial Port Parameters_: Set values for *Baud Rate*, *Data Bits*, + *Stop Bits*, and *Handshake* method. Consult your radio's user + *guide for the proper parameter values. -- _Split Operation_: Significant advantages result from using *Split* -mode (separate VFOs for Rx and Tx) if your radio supports it. If it -does not, _WSJT-X_ can emulate such behavior. Either method will -result in a cleaner transmitted signal, by keeping the Tx audio always -in the range 1500 to 2000 Hz so that audio harmonics cannot pass -through the Tx sideband filter. Select *Rig* to use the radio's Split -mode, or *Fake It* to have _WSJT-X_ adjust the VFO frequency as -needed, when T/R switching occurs. Choose *None* if you do not -wish to use split operation. ++ + +NOTE: CAT interfaces that require handshaking will be non-responsive + until the correct *Handshake* setting is applied. + +** _Force Control Lines_: A few station setups require the CAT serial + port’s *RTS* and/or *DTR* control lines to be forced high or + low. Check these boxes *only* if you are sure they are needed (for + example, to power the radio serial interface). + +* _PTT Method_: select *VOX*, *CAT*, *DTR*, or *RTS* as the desired + method for T/R switching. If your choice is *DTR* or *RTS*, select + the desired serial port (which may be the same one as used for CAT + control). + ++ + +NOTE: When using a proxy application for rig control, *CAT* is usually + the correct option for _PTT Method_ assuming the proxy + application is capable of keying your transceiver idependently. + +* _Transmit Audio Source_: some radios permit you to choose the + connector that will accept Tx audio. If this choice is enabled, + select *Rear/Data* or *Front/Mic*. + +* _Mode_: _WSJT-X_ uses upper sideband mode for both transmitting and + receiving. Select *USB*, or choose *Data/Pkt* if your radio offers + such an option and uses it to enable the rear-panel audio line + input. Some radios also offer wider and/or flatter passbands when + set to *Data/Pkt* mode. Select *None* if you do not want _WSJT-X_ + to change the radio's Mode setting. + +* _Split Operation_: Significant advantages result from using *Split* + mode (separate VFOs for Rx and Tx) if your radio supports it. If it + does not, _WSJT-X_ can emulate such behavior. Either method will + result in a cleaner transmitted signal, by keeping the Tx audio + always in the range 1500 to 2000 Hz so that audio harmonics cannot + pass through the Tx sideband filter. Select *Rig* to use the + radio's Split mode, or *Fake It* to have _WSJT-X_ adjust the VFO + frequency as needed, when T/R switching occurs. Choose *None* if + you do not wish to use split operation. When all required settings have been made, click *Test CAT* to test communication between _WSJT-X_ and your radio. The button should turn diff --git a/doc/user_guide/en/transceiver-setup.adoc b/doc/user_guide/en/transceiver-setup.adoc index 060414c41..b281c4b9b 100644 --- a/doc/user_guide/en/transceiver-setup.adoc +++ b/doc/user_guide/en/transceiver-setup.adoc @@ -2,53 +2,63 @@ .Receiver Noise Level - If it is not already highlighted in green, click the *Monitor* -button to start normal receive operation. + button to start normal receive operation. - Be sure your transceiver is set to *USB* (or *USB Data*) mode. - Use the receiver gain controls and/or the computer's audio mixer -controls to set the background noise level (scale at lower left of -main window) to around 30 dB when no signals are present. It is -usually best to turn AGC off or reduce the RF gain control to minimize -AGC action. + controls to set the background noise level (scale at lower left of + main window) to around 30 dB when no signals are present. It is + usually best to turn AGC off or reduce the RF gain control to + minimize AGC action. + ++ + +TIP: The PC audio mixer normally has two sliders, one for each + application attached which should be set to maximum (0dB FS) as + it cannot help with distortion from overly high or low input + levels from your receiver and another *Master* level which is + analogue attenuator on the sound card before the Analogue to + Digital Converter (ADC). The *Master* level can be used to adjust + the signal level received by _WSJT-X_. .Bandwidth and Frequency Setting - If your transceiver offers more than one bandwidth setting in USB -mode, it may be advantageous to choose the widest one possible, up to -about 5 kHz. This choice has the desirable effect of allowing the -*Wide Graph* (waterfall and 2D spectrum) to display the conventional -JT65 and JT9 sub-bands simultaneously on most HF bands. Further -details are provided in the <>. A -wider displayed bandwidth may also be helpful at VHF and above, where -FT8, JT4, JT65, and QRA64 signals may be found over much wider ranges -of frequencies. + mode, it may be advantageous to choose the widest one possible, up + to about 5 kHz. This choice has the desirable effect of allowing + the *Wide Graph* (waterfall and 2D spectrum) to display the + conventional JT65 and JT9 sub-bands simultaneously on most HF bands. + Further details are provided in the <>. A wider displayed bandwidth may also be helpful at VHF + and above, where FT8, JT4, JT65, and QRA64 signals may be found over + much wider ranges of frequencies. - If you have only a standard SSB filter you won’t be able to display -more than about 2.7 kHz bandwidth. Depending on the exact dial -frequency setting, on HF bands you can display the full sub-band -generally used for one mode. + more than about 2.7 kHz bandwidth. Depending on the exact dial + frequency setting, on HF bands you can display the full sub-band + generally used for one mode. - Of course, you might prefer to concentrate on one mode at a time, -setting your dial frequency to (say) 14.074 for FT8, 14.076 for JT65, -or 14.078 for JT9. Present conventions have the nominal JT9 dial -frequency 2 kHz higher than the JT65 dial frequency on most bands, and -the FT8 frequency 2 kHz lower. + setting your dial frequency to (say) 14.074 for FT8, 14.076 for + JT65, or 14.078 for JT9. Present conventions have the nominal JT9 + dial frequency 2 kHz higher than the JT65 dial frequency on most + bands, and the FT8 frequency 2 kHz lower. .Transmitter Audio Level -* Click the *Tune* button on the main screen to switch the -radio into transmit mode and generate a steady audio tone. +* Click the *Tune* button on the main screen to switch the radio into + transmit mode and generate a steady audio tone. * Listen to the generated audio tone using your radio’s *Monitor* -facility. The transmitted tone should be perfectly smooth, with no -clicks or glitches. Make sure that this is true even when you -simultaneously use the computer to do other tasks such as email, web -browsing, etc. + facility. The transmitted tone should be perfectly smooth, with no + clicks or glitches. Make sure that this is true even when you + simultaneously use the computer to do other tasks such as email, web + browsing, etc.. * Adjust the *Pwr* slider (at right edge of main window) downward from -its maximum until the RF output from your transmitter falls slightly. -This is generally a good level for audio drive. + its maximum until the RF output from your transmitter falls + slightly. This is generally a good level for audio drive. * Toggle the *Tune* button once more or click *Halt Tx* to stop your -test transmission. + test transmission. diff --git a/doc/user_guide/en/tutorial-example1.adoc b/doc/user_guide/en/tutorial-example1.adoc index 8ad5d73bb..ff7ad4d55 100644 --- a/doc/user_guide/en/tutorial-example1.adoc +++ b/doc/user_guide/en/tutorial-example1.adoc @@ -64,6 +64,8 @@ so that a transmission will start automatically at the proper time. *Shift* key to move only the Tx frequency or the *Ctrl* key to move both Rx and Tx frequencies. ++ + NOTE: You can prevent your Tx frequency from being changed by checking the box *Hold Tx Freq*. diff --git a/doc/user_guide/en/tutorial-example2.adoc b/doc/user_guide/en/tutorial-example2.adoc index e7aa3aeee..b51227c74 100644 --- a/doc/user_guide/en/tutorial-example2.adoc +++ b/doc/user_guide/en/tutorial-example2.adoc @@ -50,6 +50,8 @@ image::decodes.png[align="center"] earlier, in <>. _WSJT-X_ automatically determines the mode of each JT9 or JT65 message. ++ + TIP: When you double-click on a signal in the waterfall it will be properly decoded even if on the "`wrong`" side of the *JT65 nnnn JT9* marker. The Tx mode automatically switches to that of the decoded diff --git a/doc/user_guide/en/tutorial-example3.adoc b/doc/user_guide/en/tutorial-example3.adoc index 931067760..6e4e98c56 100644 --- a/doc/user_guide/en/tutorial-example3.adoc +++ b/doc/user_guide/en/tutorial-example3.adoc @@ -43,16 +43,16 @@ frequency to that of the selected message and leaving Tx frequency unchanged. To change both Rx and Tx frequencies, hold *Ctrl* down when double-clicking. -NOTE: To avoid QRM from competing callers, it is frequently desirable +TIP: To avoid QRM from competing callers, it is frequently desirable to answer a CQ on a different frequency from that of the CQing station. The same is true when you tail-end another QSO. Choose a Tx frequency that appears to be not in use. You might want to check the box *Hold Tx Freq*. -NOTE: Keyboard shortcuts *Shift+F11* and *Shift+F12* provide an easy +TIP: Keyboard shortcuts *Shift+F11* and *Shift+F12* provide an easy way to move your Tx frequency down or up in 60 Hz steps. -NOTE: An online {ft8_tips} by ZL2IFB offers many helpful tips on +TIP: An online {ft8_tips} by ZL2IFB offers many helpful tips on operating procedures. .FT8 DXpedition Mode: diff --git a/doc/user_guide/en/tutorial-main-window.adoc b/doc/user_guide/en/tutorial-main-window.adoc index 09a17b196..c585b1f6a 100644 --- a/doc/user_guide/en/tutorial-main-window.adoc +++ b/doc/user_guide/en/tutorial-main-window.adoc @@ -6,6 +6,8 @@ - Set the audio frequencies to *Tx 1224 Hz* and *Rx 1224 Hz*. ++ + TIP: Sliders and spinner controls respond to *Arrow* key presses and *Page Up/Down* key presses, with the *Page* keys moving the controls in larger steps. You can also type numbers directly into diff --git a/doc/user_guide/en/vhf-features.adoc b/doc/user_guide/en/vhf-features.adoc index d0a4cd731..1838529ce 100644 --- a/doc/user_guide/en/vhf-features.adoc +++ b/doc/user_guide/en/vhf-features.adoc @@ -1,5 +1,6 @@ -_WSJT-X_ v1.9 suppports a number of features designed for use -on the VHF and higher bands. These features include: +_WSJT-X_ v{VERSION_MAJOR}.{VERSION_MINOR} suppports a number of +features designed for use on the VHF and higher bands. These features +include: - *FT8*, a mode designed for making fast QSOs with weak, fading signals @@ -276,6 +277,8 @@ this number is well below 100% you may increase the decoding depth from *Fast* to *Normal* or *Deep*, and increase *F Tol* from 100 to 200 Hz. ++ + NOTE: Most modern multi-core computers can easily handle the optimum parameters *Deep* and *F Tol 200*. Older and slower machines may not be able to keep up at these settings; at the *Fast* and *Normal* @@ -303,6 +306,7 @@ enclosed in <> angle brackets, as in the following model QSO RRR 73 ++ NOTE: There is little or no advantage to using MSK144 *Sh* messages at 50 or 70 MHz. At these frequencies, most pings are long diff --git a/doc/user_guide/en/wsjtx-main.adoc b/doc/user_guide/en/wsjtx-main.adoc index 704ad74c4..6b190e0a2 100644 --- a/doc/user_guide/en/wsjtx-main.adoc +++ b/doc/user_guide/en/wsjtx-main.adoc @@ -1,5 +1,5 @@ // This is a comment line, anything with // is ignored at process time. -= _WSJT-X 2.0_ User Guide += _WSJT-X {VERSION_MAJOR}.{VERSION_MINOR}_ User Guide Joseph H Taylor, Jr, K1JT :revnumber: {VERSION} // For web-pages, adding :badges: is ok, but is a security issue for diff --git a/doc/user_guide/en/wspr.adoc b/doc/user_guide/en/wspr.adoc index 960235988..d54a97544 100644 --- a/doc/user_guide/en/wspr.adoc +++ b/doc/user_guide/en/wspr.adoc @@ -11,6 +11,8 @@ desired size. - Select an active WSPR frequency (for example, 10.1387 or 14.0956 MHz). ++ + IMPORTANT: If you will transmit in the 60 m band, be sure to choose a frequency that conforms with your local regulations. From dfceef366248de3585ba21a28a9c41ee0a83f1df Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Fri, 7 Dec 2018 11:10:25 -0600 Subject: [PATCH 52/62] Fix up ft8sim so that it prints a warning when SNR is set too high so that data will be clipped. --- lib/ft8/ft8sim.f90 | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/ft8/ft8sim.f90 b/lib/ft8/ft8sim.f90 index e43850daf..bbec600d4 100644 --- a/lib/ft8/ft8sim.f90 +++ b/lib/ft8/ft8sim.f90 @@ -108,7 +108,6 @@ program ft8sim ib=k wave=real(c) peak=maxval(abs(wave(ia:ib))) - rms=sqrt(dot_product(wave(ia:ib),wave(ia:ib))/NWAVE) nslots=1 if(width.gt.0.0) call filt8(f0,nslots,width,wave) @@ -119,10 +118,16 @@ program ft8sim enddo endif - fac=32767.0 - rms=100.0 - if(snrdb.ge.90.0) iwave(1:NMAX)=nint(fac*wave) - if(snrdb.lt.90.0) iwave(1:NMAX)=nint(rms*wave) + gain=100.0 + if(snrdb.lt.90.0) then + wave=gain*wave + else + datpk=maxval(abs(wave)) + fac=32766.9/datpk + wave=fac*wave + endif + if(any(abs(wave).gt.32767.0)) print*,"Warning - data will be clipped." + iwave=nint(wave) h=default_header(12000,NMAX) write(fname,1102) ifile From dadfffcdcd8eb3fa5a6e93204883ae9ba89f2cc6 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 7 Dec 2018 15:12:21 -0500 Subject: [PATCH 53/62] Add some LoTW download instructions to the User Guide. --- doc/user_guide/en/settings-colors.adoc | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/doc/user_guide/en/settings-colors.adoc b/doc/user_guide/en/settings-colors.adoc index bd77b6285..3613eb4b5 100644 --- a/doc/user_guide/en/settings-colors.adoc +++ b/doc/user_guide/en/settings-colors.adoc @@ -44,4 +44,21 @@ this is available on line. * Adjust *Age of of last upload less than* to set the period within which a station must have uploaded their log to LoTW to trigger - highlighting. \ No newline at end of file + highlighting. + +TIP: If you are using Windows and experience LoTW download errors, go +here https://slproweb.com/products/Win32OpenSSL.html and download the +OpenSSL installer, specifically the “Win32 OpenSSL v1.0.2q Light” +version. Note that this is the correct version even if you are running +64-bit Windows. The direct download link is +https://slproweb.com/download/Win32OpenSSL_Light-1_0_2q.exe. Run the +installer with all default options and accept the option to install +into the Windows system directory. + +TIP: If you cannot install the OpenSSL libraries or do not have an +Internet connection on the computer used to run WSJT-X 2.0, you can +download the LoTW file manually. Go to +https://lotw.arrl.org/lotw-user-activity.csv in a web browser, +download the file, then move it to the WSJT-X log files +directory. This directory can be opened by selecting File | Open log +directory. From 7294f83f592ca52d1aea9815a3a9f93893760b6b Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Fri, 7 Dec 2018 21:27:33 +0000 Subject: [PATCH 54/62] Ensure that decode highlighting settings that a trashed by running an older version get reset --- Configuration.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Configuration.cpp b/Configuration.cpp index d979c493a..cb0566c10 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -1446,7 +1446,9 @@ void Configuration::impl::read_settings () stations_.station_list (settings_->value ("stations").value ()); - decode_highlighing_model_.items (settings_->value ("DecodeHighlighting", QVariant::fromValue (DecodeHighlightingModel::default_items ())).value ()); + auto highlight_items = settings_->value ("DecodeHighlighting", QVariant::fromValue (DecodeHighlightingModel::default_items ())).value (); + if (!highlight_items.size ()) highlight_items = DecodeHighlightingModel::default_items (); + decode_highlighing_model_.items (highlight_items); highlight_by_mode_ = settings_->value("HighlightByMode", false).toBool (); LotW_days_since_upload_ = settings_->value ("LotWDaysSinceLastUpload", 365).toInt (); lotw_users_.set_age_constraint (LotW_days_since_upload_); From 2d07a1727f1b919e487e588c8b63acb6a890523e Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Fri, 7 Dec 2018 23:41:43 +0000 Subject: [PATCH 55/62] Add OpenSSL installation instructions for Windows to User Guide --- doc/common/links.adoc | 3 + doc/user_guide/en/faq.adoc | 4 ++ doc/user_guide/en/images/LoTW_TLS_error.png | Bin 0 -> 8421 bytes doc/user_guide/en/install-windows.adoc | 76 +++++++++++++------- 4 files changed, 58 insertions(+), 25 deletions(-) create mode 100644 doc/user_guide/en/images/LoTW_TLS_error.png diff --git a/doc/common/links.adoc b/doc/common/links.adoc index 94537cbe5..b81743fc4 100644 --- a/doc/common/links.adoc +++ b/doc/common/links.adoc @@ -79,6 +79,7 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :log4om: http://www.log4om.com[Log4OM] :lunarEchoes: http://physics.princeton.edu/pulsar/K1JT/LunarEchoes_QEX.pdf[QEX] :msk144: http://physics.princeton.edu/pulsar/k1jt/MSK144_Protocol_QEX.pdf[QEX] +:msvcpp_redist: https://www.microsoft.com/en-ph/download/details.aspx?id=40784[Microsoft VC++ 2013 Redistributable] :msys_url: http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/[MSYS Download] :n1mm_logger: https://n1mm.hamdocs.com/tiki-index.php[N1MM Logger+] :ntpsetup: http://www.satsignal.eu/ntp/setup.html[Network Time Protocol Setup] @@ -89,6 +90,8 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes. :sourceforge: https://sourceforge.net/user/registration[SourceForge] :sourceforge-jtsdk: https://sourceforge.net/projects/jtsdk[SourceForge JTSDK] :ubuntu_sdk: https://launchpad.net/~ubuntu-sdk-team/+archive/ppa[Ubuntu SDK Notice] +:win_openssl_packages: https://slproweb.com/products/Win32OpenSSL.html[Windows OpenSSL Packages] +:win32_openssl: https://slproweb.com/download/Win32OpenSSL_Light-1_0_2q.exe[Win32 OpenSSL Lite Package] :writelog: https://writelog.com/[Writelog] :wsjt_yahoo_group: https://groups.yahoo.com/neo/groups/wsjtgroup/info[WSJT Group] :wsjtx: http://physics.princeton.edu/pulsar/K1JT/wsjtx.html[WSJT-X] diff --git a/doc/user_guide/en/faq.adoc b/doc/user_guide/en/faq.adoc index fe5df38ee..9240f3436 100644 --- a/doc/user_guide/en/faq.adoc +++ b/doc/user_guide/en/faq.adoc @@ -47,6 +47,10 @@ location for each instance of _WSJT-X_. wsjtx --rig-name=TS2000 wsjtx --rig-name=FT847 +I am getting a "Network Error - SSL/TLS support not installed" message. What should I do?:: + +You need to install suitable _OpenSSL_ libraries - see <>. + I occasionally get Rig Control Errors if I adjust my Icom rig's VFO. What's wrong?:: By default most Icom transceivers have *CI-V Tranceive Mode" enabled, diff --git a/doc/user_guide/en/images/LoTW_TLS_error.png b/doc/user_guide/en/images/LoTW_TLS_error.png new file mode 100644 index 0000000000000000000000000000000000000000..015711dfd38703cbd83995780b87983afc6da32d GIT binary patch literal 8421 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 z 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 literal 0 HcmV?d00001 diff --git a/doc/user_guide/en/install-windows.adoc b/doc/user_guide/en/install-windows.adoc index 844e2fc55..d0d51e02e 100644 --- a/doc/user_guide/en/install-windows.adoc +++ b/doc/user_guide/en/install-windows.adoc @@ -3,36 +3,62 @@ Download and execute the package file {win32}, following these instructions: -- Install _WSJT-X_ into its own directory, for example `C:\WSJTX` or -`C:\WSJT\WSJTX`, rather than the conventional location -`C:\Program Files\WSJTX`. +* Install _WSJT-X_ into its own directory, for example `C:\WSJTX` or ` + C:\WSJT\WSJTX`, rather than the conventional location `C:\Program + Files (x86)\WSJTX`. -- All program files relating to _WSJT-X_ will be stored in the chosen -installation directory and its subdirectories. +* All program files relating to _WSJT-X_ will be stored in the chosen + installation directory and its subdirectories. + +* Logs and other writeable files will normally be found in the + directory + -- Logs and other writeable files will normally be found in the -directory + `C:\Users\\AppData\Local\WSJT-X`. TIP: Your computer may be configured so that this directory is -"`invisible`". It's there, however, and accessible. An alternative -(shortcut) directory name is `"%LOCALAPPDATA%\WSJT-X\"`. + "`invisible`". It's there, however, and accessible. An + alternative (shortcut) directory name is + `"%LocalAppData%\WSJT-X\"`. -- The built-in Windows facility for time synchronization is usually -not adequate. We recommend the program _Meinberg NTP_ (see {ntpsetup} -for downloading and installation instructions) or _Dimension 4_ from -{dimension4}. Recent versions of Windows 10 are now shipped with a -more capable Internet time synchronization service that is suitable if -configured appropriately. +* The built-in Windows facility for time synchronization is usually + not adequate. We recommend the program _Meinberg NTP_ (see + {ntpsetup} for downloading and installation instructions) or + _Dimension 4_ from {dimension4}. Recent versions of Windows 10 are + now shipped with a more capable Internet time synchronization + service that is suitable if configured appropriately. -- _WSJT-X_ expects your sound card to do its raw sampling at 48000 Hz. -To ensure that this will be so when running under recent versions of -Windows, open the system's *Sound* control panel and select in turn -the *Recording* and *Playback* tabs. Click on *Properties*, then -*Advanced*, and select *16 bit, 48000 Hz (DVD Quality)*. Switch of all -audio enhancement features for these devices. +[[OPENSSL]] -- You can uninstall _WSJT-X_ by clicking its *Uninstall* link in the -Windows *Start* menu, or by using *Uninstall a Program* on the Windows -Control Panel Programs and Features option or in Settings Apps on -Windows 10. +* image:LoTW_TLS_error.png[_WSJT-X_ LoTW download TLS error, + role="right"] From this version onward _WSJT-X_ requires the + _OpenSSL_ libraries to be installed. Suitable libraries may already + be installed on your system, if they are not you will see this error + shortly after startup. To fix this you need to install the _OpenSSL_ + libraries. + +** You can download a suitable _OpenSSL_ package for from + {win_openssl_packages}, you need the latest *Win32 v1.0.2 Lite* + version (Note it is the Win32 package even if you are using a + 64-bit Windows operating system) which at the time of writing was + {win32_openssl}. + +** Install the package and accept the default options, including the + option to copy the OpenSSL DLLs to the Windows system directory + (this is important). + + +NOTE: If you still get the same network error after installing the + _OpenSSL_ libraries then you also need to install the + {msvcpp_redist} component. From the download page select + `vcredist_x86.exe` and run it to install. + +* _WSJT-X_ expects your sound card to do its raw sampling at 48000 Hz. + To ensure that this will be so when running under recent versions of + Windows, open the system's *Sound* control panel and select in turn + the *Recording* and *Playback* tabs. Click on *Properties*, then + *Advanced*, and select *16 bit, 48000 Hz (DVD Quality)*. Switch of + all audio enhancement features for these devices. + +* You can uninstall _WSJT-X_ by clicking its *Uninstall* link in the + Windows *Start* menu, or by using *Uninstall a Program* on the + Windows Control Panel Programs and Features option or in Settings + Apps on Windows 10. From 19fbb95b8c8abe5629bbe3d660efa00996d4345b Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Sat, 8 Dec 2018 10:56:29 -0600 Subject: [PATCH 56/62] Comment out some code related to the nextCall facility. --- widgets/mainwindow.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index f7e31d6fb..ad0d47886 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -4567,20 +4567,20 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie return; // nothing we need to respond to } } - else { // nothing for us - if(message_words.size () > 3 // enough fields for a normal message - && SpecOp::RTTY == m_config.special_op_id() - && (message_words.at(1).contains(m_baseCall) || "DE" == message_words.at(1)) - && (!message_words.at(2).contains(qso_partner_base_call) and !bEU_VHF_w2)) { +// else { // nothing for us +// if(message_words.size () > 3 // enough fields for a normal message +// && SpecOp::RTTY == m_config.special_op_id() +// && (message_words.at(1).contains(m_baseCall) || "DE" == message_words.at(1)) +// && (!message_words.at(2).contains(qso_partner_base_call) and !bEU_VHF_w2)) { // Queue up the next QSO partner - m_nextCall=message_words.at(2); - m_nextGrid=message_words.at(3); - m_nextRpt=message.report(); - ui->labNextCall->setText("Next: " + m_nextCall); - ui->labNextCall->setStyleSheet("QLabel {background-color: #66ff66}"); - } - return; - } +// m_nextCall=message_words.at(2); +// m_nextGrid=message_words.at(3); +// m_nextRpt=message.report(); +// ui->labNextCall->setText("Next: " + m_nextCall); +// ui->labNextCall->setStyleSheet("QLabel {background-color: #66ff66}"); +// } +// return; +// } } else if (firstcall == "DE" && message_words.size () > 3 && message_words.at (3) == "73") { if (m_QSOProgress >= ROGERS && base_call == qso_partner_base_call && m_currentMessageType) { From 5d8e5b00708520bbe45ed7fe8a30386a41987352 Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Sat, 8 Dec 2018 12:00:58 -0600 Subject: [PATCH 57/62] restore the return path that was commented out in commit 19fbb95 --- widgets/mainwindow.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index ad0d47886..e5bf610e2 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -4567,20 +4567,20 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie return; // nothing we need to respond to } } -// else { // nothing for us + else { // nothing for us // if(message_words.size () > 3 // enough fields for a normal message // && SpecOp::RTTY == m_config.special_op_id() // && (message_words.at(1).contains(m_baseCall) || "DE" == message_words.at(1)) // && (!message_words.at(2).contains(qso_partner_base_call) and !bEU_VHF_w2)) { -// Queue up the next QSO partner +//// Queue up the next QSO partner // m_nextCall=message_words.at(2); // m_nextGrid=message_words.at(3); // m_nextRpt=message.report(); // ui->labNextCall->setText("Next: " + m_nextCall); // ui->labNextCall->setStyleSheet("QLabel {background-color: #66ff66}"); // } -// return; -// } + return; + } } else if (firstcall == "DE" && message_words.size () > 3 && message_words.at (3) == "73") { if (m_QSOProgress >= ROGERS && base_call == qso_partner_base_call && m_currentMessageType) { From 035b5a2366b27cc83b0c82a5fbea425655731be3 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sun, 9 Dec 2018 01:38:37 +0000 Subject: [PATCH 58/62] Improve v2.0 update announcement formatting across platforms --- widgets/mainwindow.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index e5bf610e2..6848bb3fa 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -963,12 +963,15 @@ void MainWindow::not_GA_warning_message () MessageBox::critical_message (this, - "IMPORTANT: New protocols for the FT8 and MSK144 modes\n" - "became the world-wide standards on December 10, 2018.\n\n" - "WSJT-X 2.0 cannot communicate in these modes with other\n" - "stations using WSJT-X v1.9.1 or earlier.\n\n" - "Please help by urging everyone to upgrade to WSJT-X 2.0\n" - "no later than January 1, 2019.\n"); + "

" + "IMPORTANT: New protocols for the FT8 and MSK144 modes " + "became the world‑wide standards on December 10, 2018." + , "

" + "WSJT‑X 2.0 cannot communicate in these modes with other " + "stations using WSJT‑X v1.9.1 or earlier." + "

" + "Please help by urging everyone to upgrade to WSJT‑X 2.0 " + "no later than January 1, 2019."); // QDateTime now=QDateTime::currentDateTime(); // QDateTime timeout=QDateTime(QDate(2018,12,31)); From b6a753283285867d0b12d759a6968307585396ed Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sun, 9 Dec 2018 01:43:54 +0000 Subject: [PATCH 59/62] Updated A1DC cty.dat file - Big CTY 20th November 2018 --- cty.dat | 1635 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 828 insertions(+), 807 deletions(-) diff --git a/cty.dat b/cty.dat index a03a2a907..62fe68833 100644 --- a/cty.dat +++ b/cty.dat @@ -119,10 +119,10 @@ West Malaysia: 28: 54: AS: 3.95: -102.23: -8.0: 9M2: East Malaysia: 28: 54: OC: 2.68: -113.32: -8.0: 9M6: 9M6,9M8,9W6,9W8,=9M1CSQ,=9M1CSS,=9M2/G3TMA/6,=9M2/PG5M/6,=9M2/R6AF/6,=9M2GCN/6,=9M2MDX/6, =9M4ARD/6,=9M4CBP,=9M4CCB,=9M4CHQ,=9M4CJN,=9M4CMY,=9M4CPB,=9M4CRB,=9M4CSR,=9M4CWS,=9M4GCW,=9M4JSE, - =9M4LHM,=9M4LHS,=9M4LTW,=9M4RSA,=9M4SAB,=9M4SEB,=9M4SHQ,=9M4SJE,=9M4SJO,=9M4SJQ,=9M4SJS,=9M4SJSD, - =9M4SJSL,=9M4SJST,=9M4SJSW,=9M4SJX,=9M4SMO,=9M4SMS,=9M4SMY,=9M4STA,=9M4SWK,=9M50IARU/6, - =9M50IARU/8,=9M50MQ,=9M50MS,=9M51GW,=9M51SB,=9M53QA,=9M57MS,=9M57MW,=9M58MS,=9M58MW,=9M59MS, - =9M59MW,=9M9/7M2VPR,=9M9/CCL,=9W2RCR/6,=9W2VVH/6; + =9M4LHM,=9M4LHS,=9M4LTW,=9M4RSA,=9M4SAB,=9M4SEB,=9M4SHQ,=9M4SJE,=9M4SJO,=9M4SJQ,=9M4SJS,=9M4SJSA, + =9M4SJSB,=9M4SJSD,=9M4SJSL,=9M4SJSP,=9M4SJST,=9M4SJSW,=9M4SJX,=9M4SMO,=9M4SMS,=9M4SMY,=9M4STA, + =9M4SWK,=9M50IARU/6,=9M50IARU/8,=9M50MQ,=9M50MS,=9M51GW,=9M51SB,=9M53QA,=9M57MS,=9M57MW,=9M58MS, + =9M58MW,=9M59MS,=9M59MW,=9M9/7M2VPR,=9M9/CCL,=9W2RCR/6,=9W2VVH/6; Nepal: 22: 42: AS: 27.70: -85.33: -5.75: 9N: 9N; Dem. Rep. of the Congo: 36: 52: AF: -3.12: -23.03: -1.0: 9Q: @@ -518,9 +518,9 @@ Antarctica: 13: 74: SA: -90.00: 0.00: 0.0: CE9: =VP8ADE[73],=VP8ADE/B[73],=VP8DLJ[73],=VP8DPJ[73], =VP8CPG[73], =AT10BP(38)[67],=R1AND/A(38)[67],=VU/R1AND(38)[67],=VU2JBK/AT10(38)[67], - =I0HCJ/KC4(30)[71],=I0QHM/IA0PS(30)[71],=I0QHM/KC4(30)[71],=IA0MZ(30)[71],=IA0PS(30)[71], - =II0AMZS(30)[71],=II0MZ(30)[71],=IK7JGQ/KC4(30)[71],=IR0PS(30)[71],=KC4/I0HCJ(30)[71], - =KC4/I0QHM(30)[71],=KC4/IK7JGQ(30)[71], + =I0HCJ/KC4(30)[71],=I0QHM/IA0PS(30)[71],=I0QHM/KC4(30)[71],=IA0/IZ1KHY(30)[71],=IA0MZ(30)[71], + =IA0PS(30)[71],=II0AMZS(30)[71],=II0MZ(30)[71],=IK7JGQ/KC4(30)[71],=IR0PS(30)[71], + =KC4/I0HCJ(30)[71],=KC4/I0QHM(30)[71],=KC4/IK7JGQ(30)[71], =8J1RL(39)[67],=8J60JARE(39)[67],=JG2MLI/ANT(39)[67],=JH1TOF/ANT(39)[67], =8J1RF(39)[67],=8J1RF/M(39)[67], 3Y[73], @@ -531,11 +531,11 @@ Antarctica: 13: 74: SA: -90.00: 0.00: 0.0: CE9: RI1AN(29)[69],=R1ANB(29)[69],=R1ANT(29)[69],=R7C/ANT(29)[69], =R1ANA(39)[69],=RI1ANA(39)[69], =DP1POL/P(38)[67],=KC4/N2TA(38)[67],=R1/AT10BP(38)[67],=R1AND(38)[67],=R1AND/AT10BP(38)[67], - =R1ANN(38)[67],=RI1AND(38)[67],=RI1ANL(38)[67],=RI1ANM(38)[67],=RI1ANW(38)[67], + =R1ANN(38)[67],=RI1AND(38)[67],=RI1ANL(38)[67],=RI1ANW(38)[67], =R1ANP(39)[69],=RI1ANC/A(39)[69],=RI1ANN(39)[69],=RI1ANP(39)[69],=RI1ANZ(39)[69],=RI63ANT(39)[69], =VU3BPZ/RI1(39)[69], =R1ANH(32)[72], - =RI1ANC(29)[70],=RI1ANC/P(29)[70], + =RI1ANC(29)[70],=RI1ANC/P(29)[70],=RI1ANM(29)[70], =SM/OH2FFP(38)[67], =EM1HO[73],=EM1KCC[73],=EM1KGG[73],=EM1KY[73],=EM1U[73],=EM1U/P[73],=EM1UA[73],=EM1UC[73], =KC4/VE0HSS(32),=VE0HSS/KC4(32), @@ -644,11 +644,11 @@ Eritrea: 37: 48: AF: 15.00: -39.00: -3.0: E3: Palestine: 20: 39: AS: 31.28: -34.27: -2.0: E4: E4; North Cook Islands: 32: 62: OC: -10.02: 161.08: 10.0: E5/n: - =E50W,=E51LYC,=E51M,=E51MAN,=E51MBX,=E51MKW,=E51MQT,=E51PDX,=E51PEN,=E51PT,=E51QMA,=E51QQQ, - =E51TUG,=E51UFF,=E51WWB,=ZK1/AC4LN/N,=ZK1HCC,=ZK1KDN,=ZK1MA,=ZK1NCF,=ZK1NCI,=ZK1NCP,=ZK1NDK, - =ZK1NJC,=ZK1QMA,=ZK1TTG,=ZK1TUG,=ZK1WL, - =E51AMF, - =E51WL[63]; + =E51LYC,=E51QMA,=E51TUG, + =E51AMF,=E51M,=E51MAN,=E51MBX,=E51MKW,=E51MQT,=E51PT,=E51QQQ,=E51UFF,=E51WWB,=ZK1HCC,=ZK1MA, + =ZK1NCF,=ZK1NCI,=ZK1TTG, + =E50W[63],=E51PDX[63],=E51PEN[63],=E51WL[63],=ZK1/AC4LN/N[63],=ZK1KDN[63],=ZK1NCP[63],=ZK1NDK[63], + =ZK1NJC[63],=ZK1QMA[63],=ZK1TUG[63],=ZK1WL[63]; South Cook Islands: 32: 63: OC: -21.90: 157.93: 10.0: E5/s: E5,=ZK1/AC4LN,=ZK1AKF,=ZK1AKX,=ZK1APM,=ZK1ASQ,=ZK1AXU,=ZK1BS,=ZK1CG,=ZK1EAA,=ZK1ETW,=ZK1JD/J, =ZK1KH,=ZK1NDS,=ZK1NFK,=ZK1SDE,=ZK1SSB,=ZK1USA,=ZK1VVV,=ZK1XXC; @@ -658,39 +658,40 @@ Bosnia-Herzegovina: 15: 28: EU: 44.32: -17.57: -1.0: E7: E7,=YU4WU; Spain: 14: 37: EU: 40.37: 4.88: -1.0: EA: AM,AN,AO,EA,EB,EC,ED,EE,EF,EG,EH,=AN92EXPO,=EF6,=EG90IARU, - =AM1TDH/LH,=EA1APV/LH,=EA1BEY/Y,=EA1EEY/L,=EA1EEY/LGT,=EA1EEY/LH,=EA1EK/ZAP,=EA1HLW/YL, - =EA1RCG/CPV,=EA1RCG/SEU,=EA1RCG/YOA,=EA1RCI/CA,=EA1RCI/IA,=EA1RCI/ICA,=EA1RCI/JBN,=EA1RCI/PAZ, - =EA1RCI/PCV,=EA1RCI/RSM,=EA1RCI/YOA,=EA1URL/CVL,=EA1URO/D,=EA5AER/P,=EA6QB/1,=EA8BFH/1,=EA8CZT/1, - =EA8FC/1,=EA8RV/P,=EA9CD/1,=EA9CI/1,=EA9CP/1,=EA9PD/1,=EB1DH/LH,=ED1IRM/LH,=EG1ILW/LH,=EG1LWC/LH, - =EG1LWI/LH,=EG1LWN/LH,=EG1TDH/LH,=EG90IARU/1, + =AM1TDH/LH,=EA1APV/LH,=EA1BEY/Y,=EA1EEY/L,=EA1EEY/LGT,=EA1EEY/LH,=EA1EK/ZAP,=EA1FGS/LH,=EA1HLW/YL, + =EA1RCG/CPV,=EA1RCG/SEU,=EA1RCG/YOA,=EA1RCI/CA,=EA1RCI/ESM,=EA1RCI/IA,=EA1RCI/ICA,=EA1RCI/JBN, + =EA1RCI/PAZ,=EA1RCI/PCV,=EA1RCI/RSM,=EA1RCI/YOA,=EA1URL/CVL,=EA1URO/D,=EA5AER/P,=EA6QB/1, + =EA8BFH/1,=EA8CZT/1,=EA8FC/1,=EA8RV/P,=EA9CD/1,=EA9CI/1,=EA9CP/1,=EA9PD/1,=EB1DH/LH,=ED1IRM/LH, + =EG1ILW/LH,=EG1LWC/LH,=EG1LWI/LH,=EG1LWN/LH,=EG1TDH/LH,=EG90IARU/1, =AM08ATU/H,=AM08CAZ/H,=AM08CYQ/H,=AM08EIE/Z,=AM08FAC/H,=AN08ADE/H,=AO08BQH/Z,=AO08BTM/Z, =AO08CIK/H,=AO08CVV/Z,=AO08CXK/H,=AO08CYL/H,=AO08DI/Z,=AO08EIE/Z,=AO08HV/Z,=AO08ICA/Z,=AO08ID/Z, =AO08KJ/Z,=AO08KV/Z,=AO08OK/H,=AO08PB/Z,=AO08RKO/H,=AO08VK/Z,=AO2016DSS/LH,=EA2/ON7RU/LH, - =EA2CRX/LH,=EA2SPS/LH,=EA2URI/O,=EA6SK/2,=EA9CP/2,=EG90IARU/2, - =EA3ESZ/Z,=EA3EVR/R,=EA3HSD/P,=EA3LD/D,=EA3RCV/PAZ,=EA8TL/3,=EA9CI/3,=EA9CP/3,=EG90IARU/3, + =EA2CRX/LH,=EA2EZ/P,=EA2SPS/LH,=EA2URI/O,=EA6SK/2,=EA9CP/2,=EG90IARU/2, + =EA3ESZ/Z,=EA3EVR/R,=EA3HSD/P,=EA3HZX/P,=EA3LD/D,=EA3RCV/PAZ,=EA8TL/3,=EA9CI/3,=EA9CP/3, + =EG90IARU/3, =EA4AAQ/O,=EA4RCH/CIE,=EA6AFU/4,=EA6RC/4,=EA8BFH/4,=EA8BY/4,=EA9CI/4,=EA9CP/4,=EG8AOP/4, =EG90IARU/4, - =EA5ADM/P,=EA5CC/P,=EA5EQ/N,=EA5FL/LH,=EA5GVT/AVW,=EA5HCC/P,=EA5IKT/P,=EA5KB/LH,=EA5ND/D, + =EA5ADM/P,=EA5CC/P,=EA5EQ/N,=EA5EZ/P,=EA5FL/LH,=EA5GVT/AVW,=EA5HCC/P,=EA5IKT/P,=EA5KB/LH,=EA5ND/D, =EA5RCK/CDI,=EA5RKD/PAZ,=EA5TOM/AVW,=EA5URE/IVA,=EA5URE/P,=EA5URM/C,=EA5URM/F,=EA5URM/G,=EA5URM/H, =EA5URM/I,=EA5URM/L,=EA5URR/PAZ,=EA5URV/CAC,=EA6AKN/5,=EA8BFH/5,=EA8CWF/5,=EA9BLJ/5,=EA9CI/5, =EA9CP/5,=EA9PD/5,=ED5MFP/C,=ED5MFP/G,=ED5MFP/H,=ED5MFP/I,=ED5MFP/K,=ED5MFP/Q,=ED5MFP/R,=ED5MFP/S, =ED5URD/LH,=EG90IARU/5,=EH5FL/LH, - =AO7WRD/MA,=EA5EZ/P,=EA6SK/7,=EA7CFU/U,=EA7FC/FCJ,=EA7HZ/F,=EA7OBH/LH,=EA7URA/GET,=EA7URA/PAZ, - =EA7URA/SG,=EA7URA/YOTA,=EA7URE/PAZ,=EA7URF/PAZ,=EA7URI/MDL,=EA7URJ/CPM,=EA7URL/FSV,=EA7URM/PAZ, - =EA7URP/LAI,=EA9CP/7,=EA9FN/7,=EA9HU,=EA9HU/7,=EA9JS/7,=EA9LZ/7,=EA9PD/7,=EA9QD/7,=EA9UL/7, - =EA9UV/7,=EB9PH/7,=EC7DZZ/LH,=EG90IARU/7; + =AO7WRD/MA,=EA6SK/7,=EA7CFU/U,=EA7FC/FCJ,=EA7HZ/F,=EA7OBH/LH,=EA7URA/GET,=EA7URA/PAZ,=EA7URA/SG, + =EA7URA/YOTA,=EA7URE/PAZ,=EA7URF/PAZ,=EA7URI/MDL,=EA7URJ/CPM,=EA7URL/FSV,=EA7URM/PAZ,=EA7URP/LAI, + =EA9CP/7,=EA9FN/7,=EA9HU,=EA9HU/7,=EA9JS/7,=EA9LZ/7,=EA9PD/7,=EA9QD/7,=EA9UL/7,=EA9UV/7,=EB9PH/7, + =EC7DZZ/LH,=EG90IARU/7; Balearic Islands: 14: 37: EU: 39.60: -2.95: -1.0: EA6: - AM6,AN6,AO6,EA6,EB6,EC6,ED6,EE6,EF6,EG6,EH6,=EA1QE/6,=EA1YO/6,=EA2SG/6,=EA2TW/6,=EA3BT/6, - =EA3CBH/6,=EA3ERT/6,=EA3HSD/6,=EA3HUX/6,=EA4LO/6,=EA5ADM/6,=EA5BB/6,=EA5BK/6,=EA5BTL/6,=EA5EOR/6, - =EA5ER/6,=EA5EZ/6,=EA5FL/P,=EA5HCC/6,=EA5IIG/6,=EA5IKT/6,=EA5RKB/6,=EA6/DJ7AO/LH,=EA6/G0SGB/LH, - =EA6HP/J,=EA6URI/PAZ,=EA6URL/IF,=EA7DUT/6,=EA9CI/6,=EA9CP/6,=EB1BRH/6,=EB2GKK/6,=EB3CW/6,=EC5AC/6, - =EC5BME/6,=EC5EA/P,=EC5EC/6,=EC6TV/N,=EC7AT/6,=ED4SHF/6,=ED5ON/6,=EH90IARU/6; + AM6,AN6,AO6,EA6,EB6,EC6,ED6,EE6,EF6,EG6,EH6,=EA1QE/6,=EA1YO/6,=EA2EZ/6,=EA2SG/6,=EA2TW/6,=EA3BT/6, + =EA3CBH/6,=EA3ERT/6,=EA3HSD/6,=EA3HUX/6,=EA3HZX/6,=EA4LO/6,=EA5ADM/6,=EA5BB/6,=EA5BK/6,=EA5BTL/6, + =EA5EOR/6,=EA5ER/6,=EA5EZ/6,=EA5FL/P,=EA5HCC/6,=EA5IIG/6,=EA5IKT/6,=EA5RKB/6,=EA6/DJ7AO/LH, + =EA6/G0SGB/LH,=EA6HP/J,=EA6URI/PAZ,=EA6URL/IF,=EA7DUT/6,=EA9CI/6,=EA9CP/6,=EB1BRH/6,=EB2GKK/6, + =EB3CW/6,=EC5AC/6,=EC5BME/6,=EC5EA/P,=EC5EC/6,=EC6TV/N,=EC7AT/6,=ED4SHF/6,=ED5ON/6,=EH90IARU/6; Canary Islands: 33: 36: AF: 28.32: 15.85: 0.0: EA8: AM8,AN8,AO8,EA8,EB8,EC8,ED8,EE8,EF8,EG8,EH8,=AN400L,=AN400U,=AO150ITU/8,=AO150U,=AO4AAA/8, - =EA1AP/8,=EA1EHW/8,=EA1YO/8,=EA3RKB/8,=EA4BQ/8,=EA4ESI/8,=EA4SV/8,=EA4WT/8,=EA4ZK/8,=EA5BK/8, - =EA5HCC/8,=EA5RKL/8,=EA7JR/8,=EA8/DJ5AA/LH,=EA8AKG/F,=EA8AKG/G,=EA8DO/LP,=EA8EE/L,=EA8TH/LP, - =EA8URE/YOTA,=EA8URL/LH,=EA8URL/P/SBI,=EA9CI/8,=EA9CP/8,=EB2EMH/8,=EC1KR/8,=EC8AFM/LH,=ED4R/8, - =ED5RKL/8,=ED8BTM/C,=ED8BTM/E,=ED8BTM/J,=ED8BTM/L,=ED8BTM/S,=ED8GSA/J,=ED8LIB/C,=ED8LIB/D, + =EA1AK/8,=EA1AP/8,=EA1EHW/8,=EA1YO/8,=EA3RKB/8,=EA4BQ/8,=EA4ESI/8,=EA4SV/8,=EA4WT/8,=EA4ZK/8, + =EA5BK/8,=EA5HCC/8,=EA5RKL/8,=EA7JR/8,=EA8/DJ5AA/LH,=EA8AKG/F,=EA8AKG/G,=EA8DO/LP,=EA8EE/L, + =EA8TH/LP,=EA8URE/YOTA,=EA8URL/LH,=EA8URL/P/SBI,=EA9CI/8,=EA9CP/8,=EB2EMH/8,=EC1KR/8,=EC8AFM/LH, + =ED4R/8,=ED5RKL/8,=ED8BTM/C,=ED8BTM/E,=ED8BTM/J,=ED8BTM/L,=ED8BTM/S,=ED8GSA/J,=ED8LIB/C,=ED8LIB/D, =ED8LIB/E,=ED8LIB/F,=ED8LIB/G,=ED8LIB/H,=ED8LIB/I,=ED8LIB/J,=ED8LIB/K,=ED8LIB/N,=ED8LIB/O, =ED8LIB/Q,=ED8LPA/L,=ED8MCC/LH,=ED8OTA/D,=ED8OTA/H,=ED8PDC/E,=ED8PDC/K,=ED8PDC/LP,=ED8PDC/O, =EF8LIB/N,=EG8LIB/C,=EG8LIB/D,=EG8LIB/E,=EG8LIB/F,=EG8LIB/G,=EG8LIB/H,=EG8LIB/I,=EG8LIB/L, @@ -734,7 +735,7 @@ France: 14: 27: EU: 46.00: -2.00: -1.0: F: =F6KBG/MSW,=F6KMB/LH,=F6KMB/P/LH,=F6KUM/LH,=TM0BSM/LH,=TM0PDC/LH,=TM0PDH/LH,=TM5AF/LH; Guadeloupe: 08: 11: NA: 16.13: 61.67: 4.0: FG: FG,=TO0MT,=TO10RR,=TO11A,=TO11A/P,=TO1T,=TO1USB,=TO22C,=TO2ANT,=TO2E,=TO2FG,=TO2FG/P,=TO2HI, - =TO2OOO,=TO2T,=TO3Z,=TO4D,=TO4R,=TO4T,=TO5BG,=TO5GI,=TO5ROM,=TO5S,=TO66R,=TO6A,=TO6D,=TO6T, + =TO2OOO,=TO2T,=TO3Z,=TO40R,=TO4D,=TO4R,=TO4T,=TO5BG,=TO5GI,=TO5ROM,=TO5S,=TO66R,=TO6A,=TO6D,=TO6T, =TO6T/P,=TO7ACR,=TO7AES,=TO7D,=TO7DSR,=TO7T,=TO8CW,=TO8RR,=TO8S,=TO8UFT,=TO9RRG,=TO9T; Mayotte: 39: 53: AF: -12.88: -45.15: -3.0: FH: FH,=TO0X,=TO2FH,=TO2TT,=TO4M,=TO5NED,=TO6OK,=TO7BC,=TO7RJ,=TO8MZ,=TX0P,=TX5M,=TX5NK,=TX7LX; @@ -746,13 +747,15 @@ New Caledonia: 32: 56: OC: -21.50: -165.50: -11.0: FK: Chesterfield Islands: 30: 56: OC: -19.87: -158.32: -11.0: FK/c: =FK8C/AA7JV,=FK8IK/C,=TX0AT,=TX0C,=TX0DX,=TX3A,=TX3X,=TX9; Martinique: 08: 11: NA: 14.70: 61.03: 4.0: FM: - FM,=TO0O,=TO1BT,=TO1C,=TO1J,=TO1N,=TO1YR,=TO2M,=TO3GA,=TO3JA,=TO3M,=TO3T,=TO3W,=TO40CDXC,=TO4A, - =TO4C,=TO4FM,=TO4GU,=TO4IPA,=TO4OC,=TO4YL,=TO5A,=TO5AA,=TO5J,=TO5K,=TO5PX,=TO5T,=TO5U,=TO5W,=TO5X, - =TO5Y,=TO6ABM,=TO6M,=TO7A,=TO7HAM,=TO7X,=TO8A,=TO8M,=TO8Z,=TO90IARU,=TO972A,=TO972M,=TO9A,=TO9R; + FM,=TO0O,=TO1BT,=TO1C,=TO1J,=TO1N,=TO1YR,=TO2M,=TO2MB,=TO3GA,=TO3JA,=TO3M,=TO3T,=TO3W,=TO40CDXC, + =TO4A,=TO4C,=TO4FM,=TO4GU,=TO4IPA,=TO4OC,=TO4YL,=TO5A,=TO5AA,=TO5J,=TO5K,=TO5PX,=TO5T,=TO5U,=TO5W, + =TO5X,=TO5Y,=TO6ABM,=TO6M,=TO7A,=TO7HAM,=TO7X,=TO8A,=TO8M,=TO8T,=TO8Z,=TO90IARU,=TO972A,=TO972M, + =TO9A,=TO9R; French Polynesia: 32: 63: OC: -17.65: 149.40: 10.0: FO: - FO,=FO0MIC/MM3,=TX2AH,=TX3T,=TX4FO,=TX4T,=TX5J,=TX5JF,=TX5TES,=TX6A,=TX6T,=TX7A,=TX7EME, - =TX6T/P, - =TX5EG,=TX5X; + FO,=FO0MIC/MM3,=TX0A,=TX0M,=TX5J, + =TX2AH,=TX6T/P, + =TX3T,=TX4FO,=TX4T,=TX5EG,=TX5JF,=TX5X,=TX6A,=TX6T,=TX7EME, + =TX5TES; Austral Islands: 32: 63: OC: -23.37: 149.48: 10.0: FO/a: =FO/AC4LN/A,=FO/DF6IC,=FO/DJ4OI,=FO/DL1AWI,=FO/DL1IAN,=FO/DL3APO,=FO/DL3GA,=FO/DL7FT,=FO/DL9AWI, =FO/F6CTL,=FO/F8CFU,=FO/G3BJ,=FO/HG9B,=FO/HG9B/P,=FO/IK2GNW,=FO/JA8BMK,=FO/JI1JKW,=FO/K7AR, @@ -762,8 +765,9 @@ Clipperton Island: 07: 10: NA: 10.28: 109.22: 8.0: FO/c: =FO0/F8UFT,=FO0AAA,=TX5C,=TX5K,=TX5P; Marquesas Islands: 31: 63: OC: -8.92: 140.07: 9.5: FO/m: =FO/AC4LN/M,=FO/DJ7RJ,=FO/DL5XU,=FO/F6BFH/P,=FO/F6COW,=FO/F6EPY,=FO/F6GNZ,=FO/HA9G,=FO/IZ2ZTQ, - =FO/JA0SC,=FO/JI1WTF,=FO/KA7OQQ,=FO/N7WLR,=FO/OH1RX,=FO/ON4AXU/M,=FO/SP9FIH,=FO/W6TLD,=FO0ELY, - =FO0POM,=FO0TOH,=FO5QS/M,=FO8RZ/P,=K7ST/FO,=TX0SIX,=TX4PG,=TX5A,=TX5SPM,=TX5VT,=TX7EU,=TX7G,=TX7M; + =FO/JA0SC,=FO/JI1WTF,=FO/KA7OQQ,=FO/N7WLR,=FO/OH1RX,=FO/ON4AXU,=FO/ON4AXU/M,=FO/SP9FIH,=FO/W6TLD, + =FO0ELY,=FO0POM,=FO0TOH,=FO5QS/M,=FO8RZ/P,=K7ST/FO,=TX0SIX,=TX4PG,=TX5A,=TX5SPM,=TX5VT,=TX7EU, + =TX7G,=TX7M; St. Pierre & Miquelon: 05: 09: NA: 46.77: 56.20: 3.0: FP: FP,=TO200SPM,=TO2U,=TO5FP; Reunion Island: 39: 53: AF: -21.12: -55.48: -4.0: FR: @@ -810,28 +814,29 @@ Northern Ireland: 14: 27: EU: 54.73: 6.68: 0.0: GI: =GB0CAS,=GB0CBS,=GB0COA,=GB0CSC,=GB0DDF,=GB0EBG,=GB0EG,=GB0FMF,=GB0FMH,=GB0GDI,=GB0GLS,=GB0GPF, =GB0KKM,=GB0LNR,=GB0LSP,=GB0LVA,=GB0MAH,=GB0MAR,=GB0MFD,=GB0PAT,=GB0PSM,=GB0REL,=GB0RSL,=GB0SBG, =GB0SPD,=GB0TCH,=GB0TGN,=GB0USR,=GB0VC,=GB0WOA,=GB100BOS,=GB100RNR,=GB106TBC,=GB150WCB,=GB16SW, - =GB1AFP,=GB1BPM,=GB1DDG,=GB1IMD,=GB1RM,=GB1ROC,=GB1SPD,=GB1SRI,=GB1UAS,=GB1WWC,=GB2AD,=GB2AD/P, - =GB2AS,=GB2BCW,=GB2BDS,=GB2BOA,=GB2CA,=GB2CRU,=GB2DCI,=GB2DMR,=GB2DPC,=GB2IL,=GB2LL,=GB2LOL, - =GB2MAC,=GB2MRI,=GB2PP,=GB2PSW,=GB2REL,=GB2SDD,=GB2SPD,=GB2SPR,=GB2STI,=GB2STP,=GB2SW,=GB2UAS, - =GB3NGI,=GB4CSC,=GB4CTL,=GB4ONI,=GB4PS,=GB4SOS,=GB4SPD,=GB4UAS,=GB50AAD,=GB50CSC,=GB5BIG,=GB5BL, - =GB5BL/LH,=GB5OMU,=GB5SPD,=GB6EPC,=GB6VCB,=GB8BKY,=GB8BRM,=GB8DS,=GB8EGT,=GB8GLM,=GB8ROC,=GB8SPD, - =GB90RSGB/82,=GB90SOM,=GB9RAF,=GB9SPD,=GN0LIX/LH,=GN4GTY/LH,=GO0AQD,=GO0BJH,=GO0DUP,=GO3KVD, - =GO3MMF,=GO3SG,=GO4DOH,=GO4GID,=GO4GUH,=GO4LKG,=GO4NKB,=GO4ONL,=GO4OYM,=GO4SRQ,=GO4SZW,=GO6MTL, - =GO7AXB,=GO7KMC,=GO8YYM,=GQ0AQD,=GQ0BJG,=GQ0NCA,=GQ0RQK,=GQ0TJV,=GQ0UVD,=GQ1CET,=GQ3KVD,=GQ3MMF, - =GQ3SG,=GQ3UZJ,=GQ3XRQ,=GQ4DOH,=GQ4GID,=GQ4GUH,=GQ4JTF,=GQ4LKG,=GQ4LXL,=GQ4NKB,=GQ4ONL,=GQ4OYM, - =GQ4SZW,=GQ6JPO,=GQ6MTL,=GQ7AXB,=GQ7JYK,=GQ7KMC,=GQ8RQI,=GQ8YYM,=GR0BJH,=GR0BRO,=GR0DVU,=GR0RQK, - =GR0RWO,=GR0UVD,=GR1CET,=GR3GTR,=GR3KDR,=GR3SG,=GR3WEM,=GR4AAM,=GR4DHW,=GR4DOH,=GR4FUE,=GR4FUM, - =GR4GID,=GR4GOS,=GR4GUH,=GR4KQU,=GR4LXL,=GR4NKB,=GR6JPO,=GR7AXB,=GR7KMC,=GR8RKC,=GR8RQI,=GR8YYM, - =GV1BZT,=GV3KVD,=GV3SG,=GV4FUE,=GV4GUH,=GV4JTF,=GV4LXL,=GV4SRQ,=GV4WVN,=GV7AXB,=GV7THH,=MI5AFK/2K, - =MN0NID/LH,=MO0ALS,=MO0BDZ,=MO0CBH,=MO0IOU,=MO0IRZ,=MO0JFC,=MO0JFC/P,=MO0JML,=MO0JST,=MO0KYE, - =MO0LPO,=MO0MOD,=MO0MOD/P,=MO0MSR,=MO0MVP,=MO0RRE,=MO0RUC,=MO0RYL,=MO0TGO,=MO0VAX,=MO0ZXZ,=MO3RLA, - =MO6AOX,=MO6NIR,=MO6TUM,=MO6WAG,=MO6WDB,=MO6YDR,=MQ0ALS,=MQ0BDZ,=MQ0BPB,=MQ0GGB,=MQ0IRZ,=MQ0JFC, - =MQ0JST,=MQ0KAM,=MQ0KYE,=MQ0MOD,=MQ0MSR,=MQ0MVP,=MQ0RMD,=MQ0RRE,=MQ0RUC,=MQ0RYL,=MQ0TGO,=MQ0VAX, - =MQ0ZXZ,=MQ3GHW,=MQ3RLA,=MQ3STV,=MQ5AFK,=MQ6AOX,=MQ6BJG,=MQ6GDN,=MQ6WAG,=MQ6WDB,=MQ6WGM,=MR0GDO, - =MR0GGB,=MR0JFC,=MR0KQU,=MR0LPO,=MR0MOD,=MR0MSR,=MR0MVP,=MR0RUC,=MR0SAI,=MR0SMK,=MR0TFK,=MR0TLG, - =MR0TMW,=MR0VAX,=MR0WWB,=MR1CCU,=MR3RLA,=MR3TFF,=MR3WHM,=MR5AMO,=MR6CCU,=MR6CWC,=MR6GDN,=MR6MME, - =MR6MRJ,=MR6OKS,=MR6OLA,=MR6PUX,=MR6WAG,=MR6XGZ,=MV0ALS,=MV0GGB,=MV0IOU,=MV0JFC,=MV0JLC,=MV0MOD, - =MV0MSR,=MV0MVP,=MV0TGO,=MV0VAX,=MV0WGM,=MV0ZAO,=MV1VOX,=MV6DTE,=MV6GTY,=MV6NIR,=MV6TLG; + =GB1918EKN,=GB1AFP,=GB1BPM,=GB1DDG,=GB1IMD,=GB1RM,=GB1ROC,=GB1SPD,=GB1SRI,=GB1UAS,=GB1WWC,=GB2AD, + =GB2AD/P,=GB2AS,=GB2BCW,=GB2BDS,=GB2BOA,=GB2CA,=GB2CRU,=GB2DCI,=GB2DMR,=GB2DPC,=GB2IL,=GB2LL, + =GB2LOL,=GB2MAC,=GB2MRI,=GB2PP,=GB2PSW,=GB2REL,=GB2SDD,=GB2SPD,=GB2SPR,=GB2STI,=GB2STP,=GB2SW, + =GB2UAS,=GB3NGI,=GB4CSC,=GB4CTL,=GB4ONI,=GB4PS,=GB4SOS,=GB4SPD,=GB4UAS,=GB50AAD,=GB50CSC,=GB5BIG, + =GB5BL,=GB5BL/LH,=GB5DPR,=GB5OMU,=GB5SPD,=GB6EPC,=GB6VCB,=GB8BKY,=GB8BRM,=GB8DS,=GB8EGT,=GB8GLM, + =GB8ROC,=GB8SPD,=GB90RSGB/82,=GB90SOM,=GB9RAF,=GB9SPD,=GN0LIX/LH,=GN4GTY/LH,=GO0AQD,=GO0BJH, + =GO0DUP,=GO3KVD,=GO3MMF,=GO3SG,=GO4DOH,=GO4GID,=GO4GUH,=GO4LKG,=GO4NKB,=GO4ONL,=GO4OYM,=GO4SRQ, + =GO4SZW,=GO6MTL,=GO7AXB,=GO7KMC,=GO8YYM,=GQ0AQD,=GQ0BJG,=GQ0NCA,=GQ0RQK,=GQ0TJV,=GQ0UVD,=GQ1CET, + =GQ3KVD,=GQ3MMF,=GQ3SG,=GQ3UZJ,=GQ3XRQ,=GQ4DOH,=GQ4GID,=GQ4GUH,=GQ4JTF,=GQ4LKG,=GQ4LXL,=GQ4NKB, + =GQ4ONL,=GQ4OYM,=GQ4SZW,=GQ6JPO,=GQ6MTL,=GQ7AXB,=GQ7JYK,=GQ7KMC,=GQ8RQI,=GQ8YYM,=GR0BJH,=GR0BRO, + =GR0DVU,=GR0RQK,=GR0RWO,=GR0UVD,=GR1CET,=GR3GTR,=GR3KDR,=GR3SG,=GR3WEM,=GR4AAM,=GR4DHW,=GR4DOH, + =GR4FUE,=GR4FUM,=GR4GID,=GR4GOS,=GR4GUH,=GR4KQU,=GR4LXL,=GR4NKB,=GR6JPO,=GR7AXB,=GR7KMC,=GR8RKC, + =GR8RQI,=GR8YYM,=GV1BZT,=GV3KVD,=GV3SG,=GV4FUE,=GV4GUH,=GV4JTF,=GV4LXL,=GV4SRQ,=GV4WVN,=GV7AXB, + =GV7THH,=MI5AFK/2K,=MN0NID/LH,=MO0ALS,=MO0BDZ,=MO0CBH,=MO0IOU,=MO0IRZ,=MO0JFC,=MO0JFC/P,=MO0JML, + =MO0JST,=MO0KYE,=MO0LPO,=MO0MOD,=MO0MOD/P,=MO0MSR,=MO0MVP,=MO0RRE,=MO0RUC,=MO0RYL,=MO0TGO,=MO0VAX, + =MO0ZXZ,=MO3RLA,=MO6AOX,=MO6NIR,=MO6TUM,=MO6WAG,=MO6WDB,=MO6YDR,=MQ0ALS,=MQ0BDZ,=MQ0BPB,=MQ0GGB, + =MQ0IRZ,=MQ0JFC,=MQ0JST,=MQ0KAM,=MQ0KYE,=MQ0MOD,=MQ0MSR,=MQ0MVP,=MQ0RMD,=MQ0RRE,=MQ0RUC,=MQ0RYL, + =MQ0TGO,=MQ0VAX,=MQ0ZXZ,=MQ3GHW,=MQ3RLA,=MQ3STV,=MQ5AFK,=MQ6AOX,=MQ6BJG,=MQ6GDN,=MQ6WAG,=MQ6WDB, + =MQ6WGM,=MR0GDO,=MR0GGB,=MR0JFC,=MR0KQU,=MR0LPO,=MR0MOD,=MR0MSR,=MR0MVP,=MR0RUC,=MR0SAI,=MR0SMK, + =MR0TFK,=MR0TLG,=MR0TMW,=MR0VAX,=MR0WWB,=MR1CCU,=MR3RLA,=MR3TFF,=MR3WHM,=MR5AMO,=MR6CCU,=MR6CWC, + =MR6GDN,=MR6MME,=MR6MRJ,=MR6OKS,=MR6OLA,=MR6PUX,=MR6WAG,=MR6XGZ,=MV0ALS,=MV0GGB,=MV0IOU,=MV0JFC, + =MV0JLC,=MV0MOD,=MV0MSR,=MV0MVP,=MV0TGO,=MV0VAX,=MV0WGM,=MV0ZAO,=MV1VOX,=MV6DTE,=MV6GTY,=MV6NIR, + =MV6TLG; Jersey: 14: 27: EU: 49.22: 2.18: 0.0: GJ: 2J,GH,GJ,MH,MJ,=2R0ODX,=GB0JSA,=GB2BYL,=GB2JSA,=GB50JSA,=GB5OJR,=GB8LMI,=GJ3DVC/L,=GJ6WRI/LH, =GJ8PVL/LH,=GO8PVL,=GQ8PVL,=GR6TMM,=MO0ASP,=MQ0ASP,=MR0ASP,=MR0RZD,=MV0ASP; @@ -862,65 +867,65 @@ Scotland: 14: 27: EU: 56.82: 4.18: 0.0: GM: =GB0PLS,=GB0POS,=GB0PPE,=GB0PSW,=GB0RGC,=GB0SAA,=GB0SBC,=GB0SCD,=GB0SFM,=GB0SHP,=GB0SI,=GB0SK, =GB0SKG,=GB0SKY,=GB0SRC,=GB0SSB,=GB0TH,=GB0THL,=GB0TNL,=GB0TTS,=GB0WRH,=GB100MAS,=GB100MUC, =GB100ZET,=GB10SP,=GB150NRL,=GB18FIFA,=GB1AJ,=GB1ASC,=GB1ASH,=GB1BD,=GB1BOL,=GB1CFL,=GB1DHL, - =GB1FRS,=GB1FS,=GB1FVS,=GB1FVT,=GB1GEO,=GB1KGG,=GB1KLD,=GB1LAY,=GB1LGG,=GB1LL,=GB1MAY,=GB1MSG, - =GB1NHL,=GB1OL,=GB1OL/LH,=GB1PC,=GB1RB,=GB1RHU,=GB1SLH,=GB1TAY,=GB1WLG,=GB250RB,=GB2AES,=GB2AGG, - =GB2AL,=GB2AST,=GB2ATC,=GB2AYR,=GB2BAJ,=GB2BHM,=GB2BHS,=GB2BMJ,=GB2BOL,=GB2CAS,=GB2CHC,=GB2CM, - =GB2CMA,=GB2CVL,=GB2DAS,=GB2DHS,=GB2DL,=GB2DRC,=GB2DT,=GB2DTM,=GB2ELH,=GB2ELH/LH,=GB2EPC,=GB2FBM, - =GB2FSM,=GB2FSW,=GB2GEO,=GB2GKR,=GB2GNL,=GB2GNL/LH,=GB2GTM,=GB2HLB,=GB2HMC,=GB2HRH,=GB2IGB, - =GB2IGS,=GB2IMG,=GB2IMM,=GB2INV,=GB2IOT,=GB2JCM,=GB2KDR,=GB2KGB,=GB2KW,=GB2LBN,=GB2LBN/LH,=GB2LCL, - =GB2LCP,=GB2LCT,=GB2LDG,=GB2LG,=GB2LGB,=GB2LHI,=GB2LK,=GB2LK/LH,=GB2LMG,=GB2LP,=GB2LS,=GB2LS/LH, - =GB2LSS,=GB2LT,=GB2LT/LH,=GB2LXX,=GB2M,=GB2MAS,=GB2MBB,=GB2MDG,=GB2MN,=GB2MOF,=GB2MSL,=GB2MUC, - =GB2MUL,=GB2NBC,=GB2NEF,=GB2NL,=GB2OL,=GB2OWM,=GB2PBF,=GB2PG,=GB2QM,=GB2RB,=GB2RDR,=GB2RRL, - =GB2RWW,=GB2SAA,=GB2SAM,=GB2SB,=GB2SBG,=GB2SHL/LH,=GB2SKG,=GB2SLH,=GB2SMM,=GB2SOH,=GB2SQN,=GB2SR, - =GB2SSB,=GB2SUM,=GB2SWF,=GB2TDS,=GB2THL,=GB2TNL,=GB2VCB,=GB2VEF,=GB2WBF,=GB2WG,=GB2WLS,=GB2YLS, - =GB2ZE,=GB3ANG,=GB3GKR,=GB3GM,=GB3LER,=GB3LER/B,=GB3ORK,=GB3ORK/B,=GB3SWF,=GB3WOI,=GB4AAS,=GB4AST, - =GB4BBR,=GB4BG,=GB4CGS,=GB4CMA,=GB4DAS,=GB4DHX,=GB4DTD,=GB4DUK,=GB4EPC,=GB4GD,=GB4GDS,=GB4GS, - =GB4IE,=GB4JCM,=GB4JPJ,=GB4JYS,=GB4LER,=GB4MSE,=GB4NFE,=GB4OL,=GB4PAS,=GB4SK,=GB4SKO,=GB4SLH, - =GB4SMM,=GB4SRO,=GB4SWF,=GB50FVS,=GB50GDS,=GB50JS,=GB5AG,=GB5AST,=GB5BBS,=GB5BOH,=GB5C,=GB5CCC, - =GB5CS,=GB5DHL,=GB5DX,=GB5EMF,=GB5FHC,=GB5FLM,=GB5JS,=GB5LTH,=GB5RO,=GB5RO/LH,=GB5RR,=GB5SI, - =GB5TAM,=GB5TI,=GB60CRB,=GB6BEN,=GB6TAA,=GB6WW,=GB75CC,=GB75GD,=GB80GD,=GB8AYR,=GB8CSL,=GB8FSG, - =GB8RU,=GB8RUM,=GB90RSGB/11,=GB90RSGB/12,=GB90RSGB/21,=GB90RSGB/22,=GB90RSGB/23,=GB999SPC, - =GG100AGG,=GG100GA,=GG100GCC,=GG100GGP,=GG100GGR,=GG100GLD,=GG100SBG,=GM/DL5SE/LH,=GM0AZC/2K, - =GM0DHZ/P,=GM0GFL/P,=GM0KTO/2K,=GM0MUN/2K,=GM0SGB/P,=GM0WUX/2K,=GM3JIJ/2K,=GM3OFT/P,=GM3TKV/LH, - =GM3TTC/P,=GM3TXF/P,=GM3USR/P,=GM3VLB/P,=GM4AFF/P,=GM4CHX/2K,=GM4CHX/P,=GM4WSB/M,=GM4WSB/P, - =GM4ZVD/P,=GM6WRW/P,=GO0AEG,=GO0AIR,=GO0BKC,=GO0DBW,=GO0DBW/M,=GO0DEQ,=GO0GMN,=GO0OGN,=GO0SYY, - =GO0TUB,=GO0VRP,=GO0WEZ,=GO1BAN,=GO1BKF,=GO1MQE,=GO1TBW,=GO2MP,=GO3HVK,=GO3JIJ,=GO3NIG,=GO3VTB, - =GO4BLO,=GO4CAU,=GO4CFS,=GO4CHX,=GO4CXM,=GO4DLG,=GO4EMX,=GO4FAM,=GO4FAU,=GO4JOJ,=GO4JPZ,=GO4JR, - =GO4MOX,=GO4MSL,=GO4PRB,=GO4UBJ,=GO4VTB,=GO4WZG,=GO4XQJ,=GO6JEP,=GO6JRX,=GO6KON,=GO6LYJ,=GO6VCV, - =GO7GAX,=GO7GDE,=GO7HUD,=GO7TUD,=GO7WEF,=GO8CBQ,=GO8MHU,=GO8SVB,=GO8TTD,=GQ0AEG,=GQ0AIR,=GQ0BKC, - =GQ0BWR,=GQ0DBW,=GQ0DEQ,=GQ0DUX,=GQ0FNE,=GQ0GMN,=GQ0HUO,=GQ0KWL,=GQ0MUN,=GQ0NTL,=GQ0OGN,=GQ0RNR, - =GQ0TKV/P,=GQ0VRP,=GQ0WEZ,=GQ0WNR,=GQ1BAN,=GQ1BKF,=GQ1MQE,=GQ1TBW,=GQ3JIJ,=GQ3JQJ,=GQ3NIG,=GQ3NTL, - =GQ3TKP,=GQ3TKP/P,=GQ3TKV,=GQ3TKV/P,=GQ3VTB,=GQ3WUX,=GQ3ZBE,=GQ4AGG,=GQ4BAE,=GQ4BLO,=GQ4CAU, - =GQ4CFS,=GQ4CHX,=GQ4CHX/P,=GQ4CXM,=GQ4DLG,=GQ4ELV,=GQ4EMX,=GQ4FAU,=GQ4JOJ,=GQ4JPZ,=GQ4JR,=GQ4MSL, - =GQ4OBG,=GQ4PRB,=GQ4UIB,=GQ4UPL,=GQ4VTB,=GQ4WZG,=GQ4XQJ,=GQ4YMM,=GQ6JEP,=GQ6JRX,=GQ6KON,=GQ6LYJ, - =GQ7GAX,=GQ7GDE,=GQ7HUD,=GQ7TUD,=GQ7UED,=GQ7WEF,=GQ8CBQ,=GQ8MHU,=GQ8PLR,=GQ8SVB,=GQ8TTD,=GR0AXY, - =GR0CDV,=GR0DBW,=GR0EKM,=GR0GMN,=GR0GRD,=GR0HPK,=GR0HPL,=GR0HUO,=GR0OGN,=GR0PNS,=GR0SYV,=GR0TTV, - =GR0TUB,=GR0UKZ,=GR0VRP,=GR0WED,=GR0WNR,=GR150NIB,=GR1BAN,=GR1MWK,=GR1TBW,=GR1ZIV,=GR3JFG,=GR3MZX, - =GR3NIG,=GR3OFT,=GR3PPE,=GR3PYU,=GR3VAL,=GR3VTB,=GR3WFJ,=GR3YXJ,=GR3ZDH,=GR4BDJ,=GR4BLO,=GR4CAU, - =GR4CCN,=GR4CFS,=GR4CMI,=GR4CXM,=GR4DLG,=GR4EMX,=GR4EOU,=GR4FQE,=GR4GIF,=GR4JOJ,=GR4NSZ,=GR4PRB, - =GR4SQM,=GR4VTB,=GR4XAW,=GR4XMD,=GR4XQJ,=GR4YMM,=GR6JEP,=GR6JNJ,=GR7AAJ,=GR7GAX,=GR7GDE,=GR7GMC, - =GR7HHB,=GR7HUD,=GR7LNO,=GR7NZI,=GR7TUD,=GR7USC,=GR7VSB,=GR8CBQ,=GR8KJO,=GR8KPH,=GR8MHU,=GR8OFQ, - =GR8SVB,=GS4WAB/P,=GV0DBW,=GV0GMN,=GV0GRD,=GV0LZE,=GV0OBX,=GV0OGN,=GV0SYV,=GV0VRP,=GV1BAN,=GV3EEW, - =GV3JIJ,=GV3NHQ,=GV3NIG,=GV3NKG,=GV3NNZ,=GV3PIP,=GV3ULP,=GV3VTB,=GV4BLO,=GV4EMX,=GV4HRJ,=GV4ILS, - =GV4JOJ,=GV4KLN,=GV4LVW,=GV4PRB,=GV4VTB,=GV4XQJ,=GV6KON,=GV7DHA,=GV7GDE,=GV7GMC,=GV8AVM,=GV8DPV, - =GV8LYS,=MB18FIFA,=MM/DH5JBR/P,=MM/DJ4OK/M,=MM/DJ8OK/M,=MM/DL5SE/LH,=MM/F5BLC/P,=MM/F5LMJ/P, - =MM/HB9IAB/P,=MM/KE5TF/P,=MM/N5ET/P,=MM/OK1FZM/P,=MM/W5ZE/P,=MM0BNN/LH,=MM0BQI/2K,=MM0BQN/2K, - =MM0BYE/2K,=MM0DFV/P,=MM0LON/M,=MM0SHF/P,=MM0YHB/P,=MM0ZOL/LH,=MM5PSL/P,=MM5YLO/P,=MO0BFF,=MO0CWJ, - =MO0CYR,=MO0DBC,=MO0DNX,=MO0FMF,=MO0GXQ,=MO0HZT,=MO0JST/P,=MO0KJG,=MO0KSS,=MO0NFC,=MO0SGQ,=MO0SJT, - =MO0TGB,=MO0TSG,=MO0WKC,=MO0XXW,=MO0ZBH,=MO1AWV,=MO1HMV,=MO3BCA,=MO3BRR,=MO3GPL,=MO3OQR,=MO3TUP, - =MO3UVL,=MO3YHA,=MO3YMU,=MO3ZRF,=MO5PSL,=MO6BJJ,=MO6CCS,=MO6CHM,=MO6CRQ,=MO6CRQ/M,=MO6DGZ,=MO6HUT, - =MO6KAU,=MO6KAU/M,=MO6KSJ,=MO6MCV,=MO6SRL,=MO6TEW,=MQ0BNN/P,=MQ0BQM,=MQ0BRG,=MQ0CIN,=MQ0CXA, - =MQ0CYR,=MQ0DNX,=MQ0DXD,=MQ0EQE,=MQ0FMF,=MQ0GXQ,=MQ0GYX,=MQ0GYX/P,=MQ0KJG,=MQ0KSS,=MQ0LEN,=MQ0NFC, - =MQ0NJC,=MQ0SJT,=MQ0TSG,=MQ0WKC,=MQ0XXW,=MQ0ZBH,=MQ1AWV,=MQ1HMV,=MQ1JWF,=MQ3BCA,=MQ3BRR,=MQ3ERZ, - =MQ3FET,=MQ3OVK,=MQ3SVK,=MQ3UIX,=MQ3UVL,=MQ3YHA,=MQ3YMU,=MQ3ZRF,=MQ5PSL,=MQ6AQM,=MQ6BJJ,=MQ6CCS, - =MQ6CHM,=MQ6CRQ,=MQ6DGZ,=MQ6HUT,=MQ6KAJ,=MQ6KAU,=MQ6KSJ,=MQ6KUA,=MQ6LMP,=MQ6MCV,=MR0BQN,=MR0CWB, - =MR0CXA,=MR0DHQ,=MR0DWF,=MR0DXD,=MR0DXH,=MR0EPC,=MR0EQE,=MR0FME,=MR0FMF,=MR0GCF,=MR0GGG,=MR0GGI, - =MR0GOR,=MR0HAI,=MR0HVU,=MR0OIL,=MR0POD,=MR0PSL,=MR0RDM,=MR0SGQ,=MR0SJT,=MR0TAI,=MR0TSG,=MR0TSS, - =MR0VTV,=MR0WEI,=MR0XAF,=MR0XXP,=MR0XXW,=MR1AWV,=MR1HMV,=MR1JWF,=MR1VTB,=MR3AWA,=MR3AWD,=MR3BRR, - =MR3PTS,=MR3UIX,=MR3UVL,=MR3WJZ,=MR3XGP,=MR3YHA,=MR3YPH,=MR3ZCS,=MR5PSL,=MR6AHB,=MR6ARN,=MR6ATU, - =MR6CHM,=MR6CTH,=MR6CTL,=MR6HFC,=MR6MCV,=MR6RLL,=MR6SSI,=MR6TMS,=MV0DXH,=MV0FME,=MV0FMF,=MV0GHM, - =MV0HAR,=MV0LGS,=MV0NFC,=MV0NJS,=MV0SGQ,=MV0SJT,=MV0XXW,=MV1VTB,=MV3BRR,=MV3CVB,=MV3YHA,=MV3YMU, - =MV5PSL,=MV6BJJ,=MV6KSJ,=MV6NRQ; + =GB1FB,=GB1FRS,=GB1FS,=GB1FVS,=GB1FVT,=GB1GEO,=GB1HRS,=GB1KGG,=GB1KLD,=GB1LAY,=GB1LGG,=GB1LL, + =GB1MAY,=GB1MSG,=GB1NHL,=GB1OL,=GB1OL/LH,=GB1PC,=GB1RB,=GB1RHU,=GB1SLH,=GB1TAY,=GB1WLG,=GB250RB, + =GB2AES,=GB2AGG,=GB2AL,=GB2AST,=GB2ATC,=GB2AYR,=GB2BAJ,=GB2BHM,=GB2BHS,=GB2BMJ,=GB2BOL,=GB2CAS, + =GB2CHC,=GB2CM,=GB2CMA,=GB2CVL,=GB2DAS,=GB2DHS,=GB2DL,=GB2DRC,=GB2DT,=GB2DTM,=GB2ELH,=GB2ELH/LH, + =GB2EPC,=GB2FBM,=GB2FSM,=GB2FSW,=GB2GEO,=GB2GKR,=GB2GNL,=GB2GNL/LH,=GB2GTM,=GB2HLB,=GB2HMC, + =GB2HRH,=GB2IGB,=GB2IGS,=GB2IMG,=GB2IMM,=GB2INV,=GB2IOT,=GB2JCM,=GB2KDR,=GB2KGB,=GB2KW,=GB2LBN, + =GB2LBN/LH,=GB2LCL,=GB2LCP,=GB2LCT,=GB2LDG,=GB2LG,=GB2LGB,=GB2LHI,=GB2LK,=GB2LK/LH,=GB2LMG,=GB2LP, + =GB2LS,=GB2LS/LH,=GB2LSS,=GB2LT,=GB2LT/LH,=GB2LXX,=GB2M,=GB2MAS,=GB2MBB,=GB2MDG,=GB2MN,=GB2MOF, + =GB2MSL,=GB2MUC,=GB2MUL,=GB2NBC,=GB2NEF,=GB2NL,=GB2OL,=GB2OWM,=GB2PBF,=GB2PG,=GB2QM,=GB2RB, + =GB2RDR,=GB2RRL,=GB2RWW,=GB2SAA,=GB2SAM,=GB2SAS,=GB2SB,=GB2SBG,=GB2SHL/LH,=GB2SKG,=GB2SLH,=GB2SMM, + =GB2SOH,=GB2SQN,=GB2SR,=GB2SSB,=GB2SUM,=GB2SWF,=GB2TDS,=GB2THL,=GB2TNL,=GB2VCB,=GB2VEF,=GB2WBF, + =GB2WG,=GB2WLS,=GB2YLS,=GB2ZE,=GB3ANG,=GB3GKR,=GB3GM,=GB3LER,=GB3LER/B,=GB3ORK,=GB3ORK/B,=GB3SWF, + =GB3WOI,=GB4AAS,=GB4AST,=GB4BBR,=GB4BG,=GB4CGS,=GB4CMA,=GB4DAS,=GB4DHX,=GB4DTD,=GB4DUK,=GB4EPC, + =GB4GD,=GB4GDS,=GB4GS,=GB4IE,=GB4JCM,=GB4JPJ,=GB4JYS,=GB4LER,=GB4MSE,=GB4NFE,=GB4OL,=GB4PAS, + =GB4SK,=GB4SKO,=GB4SLH,=GB4SMM,=GB4SRO,=GB4SWF,=GB50FVS,=GB50GDS,=GB50JS,=GB5AG,=GB5AST,=GB5BBS, + =GB5BOH,=GB5C,=GB5CCC,=GB5CS,=GB5DHL,=GB5DX,=GB5EMF,=GB5FHC,=GB5FLM,=GB5JS,=GB5LTH,=GB5RO, + =GB5RO/LH,=GB5RR,=GB5SI,=GB5TAM,=GB5TI,=GB60CRB,=GB6BEN,=GB6TAA,=GB6WW,=GB75CC,=GB75GD,=GB80GD, + =GB8AYR,=GB8CSL,=GB8FSG,=GB8RU,=GB8RUM,=GB90RSGB/11,=GB90RSGB/12,=GB90RSGB/21,=GB90RSGB/22, + =GB90RSGB/23,=GB999SPC,=GG100AGG,=GG100GA,=GG100GCC,=GG100GGP,=GG100GGR,=GG100GLD,=GG100SBG, + =GM/DL5SE/LH,=GM0AZC/2K,=GM0DHZ/P,=GM0GFL/P,=GM0KTO/2K,=GM0MUN/2K,=GM0SGB/P,=GM0WUX/2K,=GM3JIJ/2K, + =GM3OFT/P,=GM3TKV/LH,=GM3TTC/P,=GM3TXF/P,=GM3USR/P,=GM3VLB/P,=GM4AFF/P,=GM4CHX/2K,=GM4CHX/P, + =GM4WSB/M,=GM4WSB/P,=GM4ZVD/P,=GM6WRW/P,=GO0AEG,=GO0AIR,=GO0BKC,=GO0DBW,=GO0DBW/M,=GO0DEQ,=GO0GMN, + =GO0OGN,=GO0SYY,=GO0TUB,=GO0VRP,=GO0WEZ,=GO1BAN,=GO1BKF,=GO1MQE,=GO1TBW,=GO2MP,=GO3HVK,=GO3JIJ, + =GO3NIG,=GO3VTB,=GO4BLO,=GO4CAU,=GO4CFS,=GO4CHX,=GO4CXM,=GO4DLG,=GO4EMX,=GO4FAM,=GO4FAU,=GO4JOJ, + =GO4JPZ,=GO4JR,=GO4MOX,=GO4MSL,=GO4PRB,=GO4UBJ,=GO4VTB,=GO4WZG,=GO4XQJ,=GO6JEP,=GO6JRX,=GO6KON, + =GO6LYJ,=GO6VCV,=GO7GAX,=GO7GDE,=GO7HUD,=GO7TUD,=GO7WEF,=GO8CBQ,=GO8MHU,=GO8SVB,=GO8TTD,=GQ0AEG, + =GQ0AIR,=GQ0BKC,=GQ0BWR,=GQ0DBW,=GQ0DEQ,=GQ0DUX,=GQ0FNE,=GQ0GMN,=GQ0HUO,=GQ0KWL,=GQ0MUN,=GQ0NTL, + =GQ0OGN,=GQ0RNR,=GQ0TKV/P,=GQ0VRP,=GQ0WEZ,=GQ0WNR,=GQ1BAN,=GQ1BKF,=GQ1MQE,=GQ1TBW,=GQ3JIJ,=GQ3JQJ, + =GQ3NIG,=GQ3NTL,=GQ3TKP,=GQ3TKP/P,=GQ3TKV,=GQ3TKV/P,=GQ3VTB,=GQ3WUX,=GQ3ZBE,=GQ4AGG,=GQ4BAE, + =GQ4BLO,=GQ4CAU,=GQ4CFS,=GQ4CHX,=GQ4CHX/P,=GQ4CXM,=GQ4DLG,=GQ4ELV,=GQ4EMX,=GQ4FAU,=GQ4JOJ,=GQ4JPZ, + =GQ4JR,=GQ4MSL,=GQ4OBG,=GQ4PRB,=GQ4UIB,=GQ4UPL,=GQ4VTB,=GQ4WZG,=GQ4XQJ,=GQ4YMM,=GQ6JEP,=GQ6JRX, + =GQ6KON,=GQ6LYJ,=GQ7GAX,=GQ7GDE,=GQ7HUD,=GQ7TUD,=GQ7UED,=GQ7WEF,=GQ8CBQ,=GQ8MHU,=GQ8PLR,=GQ8SVB, + =GQ8TTD,=GR0AXY,=GR0CDV,=GR0DBW,=GR0EKM,=GR0GMN,=GR0GRD,=GR0HPK,=GR0HPL,=GR0HUO,=GR0OGN,=GR0PNS, + =GR0SYV,=GR0TTV,=GR0TUB,=GR0UKZ,=GR0VRP,=GR0WED,=GR0WNR,=GR150NIB,=GR1BAN,=GR1MWK,=GR1TBW,=GR1ZIV, + =GR3JFG,=GR3MZX,=GR3NIG,=GR3OFT,=GR3PPE,=GR3PYU,=GR3VAL,=GR3VTB,=GR3WFJ,=GR3YXJ,=GR3ZDH,=GR4BDJ, + =GR4BLO,=GR4CAU,=GR4CCN,=GR4CFS,=GR4CMI,=GR4CXM,=GR4DLG,=GR4EMX,=GR4EOU,=GR4FQE,=GR4GIF,=GR4JOJ, + =GR4NSZ,=GR4PRB,=GR4SQM,=GR4VTB,=GR4XAW,=GR4XMD,=GR4XQJ,=GR4YMM,=GR6JEP,=GR6JNJ,=GR7AAJ,=GR7GAX, + =GR7GDE,=GR7GMC,=GR7HHB,=GR7HUD,=GR7LNO,=GR7NZI,=GR7TUD,=GR7USC,=GR7VSB,=GR8CBQ,=GR8KJO,=GR8KPH, + =GR8MHU,=GR8OFQ,=GR8SVB,=GS4WAB/P,=GV0DBW,=GV0GMN,=GV0GRD,=GV0LZE,=GV0OBX,=GV0OGN,=GV0SYV,=GV0VRP, + =GV1BAN,=GV3EEW,=GV3JIJ,=GV3NHQ,=GV3NIG,=GV3NKG,=GV3NNZ,=GV3PIP,=GV3ULP,=GV3VTB,=GV4BLO,=GV4EMX, + =GV4HRJ,=GV4ILS,=GV4JOJ,=GV4KLN,=GV4LVW,=GV4PRB,=GV4VTB,=GV4XQJ,=GV6KON,=GV7DHA,=GV7GDE,=GV7GMC, + =GV8AVM,=GV8DPV,=GV8LYS,=MB18FIFA,=MM/DH5JBR/P,=MM/DJ4OK/M,=MM/DJ8OK/M,=MM/DL5SE/LH,=MM/F5BLC/P, + =MM/F5LMJ/P,=MM/HB9IAB/P,=MM/KE5TF/P,=MM/N5ET/P,=MM/OK1FZM/P,=MM/W5ZE/P,=MM0BNN/LH,=MM0BQI/2K, + =MM0BQN/2K,=MM0BYE/2K,=MM0DFV/P,=MM0LON/M,=MM0SHF/P,=MM0YHB/P,=MM0ZOL/LH,=MM5PSL/P,=MM5YLO/P, + =MO0BFF,=MO0CWJ,=MO0CYR,=MO0DBC,=MO0DNX,=MO0FMF,=MO0GXQ,=MO0HZT,=MO0JST/P,=MO0KJG,=MO0KSS,=MO0NFC, + =MO0SGQ,=MO0SJT,=MO0TGB,=MO0TSG,=MO0WKC,=MO0XXW,=MO0ZBH,=MO1AWV,=MO1HMV,=MO3BCA,=MO3BRR,=MO3GPL, + =MO3OQR,=MO3TUP,=MO3UVL,=MO3YHA,=MO3YMU,=MO3ZRF,=MO5PSL,=MO6BJJ,=MO6CCS,=MO6CHM,=MO6CRQ,=MO6CRQ/M, + =MO6DGZ,=MO6HUT,=MO6KAU,=MO6KAU/M,=MO6KSJ,=MO6MCV,=MO6SRL,=MO6TEW,=MQ0BNN/P,=MQ0BQM,=MQ0BRG, + =MQ0CIN,=MQ0CXA,=MQ0CYR,=MQ0DNX,=MQ0DXD,=MQ0EQE,=MQ0FMF,=MQ0GXQ,=MQ0GYX,=MQ0GYX/P,=MQ0KJG,=MQ0KSS, + =MQ0LEN,=MQ0NFC,=MQ0NJC,=MQ0SJT,=MQ0TSG,=MQ0WKC,=MQ0XXW,=MQ0ZBH,=MQ1AWV,=MQ1HMV,=MQ1JWF,=MQ3BCA, + =MQ3BRR,=MQ3ERZ,=MQ3FET,=MQ3OVK,=MQ3SVK,=MQ3UIX,=MQ3UVL,=MQ3YHA,=MQ3YMU,=MQ3ZRF,=MQ5PSL,=MQ6AQM, + =MQ6BJJ,=MQ6CCS,=MQ6CHM,=MQ6CRQ,=MQ6DGZ,=MQ6HUT,=MQ6KAJ,=MQ6KAU,=MQ6KSJ,=MQ6KUA,=MQ6LMP,=MQ6MCV, + =MR0BQN,=MR0CWB,=MR0CXA,=MR0DHQ,=MR0DWF,=MR0DXD,=MR0DXH,=MR0EPC,=MR0EQE,=MR0FME,=MR0FMF,=MR0GCF, + =MR0GGG,=MR0GGI,=MR0GOR,=MR0HAI,=MR0HVU,=MR0OIL,=MR0POD,=MR0PSL,=MR0RDM,=MR0SGQ,=MR0SJT,=MR0TAI, + =MR0TSG,=MR0TSS,=MR0VTV,=MR0WEI,=MR0XAF,=MR0XXP,=MR0XXW,=MR1AWV,=MR1HMV,=MR1JWF,=MR1VTB,=MR3AWA, + =MR3AWD,=MR3BRR,=MR3PTS,=MR3UIX,=MR3UVL,=MR3WJZ,=MR3XGP,=MR3YHA,=MR3YPH,=MR3ZCS,=MR5PSL,=MR6AHB, + =MR6ARN,=MR6ATU,=MR6CHM,=MR6CTH,=MR6CTL,=MR6HFC,=MR6MCV,=MR6RLL,=MR6SSI,=MR6TMS,=MV0DXH,=MV0FME, + =MV0FMF,=MV0GHM,=MV0HAR,=MV0LGS,=MV0NFC,=MV0NJS,=MV0SGQ,=MV0SJT,=MV0XXW,=MV1VTB,=MV3BRR,=MV3CVB, + =MV3YHA,=MV3YMU,=MV5PSL,=MV6BJJ,=MV6KSJ,=MV6NRQ; Guernsey: 14: 27: EU: 49.45: 2.58: 0.0: GU: 2U,GP,GU,MP,MU,=2O0FER,=2Q0ARE,=2Q0FER,=2U0ARE/2K,=GB0HAM,=GB0U,=GB2AFG,=GB2FG,=GB2GU,=GB2JTA, =GB4SGG,=GB50GSY,=GO8FBO,=GQ8FBO,=GU0DXX/2K,=GU4GG/2K,=MO0FAL,=MO0KWD,=MQ0FAL,=MR0FAL,=MU/OT9Z/LH; @@ -930,65 +935,65 @@ Wales: 14: 27: EU: 52.28: 3.73: 0.0: GW: =2Q0DAA/M,=2Q0IDT,=2Q0MKG,=2Q0OJA,=2Q0OTL,=2Q0RMR,=2Q0RWF,=2Q0SVW,=2Q0TRR,=2Q0UAA,=2Q0VAY,=2Q0WDS, =2R0BRR,=2R0CDY,=2R0CDZ,=2R0CSS,=2R0CVE,=2R0DRB,=2R0IDT,=2R0OJA,=2R0PHP,=2R0PJP,=2R0REX,=2R0RWF, =2R0TRR,=2R0TYG,=2R0XTP,=2R0YKK,=2R3SFC,=2V0CDY,=2V0CGM,=2V0CLJ,=2V0CVL,=2V0DAA,=2V0DUN,=2V0GME, - =2V0GNG,=2V0KED,=2V0WDS,=2V1EPO,=GB0AAW,=GB0AD,=GB0AVR,=GB0AWE,=GB0AWS,=GB0BHR,=GB0BP,=GB0BRE, - =GB0BTB,=GB0BVL,=GB0BYL,=GB0CCE,=GB0CEW,=GB0CFD,=GB0CGG,=GB0CLC,=GB0CQD,=GB0CSA,=GB0CSR,=GB0CVA, - =GB0DFD,=GB0DMT,=GB0DS,=GB0DVP,=GB0FHD,=GB0FHI,=GB0GDD,=GB0GIW,=GB0GLV,=GB0GMD,=GB0GRM,=GB0HEL, - =GB0HGC,=GB0HLT,=GB0HMM,=GB0HMT,=GB0KF,=GB0L,=GB0LBG,=GB0LM,=GB0LVF,=GB0MFH,=GB0MIW,=GB0ML, - =GB0MPA,=GB0MUU,=GB0MWL,=GB0NAW,=GB0NEW,=GB0NG,=GB0NLC,=GB0PBR,=GB0PEM,=GB0PGG,=GB0PLB,=GB0PLL, - =GB0PSG,=GB0RME,=GB0ROC,=GB0RPO,=GB0RS,=GB0RSC,=GB0RSF,=GB0RWM,=GB0SDD,=GB0SGC,=GB0SH,=GB0SH/LH, - =GB0SOA,=GB0SPE,=GB0SPS,=GB0TD,=GB0TPR,=GB0TS,=GB0TTT,=GB0VCA,=GB0VK,=GB0WHH,=GB0WHR,=GB0WIW, - =GB0WUL,=GB0YG,=GB100AB,=GB100BP,=GB100CSW,=GB100GGC,=GB100GGM,=GB100HD,=GB100LB,=GB100LSG, - =GB100MCV,=GB100TMD,=GB10SOTA,=GB1AD,=GB1ATC,=GB1BAF,=GB1BGS,=GB1BPL,=GB1BSW,=GB1BW,=GB1CCC, - =GB1CDS,=GB1CPG,=GB1DS,=GB1FHS,=GB1HAS,=GB1HTW,=GB1JC,=GB1LSG,=GB1LW,=GB1OOC,=GB1PCA,=GB1PCS, - =GB1PD,=GB1PGW,=GB1PJ,=GB1PLL,=GB1SEA,=GB1SL,=GB1SPN,=GB1SSL,=GB1TDS,=GB1WAA,=GB1WIW,=GB1WSM, - =GB2000SET,=GB2003SET,=GB200HNT,=GB250TMB,=GB250TT,=GB2ADU,=GB2ANG,=GB2BEF,=GB2BGG,=GB2BOM, - =GB2BOW,=GB2BPM,=GB2BYF,=GB2CC,=GB2CI,=GB2COB,=GB2CR,=GB2CRS,=GB2DWR,=GB2EI,=GB2FC,=GB2FLB, - =GB2GGM,=GB2GLS,=GB2GOL,=GB2GSG,=GB2GVA,=GB2HDG,=GB2IMD,=GB2LBR,=GB2LM,=GB2LNP,=GB2LSA,=GB2LSA/LH, - =GB2LSH,=GB2MD,=GB2MGY,=GB2MIL,=GB2MMC,=GB2MOP,=GB2NF,=GB2NPH,=GB2NPL,=GB2OOA,=GB2PRC,=GB2RFS, - =GB2RTB,=GB2SAC,=GB2SCD,=GB2SCP,=GB2SFM,=GB2SIP,=GB2SLA,=GB2TD,=GB2TD/LH,=GB2TTA,=GB2VK,=GB2WAA, - =GB2WHO,=GB2WNA,=GB2WSF,=GB2WT,=GB3HLS,=GB3LMW,=GB4ADU,=GB4AFS,=GB4AOS,=GB4BB,=GB4BOJ,=GB4BPL, - =GB4BPL/LH,=GB4BPL/P,=GB4BPR,=GB4BRS/P,=GB4BSG,=GB4CI,=GB4CTC,=GB4EUL,=GB4FAA,=GB4GM,=GB4GSS, - =GB4HFH,=GB4HI,=GB4HLB,=GB4HMD,=GB4HMM,=GB4MBC,=GB4MD,=GB4MDH,=GB4MDI,=GB4MJS,=GB4MPI,=GB4MUU, - =GB4NDG,=GB4NPL,=GB4NTB,=GB4ON,=GB4OST,=GB4PAT,=GB4PCS,=GB4PD,=GB4POW,=GB4RC,=GB4RME,=GB4RSL, - =GB4SDD,=GB4SLC,=GB4SSP,=GB4SUB,=GB4TMS,=GB4UKG,=GB4VJD,=GB4WT,=GB4WWI,=GB4XT,=GB50ABS,=GB50EVS, - =GB50RSC,=GB50SGP,=GB5AC,=GB5FI,=GB5GEO,=GB5IMD,=GB5MD,=GB5ONG,=GB5PSJ,=GB5SIP,=GB5WT,=GB60DITP, - =GB60ER,=GB60PW,=GB60SPS,=GB60VLY,=GB65BTF,=GB6AC,=GB6BLB,=GB6CRI,=GB6GGM,=GB6OQA,=GB6ORA,=GB6PLB, - =GB6RNLI,=GB6SPD,=GB6TS,=GB6TSG,=GB6WT,=GB6WWT,=GB70BTF,=GB750CC,=GB75ATC,=GB75BB,=GB8CCC,=GB8HI, - =GB8MD,=GB8MG,=GB8OAE,=GB8OQE,=GB8RAF,=GB8WOW,=GB8WT,=GB90RSGB/62,=GB90RSGB/72,=GC4BRS/LH, - =GG100ACD,=GG100ANG,=GG100CPG,=GG100RGG,=GG100SG,=GO0DIV,=GO0EZQ,=GO0EZY,=GO0JEQ,=GO0MNP, - =GO0MNP/P,=GO0NPL,=GO0PLB,=GO0PNI,=GO0PUP,=GO0VKW,=GO0VML,=GO0VSW,=GO1DPL,=GO1IOT,=GO1JFV,=GO1MVL, - =GO1PKM,=GO3PLB,=GO3UOF,=GO3UOF/M,=GO3XJQ,=GO4BKG,=GO4BLE,=GO4CQZ,=GO4DTQ,=GO4GTI,=GO4JKR,=GO4JUN, - =GO4JUW,=GO4MVA,=GO4NOO,=GO4OKT,=GO4SUE,=GO4SUE/P,=GO4TNZ,=GO4WXM,=GO6IMS,=GO6NKG,=GO6UKO,=GO7DWR, - =GO7SBO,=GO7VJK,=GO7VQD,=GO8BQK,=GO8IQC,=GO8JOY,=GO8OKR,=GQ0ANA,=GQ0DIV,=GQ0JEQ,=GQ0JRF,=GQ0MNO, - =GQ0MNP,=GQ0NPL,=GQ0PUP,=GQ0RYT,=GQ0SLM,=GQ0TQM,=GQ0VKW,=GQ0VML,=GQ0VSW,=GQ0WVL,=GQ1FKY,=GQ1FOA/P, - =GQ1IOT,=GQ1JFV,=GQ1MVL,=GQ1NRS,=GQ1WRV,=GQ1ZKN,=GQ3IRK,=GQ3PLB,=GQ3SB,=GQ3UOF,=GQ3VEN,=GQ3VKL, - =GQ3WSU,=GQ3XJA,=GQ3XJQ,=GQ4BKG,=GQ4BLE,=GQ4CQZ,=GQ4EZW,=GQ4GSH,=GQ4GTI,=GQ4IIL,=GQ4JKR,=GQ4JUN, - =GQ4JUW,=GQ4LZP,=GQ4MVA,=GQ4NOO,=GQ4OKT,=GQ4SUE,=GQ4VNS,=GQ4VZJ,=GQ4WXM,=GQ4WXM/P,=GQ6IMS,=GQ6ITJ, - =GQ6NKG,=GQ6UKO,=GQ7BQK,=GQ7DWR,=GQ7FBV,=GQ7SBO,=GQ7UNJ,=GQ7UNV,=GQ7VJK,=GQ7VQD,=GQ8BQK,=GQ8IQC, - =GQ8JOY,=GQ8OKR,=GR0ANA,=GR0DIV,=GR0DSP,=GR0HUS,=GR0JEQ,=GR0MYY,=GR0NPL,=GR0PSV,=GR0RYT,=GR0SYN, - =GR0TKX,=GR0VKW,=GR0WGK,=GR1FJI,=GR1HNG,=GR1LFX,=GR1LHV,=GR1MCD,=GR1SGG,=GR1WVY,=GR1YQM,=GR3SB, - =GR3SFC,=GR3TKH,=GR3UOF,=GR3XJQ,=GR4BKG,=GR4BLE,=GR4CQZ,=GR4GNY,=GR4GTI,=GR4HZA,=GR4JUN,=GR4JUW, - =GR4OGO,=GR4SUE,=GR4VSS/P,=GR4XXJ,=GR4ZOM,=GR5PH,=GR6NKG,=GR6SIX,=GR6STK,=GR6UKO,=GR6ZDH,=GR7AAV, - =GR7HOC,=GR7NAU,=GR7TKZ,=GR7UNV,=GR7VQD,=GR8BQK,=GR8IQC,=GR8OGI,=GR8TRO,=GV0ANA,=GV0DCK,=GV0DIV, - =GV0EME,=GV0FRE,=GV0MNP,=GV0NPL,=GV1FKY,=GV1IOT,=GV1JFV,=GV1NBW,=GV1YQM,=GV3ATZ,=GV3TJE/P,=GV3UOF, - =GV3WEZ,=GV3XJQ,=GV4BKG,=GV4BRS,=GV4CQZ,=GV4JKR,=GV4JQP,=GV4NQJ,=GV4PUC,=GV6BRC,=GV6JPC,=GV6NKG, - =GV7UNV,=GV7VJK,=GV8IQC,=GW0AWT/2K,=GW0GEI/2K,=GW0GIH/2K,=GW0MNO/2K,=GW0VSW/2K,=GW3JXN/2K, - =GW3KJN/2K,=GW4IIL/2K,=GW4VHP/2K,=M2000Y/97A,=MO0AQZ,=MO0ATI,=MO0COE,=MO0CVT,=MO0EQL,=MO0EZQ, - =MO0GXE,=MO0HCX,=MO0IBZ,=MO0IML,=MO0KLW,=MO0LDJ,=MO0LLK,=MO0LUK,=MO0LZZ,=MO0MAU,=MO0MUM,=MO0MWZ, - =MO0OWW,=MO0SGD,=MO0SGR,=MO0TBB,=MO0TMI,=MO0TTU,=MO0UPH,=MO0VVO,=MO1CFA,=MO1CFN,=MO3DAO,=MO3DQB, - =MO3GKI,=MO3OJA,=MO3PUU,=MO3RNI,=MO3UEZ,=MO3WPH,=MO3YVO,=MO3ZCO,=MO6DVP,=MO6GWK,=MO6GWR,=MO6GWR/P, - =MO6MAU,=MO6PAM,=MO6PLC,=MO6PUT,=MO6SEF,=MO6TBD,=MO6TBP,=MO6WLB,=MQ0AQZ,=MQ0ATI,=MQ0AWW,=MQ0CDO, - =MQ0CNA,=MQ0CVT,=MQ0DHF,=MQ0EQL,=MQ0GXE,=MQ0GYV,=MQ0HCX,=MQ0IBZ,=MQ0IML,=MQ0LDJ,=MQ0LLK,=MQ0LUK, - =MQ0LZZ,=MQ0MAU,=MQ0MUM,=MQ0MWA,=MQ0MWZ,=MQ0OWW,=MQ0PAD,=MQ0RHD,=MQ0SGD,=MQ0SGR,=MQ0TBB,=MQ0TMI, - =MQ0TTU,=MQ0UPH,=MQ0UPH/P,=MQ0VVO,=MQ0XMC/P,=MQ1CFA,=MQ1CFN,=MQ1EYO/P,=MQ1LCR,=MQ3DAO,=MQ3EPA, - =MQ3GKI,=MQ3JAT,=MQ3NDB,=MQ3OJA,=MQ3USK,=MQ3WPH,=MQ3ZCB/P,=MQ5AND,=MQ5EPA,=MQ5VZW,=MQ6DVP,=MQ6KLL, - =MQ6MAU,=MQ6PAM,=MQ6PLC,=MQ6RHD,=MQ6SEF,=MQ6TBD,=MQ6TBP,=MR0AQZ,=MR0BXJ,=MR0CVT,=MR0GUK,=MR0GXE, - =MR0IDX,=MR0JGE,=MR0LAO,=MR0LDJ,=MR0MAU,=MR0RLD,=MR0TTR,=MR0TTU,=MR0YAD,=MR0ZAP,=MR1CFN,=MR1EAA, - =MR1LCR,=MR1MAJ/P,=MR1MDH,=MR3AVB,=MR3AVC,=MR3CBF,=MR3NYR,=MR3OBL,=MR3SET/P,=MR3UFN,=MR3XZP, - =MR3YKL,=MR3YLO,=MR3YVO,=MR3ZCB/P,=MR5HOC,=MR6ADZ,=MR6KDA,=MR6VHF,=MR6YDP,=MV0AEL,=MV0BLM,=MV0EDX, - =MV0GWT,=MV0GXE,=MV0HGY/P,=MV0IML,=MV0LLK,=MV0PJJ,=MV0PJJ/P,=MV0RRD,=MV0SGD,=MV0SGR,=MV0TBB, - =MV0TDQ,=MV0UAA,=MV0USK,=MV0VRQ,=MV0WYN,=MV1CFA,=MV1CFN,=MV1EYP/P,=MV3RNI,=MV6CQN,=MV6GWR, - =MV6GWR/P,=MV6URC,=MV6ZOL,=MW0CND/2K,=MW0DHF/LH,=MW5AAM/2K,=MW5GOL/LH; + =2V0GNG,=2V0KED,=2V0WDS,=2V1EPO,=GB0AAW,=GB0AD,=GB0AWE,=GB0AWS,=GB0BHR,=GB0BP,=GB0BRE,=GB0BTB, + =GB0BVL,=GB0BYL,=GB0CCE,=GB0CEW,=GB0CFD,=GB0CGG,=GB0CLC,=GB0CQD,=GB0CSA,=GB0CSR,=GB0CVA,=GB0DFD, + =GB0DMT,=GB0DS,=GB0DVP,=GB0FHD,=GB0FHI,=GB0GDD,=GB0GIW,=GB0GLV,=GB0GMD,=GB0GRM,=GB0HEL,=GB0HGC, + =GB0HLT,=GB0HMM,=GB0HMT,=GB0KF,=GB0L,=GB0LBG,=GB0LM,=GB0LVF,=GB0MFH,=GB0MIW,=GB0ML,=GB0MPA, + =GB0MUU,=GB0MWL,=GB0NAW,=GB0NEW,=GB0NG,=GB0NLC,=GB0PBR,=GB0PEM,=GB0PGG,=GB0PLB,=GB0PLL,=GB0PSG, + =GB0RME,=GB0ROC,=GB0RPO,=GB0RS,=GB0RSC,=GB0RSF,=GB0RWM,=GB0SDD,=GB0SGC,=GB0SH,=GB0SH/LH,=GB0SOA, + =GB0SPE,=GB0SPS,=GB0TD,=GB0TPR,=GB0TS,=GB0TTT,=GB0VCA,=GB0VK,=GB0WHH,=GB0WHR,=GB0WIW,=GB0WUL, + =GB0YG,=GB100AB,=GB100BP,=GB100CSW,=GB100GGC,=GB100GGM,=GB100HD,=GB100LB,=GB100LSG,=GB100MCV, + =GB100TMD,=GB10SOTA,=GB1AD,=GB1ATC,=GB1BAF,=GB1BGS,=GB1BPL,=GB1BSW,=GB1BW,=GB1CCC,=GB1CDS,=GB1CPG, + =GB1DS,=GB1FHS,=GB1HAS,=GB1HTW,=GB1JC,=GB1LSG,=GB1LW,=GB1OOC,=GB1PCA,=GB1PCS,=GB1PD,=GB1PGW, + =GB1PJ,=GB1PLL,=GB1SEA,=GB1SL,=GB1SPN,=GB1SSL,=GB1TDS,=GB1WAA,=GB1WIW,=GB1WSM,=GB2000SET, + =GB2003SET,=GB200HNT,=GB250TMB,=GB250TT,=GB2ADU,=GB2BEF,=GB2BGG,=GB2BOM,=GB2BOW,=GB2BPM,=GB2BYF, + =GB2CC,=GB2CI,=GB2COB,=GB2CR,=GB2CRS,=GB2DWR,=GB2EI,=GB2FC,=GB2FLB,=GB2GGM,=GB2GLS,=GB2GOL, + =GB2GSG,=GB2GVA,=GB2HDG,=GB2IMD,=GB2LBR,=GB2LM,=GB2LNP,=GB2LSA,=GB2LSA/LH,=GB2LSH,=GB2MD,=GB2MGY, + =GB2MIL,=GB2MMC,=GB2MOP,=GB2NF,=GB2NPH,=GB2NPL,=GB2OOA,=GB2PRC,=GB2RFS,=GB2RTB,=GB2SAC,=GB2SCD, + =GB2SCP,=GB2SFM,=GB2SIP,=GB2SLA,=GB2TD,=GB2TD/LH,=GB2TTA,=GB2VK,=GB2WAA,=GB2WHO,=GB2WNA,=GB2WSF, + =GB2WT,=GB3HLS,=GB3LMW,=GB4ADU,=GB4AFS,=GB4AOS,=GB4BB,=GB4BOJ,=GB4BPL,=GB4BPL/LH,=GB4BPL/P, + =GB4BPR,=GB4BRS/P,=GB4BSG,=GB4CI,=GB4CTC,=GB4EUL,=GB4FAA,=GB4GM,=GB4GSS,=GB4HFH,=GB4HI,=GB4HLB, + =GB4HMD,=GB4HMM,=GB4MBC,=GB4MD,=GB4MDH,=GB4MDI,=GB4MJS,=GB4MPI,=GB4MUU,=GB4NDG,=GB4NPL,=GB4NTB, + =GB4ON,=GB4OST,=GB4PAT,=GB4PCS,=GB4PD,=GB4POW,=GB4RC,=GB4RME,=GB4RSL,=GB4SDD,=GB4SLC,=GB4SSP, + =GB4SUB,=GB4TMS,=GB4UKG,=GB4VJD,=GB4WT,=GB4WWI,=GB4XT,=GB50ABS,=GB50EVS,=GB50RSC,=GB50SGP,=GB5AC, + =GB5FI,=GB5GEO,=GB5IMD,=GB5MD,=GB5ONG,=GB5PSJ,=GB5SIP,=GB5WT,=GB60DITP,=GB60ER,=GB60PW,=GB60SPS, + =GB60VLY,=GB65BTF,=GB6AC,=GB6BLB,=GB6CRI,=GB6GGM,=GB6OQA,=GB6ORA,=GB6PLB,=GB6RNLI,=GB6SPD,=GB6TS, + =GB6TSG,=GB6WT,=GB6WWT,=GB70BTF,=GB750CC,=GB75ATC,=GB75BB,=GB8CCC,=GB8HI,=GB8MD,=GB8MG,=GB8OAE, + =GB8OQE,=GB8RAF,=GB8WOW,=GB8WT,=GB90RSGB/62,=GB90RSGB/72,=GC4BRS/LH,=GG100ACD,=GG100ANG,=GG100CPG, + =GG100RGG,=GG100SG,=GO0DIV,=GO0EZQ,=GO0EZY,=GO0JEQ,=GO0MNP,=GO0MNP/P,=GO0NPL,=GO0PLB,=GO0PNI, + =GO0PUP,=GO0VKW,=GO0VML,=GO0VSW,=GO1DPL,=GO1IOT,=GO1JFV,=GO1MVL,=GO1PKM,=GO3PLB,=GO3UOF,=GO3UOF/M, + =GO3XJQ,=GO4BKG,=GO4BLE,=GO4CQZ,=GO4DTQ,=GO4GTI,=GO4JKR,=GO4JUN,=GO4JUW,=GO4MVA,=GO4NOO,=GO4OKT, + =GO4SUE,=GO4SUE/P,=GO4TNZ,=GO4WXM,=GO6IMS,=GO6NKG,=GO6UKO,=GO7DWR,=GO7SBO,=GO7VJK,=GO7VQD,=GO8BQK, + =GO8IQC,=GO8JOY,=GO8OKR,=GQ0ANA,=GQ0DIV,=GQ0JEQ,=GQ0JRF,=GQ0MNO,=GQ0MNP,=GQ0NPL,=GQ0PUP,=GQ0RYT, + =GQ0SLM,=GQ0TQM,=GQ0VKW,=GQ0VML,=GQ0VSW,=GQ0WVL,=GQ1FKY,=GQ1FOA/P,=GQ1IOT,=GQ1JFV,=GQ1MVL,=GQ1NRS, + =GQ1WRV,=GQ1ZKN,=GQ3IRK,=GQ3PLB,=GQ3SB,=GQ3UOF,=GQ3VEN,=GQ3VKL,=GQ3WSU,=GQ3XJA,=GQ3XJQ,=GQ4BKG, + =GQ4BLE,=GQ4CQZ,=GQ4EZW,=GQ4GSH,=GQ4GTI,=GQ4IIL,=GQ4JKR,=GQ4JUN,=GQ4JUW,=GQ4LZP,=GQ4MVA,=GQ4NOO, + =GQ4OKT,=GQ4SUE,=GQ4VNS,=GQ4VZJ,=GQ4WXM,=GQ4WXM/P,=GQ6IMS,=GQ6ITJ,=GQ6NKG,=GQ6UKO,=GQ7BQK,=GQ7DWR, + =GQ7FBV,=GQ7SBO,=GQ7UNJ,=GQ7UNV,=GQ7VJK,=GQ7VQD,=GQ8BQK,=GQ8IQC,=GQ8JOY,=GQ8OKR,=GR0ANA,=GR0DIV, + =GR0DSP,=GR0HUS,=GR0JEQ,=GR0MYY,=GR0NPL,=GR0PSV,=GR0RYT,=GR0SYN,=GR0TKX,=GR0VKW,=GR0WGK,=GR1FJI, + =GR1HNG,=GR1LFX,=GR1LHV,=GR1MCD,=GR1SGG,=GR1WVY,=GR1YQM,=GR3SB,=GR3SFC,=GR3TKH,=GR3UOF,=GR3XJQ, + =GR4BKG,=GR4BLE,=GR4CQZ,=GR4GNY,=GR4GTI,=GR4HZA,=GR4JUN,=GR4JUW,=GR4OGO,=GR4SUE,=GR4VSS/P,=GR4XXJ, + =GR4ZOM,=GR5PH,=GR6NKG,=GR6SIX,=GR6STK,=GR6UKO,=GR6ZDH,=GR7AAV,=GR7HOC,=GR7NAU,=GR7TKZ,=GR7UNV, + =GR7VQD,=GR8BQK,=GR8IQC,=GR8OGI,=GR8TRO,=GV0ANA,=GV0DCK,=GV0DIV,=GV0EME,=GV0FRE,=GV0MNP,=GV0NPL, + =GV1FKY,=GV1IOT,=GV1JFV,=GV1NBW,=GV1YQM,=GV3ATZ,=GV3TJE/P,=GV3UOF,=GV3WEZ,=GV3XJQ,=GV4BKG,=GV4BRS, + =GV4CQZ,=GV4JKR,=GV4JQP,=GV4NQJ,=GV4PUC,=GV6BRC,=GV6JPC,=GV6NKG,=GV7UNV,=GV7VJK,=GV8IQC, + =GW0AWT/2K,=GW0GEI/2K,=GW0GIH/2K,=GW0MNO/2K,=GW0VSW/2K,=GW3JXN/2K,=GW3KJN/2K,=GW4IIL/2K, + =GW4VHP/2K,=M2000Y/97A,=MO0AQZ,=MO0ATI,=MO0COE,=MO0CVT,=MO0EQL,=MO0EZQ,=MO0GXE,=MO0HCX,=MO0IBZ, + =MO0IML,=MO0KLW,=MO0LDJ,=MO0LLK,=MO0LUK,=MO0LZZ,=MO0MAU,=MO0MUM,=MO0MWZ,=MO0OWW,=MO0SGD,=MO0SGR, + =MO0TBB,=MO0TMI,=MO0TTU,=MO0UPH,=MO0VVO,=MO1CFA,=MO1CFN,=MO3DAO,=MO3DQB,=MO3GKI,=MO3OJA,=MO3PUU, + =MO3RNI,=MO3UEZ,=MO3WPH,=MO3YVO,=MO3ZCO,=MO6DVP,=MO6GWK,=MO6GWR,=MO6GWR/P,=MO6MAU,=MO6PAM,=MO6PLC, + =MO6PUT,=MO6SEF,=MO6TBD,=MO6TBP,=MO6WLB,=MQ0AQZ,=MQ0ATI,=MQ0AWW,=MQ0CDO,=MQ0CNA,=MQ0CVT,=MQ0DHF, + =MQ0EQL,=MQ0GXE,=MQ0GYV,=MQ0HCX,=MQ0IBZ,=MQ0IML,=MQ0LDJ,=MQ0LLK,=MQ0LUK,=MQ0LZZ,=MQ0MAU,=MQ0MUM, + =MQ0MWA,=MQ0MWZ,=MQ0OWW,=MQ0PAD,=MQ0RHD,=MQ0SGD,=MQ0SGR,=MQ0TBB,=MQ0TMI,=MQ0TTU,=MQ0UPH,=MQ0UPH/P, + =MQ0VVO,=MQ0XMC/P,=MQ1CFA,=MQ1CFN,=MQ1EYO/P,=MQ1LCR,=MQ3DAO,=MQ3EPA,=MQ3GKI,=MQ3JAT,=MQ3NDB, + =MQ3OJA,=MQ3USK,=MQ3WPH,=MQ3ZCB/P,=MQ5AND,=MQ5EPA,=MQ5VZW,=MQ6DVP,=MQ6KLL,=MQ6MAU,=MQ6PAM,=MQ6PLC, + =MQ6RHD,=MQ6SEF,=MQ6TBD,=MQ6TBP,=MR0AQZ,=MR0BXJ,=MR0CVT,=MR0GUK,=MR0GXE,=MR0IDX,=MR0JGE,=MR0LAO, + =MR0LDJ,=MR0MAU,=MR0RLD,=MR0TTR,=MR0TTU,=MR0YAD,=MR0ZAP,=MR1CFN,=MR1EAA,=MR1LCR,=MR1MAJ/P,=MR1MDH, + =MR3AVB,=MR3AVC,=MR3CBF,=MR3NYR,=MR3OBL,=MR3SET/P,=MR3UFN,=MR3XZP,=MR3YKL,=MR3YLO,=MR3YVO, + =MR3ZCB/P,=MR5HOC,=MR6ADZ,=MR6KDA,=MR6VHF,=MR6YDP,=MV0AEL,=MV0BLM,=MV0EDX,=MV0GWT,=MV0GXE, + =MV0HGY/P,=MV0IML,=MV0LLK,=MV0PJJ,=MV0PJJ/P,=MV0RRD,=MV0SGD,=MV0SGR,=MV0TBB,=MV0TDQ,=MV0UAA, + =MV0USK,=MV0VRQ,=MV0WYN,=MV1CFA,=MV1CFN,=MV1EYP/P,=MV3RNI,=MV6CQN,=MV6GWR,=MV6GWR/P,=MV6URC, + =MV6ZOL,=MW0CND/2K,=MW0DHF/LH,=MW5AAM/2K,=MW5GOL/LH; Solomon Islands: 28: 51: OC: -9.00: -160.00: -11.0: H4: H4,=H40/H44RK; Temotu Province: 32: 51: OC: -10.72: -165.80: -11.0: H40: @@ -1044,14 +1049,15 @@ Italy: 15: 28: EU: 42.82: -12.58: -1.0: I: =IQ2MI/J,=IW2NUY/N,=IZ2MYA/EXPO, =I3GJJ/J,=I3TXQ/N,=IK3TZB/N,=IQ3DD/MCC,=IQ3FL/J,=IQ3TS/LH,=IW3BSQ/LH,=IZ3DBA/N,=IZ3GHP/N, =IZ3QCH/N,=IZ3SZQ/N, - =I4CQO/N,=II4GOR/LH,=IQ4FA/J,=IQ4FJ/J,=IQ4RN/LGT,=IQ4RN/LH,=IW4EGX/LH,=IZ4AIH/J, - =I5OYY/N,=IK5IWU/N,=IK5TSZ/N,=IP5P/LH,=IQ5AA/J,=IQ5AE/J,=IQ5LI/J,=IQ5LV/J,=IW5DAX/J,=IZ5AHB/N, + =I4CQO/N,=II4GOR/LH,=IQ4FA/J,=IQ4FJ/J,=IQ4RN/LGT,=IQ4RN/LH,=IT9RGY/4,=IW4EGX/LH,=IZ4AIH/J, + =I5OYY/N,=IK5IWU/N,=IK5TSZ/N,=IP5P/LH,=IQ5AA/J,=IQ5AE/J,=IQ5LI/J,=IQ5LV/J,=IU5JHK/J,=IW5DAX/J, + =IZ5AHB/N, =I6DHY/CASA,=I6FDJ/LH,=I6FDJ/N,=I6HWD/CA,=I6HWD/LH,=I6KIU/6/LH,=IK6XOU/LH,=IK6YXM/N,=IQ6FU/LH, =IQ6PS/LH,=IQ6SB/LGH,=IQ6SB/LGT,=IQ6SB/LH,=IQ6VP/J,=IZ6ASI/LH,=IZ6ASI/N,=IZ6CDI/O,=IZ6RWD/O, =IZ6TGS/LH,=IZ6TGS/N, - =4U13FEB,=4U1GSC,=4U20B,=4U24OCT,=4U29MAY,=I7PXV/LH,=I7PXV/P/LH,=I7XUW/MI/224,=II7IAOI/N,=II7PT/C, - =II7PT/D,=II7PT/E,=II7PT/F,=II7PT/G,=II7PT/H,=II7PT/L,=IK7JWX/LH,=IQ7ML/J,=IQ7ML/LH,=IU7SCT/J, - =IZ2DPX/7/LH,=IZ7DKA/YL,=IZ7KDX/LH,=IZ7LDC/LH, + =4U13FEB,=4U1GSC,=4U20B,=4U24OCT,=4U29MAY,=4U73B,=I7PXV/LH,=I7PXV/P/LH,=I7XUW/MI/224,=II7IAOI/N, + =II7PT/C,=II7PT/D,=II7PT/E,=II7PT/F,=II7PT/G,=II7PT/H,=II7PT/L,=IK7JWX/LH,=IQ7ML/J,=IQ7ML/LH, + =IQ7QK/LH,=IU7SCT/J,=IZ2DPX/7/LH,=IZ7DKA/YL,=IZ7KDX/LH,=IZ7LDC/LH, =IK2RLS/8/LH,=IK8TEO/N,=IQ8OM/N,=IQ8PC/BWL,=IQ8XS/CEU,=IW8FFG/J,=IZ8AJQ/LGT,=IZ8AJQ/LH, =IZ8DBJ/LGT,=IZ8DBJ/LH,=IZ8FMU/KR,=IZ8IZK/YL,=IZ8JPV/N,=IZ8QNX/N, =IA5/IW3ILP/L, @@ -1068,9 +1074,9 @@ Sardinia: 15: 28: EU: 40.15: -9.27: -1.0: IS: =IQ0US,=IQ0UT,=IQ0XP,=IR0EO,=IR0FOC,=IR0IDP,=IR0IDP/1,=IR0IDP/2,=IR0IDP/3,=IR0LVC,=IR0MDC, =IS0/4Z5KJ/LH,=IS0ICE/N,=IS0IGV/N,=IS0PGF/N,=IS0SDX/N,=IW0HRI,=IY0GA; Sicily: 15: 28: EU: 37.50: -14.00: -1.0: *IT9: - IB9,ID9,IE9,IF9,II9,IJ9,IO9,IQ9,IR9,IT9,IU9,IW9,IY9,=IT9CHU/J,=IT9CKA/CA,=IT9CLY/JZK,=IT9DSA/CA, - =IT9DTU/N,=IT9GDS/WLK,=IT9HBS/LH,=IT9JZK/WLK,=IT9KKE/JZK,=IT9MRM/N,=IT9MRZ/LH,=IT9NCO/LH, - =IT9NCO/N,=IT9OTF/JZK,=IT9RRU/LH,=IT9RYH/J,=IT9RYH/N,=IT9ZSB/LH,=IW0HBY/9; + IB9,ID9,IE9,IF9,II9,IJ9,IO9,IQ9,IR9,IT9,IU9,IW9,IY9,=IQ1QQ/9,=IT9CHU/J,=IT9CKA/CA,=IT9CLY/JZK, + =IT9DSA/CA,=IT9DTU/N,=IT9GDS/WLK,=IT9HBS/LH,=IT9JZK/WLK,=IT9KKE/JZK,=IT9MRM/N,=IT9MRZ/LH, + =IT9NCO/LH,=IT9NCO/N,=IT9OTF/JZK,=IT9RRU/LH,=IT9RYH/J,=IT9RYH/N,=IT9ZSB/LH,=IW0HBY/9; Djibouti: 37: 48: AF: 11.75: -42.35: -3.0: J2: J2; Grenada: 08: 11: NA: 12.13: 61.68: 4.0: J3: @@ -1085,9 +1091,10 @@ St. Vincent: 08: 11: NA: 13.23: 61.20: 4.0: J8: J8; Japan: 25: 45: AS: 36.40: -138.38: -9.0: JA: 7J,7K,7L,7M,7N,8J,8K,8L,8M,8N,JA,JE,JF,JG,JH,JI,JJ,JK,JL,JM,JN,JO,JP,JQ,JR,JS,=7N2DAB/LH, - =JD1BHH/6,=JO1ZYB/L, + =JO1ZYB/L, =7N4RHO/BM,=JE1LET/AE3RM,=JE1LET/VK3SS,=JE1XUZ/YOTA,=JH1NBN/DF2OO,=JH1NBN/DL1BD, - =JQ2UXA/YL; + =JQ2UXA/YL, + =JD1BHH/6; Minami Torishima: 27: 90: OC: 24.28: -153.97: -10.0: JD/m: =8J1ZIU/JD1,=8N1AQ/JD1,=JA6GXK/JD1,=JD1/8J1ZIU,=JD1/8N1AQ,=JD1/JA6GXK,=JD1/JD1BIC,=JD1/JD1YAB, =JD1/JE6XPF,=JD1/JF3CTR,=JD1/JF7MTO,=JD1/JF8HIQ,=JD1/JG1RHN,=JD1/JG8NQJ,=JD1/JH1EFP,=JD1/JI2AMA, @@ -1097,7 +1104,7 @@ Minami Torishima: 27: 90: OC: 24.28: -153.97: -10.0: JD/m: Ogasawara: 27: 45: AS: 27.05: -142.20: -9.0: JD/o: JD1,=8N1OGA; Mongolia: 23: 32: AS: 46.77: -102.17: -7.0: JT: - JT,JU,JV,=VERSION, + JT,JU,JV, JT2[33],JU2[33],JV2[33], JT3[33],JU3[33],JV3[33]; Svalbard: 40: 18: EU: 78.00: -16.00: -1.0: JW: @@ -1126,69 +1133,71 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: =KH2OP/0(4)[7],=KH2SL(4)[7],=KH6DM(4)[7],=KH6GN(4)[7],=KH6HNL(4)[7],=KH6HTV/0(4)[7],=KH6JEM(4)[7], =KH6JFH(4)[7],=KH6NM(4)[7],=KH6NR(4)[7],=KH6RON(4)[7],=KH6SB(4)[7],=KH6TL(4)[7],=KH6UC(4)[7], =KH6VHF(4)[7],=KH6VO(4)[7],=KH7AL/M(4)[7],=KH7AL/P(4)[7],=KH7BU(4)[7],=KH7GF(4)[7],=KH7HA(4)[7], - =KH7HY(4)[7],=KH7QT(4)[7],=KH8CW(4)[7],=KL0DW(4)[7],=KL0EQ(4)[7],=KL0FOX(4)[7],=KL0GP(4)[7], - =KL0GQ(4)[7],=KL0MW(4)[7],=KL0UP(4)[7],=KL0WIZ(4)[7],=KL1HT(4)[7],=KL1IF(4)[7],=KL1IF/M(4)[7], - =KL1J(4)[7],=KL1LD(4)[7],=KL1PV(4)[7],=KL1TU(4)[7],=KL1V/M(4)[7],=KL1VN(4)[7],=KL2A/0(4)[7], - =KL2FU(4)[7],=KL2GR(4)[7],=KL2QO(4)[7],=KL2SX(4)[7],=KL3LY(4)[7],=KL3MA(4)[7],=KL3MB(4)[7], - =KL3MC(4)[7],=KL3QS(4)[7],=KL3SM(4)[7],=KL3VN(4)[7],=KL4JN(4)[7],=KL7DE(4)[7],=KL7DTJ(4)[7], - =KL7ED(4)[7],=KL7EP(4)[7],=KL7EP/0(4)[7],=KL7GKY/0(4)[7],=KL7GLK(4)[7],=KL7GLK/0(4)[7], - =KL7GLK/B(4)[7],=KL7IEI(4)[7],=KL7IXI(4)[7],=KL7JGJ(4)[7],=KL7JIE(4)[7],=KL7JIM(4)[7], - =KL7JR/0(4)[7],=KL7MH(4)[7],=KL7MV(4)[7],=KL7NW(4)[7],=KL7PE/M(4)[7],=KL7QW(4)[7],=KL7QW/0(4)[7], - =KL7RH(4)[7],=KL7RZ(4)[7],=KL7SB/0(4)[7],=KL7SFD(4)[7],=KL7UV(4)[7],=KL7XH(4)[7],=KL7YL(4)[7], - =KL7YY/0(4)[7],=KL7ZD(4)[7],=KL7ZT(4)[7],=KP4ATV(4)[7],=KP4MLF(4)[7],=KP4XZ(4)[7],=NH2LH(4)[7], - =NH6CF(4)[7],=NH6WF(4)[7],=NH7CY(4)[7],=NH7FI(4)[7],=NH7XM(4)[7],=NH7ZH(4)[7],=NL7AS(4)[7], - =NL7BU(4)[7],=NL7CQ(4)[7],=NL7FF(4)[7],=NL7FU(4)[7],=NL7XT(4)[7],=NL7XU(4)[7],=NP4AI(4)[7], - =NP4AI/0(4)[7],=VE4AGT/M(4)[7],=VE4XC/M(4)[7],=WH2S(4)[7],=WH6AKZ(4)[7],=WH6ANH(4)[7], - =WH6BLT(4)[7],=WH6BUL(4)[7],=WH6BXD(4)[7],=WH6CTU(4)[7],=WH6CUE(4)[7],=WH6CYM(4)[7],=WH6CZI(4)[7], - =WH6CZU(4)[7],=WH6DCJ(4)[7],=WH6EAE(4)[7],=WH6ENX(4)[7],=WH6LR(4)[7],=WH6MS(4)[7],=WH6QS(4)[7], - =WH7DA(4)[7],=WH7IR(4)[7],=WH7MZ(4)[7],=WH7PV(4)[7],=WH9AAH(4)[7],=WL0JF(4)[7],=WL1ON(4)[7], - =WL7AEC(4)[7],=WL7AJA(4)[7],=WL7ANY(4)[7],=WL7ATK(4)[7],=WL7BT(4)[7],=WL7CEG(4)[7],=WL7CLI(4)[7], - =WL7CPW(4)[7],=WL7CQF(4)[7],=WL7CRT(4)[7],=WL7CY(4)[7],=WL7JB(4)[7],=WL7LZ(4)[7],=WL7RV(4)[7], - =WL7YM(4)[7],=WP2B/0(4)[7],=WP3QH(4)[7],=WP3Y(4)[7],=WP4BTQ(4)[7],=WP4GQR(4)[7],=WP4HRK(4)[7], - =WP4LC(4)[7],=WP4NPV(4)[7], - =AH2V(5)[8],=AH2W(5)[8],=AH6BV(5)[8],=AL0A(5)[8],=AL1O(5)[8],=AL4V(5)[8],=AL7EL(5)[8], - =AL7LV(5)[8],=AL7QS(5)[8],=AL8E(5)[8],=KH2EH(5)[8],=KH6GR(5)[8],=KH6HZ(5)[8],=KH6IKI(5)[8], - =KH6JUK(5)[8],=KH6RF(5)[8],=KH6RF/1(5)[8],=KH6RF/M(5)[8],=KH7CD(5)[8],=KH7CD/1(5)[8],=KH8AC(5)[8], - =KH8AC/1(5)[8],=KL1OC(5)[8],=KL1T(5)[8],=KL1WD(5)[8],=KL2A/1(5)[8],=KL2DM(5)[8],=KL2IC(5)[8], - =KL2KL(5)[8],=KL7CE(5)[8],=KL7CE/1(5)[8],=KL7IXX(5)[8],=KL7JHM(5)[8],=KL7JJN(5)[8],=KL7JR/1(5)[8], - =KL7JT(5)[8],=KL7LK(5)[8],=KL7USI/1(5)[8],=KL8DX(5)[8],=KP4ANG(5)[8],=KP4BLS(5)[8],=KP4BPR(5)[8], - =KP4DGF(5)[8],=KP4EC/1(5)[8],=KP4G(5)[8],=KP4GVT(5)[8],=KP4MR(5)[8],=KP4NPL(5)[8],=KP4NW(5)[8], - =KP4R(5)[8],=KP4RCD(5)[8],=NH0H(5)[8],=NH6IH(5)[8],=NH6XW(5)[8],=NH6ZB(5)[8],=NL7FJ(5)[8], - =NL7MO(5)[8],=NL7NJ(5)[8],=NL7OI(5)[8],=NL7OT(5)[8],=NL7RL(5)[8],=NL9H(5)[8],=NP2FZ(5)[8], - =NP2FZ/1(5)[8],=NP2GG(5)[8],=NP2PN(5)[8],=NP3IV(5)[8],=NP3LN(5)[8],=NP4AO(5)[8],=NP4AZ(5)[8], - =NP4ER(5)[8],=VE1BES/M(5)[8],=VE3CMB/M(5)[8],=VE4CCN/M(5)[8],=WH0EWX(5)[8],=WH2B(5)[8], - =WH6CT(5)[8],=WH6DSN(5)[8],=WH6EI(5)[8],=WH6FBH(5)[8],=WH7TP(5)[8],=WL1B(5)[8],=WL7B(5)[8], - =WL7CC(5)[8],=WL7CUP(5)[8],=WL7CVD(5)[8],=WL7WO(5)[8],=WL7WO/1(5)[8],=WL7Z/1(5)[8],=WP2MG(5)[8], - =WP3NN(5)[8],=WP3NZ(5)[8],=WP3WV(5)[8],=WP4AKE(5)[8],=WP4AZJ(5)[8],=WP4BC(5)[8],=WP4BF(5)[8], - =WP4CJH(5)[8],=WP4JF(5)[8],=WP4KQ(5)[8],=WP4MKJ(5)[8],=WP4MMV(5)[8],=WP4MOC(5)[8],=WP4NKW(5)[8], - =WP4NUV(5)[8],=WP4NYY(5)[8],=WP4OIG(5)[8],=WP4OJK(5)[8], - =AH0BR(5)[8],=AH2AL(5)[8],=AH2O(5)[8],=AH6K(5)[8],=AL0Y(5)[8],=AL2O(5)[8],=AL7RG(5)[8], - =KH2CW(5)[8],=KH2P(5)[8],=KH2R(5)[8],=KH4AG(5)[8],=KH6ALN(5)[8],=KH6HO(5)[8],=KH7GA(5)[8], - =KH7JO(5)[8],=KH7JO/2(5)[8],=KH7MX(5)[8],=KH7NE(5)[8],=KH8ZK(5)[8],=KL0WV(5)[8],=KL1A/2(5)[8], - =KL2A/2(5)[8],=KL2NP(5)[8],=KL3DY(5)[8],=KL3ET(5)[8],=KL3ZC(5)[8],=KL4T(5)[8],=KL7DL(5)[8], - =KL7GB(5)[8],=KL7JCQ(5)[8],=KL7NL/2(5)[8],=KL7TJZ(5)[8],=KL7USI/2(5)[8],=KL7WA(5)[8],=KP2NP(5)[8], - =KP3AK(5)[8],=KP3LM(5)[8],=KP3S(5)[8],=KP3Y(5)[8],=KP4AK(5)[8],=KP4C(5)[8],=KP4CML(5)[8], - =KP4HR(5)[8],=KP4I(5)[8],=KP4JDR(5)[8],=NH2DC(5)[8],=NL7CC(5)[8],=NP2AQ(5)[8],=NP2GI(5)[8], - =NP3D(5)[8],=NP3E(5)[8],=NP3EU(5)[8],=NP3KH(5)[8],=NP3KP(5)[8],=NP4IR(5)[8],=NP4IT(5)[8], - =NP4JQ(5)[8],=WH0W(5)[8],=WH2C(5)[8],=WH6DLD(5)[8],=WH6DNT(5)[8],=WH6UO(5)[8],=WL2NAS(5)[8], - =WL7OG(5)[8],=WP2AAO(5)[8],=WP3MD(5)[8],=WP3VU(5)[8],=WP3WZ(5)[8],=WP4AR(5)[8],=WP4BMU(5)[8], - =WP4BNI(5)[8],=WP4BZ(5)[8],=WP4CB(5)[8],=WP4DME(5)[8],=WP4DWH(5)[8],=WP4EHY(5)[8],=WP4EYW(5)[8], - =WP4HLY(5)[8],=WP4HXS(5)[8],=WP4LYI(5)[8],=WP4MQN(5)[8],=WP4MRB(5)[8],=WP4MYM(5)[8],=WP4MZO(5)[8], - =WP4NBS(5)[8],=WP4OPY(5)[8],=WP4PZB(5)[8],=WP4R(5)[8],=XL3TUV/M(5)[8],=XM3CMB/M(5)[8], + =KH7HY(4)[7],=KH7QI(4)[7],=KH7QJ(4)[7],=KH7QT(4)[7],=KH8CW(4)[7],=KL0DW(4)[7],=KL0EQ(4)[7], + =KL0FOX(4)[7],=KL0GP(4)[7],=KL0GQ(4)[7],=KL0MW(4)[7],=KL0UP(4)[7],=KL0WIZ(4)[7],=KL1HT(4)[7], + =KL1IF(4)[7],=KL1IF/M(4)[7],=KL1J(4)[7],=KL1LD(4)[7],=KL1PV(4)[7],=KL1TU(4)[7],=KL1V/M(4)[7], + =KL1VN(4)[7],=KL2A/0(4)[7],=KL2FU(4)[7],=KL2GR(4)[7],=KL2QO(4)[7],=KL2SX(4)[7],=KL3LY(4)[7], + =KL3MA(4)[7],=KL3MB(4)[7],=KL3MC(4)[7],=KL3QS(4)[7],=KL3SM(4)[7],=KL3VN(4)[7],=KL4IY(4)[7], + =KL4JN(4)[7],=KL7DE(4)[7],=KL7DTJ(4)[7],=KL7ED(4)[7],=KL7EP(4)[7],=KL7EP/0(4)[7],=KL7GKY/0(4)[7], + =KL7GLK(4)[7],=KL7GLK/0(4)[7],=KL7GLK/B(4)[7],=KL7IEI(4)[7],=KL7IXI(4)[7],=KL7JGJ(4)[7], + =KL7JIE(4)[7],=KL7JIM(4)[7],=KL7JR/0(4)[7],=KL7MH(4)[7],=KL7MV(4)[7],=KL7NW(4)[7],=KL7PE/M(4)[7], + =KL7QW(4)[7],=KL7QW/0(4)[7],=KL7RH(4)[7],=KL7RZ(4)[7],=KL7SB/0(4)[7],=KL7SFD(4)[7],=KL7UV(4)[7], + =KL7XH(4)[7],=KL7YL(4)[7],=KL7YY/0(4)[7],=KL7ZD(4)[7],=KL7ZT(4)[7],=KP4ATV(4)[7],=KP4MLF(4)[7], + =KP4XZ(4)[7],=NH2LH(4)[7],=NH6CF(4)[7],=NH6WF(4)[7],=NH7CY(4)[7],=NH7FI(4)[7],=NH7XM(4)[7], + =NH7ZH(4)[7],=NL7AS(4)[7],=NL7BU(4)[7],=NL7CQ(4)[7],=NL7FF(4)[7],=NL7FU(4)[7],=NL7XT(4)[7], + =NL7XU(4)[7],=NP4AI(4)[7],=NP4AI/0(4)[7],=VE4AGT/M(4)[7],=VE4XC/M(4)[7],=WH2S(4)[7],=WH6AKZ(4)[7], + =WH6ANH(4)[7],=WH6BLT(4)[7],=WH6BUL(4)[7],=WH6BXD(4)[7],=WH6CTU(4)[7],=WH6CUE(4)[7],=WH6CYM(4)[7], + =WH6CZI(4)[7],=WH6CZU(4)[7],=WH6DCJ(4)[7],=WH6DUV(4)[7],=WH6EAE(4)[7],=WH6ENX(4)[7],=WH6LR(4)[7], + =WH6MS(4)[7],=WH6QS(4)[7],=WH7DA(4)[7],=WH7IR(4)[7],=WH7MZ(4)[7],=WH7PV(4)[7],=WH9AAH(4)[7], + =WL0JF(4)[7],=WL1ON(4)[7],=WL7AEC(4)[7],=WL7AJA(4)[7],=WL7ANY(4)[7],=WL7ATK(4)[7],=WL7BT(4)[7], + =WL7CEG(4)[7],=WL7CLI(4)[7],=WL7CPW(4)[7],=WL7CQF(4)[7],=WL7CRT(4)[7],=WL7CY(4)[7],=WL7JB(4)[7], + =WL7LZ(4)[7],=WL7LZ/M(4)[7],=WL7RV(4)[7],=WL7YM(4)[7],=WP2B/0(4)[7],=WP3QH(4)[7],=WP3Y(4)[7], + =WP4BTQ(4)[7],=WP4GQR(4)[7],=WP4HRK(4)[7],=WP4LC(4)[7],=WP4NPV(4)[7], + =AH2V(5)[8],=AH2W(5)[8],=AH6BV(5)[8],=AL0A(5)[8],=AL1O(5)[8],=AL4V(5)[8],=AL6I(5)[8],=AL6L(5)[8], + =AL6M(5)[8],=AL7EL(5)[8],=AL7LV(5)[8],=AL7QS(5)[8],=AL8E(5)[8],=KH2EH(5)[8],=KH6GR(5)[8], + =KH6HZ(5)[8],=KH6IKI(5)[8],=KH6JUK(5)[8],=KH6RF(5)[8],=KH6RF/1(5)[8],=KH6RF/M(5)[8],=KH7CD(5)[8], + =KH7CD/1(5)[8],=KH8AC(5)[8],=KH8AC/1(5)[8],=KL1OC(5)[8],=KL1T(5)[8],=KL1WD(5)[8],=KL2A/1(5)[8], + =KL2DM(5)[8],=KL2GA(5)[8],=KL2IC(5)[8],=KL2KL(5)[8],=KL7CE(5)[8],=KL7CE/1(5)[8],=KL7IXX(5)[8], + =KL7JHM(5)[8],=KL7JJN(5)[8],=KL7JR/1(5)[8],=KL7JT(5)[8],=KL7LK(5)[8],=KL7USI/1(5)[8],=KL8DX(5)[8], + =KP4ANG(5)[8],=KP4BLS(5)[8],=KP4BPR(5)[8],=KP4DGF(5)[8],=KP4EC/1(5)[8],=KP4G(5)[8],=KP4GVT(5)[8], + =KP4MR(5)[8],=KP4NPL(5)[8],=KP4NW(5)[8],=KP4R(5)[8],=KP4RCD(5)[8],=NH0H(5)[8],=NH6IH(5)[8], + =NH6XW(5)[8],=NH6ZB(5)[8],=NL7FJ(5)[8],=NL7MO(5)[8],=NL7NJ(5)[8],=NL7OI(5)[8],=NL7OT(5)[8], + =NL9H(5)[8],=NP2FZ(5)[8],=NP2FZ/1(5)[8],=NP2GG(5)[8],=NP2PN(5)[8],=NP3IV(5)[8],=NP3LN(5)[8], + =NP4AO(5)[8],=NP4AZ(5)[8],=NP4ER(5)[8],=VE1BES/M(5)[8],=VE3CMB/M(5)[8],=VE4CCN/M(5)[8], + =WH0EWX(5)[8],=WH2B(5)[8],=WH6CT(5)[8],=WH6DSN(5)[8],=WH6EI(5)[8],=WH6FBH(5)[8],=WH7TP(5)[8], + =WL1B(5)[8],=WL7B(5)[8],=WL7CC(5)[8],=WL7CUP(5)[8],=WL7CVD(5)[8],=WL7WO(5)[8],=WL7WO/1(5)[8], + =WL7Z/1(5)[8],=WP2MG(5)[8],=WP3NN(5)[8],=WP3NZ(5)[8],=WP3WV(5)[8],=WP4AKE(5)[8],=WP4AZJ(5)[8], + =WP4BC(5)[8],=WP4BF(5)[8],=WP4CJH(5)[8],=WP4JF(5)[8],=WP4KQ(5)[8],=WP4MKJ(5)[8],=WP4MMV(5)[8], + =WP4MOC(5)[8],=WP4NKW(5)[8],=WP4NUV(5)[8],=WP4NYY(5)[8],=WP4OIG(5)[8],=WP4OJK(5)[8], + =AH0BR(5)[8],=AH2AL(5)[8],=AH2O(5)[8],=AH6K(5)[8],=AL0Q(5)[8],=AL0Y(5)[8],=AL2O(5)[8], + =AL7RG(5)[8],=KH2CW(5)[8],=KH2P(5)[8],=KH2R(5)[8],=KH4AG(5)[8],=KH6ALN(5)[8],=KH6HO(5)[8], + =KH7GA(5)[8],=KH7JO(5)[8],=KH7JO/2(5)[8],=KH7MX(5)[8],=KH7NE(5)[8],=KH8ZK(5)[8],=KL0WV(5)[8], + =KL1A/2(5)[8],=KL2A/2(5)[8],=KL2NP(5)[8],=KL3DY(5)[8],=KL3ET(5)[8],=KL3ZC(5)[8],=KL4T(5)[8], + =KL7DL(5)[8],=KL7GB(5)[8],=KL7JCQ(5)[8],=KL7NL/2(5)[8],=KL7TJZ(5)[8],=KL7USI/2(5)[8],=KL7WA(5)[8], + =KL9ER(5)[8],=KP2NP(5)[8],=KP3AK(5)[8],=KP3LM(5)[8],=KP3S(5)[8],=KP3Y(5)[8],=KP4AK(5)[8], + =KP4C(5)[8],=KP4CML(5)[8],=KP4HR(5)[8],=KP4I(5)[8],=KP4JDR(5)[8],=NH2DC(5)[8],=NL7CC(5)[8], + =NP2AQ(5)[8],=NP2GI(5)[8],=NP3D(5)[8],=NP3E(5)[8],=NP3EU(5)[8],=NP3I(5)[8],=NP3KH(5)[8], + =NP3KP(5)[8],=NP4IR(5)[8],=NP4IT(5)[8],=NP4JQ(5)[8],=WH0W(5)[8],=WH2C(5)[8],=WH6DLD(5)[8], + =WH6DNT(5)[8],=WH6UO(5)[8],=WL2NAS(5)[8],=WL7OG(5)[8],=WP2AAO(5)[8],=WP3MD(5)[8],=WP3VU(5)[8], + =WP3WZ(5)[8],=WP4AR(5)[8],=WP4BMU(5)[8],=WP4BNI(5)[8],=WP4BZ(5)[8],=WP4CB(5)[8],=WP4DME(5)[8], + =WP4DWH(5)[8],=WP4EHY(5)[8],=WP4EYW(5)[8],=WP4HLY(5)[8],=WP4HXS(5)[8],=WP4LYI(5)[8],=WP4MQN(5)[8], + =WP4MRB(5)[8],=WP4MUJ(5)[8],=WP4MYM(5)[8],=WP4MZO(5)[8],=WP4NBS(5)[8],=WP4OCO(5)[8],=WP4OPY(5)[8], + =WP4PZB(5)[8],=WP4R(5)[8],=XL3TUV/M(5)[8],=XM3CMB/M(5)[8], =4U1WB(5)[8],=AH6AX(5)[8],=AH6FF/3(5)[8],=AH6R(5)[8],=AH6Z(5)[8],=AH7J(5)[8],=AH8P(5)[8], - =AL1B(5)[8],=AL1B/M(5)[8],=AL7AB(5)[8],=AL7NN(5)[8],=AL7NN/3(5)[8],=KH2JX(5)[8],=KH6CUJ(5)[8], - =KH6ILR/3(5)[8],=KH6JGA(5)[8],=KH6LDO(5)[8],=KH8CN(5)[8],=KL1KM(5)[8],=KL2A(5)[8],=KL2A/3(5)[8], - =KL2BV(5)[8],=KL2XF(5)[8],=KL3JC(5)[8],=KL7FD(5)[8],=KL7GLK/3(5)[8],=KL7HR/3(5)[8],=KL7JO(5)[8], - =KL7OF/3(5)[8],=KL7OQ(5)[8],=KL9A/3(5)[8],=KP3M(5)[8],=KP4CAM(5)[8],=KP4GB/3(5)[8],=KP4IP(5)[8], - =KP4JB(5)[8],=KP4N(5)[8],=KP4N/3(5)[8],=KP4PRI(5)[8],=KP4UV(5)[8],=KP4WR(5)[8],=KP4XO(5)[8], - =NH2CW(5)[8],=NH6BD(5)[8],=NH6BK(5)[8],=NH7C(5)[8],=NH7CC(5)[8],=NH7YK(5)[8],=NL7CK(5)[8], - =NL7PJ(5)[8],=NL7V/3(5)[8],=NL7XM(5)[8],=NL7XM/B(5)[8],=NP2EP(5)[8],=NP2G(5)[8],=NP2NC(5)[8], - =NP3ES(5)[8],=NP3IP(5)[8],=NP4RH(5)[8],=NP4YZ(5)[8],=WH6ADS(5)[8],=WH6AWO(5)[8],=WH6AZN(5)[8], - =WH6CE(5)[8],=WH6CTO(5)[8],=WH6DOA(5)[8],=WH6ECO(5)[8],=WH6EEL(5)[8],=WH6EEN(5)[8],=WH6IO(5)[8], - =WH6OB(5)[8],=WH7USA(5)[8],=WL7AF(5)[8],=WP2XX(5)[8],=WP3BX(5)[8],=WP3CC(5)[8],=WP3EC(5)[8], - =WP3FK(5)[8],=WP4DA(5)[8],=WP4DCK(5)[8],=WP4EDM(5)[8],=WP4GJL(5)[8],=WP4HJF(5)[8],=WP4HSZ(5)[8], - =WP4KDN(5)[8],=WP4KKX(5)[8],=WP4LEM(5)[8],=WP4LNP(5)[8],=WP4MNV(5)[8],=WP4MSX(5)[8],=WP4MYN(5)[8], - =WP4OSQ(5)[8],=WP4PQN(5)[8], + =AL1B(5)[8],=AL1B/M(5)[8],=AL7AB(5)[8],=AL7NN(5)[8],=AL7NN/3(5)[8],=KH2GM(5)[8],=KH2JX(5)[8], + =KH2SX(5)[8],=KH6CUJ(5)[8],=KH6ILR/3(5)[8],=KH6JGA(5)[8],=KH6LDO(5)[8],=KH8CN(5)[8],=KL1KM(5)[8], + =KL2A(5)[8],=KL2A/3(5)[8],=KL2BV(5)[8],=KL2XF(5)[8],=KL3JC(5)[8],=KL7FD(5)[8],=KL7GLK/3(5)[8], + =KL7HR/3(5)[8],=KL7JO(5)[8],=KL7OF/3(5)[8],=KL7OQ(5)[8],=KL9A/3(5)[8],=KP3M(5)[8],=KP4CAM(5)[8], + =KP4FCF(5)[8],=KP4GB/3(5)[8],=KP4IP(5)[8],=KP4JB(5)[8],=KP4N(5)[8],=KP4N/3(5)[8],=KP4PRI(5)[8], + =KP4UV(5)[8],=KP4WR(5)[8],=KP4XO(5)[8],=NH2CW(5)[8],=NH6BD(5)[8],=NH6BK(5)[8],=NH7C(5)[8], + =NH7CC(5)[8],=NH7YK(5)[8],=NL7CK(5)[8],=NL7PJ(5)[8],=NL7V/3(5)[8],=NL7XM(5)[8],=NL7XM/B(5)[8], + =NP2EP(5)[8],=NP2G(5)[8],=NP2NC(5)[8],=NP3ES(5)[8],=NP3IP(5)[8],=NP4RH(5)[8],=NP4YZ(5)[8], + =WH6ADS(5)[8],=WH6AWO(5)[8],=WH6AZN(5)[8],=WH6CE(5)[8],=WH6CTO(5)[8],=WH6DOA(5)[8],=WH6ECO(5)[8], + =WH6EEL(5)[8],=WH6EEN(5)[8],=WH6IO(5)[8],=WH6OB(5)[8],=WH7USA(5)[8],=WL7AF(5)[8],=WP2XX(5)[8], + =WP3BX(5)[8],=WP3CC(5)[8],=WP3EC(5)[8],=WP3FK(5)[8],=WP4DA(5)[8],=WP4DCK(5)[8],=WP4EDM(5)[8], + =WP4GJL(5)[8],=WP4HSZ(5)[8],=WP4KDN(5)[8],=WP4KKX(5)[8],=WP4LEM(5)[8],=WP4LNP(5)[8],=WP4MNV(5)[8], + =WP4MSX(5)[8],=WP4MYN(5)[8],=WP4OSQ(5)[8],=WP4PPH(5)[8],=WP4PQN(5)[8],=WP4PUR(5)[8],=WP4PYL(5)[8], + =WP4PYM(5)[8],=WP4PYN(5)[8],=WP4PYT(5)[8],=WP4PYU(5)[8],=WP4PYV(5)[8],=WP4PYZ(5)[8],=WP4PZA(5)[8], =AH0BV(5)[8],=AH0BZ(5)[8],=AH2AJ(5)[8],=AH2AM(5)[8],=AH2AP(5)[8],=AH2DF(5)[8],=AH2EB(5)[8], =AH2X(5)[8],=AH3B(5)[8],=AH6AL(5)[8],=AH6AT(5)[8],=AH6AU(5)[8],=AH6BJ(5)[8],=AH6EZ/4(5)[8], =AH6FX(5)[8],=AH6FX/4(5)[8],=AH6IC(5)[8],=AH6IJ(5)[8],=AH6IW(5)[8],=AH6JN/4(5)[8],=AH6JN/M(5)[8], @@ -1207,72 +1216,73 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: =KH6TY(5)[8],=KH6TY/R(5)[8],=KH6UN(5)[8],=KH6XH(5)[8],=KH7DM(5)[8],=KH7DY(5)[8],=KH7GZ(5)[8], =KH7HJ/4(5)[8],=KH7OC(5)[8],=KH7OV(5)[8],=KH7WK(5)[8],=KH7XS/4(5)[8],=KH7XT(5)[8],=KH7ZC(5)[8], =KH8BB(5)[8],=KH8DO(5)[8],=KL0AG(5)[8],=KL0IP(5)[8],=KL0KC(5)[8],=KL0KE/4(5)[8],=KL0L(5)[8], - =KL0MG(5)[8],=KL0MP(5)[8],=KL0S(5)[8],=KL0SS(5)[8],=KL0TY(5)[8],=KL0WF(5)[8],=KL1KP(5)[8], - =KL1NK(5)[8],=KL1NS(5)[8],=KL1OK(5)[8],=KL1PA(5)[8],=KL1SS(5)[8],=KL2AK(5)[8],=KL2CX(5)[8], - =KL2EY(5)[8],=KL2GG(5)[8],=KL2GP(5)[8],=KL2HV(5)[8],=KL2MQ(5)[8],=KL2UQ(5)[8],=KL2XI(5)[8], - =KL3EV(5)[8],=KL3HG(5)[8],=KL3IA(5)[8],=KL3KB(5)[8],=KL3KG(5)[8],=KL3NR(5)[8],=KL3WM(5)[8], - =KL3X(5)[8],=KL3XB(5)[8],=KL4CO(5)[8],=KL4DD(5)[8],=KL4H(5)[8],=KL4J(5)[8],=KL5X(5)[8], - =KL5YJ(5)[8],=KL7A(5)[8],=KL7DA(5)[8],=KL7FO(5)[8],=KL7GLL(5)[8],=KL7H(5)[8],=KL7HIM(5)[8], - =KL7HNY(5)[8],=KL7HOT(5)[8],=KL7HQW(5)[8],=KL7HX(5)[8],=KL7IEK(5)[8],=KL7IKZ(5)[8],=KL7IV(5)[8], - =KL7IVY(5)[8],=KL7IWF(5)[8],=KL7JR(5)[8],=KL7LS(5)[8],=KL7MJ(5)[8],=KL7NCO(5)[8],=KL7NL(5)[8], - =KL7NL/4(5)[8],=KL7NT(5)[8],=KL7P/4(5)[8],=KL7QH(5)[8],=KL7QU(5)[8],=KL7SR(5)[8],=KL7USI/4(5)[8], - =KL7XA(5)[8],=KL9A/1(5)[8],=KP2AF(5)[8],=KP2AV(5)[8],=KP2AV/4(5)[8],=KP2CH(5)[8],=KP2CR(5)[8], - =KP2L(5)[8],=KP2L/4(5)[8],=KP2N(5)[8],=KP2R(5)[8],=KP2U(5)[8],=KP2US(5)[8],=KP2V(5)[8], - =KP3AMG(5)[8],=KP3BL(5)[8],=KP3BP(5)[8],=KP3J(5)[8],=KP3SK(5)[8],=KP3U(5)[8],=KP4AD(5)[8], - =KP4AOD(5)[8],=KP4AOD/4(5)[8],=KP4BEC(5)[8],=KP4BM(5)[8],=KP4BOB(5)[8],=KP4CBP(5)[8], + =KL0MG(5)[8],=KL0MP(5)[8],=KL0S(5)[8],=KL0SS(5)[8],=KL0TY(5)[8],=KL0VU(5)[8],=KL0WF(5)[8], + =KL1KP(5)[8],=KL1NK(5)[8],=KL1NS(5)[8],=KL1OK(5)[8],=KL1PA(5)[8],=KL1SS(5)[8],=KL2AK(5)[8], + =KL2CX(5)[8],=KL2EY(5)[8],=KL2GG(5)[8],=KL2GP(5)[8],=KL2HV(5)[8],=KL2MQ(5)[8],=KL2UQ(5)[8], + =KL2XI(5)[8],=KL3EV(5)[8],=KL3HG(5)[8],=KL3IA(5)[8],=KL3KB(5)[8],=KL3KG(5)[8],=KL3NR(5)[8], + =KL3WM(5)[8],=KL3X(5)[8],=KL3XB(5)[8],=KL4CO(5)[8],=KL4DD(5)[8],=KL4H(5)[8],=KL4J(5)[8], + =KL5X(5)[8],=KL5YJ(5)[8],=KL7A(5)[8],=KL7DA(5)[8],=KL7FO(5)[8],=KL7GLL(5)[8],=KL7H(5)[8], + =KL7HIM(5)[8],=KL7HNY(5)[8],=KL7HOT(5)[8],=KL7HQW(5)[8],=KL7HX(5)[8],=KL7IEK(5)[8],=KL7IKZ(5)[8], + =KL7IV(5)[8],=KL7IVY(5)[8],=KL7IWF(5)[8],=KL7JR(5)[8],=KL7LS(5)[8],=KL7MJ(5)[8],=KL7NCO(5)[8], + =KL7NL(5)[8],=KL7NL/4(5)[8],=KL7NT(5)[8],=KL7P/4(5)[8],=KL7QH(5)[8],=KL7QU(5)[8],=KL7SR(5)[8], + =KL7USI/4(5)[8],=KL7XA(5)[8],=KL9A/1(5)[8],=KP2AF(5)[8],=KP2AV(5)[8],=KP2AV/4(5)[8],=KP2CH(5)[8], + =KP2CR(5)[8],=KP2L(5)[8],=KP2L/4(5)[8],=KP2N(5)[8],=KP2R(5)[8],=KP2U(5)[8],=KP2US(5)[8], + =KP2V(5)[8],=KP3AMG(5)[8],=KP3BL(5)[8],=KP3BP(5)[8],=KP3J(5)[8],=KP3SK(5)[8],=KP3U(5)[8], + =KP4AD(5)[8],=KP4AOD(5)[8],=KP4AOD/4(5)[8],=KP4BEC(5)[8],=KP4BM(5)[8],=KP4BOB(5)[8],=KP4CBP(5)[8], =KP4CEL(5)[8],=KP4CH(5)[8],=KP4CPP(5)[8],=KP4CSJ(5)[8],=KP4CSZ(5)[8],=KP4CW(5)[8],=KP4CZ(5)[8], - =KP4DAC(5)[8],=KP4DDS(5)[8],=KP4DQS(5)[8],=KP4EIA(5)[8],=KP4EMY(5)[8],=KP4ENK(5)[8],=KP4EOR(5)[8], - =KP4EOR/4(5)[8],=KP4ERT(5)[8],=KP4ESC(5)[8],=KP4FBS(5)[8],=KP4FGI(5)[8],=KP4FIR(5)[8], - =KP4FJE(5)[8],=KP4FLP(5)[8],=KP4FOF(5)[8],=KP4HE(5)[8],=KP4HF(5)[8],=KP4HN(5)[8],=KP4II(5)[8], - =KP4IRI(5)[8],=KP4IT(5)[8],=KP4JC(5)[8],=KP4JWR(5)[8],=KP4KA(5)[8],=KP4KD(5)[8],=KP4KD/4(5)[8], - =KP4LEU(5)[8],=KP4LF(5)[8],=KP4LUV(5)[8],=KP4LX(5)[8],=KP4MA(5)[8],=KP4MPR(5)[8],=KP4MSP(5)[8], - =KP4OO(5)[8],=KP4PC(5)[8],=KP4PF(5)[8],=KP4PMD(5)[8],=KP4Q(5)[8],=KP4QT(5)[8],=KP4QT/4(5)[8], - =KP4REY(5)[8],=KP4RGT(5)[8],=KP4RRC(5)[8],=KP4RT(5)[8],=KP4RZ(5)[8],=KP4SU(5)[8],=KP4TL(5)[8], - =KP4TR(5)[8],=KP4UFO(5)[8],=KP4USA(5)[8],=KP4WK(5)[8],=KP4WW(5)[8],=KP4WY(5)[8],=KP4XP(5)[8], - =KP4Y(5)[8],=KP4YLV(5)[8],=KP4ZV(5)[8],=KP4ZX(5)[8],=NH2A(5)[8],=NH2BQ(5)[8],=NH2DB(5)[8], - =NH2F(5)[8],=NH6AU(5)[8],=NH6BD/4(5)[8],=NH6E(5)[8],=NH6GE(5)[8],=NH6GR(5)[8],=NH6HX(5)[8], - =NH6HX/4(5)[8],=NH6JX(5)[8],=NH6KI(5)[8],=NH6QR(5)[8],=NH6SR(5)[8],=NH6T(5)[8],=NH6TL(5)[8], - =NH7AA(5)[8],=NH7AQ(5)[8],=NH7AR(5)[8],=NH7FG(5)[8],=NH7T/4(5)[8],=NH7UN(5)[8],=NH7XN(5)[8], - =NL5L(5)[8],=NL7AJ(5)[8],=NL7AU(5)[8],=NL7AU/4(5)[8],=NL7BV(5)[8],=NL7KX(5)[8],=NL7LO(5)[8], - =NL7LR(5)[8],=NL7LY(5)[8],=NL7MD(5)[8],=NL7MR(5)[8],=NL7OB(5)[8],=NL7OS(5)[8],=NL7P(5)[8], - =NL7PV(5)[8],=NL7U(5)[8],=NL7VV(5)[8],=NL7VX(5)[8],=NL7VX/4(5)[8],=NL7VX/M(5)[8],=NL7YZ(5)[8], - =NP2B(5)[8],=NP2B/4(5)[8],=NP2BB(5)[8],=NP2BW(5)[8],=NP2C(5)[8],=NP2CB(5)[8],=NP2D(5)[8], - =NP2DJ(5)[8],=NP2EI(5)[8],=NP2FT(5)[8],=NP2GN(5)[8],=NP2GW(5)[8],=NP2HQ(5)[8],=NP2HS(5)[8], - =NP2HW(5)[8],=NP2IE(5)[8],=NP2IF(5)[8],=NP2IJ(5)[8],=NP2IS(5)[8],=NP2IW(5)[8],=NP2IX(5)[8], - =NP2JA(5)[8],=NP2JS(5)[8],=NP2LC(5)[8],=NP2MM(5)[8],=NP2MN(5)[8],=NP2MP(5)[8],=NP2MR(5)[8], - =NP2MR/4(5)[8],=NP2O(5)[8],=NP2OL(5)[8],=NP2OO(5)[8],=NP2PA(5)[8],=NP2R(5)[8],=NP2T(5)[8], - =NP2W(5)[8],=NP3BL(5)[8],=NP3CC(5)[8],=NP3CI(5)[8],=NP3CM(5)[8],=NP3CT(5)[8],=NP3DI(5)[8], - =NP3FR(5)[8],=NP3G(5)[8],=NP3HD(5)[8],=NP3HG(5)[8],=NP3HN(5)[8],=NP3HP(5)[8],=NP3HU(5)[8], - =NP3IL(5)[8],=NP3IU(5)[8],=NP3K(5)[8],=NP3KM(5)[8],=NP3MM(5)[8],=NP3MX(5)[8],=NP3NC(5)[8], - =NP3OW(5)[8],=NP3QT(5)[8],=NP3R(5)[8],=NP3ST(5)[8],=NP3TM(5)[8],=NP3VJ(5)[8],=NP4AS(5)[8], - =NP4AV(5)[8],=NP4CC(5)[8],=NP4CK(5)[8],=NP4CV(5)[8],=NP4DM(5)[8],=NP4GH(5)[8],=NP4GW(5)[8], - =NP4J(5)[8],=NP4JU(5)[8],=NP4KV(5)[8],=NP4ND(5)[8],=NP4RJ(5)[8],=NP4SY(5)[8],=NP4WT(5)[8], - =NP4XB(5)[8],=WH2AAT(5)[8],=WH2ABJ(5)[8],=WH2G(5)[8],=WH6A(5)[8],=WH6ACF(5)[8],=WH6AJS(5)[8], - =WH6AQ(5)[8],=WH6AVU(5)[8],=WH6AX(5)[8],=WH6BRQ(5)[8],=WH6CMT(5)[8],=WH6CNC(5)[8],=WH6CTC(5)[8], - =WH6CXA(5)[8],=WH6CXT(5)[8],=WH6DBX(5)[8],=WH6DMJ(5)[8],=WH6DNF(5)[8],=WH6DOL(5)[8],=WH6DUJ(5)[8], - =WH6DUV(5)[8],=WH6DXT(5)[8],=WH6EFI(5)[8],=WH6EIK(5)[8],=WH6EKW(5)[8],=WH6ELG(5)[8],=WH6ELM(5)[8], - =WH6ETE(5)[8],=WH6ETH(5)[8],=WH6FCP(5)[8],=WH6HA(5)[8],=WH6IF(5)[8],=WH6IZ(5)[8],=WH6J(5)[8], - =WH6L(5)[8],=WH6LE(5)[8],=WH6LE/4(5)[8],=WH6LE/M(5)[8],=WH6LE/P(5)[8],=WH6NE(5)[8],=WH6WX(5)[8], - =WH6YH(5)[8],=WH6YH/4(5)[8],=WH6YM(5)[8],=WH6ZF(5)[8],=WH7GD(5)[8],=WH7HX(5)[8],=WH7NI(5)[8], - =WH7XK(5)[8],=WH7XU(5)[8],=WH7YL(5)[8],=WH7YV(5)[8],=WH9AAF(5)[8],=WL7AUL(5)[8],=WL7AX(5)[8], - =WL7BAL(5)[8],=WL7CHA(5)[8],=WL7CIB(5)[8],=WL7CKJ(5)[8],=WL7COL(5)[8],=WL7CQT(5)[8],=WL7CUY(5)[8], - =WL7E/4(5)[8],=WL7GV(5)[8],=WL7SR(5)[8],=WL7UN(5)[8],=WL7WN(5)[8],=WL7YX(5)[8],=WP2AGD(5)[8], - =WP2AGO(5)[8],=WP2AHC(5)[8],=WP2AIG(5)[8],=WP2BB(5)[8],=WP2C(5)[8],=WP2L(5)[8],=WP2MA(5)[8], - =WP2P(5)[8],=WP3AY(5)[8],=WP3JQ(5)[8],=WP3JU(5)[8],=WP3K(5)[8],=WP3LE(5)[8],=WP3MB(5)[8], - =WP3ME(5)[8],=WP3NIS(5)[8],=WP3O(5)[8],=WP3TQ(5)[8],=WP3ZA(5)[8],=WP3ZP(5)[8],=WP4AIE(5)[8], - =WP4AIL(5)[8],=WP4AIZ(5)[8],=WP4ALH(5)[8],=WP4AQK(5)[8],=WP4B(5)[8],=WP4BFP(5)[8],=WP4BGM(5)[8], - =WP4BIN(5)[8],=WP4BJS(5)[8],=WP4BK(5)[8],=WP4BQV(5)[8],=WP4BXS(5)[8],=WP4CKW(5)[8],=WP4CLS(5)[8], - =WP4CMH(5)[8],=WP4DC(5)[8],=WP4DCB(5)[8],=WP4DNE(5)[8],=WP4DPX(5)[8],=WP4ENX(5)[8],=WP4EXH(5)[8], - =WP4FEI(5)[8],=WP4FRK(5)[8],=WP4FS(5)[8],=WP4GAK(5)[8],=WP4GFH(5)[8],=WP4GX(5)[8],=WP4GYA(5)[8], - =WP4HFZ(5)[8],=WP4HNN(5)[8],=WP4HOX(5)[8],=WP4IF(5)[8],=WP4IJ(5)[8],=WP4JKO(5)[8],=WP4JQJ(5)[8], - =WP4JSR(5)[8],=WP4JT(5)[8],=WP4KCJ(5)[8],=WP4KDH(5)[8],=WP4KFP(5)[8],=WP4KGI(5)[8],=WP4KI(5)[8], - =WP4KJV(5)[8],=WP4KSK(5)[8],=WP4KTD(5)[8],=WP4LAN(5)[8],=WP4LBK(5)[8],=WP4LDG(5)[8],=WP4LDL(5)[8], - =WP4LDP(5)[8],=WP4LHA(5)[8],=WP4MAE(5)[8],=WP4MD(5)[8],=WP4MO(5)[8],=WP4MQF(5)[8],=WP4MWE(5)[8], + =KP4DAC(5)[8],=KP4DDS(5)[8],=KP4DPQ(5)[8],=KP4DQS(5)[8],=KP4EIA(5)[8],=KP4EMY(5)[8],=KP4ENK(5)[8], + =KP4EOR(5)[8],=KP4EOR/4(5)[8],=KP4ERT(5)[8],=KP4ESC(5)[8],=KP4FBS(5)[8],=KP4FGI(5)[8], + =KP4FIR(5)[8],=KP4FJE(5)[8],=KP4FLP(5)[8],=KP4FOF(5)[8],=KP4HE(5)[8],=KP4HF(5)[8],=KP4HN(5)[8], + =KP4II(5)[8],=KP4IRI(5)[8],=KP4IT(5)[8],=KP4JC(5)[8],=KP4JWR(5)[8],=KP4KA(5)[8],=KP4KD(5)[8], + =KP4KD/4(5)[8],=KP4LEU(5)[8],=KP4LF(5)[8],=KP4LUV(5)[8],=KP4LX(5)[8],=KP4MA(5)[8],=KP4MPR(5)[8], + =KP4MSP(5)[8],=KP4NI(5)[8],=KP4OO(5)[8],=KP4PC(5)[8],=KP4PF(5)[8],=KP4PMD(5)[8],=KP4Q(5)[8], + =KP4QT(5)[8],=KP4QT/4(5)[8],=KP4REY(5)[8],=KP4RGT(5)[8],=KP4ROP(5)[8],=KP4RRC(5)[8],=KP4RT(5)[8], + =KP4RZ(5)[8],=KP4SU(5)[8],=KP4TL(5)[8],=KP4TR(5)[8],=KP4UFO(5)[8],=KP4USA(5)[8],=KP4WK(5)[8], + =KP4WW(5)[8],=KP4WY(5)[8],=KP4XP(5)[8],=KP4Y(5)[8],=KP4YLV(5)[8],=KP4ZV(5)[8],=KP4ZX(5)[8], + =NH2A(5)[8],=NH2BQ(5)[8],=NH2DB(5)[8],=NH2F(5)[8],=NH6AU(5)[8],=NH6BD/4(5)[8],=NH6E(5)[8], + =NH6GE(5)[8],=NH6GR(5)[8],=NH6HX(5)[8],=NH6HX/4(5)[8],=NH6JX(5)[8],=NH6KI(5)[8],=NH6QR(5)[8], + =NH6SR(5)[8],=NH6T(5)[8],=NH6TL(5)[8],=NH7AA(5)[8],=NH7AQ(5)[8],=NH7AR(5)[8],=NH7FG(5)[8], + =NH7OI(5)[8],=NH7T/4(5)[8],=NH7UN(5)[8],=NH7XN(5)[8],=NL5L(5)[8],=NL7AJ(5)[8],=NL7AU(5)[8], + =NL7AU/4(5)[8],=NL7BV(5)[8],=NL7KX(5)[8],=NL7LO(5)[8],=NL7LR(5)[8],=NL7LY(5)[8],=NL7MD(5)[8], + =NL7MR(5)[8],=NL7OB(5)[8],=NL7OS(5)[8],=NL7P(5)[8],=NL7PV(5)[8],=NL7U(5)[8],=NL7VV(5)[8], + =NL7VX(5)[8],=NL7VX/4(5)[8],=NL7VX/M(5)[8],=NL7YZ(5)[8],=NP2B(5)[8],=NP2B/4(5)[8],=NP2BB(5)[8], + =NP2BW(5)[8],=NP2C(5)[8],=NP2CB(5)[8],=NP2D(5)[8],=NP2DJ(5)[8],=NP2EI(5)[8],=NP2FT(5)[8], + =NP2GN(5)[8],=NP2GW(5)[8],=NP2HQ(5)[8],=NP2HS(5)[8],=NP2HW(5)[8],=NP2IE(5)[8],=NP2IF(5)[8], + =NP2IJ(5)[8],=NP2IS(5)[8],=NP2IW(5)[8],=NP2IX(5)[8],=NP2JA(5)[8],=NP2JS(5)[8],=NP2LC(5)[8], + =NP2MM(5)[8],=NP2MN(5)[8],=NP2MP(5)[8],=NP2MR(5)[8],=NP2MR/4(5)[8],=NP2O(5)[8],=NP2OL(5)[8], + =NP2OO(5)[8],=NP2PA(5)[8],=NP2R(5)[8],=NP2T(5)[8],=NP2W(5)[8],=NP3AX(5)[8],=NP3BL(5)[8], + =NP3CC(5)[8],=NP3CI(5)[8],=NP3CM(5)[8],=NP3CT(5)[8],=NP3FR(5)[8],=NP3G(5)[8],=NP3HD(5)[8], + =NP3HG(5)[8],=NP3HN(5)[8],=NP3HP(5)[8],=NP3HU(5)[8],=NP3IL(5)[8],=NP3IU(5)[8],=NP3K(5)[8], + =NP3KM(5)[8],=NP3MM(5)[8],=NP3MX(5)[8],=NP3NC(5)[8],=NP3OW(5)[8],=NP3QT(5)[8],=NP3R(5)[8], + =NP3ST(5)[8],=NP3TM(5)[8],=NP3VJ(5)[8],=NP4AS(5)[8],=NP4AV(5)[8],=NP4CC(5)[8],=NP4CK(5)[8], + =NP4CV(5)[8],=NP4DM(5)[8],=NP4EM(5)[8],=NP4GH(5)[8],=NP4GW(5)[8],=NP4J(5)[8],=NP4JU(5)[8], + =NP4KV(5)[8],=NP4ND(5)[8],=NP4PF(5)[8],=NP4RJ(5)[8],=NP4SY(5)[8],=NP4WT(5)[8],=NP4XB(5)[8], + =WH2AAT(5)[8],=WH2ABJ(5)[8],=WH2G(5)[8],=WH6A(5)[8],=WH6ACF(5)[8],=WH6AJS(5)[8],=WH6AQ(5)[8], + =WH6AVU(5)[8],=WH6AX(5)[8],=WH6BRQ(5)[8],=WH6CMT(5)[8],=WH6CNC(5)[8],=WH6CTC(5)[8],=WH6CXA(5)[8], + =WH6CXT(5)[8],=WH6DBX(5)[8],=WH6DMJ(5)[8],=WH6DNF(5)[8],=WH6DOL(5)[8],=WH6DUJ(5)[8],=WH6DXT(5)[8], + =WH6EFI(5)[8],=WH6EIK(5)[8],=WH6EKW(5)[8],=WH6ELG(5)[8],=WH6ELM(5)[8],=WH6ETE(5)[8],=WH6FCP(5)[8], + =WH6HA(5)[8],=WH6IF(5)[8],=WH6IZ(5)[8],=WH6J(5)[8],=WH6L(5)[8],=WH6LE(5)[8],=WH6LE/4(5)[8], + =WH6LE/M(5)[8],=WH6LE/P(5)[8],=WH6NE(5)[8],=WH6WX(5)[8],=WH6YH(5)[8],=WH6YH/4(5)[8],=WH6YM(5)[8], + =WH6ZF(5)[8],=WH7GD(5)[8],=WH7HX(5)[8],=WH7NI(5)[8],=WH7XK(5)[8],=WH7XU(5)[8],=WH7YL(5)[8], + =WH7YV(5)[8],=WH7ZM(5)[8],=WH9AAF(5)[8],=WL7AUL(5)[8],=WL7AX(5)[8],=WL7BAL(5)[8],=WL7CHA(5)[8], + =WL7CIB(5)[8],=WL7CKJ(5)[8],=WL7COL(5)[8],=WL7CQT(5)[8],=WL7CUY(5)[8],=WL7E/4(5)[8],=WL7GV(5)[8], + =WL7SR(5)[8],=WL7UN(5)[8],=WL7WN(5)[8],=WL7YX(5)[8],=WP2AGD(5)[8],=WP2AGO(5)[8],=WP2AHC(5)[8], + =WP2AIG(5)[8],=WP2BB(5)[8],=WP2C(5)[8],=WP2L(5)[8],=WP2MA(5)[8],=WP2P(5)[8],=WP3AY(5)[8], + =WP3JQ(5)[8],=WP3JU(5)[8],=WP3K(5)[8],=WP3LE(5)[8],=WP3MB(5)[8],=WP3ME(5)[8],=WP3NIS(5)[8], + =WP3O(5)[8],=WP3TQ(5)[8],=WP3ZA(5)[8],=WP3ZP(5)[8],=WP4AIE(5)[8],=WP4AIL(5)[8],=WP4AIZ(5)[8], + =WP4ALH(5)[8],=WP4AQK(5)[8],=WP4B(5)[8],=WP4BFP(5)[8],=WP4BGM(5)[8],=WP4BIN(5)[8],=WP4BJS(5)[8], + =WP4BK(5)[8],=WP4BQV(5)[8],=WP4BXS(5)[8],=WP4CKW(5)[8],=WP4CLS(5)[8],=WP4CMH(5)[8],=WP4DC(5)[8], + =WP4DCB(5)[8],=WP4DFK(5)[8],=WP4DNE(5)[8],=WP4DPX(5)[8],=WP4ENX(5)[8],=WP4EXH(5)[8],=WP4FEI(5)[8], + =WP4FRK(5)[8],=WP4FS(5)[8],=WP4GAK(5)[8],=WP4GFH(5)[8],=WP4GX(5)[8],=WP4GYA(5)[8],=WP4HFZ(5)[8], + =WP4HNN(5)[8],=WP4HOX(5)[8],=WP4IF(5)[8],=WP4IJ(5)[8],=WP4JKO(5)[8],=WP4JQJ(5)[8],=WP4JSR(5)[8], + =WP4JT(5)[8],=WP4KCJ(5)[8],=WP4KDH(5)[8],=WP4KFP(5)[8],=WP4KGI(5)[8],=WP4KI(5)[8],=WP4KJV(5)[8], + =WP4KSK(5)[8],=WP4KTD(5)[8],=WP4LAN(5)[8],=WP4LBK(5)[8],=WP4LDG(5)[8],=WP4LDL(5)[8],=WP4LDP(5)[8], + =WP4LHA(5)[8],=WP4MAE(5)[8],=WP4MD(5)[8],=WP4MO(5)[8],=WP4MQF(5)[8],=WP4MWE(5)[8],=WP4MXE(5)[8], =WP4MYG(5)[8],=WP4MYK(5)[8],=WP4NAI(5)[8],=WP4NAQ(5)[8],=WP4NBF(5)[8],=WP4NBG(5)[8],=WP4NFU(5)[8], =WP4NKU(5)[8],=WP4NLQ(5)[8],=WP4NQA(5)[8],=WP4NVL(5)[8],=WP4NWW(5)[8],=WP4O/4(5)[8],=WP4O/M(5)[8], - =WP4ODR(5)[8],=WP4OFA(5)[8],=WP4OLM(5)[8],=WP4OMG(5)[8],=WP4OMV(5)[8],=WP4ONR(5)[8],=WP4OPD(5)[8], - =WP4OPF(5)[8],=WP4OPG(5)[8],=WP4OTP(5)[8],=WP4PR(5)[8],=WP4PWV(5)[8],=WP4SW(5)[8],=WP4TD(5)[8], - =WP4TX(5)[8],=WP4UM(5)[8], + =WP4ODR(5)[8],=WP4OFA(5)[8],=WP4OLM(5)[8],=WP4OMG(5)[8],=WP4OMV(5)[8],=WP4ONR(5)[8],=WP4OOI(5)[8], + =WP4OPD(5)[8],=WP4OPF(5)[8],=WP4OPG(5)[8],=WP4OTP(5)[8],=WP4P(5)[8],=WP4PR(5)[8],=WP4PUV(5)[8], + =WP4PWV(5)[8],=WP4PXG(5)[8],=WP4QHU(5)[8],=WP4SW(5)[8],=WP4TD(5)[8],=WP4TX(5)[8],=WP4UM(5)[8], AA5(4)[7],AB5(4)[7],AC5(4)[7],AD5(4)[7],AE5(4)[7],AF5(4)[7],AG5(4)[7],AI5(4)[7],AJ5(4)[7], AK5(4)[7],K5(4)[7],KA5(4)[7],KB5(4)[7],KC5(4)[7],KD5(4)[7],KE5(4)[7],KF5(4)[7],KG5(4)[7], KI5(4)[7],KJ5(4)[7],KK5(4)[7],KM5(4)[7],KN5(4)[7],KO5(4)[7],KQ5(4)[7],KR5(4)[7],KS5(4)[7], @@ -1282,25 +1292,26 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: NW5(4)[7],NX5(4)[7],NY5(4)[7],NZ5(4)[7],W5(4)[7],WA5(4)[7],WB5(4)[7],WC5(4)[7],WD5(4)[7], WE5(4)[7],WF5(4)[7],WG5(4)[7],WI5(4)[7],WJ5(4)[7],WK5(4)[7],WM5(4)[7],WN5(4)[7],WO5(4)[7], WQ5(4)[7],WR5(4)[7],WS5(4)[7],WT5(4)[7],WU5(4)[7],WV5(4)[7],WW5(4)[7],WX5(4)[7],WY5(4)[7], - WZ5(4)[7],=AH2AQ(4)[7],=AH2AQ/5(4)[7],=AH2EH(4)[7],=AH2H(4)[7],=AH2T(4)[7],=AH6FV(4)[7], - =AH6HT(4)[7],=AH6OU(4)[7],=AH6RB(4)[7],=AH6TD(4)[7],=AH6UD(4)[7],=AH8O(4)[7],=AH9B(4)[7], - =AL2K(4)[7],=AL2S(4)[7],=AL4F(4)[7],=AL5J(4)[7],=AL7C(4)[7],=AL7CJ(4)[7],=AL7CQ(4)[7], - =AL7DF(4)[7],=AL7DR(4)[7],=AL7GY(4)[7],=AL7HH(4)[7],=AL7HU(4)[7],=AL7II/5(4)[7],=AL7IM(4)[7], - =AL7J(4)[7],=AL7JP(4)[7],=AL7L/5(4)[7],=AL7PB(4)[7],=AL7RD(4)[7],=AL7RI(4)[7],=KH0BZ(4)[7], - =KH0CE(4)[7],=KH0CU(4)[7],=KH0DW(4)[7],=KH2AI(4)[7],=KH2BH(4)[7],=KH2BI(4)[7],=KH2DF(4)[7], - =KH2DF/5(4)[7],=KH2TB(4)[7],=KH2XD(4)[7],=KH2XO(4)[7],=KH2YO(4)[7],=KH6ABA(4)[7],=KH6DAN(4)[7], - =KH6GGC(4)[7],=KH6HPQ(4)[7],=KH6II(4)[7],=KH6ITY/M(4)[7],=KH6JIQ(4)[7],=KH6JTM(4)[7], - =KH6KG/5(4)[7],=KH6LX(4)[7],=KH6MB/5(4)[7],=KH6SP/5(4)[7],=KH6SZ(4)[7],=KH6UW(4)[7],=KH7CF(4)[7], - =KH7FB(4)[7],=KH7IC(4)[7],=KH7JE(4)[7],=KH8CG(4)[7],=KH9AE(4)[7],=KL0EX(4)[7],=KL0HU(4)[7], - =KL0PG(4)[7],=KL1DA(4)[7],=KL1DJ(4)[7],=KL1TS(4)[7],=KL1UR(4)[7],=KL1WG(4)[7],=KL1WO(4)[7], - =KL1XK(4)[7],=KL1Y(4)[7],=KL1ZW(4)[7],=KL2AX(4)[7],=KL2AX/5(4)[7],=KL2CD(4)[7],=KL2HC(4)[7], - =KL2HN(4)[7],=KL2MI(4)[7],=KL2NN(4)[7],=KL2RA(4)[7],=KL2RB(4)[7],=KL2TV(4)[7],=KL2VA(4)[7], - =KL3DB(4)[7],=KL3HK(4)[7],=KL3HZ(4)[7],=KL3JL(4)[7],=KL3KH(4)[7],=KL3KI(4)[7],=KL3TB(4)[7], - =KL4JQ(4)[7],=KL5L(4)[7],=KL5Z(4)[7],=KL7AH(4)[7],=KL7AU(4)[7],=KL7AX(4)[7],=KL7BCD(4)[7], - =KL7BL(4)[7],=KL7BX(4)[7],=KL7BZ/5(4)[7],=KL7BZL(4)[7],=KL7CD(4)[7],=KL7DB(4)[7],=KL7EBE(4)[7], - =KL7EMH(4)[7],=KL7EMH/M(4)[7],=KL7EQQ(4)[7],=KL7F(4)[7],=KL7FB(4)[7],=KL7FHX(4)[7],=KL7FLY(4)[7], - =KL7FQR(4)[7],=KL7GNW(4)[7],=KL7HH(4)[7],=KL7IDM(4)[7],=KL7IK(4)[7],=KL7ITF(4)[7],=KL7IWU(4)[7], - =KL7IZW(4)[7],=KL7JAR(4)[7],=KL7JEX(4)[7],=KL7JIU(4)[7],=KL7JR/5(4)[7],=KL7JW(4)[7],=KL7LJ(4)[7], + WZ5(4)[7],=AH2AQ(4)[7],=AH2AQ/5(4)[7],=AH2EH(4)[7],=AH2H(4)[7],=AH2T(4)[7],=AH6AF(4)[7], + =AH6DZ(4)[7],=AH6FV(4)[7],=AH6HT(4)[7],=AH6OU(4)[7],=AH6RB(4)[7],=AH6TD(4)[7],=AH6UD(4)[7], + =AH8O(4)[7],=AH9B(4)[7],=AL2K(4)[7],=AL2S(4)[7],=AL4F(4)[7],=AL5J(4)[7],=AL7C(4)[7],=AL7CJ(4)[7], + =AL7CQ(4)[7],=AL7DF(4)[7],=AL7DR(4)[7],=AL7GY(4)[7],=AL7HH(4)[7],=AL7HU(4)[7],=AL7II/5(4)[7], + =AL7IM(4)[7],=AL7J(4)[7],=AL7JP(4)[7],=AL7L/5(4)[7],=AL7PB(4)[7],=AL7RD(4)[7],=AL7RI(4)[7], + =KH0BZ(4)[7],=KH0CE(4)[7],=KH0CU(4)[7],=KH0DW(4)[7],=KH2AI(4)[7],=KH2BH(4)[7],=KH2BI(4)[7], + =KH2DF(4)[7],=KH2DF/5(4)[7],=KH2TB(4)[7],=KH2XD(4)[7],=KH2XO(4)[7],=KH2YO(4)[7],=KH6ABA(4)[7], + =KH6DAN(4)[7],=KH6GGC(4)[7],=KH6HPQ(4)[7],=KH6II(4)[7],=KH6ITY/M(4)[7],=KH6JIQ(4)[7], + =KH6JTM(4)[7],=KH6JVL(4)[7],=KH6KG/5(4)[7],=KH6LX(4)[7],=KH6MB/5(4)[7],=KH6SP/5(4)[7], + =KH6SZ(4)[7],=KH6UW(4)[7],=KH7CF(4)[7],=KH7FB(4)[7],=KH7IC(4)[7],=KH7JE(4)[7],=KH7QL(4)[7], + =KH7QO(4)[7],=KH8CG(4)[7],=KH9AE(4)[7],=KL0EX(4)[7],=KL0HU(4)[7],=KL0PG(4)[7],=KL1DA(4)[7], + =KL1DJ(4)[7],=KL1TS(4)[7],=KL1UR(4)[7],=KL1WG(4)[7],=KL1WO(4)[7],=KL1XK(4)[7],=KL1Y(4)[7], + =KL1ZW(4)[7],=KL2AX(4)[7],=KL2AX/5(4)[7],=KL2CD(4)[7],=KL2HC(4)[7],=KL2HN(4)[7],=KL2MI(4)[7], + =KL2NN(4)[7],=KL2RA(4)[7],=KL2RB(4)[7],=KL2TV(4)[7],=KL2VA(4)[7],=KL3DB(4)[7],=KL3HK(4)[7], + =KL3HZ(4)[7],=KL3JL(4)[7],=KL3KH(4)[7],=KL3KI(4)[7],=KL3TB(4)[7],=KL4JQ(4)[7],=KL5L(4)[7], + =KL5Z(4)[7],=KL7AH(4)[7],=KL7AU(4)[7],=KL7AX(4)[7],=KL7BCD(4)[7],=KL7BL(4)[7],=KL7BX(4)[7], + =KL7BZ/5(4)[7],=KL7BZL(4)[7],=KL7CD(4)[7],=KL7DB(4)[7],=KL7EBE(4)[7],=KL7EMH(4)[7], + =KL7EMH/M(4)[7],=KL7EQQ(4)[7],=KL7F(4)[7],=KL7FB(4)[7],=KL7FHX(4)[7],=KL7FLY(4)[7],=KL7FQR(4)[7], + =KL7GNW(4)[7],=KL7HH(4)[7],=KL7IDM(4)[7],=KL7IK(4)[7],=KL7ITF(4)[7],=KL7IWU(4)[7],=KL7IZW(4)[7], + =KL7JAR(4)[7],=KL7JEX(4)[7],=KL7JIU(4)[7],=KL7JR/5(4)[7],=KL7JW(4)[7],=KL7LJ(4)[7],=KL7LY(4)[7], =KL7MA(4)[7],=KL7ME(4)[7],=KL7ML(4)[7],=KL7NE(4)[7],=KL7NI(4)[7],=KL7OI(4)[7],=KL7PZ(4)[7], =KL7QC(4)[7],=KL7SG(4)[7],=KL7TN/5(4)[7],=KL7UHF(4)[7],=KL7USI/5(4)[7],=KL7XP(4)[7],=KL7XS(4)[7], =KL7YY/5(4)[7],=KP2AZ(4)[7],=KP4CV(4)[7],=KP4DJT(4)[7],=KP4FF(4)[7],=KP4FFW(4)[7],=KP4GMC(4)[7], @@ -1310,19 +1321,18 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: =NH7VA(4)[7],=NL5J(4)[7],=NL7AX(4)[7],=NL7C(4)[7],=NL7CO(4)[7],=NL7CO/5(4)[7],=NL7CO/M(4)[7], =NL7HB(4)[7],=NL7IE(4)[7],=NL7JH(4)[7],=NL7JI(4)[7],=NL7KB(4)[7],=NL7NP(4)[7],=NL7PD(4)[7], =NL7RQ(4)[7],=NL7RQ/5(4)[7],=NL7TO(4)[7],=NL7ZL(4)[7],=NP2EE(4)[7],=NP2PR(4)[7],=NP2RA(4)[7], - =NP3AX(4)[7],=NP3BA(4)[7],=NP3CV(4)[7],=NP3NT(4)[7],=NP3PG(4)[7],=NP3RG(4)[7],=NP3SU(4)[7], - =NP3TY(4)[7],=NP4EA(4)[7],=NP4NQ(4)[7],=NP4NQ/5(4)[7],=NP4RW(4)[7],=NP4RZ(4)[7],=WH2ACT(4)[7], - =WH6ARN(4)[7],=WH6BYP(4)[7],=WH6CDU(4)[7],=WH6CUL(4)[7],=WH6DZU(4)[7],=WH6ECJ(4)[7],=WH6EMW(4)[7], - =WH6EOF(4)[7],=WH6ERS(4)[7],=WH6EUA(4)[7],=WH6EXQ(4)[7],=WH6FAD(4)[7],=WH6FGM(4)[7], - =WH6FZ/5(4)[7],=WH6L/5(4)[7],=WH6ZR(4)[7],=WH7DC(4)[7],=WH7DW(4)[7],=WH7OK(4)[7],=WH7R(4)[7], - =WH7YQ(4)[7],=WH7YR(4)[7],=WL3WX(4)[7],=WL5H(4)[7],=WL7AIU(4)[7],=WL7AWC(4)[7],=WL7BBV(4)[7], - =WL7BKF(4)[7],=WL7BPY(4)[7],=WL7CA(4)[7],=WL7CJA(4)[7],=WL7CJC(4)[7],=WL7CQE(4)[7],=WL7CTP(4)[7], - =WL7CTQ(4)[7],=WL7D(4)[7],=WL7FT(4)[7],=WL7FT/5(4)[7],=WL7K/5(4)[7],=WL7ME(4)[7],=WL7MQ/5(4)[7], - =WL7OP(4)[7],=WL7OU(4)[7],=WL7SG(4)[7],=WL7W(4)[7],=WL7XI(4)[7],=WL7XR(4)[7],=WP2AHG(4)[7], - =WP2WP(4)[7],=WP3AL(4)[7],=WP4A(4)[7],=WP4APJ(4)[7],=WP4BAB(4)[7],=WP4BAT(4)[7],=WP4CJY(4)[7], - =WP4EVA(4)[7],=WP4EVL(4)[7],=WP4KSP(4)[7],=WP4KTF(4)[7],=WP4KUW(4)[7],=WP4LKA(4)[7],=WP4MJP(4)[7], - =WP4MWS(4)[7],=WP4MYI(4)[7],=WP4MZR(4)[7],=WP4NAK(4)[7],=WP4NEP(4)[7],=WP4NQL(4)[7],=WP4OUE(4)[7], - =WP4RON(4)[7], + =NP3BA(4)[7],=NP3CV(4)[7],=NP3NT(4)[7],=NP3PG(4)[7],=NP3RG(4)[7],=NP3SU(4)[7],=NP3TY(4)[7], + =NP4EA(4)[7],=NP4NQ(4)[7],=NP4NQ/5(4)[7],=NP4RW(4)[7],=NP4RZ(4)[7],=WH2ACT(4)[7],=WH6ARN(4)[7], + =WH6BYP(4)[7],=WH6CDU(4)[7],=WH6CUL(4)[7],=WH6DZU(4)[7],=WH6ECJ(4)[7],=WH6EMW(4)[7],=WH6EOF(4)[7], + =WH6ERS(4)[7],=WH6EUA(4)[7],=WH6EXQ(4)[7],=WH6FAD(4)[7],=WH6FGM(4)[7],=WH6FZ/5(4)[7], + =WH6L/5(4)[7],=WH6ZR(4)[7],=WH7DC(4)[7],=WH7DW(4)[7],=WH7OK(4)[7],=WH7R(4)[7],=WH7YQ(4)[7], + =WH7YR(4)[7],=WL3WX(4)[7],=WL5H(4)[7],=WL7AIU(4)[7],=WL7AWC(4)[7],=WL7BBV(4)[7],=WL7BKF(4)[7], + =WL7BPY(4)[7],=WL7CA(4)[7],=WL7CJA(4)[7],=WL7CJC(4)[7],=WL7CQE(4)[7],=WL7CTP(4)[7],=WL7CTQ(4)[7], + =WL7D(4)[7],=WL7FT(4)[7],=WL7FT/5(4)[7],=WL7K/5(4)[7],=WL7ME(4)[7],=WL7MQ/5(4)[7],=WL7OP(4)[7], + =WL7OU(4)[7],=WL7SG(4)[7],=WL7W(4)[7],=WL7XI(4)[7],=WL7XR(4)[7],=WP2AHG(4)[7],=WP2WP(4)[7], + =WP3AL(4)[7],=WP4A(4)[7],=WP4APJ(4)[7],=WP4BAB(4)[7],=WP4BAT(4)[7],=WP4CJY(4)[7],=WP4EVA(4)[7], + =WP4EVL(4)[7],=WP4KSP(4)[7],=WP4KTF(4)[7],=WP4KUW(4)[7],=WP4LKA(4)[7],=WP4MJP(4)[7],=WP4MWS(4)[7], + =WP4MYI(4)[7],=WP4MZR(4)[7],=WP4NAK(4)[7],=WP4NEP(4)[7],=WP4NQL(4)[7],=WP4OUE(4)[7],=WP4RON(4)[7], AA6(3)[6],AB6(3)[6],AC6(3)[6],AD6(3)[6],AE6(3)[6],AF6(3)[6],AG6(3)[6],AI6(3)[6],AJ6(3)[6], AK6(3)[6],K6(3)[6],KA6(3)[6],KB6(3)[6],KC6(3)[6],KD6(3)[6],KE6(3)[6],KF6(3)[6],KG6(3)[6], KI6(3)[6],KJ6(3)[6],KK6(3)[6],KM6(3)[6],KN6(3)[6],KO6(3)[6],KQ6(3)[6],KR6(3)[6],KS6(3)[6], @@ -1349,34 +1359,35 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: =KH6JJN/P(3)[6],=KH6JN(3)[6],=KH6JRB(3)[6],=KH6JRC(3)[6],=KH6JS(3)[6],=KH6JUZ(3)[6],=KH6JVS(3)[6], =KH6JWG(3)[6],=KH6KT(3)[6],=KH6LO(3)[6],=KH6MV(3)[6],=KH6N(3)[6],=KH6NG(3)[6],=KH6PGA(3)[6], =KH6PM(3)[6],=KH6PW(3)[6],=KH6SC(3)[6],=KH6TO(3)[6],=KH6UQ(3)[6],=KH6USA(3)[6],=KH6VC(3)[6], - =KH6VC/6(3)[6],=KH6WL(3)[6],=KH6WZ(3)[6],=KH7CD/6(3)[6],=KH7CS(3)[6],=KH7EM(3)[6],=KH7FC(3)[6], - =KH7I(3)[6],=KH7IZ(3)[6],=KH7JR(3)[6],=KH7NS(3)[6],=KH7RB(3)[6],=KH7TJ(3)[6],=KH7TJ/6(3)[6], - =KH7Y(3)[6],=KH7Y/6(3)[6],=KH8A(3)[6],=KH8AF(3)[6],=KH8FL(3)[6],=KL0AA(3)[6],=KL0AF(3)[6], - =KL0AL(3)[6],=KL0HZ(3)[6],=KL0IF(3)[6],=KL1WE/6(3)[6],=KL2CQ(3)[6],=KL3JY/6(3)[6],=KL3YH(3)[6], - =KL4GW(3)[6],=KL4NZ(3)[6],=KL4QW(3)[6],=KL7AK(3)[6],=KL7CE/6(3)[6],=KL7CM(3)[6],=KL7CN(3)[6], - =KL7CW/6(3)[6],=KL7CX(3)[6],=KL7DJ(3)[6],=KL7EAE(3)[6],=KL7EAL(3)[6],=KL7HQR(3)[6],=KL7HSY(3)[6], - =KL7ID(3)[6],=KL7IDY/6(3)[6],=KL7ISN(3)[6],=KL7JBE(3)[6],=KL7KNP(3)[6],=KL7KX(3)[6],=KL7MF(3)[6], - =KL7MF/6(3)[6],=KL7MF/M(3)[6],=KL7OO(3)[6],=KL7RT(3)[6],=KL7SL(3)[6],=KL7SY(3)[6],=KL7VU(3)[6], - =KP2BK(3)[6],=KP3BN(3)[6],=KP3YL(3)[6],=KP4BR(3)[6],=KP4DSO(3)[6],=KP4DX/6(3)[6],=KP4ENM(3)[6], - =KP4ERR(3)[6],=KP4MD(3)[6],=KP4UB(3)[6],=NH0C(3)[6],=NH0X(3)[6],=NH2AR(3)[6],=NH2BD(3)[6], - =NH2BV(3)[6],=NH2CM(3)[6],=NH2FT(3)[6],=NH2FX(3)[6],=NH2R(3)[6],=NH2S(3)[6],=NH6AC(3)[6], - =NH6AE(3)[6],=NH6FV(3)[6],=NH6FX(3)[6],=NH6NG(3)[6],=NH6RG(3)[6],=NH6WR(3)[6],=NH7AG(3)[6], - =NH7EM(3)[6],=NH7FW(3)[6],=NH7G(3)[6],=NH7IG(3)[6],=NH7IH(3)[6],=NH7PM(3)[6],=NH7QV(3)[6], - =NH7RT(3)[6],=NH7ST(3)[6],=NH7SU(3)[6],=NH7WE(3)[6],=NH7WG(3)[6],=NH7ZE(3)[6],=NL7GE(3)[6], - =NL7IB(3)[6],=NL7OP(3)[6],=NL7YB(3)[6],=NP2KY(3)[6],=NP4AI/6(3)[6],=NP4IW(3)[6],=NP4IW/6(3)[6], - =NP4MV(3)[6],=NP4XE(3)[6],=WH0AAZ(3)[6],=WH0M(3)[6],=WH2ALN(3)[6],=WH6AAJ(3)[6],=WH6AFM(3)[6], - =WH6ANA(3)[6],=WH6ASW/M(3)[6],=WH6BYT(3)[6],=WH6CIL(3)[6],=WH6CK(3)[6],=WH6CO(3)[6],=WH6CPO(3)[6], - =WH6CPT(3)[6],=WH6CRE(3)[6],=WH6CSG(3)[6],=WH6CUF(3)[6],=WH6CUU(3)[6],=WH6CUX(3)[6],=WH6CVJ(3)[6], - =WH6CWS(3)[6],=WH6CZF(3)[6],=WH6CZH(3)[6],=WH6DHN(3)[6],=WH6DSK(3)[6],=WH6DVM(3)[6],=WH6DVN(3)[6], - =WH6DVX(3)[6],=WH6DYA(3)[6],=WH6DZV(3)[6],=WH6DZY(3)[6],=WH6EAR(3)[6],=WH6EEZ(3)[6],=WH6EHY(3)[6], - =WH6EKB(3)[6],=WH6ENG(3)[6],=WH6EUH(3)[6],=WH6EZW(3)[6],=WH6JO(3)[6],=WH6LZ(3)[6],=WH6OI(3)[6], - =WH6PX(3)[6],=WH6QA(3)[6],=WH6RF(3)[6],=WH6TD(3)[6],=WH6TK(3)[6],=WH6USA(3)[6],=WH6VM(3)[6], - =WH6VN(3)[6],=WH6XI(3)[6],=WH6XX(3)[6],=WH6YJ(3)[6],=WH7DG(3)[6],=WH7DH(3)[6],=WH7HQ(3)[6], - =WH7IN(3)[6],=WH7IV(3)[6],=WH7IZ(3)[6],=WH7LP(3)[6],=WH7OO(3)[6],=WH7PM(3)[6],=WH7QC(3)[6], - =WH7RU(3)[6],=WH7TT(3)[6],=WH7VM(3)[6],=WH7XR(3)[6],=WL3AF(3)[6],=WL3DZ(3)[6],=WL7ACO(3)[6], + =KH6VC/6(3)[6],=KH6VZ(3)[6],=KH6WL(3)[6],=KH6WZ(3)[6],=KH7CD/6(3)[6],=KH7CS(3)[6],=KH7EM(3)[6], + =KH7FC(3)[6],=KH7I(3)[6],=KH7IZ(3)[6],=KH7JR(3)[6],=KH7NS(3)[6],=KH7RB(3)[6],=KH7TJ(3)[6], + =KH7TJ/6(3)[6],=KH7XX/6(3)[6],=KH7Y(3)[6],=KH7Y/6(3)[6],=KH8A(3)[6],=KH8AF(3)[6],=KH8FL(3)[6], + =KL0AA(3)[6],=KL0AF(3)[6],=KL0AL(3)[6],=KL0HZ(3)[6],=KL0IF(3)[6],=KL1WE/6(3)[6],=KL2CQ(3)[6], + =KL3JY/6(3)[6],=KL3YH(3)[6],=KL4GW(3)[6],=KL4LV(3)[6],=KL4NZ(3)[6],=KL4QW(3)[6],=KL7AK(3)[6], + =KL7CE/6(3)[6],=KL7CM(3)[6],=KL7CN(3)[6],=KL7CW/6(3)[6],=KL7CX(3)[6],=KL7DJ(3)[6],=KL7EAE(3)[6], + =KL7EAL(3)[6],=KL7HQR(3)[6],=KL7HSY(3)[6],=KL7ID(3)[6],=KL7IDY/6(3)[6],=KL7ISN(3)[6], + =KL7JBE(3)[6],=KL7KNP(3)[6],=KL7KX(3)[6],=KL7MF(3)[6],=KL7MF/6(3)[6],=KL7MF/M(3)[6],=KL7OO(3)[6], + =KL7RT(3)[6],=KL7SL(3)[6],=KL7SY(3)[6],=KL7VU(3)[6],=KP2BK(3)[6],=KP3BN(3)[6],=KP3YL(3)[6], + =KP4BR(3)[6],=KP4DSO(3)[6],=KP4DX/6(3)[6],=KP4ENM(3)[6],=KP4ERR(3)[6],=KP4FBT(3)[6],=KP4MD(3)[6], + =KP4UB(3)[6],=NH0C(3)[6],=NH0X(3)[6],=NH2AR(3)[6],=NH2BD(3)[6],=NH2BV(3)[6],=NH2CM(3)[6], + =NH2FT(3)[6],=NH2FX(3)[6],=NH2R(3)[6],=NH2S(3)[6],=NH6AC(3)[6],=NH6AE(3)[6],=NH6FV(3)[6], + =NH6FX(3)[6],=NH6NG(3)[6],=NH6RG(3)[6],=NH6WR(3)[6],=NH7AG(3)[6],=NH7EM(3)[6],=NH7FW(3)[6], + =NH7G(3)[6],=NH7IG(3)[6],=NH7IH(3)[6],=NH7PM(3)[6],=NH7QV(3)[6],=NH7RT(3)[6],=NH7ST(3)[6], + =NH7SU(3)[6],=NH7WE(3)[6],=NH7WG(3)[6],=NH7ZE(3)[6],=NL7GE(3)[6],=NL7IB(3)[6],=NL7OP(3)[6], + =NL7YB(3)[6],=NP2KY(3)[6],=NP4AI/6(3)[6],=NP4IW(3)[6],=NP4IW/6(3)[6],=NP4MV(3)[6],=NP4XE(3)[6], + =WH0AAZ(3)[6],=WH0M(3)[6],=WH2ABS(3)[6],=WH2ALN(3)[6],=WH6AAJ(3)[6],=WH6AFM(3)[6],=WH6ANA(3)[6], + =WH6ASW/M(3)[6],=WH6BYT(3)[6],=WH6CIL(3)[6],=WH6CK(3)[6],=WH6CO(3)[6],=WH6CPO(3)[6],=WH6CPT(3)[6], + =WH6CRE(3)[6],=WH6CSG(3)[6],=WH6CUF(3)[6],=WH6CUU(3)[6],=WH6CUX(3)[6],=WH6CVJ(3)[6],=WH6CWS(3)[6], + =WH6CZF(3)[6],=WH6CZH(3)[6],=WH6DHN(3)[6],=WH6DSK(3)[6],=WH6DVM(3)[6],=WH6DVN(3)[6],=WH6DVX(3)[6], + =WH6DYA(3)[6],=WH6DZV(3)[6],=WH6DZY(3)[6],=WH6EAR(3)[6],=WH6EEZ(3)[6],=WH6EHY(3)[6],=WH6EKB(3)[6], + =WH6ENG(3)[6],=WH6EUH(3)[6],=WH6EZW(3)[6],=WH6JO(3)[6],=WH6LZ(3)[6],=WH6OI(3)[6],=WH6PX(3)[6], + =WH6QA(3)[6],=WH6RF(3)[6],=WH6TD(3)[6],=WH6TK(3)[6],=WH6USA(3)[6],=WH6VM(3)[6],=WH6VN(3)[6], + =WH6XI(3)[6],=WH6XX(3)[6],=WH6YJ(3)[6],=WH7DG(3)[6],=WH7DH(3)[6],=WH7HQ(3)[6],=WH7IN(3)[6], + =WH7IV(3)[6],=WH7IZ(3)[6],=WH7LP(3)[6],=WH7OO(3)[6],=WH7PM(3)[6],=WH7QC(3)[6],=WH7RU(3)[6], + =WH7TT(3)[6],=WH7VM(3)[6],=WH7XR(3)[6],=WL3AF(3)[6],=WL3DZ(3)[6],=WL4JC(3)[6],=WL7ACO(3)[6], =WL7BA(3)[6],=WL7BGF(3)[6],=WL7CPL(3)[6],=WL7CSD(3)[6],=WL7DN/6(3)[6],=WL7EA(3)[6],=WL7EKK(3)[6], - =WL7RA(3)[6],=WL7SE(3)[6],=WL7TG(3)[6],=WL7WL(3)[6],=WL7YQ(3)[6],=WP2N(3)[6],=WP4CUJ(3)[6], - =WP4CW(3)[6],=WP4KSU(3)[6],=WP4MVE(3)[6], + =WL7RA(3)[6],=WL7SE(3)[6],=WL7TG(3)[6],=WL7WL(3)[6],=WL7YQ(3)[6],=WL7YQ/6(3)[6],=WP2N(3)[6], + =WP4CUJ(3)[6],=WP4CW(3)[6],=WP4KSU(3)[6],=WP4MVE(3)[6], AA7(3)[6],AB7(3)[6],AC7(3)[6],AD7(3)[6],AE7(3)[6],AF7(3)[6],AG7(3)[6],AI7(3)[6],AJ7(3)[6], AK7(3)[6],K7(3)[6],KA7(3)[6],KB7(3)[6],KC7(3)[6],KD7(3)[6],KE7(3)[6],KF7(3)[6],KG7(3)[6], KI7(3)[6],KJ7(3)[6],KK7(3)[6],KM7(3)[6],KN7(3)[6],KO7(3)[6],KQ7(3)[6],KR7(3)[6],KS7(3)[6], @@ -1388,35 +1399,36 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: WQ7(3)[6],WR7(3)[6],WS7(3)[6],WT7(3)[6],WU7(3)[6],WV7(3)[6],WW7(3)[6],WX7(3)[6],WY7(3)[6], WZ7(3)[6],=AH0AB(3)[6],=AH0CN(3)[6],=AH0W(3)[6],=AH0W/7(3)[6],=AH2A(3)[6],=AH2AK(3)[6], =AH2DP(3)[6],=AH2DS(3)[6],=AH2S(3)[6],=AH6B/7(3)[6],=AH6D(3)[6],=AH6ET(3)[6],=AH6EZ(3)[6], - =AH6FC/7(3)[6],=AH6GA(3)[6],=AH6HS(3)[6],=AH6HX(3)[6],=AH6I(3)[6],=AH6IP(3)[6],=AH6LE(3)[6], - =AH6LE/7(3)[6],=AH6NJ(3)[6],=AH6NR(3)[6],=AH6OD(3)[6],=AH6PJ(3)[6],=AH6QW(3)[6],=AH6RI/7(3)[6], - =AH6SV(3)[6],=AH6VM(3)[6],=AH6Y(3)[6],=AH7MP(3)[6],=AH8AC(3)[6],=AH8DX(3)[6],=AH8K(3)[6], - =AH9A(3)[6],=AH9AC(3)[6],=AH9C(3)[6],=AL0AA(3)[6],=AL0F(3)[6],=AL0FT(3)[6],=AL0H(3)[6], - =AL0X(3)[6],=AL1N(3)[6],=AL1P(3)[6],=AL1VE(3)[6],=AL1VE/R(3)[6],=AL2B(3)[6],=AL2N(3)[6], - =AL4Q/7(3)[6],=AL5B(3)[6],=AL5W(3)[6],=AL7A(3)[6],=AL7AA(3)[6],=AL7AN(3)[6],=AL7AW(3)[6], - =AL7BN(3)[6],=AL7BQ(3)[6],=AL7CC(3)[6],=AL7CG(3)[6],=AL7CM/7(3)[6],=AL7CR(3)[6],=AL7CS(3)[6], - =AL7D(3)[6],=AL7D/7(3)[6],=AL7D/P(3)[6],=AL7D/R(3)[6],=AL7DD(3)[6],=AL7DU(3)[6],=AL7EI(3)[6], - =AL7FA(3)[6],=AL7FB(3)[6],=AL7HS(3)[6],=AL7HY(3)[6],=AL7IG(3)[6],=AL7IT(3)[6],=AL7JF(3)[6], - =AL7JJ(3)[6],=AL7JS(3)[6],=AL7JW(3)[6],=AL7JY(3)[6],=AL7KE(3)[6],=AL7KF(3)[6],=AL7KK(3)[6], - =AL7KL(3)[6],=AL7KV(3)[6],=AL7L/7(3)[6],=AL7MH(3)[6],=AL7MQ(3)[6],=AL7ND(3)[6],=AL7NK(3)[6], - =AL7NZ(3)[6],=AL7OK(3)[6],=AL7OW(3)[6],=AL7PR(3)[6],=AL7PV(3)[6],=AL7QL(3)[6],=AL7R(3)[6], - =AL7R/7(3)[6],=AL7RF(3)[6],=AL7RF/7(3)[6],=AL7RM(3)[6],=AL7RS(3)[6],=AL7W(3)[6],=G4KHG/M(3)[6], - =KH0AS(3)[6],=KH0H(3)[6],=KH0K(3)[6],=KH0SH(3)[6],=KH0TL(3)[6],=KH0X(3)[6],=KH2CH(3)[6], - =KH2G(3)[6],=KH2GG(3)[6],=KH2JA(3)[6],=KH2QH(3)[6],=KH2RK(3)[6],=KH2SK(3)[6],=KH2SR(3)[6], - =KH2TJ/7(3)[6],=KH2TJ/P(3)[6],=KH2XP(3)[6],=KH2YL(3)[6],=KH3AD(3)[6],=KH6AB(3)[6],=KH6AHQ(3)[6], - =KH6BXZ(3)[6],=KH6CN(3)[6],=KH6CN/7(3)[6],=KH6COY(3)[6],=KH6CQG(3)[6],=KH6CQH(3)[6], - =KH6CQH/7(3)[6],=KH6DB(3)[6],=KH6DE(3)[6],=KH6DOT(3)[6],=KH6DUT(3)[6],=KH6EE(3)[6],=KH6EE/7(3)[6], - =KH6GB(3)[6],=KH6GDN(3)[6],=KH6HU(3)[6],=KH6HWK(3)[6],=KH6IA(3)[6],=KH6ICQ(3)[6],=KH6IKC(3)[6], - =KH6IMN(3)[6],=KH6IQX(3)[6],=KH6ITY(3)[6],=KH6JFL(3)[6],=KH6JIM/7(3)[6],=KH6JJS(3)[6], - =KH6JPJ(3)[6],=KH6JPO(3)[6],=KH6JRW(3)[6],=KH6JT(3)[6],=KH6JUQ(3)[6],=KH6KS(3)[6],=KH6KW(3)[6], - =KH6LEM(3)[6],=KH6ME(3)[6],=KH6MF(3)[6],=KH6NA(3)[6],=KH6NO/7(3)[6],=KH6NO/M(3)[6],=KH6NU(3)[6], - =KH6OV(3)[6],=KH6PG(3)[6],=KH6PR(3)[6],=KH6QAI(3)[6],=KH6QAI/7(3)[6],=KH6QAJ(3)[6],=KH6RW(3)[6], - =KH6RY(3)[6],=KH6SAT(3)[6],=KH6SS(3)[6],=KH6TG(3)[6],=KH6TX(3)[6],=KH6VM(3)[6],=KH6VT(3)[6], - =KH6WX(3)[6],=KH6XG(3)[6],=KH6XS(3)[6],=KH6XT(3)[6],=KH6YL(3)[6],=KH7AL(3)[6],=KH7CB(3)[6], - =KH7CM(3)[6],=KH7CZ(3)[6],=KH7FJ(3)[6],=KH7HH(3)[6],=KH7HWK(3)[6],=KH7IP(3)[6],=KH7ME(3)[6], - =KH7MR(3)[6],=KH7NP(3)[6],=KH7R(3)[6],=KH7SQ(3)[6],=KH7SR(3)[6],=KH7WW(3)[6],=KH7WW/7(3)[6], - =KH7YD(3)[6],=KH7YD/7(3)[6],=KH8AH(3)[6],=KH8AZ(3)[6],=KH8BG(3)[6],=KH8D(3)[6],=KH8E(3)[6], - =KH8K(3)[6],=KH9AA(3)[6],=KL0AI(3)[6],=KL0AN(3)[6],=KL0AP(3)[6],=KL0CM(3)[6],=KL0CW(3)[6], + =AH6FC/7(3)[6],=AH6GA(3)[6],=AH6HK(3)[6],=AH6HS(3)[6],=AH6HX(3)[6],=AH6I(3)[6],=AH6IP(3)[6], + =AH6LE(3)[6],=AH6LE/7(3)[6],=AH6NJ(3)[6],=AH6NR(3)[6],=AH6OD(3)[6],=AH6PJ(3)[6],=AH6QW(3)[6], + =AH6RI/7(3)[6],=AH6SV(3)[6],=AH6VM(3)[6],=AH6Y(3)[6],=AH7MP(3)[6],=AH8AC(3)[6],=AH8DX(3)[6], + =AH8K(3)[6],=AH9A(3)[6],=AH9AC(3)[6],=AH9C(3)[6],=AL0AA(3)[6],=AL0F(3)[6],=AL0FT(3)[6], + =AL0H(3)[6],=AL0X(3)[6],=AL1N(3)[6],=AL1P(3)[6],=AL1VE(3)[6],=AL1VE/R(3)[6],=AL2B(3)[6], + =AL2N(3)[6],=AL3L(3)[6],=AL4Q/7(3)[6],=AL5B(3)[6],=AL5W(3)[6],=AL7A(3)[6],=AL7AA(3)[6], + =AL7AN(3)[6],=AL7AW(3)[6],=AL7BN(3)[6],=AL7BQ(3)[6],=AL7CC(3)[6],=AL7CG(3)[6],=AL7CM/7(3)[6], + =AL7CR(3)[6],=AL7CS(3)[6],=AL7D(3)[6],=AL7D/7(3)[6],=AL7D/P(3)[6],=AL7D/R(3)[6],=AL7DD(3)[6], + =AL7DU(3)[6],=AL7EI(3)[6],=AL7FA(3)[6],=AL7FB(3)[6],=AL7HS(3)[6],=AL7HY(3)[6],=AL7IG(3)[6], + =AL7IT(3)[6],=AL7JF(3)[6],=AL7JJ(3)[6],=AL7JS(3)[6],=AL7JW(3)[6],=AL7JY(3)[6],=AL7KE(3)[6], + =AL7KF(3)[6],=AL7KG(3)[6],=AL7KK(3)[6],=AL7KL(3)[6],=AL7KV(3)[6],=AL7L/7(3)[6],=AL7MH(3)[6], + =AL7MQ(3)[6],=AL7ND(3)[6],=AL7NK(3)[6],=AL7NZ(3)[6],=AL7OK(3)[6],=AL7OW(3)[6],=AL7PR(3)[6], + =AL7PV(3)[6],=AL7QL(3)[6],=AL7R(3)[6],=AL7R/7(3)[6],=AL7RF(3)[6],=AL7RF/7(3)[6],=AL7RM(3)[6], + =AL7RR(3)[6],=AL7RS(3)[6],=AL7W(3)[6],=G4KHG/M(3)[6],=KH0AS(3)[6],=KH0H(3)[6],=KH0K(3)[6], + =KH0SH(3)[6],=KH0TL(3)[6],=KH0X(3)[6],=KH2CH(3)[6],=KH2G(3)[6],=KH2GG(3)[6],=KH2JA(3)[6], + =KH2QH(3)[6],=KH2RK(3)[6],=KH2SK(3)[6],=KH2SR(3)[6],=KH2TJ/7(3)[6],=KH2TJ/P(3)[6],=KH2XP(3)[6], + =KH2YL(3)[6],=KH3AD(3)[6],=KH6AB(3)[6],=KH6AHQ(3)[6],=KH6BXZ(3)[6],=KH6CN(3)[6],=KH6CN/7(3)[6], + =KH6COY(3)[6],=KH6CQG(3)[6],=KH6CQH(3)[6],=KH6CQH/7(3)[6],=KH6DB(3)[6],=KH6DE(3)[6],=KH6DOT(3)[6], + =KH6DUT(3)[6],=KH6EE(3)[6],=KH6EE/7(3)[6],=KH6GB(3)[6],=KH6GDN(3)[6],=KH6HU(3)[6],=KH6HWK(3)[6], + =KH6IA(3)[6],=KH6ICQ(3)[6],=KH6IKC(3)[6],=KH6IMN(3)[6],=KH6IQX(3)[6],=KH6ITY(3)[6],=KH6JFL(3)[6], + =KH6JIM/7(3)[6],=KH6JJS(3)[6],=KH6JPJ(3)[6],=KH6JPO(3)[6],=KH6JRW(3)[6],=KH6JT(3)[6], + =KH6JUQ(3)[6],=KH6KS(3)[6],=KH6KW(3)[6],=KH6LEM(3)[6],=KH6ME(3)[6],=KH6MF(3)[6],=KH6NA(3)[6], + =KH6NO/7(3)[6],=KH6NO/M(3)[6],=KH6NU(3)[6],=KH6OV(3)[6],=KH6PG(3)[6],=KH6PR(3)[6],=KH6QAI(3)[6], + =KH6QAI/7(3)[6],=KH6QAJ(3)[6],=KH6RW(3)[6],=KH6RY(3)[6],=KH6SAT(3)[6],=KH6SS(3)[6],=KH6TG(3)[6], + =KH6TX(3)[6],=KH6VM(3)[6],=KH6VM/7(3)[6],=KH6VT(3)[6],=KH6WX(3)[6],=KH6XG(3)[6],=KH6XS(3)[6], + =KH6XT(3)[6],=KH6YL(3)[6],=KH7AL(3)[6],=KH7CB(3)[6],=KH7CM(3)[6],=KH7CZ(3)[6],=KH7FJ(3)[6], + =KH7HH(3)[6],=KH7HWK(3)[6],=KH7IP(3)[6],=KH7LE(3)[6],=KH7ME(3)[6],=KH7MR(3)[6],=KH7NP(3)[6], + =KH7R(3)[6],=KH7SQ(3)[6],=KH7SR(3)[6],=KH7WW(3)[6],=KH7WW/7(3)[6],=KH7YD(3)[6],=KH7YD/7(3)[6], + =KH8AB(3)[6],=KH8AH(3)[6],=KH8AZ(3)[6],=KH8BG(3)[6],=KH8D(3)[6],=KH8E(3)[6],=KH8K(3)[6], + =KH9AA(3)[6],=KL0AI(3)[6],=KL0AN(3)[6],=KL0AP(3)[6],=KL0CA(3)[6],=KL0CM(3)[6],=KL0CW(3)[6], =KL0DF(3)[6],=KL0DG(3)[6],=KL0DR(3)[6],=KL0DT(3)[6],=KL0IR(3)[6],=KL0IS(3)[6],=KL0IW(3)[6], =KL0IX(3)[6],=KL0MO(3)[6],=KL0NM(3)[6],=KL0PP(3)[6],=KL0QD(3)[6],=KL0RA(3)[6],=KL0SZ(3)[6], =KL0TR(3)[6],=KL0TU(3)[6],=KL1AA(3)[6],=KL1AE(3)[6],=KL1DO(3)[6],=KL1DW(3)[6],=KL1ED(3)[6], @@ -1425,59 +1437,59 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: =KL1XI(3)[6],=KL1YO(3)[6],=KL1YY/7(3)[6],=KL1ZG(3)[6],=KL1ZP(3)[6],=KL1ZR(3)[6],=KL2A/7(3)[6], =KL2BG(3)[6],=KL2BO(3)[6],=KL2BW(3)[6],=KL2BY(3)[6],=KL2BZ(3)[6],=KL2FD(3)[6],=KL2FL(3)[6], =KL2JY(3)[6],=KL2K(3)[6],=KL2KY(3)[6],=KL2LA(3)[6],=KL2LN(3)[6],=KL2LT(3)[6],=KL2MP(3)[6], - =KL2NJ(3)[6],=KL2NW(3)[6],=KL2OH(3)[6],=KL2OJ(3)[6],=KL2P(3)[6],=KL2PS(3)[6],=KL2QE(3)[6], - =KL2VK(3)[6],=KL2YH(3)[6],=KL3EZ(3)[6],=KL3FE(3)[6],=KL3IC(3)[6],=KL3IO(3)[6],=KL3IW(3)[6], - =KL3MZ(3)[6],=KL3NE(3)[6],=KL3NO(3)[6],=KL3OQ(3)[6],=KL3PD(3)[6],=KL3TW(3)[6],=KL3VJ(3)[6], - =KL3XS(3)[6],=KL4BS(3)[6],=KL4YFD(3)[6],=KL7AB(3)[6],=KL7AD(3)[6],=KL7AW(3)[6],=KL7BD(3)[6], + =KL2NJ(3)[6],=KL2NW(3)[6],=KL2OH(3)[6],=KL2OJ(3)[6],=KL2P(3)[6],=KL2QE(3)[6],=KL2VK(3)[6], + =KL2YH(3)[6],=KL3EZ(3)[6],=KL3FE(3)[6],=KL3IC(3)[6],=KL3IO(3)[6],=KL3IW(3)[6],=KL3MZ(3)[6], + =KL3NE(3)[6],=KL3NO(3)[6],=KL3OQ(3)[6],=KL3PD(3)[6],=KL3TW(3)[6],=KL3VJ(3)[6],=KL3XS(3)[6], + =KL4BS(3)[6],=KL4RKH(3)[6],=KL4YFD(3)[6],=KL7AB(3)[6],=KL7AD(3)[6],=KL7AW(3)[6],=KL7BD(3)[6], =KL7BDC(3)[6],=KL7BH(3)[6],=KL7BR(3)[6],=KL7BS(3)[6],=KL7BT(3)[6],=KL7BUR(3)[6],=KL7BXP(3)[6], =KL7C(3)[6],=KL7CPO(3)[6],=KL7CT(3)[6],=KL7DC(3)[6],=KL7DF(3)[6],=KL7DI(3)[6],=KL7DK(3)[6], - =KL7DLG(3)[6],=KL7DYS(3)[6],=KL7EFL(3)[6],=KL7EH(3)[6],=KL7EIN(3)[6],=KL7EU(3)[6],=KL7FDQ(3)[6], - =KL7FDQ/7(3)[6],=KL7FOZ(3)[6],=KL7FS(3)[6],=KL7GA(3)[6],=KL7GCS(3)[6],=KL7GKY(3)[6],=KL7GRF(3)[6], - =KL7GT(3)[6],=KL7HB(3)[6],=KL7HBV(3)[6],=KL7HFI/7(3)[6],=KL7HFV(3)[6],=KL7HI(3)[6],=KL7HJR(3)[6], - =KL7HLF(3)[6],=KL7HM(3)[6],=KL7HMK(3)[6],=KL7HQL(3)[6],=KL7HSR(3)[6],=KL7IAL(3)[6],=KL7IBT(3)[6], - =KL7IDY(3)[6],=KL7IGB(3)[6],=KL7IHK(3)[6],=KL7IIK(3)[6],=KL7IKV(3)[6],=KL7IL(3)[6],=KL7IME(3)[6], - =KL7IPV(3)[6],=KL7ISE(3)[6],=KL7IUX(3)[6],=KL7IWC/7(3)[6],=KL7IZC(3)[6],=KL7JBB(3)[6], - =KL7JDQ(3)[6],=KL7JES(3)[6],=KL7JIJ(3)[6],=KL7JJE(3)[6],=KL7JKV(3)[6],=KL7KA(3)[6],=KL7KG/7(3)[6], - =KL7LG(3)[6],=KL7LX(3)[6],=KL7LZ(3)[6],=KL7M(3)[6],=KL7MY(3)[6],=KL7MZ(3)[6],=KL7NA(3)[6], - =KL7NP(3)[6],=KL7NP/7(3)[6],=KL7OA(3)[6],=KL7OF(3)[6],=KL7OL(3)[6],=KL7OR(3)[6],=KL7OR/7(3)[6], - =KL7OS(3)[6],=KL7OY(3)[6],=KL7PO(3)[6],=KL7QA(3)[6],=KL7QK(3)[6],=KL7QK/140(3)[6],=KL7QK/7(3)[6], - =KL7QR(3)[6],=KL7QR/7(3)[6],=KL7R(3)[6],=KL7RC(3)[6],=KL7RK(3)[6],=KL7RM(3)[6],=KL7RS(3)[6], - =KL7S(3)[6],=KL7SK(3)[6],=KL7SP(3)[6],=KL7T(3)[6],=KL7TU(3)[6],=KL7UP(3)[6],=KL7UT(3)[6], - =KL7VK(3)[6],=KL7VL(3)[6],=KL7VN(3)[6],=KL7VQ(3)[6],=KL7W(3)[6],=KL7WM(3)[6],=KL7WN(3)[6], - =KL7WP(3)[6],=KL7WP/7(3)[6],=KL7WT(3)[6],=KL7YJ(3)[6],=KL7YQ(3)[6],=KL7YY/M(3)[6],=KL7ZH(3)[6], - =KL7ZW(3)[6],=KL8RV(3)[6],=KL8SU(3)[6],=KP2BX(3)[6],=KP2CB(3)[6],=KP2CT(3)[6],=KP2X(3)[6], + =KL7DLG(3)[6],=KL7EFL(3)[6],=KL7EH(3)[6],=KL7EIN(3)[6],=KL7EU(3)[6],=KL7FDQ(3)[6],=KL7FDQ/7(3)[6], + =KL7FOZ(3)[6],=KL7FS(3)[6],=KL7GA(3)[6],=KL7GCS(3)[6],=KL7GKY(3)[6],=KL7GRF(3)[6],=KL7GT(3)[6], + =KL7HB(3)[6],=KL7HBV(3)[6],=KL7HFI/7(3)[6],=KL7HFV(3)[6],=KL7HI(3)[6],=KL7HJR(3)[6],=KL7HLF(3)[6], + =KL7HM(3)[6],=KL7HMK(3)[6],=KL7HQL(3)[6],=KL7HSR(3)[6],=KL7IAL(3)[6],=KL7IBT(3)[6],=KL7IDY(3)[6], + =KL7IGB(3)[6],=KL7IHK(3)[6],=KL7IIK(3)[6],=KL7IKV(3)[6],=KL7IL(3)[6],=KL7IME(3)[6],=KL7IPV(3)[6], + =KL7ISE(3)[6],=KL7IUX(3)[6],=KL7IWC/7(3)[6],=KL7IZC(3)[6],=KL7JBB(3)[6],=KL7JDQ(3)[6], + =KL7JES(3)[6],=KL7JIJ(3)[6],=KL7JJE(3)[6],=KL7JKV(3)[6],=KL7KA(3)[6],=KL7KG/7(3)[6],=KL7LG(3)[6], + =KL7LX(3)[6],=KL7LZ(3)[6],=KL7M(3)[6],=KL7MY(3)[6],=KL7MZ(3)[6],=KL7NA(3)[6],=KL7NP(3)[6], + =KL7NP/7(3)[6],=KL7OA(3)[6],=KL7OF(3)[6],=KL7OL(3)[6],=KL7OR(3)[6],=KL7OR/7(3)[6],=KL7OS(3)[6], + =KL7OY(3)[6],=KL7PO(3)[6],=KL7QA(3)[6],=KL7QK(3)[6],=KL7QK/140(3)[6],=KL7QK/7(3)[6],=KL7QR(3)[6], + =KL7QR/7(3)[6],=KL7R(3)[6],=KL7RC(3)[6],=KL7RK(3)[6],=KL7RM(3)[6],=KL7RS(3)[6],=KL7S(3)[6], + =KL7SK(3)[6],=KL7SP(3)[6],=KL7T(3)[6],=KL7TU(3)[6],=KL7UP(3)[6],=KL7UT(3)[6],=KL7VK(3)[6], + =KL7VL(3)[6],=KL7VN(3)[6],=KL7VQ(3)[6],=KL7W(3)[6],=KL7WM(3)[6],=KL7WN(3)[6],=KL7WP(3)[6], + =KL7WP/7(3)[6],=KL7WT(3)[6],=KL7YJ(3)[6],=KL7YQ(3)[6],=KL7YY/M(3)[6],=KL7ZH(3)[6],=KL7ZW(3)[6], + =KL8RV(3)[6],=KL8SU(3)[6],=KL9PC(3)[6],=KP2BX(3)[6],=KP2CB(3)[6],=KP2CT(3)[6],=KP2X(3)[6], =KP2Y(3)[6],=KP4BBN(3)[6],=KP4EFZ(3)[6],=KP4ND(3)[6],=KP4UZ(3)[6],=KP4X(3)[6],=NH0F(3)[6], =NH2DM(3)[6],=NH2JE(3)[6],=NH2KR(3)[6],=NH6B(3)[6],=NH6BF(3)[6],=NH6CI(3)[6],=NH6DQ(3)[6], =NH6DX(3)[6],=NH6FF(3)[6],=NH6GZ(3)[6],=NH6HE(3)[6],=NH6HZ(3)[6],=NH6LM(3)[6],=NH6NS(3)[6], =NH6U(3)[6],=NH6Z(3)[6],=NH6ZA(3)[6],=NH6ZE(3)[6],=NH7FZ(3)[6],=NH7L(3)[6],=NH7M(3)[6], =NH7MY(3)[6],=NH7N(3)[6],=NH7ND(3)[6],=NH7NJ/7(3)[6],=NH7OC(3)[6],=NH7PL(3)[6],=NH7RS(3)[6], =NH7S(3)[6],=NH7SH(3)[6],=NH7TG(3)[6],=NH7VZ(3)[6],=NH7W(3)[6],=NH7WT(3)[6],=NH7WU(3)[6], - =NH7YE(3)[6],=NH7YI(3)[6],=NL7AH(3)[6],=NL7AR(3)[6],=NL7AZ(3)[6],=NL7D(3)[6],=NL7D/7(3)[6], - =NL7DH(3)[6],=NL7DY(3)[6],=NL7EO(3)[6],=NL7FQ(3)[6],=NL7FX(3)[6],=NL7GM(3)[6],=NL7GO(3)[6], - =NL7GW(3)[6],=NL7HH(3)[6],=NL7HK(3)[6],=NL7HQ(3)[6],=NL7HU(3)[6],=NL7IN(3)[6],=NL7JJ(3)[6], - =NL7JN(3)[6],=NL7KV(3)[6],=NL7MS(3)[6],=NL7MT(3)[6],=NL7NL(3)[6],=NL7OF(3)[6],=NL7QI(3)[6], - =NL7TK(3)[6],=NL7UE(3)[6],=NL7US(3)[6],=NL7WD(3)[6],=NL7WJ(3)[6],=NL7XX(3)[6],=NL7ZM(3)[6], - =NL7ZN(3)[6],=NL7ZP(3)[6],=NP2CT(3)[6],=NP2X/7(3)[6],=NP3PH(3)[6],=NP4AI/M(3)[6],=NP4ES(3)[6], - =NP4FP(3)[6],=NP4I(3)[6],=NP4JV(3)[6],=VA2GLB/P(3)[6],=WH0AAM(3)[6],=WH0J(3)[6],=WH2ACV(3)[6], - =WH2AJF(3)[6],=WH2M(3)[6],=WH6ARU(3)[6],=WH6ASB(3)[6],=WH6B(3)[6],=WH6BDR(3)[6],=WH6BLM(3)[6], - =WH6BPU(3)[6],=WH6CF(3)[6],=WH6CMS(3)[6],=WH6CN(3)[6],=WH6CUS(3)[6],=WH6CWD(3)[6],=WH6CXB(3)[6], - =WH6CXE(3)[6],=WH6CXN(3)[6],=WH6CYB(3)[6],=WH6CZ(3)[6],=WH6DAY(3)[6],=WH6DJO(3)[6],=WH6DKC(3)[6], - =WH6DLQ(3)[6],=WH6DMP(3)[6],=WH6DQ(3)[6],=WH6DST(3)[6],=WH6EEC(3)[6],=WH6EEG(3)[6],=WH6EHW(3)[6], - =WH6EJV(3)[6],=WH6EQB(3)[6],=WH6ESS(3)[6],=WH6ETO(3)[6],=WH6EWE(3)[6],=WH6FCT(3)[6],=WH6FEU(3)[6], - =WH6FL(3)[6],=WH6FOJ(3)[6],=WH6OL(3)[6],=WH6OY(3)[6],=WH6QV(3)[6],=WH6SD(3)[6],=WH6SR(3)[6], - =WH6TI(3)[6],=WH6U(3)[6],=WH6XV(3)[6],=WH6YT(3)[6],=WH6ZV(3)[6],=WH7A(3)[6],=WH7CY(3)[6], - =WH7DB(3)[6],=WH7DE(3)[6],=WH7G(3)[6],=WH7GC(3)[6],=WH7GY(3)[6],=WH7HU(3)[6],=WH7LB(3)[6], - =WH7NS(3)[6],=WH7P(3)[6],=WH7RG(3)[6],=WH7TC(3)[6],=WH7UP(3)[6],=WH7WP(3)[6],=WH7WT(3)[6], - =WH7XP(3)[6],=WH7ZM(3)[6],=WL7AAW(3)[6],=WL7AL(3)[6],=WL7AP(3)[6],=WL7AZG(3)[6],=WL7AZL(3)[6], - =WL7BHR(3)[6],=WL7BLM(3)[6],=WL7BM(3)[6],=WL7BNQ(3)[6],=WL7BON(3)[6],=WL7BOO(3)[6],=WL7BSW(3)[6], - =WL7BVN(3)[6],=WL7CAZ(3)[6],=WL7CBF(3)[6],=WL7CES(3)[6],=WL7COQ(3)[6],=WL7CPE(3)[6],=WL7CPI(3)[6], - =WL7CRJ(3)[6],=WL7CSL(3)[6],=WL7CTB(3)[6],=WL7CTC(3)[6],=WL7CTE(3)[6],=WL7DD(3)[6],=WL7FA(3)[6], - =WL7FU(3)[6],=WL7H(3)[6],=WL7HE(3)[6],=WL7HK(3)[6],=WL7HL(3)[6],=WL7IQ(3)[6],=WL7IS(3)[6], - =WL7JM(3)[6],=WL7K(3)[6],=WL7K/7(3)[6],=WL7K/M(3)[6],=WL7LB(3)[6],=WL7LK(3)[6],=WL7OA(3)[6], - =WL7P(3)[6],=WL7PJ(3)[6],=WL7QC(3)[6],=WL7QX(3)[6],=WL7RV/140(3)[6],=WL7SD(3)[6],=WL7SO(3)[6], - =WL7SV(3)[6],=WL7T(3)[6],=WL7WB(3)[6],=WL7WF(3)[6],=WL7WG(3)[6],=WL7WU(3)[6],=WL7XE(3)[6], - =WL7XJ(3)[6],=WL7XN(3)[6],=WL7XW(3)[6],=WL7Z(3)[6],=WL7ZM(3)[6],=WP4BZG(3)[6],=WP4DYP(3)[6], - =WP4NBP(3)[6], + =NH7YE(3)[6],=NH7YI(3)[6],=NL7AH(3)[6],=NL7AR(3)[6],=NL7AZ(3)[6],=NL7CH(3)[6],=NL7D(3)[6], + =NL7D/7(3)[6],=NL7DH(3)[6],=NL7DY(3)[6],=NL7EO(3)[6],=NL7FQ(3)[6],=NL7FX(3)[6],=NL7GM(3)[6], + =NL7GO(3)[6],=NL7GW(3)[6],=NL7HH(3)[6],=NL7HK(3)[6],=NL7HQ(3)[6],=NL7HU(3)[6],=NL7IN(3)[6], + =NL7JJ(3)[6],=NL7JN(3)[6],=NL7KV(3)[6],=NL7LI(3)[6],=NL7MS(3)[6],=NL7MT(3)[6],=NL7NL(3)[6], + =NL7OF(3)[6],=NL7PN(3)[6],=NL7QI(3)[6],=NL7RL(3)[6],=NL7TK(3)[6],=NL7UE(3)[6],=NL7US(3)[6], + =NL7WD(3)[6],=NL7WJ(3)[6],=NL7XX(3)[6],=NL7ZM(3)[6],=NL7ZN(3)[6],=NL7ZP(3)[6],=NP2CT(3)[6], + =NP2X/7(3)[6],=NP3PH(3)[6],=NP4AI/M(3)[6],=NP4ES(3)[6],=NP4FP(3)[6],=NP4I(3)[6],=NP4JV(3)[6], + =VA2GLB/P(3)[6],=WH0AAM(3)[6],=WH0J(3)[6],=WH2ACV(3)[6],=WH2AJF(3)[6],=WH2M(3)[6],=WH6ARU(3)[6], + =WH6ASB(3)[6],=WH6B(3)[6],=WH6BDR(3)[6],=WH6BLM(3)[6],=WH6BPU(3)[6],=WH6CF(3)[6],=WH6CMS(3)[6], + =WH6CN(3)[6],=WH6CUS(3)[6],=WH6CWD(3)[6],=WH6CXB(3)[6],=WH6CXE(3)[6],=WH6CXN(3)[6],=WH6CYB(3)[6], + =WH6CZ(3)[6],=WH6DAY(3)[6],=WH6DJO(3)[6],=WH6DKC(3)[6],=WH6DLQ(3)[6],=WH6DMP(3)[6],=WH6DQ(3)[6], + =WH6DST(3)[6],=WH6EEC(3)[6],=WH6EEG(3)[6],=WH6EHW(3)[6],=WH6EJV(3)[6],=WH6EQB(3)[6],=WH6ESS(3)[6], + =WH6ETO(3)[6],=WH6EWE(3)[6],=WH6FCT(3)[6],=WH6FEU(3)[6],=WH6FL(3)[6],=WH6FOJ(3)[6],=WH6OL(3)[6], + =WH6OY(3)[6],=WH6QV(3)[6],=WH6SD(3)[6],=WH6SR(3)[6],=WH6TI(3)[6],=WH6U(3)[6],=WH6XV(3)[6], + =WH6YT(3)[6],=WH6ZV(3)[6],=WH7A(3)[6],=WH7CY(3)[6],=WH7DB(3)[6],=WH7DE(3)[6],=WH7G(3)[6], + =WH7GC(3)[6],=WH7GY(3)[6],=WH7HU(3)[6],=WH7LB(3)[6],=WH7NS(3)[6],=WH7P(3)[6],=WH7RG(3)[6], + =WH7TC(3)[6],=WH7UP(3)[6],=WH7WP(3)[6],=WH7WT(3)[6],=WH7XP(3)[6],=WL7AAW(3)[6],=WL7AL(3)[6], + =WL7AP(3)[6],=WL7AZG(3)[6],=WL7AZL(3)[6],=WL7BHR(3)[6],=WL7BLM(3)[6],=WL7BM(3)[6],=WL7BNQ(3)[6], + =WL7BON(3)[6],=WL7BOO(3)[6],=WL7BSW(3)[6],=WL7BVN(3)[6],=WL7CAZ(3)[6],=WL7CBF(3)[6],=WL7CES(3)[6], + =WL7COQ(3)[6],=WL7CPE(3)[6],=WL7CPI(3)[6],=WL7CRJ(3)[6],=WL7CSL(3)[6],=WL7CTB(3)[6],=WL7CTC(3)[6], + =WL7CTE(3)[6],=WL7DD(3)[6],=WL7FA(3)[6],=WL7FU(3)[6],=WL7H(3)[6],=WL7HE(3)[6],=WL7HK(3)[6], + =WL7HL(3)[6],=WL7IQ(3)[6],=WL7IS(3)[6],=WL7JM(3)[6],=WL7K(3)[6],=WL7K/7(3)[6],=WL7K/M(3)[6], + =WL7LB(3)[6],=WL7LK(3)[6],=WL7OA(3)[6],=WL7P(3)[6],=WL7PJ(3)[6],=WL7QC(3)[6],=WL7QX(3)[6], + =WL7RV/140(3)[6],=WL7SD(3)[6],=WL7SO(3)[6],=WL7SV(3)[6],=WL7T(3)[6],=WL7VK(3)[6],=WL7WB(3)[6], + =WL7WF(3)[6],=WL7WG(3)[6],=WL7WU(3)[6],=WL7XE(3)[6],=WL7XJ(3)[6],=WL7XN(3)[6],=WL7XW(3)[6], + =WL7Z(3)[6],=WL7ZM(3)[6],=WP4BZG(3)[6],=WP4DYP(3)[6],=WP4NBP(3)[6], AA8(4)[8],AB8(4)[8],AC8(4)[8],AD8(4)[8],AE8(4)[8],AF8(4)[8],AG8(4)[8],AI8(4)[8],AJ8(4)[8], AK8(4)[8],K8(4)[8],KA8(4)[8],KB8(4)[8],KC8(4)[8],KD8(4)[8],KE8(4)[8],KF8(4)[8],KG8(4)[8], KI8(4)[8],KJ8(4)[8],KK8(4)[8],KM8(4)[8],KN8(4)[8],KO8(4)[8],KQ8(4)[8],KR8(4)[8],KS8(4)[8], @@ -1490,14 +1502,14 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: WZ8(4)[8],=AH2AR(4)[8],=AH2AV(4)[8],=AH2JD(4)[8],=AH6AO(4)[8],=AH6MQ(4)[8],=AL4E(4)[8], =AL7AH(4)[8],=AL7BA/8(4)[8],=AL7GI(4)[8],=AL7GI/8(4)[8],=AL7J/8(4)[8],=AL7OP(4)[8],=KH2AP(4)[8], =KH6BZF/8(4)[8],=KH6DHK(4)[8],=KH6IK(4)[8],=KH6ILT(4)[8],=KH6SM(4)[8],=KH7DK(4)[8],=KH7SP(4)[8], - =KL0DN(4)[8],=KL0NR(4)[8],=KL0PD(4)[8],=KL0PE(4)[8],=KL2NI(4)[8],=KL3HQ(4)[8],=KL5A(4)[8], - =KL7DS(4)[8],=KL7FHI(4)[8],=KL7FHK(4)[8],=KL7GF(4)[8],=KL7IKR(4)[8],=KL7OG(4)[8],=KL7RF(4)[8], - =KL7RF/8(4)[8],=KL7SW(4)[8],=KL8X(4)[8],=KL9A/8(4)[8],=KP2RF(4)[8],=KP4AKB(4)[8],=KP4AMZ(4)[8], - =KP4AQI(4)[8],=KP4E(4)[8],=KP4JMP(4)[8],=KP4MAS(4)[8],=KP4VZ(4)[8],=KP4ZD(4)[8],=NH6CN(4)[8], - =NL7CF(4)[8],=NL7FK(4)[8],=NP2AK(4)[8],=NP2F(4)[8],=VE3ACW/M(4)[8],=WH2U(4)[8],=WH6CYR(4)[8], - =WH6E(4)[8],=WH6E/8(4)[8],=WH6EBA(4)[8],=WH6EJD(4)[8],=WH6TB(4)[8],=WL7AM(4)[8],=WL7BKR(4)[8], - =WL7CMV(4)[8],=WL7OS(4)[8],=WL7OT(4)[8],=WP3KU(4)[8],=WP3S(4)[8],=WP4NAE(4)[8],=WP4NYQ(4)[8], - =WP4PLR(4)[8], + =KL0DN(4)[8],=KL0NR(4)[8],=KL0PD(4)[8],=KL0PE(4)[8],=KL2NI(4)[8],=KL2PS(4)[8],=KL2YU(4)[8], + =KL3HQ(4)[8],=KL5A(4)[8],=KL7DS(4)[8],=KL7FHI(4)[8],=KL7FHK(4)[8],=KL7GF(4)[8],=KL7IKR(4)[8], + =KL7OG(4)[8],=KL7RF(4)[8],=KL7RF/8(4)[8],=KL7SW(4)[8],=KL8X(4)[8],=KL9A/8(4)[8],=KP2RF(4)[8], + =KP4AKB(4)[8],=KP4AMZ(4)[8],=KP4AQI(4)[8],=KP4E(4)[8],=KP4JMP(4)[8],=KP4MAS(4)[8],=KP4VZ(4)[8], + =KP4ZD(4)[8],=NH6CN(4)[8],=NL7CF(4)[8],=NL7FK(4)[8],=NP2AK(4)[8],=NP2F(4)[8],=NP3NA(4)[8], + =VE3ACW/M(4)[8],=WH2U(4)[8],=WH6CYR(4)[8],=WH6E(4)[8],=WH6E/8(4)[8],=WH6EBA(4)[8],=WH6EJD(4)[8], + =WH6TB(4)[8],=WL7AM(4)[8],=WL7BKR(4)[8],=WL7CMV(4)[8],=WL7OS(4)[8],=WL7OT(4)[8],=WP3KU(4)[8], + =WP3S(4)[8],=WP4HJF(4)[8],=WP4NAE(4)[8],=WP4NYQ(4)[8],=WP4PLR(4)[8], AA9(4)[8],AB9(4)[8],AC9(4)[8],AD9(4)[8],AE9(4)[8],AF9(4)[8],AG9(4)[8],AI9(4)[8],AJ9(4)[8], AK9(4)[8],K9(4)[8],KA9(4)[8],KB9(4)[8],KC9(4)[8],KD9(4)[8],KE9(4)[8],KF9(4)[8],KG9(4)[8], KI9(4)[8],KJ9(4)[8],KK9(4)[8],KM9(4)[8],KN9(4)[8],KO9(4)[8],KQ9(4)[8],KR9(4)[8],KS9(4)[8], @@ -1511,49 +1523,50 @@ United States: 05: 08: NA: 37.53: 91.67: 5.0: K: =AL7AK/9(4)[8],=AL7BT(4)[8],=AL7CV(4)[8],=AL7DS(4)[8],=AL7II/9(4)[8],=AL7OL(4)[8],=KH0BE(4)[8], =KH6JNY(4)[8],=KH6KI(4)[8],=KH6UX(4)[8],=KH7DR(4)[8],=KH7EI(4)[8],=KL0LB(4)[8],=KL0NY(4)[8], =KL1NO(4)[8],=KL1QN(4)[8],=KL2A/9(4)[8],=KL2KP(4)[8],=KL2NQ(4)[8],=KL2YD(4)[8],=KL2ZL(4)[8], - =KL4CX(4)[8],=KL7AL(4)[8],=KL7AL/9(4)[8],=KL7IBV(4)[8],=KL7IPS(4)[8],=KL7IVK(4)[8],=KL7JAB(4)[8], - =KL7MU(4)[8],=KP3JOS(4)[8],=KP3VA/M(4)[8],=KP4CI(4)[8],=KP4GE(4)[8],=KP4SL(4)[8],=KP4WG(4)[8], - =NH2W(4)[8],=NH2W/9(4)[8],=NH6R(4)[8],=NH7TK(4)[8],=NL7CM(4)[8],=NL7KD(4)[8],=NL7NK(4)[8], - =NL7QC(4)[8],=NL7QC/9(4)[8],=NL7RC(4)[8],=NL7YI(4)[8],=NP2AV(4)[8],=NP2GM(4)[8],=NP2L/9(4)[8], - =NP2MU(4)[8],=NP3QC(4)[8],=NP4JS(4)[8],=WH0AI(4)[8],=WH2T(4)[8],=WH6FBA(4)[8],=WH6SB(4)[8], - =WL7AHP(4)[8],=WL7AIT(4)[8],=WL7CTA(4)[8],=WL7FJ(4)[8],=WL7JAN(4)[8],=WL7NP(4)[8],=WL7UU(4)[8], - =WP2B(4)[8],=WP4JSP(4)[8],=WP4KGF(4)[8],=WP4LKY(4)[8],=WP4LSQ(4)[8],=WP4MQX(4)[8],=WP4MSD(4)[8], - =WP4MTN(4)[8],=WP4MVQ(4)[8],=WP4MYL(4)[8],=WP4OCZ(4)[8], + =KL4CX(4)[8],=KL7AL(4)[8],=KL7AL/9(4)[8],=KL7BGR(4)[8],=KL7IBV(4)[8],=KL7IPS(4)[8],=KL7IVK(4)[8], + =KL7JAB(4)[8],=KL7MU(4)[8],=KP3JOS(4)[8],=KP3VA/M(4)[8],=KP4CI(4)[8],=KP4GE(4)[8],=KP4SL(4)[8], + =KP4WG(4)[8],=NH2W(4)[8],=NH2W/9(4)[8],=NH6R(4)[8],=NH7TK(4)[8],=NL7CM(4)[8],=NL7KD(4)[8], + =NL7NK(4)[8],=NL7QC(4)[8],=NL7QC/9(4)[8],=NL7RC(4)[8],=NL7YI(4)[8],=NP2AV(4)[8],=NP2GM(4)[8], + =NP2L/9(4)[8],=NP2MU(4)[8],=NP3QC(4)[8],=NP4JS(4)[8],=WH0AI(4)[8],=WH2T(4)[8],=WH6FBA(4)[8], + =WH6SB(4)[8],=WL7AHP(4)[8],=WL7AIT(4)[8],=WL7CTA(4)[8],=WL7FJ(4)[8],=WL7JAN(4)[8],=WL7NP(4)[8], + =WL7UU(4)[8],=WP2B(4)[8],=WP4JSP(4)[8],=WP4KGF(4)[8],=WP4LKY(4)[8],=WP4LSQ(4)[8],=WP4MQX(4)[8], + =WP4MSD(4)[8],=WP4MTN(4)[8],=WP4MVQ(4)[8],=WP4MYL(4)[8],=WP4OCZ(4)[8], =AH2BG(4)[8],=AH6ES(4)[8],=AH6FF(4)[8],=AH6HR(4)[8],=AH6HR/4(4)[8],=AH6KB(4)[8],=AL0P(4)[8], - =AL2C(4)[8],=AL2F(4)[8],=AL4B(4)[8],=AL7CX(4)[8],=AL7EU(4)[8],=AL7MR(4)[8],=AL7QO(4)[8], - =KH2AR(4)[8],=KH2AR/4(4)[8],=KH2DN(4)[8],=KH4AF(4)[8],=KH6EO(4)[8],=KH6JQW(4)[8],=KH6OE(4)[8], - =KH6SKY(4)[8],=KH6SKY/4(4)[8],=KH7JM(4)[8],=KH7UB(4)[8],=KL0AH(4)[8],=KL0BX(4)[8],=KL0CP(4)[8], - =KL0ET(4)[8],=KL0ET/M(4)[8],=KL0EY(4)[8],=KL0FF(4)[8],=KL0GI(4)[8],=KL0LN(4)[8],=KL0PM(4)[8], - =KL0VH(4)[8],=KL1DN(4)[8],=KL1IG(4)[8],=KL1LV(4)[8],=KL1SE(4)[8],=KL1SE/4(4)[8],=KL1ZA(4)[8], - =KL2GB(4)[8],=KL2HK(4)[8],=KL2LK(4)[8],=KL2LU(4)[8],=KL2MU(4)[8],=KL2UC(4)[8],=KL3AA(4)[8], - =KL3PG(4)[8],=KL4KA(4)[8],=KL7DT/4(4)[8],=KL7FO/P(4)[8],=KL7GN/M(4)[8],=KL7IUQ(4)[8], - =KL7JKC(4)[8],=KL7LT(4)[8],=KL7WW(4)[8],=KL7YN(4)[8],=KL7YT(4)[8],=KL9MEK(4)[8],=KP3RC(4)[8], - =KP4TOM(4)[8],=NH2E(4)[8],=NH6T/4(4)[8],=NH7FK(4)[8],=NH7FL(4)[8],=NH7H(4)[8],=NL7OE(4)[8], - =NL7YU(4)[8],=NP4AC(4)[8],=NP4AC/4(4)[8],=WH6AUL(4)[8],=WH6BPL(4)[8],=WH6BPL/4(4)[8],=WH6DM(4)[8], - =WH6EOG(4)[8],=WH6FEJ(4)[8],=WL4B(4)[8],=WL7BHI(4)[8],=WL7BHJ(4)[8],=WL7CQH(4)[8],=WL7CQK(4)[8], - =WL7IP(4)[8],=WL7PC(4)[8],=WL7SF(4)[8],=WL7TD(4)[8],=WL7XZ(4)[8],=WP4CNA(4)[8], + =AL2C(4)[8],=AL2F(4)[8],=AL4B(4)[8],=AL7CX(4)[8],=AL7EU(4)[8],=AL7KN(4)[8],=AL7MR(4)[8], + =AL7QO(4)[8],=KH0UN(4)[8],=KH2AR(4)[8],=KH2AR/4(4)[8],=KH2DN(4)[8],=KH4AF(4)[8],=KH6EO(4)[8], + =KH6JQW(4)[8],=KH6OE(4)[8],=KH6RD(4)[8],=KH6SKY(4)[8],=KH6SKY/4(4)[8],=KH7JM(4)[8],=KH7UB(4)[8], + =KL0AH(4)[8],=KL0BX(4)[8],=KL0CP(4)[8],=KL0ET(4)[8],=KL0ET/M(4)[8],=KL0EY(4)[8],=KL0FF(4)[8], + =KL0GI(4)[8],=KL0LN(4)[8],=KL0PM(4)[8],=KL0VH(4)[8],=KL1DN(4)[8],=KL1IG(4)[8],=KL1LV(4)[8], + =KL1SE(4)[8],=KL1SE/4(4)[8],=KL1ZA(4)[8],=KL2GB(4)[8],=KL2HK(4)[8],=KL2LK(4)[8],=KL2LU(4)[8], + =KL2MU(4)[8],=KL2UC(4)[8],=KL3AA(4)[8],=KL3PG(4)[8],=KL4KA(4)[8],=KL7DT/4(4)[8],=KL7FO/P(4)[8], + =KL7GN/M(4)[8],=KL7IUQ(4)[8],=KL7JKC(4)[8],=KL7LT(4)[8],=KL7WW(4)[8],=KL7YN(4)[8],=KL7YT(4)[8], + =KL9MEK(4)[8],=KP3RC(4)[8],=KP4TOM(4)[8],=NH2E(4)[8],=NH6T/4(4)[8],=NH7FK(4)[8],=NH7FL(4)[8], + =NH7H(4)[8],=NL7OE(4)[8],=NL7YU(4)[8],=NP4AC(4)[8],=NP4AC/4(4)[8],=WH6AUL(4)[8],=WH6BPL(4)[8], + =WH6BPL/4(4)[8],=WH6DM(4)[8],=WH6EOG(4)[8],=WH6FEJ(4)[8],=WH6LAK(4)[8],=WL4B(4)[8],=WL7BHI(4)[8], + =WL7BHJ(4)[8],=WL7CQH(4)[8],=WL7CQK(4)[8],=WL7IP(4)[8],=WL7PC(4)[8],=WL7SF(4)[8],=WL7TD(4)[8], + =WL7XZ(4)[8],=WP4CNA(4)[8], =AL7AU(4)[7],=AL7NI(4)[7],=AL7RT(4)[7],=AL7RT/7(4)[7],=KH2BR/7(4)[7],=KH6JVF(4)[7],=KH6OZ(4)[7], =KH7SS(4)[7],=KL0NT(4)[7],=KL0NV(4)[7],=KL0RN(4)[7],=KL1HE(4)[7],=KL1MW(4)[7],=KL1TV(4)[7], =KL2NZ(4)[7],=KL7AR(4)[7],=KL7HF(4)[7],=KL7JGS(4)[7],=KL7JGS/M(4)[7],=KL7JM(4)[7],=KL7LH(4)[7], =KL7MVX(4)[7],=KL7YY/7(4)[7],=KL9A(4)[7],=KL9A/7(4)[7],=NH0E(4)[7],=NH6HW(4)[7],=WH6COM(4)[7], - =WH6ETU(4)[7],=WL7A(4)[7],=WL7DP(4)[7],=WL7HP/7(4)[7],=WL7I(4)[7], - =AL7LU(5)[8],=WL7HC(5)[8],=WP4GR(5)[8]; + =WH6ETU(4)[7],=WH6EVP(4)[7],=WL7A(4)[7],=WL7DP(4)[7],=WL7HP/7(4)[7],=WL7I(4)[7], + =AL7LU(5)[8],=KL7JFR(5)[8],=WL7HC(5)[8],=WP4GR(5)[8]; Guantanamo Bay: 08: 11: NA: 20.00: 75.00: 5.0: KG4: KG4,=KG44WW,=KG4AC,=KG4AW,=KG4BP,=KG4DY,=KG4EM,=KG4EU,=KG4HF,=KG4HH,=KG4LA,=KG4LB,=KG4SS,=KG4WH, =KG4WV,=KG4XP,=KG4ZK,=W1AW/KG4; Mariana Islands: 27: 64: OC: 15.18: -145.72: -10.0: KH0: AH0,KH0,NH0,WH0,=AB2QH,=AB9HF,=AB9OQ,=AD5KT,=AD6YP,=AE6OG,=AF4IN,=AF4KH,=AF6EO,=AH2U,=AJ6K,=AK1JA, =KB5UAB,=KB9LQG,=KC5SPG,=KC7SDC,=KC9GQX,=KD7GJX,=KG6GQ,=KG6SB,=KG7DCN,=KH0EN/KT,=KH2GV,=KH2O, - =KH2VL,=KL7QOL,=KW2X,=N2AIR,=N3QD,=N6EAX,=N7NVX,=N8CS,=NA1M,=NH2B,=NH2FG,=W1FPU,=W3FM,=W3STX, - =W7KFS,=WA6AC,=WE1J,=WH6ZW,=WO2G; + =KH2VL,=KL7QOL,=KW2X,=N2AIR,=N3QD,=N6EAX,=N7NVX,=N8CS,=NA1M,=NH2B,=NH2FG,=NU2A,=W1FPU,=W3FM,=W3NL, + =W3STX,=W7KFS,=WA6AC,=WE1J,=WH6ZW,=WO2G; Baker & Howland Islands: 31: 61: OC: 0.00: 176.00: 12.0: KH1: AH1,KH1,NH1,WH1; Guam: 27: 64: OC: 13.37: -144.70: -10.0: KH2: AH2,KH2,NH2,WH2,=AB2AB,=AC0FG,=AE6QZ,=AH0AX,=AH0F,=AH0S,=AI6ID,=K1IWD,=K5GUA,=K5GUM,=KA0RU, - =KA6BEG,=KB7OVT,=KB7PQU,=KC2OOX,=KD7IRV,=KE4YSP,=KE6ATM,=KE7GMC,=KE7IPG,=KF4UFC,=KF5ULC,=KG6AGT, - =KG6ARL,=KG6DX,=KG6FJG,=KG6JDX,=KG6JKR,=KG6JKT,=KG6TEZ,=KG6TWZ,=KH0C,=KH0DX,=KH0ES,=KH0TF,=KH6KK, - =KI4KKH,=KI4KKI,=KI7SSW,=KJ6KCJ,=KK7AV,=KM4NVB,=N2MI,=NH0A,=NH0B,=NH7TL,=NH7WC,=NP3EZ,=W5LFA, - =W6KV,=W7GVC,=W9MRE,=WA3KNB,=WB7AXZ,=WD6DGS,=WH0AC; + =KA6BEG,=KB7OVT,=KB7PQU,=KC2OOX,=KD7IRV,=KE4YSP,=KE6ATM,=KE7GMC,=KE7IPG,=KF4UFC,=KF5ULC,=KF7BMU, + =KG4BKW,=KG6AGT,=KG6ARL,=KG6DX,=KG6FJG,=KG6JDX,=KG6JKR,=KG6JKT,=KG6TEZ,=KG6TWZ,=KH0C,=KH0DX, + =KH0ES,=KH0TF,=KH6KK,=KI4KKH,=KI4KKI,=KI7SSW,=KJ6KCJ,=KK7AV,=KM4NVB,=N2MI,=NH0A,=NH0B,=NH7TL, + =NH7WC,=NP3EZ,=W5LFA,=W6KV,=W7GVC,=W9MRE,=WA3KNB,=WB7AXZ,=WD6DGS,=WH0AC; Johnston Island: 31: 61: OC: 16.72: 169.53: 10.0: KH3: AH3,KH3,NH3,WH3,=KJ6BZ; Midway Island: 31: 61: OC: 28.20: 177.37: 11.0: KH4: @@ -1561,44 +1574,44 @@ Midway Island: 31: 61: OC: 28.20: 177.37: 11.0: KH4: Palmyra & Jarvis Islands: 31: 61: OC: 5.87: 162.07: 11.0: KH5: AH5,KH5,NH5,WH5; Hawaii: 31: 61: OC: 21.12: 157.48: 10.0: KH6: - AH6,AH7,KH6,KH7,NH6,NH7,WH6,WH7,=AB0JM,=AB3WS,=AB6AP,=AB8VQ,=AC4PJ,=AC4TJ,=AC7LR,=AC7N,=AE5AB, - =AE5LR,=AG4FH,=AH0A,=AH0AG,=AH2CN,=AJ0M,=AJ8HT,=AK0P,=AL3U,=AL7RQ,=K0BAD,=K0LAS,=K0LIH,=K0LUC, - =K0OUS,=K1ENT,=K1HZM,=K1OWL,=K1RJ,=K1VAN,=K2FFT,=K2GT,=K3NW,=K3QHP,=K3UNS,=K4EVR,=K4FRZ,=K4RAC, - =K4UAI,=K4UHL,=K4XS,=K4XSS,=K4XV,=K5HQM,=K5ZAI,=K5ZYO,=K6AMA,=K6APP,=K6ATF,=K6CEE,=K6DCH,=K6GUY, - =K6HI,=K6JAE,=K6MIO,=K6NLF,=K6RSB,=K7ASH,=K7FAR,=K7FR,=K7NRJ,=K7QAS,=K8EUT,=K9AGI,=K9FD,=K9UBS, - =KA0FOR,=KA0VHP,=KA1ICJ,=KA1YJ,=KA2WXU,=KA3HIZ,=KA3TUA,=KA4INK,=KA6QOD,=KA7APU,=KA7RKW,=KA8EBL, - =KA8KND,=KA9DMP,=KB0DJR,=KB0PXK,=KB0ZKZ,=KB1EUJ,=KB1GC,=KB1PCX,=KB2MRY,=KB3IOC,=KB3OXU,=KB3PJS, - =KB3SEV,=KB4NGN,=KB5NNY,=KB5OWT,=KB6CNU,=KB6EGA,=KB6PKF,=KB7AKH,=KB7DDX,=KB7EA,=KB7G,=KB7JB, - =KB7MEU,=KB7QKJ,=KB7UQH,=KB7UVR,=KB7VUR,=KB7WUP,=KB8SKX,=KC0WQU,=KC0YIH,=KC0ZER,=KC1DBY,=KC2GSU, - =KC2HL,=KC2MIU,=KC2PGW,=KC2SRW,=KC2YL,=KC2ZSG,=KC2ZSH,=KC2ZSI,=KC3GZT,=KC4HHS,=KC5GAX,=KC6HOX, - =KC6QQI,=KC6RYQ,=KC6SHT,=KC6SWR,=KC6YIO,=KC7ASJ,=KC7AXX,=KC7DUT,=KC7EJC,=KC7HNC,=KC7IFU,=KC7KAT, + AH6,AH7,KH6,KH7,NH6,NH7,WH6,WH7,=AA7LE,=AA8JA,=AB0JM,=AB3WS,=AB6AP,=AB8VQ,=AC4PJ,=AC4TJ,=AC7LR, + =AC7N,=AE5AB,=AE5LR,=AG4FH,=AH0A,=AH0AG,=AH2CN,=AJ0M,=AJ8HT,=AK0P,=AK2J,=AL3U,=AL7RQ,=K0BAD, + =K0LAS,=K0LIH,=K0LUC,=K0OUS,=K1ENT,=K1HZM,=K1OWL,=K1RJ,=K1VAN,=K2FFT,=K2GT,=K3NW,=K3QHP,=K3UNS, + =K4EVR,=K4RAC,=K4UAI,=K4UHL,=K4XS,=K4XSS,=K4XV,=K5HQM,=K5ZAI,=K5ZYO,=K6AMA,=K6APP,=K6ATF,=K6CEE, + =K6DCH,=K6GUY,=K6HI,=K6JAE,=K6MIO,=K6NLF,=K6RSB,=K7ASH,=K7FAR,=K7FR,=K7NRJ,=K7QAS,=K8EUT,=K9AGI, + =K9FD,=K9UBS,=KA0FOR,=KA0VHP,=KA1ICJ,=KA1YJ,=KA2WXU,=KA3HIZ,=KA3TUA,=KA4INK,=KA6QOD,=KA7APU, + =KA7RKW,=KA8EBL,=KA8KND,=KA9DMP,=KB0DJR,=KB0PXK,=KB0ZKZ,=KB1EUJ,=KB1GC,=KB1PCX,=KB2MRY,=KB3IOC, + =KB3OXU,=KB3PJS,=KB3SEV,=KB4NGN,=KB5NNY,=KB5OWT,=KB6CNU,=KB6EGA,=KB6PKF,=KB7AKH,=KB7DDX,=KB7EA, + =KB7G,=KB7JB,=KB7MEU,=KB7QKJ,=KB7UQH,=KB7UVR,=KB7WUP,=KB8SKX,=KC0WQU,=KC0YIH,=KC0ZER,=KC1DBY, + =KC2GSU,=KC2HL,=KC2MIU,=KC2PGW,=KC2SRW,=KC2YL,=KC2ZSG,=KC2ZSH,=KC2ZSI,=KC3GZT,=KC4HHS,=KC5GAX, + =KC6HOX,=KC6QQI,=KC6RYQ,=KC6SHT,=KC6SWR,=KC6YIO,=KC7ASJ,=KC7AXX,=KC7DUT,=KC7EJC,=KC7HNC,=KC7KAT, =KC7KAW,=KC7KBA,=KC7KHW,=KC7KJT,=KC7LFM,=KC7NZ,=KC7PLG,=KC7USA,=KC7VHF,=KC7VWU,=KC7YXO,=KC8EFI, =KC8EJ,=KC9AUA,=KC9EQS,=KC9KEX,=KC9NJG,=KC9SBG,=KD0QLQ,=KD0QLR,=KD0RPD,=KD0WVZ,=KD0ZSP,=KD3FZ, =KD4GW,=KD4ML,=KD4QWO,=KD5ACN,=KD5BSK,=KD5HDA,=KD5HX,=KD5TBQ,=KD6CVU,=KD6CWF,=KD6EPD,=KD6IPX, =KD6LRA,=KD6VTU,=KD7HTG,=KD7LMP,=KD7SME,=KD7SMV,=KD7TZ,=KD7UV,=KD7UZG,=KD7WJM,=KD8GVO,=KE0TU, - =KE2CX,=KE4RNU,=KE4UXQ,=KE4ZXQ,=KE5CGA,=KE5FJM,=KE5UZN,=KE6AXN,=KE6AXP,=KE6AYZ,=KE6CQE,=KE6EDJ, - =KE6EVT,=KE6JXO,=KE6RAW,=KE6TFR,=KE6TIS,=KE6TKQ,=KE7FJA,=KE7FSK,=KE7HEW,=KE7IZS,=KE7JTX,=KE7KRQ, - =KE7MW,=KE7PEQ,=KE7PIZ,=KE7RCT,=KE7UAJ,=KE7UV,=KE7UW,=KF4DWA,=KF4FQR,=KF4IBW,=KF4JLZ,=KF4OOB, - =KF4URD,=KF4VHS,=KF5AHW,=KF5LBQ,=KF5MXM,=KF5MXP,=KF6BS,=KF6FDG,=KF6IVV,=KF6LWN,=KF6LYU,=KF6MQT, - =KF6OSA,=KF6PJ,=KF6PQE,=KF6QZD,=KF6RLP,=KF6YZR,=KF6ZAL,=KF7GNP,=KF7IJL,=KF7LRS,=KF7OJR,=KF7TUU, - =KF7VUK,=KG0XR,=KG4HZF,=KG4SGC,=KG4SGV,=KG6DV,=KG6EFD,=KG6HRX,=KG6IGY,=KG6JJP,=KG6LFX,=KG6MZJ, - =KG6NNF,=KG6NQI,=KG6OOB,=KG6RJI,=KG6SDD,=KG6TFI,=KG6WZD,=KG7AYU,=KG7CJI,=KG7CVR,=KG7EUP,=KH0WJ, - =KH2MD,=KH2TD,=KH2TE,=KH2YI,=KH3AE,=KH3AE/M,=KH3AF,=KI4CAU,=KI4HCZ,=KI4NOH,=KI4YAF,=KI6CRL, - =KI6DVJ,=KI6EFY,=KI6FTE,=KI6HBZ,=KI6JEC,=KI6LPT,=KI6NOC,=KI6QDQ,=KI6QQJ,=KI6SNP,=KI6VYB,=KI6WOJ, - =KI6ZRV,=KI7EZG,=KI7FJW,=KI7FJX,=KI7FUT,=KI7OS,=KI7QZQ,=KJ4BHO,=KJ4EYV,=KJ4KND,=KJ4WOI,=KJ6GYD, - =KJ6LAW,=KJ6LAX,=KJ6LBI,=KJ6NZH,=KJ6QQT,=KJ6RGW,=KJ6SKC,=KJ6TJZ,=KK4EEC,=KK6BRW,=KK6EJ,=KK6GM, - =KK6OMX,=KK6PGA,=KK6QAI,=KK6VJN,=KK6ZQ,=KK6ZZE,=KK7WR,=KL1TP,=KL3FN,=KL7PN,=KL7UB,=KM6BOQ,=KM6RM, - =KN6BE,=KN6ZU,=KO6KW,=KO6QT,=KQ6CD,=KU4OY,=KW4JC,=N0CAN,=N0DQD,=N0PJV,=N0RMC,=N0ZSJ,=N1CFD,=N1CNQ, - =N1IDP,=N1SHV,=N1TEE,=N1TLE,=N1YLH,=N2AL,=N2KJU,=N2KLQ,=N3DJT,=N3FUR,=N3HQW,=N3RWD,=N3VDM,=N3ZFY, - =N4ERA,=N4ZIW,=N5IWF,=N5JKJ,=N6AI,=N6CGA,=N6DXW,=N6GOZ,=N6IKX,=N6KB,=N6NCT,=N6PJQ,=N6QBK,=N6ZAB, - =N7AMY,=N7BLC,=N7KZB,=N7NYY,=N7ODC,=N7TOF,=N7TSV,=N7WBX,=N7ZHK,=N9CRQ,=N9GFL,=N9SBL,=NB6R,=NE7SO, - =NH2CC,=NH2CD,=NH2CF,=NH2CQ,=NH2CR,=NH2IB,=NH2IF,=NH2II,=NH2IJ,=NH2IO,=NH2JO,=NH2KF,=NH2KH,=NH2YL, - =NH2Z,=NL7UW,=NM2B,=NO0H,=NT0DA,=NT4AA,=NZ2F,=W0UNX,=W1BMB,=W2UNS,=W3ZRT,=W4YQS,=W5FJG,=W6AUS, - =W6CAG,=W6CWJ,=W6KEV,=W6KIT,=W6KPI,=W6MQB,=W6MRJ,=W6NBK,=W6ROM,=W6SHH,=W6UNX,=W7EHP,=W7NVQ,=W7NX, - =W7RCR,=W7UEA,=W8AYD,=W8JAY,=W8WH,=W9IS,=WA0FUR,=WA0NHD,=WA2AUI,=WA3ZEM,=WA6ECX,=WA6JDA,=WA6JJQ, - =WA6QDQ,=WA6UVF,=WA7ESE,=WA7TFE,=WA7ZK,=WB0TZQ,=WB2AHM,=WB2SQW,=WB4JTT,=WB4MNF,=WB5ZDH,=WB5ZOV, - =WB6CVJ,=WB6PJT,=WB6SAA,=WB8NCD,=WB9SMM,=WC6B,=WD0FTF,=WD0LFN,=WD6EZL,=WD6GHJ,=WD8LIB,=WD8OBO, - =WH2Y,=WH7K,=WJ8A,=WU0H,=WV0Z,=WV6K,=WX7G; + =KE2CX,=KE4DYE,=KE4RNU,=KE4UXQ,=KE4ZXQ,=KE5CGA,=KE5FJM,=KE5UZN,=KE6AXN,=KE6AXP,=KE6AYZ,=KE6CQE, + =KE6EDJ,=KE6EVT,=KE6JXO,=KE6RAW,=KE6TFR,=KE6TIS,=KE6TKQ,=KE7FJA,=KE7FSK,=KE7HEW,=KE7IZS,=KE7JTX, + =KE7KRQ,=KE7MW,=KE7PEQ,=KE7PIZ,=KE7RCT,=KE7UAJ,=KE7UV,=KE7UW,=KF4DWA,=KF4FQR,=KF4IBW,=KF4JLZ, + =KF4OOB,=KF4URD,=KF4VHS,=KF5AHW,=KF5LBQ,=KF5MXM,=KF5MXP,=KF6BS,=KF6FDG,=KF6IVV,=KF6LWN,=KF6LYU, + =KF6MQT,=KF6OSA,=KF6PJ,=KF6PQE,=KF6QZD,=KF6RLP,=KF6YZR,=KF6ZAL,=KF7GNP,=KF7IJL,=KF7LRS,=KF7OJR, + =KF7TUU,=KF7VUK,=KG0XR,=KG4HZF,=KG4SGC,=KG4SGV,=KG6DV,=KG6EFD,=KG6HRX,=KG6IGY,=KG6JJP,=KG6LFX, + =KG6MZJ,=KG6NNF,=KG6NQI,=KG6OOB,=KG6RJI,=KG6SDD,=KG6TFI,=KG6WZD,=KG7AYU,=KG7CJI,=KG7CVR,=KG7EUP, + =KH0AI,=KH0WJ,=KH2MD,=KH2TD,=KH2TE,=KH2YI,=KH3AE,=KH3AE/M,=KH3AF,=KI4CAU,=KI4HCZ,=KI4NOH,=KI4YAF, + =KI6CRL,=KI6DVJ,=KI6EFY,=KI6FTE,=KI6HBZ,=KI6JEC,=KI6LPT,=KI6NOC,=KI6QDQ,=KI6QQJ,=KI6SNP,=KI6VYB, + =KI6WOJ,=KI6ZRV,=KI7EZG,=KI7FJW,=KI7FJX,=KI7FUT,=KI7OS,=KI7QZQ,=KJ4BHO,=KJ4EYV,=KJ4KND,=KJ4WOI, + =KJ6GYD,=KJ6LAW,=KJ6LAX,=KJ6LBI,=KJ6NZH,=KJ6QQT,=KJ6RGW,=KJ6SKC,=KJ6TJZ,=KK4EEC,=KK6BRW,=KK6EJ, + =KK6GM,=KK6OMX,=KK6PGA,=KK6QAI,=KK6VJN,=KK6ZQ,=KK6ZZE,=KK7WR,=KL1TP,=KL3FN,=KL7PN,=KL7UB,=KM6BOQ, + =KM6IK,=KM6RM,=KN6BE,=KN6ZU,=KN8AQR,=KO6KW,=KO6QT,=KQ6CD,=KU4OY,=KW4JC,=KY1I,=N0CAN,=N0DQD,=N0PJV, + =N0RMC,=N0ZSJ,=N1CFD,=N1CNQ,=N1IDP,=N1SHV,=N1TEE,=N1TLE,=N1VOP,=N1YLH,=N2AL,=N2KJU,=N2KLQ,=N3DJT, + =N3FUR,=N3GWR,=N3HQW,=N3RWD,=N3VDM,=N3ZFY,=N4ERA,=N4ZIW,=N5IWF,=N5JKJ,=N6AI,=N6CGA,=N6DXW,=N6GOZ, + =N6IKX,=N6KB,=N6NCT,=N6PJQ,=N6QBK,=N6ZAB,=N7AMY,=N7BLC,=N7KZB,=N7NYY,=N7ODC,=N7TSV,=N7WBX,=N9CRQ, + =N9GFL,=N9SBL,=NB6R,=NE7SO,=NG1T,=NH2CC,=NH2CD,=NH2CF,=NH2CQ,=NH2CR,=NH2IB,=NH2IF,=NH2II,=NH2IJ, + =NH2IO,=NH2JO,=NH2KF,=NH2KH,=NH2YL,=NH2Z,=NI1J,=NL7UW,=NM2B,=NO0H,=NT0DA,=NT4AA,=NZ2F,=W0UNX, + =W1BMB,=W2UNS,=W3ZRT,=W4YQS,=W5FJG,=W6AUS,=W6CAG,=W6CWJ,=W6KEV,=W6KIT,=W6KPI,=W6MQB,=W6MRJ,=W6NBK, + =W6ROM,=W6SHH,=W6UNX,=W7EHP,=W7NVQ,=W7NX,=W7RCR,=W7UEA,=W8AYD,=W8JAY,=W8WH,=W9IS,=WA0FUR,=WA0NHD, + =WA2AUI,=WA3ZEM,=WA6ECX,=WA6JDA,=WA6JJQ,=WA6QDQ,=WA6UVF,=WA7ESE,=WA7TFE,=WA7ZK,=WB0RUA,=WB0TZQ, + =WB2AHM,=WB2SQW,=WB4JTT,=WB4MNF,=WB5ZDH,=WB5ZOV,=WB6CVJ,=WB6PJT,=WB6SAA,=WB8NCD,=WB9SMM,=WC6B, + =WD0FTF,=WD0LFN,=WD6EZL,=WD6GHJ,=WD8LIB,=WD8OBO,=WH2Y,=WH7K,=WJ8A,=WU0H,=WV0Z,=WV6K,=WX7G; Kure Island: 31: 61: OC: 29.00: 178.00: 10.0: KH7K: AH7K,KH7K,NH7K,WH7K; American Samoa: 32: 62: OC: -14.32: 170.78: 11.0: KH8: @@ -1612,43 +1625,44 @@ Alaska: 01: 01: NA: 61.40: 148.87: 8.0: KL: =AD0FQ,=AD0ZL,=AD3BJ,=AD6GC,=AD7MF,=AD7VV,=AE1DJ,=AE4QH,=AE5CP,=AE5EX,=AE5FN,=AE5IR,=AE7ES,=AE7KS, =AE7SB,=AF7FV,=AG5LN,=AG5OF,=AH0AH,=AH0H,=AJ4ZI,=AK4P,=K0AZZ,=K0BHC,=K0DJM,=K1BZD,=K1MAT,=K2ICW, =K2NPS,=K3JMI,=K4ETC,=K4RND,=K4WPK,=K5DOW,=K5HL,=K5RD,=K5RSO,=K5RZW,=K5TDN,=K6ANE,=K6GKW,=K7EJM, - =K7GRW,=K7LOP,=K7MVX,=K7OCL,=K7RDR,=K7UNX,=K7ZOA,=K8IEL,=K8OUA,=K9ETM,=K9WUV,=KA0SIM,=KA0YPV, - =KA2TJZ,=KA2ZSD,=KA6UGT,=KA7ETQ,=KA7HOX,=KA7JOR,=KA7TMU,=KA7TOM,=KA7UKN,=KA7VCR,=KA7YEY,=KA9GYQ, - =KB0APK,=KB0LOW,=KB0TSU,=KB0UGE,=KB0UVK,=KB1CRT,=KB1FCX,=KB1KLH,=KB1PHP,=KB1QCD,=KB1QCE,=KB1SYV, - =KB1WQL,=KB2JWV,=KB2ZME,=KB3CYB,=KB3JFK,=KB3NCR,=KB5DNT,=KB5HEV,=KB5UWU,=KB6DKJ,=KB7AMA,=KB7BNG, - =KB7DEL,=KB7FXJ,=KB7IBI,=KB7JA,=KB7LJZ,=KB7LON,=KB7PHT,=KB7QLB,=KB7RXZ,=KB7SIQ,=KB7UBH,=KB7VFZ, - =KB7YEC,=KB7ZVZ,=KB8QKR,=KB8SBG,=KB8TEW,=KB8VYJ,=KB9MWG,=KB9NSV,=KB9RWE,=KB9RWJ,=KC0ATI,=KC0CWG, - =KC0CYR,=KC0EF,=KC0GHH,=KC0NSV,=KC0OKQ,=KC0PSZ,=KC0TK,=KC0TZL,=KC0UYK,=KC0VDN,=KC0WSG,=KC1DL, - =KC2BYX,=KC2GVS,=KC2HRV,=KC2KMU,=KC2OJP,=KC2PCV,=KC3DBK,=KC4MXQ,=KC4MXR,=KC5BNN,=KC5CHO,=KC5DJA, - =KC5KIG,=KC5LKF,=KC5LKG,=KC5QPJ,=KC5THY,=KC5YIB,=KC6RJW,=KC7BUL,=KC7COW,=KC7ENM,=KC7GSO,=KC7HJM, - =KC7HPF,=KC7IKE,=KC7IKF,=KC7INC,=KC7MIJ,=KC7MPY,=KC7MRO,=KC7OQZ,=KC7PLJ,=KC7PLQ,=KC7RCP,=KC7TYT, - =KC7UZY,=KC7WOA,=KC7YZR,=KC8BKP,=KC8GKK,=KC8NMN,=KC8NOY,=KC8WWS,=KC8YIV,=KC9CMY,=KC9HIK,=KC9VLD, - =KD0CLU,=KD0CZC,=KD0DHU,=KD0FJG,=KD0NSG,=KD0VAK,=KD0VAL,=KD0VGF,=KD0ZOD,=KD2CTE,=KD2GKT,=KD4EYW, - =KD4MEY,=KD4QJL,=KD5DWV,=KD5GAL,=KD5QPD,=KD5RVD,=KD5WCF,=KD5WEV,=KD6DLB,=KD6RVY,=KD6YKS,=KD7APU, - =KD7AWK,=KD7BBX,=KD7BGP,=KD7DUQ,=KD7FGL,=KD7FUL,=KD7GFG,=KD7HXF,=KD7KRK,=KD7MGO,=KD7QAR,=KD7SIX, - =KD7TWB,=KD7UAG,=KD7VOI,=KD7VXE,=KD7ZTJ,=KD8BVD,=KD8DDY,=KD8GEL,=KD8GMS,=KD8JOU,=KD8LNA,=KD8WMX, - =KD9TK,=KE0DYM,=KE0KKI,=KE4DGR,=KE4MQD,=KE4YEI,=KE4YLG,=KE5CVD,=KE5CVT,=KE5DQV,=KE5FOC,=KE5GEB, - =KE5HHR,=KE5JHS,=KE5JTB,=KE5NLG,=KE5QDI,=KE5QDJ,=KE5QDK,=KE5VPO,=KE5ZRK,=KE5ZUM,=KE6DLM,=KE6DUJ, - =KE6DXH,=KE6IPM,=KE6SYD,=KE6TCE,=KE6VUB,=KE7DFO,=KE7ELL,=KE7EOP,=KE7EPZ,=KE7FNC,=KE7FXM,=KE7GOE, - =KE7HMJ,=KE7KAT,=KE7KYU,=KE7TRX,=KE8RO,=KF4JET,=KF4PLR,=KF4TBD,=KF4YFD,=KF5FJQ,=KF5HFB,=KF5HJC, - =KF5NDT,=KF5NHR,=KF5STO,=KF5YYK,=KF6AWG,=KF6AXS,=KF6BMF,=KF6BOV,=KF6EJR,=KF6GNM,=KF6ILC,=KF6IOT, - =KF6LGK,=KF6MFK,=KF6QOJ,=KF6RPC,=KF6SHS,=KF6TGR,=KF6UWT,=KF7LEX,=KF7LUA,=KF7PCJ,=KF7PFT,=KF7PSS, - =KF7PUQ,=KF7UFY,=KF7VBO,=KF8ZB,=KG2IA,=KG4NBL/P,=KG4TJS,=KG4WNZ,=KG5EQN,=KG5GDF,=KG5GTD,=KG5JQC, - =KG5MIB,=KG6DTI,=KG6RJE,=KG6TAL,=KG7CUR,=KG7DVI,=KG7GJL,=KG7OQC,=KG7SEQ,=KG7TGE,=KH0NF,=KH0NG, - =KH0RF,=KH2YN,=KH7BW,=KH7DA,=KI4COG,=KI4ERC,=KI4GAG,=KI4GCF,=KI4GDI,=KI4NGY,=KI4NVI,=KI4SET, - =KI4SOM,=KI6BGR,=KI6DES,=KI6HGW,=KI7COR,=KI7PZ,=KI8JT,=KJ4HEW,=KJ4IAQ,=KJ4PSV,=KJ4WDI,=KJ4ZWI, - =KJ6KRG,=KJ6ZSX,=KJ7IR,=KK4AMV,=KK4CLS,=KK4LRE,=KK4QXE,=KK4RYG,=KK4WWH,=KK4WWI,=KK6IUY,=KK6PGV, - =KK7I,=KK7IV,=KK7STL,=KL7D/M,=KL7NC/IMD,=KM4AGL,=KM4KWS,=KM4KX,=KM4NIC,=KM4OE,=KM4PJH,=KM4TJI, - =KN8IVE,=KR4WV,=KV3X,=KW1W,=KY7J,=KZ6HJC,=N0GDT,=N0GDU,=N0GLI,=N0HJT,=N0HZF,=N0LHN,=N0SN,=N0SUB, - =N0WXJ,=N0XKY,=N0XS,=N0ZKV,=N1HUT,=N1KDQ,=N1KTI,=N1NJS,=N1QFE,=N1TX,=N2CXH,=N2SHO,=N2TJY,=N2YZW, - =N3QEH,=N4AVX,=N4CM,=N4HCJ,=N4HZU,=N4NAV,=N5CSO,=N5UKX,=N5WPR,=N6BSC,=N6CVV,=N6CZU,=N6JM,=N7BUO, - =N7FCT,=N7HER,=N7HQK,=N7IA,=N7JUX,=N7MGT,=N7MTG,=N7PHB,=N7QAN,=N7TBU,=N7UTV,=N7UWT,=N7XNM,=N7YKY, - =N7YQS,=N7ZYS,=N8DDY,=N8EX,=N8KCJ,=N9AIG,=N9FB,=N9YD,=NA7WM,=NC4OI,=NE7EK,=NE9V,=NH2GZ,=NH7UO, - =NJ7H,=NN4NN,=NP4FU,=NW4G,=NW7F,=W0FJN,=W0RWS,=W0UZJ,=W1LYD,=W1RSC,=W1ZKA,=W2DLS,=W2KRZ,=W3JPN, - =W4AUL,=W4BMR,=W4LS,=W4RSB,=W5JKT,=W6DDP,=W6GTE,=W6ROW,=W7DDG,=W7EIK,=W7JMR,=W7NUT,=W7PWA,=W7RAZ, - =W7ROS,=W7WEZ,=W7ZWT,=W8MDD,=W8PVZ,=W8TCX,=W9ITU,=W9JMC,=WA0JS,=WA1FVJ,=WA2BGL,=WA2BIW,=WA6GFS, - =WA7B,=WA7PXH,=WA7USX,=WA7YXF,=WB0CMZ,=WB1GZL,=WB1ILS,=WB6COP,=WB7QWM,=WB7TYK,=WB9JZL,=WD6CET, - =WH6CYY,=WH6DPL,=WH6DX,=WH7AK,=WJ8M,=WP4IYI,=WT5T,=WX1NCC; + =K7GRW,=K7LOP,=K7MVX,=K7OCL,=K7RDR,=K7UNX,=K7ZOA,=K8IEL,=K8OUA,=K9DUG,=K9ETM,=K9WUV,=KA0SIM, + =KA0YPV,=KA1NCN,=KA2TJZ,=KA2ZSD,=KA6UGT,=KA7ETQ,=KA7HOX,=KA7JOR,=KA7TMU,=KA7TOM,=KA7UKN,=KA7VCR, + =KA7YEY,=KA9GYQ,=KB0APK,=KB0LOW,=KB0TSU,=KB0UGE,=KB0UVK,=KB1CRT,=KB1FCX,=KB1KLH,=KB1PHP,=KB1QCD, + =KB1QCE,=KB1SYV,=KB1WQL,=KB2JWV,=KB2ZME,=KB3CYB,=KB3JFK,=KB3NCR,=KB4DX,=KB5DNT,=KB5HEV,=KB5UWU, + =KB6DKJ,=KB7AMA,=KB7BNG,=KB7DEL,=KB7FXJ,=KB7IBI,=KB7JA,=KB7LJZ,=KB7LON,=KB7PHT,=KB7QLB,=KB7RXZ, + =KB7SIQ,=KB7UBH,=KB7VFZ,=KB7YEC,=KB7ZVZ,=KB8QKR,=KB8SBG,=KB8TEW,=KB8VYJ,=KB9MWG,=KB9RWE,=KB9RWJ, + =KB9YGR,=KC0ATI,=KC0CWG,=KC0CYR,=KC0EF,=KC0GHH,=KC0NSV,=KC0OKQ,=KC0PSZ,=KC0TK,=KC0TZL,=KC0UYK, + =KC0VDN,=KC0WSG,=KC0YSW,=KC1DL,=KC2BYX,=KC2GVS,=KC2HRV,=KC2KMU,=KC2OJP,=KC2PCV,=KC3DBK,=KC4MXQ, + =KC4MXR,=KC5BNN,=KC5CHO,=KC5DJA,=KC5KIG,=KC5LKF,=KC5LKG,=KC5QPJ,=KC5THY,=KC5YIB,=KC6RJW,=KC7BUL, + =KC7COW,=KC7ENM,=KC7GSO,=KC7HJM,=KC7HPF,=KC7IKE,=KC7IKF,=KC7INC,=KC7MIJ,=KC7MPY,=KC7MRO,=KC7OQZ, + =KC7PLJ,=KC7PLQ,=KC7RCP,=KC7TYT,=KC7UZY,=KC7WOA,=KC7YZR,=KC8BKP,=KC8GKK,=KC8NMN,=KC8NOY,=KC8WWS, + =KC8YIV,=KC9CMY,=KC9HIK,=KC9VLD,=KD0CLU,=KD0CZC,=KD0DHU,=KD0FJG,=KD0JJB,=KD0NSG,=KD0VAK,=KD0VAL, + =KD0VGF,=KD0ZOD,=KD2CTE,=KD2GKT,=KD4EYW,=KD4MEY,=KD4QJL,=KD5DWV,=KD5GAL,=KD5QPD,=KD5RVD,=KD5WCF, + =KD5WEV,=KD6DLB,=KD6RVY,=KD6YKS,=KD7APU,=KD7AWK,=KD7BBX,=KD7BGP,=KD7DIG,=KD7DUQ,=KD7FGL,=KD7FUL, + =KD7GFG,=KD7HXF,=KD7KRK,=KD7MGO,=KD7QAR,=KD7SIX,=KD7TWB,=KD7UAG,=KD7VOI,=KD7VXE,=KD7ZTJ,=KD8BVD, + =KD8DDY,=KD8GEL,=KD8GMS,=KD8JOU,=KD8LNA,=KD8WMX,=KD9TK,=KE0DYM,=KE0KKI,=KE4DGR,=KE4MQD,=KE4YEI, + =KE4YLG,=KE5CVD,=KE5CVT,=KE5DQV,=KE5FOC,=KE5GEB,=KE5HHR,=KE5JHS,=KE5JTB,=KE5NLG,=KE5QDI,=KE5QDJ, + =KE5QDK,=KE5VPO,=KE5ZRK,=KE5ZUM,=KE6DLM,=KE6DUJ,=KE6DXH,=KE6IPM,=KE6SYD,=KE6TCE,=KE6VUB,=KE7DFO, + =KE7ELL,=KE7EOP,=KE7EPZ,=KE7FNC,=KE7FXM,=KE7GOE,=KE7HMJ,=KE7KAT,=KE7KYU,=KE7TRX,=KE8RO,=KF4JET, + =KF4PLR,=KF4TBD,=KF4YFD,=KF5FJQ,=KF5HFB,=KF5HJC,=KF5NDT,=KF5NHR,=KF5STO,=KF5YYK,=KF6AWG,=KF6AXS, + =KF6BMF,=KF6BOV,=KF6EJR,=KF6GNM,=KF6ILC,=KF6IOT,=KF6LGK,=KF6MFK,=KF6QOJ,=KF6RMG,=KF6RPC,=KF6SHS, + =KF6TGR,=KF6UWT,=KF7LEX,=KF7LUA,=KF7PCJ,=KF7PFT,=KF7PSS,=KF7PUQ,=KF7UFY,=KF7VBO,=KF8ZB,=KG2IA, + =KG4NBL/P,=KG4TJS,=KG4WNZ,=KG5EQN,=KG5GDF,=KG5GTD,=KG5JQC,=KG5MIB,=KG6DTI,=KG6MBC,=KG6RJE,=KG6TAL, + =KG7CUR,=KG7DVI,=KG7GJL,=KG7JVJ,=KG7OQC,=KG7SEQ,=KG7TGE,=KH0NF,=KH0NG,=KH0RF,=KH2YN,=KH7BW,=KH7DA, + =KI4COG,=KI4ERC,=KI4GAG,=KI4GCF,=KI4GDI,=KI4NGY,=KI4NVI,=KI4SET,=KI4SOM,=KI6BGR,=KI6DES,=KI6HGW, + =KI7COR,=KI7PZ,=KI8JT,=KJ4HEW,=KJ4IAQ,=KJ4PSV,=KJ4WDI,=KJ4ZWI,=KJ6KRG,=KJ6ZSX,=KJ7IR,=KK4AMV, + =KK4CLS,=KK4LRE,=KK4QXE,=KK4RYG,=KK4WWH,=KK4WWI,=KK6IUY,=KK6PGV,=KK7I,=KK7IV,=KK7STL,=KL7D/M, + =KL7NC/IMD,=KM4AGL,=KM4KWS,=KM4KX,=KM4NIC,=KM4OE,=KM4PJH,=KM4TJI,=KN8IVE,=KR4WV,=KV3X,=KW1W,=KY7J, + =KZ6HJC,=N0GDT,=N0GDU,=N0GLI,=N0HJT,=N0HZF,=N0LHN,=N0SN,=N0SUB,=N0WXJ,=N0XKY,=N0XS,=N0ZKV,=N1HUT, + =N1KDQ,=N1KTI,=N1NDA,=N1NJS,=N1QFE,=N1TX,=N2CXH,=N2SHO,=N2TJY,=N2YZW,=N3QEH,=N4AVX,=N4CM,=N4HCJ, + =N4HZU,=N4NAV,=N5CSO,=N5UKX,=N5WPR,=N6BSC,=N6CVV,=N6CZU,=N6JM,=N7BUO,=N7FCT,=N7HER,=N7HQK,=N7IA, + =N7JUX,=N7MGT,=N7MTG,=N7PHB,=N7QAN,=N7TBU,=N7UTV,=N7UWT,=N7XNM,=N7YKY,=N7YQS,=N7ZYS,=N8DDY,=N8EX, + =N8KCJ,=N8SUG,=N9AIG,=N9FB,=N9YD,=NA7WM,=NC4OI,=NE7EK,=NE9V,=NH2GZ,=NH7UO,=NJ7H,=NN4NN,=NP4FU, + =NW4G,=NW7F,=W0FJN,=W0RWS,=W0UZJ,=W1LYD,=W1RSC,=W1ZKA,=W2DLS,=W2KRZ,=W3JPN,=W4AUL,=W4BMR,=W4LS, + =W4RSB,=W5JKT,=W6DDP,=W6GTE,=W6ROW,=W7DDG,=W7EIK,=W7JMR,=W7NUT,=W7PWA,=W7RAZ,=W7ROS,=W7WEZ,=W7ZWT, + =W8MDD,=W8PVZ,=W8TCX,=W9ITU,=W9JMC,=WA0JS,=WA1FVJ,=WA2BGL,=WA2BIW,=WA6GFS,=WA7B,=WA7PXH,=WA7USX, + =WA7YXF,=WB0CMZ,=WB1GZL,=WB1ILS,=WB6COP,=WB7QWM,=WB7TYK,=WB9JZL,=WD6CET,=WH6CYY,=WH6DPL,=WH6DX, + =WH7AK,=WJ8M,=WP4IYI,=WT5T,=WX1NCC; Navassa Island: 08: 11: NA: 18.40: 75.00: 5.0: KP1: KP1,NP1,WP1; US Virgin Islands: 08: 11: NA: 17.73: 64.80: 4.0: KP2: @@ -1659,19 +1673,20 @@ US Virgin Islands: 08: 11: NA: 17.73: 64.80: 4.0: KP2: =WB2KQW,=WB4WFU,=WD8AHQ,=WI7C; Puerto Rico: 08: 11: NA: 18.18: 66.55: 4.0: KP4: KP3,KP4,NP3,NP4,WP3,WP4,=AA2ZN,=AB2DR,=AF4OU,=AF5IZ,=AG4CD,=AI4EZ,=K1NDN,=K4C/LH,=K4PFH,=K5YJR, - =K6BOT,=K9JOS,=KA2GNG,=KA2MBR,=KA2YGB,=KA7URH,=KA9UTY,=KB0AQB,=KB1IJU,=KB1KDP,=KB1RUQ,=KB1TUA, - =KB1UEK,=KB1UZV,=KB1ZKF,=KB2ALR,=KB2CIE,=KB2MMX,=KB2NMT,=KB2NYN,=KB2OIF,=KB2OMN,=KB2OPM,=KB2RYP, - =KB2TID,=KB2VHY,=KB2WKT,=KB2YKJ,=KB3BPK,=KB3BTN,=KB3LUV,=KB3SBO,=KB8ZVP,=KB9OWX,=KB9RZD,=KB9YVE, - =KB9YVF,=KC1CRV,=KC1CUF,=KC1DRV,=KC1IHB,=KC1IHO,=KC1JLY,=KC2BZZ,=KC2CTM,=KC2JNE,=KC2LET,=KC2TE, - =KC2UXP,=KC3GEO,=KC5DKT,=KC8IRI,=KD2KPC,=KD2VQ,=KD4TVS,=KD5DVV,=KD5PKH,=KD9GIZ,=KE0AYJ,=KE0GFK, - =KE0SH,=KE1MA,=KE4GGD,=KE4GYA,=KE4SKH,=KE4THL,=KE4WUE,=KE5LNG,=KF4KPO,=KF4ZDB,=KF6OGJ,=KG4IRC, - =KG4IVO,=KG4VCC,=KG5AFY,=KH2RU,=KH4AA,=KI4LRJ,=KI4WOA,=KI4WOB,=KJ4LOZ,=KJ4UPN,=KJ6OV,=KK4AOZ, - =KK4DCX,=KK4EBE,=KK4PHB,=KM4VDZ,=KM4WGI,=KM4YBN,=KM4YSR,=KM4ZJW,=KM6CTO,=KN4AWH,=KN4GNO,=KN4IBD, - =KN4IDV,=KN4IGP,=KN4ILO,=KN4INP,=KN4JCC,=KN4KPX,=KN4KPY,=KN4MNT,=KN4NLZ,=KN4ODN,=KP2H,=KP2Z, - =KP3CW/SKP,=KP3RE/LGT,=KP3RE/LH,=KP3RE/LT,=KP4ES/L,=KP4ES/LGT,=KP4ES/LH,=KP4FD/IARU,=KP4FRD/LH, - =KP4MD/P,=KP4VP/LH,=N1CN,=N1HRV,=N1JFL,=N1QVU,=N1SCD,=N1SZM,=N1VCW,=N1YAY,=N1ZJC,=N2KKN,=N2KUE, - =N2PGO,=N3JAM,=N3VIJ,=N3YUB,=N3ZII,=N4JZD,=N4LER,=N6RHF,=NB0G,=NP3M/LH,=NP4VO/LH,=W1AW/PR,=W3YW, - =W6WAW,=W9JS,=WA2RVA,=WB2HMY,=WB5YOF,=WB7ADC,=WB7VVV,=WD4LOL,=WP4L/TP,=WR8Z; + =K6BOT,=K9JOS,=KA2GNG,=KA2MBR,=KA2YGB,=KA7URH,=KA9UTY,=KB0AQB,=KB0TEP,=KB1IJU,=KB1KDP,=KB1RUQ, + =KB1TUA,=KB1UEK,=KB1UZV,=KB1ZKF,=KB2ALR,=KB2CIE,=KB2MMX,=KB2NMT,=KB2NYN,=KB2OIF,=KB2OMN,=KB2OPM, + =KB2RYP,=KB2TID,=KB2VHY,=KB2WKT,=KB2YKJ,=KB3BPK,=KB3BTN,=KB3LUV,=KB3SBO,=KB8ZVP,=KB9OWX,=KB9RZD, + =KB9YVE,=KB9YVF,=KC1CRV,=KC1CUF,=KC1DRV,=KC1IHB,=KC1IHO,=KC1JLY,=KC2BZZ,=KC2CTM,=KC2ERU,=KC2JNE, + =KC2LET,=KC2TE,=KC2UXP,=KC3GEO,=KC5DKT,=KC8IRI,=KD2KPC,=KD2VQ,=KD4TVS,=KD5DVV,=KD5PKH,=KD9GIZ, + =KE0AYJ,=KE0GFK,=KE0SH,=KE1MA,=KE4GGD,=KE4GYA,=KE4SKH,=KE4THL,=KE4WUE,=KE5LNG,=KF4KPO,=KF4ZDB, + =KF6OGJ,=KG4IRC,=KG4IVO,=KG4VCC,=KG5AFY,=KH2RU,=KH4AA,=KI4LRJ,=KI4WOA,=KI4WOB,=KJ4LOZ,=KJ4UPN, + =KJ6OV,=KK4AOZ,=KK4DCX,=KK4EBE,=KK4PHB,=KM4VDZ,=KM4WGI,=KM4YBN,=KM4YSR,=KM4ZJW,=KM6CTO,=KN4AWH, + =KN4GNO,=KN4IBD,=KN4IDV,=KN4IGP,=KN4ILO,=KN4INP,=KN4JCC,=KN4KPX,=KN4KPY,=KN4MNT,=KN4NLZ,=KN4ODN, + =KP2H,=KP2Z,=KP3CW/SKP,=KP3RE/LGT,=KP3RE/LH,=KP3RE/LT,=KP4ES/L,=KP4ES/LGT,=KP4ES/LH,=KP4FD/IARU, + =KP4FRD/LH,=KP4MD/P,=KP4VP/LH,=N1CN,=N1HRV,=N1JFL,=N1QVU,=N1SCD,=N1SZM,=N1VCW,=N1YAY,=N1ZJC, + =N2KKN,=N2KUE,=N2PGO,=N3JAM,=N3VIJ,=N3YUB,=N3ZII,=N4JZD,=N4LER,=N6NVD,=N6RHF,=NB0G,=NP3M/LH, + =NP4VO/LH,=W1AW/PR,=W3YW,=W6WAW,=W9JS,=WA2RVA,=WB2HMY,=WB5YOF,=WB7ADC,=WB7VVV,=WD4LOL,=WP4L/TP, + =WR8Z; Desecheo Island: 08: 11: NA: 18.08: 67.88: 4.0: KP5: KP5,NP5,WP5; Norway: 14: 18: EU: 61.00: -9.00: -1.0: LA: @@ -1692,97 +1707,102 @@ Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU: =LU1AAS/D,=LU1ACX/D,=LU1AEE/D,=LU1AET/D,=LU1AIM/D,=LU1ALF/D,=LU1AM/D,=LU1APR/D,=LU1ARG/D, =LU1ASP/D,=LU1BCE/D,=LU1CHD/D,=LU1CL/D,=LU1COA/D,=LU1DAR/D,=LU1DAS/D,=LU1DBI/D,=LU1DCB/D, =LU1DDK/D,=LU1DDO/D,=LU1DHO/D,=LU1DK/D,=LU1DKD/D,=LU1DLB/D,=LU1DMA/E,=LU1DNQ/D,=LU1DP/D,=LU1DQ/D, - =LU1DSO/D,=LU1DU/D,=LU1DVE/D,=LU1DYP/D,=LU1DZ/D,=LU1DZ/E,=LU1DZR/D,=LU1EEE/D,=LU1EEZ/D,=LU1EFF/D, - =LU1EJ/LH,=LU1EJ/YL,=LU1ELP/D,=LU1EPC/D,=LU1EPF/D,=LU1EQ/D,=LU1EQU/D,=LU1ERA/D,=LU1EST/D, - =LU1EUU/D,=LU1EXU/D,=LU1EY/D,=LU1HBD/D,=LU1HLH/D,=LU1KCQ/D,=LU1UAG/D,=LU1VOF/D,=LU1XWC/E,=LU1XZ/D, - =LU1YY/D,=LU2AAS/D,=LU2AEZ/D,=LU2AFE/D,=LU2AGQ/D,=LU2AHB/D,=LU2ALE/D,=LU2AMM/D,=LU2AVG/D, - =LU2AVW/D,=LU2BN/D,=LU2BOE/D,=LU2BPM/D,=LU2CDE/D,=LU2CDO/D,=LU2CHP/D,=LU2CM/D,=LU2DAR/D,=LU2DB/D, - =LU2DHM/D,=LU2DJC/D,=LU2DJL/D,=LU2DKN/D,=LU2DPW/D,=LU2DRT/D,=LU2DT/D,=LU2DT/D/LH,=LU2DT/LGT, - =LU2DT/LH,=LU2DVF/D,=LU2ED/D,=LU2EDC/D,=LU2EE/D,=LU2EE/E,=LU2EGA/D,=LU2EGI/D,=LU2EGP/D,=LU2EHA/D, - =LU2EIT/D,=LU2EJL/D,=LU2EK/D,=LU2ELT/D,=LU2EMQ/D,=LU2ENG/D,=LU2ERC/D,=LU2FNH/D,=LU2HOD/D, - =LU2JFC/D,=LU2VDV/D,=LU2YF/D,=LU3AAL/D,=LU3ADC/D,=LU3AJL/D,=LU3AOI/D,=LU3ARE/D,=LU3ARM/D, - =LU3AYE/D,=LU3CA/D,=LU3CM/D,=LU3CRA/D,=LU3CT/D,=LU3DAT/D,=LU3DAT/E,=LU3DC/D,=LU3DFD/D,=LU3DH/D, - =LU3DJI/D,=LU3DK/D,=LU3DLF/D,=LU3DMZ/D,=LU3DO/D,=LU3DOC/D,=LU3DP/D,=LU3DPH/D,=LU3DQJ/D,=LU3DR/D, - =LU3DRP/D,=LU3DXG/D,=LU3DXI/D,=LU3DY/D,=LU3DYN/D,=LU3DZO/D,=LU3EBS/D,=LU3ED/D,=LU3EDU/D,=LU3EJ/L, - =LU3EJD/D,=LU3ELR/D,=LU3EMB/D,=LU3EOU/D,=LU3EP/D,=LU3ERU/D,=LU3ES/D,=LU3ESY/D,=LU3EZA/D,=LU3HKA/D, - =LU4AA/D,=LU4AAO/D,=LU4AAO/E,=LU4AJC/D,=LU4BAN/D,=LU4BR/D,=LU4CMF/D,=LU4DBL/D,=LU4DBP/D,=LU4DBT/D, + =LU1DS/D,=LU1DSO/D,=LU1DU/D,=LU1DVE/D,=LU1DYP/D,=LU1DZ/D,=LU1DZ/E,=LU1DZR/D,=LU1EEE/D,=LU1EEZ/D, + =LU1EFF/D,=LU1EJ/LH,=LU1EJ/YL,=LU1ELP/D,=LU1EPC/D,=LU1EPF/D,=LU1EQ/D,=LU1EQU/D,=LU1ERA/D, + =LU1EST/D,=LU1EUU/D,=LU1EXU/D,=LU1EY/D,=LU1HBD/D,=LU1HLH/D,=LU1KCQ/D,=LU1UAG/D,=LU1VDF/D, + =LU1VOF/D,=LU1XWC/E,=LU1XZ/D,=LU1YY/D,=LU2AAS/D,=LU2AEZ/D,=LU2AFE/D,=LU2AGQ/D,=LU2AHB/D,=LU2ALE/D, + =LU2AMM/D,=LU2AVG/D,=LU2AVW/D,=LU2BN/D,=LU2BOE/D,=LU2BPM/D,=LU2CDE/D,=LU2CDO/D,=LU2CHP/D,=LU2CM/D, + =LU2DAR/D,=LU2DB/D,=LU2DG/D,=LU2DHM/D,=LU2DJC/D,=LU2DJL/D,=LU2DKN/D,=LU2DPW/D,=LU2DRT/D,=LU2DT/D, + =LU2DT/D/LH,=LU2DT/LGT,=LU2DT/LH,=LU2DVF/D,=LU2ED/D,=LU2EDC/D,=LU2EE/D,=LU2EE/E,=LU2EGA/D, + =LU2EGI/D,=LU2EGP/D,=LU2EHA/D,=LU2EIT/D,=LU2EJL/D,=LU2EK/D,=LU2ELT/D,=LU2EMQ/D,=LU2ENG/D, + =LU2ENH/D,=LU2ERC/D,=LU2FGD/D,=LU2FNH/D,=LU2HOD/D,=LU2JFC/D,=LU2VDV/D,=LU2YF/D,=LU3AAL/D, + =LU3ADC/D,=LU3AJL/D,=LU3AOI/D,=LU3ARE/D,=LU3ARM/D,=LU3AYE/D,=LU3CA/D,=LU3CM/D,=LU3CRA/D,=LU3CT/D, + =LU3DAT/D,=LU3DAT/E,=LU3DC/D,=LU3DEY/D,=LU3DFD/D,=LU3DH/D,=LU3DHF/D,=LU3DJI/D,=LU3DK/D,=LU3DLF/D, + =LU3DMZ/D,=LU3DO/D,=LU3DOC/D,=LU3DP/D,=LU3DPH/D,=LU3DQJ/D,=LU3DR/D,=LU3DRP/D,=LU3DXG/D,=LU3DXI/D, + =LU3DY/D,=LU3DYN/D,=LU3DZO/D,=LU3EBS/D,=LU3ED/D,=LU3EDU/D,=LU3EJ/L,=LU3EJD/D,=LU3ELR/D,=LU3EMB/D, + =LU3EOU/D,=LU3EP/D,=LU3ERU/D,=LU3ES/D,=LU3ESY/D,=LU3EZA/D,=LU3FCI/D,=LU3HKA/D,=LU4AA/D,=LU4AAO/D, + =LU4AAO/E,=LU4ACA/D,=LU4AJC/D,=LU4BAN/D,=LU4BR/D,=LU4CMF/D,=LU4DBL/D,=LU4DBP/D,=LU4DBT/D, =LU4DBV/D,=LU4DCE/D,=LU4DCY/D,=LU4DGC/D,=LU4DHA/D,=LU4DHC/D,=LU4DHE/D,=LU4DIS/D,=LU4DK/D, - =LU4DLL/D,=LU4DLN/D,=LU4DMI/D,=LU4DPB/D,=LU4DQ/D,=LU4DRC/D,=LU4DRH/D,=LU4DRH/E,=LU4DVD/D, - =LU4EAE/D,=LU4EET/D,=LU4EGP/D,=LU4EHP/D,=LU4EJ/D,=LU4EL/D,=LU4ELE/D,=LU4EOU/D,=LU4ERS/D,=LU4ESP/D, - =LU4ETD/D,=LU4ETN/D,=LU4EV/D,=LU4HSA/D,=LU4HTD/D,=LU4MA/D,=LU4UWZ/D,=LU4UZW/D,=LU4VEN/D,=LU4WAP/D, - =LU5AHN/D,=LU5ALS/D,=LU5AM/D,=LU5ANL/D,=LU5AQV/D,=LU5ARS/D,=LU5ASA/D,=LU5AVD/D,=LU5BDS/D,=LU5BE/D, - =LU5BTL/D,=LU5CBA/D,=LU5CRE/D,=LU5DA/D,=LU5DA/E,=LU5DAS/D,=LU5DCO/D,=LU5DDH/D,=LU5DEM/D,=LU5DF/D, - =LU5DFR/D,=LU5DGG/D,=LU5DHE/D,=LU5DIT/D,=LU5DJE/D,=LU5DKE/D,=LU5DLH/D,=LU5DLT/D,=LU5DLZ/D, - =LU5DMI/D,=LU5DMP/D,=LU5DMR/D,=LU5DQ/D,=LU5DRV/D,=LU5DSM/D,=LU5DT/D,=LU5DTB/D,=LU5DTF/D,=LU5DUC/D, - =LU5DVB/D,=LU5DWS/D,=LU5DYT/D,=LU5EAO/D,=LU5EC/D,=LU5ED/D,=LU5EDS/D,=LU5EH/D,=LU5EHC/D,=LU5EJL/D, - =LU5EM/D,=LU5EW/D,=LU5FZ/D,=LU5FZ/E,=LU5JAH/D,=LU5JIB/D,=LU5OD/D,=LU5VAS/D,=LU5VAT/D,=LU5XP/D, - =LU6AER/D,=LU6CN/D,=LU6DAX/D,=LU6DBL/D,=LU6DC/D,=LU6DDC/D,=LU6DG/D,=LU6DIE/D,=LU6DIO/D,=LU6DKT/D, - =LU6DL/D,=LU6DM/D,=LU6DRD/D,=LU6DRD/E,=LU6DRN/D,=LU6DRR/D,=LU6DSA/D,=LU6DTB/D,=LU6EC/D,=LU6EDC/D, - =LU6EE/D,=LU6EEG/D,=LU6EGO/D,=LU6EI/D,=LU6EJJ/D,=LU6EKL/D,=LU6ELP/D,=LU6EMM/D,=LU6ENA/D,=LU6EPE/D, - =LU6EPR/D,=LU6EPR/E,=LU6EU/D,=LU6EVD/D,=LU6EWR/D,=LU6EXD/D,=LU6HBB/D,=LU6JJ/D,=LU6UAL/D,=LU6UO/D, - =LU6UVI/D,=LU6XQ/D,=LU7AA/D,=LU7AC/D,=LU7ADC/D,=LU7ADN/D,=LU7ART/D,=LU7AVW/D,=LU7BSN/D,=LU7BTO/D, - =LU7BTO/E,=LU7CAW/D,=LU7CP/D,=LU7DAC/D,=LU7DAF/D,=LU7DAR/D,=LU7DBA/D,=LU7DBL/D,=LU7DCE/D, - =LU7DDC/D,=LU7DDO/D,=LU7DHG/D,=LU7DJH/D,=LU7DLN/D,=LU7DNM/D,=LU7DOT/D,=LU7DP/D,=LU7DR/D,=LU7DS/D, - =LU7DSC/D,=LU7DSS/D,=LU7DSU/D,=LU7DSY/D,=LU7DZL/D,=LU7DZL/E,=LU7DZV/D,=LU7ECZ/D,=LU7EGY/D, - =LU7EHL/D,=LU7EIA/D,=LU7EJC/D,=LU7ELY/D,=LU7EMA/D,=LU7ENP/D,=LU7EO/D,=LU7EPC/D,=LU7ETR/D, - =LU7HBL/D,=LU7HW/D,=LU7HZ/D,=LU7VCH/D,=LU8ABR/D,=LU8ACH/D,=LU8ADX/D,=LU8AE/D,=LU8ARI/D,=LU8ATM/D, - =LU8DAF/D,=LU8DCF/D,=LU8DCH/D,=LU8DCK/D,=LU8DCM/D,=LU8DIP/D,=LU8DIW/D,=LU8DJR/D,=LU8DLD/D, - =LU8DLT/D,=LU8DMD/D,=LU8DQ/D,=LU8DR/D,=LU8DRA/D,=LU8DRH/D,=LU8DRQ/D,=LU8DSJ/D,=LU8DTF/D,=LU8DUJ/D, - =LU8DVQ/D,=LU8DW/D,=LU8DWR/D,=LU8DX/D,=LU8DY/D,=LU8DZE/D,=LU8DZH/D,=LU8EAG/D,=LU8EAJ/D,=LU8EBJ/D, - =LU8EBJ/E,=LU8EBK/D,=LU8EBK/E,=LU8ECF/D,=LU8ECF/E,=LU8EEM/D,=LU8EFF/D,=LU8EGC/D,=LU8EGS/D, - =LU8EHQ/D,=LU8EHQ/E,=LU8EHS/D,=LU8EHV/D,=LU8EKC/D,=LU8EMC/D,=LU8ERH/D,=LU8ETC/D,=LU8EU/D, - =LU8EXJ/D,=LU8EXN/D,=LU8FAU/D,=LU8VCC/D,=LU8VER/D,=LU9ACJ/D,=LU9AEA/D,=LU9AOS/D,=LU9AUC/D, - =LU9BSA/D,=LU9CGN/D,=LU9CLH/D,=LU9DA/D,=LU9DAD/D,=LU9DB/D,=LU9DE/D,=LU9DEQ/D,=LU9DF/D,=LU9DGE/D, - =LU9DKO/D,=LU9DMG/D,=LU9DO/D,=LU9DPD/D,=LU9DPI/D,=LU9DPZ/E,=LU9DSD/D,=LU9DVO/D,=LU9EAG/D,=LU9EI/D, - =LU9EJM/D,=LU9EJS/E,=LU9EJZ/D,=LU9ENH/D,=LU9ESD/D,=LU9ESD/E,=LU9ESD/LH,=LU9EV/D,=LU9EV/E, - =LU9EV/LH,=LU9EY/D,=LU9EYE/D,=LU9EZX/D,=LU9HDR/D,=LU9HJV/D,=LU9HVR/D,=LU9USD/D,=LU9WM/D,=LV7E/D, - =LW1DAL/D,=LW1DDX/D,=LW1DE/D,=LW1DEN/D,=LW1DEW/D,=LW1DOG/D,=LW1DQQ/D,=LW1DVB/D,=LW1DXH/D, - =LW1DXP/D,=LW1ECE/D,=LW1ECO/D,=LW1ELI/D,=LW1EQI/D,=LW1EQZ/D,=LW1EVO/D,=LW1EXU/D,=LW2DAW/D, - =LW2DET/D,=LW2DJM/D,=LW2DNC/D,=LW2DOM/D,=LW2DSM/D,=LW2DX/E,=LW2DYA/D,=LW2ECK/D,=LW2ECM/D, - =LW2EFS/D,=LW2EHD/D,=LW2ENB/D,=LW2EQS/D,=LW2EUA/D,=LW3DAB/D,=LW3DBM/D,=LW3DC/D,=LW3DED/D, - =LW3DER/D,=LW3DFP/D,=LW3DG/D,=LW3DGC/D,=LW3DJC/D,=LW3DKC/D,=LW3DKC/E,=LW3DKO/D,=LW3DKO/E,=LW3DN/D, - =LW3DRW/D,=LW3DSR/D,=LW3DTD/D,=LW3EIH/D,=LW3EMP/D,=LW4DAF/D,=LW4DBM/D,=LW4DCV/D,=LW4DOR/D, + =LU4DLJ/D,=LU4DLL/D,=LU4DLN/D,=LU4DMI/D,=LU4DPB/D,=LU4DQ/D,=LU4DRC/D,=LU4DRH/D,=LU4DRH/E, + =LU4DVD/D,=LU4EAE/D,=LU4EET/D,=LU4EGP/D,=LU4EHP/D,=LU4EJ/D,=LU4EL/D,=LU4ELE/D,=LU4EOU/D,=LU4ERS/D, + =LU4ESP/D,=LU4ETD/D,=LU4ETN/D,=LU4EV/D,=LU4HSA/D,=LU4HTD/D,=LU4MA/D,=LU4UWZ/D,=LU4UZW/D,=LU4VEN/D, + =LU4VSD/D,=LU4WAP/D,=LU5AHN/D,=LU5ALS/D,=LU5AM/D,=LU5ANL/D,=LU5AQV/D,=LU5ARS/D,=LU5ASA/D, + =LU5AVD/D,=LU5BDS/D,=LU5BE/D,=LU5BTL/D,=LU5CBA/D,=LU5CRE/D,=LU5DA/D,=LU5DA/E,=LU5DAS/D,=LU5DCO/D, + =LU5DDH/D,=LU5DEM/D,=LU5DF/D,=LU5DFR/D,=LU5DFT/D,=LU5DGG/D,=LU5DGR/D,=LU5DHE/D,=LU5DIT/D, + =LU5DJE/D,=LU5DKE/D,=LU5DLH/D,=LU5DLT/D,=LU5DLZ/D,=LU5DMI/D,=LU5DMP/D,=LU5DMR/D,=LU5DQ/D, + =LU5DRV/D,=LU5DSH/D,=LU5DSM/D,=LU5DT/D,=LU5DTB/D,=LU5DTF/D,=LU5DUC/D,=LU5DVB/D,=LU5DWS/D, + =LU5DYT/D,=LU5EAO/D,=LU5EC/D,=LU5ED/D,=LU5EDS/D,=LU5EFG/D,=LU5EH/D,=LU5EHC/D,=LU5EJL/D,=LU5EM/D, + =LU5EP/D,=LU5EW/D,=LU5FZ/D,=LU5FZ/E,=LU5JAH/D,=LU5JIB/D,=LU5OD/D,=LU5VAS/D,=LU5VAT/D,=LU5XP/D, + =LU6AER/D,=LU6CN/D,=LU6DAX/D,=LU6DBL/D,=LU6DC/D,=LU6DCT/D,=LU6DDC/D,=LU6DG/D,=LU6DIE/D,=LU6DIO/D, + =LU6DKT/D,=LU6DL/D,=LU6DM/D,=LU6DRD/D,=LU6DRD/E,=LU6DRN/D,=LU6DRR/D,=LU6DSA/D,=LU6DTB/D,=LU6EAG/D, + =LU6EC/D,=LU6EDC/D,=LU6EE/D,=LU6EEG/D,=LU6EGO/D,=LU6EI/D,=LU6EJJ/D,=LU6EKL/D,=LU6ELP/D,=LU6EMM/D, + =LU6ENA/D,=LU6EPE/D,=LU6EPR/D,=LU6EPR/E,=LU6EQV/D,=LU6EU/D,=LU6EVD/D,=LU6EWR/D,=LU6EXD/D, + =LU6HBB/D,=LU6JJ/D,=LU6UAL/D,=LU6UO/D,=LU6UVI/D,=LU6XQ/D,=LU7AA/D,=LU7AC/D,=LU7ADC/D,=LU7ADN/D, + =LU7ART/D,=LU7AVW/D,=LU7BSN/D,=LU7BTO/D,=LU7BTO/E,=LU7CAW/D,=LU7CP/D,=LU7DAC/D,=LU7DAF/D, + =LU7DAR/D,=LU7DBA/D,=LU7DBL/D,=LU7DCE/D,=LU7DD/D,=LU7DDC/D,=LU7DDO/D,=LU7DHG/D,=LU7DJH/D, + =LU7DLN/D,=LU7DNM/D,=LU7DOT/D,=LU7DP/D,=LU7DR/D,=LU7DS/D,=LU7DSC/D,=LU7DSS/D,=LU7DSU/D,=LU7DSY/D, + =LU7DTC/D,=LU7DZL/D,=LU7DZL/E,=LU7DZV/D,=LU7ECZ/D,=LU7EGY/D,=LU7EHL/D,=LU7EIA/D,=LU7EJC/D, + =LU7ELY/D,=LU7EMA/D,=LU7EMM/D,=LU7ENP/D,=LU7EO/D,=LU7EON/D,=LU7EPC/D,=LU7ETR/D,=LU7HBL/D,=LU7HW/D, + =LU7HZ/D,=LU7VCH/D,=LU8ABR/D,=LU8ACH/D,=LU8ADX/D,=LU8AE/D,=LU8ARI/D,=LU8ATM/D,=LU8DAF/D,=LU8DCF/D, + =LU8DCH/D,=LU8DCK/D,=LU8DCM/D,=LU8DIP/D,=LU8DIW/D,=LU8DJR/D,=LU8DLD/D,=LU8DLT/D,=LU8DMD/D, + =LU8DQ/D,=LU8DR/D,=LU8DRA/D,=LU8DRH/D,=LU8DRQ/D,=LU8DSJ/D,=LU8DTF/D,=LU8DUJ/D,=LU8DVQ/D,=LU8DW/D, + =LU8DWR/D,=LU8DX/D,=LU8DY/D,=LU8DZE/D,=LU8DZH/D,=LU8EAG/D,=LU8EAJ/D,=LU8EBJ/D,=LU8EBJ/E,=LU8EBK/D, + =LU8EBK/E,=LU8EC/D,=LU8ECF/D,=LU8ECF/E,=LU8EEM/D,=LU8EFF/D,=LU8EGC/D,=LU8EGS/D,=LU8EHQ/D, + =LU8EHQ/E,=LU8EHS/D,=LU8EHV/D,=LU8EKC/D,=LU8EMC/D,=LU8ERH/D,=LU8ETC/D,=LU8EU/D,=LU8EXJ/D, + =LU8EXN/D,=LU8FAU/D,=LU8VCC/D,=LU8VER/D,=LU9ACJ/D,=LU9AEA/D,=LU9AOS/D,=LU9AUC/D,=LU9BRC/D, + =LU9BSA/D,=LU9CGN/D,=LU9CLH/D,=LU9DA/D,=LU9DAA/D,=LU9DAD/D,=LU9DB/D,=LU9DE/D,=LU9DEQ/D,=LU9DF/D, + =LU9DGE/D,=LU9DKO/D,=LU9DMG/D,=LU9DO/D,=LU9DPD/D,=LU9DPI/D,=LU9DPZ/E,=LU9DSD/D,=LU9DVO/D, + =LU9EAG/D,=LU9EI/D,=LU9EIM/D,=LU9EJM/D,=LU9EJS/E,=LU9EJZ/D,=LU9ENH/D,=LU9EOE/D,=LU9ERA/D, + =LU9ESD/D,=LU9ESD/E,=LU9ESD/LH,=LU9EV/D,=LU9EV/E,=LU9EV/LH,=LU9EY/D,=LU9EYE/D,=LU9EZX/D,=LU9HDR/D, + =LU9HJV/D,=LU9HVR/D,=LU9USD/D,=LU9WM/D,=LV7E/D,=LW1DAL/D,=LW1DDX/D,=LW1DE/D,=LW1DEN/D,=LW1DEW/D, + =LW1DJ/D,=LW1DOG/D,=LW1DQQ/D,=LW1DVB/D,=LW1DXH/D,=LW1DXP/D,=LW1DYN/D,=LW1DYP/D,=LW1ECE/D, + =LW1ECO/D,=LW1ELI/D,=LW1EQI/D,=LW1EQZ/D,=LW1EVO/D,=LW1EXU/D,=LW2DAW/D,=LW2DET/D,=LW2DJM/D, + =LW2DNC/D,=LW2DOM/D,=LW2DSM/D,=LW2DX/E,=LW2DYA/D,=LW2ECK/D,=LW2ECM/D,=LW2EFS/D,=LW2EHD/D, + =LW2ENB/D,=LW2EQS/D,=LW2EUA/D,=LW3DAB/D,=LW3DBM/D,=LW3DC/D,=LW3DED/D,=LW3DER/D,=LW3DFP/D,=LW3DG/D, + =LW3DGC/D,=LW3DJC/D,=LW3DKC/D,=LW3DKC/E,=LW3DKO/D,=LW3DKO/E,=LW3DN/D,=LW3DRW/D,=LW3DSR/D, + =LW3DTD/D,=LW3EIH/D,=LW3EMP/D,=LW4DAF/D,=LW4DBE/D,=LW4DBM/D,=LW4DCV/D,=LW4DKI/D,=LW4DOR/D, =LW4DRH/D,=LW4DRH/E,=LW4DRV/D,=LW4DTM/D,=LW4DTR/D,=LW4DWV/D,=LW4DXH/D,=LW4ECV/D,=LW4EIN/D, =LW4EM/D,=LW4EM/E,=LW4EM/LH,=LW4ERO/D,=LW4ESY/D,=LW4ETG/D,=LW4EZT/D,=LW4HCL/D,=LW5DAD/D,=LW5DD/D, - =LW5DFR/D,=LW5DIE/D,=LW5DLY/D,=LW5DNN/D,=LW5DOG/D,=LW5DR/D,=LW5DR/LH,=LW5DUS/D,=LW5DWX/D,=LW5EE/D, - =LW5EO/D,=LW5EOL/D,=LW6DLS/D,=LW6DTM/D,=LW6DW/D,=LW6EAK/D,=LW6EEA/D,=LW6EFR/D,=LW6EGE/D,=LW6EHD/D, - =LW6EXM/D,=LW7DAF/D,=LW7DAG/D,=LW7DAJ/D,=LW7DAR/D,=LW7DFD/D,=LW7DGT/D,=LW7DJ/D,=LW7DKB/D, - =LW7DLY/D,=LW7DNS/E,=LW7DPJ/D,=LW7DVC/D,=LW7DWX/D,=LW7ECZ/D,=LW7EDH/D,=LW7EJV/D,=LW7ELR/D, - =LW7EOJ/D,=LW7HA/D,=LW8DAL/D,=LW8DCM/D,=LW8DIP/D,=LW8DMC/D,=LW8DMK/D,=LW8DPZ/E,=LW8EAG/D, - =LW8ECQ/D,=LW8EFR/D,=LW8EJ/D,=LW8ELR/D,=LW8EU/D,=LW8EVB/D,=LW8EXF/D,=LW9DAD/D,=LW9DAE/D,=LW9DIH/D, - =LW9DMM/D,=LW9DRD/D,=LW9DRT/D,=LW9DSP/D,=LW9DTP/D,=LW9DTQ/D,=LW9DTR/D,=LW9DX/D,=LW9EAG/D, - =LW9ECR/D,=LW9EGQ/D,=LW9EUU/D,=LW9EVA/D,=LW9EVA/E,=LW9EVE/D,=LW9EZV/D,=LW9EZW/D,=LW9EZX/D, - =LW9EZY/D, - =LS4AA/F,=LU1FFF/F,=LU1FHE/F,=LU1FMC/F,=LU1FSE/F,=LU1FVG/F,=LU2FDA/F,=LU2FGD/F,=LU2FLB/F, + =LW5DFR/D,=LW5DHG/D,=LW5DIE/D,=LW5DLY/D,=LW5DNN/D,=LW5DOG/D,=LW5DQ/D,=LW5DR/D,=LW5DR/LH,=LW5DTQ/D, + =LW5DUS/D,=LW5DWX/D,=LW5EE/D,=LW5EO/D,=LW5EOL/D,=LW6DLS/D,=LW6DTM/D,=LW6DW/D,=LW6DYZ/D,=LW6EAK/D, + =LW6EEA/D,=LW6EFR/D,=LW6EGE/D,=LW6EHD/D,=LW6EXM/D,=LW7DAF/D,=LW7DAG/D,=LW7DAJ/D,=LW7DAR/D, + =LW7DFD/D,=LW7DGT/D,=LW7DJ/D,=LW7DKB/D,=LW7DLY/D,=LW7DNS/E,=LW7DPJ/D,=LW7DVC/D,=LW7DWX/D, + =LW7ECZ/D,=LW7EDH/D,=LW7EJV/D,=LW7ELR/D,=LW7EOJ/D,=LW7HA/D,=LW8DAL/D,=LW8DCM/D,=LW8DIP/D, + =LW8DMC/D,=LW8DMK/D,=LW8DPZ/E,=LW8DYT/D,=LW8EAG/D,=LW8ECQ/D,=LW8EFR/D,=LW8EJ/D,=LW8ELR/D,=LW8EU/D, + =LW8EVB/D,=LW8EXF/D,=LW9DAD/D,=LW9DAE/D,=LW9DIH/D,=LW9DMM/D,=LW9DRD/D,=LW9DRT/D,=LW9DSP/D, + =LW9DTP/D,=LW9DTQ/D,=LW9DTR/D,=LW9DX/D,=LW9EAG/D,=LW9ECR/D,=LW9EGQ/D,=LW9ENF/D,=LW9ESY/D, + =LW9EUE/D,=LW9EUU/D,=LW9EVA/D,=LW9EVA/E,=LW9EVE/D,=LW9EZV/D,=LW9EZW/D,=LW9EZX/D,=LW9EZY/D, + =LS4AA/F,=LT2F/F,=LU1FFF/F,=LU1FHE/F,=LU1FMC/F,=LU1FSE/F,=LU1FVG/F,=LU2FDA/F,=LU2FGD/F,=LU2FLB/F, =LU2FNA/F,=LU2FP/F,=LU3FCI/F,=LU3FLG/F,=LU3FV/F,=LU3FVH/F,=LU4AA/F,=LU4ETN/F,=LU4FKS/F,=LU4FM/F, =LU4FNO/F,=LU4FNP/F,=LU4FOO/F,=LU4HOD/F,=LU5ASA/F,=LU5FB/F,=LU5FBM/F,=LU5FES/F,=LU5FHD/F,=LU5FJ/F, =LU5FJO/F,=LU5FYX/F,=LU5FZ/F,=LU6FE/F,=LU6FHO/F,=LU6FLZ/F,=LU7FAS/F,=LU7FCU/F,=LU7FFF/F,=LU7FIA/F, =LU7FJ/F,=LU7FJF/F,=LU7FM/F,=LU7FOE/F,=LU7FRE/F,=LU7FYX/F,=LU7HBL/F,=LU8FAB/F,=LU8FC/F,=LU8FGB/F, =LU8FMA/F,=LU8SAN/F,=LU9EI/F,=LU9ESD/F,=LU9FQR/F,=LU9RBI/F, =LU1ACG/GP,=LU1GQQ/GP,=LU3AAL/GR,=LU4FM/G,=LU4FM/GP,=LU4GF/GA,=LU4GO/GA,=LU5BE/GR,=LU5FZ/GA, - =LU8EFF/GR,=LU9GRE/GP, + =LU8EFF/GR,=LU9GOX/GA,=LU9GOY/GA,=LU9GRE/GP, =LS4AA/H,=LU1EZ/H,=LU1HBD/H,=LU1HCG/H,=LU1HCP/H,=LU1HH/H,=LU1HK/H,=LU1HLH/H,=LU1HPW/H,=LU1HYW/H, - =LU1XZ/H,=LU2DVI/H,=LU2HAE/H,=LU2HC/H,=LU2HEA/H,=LU2HEQ/H,=LU2HJ/H,=LU2HNV/H,=LU2MAA/H,=LU3AJL/H, - =LU3FCR/H,=LU3FN/H,=LU3HAT/H,=LU3HAZ/H,=LU3HE/H,=LU3HKA/H,=LU3HL/H,=LU3HPW/H,=LU3HU/H,=LU3HZK/H, - =LU4AA/H,=LU4ETN/H,=LU4FM/H,=LU4HK/H,=LU4HSA/H,=LU4HSA/LGH,=LU4HTD/H,=LU4MA/H,=LU5DGG/H,=LU5DX/H, - =LU5DZ/H,=LU5HA/H,=LU5HAZ/H,=LU5HCB/H,=LU5HCW/H,=LU5HFW/H,=LU5HGR/H,=LU5HIO/H,=LU5HR/H,=LU5HTA/H, - =LU5WTE/H,=LU6FE/H,=LU6HAS/H,=LU6HBB/H,=LU6HCA/H,=LU6HGH/H,=LU6HQH/H,=LU6HTR/H,=LU6XQ/H,=LU7DZ/H, - =LU7FBG/H,=LU7HA/H,=LU7HBC/H,=LU7HBL/H,=LU7HBV/H,=LU7HCS/H,=LU7HEO/H,=LU7HOM/H,=LU7HOS/H, - =LU7HSG/H,=LU7HW/H,=LU7HWB/H,=LU7HZ/H,=LU8FF/H,=LU8HAR/H,=LU8HBX/H,=LU8HOR/H,=LU9BSA/H,=LU9DPD/H, - =LU9ERA/H,=LU9HCF/H,=LU9HJV/H,=LU9HVR/H,=LW1HBD/H,=LW1HCM/H,=LW1HDI/H,=LW2EIY/H,=LW3HBS/H, - =LW3HOH/H,=LW4HCL/H,=LW4HTA/H,=LW4HTD/H,=LW6ENV/H,=LW6HAM/H,=LW7EIY/H,=LW7HA/H,=LW9HCF/H, - =LU1IAL/I,=LU1IBM/I,=LU1IG/I,=LU2IP/I,=LU5IAL/I,=LU5IAO/I,=LU5ILA/I,=LU7IEI/I,=LU7IPI/I,=LU7ITR/I, - =LU7IUE/I,=LU8IEZ/I,=LU9IBJ/I, + =LU1XZ/H,=LU2DVI/H,=LU2HAE/H,=LU2HC/H,=LU2HCG/H,=LU2HEA/H,=LU2HEQ/H,=LU2HJ/H,=LU2HNV/H,=LU2MAA/H, + =LU3AJL/H,=LU3FCR/H,=LU3FN/H,=LU3HAT/H,=LU3HAZ/H,=LU3HE/H,=LU3HKA/H,=LU3HL/H,=LU3HPW/H,=LU3HU/H, + =LU3HZK/H,=LU4AA/H,=LU4ETN/H,=LU4FM/H,=LU4HAP/H,=LU4HK/H,=LU4HOQ/H,=LU4HSA/H,=LU4HSA/LGH, + =LU4HTD/H,=LU4MA/H,=LU5DGG/H,=LU5DX/H,=LU5DZ/H,=LU5HA/H,=LU5HAZ/H,=LU5HCB/H,=LU5HCW/H,=LU5HFW/H, + =LU5HGR/H,=LU5HIO/H,=LU5HR/H,=LU5HTA/H,=LU5WTE/H,=LU5YUS/H,=LU6FE/H,=LU6HAS/H,=LU6HBB/H,=LU6HCA/H, + =LU6HGH/H,=LU6HQH/H,=LU6HTR/H,=LU6XQ/H,=LU7DZ/H,=LU7FBG/H,=LU7FTF/H,=LU7HA/H,=LU7HBC/H,=LU7HBL/H, + =LU7HBV/H,=LU7HCS/H,=LU7HEO/H,=LU7HOM/H,=LU7HOS/H,=LU7HSG/H,=LU7HW/H,=LU7HWB/H,=LU7HZ/H,=LU8FF/H, + =LU8HAR/H,=LU8HBX/H,=LU8HJ/H,=LU8HOR/H,=LU9BSA/H,=LU9DPD/H,=LU9ERA/H,=LU9HCF/H,=LU9HJV/H, + =LU9HVR/H,=LW1HBD/H,=LW1HCM/H,=LW1HDI/H,=LW2EIY/H,=LW3HBS/H,=LW3HOH/H,=LW4HCL/H,=LW4HTA/H, + =LW4HTD/H,=LW6ENV/H,=LW6HAM/H,=LW7EIY/H,=LW7HA/H,=LW9HCF/H, + =LU1IAL/I,=LU1IBM/I,=LU1IG/I,=LU1II/I,=LU2IP/I,=LU5IAL/I,=LU5IAO/I,=LU5ILA/I,=LU7IEI/I,=LU7IPI/I, + =LU7ITR/I,=LU7IUE/I,=LU8IEZ/I,=LU9IBJ/I, =LU1JAO/J,=LU1JAR/J,=LU1JCE/J,=LU1JCO/J,=LU1JEF/J,=LU1JEO/J,=LU1JES/J,=LU1JHF/J,=LU1JHP/J, =LU1JKN/J,=LU1JMA/J,=LU1JMV/J,=LU1JN/J,=LU1JP/J,=LU1JPC/J,=LU2DJB/J,=LU2FQ/J,=LU2JCI/J,=LU2JLC/J, =LU2JNV/J,=LU2JPE/J,=LU2JS/J,=LU3DYN/J,=LU3JFB/J,=LU3JVO/J,=LU4AA/J,=LU4FM/J,=LU4JEA/J,=LU4JHF/J, - =LU4JJ/J,=LU4JLX/J,=LU4JMO/J,=LU5JAH/J,=LU5JB/J,=LU5JCL/J,=LU5JLA/J,=LU5JLX/J,=LU5JNC/J,=LU5JOL/J, - =LU5JU/J,=LU5JZZ/J,=LU6JAF/J,=LU6JRA/J,=LU7DAC/J,=LU7JI/J,=LU7JLB/J,=LU7JMS/J,=LU7JR/J,=LU7JRM/J, - =LU8JOP/J,=LU9JLV/J,=LU9JMG/J,=LU9JPR/J,=LU9YB/J,=LW2DRJ/J,=LW3EMP/J, + =LU4JJ/J,=LU4JLX/J,=LU4JMO/J,=LU5JAH/J,=LU5JB/J,=LU5JCL/J,=LU5JI/J,=LU5JJF/J,=LU5JKI/J,=LU5JLA/J, + =LU5JLX/J,=LU5JNC/J,=LU5JOL/J,=LU5JU/J,=LU5JZZ/J,=LU6JAF/J,=LU6JRA/J,=LU7DAC/J,=LU7JI/J,=LU7JLB/J, + =LU7JMS/J,=LU7JR/J,=LU7JRM/J,=LU8JOP/J,=LU9JLV/J,=LU9JMG/J,=LU9JPR/J,=LU9YB/J,=LW2DRJ/J,=LW3EMP/J, =LU1KWC/K,=LU2KLC/K,=LU4KC/K,=LU5OM/K,=LU6KAQ/K,=LU7KHB/K,=LU7KT/K,=LU8KE/K,=LW1EVO/K,=LW3DFP/K, =LU1AAS/L,=LU1DZ/L,=LU1LAA/L,=LU1LT/L,=LU1LTL/L,=LU2LDB/L,=LU3AYE/L,=LU4AGC/L,=LU4EFC/L,=LU4LAD/L, - =LU4LBU/L,=LU4LMA/L,=LU5ILA/L,=LU5LAE/L,=LU5LBV/L,=LU8IEZ/L,=LU8LFV/L,=LU9LEW/L,=LU9LZY/L, - =LU9LZZ/L,=LU9XPA/L,=LW3EMP/L,=LW8DTO/L, + =LU4LBU/L,=LU4LMA/L,=LU5ILA/L,=LU5LAE/L,=LU5LBV/L,=LU6JRA/L,=LU8IEZ/L,=LU8LFV/L,=LU9JX/L, + =LU9LEW/L,=LU9LZY/L,=LU9LZZ/L,=LU9XPA/L,=LW3EMP/L,=LW8DTO/L, =LU3PCJ/MA,=LW4DBE/MA, =LU2DSV/N,=LU3AAL/N,=LU5BE/N,=LU8EFF/N,=LW5DR/N, =LU1HZY/O,=LU1XS/O,=LU2HON/O,=LU3HL/O,=LU4AA/O,=LU5BOJ/O,=LU5OD/O,=LU6FEC/O,=LU6HWT/O,=LU8OAH/O, @@ -1790,8 +1810,8 @@ Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU: =LU5QAJ/Q,=LU5QR/Q,=LU6HBB/Q,=LU6QAN/Q,=LU6QB/Q,=LU6QER/Q,=LU6QI/Q,=LU6UO/Q,=LU7CG/Q,=LU7DJH/Q, =LU7FCL/Q,=LU7QBE/Q,=LU7QN/Q,=LU8DCH/Q,=LU8QRD/Q,=LU8WFT/Q,=LU9QAW/Q,=LU9QRV/Q,=LW2DX/Q, =LU/DH4PB/S,=LU1DZ/S,=LU1SF/S,=LU6UO/S,=LW2DX/S, - =LU1UM/U,=LU1UP/U,=LU3DAB/U,=LU3UU/U,=LU4UWZ/U,=LU5UBI/YL,=LU5UEA/U,=LU5UFM/U,=LU6UBM/U,=LU6UO/U, - =LU7AA/U,=LU8UU/U,=LU9MHH/U, + =LU1UG/U,=LU1UM/U,=LU1UP/U,=LU3DAB/U,=LU3UU/U,=LU4UWZ/U,=LU5UBI/YL,=LU5UEA/U,=LU5UFM/U,=LU6UBM/U, + =LU6UO/U,=LU7AA/U,=LU7VB/U,=LU8UU/U,=LU9MHH/U, AY0V[16],AY1V[16],AY2V[16],AY3V[16],AY4V[16],AY5V[16],AY6V[16],AY7V[16],AY8V[16],AY9V[16], AZ0V[16],AZ1V[16],AZ2V[16],AZ3V[16],AZ4V[16],AZ5V[16],AZ6V[16],AZ7V[16],AZ8V[16],AZ9V[16], L20V[16],L21V[16],L22V[16],L23V[16],L24V[16],L25V[16],L26V[16],L27V[16],L28V[16],L29V[16], @@ -1812,19 +1832,19 @@ Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU: LV0V[16],LV1V[16],LV2V[16],LV3V[16],LV4V[16],LV5V[16],LV6V[16],LV7V[16],LV8V[16],LV9V[16], LW0V[16],LW1V[16],LW2V[16],LW3V[16],LW4V[16],LW5V[16],LW6V[16],LW7V[16],LW8V[16],LW9V[16], =L30EY/V[16],=LU1EDX/V[16],=LU1QR/V[16],=LU1VBC/V[16],=LU1VCK/V[16],=LU1VDF/V[16],=LU1VEG/V[16], - =LU1VFP/V[16],=LU1VOF/LH[16],=LU1VOF/V[16],=LU1VPH/V[16],=LU1WJV/V[16],=LU1WJY/V[16],=LU1YY/V[16], - =LU2DB/V[16],=LU2VA/V[16],=LU2VCD/V[16],=LU2VCR/V[16],=LU2VCS/V[16],=LU2VDV/V[16],=LU2VJU/V[16], - =LU3AIY/V[16],=LU3DC/V[16],=LU3DR/V[16],=LU3ES/V[16],=LU3VAL/V[16],=LU3VE/V[16],=LU3VHE/V[16], - =LU3VMB/V[16],=LU3VSM/V[16],=LU3XQN/V[16],=LU4AA/V[16],=LU4DBP/V[16],=LU4DBT/V[16],=LU4DDL/V[16], - =LU4EHP/V[16],=LU4EJS/V[16],=LU4VAU/V[16],=LU4VBW/V[16],=LU4VDG/V[16],=LU4VEN/V[16],=LU4VMB/V[16], - =LU4VMG/V[16],=LU4VV/V[16],=LU4WSM/W[16],=LU5AJX/V[16],=LU5BDS/V[16],=LU5DEM/V[16],=LU5DIT/V[16], - =LU5DRV/V[16],=LU5FYX/V[16],=LU5VAI/V[16],=LU5VAS/V[16],=LU5VAT/V[16],=LU5VFL/V[16],=LU5VIE/V[16], - =LU5VLB/V[16],=LU5YF/V[16],=LU6DAI/V[16],=LU6DBL/V[16],=LU6DKT/V[16],=LU6DO/V[16],=LU6VA/V[16], - =LU6VAC/V[16],=LU6VDT/V[16],=LU6VEO/V[16],=LU6VFL/V[16],=LU6VM/V[16],=LU6VR/V[16],=LU7DSY/V[16], - =LU7DW/V[16],=LU7EGH/V[16],=LU7EHL/V[16],=LU7VBT/V[16],=LU7VFG/V[16],=LU7YZ/V[16],=LU8BV/V[16], - =LU8DWR/V[16],=LU8EB/M/V[16],=LU8EHQ/V[16],=LU8VCC/V[16],=LU8VER/V[16],=LU9AEA/V[16],=LU9DR/V[16], - =LU9ESD/V[16],=LU9EY/V[16],=LU9VEA/V[16],=LUVES/V[16],=LW1ECO/V[16],=LW2DVM/V[16],=LW5EE/V[16], - =LW6EQQ/V[16],=LW9EAG/V[16], + =LU1VFP/V[16],=LU1VOF/LH[16],=LU1VOF/V[16],=LU1VPH/V[16],=LU1VZ/V[16],=LU1WJV/V[16],=LU1WJY/V[16], + =LU1YY/V[16],=LU2DB/V[16],=LU2VA/V[16],=LU2VCD/V[16],=LU2VCR/V[16],=LU2VCS/V[16],=LU2VDV/V[16], + =LU2VJU/V[16],=LU3AIY/V[16],=LU3DC/V[16],=LU3DR/V[16],=LU3ES/V[16],=LU3VAL/V[16],=LU3VE/V[16], + =LU3VHE/V[16],=LU3VMB/V[16],=LU3VSE/V[16],=LU3VSM/V[16],=LU3XQN/V[16],=LU4AA/V[16],=LU4DBP/V[16], + =LU4DBT/V[16],=LU4DDL/V[16],=LU4EHP/V[16],=LU4EJS/V[16],=LU4VAU/V[16],=LU4VBW/V[16],=LU4VDG/V[16], + =LU4VEN/V[16],=LU4VMB/V[16],=LU4VMG/V[16],=LU4VV/V[16],=LU4WSM/W[16],=LU5AJX/V[16],=LU5BDS/V[16], + =LU5DEM/V[16],=LU5DIT/V[16],=LU5DRV/V[16],=LU5FYX/V[16],=LU5VAI/V[16],=LU5VAS/V[16],=LU5VAT/V[16], + =LU5VFL/V[16],=LU5VIE/V[16],=LU5VLB/V[16],=LU5YBR/V[16],=LU5YF/V[16],=LU6DAI/V[16],=LU6DBL/V[16], + =LU6DKT/V[16],=LU6DO/V[16],=LU6VA/V[16],=LU6VAC/V[16],=LU6VDT/V[16],=LU6VEO/V[16],=LU6VFL/V[16], + =LU6VM/V[16],=LU6VR/V[16],=LU7DSY/V[16],=LU7DW/V[16],=LU7EGH/V[16],=LU7EHL/V[16],=LU7VBT/V[16], + =LU7VFG/V[16],=LU7YZ/V[16],=LU8BV/V[16],=LU8DWR/V[16],=LU8EB/M/V[16],=LU8EHQ/V[16],=LU8VCC/V[16], + =LU8VER/V[16],=LU9AEA/V[16],=LU9DR/V[16],=LU9ESD/V[16],=LU9EY/V[16],=LU9VEA/V[16],=LUVES/V[16], + =LW1ECO/V[16],=LW2DVM/V[16],=LW2DYA/V[16],=LW5EE/V[16],=LW6EQQ/V[16],=LW9EAG/V[16], AY0W[16],AY1W[16],AY2W[16],AY3W[16],AY4W[16],AY5W[16],AY6W[16],AY7W[16],AY8W[16],AY9W[16], AZ0W[16],AZ1W[16],AZ2W[16],AZ3W[16],AZ4W[16],AZ5W[16],AZ6W[16],AZ7W[16],AZ8W[16],AZ9W[16], L20W[16],L21W[16],L22W[16],L23W[16],L24W[16],L25W[16],L26W[16],L27W[16],L28W[16],L29W[16], @@ -1879,14 +1899,13 @@ Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU: =LU1DNC/X[16],=LU1DZ/X[16],=LU1XA/XA[16],=LU1XAW/X[16],=LU1XB/X[16],=LU1XB/XA[16],=LU1XBR/XA[16], =LU1XP/XP[16],=LU1XPD/XP[16],=LU1XY/X[16],=LU1YY/XA[16],=LU1ZA/XA[16],=LU2CRM/XA[16], =LU2CRM/XB[16],=LU2WA/XA[16],=LU2XBI/XA[16],=LU2XBI/XB[16],=LU2XWL/XP[16],=LU2XX/X[16], - =LU2XX/XA[16],=LU2XX/XP[16],=LU3DVN/X[16],=LU3DVN/XP[16],=LU3XAP/XA[16],=LU3XEI/X[16], - =LU3XEI/XA[16],=LU3XEM/X[16],=LU3XUC/XP[16],=LU3XUJ/XP[16],=LU3XYL/XP[16],=LU4DBT/XA[16], - =LU4XEG/XA[16],=LU4XPE/XP[16],=LU5BE/XA[16],=LU5BE/XC[16],=LU5DF/X[16],=LU5EMB/X[16], - =LU5HJC/X[16],=LU5HJC/XP[16],=LU5HJK/XP[16],=LU5XC/X[16],=LU5XP/X[16],=LU5XWA/XP[16], - =LU6EE/XA[16],=LU6XAH/X[16],=LU7DSY/XA[16],=LU7EUI/XP[16],=LU7XDY/X[16],=LU7XDY/XA[16], - =LU7XSC/XP[16],=LU8DLD/XA[16],=LU8DRA/XA[16],=LU8EOT/X[16],=LU8XBS/XA[16],=LU8XC/X[16], - =LU8XUU/XP[16],=LU8XW/X[16],=LU8XW/XP[16],=LU9DPD/XA[16],=LU9HUP/X[16],=LW3DKO/XA[16], - =LW3ET/XP[16], + =LU2XX/XA[16],=LU2XX/XP[16],=LU3DVN/X[16],=LU3DVN/XP[16],=LU3XEI/X[16],=LU3XEI/XA[16], + =LU3XEM/X[16],=LU3XUC/XP[16],=LU3XUJ/XP[16],=LU3XYL/XP[16],=LU4DBT/XA[16],=LU4XFN/XA[16], + =LU4XPE/XP[16],=LU5BE/XA[16],=LU5BE/XC[16],=LU5DF/X[16],=LU5EMB/X[16],=LU5HJC/X[16], + =LU5HJC/XP[16],=LU5HJK/XP[16],=LU5XC/X[16],=LU5XP/X[16],=LU5XWA/XP[16],=LU6EE/XA[16], + =LU6XAH/X[16],=LU7DSY/XA[16],=LU7EUI/XP[16],=LU7XDY/X[16],=LU7XDY/XA[16],=LU7XSC/XP[16], + =LU8DLD/XA[16],=LU8DRA/XA[16],=LU8EOT/X[16],=LU8XC/X[16],=LU8XUU/XP[16],=LU8XW/X[16], + =LU8XW/XP[16],=LU9DPD/XA[16],=LU9HUP/X[16],=LW3DKO/XA[16],=LW3ET/XP[16], AY0Y[16],AY1Y[16],AY2Y[16],AY3Y[16],AY4Y[16],AY5Y[16],AY6Y[16],AY7Y[16],AY8Y[16],AY9Y[16], AZ0Y[16],AZ1Y[16],AZ2Y[16],AZ3Y[16],AZ4Y[16],AZ5Y[16],AZ6Y[16],AZ7Y[16],AZ8Y[16],AZ9Y[16], L20Y[16],L21Y[16],L22Y[16],L23Y[16],L24Y[16],L25Y[16],L26Y[16],L27Y[16],L28Y[16],L29Y[16], @@ -1906,14 +1925,15 @@ Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU: LU0Y[16],LU1Y[16],LU2Y[16],LU3Y[16],LU4Y[16],LU5Y[16],LU6Y[16],LU7Y[16],LU8Y[16],LU9Y[16], LV0Y[16],LV1Y[16],LV2Y[16],LV3Y[16],LV4Y[16],LV5Y[16],LV6Y[16],LV7Y[16],LV8Y[16],LV9Y[16], LW0Y[16],LW1Y[16],LW2Y[16],LW3Y[16],LW4Y[16],LW5Y[16],LW6Y[16],LW7Y[16],LW8Y[16],LW9Y[16], - =LU1DZ/Y[16],=LU1YDC/Y[16],=LU1YY/Y[16],=LU2VA/Y[16],=LU2VDQ/Y[16],=LU3YEP/Y[16],=LU4AA/Y[16], - =LU4DRC/Y[16],=LU4YAB/Y[16],=LU4YAD/Y[16],=LU4YAL/Y[16],=LU5HLR/Y[16],=LU5YF/Y[16],=LU6VEO/Y[16], - =LU6VM/Y[16],=LU6YAB/Y[16],=LU6YBK/Y[16],=LU6YSG/Y[16],=LU7YCL/Y[16],=LU7YG/Y[16],=LU7YP/Y[16], - =LU8DQ/Y[16],=LU8DRA/Y[16],=LU8EOT/Y[16],=LU8IEZ/Y[16],=LU8YD/Y[16],=LU8YE/Y[16],=LU8YMP/Y[16], - =LU8YSF/Y[16],=LU9BSA/Y[16],=LU9ESD/Y[16],=LW1EXU/Y[16],=LW2DX/Y[16],=LW7DLY/Y[16],=LW7DQQ/Y[16], - =LW9DCF/Y[16]; + =LU1DZ/Y[16],=LU1YDC/Y[16],=LU1YY/Y[16],=LU2VA/Y[16],=LU2VDQ/Y[16],=LU2XAN/Y[16],=LU2YMG/Y[16], + =LU3XAP/XA[16],=LU3YEP/Y[16],=LU4AA/Y[16],=LU4DRC/Y[16],=LU4XAP/XA[16],=LU4XEG/XA[16], + =LU4YAB/Y[16],=LU4YAD/Y[16],=LU4YAL/Y[16],=LU5HLR/Y[16],=LU5YF/Y[16],=LU6VEO/Y[16],=LU6VM/Y[16], + =LU6YAB/Y[16],=LU6YBK/Y[16],=LU6YSG/Y[16],=LU7XBX/XA[16],=LU7YCL/Y[16],=LU7YG/Y[16],=LU7YP/Y[16], + =LU8DQ/Y[16],=LU8DRA/Y[16],=LU8EOT/Y[16],=LU8IEZ/Y[16],=LU8XBC/XA[16],=LU8XBS/XA[16], + =LU8YAH/Y[16],=LU8YD/Y[16],=LU8YE/Y[16],=LU8YMP/Y[16],=LU8YSF/Y[16],=LU9BSA/Y[16],=LU9ESD/Y[16], + =LU9XCC/XA[16],=LW1EXU/Y[16],=LW2DX/Y[16],=LW7DLY/Y[16],=LW7DQQ/Y[16],=LW9DCF/Y[16]; Luxembourg: 14: 27: EU: 50.00: -6.00: -1.0: LX: - LX; + LX,=LX9S/J; Lithuania: 15: 29: EU: 55.45: -23.63: -2.0: LY: LY,=LY/4X4FC/LH,=LY/4Z5KJ/LH,=LY1CM/A/LH,=LY1CM/LH,=LY1CM/P/LGT,=LY1CM/P/LH,=LY1DF/LH,=LY1DR/LGT, =LY1DS/LH,=LY1FW/LH,=LY2BIG/LH,=LY2DX/LGT,=LY2DX/LH,=LY2FN/LGT,=LY2FN/LH,=LY2UF/LGT,=LY2UF/LH, @@ -1963,7 +1983,7 @@ Finland: 15: 18: EU: 63.78: -27.08: -2.0: OH: =OH8AAU/LH,=OH8FCK/S,=OH8FCK/SA,=OH8KN/S,=OH8KN/SA,=OI8VK/S, =OH9AR/S,=OH9TM/S,=OH9TO/S; Aland Islands: 15: 18: EU: 60.13: -20.37: -2.0: OH0: - OF0,OG0,OH0,OI0,=OF100FI/0,=OG2K/0,=OG3M/0,=OH1LWZ/0,=OH2FTJ/0,=OH6ZZ/0,=OH8K/0; + OF0,OG0,OH0,OI0,=OF100FI/0,=OG2K/0,=OG2M/0,=OG3M/0,=OH1LWZ/0,=OH2FTJ/0,=OH6ZZ/0,=OH8K/0; Market Reef: 15: 18: EU: 60.00: -19.00: -2.0: OJ0: OJ0; Czech Republic: 15: 28: EU: 50.00: -16.00: -1.0: OK: @@ -1985,11 +2005,11 @@ Denmark: 14: 18: EU: 56.00: -10.00: -1.0: OZ: 5P,5Q,OU,OV,OZ,=5P0MF/LH,=5P2X/LH,=5P5CW/LH,=OU7LH/LH,=OZ/DG1EHM/LH,=OZ/DG2RON/LH,=OZ/DJ5AA/LH, =OZ/DJ7AO/LGT,=OZ/DJ7AO/LH,=OZ/DL1BWU/LH,=OZ/DL3JJ/LH,=OZ/DL4AM/LH,=OZ/DL4ZZ/LH,=OZ/DL5SE/LH, =OZ/DL7RSM/LH,=OZ/DR4X/LH,=OZ/ON6JUN/LH,=OZ/PH7Y/LH,=OZ0MF/LH,=OZ0Q/LH,=OZ0Y/LS,=OZ13LH/LH, - =OZ1CF/LH,=OZ1IIL/LH,=OZ1KAH/LH,=OZ1SDB/LH,=OZ1SKA/LH,=OZ2F/LH,=OZ2FG/LH,=OZ2GBW/LGT,=OZ2GBW/LH, - =OZ2NYB/LGT,=OZ2NYB/LH,=OZ2ZB/LH,=OZ3EDR/LH,=OZ3EVA/LH,=OZ3FYN/LH,=OZ3TL/JOTA,=OZ4EL/LH, - =OZ50RN/LH,=OZ5ESB/LH,=OZ7AEI/LH,=OZ7DAL/LH,=OZ7DAL/LS,=OZ7EA/YL,=OZ7HAM/LH,=OZ7LH/LH,=OZ7RJ/LGT, - =OZ7RJ/LH,=OZ7SP/JOTA,=OZ7TOM/LH,=OZ8KV/LH,=OZ8SMA/LGT,=OZ8SMA/LH,=OZ9HBO/JOTA,=OZ9HBO/LH, - =OZ9WSR/J; + =OZ1CF/LH,=OZ1IIL/LH,=OZ1KAH/LH,=OZ1KR/J,=OZ1SDB/LH,=OZ1SKA/LH,=OZ2F/LH,=OZ2FG/LH,=OZ2GBW/LGT, + =OZ2GBW/LH,=OZ2NYB/LGT,=OZ2NYB/LH,=OZ2ZB/LH,=OZ3EDR/LH,=OZ3EVA/LH,=OZ3FYN/LH,=OZ3TL/JOTA, + =OZ4EL/LH,=OZ50RN/LH,=OZ5ESB/LH,=OZ7AEI/LH,=OZ7DAL/LH,=OZ7DAL/LS,=OZ7EA/YL,=OZ7HAM/LH,=OZ7LH/LH, + =OZ7RJ/LGT,=OZ7RJ/LH,=OZ7SP/JOTA,=OZ7TOM/LH,=OZ8KV/LH,=OZ8SMA/LGT,=OZ8SMA/LH,=OZ9HBO/JOTA, + =OZ9HBO/LH,=OZ9WSR/J; Papua New Guinea: 28: 51: OC: -9.50: -147.12: -10.0: P2: P2; Aruba: 09: 11: SA: 12.53: 69.98: 4.0: P4: @@ -2005,17 +2025,17 @@ Netherlands: 14: 27: EU: 52.28: -5.47: -1.0: PA: =PA3GQS/J,=PA3GWN/J,=PA3HFJ/J,=PA3WSK/JOTA,=PA40LAB/J,=PA4RVS/MILL,=PA4WK/J,=PA5CA/LH,=PA65DUIN/J, =PA65URK/LH,=PA6ADZ/MILL,=PA6ARC/LH,=PA6FUN/LGT,=PA6FUN/LH,=PA6FUN/LS,=PA6HOOP/MILL,=PA6HYG/J, =PA6JAM/J,=PA6KMS/MILL,=PA6LH/LH,=PA6LL/LH,=PA6LST/LH,=PA6LST/LS,=PA6MZD/MILL,=PA6RCG/J,=PA6SB/L, - =PA6SB/LH,=PA6SCH/LH,=PA6SJB/J,=PA6SJS/J,=PA6STAR/MILL,=PA6URK/LH,=PA6VEN/LH,=PA6VLD/LH, + =PA6SB/LH,=PA6SCH/LH,=PA6SHB/J,=PA6SJB/J,=PA6SJS/J,=PA6STAR/MILL,=PA6URK/LH,=PA6VEN/LH,=PA6VLD/LH, =PA6WAD/LGT,=PA70HYG/JOTA,=PA75SM/J,=PA7AL/LH,=PA7HPH/J,=PA7JWC/J,=PA99HYG/JOTA,=PA9M/LH,=PB6F/LH, =PB6KW/LH,=PB88XYL/YL,=PB9ZR/J,=PC2D/LH,=PD0ARI/MILL,=PD0FSB/LH,=PD1JL/MILL,=PD1JSH/J,=PD2C/LH, =PD2GCM/LH,=PD5CW/LH,=PD5MVH/P/LH,=PD7DX/J,=PE18KA/J,=PE1NCS/LGT,=PE1NCS/LH,=PE1NZJ/J,=PE1OPM/LH, - =PE1OXI/J,=PE1RBG/J,=PE1RBR/J,=PE2MC/J,=PF100ROVER/J,=PF18NAWAKA/J,=PF4R/LH,=PG150N/LH,=PG6HK/LH, - =PG6N/LH,=PH4RTM/MILL,=PH4RTM/WHE,=PH50GFB/J,=PH6BB/J,=PH6WAL/LH,=PH75S/J,=PH9GFB/J,=PI4ADH/LGT, - =PI4ADH/LH,=PI4ADH/LS,=PI4ALK/LH,=PI4AZL/J,=PI4BG/J,=PI4BOZ/LH,=PI4CQ/J,=PI4DHG/DM,=PI4DHG/MILL, - =PI4ET/MILL,=PI4ETL/MILL,=PI4F/LH,=PI4LDN/L,=PI4LDN/LH,=PI4RCK/LGT,=PI4RCK/LH,=PI4RIS/J,=PI4S/J, - =PI4SRN/LH,=PI4SRN/MILL,=PI4VNW/LGT,=PI4VNW/LH,=PI4VPO/LH,=PI4VPO/LT,=PI4WAL/LGT,=PI4WAL/LH, - =PI4WBR/LH,=PI4WFL/MILL,=PI4YLC/LH,=PI4ZHE/LH,=PI4ZHE/LS,=PI4ZHE/MILL,=PI4ZVL/FD,=PI4ZVL/LGT, - =PI4ZVL/LH,=PI9NHL/LH,=PI9SRS/LH,=PI9TP/J; + =PE1OXI/J,=PE1RBG/J,=PE1RBR/J,=PE2MC/J,=PE2MGA/J,=PF100ROVER/J,=PF18NAWAKA/J,=PF4R/LH,=PG150N/LH, + =PG6HK/LH,=PG6N/LH,=PH4RTM/MILL,=PH4RTM/WHE,=PH50GFB/J,=PH6BB/J,=PH6WAL/LH,=PH75S/J,=PH9GFB/J, + =PI4ADH/LGT,=PI4ADH/LH,=PI4ADH/LS,=PI4ALK/LH,=PI4AZL/J,=PI4BG/J,=PI4BOZ/LH,=PI4CQ/J,=PI4DHG/DM, + =PI4DHG/MILL,=PI4ET/MILL,=PI4ETL/MILL,=PI4F/LH,=PI4LDN/L,=PI4LDN/LH,=PI4RCK/LGT,=PI4RCK/LH, + =PI4RIS/J,=PI4S/J,=PI4SHV/J,=PI4SRN/LH,=PI4SRN/MILL,=PI4VNW/LGT,=PI4VNW/LH,=PI4VPO/LH,=PI4VPO/LT, + =PI4WAL/LGT,=PI4WAL/LH,=PI4WBR/LH,=PI4WFL/MILL,=PI4YLC/LH,=PI4ZHE/LH,=PI4ZHE/LS,=PI4ZHE/MILL, + =PI4ZVL/FD,=PI4ZVL/LGT,=PI4ZVL/LH,=PI9NHL/LH,=PI9SRS/LH,=PI9TP/J; Curacao: 09: 11: SA: 12.17: 69.00: 4.0: PJ2: PJ2; Bonaire: 09: 11: SA: 12.20: 68.25: 4.0: PJ4: @@ -2095,8 +2115,8 @@ Poland: 15: 28: EU: 52.28: -18.67: -1.0: SP: 3Z,HF,SN,SO,SP,SQ,SR,=3Z50KPN/FF,=SP0PGC/FF,=SP1NY/MM(34), =3Z1EE/LH,=SN1D/LH,=SO1WE/LH,=SO1ZV/LH,=SP1/DM3VA/LH,=SP1KBK/LH,=SP1KNM/LH,=SP1RWK/LH,=SP1ZZ/1/LH, =SP1ZZ/LH,=SP3VT/1/LH,=SQ1KSL/YL, - =SN2NP/LH,=SP2AYC/LH,=SP2BNJ/LH,=SP2FAP/FF,=SP2HHC/LH,=SP2KDS/LH,=SP2KJF/FF,=SP2MHC/LH,=SP2PHA/LH, - =SP2PMW/LH,=SP2PZH/LH,=SP2QCR/LH,=SP2WGZ/LH,=SP5PB/2/LH,=SQ2PHG/LH,=SQ2PHI/LH, + =SN2NP/LH,=SP2AYC/LH,=SP2BNJ/LH,=SP2FAP/FF,=SP2HHC/LH,=SP2KAC/LH,=SP2KDS/LH,=SP2KJF/FF,=SP2MHC/LH, + =SP2PHA/LH,=SP2PMW/LH,=SP2PZH/LH,=SP2QCR/LH,=SP2WGZ/LH,=SP5PB/2/LH,=SQ2PHG/LH,=SQ2PHI/LH, =SQ3PMM/FF, =SP4KDX/FF,=SQ4G/FF, =HF25NHV/FF,=HF80BUJ/FF,=SP5EZJ/LH,=SP5G/FF,=SP5KAB/LH,=SP5VYI/FF,=SP5X/FF,=SQ5AWR/FF,=SQ5Q/FF, @@ -2110,7 +2130,7 @@ Greece: 20: 28: EU: 39.78: -21.78: -2.0: SV: J4,SV,SW,SX,SY,SZ,=J42004/DH1NA,=J42004/DH1PS,=J42004/HA3NU,=J42004/N3JWJ,=J42004/OE5ER,=SV54FF, =SX90IARU, =SV1/LY1DF/LGT,=SV1EOS/JOTA,=SV1EQU/J,=SV5FRI/1,=SV5FRQ/1,=SV9AWF/1,=SV9CUF/1,=SV9DRU/1,=SV9TJ/1, - =SV2CLJ/J,=SV2JAO/J,=SV2KBB/J,=SX100TSL/J,=SY2AEI/J,=SY2WT/LH,=SZ2TSL/J, + =SV2CLJ/J,=SV2JAO/J,=SV2KBB/J,=SV2RNY/J,=SX100TSL/J,=SY2AEI/J,=SY2WT/LH,=SZ2TSL/J, =SV9ION/3, =SV9OFL/4, =SV9DJO/7,=SZ7KAM/LH, @@ -2156,10 +2176,10 @@ Asiatic Turkey: 20: 39: AS: 39.18: -35.65: -2.0: TA: =TA9J/LH; European Turkey: 20: 39: EU: 41.02: -28.97: -2.0: *TA1: TA1,TB1,TC1,YM1,=TA2AKG/1,=TA2LZ/1,=TA2ZF/1,=TA3CQ/1,=TA3HM/1,=TA5CT/1,=TA6CQ/1,=TC100A,=TC100GLB, - =TC100GP,=TC100GS,=TC100KT,=TC100VKZL,=TC101GLB,=TC101GP,=TC101GS,=TC101KT,=TC18MART, + =TC100GP,=TC100GS,=TC100KT,=TC100VKZL,=TC101GLB,=TC101GP,=TC101GS,=TC101KT,=TC18MART,=TC2ISAF/1, =TC50TRAC/17G,=TC50TRAC/34I,=TC9SAM/1; Iceland: 40: 17: EU: 64.80: 18.73: 0.0: TF: - TF,=TF1IRA/LGT,=TF1IRA/LH,=TF1IRA/LT,=TF8IRA/LH,=TF8RX/LGT,=TF8RX/LH; + TF,=TF1IRA/LGT,=TF1IRA/LH,=TF1IRA/LT,=TF8IRA/LH,=TF8RX/LGT,=TF8RX/LH,=VERSION; Guatemala: 07: 11: NA: 15.50: 90.30: 6.0: TG: TD,TG; Costa Rica: 07: 11: NA: 10.00: 84.00: 6.0: TI: @@ -2185,16 +2205,16 @@ Benin: 35: 46: AF: 9.87: -2.25: -1.0: TY: Mali: 35: 46: AF: 18.00: 2.58: 0.0: TZ: TZ; European Russia: 16: 29: EU: 53.65: -41.37: -4.0: UA: - R,U,=R0CAF/1,=R0CM/4,=R25EMW(17)[19],=R7AB/M,=R7AB/P,=R80PSP,=R80UPOL,=R8CT/4/P,=R8FF/3/M, - =R90DOSAAF,=R9AV/6,=R9FAZ/6/M,=R9FCH/6,=R9JI/1,=R9KC/6/M,=R9WR/1,=RA0AM/6,=RA0BM/6,=RA0ZZ/3, + R,U,=R0CAF/1,=R25EMW(17)[19],=R7AB/M,=R7AB/P,=R80PSP,=R80UPOL,=R8CT/4/P,=R8FF/3/M,=R90DOSAAF, + =R9AV/6,=R9FAZ/6/M,=R9FCH/6,=R9JI/1,=R9KC/6/M,=R9OM/6,=R9WR/1,=R9XAU/6,=RA0AM/6,=RA0BM/6,=RA0ZZ/3, =RA2FDX/3,=RA3CQ/9/M(17)[20],=RA80SP,=RA9JR/3,=RA9JX/3,=RA9P/4,=RA9RT/3,=RA9YA/6,=RC80SP,=RG0F/5, =RG50P(17),=RG50P/9(17)[30],=RJ80SP,=RK80X(17)[19],=RK8O/4,=RL9AA/6,=RM80SP,=RM8A/4/M,=RM94AE, =RN9M/4,=RN9OI/3,=RO80RO,=RP61XX(17)[19],=RP62X(17)[19],=RP63X(17)[19],=RP63XO(17)[19], =RP64X(17)[19],=RP65FPP(17)[30],=RP8X(17)[30],=RQ80SP,=RU0ZW/6,=RU2FB/3,=RU2FB/3/P, - =RU4SS/9(17)[30],=RU4WA/9(17)[30],=RV9LM/3,=RW0IM/1,=RW0QE/6,=RW2F/6,=RW9FF/3,=RW9JZ/6,=RW9W/3, - =RX9TC/1,=RX9UL/1,=RZ9AWN/6,=UA0AK/3,=UA0FQ/6,=UA0KBG/3,=UA0KBG/6,=UA0KCX/3/P,=UA0KT/4,=UA0QNE/3, - =UA0QNU/3,=UA0QQJ/3,=UA0UV/6,=UA0XAK/3,=UA0XAK/6,=UA0ZL/6,=UA9CCO/6,=UA9CTT/3,=UA9CTT/6, - =UA9FFS/1/MM,=UE23DKA,=UE23DSA,=UE6MAC/9(17),=UE95AE,=UE95E,=UE95ME,=UE99PS, + =RU4SS/9(17)[30],=RU4WA/9(17)[30],=RV9LM/3,=RW0IM/1,=RW0QE/6,=RW2F/6,=RW9FF/3,=RW9W/3,=RX9TC/1, + =RX9UL/1,=RZ9AWN/6,=UA0AK/3,=UA0FQ/6,=UA0KBG/3,=UA0KBG/6,=UA0KCX/3/P,=UA0KT/4,=UA0QNE/3,=UA0QNU/3, + =UA0QQJ/3,=UA0UV/6,=UA0XAK/3,=UA0XAK/6,=UA0ZL/6,=UA9CCO/6,=UA9CTT/3,=UA9CTT/6,=UA9FFS/1/MM, + =UE23DKA,=UE23DSA,=UE6MAC/9(17),=UE95AE,=UE95E,=UE95ME,=UE99PS, =R900BL,=R9J/1,=RA2FN/1,=RA9KU/1,=RA9KU/1/M,=RA9MC/1,=RA9SGI/1,=RK9XWV/1,=RL1O,=RM80DZ,=RN85AM, =RN85KN,=RT9T/1,=RU2FB/1,=RU9YT/1,=RU9YT/1/P,=RV1CC/M,=RW1AI/ANT,=RW8W/1,=RW9QA/1,=RX3AMI/1/LH, =UA1ADQ/ANT,=UA1BJ/ANT,=UA1JJ/ANT,=UA2FFX/1,=UA9B/1,=UA9KG/1,=UA9KGH/1,=UA9KK/1,=UA9UDX/1, @@ -2233,7 +2253,7 @@ European Russia: 16: 29: EU: 53.65: -41.37: -4.0: UA: =R85QMR,=R85WDW,=R8B,=R8FF/3,=R90DNF,=R99FSB,=RA0BY/3,=RA80KEDR,=RA9KV/3,=RA9SB/3,=RA9XY/3, =RK3DSW/ANT,=RK3DWA/3/N,=RN9MD/3,=RT80KEDR,=RU0LM/3,=RU2FA/3,=RU3HD/ANT,=RV0AO/3,=RV9LM/3/P, =RW0IM/3,=RW3DU/N,=RW9UEW/3,=RX9SN/3,=RZ9SZ/3,=RZ9W/3,=UA0JAD/3,=UA0KCL/3,=UA0ZAZ/3,=UA9AJ/3/M, - =UA9DD/3,=UA9HSI/3,=UA9ONJ/3,=UA9XGD/3,=UA9XMC/3,=UB5O/M,=UE25FO,=UE95GA,=UE96WS, + =UA9DD/3,=UA9HSI/3,=UA9ONJ/3,=UA9XGD/3,=UA9XMC/3,=UE25FO,=UE95GA,=UE96WS, =R80ORL,=UA0QGM/3,=UE80O,=UE80OL, =R0CAF/3,=R3GO/FF,=RN3GL/FF,=RN3GW/FF,=RT5G/P/FF,=RW0IW/3,=UA3GM/ANT,=UE90FL, =RA9KT/3,=RZ9SZ/3/M,=UA0FHC/3,=UF2F/3/M, @@ -2242,13 +2262,13 @@ European Russia: 16: 29: EU: 53.65: -41.37: -4.0: UA: =RK3MXT/FF,=RV9AZ/3,=UA0AD/3, =R870T,=RT90PK,=RU0ZW/3,=RW0UM/3,=RW9JV/3, =RA0CCV/3,=RA0QA/3,=RC9YA/3/P,=RM8X/3,=RV9LC/3,=UA0QJE/3,=UA0QQO/3,=UA9CGL/3,=UA9JLY/3,=UA9XLE/3, - =UB0AJJ/3,=UC0LAF/3,=UE25AFG,=UE25R,=UE27AFG,=UE28AFG,=UE96SN, + =UB0AJJ/3,=UB5O/M,=UC0LAF/3,=UE25AFG,=UE25R,=UE27AFG,=UE28AFG,=UE96SN, =R80RTL,=R90IARU,=R9CZ/3,=RU80TO,=RZ9HK/3/P, =R920RZ,=R95DOD,=RA0QQ/3,=UA0KBA/3,=UE80S,=UE85NKN,=UE85WDW, - =R3TT/FF,=R8FF/P,=R8TA/4/P,=R8TR/3,=R90NOR,=R9KW/3,=R9KW/4,=R9PA/4,=RA9AP/3,=RA9CKQ/4,=RA9KW/3, + =R3TT/FF,=R8FF/M,=R8TA/4/P,=R8TR/3,=R90NOR,=R9KW/3,=R9KW/4,=R9PA/4,=RA9AP/3,=RA9CKQ/4,=RA9KW/3, =RA9KW/3/M,=RA9ST/3/P,=RG9A/3/P,=RM9T/4/P,=RN0CT/4,=RT9S/3,=RT9S/3/P,=RT9S/4,=RU9LA/4,=RV9FQ/3, - =RV9FQ/3/M,=RV9WB/4,=RV9WLE/3/P,=RV9WZ/3,=RW9KW/3,=RW9WA/3,=UA0ADX/3,=UA0DM/4,=UA0S/4,=UA0SC/4, - =UA3FQ/4,=UA9APA/3/P,=UA9CTT/4,=UA9PM/4,=UA9SSR/3,=UE200TARS,=UE25TF,=UE9FDA/3,=UE9FDA/3/M, + =RV9FQ/3/M,=RV9WB/4,=RV9WLE/3/P,=RV9WZ/3,=RW9KW/3,=RW9WA/3,=RX9SN/P,=UA0ADX/3,=UA0DM/4,=UA0S/4, + =UA0SC/4,=UA9APA/3/P,=UA9CTT/4,=UA9PM/4,=UA9SSR/3,=UE200TARS,=UE25TF,=UE9FDA/3,=UE9FDA/3/M, =UE9WDA/3,=UI8W/3/P, =R5VAJ/N,=R850G,=R850PN,=RT9T/3,=RU0BW/3,=RU9MU/3,=RV80KEDR,=RX9TL/3, =R110A/P,=R80PVB, @@ -2273,31 +2293,31 @@ European Russia: 16: 29: EU: 53.65: -41.37: -4.0: UA: =R4HDR[29],=R4HL[29],=R4IC[29],=R4ID[29],=R4II[29],=R4IK[29],=R4IM[29],=R4IN[29],=R4IO[29], =R4IT[29],=R9DA/4[30],=RA4HL[29],=RA9FAA/4/M[30],=RA9SC/4[30],=RA9SC/4/P[30],=RC18SA[30], =RC20HZ[30],=RC4HT[29],=RC4I[29],=RC9YA/4/M[30],=RJ4I[29],=RK4HM[29],=RM4I[29],=RN4HFJ[29], - =RN4HIF[29],=RP72AG[30],=RP72I[30],=RP72MF[30],=RP72WO[30],=RP73DD[30],=RP73I[30],=RP73PM[30], - =RT9K/4[30],=RU4HD[29],=RU4HP[29],=RU4I[29],=RU9CK/4/M[30],=RV9JD/4/M[30],=RW4HM[29],=RW4HTK[29], - =RW4HW[29],=RW4HZ[29],=RW9SW/4[30],=RW9TP/4[30],=RW9WJ/4[30],=RW9WJ/4/P[30],=RZ4HWF/LH[30], - =RZ4HZW/FF[30],=RZ9WU/4/M[30],=UA0KAO/4[30],=UA0QJA/4[30],=UA4H[29],=UA4HBM[29],=UA4HGL[29], - =UA4HIP[29],=UA4HIP/M[30],=UA4HRZ[29],=UA4HY[29],=UA9JGX/4[30],=UA9LAO/4[30],=UA9SQG/4/P[30], - =UA9SY/4[30],=UC4I[29],=UI4I[29], + =RN4HIF[29],=RN9S/M[30],=RP72AG[30],=RP72I[30],=RP72MF[30],=RP72WO[30],=RP73DD[30],=RP73I[30], + =RP73PM[30],=RT9K/4[30],=RU4HD[29],=RU4HP[29],=RU4I[29],=RU9CK/4/M[30],=RV9JD/4/M[30],=RW4HM[29], + =RW4HTK[29],=RW4HW[29],=RW4HZ[29],=RW9SW/4[30],=RW9TP/4[30],=RW9WJ/4[30],=RW9WJ/4/P[30], + =RW9WJ/P[30],=RZ4HWF/LH[30],=RZ4HZW/FF[30],=RZ9WU/4/M[30],=UA0KAO/4[30],=UA0QJA/4[30],=UA4H[29], + =UA4HBM[29],=UA4HGL[29],=UA4HIP[29],=UA4HIP/M[30],=UA4HRZ[29],=UA4HY[29],=UA9JGX/4[30], + =UA9LAO/4[30],=UA9SQG/4/P[30],=UA9SY/4[30],=UC4I[29],=UI4I[29], =R01DTV/4,=R9XC/4,=RA9XAF/4,=UA4HIP/4,=UA9JFE/4, - =R8XF/4,=RA9FR/4/P,=RA9XSM/4,=RD9CX/4,=RD9CX/4/P,=RU0LM/4,=RW9XC/4/M,=UA4NE/M,=UA4NF[30], + =R8XF/4,=RA9FR/4/P,=RA9XSM/4,=RD9CX/4,=RD9CX/4/P,=RU0LM/4,=RW9XC/4/M,=UA4NE/M,=UA4NF[30],=UA4NF/M, =UA9APA/4/P,=UA9FIT/4,=UA9XI/4,=UE9FDA/4,=UE9FDA/4/M,=UE9GDA/4, =R95PW,=R9WI/4/P,=RA9CKM/4/M,=RA9FR/4/M,=RJ4P[30],=RK4P[30],=RK4PK[30],=RM4P[30],=RM4R[30], - =RN9WWW/4,=RN9WWW/4/M,=RT05RO,=RV9FQ/4/M,=RV9WKI/4/M,=RV9WKI/4/P,=RV9WMZ/4/M,=RV9WZ/4,=RW9TP/4/P, - =RW9WA/4,=RW9WA/4/M,=RZ9WM/4,=UA2FM/4,=UA3AKO/4,=UA4PN[30],=UA4RF[30],=UA4RW[30],=UA9AJ/4/M, - =UA9JFN/4/M,=UA9JNQ/4,=UA9SG/4,=UE96MP,=UE9WDA/4,=UE9WDA/4/M, + =RM8W/4/M,=RN9WWW/4,=RN9WWW/4/M,=RT05RO,=RV9FQ/4/M,=RV9WKI/4/M,=RV9WKI/4/P,=RV9WMZ/4/M,=RV9WZ/4, + =RW9TP/4/P,=RW9WA/4,=RW9WA/4/M,=RZ9WM/4,=UA2FM/4,=UA3AKO/4,=UA4PN[30],=UA4RF[30],=UA4RW[30], + =UA9AJ/4/M,=UA9JFN/4/M,=UA9JNQ/4,=UA9SG/4,=UE96MP,=UE9WDA/4,=UE9WDA/4/M, =R8UT/4/P,=RX9WN/4, =RQ0C/4,=RZ5D/4,=UA9XX/4,=UE9WFF/4, R4W[30],RA4W[30],RC4W[30],RD4W[30],RE4W[30],RF4W[30],RG4W[30],RJ4W[30],RK4W[30],RL4W[30],RM4W[30], RN4W[30],RO4W[30],RQ4W[30],RT4W[30],RU4W[30],RV4W[30],RW4W[30],RX4W[30],RY4W[30],RZ4W[30],U4W[30], - UA4W[30],UB4W[30],UC4W[30],UD4W[30],UE4W[30],UF4W[30],UG4W[30],UH4W[30],UI4W[30],=R9GM/4[30], - =R9UT/4[30],=RA9FDR/4/P[30],=RA9KV/4/M[30],=RA9WU/4[30],=RA9WU/4/M[30],=RA9WU/4/P[30],=RP72IZ[30], - =RP73IZ[30],=RW9FWB/4[30],=RW9FWR/4[30],=RW9FWR/4/M[30],=RX9FW/4[30],=UA9UAX/4/M[30], + UA4W[30],UB4W[30],UC4W[30],UD4W[30],UE4W[30],UF4W[30],UG4W[30],UH4W[30],UI4W[30],=R0CM/4[30], + =R9GM/4[30],=R9UT/4[30],=RA9FDR/4/P[30],=RA9KV/4/M[30],=RA9WU/4[30],=RA9WU/4/M[30],=RA9WU/4/P[30], + =RP72IZ[30],=RP73IZ[30],=RW9FWB/4[30],=RW9FWR/4[30],=RW9FWR/4/M[30],=RX9FW/4[30],=UA9UAX/4/M[30], =RT9T/4,=RV9MD/4,=UA4PCM/M,=UE04YCS,=UE85AGN, =R01DTV,=R01DTV/7,=R0IT/6,=R80TV,=R8XW/6,=R9JO/6,=R9KD/6,=R9WGM/6/M,=RA0APW/6,=RA0FW/6,=RA0LIF/6, =RA0LLW/6,=RA0QR/6,=RA9ODR/6,=RA9ODR/6/M,=RA9SAS/6,=RA9UWD/6,=RA9WW/6,=RD9CX/6,=RD9CX/6/P, =RK6AH/LH,=RK9JA/6,=RN0CF/6,=RN0JT/6,=RQ0C/6,=RT9K/6,=RT9K/6/P,=RT9K/6/QRP,=RU2FB/6,=RU9MX/6, - =RU9QRP/6/M,=RU9QRP/6/P,=RV9FQ/6,=RW0LIF/6,=RW0LIF/6/LH,=RW6AWW/LH,=RW9WA/6,=RX6AA/ANT, + =RU9QRP/6/M,=RU9QRP/6/P,=RV9FQ/6,=RW0LIF/6,=RW0LIF/6/LH,=RW6AWW/LH,=RW9JZ/6,=RW9WA/6,=RX6AA/ANT, =RX6AAP/ANT,=RX9TX/6,=RZ9HG/6,=RZ9HT/6,=RZ9UF/6,=RZ9UZV/6,=UA0AGE/6,=UA0IT/6,=UA0JL/6,=UA0LQQ/6/P, =UA0SEP/6,=UA2FT/6,=UA6ADC/N,=UA9COO/6,=UA9JON/6,=UA9JPX/6,=UA9KB/6,=UA9KJ/6,=UA9KW/6,=UA9MQR/6, =UA9UAX/6,=UA9VR/6,=UA9XC/6,=UA9XCI/6,=UE9WDA/6,=UE9WFF/6, @@ -2335,13 +2355,13 @@ European Russia: 16: 29: EU: 53.65: -41.37: -4.0: UA: UG8F(17)[30],UG8G(17)[30],UG9F(17)[30],UG9G(17)[30],UH8F(17)[30],UH8G(17)[30],UH9F(17)[30], UH9G(17)[30],UI8F(17)[30],UI8G(17)[30],UI9F(17)[30],UI9G(17)[30],=R120RP(17)[30],=R155PM(17)[30], =R18PER(17)[30],=R2011UFO(17)[30],=R2011UFO/M(17)[30],=R2011UFO/P(17)[30],=R2014WOG(17)[30], - =R20PRM(17)[30],=R2AG/9(17)[30],=R34CZF(17)[30],=R8CZ/4(17)[30],=R8CZ/4/M(17)[30],=R95FR(17)[30], - =R9CZ/4(17)[30],=R9CZ/4/M(17)[30],=R9KC/4/M(17)[30],=R9KC/8/M(17)[30],=RA27FM(17)[30], - =RA9XAI/4(17)[30],=RC20FM(17)[30],=RD4M/9(17)[30],=RG50P/M(17)[30],=RP70PK(17)[30], - =RP9FKU(17)[30],=RP9FTK(17)[30],=RU27FQ(17)[30],=RU27FW(17)[30],=RU4W/9(17)[30],=RV22PM(17)[30], - =RX9TX/9(17)[30],=RZ16FM(17)[30],=RZ9WM/9(17)[30],=UA1ZQO/9(17)[30],=UA4NF/4/M(17)[30], - =UA4NF/M(17)[30],=UA4WA/9(17)[30],=UA9CGL/4/M(17)[30],=UA9CUA/4/M(17)[30],=UA9UAX/4(17)[30], - =UE16SA(17)[30],=UE55PM(17)[30], + =R20PRM(17)[30],=R2AG/9(17)[30],=R34CZF(17)[30],=R6DAB/9(17)[30],=R8CZ/4(17)[30], + =R8CZ/4/M(17)[30],=R8CZ/M(17)[30],=R95FR(17)[30],=R9CZ/4(17)[30],=R9CZ/4/M(17)[30], + =R9KC/4/M(17)[30],=R9KC/8/M(17)[30],=RA27FM(17)[30],=RA9XAI/4(17)[30],=RC20FM(17)[30], + =RD4M/9(17)[30],=RG50P/M(17)[30],=RP70PK(17)[30],=RP9FKU(17)[30],=RP9FTK(17)[30],=RU27FQ(17)[30], + =RU27FW(17)[30],=RU4W/9(17)[30],=RV22PM(17)[30],=RX9TX/9(17)[30],=RZ16FM(17)[30],=RZ9WM/9(17)[30], + =UA1ZQO/9(17)[30],=UA4NF/4/M(17)[30],=UA4WA/9(17)[30],=UA9CGL/4/M(17)[30],=UA9CUA/4/M(17)[30], + =UA9UAX/4(17)[30],=UE16SA(17)[30],=UE55PM(17)[30], =RW3TN/9(17)[30],=UE10SK(17)[30], R8X(17)[20],R9X(17)[20],RA8X(17)[20],RA9X(17)[20],RC8X(17)[20],RC9X(17)[20],RD8X(17)[20], RD9X(17)[20],RE8X(17)[20],RE9X(17)[20],RF8X(17)[20],RF9X(17)[20],RG8X(17)[20],RG9X(17)[20], @@ -2354,17 +2374,18 @@ European Russia: 16: 29: EU: 53.65: -41.37: -4.0: UA: UF8X(17)[20],UF9X(17)[20],UG8X(17)[20],UG9X(17)[20],UH8X(17)[20],UH9X(17)[20],UI8X(17)[20], UI9X(17)[20],=R100AP(17)[20],=R120RK(17)[20],=R16NOR(17)[20],=R18ISL(17)[20],=R2014I(17)[20], =R20SZO(17)[20],=R35MWC(17)[20],=R3RRC/9(17)[20],=R5QA/1(17)[20],=R5QQ/1(17)[20], - =R6DGL/9/M(17)[20],=R70SRC(17)[20],=R7BA/9(17)[20],=R7BA/9/M(17)[20],=R8MB/1(17)[20], - =R8MB/1/P(17)[20],=R9/UR7IMG(17)[20],=R95KOMI(17)[20],=R9KD/9(17)[20],=R9XAK/1/P(17)[20], - =RA/DK5JI(17)[20],=RA/UR5MKH(17)[20],=RA22KO(17)[20],=RA22XA(17)[20],=RA22XF(17)[20], - =RA22XU(17)[20],=RA3AMG/9/M(17)[20],=RA3OM/9(17)[20],=RA4NH/9(17)[20],=RA4NV/9(17)[20], - =RA6ACI/9(17)[20],=RD4CBQ/9(17)[20],=RK1OWZ/9(17)[20],=RK1OWZ/9/M(17)[20],=RK6K/9(17)[20], - =RK90DR(17)[20],=RN22OG(17)[20],=RN22OV(17)[20],=RN4ACZ/9(17)[20],=RO25KO(17)[20],=RP67KR(17)[20], - =RP68KR(17)[20],=RP70KW(17)[20],=RP71KW(17)[20],=RP72X(17)[20],=RP73X(17)[20],=RT73LF(17)[20], - =RV3UI/9(17)[20],=RW1QN/9(17)[20],=RW1QN/9/M(17)[20],=RW1QN/9/P(17)[20],=RW4NJ/9/M(17)[20], - =RY110RAEM(17)[20],=UA1OOX/9(17)[20],=UA1QV/9(17)[20],=UA4WP/9/M(17)[20],=UA6LTO/9(17)[20], - =UB1OAD/1/P(17)[20],=UB1OAD/9/P(17)[20],=UB5O/1/M(17)[20],=UE16ST(17)[20],=UE1RDA/9(17)[20], - =UE85DRK(17)[20],=UE90K(17)[20]; + =R6DGL/9/M(17)[20],=R70SRC(17)[20],=R7BA/1(17)[20],=R7BA/9(17)[20],=R7BA/9/M(17)[20], + =R8FF/P(17)[20],=R8MB/1(17)[20],=R8MB/1/P(17)[20],=R9/UR7IMG(17)[20],=R95KOMI(17)[20], + =R9KD/9(17)[20],=R9XAK/1/P(17)[20],=RA/DK5JI(17)[20],=RA/UR5MKH(17)[20],=RA22KO(17)[20], + =RA22XA(17)[20],=RA22XF(17)[20],=RA22XU(17)[20],=RA3AMG/9/M(17)[20],=RA3OM/9(17)[20], + =RA4NH/9(17)[20],=RA4NV/9(17)[20],=RA6ACI/9(17)[20],=RD4CBQ/9(17)[20],=RK1OWZ/9(17)[20], + =RK1OWZ/9/M(17)[20],=RK6K/9(17)[20],=RK90DR(17)[20],=RN22OG(17)[20],=RN22OV(17)[20], + =RN4ACZ/9(17)[20],=RO25KO(17)[20],=RP67KR(17)[20],=RP68KR(17)[20],=RP70KW(17)[20],=RP71KW(17)[20], + =RP72X(17)[20],=RP73X(17)[20],=RT73LF(17)[20],=RV3UI/9(17)[20],=RW1QN/9(17)[20], + =RW1QN/9/M(17)[20],=RW1QN/9/P(17)[20],=RW4NJ/9/M(17)[20],=RY110RAEM(17)[20],=UA1OOX/9(17)[20], + =UA1QV/9(17)[20],=UA3FQ/4(17)[20],=UA4WP/9/M(17)[20],=UA6LTO/9(17)[20],=UB1OAD/1/P(17)[20], + =UB1OAD/9/P(17)[20],=UB5O/1/M(17)[20],=UE16ST(17)[20],=UE1RDA/9(17)[20],=UE85DRK(17)[20], + =UE90K(17)[20]; Kaliningrad: 15: 29: EU: 54.72: -20.52: -3.0: UA2: R2F,R2K,RA2,RC2F,RC2K,RD2F,RD2K,RE2F,RE2K,RF2F,RF2K,RG2F,RG2K,RJ2F,RJ2K,RK2F,RK2K,RL2F,RL2K,RM2F, RM2K,RN2F,RN2K,RO2F,RO2K,RQ2F,RQ2K,RT2F,RT2K,RU2F,RU2K,RV2F,RV2K,RW2F,RW2K,RX2F,RX2K,RY2F,RY2K, @@ -2390,15 +2411,15 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =RA4AAJ/9(18),=RD17CW(19),=RD1AL/0(40)[75],=RD3ARX/0/P(19),=RI18POL(40)[75],=RJ17WG,=RL19WF, =RM17NY,=RM19WF(18),=RN17CW,=RO19WF(19),=RQ17CW(18),=RQ17WG,=RQ4D/9(18),=RT4C/8,=RU17NY(18), =RV3PZ/9,=RW1AI/0(19),=RW55YG,=RX17WG(19),=RX55YG(18),=RX80SP(18),=RY1AAB/0/M(19),=RY80SP(19), - =RZ17NY(19),=UA0ZDA/MM(29),=UA0ZDY/9(18),=UA3DND/8,=UE18M,=UE18U(18),=UE18Z(19), + =RZ17NY(19),=UA0ZDA/MM(29),=UA3DND/8,=UE18M,=UE18U(18),=UE18Z(19), =R100RG,=R120RG,=R2014Y,=R2015TL,=R20UFO,=R22SKE,=R280A,=R280B,=R3HD/9,=R3RRC/8,=R55TV,=R6RA/9, =R70PW,=R70PW/P,=R9SRR,=RA1AIP/9/P,=RA1AR/9,=RA1QR/9,=RA3WJ/9,=RA3XBN/9,=RA3ZM/8,=RA4FSC/9, =RA4HGN/9,=RA9SC/9,=RA9WJV/8/P,=RC20AB,=RC20AC,=RD3BN/9,=RD4CAQ/9,=RG110RAEM,=RJ17CW,=RK9SZZ/9, - =RL9AA/P,=RN4WA/9,=RN9O/8,=RP67TG,=RP68MZ,=RP70AZ,=RP70PM,=RP70TG,=RP71AZ,=RP71TG,=RP72AZ,=RP72MS, - =RP72TG,=RP73AZ,=RP73TG,=RP73U,=RQ4D/8,=RT60RT,=RT73AB,=RU22AZ,=RV1AQ/9,=RV1CC/8,=RV1CC/9, - =RV3BA/9,=RV9WB/9/M,=RV9WMZ/9/P,=RX3RC/9,=RX9WN/9/M,=RZ0OO/9,=RZ6DR/9/M,=RZ9OO/9/M,=UA0MF/9, - =UA3AKO/8,=UA4RC/9,=UA6A/9,=UA6CW/9,=UA6YGY/8,=UA6YGY/9,=UA8WAA/9,=UA8WAA/9/P,=UA9CGL/9/M, - =UA9SG/9,=UA9TO/9/M,=UA9WMN/9/P,=UB5O/8,=UE45AWT,=UE70AAA,=UE9WDA/9, + =RL5G/8,=RL9AA/P,=RN4WA/9,=RN9O/8,=RP67TG,=RP68MZ,=RP70AZ,=RP70PM,=RP70TG,=RP71AZ,=RP71TG,=RP72AZ, + =RP72MS,=RP72TG,=RP73AZ,=RP73TG,=RP73U,=RQ4D/8,=RT60RT,=RT73AB,=RU22AZ,=RV1AQ/9,=RV1CC/8,=RV1CC/9, + =RV3BA/9,=RV9WB/9/M,=RV9WMZ/9/P,=RV9WMZ/P,=RX3RC/9,=RX9WN/9/M,=RZ0OO/9,=RZ6DR/9/M,=RZ9OO/9/M, + =UA0MF/9,=UA3AKO/8,=UA4RC/9,=UA6A/9,=UA6CW/9,=UA6YGY/8,=UA6YGY/9,=UA8WAA/9,=UA8WAA/9/P,=UA8WAA/M, + =UA9CGL/9/M,=UA9SG/9,=UA9TO/9/M,=UA9WMN/9/P,=UB5O/8,=UE45AWT,=UE70AAA,=UE9WDA/9, =R01DTV/8,=R14CWC/8,=R14CWC/9,=R150DMP,=R155AP,=R15CWC/8,=R15CWC/8/QRP,=R16SVK,=R170GS/8,=R2015BP, =R2015R,=R2016DR,=R20EKB,=R22SKJ,=R27EKB,=R30ZF,=R35CZF,=R375I,=R44YETI/8,=R4WAB/9/P,=R55EPC, =R55EPC/P,=R6UAE/9,=R70NIK,=R7LZ/8,=R8FF/8,=R9GM/8,=R9GM/8/M,=RA/DL6XK,=RA/US5ETV,=RA0BA/8, @@ -2445,7 +2466,8 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =RP69GS[20],=RP69SF[20],=RP70GS[20],=RP70LF[20],=RP70SF[20],=RP70SU[20],=RP70YF[20],=RP71GS[20], =RP71LF[20],=RP71SF[20],=RP72DS[20],=RP72GS[20],=RP72SF[20],=RP72YF[20],=RP73GS[20],=RP73SF[20], =RQ0C/8[20],=RU6YD/9[20],=RV6YM/9[20],=RW4HOH/9[20],=RW4LX/9[20],=RW6AHV/9[20],=RW9WX/9[20], - =RX3BP/9[20],=RX3BP/9/MM[20],=RZ9WF/8[20],=RZ9WF/9[20],=UA3ZAF/9[20],=UA6WIO/9[20],=UA9JFN/M[20], + =RX3BP/9[20],=RX3BP/9/MM[20],=RZ5D/8[20],=RZ9WF/8[20],=RZ9WF/9[20],=UA3ZAF/9[20],=UA6WIO/9[20], + =UA9JFN/M[20], R8K[20],R9K[20],RA8K[20],RA9K[20],RC8K[20],RC9K[20],RD8K[20],RD9K[20],RE8K[20],RE9K[20],RF8K[20], RF9K[20],RG8K[20],RG9K[20],RI9K[20],RJ8K[20],RJ9K[20],RK8K[20],RK9K[20],RL8K[20],RL9K[20], RM8K[20],RM9K[20],RN8K[20],RN9K[20],RO8K[20],RO9K[20],RQ8K[20],RQ9K[20],RT8K[20],RT9K[20], @@ -2454,10 +2476,10 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: UD9K[20],UE8K[20],UE9K[20],UF8K[20],UF9K[20],UG8K[20],UG9K[20],UH8K[20],UH9K[20],UI8K[20], UI9K[20],=R120RU[20],=R16LEV[20],=R1DA/8/M[20],=R1DA/9/M[20],=R1ZY/8[20],=R1ZY/9[20], =R20RRC/8[20],=R3CA/8[20],=R3CG/8[20],=R8XW/8[20],=R9XC/9[20],=R9XT/9[20],=RA/EW1RR[20], - =RA/EW2R[20],=RA4RU/9[20],=RA4RU/9/P[20],=RC8X/9[20],=RC9XM/8[20],=RI9K[20],=RK6CT/9[20], - =RN0CF/9[20],=RN3OF/9[20],=RU6UR/9[20],=RV1CC/8/M[20],=RV6ARQ/9[20],=RV6LFE/9[20],=RW0BB/9[20], - =RW0BB/9/LH[20],=RW0BG/9[20],=RW4AA/9[20],=RW4HIF/9[20],=RW4HIH/9[20],=RW6BA/9[20],=RW9XU/9[20], - =RX6CP/8[20],=RX6LMA/9[20],=RX9SN/8[20],=RZ5D/8[20],=UA0KY/9[20],=UA0QMU/0[20],=UA0QQO/9/P[20], + =RA/EW2R[20],=RA3III/8[20],=RA4RU/9[20],=RA4RU/9/P[20],=RC8X/9[20],=RC9XM/8[20],=RI9K[20], + =RK6CT/9[20],=RN0CF/9[20],=RN3OF/9[20],=RU6UR/9[20],=RV1CC/8/M[20],=RV6ARQ/9[20],=RV6LFE/9[20], + =RW0BB/9[20],=RW0BB/9/LH[20],=RW0BG/9[20],=RW4AA/9[20],=RW4HIF/9[20],=RW4HIH/9[20],=RW6BA/9[20], + =RW9XU/9[20],=RX6CP/8[20],=RX6LMA/9[20],=RX9SN/8[20],=UA0KY/9[20],=UA0QMU/0[20],=UA0QQO/9/P[20], =UA1FBP/9[20],=UA1PBA/9[20],=UA1PBP/9[20],=UA3DFM/8[20],=UA3DFM/9[20],=UA3MGA/9[20],=UA6BTN/9[20], =UA9SUV/8[20], =R11QRP/8,=R11QRP/8/P,=R120RL,=R18POR,=R2015EP,=R2015LY,=R2015LY/8,=R22BIA,=R30STM,=R430LT, @@ -2469,8 +2491,8 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =R16CAN,=R1716K,=R1716M,=R1716O,=R1716S,=R9MJ/M,=RA22MX,=RA4CQ/9/M,=RA9MR/0,=RA9MX/P,=RC20MX, =RK6YYA/9,=RN0SZ/9,=RN9N/9,=RP65MOH,=RP67MC,=RP67MD,=RP68MC,=RP68MD,=RP69MC,=RP69MD,=RP70GK, =RP70MC,=RP70MD,=RP70OB,=RP70OF,=RP70OS,=RP71GK,=RP71MJ,=RP71OB,=RP72GK,=RP72MJ,=RP72OB,=RP72ZW, - =RP73GK,=RP73OB,=RP8M,=RT22MC,=RT22MD,=RV0SR/9,=RW22MW,=RY22MC,=UA1ZGD/9,=UA3AKO/9,=UE55OM, - =UE70KRM/9,=UE70KRM/9/M,=UE9OFF/9, + =RP73GK,=RP73OB,=RP8M,=RT22MC,=RT22MD,=RV0SR/9,=RW22MW,=RY22MC,=UA1ZGD/9,=UA3AKO/9,=UA9UAX/M, + =UE55OM,=UE70KRM/9,=UE70KRM/9/M,=UE9OFF/9, R8O(18)[31],R8P(18)[31],R9O(18)[31],R9P(18)[31],RA8O(18)[31],RA8P(18)[31],RA9O(18)[31], RA9P(18)[31],RC8O(18)[31],RC8P(18)[31],RC9O(18)[31],RC9P(18)[31],RD8O(18)[31],RD8P(18)[31], RD9O(18)[31],RD9P(18)[31],RE8O(18)[31],RE8P(18)[31],RE9O(18)[31],RE9P(18)[31],RF8O(18)[31], @@ -2500,7 +2522,7 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =RP9OMP(18)[31],=RP9OW(18)[31],=RQ16CW(18)[31],=RR9O(18)[31],=RS9O(18)[31],=RU0ZM/9(18)[31], =RU27OZ(18)[31],=RU6LA/9(18)[31],=RV0CJ/9(18)[31],=RW1AC/9(18)[31],=RW9MD/9/M(18)[31], =RZ9MXM/9(18)[31],=UA0KDR/9(18)[31],=UA0ZAY/9(18)[31],=UA6WFO/9(18)[31],=UA9MA/9(18)[31], - =UA9MA/9/M(18)[31],=UA9MRA/9(18)[31],=UB5O/9(18)[31],=UE80NSO(18)[31], + =UA9MA/9/M(18)[31],=UA9MRA/9(18)[31],=UE80NSO(18)[31], =R110RP,=R120RDP,=R120RZ,=R120TM,=R150RP,=R155RP,=R18URU,=RA22QF,=RC20QA,=RC20QC,=RC20QF,=RM20CC, =RM9RZ/A,=RM9RZ/P,=RP65R,=RP67KE,=RP67R,=RP68KE,=RP68R,=RP69KE,=RP69R,=RP70KE,=RP70R,=RP71R, =RP72KE,=RP72R,=RT73CW,=RT73JH,=RV3MN/9,=RW22QA,=RW22QA/8,=RW22QC,=RW22QC/8,=RW4NW/9,=RY22RZ, @@ -2522,11 +2544,11 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =RA9CS/P(16),=RC20OB(16),=RC20TT(16),=RN3DHB/9(16),=RN3DHB/9/P(16),=RN3GW/8(16),=RN3GW/8/QRP(16), =RN3GW/9(16),=RN3GW/9/QRP(16),=RN3QOP/9(16),=RN9S(16),=RN9SM/P(16),=RN9WWW/9(16),=RO9S(16), =RP65TT(16),=RP68GR(16),=RP69NB(16),=RP71TK(16),=RP9SBO(16),=RP9SBR(16),=RP9SNK(16),=RT22TK(16), - =RT73OA(16),=RT8T(16),=RT9S(16),=RT9T(16),=RU22TU(16),=RV1CC/4/M(16),=RV9WGF/4/M(16), + =RT73OA(16),=RT8T(16),=RT9S(16),=RT9T(16),=RU22TU(16),=RU9SO/M(16),=RV1CC/4/M(16),=RV9WGF/4/M(16), =RV9WMZ/9/M(16),=RW4PJZ/9(16),=RW4PJZ/9/M(16),=RW4PP/9(16),=RW9WA/9(16),=RW9WA/9/M(16), =RY4W/9(16),=RZ4HZW/9/M(16),=UA0AGA/9/P(16),=UA0KBA/9(16),=UA3WB/9(16),=UA4LCQ/9(16), - =UA9SIV/9(16),=UB9JBN/9/M(16),=UE1RFF/9(16),=UE25ST(16),=UE55OB(16),=UE60TDP(16),=UE60TDP/P(16), - =UE9WDA/9/M(16), + =UA9SIV/9(16),=UB5O/4(16),=UB9JBN/9/M(16),=UE1RFF/9(16),=UE25ST(16),=UE55OB(16),=UE60TDP(16), + =UE60TDP/P(16),=UE9WDA/9/M(16), R8U(18)[31],R8V(18)[31],R9U(18)[31],R9V(18)[31],RA8U(18)[31],RA8V(18)[31],RA9U(18)[31], RA9V(18)[31],RC8U(18)[31],RC8V(18)[31],RC9U(18)[31],RC9V(18)[31],RD8U(18)[31],RD8V(18)[31], RD9U(18)[31],RD9V(18)[31],RE8U(18)[31],RE8V(18)[31],RE9U(18)[31],RE9V(18)[31],RF8U(18)[31], @@ -2561,19 +2583,19 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =R3XX/9(16),=R44WFF(16),=R7378TM(16),=R8JAJ/4(16),=R8JAJ/9(16),=R8JAJ/M(16),=R90WGM(16), =R90WJV(16),=R90WOB(16),=R90WXK(16),=R9LY/4(16),=RA0R/4(16),=RA1ZPC/9(16),=RA3AUU/9(16), =RA4POX/9(16),=RA9KDX/8/M(16),=RF9W(16),=RG5A/8(16),=RK3PWJ/9(16),=RK6YYA/9/M(16),=RK9KWI/9(16), - =RK9KWI/9/P(16),=RL3DX/9(16),=RL5G/8(16),=RM90WF(16),=RM9RZ/9/P(16),=RN9WWW/9/M(16),=RN9WWW/P(16), - =RO17CW(16),=RP67GI(16),=RP67MG(16),=RP67NG(16),=RP67RK(16),=RP67SW(16),=RP67UF(16),=RP68GM(16), - =RP68NK(16),=RP68UF(16),=RP69GI(16),=RP69PW(16),=RP69UF(16),=RP70GI(16),=RP70GM(16),=RP70LS(16), - =RP70NK(16),=RP70UF(16),=RP70ZO(16),=RP71GI(16),=RP71GM(16),=RP71UF(16),=RP72AR(16),=RP72GI(16), - =RP72GM(16),=RP72UF(16),=RP72WU(16),=RP73AR(16),=RP73GI(16),=RP73UF(16),=RP73WU(16),=RT22WF(16), - =RT2F/4(16),=RT2F/4/M(16),=RT2F/9/M(16),=RT73EA(16),=RT73EL(16),=RT8A/4(16),=RT9W(16),=RT9W/P(16), + =RK9KWI/9/P(16),=RL3DX/9(16),=RM90WF(16),=RM9RZ/9/P(16),=RN9WWW/9/M(16),=RN9WWW/P(16),=RO17CW(16), + =RP67GI(16),=RP67MG(16),=RP67NG(16),=RP67RK(16),=RP67SW(16),=RP67UF(16),=RP68GM(16),=RP68NK(16), + =RP68UF(16),=RP69GI(16),=RP69PW(16),=RP69UF(16),=RP70GI(16),=RP70GM(16),=RP70LS(16),=RP70NK(16), + =RP70UF(16),=RP70ZO(16),=RP71GI(16),=RP71GM(16),=RP71UF(16),=RP72AR(16),=RP72GI(16),=RP72GM(16), + =RP72UF(16),=RP72WU(16),=RP73AR(16),=RP73GI(16),=RP73UF(16),=RP73WU(16),=RT22WF(16),=RT2F/4(16), + =RT2F/4/M(16),=RT2F/9/M(16),=RT73EA(16),=RT73EL(16),=RT8A/4(16),=RT9W(16),=RT9W/P(16), =RU110RAEM(16),=RU20WC(16),=RU22WZ(16),=RU27WB(16),=RU27WF(16),=RU27WN(16),=RU27WO(16), =RU3HD/9/P(16),=RU90WZ(16),=RU9KC/4/M(16),=RU9SO/4(16),=RU9SO/4/P(16),=RV22WB(16),=RV2FZ/9(16), =RV90WB(16),=RV9CHB/4(16),=RW3SN/9(16),=RW3XX/9(16),=RW4WA/9/P(16),=RW90WC(16),=RW9FWR/9/M(16), =RW9JZ/4(16),=RW9JZ/9(16),=RX22WN(16),=RZ16WF(16),=RZ90W(16),=RZ90WU(16),=UA0AZA/9(16), =UA1AAE/9(16),=UA1ZPC/9(16),=UA4LU/9/P(16),=UA4PIE/9(16),=UA4PIE/9/M(16),=UA4PIE/9/P(16), =UA4PJM/9(16),=UA4PJM/9/M(16),=UA4PJM/9/P(16),=UA4PXR/9/M(16),=UA9KAA/4(16),=UA9KAA/9(16), - =UB5O/4(16),=UE10RFF/4(16),=UE90W(16), + =UE10RFF/4(16),=UE90W(16), R8Y(18)[31],R9Y(18)[31],RA8Y(18)[31],RA9Y(18)[31],RC8Y(18)[31],RC9Y(18)[31],RD8Y(18)[31], RD9Y(18)[31],RE8Y(18)[31],RE9Y(18)[31],RF8Y(18)[31],RF9Y(18)[31],RG8Y(18)[31],RG9Y(18)[31], RJ8Y(18)[31],RJ9Y(18)[31],RK8Y(18)[31],RK9Y(18)[31],RL8Y(18)[31],RL9Y(18)[31],RM8Y(18)[31], @@ -2587,8 +2609,8 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =RA/IK5MIC/M(18)[31],=RA0CCJ/9(18)[31],=RA50VT(18)[31],=RK1B/9(18)[31],=RP68BP(18)[31], =RP68TZ(18)[31],=RP70AF(18)[31],=RP70BP(18)[31],=RP70GA(18)[31],=RP71BP(18)[31],=RP72BP(18)[31], =RP73BP(18)[31],=RP9Y(18)[31],=RP9YAF(18)[31],=RP9YTZ(18)[31],=RT73GM(18)[31],=RW22WG(18)[31], - =RX6AY/9(18)[31],=UA0LLW/9(18)[31],=UA9MA/M(18)[31],=UA9UAX/9/P(18)[31],=UE0ZOO/9(18)[31], - =UE44R/9(18)[31],=UE80AL(18)[31], + =RX6AY/9(18)[31],=UA0LLW/9(18)[31],=UA0ZDY/9(18)[31],=UA9MA/M(18)[31],=UA9UAX/9/P(18)[31], + =UE0ZOO/9(18)[31],=UE44R/9(18)[31],=UE80AL(18)[31], R8Z(18)[31],R9Z(18)[31],RA8Z(18)[31],RA9Z(18)[31],RC8Z(18)[31],RC9Z(18)[31],RD8Z(18)[31], RD9Z(18)[31],RE8Z(18)[31],RE9Z(18)[31],RF8Z(18)[31],RF9Z(18)[31],RG8Z(18)[31],RG9Z(18)[31], RJ8Z(18)[31],RJ9Z(18)[31],RK8Z(18)[31],RK9Z(18)[31],RL8Z(18)[31],RL9Z(18)[31],RM8Z(18)[31], @@ -2617,21 +2639,21 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: =R44YETI/9(18)[32],=R50CQM(18)[32],=R7LZ/9(18)[32],=RA/UR5HVR(18)[32],=RA0/UR5HVR(18)[32], =RA1AMW/0(18)[32],=RA3AUU/0(18)[32],=RA3BB/0(18)[32],=RA3DA/0(18)[32],=RA3DA/9(18)[32], =RA4CQ/0(18)[32],=RA4CSX/0(18)[32],=RA4RU/0(18)[32],=RA9UT/0(18)[32],=RAEM(18)[32], - =RD110RAEM(18)[32],=RI0BV/0(18)[32],=RK3DZJ/9(18)[32],=RK56GC(18)[32],=RK80KEDR(18)[32], - =RL5G/9(18)[32],=RM0A(18)[32],=RM2D/9(18)[32],=RM9RZ/0(18)[32],=RN0A(18)[32],=RN110RAEM(18)[32], - =RN110RAEM/P(18)[32],=RP70KV(18)[32],=RP70RS(18)[32],=RP73KT(18)[32],=RT22SA(18)[32], - =RT9K/9(18)[32],=RU3FF/0(18)[32],=RU4CO/0(18)[32],=RV3DHC/0(18)[32],=RV3DHC/0/P(18)[32], - =RV9WP/9(18)[32],=RW3XN/0(18)[32],=RW3YC/0(18)[32],=RW3YC/9(18)[32],=RY1AAB/9(18)[32], - =RY1AAB/9/M(18)[32],=RZ3DSA/0(18)[32],=RZ3DZS/0(18)[32],=RZ9ON/9(18)[32],=UA0ACG/0(18)[32], - =UA0FCB/0(18)[32],=UA0FCB/0/P(18)[32],=UA0WG/0(18)[32],=UA0WW/0(18)[32],=UA0WY/0(18)[32], - =UA3ADN/0(18)[32],=UA4LU/0(18)[32],=UA4PT/0(18)[32],=UA6BTN/0(18)[32],=UA9UAX/9(18)[32], - =UA9WDK/0(18)[32],=UB1AJQ/0(18)[32],=UE1WFF/0(18)[32], + =RD110RAEM(18)[32],=RI0BV/0(18)[32],=RK3DZJ/9(18)[32],=RK56GC(18)[32],=RK6BBM/9(18)[32], + =RK80KEDR(18)[32],=RL5G/9(18)[32],=RM0A(18)[32],=RM2D/9(18)[32],=RM9RZ/0(18)[32],=RN0A(18)[32], + =RN110RAEM(18)[32],=RN110RAEM/P(18)[32],=RP70KV(18)[32],=RP70RS(18)[32],=RP73KT(18)[32], + =RT22SA(18)[32],=RT9K/9(18)[32],=RU3FF/0(18)[32],=RU4CO/0(18)[32],=RV3DHC/0(18)[32], + =RV3DHC/0/P(18)[32],=RV9WP/9(18)[32],=RW3XN/0(18)[32],=RW3YC/0(18)[32],=RW3YC/9(18)[32], + =RY1AAB/9(18)[32],=RY1AAB/9/M(18)[32],=RZ3DSA/0(18)[32],=RZ3DZS/0(18)[32],=RZ9ON/9(18)[32], + =UA0ACG/0(18)[32],=UA0FCB/0(18)[32],=UA0FCB/0/P(18)[32],=UA0WG/0(18)[32],=UA0WW/0(18)[32], + =UA0WW/M(18)[32],=UA0WY/0(18)[32],=UA3ADN/0(18)[32],=UA4LU/0(18)[32],=UA4PT/0(18)[32], + =UA6BTN/0(18)[32],=UA9UAX/9(18)[32],=UA9WDK/0(18)[32],=UB1AJQ/0(18)[32],=UE1WFF/0(18)[32], =R0/UR8LV(18)[22],=R100D(18)[22],=R100DI(18)[22],=R3CA/9(18)[22],=RA3XR/0(18)[22], =RA9LI/0(18)[22],=RI0B(18)[22],=RI0BDI(18)[22],=RS0B(18)[22],=RS0B/P(18)[22],=RV3EFH/0(18)[22], - =RW3GW/0(18)[22],=RX6LMQ/0(18)[22],=RZ9DX/0(18)[22],=RZ9DX/0/A(18)[22],=RZ9DX/0/P(18)[22], - =RZ9DX/9(18)[22],=RZ9DX/9/P(18)[22],=RZ9OO/0(18)[22],=UA1ADQ/0(18)[22],=UA3HY/0(18)[22], - =UA3YH/0(18)[22],=UA4RX/0(18)[22],=UA9FL/0(18)[22],=UE0BFF(18)[22],=UE44POL(18)[22], - =UE44POL/P(18)[22],=UE73D(18)[22],=UE73DI(18)[22], + =RW1AI/9(18)[22],=RW3GW/0(18)[22],=RX6LMQ/0(18)[22],=RZ9DX/0(18)[22],=RZ9DX/0/A(18)[22], + =RZ9DX/0/P(18)[22],=RZ9DX/9(18)[22],=RZ9DX/9/P(18)[22],=RZ9OO/0(18)[22],=UA1ADQ/0(18)[22], + =UA3HY/0(18)[22],=UA3YH/0(18)[22],=UA4RX/0(18)[22],=UA9FL/0(18)[22],=UE0BFF(18)[22], + =UE44POL(18)[22],=UE44POL/P(18)[22],=UE73D(18)[22],=UE73DI(18)[22], R0C(19)[34],RA0C(19)[34],RC0C(19)[34],RD0C(19)[34],RE0C(19)[34],RF0C(19)[34],RG0C(19)[34], RI0C(19)[34],RJ0C(19)[34],RK0C(19)[34],RL0C(19)[34],RM0C(19)[34],RN0C(19)[34],RO0C(19)[34], RQ0C(19)[34],RT0C(19)[34],RU0C(19)[34],RV0C(19)[34],RW0C(19)[34],RX0C(19)[34],RY0C(19)[34], @@ -2692,33 +2714,33 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: UF0N(19)[34],UG0L(19)[34],UG0M(19)[34],UG0N(19)[34],UH0L(19)[34],UH0M(19)[34],UH0N(19)[34], UI0L(19)[34],UI0M(19)[34],UI0N(19)[34],=R0HQ(19)[34],=R150L(19)[34],=R17CWH(19)[34], =R20RRC/0(19)[34],=R3BY/0(19)[34],=R3HD/0(19)[34],=R66IOTA(19)[34],=R70LWA(19)[34], - =R8CW/0(19)[34],=R8XW/0(19)[34],=R9XT/0(19)[34],=RD3BN/0(19)[34],=RL5G/0/P(19)[34],=RM0M(19)[34], - =RM5M/0(19)[34],=RN1NS/0(19)[34],=RP0L(19)[34],=RP0LPK(19)[34],=RP60P(19)[34],=RP66V(19)[34], - =RP67SD(19)[34],=RP67V(19)[34],=RP68SD(19)[34],=RP68V(19)[34],=RP69SD(19)[34],=RP69V(19)[34], - =RP70DG(19)[34],=RP70SD(19)[34],=RP70V(19)[34],=RP71DG(19)[34],=RP71SD(19)[34],=RP71V(19)[34], - =RP72DG(19)[34],=RP72SD(19)[34],=RP72V(19)[34],=RP73DG(19)[34],=RP73SD(19)[34],=RP73V(19)[34], - =RU3BY/0(19)[34],=RU5D/0(19)[34],=RV1AW/0(19)[34],=RV3DSA/0(19)[34],=RW22GO(19)[34], - =RW3LG/0(19)[34],=RX15RX(19)[34],=UA0SDX/0(19)[34],=UA0SIK/0(19)[34],=UA3AHA/0(19)[34], - =UA4SBZ/0(19)[34],=UA6MF/0(19)[34],=UA7R/0(19)[34],=UB0LAP/P(19)[34],=UC0LAF/P(19)[34], - =UE1RFF/0(19)[34],=UE70MA(19)[34],=UE75L(19)[34], + =R8CW/0(19)[34],=R8XW/0(19)[34],=R9XT/0(19)[34],=RC/N6TCZ(19)[34],=RD3BN/0(19)[34], + =RL5G/0/P(19)[34],=RM0M(19)[34],=RM5M/0(19)[34],=RN1NS/0(19)[34],=RP0L(19)[34],=RP0LPK(19)[34], + =RP60P(19)[34],=RP66V(19)[34],=RP67SD(19)[34],=RP67V(19)[34],=RP68SD(19)[34],=RP68V(19)[34], + =RP69SD(19)[34],=RP69V(19)[34],=RP70DG(19)[34],=RP70SD(19)[34],=RP70V(19)[34],=RP71DG(19)[34], + =RP71SD(19)[34],=RP71V(19)[34],=RP72DG(19)[34],=RP72SD(19)[34],=RP72V(19)[34],=RP73DG(19)[34], + =RP73SD(19)[34],=RP73V(19)[34],=RU3BY/0(19)[34],=RU5D/0(19)[34],=RV1AW/0(19)[34], + =RV3DSA/0(19)[34],=RW22GO(19)[34],=RW3LG/0(19)[34],=RX15RX(19)[34],=UA0SDX/0(19)[34], + =UA0SIK/0(19)[34],=UA3AHA/0(19)[34],=UA4SBZ/0(19)[34],=UA6MF/0(19)[34],=UA7R/0(19)[34], + =UB0LAP/P(19)[34],=UC0LAF/P(19)[34],=UE1RFF/0(19)[34],=UE70MA(19)[34],=UE75L(19)[34], R0O(18)[32],RA0O(18)[32],RC0O(18)[32],RD0O(18)[32],RE0O(18)[32],RF0O(18)[32],RG0O(18)[32], RJ0O(18)[32],RK0O(18)[32],RL0O(18)[32],RM0O(18)[32],RN0O(18)[32],RO0O(18)[32],RQ0O(18)[32], RT0O(18)[32],RU0O(18)[32],RV0O(18)[32],RW0O(18)[32],RX0O(18)[32],RY0O(18)[32],RZ0O(18)[32], U0O(18)[32],UA0O(18)[32],UB0O(18)[32],UC0O(18)[32],UD0O(18)[32],UE0O(18)[32],UF0O(18)[32], UG0O(18)[32],UH0O(18)[32],UI0O(18)[32],=R100FNR(18)[32],=RA0CGI/0(18)[32],=RA9FTM/0(18)[32], =RA9JJ/0(18)[32],=RK3RB/0(18)[32],=RK4HM/0(18)[32],=RU0UA/0(18)[32],=RV3ACA/0(18)[32], - =RW4CG/0(18)[32],=RW4CG/0/P(18)[32],=UA0WW/M(18)[32], + =RW4CG/0(18)[32],=RW4CG/0/P(18)[32], R0Q(19)[23],RA0Q(19)[23],RC0Q(19)[23],RD0Q(19)[23],RE0Q(19)[23],RF0Q(19)[23],RG0Q(19)[23], RI0Q(19)[23],RJ0Q(19)[23],RK0Q(19)[23],RL0Q(19)[23],RM0Q(19)[23],RN0Q(19)[23],RO0Q(19)[23], RQ0Q(19)[23],RT0Q(19)[23],RU0Q(19)[23],RV0Q(19)[23],RW0Q(19)[23],RX0Q(19)[23],RY0Q(19)[23], RZ0Q(19)[23],U0Q(19)[23],UA0Q(19)[23],UB0Q(19)[23],UC0Q(19)[23],UD0Q(19)[23],UE0Q(19)[23], UF0Q(19)[23],UG0Q(19)[23],UH0Q(19)[23],UI0Q(19)[23],=R1ZBH/0(19)[23],=R2DG/0(19)[23], =R3CA/0(19)[23],=R3CA/0/M(19)[23],=R3RRC/0(19)[23],=R4AK/0(19)[23],=R70ASIA(19)[23], - =R73EPC/P(19)[23],=R9OOO/0(19)[23],=RA/UT5IA(19)[23],=RA0STT/0/M(19)[23],=RA6UAH/0(19)[23], - =RA9DA/0(19)[23],=RD3QA/0(19)[23],=RF3A/0(19)[23],=RK6YYA/0/P(19)[23],=RN6LFF/0(19)[23], - =RP0Q(19)[23],=RP70AY(19)[23],=RP71AS(19)[23],=RT0Q(19)[23],=RW110RAEM(19)[23],=RW22WR(19)[23], - =RZ3BY/0(19)[23],=UA0SVD/0(19)[23],=UA1PBA/0(19)[23],=UA9CTT/0(19)[23],=UA9KW/0(19)[23], - =UB5O/0(19)[23],=UE60QA(19)[23],=UE6MAC/0(19)[23], + =R73EPC/P(19)[23],=R9OOO/0(19)[23],=RA/UT5IA(19)[23],=RA0STT/0/M(19)[23],=RA6AEW/0(19)[23], + =RA6UAH/0(19)[23],=RA9DA/0(19)[23],=RD3QA/0(19)[23],=RF3A/0(19)[23],=RK6YYA/0/P(19)[23], + =RN6LFF/0(19)[23],=RP0Q(19)[23],=RP70AY(19)[23],=RP71AS(19)[23],=RT0Q(19)[23],=RW110RAEM(19)[23], + =RW22WR(19)[23],=RZ3BY/0(19)[23],=UA0SVD/0(19)[23],=UA1PBA/0(19)[23],=UA9CTT/0(19)[23], + =UA9KW/0(19)[23],=UB5O/0(19)[23],=UE60QA(19)[23],=UE6MAC/0(19)[23], R0R(18)[32],R0S(18)[32],R0T(18)[32],RA0R(18)[32],RA0S(18)[32],RA0T(18)[32],RC0R(18)[32], RC0S(18)[32],RC0T(18)[32],RD0R(18)[32],RD0S(18)[32],RD0T(18)[32],RE0R(18)[32],RE0S(18)[32], RE0T(18)[32],RF0R(18)[32],RF0S(18)[32],RF0T(18)[32],RG0R(18)[32],RG0S(18)[32],RG0T(18)[32], @@ -2750,8 +2772,8 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: U0W(18)[31],UA0W(18)[31],UB0W(18)[31],UC0W(18)[31],UD0W(18)[31],UE0W(18)[31],UF0W(18)[31], UG0W(18)[31],UH0W(18)[31],UI0W(18)[31],=R01DTV/9(18)[31],=R10RTRS/0(18)[31],=RA0AM/0(18)[31], =RP0W(18)[31],=RP0W/P(18)[31],=RP0WWS(18)[31],=RP70SL(18)[31],=RP72SL(18)[31],=RV0AE/0/FF(18)[31], - =RZ0AM/0(18)[31],=RZ22WW(18)[31],=UA0FCB/P(18)[31],=UA9UAX/0/M(18)[31],=UE0ARD/0(18)[31], - =UE10RFF/9(18)[31],=UE1RFF/0/P(18)[31],=UE9FDA/0(18)[31],=UE9FDA/0/M(18)[31], + =RZ0AM/0(18)[31],=RZ22WW(18)[31],=UA0FCB/P(18)[31],=UA9UAX/0/M(18)[31],=UB5O/9(18)[31], + =UE0ARD/0(18)[31],=UE10RFF/9(18)[31],=UE1RFF/0/P(18)[31],=UE9FDA/0(18)[31],=UE9FDA/0/M(18)[31], =R23RRC(19)[25],=UA6HMC/0(19)[25], R0Y(23)[32],RA0Y(23)[32],RC0Y(23)[32],RD0Y(23)[32],RE0Y(23)[32],RF0Y(23)[32],RG0Y(23)[32], RJ0Y(23)[32],RK0Y(23)[32],RL0Y(23)[32],RM0Y(23)[32],RN0Y(23)[32],RO0Y(23)[32],RQ0Y(23)[32], @@ -2785,11 +2807,10 @@ Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9: UC0V(18)[32],UD0U(18)[32],UD0V(18)[32],UE0U(18)[32],UE0V(18)[32],UF0U(18)[32],UF0V(18)[32], UG0U(18)[32],UG0V(18)[32],UH0U(18)[32],UH0V(18)[32],UI0U(18)[32],UI0V(18)[32],=R120RQ(18)[32], =R16FRA(18)[32],=R20RCK(18)[32],=R20RCK/0(18)[32],=R25ARCK(18)[32],=R70BP/0(18)[32], - =R7AB/9(18)[32],=R9PS/0(18)[32],=RA/UR5WT(18)[32],=RA77VV(18)[32],=RB110RAEM(18)[32], - =RK0AXC/0(18)[32],=RK0AXC/0/M(18)[32],=RK6YYA/0(18)[32],=RK6YYA/0/M(18)[32],=RN4CU/0(18)[32], - =RN4CU/0/P(18)[32],=RN9A/0(18)[32],=RP0UWZ(18)[32],=RP0UZF(18)[32],=RW0UM/0(18)[32], - =UA3AKO/0/M(18)[32],=UE15UWC(18)[32],=UE23DZO(18)[32],=UE70UVV(18)[32],=UE70UWW(18)[32], - =UE75VV(18)[32]; + =R7AB/9(18)[32],=RA/UR5WT(18)[32],=RA77VV(18)[32],=RB110RAEM(18)[32],=RK0AXC/0(18)[32], + =RK0AXC/0/M(18)[32],=RK6YYA/0(18)[32],=RK6YYA/0/M(18)[32],=RN4CU/0(18)[32],=RN4CU/0/P(18)[32], + =RN9A/0(18)[32],=RP0UWZ(18)[32],=RP0UZF(18)[32],=RW0UM/0(18)[32],=UA3AKO/0/M(18)[32], + =UE15UWC(18)[32],=UE23DZO(18)[32],=UE70UVV(18)[32],=UE70UWW(18)[32],=UE75VV(18)[32]; Uzbekistan: 17: 30: AS: 41.40: -63.97: -5.0: UK: UJ,UK,UL,UM,=U8AG,=U8AH,=U8AI,=UK/DF3DS/Z; Kazakhstan: 17: 30: AS: 48.17: -65.18: -5.0: UN: @@ -2846,7 +2867,7 @@ Marshall Islands: 31: 65: OC: 9.08: -167.33: -12.0: V7: Brunei Darussalam: 28: 54: OC: 4.50: -114.60: -8.0: V8: V8; Canada: 05: 09: NA: 44.35: 78.75: 5.0: VE: - CF,CG,CJ,CK,VA,VB,VC,VE,VG,VX,VY9,XL,XM,=VE2EM/M,=VER20180909, + CF,CG,CJ,CK,VA,VB,VC,VE,VG,VX,VY9,XL,XM,=VE2EM/M,=VER20181120, =CF7AAW/1,=CK7IG/1,=VA3QSL/1,=VE1REC/LH,=VE1REC/M/LH,=VE3RSA/1,=VE7IG/1, CF2[4],CG2[4],CJ2[4],CK2[4],VA2[4],VB2[4],VC2[4],VE2[4],VG2[4],VX2[4],XL2[4],XM2[4],=4Y1CAO[4], =CY2ZT/2[4],=VA3ELE/2[4],=VA3MPM/2[4],=VA7AQ/P[4],=VE2/G3ZAY/P[4],=VE2/M0BLF/P[4],=VE2FK[9], @@ -2907,14 +2928,14 @@ Australia: 30: 59: OC: -23.70: -132.33: -10.0: VK: =VK2RAS/6(29)[58],=VK3DP/6(29)[58],=VK3DXI/6(29)[58],=VK3FPF/6(29)[58],=VK3FPIL/6(29)[58], =VK3JBL/6(29)[58],=VK3KG/6(29)[58],=VK3MCD/6(29)[58],=VK3NUT/6(29)[58],=VK3OHM/6(29)[58], =VK3YQS/6(29)[58],=VK4IXU/6(29)[58],=VK4JWG/6(29)[58],=VK4NAI/6(29)[58],=VK4NH/6(29)[58], - =VK4VXX/6(29)[58],=VK4VXX/8(29)[58],=VK5CC/6(29)[58],=VK5CE/6(29)[58],=VK5CE/9(29)[58], + =VK4VXX(29)[58],=VK4VXX/6(29)[58],=VK5CC/6(29)[58],=VK5CE/6(29)[58],=VK5CE/9(29)[58], =VK5MAV/6(29)[58],=VK5NHG/6(29)[58],=VK5PAS/6(29)[58],=VK6BV/AF(29)[58],=VK9AR(29)[58], =VK9AR/6(29)[58],=VK9ZLH/6(29)[58], =VK6JON/7,=VK6KSJ/7,=VK6ZN/7,=VK7NWT/LH,=VK8XX/7, AX8(29)[55],VH8(29)[55],VI8(29)[55],VJ8(29)[55],VK8(29)[55],VL8(29)[55],VM8(29)[55],VN8(29)[55], VZ8(29)[55],=VI5RAS/8(29)[55],=VK1AHS/8(29)[55],=VK1FOC/8(29)[55],=VK2CBD/8(29)[55], =VK2CR/8(29)[55],=VK2GR/8(29)[55],=VK2ZK/8(29)[55],=VK3BYD/8(29)[55],=VK3DHI/8(29)[55], - =VK3QB/8(29)[55],=VK4FOC/8(29)[55],=VK4HDG/8(29)[55],=VK4VXX/P(29)[55],=VK4WWI/8(29)[55], + =VK3QB/8(29)[55],=VK4FOC/8(29)[55],=VK4HDG/8(29)[55],=VK4VXX/8(29)[55],=VK4WWI/8(29)[55], =VK5CE/8(29)[55],=VK5HSX/8(29)[55],=VK5MAV/8(29)[55],=VK5UK/8(29)[55],=VK8HLF/J(29)[55]; Heard Island: 39: 68: AF: -53.08: -73.50: -5.0: VK0H: =VK0/K2ARB,=VK0EK,=VK0LD; @@ -2938,8 +2959,8 @@ Willis Island: 30: 55: OC: -16.22: -150.02: -10.0: VK9W: AX9W,AX9Z,VH9W,VH9Z,VI9W,VI9Z,VJ9W,VJ9Z,VK9FW,VK9W,VK9Z,VL9W,VL9Z,VM9W,VM9Z,VN9W,VN9Z,VZ9W,VZ9Z, =VK9DWX; Christmas Island: 29: 54: OC: -10.48: -105.63: -7.0: VK9X: - AX9X,VH9X,VI9X,VJ9X,VK9FX,VK9KX,VK9X,VL9X,VM9X,VN9X,VZ9X,=VK3FY/9,=VK3HEX/9,=VK9AA,=VK9AN,=VK9EX, - =VK9JD,=VK9VKL; + AX9X,VH9X,VI9X,VJ9X,VK9FX,VK9KX,VK9X,VL9X,VM9X,VN9X,VZ9X,=VI9PEACE,=VK3FY/9,=VK3HEX/9,=VK9AA, + =VK9AN,=VK9EX,=VK9JD,=VK9VKL; Anguilla: 08: 11: NA: 18.23: 63.00: 4.0: VP2E: VP2E; Montserrat: 08: 11: NA: 16.75: 62.18: 4.0: VP2M: From e586838f554a9bdcf50ca972ef083a83e6477d14 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Sat, 8 Dec 2018 21:49:02 -0500 Subject: [PATCH 60/62] Add Release Notes for the GA release of WSJT-X 2.0. --- Release_Notes.txt | 58 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/Release_Notes.txt b/Release_Notes.txt index 9e8f8041e..176106626 100644 --- a/Release_Notes.txt +++ b/Release_Notes.txt @@ -12,6 +12,64 @@ Copyright 2001 - 2018 by Joe Taylor, K1JT. + Release: WSJT-X 2.0 + December 10, 2018 + ----------------------- + +WSJT-X 2.0 is a major update that introduces new protocols for FT8 and +MSK144. The new protocols become the world-wide standards on December +10, 2018. + +WSJT-X 2.0 cannot communicte in these modes with other stations using +WSJT-X v1.9.1 or erlier. + +Please help by urging everyone to upgrade no later than January 1, 2019. + +New features since WSJT-X v1.9.1: + +1. Compound and nonstandard callsigns are automatically recognized and +handled using new message formats. + +2. The new FT8 protocol provides optimized message formats for North +American VHF contests, European VHF contests, ARRL Field Day, and ARRL +RTTY Roundup. Similarly, the new MSK144 protocol provides optimized +message formats for North American VHF and European VHF contests. +Full support is provided for "/R" and "/P" calls in the relevant +contests. + +3. The new protocols provide nearly equal (or better) sensitivity +compared to the old ones, and lower false decode rates. + +4. New logging features are provided for contesting and for "Fox" +(DXpedition) mode. Logging is optionally integrated with N1MM Logger+ +and WriteLog. + +5. Color highlighting of decoded messages provides worked-before +status for callsigns, grid locators, DXCC entities, continents, CQ +Zones, and ITU zones on a “by band” and “by mode” basis, and for +stations that have uploaded their logs to Logbook of the World (LoTW) +within a specified time interval. + +6. The WSPR decoder now achieves decodes down to S/N = -31 dB. For +the particular benefit of LF/MF users, an option "No own call decodes" +has been added. + +7. The UDP messages sent to companion programs have been expanded and +improved. + +Some details of changes since WSJT-X-rc5 include the following: + + - Initial load of ADIF log in background + - Correct the UTC displayed in Fox/Contest log + - Faster entry and correct scrolling for Fox/Contest log + - Add contest exchanges and contest type to UDP logged QSO message + - Fix a bug that suppressed decodes with negative DT. + - AK and HI are DXCCs, not states, for RTTY Roundup + - Fix improper truncation of some non-FT8 messages in ALL.TXT + - Various minor bug fixes and code cleanup + - Update the WSJT-X User Guide to v2.0 (more to come...) + - Update cty.dat + Release: WSJT-X 2.0-rc5 November 26, 2018 ----------------------- From 928beb4f4adde68f79fe1ab3afb113e99e592e1f Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Sat, 8 Dec 2018 22:32:42 -0600 Subject: [PATCH 61/62] Fix a couple of typos. --- Release_Notes.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Release_Notes.txt b/Release_Notes.txt index 176106626..b318eb3cb 100644 --- a/Release_Notes.txt +++ b/Release_Notes.txt @@ -20,8 +20,8 @@ WSJT-X 2.0 is a major update that introduces new protocols for FT8 and MSK144. The new protocols become the world-wide standards on December 10, 2018. -WSJT-X 2.0 cannot communicte in these modes with other stations using -WSJT-X v1.9.1 or erlier. +WSJT-X 2.0 cannot communicate in these modes with other stations using +WSJT-X v1.9.1 or earlier. Please help by urging everyone to upgrade no later than January 1, 2019. From 203dd239cb9d1a962752d90cb66a573c5117f1db Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sun, 9 Dec 2018 18:21:40 +0000 Subject: [PATCH 62/62] Rationalize OpenSSL installation instructions in the User Guide --- doc/user_guide/en/install-windows.adoc | 22 +++++++++++++++------- doc/user_guide/en/settings-colors.adoc | 17 ----------------- 2 files changed, 15 insertions(+), 24 deletions(-) diff --git a/doc/user_guide/en/install-windows.adoc b/doc/user_guide/en/install-windows.adoc index d0d51e02e..e3f75858c 100644 --- a/doc/user_guide/en/install-windows.adoc +++ b/doc/user_guide/en/install-windows.adoc @@ -29,12 +29,11 @@ TIP: Your computer may be configured so that this directory is [[OPENSSL]] -* image:LoTW_TLS_error.png[_WSJT-X_ LoTW download TLS error, - role="right"] From this version onward _WSJT-X_ requires the - _OpenSSL_ libraries to be installed. Suitable libraries may already - be installed on your system, if they are not you will see this error - shortly after startup. To fix this you need to install the _OpenSSL_ - libraries. +* image:LoTW_TLS_error.png[_WSJT-X_ LoTW download TLS error, role="right"] + From this version onward _WSJT-X_ requires the _OpenSSL_ libraries + to be installed. Suitable libraries may already be installed on your + system, if they are not you will see this error shortly after + startup. To fix this you need to install the _OpenSSL_ libraries. ** You can download a suitable _OpenSSL_ package for from {win_openssl_packages}, you need the latest *Win32 v1.0.2 Lite* @@ -43,7 +42,7 @@ TIP: Your computer may be configured so that this directory is {win32_openssl}. ** Install the package and accept the default options, including the - option to copy the OpenSSL DLLs to the Windows system directory + option to copy the _OpenSSL_ DLLs to the Windows system directory (this is important). + NOTE: If you still get the same network error after installing the @@ -51,6 +50,15 @@ NOTE: If you still get the same network error after installing the {msvcpp_redist} component. From the download page select `vcredist_x86.exe` and run it to install. +TIP: If you cannot install the _OpenSSL_ libraries or do not have an + Internet connection on the computer used to run + _WSJT-X_ {VERSION_MAJOR}.{VERSION_MINOR}, you can download + the _LoTW_ file manually. Go to + https://lotw.arrl.org/lotw-user-activity.csv in a web browser, + download the file, then move it to the _WSJT-X_ log files + directory. This directory can be opened by selecting + *File | Open log directory*. + * _WSJT-X_ expects your sound card to do its raw sampling at 48000 Hz. To ensure that this will be so when running under recent versions of Windows, open the system's *Sound* control panel and select in turn diff --git a/doc/user_guide/en/settings-colors.adoc b/doc/user_guide/en/settings-colors.adoc index 3613eb4b5..a33230f9a 100644 --- a/doc/user_guide/en/settings-colors.adoc +++ b/doc/user_guide/en/settings-colors.adoc @@ -45,20 +45,3 @@ this is available on line. * Adjust *Age of of last upload less than* to set the period within which a station must have uploaded their log to LoTW to trigger highlighting. - -TIP: If you are using Windows and experience LoTW download errors, go -here https://slproweb.com/products/Win32OpenSSL.html and download the -OpenSSL installer, specifically the “Win32 OpenSSL v1.0.2q Light” -version. Note that this is the correct version even if you are running -64-bit Windows. The direct download link is -https://slproweb.com/download/Win32OpenSSL_Light-1_0_2q.exe. Run the -installer with all default options and accept the option to install -into the Windows system directory. - -TIP: If you cannot install the OpenSSL libraries or do not have an -Internet connection on the computer used to run WSJT-X 2.0, you can -download the LoTW file manually. Go to -https://lotw.arrl.org/lotw-user-activity.csv in a web browser, -download the file, then move it to the WSJT-X log files -directory. This directory can be opened by selecting File | Open log -directory.