summaryrefslogtreecommitdiffstats
path: root/src/corelib/io
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/io')
-rw-r--r--src/corelib/io/forkfd_qt.cpp74
-rw-r--r--src/corelib/io/io.pri9
-rw-r--r--src/corelib/io/qabstractfileengine.cpp14
-rw-r--r--src/corelib/io/qabstractfileengine_p.h14
-rw-r--r--src/corelib/io/qbuffer.cpp18
-rw-r--r--src/corelib/io/qbuffer.h36
-rw-r--r--src/corelib/io/qdatastream.cpp15
-rw-r--r--src/corelib/io/qdatastream.h19
-rw-r--r--src/corelib/io/qdatastream_p.h14
-rw-r--r--src/corelib/io/qdataurl.cpp14
-rw-r--r--src/corelib/io/qdataurl_p.h14
-rw-r--r--src/corelib/io/qdebug.cpp214
-rw-r--r--src/corelib/io/qdebug.h140
-rw-r--r--src/corelib/io/qdir.cpp43
-rw-r--r--src/corelib/io/qdir.h14
-rw-r--r--src/corelib/io/qdir_p.h14
-rw-r--r--src/corelib/io/qdiriterator.cpp14
-rw-r--r--src/corelib/io/qdiriterator.h14
-rw-r--r--src/corelib/io/qfile.cpp14
-rw-r--r--src/corelib/io/qfile.h26
-rw-r--r--src/corelib/io/qfile_p.h14
-rw-r--r--src/corelib/io/qfiledevice.cpp14
-rw-r--r--src/corelib/io/qfiledevice.h32
-rw-r--r--src/corelib/io/qfiledevice_p.h16
-rw-r--r--src/corelib/io/qfileinfo.cpp14
-rw-r--r--src/corelib/io/qfileinfo.h14
-rw-r--r--src/corelib/io/qfileinfo_p.h14
-rw-r--r--src/corelib/io/qfileselector.cpp49
-rw-r--r--src/corelib/io/qfileselector.h12
-rw-r--r--src/corelib/io/qfileselector_p.h12
-rw-r--r--src/corelib/io/qfilesystemengine.cpp14
-rw-r--r--src/corelib/io/qfilesystemengine_p.h14
-rw-r--r--src/corelib/io/qfilesystemengine_unix.cpp73
-rw-r--r--src/corelib/io/qfilesystemengine_win.cpp14
-rw-r--r--src/corelib/io/qfilesystementry.cpp22
-rw-r--r--src/corelib/io/qfilesystementry_p.h14
-rw-r--r--src/corelib/io/qfilesystemiterator_p.h14
-rw-r--r--src/corelib/io/qfilesystemiterator_unix.cpp14
-rw-r--r--src/corelib/io/qfilesystemiterator_win.cpp14
-rw-r--r--src/corelib/io/qfilesystemmetadata_p.h14
-rw-r--r--src/corelib/io/qfilesystemwatcher.cpp34
-rw-r--r--src/corelib/io/qfilesystemwatcher.h14
-rw-r--r--src/corelib/io/qfilesystemwatcher_fsevents.mm48
-rw-r--r--src/corelib/io/qfilesystemwatcher_fsevents_p.h22
-rw-r--r--src/corelib/io/qfilesystemwatcher_inotify.cpp14
-rw-r--r--src/corelib/io/qfilesystemwatcher_inotify_p.h18
-rw-r--r--src/corelib/io/qfilesystemwatcher_kqueue.cpp14
-rw-r--r--src/corelib/io/qfilesystemwatcher_kqueue_p.h14
-rw-r--r--src/corelib/io/qfilesystemwatcher_p.h14
-rw-r--r--src/corelib/io/qfilesystemwatcher_polling.cpp14
-rw-r--r--src/corelib/io/qfilesystemwatcher_polling_p.h18
-rw-r--r--src/corelib/io/qfilesystemwatcher_win.cpp14
-rw-r--r--src/corelib/io/qfilesystemwatcher_win_p.h14
-rw-r--r--src/corelib/io/qfsfileengine.cpp14
-rw-r--r--src/corelib/io/qfsfileengine_iterator.cpp14
-rw-r--r--src/corelib/io/qfsfileengine_iterator_p.h22
-rw-r--r--src/corelib/io/qfsfileengine_p.h82
-rw-r--r--src/corelib/io/qfsfileengine_unix.cpp14
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp14
-rw-r--r--src/corelib/io/qiodevice.cpp224
-rw-r--r--src/corelib/io/qiodevice.h14
-rw-r--r--src/corelib/io/qiodevice_p.h18
-rw-r--r--src/corelib/io/qipaddress.cpp15
-rw-r--r--src/corelib/io/qipaddress_p.h12
-rw-r--r--src/corelib/io/qlockfile.cpp12
-rw-r--r--src/corelib/io/qlockfile.h12
-rw-r--r--src/corelib/io/qlockfile_p.h12
-rw-r--r--src/corelib/io/qlockfile_unix.cpp12
-rw-r--r--src/corelib/io/qlockfile_win.cpp12
-rw-r--r--src/corelib/io/qloggingcategory.cpp87
-rw-r--r--src/corelib/io/qloggingcategory.h31
-rw-r--r--src/corelib/io/qloggingregistry.cpp23
-rw-r--r--src/corelib/io/qloggingregistry_p.h14
-rw-r--r--src/corelib/io/qnoncontiguousbytedevice.cpp43
-rw-r--r--src/corelib/io/qnoncontiguousbytedevice_p.h69
-rw-r--r--src/corelib/io/qprocess.cpp45
-rw-r--r--src/corelib/io/qprocess.h34
-rw-r--r--src/corelib/io/qprocess_p.h34
-rw-r--r--src/corelib/io/qprocess_unix.cpp564
-rw-r--r--src/corelib/io/qprocess_win.cpp14
-rw-r--r--src/corelib/io/qprocess_wince.cpp14
-rw-r--r--src/corelib/io/qresource.cpp36
-rw-r--r--src/corelib/io/qresource.h14
-rw-r--r--src/corelib/io/qresource_iterator.cpp14
-rw-r--r--src/corelib/io/qresource_iterator_p.h20
-rw-r--r--src/corelib/io/qresource_p.h74
-rw-r--r--src/corelib/io/qsavefile.cpp12
-rw-r--r--src/corelib/io/qsavefile.h12
-rw-r--r--src/corelib/io/qsavefile_p.h12
-rw-r--r--src/corelib/io/qsettings.cpp19
-rw-r--r--src/corelib/io/qsettings.h16
-rw-r--r--src/corelib/io/qsettings_mac.cpp14
-rw-r--r--src/corelib/io/qsettings_p.h32
-rw-r--r--src/corelib/io/qsettings_win.cpp14
-rw-r--r--src/corelib/io/qsettings_winrt.cpp40
-rw-r--r--src/corelib/io/qstandardpaths.cpp30
-rw-r--r--src/corelib/io/qstandardpaths.h15
-rw-r--r--src/corelib/io/qstandardpaths_android.cpp15
-rw-r--r--src/corelib/io/qstandardpaths_blackberry.cpp13
-rw-r--r--src/corelib/io/qstandardpaths_haiku.cpp214
-rw-r--r--src/corelib/io/qstandardpaths_ios.mm49
-rw-r--r--src/corelib/io/qstandardpaths_mac.mm24
-rw-r--r--src/corelib/io/qstandardpaths_unix.cpp45
-rw-r--r--src/corelib/io/qstandardpaths_win.cpp16
-rw-r--r--src/corelib/io/qstandardpaths_winrt.cpp15
-rw-r--r--src/corelib/io/qstorageinfo.cpp34
-rw-r--r--src/corelib/io/qstorageinfo.h34
-rw-r--r--src/corelib/io/qstorageinfo_mac.cpp34
-rw-r--r--src/corelib/io/qstorageinfo_p.h40
-rw-r--r--src/corelib/io/qstorageinfo_stub.cpp12
-rw-r--r--src/corelib/io/qstorageinfo_unix.cpp124
-rw-r--r--src/corelib/io/qstorageinfo_win.cpp42
-rw-r--r--src/corelib/io/qtemporarydir.cpp14
-rw-r--r--src/corelib/io/qtemporarydir.h14
-rw-r--r--src/corelib/io/qtemporaryfile.cpp15
-rw-r--r--src/corelib/io/qtemporaryfile.h18
-rw-r--r--src/corelib/io/qtemporaryfile_p.h14
-rw-r--r--src/corelib/io/qtextstream.cpp169
-rw-r--r--src/corelib/io/qtextstream.h16
-rw-r--r--src/corelib/io/qtextstream_p.h22
-rw-r--r--src/corelib/io/qtldurl.cpp16
-rw-r--r--src/corelib/io/qtldurl_p.h14
-rw-r--r--src/corelib/io/qurl.cpp21
-rw-r--r--src/corelib/io/qurl.h22
-rw-r--r--src/corelib/io/qurl_mac.mm36
-rw-r--r--src/corelib/io/qurl_p.h14
-rw-r--r--src/corelib/io/qurlidna.cpp14
-rw-r--r--src/corelib/io/qurlquery.cpp12
-rw-r--r--src/corelib/io/qurlquery.h12
-rw-r--r--src/corelib/io/qurlrecode.cpp16
-rw-r--r--src/corelib/io/qurltlds_p.h20906
-rw-r--r--src/corelib/io/qurltlds_p.h.INFO4
-rw-r--r--src/corelib/io/qwindowspipereader.cpp14
-rw-r--r--src/corelib/io/qwindowspipereader_p.h14
-rw-r--r--src/corelib/io/qwindowspipewriter.cpp14
-rw-r--r--src/corelib/io/qwindowspipewriter_p.h14
-rw-r--r--src/corelib/io/qwinoverlappedionotifier.cpp14
-rw-r--r--src/corelib/io/qwinoverlappedionotifier_p.h14
138 files changed, 13871 insertions, 11526 deletions
diff --git a/src/corelib/io/forkfd_qt.cpp b/src/corelib/io/forkfd_qt.cpp
new file mode 100644
index 0000000000..56a39f8df0
--- /dev/null
+++ b/src/corelib/io/forkfd_qt.cpp
@@ -0,0 +1,74 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Intel Corporation
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+// these might be defined via precompiled headers
+#ifndef _POSIX_C_SOURCE
+# define _POSIX_C_SOURCE 200809L
+#endif
+#if !defined(_XOPEN_SOURCE) && !defined(__QNXNTO__) && !defined(ANDROID)
+# define _XOPEN_SOURCE 500
+#endif
+
+#include <QtCore/qatomic.h>
+
+#if defined(QT_NO_DEBUG) && !defined(NDEBUG)
+# define NDEBUG
+#endif
+
+typedef QT_PREPEND_NAMESPACE(QBasicAtomicInt) ffd_atomic_int;
+#define ffd_atomic_pointer(type) QT_PREPEND_NAMESPACE(QBasicAtomicPointer<type>)
+
+QT_BEGIN_NAMESPACE
+
+#define FFD_ATOMIC_INIT(val) Q_BASIC_ATOMIC_INITIALIZER(val)
+
+#define FFD_ATOMIC_RELAXED Relaxed
+#define FFD_ATOMIC_ACQUIRE Acquire
+#define FFD_ATOMIC_RELEASE Release
+#define loadRelaxed load
+#define storeRelaxed store
+
+#define FFD_CONCAT(x, y) x ## y
+
+#define ffd_atomic_load(ptr,order) (ptr)->FFD_CONCAT(load, order)()
+#define ffd_atomic_store(ptr,val,order) (ptr)->FFD_CONCAT(store, order)(val)
+#define ffd_atomic_exchange(ptr,val,order) (ptr)->FFD_CONCAT(fetchAndStore, order)(val)
+#define ffd_atomic_compare_exchange(ptr,expected,desired,order1,order2) \
+ (ptr)->FFD_CONCAT(testAndSet, order1)(*expected, desired, *expected)
+#define ffd_atomic_add_fetch(ptr,val,order) ((ptr)->FFD_CONCAT(fetchAndAdd, order)(val) + val)
+
+QT_END_NAMESPACE
+
+extern "C" {
+#include "../../3rdparty/forkfd/forkfd.c"
+}
diff --git a/src/corelib/io/io.pri b/src/corelib/io/io.pri
index 77788e3cca..78349fbc49 100644
--- a/src/corelib/io/io.pri
+++ b/src/corelib/io/io.pri
@@ -137,6 +137,10 @@ win32 {
io/qlockfile_unix.cpp \
io/qprocess_unix.cpp \
io/qfilesystemiterator_unix.cpp \
+ io/forkfd_qt.cpp
+ HEADERS += \
+ ../3rdparty/forkfd/forkfd.h
+ INCLUDEPATH += ../3rdparty/forkfd
!nacl:mac: {
SOURCES += io/qsettings_mac.cpp
@@ -165,6 +169,11 @@ win32 {
SOURCES += \
io/qstandardpaths_android.cpp \
io/qstorageinfo_unix.cpp
+ } else:haiku {
+ SOURCES += \
+ io/qstandardpaths_haiku.cpp \
+ io/qstorageinfo_unix.cpp
+ LIBS += -lbe
} else {
SOURCES += \
io/qstandardpaths_unix.cpp \
diff --git a/src/corelib/io/qabstractfileengine.cpp b/src/corelib/io/qabstractfileengine.cpp
index 9468464cac..45e81a6cdc 100644
--- a/src/corelib/io/qabstractfileengine.cpp
+++ b/src/corelib/io/qabstractfileengine.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qabstractfileengine_p.h b/src/corelib/io/qabstractfileengine_p.h
index 4c8d52bf94..90b1cec9a8 100644
--- a/src/corelib/io/qabstractfileengine_p.h
+++ b/src/corelib/io/qabstractfileengine_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qbuffer.cpp b/src/corelib/io/qbuffer.cpp
index 5377eb21e3..680f832909 100644
--- a/src/corelib/io/qbuffer.cpp
+++ b/src/corelib/io/qbuffer.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -54,8 +54,8 @@ public:
QByteArray *buf;
QByteArray defaultBuf;
- virtual qint64 peek(char *data, qint64 maxSize);
- virtual QByteArray peek(qint64 maxSize);
+ virtual qint64 peek(char *data, qint64 maxSize) Q_DECL_OVERRIDE;
+ virtual QByteArray peek(qint64 maxSize) Q_DECL_OVERRIDE;
#ifndef QT_NO_QOBJECT
// private slots
diff --git a/src/corelib/io/qbuffer.h b/src/corelib/io/qbuffer.h
index 24b05aad13..1b2758d040 100644
--- a/src/corelib/io/qbuffer.h
+++ b/src/corelib/io/qbuffer.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -67,22 +67,22 @@ public:
inline void setData(const char *data, int len);
const QByteArray &data() const;
- bool open(OpenMode openMode);
+ bool open(OpenMode openMode) Q_DECL_OVERRIDE;
- void close();
- qint64 size() const;
- qint64 pos() const;
- bool seek(qint64 off);
- bool atEnd() const;
- bool canReadLine() const;
+ void close() Q_DECL_OVERRIDE;
+ qint64 size() const Q_DECL_OVERRIDE;
+ qint64 pos() const Q_DECL_OVERRIDE;
+ bool seek(qint64 off) Q_DECL_OVERRIDE;
+ bool atEnd() const Q_DECL_OVERRIDE;
+ bool canReadLine() const Q_DECL_OVERRIDE;
protected:
#ifndef QT_NO_QOBJECT
- void connectNotify(const QMetaMethod &);
- void disconnectNotify(const QMetaMethod &);
+ void connectNotify(const QMetaMethod &) Q_DECL_OVERRIDE;
+ void disconnectNotify(const QMetaMethod &) Q_DECL_OVERRIDE;
#endif
- qint64 readData(char *data, qint64 maxlen);
- qint64 writeData(const char *data, qint64 len);
+ qint64 readData(char *data, qint64 maxlen) Q_DECL_OVERRIDE;
+ qint64 writeData(const char *data, qint64 len) Q_DECL_OVERRIDE;
private:
Q_DECLARE_PRIVATE(QBuffer)
diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp
index beaafe4762..48672db2e9 100644
--- a/src/corelib/io/qdatastream.cpp
+++ b/src/corelib/io/qdatastream.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -525,6 +525,7 @@ void QDataStream::setByteOrder(ByteOrder bo)
\value Qt_5_2 Version 15 (Qt 5.2)
\value Qt_5_3 Same as Qt_5_2
\value Qt_5_4 Version 16 (Qt 5.4)
+ \value Qt_5_5 Same as Qt_5_4
\omitvalue Qt_DefaultCompiledVersion
\sa setVersion(), version()
diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h
index 75ffa11543..436bf8dd57 100644
--- a/src/corelib/io/qdatastream.h
+++ b/src/corelib/io/qdatastream.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -82,10 +82,11 @@ public:
Qt_5_2 = 15,
Qt_5_3 = Qt_5_2,
Qt_5_4 = 16,
-#if QT_VERSION >= 0x050500
+ Qt_5_5 = Qt_5_4,
+#if QT_VERSION >= 0x050600
#error Add the datastream version for this Qt version and update Qt_DefaultCompiledVersion
#endif
- Qt_DefaultCompiledVersion = Qt_5_4
+ Qt_DefaultCompiledVersion = Qt_5_5
};
enum ByteOrder {
diff --git a/src/corelib/io/qdatastream_p.h b/src/corelib/io/qdatastream_p.h
index 1c5368b5f9..82c8fe251f 100644
--- a/src/corelib/io/qdatastream_p.h
+++ b/src/corelib/io/qdatastream_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qdataurl.cpp b/src/corelib/io/qdataurl.cpp
index a18f064d39..09f570be5a 100644
--- a/src/corelib/io/qdataurl.cpp
+++ b/src/corelib/io/qdataurl.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qdataurl_p.h b/src/corelib/io/qdataurl_p.h
index dfc13d43bf..daf369b181 100644
--- a/src/corelib/io/qdataurl_p.h
+++ b/src/corelib/io/qdataurl_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qdebug.cpp b/src/corelib/io/qdebug.cpp
index 5c77ccdcbf..357d63137c 100644
--- a/src/corelib/io/qdebug.cpp
+++ b/src/corelib/io/qdebug.cpp
@@ -1,7 +1,8 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Copyright (C) 2014 Intel Corporation.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +11,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +24,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -39,10 +40,15 @@
#endif
#include "qdebug.h"
+#include "qmetaobject.h"
#include <private/qtextstream_p.h>
+#include <private/qtools_p.h>
QT_BEGIN_NAMESPACE
+using QtMiscUtils::toHexUpper;
+using QtMiscUtils::fromHex;
+
// This file is needed to force compilation of QDebug into the kernel library.
/*!
@@ -148,6 +154,167 @@ QDebug::~QDebug()
}
/*!
+ \internal
+*/
+void QDebug::putUcs4(uint ucs4)
+{
+ maybeQuote('\'');
+ if (ucs4 < 0x20) {
+ stream->ts << hex << "\\x" << ucs4 << reset;
+ } else if (ucs4 < 0x80) {
+ stream->ts << char(ucs4);
+ } else {
+ stream->ts << hex << qSetPadChar(QLatin1Char('0'));
+ if (ucs4 < 0x10000)
+ stream->ts << qSetFieldWidth(4) << "\\u";
+ else
+ stream->ts << qSetFieldWidth(8) << "\\U";
+ stream->ts << ucs4 << reset;
+ }
+ maybeQuote('\'');
+}
+
+template <typename Char>
+static inline void putEscapedString(QTextStreamPrivate *d, const Char *begin, int length, bool isUnicode = true)
+{
+ QChar quote(QLatin1Char('"'));
+ d->write(&quote, 1);
+
+ bool lastWasHexEscape = false;
+ const Char *end = begin + length;
+ for (const Char *p = begin; p != end; ++p) {
+ // check if we need to insert "" to break an hex escape sequence
+ if (Q_UNLIKELY(lastWasHexEscape)) {
+ if (fromHex(*p) != -1) {
+ // yes, insert it
+ QChar quotes[] = { QLatin1Char('"'), QLatin1Char('"') };
+ d->write(quotes, 2);
+ }
+ lastWasHexEscape = false;
+ }
+
+ if (sizeof(Char) == sizeof(QChar)) {
+ int runLength = 0;
+ while (p + runLength != end &&
+ p[runLength] < 0x7f && p[runLength] >= 0x20 && p[runLength] != '\\' && p[runLength] != '"')
+ ++runLength;
+ if (runLength) {
+ d->write(reinterpret_cast<const QChar *>(p), runLength);
+ p += runLength - 1;
+ continue;
+ }
+ } else if (*p < 0x7f && *p >= 0x20 && *p != '\\' && *p != '"') {
+ QChar c = QLatin1Char(*p);
+ d->write(&c, 1);
+ continue;
+ }
+
+ // print as an escape sequence
+ int buflen = 2;
+ ushort buf[sizeof "\\U12345678" - 1];
+ buf[0] = '\\';
+
+ switch (*p) {
+ case '"':
+ case '\\':
+ buf[1] = *p;
+ break;
+ case '\b':
+ buf[1] = 'b';
+ break;
+ case '\f':
+ buf[1] = 'f';
+ break;
+ case '\n':
+ buf[1] = 'n';
+ break;
+ case '\r':
+ buf[1] = 'r';
+ break;
+ case '\t':
+ buf[1] = 't';
+ break;
+ default:
+ if (!isUnicode) {
+ // print as hex escape
+ buf[1] = 'x';
+ buf[2] = toHexUpper(uchar(*p) >> 4);
+ buf[3] = toHexUpper(uchar(*p));
+ buflen = 4;
+ lastWasHexEscape = true;
+ break;
+ }
+ if (QChar::isHighSurrogate(*p)) {
+ if ((p + 1) != end && QChar::isLowSurrogate(p[1])) {
+ // properly-paired surrogates
+ uint ucs4 = QChar::surrogateToUcs4(*p, p[1]);
+ ++p;
+ buf[1] = 'U';
+ buf[2] = '0'; // toHexUpper(ucs4 >> 32);
+ buf[3] = '0'; // toHexUpper(ucs4 >> 28);
+ buf[4] = toHexUpper(ucs4 >> 20);
+ buf[5] = toHexUpper(ucs4 >> 16);
+ buf[6] = toHexUpper(ucs4 >> 12);
+ buf[7] = toHexUpper(ucs4 >> 8);
+ buf[8] = toHexUpper(ucs4 >> 4);
+ buf[9] = toHexUpper(ucs4);
+ buflen = 10;
+ break;
+ }
+ // improperly-paired surrogates, fall through
+ }
+ buf[1] = 'u';
+ buf[2] = toHexUpper(ushort(*p) >> 12);
+ buf[3] = toHexUpper(ushort(*p) >> 8);
+ buf[4] = toHexUpper(*p >> 4);
+ buf[5] = toHexUpper(*p);
+ buflen = 6;
+ }
+ d->write(reinterpret_cast<QChar *>(buf), buflen);
+ }
+
+ d->write(&quote, 1);
+}
+
+/*!
+ \internal
+ Duplicated from QtTest::toPrettyUnicode().
+*/
+void QDebug::putString(const QChar *begin, size_t length)
+{
+ if (stream->testFlag(Stream::NoQuotes)) {
+ // no quotes, write the string directly too (no pretty-printing)
+ // this respects the QTextStream state, though
+ stream->ts.d_ptr->putString(begin, int(length));
+ } else {
+ // we'll reset the QTextStream formatting mechanisms, so save the state
+ QDebugStateSaver saver(*this);
+ stream->ts.d_ptr->params.reset();
+ putEscapedString(stream->ts.d_ptr.data(), reinterpret_cast<const ushort *>(begin), int(length));
+ }
+}
+
+/*!
+ \internal
+ Duplicated from QtTest::toPrettyCString().
+*/
+void QDebug::putByteArray(const char *begin, size_t length, Latin1Content content)
+{
+ if (stream->testFlag(Stream::NoQuotes)) {
+ // no quotes, write the string directly too (no pretty-printing)
+ // this respects the QTextStream state, though
+ QString string = content == ContainsLatin1 ? QString::fromLatin1(begin, int(length)) : QString::fromUtf8(begin, int(length));
+ stream->ts.d_ptr->putString(string);
+ } else {
+ // we'll reset the QTextStream formatting mechanisms, so save the state
+ QDebugStateSaver saver(*this);
+ stream->ts.d_ptr->params.reset();
+ putEscapedString(stream->ts.d_ptr.data(), reinterpret_cast<const uchar *>(begin),
+ int(length), content == ContainsLatin1);
+ }
+}
+
+/*!
\fn QDebug::swap(QDebug &other)
\since 5.0
@@ -477,4 +644,37 @@ QDebugStateSaver::~QDebugStateSaver()
d->restoreState();
}
+#ifndef QT_NO_QOBJECT
+/*!
+ \internal
+ */
+QDebug qt_QMetaEnum_debugOperator(QDebug &dbg, int value, const QMetaObject *meta, const char *name)
+{
+ QDebugStateSaver saver(dbg);
+ QMetaEnum me = meta->enumerator(meta->indexOfEnumerator(name));
+ const char *key = me.valueToKey(value);
+ dbg.nospace() << meta->className() << "::" << name << '(';
+ if (key)
+ dbg << key;
+ else
+ dbg << value;
+ dbg << ')';
+ return dbg;
+}
+
+QDebug qt_QMetaEnum_flagDebugOperator(QDebug &debug, quint64 value, const QMetaObject *meta, const char *name)
+{
+ QDebugStateSaver saver(debug);
+ debug.resetFormat();
+ debug.noquote();
+ debug.nospace();
+ debug << "QFlags<";
+ const QMetaEnum me = meta->enumerator(meta->indexOfEnumerator(name));
+ if (const char *scope = me.scope())
+ debug << scope << "::";
+ debug << me.name() << ">(" << me.valueToKeys(value) << ')';
+ return debug;
+}
+#endif // !QT_NO_QOBJECT
+
QT_END_NAMESPACE
diff --git a/src/corelib/io/qdebug.h b/src/corelib/io/qdebug.h
index 4edb3057fb..7f1cb82f3a 100644
--- a/src/corelib/io/qdebug.h
+++ b/src/corelib/io/qdebug.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -76,6 +76,12 @@ class Q_CORE_EXPORT QDebug
// added in 5.4
int flags;
} *stream;
+
+ enum Latin1Content { ContainsBinary = 0, ContainsLatin1 };
+
+ void putUcs4(uint ucs4);
+ void putString(const QChar *begin, size_t length);
+ void putByteArray(const char *begin, size_t length, Latin1Content content);
public:
inline QDebug(QIODevice *device) : stream(new Stream(device)) {}
inline QDebug(QString *string) : stream(new Stream(string)) {}
@@ -83,7 +89,7 @@ public:
inline QDebug(const QDebug &o):stream(o.stream) { ++stream->ref; }
inline QDebug &operator=(const QDebug &other);
~QDebug();
- inline void swap(QDebug &other) { qSwap(stream, other.stream); }
+ inline void swap(QDebug &other) Q_DECL_NOTHROW { qSwap(stream, other.stream); }
QDebug &resetFormat();
@@ -98,11 +104,15 @@ public:
inline QDebug &noquote() { stream->setFlag(Stream::NoQuotes); return *this; }
inline QDebug &maybeQuote(char c = '"') { if (!(stream->testFlag(Stream::NoQuotes))) stream->ts << c; return *this; }
- inline QDebug &operator<<(QChar t) { maybeQuote('\''); stream->ts << t; maybeQuote('\''); return maybeSpace(); }
+ inline QDebug &operator<<(QChar t) { putUcs4(t.unicode()); return maybeSpace(); }
inline QDebug &operator<<(bool t) { stream->ts << (t ? "true" : "false"); return maybeSpace(); }
inline QDebug &operator<<(char t) { stream->ts << t; return maybeSpace(); }
inline QDebug &operator<<(signed short t) { stream->ts << t; return maybeSpace(); }
inline QDebug &operator<<(unsigned short t) { stream->ts << t; return maybeSpace(); }
+#ifdef Q_COMPILER_UNICODE_STRINGS
+ inline QDebug &operator<<(char16_t t) { return *this << QChar(t); }
+ inline QDebug &operator<<(char32_t t) { putUcs4(t); return maybeSpace(); }
+#endif
inline QDebug &operator<<(signed int t) { stream->ts << t; return maybeSpace(); }
inline QDebug &operator<<(unsigned int t) { stream->ts << t; return maybeSpace(); }
inline QDebug &operator<<(signed long t) { stream->ts << t; return maybeSpace(); }
@@ -112,11 +122,14 @@ public:
inline QDebug &operator<<(float t) { stream->ts << t; return maybeSpace(); }
inline QDebug &operator<<(double t) { stream->ts << t; return maybeSpace(); }
inline QDebug &operator<<(const char* t) { stream->ts << QString::fromUtf8(t); return maybeSpace(); }
- inline QDebug &operator<<(const QString & t) { maybeQuote(); stream->ts << t; maybeQuote(); return maybeSpace(); }
- inline QDebug &operator<<(const QStringRef & t) { return operator<<(t.toString()); }
- inline QDebug &operator<<(QLatin1String t) { maybeQuote(); stream->ts << t; maybeQuote(); return maybeSpace(); }
- inline QDebug &operator<<(const QByteArray & t) { maybeQuote(); stream->ts << t; maybeQuote(); return maybeSpace(); }
+ inline QDebug &operator<<(const QString & t) { putString(t.constData(), uint(t.length())); return maybeSpace(); }
+ inline QDebug &operator<<(const QStringRef & t) { putString(t.constData(), uint(t.length())); return maybeSpace(); }
+ inline QDebug &operator<<(QLatin1String t) { putByteArray(t.latin1(), t.size(), ContainsLatin1); return maybeSpace(); }
+ inline QDebug &operator<<(const QByteArray & t) { putByteArray(t.constData(), t.size(), ContainsBinary); return maybeSpace(); }
inline QDebug &operator<<(const void * t) { stream->ts << t; return maybeSpace(); }
+#ifdef Q_COMPILER_NULLPTR
+ inline QDebug &operator<<(std::nullptr_t) { stream->ts << "(nullptr)"; return maybeSpace(); }
+#endif
inline QDebug &operator<<(QTextStreamFunction f) {
stream->ts << f;
return *this;
@@ -248,8 +261,33 @@ inline QDebug operator<<(QDebug debug, const QContiguousCache<T> &cache)
return debug.maybeSpace();
}
+#ifndef QT_NO_QOBJECT
+Q_CORE_EXPORT QDebug qt_QMetaEnum_debugOperator(QDebug&, int value, const QMetaObject *meta, const char *name);
+Q_CORE_EXPORT QDebug qt_QMetaEnum_flagDebugOperator(QDebug &dbg, quint64 value, const QMetaObject *meta, const char *name);
+
+template<typename T>
+typename QtPrivate::QEnableIf<QtPrivate::IsQEnumHelper<T>::Value, QDebug>::Type
+operator<<(QDebug dbg, T value)
+{
+ const QMetaObject *obj = qt_getEnumMetaObject(value);
+ const char *name = qt_getEnumName(value);
+ return qt_QMetaEnum_debugOperator(dbg, typename QFlags<T>::Int(value), obj, name);
+}
+
+template <class T>
+inline typename QtPrivate::QEnableIf<QtPrivate::IsQEnumHelper<T>::Value, QDebug>::Type operator<<(QDebug debug, const QFlags<T> &flags)
+{
+ const QMetaObject *obj = qt_getEnumMetaObject(T());
+ const char *name = qt_getEnumName(T());
+ return qt_QMetaEnum_flagDebugOperator(debug, quint64(flags), obj, name);
+}
+
+template <class T>
+inline typename QtPrivate::QEnableIf<!QtPrivate::IsQEnumHelper<T>::Value, QDebug>::Type operator<<(QDebug debug, const QFlags<T> &flags)
+#else // !QT_NO_QOBJECT
template <class T>
inline QDebug operator<<(QDebug debug, const QFlags<T> &flags)
+#endif
{
QDebugStateSaver saver(debug);
debug.resetFormat();
@@ -268,6 +306,82 @@ inline QDebug operator<<(QDebug debug, const QFlags<T> &flags)
return debug;
}
+#ifdef Q_OS_MAC
+
+// We provide QDebug stream operators for commonly used Core Foundation
+// and Core Graphics types, as well as NSObject. Additional CF/CG types
+// may be added by the user, using Q_DECLARE_QDEBUG_OPERATOR_FOR_CF_TYPE.
+
+#define QT_FOR_EACH_CORE_FOUNDATION_TYPE(F) \
+ F(CFArray) \
+ F(CFURL) \
+ F(CFData) \
+ F(CFNumber) \
+ F(CFDictionary) \
+ F(CFLocale) \
+ F(CFDate) \
+ F(CFBoolean) \
+ F(CFTimeZone) \
+
+#define QT_FOR_EACH_MUTABLE_CORE_FOUNDATION_TYPE(F) \
+ F(CFError) \
+ F(CFBundle) \
+
+#define QT_FOR_EACH_CORE_GRAPHICS_TYPE(F) \
+ F(CGPath) \
+
+#define QT_FOR_EACH_MUTABLE_CORE_GRAPHICS_TYPE(F) \
+ F(CGColorSpace) \
+ F(CGImage) \
+ F(CGFont) \
+ F(CGColor) \
+
+#define QT_FORWARD_DECLARE_CF_TYPE(type) Q_FORWARD_DECLARE_CF_TYPE(type);
+#define QT_FORWARD_DECLARE_MUTABLE_CF_TYPE(type) Q_FORWARD_DECLARE_MUTABLE_CF_TYPE(type);
+#define QT_FORWARD_DECLARE_CG_TYPE(type) typedef const struct type *type ## Ref;
+#define QT_FORWARD_DECLARE_MUTABLE_CG_TYPE(type) typedef struct type *type ## Ref;
+
+QT_END_NAMESPACE
+Q_FORWARD_DECLARE_CF_TYPE(CFString);
+Q_FORWARD_DECLARE_OBJC_CLASS(NSObject);
+QT_FOR_EACH_CORE_FOUNDATION_TYPE(QT_FORWARD_DECLARE_CF_TYPE);
+QT_FOR_EACH_MUTABLE_CORE_FOUNDATION_TYPE(QT_FORWARD_DECLARE_MUTABLE_CF_TYPE);
+QT_FOR_EACH_CORE_GRAPHICS_TYPE(QT_FORWARD_DECLARE_CG_TYPE);
+QT_FOR_EACH_MUTABLE_CORE_GRAPHICS_TYPE(QT_FORWARD_DECLARE_MUTABLE_CG_TYPE);
+QT_BEGIN_NAMESPACE
+
+#define QT_FORWARD_DECLARE_QDEBUG_OPERATOR_FOR_CF_TYPE(CFType) \
+ Q_CORE_EXPORT QDebug operator<<(QDebug, CFType##Ref);
+
+#define Q_DECLARE_QDEBUG_OPERATOR_FOR_CF_TYPE(CFType) \
+ QDebug operator<<(QDebug debug, CFType##Ref ref) \
+ { \
+ if (!ref) \
+ return debug << QT_STRINGIFY(CFType) "Ref(0x0)"; \
+ if (CFStringRef description = CFCopyDescription(ref)) { \
+ QDebugStateSaver saver(debug); \
+ debug.noquote() << description; \
+ CFRelease(description); \
+ } \
+ return debug; \
+ }
+
+// Defined in qcore_mac_objc.mm
+Q_CORE_EXPORT QDebug operator<<(QDebug, const NSObject *);
+Q_CORE_EXPORT QDebug operator<<(QDebug, CFStringRef);
+
+QT_FOR_EACH_CORE_FOUNDATION_TYPE(QT_FORWARD_DECLARE_QDEBUG_OPERATOR_FOR_CF_TYPE);
+QT_FOR_EACH_MUTABLE_CORE_FOUNDATION_TYPE(QT_FORWARD_DECLARE_QDEBUG_OPERATOR_FOR_CF_TYPE);
+QT_FOR_EACH_CORE_GRAPHICS_TYPE(QT_FORWARD_DECLARE_QDEBUG_OPERATOR_FOR_CF_TYPE);
+QT_FOR_EACH_MUTABLE_CORE_GRAPHICS_TYPE(QT_FORWARD_DECLARE_QDEBUG_OPERATOR_FOR_CF_TYPE);
+
+#undef QT_FORWARD_DECLARE_CF_TYPE
+#undef QT_FORWARD_DECLARE_MUTABLE_CF_TYPE
+#undef QT_FORWARD_DECLARE_CG_TYPE
+#undef QT_FORWARD_DECLARE_MUTABLE_CG_TYPE
+
+#endif // Q_OS_MAC
+
QT_END_NAMESPACE
#endif // QDEBUG_H
diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp
index a5e189a825..c9c6704423 100644
--- a/src/corelib/io/qdir.cpp
+++ b/src/corelib/io/qdir.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -2271,6 +2271,8 @@ QStringList QDir::nameFiltersFromString(const QString &nameFilter)
#ifndef QT_NO_DEBUG_STREAM
QDebug operator<<(QDebug debug, QDir::Filters filters)
{
+ QDebugStateSaver save(debug);
+ debug.resetFormat();
QStringList flags;
if (filters == QDir::NoFilter) {
flags << QLatin1String("NoFilter");
@@ -2291,12 +2293,14 @@ QDebug operator<<(QDebug debug, QDir::Filters filters)
if (filters & QDir::System) flags << QLatin1String("System");
if (filters & QDir::CaseSensitive) flags << QLatin1String("CaseSensitive");
}
- debug << "QDir::Filters(" << qPrintable(flags.join(QLatin1Char('|'))) << ')';
+ debug.noquote() << "QDir::Filters(" << flags.join(QLatin1Char('|')) << ')';
return debug;
}
static QDebug operator<<(QDebug debug, QDir::SortFlags sorting)
{
+ QDebugStateSaver save(debug);
+ debug.resetFormat();
if (sorting == QDir::NoSort) {
debug << "QDir::SortFlags(NoSort)";
} else {
@@ -2312,24 +2316,23 @@ static QDebug operator<<(QDebug debug, QDir::SortFlags sorting)
if (sorting & QDir::IgnoreCase) flags << QLatin1String("IgnoreCase");
if (sorting & QDir::LocaleAware) flags << QLatin1String("LocaleAware");
if (sorting & QDir::Type) flags << QLatin1String("Type");
- debug << "QDir::SortFlags(" << qPrintable(type)
- << '|'
- << qPrintable(flags.join(QLatin1Char('|'))) << ')';
+ debug.noquote() << "QDir::SortFlags(" << type << '|' << flags.join(QLatin1Char('|')) << ')';
}
return debug;
}
QDebug operator<<(QDebug debug, const QDir &dir)
{
- debug.maybeSpace() << "QDir(" << dir.path()
- << ", nameFilters = {"
- << qPrintable(dir.nameFilters().join(QLatin1Char(',')))
- << "}, "
- << dir.sorting()
- << ','
- << dir.filter()
- << ')';
- return debug.space();
+ QDebugStateSaver save(debug);
+ debug.resetFormat();
+ debug << "QDir(" << dir.path() << ", nameFilters = {"
+ << dir.nameFilters().join(QLatin1Char(','))
+ << "}, "
+ << dir.sorting()
+ << ','
+ << dir.filter()
+ << ')';
+ return debug;
}
#endif // QT_NO_DEBUG_STREAM
diff --git a/src/corelib/io/qdir.h b/src/corelib/io/qdir.h
index 6b2029ff7e..e622011f98 100644
--- a/src/corelib/io/qdir.h
+++ b/src/corelib/io/qdir.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qdir_p.h b/src/corelib/io/qdir_p.h
index 147adc0a3a..a554e54ebb 100644
--- a/src/corelib/io/qdir_p.h
+++ b/src/corelib/io/qdir_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qdiriterator.cpp b/src/corelib/io/qdiriterator.cpp
index 80c2200bb0..af7fdc9d26 100644
--- a/src/corelib/io/qdiriterator.cpp
+++ b/src/corelib/io/qdiriterator.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qdiriterator.h b/src/corelib/io/qdiriterator.h
index f873c80f68..700f66cafe 100644
--- a/src/corelib/io/qdiriterator.h
+++ b/src/corelib/io/qdiriterator.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfile.cpp b/src/corelib/io/qfile.cpp
index d3411abf10..5cc1e82e75 100644
--- a/src/corelib/io/qfile.cpp
+++ b/src/corelib/io/qfile.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfile.h b/src/corelib/io/qfile.h
index 75f246da96..35a73680af 100644
--- a/src/corelib/io/qfile.h
+++ b/src/corelib/io/qfile.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -63,7 +63,7 @@ public:
#endif
~QFile();
- QString fileName() const;
+ QString fileName() const Q_DECL_OVERRIDE;
void setFileName(const QString &name);
#if defined(Q_OS_DARWIN)
@@ -116,18 +116,18 @@ public:
bool copy(const QString &newName);
static bool copy(const QString &fileName, const QString &newName);
- bool open(OpenMode flags);
+ bool open(OpenMode flags) Q_DECL_OVERRIDE;
bool open(FILE *f, OpenMode ioFlags, FileHandleFlags handleFlags=DontCloseHandle);
bool open(int fd, OpenMode ioFlags, FileHandleFlags handleFlags=DontCloseHandle);
- qint64 size() const;
+ qint64 size() const Q_DECL_OVERRIDE;
- bool resize(qint64 sz);
+ bool resize(qint64 sz) Q_DECL_OVERRIDE;
static bool resize(const QString &filename, qint64 sz);
- Permissions permissions() const;
+ Permissions permissions() const Q_DECL_OVERRIDE;
static Permissions permissions(const QString &filename);
- bool setPermissions(Permissions permissionSpec);
+ bool setPermissions(Permissions permissionSpec) Q_DECL_OVERRIDE;
static bool setPermissions(const QString &filename, Permissions permissionSpec);
protected:
diff --git a/src/corelib/io/qfile_p.h b/src/corelib/io/qfile_p.h
index 705fe16615..e4663f5456 100644
--- a/src/corelib/io/qfile_p.h
+++ b/src/corelib/io/qfile_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfiledevice.cpp b/src/corelib/io/qfiledevice.cpp
index 29b59f1dcc..3ee0e33573 100644
--- a/src/corelib/io/qfiledevice.cpp
+++ b/src/corelib/io/qfiledevice.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfiledevice.h b/src/corelib/io/qfiledevice.h
index b79b0055fa..e9320d8d31 100644
--- a/src/corelib/io/qfiledevice.h
+++ b/src/corelib/io/qfiledevice.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -86,19 +86,19 @@ public:
FileError error() const;
void unsetError();
- virtual void close();
+ virtual void close() Q_DECL_OVERRIDE;
- bool isSequential() const;
+ bool isSequential() const Q_DECL_OVERRIDE;
int handle() const;
virtual QString fileName() const;
- qint64 pos() const;
- bool seek(qint64 offset);
- bool atEnd() const;
+ qint64 pos() const Q_DECL_OVERRIDE;
+ bool seek(qint64 offset) Q_DECL_OVERRIDE;
+ bool atEnd() const Q_DECL_OVERRIDE;
bool flush();
- qint64 size() const;
+ qint64 size() const Q_DECL_OVERRIDE;
virtual bool resize(qint64 sz);
virtual Permissions permissions() const;
@@ -122,9 +122,9 @@ protected:
QFileDevice(QFileDevicePrivate &dd, QObject *parent = 0);
#endif
- qint64 readData(char *data, qint64 maxlen);
- qint64 writeData(const char *data, qint64 len);
- qint64 readLineData(char *data, qint64 maxlen);
+ qint64 readData(char *data, qint64 maxlen) Q_DECL_OVERRIDE;
+ qint64 writeData(const char *data, qint64 len) Q_DECL_OVERRIDE;
+ qint64 readLineData(char *data, qint64 maxlen) Q_DECL_OVERRIDE;
private:
Q_DISABLE_COPY(QFileDevice)
diff --git a/src/corelib/io/qfiledevice_p.h b/src/corelib/io/qfiledevice_p.h
index 891a5e4be4..74da55894a 100644
--- a/src/corelib/io/qfiledevice_p.h
+++ b/src/corelib/io/qfiledevice_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -64,7 +64,7 @@ protected:
inline bool ensureFlushed() const;
- bool putCharHelper(char c);
+ bool putCharHelper(char c) Q_DECL_OVERRIDE;
void setError(QFileDevice::FileError err);
void setError(QFileDevice::FileError err, const QString &errorString);
diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp
index 98c36f4a82..bf83464eab 100644
--- a/src/corelib/io/qfileinfo.cpp
+++ b/src/corelib/io/qfileinfo.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfileinfo.h b/src/corelib/io/qfileinfo.h
index 68dd3b9282..58cf9a5c0f 100644
--- a/src/corelib/io/qfileinfo.h
+++ b/src/corelib/io/qfileinfo.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfileinfo_p.h b/src/corelib/io/qfileinfo_p.h
index 257111a566..73f9236c04 100644
--- a/src/corelib/io/qfileinfo_p.h
+++ b/src/corelib/io/qfileinfo_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfileselector.cpp b/src/corelib/io/qfileselector.cpp
index 008aea27cf..4ca07ba41d 100644
--- a/src/corelib/io/qfileselector.cpp
+++ b/src/corelib/io/qfileselector.cpp
@@ -1,7 +1,7 @@
/***************************************************************************
**
** Copyright (C) 2013 BlackBerry Limited. All rights reserved.
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -145,7 +145,9 @@ QFileSelectorPrivate::QFileSelectorPrivate()
Selectors normally available are
\list
\li platform, any of the following strings which match the platform the application is running
- on: android, blackberry, ios, osx, darwin, mac, linux, wince, unix, windows.
+ on (list not exhaustive): android, blackberry, ios, osx, darwin, mac, linux, wince, unix,
+ windows. On Linux, if it can be determined, the name of the distribution too, like debian,
+ fedora or opensuse.
\li locale, same as QLocale::system().name().
\endlist
@@ -335,7 +337,7 @@ void QFileSelectorPrivate::updateSelectors()
if (envSelectors.count())
sharedData->staticSelectors << envSelectors;
- if (!qgetenv(env_override).isEmpty())
+ if (!qEnvironmentVariableIsEmpty(env_override))
return;
sharedData->staticSelectors << sharedData->preloadedStatics; //Potential for static selectors from other modules
@@ -351,10 +353,10 @@ QStringList QFileSelectorPrivate::platformSelectors()
// similar, but not identical to QSysInfo::osType
QStringList ret;
#if defined(Q_OS_WIN)
+ // can't fall back to QSysInfo because we need both "winphone" and "winrt" for the Windows Phone case
ret << QStringLiteral("windows");
-# if defined(Q_OS_WINCE)
- ret << QStringLiteral("wince");
-# elif defined(Q_OS_WINRT)
+ ret << QSysInfo::kernelType(); // "wince" and "winnt"
+# if defined(Q_OS_WINRT)
ret << QStringLiteral("winrt");
# if defined(Q_OS_WINPHONE)
ret << QStringLiteral("winphone");
@@ -362,25 +364,16 @@ QStringList QFileSelectorPrivate::platformSelectors()
# endif
#elif defined(Q_OS_UNIX)
ret << QStringLiteral("unix");
-# if defined(Q_OS_ANDROID)
- ret << QStringLiteral("android");
-# elif defined(Q_OS_BLACKBERRY)
- ret << QStringLiteral("blackberry");
-# elif defined(Q_OS_QNX)
- ret << QStringLiteral("qnx");
-# elif defined(Q_OS_LINUX)
- ret << QStringLiteral("linux");
-# elif defined(Q_OS_DARWIN)
- ret << QStringLiteral("darwin");
- ret << QStringLiteral("mac"); // compatibility synonym
-# if defined(Q_OS_IOS)
- ret << QStringLiteral("ios");
-# elif defined(Q_OS_OSX)
- ret << QStringLiteral("osx");
-# endif
-# else
+# if !defined(Q_OS_ANDROID) && !defined(Q_OS_BLACKBERRY)
+ // we don't want "linux" for Android or "qnx" for Blackberry here
ret << QSysInfo::kernelType();
+# ifdef Q_OS_MAC
+ ret << QStringLiteral("mac"); // compatibility, since kernelType() is "darwin"
+# endif
# endif
+ QString productName = QSysInfo::productType();
+ if (productName != QLatin1String("unknown"))
+ ret << productName; // "opensuse", "fedora", "osx", "ios", "blackberry", "android"
#endif
return ret;
}
diff --git a/src/corelib/io/qfileselector.h b/src/corelib/io/qfileselector.h
index 8cafdfcac5..967d5eee75 100644
--- a/src/corelib/io/qfileselector.h
+++ b/src/corelib/io/qfileselector.h
@@ -1,7 +1,7 @@
/***************************************************************************
**
** Copyright (C) 2013 BlackBerry Limited. All rights reserved.
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfileselector_p.h b/src/corelib/io/qfileselector_p.h
index 5fd1db0db8..3fa327e3de 100644
--- a/src/corelib/io/qfileselector_p.h
+++ b/src/corelib/io/qfileselector_p.h
@@ -1,7 +1,7 @@
/***************************************************************************
**
** Copyright (C) 2013 BlackBerry Limited. All rights reserved.
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemengine.cpp b/src/corelib/io/qfilesystemengine.cpp
index b06017e57f..4817266a31 100644
--- a/src/corelib/io/qfilesystemengine.cpp
+++ b/src/corelib/io/qfilesystemengine.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemengine_p.h b/src/corelib/io/qfilesystemengine_p.h
index 44a18be55e..06d5db637a 100644
--- a/src/corelib/io/qfilesystemengine_p.h
+++ b/src/corelib/io/qfilesystemengine_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
index bfa4483ca7..44a270d1fd 100644
--- a/src/corelib/io/qfilesystemengine_unix.cpp
+++ b/src/corelib/io/qfilesystemengine_unix.cpp
@@ -1,8 +1,8 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2015 The Qt Company Ltd.
** Copyright (C) 2013 Samuel Gaist <samuel.gaist@edeltech.ch>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -11,9 +11,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -24,8 +24,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -220,7 +220,7 @@ QFileSystemEntry QFileSystemEngine::canonicalName(const QFileSystemEntry &entry,
if (entry.isEmpty() || entry.isRoot())
return entry;
-#if !defined(Q_OS_MAC) && !defined(Q_OS_QNX) && !defined(Q_OS_ANDROID) && _POSIX_VERSION < 200809L
+#if !defined(Q_OS_MAC) && !defined(Q_OS_QNX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_HAIKU) && _POSIX_VERSION < 200809L
// realpath(X,0) is not supported
Q_UNUSED(data);
return QFileSystemEntry(slowCanonicalized(absoluteName(entry).filePath()));
@@ -250,6 +250,26 @@ QFileSystemEntry QFileSystemEngine::canonicalName(const QFileSystemEntry &entry,
return QFileSystemEntry(ret);
}
}
+
+# elif defined(Q_OS_ANDROID)
+ // On some Android versions, realpath() will return a path even if it does not exist
+ // To work around this, we check existence in advance.
+ if (!data.hasFlags(QFileSystemMetaData::ExistsAttribute))
+ fillMetaData(entry, data, QFileSystemMetaData::ExistsAttribute);
+
+ if (!data.exists()) {
+ ret = 0;
+ errno = ENOENT;
+ } else {
+ ret = (char*)malloc(PATH_MAX + 1);
+ if (realpath(entry.nativeFilePath().constData(), (char*)ret) == 0) {
+ const int savedErrno = errno; // errno is checked below, and free() might change it
+ free(ret);
+ errno = savedErrno;
+ ret = 0;
+ }
+ }
+
# else
# if _POSIX_VERSION >= 200801L
ret = realpath(entry.nativeFilePath().constData(), (char*)0);
@@ -723,36 +743,29 @@ bool QFileSystemEngine::setCurrentPath(const QFileSystemEntry &path)
QFileSystemEntry QFileSystemEngine::currentPath()
{
QFileSystemEntry result;
- QT_STATBUF st;
- if (QT_STAT(".", &st) == 0) {
#if defined(__GLIBC__) && !defined(PATH_MAX)
- char *currentName = ::get_current_dir_name();
- if (currentName) {
- result = QFileSystemEntry(QByteArray(currentName), QFileSystemEntry::FromNativePath());
- ::free(currentName);
- }
+ char *currentName = ::get_current_dir_name();
+ if (currentName) {
+ result = QFileSystemEntry(QByteArray(currentName), QFileSystemEntry::FromNativePath());
+ ::free(currentName);
+ }
#else
- char currentName[PATH_MAX+1];
- if (::getcwd(currentName, PATH_MAX)) {
+ char currentName[PATH_MAX+1];
+ if (::getcwd(currentName, PATH_MAX)) {
#if defined(Q_OS_VXWORKS) && defined(VXWORKS_VXSIM)
- QByteArray dir(currentName);
- if (dir.indexOf(':') < dir.indexOf('/'))
- dir.remove(0, dir.indexOf(':')+1);
+ QByteArray dir(currentName);
+ if (dir.indexOf(':') < dir.indexOf('/'))
+ dir.remove(0, dir.indexOf(':')+1);
- qstrncpy(currentName, dir.constData(), PATH_MAX);
+ qstrncpy(currentName, dir.constData(), PATH_MAX);
#endif
- result = QFileSystemEntry(QByteArray(currentName), QFileSystemEntry::FromNativePath());
- }
+ result = QFileSystemEntry(QByteArray(currentName), QFileSystemEntry::FromNativePath());
+ }
# if defined(QT_DEBUG)
- if (result.isEmpty())
- qWarning("QFileSystemEngine::currentPath: getcwd() failed");
+ if (result.isEmpty())
+ qWarning("QFileSystemEngine::currentPath: getcwd() failed");
# endif
#endif
- } else {
-# if defined(QT_DEBUG)
- qWarning("QFileSystemEngine::currentPath: stat(\".\") failed");
-# endif
- }
return result;
}
QT_END_NAMESPACE
diff --git a/src/corelib/io/qfilesystemengine_win.cpp b/src/corelib/io/qfilesystemengine_win.cpp
index ca189bea19..221cea3bea 100644
--- a/src/corelib/io/qfilesystemengine_win.cpp
+++ b/src/corelib/io/qfilesystemengine_win.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystementry.cpp b/src/corelib/io/qfilesystementry.cpp
index 8e48dd1630..faaf7a00af 100644
--- a/src/corelib/io/qfilesystementry.cpp
+++ b/src/corelib/io/qfilesystementry.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -315,13 +315,7 @@ void QFileSystemEntry::findLastSeparator() const
{
if (m_lastSeparator == -2) {
resolveFilePath();
- m_lastSeparator = -1;
- for (int i = m_filePath.size() - 1; i >= 0; --i) {
- if (m_filePath[i].unicode() == '/') {
- m_lastSeparator = i;
- break;
- }
- }
+ m_lastSeparator = m_filePath.lastIndexOf(QLatin1Char('/'));
}
}
diff --git a/src/corelib/io/qfilesystementry_p.h b/src/corelib/io/qfilesystementry_p.h
index 52e8433ce8..c43a0d77ac 100644
--- a/src/corelib/io/qfilesystementry_p.h
+++ b/src/corelib/io/qfilesystementry_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemiterator_p.h b/src/corelib/io/qfilesystemiterator_p.h
index c857c190c2..119068a648 100644
--- a/src/corelib/io/qfilesystemiterator_p.h
+++ b/src/corelib/io/qfilesystemiterator_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemiterator_unix.cpp b/src/corelib/io/qfilesystemiterator_unix.cpp
index 29f8bbcacd..6f094bd3b2 100644
--- a/src/corelib/io/qfilesystemiterator_unix.cpp
+++ b/src/corelib/io/qfilesystemiterator_unix.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemiterator_win.cpp b/src/corelib/io/qfilesystemiterator_win.cpp
index 18445dd1b6..6351a3559d 100644
--- a/src/corelib/io/qfilesystemiterator_win.cpp
+++ b/src/corelib/io/qfilesystemiterator_win.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemmetadata_p.h b/src/corelib/io/qfilesystemmetadata_p.h
index 147acda3d6..da9576b5f8 100644
--- a/src/corelib/io/qfilesystemmetadata_p.h
+++ b/src/corelib/io/qfilesystemmetadata_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemwatcher.cpp b/src/corelib/io/qfilesystemwatcher.cpp
index 4bca8d90a0..753f271a63 100644
--- a/src/corelib/io/qfilesystemwatcher.cpp
+++ b/src/corelib/io/qfilesystemwatcher.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -52,9 +52,9 @@
# include "qfilesystemwatcher_win_p.h"
#elif defined(USE_INOTIFY)
# include "qfilesystemwatcher_inotify_p.h"
-#elif defined(Q_OS_FREEBSD) || defined(Q_OS_IOS) || (defined(Q_OS_OSX) && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7)
+#elif defined(Q_OS_FREEBSD) || defined(Q_OS_IOS)
# include "qfilesystemwatcher_kqueue_p.h"
-#elif defined(Q_OS_OSX) && MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_6
+#elif defined(Q_OS_OSX)
# include "qfilesystemwatcher_fsevents_p.h"
#endif
@@ -68,9 +68,9 @@ QFileSystemWatcherEngine *QFileSystemWatcherPrivate::createNativeEngine(QObject
// there is a chance that inotify may fail on Linux pre-2.6.13 (August
// 2005), so we can't just new inotify directly.
return QInotifyFileSystemWatcherEngine::create(parent);
-#elif defined(Q_OS_FREEBSD) || defined(Q_OS_IOS) || (defined(Q_OS_OSX) && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7)
+#elif defined(Q_OS_FREEBSD) || defined(Q_OS_IOS)
return QKqueueFileSystemWatcherEngine::create(parent);
-#elif defined(Q_OS_OSX) && MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_6
+#elif defined(Q_OS_OSX)
return QFseventsFileSystemWatcherEngine::create(parent);
#else
Q_UNUSED(parent);
@@ -394,12 +394,12 @@ QStringList QFileSystemWatcher::removePaths(const QStringList &paths)
/*!
\fn void QFileSystemWatcher::directoryChanged(const QString &path)
- This signal is emitted when the directory at a specified \a path,
- is modified (e.g., when a file is added, modified or deleted) or
- removed from disk. Note that if there are several changes during a
- short period of time, some of the changes might not emit this
- signal. However, the last change in the sequence of changes will
- always generate this signal.
+ This signal is emitted when the directory at a specified \a path
+ is modified (e.g., when a file is added or deleted) or removed
+ from disk. Note that if there are several changes during a short
+ period of time, some of the changes might not emit this signal.
+ However, the last change in the sequence of changes will always
+ generate this signal.
\sa fileChanged()
*/
diff --git a/src/corelib/io/qfilesystemwatcher.h b/src/corelib/io/qfilesystemwatcher.h
index 30a0b2cf08..57dac802e8 100644
--- a/src/corelib/io/qfilesystemwatcher.h
+++ b/src/corelib/io/qfilesystemwatcher.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemwatcher_fsevents.mm b/src/corelib/io/qfilesystemwatcher_fsevents.mm
index 90ef7a6336..8a028c91e1 100644
--- a/src/corelib/io/qfilesystemwatcher_fsevents.mm
+++ b/src/corelib/io/qfilesystemwatcher_fsevents.mm
@@ -1,40 +1,32 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
+** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -291,13 +283,13 @@ void QFseventsFileSystemWatcherEngine::processEvent(ConstFSEventStreamRef stream
#endif
}
-void QFseventsFileSystemWatcherEngine::doEmitFileChanged(const QString path, bool removed)
+void QFseventsFileSystemWatcherEngine::doEmitFileChanged(const QString &path, bool removed)
{
DEBUG() << "emitting fileChanged for" << path << "with removed =" << removed;
emit fileChanged(path, removed);
}
-void QFseventsFileSystemWatcherEngine::doEmitDirectoryChanged(const QString path, bool removed)
+void QFseventsFileSystemWatcherEngine::doEmitDirectoryChanged(const QString &path, bool removed)
{
DEBUG() << "emitting directoryChanged for" << path << "with removed =" << removed;
emit directoryChanged(path, removed);
@@ -324,10 +316,10 @@ QFseventsFileSystemWatcherEngine::QFseventsFileSystemWatcherEngine(QObject *pare
// We cannot use signal-to-signal queued connections, because the
// QSignalSpy cannot spot signals fired from other/alien threads.
- connect(this, SIGNAL(emitDirectoryChanged(const QString, bool)),
- this, SLOT(doEmitDirectoryChanged(const QString, bool)), Qt::QueuedConnection);
- connect(this, SIGNAL(emitFileChanged(const QString, bool)),
- this, SLOT(doEmitFileChanged(const QString, bool)), Qt::QueuedConnection);
+ connect(this, SIGNAL(emitDirectoryChanged(QString,bool)),
+ this, SLOT(doEmitDirectoryChanged(QString,bool)), Qt::QueuedConnection);
+ connect(this, SIGNAL(emitFileChanged(QString,bool)),
+ this, SLOT(doEmitFileChanged(QString,bool)), Qt::QueuedConnection);
connect(this, SIGNAL(scheduleStreamRestart()),
this, SLOT(restartStream()), Qt::QueuedConnection);
diff --git a/src/corelib/io/qfilesystemwatcher_fsevents_p.h b/src/corelib/io/qfilesystemwatcher_fsevents_p.h
index 752a8b98d2..b4640afc4e 100644
--- a/src/corelib/io/qfilesystemwatcher_fsevents_p.h
+++ b/src/corelib/io/qfilesystemwatcher_fsevents_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -74,13 +74,13 @@ public:
void processEvent(ConstFSEventStreamRef streamRef, size_t numEvents, char **eventPaths, const FSEventStreamEventFlags eventFlags[], const FSEventStreamEventId eventIds[]);
Q_SIGNALS:
- void emitFileChanged(const QString path, bool removed);
- void emitDirectoryChanged(const QString path, bool removed);
+ void emitFileChanged(const QString &path, bool removed);
+ void emitDirectoryChanged(const QString &path, bool removed);
void scheduleStreamRestart();
private slots:
- void doEmitFileChanged(const QString path, bool removed);
- void doEmitDirectoryChanged(const QString path, bool removed);
+ void doEmitFileChanged(const QString &path, bool removed);
+ void doEmitDirectoryChanged(const QString &path, bool removed);
void restartStream();
private:
diff --git a/src/corelib/io/qfilesystemwatcher_inotify.cpp b/src/corelib/io/qfilesystemwatcher_inotify.cpp
index a3fafaef03..8bc06cfcbe 100644
--- a/src/corelib/io/qfilesystemwatcher_inotify.cpp
+++ b/src/corelib/io/qfilesystemwatcher_inotify.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemwatcher_inotify_p.h b/src/corelib/io/qfilesystemwatcher_inotify_p.h
index a9bc8486dc..5fb2b97121 100644
--- a/src/corelib/io/qfilesystemwatcher_inotify_p.h
+++ b/src/corelib/io/qfilesystemwatcher_inotify_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -64,8 +64,8 @@ public:
static QInotifyFileSystemWatcherEngine *create(QObject *parent);
- QStringList addPaths(const QStringList &paths, QStringList *files, QStringList *directories);
- QStringList removePaths(const QStringList &paths, QStringList *files, QStringList *directories);
+ QStringList addPaths(const QStringList &paths, QStringList *files, QStringList *directories) Q_DECL_OVERRIDE;
+ QStringList removePaths(const QStringList &paths, QStringList *files, QStringList *directories) Q_DECL_OVERRIDE;
private Q_SLOTS:
void readFromInotify();
diff --git a/src/corelib/io/qfilesystemwatcher_kqueue.cpp b/src/corelib/io/qfilesystemwatcher_kqueue.cpp
index d39d312872..80cbcb26cc 100644
--- a/src/corelib/io/qfilesystemwatcher_kqueue.cpp
+++ b/src/corelib/io/qfilesystemwatcher_kqueue.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemwatcher_kqueue_p.h b/src/corelib/io/qfilesystemwatcher_kqueue_p.h
index 31c7a0193d..fbaf75168f 100644
--- a/src/corelib/io/qfilesystemwatcher_kqueue_p.h
+++ b/src/corelib/io/qfilesystemwatcher_kqueue_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemwatcher_p.h b/src/corelib/io/qfilesystemwatcher_p.h
index a784a22154..b190a8fbcd 100644
--- a/src/corelib/io/qfilesystemwatcher_p.h
+++ b/src/corelib/io/qfilesystemwatcher_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemwatcher_polling.cpp b/src/corelib/io/qfilesystemwatcher_polling.cpp
index 3503ca6540..22fed411fe 100644
--- a/src/corelib/io/qfilesystemwatcher_polling.cpp
+++ b/src/corelib/io/qfilesystemwatcher_polling.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemwatcher_polling_p.h b/src/corelib/io/qfilesystemwatcher_polling_p.h
index f39d72d5d8..20edc15edf 100644
--- a/src/corelib/io/qfilesystemwatcher_polling_p.h
+++ b/src/corelib/io/qfilesystemwatcher_polling_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -104,8 +104,8 @@ class QPollingFileSystemWatcherEngine : public QFileSystemWatcherEngine
public:
QPollingFileSystemWatcherEngine(QObject *parent);
- QStringList addPaths(const QStringList &paths, QStringList *files, QStringList *directories);
- QStringList removePaths(const QStringList &paths, QStringList *files, QStringList *directories);
+ QStringList addPaths(const QStringList &paths, QStringList *files, QStringList *directories) Q_DECL_OVERRIDE;
+ QStringList removePaths(const QStringList &paths, QStringList *files, QStringList *directories) Q_DECL_OVERRIDE;
private Q_SLOTS:
void timeout();
diff --git a/src/corelib/io/qfilesystemwatcher_win.cpp b/src/corelib/io/qfilesystemwatcher_win.cpp
index c7c5cc9e15..039992adba 100644
--- a/src/corelib/io/qfilesystemwatcher_win.cpp
+++ b/src/corelib/io/qfilesystemwatcher_win.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfilesystemwatcher_win_p.h b/src/corelib/io/qfilesystemwatcher_win_p.h
index 1b4d75c594..49a42ea040 100644
--- a/src/corelib/io/qfilesystemwatcher_win_p.h
+++ b/src/corelib/io/qfilesystemwatcher_win_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp
index a126690240..13ede56d2a 100644
--- a/src/corelib/io/qfsfileengine.cpp
+++ b/src/corelib/io/qfsfileengine.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfsfileengine_iterator.cpp b/src/corelib/io/qfsfileengine_iterator.cpp
index f4a1906b4c..c4d0e55c07 100644
--- a/src/corelib/io/qfsfileengine_iterator.cpp
+++ b/src/corelib/io/qfsfileengine_iterator.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfsfileengine_iterator_p.h b/src/corelib/io/qfsfileengine_iterator_p.h
index cc5b36fc57..f7313adb5a 100644
--- a/src/corelib/io/qfsfileengine_iterator_p.h
+++ b/src/corelib/io/qfsfileengine_iterator_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -62,11 +62,11 @@ public:
QFSFileEngineIterator(QDir::Filters filters, const QStringList &filterNames);
~QFSFileEngineIterator();
- QString next();
- bool hasNext() const;
+ QString next() Q_DECL_OVERRIDE;
+ bool hasNext() const Q_DECL_OVERRIDE;
- QString currentFileName() const;
- QFileInfo currentFileInfo() const;
+ QString currentFileName() const Q_DECL_OVERRIDE;
+ QFileInfo currentFileInfo() const Q_DECL_OVERRIDE;
private:
void advance() const;
diff --git a/src/corelib/io/qfsfileengine_p.h b/src/corelib/io/qfsfileengine_p.h
index 3963a9cb11..8ba05fa8b9 100644
--- a/src/corelib/io/qfsfileengine_p.h
+++ b/src/corelib/io/qfsfileengine_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -69,46 +69,46 @@ public:
explicit QFSFileEngine(const QString &file);
~QFSFileEngine();
- bool open(QIODevice::OpenMode openMode);
+ bool open(QIODevice::OpenMode openMode) Q_DECL_OVERRIDE;
bool open(QIODevice::OpenMode flags, FILE *fh);
- bool close();
- bool flush();
- bool syncToDisk();
- qint64 size() const;
- qint64 pos() const;
- bool seek(qint64);
- bool isSequential() const;
- bool remove();
- bool copy(const QString &newName);
- bool rename(const QString &newName);
- bool renameOverwrite(const QString &newName);
- bool link(const QString &newName);
- bool mkdir(const QString &dirName, bool createParentDirectories) const;
- bool rmdir(const QString &dirName, bool recurseParentDirectories) const;
- bool setSize(qint64 size);
- bool caseSensitive() const;
- bool isRelativePath() const;
- QStringList entryList(QDir::Filters filters, const QStringList &filterNames) const;
- FileFlags fileFlags(FileFlags type) const;
- bool setPermissions(uint perms);
- QString fileName(FileName file) const;
- uint ownerId(FileOwner) const;
- QString owner(FileOwner) const;
- QDateTime fileTime(FileTime time) const;
- void setFileName(const QString &file);
- int handle() const;
+ bool close() Q_DECL_OVERRIDE;
+ bool flush() Q_DECL_OVERRIDE;
+ bool syncToDisk() Q_DECL_OVERRIDE;
+ qint64 size() const Q_DECL_OVERRIDE;
+ qint64 pos() const Q_DECL_OVERRIDE;
+ bool seek(qint64) Q_DECL_OVERRIDE;
+ bool isSequential() const Q_DECL_OVERRIDE;
+ bool remove() Q_DECL_OVERRIDE;
+ bool copy(const QString &newName) Q_DECL_OVERRIDE;
+ bool rename(const QString &newName) Q_DECL_OVERRIDE;
+ bool renameOverwrite(const QString &newName) Q_DECL_OVERRIDE;
+ bool link(const QString &newName) Q_DECL_OVERRIDE;
+ bool mkdir(const QString &dirName, bool createParentDirectories) const Q_DECL_OVERRIDE;
+ bool rmdir(const QString &dirName, bool recurseParentDirectories) const Q_DECL_OVERRIDE;
+ bool setSize(qint64 size) Q_DECL_OVERRIDE;
+ bool caseSensitive() const Q_DECL_OVERRIDE;
+ bool isRelativePath() const Q_DECL_OVERRIDE;
+ QStringList entryList(QDir::Filters filters, const QStringList &filterNames) const Q_DECL_OVERRIDE;
+ FileFlags fileFlags(FileFlags type) const Q_DECL_OVERRIDE;
+ bool setPermissions(uint perms) Q_DECL_OVERRIDE;
+ QString fileName(FileName file) const Q_DECL_OVERRIDE;
+ uint ownerId(FileOwner) const Q_DECL_OVERRIDE;
+ QString owner(FileOwner) const Q_DECL_OVERRIDE;
+ QDateTime fileTime(FileTime time) const Q_DECL_OVERRIDE;
+ void setFileName(const QString &file) Q_DECL_OVERRIDE;
+ int handle() const Q_DECL_OVERRIDE;
#ifndef QT_NO_FILESYSTEMITERATOR
- Iterator *beginEntryList(QDir::Filters filters, const QStringList &filterNames);
- Iterator *endEntryList();
+ Iterator *beginEntryList(QDir::Filters filters, const QStringList &filterNames) Q_DECL_OVERRIDE;
+ Iterator *endEntryList() Q_DECL_OVERRIDE;
#endif
- qint64 read(char *data, qint64 maxlen);
- qint64 readLine(char *data, qint64 maxlen);
- qint64 write(const char *data, qint64 len);
+ qint64 read(char *data, qint64 maxlen) Q_DECL_OVERRIDE;
+ qint64 readLine(char *data, qint64 maxlen) Q_DECL_OVERRIDE;
+ qint64 write(const char *data, qint64 len) Q_DECL_OVERRIDE;
- bool extension(Extension extension, const ExtensionOption *option = 0, ExtensionReturn *output = 0);
- bool supportsExtension(Extension extension) const;
+ bool extension(Extension extension, const ExtensionOption *option = 0, ExtensionReturn *output = 0) Q_DECL_OVERRIDE;
+ bool supportsExtension(Extension extension) const Q_DECL_OVERRIDE;
//FS only!!
bool open(QIODevice::OpenMode flags, int fd);
diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp
index 5d8c939859..56cb806185 100644
--- a/src/corelib/io/qfsfileengine_unix.cpp
+++ b/src/corelib/io/qfsfileengine_unix.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp
index ea2b1bbc63..5b18a85dd4 100644
--- a/src/corelib/io/qfsfileengine_win.cpp
+++ b/src/corelib/io/qfsfileengine_win.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qiodevice.cpp b/src/corelib/io/qiodevice.cpp
index f1c42c9bb5..ea7e7b2731 100644
--- a/src/corelib/io/qiodevice.cpp
+++ b/src/corelib/io/qiodevice.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -117,8 +117,7 @@ void debugBinaryString(const char *data, qint64 maxlen)
*/
QIODevicePrivate::QIODevicePrivate()
: openMode(QIODevice::NotOpen), buffer(QIODEVICE_BUFFERSIZE),
- pos(0), devicePos(0), seqDumpPos(0)
- , pPos(&pos), pDevicePos(&devicePos)
+ pos(0), devicePos(0)
, baseReadLineDataCalled(false)
, firstRead(true)
, accessMode(Unset)
@@ -566,7 +565,6 @@ void QIODevice::close()
d->openMode = NotOpen;
d->errorString.clear();
d->pos = 0;
- d->seqDumpPos = 0;
d->buffer.clear();
d->firstRead = true;
}
@@ -733,12 +731,6 @@ qint64 QIODevice::bytesToWrite() const
return qint64(0);
}
-#ifdef Q_CC_RVCT
-// arm mode makes the 64-bit integer operations much faster in RVCT 2.2
-#pragma push
-#pragma arm
-#endif
-
/*!
Reads at most \a maxSize bytes from the device into \a data, and
returns the number of bytes read. If an error occurs, such as when
@@ -761,11 +753,14 @@ qint64 QIODevice::read(char *data, qint64 maxSize)
this, data, int(maxSize), int(d->pos), int(d->buffer.size()));
#endif
+ const bool sequential = d->isSequential();
+
// Short circuit for getChar()
if (maxSize == 1) {
int chint;
while ((chint = d->buffer.getChar()) != -1) {
- ++(*d->pPos);
+ if (!sequential)
+ ++d->pos;
char c = char(uchar(chint));
if (c == '\r' && (d->openMode & Text))
@@ -783,27 +778,21 @@ qint64 QIODevice::read(char *data, qint64 maxSize)
CHECK_MAXLEN(read, qint64(-1));
qint64 readSoFar = 0;
- bool moreToRead = true;
- do {
+ bool madeBufferReadsOnly = true;
+ bool deviceAtEof = false;
+ char *readPtr = data;
+ forever {
// Try reading from the buffer.
- qint64 lastReadChunkSize = d->buffer.read(data, maxSize);
- if (lastReadChunkSize > 0) {
- *d->pPos += lastReadChunkSize;
- readSoFar += lastReadChunkSize;
- // fast exit when satisfied by buffer
- if (lastReadChunkSize == maxSize && !(d->openMode & Text)) {
- if (d->buffer.isEmpty()) {
- d->buffer.clear();
- readData(data, 0);
- }
- return readSoFar;
- }
-
- data += lastReadChunkSize;
- maxSize -= lastReadChunkSize;
+ qint64 bufferReadChunkSize = d->buffer.read(data, maxSize);
+ if (bufferReadChunkSize > 0) {
+ if (!sequential)
+ d->pos += bufferReadChunkSize;
+ readSoFar += bufferReadChunkSize;
+ data += bufferReadChunkSize;
+ maxSize -= bufferReadChunkSize;
#if defined QIODEVICE_DEBUG
- printf("%p \treading %d bytes from buffer into position %d\n", this, lastReadChunkSize,
- int(readSoFar) - lastReadChunkSize);
+ printf("%p \treading %d bytes from buffer into position %d\n", this,
+ bufferReadChunkSize, int(readSoFar) - bufferReadChunkSize);
#endif
} else {
if (d->firstRead) {
@@ -811,105 +800,88 @@ qint64 QIODevice::read(char *data, qint64 maxSize)
// for fast pos updates.
CHECK_READABLE(read, qint64(-1));
d->firstRead = false;
- if (d->isSequential()) {
- d->pPos = &d->seqDumpPos;
- d->pDevicePos = &d->seqDumpPos;
- }
}
+ }
- if (!maxSize)
- return readSoFar;
-
- if ((d->openMode & Unbuffered) == 0 && maxSize < QIODEVICE_BUFFERSIZE) {
- // In buffered mode, we try to fill up the QIODevice buffer before
- // we do anything else.
- // buffer is empty at this point, try to fill it
- const int bytesToBuffer = QIODEVICE_BUFFERSIZE;
- char *writePointer = d->buffer.reserve(bytesToBuffer);
-
- // Make sure the device is positioned correctly.
- if (d->pos != d->devicePos && !d->isSequential() && !seek(d->pos))
- return readSoFar ? readSoFar : qint64(-1);
- qint64 readFromDevice = readData(writePointer, bytesToBuffer);
- d->buffer.chop(bytesToBuffer - (readFromDevice < 0 ? 0 : int(readFromDevice)));
-
- if (readFromDevice > 0) {
- *d->pDevicePos += readFromDevice;
+ if (maxSize > 0 && !deviceAtEof) {
+ qint64 readFromDevice = 0;
+ // Make sure the device is positioned correctly.
+ if (sequential || d->pos == d->devicePos || seek(d->pos)) {
+ madeBufferReadsOnly = false; // fix readData attempt
+ if (maxSize >= QIODEVICE_BUFFERSIZE || (d->openMode & Unbuffered)) {
+ // Read big chunk directly to output buffer
+ readFromDevice = readData(data, maxSize);
+ deviceAtEof = (readFromDevice != maxSize);
#if defined QIODEVICE_DEBUG
- printf("%p \treading %d from device into buffer\n", this, int(readFromDevice));
+ printf("%p \treading %d bytes from device (total %d)\n", this,
+ int(readFromDevice), int(readSoFar));
#endif
-
- if (!d->buffer.isEmpty()) {
- lastReadChunkSize = d->buffer.read(data, maxSize);
- readSoFar += lastReadChunkSize;
- data += lastReadChunkSize;
- maxSize -= lastReadChunkSize;
- *d->pPos += lastReadChunkSize;
+ if (readFromDevice > 0) {
+ readSoFar += readFromDevice;
+ data += readFromDevice;
+ maxSize -= readFromDevice;
+ if (!sequential) {
+ d->pos += readFromDevice;
+ d->devicePos += readFromDevice;
+ }
+ }
+ } else {
+ const int bytesToBuffer = QIODEVICE_BUFFERSIZE;
+ // Try to fill QIODevice buffer by single read
+ readFromDevice = readData(d->buffer.reserve(bytesToBuffer), bytesToBuffer);
+ deviceAtEof = (readFromDevice != bytesToBuffer);
+ d->buffer.chop(bytesToBuffer - qMax(0, int(readFromDevice)));
+ if (readFromDevice > 0) {
+ if (!sequential)
+ d->devicePos += readFromDevice;
#if defined QIODEVICE_DEBUG
- printf("%p \treading %d bytes from buffer at position %d\n", this,
- lastReadChunkSize, int(readSoFar));
+ printf("%p \treading %d from device into buffer\n", this,
+ int(readFromDevice));
#endif
+ continue;
}
}
+ } else {
+ readFromDevice = -1;
}
- }
- // If we need more, try reading from the device.
- if (maxSize > 0) {
- // Make sure the device is positioned correctly.
- if (d->pos != d->devicePos && !d->isSequential() && !seek(d->pos))
- return readSoFar ? readSoFar : qint64(-1);
- qint64 readFromDevice = readData(data, maxSize);
-#if defined QIODEVICE_DEBUG
- printf("%p \treading %d bytes from device (total %d)\n", this, int(readFromDevice), int(readSoFar));
-#endif
- if (readFromDevice == -1 && readSoFar == 0) {
+ if (readFromDevice < 0 && readSoFar == 0) {
// error and we haven't read anything: return immediately
- return -1;
- }
- if (readFromDevice > 0) {
- lastReadChunkSize += int(readFromDevice);
- readSoFar += readFromDevice;
- data += readFromDevice;
- maxSize -= readFromDevice;
- *d->pPos += readFromDevice;
- *d->pDevicePos += readFromDevice;
+ return qint64(-1);
}
}
- // Best attempt has been made to read data, don't try again except for text mode adjustment below
- moreToRead = false;
- if (readSoFar && d->openMode & Text) {
- char *readPtr = data - lastReadChunkSize;
+ if ((d->openMode & Text) && readPtr < data) {
const char *endPtr = data;
- if (readPtr < endPtr) {
- // optimization to avoid initial self-assignment
- while (*readPtr != '\r') {
- if (++readPtr == endPtr)
- return readSoFar;
- }
+ // optimization to avoid initial self-assignment
+ while (*readPtr != '\r') {
+ if (++readPtr == endPtr)
+ break;
+ }
- char *writePtr = readPtr;
+ char *writePtr = readPtr;
- while (readPtr < endPtr) {
- char ch = *readPtr++;
- if (ch != '\r')
- *writePtr++ = ch;
- else {
- --readSoFar;
- --data;
- ++maxSize;
- }
+ while (readPtr < endPtr) {
+ char ch = *readPtr++;
+ if (ch != '\r')
+ *writePtr++ = ch;
+ else {
+ --readSoFar;
+ --data;
+ ++maxSize;
}
-
- // Make sure we get more data if there is room for more. This
- // is very important for when someone seeks to the start of a
- // '\r\n' and reads one character - they should get the '\n'.
- moreToRead = (readPtr != writePtr);
}
+
+ // Make sure we get more data if there is room for more. This
+ // is very important for when someone seeks to the start of a
+ // '\r\n' and reads one character - they should get the '\n'.
+ readPtr = data;
+ continue;
}
- } while (moreToRead);
+
+ break;
+ }
#if defined QIODEVICE_DEBUG
printf("%p \treturning %d, d->pos == %d, d->buffer.size() == %d\n", this,
@@ -917,16 +889,14 @@ qint64 QIODevice::read(char *data, qint64 maxSize)
debugBinaryString(data - readSoFar, readSoFar);
#endif
- if (d->buffer.isEmpty())
+ if (madeBufferReadsOnly && d->buffer.isEmpty()) {
+ d->buffer.clear();
readData(data, 0);
+ }
return readSoFar;
}
-#ifdef Q_CC_RVCT
-#pragma pop
-#endif
-
/*!
\overload
@@ -1039,12 +1009,6 @@ QByteArray QIODevice::readAll()
return result;
}
-#ifdef Q_CC_RVCT
-// arm mode makes the 64-bit integer operations much faster in RVCT 2.2
-#pragma push
-#pragma arm
-#endif
-
/*!
This function reads a line of ASCII characters from the device, up
to a maximum of \a maxSize - 1 bytes, stores the characters in \a
@@ -1264,10 +1228,6 @@ qint64 QIODevice::readLineData(char *data, qint64 maxSize)
return readSoFar;
}
-#ifdef Q_CC_RVCT
-#pragma pop
-#endif
-
/*!
Returns \c true if a complete line of data can be read from the device;
otherwise returns \c false.
@@ -1455,7 +1415,8 @@ qint64 QIODevicePrivate::peek(char *data, qint64 maxSize)
return readBytes;
buffer.ungetBlock(data, readBytes);
- *pPos -= readBytes;
+ if (!isSequential())
+ pos -= readBytes;
return readBytes;
}
@@ -1470,7 +1431,8 @@ QByteArray QIODevicePrivate::peek(qint64 maxSize)
return result;
buffer.ungetBlock(result.constData(), result.size());
- *pPos -= result.size();
+ if (!isSequential())
+ pos -= result.size();
return result;
}
diff --git a/src/corelib/io/qiodevice.h b/src/corelib/io/qiodevice.h
index 026e049b90..4f45805fca 100644
--- a/src/corelib/io/qiodevice.h
+++ b/src/corelib/io/qiodevice.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qiodevice_p.h b/src/corelib/io/qiodevice_p.h
index d764cb0fbb..7b4657f262 100644
--- a/src/corelib/io/qiodevice_p.h
+++ b/src/corelib/io/qiodevice_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -209,10 +209,6 @@ public:
QIODevicePrivateLinearBuffer buffer;
qint64 pos;
qint64 devicePos;
- // these three are for fast position updates during read, avoiding isSequential test
- qint64 seqDumpPos;
- qint64 *pPos;
- qint64 *pDevicePos;
bool baseReadLineDataCalled;
bool firstRead;
diff --git a/src/corelib/io/qipaddress.cpp b/src/corelib/io/qipaddress.cpp
index 44da22489d..ef0ca0269e 100644
--- a/src/corelib/io/qipaddress.cpp
+++ b/src/corelib/io/qipaddress.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2012 Intel Corporation
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -33,6 +33,7 @@
#include "qipaddress_p.h"
#include "private/qlocale_tools_p.h"
+#include "private/qtools_p.h"
#include "qvarlengtharray.h"
QT_BEGIN_NAMESPACE
@@ -240,7 +241,7 @@ const QChar *parseIp6(IPv6Address &address, const QChar *begin, const QChar *end
static inline QChar toHex(uchar c)
{
- return ushort(c > 9 ? c + 'a' - 0xA : c + '0');
+ return QtMiscUtils::toHexLower(c);
}
void toString(QString &appendTo, IPv6Address address)
diff --git a/src/corelib/io/qipaddress_p.h b/src/corelib/io/qipaddress_p.h
index 5c5539e47f..3f32e20ebb 100644
--- a/src/corelib/io/qipaddress_p.h
+++ b/src/corelib/io/qipaddress_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2012 Intel Corporation
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qlockfile.cpp b/src/corelib/io/qlockfile.cpp
index c256507430..4f5aeff395 100644
--- a/src/corelib/io/qlockfile.cpp
+++ b/src/corelib/io/qlockfile.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2013 David Faure <faure+bluesystems@kde.org>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qlockfile.h b/src/corelib/io/qlockfile.h
index a35eee521f..4ced56bdf6 100644
--- a/src/corelib/io/qlockfile.h
+++ b/src/corelib/io/qlockfile.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2013 David Faure <faure+bluesystems@kde.org>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qlockfile_p.h b/src/corelib/io/qlockfile_p.h
index ec36733ee7..0cfaa42849 100644
--- a/src/corelib/io/qlockfile_p.h
+++ b/src/corelib/io/qlockfile_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2013 David Faure <faure+bluesystems@kde.org>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qlockfile_unix.cpp b/src/corelib/io/qlockfile_unix.cpp
index 3ed973494b..5719d899a0 100644
--- a/src/corelib/io/qlockfile_unix.cpp
+++ b/src/corelib/io/qlockfile_unix.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2013 David Faure <faure+bluesystems@kde.org>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qlockfile_win.cpp b/src/corelib/io/qlockfile_win.cpp
index f9f29090d7..95d952c918 100644
--- a/src/corelib/io/qlockfile_win.cpp
+++ b/src/corelib/io/qlockfile_win.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2013 David Faure <faure+bluesystems@kde.org>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qloggingcategory.cpp b/src/corelib/io/qloggingcategory.cpp
index 79d20601a6..4631a00f5f 100644
--- a/src/corelib/io/qloggingcategory.cpp
+++ b/src/corelib/io/qloggingcategory.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -64,8 +64,8 @@ static void setBoolLane(QBasicAtomicInt *atomic, bool enable, int shift)
QLoggingCategory represents a certain logging category - identified by a
string - at runtime. A category can be configured to enable or disable
logging of messages per message type. Whether a message type is enabled or
- not can be checked with the \l isDebugEnabled(), \l isWarningEnabled(), and
- \l isCriticalEnabled() methods.
+ not can be checked with the \l isDebugEnabled(), \l isInfoEnabled(),
+ \l isWarningEnabled(), and \l isCriticalEnabled() methods.
All objects are meant to be configured by a common registry (see also
\l{Configuring Categories}). Different objects can also represent the same
@@ -82,8 +82,8 @@ static void setBoolLane(QBasicAtomicInt *atomic, bool enable, int shift)
\section1 Checking Category Configuration
- QLoggingCategory provides \l isDebugEnabled(), \l isWarningEnabled(),
- \l isCriticalEnabled(), as well as \l isEnabled()
+ QLoggingCategory provides \l isDebugEnabled(), \l isInfoEnabled(),
+ \l isWarningEnabled(), \l isCriticalEnabled(), as well as \l isEnabled()
to check whether messages for the given message type should be logged.
\note The qCDebug(), qCWarning(), qCCritical() macros prevent arguments
@@ -101,7 +101,7 @@ static void setBoolLane(QBasicAtomicInt *atomic, bool enable, int shift)
\snippet qloggingcategory/main.cpp 5
will log messages of type \c QtWarningMsg, \c QtCriticalMsg, \c QtFatalMsg, but will
- ignore messages of type \c QtDebugMsg.
+ ignore messages of type \c QtDebugMsg and \c QtInfoMsg.
If no argument is passed, all messages will be logged.
@@ -122,7 +122,7 @@ static void setBoolLane(QBasicAtomicInt *atomic, bool enable, int shift)
\c <category> is the name of the category, potentially with \c{*} as a
wildcard symbol as the first or last character (or at both positions).
- The optional \c <type> must be either \c debug, \c warning, or \c critical.
+ The optional \c <type> must be either \c debug, \c info, \c warning, or \c critical.
Lines that do not fit this scheme are ignored.
Rules are evaluated in text order, from first to last. That is, if two rules
@@ -250,6 +250,21 @@ QLoggingCategory::~QLoggingCategory()
expensive generation of data that is only used for debug output.
*/
+
+/*!
+ \fn bool QLoggingCategory::isInfoEnabled() const
+
+ Returns \c true if informational messages should be shown for this category.
+ Returns \c false otherwise.
+
+ \note The \l qCInfo() macro already does this check before executing any
+ code. However, calling this method may be useful to avoid
+ expensive generation of data that is only used for debug output.
+
+ \since 5.5
+*/
+
+
/*!
\fn bool QLoggingCategory::isWarningEnabled() const
@@ -280,6 +295,7 @@ bool QLoggingCategory::isEnabled(QtMsgType msgtype) const
{
switch (msgtype) {
case QtDebugMsg: return isDebugEnabled();
+ case QtInfoMsg: return isInfoEnabled();
case QtWarningMsg: return isWarningEnabled();
case QtCriticalMsg: return isCriticalEnabled();
case QtFatalMsg: return true;
@@ -302,10 +318,12 @@ void QLoggingCategory::setEnabled(QtMsgType type, bool enable)
switch (type) {
#ifdef Q_ATOMIC_INT8_IS_SUPPORTED
case QtDebugMsg: bools.enabledDebug.store(enable); break;
+ case QtInfoMsg: bools.enabledInfo.store(enable); break;
case QtWarningMsg: bools.enabledWarning.store(enable); break;
case QtCriticalMsg: bools.enabledCritical.store(enable); break;
#else
case QtDebugMsg: setBoolLane(&enabled, enable, DebugShift); break;
+ case QtInfoMsg: setBoolLane(&enabled, enable, InfoShift); break;
case QtWarningMsg: setBoolLane(&enabled, enable, WarningShift); break;
case QtCriticalMsg: setBoolLane(&enabled, enable, CriticalShift); break;
#endif
@@ -331,7 +349,7 @@ void QLoggingCategory::setEnabled(QtMsgType type, bool enable)
/*!
Returns a pointer to the global category \c "default" that
- is used e.g. by qDebug(), qWarning(), qCritical(), qFatal().
+ is used e.g. by qDebug(), qInfo(), qWarning(), qCritical(), qFatal().
\note The returned pointer may be null during destruction of
static objects.
@@ -439,6 +457,47 @@ void QLoggingCategory::setFilterRules(const QString &rules)
*/
/*!
+ \macro qCInfo(category)
+ \relates QLoggingCategory
+ \since 5.5
+
+ Returns an output stream for informational messages in the logging category
+ \a category.
+
+ The macro expands to code that checks whether
+ \l QLoggingCategory::isInfoEnabled() evaluates to \c true.
+ If so, the stream arguments are processed and sent to the message handler.
+
+ Example:
+
+ \snippet qloggingcategory/main.cpp qcinfo_stream
+
+ \note Arguments are not processed if debug output for the category is not
+ enabled, so do not rely on any side effects.
+
+ \sa qInfo()
+*/
+
+/*!
+ \macro qCInfo(category, const char *message, ...)
+ \relates QLoggingCategory
+ \since 5.5
+
+ Logs an informational message \a message in the logging category \a category.
+ \a message might contain place holders that are replaced by additional
+ arguments, similar to the C printf() function.
+
+ Example:
+
+ \snippet qloggingcategory/main.cpp qcinfo_printf
+
+ \note Arguments might not be processed if debug output for the category is
+ not enabled, so do not rely on any side effects.
+
+ \sa qInfo()
+*/
+
+/*!
\macro qCWarning(category)
\relates QLoggingCategory
\since 5.2
diff --git a/src/corelib/io/qloggingcategory.h b/src/corelib/io/qloggingcategory.h
index c7e242af08..33e6de5abe 100644
--- a/src/corelib/io/qloggingcategory.h
+++ b/src/corelib/io/qloggingcategory.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -53,10 +53,12 @@ public:
#ifdef Q_ATOMIC_INT8_IS_SUPPORTED
bool isDebugEnabled() const { return bools.enabledDebug.load(); }
+ bool isInfoEnabled() const { return bools.enabledInfo.load(); }
bool isWarningEnabled() const { return bools.enabledWarning.load(); }
bool isCriticalEnabled() const { return bools.enabledCritical.load(); }
#else
bool isDebugEnabled() const { return enabled.load() >> DebugShift & 1; }
+ bool isInfoEnabled() const { return enabled.load() >> InfoShift & 1; }
bool isWarningEnabled() const { return enabled.load() >> WarningShift & 1; }
bool isCriticalEnabled() const { return enabled.load() >> CriticalShift & 1; }
#endif
@@ -80,9 +82,9 @@ private:
const char *name;
#ifdef Q_BIG_ENDIAN
- enum { DebugShift = 0, WarningShift = 8, CriticalShift = 16 };
+ enum { DebugShift = 0, WarningShift = 8, CriticalShift = 16, InfoShift = 24 };
#else
- enum { DebugShift = 24, WarningShift = 16, CriticalShift = 8 };
+ enum { DebugShift = 24, WarningShift = 16, CriticalShift = 8, InfoShift = 0};
#endif
struct AtomicBools {
@@ -90,6 +92,7 @@ private:
QBasicAtomicInteger<bool> enabledDebug;
QBasicAtomicInteger<bool> enabledWarning;
QBasicAtomicInteger<bool> enabledCritical;
+ QBasicAtomicInteger<bool> enabledInfo;
#endif
};
union {
@@ -114,6 +117,9 @@ private:
#define qCDebug(category, ...) \
for (bool qt_category_enabled = category().isDebugEnabled(); qt_category_enabled; qt_category_enabled = false) \
QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, category().categoryName()).debug(__VA_ARGS__)
+#define qCInfo(category, ...) \
+ for (bool qt_category_enabled = category().isInfoEnabled(); qt_category_enabled; qt_category_enabled = false) \
+ QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, category().categoryName()).info(__VA_ARGS__)
#define qCWarning(category, ...) \
for (bool qt_category_enabled = category().isWarningEnabled(); qt_category_enabled; qt_category_enabled = false) \
QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, category().categoryName()).warning(__VA_ARGS__)
@@ -133,6 +139,7 @@ private:
// check for enabled category inside QMessageLogger.
#define qCDebug qDebug
+#define qCInfo qInfo
#define qCWarning qWarning
#define qCCritical qCritical
@@ -142,9 +149,13 @@ private:
# undef qCDebug
# define qCDebug(category) QT_NO_QDEBUG_MACRO()
#endif
+#if defined(QT_NO_INFO_OUTPUT)
+# undef qCInfo
+# define qCInfo(category) QT_NO_QDEBUG_MACRO()
+#endif
#if defined(QT_NO_WARNING_OUTPUT)
# undef qCWarning
-# define qCWarning(category) QT_NO_QWARNING_MACRO()
+# define qCWarning(category) QT_NO_QDEBUG_MACRO()
#endif
QT_END_NAMESPACE
diff --git a/src/corelib/io/qloggingregistry.cpp b/src/corelib/io/qloggingregistry.cpp
index 8af1487834..7f2ce319ee 100644
--- a/src/corelib/io/qloggingregistry.cpp
+++ b/src/corelib/io/qloggingregistry.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -124,6 +124,10 @@ void QLoggingRule::parse(const QStringRef &pattern)
p = QStringRef(pattern.string(), pattern.position(),
pattern.length() - 6); // strlen(".debug")
messageType = QtDebugMsg;
+ } else if (pattern.endsWith(QLatin1String(".info"))) {
+ p = QStringRef(pattern.string(), pattern.position(),
+ pattern.length() - 5); // strlen(".info")
+ messageType = QtInfoMsg;
} else if (pattern.endsWith(QLatin1String(".warning"))) {
p = QStringRef(pattern.string(), pattern.position(),
pattern.length() - 8); // strlen(".warning")
@@ -392,6 +396,7 @@ void QLoggingRegistry::defaultCategoryFilter(QLoggingCategory *cat)
QtMsgType enableForLevel = reg->categories.value(cat);
bool debug = (enableForLevel == QtDebugMsg);
+ bool info = (enableForLevel <= QtInfoMsg);
bool warning = (enableForLevel <= QtWarningMsg);
bool critical = (enableForLevel <= QtCriticalMsg);
@@ -409,6 +414,9 @@ void QLoggingRegistry::defaultCategoryFilter(QLoggingCategory *cat)
int filterpass = item.pass(categoryName, QtDebugMsg);
if (filterpass != 0)
debug = (filterpass > 0);
+ filterpass = item.pass(categoryName, QtInfoMsg);
+ if (filterpass != 0)
+ info = (filterpass > 0);
filterpass = item.pass(categoryName, QtWarningMsg);
if (filterpass != 0)
warning = (filterpass > 0);
@@ -418,6 +426,7 @@ void QLoggingRegistry::defaultCategoryFilter(QLoggingCategory *cat)
}
cat->setEnabled(QtDebugMsg, debug);
+ cat->setEnabled(QtInfoMsg, info);
cat->setEnabled(QtWarningMsg, warning);
cat->setEnabled(QtCriticalMsg, critical);
}
diff --git a/src/corelib/io/qloggingregistry_p.h b/src/corelib/io/qloggingregistry_p.h
index 0f12918221..718e09d9bb 100644
--- a/src/corelib/io/qloggingregistry_p.h
+++ b/src/corelib/io/qloggingregistry_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qnoncontiguousbytedevice.cpp b/src/corelib/io/qnoncontiguousbytedevice.cpp
index 11510a8397..c17b42ef81 100644
--- a/src/corelib/io/qnoncontiguousbytedevice.cpp
+++ b/src/corelib/io/qnoncontiguousbytedevice.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -94,17 +94,7 @@ QT_BEGIN_NAMESPACE
Moves the internal read pointer back to the beginning.
Returns \c false if this was not possible.
- \sa atEnd(), disableReset()
-
- \internal
-*/
-/*!
- \fn void QNonContiguousByteDevice::disableReset()
-
- Disable the reset() call, e.g. it will always
- do nothing and return false.
-
- \sa reset()
+ \sa atEnd()
\internal
*/
@@ -131,7 +121,7 @@ QT_BEGIN_NAMESPACE
\internal
*/
-QNonContiguousByteDevice::QNonContiguousByteDevice() : QObject((QObject*)0), resetDisabled(false)
+QNonContiguousByteDevice::QNonContiguousByteDevice() : QObject((QObject*)0)
{
}
@@ -139,11 +129,6 @@ QNonContiguousByteDevice::~QNonContiguousByteDevice()
{
}
-void QNonContiguousByteDevice::disableReset()
-{
- resetDisabled = true;
-}
-
// FIXME we should scrap this whole implementation and instead change the ByteArrayImpl to be able to cope with sub-arrays?
QNonContiguousByteDeviceBufferImpl::QNonContiguousByteDeviceBufferImpl(QBuffer *b) : QNonContiguousByteDevice()
{
@@ -176,8 +161,6 @@ bool QNonContiguousByteDeviceBufferImpl::atEnd()
bool QNonContiguousByteDeviceBufferImpl::reset()
{
- if (resetDisabled)
- return false;
return arrayImpl->reset();
}
@@ -224,9 +207,6 @@ bool QNonContiguousByteDeviceByteArrayImpl::atEnd()
bool QNonContiguousByteDeviceByteArrayImpl::reset()
{
- if (resetDisabled)
- return false;
-
currentPosition = 0;
return true;
}
@@ -275,9 +255,6 @@ bool QNonContiguousByteDeviceRingBufferImpl::atEnd()
bool QNonContiguousByteDeviceRingBufferImpl::reset()
{
- if (resetDisabled)
- return false;
-
currentPosition = 0;
return true;
}
@@ -378,8 +355,6 @@ bool QNonContiguousByteDeviceIoDeviceImpl::atEnd()
bool QNonContiguousByteDeviceIoDeviceImpl::reset()
{
- if (resetDisabled)
- return false;
bool reset = (initialPosition == 0) ? device->reset() : device->seek(initialPosition);
if (reset) {
eof = false; // assume eof is false, it will be true after a read has been attempted
diff --git a/src/corelib/io/qnoncontiguousbytedevice_p.h b/src/corelib/io/qnoncontiguousbytedevice_p.h
index c05ae11b0f..8b5bf3080a 100644
--- a/src/corelib/io/qnoncontiguousbytedevice_p.h
+++ b/src/corelib/io/qnoncontiguousbytedevice_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -62,8 +62,6 @@ public:
virtual bool advanceReadPointer(qint64 amount) = 0;
virtual bool atEnd() = 0;
virtual bool reset() = 0;
- void disableReset();
- bool isResetDisabled() { return resetDisabled; }
virtual qint64 size() = 0;
virtual ~QNonContiguousByteDevice();
@@ -72,7 +70,6 @@ protected:
QNonContiguousByteDevice();
- bool resetDisabled;
Q_SIGNALS:
void readyRead();
void readProgress(qint64 current, qint64 total);
@@ -101,11 +98,11 @@ class QNonContiguousByteDeviceByteArrayImpl : public QNonContiguousByteDevice
public:
QNonContiguousByteDeviceByteArrayImpl(QByteArray *ba);
~QNonContiguousByteDeviceByteArrayImpl();
- const char* readPointer(qint64 maximumLength, qint64 &len);
- bool advanceReadPointer(qint64 amount);
- bool atEnd();
- bool reset();
- qint64 size();
+ const char* readPointer(qint64 maximumLength, qint64 &len) Q_DECL_OVERRIDE;
+ bool advanceReadPointer(qint64 amount) Q_DECL_OVERRIDE;
+ bool atEnd() Q_DECL_OVERRIDE;
+ bool reset() Q_DECL_OVERRIDE;
+ qint64 size() Q_DECL_OVERRIDE;
protected:
QByteArray* byteArray;
qint64 currentPosition;
@@ -116,11 +113,11 @@ class QNonContiguousByteDeviceRingBufferImpl : public QNonContiguousByteDevice
public:
QNonContiguousByteDeviceRingBufferImpl(QSharedPointer<QRingBuffer> rb);
~QNonContiguousByteDeviceRingBufferImpl();
- const char* readPointer(qint64 maximumLength, qint64 &len);
- bool advanceReadPointer(qint64 amount);
- bool atEnd();
- bool reset();
- qint64 size();
+ const char* readPointer(qint64 maximumLength, qint64 &len) Q_DECL_OVERRIDE;
+ bool advanceReadPointer(qint64 amount) Q_DECL_OVERRIDE;
+ bool atEnd() Q_DECL_OVERRIDE;
+ bool reset() Q_DECL_OVERRIDE;
+ qint64 size() Q_DECL_OVERRIDE;
protected:
QSharedPointer<QRingBuffer> ringBuffer;
qint64 currentPosition;
@@ -133,11 +130,11 @@ class QNonContiguousByteDeviceIoDeviceImpl : public QNonContiguousByteDevice
public:
QNonContiguousByteDeviceIoDeviceImpl(QIODevice *d);
~QNonContiguousByteDeviceIoDeviceImpl();
- const char* readPointer(qint64 maximumLength, qint64 &len);
- bool advanceReadPointer(qint64 amount);
- bool atEnd();
- bool reset();
- qint64 size();
+ const char* readPointer(qint64 maximumLength, qint64 &len) Q_DECL_OVERRIDE;
+ bool advanceReadPointer(qint64 amount) Q_DECL_OVERRIDE;
+ bool atEnd() Q_DECL_OVERRIDE;
+ bool reset() Q_DECL_OVERRIDE;
+ qint64 size() Q_DECL_OVERRIDE;
protected:
QIODevice* device;
QByteArray* currentReadBuffer;
@@ -155,11 +152,11 @@ class QNonContiguousByteDeviceBufferImpl : public QNonContiguousByteDevice
public:
QNonContiguousByteDeviceBufferImpl(QBuffer *b);
~QNonContiguousByteDeviceBufferImpl();
- const char* readPointer(qint64 maximumLength, qint64 &len);
- bool advanceReadPointer(qint64 amount);
- bool atEnd();
- bool reset();
- qint64 size();
+ const char* readPointer(qint64 maximumLength, qint64 &len) Q_DECL_OVERRIDE;
+ bool advanceReadPointer(qint64 amount) Q_DECL_OVERRIDE;
+ bool atEnd() Q_DECL_OVERRIDE;
+ bool reset() Q_DECL_OVERRIDE;
+ qint64 size() Q_DECL_OVERRIDE;
protected:
QBuffer* buffer;
QByteArray byteArray;
@@ -172,13 +169,13 @@ class QByteDeviceWrappingIoDevice : public QIODevice
public:
QByteDeviceWrappingIoDevice (QNonContiguousByteDevice *bd);
~QByteDeviceWrappingIoDevice ();
- virtual bool isSequential () const;
- virtual bool atEnd () const;
- virtual bool reset ();
- virtual qint64 size () const;
+ virtual bool isSequential () const Q_DECL_OVERRIDE;
+ virtual bool atEnd () const Q_DECL_OVERRIDE;
+ virtual bool reset () Q_DECL_OVERRIDE;
+ virtual qint64 size () const Q_DECL_OVERRIDE;
protected:
- virtual qint64 readData ( char * data, qint64 maxSize );
- virtual qint64 writeData ( const char * data, qint64 maxSize );
+ virtual qint64 readData ( char * data, qint64 maxSize ) Q_DECL_OVERRIDE;
+ virtual qint64 writeData ( const char * data, qint64 maxSize ) Q_DECL_OVERRIDE;
QNonContiguousByteDevice *byteDevice;
};
diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp
index 94912ad616..6451bae0ba 100644
--- a/src/corelib/io/qprocess.cpp
+++ b/src/corelib/io/qprocess.cpp
@@ -1,8 +1,8 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2015 The Qt Company Ltd.
** Copyright (C) 2014 Intel Corporation
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -11,9 +11,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -24,8 +24,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -89,6 +89,8 @@ QT_END_NAMESPACE
#ifdef Q_OS_WIN
#include <qwineventnotifier.h>
+#else
+#include <private/qcore_unix_p.h>
#endif
#ifndef QT_NO_PROCESS
@@ -810,8 +812,7 @@ QProcessPrivate::QProcessPrivate()
deathNotifier = 0;
childStartedPipe[0] = INVALID_Q_PIPE;
childStartedPipe[1] = INVALID_Q_PIPE;
- deathPipe[0] = INVALID_Q_PIPE;
- deathPipe[1] = INVALID_Q_PIPE;
+ forkfd = -1;
exitCode = 0;
crashed = false;
dying = false;
@@ -821,9 +822,6 @@ QProcessPrivate::QProcessPrivate()
notifier = 0;
processFinishedNotifier = 0;
#endif // Q_OS_WIN
-#ifdef Q_OS_UNIX
- serial = 0;
-#endif
}
/*!
@@ -890,9 +888,10 @@ void QProcessPrivate::cleanup()
closeChannel(&stderrChannel);
closeChannel(&stdinChannel);
destroyPipe(childStartedPipe);
- destroyPipe(deathPipe);
#ifdef Q_OS_UNIX
- serial = 0;
+ if (forkfd != -1)
+ qt_safe_close(forkfd);
+ forkfd = -1;
#endif
}
@@ -1079,6 +1078,17 @@ bool QProcessPrivate::_q_processDied()
processError = QProcess::Crashed;
q->setErrorString(QProcess::tr("Process crashed"));
emit q->error(processError);
+ } else {
+#ifdef QPROCESS_USE_SPAWN
+ // if we're using posix_spawn, waitForStarted always succeeds.
+ // POSIX documents that the sub-process launched by posix_spawn will exit with code
+ // 127 if anything prevents the target program from starting.
+ // http://pubs.opengroup.org/onlinepubs/009695399/functions/posix_spawn.html
+ if (exitStatus == QProcess::NormalExit && exitCode == 127) {
+ processError = QProcess::FailedToStart;
+ q->setErrorString(QProcess::tr("Process failed to start (spawned process exited with code 127)"));
+ }
+#endif
}
bool wasRunning = (processState == QProcess::Running);
@@ -1754,6 +1764,9 @@ QProcessEnvironment QProcess::processEnvironment() const
If msecs is -1, this function will not time out.
+ \note On some UNIX operating systems, this function may return true but
+ the process may later report a QProcess::FailedToStart error.
+
\sa started(), waitForReadyRead(), waitForBytesWritten(), waitForFinished()
*/
bool QProcess::waitForStarted(int msecs)
@@ -2348,7 +2361,7 @@ int QProcess::execute(const QString &program, const QStringList &arguments)
QProcess process;
process.setReadChannelMode(ForwardedChannels);
process.start(program, arguments);
- if (!process.waitForFinished(-1))
+ if (!process.waitForFinished(-1) || process.error() == FailedToStart)
return -2;
return process.exitStatus() == QProcess::NormalExit ? process.exitCode() : -1;
}
@@ -2371,7 +2384,7 @@ int QProcess::execute(const QString &command)
QProcess process;
process.setReadChannelMode(ForwardedChannels);
process.start(command);
- if (!process.waitForFinished(-1))
+ if (!process.waitForFinished(-1) || process.error() == FailedToStart)
return -2;
return process.exitStatus() == QProcess::NormalExit ? process.exitCode() : -1;
}
diff --git a/src/corelib/io/qprocess.h b/src/corelib/io/qprocess.h
index 8d90177c8b..65af469c18 100644
--- a/src/corelib/io/qprocess.h
+++ b/src/corelib/io/qprocess.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -182,8 +182,8 @@ public:
qint64 processId() const;
bool waitForStarted(int msecs = 30000);
- bool waitForReadyRead(int msecs = 30000);
- bool waitForBytesWritten(int msecs = 30000);
+ bool waitForReadyRead(int msecs = 30000) Q_DECL_OVERRIDE;
+ bool waitForBytesWritten(int msecs = 30000) Q_DECL_OVERRIDE;
bool waitForFinished(int msecs = 30000);
QByteArray readAllStandardOutput();
@@ -193,12 +193,12 @@ public:
QProcess::ExitStatus exitStatus() const;
// QIODevice
- qint64 bytesAvailable() const;
- qint64 bytesToWrite() const;
- bool isSequential() const;
- bool canReadLine() const;
- void close();
- bool atEnd() const;
+ qint64 bytesAvailable() const Q_DECL_OVERRIDE;
+ qint64 bytesToWrite() const Q_DECL_OVERRIDE;
+ bool isSequential() const Q_DECL_OVERRIDE;
+ bool canReadLine() const Q_DECL_OVERRIDE;
+ void close() Q_DECL_OVERRIDE;
+ bool atEnd() const Q_DECL_OVERRIDE;
static int execute(const QString &program, const QStringList &arguments);
static int execute(const QString &command);
@@ -254,8 +254,8 @@ protected:
virtual void setupChildProcess();
// QIODevice
- qint64 readData(char *data, qint64 maxlen);
- qint64 writeData(const char *data, qint64 len);
+ qint64 readData(char *data, qint64 maxlen) Q_DECL_OVERRIDE;
+ qint64 writeData(const char *data, qint64 len) Q_DECL_OVERRIDE;
private:
Q_DECLARE_PRIVATE(QProcess)
diff --git a/src/corelib/io/qprocess_p.h b/src/corelib/io/qprocess_p.h
index 35626ddc38..5654b404fe 100644
--- a/src/corelib/io/qprocess_p.h
+++ b/src/corelib/io/qprocess_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -62,6 +62,9 @@ typedef HANDLE Q_PIPE;
#else
typedef int Q_PIPE;
#define INVALID_Q_PIPE -1
+# ifdef Q_OS_QNX
+# define QPROCESS_USE_SPAWN
+# endif
#endif
#ifndef QT_NO_PROCESS
@@ -98,7 +101,7 @@ public:
QByteArray key;
uint hash;
};
-inline uint qHash(const QProcEnvKey &key) { return key.hash; }
+inline uint qHash(const QProcEnvKey &key) Q_DECL_NOTHROW { return key.hash; }
class QProcEnvValue
{
@@ -331,12 +334,13 @@ public:
QProcessEnvironment environment;
Q_PIPE childStartedPipe[2];
- Q_PIPE deathPipe[2];
void destroyPipe(Q_PIPE pipe[2]);
QSocketNotifier *startupSocketNotifier;
QSocketNotifier *deathNotifier;
+ int forkfd;
+
#ifdef Q_OS_WIN
// the wonderful windows notifier
QTimer *notifier;
@@ -345,10 +349,10 @@ public:
void start(QIODevice::OpenMode mode);
void startProcess();
-#if defined(Q_OS_UNIX) && !defined(Q_OS_QNX)
+#if defined(Q_OS_UNIX) && !defined(QPROCESS_USE_SPAWN)
void execChild(const char *workingDirectory, char **path, char **argv, char **envp);
-#elif defined(Q_OS_QNX)
- pid_t spawnChild(const char *workingDirectory, char **argv, char **envp);
+#elif defined(QPROCESS_USE_SPAWN)
+ pid_t spawnChild(pid_t *ppid, const char *workingDirectory, char **argv, char **envp);
#endif
bool processStarted();
void terminateProcess();
@@ -369,9 +373,6 @@ public:
int exitCode;
QProcess::ExitStatus exitStatus;
bool crashed;
-#ifdef Q_OS_UNIX
- int serial;
-#endif
bool waitForStarted(int msecs = 30000);
bool waitForReadyRead(int msecs = 30000);
@@ -389,9 +390,6 @@ public:
QList<QSocketNotifier *> defaultNotifiers() const;
#endif // Q_OS_BLACKBERRY
-#ifdef Q_OS_UNIX
- static void initializeProcessManager();
-#endif
};
QT_END_NAMESPACE
diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp
index cc154cfbc5..fcebc08d7f 100644
--- a/src/corelib/io/qprocess_unix.cpp
+++ b/src/corelib/io/qprocess_unix.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -37,10 +37,9 @@
#ifndef QT_NO_PROCESS
#if defined QPROCESS_DEBUG
-#include "qstring.h"
+#include "private/qtools_p.h"
#include <ctype.h>
-
/*
Returns a human readable representation of the first \a len
characters in \a data.
@@ -58,10 +57,16 @@ static QByteArray qt_prettyDebug(const char *data, int len, int maxSize)
case '\n': out += "\\n"; break;
case '\r': out += "\\r"; break;
case '\t': out += "\\t"; break;
- default:
- QString tmp;
- tmp.sprintf("\\%o", c);
- out += tmp.toLatin1();
+ default: {
+ const char buf[] = {
+ '\\',
+ QtMiscUtils::toOct(uchar(c) / 64),
+ QtMiscUtils::toOct(uchar(c) % 64 / 8),
+ QtMiscUtils::toOct(uchar(c) % 8),
+ 0
+ };
+ out += buf;
+ }
}
}
@@ -95,15 +100,14 @@ QT_END_NAMESPACE
#include <qthread.h>
#include <qelapsedtimer.h>
+#ifdef Q_OS_QNX
+# include <sys/neutrino.h>
+#endif
+
#include <errno.h>
#include <stdlib.h>
#include <string.h>
-#ifdef Q_OS_QNX
-#include "qvarlengtharray.h"
-
-#include <spawn.h>
-#include <sys/neutrino.h>
-#endif
+#include <forkfd.h>
QT_BEGIN_NAMESPACE
@@ -111,38 +115,6 @@ QT_BEGIN_NAMESPACE
// so we will use 512
static const int errorBufferMax = 512;
-static int qt_qprocess_deadChild_pipe[2];
-static struct sigaction qt_sa_old_sigchld_handler;
-static void qt_sa_sigchld_sigaction(int signum, siginfo_t *info, void *context)
-{
- // *Never* use the info or contect variables in this function
- // (except for passing them to the next signal in the chain).
- // We cannot be sure if another library or if the application
- // installed a signal handler for SIGCHLD without SA_SIGINFO
- // and fails to pass the arguments to us. If they do that,
- // these arguments contain garbage and we'd most likely crash.
-
- qt_safe_write(qt_qprocess_deadChild_pipe[1], "", 1);
-#if defined (QPROCESS_DEBUG)
- fprintf(stderr, "*** SIGCHLD\n");
-#endif
-
- // load as volatile
- volatile struct sigaction *vsa = &qt_sa_old_sigchld_handler;
-
- if (qt_sa_old_sigchld_handler.sa_flags & SA_SIGINFO) {
- void (*oldAction)(int, siginfo_t *, void *) = vsa->sa_sigaction;
-
- if (oldAction)
- oldAction(signum, info, context);
- } else {
- void (*oldAction)(int) = vsa->sa_handler;
-
- if (oldAction && oldAction != SIG_IGN)
- oldAction(signum);
- }
-}
-
static inline void add_fd(int &nfds, int fd, fd_set *fdset)
{
FD_SET(fd, fdset);
@@ -150,199 +122,6 @@ static inline void add_fd(int &nfds, int fd, fd_set *fdset)
nfds = fd;
}
-struct QProcessInfo {
- QProcess *process;
- int deathPipe;
- int exitResult;
- pid_t pid;
- int serialNumber;
-};
-
-class QProcessManager : public QThread
-{
- Q_OBJECT
-public:
- QProcessManager();
- ~QProcessManager();
-
- void run();
- void catchDeadChildren();
- void add(pid_t pid, QProcess *process);
- void remove(QProcess *process);
- void lock();
- void unlock();
-
-private:
- QMutex mutex;
- QHash<int, QProcessInfo *> children;
-};
-
-
-static QProcessManager *processManagerInstance = 0;
-
-static QProcessManager *processManager()
-{
- // The constructor of QProcessManager should be called only once
- // so we cannot use Q_GLOBAL_STATIC directly for QProcessManager
- static QBasicMutex processManagerGlobalMutex;
- QMutexLocker locker(&processManagerGlobalMutex);
-
- if (!processManagerInstance)
- new QProcessManager;
-
- Q_ASSERT(processManagerInstance);
- return processManagerInstance;
-}
-
-QProcessManager::QProcessManager()
-{
-#if defined (QPROCESS_DEBUG)
- qDebug() << "QProcessManager::QProcessManager()";
-#endif
- // initialize the dead child pipe and make it non-blocking. in the
- // extremely unlikely event that the pipe fills up, we do not under any
- // circumstances want to block.
- qt_safe_pipe(qt_qprocess_deadChild_pipe, O_NONBLOCK);
-
- // set up the SIGCHLD handler, which writes a single byte to the dead
- // child pipe every time a child dies.
-
- struct sigaction action;
- // use the old handler as template, i.e., preserve the signal mask
- // otherwise the original signal handler might be interrupted although it
- // was marked to never be interrupted
- ::sigaction(SIGCHLD, NULL, &action);
- action.sa_sigaction = qt_sa_sigchld_sigaction;
- // set the SA_SIGINFO flag such that we can use the three argument handler
- // function
- action.sa_flags = SA_NOCLDSTOP | SA_SIGINFO;
- ::sigaction(SIGCHLD, &action, &qt_sa_old_sigchld_handler);
-
- processManagerInstance = this;
-}
-
-QProcessManager::~QProcessManager()
-{
- // notify the thread that we're shutting down.
- qt_safe_write(qt_qprocess_deadChild_pipe[1], "@", 1);
- qt_safe_close(qt_qprocess_deadChild_pipe[1]);
- wait();
-
- // on certain unixes, closing the reading end of the pipe will cause
- // select in run() to block forever, rather than return with EBADF.
- qt_safe_close(qt_qprocess_deadChild_pipe[0]);
-
- qt_qprocess_deadChild_pipe[0] = -1;
- qt_qprocess_deadChild_pipe[1] = -1;
-
- qDeleteAll(children.values());
- children.clear();
-
- struct sigaction currentAction;
- ::sigaction(SIGCHLD, 0, &currentAction);
- if (currentAction.sa_sigaction == qt_sa_sigchld_sigaction) {
- ::sigaction(SIGCHLD, &qt_sa_old_sigchld_handler, 0);
- }
-
- processManagerInstance = 0;
-}
-
-void QProcessManager::run()
-{
- forever {
- fd_set readset;
- FD_ZERO(&readset);
- FD_SET(qt_qprocess_deadChild_pipe[0], &readset);
-
-#if defined (QPROCESS_DEBUG)
- qDebug() << "QProcessManager::run() waiting for children to die";
-#endif
-
- // block forever, or until activity is detected on the dead child
- // pipe. the only other peers are the SIGCHLD signal handler, and the
- // QProcessManager destructor.
- int nselect = select(qt_qprocess_deadChild_pipe[0] + 1, &readset, 0, 0, 0);
- if (nselect < 0) {
- if (errno == EINTR)
- continue;
- break;
- }
-
- // empty only one byte from the pipe, even though several SIGCHLD
- // signals may have been delivered in the meantime, to avoid race
- // conditions.
- char c;
- if (qt_safe_read(qt_qprocess_deadChild_pipe[0], &c, 1) < 0 || c == '@')
- break;
-
- // catch any and all children that we can.
- catchDeadChildren();
- }
-}
-
-void QProcessManager::catchDeadChildren()
-{
- QMutexLocker locker(&mutex);
-
- // try to catch all children whose pid we have registered, and whose
- // deathPipe is still valid (i.e, we have not already notified it).
- QHash<int, QProcessInfo *>::Iterator it = children.begin();
- while (it != children.end()) {
- // notify all children that they may have died. they need to run
- // waitpid() in their own thread.
- QProcessInfo *info = it.value();
- qt_safe_write(info->deathPipe, "", 1);
-
-#if defined (QPROCESS_DEBUG)
- qDebug() << "QProcessManager::run() sending death notice to" << info->process;
-#endif
- ++it;
- }
-}
-
-static QBasicAtomicInt idCounter = Q_BASIC_ATOMIC_INITIALIZER(1);
-
-void QProcessManager::add(pid_t pid, QProcess *process)
-{
-#if defined (QPROCESS_DEBUG)
- qDebug() << "QProcessManager::add() adding pid" << pid << "process" << process;
-#endif
-
- // insert a new info structure for this process
- QProcessInfo *info = new QProcessInfo;
- info->process = process;
- info->deathPipe = process->d_func()->deathPipe[1];
- info->exitResult = 0;
- info->pid = pid;
-
- int serial = idCounter.fetchAndAddRelaxed(1);
- process->d_func()->serial = serial;
- children.insert(serial, info);
-}
-
-void QProcessManager::remove(QProcess *process)
-{
- QMutexLocker locker(&mutex);
-
- int serial = process->d_func()->serial;
- QProcessInfo *info = children.take(serial);
-#if defined (QPROCESS_DEBUG)
- if (info)
- qDebug() << "QProcessManager::remove() removing pid" << info->pid << "process" << info->process;
-#endif
- delete info;
-}
-
-void QProcessManager::lock()
-{
- mutex.lock();
-}
-
-void QProcessManager::unlock()
-{
- mutex.unlock();
-}
-
static int qt_create_pipe(int *pipe)
{
if (pipe[0] != -1)
@@ -562,14 +341,11 @@ void QProcessPrivate::startProcess()
qDebug("QProcessPrivate::startProcess()");
#endif
- processManager()->start();
-
// Initialize pipes
if (!openChannel(stdinChannel) ||
!openChannel(stdoutChannel) ||
!openChannel(stderrChannel) ||
- qt_create_pipe(childStartedPipe) != 0 ||
- qt_create_pipe(deathPipe) != 0) {
+ qt_create_pipe(childStartedPipe) != 0) {
processError = QProcess::FailedToStart;
q->setErrorString(qt_error_string(errno));
emit q->error(processError);
@@ -582,11 +358,6 @@ void QProcessPrivate::startProcess()
QSocketNotifier::Read, q);
QObject::connect(startupSocketNotifier, SIGNAL(activated(int)),
q, SLOT(_q_startupNotification()));
-
- deathNotifier = new QSocketNotifier(deathPipe[0],
- QSocketNotifier::Read, q);
- QObject::connect(deathNotifier, SIGNAL(activated(int)),
- q, SLOT(_q_processDied()));
}
// Start the process (platform dependent)
@@ -669,14 +440,17 @@ void QProcessPrivate::startProcess()
}
// Start the process manager, and fork off the child process.
- processManager()->lock();
-#if defined(Q_OS_QNX)
- pid_t childPid = spawnChild(workingDirPtr, argv, envp);
+#if defined(QPROCESS_USE_SPAWN)
+ pid_t childPid;
+ forkfd = spawnChild(&childPid, workingDirPtr, argv, envp);
+ Q_ASSUME(forkfd != FFD_CHILD_PROCESS);
#else
- pid_t childPid = fork();
- int lastForkErrno = errno;
+ pid_t childPid;
+ forkfd = ::forkfd(FFD_CLOEXEC, &childPid);
#endif
- if (childPid != 0) {
+ int lastForkErrno = errno;
+ if (forkfd != FFD_CHILD_PROCESS) {
+ // Parent process.
// Clean up duplicated memory.
free(dupProgramName);
for (int i = 1; i <= arguments.count(); ++i)
@@ -690,23 +464,15 @@ void QProcessPrivate::startProcess()
delete [] path;
}
- // This is not a valid check under QNX, because the semantics are
- // different. While under other platforms where fork() may succeed and exec() can still fail,
- // causing the childPid to hold a valid value (and thus evaluating the
- // following if to false), and then signaling the error via
- // childStartedPipe, under QNX on the other hand, spawn() return value will be assigned
- // to childPid (which will be -1 in case of failure). This will force
- // QProcess to cleanup, instead of signaling the error via
- // childStartedPipe. Since it will invalidade the pipes, functions like
- // QProcess::waitForStarted() will fail, for childStartedPipe will be
- // '-1' and mess with the select() calls.
-#if !defined(Q_OS_QNX)
- if (childPid < 0) {
+ // On QNX, if spawnChild failed, childPid will be -1 but forkfd is still 0.
+ // This is intentional because we only want to handle failure to fork()
+ // here, which is a rare occurrence. Handling of the failure to start is
+ // done elsewhere.
+ if (forkfd == -1) {
// Cleanup, report error and return
#if defined (QPROCESS_DEBUG)
qDebug("fork failed: %s", qPrintable(qt_error_string(lastForkErrno)));
#endif
- processManager()->unlock();
q->setProcessState(QProcess::NotRunning);
processError = QProcess::FailedToStart;
q->setErrorString(QProcess::tr("Resource error (fork failure): %1").arg(qt_error_string(lastForkErrno)));
@@ -716,21 +482,17 @@ void QProcessPrivate::startProcess()
}
// Start the child.
- if (childPid == 0) {
+#if !defined(QPROCESS_USE_SPAWN)
+ if (forkfd == FFD_CHILD_PROCESS) {
execChild(workingDirPtr, path, argv, envp);
::_exit(-1);
}
#endif
- // Register the child. In the mean time, we can get a SIGCHLD, so we need
- // to keep the lock held to avoid a race to catch the child.
- processManager()->add(childPid, q);
pid = Q_PID(childPid);
- processManager()->unlock();
// parent
// close the ends we don't use and make all pipes non-blocking
- ::fcntl(deathPipe[0], F_SETFL, ::fcntl(deathPipe[0], F_GETFL) | O_NONBLOCK);
qt_safe_close(childStartedPipe[1]);
childStartedPipe[1] = -1;
@@ -756,110 +518,151 @@ void QProcessPrivate::startProcess()
}
if (stderrChannel.pipe[0] != -1)
::fcntl(stderrChannel.pipe[0], F_SETFL, ::fcntl(stderrChannel.pipe[0], F_GETFL) | O_NONBLOCK);
+
+ if (threadData->eventDispatcher) {
+ deathNotifier = new QSocketNotifier(forkfd, QSocketNotifier::Read, q);
+ QObject::connect(deathNotifier, SIGNAL(activated(int)),
+ q, SLOT(_q_processDied()));
+ }
}
-#if defined(Q_OS_QNX)
-static pid_t doSpawn(int fd_count, int fd_map[], char **argv, char **envp,
- const char *workingDir, bool spawn_detached)
+#if defined(QPROCESS_USE_SPAWN)
+static int doSpawn(pid_t *ppid, const posix_spawn_file_actions_t *file_actions,
+ char **argv, char **envp, const char *workingDir, bool spawn_detached)
{
- // A multi threaded QNX Process can't fork so we call spawn() instead.
-
- struct inheritance inherit;
- memset(&inherit, 0, sizeof(inherit));
- inherit.flags |= SPAWN_SETSID;
- inherit.flags |= SPAWN_CHECK_SCRIPT;
- if (spawn_detached)
- inherit.flags |= SPAWN_NOZOMBIE;
- inherit.flags |= SPAWN_SETSIGDEF;
- sigaddset(&inherit.sigdefault, SIGPIPE); // reset the signal that we ignored
+ // A multi threaded QNX Process can't fork so we call spawnfd() instead.
+ posix_spawnattr_t attr;
+ posix_spawnattr_init(&attr);
+# ifdef Q_OS_QNX
+ posix_spawnattr_setxflags(&attr, POSIX_SPAWN_SETSIGDEF | POSIX_SPAWN_SETPGROUP
+ | (spawn_detached * POSIX_SPAWN_NOZOMBIE));
+# else
+ posix_spawnattr_setflags(&attr, POSIX_SPAWN_SETSIGDEF | POSIX_SPAWN_SETPGROUP);
+# endif
+ posix_spawnattr_setpgroup(&attr, 0);
+
+ sigset_t sigdefault;
+ sigemptyset(&sigdefault);
+ sigaddset(&sigdefault, SIGPIPE); // reset the signal that we ignored
+ posix_spawnattr_setsigdefault(&attr, &sigdefault);
// enter the working directory
const char *oldWorkingDir = 0;
char buff[PATH_MAX + 1];
if (workingDir) {
+# ifdef Q_OS_QNX
//we need to freeze everyone in order to avoid race conditions with //chdir().
if (ThreadCtl(_NTO_TCTL_THREADS_HOLD, 0) == -1)
qWarning("ThreadCtl(): cannot hold threads: %s", qPrintable(qt_error_string(errno)));
+# endif
oldWorkingDir = QT_GETCWD(buff, PATH_MAX + 1);
if (QT_CHDIR(workingDir) == -1)
qWarning("ThreadCtl(): failed to chdir to %s", workingDir);
}
- pid_t childPid;
- EINTR_LOOP(childPid, ::spawn(argv[0], fd_count, fd_map, &inherit, argv, envp));
- if (childPid == -1) {
- inherit.flags |= SPAWN_SEARCH_PATH;
- EINTR_LOOP(childPid, ::spawn(argv[0], fd_count, fd_map, &inherit, argv, envp));
+ int fd;
+ if (spawn_detached) {
+ fd = ::posix_spawn(ppid, argv[0], file_actions, &attr, argv, envp);
+ if (fd == -1) {
+ fd = ::posix_spawnp(ppid, argv[0], file_actions, &attr, argv, envp);
+ }
+ } else {
+ // use spawnfd
+ fd = ::spawnfd(FFD_CLOEXEC | FFD_NONBLOCK, ppid, argv[0], file_actions, &attr, argv, envp);
+ if (fd == -1) {
+ fd = ::spawnfd(FFD_CLOEXEC | FFD_NONBLOCK | FFD_SPAWN_SEARCH_PATH, ppid, argv[0], file_actions,
+ &attr, argv, envp);
+ }
}
if (oldWorkingDir) {
if (QT_CHDIR(oldWorkingDir) == -1)
qWarning("ThreadCtl(): failed to chdir to %s", oldWorkingDir);
+# ifdef Q_OS_QNX
if (ThreadCtl(_NTO_TCTL_THREADS_CONT, 0) == -1)
qFatal("ThreadCtl(): cannot resume threads: %s", qPrintable(qt_error_string(errno)));
+# endif
}
- return childPid;
+ posix_spawnattr_destroy(&attr);
+ return fd;
}
-pid_t QProcessPrivate::spawnChild(const char *workingDir, char **argv, char **envp)
+pid_t QProcessPrivate::spawnChild(pid_t *ppid, const char *workingDir, char **argv, char **envp)
{
- // we need to manually fill in fd_map
- // to inherit the file descriptors from
- // the parent
- const int fd_count = sysconf(_SC_OPEN_MAX);
- QVarLengthArray<int, 1024> fd_map(fd_count);
-
- for (int i = 3; i < fd_count; ++i) {
- // here we rely that fcntl returns -1 and
- // sets errno to EBADF
- const int flags = ::fcntl(i, F_GETFD);
-
- fd_map[i] = ((flags >= 0) && !(flags & FD_CLOEXEC))
- ? i : SPAWN_FDCLOSED;
+ // posix_spawn causes all file descriptors with FD_CLOEXEC to be closed automatically;
+ // we only need to add the actions for our own pipes
+ posix_spawn_file_actions_t file_actions;
+ posix_spawn_file_actions_init(&file_actions);
+
+# ifdef Q_OS_QNX
+ static const bool OS_QNX = true;
+# else
+ static const bool OS_QNX = false;
+#endif
+
+ int fdmax = -1;
+
+ if (processChannelMode == QProcess::MergedChannels) {
+ // managed stderr == stdout
+ posix_spawn_file_actions_adddup2(&file_actions, stdoutChannel.pipe[1], STDERR_FILENO);
+
+ if (OS_QNX)
+ fdmax = qMax(fdmax, stdoutChannel.pipe[1]);
+ } else if (processChannelMode != QProcess::ForwardedChannels && processChannelMode != QProcess::ForwardedErrorChannel) {
+ // managed stderr
+ posix_spawn_file_actions_adddup2(&file_actions, stderrChannel.pipe[1], STDERR_FILENO);
+
+ if (OS_QNX)
+ fdmax = qMax(fdmax, stderrChannel.pipe[1]);
+ else
+ posix_spawn_file_actions_addclose(&file_actions, stderrChannel.pipe[1]);
+
}
- if (inputChannelMode == QProcess::ManagedInputChannel)
- fd_map[0] = stdinChannel.pipe[0];
- else
- fd_map[0] = QT_FILENO(stdin);
-
- switch (processChannelMode) {
- case QProcess::ForwardedChannels:
- fd_map[1] = QT_FILENO(stdout);
- fd_map[2] = QT_FILENO(stderr);
- break;
- case QProcess::ForwardedOutputChannel:
- fd_map[1] = QT_FILENO(stdout);
- fd_map[2] = stderrChannel.pipe[1];
- break;
- case QProcess::ForwardedErrorChannel:
- fd_map[1] = stdoutChannel.pipe[1];
- fd_map[2] = QT_FILENO(stderr);
- break;
- case QProcess::MergedChannels:
- fd_map[1] = stdoutChannel.pipe[1];
- fd_map[2] = stdoutChannel.pipe[1];
- break;
- case QProcess::SeparateChannels:
- fd_map[1] = stdoutChannel.pipe[1];
- fd_map[2] = stderrChannel.pipe[1];
- break;
+ if (processChannelMode != QProcess::ForwardedChannels && processChannelMode != QProcess::ForwardedOutputChannel) {
+ // managed stdout
+ posix_spawn_file_actions_adddup2(&file_actions, stdoutChannel.pipe[1], STDOUT_FILENO);
+
+ if (OS_QNX)
+ fdmax = qMax(fdmax, stdoutChannel.pipe[1]);
+ else
+ posix_spawn_file_actions_addclose(&file_actions, stdoutChannel.pipe[1]);
+
}
- pid_t childPid = doSpawn(fd_count, fd_map.data(), argv, envp, workingDir, false);
+ if (inputChannelMode == QProcess::ManagedInputChannel) {
+ posix_spawn_file_actions_adddup2(&file_actions, stdinChannel.pipe[0], STDIN_FILENO);
- if (childPid == -1) {
+ if (OS_QNX)
+ fdmax = qMax(fdmax, stdinChannel.pipe[0]);
+ else
+ posix_spawn_file_actions_addclose(&file_actions, stdinChannel.pipe[0]);
+ }
+
+ // Workaround: QNX's spawn implementation will actually dup all FD values
+ // LESS than fdmax - regardless of the FD_CLOEEXEC flag. So we need to add
+ // those to the list of files to close, otherwise dup will fail when some
+ // other thread closes the FD.
+ for (int i = 3; i <= fdmax; i++) {
+ if (::fcntl(i, F_GETFD) & FD_CLOEXEC)
+ posix_spawn_file_actions_addclose(&file_actions, i);
+ }
+
+ int retval = doSpawn(ppid, &file_actions, argv, envp, workingDir, false);
+
+ if (retval == -1) {
QString error = qt_error_string(errno);
qt_safe_write(childStartedPipe[1], error.data(), error.length() * sizeof(QChar));
qt_safe_close(childStartedPipe[1]);
childStartedPipe[1] = -1;
}
- return childPid;
+ posix_spawn_file_actions_destroy(&file_actions);
+ return retval;
}
#else
@@ -963,7 +766,7 @@ qint64 QProcessPrivate::bytesAvailableInChannel(const Channel *channel) const
if (::ioctl(channel->pipe[0], FIONREAD, (char *) &nbytes) >= 0)
available = (qint64) nbytes;
#if defined (QPROCESS_DEBUG)
- qDebug("QProcessPrivate::bytesAvailableInChannel(%d) == %lld", channel - &stdinChannel, available);
+ qDebug("QProcessPrivate::bytesAvailableInChannel(%d) == %lld", int(channel - &stdinChannel), available);
#endif
return available;
}
@@ -975,7 +778,7 @@ qint64 QProcessPrivate::readFromChannel(const Channel *channel, char *data, qint
#if defined QPROCESS_DEBUG
int save_errno = errno;
qDebug("QProcessPrivate::readFromChannel(%d, %p \"%s\", %lld) == %lld",
- channel - &stdinChannel,
+ int(channel - &stdinChannel),
data, qt_prettyDebug(data, bytesRead, 16).constData(), maxlen, bytesRead);
errno = save_errno;
#endif
@@ -1092,8 +895,8 @@ bool QProcessPrivate::waitForReadyRead(int msecs)
FD_ZERO(&fdread);
FD_ZERO(&fdwrite);
- int nfds = deathPipe[0];
- FD_SET(deathPipe[0], &fdread);
+ int nfds = forkfd;
+ FD_SET(forkfd, &fdread);
if (processState == QProcess::Starting)
add_fd(nfds, childStartedPipe[0], &fdread);
@@ -1143,7 +946,7 @@ bool QProcessPrivate::waitForReadyRead(int msecs)
if (stdinChannel.pipe[1] != -1 && FD_ISSET(stdinChannel.pipe[1], &fdwrite))
_q_canWrite();
- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) {
+ if (forkfd == -1 || FD_ISSET(forkfd, &fdread)) {
if (_q_processDied())
return false;
}
@@ -1172,8 +975,8 @@ bool QProcessPrivate::waitForBytesWritten(int msecs)
FD_ZERO(&fdread);
FD_ZERO(&fdwrite);
- int nfds = deathPipe[0];
- FD_SET(deathPipe[0], &fdread);
+ int nfds = forkfd;
+ FD_SET(forkfd, &fdread);
if (processState == QProcess::Starting)
add_fd(nfds, childStartedPipe[0], &fdread);
@@ -1217,7 +1020,7 @@ bool QProcessPrivate::waitForBytesWritten(int msecs)
if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread))
_q_canReadStandardError();
- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) {
+ if (forkfd == -1 || FD_ISSET(forkfd, &fdread)) {
if (_q_processDied())
return false;
}
@@ -1256,8 +1059,8 @@ bool QProcessPrivate::waitForFinished(int msecs)
if (stderrChannel.pipe[0] != -1)
add_fd(nfds, stderrChannel.pipe[0], &fdread);
- if (processState == QProcess::Running)
- add_fd(nfds, deathPipe[0], &fdread);
+ if (processState == QProcess::Running && forkfd != -1)
+ add_fd(nfds, forkfd, &fdread);
if (!stdinChannel.buffer.isEmpty() && stdinChannel.pipe[1] != -1)
add_fd(nfds, stdinChannel.pipe[1], &fdwrite);
@@ -1290,7 +1093,7 @@ bool QProcessPrivate::waitForFinished(int msecs)
if (stderrChannel.pipe[0] != -1 && FD_ISSET(stderrChannel.pipe[0], &fdread))
_q_canReadStandardError();
- if (deathPipe[0] == -1 || FD_ISSET(deathPipe[0], &fdread)) {
+ if (forkfd == -1 || FD_ISSET(forkfd, &fdread)) {
if (_q_processDied())
return true;
}
@@ -1308,46 +1111,41 @@ bool QProcessPrivate::waitForWrite(int msecs)
void QProcessPrivate::findExitCode()
{
- Q_Q(QProcess);
- processManager()->remove(q);
}
bool QProcessPrivate::waitForDeadChild()
{
- Q_Q(QProcess);
+ if (forkfd == -1)
+ return true; // child has already exited
- // read a byte from the death pipe
- char c;
- qt_safe_read(deathPipe[0], &c, 1);
+ // read the process information from our fd
+ siginfo_t info;
+ qint64 ret = qt_safe_read(forkfd, &info, sizeof info);
+ Q_ASSERT(ret == sizeof info);
+ Q_UNUSED(ret);
+
+ Q_ASSERT(info.si_pid == pid_t(pid));
+
+ exitCode = info.si_status;
+ crashed = info.si_code != CLD_EXITED;
+
+ qt_safe_close(forkfd);
+ forkfd = -1; // Child is dead, don't try to kill it anymore
- // check if our process is dead
- int exitStatus;
- if (qt_safe_waitpid(pid_t(pid), &exitStatus, WNOHANG) > 0) {
- processManager()->remove(q);
- crashed = !WIFEXITED(exitStatus);
- exitCode = WEXITSTATUS(exitStatus);
-#if defined QPROCESS_DEBUG
- qDebug() << "QProcessPrivate::waitForDeadChild() dead with exitCode"
- << exitCode << ", crashed?" << crashed;
-#endif
- return true;
- }
#if defined QPROCESS_DEBUG
- qDebug() << "QProcessPrivate::waitForDeadChild() not dead!";
+ qDebug() << "QProcessPrivate::waitForDeadChild() dead with exitCode"
+ << exitCode << ", crashed?" << crashed;
#endif
- return false;
+ return true;
}
void QProcessPrivate::_q_notified()
{
}
-#if defined(Q_OS_QNX)
+#if defined(QPROCESS_USE_SPAWN)
bool QProcessPrivate::startDetached(const QString &program, const QStringList &arguments, const QString &workingDirectory, qint64 *pid)
{
- const int fd_count = 3;
- int fd_map[fd_count] = { QT_FILENO(stdin), QT_FILENO(stdout), QT_FILENO(stderr) };
-
QList<QByteArray> enc_args;
enc_args.append(QFile::encodeName(program));
for (int i = 0; i < arguments.size(); ++i)
@@ -1369,19 +1167,18 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a
workingDirPtr = encodedWorkingDirectory.constData();
}
- pid_t childPid = doSpawn(fd_count, fd_map, raw_argv.data(), envp, workingDirPtr, true);
- if (pid && childPid != -1)
+ pid_t childPid;
+ int retval = doSpawn(&childPid, NULL, raw_argv.data(), envp, workingDirPtr, true);
+ if (pid && retval != -1)
*pid = childPid;
- return childPid != -1;
+ return retval != -1;
}
#else
bool QProcessPrivate::startDetached(const QString &program, const QStringList &arguments, const QString &workingDirectory, qint64 *pid)
{
- processManager()->start();
-
QByteArray encodedWorkingDirectory = QFile::encodeName(workingDirectory);
// To catch the startup of the child
@@ -1496,13 +1293,6 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a
}
#endif
-void QProcessPrivate::initializeProcessManager()
-{
- (void) processManager();
-}
-
QT_END_NAMESPACE
-#include "qprocess_unix.moc"
-
#endif // QT_NO_PROCESS
diff --git a/src/corelib/io/qprocess_win.cpp b/src/corelib/io/qprocess_win.cpp
index 9e60daa5b4..563286e3e9 100644
--- a/src/corelib/io/qprocess_win.cpp
+++ b/src/corelib/io/qprocess_win.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qprocess_wince.cpp b/src/corelib/io/qprocess_wince.cpp
index d6db097813..bf19c81f25 100644
--- a/src/corelib/io/qprocess_wince.cpp
+++ b/src/corelib/io/qprocess_wince.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qresource.cpp b/src/corelib/io/qresource.cpp
index 64c20dead2..4b85645a90 100644
--- a/src/corelib/io/qresource.cpp
+++ b/src/corelib/io/qresource.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -873,10 +873,16 @@ public:
inline QDynamicBufferResourceRoot(const QString &_root) : root(_root), buffer(0) { }
inline ~QDynamicBufferResourceRoot() { }
inline const uchar *mappingBuffer() const { return buffer; }
- virtual QString mappingRoot() const { return root; }
- virtual ResourceRootType type() const { return Resource_Buffer; }
+ virtual QString mappingRoot() const Q_DECL_OVERRIDE { return root; }
+ virtual ResourceRootType type() const Q_DECL_OVERRIDE { return Resource_Buffer; }
+
+ // size == -1 means "unknown"
+ bool registerSelf(const uchar *b, int size)
+ {
+ // 5 int "pointers"
+ if (size >= 0 && size < 20)
+ return false;
- bool registerSelf(const uchar *b) {
//setup the data now
int offset = 0;
@@ -903,6 +909,10 @@ public:
(b[offset+2] << 8) + (b[offset+3] << 0);
offset += 4;
+ // Some sanity checking for sizes. This is _not_ a security measure.
+ if (size >= 0 && (tree_offset >= size || data_offset >= size || name_offset >= size))
+ return false;
+
if(version == 0x01) {
buffer = b;
setSource(b+tree_offset, b+name_offset, b+data_offset);
@@ -950,7 +960,7 @@ public:
}
}
QString mappingFile() const { return fileName; }
- virtual ResourceRootType type() const { return Resource_File; }
+ virtual ResourceRootType type() const Q_DECL_OVERRIDE { return Resource_File; }
bool registerSelf(const QString &f) {
bool fromMM = false;
@@ -1009,7 +1019,7 @@ public:
}
fromMM = false;
}
- if(data && QDynamicBufferResourceRoot::registerSelf(data)) {
+ if (data && QDynamicBufferResourceRoot::registerSelf(data, data_len)) {
if(fromMM) {
unmapPointer = data;
unmapLength = data_len;
@@ -1124,7 +1134,7 @@ QResource::registerResource(const uchar *rccData, const QString &resourceRoot)
}
QDynamicBufferResourceRoot *root = new QDynamicBufferResourceRoot(r);
- if(root->registerSelf(rccData)) {
+ if (root->registerSelf(rccData, -1)) {
root->ref.ref();
QMutexLocker lock(resourceMutex());
resourceList()->append(root);
diff --git a/src/corelib/io/qresource.h b/src/corelib/io/qresource.h
index e5a0acedfb..8e5e975d60 100644
--- a/src/corelib/io/qresource.h
+++ b/src/corelib/io/qresource.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qresource_iterator.cpp b/src/corelib/io/qresource_iterator.cpp
index decb2c709e..e80afaf43e 100644
--- a/src/corelib/io/qresource_iterator.cpp
+++ b/src/corelib/io/qresource_iterator.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qresource_iterator_p.h b/src/corelib/io/qresource_iterator_p.h
index 451773ec63..3372ae4e7d 100644
--- a/src/corelib/io/qresource_iterator_p.h
+++ b/src/corelib/io/qresource_iterator_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -57,10 +57,10 @@ public:
QResourceFileEngineIterator(QDir::Filters filters, const QStringList &filterNames);
~QResourceFileEngineIterator();
- QString next();
- bool hasNext() const;
+ QString next() Q_DECL_OVERRIDE;
+ bool hasNext() const Q_DECL_OVERRIDE;
- QString currentFileName() const;
+ QString currentFileName() const Q_DECL_OVERRIDE;
private:
mutable QStringList entries;
diff --git a/src/corelib/io/qresource_p.h b/src/corelib/io/qresource_p.h
index 030d1587e5..c5f880f391 100644
--- a/src/corelib/io/qresource_p.h
+++ b/src/corelib/io/qresource_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -58,52 +58,52 @@ public:
explicit QResourceFileEngine(const QString &path);
~QResourceFileEngine();
- virtual void setFileName(const QString &file);
+ virtual void setFileName(const QString &file) Q_DECL_OVERRIDE;
- virtual bool open(QIODevice::OpenMode flags) ;
- virtual bool close();
- virtual bool flush();
- virtual qint64 size() const;
- virtual qint64 pos() const;
+ virtual bool open(QIODevice::OpenMode flags) Q_DECL_OVERRIDE ;
+ virtual bool close() Q_DECL_OVERRIDE;
+ virtual bool flush() Q_DECL_OVERRIDE;
+ virtual qint64 size() const Q_DECL_OVERRIDE;
+ virtual qint64 pos() const Q_DECL_OVERRIDE;
virtual bool atEnd() const;
- virtual bool seek(qint64);
- virtual qint64 read(char *data, qint64 maxlen);
- virtual qint64 write(const char *data, qint64 len);
+ virtual bool seek(qint64) Q_DECL_OVERRIDE;
+ virtual qint64 read(char *data, qint64 maxlen) Q_DECL_OVERRIDE;
+ virtual qint64 write(const char *data, qint64 len) Q_DECL_OVERRIDE;
- virtual bool remove();
- virtual bool copy(const QString &newName);
- virtual bool rename(const QString &newName);
- virtual bool link(const QString &newName);
+ virtual bool remove() Q_DECL_OVERRIDE;
+ virtual bool copy(const QString &newName) Q_DECL_OVERRIDE;
+ virtual bool rename(const QString &newName) Q_DECL_OVERRIDE;
+ virtual bool link(const QString &newName) Q_DECL_OVERRIDE;
- virtual bool isSequential() const;
+ virtual bool isSequential() const Q_DECL_OVERRIDE;
- virtual bool isRelativePath() const;
+ virtual bool isRelativePath() const Q_DECL_OVERRIDE;
- virtual bool mkdir(const QString &dirName, bool createParentDirectories) const;
- virtual bool rmdir(const QString &dirName, bool recurseParentDirectories) const;
+ virtual bool mkdir(const QString &dirName, bool createParentDirectories) const Q_DECL_OVERRIDE;
+ virtual bool rmdir(const QString &dirName, bool recurseParentDirectories) const Q_DECL_OVERRIDE;
- virtual bool setSize(qint64 size);
+ virtual bool setSize(qint64 size) Q_DECL_OVERRIDE;
- virtual QStringList entryList(QDir::Filters filters, const QStringList &filterNames) const;
+ virtual QStringList entryList(QDir::Filters filters, const QStringList &filterNames) const Q_DECL_OVERRIDE;
- virtual bool caseSensitive() const;
+ virtual bool caseSensitive() const Q_DECL_OVERRIDE;
- virtual FileFlags fileFlags(FileFlags type) const;
+ virtual FileFlags fileFlags(FileFlags type) const Q_DECL_OVERRIDE;
- virtual bool setPermissions(uint perms);
+ virtual bool setPermissions(uint perms) Q_DECL_OVERRIDE;
- virtual QString fileName(QAbstractFileEngine::FileName file) const;
+ virtual QString fileName(QAbstractFileEngine::FileName file) const Q_DECL_OVERRIDE;
- virtual uint ownerId(FileOwner) const;
- virtual QString owner(FileOwner) const;
+ virtual uint ownerId(FileOwner) const Q_DECL_OVERRIDE;
+ virtual QString owner(FileOwner) const Q_DECL_OVERRIDE;
- virtual QDateTime fileTime(FileTime time) const;
+ virtual QDateTime fileTime(FileTime time) const Q_DECL_OVERRIDE;
- virtual Iterator *beginEntryList(QDir::Filters filters, const QStringList &filterNames);
- virtual Iterator *endEntryList();
+ virtual Iterator *beginEntryList(QDir::Filters filters, const QStringList &filterNames) Q_DECL_OVERRIDE;
+ virtual Iterator *endEntryList() Q_DECL_OVERRIDE;
- bool extension(Extension extension, const ExtensionOption *option = 0, ExtensionReturn *output = 0);
- bool supportsExtension(Extension extension) const;
+ bool extension(Extension extension, const ExtensionOption *option = 0, ExtensionReturn *output = 0) Q_DECL_OVERRIDE;
+ bool supportsExtension(Extension extension) const Q_DECL_OVERRIDE;
};
QT_END_NAMESPACE
diff --git a/src/corelib/io/qsavefile.cpp b/src/corelib/io/qsavefile.cpp
index 360be806c4..33be537433 100644
--- a/src/corelib/io/qsavefile.cpp
+++ b/src/corelib/io/qsavefile.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2012 David Faure <faure@kde.org>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qsavefile.h b/src/corelib/io/qsavefile.h
index 20e4ecaf87..3f5f09bf5c 100644
--- a/src/corelib/io/qsavefile.h
+++ b/src/corelib/io/qsavefile.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2012 David Faure <faure@kde.org>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qsavefile_p.h b/src/corelib/io/qsavefile_p.h
index 1a0f621c5b..aa3068a461 100644
--- a/src/corelib/io/qsavefile_p.h
+++ b/src/corelib/io/qsavefile_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2013 David Faure <faure@kde.org>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp
index ebca7d57ff..780f57c1c7 100644
--- a/src/corelib/io/qsettings.cpp
+++ b/src/corelib/io/qsettings.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -1017,7 +1017,6 @@ static inline int pathHashKey(QSettings::Format format, QSettings::Scope scope)
static void initDefaultPaths(QMutexLocker *locker)
{
PathHash *pathHash = pathHashFunc();
- QString homePath = QDir::homePath();
QString systemPath;
locker->unlock();
@@ -1051,13 +1050,13 @@ static void initDefaultPaths(QMutexLocker *locker)
QString userPath;
char *env = getenv("XDG_CONFIG_HOME");
if (env == 0) {
- userPath = homePath;
+ userPath = QDir::homePath();
userPath += QLatin1Char('/');
userPath += QLatin1String(".config");
} else if (*env == '/') {
userPath = QFile::decodeName(env);
} else {
- userPath = homePath;
+ userPath = QDir::homePath();
userPath += QLatin1Char('/');
userPath += QFile::decodeName(env);
}
diff --git a/src/corelib/io/qsettings.h b/src/corelib/io/qsettings.h
index 4986c06896..f7a7bdbb19 100644
--- a/src/corelib/io/qsettings.h
+++ b/src/corelib/io/qsettings.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -177,7 +177,7 @@ public:
protected:
#ifndef QT_NO_QOBJECT
- bool event(QEvent *event);
+ bool event(QEvent *event) Q_DECL_OVERRIDE;
#endif
private:
diff --git a/src/corelib/io/qsettings_mac.cpp b/src/corelib/io/qsettings_mac.cpp
index 344bec0309..51321c49e7 100644
--- a/src/corelib/io/qsettings_mac.cpp
+++ b/src/corelib/io/qsettings_mac.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qsettings_p.h b/src/corelib/io/qsettings_p.h
index 715f13530a..93d63fd411 100644
--- a/src/corelib/io/qsettings_p.h
+++ b/src/corelib/io/qsettings_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -270,17 +270,17 @@ public:
QConfFileSettingsPrivate(const QString &fileName, QSettings::Format format);
~QConfFileSettingsPrivate();
- void remove(const QString &key);
- void set(const QString &key, const QVariant &value);
- bool get(const QString &key, QVariant *value) const;
+ void remove(const QString &key) Q_DECL_OVERRIDE;
+ void set(const QString &key, const QVariant &value) Q_DECL_OVERRIDE;
+ bool get(const QString &key, QVariant *value) const Q_DECL_OVERRIDE;
- QStringList children(const QString &prefix, ChildSpec spec) const;
+ QStringList children(const QString &prefix, ChildSpec spec) const Q_DECL_OVERRIDE;
- void clear();
- void sync();
- void flush();
- bool isWritable() const;
- QString fileName() const;
+ void clear() Q_DECL_OVERRIDE;
+ void sync() Q_DECL_OVERRIDE;
+ void flush() Q_DECL_OVERRIDE;
+ bool isWritable() const Q_DECL_OVERRIDE;
+ QString fileName() const Q_DECL_OVERRIDE;
bool readIniFile(const QByteArray &data, UnparsedSettingsMap *unparsedIniSections);
static bool readIniSection(const QSettingsKey &section, const QByteArray &data,
diff --git a/src/corelib/io/qsettings_win.cpp b/src/corelib/io/qsettings_win.cpp
index 3f67171bd4..60b15f41a0 100644
--- a/src/corelib/io/qsettings_win.cpp
+++ b/src/corelib/io/qsettings_win.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qsettings_winrt.cpp b/src/corelib/io/qsettings_winrt.cpp
index ad02f050e5..02c3c7624e 100644
--- a/src/corelib/io/qsettings_winrt.cpp
+++ b/src/corelib/io/qsettings_winrt.cpp
@@ -1,40 +1,32 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
+** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -289,7 +281,7 @@ class QWinRTSettingsPrivate : public QSettingsPrivate
public:
QWinRTSettingsPrivate(QSettings::Scope scope, const QString &organization,
const QString &application);
- QWinRTSettingsPrivate(QString rKey);
+ QWinRTSettingsPrivate(const QString &rKey);
~QWinRTSettingsPrivate();
void remove(const QString &uKey);
@@ -323,7 +315,7 @@ QWinRTSettingsPrivate::QWinRTSettingsPrivate(QSettings::Scope scope, const QStri
init(scope);
}
-QWinRTSettingsPrivate::QWinRTSettingsPrivate(QString rPath)
+QWinRTSettingsPrivate::QWinRTSettingsPrivate(const QString &rPath)
: QSettingsPrivate(QSettings::NativeFormat, QSettings::UserScope, rPath, QString())
, writeContainer(0)
{
diff --git a/src/corelib/io/qstandardpaths.cpp b/src/corelib/io/qstandardpaths.cpp
index 9d047123a1..4fd429cad4 100644
--- a/src/corelib/io/qstandardpaths.cpp
+++ b/src/corelib/io/qstandardpaths.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -134,6 +134,10 @@ QT_BEGIN_NAMESPACE
\value AppLocalDataLocation Returns the local settings path on the Windows operating
system. On all other platforms, it returns the same value as AppDataLocation.
This enum value was added in Qt 5.4.
+ \value AppConfigLocation Returns a directory location where user-specific
+ configuration files should be written. This is an application-specific directory,
+ and the returned path is never empty.
+ This enum value was added in Qt 5.5.
The following table gives examples of paths on different operating systems.
The first path is the writable path (unless noted). Other, additional
@@ -198,6 +202,9 @@ QT_BEGIN_NAMESPACE
\row \li AppLocalDataLocation
\li "~/Library/Application Support/<APPNAME>", "/Library/Application Support/<APPNAME>". "<APPDIR>/../Resources"
\li "C:/Users/<USER>/AppData/Local/<APPNAME>", "C:/ProgramData/<APPNAME>", "<APPDIR>", "<APPDIR>/data"
+ \row \li AppConfigLocation
+ \li "~/Library/Preferences/<APPNAME>"
+ \li "C:/Users/<USER>/AppData/Local/<APPNAME>", "C:/ProgramData/<APPNAME>"
\endtable
\table
@@ -259,6 +266,9 @@ QT_BEGIN_NAMESPACE
\row \li AppLocalDataLocation
\li "<APPROOT>/data", "<APPROOT>/app/native/assets"
\li "~/.local/share/<APPNAME>", "/usr/local/share/<APPNAME>", "/usr/share/<APPNAME>"
+ \row \li AppConfigLocation
+ \li "<APPROOT>/data/Settings"
+ \li "~/.config/<APPNAME>", "/etc/xdg/<APPNAME>"
\endtable
\table
@@ -299,6 +309,8 @@ QT_BEGIN_NAMESPACE
\li "<APPROOT>/cache" (there is no shared cache)
\row \li AppDataLocation
\li "<APPROOT>/files", "<USER>/<APPNAME>/files"
+ \row \li AppConfigLocation
+ \li "<APPROOT>/files/settings"
\endtable
In the table above, \c <APPNAME> is usually the organization name, the
@@ -557,6 +569,8 @@ QString QStandardPaths::displayName(StandardLocation type)
case AppDataLocation:
case AppLocalDataLocation:
return QCoreApplication::translate("QStandardPaths", "Application Data");
+ case AppConfigLocation:
+ return QCoreApplication::translate("QStandardPaths", "Application Configuration");
}
// not reached
return QString();
@@ -577,7 +591,7 @@ QString QStandardPaths::displayName(StandardLocation type)
This affects the locations into which test programs might write files:
GenericDataLocation, DataLocation, ConfigLocation, GenericConfigLocation,
- GenericCacheLocation, CacheLocation.
+ AppConfigLocation, GenericCacheLocation, CacheLocation.
Other locations are not affected.
On Unix, \c XDG_DATA_HOME is set to \e ~/.qttest/share, \c XDG_CONFIG_HOME is
diff --git a/src/corelib/io/qstandardpaths.h b/src/corelib/io/qstandardpaths.h
index e305450240..5c0e08b981 100644
--- a/src/corelib/io/qstandardpaths.h
+++ b/src/corelib/io/qstandardpaths.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -64,6 +64,7 @@ public:
GenericCacheLocation,
GenericConfigLocation,
AppDataLocation,
+ AppConfigLocation,
AppLocalDataLocation = DataLocation
};
diff --git a/src/corelib/io/qstandardpaths_android.cpp b/src/corelib/io/qstandardpaths_android.cpp
index 50cba3135e..350e5cdbea 100644
--- a/src/corelib/io/qstandardpaths_android.cpp
+++ b/src/corelib/io/qstandardpaths_android.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -233,6 +233,7 @@ QString QStandardPaths::writableLocation(StandardLocation type)
return getExternalStoragePublicDirectory("DIRECTORY_DOWNLOADS");
case QStandardPaths::GenericConfigLocation:
case QStandardPaths::ConfigLocation:
+ case QStandardPaths::AppConfigLocation:
return getFilesDir() + testDir() + QLatin1String("/settings");
case QStandardPaths::GenericDataLocation:
return getExternalStorageDirectory() + testDir();
diff --git a/src/corelib/io/qstandardpaths_blackberry.cpp b/src/corelib/io/qstandardpaths_blackberry.cpp
index 02d7c110ae..4b29ad7ed9 100644
--- a/src/corelib/io/qstandardpaths_blackberry.cpp
+++ b/src/corelib/io/qstandardpaths_blackberry.cpp
@@ -1,7 +1,7 @@
/***************************************************************************
**
** Copyright (C) 2012 Research In Motion
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -69,6 +69,7 @@ QString QStandardPaths::writableLocation(StandardLocation type)
return QDir::homePath() + testModeInsert() + QLatin1String("/Cache");
case ConfigLocation:
case GenericConfigLocation:
+ case AppConfigLocation:
return QDir::homePath() + testModeInsert() + QLatin1String("/Settings");
case GenericDataLocation:
return sharedRoot + testModeInsert() + QLatin1String("/misc");
diff --git a/src/corelib/io/qstandardpaths_haiku.cpp b/src/corelib/io/qstandardpaths_haiku.cpp
new file mode 100644
index 0000000000..a565b10bb7
--- /dev/null
+++ b/src/corelib/io/qstandardpaths_haiku.cpp
@@ -0,0 +1,214 @@
+/***************************************************************************
+**
+** Copyright (C) 2015 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Tobias Koenig <tobias.koenig@kdab.com>
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qstandardpaths.h"
+
+#ifndef QT_NO_STANDARDPATHS
+
+#ifndef QT_BOOTSTRAPPED
+#include <qcoreapplication.h>
+#endif
+
+#include <qfile.h>
+
+#include <FindDirectory.h>
+#include <Path.h>
+#include <PathFinder.h>
+#include <StringList.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace {
+
+void appendOrganizationAndApp(QString &path)
+{
+#ifndef QT_BOOTSTRAPPED
+ const QString org = QCoreApplication::organizationName();
+ if (!org.isEmpty())
+ path += QLatin1Char('/') + org;
+ const QString appName = QCoreApplication::applicationName();
+ if (!appName.isEmpty())
+ path += QLatin1Char('/') + appName;
+#else
+ Q_UNUSED(path);
+#endif
+}
+
+/*
+ * Returns the generic standard path for given directory type.
+ */
+QString haikuStandardPath(directory_which which)
+{
+ BPath standardPath;
+
+ if (find_directory(which, &standardPath, false) != B_OK)
+ return QString();
+
+ return QFile::decodeName(standardPath.Path());
+}
+
+/*
+ * Returns the generic standard paths for given path type.
+ */
+QStringList haikuStandardPaths(path_base_directory baseDirectory)
+{
+ BStringList paths;
+
+ if (BPathFinder::FindPaths(baseDirectory, paths) != B_OK)
+ return QStringList();
+
+ QStringList standardPaths;
+ for (int i = 0; i < paths.CountStrings(); ++i) {
+ standardPaths << QFile::decodeName(paths.StringAt(i).String());
+ }
+
+ return standardPaths;
+}
+
+/*
+ * Returns the application specific standard path for given directory type.
+ */
+QString haikuAppStandardPath(directory_which which)
+{
+ QString path = haikuStandardPath(which);
+ if (!path.isEmpty())
+ appendOrganizationAndApp(path);
+
+ return path;
+}
+
+/*
+ * Returns the application specific standard paths for given path type.
+ */
+QStringList haikuAppStandardPaths(path_base_directory baseDirectory)
+{
+ QStringList paths = haikuStandardPaths(baseDirectory);
+ for (int i = 0; i < paths.count(); ++i)
+ appendOrganizationAndApp(paths[i]);
+
+ return paths;
+}
+
+} // namespace
+
+QString QStandardPaths::writableLocation(StandardLocation type)
+{
+ switch (type) {
+ case DesktopLocation:
+ return haikuStandardPath(B_DESKTOP_DIRECTORY);
+ case DocumentsLocation: // fall through
+ case PicturesLocation:
+ case MusicLocation:
+ case MoviesLocation:
+ case DownloadLocation:
+ case HomeLocation:
+ return haikuStandardPath(B_USER_DIRECTORY);
+ case FontsLocation:
+ return haikuStandardPath(B_USER_NONPACKAGED_FONTS_DIRECTORY);
+ case ApplicationsLocation:
+ return haikuStandardPath(B_USER_NONPACKAGED_BIN_DIRECTORY);
+ case TempLocation:
+ return haikuStandardPath(B_SYSTEM_TEMP_DIRECTORY);
+ case AppDataLocation: // fall through
+ case AppLocalDataLocation:
+ return haikuAppStandardPath(B_USER_NONPACKAGED_DATA_DIRECTORY);
+ case GenericDataLocation:
+ return haikuStandardPath(B_USER_NONPACKAGED_DATA_DIRECTORY);
+ case CacheLocation:
+ return haikuAppStandardPath(B_USER_CACHE_DIRECTORY);
+ case GenericCacheLocation:
+ return haikuStandardPath(B_USER_CACHE_DIRECTORY);
+ case ConfigLocation: // fall through
+ case AppConfigLocation:
+ return haikuAppStandardPath(B_USER_SETTINGS_DIRECTORY);
+ case GenericConfigLocation:
+ return haikuStandardPath(B_USER_SETTINGS_DIRECTORY);
+ default:
+ return QString();
+ }
+}
+
+QStringList QStandardPaths::standardLocations(StandardLocation type)
+{
+ QStringList paths;
+
+ const QString writablePath = writableLocation(type);
+ if (!writablePath.isEmpty())
+ paths += writablePath;
+
+ switch (type) {
+ case DocumentsLocation: // fall through
+ case PicturesLocation:
+ case MusicLocation:
+ case MoviesLocation:
+ case DownloadLocation:
+ case HomeLocation:
+ paths += haikuStandardPath(B_USER_NONPACKAGED_DIRECTORY);
+ break;
+ case FontsLocation:
+ paths += haikuStandardPaths(B_FIND_PATH_FONTS_DIRECTORY);
+ break;
+ case ApplicationsLocation:
+ paths += haikuStandardPaths(B_FIND_PATH_BIN_DIRECTORY);
+ paths += haikuStandardPaths(B_FIND_PATH_APPS_DIRECTORY);
+ break;
+ case AppDataLocation: // fall through
+ case AppLocalDataLocation:
+ paths += haikuAppStandardPaths(B_FIND_PATH_DATA_DIRECTORY);
+ break;
+ case GenericDataLocation:
+ paths += haikuStandardPaths(B_FIND_PATH_DATA_DIRECTORY);
+ break;
+ case CacheLocation:
+ paths += haikuAppStandardPath(B_SYSTEM_CACHE_DIRECTORY);
+ break;
+ case GenericCacheLocation:
+ paths += haikuStandardPath(B_SYSTEM_CACHE_DIRECTORY);
+ break;
+ case ConfigLocation: // fall through
+ case AppConfigLocation:
+ paths += haikuAppStandardPath(B_SYSTEM_SETTINGS_DIRECTORY);
+ break;
+ case GenericConfigLocation:
+ paths += haikuStandardPath(B_SYSTEM_SETTINGS_DIRECTORY);
+ break;
+ default:
+ break;
+ }
+
+ return paths;
+}
+
+QT_END_NAMESPACE
+
+#endif // QT_NO_STANDARDPATHS
diff --git a/src/corelib/io/qstandardpaths_ios.mm b/src/corelib/io/qstandardpaths_ios.mm
index 9b500f4623..27d28526c2 100644
--- a/src/corelib/io/qstandardpaths_ios.mm
+++ b/src/corelib/io/qstandardpaths_ios.mm
@@ -1,40 +1,32 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
+** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -103,6 +95,7 @@ QString QStandardPaths::writableLocation(StandardLocation type)
break;
case ConfigLocation:
case GenericConfigLocation:
+ case AppConfigLocation:
location = pathForDirectory(NSDocumentDirectory);
break;
case DownloadLocation:
@@ -129,8 +122,16 @@ QString QStandardPaths::writableLocation(StandardLocation type)
QStringList QStandardPaths::standardLocations(StandardLocation type)
{
QStringList dirs;
- const QString localDir = writableLocation(type);
- dirs.prepend(localDir);
+
+ switch (type) {
+ case PicturesLocation:
+ dirs << writableLocation(PicturesLocation) << QLatin1String("assets-library://");
+ break;
+ default:
+ dirs << writableLocation(type);
+ break;
+ }
+
return dirs;
}
diff --git a/src/corelib/io/qstandardpaths_mac.mm b/src/corelib/io/qstandardpaths_mac.mm
index 13b864600e..d6126ce1c3 100644
--- a/src/corelib/io/qstandardpaths_mac.mm
+++ b/src/corelib/io/qstandardpaths_mac.mm
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -53,6 +53,7 @@ OSType translateLocation(QStandardPaths::StandardLocation type)
switch (type) {
case QStandardPaths::ConfigLocation:
case QStandardPaths::GenericConfigLocation:
+ case QStandardPaths::AppConfigLocation:
return kPreferencesFolderType;
case QStandardPaths::DesktopLocation:
return kDesktopFolderType;
@@ -129,7 +130,8 @@ static QString macLocation(QStandardPaths::StandardLocation type, short domain)
QString path = getFullPath(ref);
- if (type == QStandardPaths::AppDataLocation || type == QStandardPaths::AppLocalDataLocation || type == QStandardPaths::CacheLocation)
+ if (type == QStandardPaths::AppDataLocation || type == QStandardPaths::AppLocalDataLocation ||
+ type == QStandardPaths::CacheLocation || type == QStandardPaths::AppConfigLocation)
appendOrganizationAndApp(path);
return path;
}
@@ -155,7 +157,11 @@ QString QStandardPaths::writableLocation(StandardLocation type)
return path;
case GenericConfigLocation:
case ConfigLocation:
- return qttestDir + QLatin1String("/Preferences");
+ case AppConfigLocation:
+ path = qttestDir + QLatin1String("/Preferences");
+ if (type == AppConfigLocation)
+ appendOrganizationAndApp(path);
+ return path;
default:
break;
}
diff --git a/src/corelib/io/qstandardpaths_unix.cpp b/src/corelib/io/qstandardpaths_unix.cpp
index 2ad6dfa121..ed2faa742a 100644
--- a/src/corelib/io/qstandardpaths_unix.cpp
+++ b/src/corelib/io/qstandardpaths_unix.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -97,6 +97,7 @@ QString QStandardPaths::writableLocation(StandardLocation type)
}
case ConfigLocation:
case GenericConfigLocation:
+ case AppConfigLocation:
{
// http://standards.freedesktop.org/basedir-spec/latest/
QString xdgConfigHome = QFile::decodeName(qgetenv("XDG_CONFIG_HOME"));
@@ -104,6 +105,8 @@ QString QStandardPaths::writableLocation(StandardLocation type)
xdgConfigHome = QDir::homePath() + QLatin1String("/.qttest/config");
if (xdgConfigHome.isEmpty())
xdgConfigHome = QDir::homePath() + QLatin1String("/.config");
+ if (type == AppConfigLocation)
+ appendOrganizationAndApp(xdgConfigHome);
return xdgConfigHome;
}
case RuntimeLocation:
@@ -278,21 +281,31 @@ static QStringList xdgDataDirs()
return dirs;
}
+static QStringList xdgConfigDirs()
+{
+ QStringList dirs;
+ // http://standards.freedesktop.org/basedir-spec/latest/
+ const QString xdgConfigDirs = QFile::decodeName(qgetenv("XDG_CONFIG_DIRS"));
+ if (xdgConfigDirs.isEmpty())
+ dirs.append(QString::fromLatin1("/etc/xdg"));
+ else
+ dirs = xdgConfigDirs.split(QLatin1Char(':'));
+ return dirs;
+}
+
QStringList QStandardPaths::standardLocations(StandardLocation type)
{
QStringList dirs;
switch (type) {
case ConfigLocation:
case GenericConfigLocation:
- {
- // http://standards.freedesktop.org/basedir-spec/latest/
- const QString xdgConfigDirs = QFile::decodeName(qgetenv("XDG_CONFIG_DIRS"));
- if (xdgConfigDirs.isEmpty())
- dirs.append(QString::fromLatin1("/etc/xdg"));
- else
- dirs = xdgConfigDirs.split(QLatin1Char(':'));
- }
- break;
+ dirs = xdgConfigDirs();
+ break;
+ case AppConfigLocation:
+ dirs = xdgConfigDirs();
+ for (int i = 0; i < dirs.count(); ++i)
+ appendOrganizationAndApp(dirs[i]);
+ break;
case GenericDataLocation:
dirs = xdgDataDirs();
break;
diff --git a/src/corelib/io/qstandardpaths_win.cpp b/src/corelib/io/qstandardpaths_win.cpp
index 5e56db3797..b1d5821a97 100644
--- a/src/corelib/io/qstandardpaths_win.cpp
+++ b/src/corelib/io/qstandardpaths_win.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -98,6 +98,7 @@ QString QStandardPaths::writableLocation(StandardLocation type)
switch (type) {
case ConfigLocation: // same as AppLocalDataLocation, on Windows
case GenericConfigLocation: // same as GenericDataLocation on Windows
+ case AppConfigLocation:
case AppDataLocation:
case AppLocalDataLocation:
case GenericDataLocation:
@@ -195,6 +196,7 @@ QStringList QStandardPaths::standardLocations(StandardLocation type)
switch (type) {
case ConfigLocation: // same as AppLocalDataLocation, on Windows (oversight, but too late to fix it)
case GenericConfigLocation: // same as GenericDataLocation, on Windows
+ case AppConfigLocation: // same as AppLocalDataLocation, that one on purpose
case AppDataLocation:
case AppLocalDataLocation:
case GenericDataLocation:
diff --git a/src/corelib/io/qstandardpaths_winrt.cpp b/src/corelib/io/qstandardpaths_winrt.cpp
index 5c09b4814d..b1e51c5082 100644
--- a/src/corelib/io/qstandardpaths_winrt.cpp
+++ b/src/corelib/io/qstandardpaths_winrt.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -67,6 +67,7 @@ QString QStandardPaths::writableLocation(StandardLocation type)
switch (type) {
case ConfigLocation: // same as AppLocalDataLocation, on Windows
case GenericConfigLocation: // same as GenericDataLocation, on Windows
+ case AppConfigLocation:
case AppDataLocation:
case AppLocalDataLocation:
case GenericDataLocation: {
diff --git a/src/corelib/io/qstorageinfo.cpp b/src/corelib/io/qstorageinfo.cpp
index 388b71b39c..d63b6a2a21 100644
--- a/src/corelib/io/qstorageinfo.cpp
+++ b/src/corelib/io/qstorageinfo.cpp
@@ -1,40 +1,32 @@
/****************************************************************************
**
** Copyright (C) 2014 Ivan Komissarov <ABBAPOH@gmail.com>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
+** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/io/qstorageinfo.h b/src/corelib/io/qstorageinfo.h
index 0a4a620205..848278e69f 100644
--- a/src/corelib/io/qstorageinfo.h
+++ b/src/corelib/io/qstorageinfo.h
@@ -1,40 +1,32 @@
/****************************************************************************
**
** Copyright (C) 2014 Ivan Komissarov <ABBAPOH@gmail.com>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
+** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/io/qstorageinfo_mac.cpp b/src/corelib/io/qstorageinfo_mac.cpp
index 060e16b948..539af33c5d 100644
--- a/src/corelib/io/qstorageinfo_mac.cpp
+++ b/src/corelib/io/qstorageinfo_mac.cpp
@@ -1,40 +1,32 @@
/****************************************************************************
**
** Copyright (C) 2014 Ivan Komissarov <ABBAPOH@gmail.com>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
+** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/io/qstorageinfo_p.h b/src/corelib/io/qstorageinfo_p.h
index 9c8e51f475..9e152df1ad 100644
--- a/src/corelib/io/qstorageinfo_p.h
+++ b/src/corelib/io/qstorageinfo_p.h
@@ -1,40 +1,32 @@
/****************************************************************************
**
** Copyright (C) 2014 Ivan Komissarov <ABBAPOH@gmail.com>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
+** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -73,14 +65,14 @@ public:
protected:
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
- void retreiveVolumeInfo();
- void retreiveDiskFreeSpace();
+ void retrieveVolumeInfo();
+ void retrieveDiskFreeSpace();
#elif defined(Q_OS_MAC)
void retrievePosixInfo();
void retrieveUrlProperties(bool initRootPath = false);
void retrieveLabel();
#elif defined(Q_OS_UNIX)
- void retreiveVolumeInfo();
+ void retrieveVolumeInfo();
#endif
public:
diff --git a/src/corelib/io/qstorageinfo_stub.cpp b/src/corelib/io/qstorageinfo_stub.cpp
index 3c8b0a8e09..a1092f1bab 100644
--- a/src/corelib/io/qstorageinfo_stub.cpp
+++ b/src/corelib/io/qstorageinfo_stub.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2014 Ivan Komissarov <ABBAPOH@gmail.com>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qstorageinfo_unix.cpp b/src/corelib/io/qstorageinfo_unix.cpp
index 2a83e87b0c..45b32830cd 100644
--- a/src/corelib/io/qstorageinfo_unix.cpp
+++ b/src/corelib/io/qstorageinfo_unix.cpp
@@ -1,40 +1,32 @@
/****************************************************************************
**
** Copyright (C) 2014 Ivan Komissarov <ABBAPOH@gmail.com>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
+** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -63,6 +55,13 @@
#elif defined(Q_OS_SOLARIS)
# include <sys/mnttab.h>
# include <sys/statvfs.h>
+#elif defined(Q_OS_HAIKU)
+# include <Directory.h>
+# include <Path.h>
+# include <Volume.h>
+# include <VolumeRoster.h>
+# include <fs_info.h>
+# include <sys/statvfs.h>
#else
# include <sys/statvfs.h>
#endif
@@ -76,6 +75,9 @@
# if !defined(ST_RDONLY)
# define ST_RDONLY 1 // hack for missing define on Android
# endif
+#elif defined(Q_OS_HAIKU)
+# define QT_STATFSBUF struct statvfs
+# define QT_STATFS ::statvfs
#else
# if defined(QT_LARGEFILE_SUPPORT)
# define QT_STATFSBUF struct statvfs64
@@ -135,6 +137,12 @@ private:
FILE *fp;
mntent mnt;
QByteArray buffer;
+#elif defined(Q_OS_HAIKU)
+ BVolumeRoster m_volumeRoster;
+
+ QByteArray m_rootPath;
+ QByteArray m_fileSystemType;
+ QByteArray m_device;
#endif
};
@@ -309,6 +317,63 @@ inline QByteArray QStorageIterator::device() const
return QByteArray(mnt.mnt_fsname);
}
+#elif defined(Q_OS_HAIKU)
+inline QStorageIterator::QStorageIterator()
+{
+}
+
+inline QStorageIterator::~QStorageIterator()
+{
+}
+
+inline bool QStorageIterator::isValid() const
+{
+ return true;
+}
+
+inline bool QStorageIterator::next()
+{
+ BVolume volume;
+
+ if (m_volumeRoster.GetNextVolume(&volume) != B_OK)
+ return false;
+
+ BDirectory directory;
+ if (volume.GetRootDirectory(&directory) != B_OK)
+ return false;
+
+ const BPath path(&directory);
+
+ fs_info fsInfo;
+ memset(&fsInfo, 0, sizeof(fsInfo));
+
+ if (fs_stat_dev(volume.Device(), &fsInfo) != 0)
+ return false;
+
+ m_rootPath = path.Path();
+ m_fileSystemType = QByteArray(fsInfo.fsh_name);
+
+ const QByteArray deviceName(fsInfo.device_name);
+ m_device = (deviceName.isEmpty() ? QByteArray::number(qint32(volume.Device())) : deviceName);
+
+ return true;
+}
+
+inline QString QStorageIterator::rootPath() const
+{
+ return QFile::decodeName(m_rootPath);
+}
+
+inline QByteArray QStorageIterator::fileSystemType() const
+{
+ return m_fileSystemType;
+}
+
+inline QByteArray QStorageIterator::device() const
+{
+ return m_device;
+}
+
#else
inline QStorageIterator::QStorageIterator()
@@ -390,6 +455,19 @@ static inline QString retrieveLabel(const QByteArray &device)
if (fileInfo.isSymLink() && fileInfo.symLinkTarget().toLocal8Bit() == device)
return fileInfo.fileName();
}
+#elif defined Q_OS_HAIKU
+ fs_info fsInfo;
+ memset(&fsInfo, 0, sizeof(fsInfo));
+
+ int32 pos = 0;
+ dev_t dev;
+ while ((dev = next_dev(&pos)) >= 0) {
+ if (fs_stat_dev(dev, &fsInfo) != 0)
+ continue;
+
+ if (qstrcmp(fsInfo.device_name, device.constData()) == 0)
+ return QString::fromLocal8Bit(fsInfo.volume_name);
+ }
#else
Q_UNUSED(device);
#endif
@@ -403,11 +481,11 @@ void QStorageInfoPrivate::doStat()
if (rootPath.isEmpty())
return;
- retreiveVolumeInfo();
+ retrieveVolumeInfo();
name = retrieveLabel(device);
}
-void QStorageInfoPrivate::retreiveVolumeInfo()
+void QStorageInfoPrivate::retrieveVolumeInfo()
{
QT_STATFSBUF statfs_buf;
int result;
diff --git a/src/corelib/io/qstorageinfo_win.cpp b/src/corelib/io/qstorageinfo_win.cpp
index 8c276b2798..0c9e06373d 100644
--- a/src/corelib/io/qstorageinfo_win.cpp
+++ b/src/corelib/io/qstorageinfo_win.cpp
@@ -1,40 +1,32 @@
/****************************************************************************
**
** Copyright (C) 2014 Ivan Komissarov <ABBAPOH@gmail.com>
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
+** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -114,12 +106,12 @@ void QStorageInfoPrivate::doStat()
if (rootPath.isEmpty())
return;
- retreiveVolumeInfo();
+ retrieveVolumeInfo();
device = getDevice(rootPath);
- retreiveDiskFreeSpace();
+ retrieveDiskFreeSpace();
}
-void QStorageInfoPrivate::retreiveVolumeInfo()
+void QStorageInfoPrivate::retrieveVolumeInfo()
{
const UINT oldmode = ::SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
@@ -151,7 +143,7 @@ void QStorageInfoPrivate::retreiveVolumeInfo()
::SetErrorMode(oldmode);
}
-void QStorageInfoPrivate::retreiveDiskFreeSpace()
+void QStorageInfoPrivate::retrieveDiskFreeSpace()
{
const UINT oldmode = ::SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
diff --git a/src/corelib/io/qtemporarydir.cpp b/src/corelib/io/qtemporarydir.cpp
index 5f0c500183..0beda22f24 100644
--- a/src/corelib/io/qtemporarydir.cpp
+++ b/src/corelib/io/qtemporarydir.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qtemporarydir.h b/src/corelib/io/qtemporarydir.h
index cdd7fd42ca..8b98226529 100644
--- a/src/corelib/io/qtemporarydir.h
+++ b/src/corelib/io/qtemporarydir.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp
index 4a9aafcf0b..fa851a6d74 100644
--- a/src/corelib/io/qtemporaryfile.cpp
+++ b/src/corelib/io/qtemporaryfile.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -222,6 +222,7 @@ static bool createFileFromTemplate(NativeFileHandle &file,
}
Q_ASSERT(false);
+ return false;
}
//************* QTemporaryFileEngine
diff --git a/src/corelib/io/qtemporaryfile.h b/src/corelib/io/qtemporaryfile.h
index 908cc231af..06974eeb89 100644
--- a/src/corelib/io/qtemporaryfile.h
+++ b/src/corelib/io/qtemporaryfile.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -71,7 +71,7 @@ public:
// ### Hides open(flags)
bool open() { return open(QIODevice::ReadWrite); }
- QString fileName() const;
+ QString fileName() const Q_DECL_OVERRIDE;
QString fileTemplate() const;
void setFileTemplate(const QString &name);
#if QT_DEPRECATED_SINCE(5,1)
@@ -85,7 +85,7 @@ public:
static QTemporaryFile *createNativeFile(QFile &file);
protected:
- bool open(OpenMode flags);
+ bool open(OpenMode flags) Q_DECL_OVERRIDE;
private:
friend class QFile;
diff --git a/src/corelib/io/qtemporaryfile_p.h b/src/corelib/io/qtemporaryfile_p.h
index ab3f8dd24f..2045edff02 100644
--- a/src/corelib/io/qtemporaryfile_p.h
+++ b/src/corelib/io/qtemporaryfile_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qtextstream.cpp b/src/corelib/io/qtextstream.cpp
index 571875c508..6149a04a74 100644
--- a/src/corelib/io/qtextstream.cpp
+++ b/src/corelib/io/qtextstream.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -233,6 +233,7 @@ static const int QTEXTSTREAM_BUFFERSIZE = 16384;
#if defined QTEXTSTREAM_DEBUG
#include <ctype.h>
+#include "private/qtools_p.h"
QT_BEGIN_NAMESPACE
@@ -250,10 +251,16 @@ static QByteArray qt_prettyDebug(const char *data, int len, int maxSize)
case '\n': out += "\\n"; break;
case '\r': out += "\\r"; break;
case '\t': out += "\\t"; break;
- default:
- QString tmp;
- tmp.sprintf("\\x%x", (unsigned int)(unsigned char)c);
- out += tmp.toLatin1();
+ default: {
+ const char buf[] = {
+ '\\',
+ 'x',
+ QtMiscUtils::toHexLower(uchar(c) / 16),
+ QtMiscUtils::toHexLower(uchar(c) % 16),
+ 0
+ };
+ out += buf;
+ }
}
}
@@ -460,7 +467,7 @@ bool QTextStreamPrivate::fillReadBuffer(qint64 maxBytes)
#if defined (QTEXTSTREAM_DEBUG)
qDebug("QTextStreamPrivate::fillReadBuffer(), device->read(\"%s\", %d) == %d",
- qt_prettyDebug(buf, qMin(32,int(bytesRead)) , int(bytesRead)).constData(), sizeof(buf), int(bytesRead));
+ qt_prettyDebug(buf, qMin(32,int(bytesRead)) , int(bytesRead)).constData(), int(sizeof(buf)), int(bytesRead));
#endif
if (bytesRead <= 0)
@@ -681,15 +688,9 @@ bool QTextStreamPrivate::scan(const QChar **ptr, int *length, int maxlen, TokenD
&& (!maxlen || totalSize < maxlen)
&& (device && (canStillReadFromDevice = fillReadBuffer())));
- // if the token was not found, but we reached the end of input,
- // then we accept what we got. if we are not at the end of input,
- // we return false.
- if (!foundToken && (!maxlen || totalSize < maxlen)
- && (totalSize == 0
- || (string && stringOffset + totalSize < string->size())
- || (device && !device->atEnd() && canStillReadFromDevice))) {
+ if (totalSize == 0) {
#if defined (QTEXTSTREAM_DEBUG)
- qDebug("QTextStreamPrivate::scan() did not find the token.");
+ qDebug("QTextStreamPrivate::scan() reached the end of input.");
#endif
return false;
}
@@ -812,13 +813,28 @@ inline void QTextStreamPrivate::restoreToSavedConverterState()
/*!
\internal
*/
-inline void QTextStreamPrivate::write(const QString &data)
+void QTextStreamPrivate::write(const QChar *data, int len)
+{
+ if (string) {
+ // ### What about seek()??
+ string->append(data, len);
+ } else {
+ writeBuffer.append(data, len);
+ if (writeBuffer.size() > QTEXTSTREAM_BUFFERSIZE)
+ flushWriteBuffer();
+ }
+}
+
+/*!
+ \internal
+*/
+inline void QTextStreamPrivate::write(QChar ch)
{
if (string) {
// ### What about seek()??
- string->append(data);
+ string->append(ch);
} else {
- writeBuffer += data;
+ writeBuffer += ch;
if (writeBuffer.size() > QTEXTSTREAM_BUFFERSIZE)
flushWriteBuffer();
}
@@ -865,45 +881,53 @@ inline void QTextStreamPrivate::ungetChar(QChar ch)
/*!
\internal
*/
-inline void QTextStreamPrivate::putString(const QString &s, bool number)
+inline void QTextStreamPrivate::putChar(QChar ch)
+{
+ if (params.fieldWidth > 0)
+ putString(&ch, 1);
+ else
+ write(ch);
+}
+
+/*!
+ \internal
+*/
+void QTextStreamPrivate::putString(const QChar *data, int len, bool number)
{
- QString tmp = s;
+ QString pad;
+ int padLeft = 0, padRight = 0;
// handle padding
- int padSize = params.fieldWidth - s.size();
+ int padSize = params.fieldWidth - len;
if (padSize > 0) {
- QString pad(padSize, params.padChar);
+ pad = QString(padSize, params.padChar);
switch (params.fieldAlignment) {
case QTextStream::AlignLeft:
- tmp.append(pad);
+ padRight = padSize;
break;
case QTextStream::AlignRight:
case QTextStream::AlignAccountingStyle:
- tmp.prepend(pad);
+ padLeft = padSize;
if (params.fieldAlignment == QTextStream::AlignAccountingStyle && number) {
- const QChar sign = s.size() > 0 ? s.at(0) : QChar();
+ const QChar sign = len > 0 ? data[0] : QChar();
if (sign == locale.negativeSign() || sign == locale.positiveSign()) {
- QChar *data = tmp.data();
- data[padSize] = tmp.at(0);
- data[0] = sign;
+ // write the sign before the padding, then skip it later
+ write(&sign, 1);
+ ++data;
+ --len;
}
- }
+ }
break;
case QTextStream::AlignCenter:
- tmp.prepend(QString(padSize/2, params.padChar));
- tmp.append(QString(padSize - padSize/2, params.padChar));
+ padLeft = padSize/2;
+ padRight = padSize - padSize/2;
break;
}
}
-#if defined (QTEXTSTREAM_DEBUG)
- QByteArray a = s.toUtf8();
- QByteArray b = tmp.toUtf8();
- qDebug("QTextStreamPrivate::putString(\"%s\") calls write(\"%s\")",
- qt_prettyDebug(a.constData(), a.size(), qMax(16, a.size())).constData(),
- qt_prettyDebug(b.constData(), b.size(), qMax(16, b.size())).constData());
-#endif
- write(tmp);
+ write(pad.constData(), padLeft);
+ write(data, len);
+ write(pad.constData(), padRight);
}
/*!
@@ -1563,17 +1587,60 @@ QString QTextStream::readAll()
*/
QString QTextStream::readLine(qint64 maxlen)
{
+ QString line;
+
+ readLine(&line, maxlen);
+ return line;
+}
+
+/*!
+ \since 5.5
+
+ Reads one line of text from the stream into \a line.
+ If \a line is 0, the read line is not stored.
+
+ The maximum allowed line length is set to \a maxlen. If
+ the stream contains lines longer than this, then the lines will be
+ split after \a maxlen characters and returned in parts.
+
+ If \a maxlen is 0, the lines can be of any length.
+
+ The resulting line has no trailing end-of-line characters ("\\n"
+ or "\\r\\n"), so calling QString::trimmed() can be unnecessary.
+
+ If \a line has sufficient capacity for the data that is about to be
+ read, this function may not need to allocate new memory. Because of
+ this, it can be faster than the other readLine() overload.
+
+ Returns \c false if the stream has read to the end of the file or
+ an error has occurred; otherwise returns \c true. The contents in
+ \a line before the call are discarded in any case.
+
+ \sa readAll(), QIODevice::readLine()
+*/
+bool QTextStream::readLine(QString *line, qint64 maxlen)
+{
Q_D(QTextStream);
- CHECK_VALID_STREAM(QString());
+ // keep in sync with CHECK_VALID_STREAM
+ if (!d->string && !d->device) {
+ qWarning("QTextStream: No device");
+ if (line && !line->isNull())
+ line->resize(0);
+ return false;
+ }
const QChar *readPtr;
int length;
- if (!d->scan(&readPtr, &length, int(maxlen), QTextStreamPrivate::EndOfLine))
- return QString();
+ if (!d->scan(&readPtr, &length, int(maxlen), QTextStreamPrivate::EndOfLine)) {
+ if (line && !line->isNull())
+ line->resize(0);
+ return false;
+ }
- QString tmp = QString(readPtr, length);
+ if (Q_LIKELY(line))
+ line->setUnicode(readPtr, length);
d->consumeLastToken();
- return tmp;
+ return true;
}
/*!
@@ -2231,7 +2298,7 @@ QTextStream &QTextStream::operator<<(QChar c)
{
Q_D(QTextStream);
CHECK_VALID_STREAM(*this);
- d->putString(QString(c));
+ d->putChar(c);
return *this;
}
@@ -2244,7 +2311,7 @@ QTextStream &QTextStream::operator<<(char c)
{
Q_D(QTextStream);
CHECK_VALID_STREAM(*this);
- d->putString(QString(QChar::fromLatin1(c)));
+ d->putChar(QChar::fromLatin1(c));
return *this;
}
diff --git a/src/corelib/io/qtextstream.h b/src/corelib/io/qtextstream.h
index 5c75a006af..125502e68d 100644
--- a/src/corelib/io/qtextstream.h
+++ b/src/corelib/io/qtextstream.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -124,6 +124,7 @@ public:
void skipWhiteSpace();
QString readLine(qint64 maxlen = 0);
+ bool readLine(QString *line, qint64 maxlen = 0);
QString readAll();
QString read(qint64 maxlen);
@@ -185,6 +186,7 @@ public:
private:
Q_DISABLE_COPY(QTextStream)
friend class QDebugStateSaverPrivate;
+ friend class QDebug;
QScopedPointer<QTextStreamPrivate> d_ptr;
};
diff --git a/src/corelib/io/qtextstream_p.h b/src/corelib/io/qtextstream_p.h
index 5f99f44cc2..01289d7dc6 100644
--- a/src/corelib/io/qtextstream_p.h
+++ b/src/corelib/io/qtextstream_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -165,8 +165,12 @@ public:
NumberParsingStatus getNumber(qulonglong *l);
bool getReal(double *f);
- inline void write(const QString &data);
- inline void putString(const QString &ch, bool number = false);
+ inline void write(const QString &data) { write(data.begin(), data.length()); }
+ inline void write(QChar ch);
+ void write(const QChar *data, int len);
+ inline void putString(const QString &ch, bool number = false) { putString(ch.constData(), ch.length(), number); }
+ void putString(const QChar *data, int len, bool number = false);
+ inline void putChar(QChar ch);
void putNumber(qulonglong number, bool negative);
// buffers
diff --git a/src/corelib/io/qtldurl.cpp b/src/corelib/io/qtldurl.cpp
index d0205c3be5..2e787a1bc5 100644
--- a/src/corelib/io/qtldurl.cpp
+++ b/src/corelib/io/qtldurl.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -48,7 +48,7 @@ static bool containsTLDEntry(const QString &entry)
// select the right chunk from the big table
short chunk = 0;
uint chunkIndex = tldIndices[index], offset = 0;
- while (tldIndices[index] >= tldChunks[chunk] && chunk < tldChunkCount) {
+ while (chunk < tldChunkCount && tldIndices[index] >= tldChunks[chunk]) {
chunkIndex -= tldChunks[chunk];
offset += tldChunks[chunk];
chunk++;
diff --git a/src/corelib/io/qtldurl_p.h b/src/corelib/io/qtldurl_p.h
index 904b1007d3..b1129b9ca1 100644
--- a/src/corelib/io/qtldurl_p.h
+++ b/src/corelib/io/qtldurl_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
index 750437c2b0..89f5aad97f 100644
--- a/src/corelib/io/qurl.cpp
+++ b/src/corelib/io/qurl.cpp
@@ -1,8 +1,8 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2015 The Qt Company Ltd.
** Copyright (C) 2012 Intel Corporation.
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -11,9 +11,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -24,8 +24,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -3919,8 +3919,9 @@ QDataStream &operator>>(QDataStream &in, QUrl &url)
#ifndef QT_NO_DEBUG_STREAM
QDebug operator<<(QDebug d, const QUrl &url)
{
- d.maybeSpace() << "QUrl(" << url.toDisplayString() << ')';
- return d.space();
+ QDebugStateSaver saver(d);
+ d.nospace() << "QUrl(" << url.toDisplayString() << ')';
+ return d;
}
#endif
@@ -4143,7 +4144,7 @@ modification, are permitted provided that the following conditions are met:
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Research In Motion Limited nor the
- names of its contributors may be used to endorse or promote products
+ contributors may be used to endorse or promote products derived
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY Research In Motion Limited ''AS IS'' AND ANY
diff --git a/src/corelib/io/qurl.h b/src/corelib/io/qurl.h
index abf96f5fcd..945b7df930 100644
--- a/src/corelib/io/qurl.h
+++ b/src/corelib/io/qurl.h
@@ -1,8 +1,8 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2015 The Qt Company Ltd.
** Copyright (C) 2012 Intel Corporation.
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -11,9 +11,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -24,8 +24,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -173,14 +173,14 @@ public:
QUrl &operator=(const QString &url);
#endif
#ifdef Q_COMPILER_RVALUE_REFS
- QUrl(QUrl &&other) : d(0)
- { qSwap(d, other.d); }
- inline QUrl &operator=(QUrl &&other)
+ QUrl(QUrl &&other) Q_DECL_NOTHROW : d(other.d)
+ { other.d = Q_NULLPTR; }
+ inline QUrl &operator=(QUrl &&other) Q_DECL_NOTHROW
{ qSwap(d, other.d); return *this; }
#endif
~QUrl();
- inline void swap(QUrl &other) { qSwap(d, other.d); }
+ inline void swap(QUrl &other) Q_DECL_NOTHROW { qSwap(d, other.d); }
void setUrl(const QString &url, ParsingMode mode = TolerantMode);
QString url(FormattingOptions options = FormattingOptions(PrettyDecoded)) const;
diff --git a/src/corelib/io/qurl_mac.mm b/src/corelib/io/qurl_mac.mm
index 4468bf0f2b..a1fa7e4fc4 100644
--- a/src/corelib/io/qurl_mac.mm
+++ b/src/corelib/io/qurl_mac.mm
@@ -1,40 +1,32 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL$
+** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/corelib/io/qurl_p.h b/src/corelib/io/qurl_p.h
index b2bc206c73..187dd48e76 100644
--- a/src/corelib/io/qurl_p.h
+++ b/src/corelib/io/qurl_p.h
@@ -1,8 +1,8 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2015 The Qt Company Ltd.
** Copyright (C) 2012 Intel Corporation.
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -11,9 +11,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -24,8 +24,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qurlidna.cpp b/src/corelib/io/qurlidna.cpp
index 00b9dc5e0d..f9a0acf41a 100644
--- a/src/corelib/io/qurlidna.cpp
+++ b/src/corelib/io/qurlidna.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qurlquery.cpp b/src/corelib/io/qurlquery.cpp
index abe05e4c4d..77d1ab3e24 100644
--- a/src/corelib/io/qurlquery.cpp
+++ b/src/corelib/io/qurlquery.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2012 Intel Corporation.
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qurlquery.h b/src/corelib/io/qurlquery.h
index 8c2bffc25c..77a0b4a82d 100644
--- a/src/corelib/io/qurlquery.h
+++ b/src/corelib/io/qurlquery.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2012 Intel Corporation.
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qurlrecode.cpp b/src/corelib/io/qurlrecode.cpp
index 9aad2a12bd..c07be767d4 100644
--- a/src/corelib/io/qurlrecode.cpp
+++ b/src/corelib/io/qurlrecode.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2012 Intel Corporation
-** Contact: http://www.qt-project.org/legal
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -33,6 +33,7 @@
#include "qurl.h"
#include "private/qutfcodec_p.h"
+#include "private/qtools_p.h"
QT_BEGIN_NAMESPACE
@@ -197,8 +198,7 @@ static inline ushort decodePercentEncoding(const ushort *input)
static inline ushort encodeNibble(ushort c)
{
- static const uchar hexnumbers[] = "0123456789ABCDEF";
- return hexnumbers[c & 0xf];
+ return ushort(QtMiscUtils::toHexUpper(c));
}
static void ensureDetached(QString &result, ushort *&output, const ushort *begin, const ushort *input, const ushort *end,
diff --git a/src/corelib/io/qurltlds_p.h b/src/corelib/io/qurltlds_p.h
index dfc69f500b..69d0701faa 100644
--- a/src/corelib/io/qurltlds_p.h
+++ b/src/corelib/io/qurltlds_p.h
@@ -58,9898 +58,11678 @@ QT_BEGIN_NAMESPACE
// this file should be updated before each release ->
// for instructions see the program at
// util/corelib/qurl-generateTLDs
-
-static const quint16 tldCount = 6063;
+static const quint16 tldCount = 7150;
static const quint32 tldIndices[] = {
0,
-13,
-19,
-36,
-66,
-90,
-90,
-113,
-130,
-151,
+40,
+40,
+49,
+49,
+49,
+71,
+95,
+95,
+110,
+123,
+123,
151,
-151,
-168,
-179,
-196,
-203,
-222,
-222,
-237,
-237,
-251,
-258,
-287,
-287,
-287,
-287,
-287,
-314,
-336,
-352,
-352,
-352,
-369,
-369,
-377,
-396,
-396,
-396,
-405,
-405,
-431,
-431,
-442,
-451,
-485,
-495,
-509,
-509,
-509,
-524,
-524,
+189,
+189,
+189,
+189,
+189,
+189,
+189,
+189,
+189,
+202,
+202,
+202,
+208,
+219,
+219,
+219,
+219,
+219,
+238,
+249,
+278,
+294,
+301,
+312,
+312,
+317,
+317,
+317,
+323,
+330,
+406,
+406,
+467,
+467,
+500,
+500,
+500,
+512,
+533,
533,
533,
-552,
-552,
-552,
-552,
-577,
-577,
-593,
-593,
-593,
-593,
-593,
-593,
-622,
-643,
-643,
-658,
-691,
+533,
+533,
+542,
+574,
+580,
+620,
+620,
+633,
+645,
+645,
+659,
+659,
+659,
+685,
+685,
+703,
703,
-715,
-731,
-731,
-747,
-781,
-793,
-793,
-814,
-826,
-851,
-851,
-866,
-885,
-914,
-929,
-929,
-929,
-941,
-947,
-947,
-987,
-987,
-987,
-1003,
-1061,
-1080,
-1080,
-1080,
-1104,
-1104,
-1138,
-1148,
-1148,
-1148,
-1148,
-1160,
-1179,
-1179,
-1208,
-1208,
+721,
+721,
+721,
+737,
+744,
+744,
+756,
+768,
+774,
+774,
+774,
+784,
+784,
+802,
+841,
+882,
+882,
+882,
+882,
+905,
+924,
+935,
+950,
+960,
+960,
+972,
+983,
+983,
+983,
+990,
+997,
+1017,
+1037,
+1045,
+1045,
+1045,
+1063,
+1069,
+1085,
+1085,
+1085,
+1085,
+1085,
+1085,
+1085,
+1136,
+1145,
+1183,
+1183,
1225,
1225,
-1273,
-1273,
-1291,
-1291,
-1304,
-1304,
-1304,
-1304,
-1318,
-1335,
-1335,
-1335,
-1349,
-1349,
-1364,
-1364,
-1364,
-1364,
-1402,
-1402,
-1402,
-1402,
+1241,
+1241,
+1259,
+1282,
+1305,
+1305,
+1358,
+1358,
+1370,
+1370,
+1383,
+1383,
1430,
-1455,
-1506,
-1537,
-1537,
-1559,
-1573,
-1578,
-1578,
-1578,
-1578,
-1584,
-1592,
-1599,
-1599,
-1599,
-1606,
-1641,
-1641,
-1663,
-1663,
-1663,
-1663,
-1663,
-1682,
-1682,
-1689,
-1689,
-1689,
-1715,
-1731,
-1731,
-1741,
-1761,
-1777,
-1777,
-1777,
-1777,
-1777,
-1796,
-1796,
-1824,
-1847,
-1847,
-1854,
-1876,
-1876,
-1876,
-1908,
-1908,
-1925,
-1952,
-1974,
-1991,
-2010,
-2010,
-2010,
-2010,
-2028,
-2048,
-2066,
-2066,
-2091,
-2119,
-2151,
-2151,
-2151,
-2175,
-2175,
-2175,
-2205,
+1430,
+1430,
+1457,
+1466,
+1472,
+1472,
+1472,
+1472,
+1486,
+1518,
+1564,
+1593,
+1614,
+1661,
+1675,
+1675,
+1691,
+1719,
+1730,
+1750,
+1750,
+1755,
+1759,
+1773,
+1797,
+1823,
+1841,
+1848,
+1887,
+1894,
+1911,
+1918,
+1923,
+1929,
+1966,
+1966,
+1973,
+1973,
+1973,
+1990,
+2041,
+2059,
+2075,
+2093,
+2093,
+2093,
+2127,
+2136,
+2152,
+2159,
+2178,
+2201,
+2212,
+2219,
2219,
-2232,
-2281,
-2281,
-2281,
-2302,
-2311,
-2327,
-2327,
-2327,
-2340,
-2340,
-2340,
-2368,
-2386,
-2404,
-2414,
-2423,
-2423,
-2423,
-2423,
-2443,
-2443,
-2450,
-2487,
-2487,
-2487,
-2487,
-2494,
-2509,
-2509,
-2509,
-2535,
-2545,
-2615,
-2615,
-2615,
-2633,
-2633,
-2641,
-2688,
-2688,
-2688,
-2702,
-2708,
-2730,
-2748,
-2748,
-2748,
-2748,
-2764,
-2798,
-2807,
-2815,
-2826,
-2826,
-2835,
-2864,
-2864,
-2898,
-2898,
-2905,
-2915,
-2922,
-2922,
-2938,
-2938,
-2967,
-2967,
-2967,
-2986,
-2986,
-3002,
-3008,
-3018,
-3052,
-3066,
-3099,
-3099,
-3115,
-3115,
-3115,
-3159,
-3159,
-3172,
-3186,
-3186,
-3262,
-3262,
-3262,
-3305,
-3336,
-3350,
-3394,
-3411,
-3411,
-3424,
-3483,
-3505,
-3532,
-3532,
-3532,
-3538,
-3538,
-3561,
-3575,
-3580,
-3601,
-3601,
-3601,
-3601,
-3601,
-3601,
-3601,
-3601,
-3635,
-3635,
-3635,
-3686,
-3704,
-3704,
-3736,
-3749,
-3783,
-3783,
-3816,
-3840,
-3877,
-3885,
-3885,
-3885,
-3885,
-3907,
-3944,
-3944,
-3956,
-3963,
-3963,
-3963,
-3963,
-3975,
-3975,
-3975,
-3993,
-4038,
-4062,
-4062,
-4062,
-4071,
-4071,
-4084,
-4097,
-4119,
-4119,
-4119,
-4135,
-4135,
-4166,
-4178,
-4178,
-4208,
-4225,
-4285,
-4300,
-4300,
-4300,
-4300,
-4318,
-4318,
-4318,
-4336,
-4348,
-4354,
-4354,
-4388,
-4388,
+2219,
+2233,
+2240,
+2247,
+2247,
+2273,
+2298,
+2298,
+2305,
+2330,
+2377,
+2410,
+2461,
+2468,
+2511,
+2511,
+2524,
+2524,
+2530,
+2547,
+2560,
+2576,
+2583,
+2599,
+2599,
+2599,
+2599,
+2599,
+2628,
+2671,
+2692,
+2697,
+2726,
+2726,
+2756,
+2756,
+2775,
+2775,
+2787,
+2814,
+2814,
+2839,
+2853,
+2869,
+2901,
+2949,
+2949,
+2972,
+2972,
+2979,
+2997,
+3003,
+3014,
+3014,
+3014,
+3014,
+3014,
+3014,
+3043,
+3043,
+3070,
+3070,
+3091,
+3091,
+3097,
+3108,
+3108,
+3108,
+3125,
+3182,
+3232,
+3283,
+3283,
+3292,
+3312,
+3319,
+3359,
+3379,
+3406,
+3433,
+3441,
+3448,
+3459,
+3466,
+3466,
+3466,
+3466,
+3466,
+3473,
+3491,
+3498,
+3524,
+3524,
+3568,
+3605,
+3605,
+3618,
+3618,
+3618,
+3632,
+3632,
+3632,
+3632,
+3645,
+3645,
+3652,
+3662,
+3662,
+3701,
+3708,
+3713,
+3729,
+3742,
+3767,
+3799,
+3799,
+3806,
+3806,
+3824,
+3824,
+3839,
+3839,
+3854,
+3876,
+3883,
+3883,
+3890,
+3896,
+3939,
+3939,
+3953,
+3953,
+3953,
+3953,
+3988,
+4005,
+4019,
+4039,
+4039,
+4058,
+4069,
+4094,
+4101,
+4139,
+4146,
+4174,
+4206,
+4221,
+4221,
+4237,
+4237,
+4254,
+4270,
+4277,
+4301,
+4301,
+4301,
+4301,
+4327,
+4327,
+4334,
+4341,
+4361,
+4361,
+4368,
+4391,
+4403,
+4403,
+4416,
4416,
-4433,
-4433,
-4433,
-4433,
-4433,
-4433,
-4450,
-4450,
-4450,
-4450,
-4467,
-4467,
-4480,
-4514,
-4524,
+4423,
+4448,
+4448,
+4448,
+4500,
4534,
-4552,
-4552,
-4572,
-4572,
-4599,
-4641,
-4659,
-4659,
-4659,
-4666,
-4666,
-4666,
-4717,
-4769,
+4543,
+4543,
+4562,
+4569,
+4576,
+4613,
+4632,
+4639,
+4646,
+4670,
+4670,
+4670,
+4677,
+4695,
+4695,
+4695,
+4702,
+4720,
+4734,
+4734,
+4734,
+4734,
+4741,
+4741,
+4741,
+4748,
+4748,
+4762,
4785,
-4797,
-4797,
-4815,
-4853,
-4859,
-4868,
-4894,
-4894,
-4894,
-4920,
-4930,
-4972,
-4972,
-5005,
-5005,
-5023,
-5023,
-5032,
-5059,
-5059,
+4792,
+4823,
+4823,
+4861,
+4886,
+4886,
+4886,
+4922,
+4922,
+4932,
+4939,
+4939,
+4939,
+4946,
+4953,
+4953,
+4977,
+4977,
+4977,
+4984,
+5009,
+5028,
+5080,
5080,
-5094,
-5100,
-5100,
-5100,
-5100,
-5100,
-5118,
-5145,
-5145,
-5145,
-5153,
-5221,
-5256,
+5080,
+5080,
+5110,
+5117,
+5132,
+5143,
+5167,
+5184,
+5184,
+5184,
+5209,
+5209,
+5230,
+5230,
+5238,
+5260,
5289,
-5296,
-5306,
-5306,
-5343,
-5343,
-5343,
-5362,
-5369,
-5433,
-5451,
-5451,
-5451,
-5470,
-5470,
-5470,
-5490,
-5506,
-5528,
-5548,
-5548,
-5548,
-5548,
-5563,
-5576,
-5585,
-5636,
-5636,
-5661,
-5661,
-5668,
-5685,
-5698,
-5715,
-5742,
-5748,
-5756,
-5800,
-5800,
-5800,
-5827,
+5289,
+5298,
+5315,
+5315,
+5315,
+5350,
+5356,
+5356,
+5356,
+5356,
+5370,
+5392,
+5413,
+5430,
+5437,
+5471,
+5502,
+5514,
+5514,
+5534,
+5552,
+5559,
+5559,
+5616,
+5651,
+5657,
+5657,
+5657,
+5674,
+5681,
+5681,
+5681,
+5702,
+5709,
+5745,
+5764,
+5776,
+5776,
+5812,
5827,
-5846,
-5864,
-5910,
-5926,
-5941,
-5952,
-5952,
-5958,
-5958,
-5976,
-5985,
-5991,
-5991,
-5991,
-5998,
-5998,
-5998,
-6011,
-6011,
-6060,
-6076,
-6088,
-6105,
-6124,
-6124,
-6124,
-6157,
-6157,
-6157,
+5849,
+5875,
+5892,
+5913,
+5913,
+5920,
+5935,
+5980,
+5987,
+6024,
+6024,
+6041,
+6058,
+6066,
+6103,
+6103,
+6103,
+6127,
+6127,
+6137,
6157,
-6174,
-6190,
-6190,
-6190,
-6209,
-6228,
-6228,
-6228,
-6228,
-6234,
-6234,
-6234,
-6234,
-6234,
-6249,
-6264,
-6264,
-6290,
-6308,
-6346,
-6362,
-6362,
-6400,
-6420,
-6432,
-6455,
-6455,
-6464,
-6491,
-6491,
-6491,
-6497,
-6524,
-6544,
-6544,
-6544,
-6544,
-6559,
-6576,
-6619,
-6682,
-6682,
-6716,
-6716,
-6716,
-6716,
-6716,
-6716,
-6730,
-6745,
-6783,
-6783,
-6801,
-6817,
-6841,
-6841,
-6858,
-6858,
-6914,
-6925,
-6943,
-6954,
-6954,
-6954,
-6973,
-6973,
-6973,
-6987,
-6987,
-6987,
-7005,
-7037,
-7037,
-7050,
-7050,
-7075,
-7090,
-7090,
-7096,
-7108,
-7124,
-7124,
-7136,
-7136,
-7146,
-7169,
-7178,
-7197,
-7197,
-7197,
-7204,
-7204,
-7268,
-7268,
-7288,
-7311,
-7311,
-7321,
+6223,
+6248,
+6297,
+6297,
+6297,
+6325,
+6332,
+6355,
+6355,
+6382,
+6408,
+6423,
+6423,
+6423,
+6440,
+6452,
+6462,
+6482,
+6482,
+6482,
+6500,
+6500,
+6518,
+6518,
+6518,
+6526,
+6535,
+6535,
+6542,
+6560,
+6570,
+6585,
+6604,
+6604,
+6604,
+6604,
+6617,
+6626,
+6626,
+6626,
+6654,
+6654,
+6680,
+6695,
+6695,
+6695,
+6706,
+6706,
+6736,
+6736,
+6766,
+6766,
+6766,
+6766,
+6766,
+6775,
+6775,
+6775,
+6786,
+6825,
+6825,
+6834,
+6854,
+6854,
+6854,
+6897,
+6915,
+6915,
+6960,
+7002,
+7015,
+7077,
+7155,
+7207,
+7222,
+7250,
+7284,
+7284,
+7297,
7334,
-7334,
-7387,
-7417,
-7426,
-7444,
-7444,
-7460,
+7357,
+7357,
+7373,
+7373,
+7373,
+7398,
+7411,
+7424,
+7458,
7470,
-7491,
-7516,
-7516,
-7535,
-7535,
-7555,
-7555,
-7555,
-7555,
-7575,
-7597,
-7597,
-7597,
-7597,
-7607,
-7627,
-7627,
-7652,
-7710,
-7710,
+7508,
+7508,
+7531,
+7538,
+7554,
+7566,
+7580,
+7612,
+7612,
+7612,
+7619,
+7629,
+7636,
+7648,
+7682,
+7682,
+7701,
+7712,
+7712,
+7712,
+7719,
7719,
-7737,
-7737,
-7737,
-7737,
-7737,
-7747,
-7747,
-7753,
-7773,
-7773,
-7793,
-7828,
-7841,
-7860,
-7860,
-7876,
-7876,
-7901,
-7901,
-7901,
-7911,
-7911,
-7911,
-7911,
-7924,
-7941,
-7951,
-7983,
-7983,
-7990,
-8008,
-8008,
-8018,
-8018,
+7746,
+7746,
+7746,
+7770,
+7770,
+7770,
+7770,
+7770,
+7795,
+7847,
+7847,
+7847,
+7868,
+7868,
+7877,
+7893,
+7910,
+7942,
+7976,
+7976,
+8015,
+8020,
+8031,
8031,
-8056,
-8063,
-8077,
-8077,
-8090,
-8100,
-8165,
-8192,
-8192,
-8192,
-8192,
-8197,
-8197,
-8197,
-8197,
-8197,
-8197,
-8227,
-8237,
-8253,
-8253,
-8309,
-8309,
-8309,
-8309,
-8329,
-8329,
-8329,
-8345,
-8378,
-8398,
-8420,
-8420,
-8420,
-8436,
-8452,
-8497,
-8538,
-8554,
-8554,
-8583,
-8583,
-8583,
-8616,
-8642,
-8652,
-8652,
-8672,
-8690,
-8699,
-8699,
-8715,
-8715,
-8737,
-8767,
-8767,
-8767,
+8040,
+8040,
+8059,
+8071,
+8092,
+8123,
+8136,
+8136,
+8136,
+8141,
+8141,
+8141,
+8148,
+8148,
+8193,
+8193,
+8210,
+8230,
+8247,
+8247,
+8264,
+8296,
+8317,
+8332,
+8332,
+8332,
+8364,
+8392,
+8403,
+8421,
+8421,
+8441,
+8441,
+8441,
+8441,
+8441,
+8460,
+8474,
+8487,
+8508,
+8508,
+8508,
+8526,
+8540,
+8540,
+8540,
+8540,
+8572,
+8596,
+8641,
+8641,
+8641,
+8686,
+8686,
+8686,
+8695,
+8695,
+8714,
+8735,
+8744,
+8775,
8780,
-8800,
-8837,
-8867,
-8896,
-8931,
-8948,
-8959,
-8981,
-9002,
+8802,
+8802,
+8802,
+8802,
+8835,
+8842,
+8894,
+8894,
+8908,
+8908,
+8908,
+8942,
+8967,
+8967,
9008,
-9017,
-9017,
-9017,
-9017,
-9044,
-9044,
-9044,
-9069,
-9087,
-9087,
+9008,
+9023,
+9035,
+9035,
+9035,
+9052,
+9079,
9087,
9087,
-9104,
-9136,
+9127,
+9139,
+9139,
9173,
9173,
9199,
-9199,
-9199,
-9199,
-9222,
-9233,
-9257,
-9257,
-9257,
-9272,
-9272,
-9284,
-9316,
-9346,
-9346,
-9346,
-9362,
-9379,
-9404,
-9413,
-9413,
-9413,
-9439,
-9439,
-9447,
-9460,
-9479,
-9479,
-9486,
-9499,
-9506,
-9506,
-9513,
-9551,
-9551,
-9577,
-9577,
-9634,
-9634,
-9671,
-9693,
-9700,
-9700,
-9732,
-9774,
-9774,
-9780,
-9827,
-9851,
-9875,
-9875,
-9911,
-9937,
-9937,
-9944,
-9944,
-9944,
-9964,
-9992,
-9999,
-9999,
-9999,
-10006,
-10012,
-10019,
-10026,
+9208,
+9235,
+9235,
+9249,
+9249,
+9259,
+9259,
+9267,
+9285,
+9300,
+9300,
+9322,
+9337,
+9342,
+9342,
+9348,
+9407,
+9418,
+9434,
+9434,
+9455,
+9455,
+9455,
+9469,
+9489,
+9489,
+9527,
+9527,
+9527,
+9568,
+9568,
+9568,
+9578,
+9603,
+9610,
+9610,
+9610,
+9621,
+9621,
+9625,
+9641,
+9649,
+9649,
+9649,
+9667,
+9667,
+9667,
+9680,
+9709,
+9709,
+9739,
+9739,
+9766,
+9775,
+9783,
+9790,
+9810,
+9810,
+9828,
+9828,
+9853,
+9867,
+9867,
+9867,
+9867,
+9884,
+9884,
+9900,
+9900,
+9936,
+9954,
+9954,
+9977,
+9987,
+9987,
+9994,
+9994,
+10009,
+10009,
+10009,
+10029,
+10047,
10047,
-10059,
-10059,
+10062,
10076,
-10083,
-10083,
-10083,
-10089,
-10089,
-10089,
-10096,
-10121,
-10121,
-10137,
-10137,
-10137,
-10137,
-10154,
-10161,
-10161,
-10168,
-10177,
-10177,
-10231,
-10238,
-10261,
-10268,
-10288,
-10295,
-10303,
-10320,
-10344,
-10387,
-10421,
-10421,
-10421,
-10467,
-10467,
-10501,
-10517,
-10535,
-10552,
-10577,
-10577,
-10577,
-10577,
-10577,
-10615,
-10621,
-10639,
-10639,
-10639,
-10682,
-10682,
-10698,
+10076,
+10100,
+10106,
+10106,
+10113,
+10129,
+10143,
+10166,
+10166,
+10198,
+10208,
+10208,
+10229,
+10251,
+10251,
+10275,
+10275,
+10281,
+10314,
+10333,
+10333,
+10333,
+10357,
+10357,
+10378,
+10386,
+10398,
+10420,
+10443,
+10461,
+10480,
+10488,
+10498,
+10498,
+10498,
+10498,
+10528,
+10528,
+10534,
+10534,
+10534,
+10534,
+10534,
+10534,
+10534,
+10558,
+10579,
+10595,
+10595,
+10595,
+10595,
+10611,
+10611,
+10634,
+10659,
+10659,
+10659,
+10659,
+10659,
+10659,
10698,
10716,
-10727,
-10750,
-10774,
-10781,
-10797,
-10804,
-10804,
-10804,
-10816,
-10836,
-10850,
-10850,
-10857,
-10857,
-10878,
-10878,
-10934,
-10934,
-10934,
-10934,
-10934,
-10934,
-10934,
-10941,
-10941,
-10941,
-10948,
-10973,
-10984,
-11015,
-11015,
-11015,
-11041,
-11058,
-11066,
-11066,
-11066,
-11087,
-11097,
-11102,
-11108,
-11115,
-11122,
-11122,
-11122,
-11129,
-11160,
-11194,
-11194,
-11215,
-11224,
-11224,
-11280,
-11297,
-11307,
-11319,
-11352,
-11364,
-11364,
-11399,
-11399,
-11430,
-11430,
-11445,
-11478,
-11500,
-11508,
+10741,
+10749,
+10768,
+10801,
+10813,
+10842,
+10842,
+10860,
+10860,
+10879,
+10917,
+10939,
+10958,
+10964,
+10964,
+10986,
+10994,
+11000,
+11005,
+11005,
+11005,
+11021,
+11031,
+11031,
+11031,
+11050,
+11077,
+11077,
+11091,
+11091,
+11110,
+11110,
+11120,
+11139,
+11187,
+11187,
+11187,
+11187,
+11187,
+11219,
+11249,
+11260,
+11283,
+11299,
+11330,
+11330,
+11330,
+11330,
+11340,
+11340,
+11340,
+11340,
+11346,
+11391,
+11391,
+11397,
+11397,
+11397,
+11408,
+11408,
+11431,
+11452,
+11452,
+11489,
+11505,
+11526,
11526,
11526,
-11539,
-11539,
-11583,
-11583,
-11624,
-11654,
-11654,
-11661,
-11679,
-11714,
-11721,
-11733,
-11769,
-11778,
-11786,
-11805,
-11820,
-11857,
-11864,
-11877,
-11877,
-11892,
-11892,
-11892,
-11908,
-11915,
-11922,
-11940,
-11947,
-11975,
-11998,
-12021,
-12028,
-12028,
-12046,
-12068,
-12086,
-12109,
-12116,
-12130,
-12150,
-12150,
-12150,
-12150,
-12157,
-12182,
-12205,
-12212,
-12219,
-12219,
-12229,
-12229,
-12229,
-12250,
-12271,
-12285,
-12285,
-12292,
-12330,
-12330,
-12349,
-12349,
-12357,
-12357,
-12357,
-12357,
-12389,
-12409,
-12409,
-12448,
-12459,
-12473,
-12480,
+11526,
+11543,
+11563,
+11580,
+11599,
+11599,
+11599,
+11599,
+11636,
+11636,
+11636,
+11675,
+11675,
+11675,
+11675,
+11695,
+11695,
+11695,
+11703,
+11712,
+11725,
+11734,
+11743,
+11771,
+11812,
+11838,
+11848,
+11870,
+11888,
+11903,
+11903,
+11910,
+11938,
+11938,
+11938,
+11956,
+11956,
+11986,
+11986,
+11994,
+12007,
+12017,
+12017,
+12053,
+12066,
+12066,
+12066,
+12066,
+12066,
+12066,
+12076,
+12088,
+12099,
+12099,
+12117,
+12117,
+12127,
+12146,
+12146,
+12146,
+12165,
+12165,
+12165,
+12165,
+12172,
+12176,
+12176,
+12176,
+12191,
+12191,
+12201,
+12217,
+12217,
+12241,
+12241,
+12241,
+12255,
+12255,
+12269,
+12269,
+12310,
+12310,
+12333,
+12351,
+12366,
+12366,
+12377,
+12412,
+12435,
+12453,
+12453,
+12453,
+12457,
+12489,
12489,
12489,
-12497,
-12535,
-12542,
-12568,
-12575,
-12590,
-12620,
-12645,
-12652,
-12665,
-12672,
-12683,
-12683,
-12709,
-12716,
-12723,
-12746,
-12746,
-12746,
-12771,
-12771,
-12796,
-12796,
-12803,
-12803,
-12803,
-12838,
-12856,
-12872,
-12872,
-12872,
-12872,
-12872,
-12872,
-12889,
-12899,
-12899,
-12899,
-12899,
-12917,
-12934,
-12934,
-12947,
-12969,
-12969,
-12976,
-13012,
-13056,
-13063,
-13092,
-13118,
-13142,
-13163,
-13202,
-13237,
-13256,
-13284,
-13295,
-13302,
-13326,
+12501,
+12523,
+12523,
+12547,
+12569,
+12628,
+12628,
+12628,
+12628,
+12628,
+12638,
+12687,
+12705,
+12705,
+12715,
+12732,
+12732,
+12750,
+12750,
+12750,
+12750,
+12750,
+12750,
+12763,
+12763,
+12772,
+12772,
+12827,
+12863,
+12870,
+12880,
+12886,
+12902,
+12916,
+12944,
+12944,
+12956,
+12956,
+12977,
+12983,
+12993,
+13011,
+13022,
+13059,
+13066,
+13066,
+13113,
+13113,
+13120,
+13120,
+13132,
+13143,
+13154,
+13154,
+13154,
+13160,
+13160,
+13164,
+13164,
+13164,
+13203,
+13222,
+13222,
+13244,
+13250,
+13267,
+13272,
+13301,
+13319,
+13319,
+13319,
+13319,
+13319,
+13338,
+13350,
+13350,
+13350,
13355,
-13372,
-13383,
-13398,
-13424,
-13452,
-13452,
-13452,
-13494,
-13533,
-13547,
-13547,
-13551,
-13558,
-13610,
-13657,
-13665,
-13692,
-13692,
-13707,
-13714,
-13714,
-13714,
-13728,
-13728,
-13750,
-13763,
-13782,
-13782,
-13819,
-13840,
-13840,
-13858,
-13867,
-13888,
-13925,
-13925,
-13950,
-13960,
+13362,
+13362,
+13374,
+13396,
+13408,
+13408,
+13408,
+13433,
+13454,
+13454,
+13454,
+13511,
+13522,
+13541,
+13550,
+13550,
+13563,
+13580,
+13585,
+13585,
+13585,
+13585,
+13585,
+13598,
+13628,
+13634,
+13634,
+13654,
+13679,
+13684,
+13693,
+13723,
+13740,
+13740,
+13747,
+13791,
+13805,
+13805,
+13834,
+13868,
+13893,
+13910,
+13920,
+13920,
+13940,
+13940,
13960,
-13974,
-14014,
-14051,
-14067,
-14086,
-14095,
-14102,
-14102,
-14102,
-14123,
-14123,
-14123,
-14144,
-14168,
-14168,
-14175,
-14175,
-14175,
-14175,
-14186,
-14237,
-14237,
-14258,
-14258,
-14258,
-14292,
-14292,
-14328,
-14338,
-14338,
-14338,
-14364,
-14390,
-14390,
-14423,
-14454,
-14469,
-14512,
-14512,
-14512,
-14512,
-14512,
-14512,
-14512,
+13977,
+13977,
+13988,
+13988,
+13999,
+13999,
+13999,
+13999,
+14025,
+14025,
+14025,
+14044,
+14059,
+14059,
+14059,
+14096,
+14112,
+14143,
+14156,
+14156,
+14169,
+14173,
+14193,
+14193,
+14193,
+14197,
+14197,
+14197,
+14222,
+14222,
+14231,
+14231,
+14231,
+14231,
+14251,
+14251,
+14251,
+14256,
+14260,
+14287,
+14287,
+14309,
+14309,
+14309,
+14309,
+14361,
+14361,
+14380,
+14380,
+14396,
+14440,
+14448,
+14448,
+14448,
+14461,
+14486,
+14486,
+14486,
+14500,
+14500,
+14500,
+14500,
+14500,
+14500,
14525,
-14535,
-14550,
-14572,
+14531,
+14538,
+14556,
14578,
-14591,
-14603,
-14603,
-14603,
-14619,
-14619,
-14619,
-14619,
-14656,
-14679,
-14700,
-14725,
-14725,
-14725,
-14725,
-14725,
-14730,
-14751,
-14767,
-14767,
-14767,
-14767,
-14787,
-14820,
-14837,
-14837,
-14865,
-14865,
-14882,
-14882,
-14882,
-14882,
+14578,
+14601,
+14601,
+14601,
+14601,
+14615,
+14615,
+14615,
+14626,
+14626,
+14637,
+14654,
+14688,
+14688,
+14719,
+14735,
+14744,
+14749,
+14749,
+14749,
+14749,
+14749,
+14786,
+14808,
+14808,
+14822,
+14867,
14882,
-14892,
-14892,
-14892,
-14912,
-14929,
-14947,
-14947,
-14947,
-14947,
-14947,
-14947,
-14966,
-15018,
-15034,
-15044,
-15055,
-15055,
-15073,
-15118,
-15118,
-15118,
-15146,
-15158,
-15169,
-15175,
-15175,
-15175,
-15181,
-15181,
-15181,
-15247,
-15279,
-15292,
-15292,
-15292,
-15292,
-15326,
-15331,
-15365,
-15389,
-15398,
-15412,
+14887,
+14899,
+14899,
+14906,
+14916,
+14958,
+14958,
+14958,
+14968,
+15000,
+15031,
+15051,
+15056,
+15060,
+15079,
+15079,
+15096,
+15116,
+15133,
+15133,
+15133,
+15133,
+15133,
+15145,
+15145,
+15182,
+15209,
+15218,
+15218,
+15239,
+15282,
+15282,
+15282,
+15282,
+15304,
+15318,
+15338,
+15364,
+15383,
+15402,
15426,
-15433,
-15433,
-15433,
-15433,
-15469,
-15490,
-15490,
-15506,
-15523,
-15553,
-15553,
+15480,
+15491,
+15491,
+15491,
+15507,
+15530,
+15543,
+15543,
+15543,
+15571,
15571,
15571,
-15585,
-15602,
-15602,
-15602,
-15602,
-15602,
-15631,
-15658,
-15669,
-15699,
+15578,
+15595,
+15612,
+15621,
+15621,
+15621,
+15634,
+15662,
+15662,
+15666,
+15681,
+15705,
+15705,
+15705,
+15711,
+15711,
15716,
15716,
-15757,
-15789,
-15796,
-15796,
-15796,
-15796,
-15815,
-15840,
-15898,
-15898,
-15919,
-15933,
-15933,
-15940,
-15946,
-15946,
-15964,
-15964,
-15964,
-15973,
-15979,
-16008,
-16019,
-16019,
-16034,
-16042,
-16057,
-16073,
-16095,
-16095,
-16112,
-16121,
-16139,
-16139,
-16139,
-16148,
-16148,
-16148,
-16148,
-16165,
-16187,
-16187,
-16199,
-16199,
-16215,
-16215,
-16215,
-16231,
-16240,
-16284,
-16305,
-16305,
-16322,
-16343,
-16362,
-16383,
-16393,
-16393,
-16411,
-16419,
-16425,
-16436,
-16461,
-16468,
-16468,
-16468,
-16490,
-16490,
-16490,
-16507,
-16528,
-16528,
-16528,
-16538,
-16555,
-16566,
-16566,
-16590,
-16590,
-16605,
-16623,
-16636,
-16636,
-16636,
-16656,
-16666,
-16696,
-16713,
+15716,
+15728,
+15728,
+15758,
+15782,
+15791,
+15791,
+15801,
+15823,
+15833,
+15851,
+15871,
+15871,
+15889,
+15897,
+15897,
+15914,
+15914,
+15926,
+15947,
+15968,
+15974,
+15974,
+15998,
+16015,
+16028,
+16052,
+16063,
+16063,
+16069,
+16075,
+16087,
+16087,
+16093,
+16131,
+16131,
+16142,
+16142,
+16153,
+16173,
+16205,
+16205,
+16205,
+16228,
+16251,
+16251,
+16251,
+16291,
+16291,
+16298,
+16312,
+16327,
+16327,
+16336,
+16346,
+16346,
+16366,
+16391,
+16406,
+16406,
+16406,
+16449,
+16449,
+16449,
+16473,
+16473,
+16491,
+16501,
+16510,
+16510,
+16510,
+16510,
+16516,
+16516,
+16535,
+16535,
+16552,
+16573,
+16588,
+16588,
+16588,
+16597,
+16635,
+16700,
+16738,
+16743,
16743,
-16760,
-16781,
-16797,
-16811,
-16811,
-16823,
-16838,
-16859,
-16879,
-16879,
-16879,
-16902,
-16908,
-16908,
-16908,
-16908,
-16966,
-16966,
-16966,
-16975,
-16992,
-16992,
-16992,
-17033,
-17069,
-17069,
-17100,
-17117,
-17133,
-17151,
-17151,
-17159,
-17203,
-17203,
+16754,
+16765,
+16765,
+16774,
+16783,
+16783,
+16783,
+16783,
+16812,
+16812,
+16827,
+16833,
+16833,
+16874,
+16906,
+16919,
+16928,
+16942,
+16955,
+16982,
+17004,
+17020,
+17020,
+17020,
+17020,
+17020,
+17028,
+17041,
+17053,
+17053,
+17058,
+17072,
+17072,
+17092,
+17138,
+17138,
+17155,
+17155,
+17155,
+17155,
+17168,
+17168,
+17182,
+17205,
+17214,
+17214,
+17214,
17220,
-17226,
-17226,
-17245,
+17238,
+17238,
17245,
-17259,
-17259,
-17269,
-17295,
-17295,
-17295,
-17353,
-17386,
-17394,
-17394,
-17394,
-17409,
-17409,
-17442,
-17442,
-17454,
-17509,
-17509,
-17509,
-17532,
-17532,
-17532,
-17550,
-17561,
-17561,
-17561,
-17561,
-17561,
-17561,
-17561,
-17561,
-17561,
-17575,
-17581,
-17581,
-17581,
-17620,
-17627,
-17640,
-17640,
+17291,
+17313,
+17313,
+17322,
+17361,
+17398,
+17435,
+17435,
+17450,
+17450,
+17450,
+17486,
+17493,
+17493,
+17493,
+17497,
+17497,
+17497,
+17497,
+17497,
+17497,
+17497,
+17527,
+17531,
+17551,
+17551,
+17568,
+17586,
+17603,
+17603,
+17603,
+17616,
+17622,
+17622,
+17622,
+17622,
+17647,
17677,
-17677,
-17688,
-17688,
-17722,
-17734,
-17747,
-17757,
-17757,
-17757,
-17803,
-17820,
-17846,
-17892,
-17892,
-17899,
-17899,
-17919,
-17919,
-17968,
-17980,
-17996,
-18021,
-18021,
-18021,
-18021,
-18050,
-18050,
-18072,
-18102,
-18119,
-18119,
-18132,
-18132,
-18132,
-18146,
-18146,
-18165,
-18184,
-18184,
-18192,
-18192,
-18192,
-18223,
-18223,
-18223,
-18231,
-18231,
-18231,
-18231,
+17717,
+17727,
+17749,
+17781,
+17813,
+17813,
+17830,
+17879,
+17879,
+17906,
+17932,
+17932,
+17932,
+17932,
+17932,
+17947,
+17981,
+17988,
+18011,
+18011,
+18011,
+18011,
+18011,
+18011,
+18011,
+18019,
+18026,
+18026,
+18039,
+18039,
+18039,
+18039,
+18047,
+18079,
+18079,
+18084,
+18125,
+18138,
+18138,
+18138,
+18138,
+18147,
+18147,
+18147,
+18147,
+18147,
+18147,
+18163,
+18182,
+18182,
+18193,
+18193,
+18193,
+18204,
+18204,
+18204,
+18204,
+18204,
+18204,
+18213,
+18235,
18257,
-18270,
-18300,
-18313,
-18331,
-18331,
-18331,
-18351,
-18351,
-18382,
-18392,
-18392,
-18392,
-18402,
-18402,
-18418,
-18445,
-18519,
-18519,
-18528,
-18542,
-18571,
-18595,
-18616,
-18628,
-18628,
-18643,
-18678,
-18690,
+18283,
+18283,
+18304,
+18334,
+18352,
+18367,
+18367,
+18367,
+18387,
+18396,
+18403,
+18403,
+18413,
+18413,
+18444,
+18444,
+18468,
+18478,
+18499,
+18506,
+18517,
+18526,
+18526,
+18544,
+18563,
+18563,
+18563,
+18563,
+18579,
+18603,
+18603,
+18621,
+18631,
+18631,
+18631,
+18631,
+18638,
+18638,
+18638,
+18638,
+18662,
+18703,
+18703,
+18703,
+18703,
18715,
-18731,
-18731,
-18751,
-18763,
-18763,
-18763,
-18779,
-18793,
-18793,
-18824,
-18840,
-18840,
-18856,
-18856,
-18864,
-18864,
-18902,
-18902,
-18933,
-18946,
-18946,
-18946,
-18946,
-18946,
-18946,
-18955,
-18955,
-18973,
-18979,
-18992,
-18992,
-18992,
-19008,
-19016,
-19016,
-19033,
-19033,
-19044,
-19044,
-19044,
-19044,
-19082,
-19129,
+18723,
+18741,
+18759,
+18798,
+18814,
+18834,
+18853,
+18853,
+18871,
+18881,
+18935,
+18935,
+18962,
+18962,
+18962,
+18962,
+18978,
+18987,
+18987,
+18987,
+19014,
+19027,
+19037,
+19060,
+19060,
+19060,
+19060,
+19109,
+19134,
19149,
-19198,
-19210,
-19210,
-19210,
-19219,
-19219,
-19219,
-19227,
-19261,
-19261,
-19268,
-19291,
-19319,
-19319,
-19319,
-19331,
-19359,
-19369,
-19369,
-19384,
-19384,
-19406,
-19413,
-19466,
-19482,
-19482,
+19170,
+19170,
+19188,
+19195,
+19211,
+19233,
+19248,
+19257,
+19275,
+19278,
+19323,
+19326,
+19366,
+19378,
+19378,
+19381,
+19381,
+19394,
+19414,
+19417,
+19420,
+19433,
+19456,
+19462,
+19468,
19494,
-19515,
-19522,
-19570,
-19570,
+19497,
+19503,
+19539,
+19561,
+19567,
19570,
-19610,
-19625,
-19632,
-19639,
-19658,
-19665,
-19672,
-19672,
-19679,
-19679,
-19692,
-19719,
-19749,
-19756,
-19776,
-19807,
-19817,
-19817,
-19837,
-19844,
-19876,
-19906,
-19906,
-19923,
-19923,
-19942,
-19958,
-19973,
-19995,
-20002,
-20023,
-20030,
-20036,
-20036,
-20060,
-20060,
-20066,
-20073,
-20108,
-20116,
-20131,
-20131,
-20131,
-20166,
-20183,
-20202,
-20205,
-20215,
-20233,
-20233,
-20236,
-20243,
-20253,
-20281,
-20284,
-20294,
-20297,
-20315,
-20355,
-20400,
-20415,
-20418,
+19576,
+19576,
+19576,
+19599,
+19599,
+19633,
+19633,
+19643,
+19651,
+19662,
+19695,
+19711,
+19740,
+19758,
+19783,
+19789,
+19792,
+19802,
+19825,
+19838,
+19841,
+19870,
+19900,
+19900,
+19930,
+19930,
+19974,
+20013,
+20052,
+20059,
+20079,
+20085,
+20101,
+20113,
+20126,
+20129,
+20169,
+20180,
+20220,
+20220,
+20230,
+20264,
+20264,
+20289,
+20296,
+20299,
+20299,
+20299,
+20308,
+20308,
+20358,
+20374,
+20374,
+20388,
+20396,
+20402,
+20402,
20428,
-20443,
-20461,
-20467,
-20470,
-20476,
-20499,
-20499,
-20513,
-20513,
-20516,
-20523,
-20546,
-20549,
-20575,
-20615,
-20615,
+20468,
+20493,
+20493,
+20517,
+20524,
+20534,
+20551,
+20593,
+20608,
+20611,
+20611,
20618,
-20682,
-20685,
-20691,
-20700,
-20727,
-20776,
-20779,
-20800,
+20632,
+20635,
+20657,
+20657,
+20677,
+20704,
+20707,
+20734,
+20751,
+20754,
+20774,
+20794,
+20813,
20816,
-20858,
-20887,
-20898,
-20898,
-20898,
-20923,
-20926,
-20949,
-20952,
-20959,
-20965,
-20974,
-20980,
-20996,
-20996,
-21021,
-21039,
-21039,
-21052,
-21055,
-21076,
-21079,
-21091,
-21094,
-21114,
-21114,
-21117,
-21117,
-21124,
-21143,
-21196,
-21196,
-21196,
-21196,
-21196,
-21205,
-21212,
-21261,
-21278,
-21293,
-21333,
-21354,
-21366,
-21373,
-21408,
-21433,
-21439,
-21442,
-21442,
-21445,
-21448,
-21460,
-21463,
-21466,
-21476,
-21479,
-21529,
-21568,
-21574,
-21574,
-21577,
-21604,
-21611,
-21611,
-21631,
-21649,
-21689,
-21692,
-21714,
-21752,
-21752,
-21780,
-21787,
-21813,
-21837,
-21840,
-21857,
-21885,
-21888,
-21888,
-21911,
-21918,
-21928,
-21928,
-21934,
-21970,
-21983,
-21992,
-22012,
+20819,
+20830,
+20839,
+20842,
+20855,
+20865,
+20868,
+20868,
+20868,
+20881,
+20888,
+20891,
+20891,
+20933,
+20933,
+20936,
+20939,
+20939,
+20963,
+20963,
+20998,
+21005,
+21063,
+21111,
+21118,
+21118,
+21141,
+21147,
+21164,
+21164,
+21171,
+21209,
+21230,
+21253,
+21273,
+21283,
+21300,
+21332,
+21347,
+21379,
+21386,
+21397,
+21404,
+21412,
+21419,
+21419,
+21419,
+21434,
+21434,
+21451,
+21494,
+21501,
+21508,
+21526,
+21540,
+21549,
+21549,
+21565,
+21565,
+21575,
+21607,
+21625,
+21663,
+21703,
+21713,
+21746,
+21797,
+21811,
+21817,
+21833,
+21839,
+21846,
+21865,
+21865,
+21872,
+21943,
+21954,
+21957,
+21995,
+22002,
22019,
-22036,
-22043,
-22050,
-22078,
-22112,
-22115,
-22122,
-22125,
-22174,
-22208,
-22211,
-22221,
-22228,
-22228,
-22240,
-22254,
-22254,
-22273,
-22291,
-22327,
-22355,
-22358,
-22368,
-22368,
-22368,
-22368,
-22384,
-22397,
-22415,
-22418,
-22418,
-22439,
-22459,
-22459,
-22469,
-22488,
-22507,
-22524,
-22524,
-22540,
-22543,
-22546,
-22546,
-22546,
-22546,
-22553,
-22575,
+22026,
+22044,
+22057,
+22060,
+22073,
+22090,
+22103,
+22106,
+22116,
+22126,
+22129,
+22136,
+22139,
+22163,
+22187,
+22190,
+22203,
+22206,
+22224,
+22249,
+22255,
+22282,
+22293,
+22319,
+22325,
+22349,
+22365,
+22365,
+22386,
+22408,
+22408,
+22408,
+22420,
+22420,
+22420,
+22447,
+22472,
+22493,
+22548,
+22564,
22581,
-22584,
-22587,
-22595,
-22607,
-22607,
-22614,
-22624,
-22650,
-22686,
-22699,
-22705,
-22718,
-22750,
-22753,
-22772,
-22782,
-22789,
-22825,
-22838,
-22890,
-22913,
-22916,
-22926,
-22932,
-22946,
+22601,
+22608,
+22611,
+22622,
+22622,
+22625,
+22632,
+22649,
+22675,
+22691,
+22698,
+22720,
+22736,
+22739,
+22742,
+22756,
+22785,
+22811,
+22864,
+22881,
+22921,
+22924,
+22950,
+22950,
+22966,
+22969,
22986,
-22986,
-23015,
-23050,
-23073,
-23076,
+23024,
+23043,
+23063,
+23063,
23079,
-23101,
-23132,
-23152,
-23211,
-23237,
-23240,
+23113,
+23124,
+23124,
+23135,
+23175,
+23175,
+23190,
+23190,
+23224,
+23238,
+23245,
+23252,
23259,
-23284,
-23287,
-23302,
-23308,
-23311,
-23311,
-23311,
-23318,
-23325,
-23339,
-23352,
-23369,
+23274,
+23283,
+23310,
+23310,
+23310,
+23310,
+23310,
+23310,
+23336,
+23349,
+23359,
+23359,
23380,
-23430,
-23437,
+23421,
+23447,
23457,
-23460,
-23466,
-23473,
+23471,
+23471,
+23484,
23516,
-23519,
-23522,
-23534,
-23549,
-23568,
-23589,
+23551,
+23569,
+23572,
+23575,
+23599,
23609,
-23631,
-23642,
-23645,
-23676,
-23683,
-23693,
-23696,
-23730,
-23746,
-23790,
-23807,
-23819,
-23840,
-23843,
-23843,
-23868,
-23885,
-23898,
-23905,
-23921,
-23921,
-23938,
-23979,
-23988,
-23994,
-24022,
-24029,
-24059,
-24059,
-24081,
-24100,
+23612,
+23635,
+23651,
+23680,
+23690,
+23714,
+23753,
+23777,
+23789,
+23849,
+23859,
+23872,
+23882,
+23892,
+23911,
+23931,
+23934,
+23937,
+23960,
+23970,
+23982,
+23998,
+24016,
+24053,
+24066,
+24090,
+24097,
24100,
-24107,
-24131,
-24150,
-24181,
-24181,
-24184,
-24187,
-24209,
-24239,
-24252,
-24265,
-24271,
-24274,
-24300,
-24305,
-24308,
-24311,
-24314,
-24330,
-24333,
-24333,
-24333,
-24336,
-24339,
+24110,
+24146,
+24165,
+24179,
+24186,
+24193,
+24196,
+24240,
+24253,
+24270,
+24280,
+24312,
+24329,
+24329,
+24342,
24345,
-24348,
-24351,
-24378,
-24384,
-24422,
-24435,
-24446,
-24467,
-24470,
-24473,
-24492,
-24505,
-24508,
-24508,
-24531,
-24551,
-24593,
+24354,
+24354,
+24370,
+24373,
+24394,
+24394,
+24405,
+24430,
+24440,
+24462,
+24465,
+24488,
+24502,
+24502,
+24526,
+24533,
+24542,
+24542,
+24559,
+24578,
+24585,
24617,
-24640,
-24652,
-24652,
-24668,
-24668,
-24668,
-24717,
-24748,
-24748,
-24766,
-24769,
-24775,
-24791,
-24791,
-24829,
-24829,
-24851,
-24861,
-24867,
-24913,
-24946,
+24617,
+24634,
+24648,
+24664,
+24690,
+24690,
+24690,
+24715,
+24715,
+24732,
+24757,
+24764,
+24779,
+24786,
+24786,
+24786,
+24793,
+24830,
+24852,
+24872,
+24872,
+24890,
+24903,
+24903,
+24910,
+24914,
+24921,
+24939,
24946,
-24965,
-24968,
-24968,
-24981,
-24981,
-24994,
-24994,
-25009,
-25012,
-25015,
-25026,
-25031,
-25043,
-25043,
-25056,
-25056,
-25056,
-25056,
-25062,
-25075,
-25099,
-25106,
-25118,
-25118,
-25118,
-25118,
-25126,
-25132,
-25183,
-25183,
-25200,
-25219,
-25225,
-25241,
-25247,
-25259,
-25274,
-25322,
-25322,
-25336,
-25336,
-25336,
-25360,
-25368,
-25368,
-25368,
-25374,
-25381,
-25387,
-25398,
-25417,
-25417,
-25417,
-25431,
-25466,
-25492,
-25500,
-25549,
-25569,
-25569,
-25590,
-25590,
-25597,
-25616,
-25622,
-25640,
-25640,
-25640,
-25655,
-25655,
-25671,
-25671,
-25691,
-25706,
-25706,
-25706,
-25738,
-25738,
-25746,
-25759,
-25759,
-25781,
-25781,
-25802,
-25815,
-25860,
-25860,
+24977,
+24986,
+25008,
+25022,
+25022,
+25032,
+25035,
+25047,
+25047,
+25073,
+25084,
+25111,
+25111,
+25137,
+25137,
+25137,
+25142,
+25142,
+25149,
+25156,
+25163,
+25177,
+25184,
+25197,
+25197,
+25235,
+25261,
+25267,
+25313,
+25333,
+25362,
+25362,
+25409,
+25409,
+25409,
+25409,
+25427,
+25427,
+25447,
+25447,
+25477,
+25483,
+25490,
+25504,
+25529,
+25536,
+25543,
+25550,
+25573,
+25580,
+25593,
+25612,
+25619,
+25637,
+25651,
+25651,
+25682,
+25703,
+25712,
+25712,
+25712,
+25719,
+25725,
+25725,
+25725,
+25745,
+25763,
+25783,
+25789,
+25809,
+25809,
+25823,
+25829,
+25829,
+25835,
+25847,
+25847,
25867,
-25877,
-25877,
-25877,
-25913,
-25913,
+25886,
+25886,
+25914,
+25914,
+25914,
+25914,
+25914,
+25920,
+25920,
+25927,
+25927,
25953,
-25980,
-26002,
-26013,
-26026,
-26026,
-26032,
-26032,
-26038,
-26050,
-26050,
-26059,
-26065,
-26071,
-26087,
-26122,
-26128,
+25961,
+25961,
+25973,
+25994,
+25994,
+26009,
+26009,
+26015,
+26015,
+26015,
+26037,
+26053,
+26089,
+26098,
+26104,
+26113,
+26118,
+26133,
+26133,
+26133,
26146,
-26164,
+26155,
+26155,
+26185,
26185,
-26212,
-26212,
-26229,
-26229,
-26236,
-26248,
-26266,
-26290,
-26311,
-26311,
-26311,
-26311,
-26321,
-26352,
-26365,
-26371,
-26371,
-26394,
-26403,
-26435,
-26435,
-26435,
-26435,
-26485,
-26516,
-26522,
-26528,
-26565,
-26565,
-26600,
+26202,
+26246,
+26246,
+26246,
+26261,
+26298,
+26298,
+26298,
+26298,
+26316,
+26331,
+26358,
+26367,
+26411,
+26411,
+26411,
+26444,
+26451,
+26458,
+26464,
+26464,
+26464,
+26464,
+26482,
+26482,
+26482,
+26512,
+26512,
+26512,
+26555,
+26555,
+26555,
+26555,
+26587,
+26587,
+26587,
+26587,
+26610,
+26610,
+26620,
26639,
-26649,
-26649,
-26649,
-26649,
-26700,
-26735,
-26745,
-26759,
-26778,
-26778,
-26801,
-26810,
-26810,
-26829,
-26836,
-26849,
-26849,
-26856,
-26856,
-26874,
-26883,
-26883,
-26883,
-26883,
-26899,
-26915,
-26915,
-26915,
-26915,
-26936,
-26951,
-26958,
-26958,
-26975,
-26994,
-27000,
-27010,
-27041,
-27066,
-27073,
+26657,
+26673,
+26688,
+26688,
+26723,
+26740,
+26749,
+26765,
+26807,
+26807,
+26877,
+26904,
+26904,
+26945,
+26962,
+26962,
+26982,
+26992,
+27013,
+27030,
+27060,
+27065,
+27104,
27110,
+27119,
+27125,
+27125,
+27125,
27150,
-27150,
-27168,
-27168,
-27175,
-27184,
-27184,
-27184,
-27196,
-27209,
-27224,
-27242,
-27242,
-27248,
-27248,
-27278,
-27298,
-27314,
-27320,
-27363,
-27371,
-27371,
-27393,
-27399,
-27399,
-27405,
-27405,
-27405,
-27411,
-27418,
-27425,
+27166,
+27166,
+27185,
+27185,
+27207,
+27246,
+27265,
+27265,
+27286,
+27294,
+27311,
+27331,
+27331,
+27331,
+27331,
+27331,
+27353,
+27353,
+27360,
+27378,
+27402,
+27419,
+27431,
27431,
27431,
-27455,
-27469,
-27475,
-27475,
-27475,
-27475,
-27475,
-27500,
-27500,
-27523,
-27523,
-27558,
-27574,
-27580,
+27437,
+27506,
+27514,
+27514,
+27514,
+27514,
+27514,
+27514,
+27530,
+27542,
+27550,
+27550,
+27550,
+27550,
+27550,
+27550,
+27585,
+27603,
+27603,
+27635,
+27635,
+27635,
+27642,
27650,
-27663,
-27679,
-27679,
-27733,
-27745,
-27754,
-27761,
-27774,
-27774,
-27782,
-27816,
-27854,
-27854,
-27875,
-27875,
-27875,
-27930,
-27947,
-27967,
-27967,
-27979,
-27986,
-28007,
+27686,
+27686,
+27686,
+27697,
+27717,
+27723,
+27766,
+27808,
+27815,
+27831,
+27831,
+27831,
+27850,
+27866,
+27866,
+27866,
+27866,
+27871,
+27871,
+27877,
+27899,
+27923,
+27948,
+27955,
+27955,
+27964,
+27990,
+27999,
28015,
-28036,
-28036,
-28060,
-28060,
-28078,
-28078,
-28078,
-28085,
-28085,
-28091,
-28105,
-28119,
-28119,
-28157,
-28157,
-28163,
-28175,
-28196,
-28196,
-28196,
-28230,
-28230,
-28230,
-28230,
-28256,
-28265,
-28265,
-28281,
-28281,
-28299,
-28310,
-28325,
-28325,
-28344,
-28353,
-28353,
-28389,
-28389,
-28389,
-28399,
-28421,
-28444,
-28444,
-28478,
-28525,
-28525,
-28549,
-28549,
-28579,
-28579,
-28594,
-28607,
-28621,
-28638,
+28023,
+28027,
+28052,
+28052,
+28052,
+28059,
+28059,
+28096,
+28096,
+28112,
+28112,
+28124,
+28124,
+28180,
+28180,
+28203,
+28203,
+28212,
+28212,
+28244,
+28279,
+28286,
+28298,
+28298,
+28317,
+28340,
+28340,
+28340,
+28385,
+28406,
+28438,
+28445,
+28462,
+28462,
+28462,
+28462,
+28462,
+28462,
+28488,
+28504,
+28520,
+28558,
+28558,
+28558,
+28563,
+28578,
+28578,
+28578,
+28584,
+28584,
+28584,
+28584,
+28584,
+28600,
+28600,
+28600,
+28600,
+28606,
+28611,
+28611,
+28631,
+28631,
+28655,
+28655,
+28664,
+28664,
+28668,
+28672,
+28672,
+28672,
28672,
-28679,
-28679,
-28679,
-28690,
-28738,
-28748,
-28748,
-28748,
-28748,
-28748,
-28769,
-28803,
-28810,
-28810,
-28819,
-28819,
-28819,
-28826,
-28853,
-28853,
-28853,
+28700,
+28708,
+28708,
+28730,
+28746,
+28758,
+28758,
+28776,
+28794,
+28801,
+28801,
+28801,
+28811,
+28811,
+28827,
+28834,
28860,
-28873,
-28898,
-28898,
-28913,
-28913,
-28913,
+28872,
+28887,
+28917,
28930,
-28930,
-28956,
-28981,
-29024,
-29024,
-29044,
-29044,
-29074,
-29085,
-29104,
-29117,
-29125,
-29125,
-29146,
-29153,
-29153,
-29160,
-29175,
-29189,
-29189,
-29214,
-29214,
-29214,
-29224,
-29224,
-29224,
-29234,
+28965,
+28983,
+28983,
+29018,
+29038,
+29051,
+29051,
+29082,
+29082,
+29136,
+29152,
+29172,
+29182,
+29198,
+29198,
+29205,
+29205,
+29219,
+29219,
+29219,
+29285,
29299,
-29318,
-29325,
-29325,
-29343,
-29400,
-29417,
-29417,
-29436,
-29436,
-29436,
-29436,
-29454,
+29305,
+29323,
+29323,
+29332,
+29355,
+29390,
+29396,
+29447,
+29447,
+29447,
29460,
29460,
-29478,
-29478,
-29478,
-29487,
-29487,
-29516,
-29516,
-29549,
-29559,
-29559,
-29576,
-29587,
-29609,
-29609,
-29630,
-29630,
-29644,
-29644,
-29644,
-29644,
-29664,
-29664,
-29686,
-29711,
-29734,
-29734,
-29741,
-29752,
-29752,
-29778,
-29798,
-29805,
-29819,
-29835,
-29842,
-29849,
-29866,
-29884,
-29891,
-29891,
+29472,
+29472,
+29484,
+29484,
+29484,
+29484,
+29502,
+29502,
+29529,
+29538,
+29538,
+29538,
+29538,
+29577,
+29589,
+29589,
+29605,
+29624,
+29624,
+29624,
+29624,
+29624,
+29624,
+29632,
+29641,
+29641,
+29650,
+29695,
+29702,
+29702,
+29714,
+29727,
+29737,
+29737,
+29737,
+29788,
+29802,
+29825,
+29825,
+29825,
+29832,
+29859,
+29876,
+29894,
+29894,
+29904,
+29904,
+29904,
+29904,
+29904,
29919,
-29943,
-29993,
-30000,
-30010,
-30016,
-30046,
-30069,
-30085,
-30085,
-30102,
-30124,
-30143,
-30150,
-30150,
-30169,
-30169,
-30216,
-30230,
-30256,
-30256,
-30265,
-30280,
-30304,
-30320,
-30324,
-30340,
-30354,
-30364,
-30382,
-30396,
-30396,
-30407,
-30457,
-30473,
-30490,
-30490,
-30490,
-30514,
-30514,
-30539,
-30562,
-30583,
-30615,
-30622,
-30622,
-30629,
-30638,
-30662,
-30662,
-30688,
-30712,
-30712,
-30721,
-30721,
-30721,
-30721,
-30721,
-30758,
-30792,
-30811,
-30811,
-30811,
-30843,
-30843,
-30876,
-30876,
-30876,
-30876,
-30889,
-30909,
-30923,
-30945,
-30945,
-30980,
-31031,
-31059,
-31078,
-31108,
-31125,
-31137,
-31174,
-31200,
-31200,
-31200,
-31200,
-31207,
-31237,
-31237,
+29929,
+29940,
+29940,
+29947,
+29967,
+29991,
+29991,
+29991,
+29998,
+30006,
+30006,
+30006,
+30026,
+30042,
+30042,
+30059,
+30067,
+30067,
+30090,
+30096,
+30115,
+30133,
+30133,
+30138,
+30144,
+30152,
+30152,
+30164,
+30164,
+30164,
+30164,
+30164,
+30178,
+30178,
+30211,
+30215,
+30255,
+30259,
+30267,
+30277,
+30283,
+30289,
+30289,
+30307,
+30327,
+30334,
+30334,
+30334,
+30353,
+30359,
+30375,
+30387,
+30387,
+30387,
+30413,
+30413,
+30422,
+30422,
+30422,
+30459,
+30477,
+30492,
+30519,
+30519,
+30567,
+30567,
+30575,
+30581,
+30618,
+30618,
+30618,
+30618,
+30635,
+30657,
+30665,
+30665,
+30685,
+30695,
+30717,
+30738,
+30757,
+30757,
+30780,
+30786,
+30786,
+30796,
+30834,
+30834,
+30834,
+30838,
+30864,
+30894,
+30913,
+30913,
+30913,
+30935,
+30935,
+30935,
+30965,
+30965,
+30993,
+31002,
+31002,
+31002,
+31014,
+31014,
+31040,
+31065,
+31075,
+31075,
+31109,
+31121,
+31121,
+31121,
+31136,
+31164,
+31164,
+31164,
+31179,
+31189,
+31189,
+31189,
+31189,
+31189,
+31202,
+31202,
+31202,
+31202,
+31219,
+31219,
+31225,
+31243,
+31259,
31259,
-31279,
-31307,
-31335,
-31378,
-31378,
-31378,
-31378,
-31397,
+31282,
+31282,
+31282,
+31290,
+31298,
+31313,
+31330,
+31338,
+31338,
+31338,
+31338,
+31338,
+31338,
+31338,
+31338,
+31353,
+31353,
+31353,
+31382,
+31390,
+31429,
31437,
-31443,
-31467,
-31467,
-31483,
-31527,
-31537,
-31548,
-31557,
-31564,
-31564,
-31589,
-31603,
-31647,
-31661,
-31677,
-31677,
-31690,
-31709,
-31709,
+31447,
+31447,
+31475,
+31499,
+31499,
+31521,
+31562,
+31562,
+31562,
+31595,
+31614,
+31631,
+31683,
+31707,
+31735,
+31735,
31762,
-31769,
31776,
-31799,
-31841,
-31841,
-31848,
-31869,
-31875,
-31875,
-31904,
-31904,
+31817,
+31828,
+31828,
+31838,
+31852,
+31870,
+31870,
+31870,
+31870,
+31879,
+31879,
+31879,
+31879,
+31895,
+31895,
+31895,
+31925,
31925,
-31939,
-31952,
-31984,
-31984,
-31984,
-32029,
-32029,
-32029,
-32045,
-32055,
-32086,
-32086,
-32124,
+31925,
+31925,
+31944,
+31944,
+31944,
+31944,
+31968,
+31968,
+31985,
+32000,
+32021,
+32032,
+32054,
+32065,
+32065,
+32076,
+32099,
+32099,
+32118,
+32126,
+32152,
32152,
32152,
-32159,
-32159,
-32184,
-32190,
-32211,
-32231,
-32231,
-32238,
-32261,
-32268,
-32284,
-32284,
-32284,
-32284,
-32300,
-32323,
-32351,
-32358,
-32396,
-32396,
-32396,
-32402,
-32402,
-32414,
-32414,
-32438,
-32449,
-32455,
-32483,
-32490,
-32510,
-32541,
-32548,
-32578,
-32585,
-32592,
-32592,
-32592,
-32616,
-32625,
-32641,
-32671,
-32681,
-32681,
-32688,
-32711,
-32737,
-32754,
-32761,
-32761,
-32777,
-32810,
-32817,
-32817,
-32817,
-32817,
-32817,
-32844,
-32867,
+32169,
+32169,
+32176,
+32235,
+32240,
+32240,
+32257,
+32257,
+32257,
+32288,
+32288,
+32288,
+32301,
+32301,
+32301,
+32301,
+32331,
+32331,
+32331,
+32331,
+32331,
+32331,
+32359,
+32359,
+32424,
+32440,
+32440,
+32468,
+32468,
+32488,
+32488,
+32509,
+32536,
+32558,
+32573,
+32573,
+32577,
+32597,
+32597,
+32609,
+32620,
+32634,
+32640,
+32640,
+32668,
+32679,
+32679,
+32687,
+32718,
+32718,
+32718,
+32718,
+32718,
+32738,
+32745,
+32760,
+32784,
+32848,
+32862,
+32894,
32901,
-32943,
-32956,
-32974,
-32983,
-33004,
-33004,
-33050,
-33066,
-33072,
-33072,
-33080,
-33080,
-33110,
-33110,
-33134,
-33157,
-33164,
-33200,
-33200,
-33207,
-33244,
-33244,
-33309,
-33316,
-33316,
-33316,
-33316,
-33316,
-33323,
-33341,
-33348,
-33361,
-33394,
-33394,
-33394,
-33394,
-33432,
-33442,
-33470,
-33470,
-33470,
-33487,
-33487,
-33487,
-33516,
-33548,
-33562,
-33562,
-33569,
-33584,
-33584,
-33584,
-33602,
-33621,
-33621,
+32901,
+32901,
+32908,
+32908,
+32915,
+32915,
+32919,
+32961,
+32993,
+33005,
+33005,
+33037,
+33044,
+33044,
+33051,
+33090,
+33097,
+33097,
+33116,
+33123,
+33123,
+33130,
+33138,
+33142,
+33168,
+33186,
+33193,
+33193,
+33216,
+33223,
+33223,
+33240,
+33268,
+33272,
+33272,
+33304,
+33311,
+33343,
+33343,
+33343,
+33362,
+33362,
+33372,
+33389,
+33389,
+33396,
+33396,
+33404,
+33404,
+33420,
+33420,
+33427,
+33435,
+33456,
+33456,
+33467,
+33536,
+33543,
+33547,
+33554,
+33576,
+33583,
+33606,
+33606,
+33613,
33629,
-33645,
-33645,
-33652,
-33652,
-33672,
-33691,
-33707,
-33714,
-33721,
-33721,
-33735,
-33766,
-33772,
-33772,
-33772,
-33779,
-33779,
-33824,
+33657,
+33664,
+33664,
+33664,
+33690,
+33699,
+33699,
+33730,
+33750,
+33762,
+33783,
+33826,
33844,
33844,
-33850,
-33867,
-33867,
-33874,
-33874,
-33874,
-33874,
-33901,
-33946,
-33960,
-33971,
-34019,
-34050,
-34077,
-34084,
-34103,
-34110,
-34121,
-34128,
-34157,
-34193,
-34193,
-34220,
-34259,
-34272,
-34272,
-34272,
-34279,
-34294,
-34300,
-34313,
-34318,
-34325,
-34333,
-34347,
-34354,
-34361,
-34368,
-34368,
-34368,
-34408,
-34433,
-34467,
-34504,
-34504,
-34547,
-34547,
-34554,
-34561,
-34561,
-34561,
-34582,
-34589,
-34611,
-34627,
-34637,
-34637,
-34637,
-34641,
+33868,
+33868,
+33903,
+33911,
+33911,
+33927,
+33945,
+33990,
+34010,
+34025,
+34025,
+34032,
+34051,
+34075,
+34095,
+34129,
+34129,
+34129,
+34129,
+34129,
+34136,
+34149,
+34173,
+34173,
+34186,
+34199,
+34206,
+34218,
+34218,
+34227,
+34227,
+34227,
+34227,
+34234,
+34234,
+34234,
+34241,
+34268,
+34275,
+34305,
+34326,
+34360,
+34367,
+34386,
+34397,
+34407,
+34407,
+34407,
+34407,
+34407,
+34461,
+34468,
+34496,
+34496,
+34505,
+34512,
+34566,
+34594,
+34594,
+34601,
+34606,
+34634,
+34634,
+34634,
+34634,
+34634,
+34634,
+34634,
+34653,
+34660,
+34660,
34666,
-34666,
-34683,
-34690,
-34690,
-34699,
-34699,
-34716,
-34749,
-34749,
-34756,
-34756,
-34756,
-34756,
-34777,
-34777,
-34777,
-34820,
-34827,
-34862,
-34874,
-34881,
-34881,
-34903,
-34903,
-34903,
-34920,
-34949,
-34949,
-34949,
-34949,
-34968,
-34968,
-35003,
-35003,
-35015,
-35039,
-35039,
-35081,
-35093,
+34686,
+34696,
+34703,
+34720,
+34720,
+34727,
+34744,
+34751,
+34758,
+34773,
+34794,
+34801,
+34808,
+34808,
+34828,
+34835,
+34852,
+34859,
+34876,
+34876,
+34885,
+34893,
+34905,
+34934,
+34941,
+34988,
+34988,
+34988,
+35033,
+35033,
+35033,
+35040,
+35058,
+35065,
+35073,
35093,
-35115,
-35115,
-35132,
-35132,
-35132,
-35132,
-35157,
-35226,
-35241,
-35248,
+35119,
+35137,
+35144,
+35171,
+35199,
+35206,
+35213,
+35253,
35266,
-35266,
-35273,
-35273,
35273,
35273,
-35299,
-35299,
-35306,
-35334,
+35312,
+35329,
+35336,
35365,
-35365,
-35406,
-35428,
-35428,
-35441,
-35474,
-35506,
-35506,
-35529,
-35529,
-35548,
-35555,
-35574,
-35574,
-35574,
-35595,
-35630,
-35644,
-35649,
-35698,
-35750,
-35750,
-35762,
-35762,
-35762,
-35798,
-35842,
-35849,
+35381,
+35399,
+35413,
+35420,
+35427,
+35427,
+35432,
+35442,
+35448,
+35455,
+35467,
+35517,
+35531,
+35538,
+35558,
+35571,
+35581,
+35606,
+35619,
+35645,
+35659,
+35666,
+35666,
+35681,
+35688,
+35719,
+35729,
+35736,
+35743,
+35761,
+35769,
+35828,
+35835,
+35859,
+35859,
+35866,
+35866,
35866,
-35878,
-35885,
-35892,
-35899,
-35899,
-35906,
-35906,
-35906,
-35923,
-35944,
-35951,
-35961,
-35978,
-35984,
-35992,
-36023,
-36060,
-36076,
-36085,
-36113,
-36144,
-36144,
-36159,
-36166,
-36166,
-36173,
-36173,
-36201,
-36201,
+35873,
+35921,
+35950,
+35965,
+35976,
+35976,
+35983,
+36007,
+36014,
+36021,
+36021,
+36021,
+36021,
+36021,
+36038,
+36038,
+36038,
+36053,
+36067,
+36082,
+36082,
+36082,
+36119,
+36155,
+36171,
+36171,
+36171,
+36184,
+36199,
+36206,
+36206,
36220,
-36227,
-36227,
-36227,
-36247,
-36263,
-36270,
-36270,
-36315,
-36315,
-36322,
-36330,
-36354,
-36408,
-36420,
-36420,
-36440,
-36454,
-36454,
-36454,
-36461,
-36474,
-36529,
-36569,
-36667,
-36674,
-36674,
-36700,
-36707,
-36707,
+36234,
+36242,
+36272,
+36282,
+36296,
+36296,
+36314,
+36321,
+36352,
+36359,
+36383,
+36391,
+36412,
+36419,
+36419,
+36434,
+36442,
+36449,
+36462,
+36469,
+36476,
+36492,
+36492,
+36512,
+36512,
+36567,
+36567,
+36588,
+36588,
+36588,
+36608,
+36650,
+36660,
+36670,
+36687,
+36694,
+36701,
36714,
-36721,
-36721,
-36731,
-36760,
-36781,
-36793,
-36800,
-36800,
-36847,
-36854,
-36868,
-36938,
-36945,
-36967,
-36967,
-36992,
-37008,
-37050,
-37050,
-37050,
-37068,
-37081,
-37088,
-37113,
-37145,
-37145,
-37145,
-37145,
-37165,
-37171,
-37171,
-37198,
-37198,
-37211,
-37239,
-37247,
-37298,
-37341,
-37341,
-37367,
-37400,
-37422,
-37458,
-37492,
-37530,
-37530,
-37530,
-37537,
-37551,
-37566,
-37592,
-37614,
-37614,
-37631,
-37638,
-37645,
-37652,
-37664,
-37702,
-37714,
-37721,
-37728,
-37740,
-37770,
-37770,
-37793,
-37809,
-37830,
-37830,
-37841,
-37841,
+36725,
+36732,
+36762,
+36777,
+36804,
+36804,
+36838,
+36855,
+36855,
+36903,
+36922,
+36943,
+36943,
+36949,
+36949,
+36969,
+36977,
+36977,
+36993,
+36993,
+37000,
+37023,
+37023,
+37030,
+37121,
+37137,
+37137,
+37153,
+37176,
+37183,
+37192,
+37209,
+37217,
+37248,
+37248,
+37248,
+37266,
+37286,
+37292,
+37292,
+37300,
+37339,
+37339,
+37355,
+37362,
+37379,
+37387,
+37403,
+37403,
+37403,
+37432,
+37432,
+37450,
+37450,
+37466,
+37481,
+37481,
+37481,
+37500,
+37540,
+37540,
+37540,
+37552,
+37569,
+37594,
+37594,
+37609,
+37628,
+37628,
+37661,
+37677,
+37677,
+37677,
+37717,
+37717,
+37717,
+37723,
+37754,
+37754,
+37799,
+37799,
+37810,
+37810,
+37825,
+37825,
+37825,
+37825,
+37845,
37867,
37867,
-37883,
-37890,
-37890,
-37910,
-37926,
-37942,
-37957,
-37991,
-38010,
-38010,
+37877,
+37892,
+37909,
+37909,
+37919,
+37919,
+37938,
+37959,
+37967,
+37972,
+37992,
+37992,
38026,
-38079,
-38086,
-38093,
-38112,
-38119,
-38136,
-38136,
-38155,
-38189,
-38210,
-38220,
-38248,
-38278,
-38278,
-38314,
-38339,
-38339,
-38354,
-38370,
-38385,
-38399,
-38417,
-38441,
-38469,
-38476,
-38483,
-38499,
-38499,
-38499,
-38521,
-38559,
+38035,
+38061,
+38061,
+38072,
+38083,
+38083,
+38099,
+38123,
+38146,
+38146,
+38158,
+38158,
+38182,
+38234,
+38255,
+38255,
+38310,
+38331,
+38331,
+38346,
+38346,
+38346,
+38353,
+38353,
+38353,
+38378,
+38378,
+38388,
+38408,
+38428,
+38428,
+38428,
+38428,
+38445,
+38453,
+38460,
+38460,
+38460,
+38493,
+38503,
+38525,
+38525,
+38532,
+38532,
+38546,
+38546,
+38569,
38599,
-38617,
-38624,
-38624,
-38660,
-38673,
-38688,
-38742,
-38774,
-38774,
-38799,
-38799,
-38830,
-38861,
-38861,
-38861,
-38861,
-38861,
-38890,
-38902,
-38909,
-38944,
+38618,
+38618,
+38618,
+38643,
+38643,
+38643,
+38691,
+38699,
+38717,
+38717,
+38729,
+38729,
+38733,
+38760,
+38760,
+38773,
+38801,
+38817,
+38824,
+38836,
+38843,
+38843,
+38843,
+38870,
+38880,
+38880,
+38887,
+38900,
+38907,
+38919,
+38919,
+38919,
+38949,
+38967,
+38984,
+38984,
+38984,
38989,
-39007,
-39045,
-39063,
-39089,
-39096,
-39109,
-39109,
-39114,
-39127,
-39162,
-39177,
-39177,
-39200,
-39218,
-39226,
-39226,
-39257,
+38989,
+39029,
+39036,
+39054,
+39080,
+39086,
+39103,
+39110,
+39130,
+39130,
+39130,
+39154,
+39154,
+39176,
+39176,
+39213,
+39213,
+39213,
+39225,
+39230,
+39249,
+39264,
+39264,
+39264,
+39284,
+39284,
39293,
39293,
-39324,
-39324,
-39352,
-39364,
-39364,
-39377,
-39395,
-39395,
-39413,
-39430,
-39459,
-39469,
-39469,
-39479,
-39479,
-39479,
-39503,
-39518,
-39528,
-39528,
-39528,
-39540,
-39565,
-39565,
-39581,
-39605,
-39622,
-39653,
-39670,
-39670,
-39670,
-39670,
-39683,
-39689,
-39708,
-39743,
-39743,
-39743,
-39743,
-39743,
-39750,
-39750,
-39750,
-39761,
-39761,
+39311,
+39311,
+39311,
+39320,
+39339,
+39345,
+39355,
+39369,
+39388,
+39399,
+39399,
+39399,
+39418,
+39418,
+39433,
+39451,
+39451,
+39458,
+39476,
+39481,
+39519,
+39519,
+39519,
+39519,
+39529,
+39567,
+39609,
+39624,
+39637,
+39637,
+39644,
+39644,
+39651,
+39679,
+39679,
+39679,
+39697,
+39709,
+39751,
+39751,
39777,
-39805,
-39845,
-39855,
-39855,
-39855,
-39855,
-39887,
-39887,
-39887,
-39887,
-39916,
-39916,
-39936,
-39943,
-39962,
-39962,
-39976,
-39976,
-40005,
-40011,
-40011,
-40011,
-40039,
-40051,
-40071,
-40087,
-40087,
-40087,
-40099,
-40099,
-40099,
-40148,
-40170,
-40170,
-40183,
-40183,
-40210,
-40210,
-40210,
-40210,
-40210,
-40221,
-40221,
-40221,
-40221,
-40243,
-40271,
-40271,
-40293,
-40309,
-40314,
-40329,
-40329,
-40354,
-40354,
-40354,
-40354,
-40373,
-40383,
-40383,
-40383,
-40383,
-40396,
-40404,
-40411,
-40417,
-40417,
-40417,
-40417,
-40424,
+39791,
+39817,
+39817,
+39835,
+39835,
+39844,
+39844,
+39851,
+39874,
+39878,
+39878,
+39888,
+39905,
+39905,
+39928,
+39928,
+39945,
+39952,
+39978,
+39978,
+39985,
+40029,
+40043,
+40043,
+40043,
+40053,
+40066,
+40094,
+40106,
+40129,
+40129,
+40151,
+40151,
+40151,
+40158,
+40182,
+40199,
+40232,
+40232,
+40232,
+40281,
+40288,
+40302,
+40302,
+40302,
+40302,
+40317,
+40317,
+40324,
+40324,
+40356,
+40356,
+40369,
+40384,
+40392,
+40392,
+40392,
+40413,
+40413,
+40455,
40462,
-40473,
-40473,
-40479,
-40479,
-40510,
-40539,
-40539,
-40539,
-40539,
-40539,
-40539,
-40539,
-40556,
-40556,
-40577,
-40588,
-40588,
-40588,
-40588,
-40597,
-40614,
-40623,
-40623,
-40623,
-40623,
-40635,
-40635,
-40635,
-40652,
-40652,
-40652,
-40663,
-40702,
-40724,
-40724,
-40724,
-40724,
-40724,
-40750,
-40750,
-40759,
-40781,
-40781,
-40791,
-40817,
-40817,
-40817,
-40817,
-40817,
-40840,
-40891,
-40891,
-40891,
-40936,
-40990,
-40997,
-41022,
-41071,
-41086,
-41086,
-41102,
-41110,
-41131,
-41157,
-41157,
-41198,
-41216,
-41216,
-41216,
-41235,
-41235,
-41235,
-41247,
-41273,
-41273,
-41273,
-41286,
-41286,
-41320,
-41351,
-41377,
-41403,
-41403,
-41416,
-41426,
-41426,
-41442,
-41458,
-41458,
-41458,
-41470,
-41470,
-41487,
-41498,
-41525,
-41525,
-41544,
-41550,
-41581,
-41598,
-41608,
-41645,
-41654,
-41687,
-41715,
-41715,
-41721,
-41763,
-41776,
-41800,
-41800,
-41800,
+40469,
+40483,
+40483,
+40483,
+40511,
+40511,
+40524,
+40524,
+40528,
+40546,
+40546,
+40568,
+40575,
+40582,
+40610,
+40629,
+40656,
+40656,
+40656,
+40679,
+40679,
+40679,
+40693,
+40713,
+40732,
+40754,
+40795,
+40795,
+40809,
+40816,
+40823,
+40851,
+40889,
+40908,
+40956,
+40970,
+41026,
+41040,
+41056,
+41063,
+41070,
+41077,
+41100,
+41108,
+41141,
+41148,
+41181,
+41197,
+41220,
+41241,
+41275,
+41291,
+41307,
+41307,
+41327,
+41334,
+41355,
+41369,
+41394,
+41401,
+41414,
+41430,
+41444,
+41494,
+41513,
+41513,
+41520,
+41529,
+41575,
+41589,
+41612,
+41634,
+41634,
+41652,
+41652,
+41664,
+41696,
+41703,
+41750,
+41772,
+41772,
+41793,
+41819,
41826,
-41853,
-41879,
-41879,
-41898,
-41908,
-41908,
-41908,
-41926,
-41926,
-41926,
-41943,
-41962,
-41972,
-41998,
-42013,
-42027,
-42027,
-42064,
-42064,
-42073,
-42073,
+41848,
+41855,
+41872,
+41884,
+41892,
+41892,
+41947,
+41947,
+41947,
+41971,
+41971,
+41971,
+41971,
+41977,
+41977,
+41984,
+42033,
+42051,
+42051,
+42066,
+42066,
+42066,
+42066,
42087,
-42101,
-42101,
-42138,
-42148,
-42185,
-42185,
-42208,
-42244,
-42284,
-42284,
-42311,
-42311,
-42321,
-42367,
-42367,
-42367,
-42413,
-42413,
-42427,
-42427,
-42447,
-42486,
-42486,
-42486,
-42509,
-42518,
-42556,
-42556,
-42556,
-42568,
-42586,
-42586,
-42586,
-42605,
-42605,
-42605,
+42102,
+42127,
+42134,
+42134,
+42155,
+42167,
+42186,
+42186,
+42186,
+42193,
+42215,
+42224,
+42242,
+42249,
+42262,
+42286,
+42303,
+42316,
+42340,
+42360,
+42392,
+42392,
+42399,
+42406,
+42433,
+42449,
+42449,
+42459,
+42485,
+42513,
+42530,
+42537,
+42537,
+42544,
+42576,
+42576,
+42583,
+42583,
+42590,
+42599,
42628,
-42638,
-42651,
-42651,
-42651,
-42660,
-42681,
-42731,
-42769,
-42769,
-42769,
-42794,
-42802,
-42831,
-42862,
-42862,
-42862,
-42862,
-42911,
-42911,
-42931,
-42946,
-42946,
-42977,
-42994,
-43024,
-43024,
-43024,
+42649,
+42649,
+42656,
+42697,
+42704,
+42720,
+42739,
+42739,
+42815,
+42815,
+42834,
+42834,
+42870,
+42892,
+42899,
+42899,
+42919,
+42939,
+42969,
+42969,
+42979,
+42979,
+42979,
+42990,
43030,
43030,
-43084,
-43116,
-43163,
-43163,
-43175,
-43175,
-43175,
-43175,
-43175,
-43175,
-43200,
-43206,
-43206,
-43217,
-43249,
-43249,
-43268,
-43268,
-43285,
-43285,
-43306,
-43306,
-43306,
-43306,
-43324,
-43342,
-43342,
-43361,
-43375,
-43375,
-43375,
-43391,
-43418,
-43424,
-43424,
-43436,
-43443,
-43443,
-43443,
-43473,
-43473,
-43473,
-43486,
-43486,
-43501,
-43501,
-43534,
-43552,
+43052,
+43052,
+43074,
+43102,
+43102,
+43102,
+43130,
+43147,
+43154,
+43172,
+43179,
+43199,
+43211,
+43215,
+43222,
+43222,
+43257,
+43284,
+43302,
+43352,
+43368,
+43368,
+43368,
+43381,
+43393,
+43423,
+43444,
+43487,
+43494,
+43523,
+43547,
43567,
-43583,
-43583,
-43599,
-43599,
-43621,
-43621,
-43630,
+43595,
+43612,
+43612,
+43619,
+43619,
+43640,
43646,
-43663,
-43663,
-43680,
-43680,
-43680,
-43692,
-43720,
-43753,
-43765,
-43778,
-43795,
-43795,
-43795,
-43811,
-43811,
-43811,
-43823,
-43879,
-43895,
+43664,
+43697,
+43717,
+43724,
+43724,
+43744,
+43767,
+43776,
+43781,
+43801,
+43801,
+43808,
+43808,
+43815,
+43822,
+43836,
+43850,
+43869,
+43888,
43895,
-43930,
-43930,
-43954,
-43954,
-43971,
-43971,
-43971,
-44004,
-44029,
-44038,
-44048,
-44060,
-44060,
-44060,
-44066,
-44075,
-44090,
-44100,
-44137,
-44157,
+43911,
+43943,
+43963,
+43963,
+43998,
+43998,
+44033,
+44033,
+44047,
+44064,
+44077,
+44077,
+44101,
+44112,
+44112,
+44112,
+44130,
+44130,
+44130,
+44155,
+44166,
44166,
-44175,
-44175,
-44180,
-44188,
-44210,
-44220,
-44220,
-44220,
-44220,
-44220,
-44220,
-44236,
-44246,
-44255,
-44279,
-44279,
-44302,
-44332,
-44332,
-44332,
-44352,
-44368,
-44391,
-44391,
-44391,
-44420,
-44420,
+44166,
+44184,
+44184,
+44268,
+44268,
+44291,
+44317,
+44326,
+44353,
+44353,
+44392,
+44408,
+44444,
+44444,
+44444,
44444,
-44479,
-44479,
-44497,
-44510,
-44510,
-44510,
-44510,
-44510,
-44510,
-44543,
-44550,
-44550,
-44557,
-44623,
-44623,
-44642,
-44642,
-44642,
-44679,
-44691,
-44774,
-44774,
-44774,
-44819,
-44836,
-44895,
-44895,
-44930,
-44945,
-44945,
-45013,
-45020,
-45083,
-45099,
-45111,
-45119,
-45129,
-45136,
-45148,
-45148,
-45148,
-45154,
-45171,
-45171,
-45171,
-45171,
-45171,
-45182,
-45182,
+44444,
+44451,
+44483,
+44502,
+44525,
+44525,
+44570,
+44606,
+44606,
+44658,
+44677,
+44677,
+44711,
+44711,
+44711,
+44711,
+44711,
+44742,
+44742,
+44742,
+44749,
+44763,
+44804,
+44804,
+44854,
+44866,
+44866,
+44884,
+44884,
+44894,
+44909,
+44916,
+44916,
+44923,
+44938,
+44958,
+44965,
+45004,
+45016,
+45030,
+45050,
+45060,
+45060,
+45066,
+45073,
+45077,
+45084,
+45105,
+45105,
+45105,
+45105,
+45105,
+45112,
+45112,
+45130,
+45139,
+45159,
+45166,
45208,
-45217,
-45255,
-45255,
-45274,
-45274,
-45274,
-45303,
-45309,
-45323,
+45223,
+45251,
+45258,
+45275,
+45291,
+45291,
+45310,
45323,
-45354,
-45363,
-45372,
-45372,
-45388,
-45421,
-45449,
-45463,
-45477,
-45504,
-45504,
-45521,
-45521,
-45537,
-45556,
-45556,
-45563,
-45569,
-45569,
-45569,
-45587,
-45593,
-45611,
-45616,
-45616,
-45628,
-45648,
-45692,
-45710,
-45740,
-45773,
-45787,
-45805,
-45811,
-45828,
-45828,
-45861,
-45875,
-45881,
-45881,
-45881,
-45891,
-45891,
-45908,
-45920,
-45920,
-45932,
-45932,
-45932,
-45932,
-45947,
-45966,
-45966,
-46003,
-46039,
-46045,
-46081,
-46087,
-46104,
-46133,
-46150,
-46165,
-46176,
-46176,
-46176,
-46176,
-46181,
-46187,
-46187,
-46187,
-46187,
-46196,
-46202,
-46202,
-46202,
-46213,
-46213,
-46218,
-46218,
-46235,
-46235,
-46235,
-46235,
+45351,
+45358,
+45368,
+45399,
+45413,
+45437,
+45437,
+45446,
+45473,
+45481,
+45488,
+45488,
+45488,
+45488,
+45501,
+45526,
+45544,
+45589,
+45612,
+45632,
+45632,
+45658,
+45672,
+45715,
+45721,
+45721,
+45727,
+45734,
+45759,
+45810,
+45838,
+45903,
+45915,
+45952,
+45959,
+45978,
+45991,
+45997,
+45997,
+45997,
+45997,
+46020,
+46020,
+46038,
+46070,
+46076,
+46076,
+46076,
+46093,
+46112,
+46135,
+46152,
+46152,
+46182,
+46182,
+46182,
+46182,
+46182,
+46182,
+46182,
+46182,
+46198,
+46222,
+46222,
+46229,
+46229,
46240,
-46302,
-46302,
-46324,
-46324,
-46324,
-46324,
-46324,
-46324,
-46324,
-46324,
-46344,
-46344,
-46356,
-46365,
-46365,
-46396,
-46396,
-46402,
-46430,
-46444,
-46467,
-46492,
-46492,
-46534,
-46563,
-46563,
-46584,
-46595,
-46605,
-46616,
-46616,
-46629,
-46629,
-46654,
-46660,
-46676,
-46676,
-46676,
-46682,
-46682,
-46682,
-46682,
-46711,
-46728,
-46728,
-46728,
-46728,
-46782,
-46797,
-46802,
-46818,
-46818,
-46824,
-46853,
-46853,
-46870,
-46876,
-46876,
-46928,
+46261,
+46273,
+46273,
+46288,
+46288,
+46288,
+46314,
+46314,
+46314,
+46327,
+46327,
+46327,
+46362,
+46377,
+46377,
+46383,
+46383,
+46383,
+46383,
+46391,
+46391,
+46400,
+46400,
+46400,
+46404,
+46433,
+46450,
+46475,
+46493,
+46515,
+46521,
+46521,
+46521,
+46546,
+46567,
+46567,
+46567,
+46582,
+46582,
+46582,
+46603,
+46603,
+46603,
+46620,
+46653,
+46653,
+46659,
+46690,
+46700,
+46700,
+46719,
+46736,
+46736,
+46763,
+46763,
+46763,
+46785,
+46785,
+46796,
+46811,
+46811,
+46819,
+46819,
+46819,
+46855,
+46855,
+46874,
+46874,
+46893,
+46911,
+46931,
+46931,
+46931,
+46941,
+46954,
46961,
-46981,
-46981,
-47023,
-47023,
-47023,
-47023,
-47075,
-47112,
-47134,
-47146,
-47162,
-47172,
-47172,
-47172,
-47177,
-47177,
-47177,
-47182,
-47193,
-47193,
-47214,
-47256,
-47278,
-47289,
-47338,
-47344,
-47344,
-47367,
-47367,
-47414,
-47423,
-47423,
+46967,
+46996,
+47009,
+47009,
+47046,
+47046,
+47046,
+47046,
+47046,
+47074,
+47093,
+47100,
+47121,
+47130,
+47168,
+47168,
+47168,
+47168,
+47168,
+47168,
+47209,
+47243,
+47282,
+47295,
+47295,
+47302,
+47336,
+47346,
+47346,
+47353,
+47353,
+47359,
+47366,
+47373,
+47380,
+47419,
47434,
-47451,
-47464,
-47464,
-47464,
-47464,
-47464,
-47479,
-47479,
-47520,
-47520,
-47533,
-47546,
-47552,
-47561,
-47573,
-47573,
-47573,
-47591,
-47591,
-47591,
-47591,
-47596,
-47609,
-47609,
-47620,
-47650,
-47650,
-47650,
+47441,
+47458,
+47486,
+47486,
+47486,
+47493,
+47512,
+47519,
+47519,
+47519,
+47519,
+47536,
+47550,
+47575,
+47601,
+47601,
+47612,
+47619,
+47643,
47655,
-47693,
-47708,
-47708,
-47732,
-47737,
-47742,
-47754,
-47768,
-47800,
-47818,
-47818,
-47829,
-47850,
-47850,
-47908,
-47908,
-47930,
-47936,
-47936,
-47978,
-47978,
-47983,
-48002,
-48012,
-48025,
-48025,
-48034,
-48049,
-48083,
-48093,
-48138,
-48138,
-48153,
-48182,
-48205,
-48205,
-48205,
-48212,
-48212,
-48212,
-48234,
-48234,
-48234,
+47655,
+47670,
+47670,
+47683,
+47690,
+47690,
+47727,
+47740,
+47747,
+47755,
+47771,
+47771,
+47806,
+47806,
+47813,
+47819,
+47819,
+47819,
+47826,
+47851,
+47858,
+47865,
+47890,
+47912,
+47918,
+47939,
+47955,
+47996,
+48029,
+48029,
+48029,
+48050,
+48050,
+48068,
+48092,
+48106,
+48106,
+48117,
+48117,
+48134,
+48134,
+48134,
+48134,
+48134,
+48134,
+48134,
+48134,
+48143,
+48158,
+48192,
+48199,
+48199,
+48206,
48234,
-48250,
-48264,
-48264,
-48280,
-48280,
-48295,
-48295,
-48295,
-48295,
-48319,
-48319,
-48319,
-48328,
-48328,
-48334,
-48356,
-48356,
-48362,
-48419,
-48469,
-48488,
-48494,
-48534,
-48534,
+48270,
+48277,
+48322,
+48337,
+48337,
+48337,
+48344,
+48351,
+48364,
+48371,
+48371,
+48378,
+48395,
+48402,
+48402,
+48402,
+48412,
+48421,
+48421,
+48445,
+48452,
+48452,
+48452,
+48482,
+48500,
+48542,
+48542,
48559,
-48569,
-48583,
-48604,
-48620,
-48670,
-48688,
-48688,
-48697,
-48710,
-48710,
-48710,
-48724,
-48751,
-48757,
-48770,
-48782,
-48797,
-48835,
-48835,
-48840,
-48886,
-48906,
+48579,
+48611,
+48611,
+48628,
+48651,
+48657,
+48657,
+48676,
+48676,
+48676,
+48676,
+48683,
+48689,
+48722,
+48729,
+48729,
+48736,
+48749,
+48765,
+48786,
+48802,
+48802,
+48802,
+48832,
+48853,
+48869,
+48888,
+48888,
+48895,
48922,
-48931,
-48931,
-48951,
-48951,
-48951,
-48962,
-48962,
-48969,
-49033,
-49033,
-49033,
-49074,
-49116,
+48922,
+48922,
+48922,
+48943,
+48943,
+48956,
+48973,
+48973,
+48986,
+48992,
+49006,
+49045,
+49064,
+49071,
+49080,
49116,
49123,
49130,
-49130,
-49164,
-49170,
-49187,
-49206,
-49215,
-49234,
+49137,
+49172,
+49193,
+49193,
+49193,
+49193,
+49210,
+49217,
+49224,
49261,
49261,
-49273,
-49324,
-49324,
-49357,
-49404,
-49404,
-49429,
-49448,
+49285,
+49310,
+49327,
+49343,
+49350,
+49371,
+49371,
+49378,
+49385,
+49392,
+49392,
+49428,
49448,
-49466,
-49472,
-49499,
-49499,
-49499,
-49543,
-49572,
-49579,
-49622,
-49632,
-49685,
-49724,
-49724,
-49724,
-49724,
-49724,
-49761,
-49769,
-49769,
-49797,
-49797,
-49832,
-49832,
-49832,
-49859,
-49859,
-49873,
-49884,
-49884,
-49920,
-49920,
-49931,
+49464,
+49512,
+49542,
+49549,
+49556,
+49562,
+49594,
+49623,
+49630,
+49674,
+49674,
+49699,
+49739,
+49752,
+49775,
+49775,
+49775,
+49793,
+49803,
+49819,
+49819,
+49819,
+49828,
+49846,
+49860,
+49860,
+49867,
+49888,
+49895,
+49909,
+49941,
49947,
-49961,
-49978,
-50008,
-50038,
-50038,
-50038,
-50060,
-50076,
-50089,
-50089,
-50089,
-50102,
-50130,
-50130,
-50146,
-50146,
-50146,
-50151,
-50159,
-50184,
-50206,
-50233,
-50250,
-50250,
+49947,
+50014,
+50030,
+50036,
+50036,
+50036,
+50049,
+50071,
+50097,
+50136,
+50143,
+50158,
+50158,
+50165,
+50165,
+50183,
+50196,
+50203,
+50203,
+50210,
+50237,
+50248,
50266,
-50274,
-50274,
-50274,
-50274,
-50287,
-50315,
-50315,
-50315,
-50327,
-50327,
-50334,
-50334,
-50366,
-50372,
-50402,
-50402,
-50434,
-50474,
-50494,
+50280,
+50293,
+50307,
+50307,
+50307,
+50307,
+50346,
+50359,
+50390,
+50412,
+50440,
+50440,
+50440,
+50446,
+50462,
+50462,
+50478,
+50486,
+50486,
50494,
-50510,
-50510,
-50510,
-50510,
-50510,
-50510,
-50515,
-50515,
-50536,
-50557,
-50578,
-50595,
-50595,
-50595,
-50620,
-50626,
-50626,
-50644,
-50656,
-50671,
-50671,
-50671,
-50695,
-50730,
-50730,
-50740,
-50746,
+50498,
+50552,
+50569,
+50569,
+50569,
+50569,
+50569,
+50569,
+50591,
+50604,
+50604,
+50611,
+50618,
+50642,
+50684,
+50720,
+50720,
50750,
-50765,
-50771,
-50771,
-50817,
+50754,
+50754,
+50784,
+50784,
50817,
-50828,
-50837,
-50837,
-50844,
-50844,
-50894,
-50894,
-50905,
-50905,
-50905,
-50944,
-50944,
-50944,
-50975,
-51011,
-51024,
-51024,
-51024,
-51042,
-51042,
-51042,
-51054,
-51054,
-51064,
-51073,
-51073,
-51073,
-51073,
-51073,
-51073,
-51098,
-51117,
-51117,
-51117,
-51137,
-51137,
-51137,
-51200,
-51221,
-51246,
-51246,
-51272,
-51307,
-51334,
-51334,
-51334,
-51334,
-51354,
-51354,
-51370,
-51377,
-51377,
-51415,
-51431,
-51431,
-51431,
-51450,
-51450,
-51456,
-51499,
-51517,
-51529,
-51550,
-51550,
-51558,
-51569,
-51569,
-51569,
-51569,
-51569,
-51569,
-51584,
-51584,
-51584,
-51598,
-51638,
-51638,
-51638,
-51671,
+50832,
+50858,
+50874,
+50874,
+50919,
+50955,
+50955,
+50962,
+50962,
+50992,
+51013,
+51013,
+51020,
+51046,
+51056,
+51115,
+51122,
+51152,
+51189,
+51189,
+51196,
+51203,
+51203,
+51217,
+51217,
+51217,
+51265,
+51304,
+51327,
+51347,
+51360,
+51371,
+51386,
+51386,
+51411,
+51452,
+51452,
+51452,
+51459,
+51484,
+51491,
+51491,
+51491,
+51491,
+51510,
+51510,
+51521,
+51565,
+51581,
+51588,
+51601,
+51620,
+51620,
+51635,
+51666,
51683,
-51710,
-51710,
-51731,
-51766,
-51775,
-51808,
-51829,
-51861,
-51861,
-51861,
-51877,
-51877,
-51889,
-51889,
-51889,
-51911,
-51946,
-51946,
-51966,
-51966,
-51966,
-51966,
+51690,
+51718,
+51718,
+51718,
+51757,
+51779,
+51779,
+51779,
+51779,
+51779,
+51779,
+51809,
+51814,
+51820,
+51842,
+51886,
+51900,
+51900,
+51900,
+51900,
+51900,
+51910,
+51927,
+51927,
+51945,
+51962,
+51968,
+51974,
+51974,
51980,
-51985,
-51997,
-51997,
-51997,
-51997,
-52004,
-52004,
-52004,
-52004,
-52017,
-52032,
-52032,
-52032,
-52063,
-52063,
-52076,
-52095,
-52107,
-52121,
-52121,
-52121,
-52121,
-52121,
-52121,
-52149,
-52184,
-52213,
-52213,
-52213,
-52213,
-52213,
-52213,
-52246,
-52257,
-52286,
-52286,
-52316,
-52316,
-52329,
-52329,
-52329,
-52365,
-52365,
-52365,
-52365,
-52372,
-52386,
-52386,
-52412,
+51980,
+51980,
+51980,
+52001,
+52011,
+52011,
+52025,
+52025,
+52025,
+52039,
+52071,
+52096,
+52096,
+52096,
+52096,
+52102,
+52119,
+52119,
+52119,
+52119,
+52125,
+52153,
+52164,
+52164,
+52164,
+52195,
+52207,
+52223,
+52255,
+52276,
+52276,
+52299,
+52305,
+52305,
+52320,
+52320,
+52359,
+52373,
+52389,
+52389,
+52396,
+52401,
+52401,
+52414,
+52414,
52420,
-52430,
-52430,
-52436,
-52436,
-52448,
-52454,
-52454,
-52454,
-52479,
-52497,
-52497,
-52512,
-52531,
-52531,
-52551,
-52571,
-52609,
-52609,
-52623,
-52623,
-52635,
-52656,
-52656,
-52668,
-52689,
-52689,
-52706,
-52706,
-52716,
-52716,
-52732,
-52749,
-52755,
-52772,
-52772,
-52772,
-52772,
-52801,
-52801,
-52830,
-52841,
-52841,
-52841,
-52864,
-52864,
-52864,
-52864,
-52864,
-52875,
-52885,
-52893,
-52914,
-52936,
+52432,
+52432,
+52432,
+52449,
+52449,
+52456,
+52466,
+52466,
+52471,
+52471,
+52478,
+52478,
+52478,
+52507,
+52507,
+52507,
+52519,
+52537,
+52537,
+52537,
+52537,
+52556,
+52569,
+52569,
+52569,
+52585,
+52594,
+52594,
+52631,
+52652,
+52680,
+52695,
+52710,
+52745,
+52745,
+52745,
+52758,
+52764,
+52778,
+52789,
+52805,
+52805,
+52821,
+52842,
+52855,
+52855,
+52896,
+52896,
+52928,
+52928,
+52941,
+52947,
+52947,
52960,
-52980,
-53001,
-53001,
-53001,
-53001,
-53001,
-53023,
-53039,
-53039,
-53039,
-53056,
-53069,
-53069,
-53127,
-53145,
-53162,
-53162,
-53183,
-53199,
-53230,
-53244,
-53251,
+52960,
+52990,
+53004,
+53014,
+53020,
+53020,
+53020,
+53020,
+53034,
+53073,
+53084,
+53084,
+53100,
+53100,
+53100,
+53115,
+53123,
+53148,
+53178,
+53188,
+53202,
+53202,
+53218,
+53218,
+53228,
53251,
-53269,
-53269,
-53284,
-53320,
-53326,
-53326,
-53359,
-53359,
-53377,
-53404,
-53404,
+53256,
+53262,
+53262,
+53262,
+53282,
+53299,
+53338,
+53358,
+53358,
+53431,
53436,
-53454,
-53471,
-53481,
-53498,
-53517,
-53517,
-53517,
+53436,
+53456,
+53504,
+53504,
53517,
-53536,
-53557,
-53603,
-53617,
-53617,
-53636,
-53663,
-53663,
-53682,
-53682,
-53702,
-53702,
-53702,
-53717,
-53717,
-53757,
-53769,
-53788,
-53788,
-53788,
-53788,
-53788,
-53809,
-53809,
-53823,
-53840,
-53840,
-53866,
-53907,
-53942,
+53531,
+53574,
+53583,
+53619,
+53631,
+53631,
+53631,
+53631,
+53640,
+53670,
+53670,
+53718,
+53718,
+53728,
+53733,
+53749,
+53774,
+53774,
+53811,
+53811,
+53822,
+53835,
+53842,
+53882,
+53903,
+53919,
+53932,
53942,
53942,
-53979,
-54003,
-54003,
-54024,
-54024,
-54024,
+53951,
+53978,
+54001,
+54015,
+54015,
+54015,
+54015,
54024,
54024,
-54043,
-54043,
-54059,
-54069,
-54110,
-54131,
-54142,
-54160,
-54177,
-54177,
-54177,
-54187,
-54187,
-54205,
-54212,
-54212,
-54244,
-54270,
+54031,
+54067,
+54081,
+54081,
+54081,
+54086,
+54086,
+54105,
+54132,
+54132,
+54132,
+54140,
+54140,
+54178,
+54178,
+54178,
+54192,
+54192,
+54209,
+54231,
+54258,
+54258,
54280,
-54292,
-54292,
-54292,
-54309,
-54309,
-54335,
-54335,
-54335,
-54343,
-54365,
+54287,
+54293,
+54308,
+54308,
+54315,
+54332,
+54332,
+54346,
54379,
54379,
-54414,
-54414,
-54414,
-54414,
-54414,
-54448,
-54448,
-54458,
-54490,
-54496,
-54513,
-54521,
-54583,
-54583,
-54603,
-54637,
-54658,
-54658,
-54666,
-54682,
-54691,
-54691,
-54726,
-54743,
-54784,
-54784,
-54794,
-54825,
-54825,
-54825,
-54839,
-54866,
-54866,
-54899,
-54899,
-54908,
-54908,
-54936,
-54936,
-54942,
-54942,
-54977,
-54977,
-54977,
-54977,
-54977,
-54977,
-54977,
-54977,
-54977,
+54421,
+54444,
+54467,
+54481,
+54481,
+54497,
+54529,
+54555,
+54555,
+54597,
+54614,
+54620,
+54635,
+54635,
+54635,
+54652,
+54664,
+54664,
+54724,
+54752,
+54752,
+54762,
+54778,
+54788,
+54788,
+54796,
+54835,
+54848,
+54848,
+54864,
+54914,
+54940,
+54940,
+54945,
+54957,
+54966,
+54966,
+54966,
+54966,
54988,
54988,
-54995,
-55056,
-55082,
-55082,
-55082,
-55092,
-55104,
-55128,
-55128,
-55148,
-55170,
-55170,
-55170,
-55210,
-55229,
-55251,
-55308,
-55308,
-55326,
-55336,
-55355,
-55355,
-55355,
-55355,
+54988,
+55008,
+55008,
+55008,
+55014,
+55014,
+55030,
+55044,
+55072,
+55072,
+55102,
+55102,
+55102,
+55130,
+55137,
+55137,
+55137,
+55137,
+55137,
+55156,
+55168,
+55168,
+55181,
+55226,
+55226,
+55233,
+55246,
+55246,
+55256,
+55256,
+55261,
+55261,
+55261,
+55282,
+55298,
+55314,
+55321,
+55330,
+55339,
+55339,
+55350,
55368,
-55375,
-55382,
-55382,
-55382,
-55389,
-55389,
-55389,
-55415,
-55425,
-55467,
-55467,
-55481,
-55492,
-55492,
-55492,
-55516,
-55516,
-55516,
-55529,
-55540,
-55540,
-55560,
-55560,
-55577,
-55577,
-55577,
-55584,
-55584,
-55602,
-55602,
-55602,
-55638,
-55638,
-55655,
-55655,
-55655,
-55655,
-55655,
-55672,
-55680,
-55680,
-55698,
-55715,
-55754,
-55762,
-55802,
-55802,
-55802,
-55808,
-55825,
-55825,
-55825,
-55865,
-55865,
-55865,
-55885,
-55891,
-55901,
-55901,
-55918,
-55945,
-55945,
-55971,
-55978,
-55991,
-56004,
-56011,
-56026,
-56026,
-56041,
-56049,
-56049,
-56071,
-56122,
-56122,
-56149,
-56149,
-56149,
-56169,
-56169,
-56181,
-56181,
-56181,
-56181,
-56181,
-56196,
-56196,
-56255,
-56281,
-56281,
-56299,
-56299,
-56336,
-56342,
-56342,
-56375,
-56381,
-56381,
-56381,
-56387,
-56410,
-56426,
-56426,
-56436,
-56436,
-56436,
-56457,
-56457,
-56457,
-56464,
-56464,
-56478,
-56490,
-56490,
-56490,
-56511,
-56511,
-56517,
-56531,
-56548,
-56548,
-56548,
-56554,
-56570,
-56593,
+55381,
+55401,
+55412,
+55412,
+55412,
+55412,
+55412,
+55430,
+55440,
+55461,
+55461,
+55474,
+55518,
+55537,
+55537,
+55553,
+55571,
+55571,
+55615,
+55622,
+55622,
+55622,
+55634,
+55650,
+55650,
+55685,
+55691,
+55691,
+55691,
+55697,
+55734,
+55734,
+55734,
+55801,
+55813,
+55844,
+55857,
+55863,
+55876,
+55890,
+55924,
+55942,
+55949,
+55970,
+55970,
+55970,
+55970,
+55990,
+56006,
+56006,
+56029,
+56038,
+56050,
+56057,
+56057,
+56073,
+56073,
+56073,
+56073,
+56073,
+56085,
+56085,
+56108,
+56108,
+56108,
+56141,
+56155,
+56168,
+56179,
+56186,
+56204,
+56245,
+56257,
+56257,
+56257,
+56274,
+56304,
+56341,
+56341,
+56341,
+56367,
+56405,
+56405,
+56405,
+56405,
+56443,
+56443,
+56463,
+56482,
+56492,
+56522,
+56539,
+56539,
+56539,
+56546,
+56553,
+56586,
56605,
-56619,
-56619,
-56638,
-56638,
-56638,
-56638,
-56650,
-56668,
-56685,
-56698,
-56698,
-56698,
-56709,
-56722,
-56739,
-56739,
-56755,
-56773,
-56812,
-56828,
-56834,
-56865,
-56865,
-56865,
-56865,
-56871,
-56893,
-56911,
-56937,
-56937,
-56937,
-56937,
-56976,
-56976,
-57000,
-57009,
-57027,
-57073,
-57073,
-57124,
-57124,
-57149,
-57190,
+56612,
+56631,
+56631,
+56631,
+56649,
+56649,
+56670,
+56684,
+56684,
+56733,
+56769,
+56769,
+56779,
+56807,
+56823,
+56839,
+56870,
+56870,
+56870,
+56870,
+56886,
+56886,
+56886,
+56886,
+56886,
+56908,
+56908,
+56964,
+56964,
+56970,
+56982,
+57001,
+57001,
+57001,
+57010,
+57032,
+57039,
+57039,
+57070,
+57080,
+57088,
+57095,
+57095,
+57112,
+57112,
+57131,
+57141,
+57161,
+57193,
+57193,
+57204,
+57221,
+57221,
57221,
-57243,
-57253,
-57279,
-57300,
-57300,
-57338,
-57338,
-57338,
-57347,
-57359,
-57380,
-57380,
-57380,
-57403,
-57409,
-57424,
-57433,
-57450,
-57472,
-57472,
-57480,
-57480,
-57480,
-57480,
-57491,
-57518,
-57518,
-57518,
-57533,
-57533,
-57533,
-57533,
-57553,
-57553,
-57553,
-57588,
-57595,
-57610,
-57619,
-57619,
-57661,
-57691,
-57691,
-57691,
-57691,
-57707,
-57713,
-57731,
-57731,
-57750,
-57750,
+57221,
+57221,
+57231,
+57241,
+57271,
+57298,
+57310,
+57321,
+57321,
+57321,
+57336,
+57336,
+57342,
+57349,
+57349,
+57349,
+57349,
+57349,
+57349,
+57366,
+57397,
+57406,
+57437,
+57437,
+57456,
+57511,
+57527,
+57548,
+57564,
+57564,
+57564,
+57586,
+57586,
+57611,
+57627,
+57649,
+57656,
+57708,
+57708,
+57708,
+57708,
+57728,
+57728,
+57747,
+57747,
+57747,
57756,
-57791,
-57791,
-57791,
-57791,
-57791,
-57805,
-57829,
-57867,
-57867,
-57867,
-57873,
-57893,
-57912,
-57912,
-57948,
-57948,
-57973,
-57979,
-57979,
-57979,
-57990,
-58009,
+57772,
+57784,
+57784,
+57784,
+57806,
+57854,
+57861,
+57876,
+57882,
+57882,
+57882,
+57890,
+57911,
+57911,
+57911,
+57918,
+57918,
+57936,
+57936,
+57936,
+57936,
+57942,
+57942,
+57942,
+57942,
+57947,
+57947,
+57947,
+57954,
+57954,
+57978,
+57978,
+58000,
+58006,
+58013,
+58013,
+58013,
58027,
-58039,
-58056,
-58056,
-58080,
-58080,
-58080,
-58115,
-58115,
-58115,
-58115,
-58122,
-58122,
-58122,
-58122,
-58122,
-58153,
-58168,
-58175,
-58175,
-58188,
-58212,
-58237,
-58237,
-58237,
-58275,
-58275,
-58275,
-58275,
-58313,
-58322,
-58343,
-58352,
-58379,
-58379,
-58388,
-58401,
-58418,
-58430,
-58444,
-58469,
-58479,
-58484,
-58503,
-58521,
-58545,
-58572,
-58582,
-58597,
-58630,
-58630,
-58637,
-58654,
-58654,
-58690,
-58690,
+58076,
+58093,
+58093,
+58093,
+58099,
+58099,
+58107,
+58118,
+58158,
+58158,
+58173,
+58181,
+58187,
+58194,
+58194,
+58215,
+58240,
+58240,
+58240,
+58240,
+58256,
+58256,
+58256,
+58263,
+58282,
+58290,
+58290,
+58312,
+58312,
+58312,
+58317,
+58317,
+58317,
+58333,
+58345,
+58345,
+58361,
+58361,
+58387,
+58414,
+58438,
+58446,
+58467,
+58467,
+58482,
+58482,
+58512,
+58512,
+58512,
+58520,
+58542,
+58569,
+58598,
+58607,
+58626,
+58647,
+58666,
+58688,
+58688,
+58688,
58697,
-58707,
-58713,
-58713,
-58713,
-58730,
-58730,
-58730,
-58763,
-58817,
-58817,
-58817,
-58817,
-58838,
-58838,
-58838,
+58703,
+58703,
+58703,
+58703,
+58721,
+58742,
+58794,
+58829,
+58847,
+58866,
58866,
-58902,
-58902,
-58902,
-58911,
-58911,
-58930,
-58930,
-58960,
-58960,
-58988,
-59006,
-59043,
-59061,
-59061,
-59097,
-59122,
-59122,
-59122,
-59122,
-59122,
-59122,
-59122,
-59122,
-59151,
-59167,
-59187,
-59204,
-59212,
-59222,
-59222,
-59222,
-59238,
-59266,
-59285,
-59300,
-59315,
-59315,
-59315,
-59330,
-59343,
-59375,
-59375,
-59395,
-59413,
-59428,
-59428,
-59428,
-59456,
+58874,
+58880,
+58880,
+58887,
+58887,
+58900,
+58900,
+58900,
+58928,
+58945,
+58945,
+58963,
+58963,
+58963,
+58985,
+58985,
+58991,
+59011,
+59062,
+59062,
+59062,
+59062,
+59062,
+59062,
+59095,
+59115,
+59138,
+59138,
+59138,
+59155,
+59166,
+59166,
+59202,
+59202,
+59202,
+59211,
+59218,
+59224,
+59224,
+59224,
+59242,
+59242,
+59268,
+59268,
+59308,
+59314,
+59326,
+59326,
+59340,
+59340,
+59345,
+59368,
+59373,
+59373,
+59412,
+59412,
+59435,
+59435,
+59435,
+59435,
+59455,
59466,
-59486,
-59508,
-59508,
+59466,
+59466,
+59481,
+59481,
+59481,
+59481,
+59500,
+59517,
59517,
-59524,
-59542,
-59542,
-59549,
59549,
-59557,
-59571,
-59587,
-59587,
-59642,
-59668,
-59679,
-59679,
+59555,
+59555,
+59555,
+59568,
+59595,
+59615,
+59631,
+59631,
+59631,
+59631,
+59641,
+59641,
+59654,
+59678,
+59678,
59694,
-59734,
-59744,
-59758,
-59771,
-59771,
-59786,
-59793,
-59802,
-59820,
-59831,
-59870,
-59896,
-59896,
-59917,
-59932,
-59932,
+59700,
+59700,
+59700,
+59700,
+59700,
+59714,
+59721,
+59721,
+59740,
+59749,
+59765,
+59765,
+59784,
+59784,
+59822,
+59822,
+59867,
+59878,
+59890,
+59890,
+59925,
+59925,
+59925,
+59925,
+59925,
59942,
59942,
-59962,
-59969,
-59969,
-60007,
-60038,
-60050,
-60057,
-60064,
-60102,
-60102,
-60109,
-60116,
-60132,
-60146,
-60165,
+59964,
+59964,
+59964,
+59978,
+59985,
+59997,
+60010,
+60010,
+60055,
+60091,
+60101,
+60101,
+60108,
+60114,
+60139,
+60139,
+60139,
+60156,
+60156,
+60156,
+60163,
+60163,
+60169,
+60175,
60181,
-60201,
-60201,
-60208,
-60224,
-60245,
-60328,
-60328,
-60335,
-60342,
-60349,
-60349,
-60401,
-60401,
-60401,
-60436,
-60467,
-60467,
-60474,
-60497,
-60504,
-60545,
-60545,
-60569,
-60592,
-60632,
-60638,
-60645,
-60654,
-60654,
-60654,
-60684,
-60684,
-60701,
-60701,
-60718,
-60744,
-60751,
-60751,
-60751,
-60751,
-60776,
-60792,
-60799,
-60799,
-60806,
-60806,
-60845,
-60872,
-60890,
-60890,
-60930,
-60930,
-60930,
-60930,
-60930,
-60948,
+60181,
+60181,
+60187,
+60195,
+60215,
+60215,
+60215,
+60215,
+60234,
+60234,
+60234,
+60244,
+60284,
+60290,
+60305,
+60305,
+60317,
+60380,
+60388,
+60388,
+60393,
+60400,
+60400,
+60400,
+60400,
+60407,
+60407,
+60407,
+60407,
+60431,
+60450,
+60460,
+60512,
+60522,
+60532,
+60532,
+60552,
+60560,
+60560,
+60560,
+60594,
+60594,
+60607,
+60615,
+60615,
+60615,
+60628,
+60628,
+60649,
+60655,
+60663,
+60675,
+60697,
+60713,
+60731,
+60747,
+60754,
+60761,
+60761,
+60778,
+60778,
+60778,
+60778,
+60782,
+60793,
+60811,
+60811,
+60848,
+60874,
+60904,
+60904,
+60910,
+60929,
+60944,
+60959,
+60977,
+60984,
+60992,
60992,
-61000,
-61000,
-61017,
-61017,
-61044,
+61013,
+61019,
+61045,
+61045,
+61049,
61061,
-61087,
-61107,
-61107,
-61107,
-61107,
-61123,
-61123,
-61142,
-61142,
-61142,
-61184,
-61207,
-61227,
-61227,
-61276,
-61283,
-61290,
-61313,
-61342,
-61376,
-61383,
-61383,
-61390,
-61390,
-61415,
+61061,
+61061,
+61061,
+61069,
+61089,
+61115,
+61138,
+61148,
+61165,
+61182,
+61203,
+61241,
+61295,
+61295,
+61295,
+61295,
+61308,
+61335,
+61335,
+61335,
+61335,
+61358,
+61406,
+61410,
+61410,
+61418,
+61418,
+61418,
+61418,
61424,
-61449,
-61461,
-61461,
-61495,
-61495,
-61502,
-61502,
-61548,
-61548,
-61548,
-61570,
-61602,
-61619,
-61628,
-61628,
-61628,
-61659,
-61673,
-61680,
-61706,
-61729,
-61753,
-61753,
-61753,
-61753,
-61763,
-61796,
-61796,
-61813,
-61820,
-61820,
-61845,
-61852,
-61877,
-61884,
-61904,
-61912,
-61912,
-61912,
-61949,
+61424,
+61424,
+61424,
+61438,
+61452,
+61497,
+61505,
+61505,
+61529,
+61554,
+61575,
+61581,
+61581,
+61615,
+61623,
+61663,
+61663,
+61677,
+61677,
+61686,
+61686,
+61698,
+61698,
+61698,
+61705,
+61705,
+61705,
+61705,
+61714,
+61714,
+61745,
+61755,
+61761,
+61779,
+61807,
+61807,
+61817,
+61817,
+61855,
+61872,
+61872,
+61872,
+61872,
+61872,
+61872,
+61878,
+61905,
+61905,
+61905,
+61905,
+61930,
+61943,
+61943,
61949,
-61961,
-61961,
-61968,
-61968,
-61968,
-61968,
-62014,
-62026,
-62047,
-62068,
-62075,
-62075,
-62082,
-62089,
-62099,
-62128,
-62155,
-62184,
-62184,
-62213,
-62220,
-62245,
-62274,
-62318,
-62338,
-62359,
-62359,
-62359,
-62388,
-62408,
-62415,
-62415,
-62421,
-62421,
-62429,
-62440,
-62440,
-62470,
-62470,
-62470,
-62494,
-62535,
-62542,
-62549,
-62556,
-62564,
-62571,
-62578,
-62611,
-62618,
-62645,
-62655,
-62667,
-62676,
-62701,
-62720,
-62720,
-62727,
-62752,
-62759,
-62766,
-62782,
-62794,
-62794,
-62804,
-62804,
-62814,
-62831,
-62839,
-62846,
-62852,
-62886,
-62886,
-62900,
-62910,
-62929,
-62943,
-62950,
-62972,
-62985,
-62985,
-62985,
-62998,
-63014,
-63041,
-63067,
-63067,
-63085,
-63101,
-63108,
-63108,
-63115,
-63135,
-63135,
-63142,
-63149,
-63149,
-63156,
-63173,
-63173,
-63180,
-63212,
-63219,
-63236,
-63236,
-63247,
-63298,
-63310,
-63343,
-63343,
-63343,
-63356,
-63356,
-63374,
-63374,
-63374,
-63374,
-63381,
-63401,
-63421,
-63436,
-63459,
-63459,
-63500,
-63506,
-63516,
-63528,
-63551,
-63551,
-63567,
-63615,
+61970,
+61982,
+61982,
+61982,
+61982,
+61993,
+61993,
+62005,
+62036,
+62036,
+62055,
+62076,
+62076,
+62091,
+62124,
+62134,
+62134,
+62140,
+62161,
+62181,
+62193,
+62236,
+62243,
+62261,
+62261,
+62297,
+62297,
+62308,
+62317,
+62317,
+62331,
+62356,
+62356,
+62417,
+62452,
+62452,
+62452,
+62467,
+62467,
+62467,
+62477,
+62477,
+62486,
+62486,
+62510,
+62510,
+62518,
+62548,
+62548,
+62567,
+62567,
+62567,
+62580,
+62580,
+62580,
+62586,
+62593,
+62613,
+62613,
+62628,
+62669,
+62697,
+62697,
+62697,
+62697,
+62697,
+62718,
+62718,
+62718,
+62718,
+62718,
+62741,
+62771,
+62797,
+62827,
+62847,
+62847,
+62847,
+62847,
+62901,
+62901,
+62901,
+62901,
+62901,
+62915,
+62915,
+62926,
+62940,
+62940,
+62940,
+62948,
+62954,
+62954,
+62960,
+62975,
+62975,
+62987,
+63007,
+63007,
+63044,
+63044,
+63065,
+63065,
+63081,
+63081,
+63100,
+63120,
+63133,
+63150,
+63150,
+63167,
+63167,
+63187,
+63227,
+63227,
+63227,
+63227,
+63227,
+63227,
+63256,
+63273,
+63277,
+63291,
+63297,
+63297,
+63297,
+63297,
+63315,
+63351,
+63368,
+63397,
+63397,
+63397,
+63397,
+63409,
+63437,
+63437,
+63437,
+63444,
+63444,
+63444,
+63489,
+63522,
+63522,
+63522,
+63538,
+63554,
+63554,
+63554,
+63569,
+63576,
+63576,
+63606,
63615,
-63651,
-63679,
-63693,
-63700,
-63734,
-63734,
-63748,
-63763,
-63763,
-63763,
-63775,
-63815,
-63861,
-63884,
-63884,
-63899,
-63907,
-63943,
-63943,
-63950,
-63950,
-63964,
-63964,
-63964,
-63996,
-64003,
-64012,
-64012,
-64106,
-64124,
-64131,
-64131,
-64138,
-64158,
-64158,
-64177,
-64208,
-64208,
-64220,
-64220,
-64220,
-64235,
-64243,
-64258,
-64258,
-64280,
-64290,
-64301,
-64321,
-64334,
-64341,
-64357,
-64400,
-64400,
-64407,
-64407,
-64414,
-64414,
-64433,
-64454,
-64472,
-64502,
-64523,
-64523,
-64582,
-64589,
-64589,
-64619,
-64619,
-64619,
-64619,
-64638,
-64638,
-64638,
-64648,
-64660,
-64660,
-64676,
-64676,
-64695,
-64705,
-64705,
-64732,
-64732,
-64732,
-64738,
-64764,
-64774,
-64787,
-64830,
-64854,
-64888,
-64893,
-64902,
-64938,
-64967,
-64997,
-64997,
-65015,
-65046,
-65072,
-65072,
-65097,
-65110,
-65110,
-65110,
-65110,
-65110,
-65110,
-65122,
-65122,
-65122,
-65129,
-65170,
-65187,
-65187,
-65210,
-65228,
-65235,
-65251,
-65259,
-65259,
-65259,
-65274,
-65274,
-65287,
-65307,
-65323,
-65323,
-65323,
+63626,
+63646,
+63670,
+63670,
+63670,
+63696,
+63710,
+63730,
+63742,
+63757,
+63766,
+63792,
+63807,
+63807,
+63828,
+63849,
+63849,
+63856,
+63876,
+63910,
+63928,
+63945,
+63961,
+63961,
+63982,
+64042,
+64050,
+64066,
+64071,
+64089,
+64099,
+64099,
+64129,
+64150,
+64150,
+64168,
+64168,
+64168,
+64168,
+64168,
+64214,
+64231,
+64241,
+64241,
+64250,
+64294,
+64294,
+64294,
+64326,
+64355,
+64366,
+64386,
+64386,
+64386,
+64408,
+64408,
+64426,
+64458,
+64458,
+64492,
+64492,
+64498,
+64537,
+64555,
+64573,
+64573,
+64622,
+64642,
+64651,
+64651,
+64659,
+64659,
+64683,
+64683,
+64683,
+64718,
+64718,
+64735,
+64735,
+64741,
+64741,
+64745,
+64745,
+64771,
+64771,
+64771,
+64771,
+64792,
+64800,
+64825,
+64825,
+64825,
+64850,
+64868,
+64868,
+64886,
+64886,
+64897,
+64897,
+64904,
+64909,
+64945,
+64945,
+64965,
+64982,
+65005,
+65005,
+65044,
+65068,
+65082,
+65090,
+65090,
+65113,
+65125,
+65134,
+65151,
+65172,
+65184,
+65211,
+65211,
+65221,
+65277,
+65284,
+65290,
+65290,
+65290,
+65290,
+65301,
65362,
-65384,
-65384,
-65400,
-65400,
+65380,
+65380,
65400,
-65400,
-65423,
-65430,
-65457,
-65457,
-65457,
-65476,
-65476,
-65476,
-65476,
-65486,
-65486,
-65521,
-65550,
-65550,
-65550,
-65584,
-65584,
-65584,
-65584,
-65584,
-65601,
-65621,
-65631,
-65672,
-65692,
-65719,
-65719,
+65411,
+65437,
+65437,
+65437,
+65450,
+65458,
+65458,
+65458,
+65458,
+65483,
+65483,
+65496,
+65496,
+65528,
+65542,
+65568,
+65568,
+65578,
+65578,
+65578,
+65610,
+65610,
+65618,
+65641,
+65664,
+65664,
+65664,
+65664,
+65693,
+65693,
+65693,
+65716,
65743,
-65766,
-65766,
-65782,
-65788,
-65828,
-65854,
+65760,
+65760,
+65760,
+65767,
+65771,
+65781,
+65811,
+65816,
+65836,
+65836,
+65857,
65868,
-65877,
-65897,
-65909,
-65936,
-65936,
-65948,
-65948,
-65968,
-65989,
+65880,
+65880,
+65880,
+65886,
+65904,
+65904,
+65919,
+65919,
+65947,
+65951,
+65958,
+65962,
+65972,
65989,
65989,
65989,
-66016,
-66016,
-66032,
-66039,
-66039,
-66039,
-66055,
-66066,
-66098,
-66114,
-66140,
-66140,
-66174,
-66174,
-66174,
-66220,
-66249,
-66249,
-66249,
-66249,
-66268,
-66276,
-66295,
-66314,
-66322,
-66343,
-66343,
-66343,
-66395,
-66395,
-66413,
-66413,
-66422,
-66430,
-66430,
-66449,
-66449,
-66460,
+65993,
+66011,
+66011,
+66036,
+66073,
+66073,
+66079,
+66095,
+66095,
+66124,
+66136,
+66136,
+66154,
+66172,
+66176,
+66176,
+66185,
+66185,
+66185,
+66198,
+66198,
+66236,
+66250,
+66255,
+66277,
+66277,
+66277,
+66291,
+66313,
+66332,
+66352,
+66352,
+66356,
+66378,
+66384,
+66384,
+66399,
+66399,
+66434,
+66444,
+66444,
+66444,
66486,
-66492,
-66492,
-66492,
-66492,
-66492,
-66492,
-66510,
-66510,
-66519,
-66530,
-66563,
-66563,
-66573,
-66573,
-66573,
-66612,
-66612,
-66612,
-66625,
-66625,
-66642,
-66642,
-66642,
-66658,
+66501,
+66546,
+66556,
+66589,
+66589,
+66589,
+66596,
+66596,
+66607,
+66618,
+66644,
66672,
66672,
-66680,
-66715,
-66724,
-66724,
-66740,
-66745,
-66753,
-66769,
-66802,
-66802,
-66802,
-66802,
-66829,
-66843,
-66858,
-66875,
-66893,
-66893,
+66672,
+66686,
+66686,
+66705,
+66705,
+66705,
+66723,
+66733,
+66733,
+66741,
+66764,
+66785,
+66810,
+66810,
+66841,
+66841,
+66841,
+66849,
+66857,
+66857,
+66857,
+66867,
+66885,
+66885,
66893,
-66933,
-66933,
-66945,
-66945,
-66945,
-66945,
-66956,
-66976,
-66976,
-66976,
-66985,
-67003,
-67003,
-67010,
-67031,
-67031,
-67051,
+66899,
+66919,
+66927,
+66944,
+66954,
+66954,
+66961,
+66993,
+66993,
+67008,
+67022,
67064,
-67083,
-67091,
-67116,
-67116,
-67141,
-67190,
-67220,
-67220,
-67220,
-67233,
-67241,
-67241,
-67275,
-67281,
-67292,
-67302,
-67302,
-67315,
-67379,
-67395,
-67405,
-67421,
-67421,
-67475,
+67068,
+67089,
+67089,
+67093,
+67106,
+67106,
+67121,
+67121,
+67125,
+67136,
+67145,
+67145,
+67161,
+67161,
+67161,
+67191,
+67191,
+67191,
+67200,
+67200,
+67209,
+67209,
+67209,
+67209,
+67223,
+67223,
+67223,
+67223,
+67223,
+67223,
+67223,
+67237,
+67237,
+67287,
+67287,
+67294,
+67294,
+67294,
+67294,
+67294,
+67312,
+67338,
+67338,
+67338,
+67354,
+67376,
+67387,
+67392,
+67407,
+67407,
+67432,
+67472,
67483,
67526,
67526,
-67546,
-67546,
-67546,
-67571,
-67579,
-67637,
+67584,
+67605,
+67625,
+67633,
+67649,
+67659,
67659,
-67676,
-67676,
-67676,
-67705,
-67723,
-67739,
-67739,
-67777,
-67792,
-67792,
-67811,
-67811,
-67819,
-67860,
-67876,
-67876,
-67899,
-67915,
-67955,
-67955,
+67659,
+67659,
+67675,
+67712,
+67746,
+67764,
+67764,
+67795,
+67795,
+67799,
+67808,
+67808,
+67817,
+67829,
+67829,
+67836,
+67856,
+67874,
+67874,
+67884,
+67907,
+67907,
+67912,
+67912,
+67936,
+67936,
+67951,
67969,
-67979,
-67991,
-67991,
-67991,
-68006,
-68020,
-68020,
-68020,
-68045,
-68057,
-68072,
+67975,
+67984,
+67984,
+67984,
+67984,
+67984,
+68010,
+68010,
+68016,
+68037,
+68044,
+68044,
+68053,
68072,
-68086,
-68097,
-68113,
-68120,
-68129,
-68136,
-68155,
-68170,
-68170,
-68195,
-68241,
-68258,
-68287,
-68313,
-68325,
-68342,
-68384,
-68416,
+68078,
+68078,
+68078,
+68078,
+68078,
+68078,
+68091,
+68091,
+68091,
+68100,
+68100,
+68110,
+68117,
+68125,
+68125,
+68125,
+68157,
+68157,
+68157,
+68173,
+68173,
+68218,
+68218,
+68248,
+68288,
+68288,
+68288,
+68310,
+68310,
+68343,
+68343,
+68382,
+68402,
+68402,
68427,
+68450,
68461,
-68461,
-68476,
-68498,
-68498,
-68506,
-68513,
-68533,
-68546,
-68563,
-68563,
-68581,
-68621,
+68468,
+68493,
+68542,
+68542,
+68573,
+68591,
+68591,
+68591,
+68598,
+68616,
+68634,
+68634,
68634,
-68657,
-68657,
-68657,
-68676,
-68707,
-68726,
-68739,
-68753,
-68753,
-68753,
-68753,
-68765,
-68798,
+68634,
+68634,
+68663,
+68682,
+68695,
+68711,
+68733,
+68769,
+68769,
+68804,
68804,
-68819,
-68819,
-68819,
-68847,
-68856,
-68872,
-68872,
-68904,
-68915,
-68942,
-68953,
+68815,
+68821,
+68842,
+68842,
+68868,
+68868,
+68868,
+68868,
+68868,
+68868,
+68868,
+68884,
+68884,
+68884,
+68888,
+68888,
+68888,
+68888,
+68926,
+68926,
+68940,
68962,
-68980,
-69007,
-69013,
-69024,
-69038,
-69069,
-69082,
-69108,
-69116,
-69134,
-69157,
+68962,
+68979,
+68998,
+69014,
+69020,
+69020,
+69039,
+69039,
+69045,
+69073,
+69073,
+69073,
+69073,
+69077,
+69077,
+69077,
+69093,
+69099,
+69099,
+69099,
+69107,
+69138,
+69138,
+69146,
+69146,
69180,
69180,
-69201,
-69217,
-69217,
-69234,
-69257,
-69257,
-69257,
-69312,
-69312,
-69330,
-69343,
-69360,
-69360,
-69383,
-69402,
-69423,
-69434,
-69455,
-69455,
-69488,
-69496,
-69541,
-69559,
-69559,
-69578,
-69587,
-69587,
-69622,
-69622,
-69630,
-69654,
-69667,
-69674,
-69685,
-69696,
-69734,
-69749,
-69759,
-69759,
-69759,
-69759,
-69790,
-69805,
-69805,
-69823,
-69823,
-69823,
-69839,
-69861,
-69871,
-69871,
-69871,
-69916,
-69916,
-69931,
-69931,
-69931,
-69931,
-69949,
-70014,
-70026,
-70026,
-70026,
-70050,
-70077,
-70113,
-70152,
-70165,
-70182,
-70191,
-70191,
-70191,
-70206,
-70206,
-70206,
-70206,
-70206,
-70230,
-70230,
-70230,
-70230,
-70244,
-70244,
-70244,
-70251,
-70251,
-70251,
-70288,
-70315,
-70357,
-70363,
-70363,
-70376,
-70376,
-70387,
-70387,
-70397,
-70397,
-70397,
-70434,
-70460,
-70476,
-70476,
-70476,
-70507,
-70507,
-70515,
-70534,
-70534,
-70554,
-70570,
-70580,
-70594,
-70623,
-70623,
-70641,
-70641,
-70641,
-70641,
-70641,
-70674,
-70704,
-70735,
-70735,
-70735,
-70748,
-70748,
-70757,
-70802,
-70852,
-70873,
-70873,
-70892,
-70923,
-70923,
-70935,
-70935,
-70941,
-70941,
-70960,
-70980,
-70980,
-71023,
-71034,
-71034,
-71034,
-71045,
-71045,
+69213,
+69222,
+69222,
+69245,
+69254,
+69276,
+69286,
+69286,
+69286,
+69326,
+69344,
+69378,
+69396,
+69396,
+69408,
+69408,
+69445,
+69445,
+69456,
+69469,
+69469,
+69477,
+69485,
+69513,
+69526,
+69526,
+69536,
+69569,
+69569,
+69614,
+69632,
+69658,
+69668,
+69668,
+69693,
+69732,
+69740,
+69756,
+69772,
+69772,
+69779,
+69779,
+69779,
+69779,
+69779,
+69800,
+69815,
+69819,
+69819,
+69846,
+69852,
+69941,
+69962,
+69962,
+69962,
+69962,
+69962,
+69962,
+69962,
+69962,
+69982,
+70001,
+70012,
+70031,
+70038,
+70038,
+70046,
+70069,
+70069,
+70094,
+70128,
+70128,
+70128,
+70128,
+70128,
+70128,
+70128,
+70145,
+70177,
+70177,
+70189,
+70189,
+70189,
+70189,
+70189,
+70219,
+70219,
+70219,
+70219,
+70226,
+70226,
+70245,
+70245,
+70245,
+70245,
+70253,
+70253,
+70253,
+70279,
+70279,
+70279,
+70279,
+70279,
+70279,
+70311,
+70349,
+70356,
+70386,
+70386,
+70424,
+70424,
+70466,
+70466,
+70494,
+70523,
+70541,
+70550,
+70568,
+70583,
+70592,
+70592,
+70592,
+70592,
+70631,
+70656,
+70676,
+70676,
+70696,
+70696,
+70703,
+70710,
+70710,
+70716,
+70730,
+70730,
+70769,
+70769,
+70769,
+70786,
+70804,
+70804,
+70821,
+70832,
+70832,
+70844,
+70844,
+70891,
+70891,
+70904,
+70944,
+70951,
+70951,
+70961,
+70961,
+70990,
+71009,
+71025,
+71032,
71045,
71045,
-71045,
-71083,
-71093,
-71115,
-71115,
-71131,
-71131,
-71131,
-71141,
-71148,
-71148,
-71166,
-71186,
-71186,
-71201,
-71209,
-71209,
-71238,
-71246,
-71246,
-71246,
-71246,
-71258,
-71258,
-71258,
-71258,
-71276,
-71276,
-71276,
-71291,
-71309,
-71309,
-71309,
-71309,
-71318,
-71318,
-71318,
-71332,
-71342,
-71342,
+71052,
+71052,
+71052,
+71052,
+71052,
+71063,
+71073,
+71080,
+71080,
+71119,
+71119,
+71119,
+71155,
+71155,
+71155,
+71155,
+71191,
+71207,
+71207,
+71214,
+71214,
+71214,
+71225,
+71242,
+71248,
+71252,
+71274,
+71307,
+71320,
+71356,
+71356,
71356,
-71388,
-71388,
-71397,
-71407,
-71407,
-71407,
-71425,
-71436,
-71436,
-71466,
-71466,
-71491,
-71491,
-71527,
-71540,
-71540,
-71560,
-71584,
-71600,
-71600,
-71632,
-71648,
-71678,
-71689,
-71703,
-71703,
-71727,
+71374,
+71374,
+71404,
+71428,
+71459,
+71467,
+71478,
+71478,
+71489,
+71495,
+71505,
+71543,
+71543,
+71565,
+71565,
+71578,
+71638,
+71666,
+71673,
+71688,
+71688,
+71688,
+71700,
+71700,
+71730,
71742,
71742,
71742,
-71759,
-71759,
-71774,
-71780,
-71780,
-71780,
-71799,
-71819,
-71819,
-71837,
-71849,
-71867,
-71867,
-71867,
-71867,
-71867,
-71867,
-71867,
-71867,
-71867,
-71890,
-71890,
-71941,
-71941,
-71972,
-72002,
-72016,
-72037,
-72053,
-72053,
-72053,
-72053,
-72106,
-72131,
-72131,
-72131,
-72152,
-72159,
-72159,
-72171,
-72176,
-72207,
-72207,
-72207,
-72207,
-72221,
-72221,
-72237,
-72264,
-72264,
-72264,
-72280,
+71754,
+71771,
+71789,
+71836,
+71841,
+71852,
+71852,
+71885,
+71896,
+71913,
+71913,
+71971,
+71991,
+71991,
+72030,
+72054,
+72054,
+72101,
+72130,
+72130,
+72148,
+72148,
+72158,
+72158,
+72158,
+72158,
+72158,
+72158,
+72158,
+72167,
+72184,
+72203,
+72209,
+72209,
+72214,
+72228,
+72238,
+72248,
+72248,
+72248,
+72257,
72289,
-72307,
-72326,
-72343,
-72343,
-72343,
-72370,
-72370,
-72370,
-72370,
-72370,
-72396,
-72402,
-72402,
-72402,
-72430,
-72430,
-72449,
-72489,
-72499,
-72499,
-72550,
-72550,
-72573,
-72588,
-72623,
-72623,
-72623,
-72641,
-72652,
-72670,
-72684,
-72684,
-72684,
-72684,
-72699,
-72699,
-72699,
-72699,
-72699,
-72718,
-72769,
-72774,
-72786,
-72799,
-72799,
-72799,
-72837,
-72867,
-72915,
-72935,
-72935,
-72935,
-72953,
-72973,
-72973,
-72973,
-72973,
-73005,
-73005,
-73018,
-73018,
-73028,
-73058,
-73068,
-73068,
-73090,
-73102,
-73114,
-73142,
-73180,
-73180,
-73223,
-73247,
-73247,
-73247,
-73247,
-73247,
-73247,
+72289,
+72289,
+72289,
+72295,
+72295,
+72295,
+72295,
+72356,
+72369,
+72369,
+72369,
+72377,
+72414,
+72434,
+72441,
+72459,
+72459,
+72470,
+72477,
+72477,
+72477,
+72477,
+72477,
+72482,
+72486,
+72504,
+72504,
+72527,
+72527,
+72548,
+72548,
+72548,
+72558,
+72564,
+72564,
+72581,
+72581,
+72587,
+72587,
+72612,
+72627,
+72633,
+72633,
+72633,
+72644,
+72660,
+72660,
+72681,
+72702,
+72712,
+72712,
+72732,
+72775,
+72775,
+72775,
+72775,
+72775,
+72775,
+72775,
+72830,
+72839,
+72861,
+72877,
+72894,
+72894,
+72894,
+72894,
+72900,
+72900,
+72931,
+72931,
+72931,
+72943,
+72980,
+72991,
+73019,
+73034,
+73056,
+73056,
+73073,
+73086,
+73086,
+73086,
+73086,
+73109,
+73129,
+73139,
+73157,
+73167,
+73167,
+73192,
+73192,
+73209,
+73231,
+73231,
73247,
-73256,
-73256,
-73304,
-73321,
-73328,
-73328,
-73328,
-73389,
-73405,
-73405,
-73425,
-73425,
-73425,
-73443,
-73460,
-73476,
-73476,
-73498,
-73518,
-73533,
+73268,
+73288,
+73303,
+73324,
+73324,
+73324,
+73331,
+73331,
+73331,
+73367,
+73393,
+73398,
+73429,
+73452,
+73463,
+73463,
+73463,
+73492,
+73492,
+73492,
+73492,
+73515,
+73530,
+73553,
73563,
-73591,
-73628,
-73628,
-73648,
-73667,
-73736,
-73736,
-73736,
-73756,
-73756,
-73756,
-73803,
-73803,
-73803,
-73803,
-73831,
-73863,
-73875,
-73875,
-73875,
-73875,
+73563,
+73576,
+73576,
+73592,
+73611,
+73645,
+73687,
+73700,
+73700,
+73700,
+73716,
+73758,
+73790,
+73790,
+73804,
+73804,
+73822,
+73822,
+73845,
+73862,
+73862,
73875,
-73908,
-73931,
-73942,
-73942,
-73953,
-73982,
-74007,
-74066,
-74075,
-74075,
-74108,
-74108,
-74108,
-74114,
-74167,
-74178,
-74178,
-74178,
-74199,
-74199,
-74218,
-74218,
-74248,
-74248,
-74248,
-74248,
-74248,
-74272,
-74272,
-74290,
-74326,
-74349,
-74349,
-74349,
-74367,
-74367,
-74367,
-74385,
-74410,
-74429,
-74429,
-74475,
-74497,
-74497,
-74513,
-74527,
-74551,
-74581,
-74581,
-74581,
-74638,
-74644,
-74644,
-74665,
-74691,
-74691,
-74691,
-74691,
+73919,
+73919,
+73938,
+73938,
+73938,
+73968,
+73968,
+73981,
+73992,
+73992,
+73992,
+73992,
+73992,
+74000,
+74000,
+74005,
+74024,
+74058,
+74074,
+74074,
+74096,
+74144,
+74161,
+74161,
+74161,
+74161,
+74161,
+74169,
+74179,
+74191,
+74204,
+74204,
+74214,
+74225,
+74225,
+74238,
+74279,
+74289,
+74296,
+74320,
+74320,
+74325,
+74325,
+74325,
+74378,
+74426,
+74426,
+74426,
+74473,
+74488,
+74498,
+74498,
+74531,
+74531,
+74531,
+74531,
+74572,
+74597,
+74597,
+74597,
+74611,
+74611,
+74631,
+74645,
+74663,
+74674,
74701,
74701,
-74708,
-74721,
-74721,
-74721,
-74761,
-74801,
-74801,
+74707,
+74712,
+74712,
+74712,
+74727,
+74737,
+74746,
+74770,
+74790,
+74803,
74808,
-74825,
-74833,
-74833,
-74850,
-74870,
-74870,
-74893,
-74893,
-74928,
-74928,
-74928,
-74928,
-74938,
-74938,
-74938,
-74938,
-74938,
-74938,
-74938,
-74938,
-74949,
-74949,
-74981,
-75000,
-75019,
-75029,
-75029,
-75029,
-75044,
-75054,
-75071,
-75071,
-75089,
-75103,
-75103,
-75103,
-75103,
-75103,
-75103,
-75103,
-75103,
-75103,
-75103,
-75120,
-75120,
-75120,
-75120,
-75165,
-75165,
-75165,
-75165,
-75185,
-75191,
-75208,
-75208,
-75236,
-75252,
-75269,
-75292,
-75311,
-75318,
-75318,
-75344,
-75359,
-75359,
-75359,
-75423,
+74843,
+74854,
+74897,
+74901,
+74901,
+74907,
+74945,
+74945,
+74945,
+74958,
+74978,
+74978,
+74998,
+74998,
+75015,
+75015,
+75015,
+75023,
+75023,
+75023,
+75032,
+75077,
+75077,
+75115,
+75127,
+75127,
+75127,
+75160,
+75166,
+75166,
+75172,
+75172,
+75186,
+75224,
+75224,
+75241,
+75241,
+75241,
+75251,
+75251,
+75257,
+75263,
+75278,
+75291,
+75335,
+75372,
+75382,
+75398,
+75404,
75423,
+75438,
+75438,
75444,
75444,
-75444,
-75457,
-75464,
-75476,
-75493,
-75516,
-75516,
-75516,
-75532,
-75539};
+75452,
+75452,
+75458,
+75481,
+75481,
+75481,
+75494,
+75504,
+75510,
+75524,
+75540,
+75540,
+75540,
+75546,
+75552,
+75574,
+75574,
+75614,
+75630,
+75646,
+75652,
+75652,
+75652,
+75692,
+75708,
+75708,
+75724,
+75724,
+75724,
+75724,
+75724,
+75724,
+75729,
+75737,
+75754,
+75754,
+75754,
+75772,
+75772,
+75795,
+75795,
+75820,
+75858,
+75858,
+75875,
+75881,
+75890,
+75890,
+75900,
+75916,
+75916,
+75925,
+75941,
+75941,
+75960,
+75960,
+75960,
+75960,
+75983,
+75983,
+75983,
+75983,
+75993,
+75993,
+75993,
+76007,
+76028,
+76028,
+76056,
+76056,
+76067,
+76067,
+76080,
+76100,
+76100,
+76107,
+76107,
+76107,
+76107,
+76107,
+76107,
+76107,
+76116,
+76136,
+76136,
+76136,
+76149,
+76177,
+76193,
+76193,
+76199,
+76253,
+76259,
+76281,
+76299,
+76349,
+76349,
+76357,
+76362,
+76382,
+76399,
+76405,
+76421,
+76437,
+76442,
+76442,
+76457,
+76480,
+76480,
+76497,
+76514,
+76520,
+76525,
+76535,
+76535,
+76597,
+76597,
+76603,
+76625,
+76625,
+76625,
+76659,
+76679,
+76698,
+76698,
+76698,
+76726,
+76757,
+76780,
+76786,
+76792,
+76792,
+76806,
+76826,
+76846,
+76862,
+76871,
+76906,
+76906,
+76921,
+76921,
+76921,
+76921,
+76921,
+76955,
+76955,
+76968,
+76994,
+77032,
+77048,
+77068,
+77068,
+77073,
+77094,
+77094,
+77094,
+77103,
+77120,
+77120,
+77120,
+77136,
+77136,
+77148,
+77166,
+77185,
+77185,
+77191,
+77191,
+77233,
+77252,
+77252,
+77252,
+77252,
+77307,
+77318,
+77318,
+77318,
+77318,
+77324,
+77343,
+77357,
+77357,
+77373,
+77383,
+77389,
+77416,
+77427,
+77444,
+77475,
+77514,
+77514,
+77514,
+77520,
+77520,
+77538,
+77563,
+77572,
+77572,
+77572,
+77572,
+77613,
+77613,
+77633,
+77643,
+77651,
+77667,
+77673,
+77690,
+77690,
+77690,
+77705,
+77723,
+77723,
+77723,
+77744,
+77744,
+77763,
+77801,
+77816,
+77838,
+77838,
+77844,
+77856,
+77862,
+77877,
+77889,
+77919,
+77935,
+77940,
+77981,
+77986,
+78016,
+78029,
+78029,
+78029,
+78049,
+78049,
+78049,
+78061,
+78061,
+78080,
+78080,
+78080,
+78080,
+78080,
+78080,
+78089,
+78089,
+78101,
+78101,
+78101,
+78101,
+78121,
+78125,
+78155,
+78155,
+78185,
+78185,
+78209,
+78224,
+78254,
+78282,
+78282,
+78296,
+78314,
+78337,
+78342,
+78371,
+78371,
+78383,
+78393,
+78426,
+78440,
+78440,
+78455,
+78477,
+78486,
+78499,
+78499,
+78507,
+78507,
+78578,
+78584,
+78596,
+78617,
+78659,
+78665,
+78665,
+78705,
+78705,
+78741,
+78778,
+78792,
+78805,
+78805,
+78812,
+78831,
+78831,
+78848,
+78866,
+78911,
+78911,
+78916,
+78935,
+78952,
+78964,
+78979,
+78979,
+78985,
+79017,
+79039,
+79039,
+79066,
+79066,
+79085,
+79091,
+79091,
+79110,
+79128,
+79147,
+79147,
+79168,
+79168,
+79224,
+79224,
+79242,
+79242,
+79252,
+79252,
+79252,
+79252,
+79271,
+79291,
+79309,
+79327,
+79327,
+79327,
+79346,
+79375,
+79393,
+79400,
+79400,
+79407,
+79407,
+79417,
+79432,
+79432,
+79432,
+79464,
+79476,
+79476,
+79501,
+79511,
+79518,
+79518,
+79539,
+79547,
+79569,
+79569,
+79600,
+79610,
+79642,
+79676,
+79713,
+79713,
+79736,
+79736,
+79755,
+79755,
+79755,
+79755,
+79771,
+79801,
+79801,
+79821,
+79837,
+79848,
+79860,
+79860,
+79867,
+79867,
+79867,
+79867,
+79867,
+79906,
+79933,
+79943,
+79977,
+79993,
+80011,
+80042,
+80060,
+80060,
+80082,
+80101,
+80113,
+80119,
+80155,
+80159,
+80174,
+80174,
+80174,
+80174,
+80174,
+80183,
+80202,
+80214,
+80218,
+80247,
+80259,
+80259,
+80295,
+80295,
+80300,
+80342,
+80342,
+80342,
+80359,
+80359,
+80375,
+80375,
+80402,
+80413,
+80446,
+80446,
+80480,
+80485,
+80504,
+80504,
+80525,
+80529,
+80533,
+80548,
+80553,
+80565,
+80569,
+80569,
+80605,
+80623,
+80623,
+80623,
+80623,
+80643,
+80684,
+80684,
+80695,
+80695,
+80712,
+80730,
+80737,
+80737,
+80776,
+80776,
+80776,
+80776,
+80776,
+80776,
+80795,
+80795,
+80816,
+80867,
+80881,
+80881,
+80881,
+80896,
+80896,
+80913,
+80913,
+80937,
+80937,
+80947,
+80952,
+80952,
+80952,
+80958,
+80992,
+80992,
+81015,
+81048,
+81063,
+81063,
+81082,
+81089,
+81121,
+81121,
+81121,
+81151,
+81196,
+81201,
+81215,
+81215,
+81244,
+81244,
+81244,
+81273,
+81273,
+81307,
+81333,
+81338,
+81400,
+81400,
+81400,
+81400,
+81418,
+81418,
+81418,
+81430,
+81455,
+81455,
+81493,
+81499,
+81527,
+81527,
+81539,
+81554,
+81560,
+81584,
+81584,
+81601,
+81601,
+81601,
+81601,
+81601,
+81601,
+81601,
+81619,
+81631,
+81643,
+81643,
+81643,
+81654,
+81666,
+81716,
+81740,
+81740,
+81757,
+81769,
+81797,
+81797,
+81848,
+81873,
+81873,
+81873,
+81873,
+81885,
+81885,
+81898,
+81911,
+81916,
+81940,
+81940,
+81940,
+81940,
+81956,
+81956,
+81961,
+81977,
+81994,
+81994,
+82025,
+82025,
+82031,
+82047,
+82047,
+82086,
+82105,
+82124,
+82124,
+82143,
+82143,
+82143,
+82143,
+82163,
+82163,
+82163,
+82163,
+82163,
+82188,
+82193,
+82207,
+82207,
+82207,
+82234,
+82246,
+82265,
+82314,
+82314,
+82314,
+82323,
+82323,
+82323,
+82323,
+82337,
+82337,
+82343,
+82349,
+82349,
+82375,
+82385,
+82402,
+82402,
+82452,
+82462,
+82462,
+82462,
+82469,
+82481,
+82481,
+82481,
+82540,
+82550,
+82567,
+82576,
+82576,
+82576,
+82585,
+82591,
+82620,
+82634,
+82668,
+82687,
+82714,
+82724,
+82724,
+82750,
+82750,
+82750,
+82764,
+82777,
+82811,
+82849,
+82849,
+82864,
+82877,
+82888,
+82917,
+82917,
+82917,
+82923,
+82944,
+82958,
+82958,
+82958,
+82958,
+82958,
+82971,
+82985,
+82985,
+83004,
+83004,
+83025,
+83025,
+83107,
+83126,
+83126,
+83126,
+83126,
+83126,
+83126,
+83126,
+83132,
+83132,
+83147,
+83153,
+83153,
+83153,
+83164,
+83164,
+83176,
+83183,
+83212,
+83233,
+83294,
+83315,
+83336,
+83355,
+83355,
+83355,
+83367,
+83403,
+83430,
+83448,
+83448,
+83448,
+83448,
+83488,
+83488,
+83488,
+83488,
+83488,
+83488,
+83506,
+83506,
+83506,
+83510,
+83551,
+83567,
+83575,
+83575,
+83591,
+83591,
+83599,
+83681,
+83681,
+83703,
+83703,
+83709,
+83732,
+83742,
+83742,
+83752,
+83752,
+83805,
+83805,
+83805,
+83845,
+83864,
+83864,
+83875,
+83907,
+83933,
+83950,
+83976,
+83985,
+83992,
+83992,
+84001,
+84040,
+84040,
+84057,
+84070,
+84096,
+84124,
+84179,
+84187,
+84232,
+84232,
+84286,
+84308,
+84308,
+84322,
+84322,
+84322,
+84322,
+84338,
+84357,
+84373,
+84373,
+84373,
+84394,
+84394,
+84402,
+84402,
+84402,
+84424,
+84445,
+84466,
+84485,
+84501,
+84501,
+84522,
+84529,
+84547,
+84592,
+84592,
+84621,
+84633,
+84651,
+84651,
+84662,
+84689,
+84696,
+84704,
+84704,
+84704};
static const char *tldData[] = {
-"vgs.no\0ah.no\0"
-"ma.us\0"
-"mizunami.gifu.jp\0"
-"saitama.jp\0kimino.wakayama.jp\0"
-"int.bo\0cambridge.museum\0"
-"andasuolo.no\0lardal.no\0"
-"transport.museum\0"
-"nishinomiya.hyogo.jp\0"
-"is-into-cars.com\0"
-"karlsoy.no\0"
-"bungoono.oita.jp\0"
-"int.ci\0"
-"chikujo.fukuoka.jp\0"
+"trentinosudtirol.it\0ashikaga.tochigi.jp\0"
+"radio.br\0"
+"lib.il.us\0photography\0"
+"miki.hyogo.jp\0edunet.tn\0"
"aisai.aichi.jp\0"
-"os.hedmark.no\0"
-"int.co\0"
-"komaki.aichi.jp\0seki.gifu.jp\0"
-"wanouchi.gifu.jp\0lib.ri.us\0"
-"higashiosaka.osaka.jp\0"
-"org\0cechire.com\0"
-"satte.saitama.jp\0"
-"berg.no\0"
-"saitama.saitama.jp\0"
-"cc.sd.us\0"
-"act.gov.au\0mansion.museum\0"
-"fe.it\0y.se\0"
-"gunma.jp\0"
-"otoyo.kochi.jp\0miyoshi.saitama.jp\0"
-"sa.gov.au\0"
-"online.museum\0"
-"abiko.chiba.jp\0"
-"!educ.ar\0"
-"agematsu.nagano.jp\0"
-"akiruno.tokyo.jp\0lund.no\0"
-"kasuga.hyogo.jp\0"
-"nakano.tokyo.jp\0homeunix.net\0"
-"ambulance.aero\0sv.it\0"
-"shiso.hyogo.jp\0"
-"fuso.aichi.jp\0delmenhorst.museum\0"
-"dali.museum\0"
-"brindisi.it\0"
-"midori.gunma.jp\0"
+"isa-geek.org\0"
+"educator.aero\0mining.museum\0"
+"tsu.mie.jp\0yakumo.shimane.jp\0turek.pl\0"
+"*.sch.uk\0ifm\0"
+"an.it\0"
+"consulting\0"
+"tsuyama.okayama.jp\0"
+"kommune.no\0"
+"hl.cn\0mamurogawa.yamagata.jp\0"
+"michigan.museum\0"
+"\xe6\x89\x8b\xe6\x9c\xba\0"
+"sand\xc3\xb8y.no\0"
+"jprs\0"
+"ne.jp\0"
+"rnd.ru\0"
+"ogaki.gifu.jp\0chitose.hokkaido.jp\0chigasaki.kanagawa.jp\0kasukabe.saitama.jp\0"
+"kawaguchi.saitama.jp\0takashima.shiga.jp\0chuo.tokyo.jp\0expert\0"
+"ueno.gunma.jp\0bifuka.hokkaido.jp\0"
+"oster\xc3\xb8y.no\0"
+"nishigo.fukushima.jp\0"
+"gs.sf.no\0"
+"higashichichibu.saitama.jp\0qpon\0"
+"ns.ca\0"
+"oishida.yamagata.jp\0ne.kr\0kobierzyce.pl\0"
+"for-some.biz\0"
+"satx.museum\0"
+"sydney.museum\0"
+"fujishiro.ibaraki.jp\0gift\0"
+"akaiwa.okayama.jp\0"
+"azumino.nagano.jp\0"
+"divtasvuodna.no\0"
+"slg.br\0"
+"creditunion\0"
+"ralingen.no\0"
+"trust\0"
+"lib.tn.us\0"
+"h\xc3\xa1mm\xc3\xa1rfeasta.no\0"
+"trentinosud-tirol.it\0unazuki.toyama.jp\0"
+"naturhistorisches.museum\0war.museum\0nico\0"
+"nedre-eiker.no\0odda.no\0"
+"zentsuji.kagawa.jp\0"
+"finn\xc3\xb8y.no\0"
+"ikeda.osaka.jp\0"
+"lerdal.no\0"
+"mill.museum\0"
+"wolomin.pl\0"
+"vrn.ru\0"
+"g12.br\0"
+"artanddesign.museum\0"
+"fujimino.saitama.jp\0"
+"arts.co\0"
+"shiroishi.saga.jp\0"
+"honda\0"
+"otaki.nagano.jp\0"
+"harvestcelebration.museum\0bremanger.no\0nikolaev.ua\0"
+"ilawa.pl\0"
+"brandywinevalley.museum\0portal.museum\0"
+"indianapolis.museum\0\xc3\xb8vre-eiker.no\0ski.no\0"
+"catering\0condos\0"
+"vlaanderen.museum\0"
+"higashiyamato.tokyo.jp\0"
+"alesund.no\0ternopil.ua\0"
+"living.museum\0tysvar.no\0norilsk.ru\0osaka\0from-wi.com\0"
+"bill.museum\0"
+"is-saved.org\0"
+"accident-investigation.aero\0palmsprings.museum\0"
+"aeroport.fr\0tamba.hyogo.jp\0"
+"sorum.no\0"
+"ts.it\0"
+"nose.osaka.jp\0"
+"miners.museum\0ne.pw\0mari.ru\0ing\0"
+"saikai.nagasaki.jp\0iheya.okinawa.jp\0miasta.pl\0"
+"scientist.aero\0ovre-eiker.no\0"
+"hirogawa.wakayama.jp\0"
+"gs.oslo.no\0mn.us\0ink\0blogdns.com\0is-a-chef.org\0"
+"miyama.mie.jp\0"
+"starachowice.pl\0"
+"settlement.museum\0k12.nh.us\0"
+"sassari.it\0"
+"lib.vi.us\0directory\0"
+"b.bg\0"
+"int\0"
+"veg\xc3\xa5rshei.no\0"
+"tsurugashima.saitama.jp\0"
+"net.ac\0here-for-more.info\0"
+"kamijima.ehime.jp\0"
+"net.ae\0"
+"net.af\0hakodate.hokkaido.jp\0opoczno.pl\0"
+"net.ag\0"
+"date.hokkaido.jp\0"
+"net.ai\0"
+"b.br\0"
+"te.ua\0"
+"net.al\0bl.it\0shichikashuku.miyagi.jp\0"
+"net.an\0"
+"net.ba\0tyumen.ru\0"
+"net.ar\0net.bb\0friuli-v-giulia.it\0yawara.ibaraki.jp\0"
+"nl.no\0dnsdojo.com\0"
+"monzabrianza.it\0"
+"net.au\0granvin.no\0"
+"net.bh\0tadotsu.kagawa.jp\0olawa.pl\0"
+"airforce\0"
+"net.az\0konin.pl\0"
+"fin.ec\0"
+"shonai.yamagata.jp\0"
+"net.bm\0vestre-toten.no\0"
+"webhop.net\0"
+"net.bo\0"
+"net.br\0gen.in\0"
+"net.bs\0"
+"net.bt\0"
+"shinjuku.tokyo.jp\0lincoln\0"
+"geology.museum\0lahppi.no\0"
+"net.ci\0"
+"net.bz\0campidanomedio.it\0"
+"gs.st.no\0naustdal.no\0omasvuotna.no\0from-il.com\0"
+"aomori.aomori.jp\0tanabe.kyoto.jp\0"
+"net.cm\0beeldengeluid.museum\0openair.museum\0tana.no\0"
+"net.cn\0"
+"net.co\0arboretum.museum\0ivano-frankivsk.ua\0"
+"stavropol.ru\0"
+"ne.ug\0"
+"koganei.tokyo.jp\0"
+"net.cu\0hl.no\0"
+"ne.tz\0goldpoint\0"
+"net.cw\0"
+"haga.tochigi.jp\0"
+"services.aero\0net.dm\0whoswho\0"
+"sodegaura.chiba.jp\0toyoura.hokkaido.jp\0jcb\0"
+"net.do\0ne.us\0courses\0"
+"best\0"
+"baseball.museum\0paleo.museum\0"
+"net.ec\0k12.ne.us\0isa-geek.com\0"
+"gemological.museum\0"
+"i.bg\0net.eg\0"
+"toga.toyama.jp\0williamhill\0"
+"net.dz\0matsue.shimane.jp\0"
+"mytis.ru\0auto\0"
+"toho.fukuoka.jp\0"
+"saintlouis.museum\0is-a-chef.com\0"
+"chikujo.fukuoka.jp\0okagaki.fukuoka.jp\0wegrow.pl\0"
+"ogliastra.it\0hs.kr\0ist\0"
+"atm.pl\0"
+"ballangen.no\0date\0"
+"bs.it\0"
+"gotdns.com\0"
+"pharmacy.museum\0blogsite.org\0"
+"natuurwetenschappen.museum\0"
+"tysfjord.no\0vagan.no\0"
+"gu.us\0"
+"vlaanderen\0"
+"net.ge\0k12.gu.us\0"
+"joso.ibaraki.jp\0shimotsuma.ibaraki.jp\0kawagoe.saitama.jp\0"
+"net.gg\0iraq.museum\0holtalen.no\0za.com\0from-or.com\0"
+"isehara.kanagawa.jp\0itoman.okinawa.jp\0zgorzelec.pl\0"
+"slask.pl\0"
+"est-a-la-maison.com\0"
+"design\0"
+"s3-website-ap-northeast-1.amazonaws.com\0"
+"net.gn\0benevento.it\0"
+"\xe7\xbb\x84\xe7\xb9\x94.hk\0botanical.museum\0"
+"net.gp\0hanawa.fukushima.jp\0"
+"arts.ve\0"
+"net.gr\0"
+"works.aero\0"
+"net.gt\0"
+"net.gy\0"
+"seihi.nagasaki.jp\0"
+"net.hk\0"
+"koza.wakayama.jp\0hotel.tz\0"
+"cq.cn\0net.hn\0va.it\0masuda.shimane.jp\0gen.nz\0"
+"britishcolumbia.museum\0orkdal.no\0iwc\0"
+"dynalias.org\0"
+"net.ht\0net.id\0"
+"ono.hyogo.jp\0"
+"\xe5\x8f\xb0\xe6\xb9\xbe\0"
+"k12.nv.us\0"
+"net.im\0newmexico.museum\0chelyabinsk.ru\0"
+"net.in\0"
+"p.bg\0"
+"yasuda.kochi.jp\0"
+"net.iq\0cc.na\0"
+"net.ir\0hofu.yamaguchi.jp\0"
+"net.is\0r\xc3\xb8ros.no\0dyn-o-saur.com\0"
+"net.je\0"
+"video.hu\0graphics\0"
+"withgoogle.com\0"
+"operaunite.com\0"
+"bz.it\0yamazoe.nara.jp\0"
+"vgs.no\0"
+"net.jo\0"
+"pa.it\0"
+"telekommunikation.museum\0cc.mt.us\0cc.nd.us\0"
+"brasil.museum\0"
+"net.kg\0ullensvang.no\0sebastopol.ua\0"
+"toyooka.hyogo.jp\0"
+"net.ki\0supply\0"
+"higashiomi.shiga.jp\0"
+"tottori.tottori.jp\0"
+"jfk.museum\0"
+"misaki.okayama.jp\0net.kn\0"
+"kr.com\0"
+"ookuwa.nagano.jp\0koshigaya.saitama.jp\0"
+"net.la\0"
+"furubira.hokkaido.jp\0net.lb\0"
+"net.lc\0historicalsociety.museum\0"
+"cesenaforli.it\0"
+"kagami.kochi.jp\0"
+"gobo.wakayama.jp\0"
+"net.ky\0loppa.no\0"
+"net.kz\0"
+"net.lk\0gs.tr.no\0arts.ro\0"
+"castres.museum\0r\xc3\xb8""d\xc3\xb8y.no\0"
+"net.ma\0"
+"net.lr\0"
+"is-a-landscaper.com\0"
+"net.me\0"
+"imizu.toyama.jp\0net.lv\0"
+"birkenes.no\0"
+"net.ly\0va.no\0"
+"net.mk\0"
+"hikimi.shimane.jp\0net.ml\0"
+"uri.arpa\0ltd.gi\0net.mo\0depot.museum\0smolensk.ru\0jlc\0"
+"showa.gunma.jp\0kawanishi.hyogo.jp\0"
+"klepp.no\0"
+"net.ms\0honefoss.no\0"
+"net.mt\0"
+"net.mu\0"
+"yazu.tottori.jp\0net.mv\0net.nf\0gen.tr\0"
+"w.bg\0net.mw\0net.ng\0"
+"net.mx\0"
+"net.my\0"
+"tos.it\0toya.hokkaido.jp\0"
+"sakura\0"
+"assedic.fr\0aid.pl\0"
+"ltd.hk\0"
+"isernia.it\0net.nr\0"
+"botany.museum\0"
+"aramco\0"
+"net.nz\0"
+"ostrowwlkp.pl\0"
+"hotel.lk\0net.om\0voting\0"
+"\xe4\xbc\x81\xe4\xb8\x9a\0"
+"virginia.museum\0googlecode.com\0"
+"stj\xc3\xb8rdalshalsen.no\0net.pa\0adygeya.ru\0"
+"arai.shizuoka.jp\0arts.nf\0"
+"americanart.museum\0habmer.no\0net.pe\0"
+"lib.pr.us\0"
+"net.ph\0"
+"net.pk\0"
+"net.pl\0"
+"morioka.iwate.jp\0net.pn\0"
+"net.qa\0"
+"kanuma.tochigi.jp\0net.pr\0"
+"gjerdrum.no\0net.ps\0"
+"inawashiro.fukushima.jp\0yamatotakada.nara.jp\0net.pt\0"
+"shimizu.shizuoka.jp\0wielun.pl\0"
+"net.py\0"
+"asahi.chiba.jp\0"
+"os\xc3\xb8yro.no\0"
+"kijo.miyazaki.jp\0\xe7\xbd\x91\xe5\x9d\x80\0"
+"b.se\0rhcloud.com\0"
+"kamikitayama.nara.jp\0jot\0"
+"toyotomi.hokkaido.jp\0"
+"from.hr\0"
+"portlligat.museum\0joy\0"
+"saijo.ehime.jp\0fin.tn\0yandex\0"
+"other.nf\0"
+"bruxelles.museum\0"
+"utsunomiya.tochigi.jp\0gyeongbuk.kr\0"
+"tools\0"
+"ltd.lk\0net.sa\0"
+"ikata.ehime.jp\0net.sb\0"
+"catering.aero\0net.sc\0"
+"health.nz\0net.sd\0"
+"net.ru\0"
+"tsuno.kochi.jp\0shimane.shimane.jp\0"
+"net.rw\0net.sg\0is-very-evil.org\0"
+"i.ph\0net.sh\0"
+"kosuge.yamanashi.jp\0"
+"\xc3\xb8ystre-slidre.no\0"
+"net.sl\0"
+"info.ht\0maizuru.kyoto.jp\0shinjo.nara.jp\0yorii.saitama.jp\0"
+"info.hu\0m\xc3\xa5s\xc3\xb8y.no\0press.se\0net.so\0"
+"po.it\0"
+"s\xc3\xb8r-varanger.no\0"
+"net.st\0"
+"hotel.hu\0oppegard.no\0"
+"net.th\0"
+"nsw.au\0net.sy\0githubusercontent.com\0"
+"kanagawa.jp\0net.tj\0"
+"roma.museum\0"
+"contemporaryart.museum\0net.tm\0va.us\0"
+"info.et\0net.tn\0"
+"net.to\0land-4-sale.us\0"
+"konan.aichi.jp\0\xd8\xa7\xd9\x8a\xd8\xb1\xd8\xa7\xd9\x86\0"
+"net.ua\0k12.vi.us\0"
+"alto-adige.it\0net.tr\0"
+"net.tt\0"
+"dyndns-web.com\0"
+"shiwa.iwate.jp\0nagai.yamagata.jp\0stargard.pl\0"
+"net.tw\0"
+"kasuya.fukuoka.jp\0nagaoka.niigata.jp\0"
+"!city.sapporo.jp\0"
+"tranoy.no\0net.uk\0"
+"pila.pl\0"
+"dyndns-home.com\0is-into-cartoons.com\0"
+"aizumisato.fukushima.jp\0"
+"\xe3\x81\xbf\xe3\x82\x93\xe3\x81\xaa\0"
+"clock.museum\0net.vc\0"
+"kamioka.akita.jp\0fujimi.nagano.jp\0ando.nara.jp\0tochigi.tochigi.jp\0"
+"lorenskog.no\0i.se\0net.ve\0"
+"vv.it\0kamishihoro.hokkaido.jp\0shiogama.miyagi.jp\0"
+"pilots.museum\0net.uy\0net.vi\0"
+"net.uz\0"
+"is-a-cubicle-slave.com\0"
+"cargo.aero\0salzburg.museum\0"
+"kitami.hokkaido.jp\0net.vn\0"
+"dyroy.no\0pa.us\0"
+"nagiso.nagano.jp\0"
+"sortland.no\0"
+"\xe5\xb1\xb1\xe6\xa2\xa8.jp\0"
+"volgograd.ru\0net.vu\0"
+"tsunan.niigata.jp\0"
+"takata.fukuoka.jp\0"
+"info.ec\0"
+"istanbul\0"
+"rel.ht\0"
+"dyndns-server.com\0"
+"\xe9\x9d\x92\xe6\xa3\xae.jp\0"
+"net.ws\0bauhaus\0"
+"forlicesena.it\0kfh\0"
+"pv.it\0norton\0"
+"cc.ny.us\0"
+"info.bb\0hashikami.aomori.jp\0"
+"seirou.niigata.jp\0info.at\0"
+"info.au\0lib.ee\0"
+"selfip.biz\0"
+"info.az\0tsukigata.hokkaido.jp\0"
+"trani-barletta-andria.it\0loan\0"
+"press.ma\0"
+"legnica.pl\0"
+"lavangen.no\0pors\xc3\xa1\xc5\x8bgu.no\0sk\xc3\xa5nland.no\0"
+"orsta.no\0"
+"hakusan.ishikawa.jp\0"
+"flight.aero\0hemnes.no\0moss.no\0sykkylven.no\0"
+"hirara.okinawa.jp\0"
+"ukiha.fukuoka.jp\0kyotango.kyoto.jp\0health.vn\0"
+"info.co\0bo.nordland.no\0tysv\xc3\xa6r.no\0fhsk.se\0"
+"\xe9\xb9\xbf\xe5\x85\x90\xe5\xb3\xb6.jp\0"
+"air-traffic-control.aero\0design.aero\0meland.no\0chtr.k12.ma.us\0"
+"matsumae.hokkaido.jp\0sakuragawa.ibaraki.jp\0nagano.nagano.jp\0motegi.tochigi.jp\0"
+"insurance.aero\0automotive.museum\0ullensaker.no\0p.se\0"
+"alessandria.it\0"
+"journalist.aero\0cody.museum\0"
+"bato.tochigi.jp\0misasa.tottori.jp\0"
+"polkowice.pl\0"
+"correios-e-telecomunica\xc3\xa7\xc3\xb5""es.museum\0"
+"trentino-sued-tirol.it\0"
+"asahi.toyama.jp\0"
+"sogne.no\0orenburg.ru\0kim\0"
+"isa-geek.net\0"
+"tatarstan.ru\0"
+"kashiwa.chiba.jp\0kamimine.saga.jp\0"
+"contractors\0"
+"tagajo.miyagi.jp\0fujikawa.shizuoka.jp\0"
+"kudamatsu.yamaguchi.jp\0"
+"ltd.uk\0"
"nantan.kyoto.jp\0"
-"takaishi.osaka.jp\0imizu.toyama.jp\0"
-"tonsberg.no\0"
-"countryestate.museum\0"
-"rawa-maz.pl\0"
-"yokoshibahikari.chiba.jp\0"
-"ontario.museum\0"
-"certification.aero\0"
-"franziskaner.museum\0cc.nj.us\0"
-"genkai.saga.jp\0"
-"tysfjord.no\0"
-"ra.it\0"
-"air-traffic-control.aero\0ina.ibaraki.jp\0"
-"in-the-band.net\0"
-"ainan.ehime.jp\0oita.oita.jp\0!national-library-scotland.uk\0"
-"kamiichi.toyama.jp\0"
-"ogata.akita.jp\0smola.no\0"
-"matsushima.miyagi.jp\0langev\xc3\xa5g.no\0"
-"vard\xc3\xb8.no\0"
-"limanowa.pl\0"
+"r\xc3\xb8yrvik.no\0"
+"is-a-chef.net\0"
+"planetarium.museum\0langev\xc3\xa5g.no\0"
+"abbott\0"
+"club.aero\0"
+"ind.br\0"
+"from-nv.com\0"
+"tokushima.jp\0omaezaki.shizuoka.jp\0"
+"hongo.hiroshima.jp\0"
+"inderoy.no\0"
+"res.in\0"
+"\xe5\xb1\xb1\xe5\xbd\xa2.jp\0echizen.fukui.jp\0"
+"dr\xc3\xb8""bak.no\0s\xc3\xb8r-fron.no\0"
+"teo.br\0yokoze.saitama.jp\0"
+"sch.ae\0franziskaner.museum\0undersea.museum\0belau.pw\0"
+"kouyama.kagoshima.jp\0"
+"zarow.pl\0"
+"aviation.museum\0"
+"soeda.fukuoka.jp\0"
+"skydiving.aero\0teaches-yoga.com\0"
+"shinto.gunma.jp\0kure.hiroshima.jp\0"
+"yakumo.hokkaido.jp\0minobu.yamanashi.jp\0"
+"dclk\0"
+"ibaraki.jp\0"
+"naklo.pl\0"
+"yachimata.chiba.jp\0"
+"vanylven.no\0"
+"shimodate.ibaraki.jp\0"
+"union.aero\0toshiba\0from-ak.com\0"
+"kuju.oita.jp\0"
+"w.se\0"
+"rel.pl\0"
+"friuliv-giulia.it\0minamiashigara.kanagawa.jp\0"
+"togura.nagano.jp\0"
+"!www.ck\0b\xc3\xa1id\xc3\xa1r.no\0"
+"miyoshi.aichi.jp\0"
+"izumo.shimane.jp\0"
+"us-west-1.compute.amazonaws.com\0"
+"tsuruoka.yamagata.jp\0"
+"finland.museum\0"
+"barreau.bj\0tokashiki.okinawa.jp\0"
+"television.museum\0\xe0\xb8\x84\xe0\xb8\xad\xe0\xb8\xa1\0"
+"tuscany.it\0"
+"sport.hu\0fjell.no\0"
+"philadelphia.museum\0"
+"hasami.nagasaki.jp\0"
+"software.aero\0"
+"yufu.oita.jp\0"
+"kongsvinger.no\0boots\0"
+"chikuma.nagano.jp\0"
+"london.museum\0"
+"s3-ap-northeast-1.amazonaws.com\0"
+"ind.gt\0suzu.ishikawa.jp\0"
+"arteducation.museum\0eidsberg.no\0vevelstad.no\0"
+"\xe5\xb2\x90\xe9\x98\x9c.jp\0fujisato.akita.jp\0hanyu.saitama.jp\0"
+"bod\xc3\xb8.no\0"
+"is-a-therapist.com\0"
+"yoshikawa.saitama.jp\0"
+"r\xc3\xb8st.no\0"
+"rishiri.hokkaido.jp\0grajewo.pl\0"
+"3.bg\0"
+"kosai.shizuoka.jp\0kpn\0"
+"chuo.chiba.jp\0susono.shizuoka.jp\0"
+"fla.no\0"
+"roma.it\0kudoyama.wakayama.jp\0global.prod.fastly.net\0"
+"gamo.shiga.jp\0"
+"gildesk\xc3\xa5l.no\0cloudcontrolled.com\0"
+"ind.in\0futsu.nagasaki.jp\0"
+"furudono.fukushima.jp\0kashiwara.osaka.jp\0"
+"minoh.osaka.jp\0"
+"akrehamn.no\0"
+"nosegawa.nara.jp\0"
+"baths.museum\0likes-pie.com\0"
+"krd\0lat\0"
+"seki.gifu.jp\0togakushi.nagano.jp\0ens.tn\0"
+"rana.no\0law\0"
+"juedisches.museum\0national.museum\0"
+"sande.m\xc3\xb8re-og-romsdal.no\0"
+"bozen.it\0"
+"furniture.museum\0malvik.no\0"
+"hjelmeland.no\0"
+"loabat.no\0"
+"info.ve\0"
+"kamagaya.chiba.jp\0"
+"betainabox.com\0"
+"fosnes.no\0from-tn.com\0"
+"sakae.chiba.jp\0"
+"sohu\0"
+"mb.ca\0"
+"wanouchi.gifu.jp\0hidaka.kochi.jp\0torahime.shiga.jp\0info.vn\0"
+"mari-el.ru\0"
+"tsukumi.oita.jp\0"
+"sch.id\0kota.aichi.jp\0"
+"snillfjord.no\0"
+"akkeshi.hokkaido.jp\0"
+"kanegasaki.iwate.jp\0takaoka.toyama.jp\0"
+"ostre-toten.no\0novosibirsk.ru\0selfip.com\0"
+"molise.it\0"
+"barrel-of-knowledge.info\0"
+"sch.ir\0"
+"fuoisku.no\0"
+"lds\0"
+"oguchi.aichi.jp\0"
+"omsk.ru\0"
+"nogata.fukuoka.jp\0"
+"sch.jo\0guide\0"
+"sunagawa.hokkaido.jp\0info.tn\0"
+"turystyka.pl\0a.ssl.fastly.net\0"
+"nishiarita.saga.jp\0info.tr\0"
+"mortgage\0"
+"info.tt\0"
+"\xe5\x8f\xb0\xe7\x81\xa3\0"
+"muroran.hokkaido.jp\0"
+"tendo.yamagata.jp\0"
+"nanbu.tottori.jp\0info.tz\0"
+"go.dyndns.org\0"
+"is-very-nice.org\0"
+"hammarfeasta.no\0"
+"williamsburg.museum\0dyndns-wiki.com\0"
+"tagawa.fukuoka.jp\0"
+"kurotaki.nara.jp\0xerox\0"
+"lib.ma.us\0"
+"sch.lk\0"
+"arkhangelsk.ru\0"
+"trentino-s-tirol.it\0"
+"\xc3\xa1lt\xc3\xa1.no\0info.ro\0"
+"ab.ca\0askoy.no\0"
+"malopolska.pl\0"
+"aogaki.hyogo.jp\0info.sd\0"
+"km.ua\0"
+"sch.ly\0"
+"onjuku.chiba.jp\0"
+"muncie.museum\0"
+"kawaminami.miyazaki.jp\0"
+"cn-north-1.compute.amazonaws.cn\0"
+"vads\xc3\xb8.no\0"
+"ushuaia.museum\0vista\0"
+"kaminokawa.tochigi.jp\0"
+"olbiatempio.it\0shiga.jp\0"
+"sener\0"
+"sch.ng\0kddi\0endoftheinternet.org\0"
+"ichikai.tochigi.jp\0"
+"lund.no\0lib.ga.us\0style\0"
+"info.pk\0tsaritsyn.ru\0"
+"info.pl\0"
+"jevnaker.no\0"
+"fst.br\0ainan.ehime.jp\0"
+"california.museum\0sony\0"
+"oketo.hokkaido.jp\0"
"is-a-bruinsfan.org\0"
-"yufu.oita.jp\0berkeley.museum\0"
-"torino.it\0per.la\0"
-"noheji.aomori.jp\0koebenhavn.museum\0isa-geek.com\0"
-"choyo.kumamoto.jp\0"
-"s\xc3\xb8r-odal.no\0"
-"int.is\0bir.ru\0"
-"jefferson.museum\0"
-"brasil.museum\0"
-"sologne.museum\0"
-"shimosuwa.nagano.jp\0setagaya.tokyo.jp\0"
-"tokoname.aichi.jp\0lerdal.no\0"
-"!retina.ar\0boston.museum\0"
-"bologna.it\0kimobetsu.hokkaido.jp\0yuzawa.niigata.jp\0"
-"obuse.nagano.jp\0gs.svalbard.no\0"
-"furudono.fukushima.jp\0"
-"isla.pr\0ny.us\0"
-"5.bg\0"
-"lt.ua\0"
-"gran.no\0"
-"per.nf\0"
-"int.la\0"
-"kumakogen.ehime.jp\0nasu.tochigi.jp\0"
-"shirataka.yamagata.jp\0"
-"vet.br\0graz.museum\0"
-"int.lk\0"
-"plc.co.im\0md.us\0k12.gu.us\0"
-"wildlife.museum\0"
-"stokke.no\0"
-"stordal.no\0oskol.ru\0"
-"kosaka.akita.jp\0"
-"kitami.hokkaido.jp\0"
-"higashimatsuyama.saitama.jp\0"
-"s\xc3\xb8rreisa.no\0poznan.pl\0"
-"\xd1\x81\xd1\x80\xd0\xb1\0"
-"tokuyama.yamaguchi.jp\0"
-"tosa.kochi.jp\0est-le-patron.com\0"
-"hachijo.tokyo.jp\0"
-"ibaraki.osaka.jp\0rindal.no\0"
-"taishi.osaka.jp\0ol.no\0"
-"int.mv\0lib.az.us\0"
-"int.mw\0hjartdal.no\0"
-"imb.br\0\xc3\xb8ksnes.no\0"
-"ishikawa.jp\0osen.no\0"
-"nakamura.kochi.jp\0"
-"seiyo.ehime.jp\0mincom.tn\0"
-"chieti.it\0sakado.saitama.jp\0"
-"enebakk.no\0cc.ca.us\0from-hi.com\0"
-"kokonoe.oita.jp\0auto.pl\0"
-"venice.it\0shimada.shizuoka.jp\0"
-"surrey.museum\0"
-"audnedaln.no\0"
-"minamifurano.hokkaido.jp\0axis.museum\0webhop.info\0"
-"is-not-certified.com\0"
-"volda.no\0"
-"is-a-lawyer.com\0"
-"oga.akita.jp\0"
-"higashimatsushima.miyagi.jp\0"
-"tonaki.okinawa.jp\0"
-"somna.no\0rovno.ua\0"
-"nt.gov.au\0"
-"cc.pr.us\0"
-"cs.it\0bieszczady.pl\0"
-"per.sg\0"
-"research.museum\0endoftheinternet.org\0"
-"int.pt\0"
-"costume.museum\0"
-"eisenbahn.museum\0slask.pl\0"
-"gdynia.pl\0"
-"wa.au\0pol.dz\0fukui.jp\0higashishirakawa.gifu.jp\0botanicalgarden.museum\0"
-"automotive.museum\0"
-"sshn.se\0"
-"nogata.fukuoka.jp\0cc.nm.us\0is-an-anarchist.com\0"
-"dontexist.com\0"
-"an.it\0"
-"uenohara.yamanashi.jp\0"
+"info.pr\0"
+"nt.edu.au\0"
+"carrier.museum\0newport.museum\0"
+"promo\0"
+"mb.it\0mima.tokushima.jp\0"
+"info.na\0jan-mayen.no\0"
+"narita.chiba.jp\0"
+"info.mv\0info.nf\0"
+"fuso.aichi.jp\0gmina.pl\0"
+"manx.museum\0\xd9\x85\xd9\x84\xd9\x8a\xd8\xb3\xd9\x8a\xd8\xa7\0"
+"show.aero\0moskenes.no\0sch.qa\0lib.nh.us\0"
+"fnd.br\0cieszyn.pl\0"
+"properties\0ru.com\0se.com\0"
+"info.nr\0"
+"madrid.museum\0love\0"
+"hakone.kanagawa.jp\0kita.osaka.jp\0"
+"from-de.com\0"
+"siena.it\0tateshina.nagano.jp\0"
+"cricket\0\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0\0"
+"numata.hokkaido.jp\0"
+"brussel.museum\0hitra.no\0pyatigorsk.ru\0"
+"rifu.miyagi.jp\0ind.tn\0"
+"judygarland.museum\0"
+"mp.br\0"
+"higashitsuno.kochi.jp\0"
+"info.la\0"
+"fr.it\0"
+"zone\0"
+"si.it\0elblag.pl\0"
+"baikal.ru\0"
+"toyotsu.fukuoka.jp\0"
+"building.museum\0sorfold.no\0"
+"is-a-geek.com\0"
+"eidsvoll.no\0sch.sa\0"
+"institute\0"
+"dazaifu.fukuoka.jp\0"
+"chukotka.ru\0rivne.ua\0domains\0from-sd.com\0ro.com\0"
+"mihara.kochi.jp\0asahi.nagano.jp\0"
+"stockholm.museum\0chernigov.ua\0"
+"potenza.it\0"
+"pagespeedmobilizer.com\0"
+"shoo.okayama.jp\0"
+"bible.museum\0sherbrooke.museum\0"
+"nesset.no\0"
+"chloe\0"
+"anpachi.gifu.jp\0aibetsu.hokkaido.jp\0wlocl.pl\0"
+"mi.it\0"
+"elverum.no\0"
+"fredrikstad.no\0markets\0"
+"iglesias-carbonia.it\0"
+"nikaho.akita.jp\0miyashiro.saitama.jp\0"
+"asmatart.museum\0"
+"tsushima.nagasaki.jp\0"
+"hekinan.aichi.jp\0"
+"lib.ms.us\0lib.nc.us\0"
+"inazawa.aichi.jp\0"
+"info.ki\0agdenes.no\0"
+"medizinhistorisches.museum\0furniture\0"
+"ozora.hokkaido.jp\0wakayama.wakayama.jp\0"
+"gyokuto.kumamoto.jp\0"
+"fishing\0"
+"hyogo.jp\0"
+"stj\xc3\xb8rdal.no\0"
+"kutno.pl\0"
+"ulvik.no\0"
+"ofunato.iwate.jp\0restaurant\0"
+"americanantiques.museum\0paderborn.museum\0"
+"sp.it\0yokaichiba.chiba.jp\0"
+"kurgan.ru\0"
+"hakata.fukuoka.jp\0man\0"
+"entomology.museum\0"
+"otoyo.kochi.jp\0"
+"lel.br\0"
+"zoology.museum\0samnanger.no\0"
+"obama.nagasaki.jp\0"
+"oshu.iwate.jp\0miasa.nagano.jp\0"
+"rnrt.tn\0"
+"money.museum\0"
+"\xe5\xb1\xb1\xe5\x8f\xa3.jp\0"
+"yahiko.niigata.jp\0kadena.okinawa.jp\0"
+"\xc3\xb8ygarden.no\0"
+"v\xc3\xa5gan.no\0"
+"trentino.it\0"
+"\xc3\xb8rskog.no\0"
+"hoyanger.no\0sb.ua\0"
+"vestby.no\0"
+"yurihonjo.akita.jp\0"
+"fjaler.no\0cc.ks.us\0"
+"\xd9\x82\xd8\xb7\xd8\xb1\0"
+"ltd\0"
+"rockart.museum\0"
+"lib.as.us\0"
+"hashima.gifu.jp\0"
+"agano.niigata.jp\0ath.cx\0"
+"gangaviika.no\0"
+"hammerfest.no\0"
+"saskatchewan.museum\0est-mon-blogueur.com\0"
+"hoylandet.no\0stockholm\0"
+"tatsuno.nagano.jp\0"
+"georgia.museum\0"
+"kherson.ua\0"
+"shiroishi.miyagi.jp\0tomi.nagano.jp\0"
+"computerhistory.museum\0"
+"kofu.yamanashi.jp\0"
+"meo\0"
+"setagaya.tokyo.jp\0prochowice.pl\0"
+"farm.museum\0"
+"fujikawa.yamanashi.jp\0"
+"\xe9\xa3\x9e\xe5\x88\xa9\xe6\xb5\xa6\0dontexist.net\0"
+"workshop.museum\0toray\0"
+"kosaka.akita.jp\0shijonawate.osaka.jp\0takanezawa.tochigi.jp\0"
+"k12.ak.us\0"
+"nakamura.kochi.jp\0ochi.kochi.jp\0iizuna.nagano.jp\0"
"midtre-gauldal.no\0"
-"hm.no\0komvux.se\0"
-"hidaka.wakayama.jp\0hobby-site.org\0"
-"giske.no\0"
-"sund.no\0"
-"troms\xc3\xb8.no\0"
+"k12.md.us\0"
+"inuyama.aichi.jp\0"
+"kumatori.osaka.jp\0"
+"ako.hyogo.jp\0"
+"tgory.pl\0"
+"ato.br\0higashikawa.hokkaido.jp\0akagi.shimane.jp\0bbs.tr\0"
+"newspaper.museum\0oregontrail.museum\0"
+"gb.net\0"
+"\xe7\xb6\xb2\xe8\xb7\xaf.tw\0"
+"ap.it\0"
+"zaporizhzhia.ua\0"
+"taka.hyogo.jp\0"
+"karate.museum\0is-a-geek.org\0"
+"from-ks.com\0"
+"fage\0misconfused.org\0"
+"hn.cn\0"
+"palana.ru\0"
+"kisarazu.chiba.jp\0"
+"vaapste.no\0"
+"namie.fukushima.jp\0ichikawa.hyogo.jp\0"
+"cn.com\0"
+"stpetersburg.museum\0nord-fron.no\0iamallama.com\0"
+"fam.pk\0"
+"skjervoy.no\0"
+"beskidy.pl\0"
+"siellak.no\0"
+"mi.th\0"
+"mil\0"
+"culturalcenter.museum\0tsk.ru\0odessa.ua\0"
+"otama.fukushima.jp\0"
+"ishikawa.fukushima.jp\0"
+"nu.ca\0"
+"omiya.saitama.jp\0"
+"bike\0"
+"hirono.iwate.jp\0digital\0read\0"
+"exhibition.museum\0"
+"tn.it\0hita.oita.jp\0"
+"inder\xc3\xb8y.no\0"
+"fail\0"
+"otsuka\0"
+"k-uralsk.ru\0"
+"tamaki.mie.jp\0florist\0"
+"mi.us\0place\0"
+"yono.saitama.jp\0movistar\0"
+"sn\xc3\xa5""ase.no\0k12.ma.us\0"
+"ashibetsu.hokkaido.jp\0mizusawa.iwate.jp\0isa.kagoshima.jp\0"
+"farsund.no\0"
+"haebaru.okinawa.jp\0"
+"gs.aa.no\0"
+"hyllestad.no\0"
+"itako.ibaraki.jp\0"
+"pics\0"
+"godo.gifu.jp\0"
+"fauske.no\0frei.no\0dyndns.info\0"
+"bg.it\0"
+"matsumoto.nagano.jp\0"
+"kids.museum\0gaivuotna.no\0"
+"dell\0"
+"cc.ma.us\0"
+"\xe5\xb2\xa9\xe6\x89\x8b.jp\0yamagata.ibaraki.jp\0"
+"austevoll.no\0mma\0"
+"br.com\0"
+"fuchu.hiroshima.jp\0ostrowiec.pl\0podlasie.pl\0"
+"nature.museum\0"
+"usdecorativearts.museum\0bing\0"
+"matsudo.chiba.jp\0niimi.okayama.jp\0"
+"federation.aero\0brussels\0"
+"ancona.it\0piaget\0"
+"k12.ga.us\0"
+"jorpeland.no\0camera\0"
+"preservation.museum\0"
+"vibo-valentia.it\0"
+"tochigi.jp\0"
+"salerno.it\0"
+"iwade.wakayama.jp\0kiwi.nz\0"
+"pvt.ge\0gifts\0globo\0"
+"honai.ehime.jp\0"
+"childrensgarden.museum\0spreadbetting\0"
+"hannan.osaka.jp\0"
+"raholt.no\0cc.ga.us\0from-ut.com\0"
+"cartier\0maif\0"
+"kolobrzeg.pl\0"
+"moe\0"
+"bungotakada.oita.jp\0"
+"moi\0"
+"otaru.hokkaido.jp\0\xe8\xb0\xb7\xe6\xad\x8c\0"
+"akita.jp\0"
+"carboniaiglesias.it\0"
+"d.bg\0"
+"mov\0"
+"gs.ah.no\0marnardal.no\0fans\0"
+"tysnes.no\0mordovia.ru\0"
+"bearalv\xc3\xa1hki.no\0engineering\0compute-1.amazonaws.com\0"
+"is-a-nascarfan.com\0"
+"\xd0\xb8\xd0\xba\xd0\xbe\xd0\xbc.museum\0"
+"friuli-venezia-giulia.it\0bn.it\0udono.mie.jp\0"
+"oslo.no\0"
+"nu.it\0mormon\0"
+"freiburg.museum\0hamar.no\0"
+"kita.tokyo.jp\0"
+"minamifurano.hokkaido.jp\0"
+"bible\0"
+"esp.br\0"
+"is-a-democrat.com\0"
+"narusawa.yamanashi.jp\0"
+"uonuma.niigata.jp\0wien\0"
+"on-the-web.tv\0"
+"karm\xc3\xb8y.no\0"
+"mosjoen.no\0"
+"koya.wakayama.jp\0"
+"chernovtsy.ua\0holiday\0from-mi.com\0"
+"square.museum\0is-a-patsfan.org\0"
+"mihama.fukui.jp\0"
+"clothing\0"
+"reit\0"
+"historichouses.museum\0gjovik.no\0desi\0"
+"cam.it\0asuke.aichi.jp\0"
+"kizu.kyoto.jp\0"
+"syzran.ru\0eu-central-1.compute.amazonaws.com\0"
+"ama.shimane.jp\0"
+"farm\0"
+"jaworzno.pl\0"
+"emp.br\0"
+"k12.ar.us\0"
+"oto.fukuoka.jp\0takahagi.ibaraki.jp\0elk.pl\0"
+"k12.mo.us\0"
+"soo.kagoshima.jp\0umaji.kochi.jp\0"
+"farmequipment.museum\0github.io\0"
+"mashiki.kumamoto.jp\0"
+"k.bg\0"
+"mtn\0"
+"skole.museum\0deals\0"
+"is-a-student.com\0"
+"friuli-ve-giulia.it\0"
+"force.museum\0nec\0"
+"fast\0walter\0"
+"pharmacien.fr\0ce.it\0hakuba.nagano.jp\0"
+"s3-eu-west-1.amazonaws.com\0"
+"lucca.it\0"
+"nakadomari.aomori.jp\0"
+"antiques.museum\0resistance.museum\0cc.mo.us\0"
+"troandin.no\0vyatka.ru\0"
+"net\0microsoft\0"
+"civilisation.museum\0"
+"komatsushima.tokushima.jp\0"
+"bronnoysund.no\0new\0"
+"nanbu.yamanashi.jp\0"
+"vic.au\0\xd8\xa7\xd9\x84\xd8\xb3\xd8\xb9\xd9\x88\xd8\xaf\xd9\x8a\xd9\x87\0"
+"shitara.aichi.jp\0kamikawa.hokkaido.jp\0nogi.tochigi.jp\0"
+"tn.us\0pink\0"
+"yokote.akita.jp\0"
+"oz.au\0k12.tx.us\0physio\0"
+"\xe0\xa6\xad\xe0\xa6\xbe\xe0\xa6\xb0\xe0\xa6\xa4\0"
+"stalbans.museum\0productions\0"
+"fvg.it\0"
+"riik.ee\0aland.fi\0"
+"okazaki.aichi.jp\0"
+"gs.tm.no\0"
+"*.sapporo.jp\0"
+"children.museum\0dali.museum\0"
+"ngo\0"
+"ritto.shiga.jp\0"
+"wiki\0dyndns-at-home.com\0"
+"vc.it\0"
+"rent\0"
+"berlevag.no\0"
+"bryne.no\0\xd8\xa7\xd9\x84\xd8\xb3\xd8\xb9\xd9\x88\xd8\xaf\xd9\x8a\xd8\xa9\0nhk\0"
+"eng.br\0carrara-massa.it\0"
+"penza.ru\0"
+"lib.in.us\0"
+"onomichi.hiroshima.jp\0"
+"k12.oh.us\0"
+"ebino.miyazaki.jp\0"
+"deatnu.no\0lib.wi.us\0"
+"wa.au\0r.bg\0us.org\0"
+"univ.sn\0"
+"seiro.niigata.jp\0"
+"brindisi.it\0"
+"is-a-hard-worker.com\0"
+"rankoshi.hokkaido.jp\0"
+"archi\0"
+"dnsdojo.org\0from-ia.com\0"
+"kimitsu.chiba.jp\0"
+"chernihiv.ua\0"
+"cl.it\0toride.ibaraki.jp\0"
+"bjarkoy.no\0"
+"bu.no\0"
+"pc.it\0"
+"karasjok.no\0"
+"ol.no\0"
+"kesennuma.miyagi.jp\0katsuragi.nara.jp\0"
+"tourism.tn\0"
+"bolzano.it\0"
+"act.au\0trondheim.no\0"
+"trentinosuedtirol.it\0suwalki.pl\0"
+"bahccavuotna.no\0abo.pa\0"
+"yamagata.gifu.jp\0canon\0"
+"\xe0\xae\x9a\xe0\xae\xbf\xe0\xae\x99\xe0\xaf\x8d\xe0\xae\x95\xe0\xae\xaa\xe0\xaf\x8d\xe0\xae\xaa\xe0\xaf\x82\xe0\xae\xb0\xe0\xaf\x8d\0horse\0"
+"viajes\0"
+"repair\0\xe6\x89\x8b\xe8\xa1\xa8\0"
+"history.museum\0"
+"gs.hm.no\0"
+"\xe7\xa6\x8f\xe4\xba\x95.jp\0"
+"inashiki.ibaraki.jp\0"
+"us.na\0osoyro.no\0fedje.no\0"
+"sakai.fukui.jp\0"
+"air-surveillance.aero\0engineer.aero\0pri.ee\0"
+"is.it\0namikata.ehime.jp\0"
+"warabi.saitama.jp\0"
+"strand.no\0"
+"lecco.it\0"
+"tatar\0"
+"shinjo.yamagata.jp\0"
+"sakahogi.gifu.jp\0"
+"aarborte.no\0cityeats\0"
+"\xe7\xbe\xa4\xe9\xa6\xac.jp\0rest\0"
+"skien.no\0"
+"kasai.hyogo.jp\0hitachinaka.ibaraki.jp\0"
+"costume.museum\0photography.museum\0froya.no\0grozny.ru\0simbirsk.ru\0"
+"barletta-trani-andria.it\0sells-it.net\0"
+"y.bg\0"
+"art.museum\0"
+"karpacz.pl\0"
+"sanok.pl\0"
+"gs.nt.no\0"
+"fortworth.museum\0murmansk.ru\0"
+"mansion.museum\0"
+"cs.it\0"
+"nishiokoppe.hokkaido.jp\0yaese.okinawa.jp\0"
+"santacruz.museum\0googleapis.com\0"
+"servebbs.net\0"
+"cc.nm.us\0"
+"asso.fr\0lupin\0"
+"eigersund.no\0"
+"sukumo.kochi.jp\0ketrzyn.pl\0"
+"compute.amazonaws.com\0"
+"nagara.chiba.jp\0"
+"bokn.no\0"
+"mino.gifu.jp\0"
+"author.aero\0"
+"erni\0"
+"asso.gp\0iz.hr\0"
+"otsuki.yamanashi.jp\0"
+"posts-and-telecommunications.museum\0marker.no\0"
+"is-into-cars.com\0"
+"flynnhub.com\0"
+"kr\xc3\xa5""anghke.no\0"
+"nakamichi.yamanashi.jp\0"
+"tokke.no\0"
+"pc.pl\0"
+"etne.no\0community\0"
+"hol.no\0"
+"asso.ht\0tatsuno.hyogo.jp\0tokamachi.niigata.jp\0"
+"valer.ostfold.no\0d.se\0"
+"agrar.hu\0"
+"nagareyama.chiba.jp\0niigata.niigata.jp\0"
+"ap-northeast-1.compute.amazonaws.com\0"
+"qh.cn\0sardinia.it\0tozawa.yamagata.jp\0"
+"oe.yamagata.jp\0"
+"scotland.museum\0kalmykia.ru\0wedding\0"
+"med.br\0"
+"nra\0"
+"asso.bj\0tabayama.yamanashi.jp\0"
+"obi\0"
+"cci.fr\0ome.tokyo.jp\0"
+"sakuho.nagano.jp\0"
+"per.la\0s\xc3\xa1l\xc3\xa1t.no\0"
+"murata.miyagi.jp\0"
+"airport.aero\0"
+"cz.it\0"
+"friulive-giulia.it\0koeln\0"
+"asso.ci\0birthplace.museum\0nrw\0"
+"naka.hiroshima.jp\0shiranuka.hokkaido.jp\0"
+"bamble.no\0"
+"jx.cn\0mibu.tochigi.jp\0"
+"watchandclock.museum\0g\xc3\xa1ls\xc3\xa1.no\0"
+"shibata.niigata.jp\0!teledata.mz\0"
+"nanmoku.gunma.jp\0"
+"med.ec\0aquarium.museum\0il.us\0outsystemscloud.com\0"
+"med.ee\0mandal.no\0verran.no\0"
+"kumamoto.jp\0is-a-geek.net\0"
+"flekkefjord.no\0"
+"shinonsen.hyogo.jp\0fudai.iwate.jp\0"
+"\xe4\xbf\xa1\xe6\x81\xaf\0"
+"nishiaizu.fukushima.jp\0"
+"sumy.ua\0"
+"per.nf\0"
+"chiba.jp\0ntt\0"
+"asso.dz\0"
+"badaddja.no\0cc.id.us\0\xd8\xa8\xd8\xa7\xd8\xb2\xd8\xa7\xd8\xb1\0"
+"k.se\0"
+"niki.hokkaido.jp\0higashikagawa.kagawa.jp\0"
+"koeln.museum\0"
+"andoy.no\0"
+"frana.no\0\xd9\x83\xd9\x88\xd9\x85\0"
+"katashina.gunma.jp\0"
+"tourism.pl\0"
+"aremark.no\0"
+"chita.ru\0"
+"tarumizu.kagoshima.jp\0"
+"\xe7\xbd\x91\xe7\xb5\xa1.hk\0orkanger.no\0"
+"tempioolbia.it\0saotome.st\0"
+"kawakita.ishikawa.jp\0"
+"karikatur.museum\0uz.ua\0hermes\0"
+"friuli-vgiulia.it\0"
+"textile.museum\0"
+"iwatsuki.saitama.jp\0"
+"cc.ok.us\0"
+"med.ht\0"
+"\xe8\xaf\xba\xe5\x9f\xba\xe4\xba\x9a\0"
+"tsushima.aichi.jp\0ide.kyoto.jp\0"
+"abira.hokkaido.jp\0actor\0"
+"\xe7\xb5\x84\xe7\xbb\x87.hk\0"
+"tsuchiura.ibaraki.jp\0"
+"dep.no\0"
+"republican\0"
+"vefsn.no\0"
+"luxembourg.museum\0"
+"chikuho.fukuoka.jp\0"
+"nasu.tochigi.jp\0"
+"intelligence.museum\0nyc\0"
+"is-an-actress.com\0"
+"\xe7\xa6\x8f\xe5\xb2\xa1.jp\0"
+"vda.it\0"
+"\xe6\xbb\x8b\xe8\xb3\x80.jp\0worse-than.tv\0"
+"gliding.aero\0notaires.km\0lea\xc5\x8bgaviika.no\0"
+"r.se\0per.sg\0"
+"taxi.br\0"
+"elvendrell.museum\0"
+"kariwa.niigata.jp\0"
+"science.museum\0from-ms.com\0from-nc.com\0"
+"cesena-forli.it\0"
+"dc.us\0dontexist.org\0"
+"kishiwada.osaka.jp\0"
+"yoshioka.gunma.jp\0"
+"k12.dc.us\0"
+"toyoake.aichi.jp\0seranishi.hiroshima.jp\0noda.iwate.jp\0"
+"cagliari.it\0buyshouses.net\0"
+"aso.kumamoto.jp\0"
+"sauda.no\0"
+"\xe5\x85\xb5\xe5\xba\xab.jp\0nisshin.aichi.jp\0"
+"vegarshei.no\0"
+"m\xc4\x81ori.nz\0"
+"overhalla.no\0voagat.no\0"
+"indian.museum\0railroad.museum\0nsk.ru\0is-leet.com\0"
+"inf.br\0nakama.fukuoka.jp\0"
+"readmyblog.org\0"
+"bergamo.it\0\xe5\xa5\x88\xe8\x89\xaf.jp\0"
+"ushiku.ibaraki.jp\0"
+"med.ly\0"
+"tahara.aichi.jp\0"
+"ringsaker.no\0cc.or.us\0"
+"aga.niigata.jp\0"
+"property\0"
+"hinohara.tokyo.jp\0"
+"ac\0"
+"ad\0kuji.iwate.jp\0kinder\0compute.amazonaws.cn\0"
+"ae\0"
+"af\0uchinomi.kagawa.jp\0kashihara.nara.jp\0"
+"ag\0snasa.no\0"
+"ai\0"
+"inf.cu\0wa.us\0"
+"al\0tomioka.gunma.jp\0"
+"am\0"
+"an\0"
+"ao\0k12.wi.us\0"
+"traniandriabarletta.it\0"
+"aq\0ba\0"
+"ar\0bb\0"
+"as\0uslivinghistory.museum\0"
+"at\0"
+"au\0be\0"
+"bf\0tomisato.chiba.jp\0tajimi.gifu.jp\0"
+"aw\0bg\0is-a-knight.org\0"
+"ax\0bh\0"
+"bi\0"
+"az\0bj\0"
+"bm\0nebraska.museum\0one\0"
+"bo\0ong\0s3-sa-east-1.amazonaws.com\0"
+"ca\0med.om\0"
+"br\0gold\0"
+"bs\0cc\0y.se\0"
+"bt\0cd\0nakai.kanagawa.jp\0golf\0onl\0"
+"med.pa\0cc.vi.us\0"
+"bv\0cf\0shinanomachi.nagano.jp\0"
+"bw\0cg\0york.museum\0"
+"ch\0nishihara.kumamoto.jp\0"
+"by\0ci\0"
+"bz\0"
+"firestone\0"
+"cl\0chikusei.ibaraki.jp\0"
+"cm\0frosta.no\0"
+"cn\0"
+"co\0tingvoll.no\0isa.us\0\xe5\x95\x86\xe5\xba\x97\0"
+"sic.it\0kasuga.hyogo.jp\0med.pl\0"
+"cr\0!city.yokohama.jp\0maori.nz\0"
+"shiroi.chiba.jp\0amagasaki.hyogo.jp\0flsmidth\0"
+"cu\0de\0soc.lk\0gloppen.no\0holdings\0loans\0"
+"cv\0funabashi.chiba.jp\0kaizuka.osaka.jp\0"
+"cw\0ooo\0"
+"cx\0\xe1\x83\x92\xe1\x83\x94\0financial\0"
+"stada\0"
+"cz\0dj\0bedzin.pl\0"
+"dk\0\xd8\xa8\xd9\x8a\xd8\xaa\xd9\x83\0"
+"wodzislaw.pl\0"
+"dm\0"
+"otaki.chiba.jp\0saroma.hokkaido.jp\0poker\0"
+"do\0lviv.ua\0"
+"bibai.hokkaido.jp\0aridagawa.wakayama.jp\0"
+"arezzo.it\0"
+"ec\0civilization.museum\0vestnes.no\0"
+"ee\0communications.museum\0"
+"pmn.it\0"
+"eg\0"
+"dz\0final\0"
+"sarufutsu.hokkaido.jp\0nagawa.nagano.jp\0accountant\0"
+"muenchen.museum\0"
+"\xd1\x83\xd0\xbf\xd1\x80.\xd1\x81\xd1\x80\xd0\xb1\0"
+"pisa.it\0"
+"linde\0"
+"es\0audnedaln.no\0narvik.no\0"
+"et\0geometre-expert.fr\0livorno.it\0tra.kp\0"
+"eu\0med.sa\0lib.sd.us\0goog\0"
+"5.bg\0krager\xc3\xb8.no\0gratis\0"
+"med.sd\0"
+"fi\0luxury\0"
+"nanjo.okinawa.jp\0"
+"askim.no\0aurskog-holand.no\0asso.re\0\xd9\x85\xd8\xb5\xd8\xb1\0"
+"wada.nagano.jp\0"
+"fm\0"
+"fo\0org\0"
+"fm.br\0agro.pl\0"
+"ga\0"
+"fr\0gb\0kazo.saitama.jp\0"
+"gd\0ogawa.ibaraki.jp\0"
+"ge\0us-east-1.amazonaws.com\0"
+"gf\0"
+"gg\0mer\xc3\xa5ker.no\0from-ok.com\0"
+"gh\0kuwana.mie.jp\0"
+"gi\0"
+"mashike.hokkaido.jp\0"
+"is-a-celticsfan.org\0"
+"gl\0ogawa.nagano.jp\0"
+"gm\0"
+"gn\0"
+"arendal.no\0"
+"sd.cn\0gp\0"
+"gq\0"
+"gr\0\xe5\xbe\xb3\xe5\xb3\xb6.jp\0"
+"gs\0claims\0"
+"gt\0"
+"gw\0lib.md.us\0"
+"int.ar\0"
+"gy\0"
+"hk\0colonialwilliamsburg.museum\0associates\0"
+"hm\0"
+"hn\0"
+"int.az\0karumai.iwate.jp\0"
+"hr\0zao.miyagi.jp\0anan.tokushima.jp\0"
+"gov.ac\0"
+"ht\0id\0tsuiki.fukuoka.jp\0ikoma.nara.jp\0chungnam.kr\0mail.pl\0"
+"gov.ae\0int.bo\0hu\0ie\0bergen.no\0kh.ua\0is-lost.org\0"
+"gov.af\0"
+"kurobe.toyama.jp\0green\0"
+"yk.ca\0"
+"tonami.toyama.jp\0"
+"gov.al\0"
+"md.ci\0im\0histoire.museum\0salem.museum\0"
+"in\0rm.it\0vercelli.it\0"
+"int.ci\0io\0music.museum\0"
+"bieszczady.pl\0gmail\0"
+"gov.ba\0iq\0"
+"gov.ar\0gov.bb\0ir\0"
+"gov.as\0is\0\xc3\xa1laheadju.no\0samsung\0"
+"it\0dnsdojo.net\0"
+"gov.au\0int.co\0je\0game-server.cc\0"
+"gov.bf\0"
+"kragero.no\0"
+"gov.bh\0"
+"asso.nc\0"
+"gov.az\0"
+"gov.bm\0voss.no\0"
+"gov.bo\0jo\0insure\0"
+"chirurgiens-dentistes.fr\0gorizia.it\0jp\0ovh\0"
+"inf.mk\0"
+"gov.br\0"
+"gov.bs\0\xc3\xb8ksnes.no\0"
+"gov.bt\0gov.cd\0"
+"flora.no\0"
+"kg\0khakassia.ru\0"
+"gov.by\0ki\0"
+"gov.bz\0shinkamigoto.nagasaki.jp\0"
+"sk.ca\0\xc3\xa5lesund.no\0"
+"gov.cl\0fukaya.saitama.jp\0wloclawek.pl\0"
+"gov.cm\0km\0tynset.no\0chuvashia.ru\0tec.ve\0"
+"gov.cn\0kn\0"
+"gov.co\0journalism.museum\0netbank\0"
+"basilicata.it\0susaki.kochi.jp\0ogawara.miyagi.jp\0kp\0"
+"la\0kvitsoy.no\0"
+"kr\0lb\0"
+"lc\0alaheadju.no\0"
+"gd.cn\0"
+"gov.cu\0"
+"fujiidera.osaka.jp\0"
+"gov.cx\0"
+"ky\0li\0oceanographique.museum\0viking.museum\0jessheim.no\0forgot.her.name\0"
+"kz\0kitchen\0"
+"lk\0"
+"minamiawaji.hyogo.jp\0nikko.tochigi.jp\0"
+"gov.dm\0"
+"kakuda.miyagi.jp\0"
+"gov.do\0"
+"kasuga.fukuoka.jp\0"
+"ma\0r\xc3\xa1isa.no\0"
+"lr\0"
+"gov.ec\0ls\0mc\0"
+"fukuoka.jp\0lt\0md\0"
+"gov.ee\0lu\0me\0"
+"lv\0"
+"gov.eg\0mg\0"
+"vet.br\0mh\0"
+"ly\0"
+"gov.dz\0"
+"mk\0"
+"zama.kanagawa.jp\0ml\0pid\0"
+"trade\0isa-hockeynut.com\0"
+"mn\0"
+"mo\0komvux.se\0"
+"mp\0"
+"mq\0na\0from-al.com\0"
+"fm.it\0futtsu.chiba.jp\0mr\0"
+"ms\0nc\0"
+"gov.et\0yasaka.nagano.jp\0mt\0"
+"mu\0ne\0ltda\0"
+"kazuno.akita.jp\0mv\0nf\0pin\0"
+"mw\0ng\0"
+"mishima.fukushima.jp\0mx\0"
+"steam.museum\0my\0"
+"group.aero\0\xe5\x80\x8b\xe4\xba\xba.hk\0"
+"matsuyama.ehime.jp\0nl\0"
+"no\0trana.no\0"
+"minamitane.kagoshima.jp\0nr\0"
+"schoenbrunn.museum\0wv.us\0"
+"mombetsu.hokkaido.jp\0"
+"gov.ge\0boston.museum\0schweiz.museum\0nu\0dyndns-pics.com\0"
+"ureshino.mie.jp\0"
+"aseral.no\0snz.ru\0"
+"gov.gh\0thruhere.net\0"
+"gov.gi\0"
+"nz\0"
+"gjesdal.no\0"
+"om\0"
+"gov.gn\0"
+"s3.amazonaws.com\0"
+"friulivgiulia.it\0tokyo.jp\0"
+"kvinesdal.no\0pa\0"
+"gov.gr\0"
+"asso.km\0hagebostad.no\0"
+"adachi.tokyo.jp\0"
+"pe\0"
+"pf\0"
+"bushey.museum\0"
+"lt.it\0seoul.kr\0ph\0kaszuby.pl\0"
+"civilaviation.aero\0int.is\0"
+"genoa.it\0teshikaga.hokkaido.jp\0kawanabe.kagoshima.jp\0"
+"gov.hk\0pk\0bharti\0"
+"friulivegiulia.it\0ebetsu.hokkaido.jp\0pl\0"
+"pm\0"
+"kanonji.kagawa.jp\0pn\0star\0"
+"shisui.chiba.jp\0"
+"qa\0"
+"tenri.nara.jp\0pr\0"
+"ps\0s3-website-us-west-2.amazonaws.com\0"
+"nago.okinawa.jp\0pt\0"
+"gov.ie\0alstahaug.no\0"
+"pw\0blogspot.com\0"
+"aya.miyazaki.jp\0tamano.okayama.jp\0"
+"asso.mc\0py\0"
+"cuisinella\0"
+"moriyoshi.akita.jp\0ikeda.gifu.jp\0berlin\0"
+"gov.in\0geek.nz\0"
+"okuizumo.shimane.jp\0konskowola.pl\0"
+"gov.iq\0circle\0"
+"gov.ir\0"
+"gov.is\0"
+"gov.it\0"
+"nb.ca\0re\0kv.ua\0"
"zagan.pl\0"
-"chikusei.ibaraki.jp\0wlocl.pl\0"
-"in-addr.arpa\0notaires.fr\0altai.ru\0"
+"int.la\0v\xc3\xa5g\xc3\xa5.no\0\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x91\0"
+"newhampshire.museum\0fm.no\0"
+"hiji.oita.jp\0"
+"gov.jo\0ro\0"
+"press.aero\0int.lk\0sa\0"
+"yoichi.hokkaido.jp\0kumenan.okayama.jp\0sb\0"
+"rs\0sc\0is-a-linux-user.org\0"
+"leg.br\0sd\0"
+"jur.pro\0ru\0se\0"
+"gov.kg\0rw\0sg\0"
+"brescia.it\0akishima.tokyo.jp\0sh\0"
+"gov.ki\0basel.museum\0si\0shacknet.nu\0"
+"ami.ibaraki.jp\0sj\0"
+"sk\0"
+"sl\0"
+"gov.km\0sandefjord.no\0sm\0"
+"gov.kn\0sn\0"
+"so\0"
+"yahaba.iwate.jp\0gov.kp\0"
+"gov.la\0pharmacy\0"
+"kunitachi.tokyo.jp\0gov.lb\0sr\0"
+"gov.lc\0tc\0"
+"hidaka.saitama.jp\0st\0td\0"
+"convent.museum\0nyny.museum\0floro.no\0su\0"
+"kurate.fukuoka.jp\0sv\0tf\0"
+"altai.ru\0tg\0"
+"ibigawa.gifu.jp\0kakogawa.hyogo.jp\0nagaokakyo.kyoto.jp\0sx\0th\0"
+"gov.ky\0sy\0"
+"gov.kz\0sz\0tj\0"
+"gov.lk\0tk\0"
+"int.mv\0tl\0"
+"int.mw\0herad.no\0tm\0"
+"oarai.ibaraki.jp\0tn\0"
+"to\0"
+"tp\0"
+"gov.ma\0ua\0dnsalias.com\0"
+"gov.lr\0tr\0"
+"sor-fron.no\0"
+"hb.cn\0gov.lt\0tt\0"
+"gov.me\0healthcare\0"
+"\xe9\x9d\x99\xe5\xb2\xa1.jp\0inagawa.hyogo.jp\0gov.lv\0tv\0"
+"gov.mg\0tw\0ug\0"
+"ad.jp\0miura.kanagawa.jp\0"
+"gov.ly\0"
+"tz\0"
+"gov.mk\0uk\0"
+"\xe4\xbd\x90\xe8\xb3\x80.jp\0okinawa.okinawa.jp\0gov.ml\0"
+"archaeology.museum\0"
+"biz.bb\0gov.mn\0"
+"gov.mo\0"
+"biz.at\0"
+"va\0"
+"iglesiascarbonia.it\0satte.saitama.jp\0gov.mr\0"
+"gov.ms\0us\0vc\0"
+"isshiki.aichi.jp\0"
+"gov.mu\0ve\0"
+"biz.az\0obira.hokkaido.jp\0gov.mv\0"
+"gov.mw\0gov.ng\0vg\0"
+"gov.my\0uy\0vi\0"
+"uz\0"
+"gs.rl.no\0"
+"corvette.museum\0"
+"vn\0"
+"marburg.museum\0swiss\0"
+"lyngdal.no\0"
+"taiki.hokkaido.jp\0gov.nr\0"
+"sandoy.no\0"
+"otoineppu.hokkaido.jp\0"
+"vu\0"
+"sr.it\0misugi.mie.jp\0wf\0"
+"orland.no\0pro\0"
+"can.museum\0servebbs.org\0"
+"int.pt\0"
+"services\0"
+"s\xc3\xb8mna.no\0gov.om\0"
+"higashi.fukuoka.jp\0"
+"taobao\0"
+"lombardia.it\0tsuwano.shimane.jp\0"
+"biei.hokkaido.jp\0"
+"meraker.no\0ws\0"
+"soka.saitama.jp\0"
+"wildlife.museum\0lib.tx.us\0"
+"shonai.fukuoka.jp\0gov.ph\0"
+"sakaki.nagano.jp\0"
+"copenhagen.museum\0gov.pk\0"
+"gov.pl\0"
+"blue\0christmas\0"
+"gov.pn\0"
+"gov.qa\0"
+"sanagochi.tokushima.jp\0gov.pr\0author\0"
+"vestv\xc3\xa5g\xc3\xb8y.no\0gov.ps\0"
+"yamanashi.jp\0gov.pt\0"
+"yakage.okayama.jp\0"
+"holt\xc3\xa5len.no\0"
+"gov.py\0"
+"pub\0"
"int.ru\0"
-"aquila.it\0"
+"hi.cn\0notaires.fr\0"
"int.rw\0"
-"ito.shizuoka.jp\0"
-"missoula.museum\0kolobrzeg.pl\0"
-"assabu.hokkaido.jp\0"
-"sld.do\0meloy.no\0"
+"trentino-altoadige.it\0osaka.jp\0"
+"loten.no\0"
+"biz.et\0odate.akita.jp\0"
+"niepce.museum\0"
+"rollag.no\0"
+"yt\0"
+"sd.us\0click\0"
+"lib.oh.us\0doesntexist.org\0"
+"immobilien\0"
+"stor-elvdal.no\0from-ri.com\0"
+"fribourg.museum\0finnoy.no\0"
+"diet\0"
+"int.tj\0"
+"gov.sa\0"
+"gov.sb\0"
+"gov.rs\0gov.sc\0"
+"gov.sd\0"
+"gov.ru\0lt.ua\0"
+"shell.museum\0saratov.ru\0gov.rw\0gov.sg\0"
+"aikawa.kanagawa.jp\0gov.sh\0"
+"tours\0"
+"aosta-valley.it\0gr.it\0buzen.fukuoka.jp\0int.tt\0"
+"res.aero\0v\xc3\xa6r\xc3\xb8y.no\0"
+"kawamata.fukushima.jp\0gov.sl\0"
+"minami.fukuoka.jp\0suzuka.mie.jp\0genkai.saga.jp\0"
+"shika.ishikawa.jp\0"
+"yao.osaka.jp\0gov.st\0"
+"gr.jp\0mitake.gifu.jp\0sejny.pl\0"
+"md.us\0"
+"gov.sx\0"
+"gov.sy\0nagoya\0"
+"kurume.fukuoka.jp\0gov.tj\0"
+"int.ve\0"
+"gov.tl\0"
+"gov.tm\0"
+"mitaka.tokyo.jp\0gov.tn\0"
+"gov.to\0"
+"biz.id\0my.id\0"
+"trogstad.no\0gov.ua\0"
+"gov.tr\0"
+"ass.km\0budejju.no\0"
+"gov.tt\0int.vn\0"
+"aogashima.tokyo.jp\0gets-it.net\0"
+"plants.museum\0gov.tw\0"
+"store.nf\0"
+"gov.uk\0"
+"ar.it\0"
+"schlesisches.museum\0"
+"unzen.nagasaki.jp\0"
+"gaular.no\0koenig.ru\0"
+"epson\0"
+"sld.do\0mr.no\0gov.vc\0"
+"ptz.ru\0gov.ve\0"
+"build\0"
+"tw.cn\0"
+"from-mn.com\0"
+"og.ao\0namsskogan.no\0"
+"yamato.kumamoto.jp\0"
+"moseushi.hokkaido.jp\0gov.vn\0"
+"rocks\0"
+"biz.ki\0"
+"nes.buskerud.no\0\xe7\xb5\x84\xe7\xb9\x94.tw\0"
+"schwarz\0"
+"pruszkow.pl\0"
+"r\xc3\xb8mskog.no\0bargains\0"
+"vardo.no\0mk.ua\0"
+"house\0"
+"hashimoto.wakayama.jp\0"
+"cc.fl.us\0gov.ws\0"
+"chosei.chiba.jp\0shimosuwa.nagano.jp\0"
+"donna.no\0"
+"tp.it\0"
+"cc.sc.us\0"
+"meet\0"
+"sologne.museum\0"
+"obu.aichi.jp\0"
+"ardal.no\0"
+"meldal.no\0is-a-republican.com\0"
+"maintenance.aero\0"
+"haboro.hokkaido.jp\0hatoyama.saitama.jp\0rich\0"
+"gateway.museum\0"
+"kikonai.hokkaido.jp\0kosa.kumamoto.jp\0"
+"yasuoka.nagano.jp\0"
+"village.museum\0"
+"kyoto.jp\0hanamaki.iwate.jp\0"
+"tomsk.ru\0"
+"\xe7\xa7\x8b\xe7\x94\xb0.jp\0toyohashi.aichi.jp\0shiso.hyogo.jp\0"
+"hadsel.no\0google\0firebaseapp.com\0"
+"biz.mv\0"
+"biz.mw\0"
+"bi.it\0"
+"otobe.hokkaido.jp\0"
+"kvam.no\0vindafjord.no\0mine.nu\0"
+"omuta.fukuoka.jp\0ogasawara.tokyo.jp\0biz.nr\0"
+"frosinone.it\0kainan.wakayama.jp\0"
+"higashiyoshino.nara.jp\0"
+"\xe5\xa4\xa7\xe9\x98\xaa.jp\0"
+"delmenhorst.museum\0"
+"iwanuma.miyagi.jp\0"
+"khmelnitskiy.ua\0"
+"kanan.osaka.jp\0"
+"uwajima.ehime.jp\0toyonaka.osaka.jp\0"
+"transport.museum\0"
+"sklep.pl\0"
+"figueres.museum\0"
+"shimogo.fukushima.jp\0nishinomiya.hyogo.jp\0"
+"oumu.hokkaido.jp\0habikino.osaka.jp\0nakano.tokyo.jp\0ohkura.yamagata.jp\0"
+"qld.edu.au\0on.ca\0vacations\0"
+"berkeley.museum\0collection.museum\0biz.pk\0"
+"biz.pl\0pulawy.pl\0"
+"yabuki.fukushima.jp\0"
+"b\xc3\xa6rum.no\0"
+"kanazawa.ishikawa.jp\0"
+"reklam.hu\0emerck\0"
+"\xe5\xae\xae\xe5\xb4\x8e.jp\0oita.oita.jp\0biz.pr\0"
+"cyou\0"
+"kiyokawa.kanagawa.jp\0yonago.tottori.jp\0"
+"cards\0"
+"discount\0"
"ak.us\0"
-"k12.md.us\0"
-"kawanishi.yamagata.jp\0is-lost.org\0"
-"ochi.kochi.jp\0"
-"amami.kagoshima.jp\0gamo.shiga.jp\0"
-"yamazoe.nara.jp\0"
-"shirako.chiba.jp\0matsuda.kanagawa.jp\0int.tj\0"
-"ota.tokyo.jp\0"
-"kicks-ass.net\0"
-"yamato.fukushima.jp\0shinjo.okayama.jp\0baltimore.museum\0ushistory.museum\0pro\0"
-"mallorca.museum\0hoyanger.no\0hobby-site.com\0"
-"narvik.no\0olsztyn.pl\0warmia.pl\0"
-"pol.ht\0int.tt\0"
-"mizusawa.iwate.jp\0h\xc3\xb8yanger.no\0przeworsk.pl\0"
-"matsuno.ehime.jp\0"
-"folkebibl.no\0"
-"pb.ao\0taranto.it\0nomi.ishikawa.jp\0chizu.tottori.jp\0alta.no\0"
-"8.bg\0okazaki.aichi.jp\0"
-"goshiki.hyogo.jp\0lib.wi.us\0"
-"or.at\0"
-"stateofdelaware.museum\0"
-"modern.museum\0"
-"\xd1\x80\xd1\x84\0"
-"or.bi\0himi.toyama.jp\0"
-"kitaaiki.nagano.jp\0toga.toyama.jp\0"
-"kutchan.hokkaido.jp\0tamaki.mie.jp\0finnoy.no\0int.vn\0"
-"fujisawa.iwate.jp\0"
-"homebuilt.aero\0cranbrook.museum\0"
-"kv\xc3\xa6""fjord.no\0"
-"or.ci\0saigawa.fukuoka.jp\0kutno.pl\0"
-"asuke.aichi.jp\0kanonji.kagawa.jp\0"
-"higashikagawa.kagawa.jp\0"
-"inashiki.ibaraki.jp\0matta-varjjat.no\0"
-"lviv.ua\0"
-"or.cr\0mitane.akita.jp\0"
-"*.kitakyushu.jp\0fujikawa.shizuoka.jp\0"
+"iide.yamagata.jp\0exposed\0"
+"store.ve\0de.com\0"
+"seljord.no\0sula.no\0"
+"skiptvet.no\0k12.mt.us\0"
+"friuliveneziagiulia.it\0ikeda.nagano.jp\0"
+"corporation.museum\0"
+"f.bg\0gj\xc3\xb8vik.no\0immo\0"
+"name.hr\0"
+"southwest.museum\0"
+"sekikawa.niigata.jp\0"
+"sciencecenters.museum\0"
+"tienda\0"
+"motoyama.kochi.jp\0"
+"plantation.museum\0kyoto\0"
+"izena.okinawa.jp\0"
+"mo\xc3\xa5reke.no\0"
+"og.it\0"
+"ap-southeast-1.compute.amazonaws.com\0s3-ap-southeast-1.amazonaws.com\0"
+"name.et\0"
+"kihoku.ehime.jp\0"
+"meme\0co.com\0"
+"prof.pr\0"
+"foggia.it\0kamisunagawa.hokkaido.jp\0"
+"historical.museum\0"
+"s3-ap-southeast-2.amazonaws.com\0"
+"biz.tj\0"
+"perm.ru\0"
+"tamayu.shimane.jp\0nanyo.yamagata.jp\0"
+"folldal.no\0"
+"matsuda.kanagawa.jp\0"
+"pe.ca\0"
+"etajima.hiroshima.jp\0mitsue.nara.jp\0biz.tr\0"
+"localhistory.museum\0rodeo\0doesntexist.com\0"
+"biz.tt\0"
+"iris.arpa\0zp.ua\0"
+"showa.yamanashi.jp\0"
+"urn.arpa\0sld.pa\0"
+"menu\0"
+"ar.us\0"
+"yusuhara.kochi.jp\0red\0"
+"glass.museum\0bygland.no\0"
+"ginoza.okinawa.jp\0\xd0\xba\xd0\xbe\xd0\xbc\0"
+"\xe7\xbd\x91\xe5\xba\x97\0"
+"store.ro\0"
+"higashikagura.hokkaido.jp\0"
+"selbu.no\0"
+"ohda.shimane.jp\0"
+"name.eg\0"
+"ren\0"
+"m.bg\0architecture.museum\0"
+"biz.vn\0"
+"satsumasendai.kagoshima.jp\0mazury.pl\0"
+"gojome.akita.jp\0"
+"chungbuk.kr\0"
+"\xe7\xbd\x91\xe7\xbb\x9c.cn\0nakasatsunai.hokkaido.jp\0takikawa.hokkaido.jp\0"
+"tokushima.tokushima.jp\0"
+"store.st\0"
+"name.az\0cnt.br\0johana.toyama.jp\0"
+"s3-website-eu-west-1.amazonaws.com\0"
+"social\0"
+"kvits\xc3\xb8y.no\0"
+"association.museum\0"
+"rikuzentakata.iwate.jp\0"
+"environment.museum\0indianmarket.museum\0hi.us\0"
+"ishikari.hokkaido.jp\0"
+"heimatunduhren.museum\0lib.de.us\0"
+"eti.br\0"
+"lunner.no\0estate\0"
+"lewismiller.museum\0\xec\x82\xbc\xec\x84\xb1\0"
+"komaki.aichi.jp\0"
+"naumburg.museum\0"
+"misato.wakayama.jp\0tsuru.yamanashi.jp\0"
+"haus\0"
+"kawagoe.mie.jp\0"
+"dance\0"
+"kadoma.osaka.jp\0"
+"ve.it\0"
+"vana\0"
+"museumcenter.museum\0"
+"\xc3\xb8stre-toten.no\0philips\0"
+"volyn.ua\0"
+"rio\0"
+"rip\0"
+"hiraya.nagano.jp\0skoczow.pl\0"
+"latrobe\0"
+"t.bg\0info\0homeftp.org\0"
+"shingu.hyogo.jp\0"
+"mykolaiv.ua\0"
+"loab\xc3\xa1t.no\0\xe7\xbd\x91\xe7\xab\x99\0"
+"prd.fr\0incheon.kr\0"
+"joburg\0"
+"\xe0\xb9\x84\xe0\xb8\x97\xe0\xb8\xa2\0"
+"oizumi.gunma.jp\0"
+"grp.lk\0"
+"cn.it\0kitamoto.saitama.jp\0"
+"silk.museum\0"
+"swinoujscie.pl\0"
+"\xe7\xbd\x91\xe7\xbb\x9c.hk\0sauherad.no\0komatsu\0"
+"pe.it\0datsun\0"
+"drangedal.no\0cc.nh.us\0versicherung\0"
+"date.fukushima.jp\0"
+"jl.cn\0mitane.akita.jp\0ozu.ehime.jp\0"
+"is-with-theband.com\0"
+"yoro.gifu.jp\0"
+"kamo.kyoto.jp\0azure-mobile.net\0"
+"aizuwakamatsu.fukushima.jp\0hasuda.saitama.jp\0targi.pl\0"
+"ddr.museum\0kiwi\0"
+"niyodogawa.kochi.jp\0"
+"snaase.no\0"
+"sumida.tokyo.jp\0"
+"emr.it\0"
+"prato.it\0surf\0"
+"iron.museum\0pittsburgh.museum\0us-gov-west-1.compute.amazonaws.com\0"
+"church\0futbol\0"
+"in.na\0"
+"moriyama.shiga.jp\0"
+"ehime.jp\0"
+"watch-and-clock.museum\0"
+"kushima.miyazaki.jp\0fussa.tokyo.jp\0"
+"qc.ca\0"
+"bmd.br\0shakotan.hokkaido.jp\0nyuzen.toyama.jp\0pe.kr\0"
+"skjerv\xc3\xb8y.no\0"
+"tree.museum\0"
"egersund.no\0"
-"srv.br\0"
-"belgorod.ru\0"
-"v\xc3\xa5gs\xc3\xb8y.no\0fh.se\0"
-"tsuruta.aomori.jp\0shibuya.tokyo.jp\0k12.va.us\0"
-"kamishihoro.hokkaido.jp\0"
-"sogne.no\0"
-"turystyka.pl\0"
-"gujo.gifu.jp\0"
-"experts-comptables.fr\0"
-"yame.fukuoka.jp\0"
-"annaka.gunma.jp\0kawagoe.mie.jp\0"
-"wakayama.jp\0"
-"openair.museum\0operaunite.com\0"
-"wakuya.miyagi.jp\0"
-"bjarkoy.no\0ivano-frankivsk.ua\0dyndns.tv\0is-a-linux-user.org\0"
-"olbiatempio.it\0"
-"etne.no\0fosnes.no\0"
-"ginoza.okinawa.jp\0"
-"krager\xc3\xb8.no\0"
-"vn.ua\0"
-"jx.cn\0bill.museum\0home.dyndns.org\0"
-"lecco.it\0bihoro.hokkaido.jp\0"
-"asaka.saitama.jp\0"
-"tagajo.miyagi.jp\0"
-"maintenance.aero\0"
-"nordreisa.no\0"
-"kamogawa.chiba.jp\0nebraska.museum\0"
-"lib.nm.us\0"
-"r\xc3\xa1isa.no\0"
-"historisch.museum\0"
-"is-a-republican.com\0"
-"prd.fr\0yonaguni.okinawa.jp\0"
-"bristol.museum\0crafts.museum\0blogsite.org\0"
-"kasamatsu.gifu.jp\0"
-"fin.ec\0"
-"slg.br\0seirou.niigata.jp\0cahcesuolo.no\0from-ma.com\0"
-"ba.it\0aq.it\0exhibition.museum\0heimatunduhren.museum\0"
-"rg.it\0dyndns.ws\0"
-"homedns.org\0"
-"kakogawa.hyogo.jp\0"
-"chikushino.fukuoka.jp\0mito.ibaraki.jp\0"
-"dc.us\0"
-"terni.it\0"
-"or.id\0yoshida.shizuoka.jp\0"
-"fukaya.saitama.jp\0rost.no\0"
-"aomori.jp\0"
-"aeroport.fr\0sabae.fukui.jp\0geology.museum\0"
-"yakage.okayama.jp\0rahkkeravju.no\0"
-"kasama.ibaraki.jp\0"
-"frana.no\0"
-"hatoyama.saitama.jp\0za.org\0"
-"kitayama.wakayama.jp\0"
-"bilbao.museum\0"
-"or.it\0"
-"!nawrastelecom.om\0"
-"nanjo.okinawa.jp\0k12.me.us\0"
-"mobi.gp\0"
-"daisen.akita.jp\0bizen.okayama.jp\0hembygdsforbund.museum\0salangen.no\0"
-"yoshikawa.saitama.jp\0homelinux.com\0"
-"or.jp\0farmers.museum\0from-ri.com\0"
-"\xe1\x83\x92\xe1\x83\x94\0"
-"\xc3\xa5snes.no\0"
-"assisi.museum\0muos\xc3\xa1t.no\0kemerovo.ru\0"
-"musashino.tokyo.jp\0"
-"sld.pa\0"
-"kushimoto.wakayama.jp\0virginia.museum\0is-a-financialadvisor.com\0"
-"yuasa.wakayama.jp\0"
-"yachimata.chiba.jp\0"
-"\xc3\xa5seral.no\0klabu.no\0"
-"onna.okinawa.jp\0"
-"hikone.shiga.jp\0or.kr\0"
-"tranby.no\0lib.vt.us\0"
-"carrier.museum\0"
-"isa-geek.net\0"
-"orsta.no\0"
-"toyone.aichi.jp\0fortmissoula.museum\0zoology.museum\0"
-"historicalsociety.museum\0"
+"gratangen.no\0luxe\0"
+"\xe7\xb5\x84\xe7\xb9\x94.hk\0valer.hedmark.no\0"
+"stcgroup\0"
+"\xe5\x8c\x97\xe6\xb5\xb7\xe9\x81\x93.jp\0higashisumiyoshi.osaka.jp\0"
+"accountants\0"
+"is-uberleet.com\0"
+"kitaaiki.nagano.jp\0"
+"test.tj\0"
+"bomlo.no\0"
+"gs.of.no\0"
+"obanazawa.yamagata.jp\0yamanashi.yamanashi.jp\0"
"prd.km\0"
-"iheya.okinawa.jp\0"
-"kongsberg.no\0"
-"dreamhosters.com\0"
-"chicago.museum\0gjerdrum.no\0"
-"pe.ca\0"
+"from-wa.com\0"
+"agrigento.it\0"
+"casino.hu\0"
+"tawaramoto.nara.jp\0babia-gora.pl\0\xd8\xa8\xda\xbe\xd8\xa7\xd8\xb1\xd8\xaa\0credit\0"
+"dontexist.com\0"
+"yatsushiro.kumamoto.jp\0"
+"h\xc3\xa5.no\0"
+"js.cn\0niikappu.hokkaido.jp\0"
+"gallery\0training\0"
+"oguni.kumamoto.jp\0"
+"\xe5\xaf\x8c\xe5\xb1\xb1.jp\0"
+"homebuilt.aero\0"
+"lowicz.pl\0"
+"sokndal.no\0"
+"prd.mg\0"
+"kakinoki.shimane.jp\0"
+"farmstead.museum\0active\0"
+"adm.br\0"
+"alibaba\0"
+"kunigami.okinawa.jp\0"
+"forgot.his.name\0"
+"\xc3\xa5mot.no\0test.ru\0"
+"bari.it\0"
+"fukuchi.fukuoka.jp\0sap\0"
+"in.rs\0"
+"doshi.yamanashi.jp\0"
+"monticello.museum\0"
+"f.se\0"
+"vs.it\0"
"cpa.pro\0"
-"makurazaki.kagoshima.jp\0mashiki.kumamoto.jp\0"
-"sondrio.it\0masaki.ehime.jp\0"
-"numazu.shizuoka.jp\0"
-"kawanishi.nara.jp\0"
-"futaba.fukushima.jp\0nachikatsuura.wakayama.jp\0"
-"airguard.museum\0"
+"oygarden.no\0"
+"tarui.gifu.jp\0"
+"inzai.chiba.jp\0arida.wakayama.jp\0"
+"sca\0"
+"hokuto.hokkaido.jp\0okutama.tokyo.jp\0scb\0"
+"sbs\0"
+"name.vn\0"
+"lib.wy.us\0"
+"in.th\0"
+"dubai\0"
+"magnitka.ru\0vegas\0"
+"otofuke.hokkaido.jp\0"
+"taipei\0"
+"trentinoa-adige.it\0"
+"in.ua\0"
+"ozu.kumamoto.jp\0"
+"from-id.com\0"
+"psi.br\0koshu.yamanashi.jp\0"
+"capetown\0"
+"fylkesbibl.no\0cc.nv.us\0pvt.k12.ma.us\0"
+"hachioji.tokyo.jp\0"
+"western.museum\0"
+"store.bb\0kasama.ibaraki.jp\0"
+"trentino-alto-adige.it\0terni.it\0kawaba.gunma.jp\0"
+"name.tj\0"
+"in.us\0"
+"katagami.akita.jp\0kawazu.shizuoka.jp\0"
+"mizunami.gifu.jp\0"
+"tank.museum\0lib.ri.us\0"
+"name.tr\0"
+"kiwa.mie.jp\0name.tt\0"
+"sm\xc3\xb8la.no\0"
+"nakaniikawa.toyama.jp\0"
+"online.museum\0hk.org\0"
+"miyoshi.saitama.jp\0"
+"asaminami.hiroshima.jp\0"
+"cn.ua\0"
+"fr\xc3\xb8ya.no\0"
+"!city.kawasaki.jp\0fukuroi.shizuoka.jp\0"
+"sew\0"
+"izunokuni.shizuoka.jp\0sex\0"
+"exeter.museum\0nesoddtangen.no\0"
+"tsukuba.ibaraki.jp\0"
+"m.se\0dreamhosters.com\0"
+"yame.fukuoka.jp\0ouchi.saga.jp\0"
+"amakusa.kumamoto.jp\0realtor\0"
+"symantec\0"
+"gyeonggi.kr\0"
+"ooshika.nagano.jp\0isla.pr\0"
+"eun.eg\0sund.no\0lib.ky.us\0"
+"teramo.it\0"
+"natori.miyagi.jp\0goto.nagasaki.jp\0"
+"notteroy.no\0"
+"sue.fukuoka.jp\0"
+"beardu.no\0naamesjevuemie.no\0"
+"iida.nagano.jp\0"
+"skj\xc3\xa5k.no\0"
+"ino.kochi.jp\0"
+"valle-d-aosta.it\0"
+"pz.it\0"
+"eastafrica.museum\0"
+"\xe0\xa4\xb8\xe0\xa4\x82\xe0\xa4\x97\xe0\xa4\xa0\xe0\xa4\xa8\0"
+"minamiminowa.nagano.jp\0"
+"name.qa\0"
+"name.pr\0"
+"jamison.museum\0"
+"kai.yamanashi.jp\0"
+"guitars\0"
+"farmers.museum\0"
+"ntr.br\0kamitonda.wakayama.jp\0"
+"name.na\0"
+"hanno.saitama.jp\0matsuzaki.shizuoka.jp\0"
+"leclerc\0"
+"napoli.it\0"
+"inatsuki.fukuoka.jp\0name.mv\0"
+"name.ng\0pl.ua\0police.uk\0"
+"oxford.museum\0name.my\0"
+"\xe7\xb6\xb2\xe7\xb5\xa1.cn\0kashima.saga.jp\0fuchu.tokyo.jp\0"
+"coal.museum\0bridgestone\0software\0"
+"campania.it\0rep.kp\0"
+"sor-odal.no\0t.se\0"
+"kyonan.chiba.jp\0hikawa.shimane.jp\0suginami.tokyo.jp\0"
+"medical.museum\0cc.ut.us\0"
+"kitakami.iwate.jp\0pa.gov.pl\0"
+"ecn.br\0aizumi.tokushima.jp\0"
+"amur.ru\0de.us\0"
+"kikugawa.shizuoka.jp\0yoshida.shizuoka.jp\0"
+"r\xc3\xa5holt.no\0"
+"k12.de.us\0"
+"international\0"
+"sande.vestfold.no\0"
+"\xd8\xaa\xd9\x88\xd9\x86\xd8\xb3\0"
+"sky\0from-fl.com\0"
+"seiyo.ehime.jp\0ariake.saga.jp\0"
+"shiojiri.nagano.jp\0"
+"koori.fukushima.jp\0bond\0"
+"nakagyo.kyoto.jp\0"
+"academy.museum\0"
+"ra.it\0abeno.osaka.jp\0"
+"eidskog.no\0"
+"shirahama.wakayama.jp\0"
+"dudinka.ru\0"
+"bnpparibas\0"
+"rybnik.pl\0\xd8\xa7\xd9\x84\xd8\xa7\xd8\xb1\xd8\xaf\xd9\x86\0"
+"lazio.it\0gdynia.pl\0"
+"name.mk\0"
+"\xe5\xae\xae\xe5\x9f\x8e.jp\0nagi.okayama.jp\0"
+"is-an-artist.com\0"
+"racing\0"
+"hatsukaichi.hiroshima.jp\0sakai.ibaraki.jp\0chizu.tottori.jp\0"
+"0.bg\0"
+"nore-og-uvdal.no\0"
+"ichinomiya.chiba.jp\0lezajsk.pl\0"
+"bashkiria.ru\0"
+"name.jo\0sciencehistory.museum\0"
+"lucerne.museum\0vinnytsia.ua\0"
+"\xe7\xb6\xb2\xe7\xb5\xa1.hk\0s3-website-us-east-1.amazonaws.com\0is-an-anarchist.com\0"
+"annaka.gunma.jp\0"
+"florence.it\0tajiri.osaka.jp\0"
+"shikabe.hokkaido.jp\0"
+"uchinada.ishikawa.jp\0"
+"from-pr.com\0hobby-site.com\0"
+"higashine.yamagata.jp\0"
"society.museum\0"
-"ulm.museum\0"
-"or.na\0"
-"tohma.hokkaido.jp\0"
-"masoy.no\0"
-"or.mu\0"
-"prd.mg\0"
-"!omanpost.om\0"
-"izumizaki.fukushima.jp\0nishikatsura.yamanashi.jp\0"
-"miyazu.kyoto.jp\0"
-"unj\xc3\xa1rga.no\0"
-"noshiro.akita.jp\0"
-"ryokami.saitama.jp\0"
-"carboniaiglesias.it\0homeunix.org\0"
-"australia.museum\0"
-"sowa.ibaraki.jp\0"
-"urausu.hokkaido.jp\0"
-"kaisei.kanagawa.jp\0"
-"vt.it\0"
-"virtual.museum\0"
-"hs.kr\0brand.se\0"
-"daejeon.kr\0seaport.museum\0"
-"takaoka.toyama.jp\0"
-"kitakata.fukushima.jp\0fribourg.museum\0"
-"montreal.museum\0"
-"higashiyama.kyoto.jp\0\xd8\xa7\xd9\x84\xd8\xb3\xd8\xb9\xd9\x88\xd8\xaf\xd9\x8a\xd9\x87\0"
-"chitose.hokkaido.jp\0"
-"engine.aero\0"
-"rome.it\0medical.museum\0"
-"tjome.no\0"
-"asti.it\0reggio-calabria.it\0"
-"or.pw\0"
-"to.it\0murayama.yamagata.jp\0"
-"shiraoi.hokkaido.jp\0"
-"joshkar-ola.ru\0"
-"fetsund.no\0wa.us\0"
-"nakaniikawa.toyama.jp\0wroclaw.pl\0lib.nh.us\0"
-"ragusa.it\0nakanojo.gunma.jp\0r\xc3\xa5""de.no\0barrell-of-knowledge.info\0"
-"yuza.yamagata.jp\0moareke.no\0cv.ua\0"
-"anjo.aichi.jp\0"
-"!omanmobile.om\0"
-"fukuroi.shizuoka.jp\0space-to-rent.com\0"
-"torahime.shiga.jp\0"
-"gojome.akita.jp\0"
-"at.it\0yawara.ibaraki.jp\0"
-"\xd8\xa7\xd9\x84\xd8\xb3\xd8\xb9\xd9\x88\xd8\xaf\xd9\x8a\xd8\xa9\0"
-"okutama.tokyo.jp\0naturbruksgymn.se\0est-mon-blogueur.com\0"
-"gj\xc3\xb8vik.no\0"
-"marylhurst.museum\0"
-"ferrara.it\0"
-"shimonita.gunma.jp\0"
-"chernivtsi.ua\0"
-"yusuhara.kochi.jp\0"
-"indianmarket.museum\0from-nm.com\0"
-"chambagri.fr\0"
-"yono.saitama.jp\0romsa.no\0"
-"lucerne.museum\0"
-"pe.it\0"
-"from-mn.com\0"
-"kurgan.ru\0or.th\0"
-"udmurtia.ru\0"
-"k12.nj.us\0"
-"c.bg\0atami.shizuoka.jp\0"
-"herad.no\0"
-"midatlantic.museum\0"
-"\xd1\x83\xd0\xba\xd1\x80\0"
-"inazawa.aichi.jp\0matsumoto.nagano.jp\0francaise.museum\0horten.no\0"
-"isehara.kanagawa.jp\0"
-"fuji.shizuoka.jp\0or.ug\0"
-"oppdal.no\0"
-"or.tz\0\xd9\x82\xd8\xb7\xd8\xb1\0"
-"!nacion.ar\0shiroi.chiba.jp\0muncie.museum\0from-ct.com\0"
-"television.museum\0doomdns.com\0"
-"bod\xc3\xb8.no\0"
-"seihi.nagasaki.jp\0"
-"memorial.museum\0"
-"slupsk.pl\0"
-"arkhangelsk.ru\0or.us\0"
-"pe.kr\0is-a-bulls-fan.com\0"
-"matsubara.osaka.jp\0"
-"ishigaki.okinawa.jp\0"
-"nysa.pl\0from-nv.com\0"
-"ishikawa.fukushima.jp\0"
-"drobak.no\0"
-"stpetersburg.museum\0"
-"andria-trani-barletta.it\0"
-"aibetsu.hokkaido.jp\0plants.museum\0silk.museum\0holtalen.no\0"
-"lakas.hu\0"
-"gs.of.no\0rauma.no\0"
-"modena.it\0"
-"kh.ua\0"
-"togitsu.nagasaki.jp\0"
-"newhampshire.museum\0"
-"oirase.aomori.jp\0grajewo.pl\0fin.tn\0"
-"depot.museum\0"
-"nayoro.hokkaido.jp\0"
-"forgot.her.name\0"
-"sande.more-og-romsdal.no\0"
-"reklam.hu\0"
-"\xc3\xa5krehamn.no\0"
-"ancona.it\0h\xc3\xa5.no\0"
-"lib.as.us\0"
-"marketplace.aero\0schweiz.museum\0"
-"eu.int\0"
-"urasoe.okinawa.jp\0"
-"kaluga.ru\0"
-"godo.gifu.jp\0"
-"kitagawa.kochi.jp\0kr.com\0"
-"pvt.ge\0"
-"usuki.oita.jp\0"
-"mino.gifu.jp\0"
-"rovigo.it\0"
-"yamada.fukuoka.jp\0amakusa.kumamoto.jp\0lajolla.museum\0uzhgorod.ua\0"
-"shimane.jp\0workshop.museum\0"
-"aero\0"
-"shikatsu.aichi.jp\0warszawa.pl\0"
-"wegrow.pl\0"
-"koga.fukuoka.jp\0"
-"funabashi.chiba.jp\0moriya.ibaraki.jp\0yamaga.kumamoto.jp\0"
-"act.edu.au\0mbone.pl\0"
-"ikaruga.nara.jp\0"
-"shinichi.hiroshima.jp\0gjesdal.no\0"
-"hanawa.fukushima.jp\0"
-"tr.it\0wakasa.fukui.jp\0"
-"\xe0\xa6\xac\xe0\xa6\xbe\xe0\xa6\x82\xe0\xa6\xb2\xe0\xa6\xbe\0"
-"olbia-tempio.it\0"
-"aizumisato.fukushima.jp\0convent.museum\0bd.se\0"
-"fukuchi.fukuoka.jp\0takino.hyogo.jp\0vt.us\0"
-"yazu.tottori.jp\0"
-"kagoshima.jp\0loyalist.museum\0"
-"kitahiroshima.hokkaido.jp\0fed.us\0"
-"sandnessj\xc3\xb8""en.no\0varoy.no\0"
-"hurdal.no\0"
-"salem.museum\0jar.ru\0"
-"yaizu.shizuoka.jp\0"
-"cc.nv.us\0"
-"airtraffic.aero\0"
-"bg.it\0sukumo.kochi.jp\0"
-"rm.it\0nishiokoppe.hokkaido.jp\0"
-"house.museum\0"
-"aizumi.tokushima.jp\0"
-"hitachinaka.ibaraki.jp\0kicks-ass.org\0"
-"hokuryu.hokkaido.jp\0k12.or.us\0"
-"geisei.kochi.jp\0tatarstan.ru\0"
-"toyotsu.fukuoka.jp\0meguro.tokyo.jp\0"
-"myoko.niigata.jp\0"
-"bronnoy.no\0"
-"nishikawa.yamagata.jp\0"
-"minamata.kumamoto.jp\0"
-"gd.cn\0"
-"trana.no\0"
-"takasaki.gunma.jp\0cc.ma.us\0"
-"trani-barletta-andria.it\0"
-"\xe0\xaa\xad\xe0\xaa\xbe\xe0\xaa\xb0\xe0\xaa\xa4\0c.la\0"
-"hanno.saitama.jp\0"
-"ami.ibaraki.jp\0kurotaki.nara.jp\0"
-"\xd8\xa7\xdb\x8c\xd8\xb1\xd8\xa7\xd9\x86.ir\0boldlygoingnowhere.org\0"
-"f.bg\0unjarga.no\0lib.ia.us\0"
-"\xc3\xb8rskog.no\0tingvoll.no\0"
-"webhop.org\0"
-"grue.no\0dyndns-blog.com\0"
-"dyndns-web.com\0"
-"zakopane.pl\0"
-"britishcolumbia.museum\0turek.pl\0"
-"omi.nagano.jp\0is-an-actor.com\0"
-"ms.it\0gov.nc.tr\0"
-"kijo.miyazaki.jp\0"
-"starostwo.gov.pl\0mobi.tt\0"
-"gs.ah.no\0"
-"minobu.yamanashi.jp\0tr.no\0"
-"mobi.tz\0"
-"rakkestad.no\0"
-"org.ac\0from-az.net\0"
-"org.ae\0"
-"org.af\0bj.cn\0"
-"org.ag\0"
+"soy\0"
+"anamizu.ishikawa.jp\0"
+"lom.it\0pohl\0"
+"\xc3\xa5seral.no\0"
+"kira.aichi.jp\0"
+"pizza\0"
+"ethnology.museum\0malselv.no\0"
+"bayern\0tab\0"
+"contact\0"
+"tozsde.hu\0saves-the-whales.com\0"
+"hokuto.yamanashi.jp\0"
+"org.ac\0"
+"ayabe.kyoto.jp\0"
+"org.ae\0time.no\0cc.ct.us\0"
+"org.af\0sobetsu.hokkaido.jp\0takinoue.hokkaido.jp\0sayama.osaka.jp\0"
+"org.ag\0moscow\0"
+"fukushima.jp\0hirado.nagasaki.jp\0"
"org.ai\0"
-"nanae.hokkaido.jp\0oshino.yamanashi.jp\0"
-"org.al\0takashima.shiga.jp\0"
-"org.an\0naha.okinawa.jp\0matsuzaki.shizuoka.jp\0bahn.museum\0"
-"chungbuk.kr\0biev\xc3\xa1t.no\0homelinux.net\0"
-"org.ba\0umi.fukuoka.jp\0"
-"org.bb\0"
-"mihama.wakayama.jp\0cyber.museum\0"
-"org.au\0yorii.saitama.jp\0hagi.yamaguchi.jp\0"
-"ms.kr\0"
-"org.bh\0fujikawa.yamanashi.jp\0floro.no\0oryol.ru\0"
-"org.bi\0sakahogi.gifu.jp\0"
-"org.az\0niimi.okayama.jp\0"
-"aguni.okinawa.jp\0sells-for-less.com\0"
-"org.bm\0tsukuba.ibaraki.jp\0"
+"org.al\0"
+"org.an\0"
+"tax\0"
+"org.ba\0soundandvision.museum\0trust.museum\0"
+"org.ar\0org.bb\0takasago.hyogo.jp\0"
+"engine.aero\0"
+"org.au\0kursk.ru\0is-very-bad.org\0"
+"\xe6\x94\xbf\xe5\xba\x9c\0"
+"org.bh\0"
+"7.bg\0org.bi\0sola.no\0is-a-socialist.com\0"
+"org.az\0"
+"hitachi.ibaraki.jp\0"
+"org.bm\0"
"org.bo\0"
-"org.br\0r\xc3\xa6lingen.no\0"
-"org.bs\0kuriyama.hokkaido.jp\0"
+"rome.it\0"
+"tci\0"
+"org.br\0tsukiyono.gunma.jp\0"
+"org.bs\0ulm.museum\0"
"org.bt\0"
+"padova.it\0iyo.ehime.jp\0"
"org.bw\0"
-"nf.ca\0"
-"org.ci\0"
-"org.bz\0"
-"hirogawa.wakayama.jp\0"
-"mordovia.ru\0"
-"org.cn\0k12.vt.us\0"
-"org.co\0"
-"if.ua\0"
-"org.cu\0"
-"futsu.nagasaki.jp\0hu.net\0"
-"dyndns-pics.com\0"
-"karumai.iwate.jp\0"
+"sa.edu.au\0org.ci\0"
+"org.bz\0shintoku.hokkaido.jp\0"
+"stc\0"
+"detroit.museum\0geelvinck.museum\0"
+"org.cn\0"
+"org.co\0sande.more-og-romsdal.no\0"
+"sakata.yamagata.jp\0"
+"sicily.it\0"
+"org.cu\0lib.ak.us\0"
+"org.cw\0"
+"vang.no\0"
+"maritimo.museum\0"
"org.dm\0"
-"org.do\0"
-"risor.no\0"
-"kujukuri.chiba.jp\0abashiri.hokkaido.jp\0novosibirsk.ru\0"
+"lapy.pl\0"
+"org.do\0lom.no\0\xd0\xbc\xd0\xbe\xd0\xbd\0"
+"stranda.no\0"
+"sicilia.it\0takasu.hokkaido.jp\0kunitomi.miyazaki.jp\0sugito.saitama.jp\0"
"org.ec\0"
-"ballangen.no\0k12.co.us\0"
+"tel\0"
"org.ee\0"
-"navuotna.no\0pisz.pl\0"
+"nishimera.miyazaki.jp\0"
"org.eg\0"
-"mobi.na\0"
-"tonami.toyama.jp\0"
-"org.dz\0sci.eg\0\xc3\xa5rdal.no\0"
-"environmentalconservation.museum\0edunet.tn\0"
-"murakami.niigata.jp\0usarts.museum\0"
-"eidfjord.no\0e-burg.ru\0from-mt.com\0from-nd.com\0"
-"karasuyama.tochigi.jp\0utah.museum\0"
-"maritimo.museum\0"
-"union.aero\0org.es\0"
-"esan.hokkaido.jp\0"
-"namegawa.saitama.jp\0c.se\0"
-"anamizu.ishikawa.jp\0kitakami.iwate.jp\0"
-"ga.us\0"
-"qld.au\0gjemnes.no\0"
-"ichinoseki.iwate.jp\0makinohara.shizuoka.jp\0"
-"bahccavuotna.no\0"
-"is-an-actress.com\0"
-"karm\xc3\xb8y.no\0"
-"org.ge\0cesena-forli.it\0"
-"vantaa.museum\0gaular.no\0"
-"org.gg\0"
-"org.gh\0cc.ny.us\0"
-"org.gi\0"
-"from-dc.com\0"
-"fitjar.no\0vyatka.ru\0"
-"org.gn\0museum\0"
-"org.gp\0"
-"org.gr\0beppu.oita.jp\0"
-"groundhandling.aero\0org.gt\0okegawa.saitama.jp\0lib.ky.us\0"
+"aichi.jp\0koto.tokyo.jp\0"
+"org.dz\0"
+"maryland.museum\0"
+"minami.kyoto.jp\0homeftp.net\0"
+"giving\0"
+"ro.it\0turin.it\0wroclaw.pl\0"
+"cc.pr.us\0"
+"org.es\0from-mt.com\0from-nd.com\0"
+"org.et\0\xe0\xa8\xad\xe0\xa8\xbe\xe0\xa8\xb0\xe0\xa8\xa4\0"
+"langevag.no\0"
+"yamanouchi.nagano.jp\0"
+"r\xc3\xa6lingen.no\0fairwinds\0est-a-la-masion.com\0"
+"hakui.ishikawa.jp\0"
+"kuzumaki.iwate.jp\0sharp\0"
+"toyono.osaka.jp\0saitama.saitama.jp\0"
+"singles\0"
+"military.museum\0"
+"eniwa.hokkaido.jp\0"
+"jerusalem.museum\0k12.wy.us\0is-a-designer.com\0"
+"itayanagi.aomori.jp\0"
+"trustee.museum\0"
+"org.ge\0"
+"amami.kagoshima.jp\0"
+"parachuting.aero\0org.gg\0"
+"org.gh\0ostroleka.pl\0"
+"org.gi\0jondal.no\0stuff-4-sale.org\0"
+"org.gn\0"
+"servebbs.com\0"
+"org.gp\0urawa.saitama.jp\0"
+"org.gr\0lo.it\0"
+"h\xc3\xb8nefoss.no\0"
+"org.gt\0"
+"from-nj.com\0"
+"cc.wi.us\0"
"org.hk\0"
"org.hn\0"
-"presidio.museum\0cc.md.us\0"
-"bolzano.it\0"
-"sosa.chiba.jp\0koenig.ru\0iki.fi\0"
-"org.ht\0ebetsu.hokkaido.jp\0"
-"fuel.aero\0org.hu\0"
-"hole.no\0"
-"blog.br\0tosu.saga.jp\0"
-"k12.nh.us\0"
-"i.bg\0"
-"rs.ba\0"
+"oystre-slidre.no\0k12.fl.us\0"
+"nat.tn\0"
+"encyclopedic.museum\0lib.nm.us\0"
+"minamiaiki.nagano.jp\0"
+"kv\xc3\xa6nangen.no\0oppdal.no\0k12.ri.us\0"
+"org.ht\0"
+"org.hu\0dagestan.ru\0"
+"gangwon.kr\0"
+"rad\xc3\xb8y.no\0"
+"*.yokohama.jp\0mochizuki.nagano.jp\0shimoda.shizuoka.jp\0"
"org.im\0"
-"org.in\0"
+"org.in\0kunneppu.hokkaido.jp\0"
+"marriott\0"
"org.iq\0"
-"lel.br\0org.ir\0kasahara.gifu.jp\0"
-"org.is\0chofu.tokyo.jp\0notodden.no\0"
-"org.je\0spjelkavik.no\0"
-"vefsn.no\0"
-"fukuoka.jp\0yamanobe.yamagata.jp\0yamanakako.yamanashi.jp\0"
-"yaese.okinawa.jp\0"
-"baikal.ru\0"
-"from-me.org\0"
-"kanazawa.ishikawa.jp\0nowaruda.pl\0"
-"swidnica.pl\0"
-"org.jo\0!city.yokohama.jp\0olkusz.pl\0"
-"higashiura.aichi.jp\0mosjoen.no\0"
-"vestv\xc3\xa5g\xc3\xb8y.no\0"
-"takahama.aichi.jp\0dyn-o-saur.com\0"
-"shimabara.nagasaki.jp\0"
-"ebiz.tw\0"
-"caserta.it\0org.kg\0"
-"sc.cn\0org.ki\0"
-"aizuwakamatsu.fukushima.jp\0is-a-teacher.com\0"
-"sado.niigata.jp\0org.km\0resistance.museum\0"
-"togo.aichi.jp\0org.kn\0skien.no\0"
-"org.kp\0"
-"org.la\0kommune.no\0"
-"vic.edu.au\0miyoshi.aichi.jp\0org.lb\0"
+"org.ir\0lodi.it\0shirakawa.gifu.jp\0kumamoto.kumamoto.jp\0"
+"org.is\0alabama.museum\0photo\0"
+"org.je\0"
+"porn\0"
+"kristiansand.no\0from-nh.com\0"
+"rokunohe.aomori.jp\0"
+"org.jo\0"
+"la.us\0"
+"chichibu.saitama.jp\0"
+"afjord.no\0"
+"tel.tr\0"
+"asn.au\0k12.ky.us\0"
+"org.kg\0"
+"okawa.fukuoka.jp\0"
+"org.ki\0"
+"za.net\0"
+"badajoz.museum\0"
+"tenkawa.nara.jp\0post\0"
+"org.km\0"
+"org.kn\0"
+"ohi.fukui.jp\0org.kp\0"
+"org.la\0"
+"\xe6\xa0\x83\xe6\x9c\xa8.jp\0org.lb\0"
"org.lc\0"
-"cagliari.it\0"
-"uscountryestate.museum\0h\xc3\xb8nefoss.no\0"
-"gs.ol.no\0"
-"riik.ee\0"
-"g12.br\0ms.us\0nc.us\0"
-"org.ky\0agro.pl\0"
-"org.kz\0landes.museum\0doesntexist.com\0"
-"org.lk\0"
-"holt\xc3\xa5len.no\0"
-"nedre-eiker.no\0"
-"org.ma\0naroy.no\0"
-"org.lr\0"
+"caltanissetta.it\0"
+"monza.it\0"
+"vega.no\0"
+"grosseto.it\0"
+"council.aero\0org.ky\0pictures\0"
+"org.kz\0"
+"org.lk\0s3-website-ap-southeast-2.amazonaws.com\0"
+"togo.aichi.jp\0wajima.ishikawa.jp\0tado.mie.jp\0"
+"org.ma\0"
+"org.lr\0dyndns.biz\0"
"org.ls\0"
-"tagawa.fukuoka.jp\0"
-"org.me\0"
-"nonoichi.ishikawa.jp\0org.lv\0"
-"org.mg\0horology.museum\0"
-"utazas.hu\0ako.hyogo.jp\0"
-"org.ly\0"
-"org.mk\0sandnes.no\0"
-"ayabe.kyoto.jp\0org.ml\0"
-"office-on-the.net\0"
-"minato.tokyo.jp\0org.mn\0"
+"saga.jp\0"
+"org.me\0h\xc3\xb8yanger.no\0"
+"narashino.chiba.jp\0org.lv\0"
+"org.mg\0and.museum\0"
+"sos.pl\0"
+"org.ly\0lib.mt.us\0lib.nd.us\0"
+"tohnosho.chiba.jp\0poznan.pl\0"
+"org.mk\0"
+"org.ml\0"
+"s3-website-ap-southeast-1.amazonaws.com\0"
+"org.mn\0tmall\0"
"org.mo\0"
-"koryo.nara.jp\0"
-"org.na\0balsfjord.no\0"
-"org.mu\0"
-"hyuga.miyazaki.jp\0org.mv\0"
-"perso.ht\0org.mw\0org.ng\0"
+"cheltenham.museum\0org.na\0sor-aurdal.no\0"
+"kusatsu.shiga.jp\0"
+"org.ms\0"
+"am.br\0toyone.aichi.jp\0org.mt\0"
+"org.mu\0plumbing\0"
+"org.mv\0bielawa.pl\0"
+"org.mw\0org.ng\0"
"org.mx\0"
"org.my\0"
-"powiat.pl\0"
-"kinokawa.wakayama.jp\0"
-"shichinohe.aomori.jp\0"
-"ru.com\0se.com\0"
+"work\0"
+"toyama.jp\0"
+"fh.se\0"
+"pol.dz\0"
+"gripe\0wales\0"
+"tenei.fukushima.jp\0iwakuni.yamaguchi.jp\0po.gov.pl\0"
+"family.museum\0"
"org.nr\0"
-"environment.museum\0planetarium.museum\0"
-"niigata.niigata.jp\0"
-"name.hr\0"
-"asago.hyogo.jp\0is-very-nice.org\0"
-"hirata.fukushima.jp\0"
-"sera.hiroshima.jp\0shizuoka.shizuoka.jp\0"
-"nrw.museum\0"
-"palace.museum\0"
+"bilbao.museum\0sf.no\0"
+"hida.gifu.jp\0"
+"lyngen.no\0"
+"yokoshibahikari.chiba.jp\0"
+"kamchatka.ru\0"
+"nirasaki.yamanashi.jp\0top\0"
+"brunel.museum\0"
+"org.nz\0"
+"meiwa.gunma.jp\0"
+"org.om\0"
+"hino.tottori.jp\0boleslawiec.pl\0"
+"hareid.no\0"
+"taa.it\0"
"org.pa\0"
-"cc.ak.us\0"
-"wiki.br\0"
-"shimotsuke.tochigi.jp\0org.pe\0press.se\0"
-"org.pf\0"
-"nishiizu.shizuoka.jp\0f.se\0"
+"tagami.niigata.jp\0"
+"komi.ru\0"
+"kurogi.fukuoka.jp\0nakatombetsu.hokkaido.jp\0naha.okinawa.jp\0"
+"org.pe\0"
+"wakuya.miyagi.jp\0org.pf\0"
"org.ph\0"
-"is-a-llama.com\0"
-"kamikawa.saitama.jp\0elblag.pl\0"
-"kochi.jp\0gs.hm.no\0org.pk\0"
-"org.pl\0"
-"paleo.museum\0"
-"org.pn\0"
-"torsken.no\0"
-"iwafune.tochigi.jp\0org.qa\0"
-"org.pr\0"
+"org.pk\0"
+"higashi.fukushima.jp\0kushiro.hokkaido.jp\0org.pl\0"
+"\xd0\xbe\xd1\x80\xd0\xb3.\xd1\x81\xd1\x80\xd0\xb1\0is-a-llama.com\0"
+"desa.id\0org.pn\0"
+"leksvik.no\0"
+"org.qa\0"
+"shirako.chiba.jp\0org.pr\0"
"org.ps\0"
-"bato.tochigi.jp\0org.pt\0"
-"isumi.chiba.jp\0and\xc3\xb8y.no\0"
-"tatsuno.nagano.jp\0org.py\0"
-"pub.sa\0"
-"portal.museum\0is-into-cartoons.com\0"
-"sasayama.hyogo.jp\0"
-"ibigawa.gifu.jp\0"
-"uruma.okinawa.jp\0"
-"orskog.no\0"
-"cincinnati.museum\0"
-"farmstead.museum\0"
-"ftpaccess.cc\0"
-"castres.museum\0org.ro\0"
-"org.sa\0"
-"sassari.it\0saka.hiroshima.jp\0org.sb\0"
-"higashihiroshima.hiroshima.jp\0org.rs\0org.sc\0"
+"org.pt\0"
+"gamvik.no\0org.py\0"
+"ikawa.akita.jp\0"
+"aircraft.aero\0"
+"obama.fukui.jp\0"
+"england.museum\0graz.museum\0lib.mo.us\0"
+"akita.akita.jp\0nakagawa.hokkaido.jp\0"
+"davvenj\xc3\xa1rga.no\0"
+"embaixada.st\0"
+"ambulance.aero\0"
+"pol.ht\0"
+"chuo.osaka.jp\0"
+"l\xc3\xb8ten.no\0ubs\0"
+"limited\0"
+"bergbau.museum\0h\xc3\xa6gebostad.no\0"
+"savona.it\0"
+"org.ro\0uk.com\0"
+"ski.museum\0org.sa\0"
+"org.sb\0"
+"ushistory.museum\0org.rs\0org.sc\0"
"org.sd\0"
-"tokai.aichi.jp\0org.ru\0org.se\0"
-"games.hu\0pn.it\0v\xc3\xa6r\xc3\xb8y.no\0"
-"amsterdam.museum\0org.sg\0"
-"campobasso.it\0org.sh\0"
-"forli-cesena.it\0corvette.museum\0ath.cx\0"
-"yokawa.hyogo.jp\0is-a-socialist.com\0"
-"tjeldsund.no\0az.us\0"
-"student.aero\0name.eg\0org.sl\0"
-"l.bg\0sc.kr\0"
+"org.ru\0org.se\0amsterdam\0"
+"coop.ht\0"
+"usarts.museum\0org.sg\0"
+"org.sh\0"
+"iwate.iwate.jp\0"
+"tuva.ru\0"
+"org.sl\0"
+"stadt.museum\0"
"org.sn\0"
-"frankfurt.museum\0org.so\0"
-"barcelona.museum\0from-wy.com\0"
-"is-an-artist.com\0"
-"dvrdns.org\0"
-"ikata.ehime.jp\0"
-"dr.na\0steinkjer.no\0org.st\0"
-"yao.osaka.jp\0british.museum\0"
-"grosseto.it\0gemological.museum\0lipetsk.ru\0"
-"civilization.museum\0iron.museum\0org.sy\0"
-"org.sz\0org.tj\0"
-"tel\0"
-"org.tm\0"
-"honbetsu.hokkaido.jp\0minamioguni.kumamoto.jp\0org.tn\0"
-"name.az\0ohira.miyagi.jp\0s\xc3\xb8ndre-land.no\0org.to\0"
-"intl.tn\0"
-"schlesisches.museum\0org.ua\0"
-"cesenaforli.it\0"
-"org.tt\0"
-"org.tw\0org.ug\0"
-"takehara.hiroshima.jp\0"
-"bible.museum\0"
-"narashino.chiba.jp\0"
-"tsubame.niigata.jp\0hinohara.tokyo.jp\0"
-"minamiawaji.hyogo.jp\0"
-"is-into-anime.com\0"
-"press.ma\0"
-"nishihara.okinawa.jp\0"
-"kita.osaka.jp\0kazo.saitama.jp\0org.vc\0"
-"tagami.niigata.jp\0org.ve\0"
-"lebork.pl\0"
-"chuo.osaka.jp\0"
-"kashiwa.chiba.jp\0turen.tn\0org.uy\0org.vi\0"
-"flakstad.no\0org.uz\0isa-hockeynut.com\0"
-"kyuragi.saga.jp\0"
-"ichikai.tochigi.jp\0"
-"aoste.it\0"
+"org.so\0"
+"kisosaki.mie.jp\0"
+"shunan.yamaguchi.jp\0"
+"ohira.miyagi.jp\0wake.okayama.jp\0kyuragi.saga.jp\0org.st\0"
+"kumano.mie.jp\0org.sv\0"
+"porsanger.no\0org.sy\0"
+"trentino-sudtirol.it\0org.sz\0org.tj\0gda.pl\0"
+"tj\xc3\xb8me.no\0"
+"museum.tt\0"
+"org.tm\0lifestyle\0"
+"org.tn\0"
+"org.to\0"
+"altoadige.it\0"
+"org.ua\0tui\0"
+"org.tr\0"
+"r\xc3\xb8yken.no\0m\xc3\xa1tta-v\xc3\xa1rjjat.no\0"
+"coop.br\0org.tt\0"
+"brumunddal.no\0rv.ua\0gr.com\0"
+"ingatlan.hu\0org.tw\0org.ug\0finance\0"
+"itakura.gunma.jp\0"
+"mt.it\0semboku.akita.jp\0minami-alps.yamanashi.jp\0"
+"uvic.museum\0org.uk\0"
+"nishikata.tochigi.jp\0"
+"hk.cn\0"
+"namegawa.saitama.jp\0"
+"rentals\0"
+"volda.no\0org.vc\0"
+"org.ve\0"
+"kariya.aichi.jp\0asn.lv\0"
+"jp.net\0"
+"museumvereniging.museum\0philately.museum\0project.museum\0stordal.no\0lib.nv.us\0org.uy\0org.vi\0"
+"org.uz\0football\0"
+"!city.sendai.jp\0"
+"lebesby.no\0vladimir.ru\0"
"org.vn\0"
-"mishima.fukushima.jp\0"
-"funagata.yamagata.jp\0"
-"from-ms.com\0from-nc.com\0"
-"psc.br\0"
-"gorlice.pl\0"
-"nl.ca\0chippubetsu.hokkaido.jp\0tone.ibaraki.jp\0i.ph\0"
-"etajima.hiroshima.jp\0"
-"uji.kyoto.jp\0sakai.osaka.jp\0la.us\0"
-"aukra.no\0stranda.no\0stryn.no\0org.ws\0"
-"tromsa.no\0"
-"ind.br\0yoichi.hokkaido.jp\0"
-"sayama.osaka.jp\0usenet.pl\0"
-"amusement.aero\0maniwa.okayama.jp\0"
-"katowice.pl\0is-a-nascarfan.com\0"
-"okawa.kochi.jp\0"
-"tomisato.chiba.jp\0cadaques.museum\0cc.dc.us\0"
-"space.museum\0"
-"afjord.no\0"
-"oharu.aichi.jp\0"
-"koriyama.fukushima.jp\0"
-"il.us\0"
-"n\xc3\xa1vuotna.no\0"
-"satx.museum\0"
-"misato.akita.jp\0"
-"katsuragi.wakayama.jp\0history.museum\0"
-"pharmacien.fr\0rieti.it\0"
-"assassination.museum\0"
-"j\xc3\xb8rpeland.no\0r\xc3\xb8yken.no\0"
-"i.se\0"
-"miyoshi.hiroshima.jp\0"
-"computer.museum\0"
-"tsubata.ishikawa.jp\0"
-"kawakita.ishikawa.jp\0for-the.biz\0"
-"fortworth.museum\0"
-"akita.akita.jp\0storfjord.no\0"
-"b\xc3\xa1hccavuotna.no\0"
-"andebu.no\0"
-"taketomi.okinawa.jp\0"
-"isshiki.aichi.jp\0"
-"taiji.wakayama.jp\0"
-"haebaru.okinawa.jp\0"
-"dell-ogliastra.it\0historichouses.museum\0trogstad.no\0"
-"tx.us\0k12.pa.us\0"
-"lib.ks.us\0"
-"kherson.ua\0"
-"uonuma.niigata.jp\0"
-"bifuka.hokkaido.jp\0kouhoku.saga.jp\0luster.no\0"
-"gotsu.shimane.jp\0r\xc3\xb8""d\xc3\xb8y.no\0"
-"skiptvet.no\0"
-"press.aero\0"
-"sc.ug\0"
-"sc.tz\0"
-"hekinan.aichi.jp\0kariya.aichi.jp\0kounosu.saitama.jp\0quebec.museum\0"
-"ind.gt\0kuromatsunai.hokkaido.jp\0"
-"money.museum\0"
-"historical.museum\0sc.us\0k12.mn.us\0"
-"o.bg\0"
-"chesapeakebay.museum\0ringerike.no\0"
-"fst.br\0shitara.aichi.jp\0"
-"urn.arpa\0"
-"homelinux.org\0"
-"ina.nagano.jp\0"
-"its.me\0"
-"kawakami.nagano.jp\0miyada.nagano.jp\0"
-"ishikari.hokkaido.jp\0"
-"national.museum\0"
-"imabari.ehime.jp\0"
-"akaiwa.okayama.jp\0rhcloud.com\0"
-"kamaishi.iwate.jp\0"
-"joyo.kyoto.jp\0"
-"ind.in\0school.na\0"
-"kiso.nagano.jp\0sevastopol.ua\0"
-"shimoichi.nara.jp\0loten.no\0"
-"selfip.net\0"
-"a\xc3\xa9roport.ci\0ascoli-piceno.it\0"
-"nuremberg.museum\0"
-"otaki.saitama.jp\0chuvashia.ru\0defense.tn\0"
-"mibu.tochigi.jp\0mitaka.tokyo.jp\0"
-"odo.br\0"
-"koori.fukushima.jp\0"
-"omuta.fukuoka.jp\0med.pro\0"
-"tomioka.gunma.jp\0kitakata.miyazaki.jp\0arteducation.museum\0"
-"yamatotakada.nara.jp\0"
-"brunel.museum\0"
-"vik.no\0"
-"sf.no\0"
-"is-a-designer.com\0"
-"perso.sn\0"
-"lg.jp\0"
-"hayashima.okayama.jp\0name.vn\0"
-"gangwon.kr\0"
-"atlanta.museum\0"
-"coop.ht\0"
-"veterinaire.km\0"
-"gda.pl\0cc.wa.us\0"
-"qsl.br\0mitsue.nara.jp\0"
-"oumu.hokkaido.jp\0"
-"zarow.pl\0"
-"kisarazu.chiba.jp\0"
-"perso.tn\0"
-"ono.fukushima.jp\0"
-"tas.au\0nordre-land.no\0"
-"kanagawa.jp\0"
-"pasadena.museum\0"
-"uto.kumamoto.jp\0"
-"sport.hu\0"
-"yamatokoriyama.nara.jp\0stj\xc3\xb8rdal.no\0name.tj\0"
-"nishigo.fukushima.jp\0"
-"nikko.tochigi.jp\0"
-"tsushima.nagasaki.jp\0"
-"palmsprings.museum\0"
-"coop.br\0yaroslavl.ru\0"
-"meldal.no\0"
-"takasago.hyogo.jp\0"
-"name.tt\0"
-"nl.no\0"
-"webhop.net\0"
-"nic.im\0sayama.saitama.jp\0"
-"nic.in\0"
-"tomakomai.hokkaido.jp\0"
-"agano.niigata.jp\0"
-"\xd9\x85\xd8\xb5\xd8\xb1\0go.dyndns.org\0"
-"savona.it\0"
-"kodaira.tokyo.jp\0"
-"qld.gov.au\0"
-"kashiwara.osaka.jp\0l.se\0"
-"veterinaire.fr\0"
-"university.museum\0"
-"haugesund.no\0"
-"hokuto.yamanashi.jp\0"
-"lib.ok.us\0"
-"pesarourbino.it\0n\xc3\xb8tter\xc3\xb8y.no\0"
-"2000.hu\0froya.no\0"
-"genova.it\0saskatchewan.museum\0"
+"games.hu\0"
+"kawakami.nara.jp\0"
+"priv.hu\0"
+"takamatsu.kagawa.jp\0foundation\0"
+"fetsund.no\0org.vu\0"
+"yotsukaido.chiba.jp\0"
+"lv.ua\0"
+"osen.no\0"
+"soma.fukushima.jp\0fujisawa.kanagawa.jp\0"
+"reggioemilia.it\0"
+"\xed\x95\x9c\xea\xb5\xad\0"
+"bando.ibaraki.jp\0"
+"leka.no\0"
+"oshima.tokyo.jp\0"
+"presidio.museum\0st.no\0org.ws\0"
+"space-to-rent.com\0"
+"delaware.museum\0"
+"kiyama.saga.jp\0"
+"omaha.museum\0azure\0"
+"matsukawa.nagano.jp\0kannami.shizuoka.jp\0"
+"nakhodka.ru\0"
+"suifu.ibaraki.jp\0"
+"safety.aero\0songdalen.no\0"
+"utazas.hu\0guge\0"
+"kahoku.ishikawa.jp\0"
+"gotsu.shimane.jp\0koge.tottori.jp\0"
+"home.dyndns.org\0"
+"trentinostirol.it\0kobayashi.miyazaki.jp\0"
+"sm.ua\0"
+"at.it\0monza-e-della-brianza.it\0"
+"ishigaki.okinawa.jp\0musashimurayama.tokyo.jp\0"
+"defense.tn\0"
+"kosei.shiga.jp\0"
+"nichinan.tottori.jp\0"
+"\xd7\x99\xd7\xa8\xd7\x95\xd7\xa9\xd7\x9c\xd7\x99\xd7\x9d.museum\0"
+"surgut.ru\0"
+"taito.tokyo.jp\0"
"isleofman.museum\0"
-"video.hu\0smolensk.ru\0"
-"taira.toyama.jp\0"
-"masfjorden.no\0"
-"jessheim.no\0"
-"science.museum\0"
-"cc.or.us\0from-pa.com\0"
-"muroran.hokkaido.jp\0"
-"bs.it\0ube.yamaguchi.jp\0"
-"si.it\0"
-"catering.aero\0esashi.hokkaido.jp\0newmexico.museum\0tana.no\0"
-"opole.pl\0"
-"iruma.saitama.jp\0"
-"hiroo.hokkaido.jp\0ogawa.ibaraki.jp\0rv.ua\0"
-"nakatsugawa.gifu.jp\0\xc3\xa1k\xc5\x8boluokta.no\0"
-"naie.hokkaido.jp\0kvinnherad.no\0"
-"pilot.aero\0ws.na\0"
-"yahaba.iwate.jp\0"
-"birthplace.museum\0"
-"name.qa\0"
-"tahara.aichi.jp\0hashikami.aomori.jp\0name.pr\0"
-"filatelia.museum\0"
-"pt.it\0"
-"chattanooga.museum\0"
-"*.yokohama.jp\0"
-"k12.mo.us\0"
-"r.bg\0yugawara.kanagawa.jp\0"
-"geometre-expert.fr\0koka.shiga.jp\0fundacio.museum\0hamar.no\0"
-"yamanouchi.nagano.jp\0\xc3\xa5lesund.no\0"
-"name.na\0"
-"village.museum\0"
-"shinkamigoto.nagasaki.jp\0name.mv\0"
-"orkanger.no\0"
-"mikasa.hokkaido.jp\0name.my\0balestrand.no\0kr\xc3\xa5""anghke.no\0"
-"no.it\0pesaro-urbino.it\0"
-"kamikawa.hyogo.jp\0"
-"\xd8\xa8\xda\xbe\xd8\xa7\xd8\xb1\xd8\xaa\0"
-"botany.museum\0"
-"cc.na\0"
-"ntr.br\0sango.nara.jp\0masuda.shimane.jp\0"
-"ind.tn\0"
-"trondheim.no\0"
-"fermo.it\0kagamino.okayama.jp\0odda.no\0"
-"askvoll.no\0"
-"tottori.tottori.jp\0bronnoysund.no\0"
-"ena.gifu.jp\0"
-"\xd9\x81\xd9\x84\xd8\xb3\xd8\xb7\xd9\x8a\xd9\x86\0"
-"evenes.no\0"
-"shiriuchi.hokkaido.jp\0hino.tokyo.jp\0lib.vi.us\0"
-"iide.yamagata.jp\0"
-"sande.m\xc3\xb8re-og-romsdal.no\0"
-"shibata.niigata.jp\0botanicgarden.museum\0lg.ua\0"
-"\xc3\xa5s.no\0"
-"namegata.ibaraki.jp\0"
-"architecture.museum\0fineart.museum\0ostrowwlkp.pl\0"
-"sorreisa.no\0"
-"psi.br\0cc.vt.us\0"
-"barrel-of-knowledge.info\0"
-"kunitomi.miyazaki.jp\0name.mk\0"
-"stor-elvdal.no\0uy.com\0"
-"bonn.museum\0budejju.no\0rnu.tn\0"
-"chiyoda.gunma.jp\0"
-"yoro.gifu.jp\0"
-"yasu.shiga.jp\0"
-"amagasaki.hyogo.jp\0"
-"m\xc3\xa1tta-v\xc3\xa1rjjat.no\0"
-"jur.pro\0"
-"mukawa.hokkaido.jp\0narviika.no\0"
-"name.jo\0"
-"marburg.museum\0tysv\xc3\xa6r.no\0"
-"lorenskog.no\0"
-"aland.fi\0yonezawa.yamagata.jp\0"
-"gyeongnam.kr\0"
-"maebashi.gunma.jp\0"
-"tateshina.nagano.jp\0"
-"yamato.kanagawa.jp\0dyndns.info\0"
-"mosvik.no\0"
-"crimea.ua\0"
-"laakesvuemie.no\0"
-"her\xc3\xb8y.m\xc3\xb8re-og-romsdal.no\0"
-"embetsu.hokkaido.jp\0chiyoda.tokyo.jp\0kudamatsu.yamaguchi.jp\0gop.pk\0nic.tj\0"
-"yalta.ua\0"
-"oregon.museum\0"
-"naples.it\0ginan.gifu.jp\0o.se\0"
-"va.it\0tamayu.shimane.jp\0"
-"ninomiya.kanagawa.jp\0"
-"orenburg.ru\0"
-"academy.museum\0"
-"miyakonojo.miyazaki.jp\0appspot.com\0"
-"moma.museum\0"
-"lib.nv.us\0readmyblog.org\0"
-"wake.okayama.jp\0"
-"kusu.oita.jp\0ing.pa\0"
-"blogdns.org\0"
-"is-a-doctor.com\0"
-"london.museum\0"
-"group.aero\0fukumitsu.toyama.jp\0"
-"osaki.miyagi.jp\0"
-"is-a-techie.com\0"
-"!nel.uk\0"
-"otake.hiroshima.jp\0shinonsen.hyogo.jp\0"
-"oshima.yamaguchi.jp\0mari-el.ru\0"
-"obu.aichi.jp\0"
-"bykle.no\0"
-"yasuoka.nagano.jp\0"
-"gs.cn\0"
-"\xd8\xa7\xd9\x84\xd8\xa7\xd8\xb1\xd8\xaf\xd9\x86\0"
-"chuo.fukuoka.jp\0"
-"aero.tt\0"
-"tokai.ibaraki.jp\0"
-"nsw.edu.au\0"
-"suzu.ishikawa.jp\0kitagawa.miyazaki.jp\0"
-"kawaminami.miyazaki.jp\0aisho.shiga.jp\0gs.tr.no\0"
-"bungotakada.oita.jp\0"
-"center.museum\0maritime.museum\0timekeeping.museum\0"
-"u.bg\0ecn.br\0"
-"yamal.ru\0"
-"aero.mv\0"
-"botanical.museum\0at-band-camp.net\0"
-"isa.us\0"
-"kasumigaura.ibaraki.jp\0"
-"ogawa.nagano.jp\0oppegard.no\0"
-"avellino.it\0"
-"samukawa.kanagawa.jp\0nat.tn\0"
-"b\xc3\xb8mlo.no\0"
-"gov.ac\0asso.fr\0"
-"gov.ae\0konan.aichi.jp\0"
-"gov.af\0"
-"research.aero\0omitama.ibaraki.jp\0kita.tokyo.jp\0va.no\0"
-"okaya.nagano.jp\0"
-"zhitomir.ua\0"
-"communication.museum\0"
-"gov.al\0"
-"kanra.gunma.jp\0kamisu.ibaraki.jp\0googlecode.com\0"
-"sandefjord.no\0astrakhan.ru\0kamchatka.ru\0"
-"gov.ba\0asso.gp\0"
-"gov.bb\0"
-"gov.as\0"
-"okinawa.okinawa.jp\0"
-"gov.au\0"
-"gov.bf\0"
-"gov.bh\0"
-"gov.az\0bv.nl\0"
-"pisa.it\0showa.yamanashi.jp\0"
-"kawajima.saitama.jp\0uw.gov.pl\0"
-"gov.bm\0"
-"kunimi.fukushima.jp\0"
-"gov.bo\0vologda.ru\0servebbs.net\0"
-"lib.ut.us\0"
-"gov.br\0naval.museum\0"
-"gov.bs\0"
-"gov.bt\0gov.cd\0minakami.gunma.jp\0"
-"asso.ht\0ovre-eiker.no\0coop.tt\0"
-"nt.edu.au\0mat.br\0"
-"gov.by\0bale.museum\0"
-"gov.bz\0cc.ga.us\0"
-"aga.niigata.jp\0"
-"gov.cl\0fredrikstad.no\0"
-"gov.cm\0"
-"gov.cn\0bushey.museum\0"
-"gov.co\0"
-"nu.ca\0"
-"kamiamakusa.kumamoto.jp\0"
-"aa.no\0"
-"gov.cu\0"
-"omachi.saga.jp\0k12.wy.us\0lib.ca.us\0"
-"coop.mv\0"
-"gov.cx\0coop.mw\0"
-"asso.bj\0venezia.it\0windmill.museum\0"
-"ac\0likes-pie.com\0"
-"ad\0gov.dm\0kepno.pl\0"
-"ae\0"
-"af\0gov.do\0"
-"aerodrome.aero\0ag\0"
-"ai\0"
-"gov.ec\0"
-"milano.it\0"
-"al\0gov.ee\0oguni.kumamoto.jp\0"
-"am\0"
-"an\0gov.eg\0"
-"ao\0"
-"kumiyama.kyoto.jp\0"
-"aq\0ba\0asso.ci\0gov.dz\0hidaka.hokkaido.jp\0"
-"bb\0hongo.hiroshima.jp\0shishikui.tokushima.jp\0"
-"as\0blogdns.com\0"
-"at\0"
-"be\0idv.hk\0"
-"agents.aero\0bf\0"
-"aw\0bg\0notteroy.no\0"
-"ax\0bh\0"
-"bi\0"
-"az\0bj\0"
-"higashiizu.shizuoka.jp\0"
-"bm\0norilsk.ru\0"
-"bo\0"
-"gos.pk\0"
-"ca\0yawatahama.ehime.jp\0"
-"br\0"
-"bs\0cc\0chiropractic.museum\0"
-"bt\0cd\0\xe7\xae\x87\xe4\xba\xba.hk\0en.it\0clock.museum\0r.se\0"
-"cf\0"
-"bw\0cg\0kobayashi.miyazaki.jp\0aurskog-h\xc3\xb8land.no\0valer.hedmark.no\0"
-"ch\0"
-"by\0ci\0"
-"gv.ao\0bz\0"
-"osakasayama.osaka.jp\0wv.us\0"
-"cl\0gov.ge\0tozsde.hu\0nakagyo.kyoto.jp\0homeftp.org\0"
-"cm\0"
-"cn\0gov.gg\0bus.museum\0"
-"gv.at\0co\0gov.gh\0"
-"consultant.aero\0gov.gi\0kahoku.ishikawa.jp\0"
-"shobara.hiroshima.jp\0coop.py\0"
-"cr\0asso.dz\0"
-"cu\0de\0gov.gn\0getmyip.com\0"
-"cv\0"
-"kasai.hyogo.jp\0amur.ru\0"
-"cx\0"
-"gov.gr\0"
-"cz\0dj\0"
-"dk\0ci.it\0"
-"so.it\0"
-"express.aero\0dm\0"
-"do\0tomigusuku.okinawa.jp\0"
-"oseto.nagasaki.jp\0"
-"gov.hk\0va.us\0"
-"ec\0"
-"izumozaki.niigata.jp\0"
-"ee\0"
-"principe.st\0"
-"eg\0"
-"is-a-bookkeeper.com\0"
-"dz\0"
-"gov.ie\0"
-"showa.fukushima.jp\0"
-"noboribetsu.hokkaido.jp\0tourism.tn\0cc.ms.us\0cc.nc.us\0"
-"es\0pz.it\0"
-"gov.im\0"
-"eu\0gov.in\0coop.km\0!british-library.uk\0\xd8\xa7\xdb\x8c\xd8\xb1\xd8\xa7\xd9\x86\0"
-"artcenter.museum\0"
-"suwa.nagano.jp\0"
-"gov.iq\0nationalfirearms.museum\0lubin.pl\0"
-"fi\0gov.ir\0aver\xc3\xb8y.no\0"
-"x.bg\0gov.is\0"
-"gov.it\0"
-"radio.br\0gov.je\0sasebo.nagasaki.jp\0"
-"fm\0monzaedellabrianza.it\0"
-"ad.jp\0"
-"fo\0"
-"ga\0"
-"fr\0"
-"from-nj.com\0"
-"gd\0"
-"ge\0"
-"gf\0gov.jo\0"
-"gg\0"
-"gh\0eiheiji.fukui.jp\0shintomi.miyazaki.jp\0odesa.ua\0"
-"gi\0gifu.jp\0rockart.museum\0homeunix.com\0"
-"nu.it\0"
-"gl\0"
-"gm\0publ.pt\0forgot.his.name\0"
-"gov.kg\0"
-"gp\0gov.ki\0karmoy.no\0"
-"gq\0kr\xc3\xb8""dsherad.no\0"
-"far.br\0gr\0roma.museum\0endofinternet.net\0"
-"gs\0"
-"gt\0gov.km\0inder\xc3\xb8y.no\0"
-"nakama.fukuoka.jp\0gov.kn\0kvanangen.no\0"
-"gw\0taiki.hokkaido.jp\0gov.kp\0"
-"gov.la\0"
-"gy\0haga.tochigi.jp\0gov.lb\0"
-"gobo.wakayama.jp\0gov.lc\0"
-"hk\0"
-"natori.miyagi.jp\0"
-"hm\0crotone.it\0snillfjord.no\0"
-"hn\0"
-"chiryu.aichi.jp\0gov.ky\0"
-"gov.kz\0"
-"hr\0gov.lk\0"
-"ht\0id\0"
-"hu\0ie\0nanbu.yamanashi.jp\0nesseby.no\0"
-"ono.fukui.jp\0"
-"vikna.no\0"
-"gov.ma\0bashkiria.ru\0"
-"gov.lr\0"
-"niihama.ehime.jp\0"
-"gov.lt\0"
-"gov.me\0"
-"im\0shonai.fukuoka.jp\0gov.lv\0"
-"in\0gov.mg\0gorge.museum\0dyndns.org\0"
-"io\0"
-"gov.ly\0"
-"iq\0"
-"ir\0campidanomedio.it\0nichinan.miyazaki.jp\0gov.mk\0"
-"is\0minamitane.kagoshima.jp\0gov.ml\0"
-"it\0"
-"je\0gov.mn\0"
-"gov.mo\0"
-"*.nagoya.jp\0"
-"gov.mr\0est.pr\0"
-"kinko.kagoshima.jp\0"
-"gov.mu\0dudinka.ru\0"
-"kouyama.kagoshima.jp\0gov.mv\0rnrt.tn\0"
-"gov.mw\0gov.ng\0swiebodzin.pl\0"
-"jo\0"
-"jp\0gov.my\0"
-"columbia.museum\0"
-"udono.mie.jp\0"
-"nx.cn\0oristano.it\0"
-"kg\0"
-"ki\0bygland.no\0gov.nr\0"
-"toyoura.hokkaido.jp\0"
-"\xe6\x94\xbf\xe5\xba\x9c.hk\0"
-"taishi.hyogo.jp\0km\0"
-"miyako.iwate.jp\0kn\0"
-"hamatama.saga.jp\0"
-"la\0stavropol.ru\0"
-"kr\0"
-"lc\0"
-"cn.com\0"
-"tarumizu.kagoshima.jp\0"
-"ky\0li\0"
-"kz\0"
-"lk\0"
-"tver.ru\0"
-"uvic.museum\0"
-"gov.ph\0"
-"lyngen.no\0"
-"koto.tokyo.jp\0ma\0cc.az.us\0"
-"sannan.hyogo.jp\0gov.pk\0sells-it.net\0"
-"ls\0mc\0gov.pl\0"
-"lt\0md\0"
-"lu\0me\0gov.pn\0"
-"lv\0meland.no\0u.se\0servegame.org\0"
-"mg\0"
-"mh\0other.nf\0gov.qa\0"
-"ly\0gov.pr\0"
-"gov.ps\0"
-"\xe7\xbb\x84\xe7\xbb\x87.hk\0nishio.aichi.jp\0mk\0gov.pt\0"
-"ml\0miasta.pl\0"
-"iwamizawa.hokkaido.jp\0ikeda.osaka.jp\0sejny.pl\0wy.us\0"
-"kesennuma.miyagi.jp\0mn\0"
-"mo\0"
-"mp\0gov.py\0"
-"mq\0na\0"
-"mr\0selfip.org\0"
-"tsuruoka.yamagata.jp\0ms\0touch.museum\0nc\0"
-"matsumoto.kagoshima.jp\0mu\0ne\0"
-"lecce.it\0wassamu.hokkaido.jp\0mv\0nf\0"
-"hirono.fukushima.jp\0mw\0"
-"mx\0"
-"my\0"
-"hamamatsu.shizuoka.jp\0"
-"rikubetsu.hokkaido.jp\0jamal.ru\0"
-"nl\0nieruchomosci.pl\0"
-"cl.it\0hisayama.fukuoka.jp\0minami.kyoto.jp\0arai.shizuoka.jp\0"
-"sr.it\0kikonai.hokkaido.jp\0"
-"no\0"
-"yakumo.hokkaido.jp\0"
-"keisen.fukuoka.jp\0idv.tw\0"
-"nr\0"
-"b\xc3\xa5""d\xc3\xa5""ddj\xc3\xa5.no\0"
-"ut.us\0"
-"nu\0"
-"gov.sa\0"
-"gov.sb\0"
-"gov.rs\0gov.sc\0"
-"hi.cn\0gov.sd\0"
-"orkdal.no\0gov.ru\0"
-"fuoisku.no\0"
-"shiraoka.saitama.jp\0building.museum\0gov.rw\0gov.sg\0"
-"gov.sh\0"
-"co.ae\0aeroclub.aero\0"
-"pa\0"
-"co.ag\0"
-"gov.sl\0"
-"ag.it\0higashi.okinawa.jp\0lancashire.museum\0"
-"pe\0"
-"pf\0"
-"oygarden.no\0"
-"!siemens.om\0ph\0"
-"aikawa.kanagawa.jp\0"
-"co.ao\0tempioolbia.it\0"
-"lierne.no\0pk\0gov.st\0"
-"co.ba\0force.museum\0pl\0"
-"pm\0asso.re\0"
-"pn\0"
-"co.at\0dep.no\0irkutsk.ru\0gov.sx\0"
-"gov.sy\0"
-"qa\0gov.tj\0"
-"pr\0"
-"historyofscience.museum\0ps\0gov.tl\0"
-"co.bi\0pt\0gov.tm\0"
-"higashinaruse.akita.jp\0madrid.museum\0gov.tn\0"
-"gov.to\0\xe0\xb9\x84\xe0\xb8\x97\xe0\xb8\xa2\0"
-"pw\0cc.la.us\0"
-"tarui.gifu.jp\0gov.ua\0"
-"py\0"
-"kyotango.kyoto.jp\0gov.tt\0"
-"tourism.pl\0co.ca\0"
-"leirfjord.no\0"
-"gov.tw\0"
-"tenkawa.nara.jp\0"
-"minowa.nagano.jp\0"
-"co.bw\0takazaki.miyazaki.jp\0ullensvang.no\0"
-"andoy.no\0"
-"co.ci\0"
-"finland.museum\0tysnes.no\0re\0"
-"e12.ve\0"
-"co.cl\0austevoll.no\0wolomin.pl\0"
-"kunstunddesign.museum\0"
-"k\xc3\xa5""fjord.no\0gov.vc\0"
-"gov.ve\0"
-"co.cr\0kasuga.fukuoka.jp\0"
-"iris.arpa\0cc.il.us\0"
-"latina.it\0copenhagen.museum\0ro\0"
-"sa\0"
-"sb\0"
-"mc.it\0um.gov.pl\0rs\0sc\0"
-"futtsu.chiba.jp\0incheon.kr\0sd\0"
-"ru\0se\0gov.vn\0"
-"oppeg\xc3\xa5rd.no\0"
-"rw\0sg\0"
-"sh\0"
-"cnt.br\0harima.hyogo.jp\0si\0"
-"1.bg\0"
-"sk\0"
-"sl\0"
-"sm\0"
-"plaza.museum\0sn\0"
-"so\0"
-"sr\0"
-"tc\0"
-"st\0td\0"
-"su\0"
-"tf\0"
-"nishiawakura.okayama.jp\0tg\0"
-"sx\0th\0"
-"unbi.ba\0sumita.iwate.jp\0forsand.no\0sy\0"
-"sz\0tj\0gov.ws\0"
-"asso.nc\0tk\0"
-"artgallery.museum\0tl\0"
-"tm\0"
-"tn\0"
-"toda.saitama.jp\0to\0"
-"for-some.biz\0"
-"ua\0"
-"yatsushiro.kumamoto.jp\0"
-"!rakpetroleum.om\0tt\0"
-"taishin.fukushima.jp\0beeldengeluid.museum\0"
-"hellas.museum\0tv\0gr.com\0"
-"fujimi.nagano.jp\0tw\0ug\0"
-"rennesoy.no\0"
-"asahi.nagano.jp\0"
-"ogano.saitama.jp\0mjondalen.no\0loabat.no\0cc.tx.us\0"
-"kikuchi.kumamoto.jp\0gniezno.pl\0"
-"iwaizumi.iwate.jp\0"
-"va\0"
-"co.gg\0"
-"nesset.no\0us\0vc\0"
-"parma.it\0hasama.oita.jp\0b\xc3\xa1l\xc3\xa1t.no\0ve\0"
-"kashima.ibaraki.jp\0vg\0"
-"k12.ut.us\0"
-"uy\0vi\0"
-"monza-e-della-brianza.it\0ebina.kanagawa.jp\0uz\0"
-"kosa.kumamoto.jp\0nagi.okayama.jp\0"
-"yomitan.okinawa.jp\0"
-"vn\0"
-"ouda.nara.jp\0"
-"ogliastra.it\0"
-"co.gy\0cc.sc.us\0"
-"vu\0"
-"wf\0"
-"webhop.biz\0"
-"x.se\0"
-"farm.museum\0"
-"nord-fron.no\0"
-"co.id\0"
-"mil.ac\0co.hu\0"
-"suzuka.mie.jp\0sigdal.no\0"
+"oksnes.no\0"
+"volkenkunde.museum\0"
+"minamimaki.nagano.jp\0"
+"cologne\0"
+"call\0"
+"historisches.museum\0"
+"asker.no\0hornindal.no\0from-tx.com\0"
+"jgora.pl\0"
+"barrell-of-knowledge.info\0"
+"l\xc3\xa6rdal.no\0"
+"rzeszow.pl\0"
+"izu.shizuoka.jp\0"
+"jewish.museum\0aejrie.no\0"
+"blogspot.co.at\0priv.at\0"
+"lombardy.it\0"
+"minamiise.mie.jp\0school\0"
+"botanicalgarden.museum\0freemasonry.museum\0lur\xc3\xb8y.no\0"
+"omihachiman.shiga.jp\0"
+"tr.it\0hokkaido.jp\0miyoshi.hiroshima.jp\0klodzko.pl\0camp\0"
+"suisse.museum\0\xe5\x81\xa5\xe5\xba\xb7\0"
+"denmark.museum\0"
+"in.net\0"
+"trysil.no\0is-a-green.com\0"
+"lib.ia.us\0"
+"minamiboso.chiba.jp\0"
+"karmoy.no\0k12.nm.us\0"
+"mil.ac\0a.bg\0film\0"
+"liaison\0"
"mil.ae\0"
-"forde.no\0ws\0"
-"ivgu.no\0"
-"co.im\0"
-"mil.al\0co.in\0uchiko.ehime.jp\0mer\xc3\xa5ker.no\0s\xc3\xb8rum.no\0"
-"vibo-valentia.it\0"
-"nango.fukushima.jp\0"
-"co.ir\0"
-"mil.ba\0\xc3\xa5mot.no\0"
-"co.it\0"
-"te.it\0co.je\0"
-"ostre-toten.no\0"
-"engineer.aero\0kumamoto.jp\0nativeamerican.museum\0"
-"miyama.mie.jp\0"
-"mil.az\0nagawa.nagano.jp\0"
-"eng.pro\0"
-"co.jp\0"
-"mil.bo\0"
-"hl.cn\0"
-"sk\xc3\xa1nit.no\0"
-"mil.br\0uda.nara.jp\0"
-"pvt.k12.ma.us\0"
-"medio-campidano.it\0columbus.museum\0"
-"sakaiminato.tottori.jp\0yt\0"
-"asso.km\0"
-"mil.by\0higashiyodogawa.osaka.jp\0nanbu.tottori.jp\0"
-"intelligence.museum\0"
-"mil.cl\0aioi.hyogo.jp\0"
+"bologna.it\0museum.mv\0from-co.net\0"
+"museum.mw\0"
+"kaneyama.fukushima.jp\0"
+"mil.al\0"
+"val-daosta.it\0"
+"okaya.nagano.jp\0pol.tr\0"
+"mil.ba\0museum.no\0business\0uno\0"
+"mil.ar\0macerata.it\0"
+"government.aero\0cc.me.us\0"
+"toba.mie.jp\0watarai.mie.jp\0meguro.tokyo.jp\0help\0"
+"shiksha\0"
+"mil.az\0abruzzo.it\0"
+"barclaycard\0"
+"uol\0"
+"mil.bo\0museum.om\0lib.ca.us\0"
+"naval.museum\0"
+"mil.br\0abashiri.hokkaido.jp\0"
+"dyndns-work.com\0"
+"fot.br\0"
+"s\xc3\xb8rfold.no\0"
+"mus.br\0"
+"mil.by\0website\0from-dc.com\0"
+"\xe6\x96\xb0\xe6\xbd\x9f.jp\0"
+"mil.cl\0"
+"scholarships\0"
"mil.cn\0"
-"mil.co\0levanger.no\0"
-"co.kr\0"
-"co.lc\0from-wi.com\0"
-"kawai.iwate.jp\0"
-"b\xc3\xb8.telemark.no\0"
-"tsurugi.ishikawa.jp\0"
-"flekkefjord.no\0"
-"furniture.museum\0newyork.museum\0"
-"asso.mc\0"
-"mil.do\0co.ma\0"
-"nagara.chiba.jp\0co.ls\0"
-"mil.ec\0bolt.hu\0co.me\0"
-"uhren.museum\0"
-"joso.ibaraki.jp\0niyodogawa.kochi.jp\0gs.sf.no\0"
-"mil.eg\0"
-"lib.il.us\0"
-"umaji.kochi.jp\0kurashiki.okayama.jp\0"
-"kakinoki.shimane.jp\0oishida.yamagata.jp\0"
-"bearalv\xc3\xa1hki.no\0sokndal.no\0"
-"wa.gov.au\0sx.cn\0co.na\0"
-"art.museum\0"
-"mo-i-rana.no\0"
-"co.mu\0"
-"co.mw\0"
-"design.aero\0"
-"vadso.no\0"
-"am.br\0"
-"co.nl\0"
-"hidaka.kochi.jp\0"
-"tokushima.jp\0communications.museum\0"
-"co.no\0"
-"oh.us\0blogdns.net\0"
-"4.bg\0nord-odal.no\0"
-"kumamoto.kumamoto.jp\0"
-"altoadige.it\0koto.shiga.jp\0"
-"yasaka.nagano.jp\0"
+"aero\0mil.co\0"
+"avocat.fr\0kawahara.tottori.jp\0"
+"heroy.nordland.no\0"
+"arakawa.tokyo.jp\0"
+"care\0"
+"austrheim.no\0her\xc3\xb8y.m\xc3\xb8re-og-romsdal.no\0"
+"tur.ar\0"
+"humanities.museum\0"
+"showa.fukushima.jp\0monash\0"
+"tr.no\0"
+"yoita.niigata.jp\0"
+"mil.do\0"
+"nakatsugawa.gifu.jp\0"
+"mil.ec\0mt.us\0nd.us\0casa\0"
+"sirdal.no\0cars\0iki.fi\0"
+"mil.eg\0youth.museum\0k12.mn.us\0sa.com\0"
+"tur.br\0cash\0"
+"h.bg\0"
+"tsubame.niigata.jp\0"
+"davvenjarga.no\0"
+"shimizu.hokkaido.jp\0"
+"budapest\0"
+"sagae.yamagata.jp\0"
+"kirov.ru\0"
+"br.it\0cb.it\0mie.jp\0"
+"bd.se\0"
+"\xe6\x9d\xb1\xe4\xba\xac.jp\0"
+"game-host.org\0"
+"yachiyo.ibaraki.jp\0"
+"h\xc3\xa1pmir.no\0"
+"otake.hiroshima.jp\0"
+"blogspot.co.il\0"
+"marylhurst.museum\0"
"mil.ge\0"
-"jaworzno.pl\0"
-"saito.miyazaki.jp\0"
-"mil.gh\0toyoake.aichi.jp\0"
-"mombetsu.hokkaido.jp\0"
-"fauske.no\0"
-"nishi.fukuoka.jp\0alaska.museum\0"
-"marnardal.no\0"
-"on.ca\0"
-"higashikurume.tokyo.jp\0"
-"gs.nl.no\0"
-"mil.gt\0reggioemilia.it\0r\xc3\xb8st.no\0"
-"fnd.br\0bjark\xc3\xb8y.no\0l\xc3\xa6rdal.no\0tromso.no\0krakow.pl\0"
-"takahashi.okayama.jp\0hasvik.no\0"
-"co.pl\0"
-"zt.ua\0"
-"katsuyama.fukui.jp\0co.pn\0homeftp.net\0"
-"mil.hn\0fuchu.tokyo.jp\0omaha.museum\0"
-"date.hokkaido.jp\0shimokawa.hokkaido.jp\0"
-"tyumen.ru\0"
-"mil.id\0philadelphiaarea.museum\0sanfrancisco.museum\0"
-"honjo.akita.jp\0living.museum\0co.pw\0"
-"beiarn.no\0"
-"ullensaker.no\0"
-"tozawa.yamagata.jp\0"
-"aya.miyazaki.jp\0uk.net\0"
-"sklep.pl\0"
-"hokuto.hokkaido.jp\0"
+"shikama.miyagi.jp\0"
+"mini\0"
+"mil.gh\0tobishima.aichi.jp\0podzone.net\0"
+"avoues.fr\0"
+"here\0lifeinsurance\0is-an-engineer.com\0"
+"komagane.nagano.jp\0fish\0endofinternet.net\0"
+"lajolla.museum\0"
+"dlugoleka.pl\0"
+"mol.it\0"
+"mil.gt\0"
+"museum\0castle.museum\0udm.ru\0"
+"katsuura.chiba.jp\0"
+"arts.museum\0"
+"kuromatsunai.hokkaido.jp\0minowa.nagano.jp\0"
+"hadano.kanagawa.jp\0lawyer\0"
+"oryol.ru\0guru\0"
+"mil.hn\0mifune.kumamoto.jp\0"
+"yaizu.shizuoka.jp\0"
+"lecce.it\0"
+"mil.id\0"
+"m\xc3\xa1latvuopmi.no\0\xe5\x9c\xa8\xe7\xba\xbf\0"
+"vet\0"
+"olecko.pl\0"
+"newjersey.museum\0"
+"celtic.museum\0delivery\0"
+"\xd8\xa7\xd9\x84\xd8\xb3\xd8\xb9\xd9\x88\xd8\xaf\xdb\x8c\xd8\xa9\0"
"mil.in\0"
-"tsaritsyn.ru\0"
+"k12.ok.us\0supplies\0\xd0\xbe\xd1\x80\xd0\xb3\0"
"mil.iq\0"
-"minami.fukuoka.jp\0"
-"naklo.pl\0"
-"susaki.kochi.jp\0"
-"karatsu.saga.jp\0"
-"fg.it\0badajoz.museum\0"
-"for-better.biz\0"
+"ouda.nara.jp\0chihayaakasaka.osaka.jp\0iwi.nz\0"
+"o.bg\0skjak.no\0"
+"travel.pl\0"
+"for-our.info\0"
+"mobi.gp\0embetsu.hokkaido.jp\0"
+"rennesoy.no\0"
+"aomori.jp\0hiroshima.jp\0"
+"monzaedellabrianza.it\0"
"mil.jo\0"
-"midsund.no\0co.rs\0"
-"shimane.shimane.jp\0"
-"hi.us\0"
-"d\xc3\xb8nna.no\0"
-"york.museum\0spydeberg.no\0co.rw\0"
-"hamatonbetsu.hokkaido.jp\0"
-"mil.kg\0"
-"!nic.ar\0kagami.kochi.jp\0dynalias.com\0"
-"civilaviation.aero\0modelling.aero\0uz.ua\0"
-"nanao.ishikawa.jp\0"
+"ci.it\0trento.it\0coop.tt\0"
+"cc.al.us\0academy\0"
+"seika.kyoto.jp\0hyuga.miyazaki.jp\0"
+"design.museum\0cc.ms.us\0cc.nc.us\0is-certified.com\0"
+"\xe5\xa8\xb1\xe4\xb9\x90\0"
+"mil.kg\0za.org\0"
+"norfolk.museum\0"
"mil.km\0"
-"modum.no\0"
-"badaddja.no\0"
-"mil.kr\0co.st\0"
-"oi.kanagawa.jp\0"
-"author.aero\0cr.it\0"
-"co.th\0"
-"versailles.museum\0co.sz\0co.tj\0"
-"encyclopedic.museum\0"
-"mil.kz\0grong.no\0"
-"co.tm\0"
-"minamiboso.chiba.jp\0lib.ma.us\0servebbs.org\0"
-"kiev.ua\0"
-"journalist.aero\0co.ua\0"
-"te.ua\0"
-"co.tt\0"
-"co.ug\0"
+"naturalhistory.museum\0lib.dc.us\0"
+"wales.museum\0"
+"mil.kr\0coop.mv\0"
+"coop.mw\0"
+"nagasaki.nagasaki.jp\0"
+"toyokawa.aichi.jp\0imari.saga.jp\0landrover\0"
+"fhv.se\0"
+"mil.kz\0"
+"roros.no\0java\0"
+"toki.gifu.jp\0ina.saitama.jp\0"
+"for-more.biz\0"
+"vip\0"
+"\xe4\xb8\xaa\xe4\xba\xba.hk\0careers\0"
+"idrett.no\0kustanai.ru\0"
"mil.lv\0"
"mil.mg\0"
-"co.tz\0"
-"council.aero\0ibaraki.jp\0"
-"family.museum\0"
-"rc.it\0"
-"hl.no\0ostrowiec.pl\0co.us\0"
-"!statecouncil.om\0co.ve\0"
-"!congresodelalengua3.ar\0nalchik.ru\0"
-"mil.mv\0halsa.no\0"
-"co.vi\0"
-"takayama.gifu.jp\0fujishiro.ibaraki.jp\0os.hordaland.no\0sirdal.no\0co.uz\0"
-"fj.cn\0mil.my\0"
-"kazuno.akita.jp\0"
-"unzen.nagasaki.jp\0mizuho.tokyo.jp\0indianapolis.museum\0"
-"from-id.com\0"
-"hurum.no\0"
-"mil.no\0"
-"pordenone.it\0"
-"kvam.no\0"
-"mutsuzawa.chiba.jp\0artdeco.museum\0"
-"hamada.shimane.jp\0philadelphia.museum\0"
-"kudoyama.wakayama.jp\0"
-"mishima.shizuoka.jp\0minami-alps.yamanashi.jp\0k12.mi.us\0"
-"nanmoku.gunma.jp\0"
-"ashikaga.tochigi.jp\0"
-"from-wv.com\0"
-"\xe5\x8f\xb0\xe6\xb9\xbe\0"
-"kawatana.nagasaki.jp\0"
-"oslo.no\0"
-"fukuchiyama.kyoto.jp\0"
-"kisofukushima.nagano.jp\0"
-"okayama.jp\0mil.pe\0"
-"mil.ph\0"
-"mi.it\0"
-"russia.museum\0"
-"abo.pa\0mil.pl\0"
-"nobeoka.miyazaki.jp\0shinjuku.tokyo.jp\0"
-"ok.us\0"
-"7.bg\0mil.qa\0"
-"verran.no\0suwalki.pl\0"
-"onjuku.chiba.jp\0szczytno.pl\0lv.ua\0"
-"mitou.yamaguchi.jp\0mil.py\0"
-"chita.ru\0"
-"hirono.iwate.jp\0"
-"embroidery.museum\0"
-"mad.museum\0"
-"kawaue.gifu.jp\0"
-"shiiba.miyazaki.jp\0"
-"asnes.no\0"
-"media.hu\0sande.vestfold.no\0\xd8\xb9\xd9\x85\xd8\xa7\xd9\x86\0"
-"lib.de.us\0"
-"erotika.hu\0ski.museum\0"
-"parti.se\0on-the-web.tv\0"
-"works.aero\0gb.com\0dyndns-free.com\0"
-"biz.bb\0firm.ht\0rifu.miyagi.jp\0watari.miyagi.jp\0"
-"takagi.nagano.jp\0biz.at\0"
-"surgeonshall.museum\0skanit.no\0"
-"florida.museum\0"
-"kani.gifu.jp\0"
-"biz.az\0mil.ru\0"
-"isesaki.gunma.jp\0"
-"firm.in\0yusui.kagoshima.jp\0mil.rw\0"
-"mil.sh\0"
-"inderoy.no\0"
-"software.aero\0kushiro.hokkaido.jp\0pyatigorsk.ru\0"
-"bindal.no\0"
-"sakegawa.yamagata.jp\0"
-"ninohe.iwate.jp\0yonago.tottori.jp\0"
-"mil.st\0"
-"galsa.no\0"
-"mil.sy\0"
-"salvadordali.museum\0mil.tj\0"
-"mil.tm\0"
-"for-our.info\0"
-"shikama.miyagi.jp\0mil.to\0"
-"yaotsu.gifu.jp\0"
-"niki.hokkaido.jp\0"
-"hikawa.shimane.jp\0stat.no\0"
-"joetsu.niigata.jp\0mil.tw\0"
-"firm.co\0bruxelles.museum\0endofinternet.org\0"
-"asahi.mie.jp\0mil.tz\0"
-"sor-varanger.no\0dynathome.net\0"
-"skoczow.pl\0"
-"shonai.yamagata.jp\0"
-"stadt.museum\0"
-"roma.it\0"
-"shijonawate.osaka.jp\0"
-"mil.vc\0"
-"mil.ve\0"
-"honai.ehime.jp\0"
-"muko.kyoto.jp\0"
-"karpacz.pl\0mil.uy\0us.com\0"
-"k12.az.us\0"
-"\xe6\x95\x99\xe8\x82\xb2.hk\0"
-"monza-brianza.it\0shingo.aomori.jp\0toshima.tokyo.jp\0prochowice.pl\0"
-"kuju.oita.jp\0cr.ua\0"
-"eid.no\0"
-"kyowa.hokkaido.jp\0"
-"higashikagura.hokkaido.jp\0otari.nagano.jp\0kiyama.saga.jp\0"
-"rochester.museum\0"
-"fuchu.hiroshima.jp\0"
-"hasuda.saitama.jp\0"
-"ap.it\0"
-"fm.br\0dagestan.ru\0"
-"gs.va.no\0"
-"shinshiro.aichi.jp\0lowicz.pl\0"
-"taiwa.miyagi.jp\0yekaterinburg.ru\0"
-"wielun.pl\0"
-"geelvinck.museum\0"
-"slattum.no\0"
-"utsunomiya.tochigi.jp\0"
-"bern.museum\0rivne.ua\0"
-"miners.museum\0"
-"com.ac\0kraanghke.no\0"
-"pa.it\0davvenj\xc3\xa1rga.no\0"
-"com.af\0tsushima.aichi.jp\0"
-"com.ag\0asmatart.museum\0"
-"com.ai\0"
-"etnedal.no\0"
-"com.al\0snaase.no\0media.pl\0"
-"sula.no\0vanylven.no\0"
+"chofu.tokyo.jp\0\xd9\x81\xd9\x84\xd8\xb3\xd8\xb7\xd9\x8a\xd9\x86\0"
+"writesthisblog.com\0"
+"oirase.aomori.jp\0olkusz.pl\0"
+"com.ac\0ballooning.aero\0"
+"com.af\0\xe7\xbd\x91\xe7\xbb\x9c\0"
+"airline.aero\0com.ag\0"
+"nakijin.okinawa.jp\0"
+"com.ai\0vossevangen.no\0"
+"shinichi.hiroshima.jp\0marumori.miyagi.jp\0"
+"com.al\0mil.mv\0"
+"mil.ng\0"
"com.an\0"
-"torino.museum\0"
-"helsinki.museum\0"
-"com.ba\0"
-"com.bb\0"
-"kimitsu.chiba.jp\0"
-"tarama.okinawa.jp\0"
-"com.au\0"
-"com.aw\0\xe4\xb8\xaa\xe4\xba\xba.hk\0aremark.no\0"
-"com.bh\0vestre-slidre.no\0"
-"com.bi\0goto.nagasaki.jp\0higashisumiyoshi.osaka.jp\0"
-"com.az\0"
-"rollag.no\0"
-"bc.ca\0"
-"com.bm\0oceanographique.museum\0"
-"mesaverde.museum\0mi.th\0"
-"com.bo\0gs.aa.no\0"
-"jerusalem.museum\0"
-"com.br\0is-a-green.com\0"
-"com.bs\0nagasaki.jp\0"
-"com.bt\0"
-"nishiwaki.hyogo.jp\0"
-"verbania.it\0takarazuka.hyogo.jp\0georgia.museum\0"
+"\xe6\x94\xbf\xe5\xba\x9c.hk\0mil.my\0paris\0tips\0"
+"trentinos-tirol.it\0kashima.ibaraki.jp\0"
+"com.ba\0v.bg\0degree\0"
+"com.ar\0com.bb\0caserta.it\0tranibarlettaandria.it\0"
+"lebtimnetz.de\0"
+"joboji.iwate.jp\0takatsuki.osaka.jp\0gniezno.pl\0travel.tt\0"
+"com.au\0mil.no\0"
+"in-the-band.net\0"
+"com.aw\0"
+"com.bh\0"
+"com.bi\0"
+"com.az\0mito.ibaraki.jp\0"
+"coop.py\0"
+"kashima.kumamoto.jp\0pomorskie.pl\0"
+"com.bm\0"
+"shiki.saitama.jp\0sandvikcoromant\0"
+"com.bo\0cc.as.us\0"
+"minato.tokyo.jp\0mil.nz\0"
+"labour.museum\0coffee\0"
+"com.br\0pg.it\0shintomi.miyazaki.jp\0"
+"com.bs\0cc.nj.us\0"
+"com.bt\0bytom.pl\0"
+"ichiba.tokushima.jp\0"
+"qc.com\0"
+"kakamigahara.gifu.jp\0"
"com.by\0com.ci\0"
-"com.bz\0uchinomi.kagawa.jp\0"
-"ehime.jp\0"
-"shinjo.nara.jp\0"
-"com.cn\0shiki.saitama.jp\0"
-"com.co\0cc.wv.us\0"
-"xxx\0"
-"tychy.pl\0nkz.ru\0"
-"tobe.ehime.jp\0"
-"strand.no\0"
-"biz.ki\0ivanovo.ru\0"
+"com.bz\0ichihara.chiba.jp\0"
+"mil.pe\0"
+"uji.kyoto.jp\0"
+"com.cm\0nesna.no\0"
+"com.cn\0mil.ph\0"
+"com.co\0\xc4\x8d\xc3\xa1hcesuolo.no\0k12.id.us\0\xe8\x87\xba\xe7\x81\xa3\0melbourne\0"
+"kahoku.yamagata.jp\0"
+"mil.pl\0"
+"selje.no\0"
+"tatebayashi.gunma.jp\0shinjo.okayama.jp\0\xe9\x9b\x86\xe5\x9b\xa2\0"
"com.cu\0com.de\0"
-"s\xc3\xa1l\xc3\xa1t.no\0"
-"hichiso.gifu.jp\0nirasaki.yamanashi.jp\0flesberg.no\0"
-"mi.us\0k12.il.us\0"
-"jgora.pl\0sumy.ua\0"
-"com.dm\0izumo.shimane.jp\0"
-"com.do\0hiranai.aomori.jp\0"
-"jor.br\0!city.sendai.jp\0"
-"omaezaki.shizuoka.jp\0"
-"turin.it\0nissedal.no\0skierva.no\0"
+"higashikurume.tokyo.jp\0"
+"com.cw\0mil.qa\0club.tw\0"
+"v\xc3\xa5ler.hedmark.no\0"
+"town.museum\0"
+"nagasu.kumamoto.jp\0\xd8\xa7\xd9\x85\xd8\xa7\xd8\xb1\xd8\xa7\xd8\xaa\0"
+"com.dm\0"
+"ninomiya.kanagawa.jp\0so.gov.pl\0\xe0\xa6\xac\xe0\xa6\xbe\xe0\xa6\x82\xe0\xa6\xb2\xe0\xa6\xbe\0"
+"com.do\0coop.km\0mil.py\0"
+"elasticbeanstalk.com\0"
+"nachikatsuura.wakayama.jp\0"
"com.ec\0"
+"cim.br\0ogata.akita.jp\0"
"com.ee\0"
-"cc.va.us\0"
-"com.eg\0nagano.nagano.jp\0"
-"halloffame.museum\0leka.no\0"
-"com.dz\0morioka.iwate.jp\0"
-"lesja.no\0"
-"vibovalentia.it\0nishi.osaka.jp\0kg.kr\0"
-"!city.kawasaki.jp\0flanders.museum\0"
-"com.es\0florence.it\0"
-"kumano.hiroshima.jp\0from-sd.com\0"
-"mo.cn\0yamagata.nagano.jp\0!nic.tr\0"
-"yamanashi.jp\0"
-"is-with-theband.com\0"
-"canada.museum\0"
-"bardu.no\0tr\xc3\xb8gstad.no\0"
-"fm.it\0biz.mv\0bialowieza.pl\0!nic.uk\0"
-"com.fr\0vs.it\0kunohe.iwate.jp\0aoki.nagano.jp\0biz.mw\0"
-"izumi.osaka.jp\0koeln.museum\0"
-"gulen.no\0ruovat.no\0"
-"agr.br\0com.ge\0nes.buskerud.no\0"
-"fukudomi.saga.jp\0"
-"dnsdojo.com\0"
-"com.gh\0hitachi.ibaraki.jp\0selfip.biz\0"
-"com.gi\0nakagawa.nagano.jp\0"
-"biz.nr\0"
-"com.gn\0nishiaizu.fukushima.jp\0"
-"com.gp\0bearalvahki.no\0"
-"m\xc3\xa5lselv.no\0kchr.ru\0"
-"com.gr\0tosashimizu.kochi.jp\0"
-"tas.gov.au\0nosegawa.nara.jp\0"
-"com.gt\0kanan.osaka.jp\0oyer.no\0\xe0\xa4\xad\xe0\xa4\xbe\xe0\xa4\xb0\xe0\xa4\xa4\0"
-"shinagawa.tokyo.jp\0"
-"com.gy\0tn.it\0kyoto.jp\0kurume.fukuoka.jp\0"
-"yk.ca\0"
-"com.hk\0itako.ibaraki.jp\0"
-"hammarfeasta.no\0"
-"broker.aero\0com.hn\0shinshinotsu.hokkaido.jp\0"
-"k12.ri.us\0"
-"czeladz.pl\0"
-"dovre.no\0"
+"komoro.nagano.jp\0"
+"com.eg\0a.se\0"
+"priv.pl\0"
+"com.dz\0yuki.ibaraki.jp\0utazu.kagawa.jp\0geisei.kochi.jp\0"
+"city.hu\0dovre.no\0energy\0"
+"ny.us\0"
+"com.es\0"
+"com.et\0tsurugi.ishikawa.jp\0nakagusuku.okinawa.jp\0"
+"bajddar.no\0shouji\0"
+"blogspot.co.uk\0"
+"meeres.museum\0mil.ru\0"
+"chita.aichi.jp\0"
+"mil.rw\0naturbruksgymn.se\0"
+"mil.sh\0"
+"seto.aichi.jp\0vision\0"
+"agents.aero\0"
+"com.fr\0verbania.it\0"
+"com.ge\0"
+"shiriuchi.hokkaido.jp\0"
+"cc.az.us\0"
+"com.gh\0creditcard\0"
+"com.gi\0"
+"pn.it\0mil.st\0"
+"maritime.museum\0priv.no\0"
+"jus.br\0genova.it\0"
+"haugesund.no\0"
+"com.gn\0pesaro-urbino.it\0"
+"rubtsovsk.ru\0mil.sy\0"
+"com.gp\0kyowa.hokkaido.jp\0mil.tj\0"
+"com.gr\0"
+"mil.tm\0"
+"com.gt\0ishikawa.jp\0android\0"
+"kazan.ru\0mil.to\0"
+"k12.ia.us\0"
+"izumi.kagoshima.jp\0mil.tr\0"
+"com.gy\0is-a-libertarian.com\0"
+"noshiro.akita.jp\0"
+"com.hk\0"
+"mil.tw\0"
+"com.hn\0est.pr\0management\0se.net\0"
+"mil.tz\0"
"com.hr\0"
-"com.ht\0ebino.miyazaki.jp\0"
-"celtic.museum\0"
-"fujimi.saitama.jp\0biz.pk\0dyndns-at-home.com\0"
-"asn.au\0biz.pl\0"
-"kanzaki.saga.jp\0"
-"nannestad.no\0"
-"yachiyo.ibaraki.jp\0"
-"kaizuka.osaka.jp\0r\xc3\xa5holt.no\0biz.pr\0is-into-games.com\0"
-"\xe9\xa6\x99\xe6\xb8\xaf\0"
-"com.io\0"
-"ri.it\0komoro.nagano.jp\0"
-"com.iq\0gyokuto.kumamoto.jp\0googleapis.com\0"
+"grane.no\0"
+"experts-comptables.fr\0com.ht\0"
+"bauern.museum\0nkz.ru\0"
+"webcam\0"
+"iwanai.hokkaido.jp\0okinoshima.shimane.jp\0"
+"mil.vc\0"
+"hamura.tokyo.jp\0"
+"sorreisa.no\0mil.ve\0"
+"com.im\0brussels.museum\0juif.museum\0cc.ia.us\0sa-east-1.compute.amazonaws.com\0"
+"com.io\0h.se\0mil.uy\0"
+"com.iq\0priv.me\0cc.tx.us\0from-ca.com\0"
+"hitoyoshi.kumamoto.jp\0"
"com.is\0"
-"issmarterthanyou.com\0"
-"de.us\0"
-"castle.museum\0!parliament.uk\0"
-"shimodate.ibaraki.jp\0"
-"g\xc3\xa1ivuotna.no\0"
-"kviteseid.no\0"
-"yabu.hyogo.jp\0naamesjevuemie.no\0"
-"com.jo\0science-fiction.museum\0zaporizhzhe.ua\0"
-"tanabe.kyoto.jp\0"
-"aejrie.no\0"
-"sakae.nagano.jp\0is-a-nurse.com\0"
-"moriguchi.osaka.jp\0stjordalshalsen.no\0"
-"pd.it\0ot.it\0com.kg\0tokke.no\0"
+"salvadordali.museum\0"
+"ishikawa.okinawa.jp\0"
+"\xe7\xb6\xb2\xe7\xbb\x9c.hk\0algard.no\0ris\xc3\xb8r.no\0"
+"k12.ca.us\0"
+"homeip.net\0"
+"k12.or.us\0\xd8\xa7\xd9\x84\xd8\xb3\xd8\xb9\xd9\x88\xd8\xaf\xdb\x8c\xdb\x83\0docs\0frogans\0"
+"com.jo\0groks-the.info\0"
+"askvoll.no\0aver\xc3\xb8y.no\0"
+"ogose.saitama.jp\0gliwice.pl\0"
+"sakhalin.ru\0\xe0\xb0\xad\xe0\xb0\xbe\xe0\xb0\xb0\xe0\xb0\xa4\xe0\xb1\x8d\0"
+"otsuchi.iwate.jp\0"
+"com.kg\0"
+"keisen.fukuoka.jp\0"
"com.ki\0"
-"bibai.hokkaido.jp\0tsk.ru\0"
-"fm.no\0"
-"com.km\0kirovograd.ua\0"
-"b.bg\0tomi.nagano.jp\0"
-"com.kp\0"
-"ballooning.aero\0com.la\0"
-"com.lb\0"
-"com.lc\0lutsk.ua\0"
-"yatomi.aichi.jp\0"
-"virtuel.museum\0firm.ro\0"
-"navigation.aero\0b.br\0com.ky\0"
-"com.kz\0"
-"tenei.fukushima.jp\0chungnam.kr\0com.lk\0"
-"mo.it\0"
-"dnsdojo.org\0"
-"com.lr\0\xd8\xa7\xd9\x84\xd8\xb3\xd8\xb9\xd9\x88\xd8\xaf\xdb\x8c\xd8\xa9\0"
-"opoczno.pl\0"
-"pa.us\0"
-"saga.jp\0kvinesdal.no\0biz.tj\0"
-"com.lv\0"
-"gose.nara.jp\0com.mg\0"
-"nagaokakyo.kyoto.jp\0tcm.museum\0"
+"yonaguni.okinawa.jp\0"
+"from-ma.com\0"
+"wed\0"
+"com.km\0"
+"kv\xc3\xa6""fjord.no\0cherkassy.ua\0cc.ca.us\0"
+"chikuzen.fukuoka.jp\0com.kp\0"
+"com.la\0nyc.museum\0"
+"pu.it\0hirata.fukushima.jp\0suzaka.nagano.jp\0com.lb\0"
+"com.lc\0cc.oh.us\0"
+"dnsalias.net\0"
+"zhitomir.ua\0"
+"midori.gunma.jp\0kawai.nara.jp\0"
+"com.ky\0masfjorden.no\0"
+"wazuka.kyoto.jp\0gotemba.shizuoka.jp\0com.kz\0"
+"com.lk\0"
+"fujieda.shizuoka.jp\0opole.pl\0"
+"lib.fl.us\0homelinux.com\0"
+"sar.it\0bydgoszcz.pl\0"
+"bristol.museum\0parts\0photos\0"
+"ogawa.saitama.jp\0"
+"com.lr\0"
+"shibetsu.hokkaido.jp\0"
+"party\0"
+"liguria.it\0com.lv\0"
+"com.mg\0m\xc3\xa5lselv.no\0herokussl.com\0"
+"adv.br\0oga.akita.jp\0"
"com.ly\0"
-"kawasaki.miyagi.jp\0cieszyn.pl\0"
-"com.mk\0"
-"com.ml\0"
-"com.mo\0siljan.no\0biz.tt\0"
-"akita.jp\0"
-"com.na\0cc.wy.us\0"
-"riodejaneiro.museum\0marine.ru\0"
-"averoy.no\0"
-"com.mu\0"
-"com.mv\0com.nf\0tolga.no\0"
-"com.mw\0com.ng\0vladimir.ru\0"
-"com.mx\0deatnu.no\0"
+"com.mk\0north.museum\0"
+"com.ml\0agrinet.tn\0prod\0"
+"gs.vf.no\0"
+"prof\0"
+"com.mo\0yolasite.com\0"
+"com.na\0"
+"com.ms\0"
+"com.mt\0"
+"com.mu\0ar.com\0"
+"com.mv\0com.nf\0"
+"com.mw\0com.ng\0o.se\0"
+"com.mx\0swidnica.pl\0"
"com.my\0"
-"mihara.kochi.jp\0"
-"hyllestad.no\0melhus.no\0lib.co.us\0"
-"eng.br\0"
-"mashike.hokkaido.jp\0com.nr\0"
-"minamiminowa.nagano.jp\0"
-"moroyama.saitama.jp\0moscow.museum\0"
-"phoenix.museum\0vladikavkaz.ru\0from-nh.com\0"
-"jan-mayen.no\0"
-"granvin.no\0khv.ru\0"
-"cc.ut.us\0"
-"mj\xc3\xb8ndalen.no\0biz.vn\0"
-"accident-investigation.aero\0v\xc3\xa5ler.hedmark.no\0"
-"kisosaki.mie.jp\0"
-"nb.ca\0"
-"firm.nf\0"
-"biz\0doshi.yamanashi.jp\0com.pa\0"
-"lib.ar.us\0dyndns-ip.com\0"
-"fukushima.fukushima.jp\0"
-"com.pe\0"
-"misasa.tottori.jp\0fuossko.no\0com.pf\0"
-"com.ph\0"
-"tokashiki.okinawa.jp\0\xc4\x8d\xc3\xa1hcesuolo.no\0"
-"moriyama.shiga.jp\0museumcenter.museum\0hof.no\0vegarshei.no\0com.pk\0"
-"com.pl\0"
+"yamada.iwate.jp\0"
+"landes.museum\0stathelle.no\0doha\0"
+"togitsu.nagasaki.jp\0"
+"trani-andria-barletta.it\0sr.gov.pl\0"
+"asakawa.fukushima.jp\0joyo.kyoto.jp\0"
+"laz.it\0com.nr\0"
+"usculture.museum\0"
+"yamaguchi.jp\0"
+"tottori.jp\0ota.gunma.jp\0"
+"midsund.no\0"
+"sannohe.aomori.jp\0"
+"lancashire.museum\0com.om\0"
+"olsztyn.pl\0"
+"com.pa\0\xd9\x87\xd9\x85\xd8\xb1\xd8\xa7\xd9\x87\0"
+"eisenbahn.museum\0paroch.k12.ma.us\0s3-us-gov-west-1.amazonaws.com\0no.com\0from-vt.com\0"
+"dgca.aero\0com.pe\0vn.ua\0"
+"com.pf\0win\0blogspot.co.nz\0"
+"bykle.no\0"
+"oshima.yamaguchi.jp\0com.ph\0"
+"honjo.saitama.jp\0nishikawa.yamagata.jp\0"
+"lakas.hu\0com.pk\0"
+"*.nagoya.jp\0fuji.shizuoka.jp\0com.pl\0"
"com.qa\0"
-"imperia.it\0com.pr\0"
-"com.ps\0"
-"vv.it\0com.pt\0"
-"ayagawa.kagawa.jp\0davvenjarga.no\0"
-"iwakuni.yamaguchi.jp\0com.py\0k12.dc.us\0"
-"royken.no\0"
-"pri.ee\0nishikata.tochigi.jp\0"
-"urawa.saitama.jp\0"
-"equipment.aero\0sweden.museum\0"
-"kyowa.akita.jp\0guovdageaidnu.no\0"
-"ogaki.gifu.jp\0"
-"com.re\0"
-"emergency.aero\0"
-"ikusaka.nagano.jp\0"
-"hirosaki.aomori.jp\0"
-"jobs.tt\0"
-"maryland.museum\0"
+"xj.cn\0tomari.hokkaido.jp\0com.pr\0"
+"j\xc3\xb8lster.no\0com.ps\0"
+"sumoto.hyogo.jp\0com.pt\0"
+"kuriyama.hokkaido.jp\0nasushiobara.tochigi.jp\0"
+"barcelona.museum\0aurskog-h\xc3\xb8land.no\0"
+"com.py\0marketing\0s3-website-sa-east-1.amazonaws.com\0"
+"kayabe.hokkaido.jp\0"
+"minamata.kumamoto.jp\0shima.mie.jp\0"
+"mulhouse.museum\0gs.svalbard.no\0"
+"red.sv\0"
+"ngo.lk\0com.re\0"
+"hachirogata.akita.jp\0kanoya.kagoshima.jp\0"
+"massacarrara.it\0anjo.aichi.jp\0chijiwa.nagasaki.jp\0"
+"from-hi.com\0"
+"is-into-games.com\0"
+"\xe6\x96\xb0\xe5\x8a\xa0\xe5\x9d\xa1\0"
+"ina.ibaraki.jp\0"
"com.ro\0"
-"com.sa\0is-found.org\0"
-"usa.oita.jp\0com.sb\0"
-"frogn.no\0com.sc\0"
+"com.sa\0"
+"com.sb\0mobi.tt\0"
+"com.sc\0neat-url.com\0"
"com.sd\0"
-"com.ru\0"
+"drobak.no\0lillehammer.no\0com.ru\0com.se\0"
+"kiho.mie.jp\0"
"com.rw\0com.sg\0"
-"inawashiro.fukushima.jp\0com.sh\0"
-"yn.cn\0"
+"com.sh\0mobi.tz\0xbox\0"
+"k12.co.us\0"
+"lease\0"
"com.sl\0"
-"togakushi.nagano.jp\0unazuki.toyama.jp\0com.sn\0"
-"porsanger.no\0com.so\0"
-"av.it\0"
-"gc.ca\0okinawa.jp\0"
+"wme\0"
+"com.sn\0"
+"l\xc3\xb8renskog.no\0com.so\0"
"com.st\0"
-"asn.lv\0namdalseid.no\0tn.us\0"
-"amber.museum\0com.sy\0broke-it.net\0podzone.net\0"
-"net.ac\0com.tj\0"
-"selfip.com\0"
-"net.ae\0ofunato.iwate.jp\0shichikashuku.miyagi.jp\0"
-"net.af\0yoita.niigata.jp\0com.tm\0"
-"net.ag\0com.tn\0dynalias.net\0"
-"com.to\0"
-"net.ai\0eidsberg.no\0"
-"com.ua\0"
-"lugansk.ua\0"
-"net.al\0"
-"nishihara.kumamoto.jp\0com.tt\0"
-"net.an\0cymru.museum\0heritage.museum\0"
-"sarpsborg.no\0com.tw\0com.ug\0"
-"net.ba\0higashiyamato.tokyo.jp\0\xd8\xaa\xd9\x88\xd9\x86\xd8\xb3\0"
-"net.bb\0pg.it\0"
-"net.au\0"
-"meiwa.gunma.jp\0"
-"as.us\0"
-"net.bh\0ri.us\0"
-"e.bg\0"
-"net.az\0"
-"roan.no\0"
-"com.vc\0\xe5\x8f\xb0\xe7\x81\xa3\0"
-"net.bm\0"
-"com.ve\0"
-"net.bo\0"
-"net.br\0com.uy\0com.vi\0fuettertdasnetz.de\0"
-"net.bs\0tran\xc3\xb8y.no\0com.uz\0"
-"net.bt\0higashiomi.shiga.jp\0kms.ru\0"
-"accident-prevention.aero\0from-ca.com\0"
-"ozora.hokkaido.jp\0com.vn\0dyndns-server.com\0"
-"net.ci\0"
-"net.bz\0"
-"livinghistory.museum\0"
-"net.cn\0"
-"net.co\0ryuoh.shiga.jp\0"
-"krokstadelva.no\0"
-"lib.wa.us\0"
-"cat\0"
-"oz.au\0net.cu\0from-sc.com\0"
-"chocolate.museum\0"
-"sch.ae\0"
-"iwate.jp\0"
-"museum.tt\0com.ws\0"
-"net.dm\0selje.no\0is-very-good.org\0"
-"net.do\0"
-"net.ec\0gildesk\xc3\xa5l.no\0"
-"moriyoshi.akita.jp\0rl.no\0mo.us\0blogspot.re\0"
-"net.eg\0"
-"hachioji.tokyo.jp\0childrens.museum\0"
-"shizuoka.jp\0"
-"net.dz\0"
-"minamiizu.shizuoka.jp\0"
-"is-a-patsfan.org\0"
-"inagawa.hyogo.jp\0blogspot.ro\0"
-"yamagata.jp\0gsm.pl\0"
-"suldal.no\0dlugoleka.pl\0blogspot.se\0"
-"blogspot.sg\0"
-"\xd8\xa7\xd9\x8a\xd8\xb1\xd8\xa7\xd9\x86\0dnsalias.com\0"
-"kamikawa.hokkaido.jp\0kamoenai.hokkaido.jp\0"
-"blogspot.sk\0"
-"siracusa.it\0k12.wi.us\0"
-"oksnes.no\0\xed\x95\x9c\xea\xb5\xad\0"
-"vardo.no\0starachowice.pl\0"
-"net.ge\0ishinomaki.miyagi.jp\0oji.nara.jp\0\xd8\xa7\xd9\x84\xd8\xb3\xd8\xb9\xd9\x88\xd8\xaf\xdb\x8c\xdb\x83\0blogspot.td\0"
-"trustee.museum\0"
-"net.gg\0"
-"misato.saitama.jp\0"
-"ppg.br\0"
-"net.gn\0chikuho.fukuoka.jp\0"
-"net.gp\0"
-"osoyro.no\0dyndns-office.com\0"
-"net.gr\0higashikawa.hokkaido.jp\0"
-"net.gt\0monzabrianza.it\0mr.no\0eidsvoll.no\0"
-"aridagawa.wakayama.jp\0"
-"sykkylven.no\0"
-"minamiaiki.nagano.jp\0blogspot.tw\0"
-"net.gy\0naturhistorisches.museum\0"
-"net.hk\0zaporizhzhia.ua\0"
-"mifune.kumamoto.jp\0"
-"net.hn\0"
-"kahoku.yamagata.jp\0"
-"asakawa.fukushima.jp\0"
-"barlettatraniandria.it\0blogspot.mr\0"
-"net.ht\0net.id\0"
-"b.se\0"
-"ud.it\0tsuchiura.ibaraki.jp\0naturalhistory.museum\0"
-"matsushige.tokushima.jp\0nanto.toyama.jp\0from-al.com\0"
-"blogspot.mx\0"
-"nagakute.aichi.jp\0zamami.okinawa.jp\0"
-"net.im\0ikawa.akita.jp\0lib.ne.us\0blogspot.nl\0"
-"net.in\0"
-"yokkaichi.mie.jp\0"
-"blogspot.no\0"
-"net.iq\0"
-"net.ir\0"
-"net.is\0"
-"net.je\0"
-"from.hr\0cc.oh.us\0"
-"biratori.hokkaido.jp\0"
-"sch.gg\0"
-"taxi.aero\0"
-"bi.it\0treviso.it\0"
-"ro.it\0"
-"mine.nu\0"
-"net.jo\0tenri.nara.jp\0alvdal.no\0"
-"ikeda.hokkaido.jp\0here-for-more.info\0"
-"owani.aomori.jp\0"
-"uri.arpa\0"
-"tsukui.kanagawa.jp\0bryne.no\0"
-"shibetsu.hokkaido.jp\0grozny.ru\0"
-"jewelry.museum\0"
-"net.kg\0"
-"net.ki\0"
-"sakura.chiba.jp\0nittedal.no\0"
-"kawazu.shizuoka.jp\0"
-"net.kn\0"
-"net.la\0hoylandet.no\0"
-"net.lb\0\xc3\xa5mli.no\0"
-"net.lc\0"
-"mihama.fukui.jp\0yamagata.gifu.jp\0blogspot.pt\0"
-"sch.id\0"
-"aca.pro\0"
-"sanjo.niigata.jp\0net.ky\0"
-"tsukumi.oita.jp\0net.kz\0oceanographic.museum\0k12.nm.us\0"
-"h.bg\0net.lk\0"
-"miharu.fukushima.jp\0"
-"aknoluokta.no\0"
-"net.ma\0"
-"tw.cn\0net.lr\0"
-"kamikitayama.nara.jp\0miyashiro.saitama.jp\0chernihiv.ua\0"
-"ichikawa.hyogo.jp\0comunica\xc3\xa7\xc3\xb5""es.museum\0"
-"sch.ir\0oki.fukuoka.jp\0yoshioka.gunma.jp\0akkeshi.hokkaido.jp\0net.me\0kazimierz-dolny.pl\0blogspot.it\0"
-"net.lv\0"
-"sch.je\0yoshida.saitama.jp\0"
-"net.ly\0"
-"net.mk\0"
-"net.ml\0"
-"museum.mv\0"
-"hokkaido.jp\0net.mo\0museum.mw\0"
-"\xc3\xa1lt\xc3\xa1.no\0vestnes.no\0"
-"blogspot.jp\0"
-"sch.jo\0"
-"yokoze.saitama.jp\0stathelle.no\0blogspot.com.ar\0"
-"net.mu\0"
-"net.mv\0net.nf\0"
-"adult.ht\0ne.jp\0coldwar.museum\0net.mw\0net.ng\0museum.no\0blogspot.com.au\0"
-"net.mx\0"
-"skydiving.aero\0net.my\0"
-"nakasatsunai.hokkaido.jp\0"
-"undersea.museum\0"
-"kainan.wakayama.jp\0sebastopol.ua\0cc.hi.us\0"
-"gamagori.aichi.jp\0"
-"gyeongbuk.kr\0"
-"net.nr\0"
-"jorpeland.no\0blogspot.kr\0"
-"bellevue.museum\0blogspot.com.br\0"
-"kanegasaki.iwate.jp\0"
-"ne.kr\0"
-"aosta.it\0mima.tokushima.jp\0"
-"pro.az\0km.ua\0"
-"nakanoto.ishikawa.jp\0sch.lk\0"
+"cosenza.it\0com.sv\0"
+"masoy.no\0"
+"sasaguri.fukuoka.jp\0"
+"com.sy\0"
+"assabu.hokkaido.jp\0kanmaki.nara.jp\0com.tj\0"
+"zaporizhzhe.ua\0"
+"tamakawa.fukushima.jp\0faith\0"
+"com.tm\0"
+"ug.gov.pl\0com.tn\0"
+"com.to\0cc.co.us\0"
+"voronezh.ru\0com.ua\0"
+"rc.it\0com.tr\0"
+"hokksund.no\0\xc3\xa1k\xc5\x8boluokta.no\0"
+"com.tt\0"
+"mel\xc3\xb8y.no\0"
+"\xe6\x84\x9b\xe5\xaa\x9b.jp\0shichinohe.aomori.jp\0"
+"com.tw\0com.ug\0"
+"kisofukushima.nagano.jp\0"
+"kepno.pl\0"
+"artgallery.museum\0zgrad.ru\0"
"nome.pt\0"
-"nagareyama.chiba.jp\0himeji.hyogo.jp\0denmark.museum\0"
-"echizen.fukui.jp\0net.pa\0\xe4\xb8\xad\xe5\x9b\xbd\0from-oh.com\0"
-"kongsvinger.no\0ringebu.no\0"
-"tsukigata.hokkaido.jp\0m\xc3\xa5s\xc3\xb8y.no\0"
-"pro.br\0net.pe\0bar.pro\0"
-"viterbo.it\0heroy.more-og-romsdal.no\0"
-"omihachiman.shiga.jp\0labor.museum\0"
-"toho.fukuoka.jp\0tome.miyagi.jp\0net.ph\0"
-"net.pk\0"
-"sch.ly\0net.pl\0"
-"saijo.ehime.jp\0"
-"shiojiri.nagano.jp\0net.pn\0"
-"newport.museum\0\xe4\xb8\xad\xe5\x9c\x8b\0"
-"\xe6\x95\x8e\xe8\x82\xb2.hk\0net.qa\0"
-"net.pr\0"
-"net.ps\0"
-"net.pt\0"
-"akrehamn.no\0"
-"oshu.iwate.jp\0lincoln.museum\0fjell.no\0"
-"selfip.info\0"
-"hol.no\0"
-"net.py\0"
-"blogspot.fi\0"
-"kakegawa.shizuoka.jp\0cc.co.us\0"
-"com\0schoenbrunn.museum\0"
-"microlight.aero\0"
-"shimogo.fukushima.jp\0"
-"leirvik.no\0"
-"veg\xc3\xa5rshei.no\0blogspot.fr\0"
-"blogspot.com.es\0"
-"pro.ec\0"
-"civilisation.museum\0"
-"g\xc3\xa1\xc5\x8bgaviika.no\0"
-"nago.okinawa.jp\0"
-"station.museum\0"
-"akashi.hyogo.jp\0ichinohe.iwate.jp\0"
-"tsukiyono.gunma.jp\0"
-"b\xc3\xa1hcavuotna.no\0"
-"notogawa.shiga.jp\0sciencehistory.museum\0s\xc3\xb8r-fron.no\0"
-"net.sa\0"
-"net.sb\0"
-"net.sc\0blogspot.gr\0"
-"net.sd\0"
-"mandal.no\0net.ru\0"
-"net.rw\0e.se\0net.sg\0"
-"flight.aero\0alabama.museum\0net.sh\0"
-"dgca.aero\0dominic.ua\0"
-"vestby.no\0"
-"kuroishi.aomori.jp\0gs.hl.no\0"
-"sorfold.no\0net.sl\0blogspot.hk\0"
-"nemuro.hokkaido.jp\0l\xc3\xa1hppi.no\0wi.us\0"
-"tsuno.miyazaki.jp\0net.so\0"
-"giessen.museum\0"
-"l\xc3\xb8ten.no\0dn.ua\0"
-"wada.nagano.jp\0"
-"sch.qa\0net.st\0"
-"shiroishi.saga.jp\0"
-"blogspot.hu\0blogspot.ie\0"
-"teramo.it\0kuzumaki.iwate.jp\0"
-"net.th\0"
-"net.sy\0"
-"net.tj\0cc.ok.us\0"
-"uozu.toyama.jp\0net.tm\0"
-"bl.it\0naoshima.kagawa.jp\0ne.pw\0net.tn\0"
-"ohi.fukui.jp\0fusa.no\0net.to\0blogspot.in\0"
-"hirakata.osaka.jp\0"
-"net.ua\0"
-"fujiyoshida.yamanashi.jp\0beskidy.pl\0"
-"ed.ao\0net.tt\0"
-"kochi.kochi.jp\0"
-"southcarolina.museum\0valle.no\0blogspot.be\0dnsdojo.net\0"
-"tomika.gifu.jp\0muosat.no\0net.tw\0"
-"minamiyamashiro.kyoto.jp\0"
-"itano.tokushima.jp\0blogspot.bj\0"
-"tainai.niigata.jp\0zachpomor.pl\0"
-"komono.mie.jp\0project.museum\0"
-"blogspot.ca\0"
-"net.vc\0"
-"aerobatic.aero\0benevento.it\0sch.sa\0"
-"nakadomari.aomori.jp\0ibara.okayama.jp\0net.ve\0"
-"elvendrell.museum\0"
-"pro.ht\0tomari.hokkaido.jp\0blogspot.cf\0"
-"hikimi.shimane.jp\0"
-"net.uy\0net.vi\0blogspot.ch\0"
-"net.uz\0"
-"servebbs.com\0"
-"k.bg\0"
-"ed.ci\0net.vn\0"
-"paragliding.aero\0otobe.hokkaido.jp\0"
-"sakai.fukui.jp\0"
-"rikuzentakata.iwate.jp\0"
-"journalism.museum\0"
-"news.hu\0"
-"susono.shizuoka.jp\0blogspot.de\0"
-"ed.cr\0mediocampidano.it\0blogspot.cv\0"
-"soma.fukushima.jp\0blogspot.com\0"
-"blogspot.cz\0is-a-player.com\0"
-"blogspot.dk\0"
-"consulado.st\0"
-"shingu.fukuoka.jp\0"
-"inami.wakayama.jp\0"
-"education.museum\0"
-"sciencecenters.museum\0net.ws\0"
-"lib.ga.us\0"
-"bergen.no\0"
-"prato.it\0shiwa.iwate.jp\0"
-"bo.nordland.no\0"
-"foggia.it\0"
-"pp.az\0ne.ug\0"
-"chirurgiens-dentistes.fr\0"
-"toyama.jp\0ne.tz\0"
-"forum.hu\0chita.aichi.jp\0"
-"nisshin.aichi.jp\0"
-"lc.it\0mitake.gifu.jp\0solund.no\0"
-"ogose.saitama.jp\0"
-"kunst.museum\0"
-"ne.us\0"
-"furukawa.miyagi.jp\0"
-"nakatombetsu.hokkaido.jp\0lib.tn.us\0"
-"\xc3\xa5l.no\0"
-"fareast.ru\0"
-"railroad.museum\0"
-"yamaguchi.jp\0sakae.chiba.jp\0"
-"atsuma.hokkaido.jp\0minamimaki.nagano.jp\0"
-"marker.no\0"
-"yabuki.fukushima.jp\0from-ak.com\0"
-"settlers.museum\0rubtsovsk.ru\0"
-"akabira.hokkaido.jp\0"
-"pro.na\0"
-"yurihonjo.akita.jp\0"
-"kuji.iwate.jp\0"
-"morotsuka.miyazaki.jp\0pro.mv\0"
-"mx.na\0"
-"cargo.aero\0ohira.tochigi.jp\0"
-"fyresdal.no\0"
-"trieste.it\0tokyo.jp\0"
-"midori.chiba.jp\0"
-"manx.museum\0"
-"soo.kagoshima.jp\0kunstsammlung.museum\0rzeszow.pl\0"
-"samegawa.fukushima.jp\0"
-"leasing.aero\0"
-"higashi.fukuoka.jp\0kids.us\0"
-"assedic.fr\0"
-"state.museum\0czest.pl\0"
-"wallonie.museum\0podzone.org\0"
-"hitoyoshi.kumamoto.jp\0"
-"hamura.tokyo.jp\0"
-"h.se\0"
-"minoh.osaka.jp\0"
-"tako.chiba.jp\0kafjord.no\0"
-"freemasonry.museum\0"
-"lib.mo.us\0"
-"ed.jp\0pro.pr\0"
-"film.hu\0"
-"act.au\0"
-"in.na\0"
-"no.com\0"
-"higashiizumo.shimane.jp\0elburg.museum\0"
-"siedlce.pl\0"
-"bo.it\0"
-"chikugo.fukuoka.jp\0from-mo.com\0"
-"!city.kitakyushu.jp\0sopot.pl\0"
-"togura.nagano.jp\0"
-"handson.museum\0sb.ua\0"
-"rennebu.no\0"
-"milan.it\0"
-"kamioka.akita.jp\0"
-"cc.mi.us\0"
-"from-de.com\0"
-"urayasu.chiba.jp\0"
-"varggat.no\0"
-"takatsuki.shiga.jp\0k12.ms.us\0k12.nc.us\0"
-"n.bg\0sakaki.nagano.jp\0"
-"uwajima.ehime.jp\0skaun.no\0"
-"kursk.ru\0"
-"tabayama.yamanashi.jp\0"
-"ryazan.ru\0"
-"oyabe.toyama.jp\0health.vn\0"
-"higashiyoshino.nara.jp\0"
-"isen.kagoshima.jp\0nogi.tochigi.jp\0broadcast.museum\0"
-"iitate.fukushima.jp\0yawata.kyoto.jp\0daegu.kr\0"
-"obihiro.hokkaido.jp\0rebun.hokkaido.jp\0kamo.niigata.jp\0"
-"vrn.ru\0"
-"higashimurayama.tokyo.jp\0"
-"ora.gunma.jp\0shimoji.okinawa.jp\0pro.tt\0lib.wv.us\0"
-"odate.akita.jp\0"
-"shoo.okayama.jp\0"
-"tula.ru\0"
-"uchinada.ishikawa.jp\0"
-"sh.cn\0kawahara.tottori.jp\0"
-"ingatlan.hu\0chikuma.nagano.jp\0vaksdal.no\0"
-"foundation.museum\0"
-"lewismiller.museum\0"
-"trentino.it\0"
-"qc.ca\0piacenza.it\0bokn.no\0"
-"in.rs\0tom.ru\0"
-"cng.br\0lebesby.no\0nh.us\0k12.ia.us\0"
-"noto.ishikawa.jp\0arita.saga.jp\0"
-"svizzera.museum\0ask\xc3\xb8y.no\0"
-"kiyose.tokyo.jp\0frosta.no\0"
-"ks.ua\0pro.vn\0"
-"namsos.no\0"
-"federation.aero\0"
-"naumburg.museum\0"
-"szczecin.pl\0"
-"koza.wakayama.jp\0"
-"poltava.ua\0"
-"sorum.no\0ed.pw\0from-ky.com\0"
-"nishiazai.shiga.jp\0"
-"in.th\0"
-"moseushi.hokkaido.jp\0sn\xc3\xa5sa.no\0"
-"nankoku.kochi.jp\0"
-"orland.no\0"
-"miyoshi.tokushima.jp\0larvik.no\0ks.us\0"
-"loppa.no\0"
-"*.kobe.jp\0childrensgarden.museum\0"
-"sakai.ibaraki.jp\0\xd8\xa7\xd9\x84\xd9\x8a\xd9\x85\xd9\x86\0"
-"in.ua\0"
-"inf.br\0\xe7\xbd\x91\xe7\xb5\xa1.hk\0h\xc3\xb8ylandet.no\0skedsmo.no\0"
-"dynalias.org\0"
-"kurobe.toyama.jp\0gol.no\0"
-"not.br\0shingu.wakayama.jp\0"
-"nakai.kanagawa.jp\0cc.de.us\0"
-"azumino.nagano.jp\0rade.no\0"
-"dyndns-at-work.com\0"
-"travel.pl\0"
-"katsuura.chiba.jp\0"
-"oiso.kanagawa.jp\0"
-"it.ao\0cim.br\0in.us\0"
-"bamble.no\0"
-"inf.cu\0mimata.miyazaki.jp\0"
-"bo.telemark.no\0"
-"karasjohka.no\0"
-"hanyu.saitama.jp\0artanddesign.museum\0"
-"padua.it\0"
-"health.museum\0"
-"edu\0aseral.no\0"
-"carbonia-iglesias.it\0nikaho.akita.jp\0"
-"r\xc3\xb8ros.no\0"
-"matsudo.chiba.jp\0yoshinogari.saga.jp\0"
-"\xc3\xb8ystre-slidre.no\0k.se\0"
-"bodo.no\0holmestrand.no\0vestvagoy.no\0"
-"horokanai.hokkaido.jp\0matsue.shimane.jp\0"
-"oyodo.nara.jp\0dnsalias.net\0"
-"fr\xc3\xb8ya.no\0"
-"monzaebrianza.it\0katagami.akita.jp\0istmein.de\0"
-"tochigi.tochigi.jp\0lea\xc5\x8bgaviika.no\0komforb.se\0"
-"design.museum\0"
-"hanamigawa.chiba.jp\0"
-"zj.cn\0nahari.kochi.jp\0discovery.museum\0"
-"carraramassa.it\0elk.pl\0"
-"cc.pa.us\0"
-"kaga.ishikawa.jp\0tokamachi.niigata.jp\0"
-"br.it\0cb.it\0"
-"plc.ly\0agrinet.tn\0"
-"gs.fm.no\0surgut.ru\0"
-"usa.museum\0pp.ru\0pp.se\0"
-"lib.la.us\0"
-"go.ci\0\xe8\x87\xba\xe7\x81\xa3\0"
-"rodoy.no\0"
-"niikappu.hokkaido.jp\0"
-"kure.hiroshima.jp\0fudai.iwate.jp\0maizuru.kyoto.jp\0"
-"passenger-association.aero\0iveland.no\0"
-"go.cr\0takayama.nagano.jp\0"
-"game.tw\0"
-"tvedestrand.no\0chernovtsy.ua\0"
-"entertainment.aero\0trader.aero\0"
-"shikaoi.hokkaido.jp\0komagane.nagano.jp\0travel.tt\0"
-"katsushika.tokyo.jp\0"
-"suita.osaka.jp\0"
-"nasushiobara.tochigi.jp\0za.com\0"
-"q.bg\0cody.museum\0"
-"esp.br\0sagamihara.kanagawa.jp\0"
-"pp.ua\0"
-"andriatranibarletta.it\0mikawa.yamagata.jp\0naustdal.no\0"
-"takinoue.hokkaido.jp\0gs.oslo.no\0"
-"shiroishi.miyagi.jp\0community.museum\0bievat.no\0"
-"from-ia.com\0"
-"rep.kp\0luxembourg.museum\0"
-"sk.ca\0"
-"vic.gov.au\0"
-"yamanashi.yamanashi.jp\0hemne.no\0"
-"ulsan.kr\0k12.ky.us\0"
-"is-a-caterer.com\0"
-"kozagawa.wakayama.jp\0"
-"capebreton.museum\0"
-"is-a-musician.com\0"
-"kaita.hiroshima.jp\0"
-"seto.aichi.jp\0"
-"yoshino.nara.jp\0"
-"muenster.museum\0os\xc3\xb8yro.no\0"
-"li.it\0"
-"hokksund.no\0"
-"snz.ru\0"
-"hannan.osaka.jp\0brumunddal.no\0"
-"fukushima.jp\0"
-"tgory.pl\0kv.ua\0"
-"hachinohe.aomori.jp\0media.museum\0"
-"hidaka.saitama.jp\0"
-"oto.fukuoka.jp\0"
-"kozaki.chiba.jp\0"
-"sandnessjoen.no\0"
-"christiansburg.museum\0"
-"res.aero\0"
-"ashiya.hyogo.jp\0"
-"soeda.fukuoka.jp\0"
-"nuernberg.museum\0"
-"sakhalin.ru\0"
-"go.id\0soundandvision.museum\0"
-"tajimi.gifu.jp\0tonosho.kagawa.jp\0"
-"from-ut.com\0"
-"aki.kochi.jp\0"
-"niiza.saitama.jp\0"
-"stalowa-wola.pl\0"
-"from-ne.com\0"
-"tado.mie.jp\0abeno.osaka.jp\0bergbau.museum\0dallas.museum\0"
-"inf.mk\0cc.tn.us\0"
-"onomichi.hiroshima.jp\0saga.saga.jp\0"
-"go.it\0motoyama.kochi.jp\0"
-"iwakura.aichi.jp\0"
-"kashihara.nara.jp\0inagi.tokyo.jp\0"
-"\xe7\xbd\x91\xe7\xbb\x9c.cn\0judaica.museum\0"
-"ilawa.pl\0"
-"lib.pr.us\0"
-"buryatia.ru\0"
-"go.jp\0"
-"snasa.no\0"
-"otaki.chiba.jp\0"
-"mielno.pl\0"
-"tachiarai.fukuoka.jp\0settsu.osaka.jp\0"
-"hikari.yamaguchi.jp\0"
-"cc.as.us\0"
-"cc.ri.us\0"
-"jobs\0"
-"mail.pl\0"
-"santacruz.museum\0n.se\0"
-"hapmir.no\0"
-"go.kr\0k12.sc.us\0"
-"lib.ny.us\0"
-"nuoro.it\0"
-"sogndal.no\0sosnowiec.pl\0"
-"asaminami.hiroshima.jp\0"
-"isernia.it\0froland.no\0vang.no\0"
-"nanporo.hokkaido.jp\0"
-"dyndns-wiki.com\0"
-"bari.it\0bahcavuotna.no\0"
-"panama.museum\0santafe.museum\0"
-"ce.it\0shirakawa.gifu.jp\0"
-"aircraft.aero\0ptz.ru\0iamallama.com\0"
-"takayama.gunma.jp\0"
-"ama.aichi.jp\0"
-"yakumo.shimane.jp\0taito.tokyo.jp\0"
-"cmw.ru\0"
-"res.in\0"
-"hb.cn\0tohnosho.chiba.jp\0kashiba.nara.jp\0soni.nara.jp\0ostroleka.pl\0"
-"aogashima.tokyo.jp\0"
-"minano.saitama.jp\0lur\xc3\xb8y.no\0cc.mo.us\0"
-"gjerstad.no\0"
-"yashiro.hyogo.jp\0hitachiomiya.ibaraki.jp\0hakone.kanagawa.jp\0watch-and-clock.museum\0"
-"pv.it\0toyohashi.aichi.jp\0okuizumo.shimane.jp\0"
-"shop.ht\0olawa.pl\0"
-"shop.hu\0sukagawa.fukushima.jp\0marugame.kagawa.jp\0v\xc3\xa5g\xc3\xa5.no\0"
-"\xe7\xb5\x84\xe7\xbb\x87.hk\0usantiques.museum\0udm.ru\0"
-"railway.museum\0"
-"t.bg\0tsubetsu.hokkaido.jp\0kariwa.niigata.jp\0tsurugashima.saitama.jp\0"
-"etc.br\0"
-"obira.hokkaido.jp\0ide.kyoto.jp\0educational.museum\0bydgoszcz.pl\0"
-"figueres.museum\0"
-"langevag.no\0"
-"tinn.no\0"
-"\xe7\xbd\x91\xe7\xbb\x9c.hk\0"
-"ens.tn\0"
-"vercelli.it\0"
-"ac.ae\0"
-"newspaper.museum\0"
-"potenza.it\0"
-"komatsushima.tokushima.jp\0"
-"gs.rl.no\0"
-"nakayama.yamagata.jp\0abu.yamaguchi.jp\0"
-"lind\xc3\xa5s.no\0pila.pl\0"
-"ac.at\0tamatsukuri.ibaraki.jp\0"
-"ac.be\0"
-"durham.museum\0"
-"sn.cn\0kadena.okinawa.jp\0atm.pl\0"
-"haram.no\0"
-"aichi.jp\0"
-"mihama.aichi.jp\0"
-"mizumaki.fukuoka.jp\0serveftp.net\0"
-"portland.museum\0from-in.com\0"
-"hagebostad.no\0"
-"nara.jp\0go.pw\0"
-"sa.edu.au\0ukiha.fukuoka.jp\0"
-"*.ar\0nyny.museum\0"
-"media.aero\0*.bd\0"
-"ine.kyoto.jp\0bu.no\0"
-"br.com\0"
-"ac.ci\0"
-"onagawa.miyagi.jp\0"
-"nt.au\0"
-"ac.cn\0from-tx.com\0"
-"*.bn\0"
-"sor-odal.no\0"
-"ac.cr\0ikeda.gifu.jp\0"
-"sobetsu.hokkaido.jp\0culture.museum\0zgrad.ru\0"
-"tadotsu.kagawa.jp\0"
-"machida.tokyo.jp\0chernigov.ua\0"
-"kembuchi.hokkaido.jp\0from-mi.com\0"
-"sor-aurdal.no\0"
-"pippu.hokkaido.jp\0"
-"nt.ca\0"
-"mitoyo.kagawa.jp\0"
-"*.ck\0tsuwano.shimane.jp\0gs.mr.no\0"
-"toyo.kochi.jp\0"
-"ky.us\0"
-"tranoy.no\0"
-"br\xc3\xb8nn\xc3\xb8ysund.no\0"
-"hemsedal.no\0"
-"rendalen.no\0"
-"*.cy\0utsira.no\0"
-"takasu.hokkaido.jp\0"
-"correios-e-telecomunica\xc3\xa7\xc3\xb5""es.museum\0"
-"tsuyama.okayama.jp\0beauxarts.museum\0"
-"gr.it\0"
-"firenze.it\0misugi.mie.jp\0and.museum\0"
-"go.th\0"
-"semboku.akita.jp\0"
-"tokushima.tokushima.jp\0go.tj\0"
-"buzen.fukuoka.jp\0"
-"land-4-sale.us\0"
-"nyc.museum\0"
-"mobi\0"
-"gr.jp\0"
-"raisa.no\0"
-"go.ug\0"
-"*.er\0go.tz\0"
-"*.et\0"
-"vc.it\0h\xc3\xa1pmir.no\0"
-"*.fj\0"
-"scientist.aero\0*.fk\0yamato.kumamoto.jp\0modalen.no\0stargard.pl\0"
-"ac.gn\0sumida.tokyo.jp\0"
-"historisches.museum\0"
-"kvits\xc3\xb8y.no\0"
-"store.nf\0"
-"yoka.hyogo.jp\0omachi.nagano.jp\0"
-"ch.it\0"
-"overhalla.no\0likescandy.com\0"
-"www.ro\0se.net\0"
-"nakamichi.yamanashi.jp\0"
-"adm.br\0dnipropetrovsk.ua\0"
-"vindafjord.no\0k12.ak.us\0is-a-rockstar.com\0"
-"ac.id\0minamiechizen.fukui.jp\0"
-"*.gu\0children.museum\0"
-"tsu.mie.jp\0"
-"fr\xc3\xa6na.no\0"
-"gliwice.pl\0"
-"he.cn\0aid.pl\0"
-"ac.im\0kishiwada.osaka.jp\0"
-"ac.in\0"
-"finearts.museum\0"
-"ac.ir\0"
-"\xe5\x80\x8b\xe4\xba\xba.hk\0lucca.it\0odessa.ua\0"
-"massa-carrara.it\0"
-"happou.akita.jp\0colonialwilliamsburg.museum\0k12.nv.us\0"
-"w.bg\0lib.in.us\0"
-"*.il\0"
-"scotland.museum\0"
-"ac.jp\0"
-"shimoda.shizuoka.jp\0is-by.us\0"
-"kui.hiroshima.jp\0"
-"us.na\0"
-"reggio-emilia.it\0asahi.ibaraki.jp\0saintlouis.museum\0"
-"kashima.saga.jp\0arboretum.museum\0"
-"bandai.fukushima.jp\0"
-"chikuhoku.nagano.jp\0hayakawa.yamanashi.jp\0"
-"*.jm\0namikata.ehime.jp\0haibara.shizuoka.jp\0bytom.pl\0"
-"furano.hokkaido.jp\0zushi.kanagawa.jp\0"
-"\xe7\xbb\x84\xe7\xb9\x94.hk\0*.sendai.jp\0"
-"ulan-ude.ru\0"
-"ac.kr\0beardu.no\0"
-"lib.gu.us\0"
-"*.ke\0"
-"*.kh\0"
-"vinnica.ua\0"
-"takahata.yamagata.jp\0"
-"honjyo.akita.jp\0scienceandindustry.museum\0"
-"tokorozawa.saitama.jp\0"
-"meraker.no\0"
-"katsuragi.nara.jp\0h\xc3\xa1mm\xc3\xa1rfeasta.no\0bialystok.pl\0"
-"ac.ma\0"
-"lo.it\0akagi.shimane.jp\0"
-"tawaramoto.nara.jp\0obanazawa.yamagata.jp\0ac.me\0"
-"genoa.it\0"
-"iz.hr\0*.kw\0"
-"og.ao\0yakutia.ru\0"
-"taku.saga.jp\0"
-"heguri.nara.jp\0"
-"mansions.museum\0folldal.no\0omasvuotna.no\0"
-"cherkassy.ua\0"
-"trainer.aero\0"
-"ac.mu\0"
-"cc.wi.us\0"
-"ac.mw\0ac.ng\0"
-"cartoonart.museum\0"
-"*.mm\0"
-"paris.museum\0"
-"can.museum\0"
-"juedisches.museum\0from-vt.com\0"
-"*.mt\0"
-"narita.chiba.jp\0fukushima.hokkaido.jp\0"
-"awaji.hyogo.jp\0"
-"lodi.it\0is-uberleet.com\0"
-"*.ni\0"
-"*.mz\0"
-"engerdal.no\0"
-"square.museum\0"
-"saroma.hokkaido.jp\0neues.museum\0"
-"reggiocalabria.it\0"
-"*.np\0ac.pa\0"
-"mb.ca\0seika.kyoto.jp\0"
-"higashiagatsuma.gunma.jp\0iizuna.nagano.jp\0nesoddtangen.no\0"
-"nakatane.kagoshima.jp\0"
-"nt.no\0"
-"tendo.yamagata.jp\0brandywinevalley.museum\0"
-"*.nz\0"
-"kunitachi.tokyo.jp\0"
-"b\xc3\xa6rum.no\0"
-"*.om\0tuva.ru\0"
-"balat.no\0"
-"sue.fukuoka.jp\0"
-"iwata.shizuoka.jp\0tysvar.no\0ac.pr\0"
-"skodje.no\0"
-"ama.shimane.jp\0illustration.museum\0idrett.no\0"
-"better-than.tv\0"
-"ashiya.fukuoka.jp\0leksvik.no\0"
-"*.pg\0wloclawek.pl\0t.se\0"
-"mie.jp\0"
-"kawamata.fukushima.jp\0"
-"donostia.museum\0"
-"is-a-chef.org\0"
-"guernsey.museum\0"
-"saku.nagano.jp\0"
-"minamisanriku.miyagi.jp\0"
-"penza.ru\0"
-"ta.it\0"
-"kawanabe.kagoshima.jp\0"
-"ac.rs\0"
-"okayama.okayama.jp\0kamiizumi.saitama.jp\0annefrank.museum\0"
-"association.aero\0gushikami.okinawa.jp\0ac.ru\0ac.se\0"
-"zentsuji.kagawa.jp\0"
-"ac.rw\0"
-"nagahama.shiga.jp\0narusawa.yamanashi.jp\0"
-"telekommunikation.museum\0"
-"crew.aero\0"
-"services.aero\0"
-"gx.cn\0konan.shiga.jp\0"
-"misaki.osaka.jp\0"
-"fukui.fukui.jp\0toya.hokkaido.jp\0toyonaka.osaka.jp\0"
-"sugito.saitama.jp\0"
-"cc.ne.us\0"
-"hornindal.no\0"
-"noda.iwate.jp\0"
-"wakkanai.hokkaido.jp\0nt.ro\0"
-"ac.th\0"
-"ringsaker.no\0"
-"ac.sz\0ac.tj\0"
-"arq.br\0nnov.ru\0"
-"itami.hyogo.jp\0kashiwazaki.niigata.jp\0"
-"z.bg\0"
-"eti.br\0showa.gunma.jp\0unnan.shimane.jp\0sos.pl\0"
-"rishiri.hokkaido.jp\0"
-"aso.kumamoto.jp\0"
-"store.ro\0"
-"otofuke.hokkaido.jp\0"
-"*.sv\0ac.ug\0"
-"ae.org\0"
-"iida.nagano.jp\0kitanakagusuku.okinawa.jp\0ac.tz\0teaches-yoga.com\0"
-"shimokitayama.nara.jp\0arakawa.saitama.jp\0"
-"og.it\0joboji.iwate.jp\0kainan.tokushima.jp\0"
-"ski.no\0"
-"lib.ee\0"
-"itakura.gunma.jp\0sor-fron.no\0*.tr\0"
-"vf.no\0"
-"astronomy.museum\0"
-"takatsuki.osaka.jp\0"
-"store.st\0"
-"rokunohe.aomori.jp\0"
-"kiyokawa.kanagawa.jp\0od.ua\0"
-"kvalsund.no\0"
-"ashoro.hokkaido.jp\0utazu.kagawa.jp\0ibestad.no\0*.uk\0"
-"urbinopesaro.it\0lyngdal.no\0ac.vn\0"
-"koshu.yamanashi.jp\0michigan.museum\0r\xc3\xb8mskog.no\0"
-"kitagata.saga.jp\0omsk.ru\0"
-"mashiko.tochigi.jp\0"
-"kofu.yamanashi.jp\0"
-"mb.it\0"
-"medizinhistorisches.museum\0"
-"inuyama.aichi.jp\0dnsalias.org\0is-a-chef.com\0"
-"otaki.nagano.jp\0austrheim.no\0"
-"ar.com\0"
-"0.bg\0anthropology.museum\0hvaler.no\0shop.pl\0"
-"lib.va.us\0"
-"fukusaki.hyogo.jp\0baths.museum\0culturalcenter.museum\0"
-"show.aero\0iraq.museum\0r\xc3\xa1hkker\xc3\xa1vju.no\0"
-"kamakura.kanagawa.jp\0toyono.osaka.jp\0"
-"vega.no\0"
-"sumoto.hyogo.jp\0film.museum\0"
-"kadogawa.miyazaki.jp\0garden.museum\0"
-"schokoladen.museum\0!nls.uk\0"
-"konskowola.pl\0"
-"legnica.pl\0"
-"caltanissetta.it\0wajima.ishikawa.jp\0"
-"mragowo.pl\0"
-"hattfjelldal.no\0"
-"kuwana.mie.jp\0"
-"tsuga.tochigi.jp\0"
-"itayanagi.aomori.jp\0v\xc3\xa5gan.no\0"
-"museumvereniging.museum\0zp.ua\0"
-"kawanehon.shizuoka.jp\0"
-"american.museum\0"
-"dolls.museum\0"
-"\xe0\xa6\xad\xe0\xa6\xbe\xe0\xa6\xb0\xe0\xa6\xa4\0"
-"hiroshima.jp\0betainabox.com\0"
-"kawaba.gunma.jp\0"
-"*.ye\0"
-"law.pro\0"
-"kin.okinawa.jp\0skj\xc3\xa5k.no\0"
-"is-a-conservative.com\0"
-"americana.museum\0k12.vi.us\0"
-"yamada.toyama.jp\0"
-"miasa.nagano.jp\0"
+"inc.hk\0"
+"control.aero\0"
+"gamagori.aichi.jp\0ngo.ph\0"
+"sa.au\0""2.bg\0com.vc\0"
+"biratori.hokkaido.jp\0matsushige.tokushima.jp\0"
+"topology.museum\0com.ve\0"
+"ichinomiya.aichi.jp\0"
+"semine.miyagi.jp\0saarland\0"
+"com.uy\0com.vi\0"
+"valle-aosta.it\0nakayama.yamagata.jp\0com.uz\0"
+"dn.ua\0"
+"ws.na\0"
+"com.vn\0"
+"act.edu.au\0durham.museum\0"
+"reggio-emilia.it\0bizen.okayama.jp\0yamada.toyama.jp\0"
+"mansions.museum\0podzone.org\0"
+"tomobe.ibaraki.jp\0minamiyamashiro.kyoto.jp\0matsubushi.saitama.jp\0"
+"glas.museum\0"
+"lc.it\0rikubetsu.hokkaido.jp\0engineer\0"
+"com.vu\0"
+"nishitosa.kochi.jp\0"
+"yaroslavl.ru\0"
+"fj.cn\0"
+"makinohara.shizuoka.jp\0"
+"saka.hiroshima.jp\0"
+"mobi.na\0vagsoy.no\0sevastopol.ua\0"
+"sa.cr\0"
+"lib.mi.us\0com.ws\0"
+"naoshima.kagawa.jp\0"
+"mobi.ng\0hobby-site.org\0"
+"tokai.ibaraki.jp\0"
+"catania.it\0shinagawa.tokyo.jp\0"
+"sannan.hyogo.jp\0"
+"rotorcraft.aero\0amot.no\0"
+"sanofi\0"
+"tas.gov.au\0"
+"fc.it\0kochi.kochi.jp\0"
+"kemerovo.ru\0"
+"leangaviika.no\0"
+"gyeongnam.kr\0consulado.st\0"
+"leirfjord.no\0"
+"hayashima.okayama.jp\0koka.shiga.jp\0"
+"autos\0is-by.us\0"
+"smile\0"
"conf.au\0"
-"aure.no\0*.za\0"
-"oizumi.gunma.jp\0lodingen.no\0"
-"from-or.com\0"
-"qc.com\0"
-"fc.it\0farmequipment.museum\0w.se\0"
-"vi.it\0"
-"archaeological.museum\0moss.no\0"
-"khakassia.ru\0*.zm\0isteingeek.de\0"
-"izumi.kagoshima.jp\0imageandsound.museum\0"
-"suisse.museum\0gu.us\0"
-"tajiri.osaka.jp\0"
-"*.zw\0"
-"kiyosato.hokkaido.jp\0"
-"takaharu.miyazaki.jp\0"
-"takanabe.miyazaki.jp\0"
-"paroch.k12.ma.us\0"
-"hatsukaichi.hiroshima.jp\0"
-"cn.it\0"
-"ranzan.saitama.jp\0"
-"murmansk.ru\0"
-"hamburg.museum\0"
-"es.kr\0heroy.nordland.no\0"
-"barletta-trani-andria.it\0lib.me.us\0"
-"hob\xc3\xb8l.no\0"
-"ck.ua\0"
-"gov\0"
-"city.hu\0fhs.no\0"
-"hk.cn\0"
-"ascolipiceno.it\0motorcycle.museum\0skanland.no\0"
-"qld.edu.au\0"
-"cc.nh.us\0"
-"gub.uy\0"
-"trani-andria-barletta.it\0birkenes.no\0is-a-cpa.com\0"
-"trapani.it\0"
-"art.br\0kibichuo.okayama.jp\0tananger.no\0"
-"otama.fukushima.jp\0kiho.mie.jp\0"
-"nose.osaka.jp\0nakagawa.tokushima.jp\0"
-"is-slick.com\0"
-"assn.lk\0\xe5\x95\x86\xe6\xa5\xad.tw\0"
-"from-ga.com\0"
-"\xe6\x96\xb0\xe5\x8a\xa0\xe5\x9d\xa1\0"
-"cc.ks.us\0"
-"kamagaya.chiba.jp\0grp.lk\0"
+"9.bg\0wtc\0"
+"wtf\0"
+"nsw.edu.au\0aurland.no\0chrome\0"
+"otaki.saitama.jp\0"
+"yosemite.museum\0parti.se\0"
+"kawanishi.nara.jp\0"
+"baltimore.museum\0yoga\0"
+"es.kr\0"
+"heroy.more-og-romsdal.no\0"
+"omotego.fukushima.jp\0"
+"british.museum\0"
+"ishinomaki.miyagi.jp\0"
+"game.tw\0cc.vt.us\0"
+"umi.fukuoka.jp\0ikusaka.nagano.jp\0"
+"sh.cn\0"
+"judaica.museum\0gjemnes.no\0itau\0"
+"slupsk.pl\0"
+"musashino.tokyo.jp\0"
+"k\xc3\xa1r\xc3\xa1\xc5\xa1johka.no\0"
+"malatvuopmi.no\0from-pa.com\0"
+"tomakomai.hokkaido.jp\0"
+"\xd8\xa7\xdb\x8c\xd8\xb1\xd8\xa7\xd9\x86\0"
+"unbi.ba\0nid.io\0"
+"szex.hu\0"
+"wassamu.hokkaido.jp\0naka.ibaraki.jp\0"
+"kawasaki.miyagi.jp\0"
+"daiwa.hiroshima.jp\0"
+"is-very-sweet.org\0"
+"naganohara.gunma.jp\0"
+"solund.no\0"
+"gose.nara.jp\0"
+"juegos\0"
+"sa.it\0"
+"emergency.aero\0hawaii.museum\0"
+"\xd0\xbc\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0\0"
+"medio-campidano.it\0hiroo.hokkaido.jp\0"
+"svizzera.museum\0doomdns.org\0"
"hioki.kagoshima.jp\0"
-"nagato.yamaguchi.jp\0"
-"control.aero\0gliding.aero\0tsumagoi.gunma.jp\0nishitosa.kochi.jp\0"
-"kitadaito.okinawa.jp\0"
-"art.do\0zoological.museum\0"
-"toyako.hokkaido.jp\0plo.ps\0"
-"cq.cn\0kadoma.osaka.jp\0basel.museum\0"
-"osakikamijima.hiroshima.jp\0"
-"elverum.no\0cc.in.us\0"
-"shingu.hyogo.jp\0"
-"art.dz\0"
-"avoues.fr\0lu.it\0me.it\0nerima.tokyo.jp\0"
-"military.museum\0"
-"satosho.okayama.jp\0"
-"st.no\0"
-"3.bg\0yamagata.ibaraki.jp\0humanities.museum\0"
-"championship.aero\0"
-"does-it.net\0"
-"higashi.fukushima.jp\0"
-"taxi.br\0"
-"kharkiv.ua\0"
-"ushuaia.museum\0"
-"kumano.mie.jp\0"
-"unsa.ba\0shimamoto.osaka.jp\0wodzislaw.pl\0"
-"yokosuka.kanagawa.jp\0is-leet.com\0"
-"jevnaker.no\0"
-"minamiashigara.kanagawa.jp\0"
-"ryugasaki.ibaraki.jp\0"
-"tsuno.kochi.jp\0flora.no\0kuzbass.ru\0"
-"nesna.no\0"
-"yachiyo.chiba.jp\0civilwar.museum\0"
-"matsumae.hokkaido.jp\0"
-"kumatori.osaka.jp\0namsskogan.no\0"
-"knowsitall.info\0"
-"linz.museum\0"
-"sakuragawa.ibaraki.jp\0"
-"toride.ibaraki.jp\0traeumtgerade.de\0"
-"store.bb\0jolster.no\0"
-"pilots.museum\0"
-"asia\0"
-"kustanai.ru\0"
-"art.ht\0"
-"pubol.museum\0"
-"england.museum\0"
-"shimizu.shizuoka.jp\0kartuzy.pl\0"
-"volgograd.ru\0"
-"tateyama.toyama.jp\0"
-"augustow.pl\0"
-"askoy.no\0z.se\0"
-"obama.nagasaki.jp\0k12.ca.us\0"
-"higashine.yamagata.jp\0wales.museum\0"
-"kiwa.mie.jp\0izena.okinawa.jp\0"
-"js.cn\0kanna.gunma.jp\0from-tn.com\0"
-"brescia.it\0"
-"aip.ee\0otoineppu.hokkaido.jp\0"
-"sakyo.kyoto.jp\0kami.miyagi.jp\0"
-"serveftp.org\0"
-"miyama.fukuoka.jp\0hakui.ishikawa.jp\0"
-"adv.br\0"
-"exeter.museum\0"
-"nichinan.tottori.jp\0vi.us\0"
-"enna.it\0"
-"flor\xc3\xb8.no\0"
-"cn.ua\0"
-"from-co.net\0"
-"hn.cn\0"
-"andria-barletta-trani.it\0"
-"himeshima.oita.jp\0"
-"boleslawiec.pl\0"
-"nishiarita.saga.jp\0"
-"al.it\0sydney.museum\0"
-"washingtondc.museum\0"
-"iglesiascarbonia.it\0kanuma.tochigi.jp\0"
-"educator.aero\0"
-"from-ny.net\0"
-"watchandclock.museum\0"
-"frog.museum\0"
-"takamori.kumamoto.jp\0"
-"is-a-blogger.com\0"
-"habmer.no\0"
-"consulting.aero\0"
-"ogawa.saitama.jp\0"
-"fi.cr\0"
-"hanggliding.aero\0"
-"minamiise.mie.jp\0\xc3\xa5lg\xc3\xa5rd.no\0"
-"ueda.nagano.jp\0lebtimnetz.de\0"
-"karelia.ru\0"
-"zlg.br\0koge.tottori.jp\0"
-"kvitsoy.no\0"
-"vagsoy.no\0"
-"time.no\0"
-"toyotomi.hokkaido.jp\0"
-"tj.cn\0nes.akershus.no\0"
-"med.br\0fujioka.gunma.jp\0"
-"imakane.hokkaido.jp\0"
-"yamakita.kanagawa.jp\0"
-"okinoshima.shimane.jp\0"
-"gs.jan-mayen.no\0"
-"kasugai.aichi.jp\0"
-"texas.museum\0"
-"tsugaru.aomori.jp\0miyawaka.fukuoka.jp\0otsuki.yamanashi.jp\0"
-"6.bg\0suedtirol.it\0"
-"koya.wakayama.jp\0"
-"shikokuchuo.ehime.jp\0"
-"\xd0\xb8\xd0\xba\xd0\xbe\xd0\xbc.museum\0"
-"kameyama.mie.jp\0missile.museum\0"
-"fhv.se\0hu.com\0"
-"art.pl\0"
-"tamano.okayama.jp\0"
-"taketa.oita.jp\0"
-"\xc3\xb8yer.no\0oystre-slidre.no\0rad\xc3\xb8y.no\0"
-"me.tz\0"
-"takahagi.ibaraki.jp\0steam.museum\0"
-"technology.museum\0"
-"med.ec\0asakuchi.okayama.jp\0"
-"med.ee\0stavanger.no\0merseine.nu\0"
-"al.no\0porsangu.no\0"
-"stavern.no\0me.us\0"
-"lib.ct.us\0"
-"emp.br\0tr\xc3\xa6na.no\0"
-"kayabe.hokkaido.jp\0"
-"sekigahara.gifu.jp\0"
-"udine.it\0shacknet.nu\0"
-"presse.km\0posts-and-telecommunications.museum\0"
-"is-a-chef.net\0"
-"gokase.miyazaki.jp\0"
-"choshi.chiba.jp\0podhale.pl\0"
-"archaeology.museum\0"
-"localhistory.museum\0"
-"krasnoyarsk.ru\0"
-"minamidaito.okinawa.jp\0yorkshire.museum\0"
-"lavangen.no\0"
-"oyamazaki.kyoto.jp\0"
-"nagasaki.nagasaki.jp\0"
-"\xc3\xa1laheadju.no\0"
-"kameoka.kyoto.jp\0"
-"bielawa.pl\0\xd8\xa7\xd9\x84\xd8\xac\xd8\xb2\xd8\xa7\xd8\xa6\xd8\xb1\0"
-"\xd7\x99\xd7\xa8\xd7\x95\xd7\xa9\xd7\x9c\xd7\x99\xd7\x9d.museum\0art.sn\0from-pr.com\0"
-"takata.fukuoka.jp\0dielddanuorri.no\0"
-"fujisato.akita.jp\0association.museum\0"
-"gouv.fr\0fi.it\0presse.ml\0"
-"nakagawa.hokkaido.jp\0"
-"tanabe.wakayama.jp\0"
-"monmouth.museum\0"
-"dyr\xc3\xb8y.no\0"
-"takikawa.hokkaido.jp\0urakawa.hokkaido.jp\0"
-"shibecha.hokkaido.jp\0"
-"sand\xc3\xb8y.no\0"
-"collection.museum\0"
-"kusatsu.gunma.jp\0"
-"pulawy.pl\0"
-"monticello.museum\0"
-"med.ht\0"
-"ct.it\0otago.museum\0alaheadju.no\0"
-"omotego.fukushima.jp\0name\0"
-"balsan.it\0"
-"ogi.saga.jp\0"
-"okawa.fukuoka.jp\0"
-"norfolk.museum\0n\xc3\xa6r\xc3\xb8y.no\0"
-"gouv.ht\0"
-"kaminokawa.tochigi.jp\0"
-"hammerfest.no\0"
-"hiraya.nagano.jp\0settlement.museum\0"
-"toei.aichi.jp\0santabarbara.museum\0"
-"\xc3\xb8rsta.no\0"
-"ao.it\0sano.tochigi.jp\0jondal.no\0"
-"re.it\0"
-"kamitsue.oita.jp\0"
-"sola.no\0"
-"laspezia.it\0luzern.museum\0salat.no\0stv.ru\0est-a-la-maison.com\0"
-"avocat.fr\0sm\xc3\xb8la.no\0"
-"bando.ibaraki.jp\0kawakami.nara.jp\0"
-"*.kawasaki.jp\0ngo.lk\0"
-"gouv.bj\0"
-"sennan.osaka.jp\0"
-"greta.fr\0"
-"minamiuonuma.niigata.jp\0h\xc3\xa1""bmer.no\0"
-"sanuki.kagawa.jp\0"
-"cosenza.it\0kota.aichi.jp\0takko.aomori.jp\0"
-"gamvik.no\0"
-"kaneyama.fukushima.jp\0cc.ky.us\0"
-"stjohn.museum\0"
-"habikino.osaka.jp\0askim.no\0"
-"gouv.ci\0musashimurayama.tokyo.jp\0"
-"gs.bu.no\0"
-"teshikaga.hokkaido.jp\0al.us\0"
-"re.kr\0"
-"kyotamba.kyoto.jp\0minnesota.museum\0"
-"ise.mie.jp\0"
-"med.ly\0"
-"safety.aero\0kyonan.chiba.jp\0koga.ibaraki.jp\0skedsmokorset.no\0"
-"!www.ck\0sherbrooke.museum\0"
-"\xe7\xb6\xb2\xe7\xb5\xa1.cn\0"
-"b\xc3\xa1jddar.no\0"
-"fuchu.toyama.jp\0conf.lv\0"
-"yonabaru.okinawa.jp\0"
-"9.bg\0ujiie.tochigi.jp\0"
-"numata.hokkaido.jp\0luroy.no\0sortland.no\0"
-"yamamoto.miyagi.jp\0"
-"morimachi.shizuoka.jp\0"
-"iijima.nagano.jp\0ichikawamisato.yamanashi.jp\0upow.gov.pl\0"
-"losangeles.museum\0"
-"club.aero\0"
-"kommunalforbund.se\0"
-"drangedal.no\0"
-"ngo.ph\0"
-"tur.br\0"
-"ngo.pl\0"
-"nishinoomote.kagoshima.jp\0"
-"lib.dc.us\0"
-"chihayaakasaka.osaka.jp\0eastafrica.museum\0"
-"leitungsen.de\0"
-"aurland.no\0"
-"misawa.aomori.jp\0med.pa\0"
-"inabe.mie.jp\0"
-"laquila.it\0"
-"tm.fr\0toon.ehime.jp\0"
-"kusatsu.shiga.jp\0"
-"med.pl\0"
-"hofu.yamaguchi.jp\0"
-"mamurogawa.yamagata.jp\0vinnytsia.ua\0"
-"miyota.nagano.jp\0"
-"parachuting.aero\0"
-"suli.hu\0"
-"yasugi.shimane.jp\0"
-"johana.toyama.jp\0"
-"yaita.tochigi.jp\0!nawras.om\0izhevsk.ru\0"
-"frei.no\0"
-"kumenan.okayama.jp\0kikugawa.shizuoka.jp\0"
-"vr.it\0"
-"ambulance.museum\0"
-"tsunan.niigata.jp\0matsubushi.saitama.jp\0"
-"ichiba.tokushima.jp\0"
-"tm.hu\0"
-"\xe7\xb6\xb2\xe7\xb5\xa1.hk\0"
-"id.au\0perugia.it\0"
-"gotemba.shizuoka.jp\0fla.no\0"
-"kamikoani.akita.jp\0sec.ps\0"
-"med.sa\0"
-"skole.museum\0"
-"airport.aero\0"
-"med.sd\0"
-"sibenik.museum\0"
-"sondre-land.no\0"
-"jpn.com\0"
-"shimamaki.hokkaido.jp\0"
-"owariasahi.aichi.jp\0utashinai.hokkaido.jp\0hotel.tz\0"
-"namie.fukushima.jp\0komi.ru\0"
-"malvik.no\0lib.nj.us\0"
-"k-uralsk.ru\0"
-"xz.cn\0lukow.pl\0"
-"iiyama.nagano.jp\0steiermark.museum\0radom.pl\0blogspot.co.at\0"
-"saltdal.no\0vladivostok.ru\0"
-"int\0kira.aichi.jp\0"
-"flog.br\0shiranuka.hokkaido.jp\0nsk.ru\0"
-"ar.it\0"
-"tono.iwate.jp\0fujiidera.osaka.jp\0"
-"tm.km\0"
-"ct.us\0"
-"kuchinotsu.nagasaki.jp\0"
-"shinto.gunma.jp\0"
-"trysil.no\0"
-"saves-the-whales.com\0"
-"off.ai\0"
-"county.museum\0"
-"tank.museum\0"
-"is-a-hard-worker.com\0"
-"pc.it\0"
-"tm.mc\0kyiv.ua\0"
-"onojo.fukuoka.jp\0"
-"tm.mg\0"
-"onga.fukuoka.jp\0"
-"a.bg\0vlog.br\0lib.id.us\0"
-"kalmykia.ru\0"
-"alto-adige.it\0"
-"shibukawa.gunma.jp\0"
-"toba.mie.jp\0"
-"misato.shimane.jp\0"
-"kitahata.saga.jp\0"
-"for-more.biz\0"
-"siellak.no\0"
-"la-spezia.it\0"
-"mn.it\0seljord.no\0"
-"mihama.chiba.jp\0"
-"miyako.fukuoka.jp\0"
-"fujinomiya.shizuoka.jp\0moka.tochigi.jp\0"
-"cultural.museum\0"
-"tm.no\0"
-"kamisato.saitama.jp\0magadan.ru\0"
-"mk.ua\0"
-"\xe0\xae\x87\xe0\xae\xa8\xe0\xaf\x8d\xe0\xae\xa4\xe0\xae\xbf\xe0\xae\xaf\xe0\xae\xbe\0"
-"motobu.okinawa.jp\0"
-"r\xc3\xb8yrvik.no\0is-a-geek.com\0"
-"shizukuishi.iwate.jp\0omura.nagasaki.jp\0"
-"rec.br\0kai.yamanashi.jp\0"
-"monza.it\0"
-"teo.br\0pescara.it\0"
-"yugawa.fukushima.jp\0circus.museum\0kirkenes.no\0"
-"air-surveillance.aero\0br\xc3\xb8nn\xc3\xb8y.no\0roros.no\0rnd.ru\0"
-"pharmacy.museum\0gs.nt.no\0"
-"bmd.br\0takizawa.iwate.jp\0bunkyo.tokyo.jp\0"
-"motegi.tochigi.jp\0youth.museum\0"
-"gob.bo\0tamba.hyogo.jp\0"
-"lib.tx.us\0"
-"kitashiobara.fukushima.jp\0"
-"rec.co\0kautokeino.no\0"
-"baseball.museum\0dinosaur.museum\0tm.pl\0"
-"grane.no\0"
-"oster\xc3\xb8y.no\0"
-"eidskog.no\0lanbib.se\0"
-"gob.cl\0kristiansund.no\0"
-"id.ir\0"
-"iwate.iwate.jp\0"
-"hotel.lk\0"
-"omiya.saitama.jp\0"
-"tanagura.fukushima.jp\0"
-"perm.ru\0"
-"\xc3\xb8rland.no\0"
-"western.museum\0from-va.com\0"
-"game-server.cc\0"
-"gob.do\0hita.oita.jp\0"
-"ashibetsu.hokkaido.jp\0zgorzelec.pl\0"
-"gob.ec\0"
-"blogspot.co.il\0"
-"barum.no\0"
-"bozen.it\0kotohira.kagawa.jp\0tm.ro\0gouv.rw\0"
-"varese.it\0hirokawa.fukuoka.jp\0"
-"ia.us\0k12.ct.us\0"
-"tm.se\0"
-"gouv.sn\0lib.or.us\0"
-"is-a-therapist.com\0"
-"pc.pl\0"
-"gob.es\0seiro.niigata.jp\0farsund.no\0"
-"magazine.aero\0"
-"ueno.gunma.jp\0\xe7\xb6\xb2\xe8\xb7\xaf.tw\0"
-"ayase.kanagawa.jp\0kitaura.miyazaki.jp\0"
-"cz.it\0"
-"tp.it\0ikoma.nara.jp\0"
-"presse.ci\0konin.pl\0"
-"id.lv\0eigersund.no\0nore-og-uvdal.no\0"
-"yoshimi.saitama.jp\0fl.us\0"
-"id.ly\0"
-"dyndns.biz\0"
-"ohkura.yamagata.jp\0"
-"vlaanderen.museum\0"
-"surnadal.no\0"
-"urbino-pesaro.it\0"
-"evenassi.no\0from-ok.com\0"
-"tara.saga.jp\0hashimoto.wakayama.jp\0"
-"gob.gt\0"
-"hotel.hu\0gs.vf.no\0\xe0\xb6\xbd\xe0\xb6\x82\xe0\xb6\x9a\xe0\xb7\x8f\0"
-"groks-the.info\0"
-"!bl.uk\0"
-"ota.gunma.jp\0"
-"gob.hn\0kitagata.gifu.jp\0"
-"airline.aero\0simbirsk.ru\0"
-"katashina.gunma.jp\0hiraizumi.iwate.jp\0"
-"hirado.nagasaki.jp\0corporation.museum\0"
-"volyn.ua\0"
-"fujisawa.kanagawa.jp\0"
-"6bone.pl\0"
-"gifu.gifu.jp\0kami.kochi.jp\0"
-"molde.no\0"
-"essex.museum\0"
-"tatsuno.hyogo.jp\0"
-"cherkasy.ua\0"
-"sayo.hyogo.jp\0"
-"ar.us\0is-an-engineer.com\0"
-"k12.ma.us\0"
-"d.bg\0"
-"shimofusa.chiba.jp\0"
-"california.museum\0"
-"songdalen.no\0svelvik.no\0"
-"vic.au\0setouchi.okayama.jp\0"
-"presse.fr\0"
-"theater.museum\0"
-"leg.br\0harvestcelebration.museum\0"
-"mus.br\0"
-"towada.aomori.jp\0"
-"mochizuki.nagano.jp\0is-a-knight.org\0"
-"nsn.us\0"
-"lindas.no\0"
-"na.it\0"
-"paderborn.museum\0"
-"catanzaro.it\0wajiki.tokushima.jp\0"
-"gosen.niigata.jp\0busan.kr\0clinton.museum\0embaixada.st\0"
-"\xe7\xb6\xb2\xe7\xbb\x9c.hk\0jfk.museum\0"
-"hanamaki.iwate.jp\0mielec.pl\0"
-"casadelamoneda.museum\0hjelmeland.no\0"
-"cc.gu.us\0"
-"is-a-anarchist.com\0"
-"\xc3\xb8stre-toten.no\0is-a-geek.org\0"
-"katori.chiba.jp\0myphotos.cc\0"
-"hakata.fukuoka.jp\0"
-"oguchi.aichi.jp\0hachirogata.akita.jp\0"
-"eniwa.hokkaido.jp\0"
-"tottori.jp\0okagaki.fukuoka.jp\0mn.us\0"
-"bergamo.it\0noda.chiba.jp\0"
-"coastaldefence.museum\0rec.nf\0"
-"izu.shizuoka.jp\0"
-"karuizawa.nagano.jp\0"
-"tadaoka.osaka.jp\0"
-"gouv.km\0"
-"lunner.no\0"
-"topology.museum\0"
-"maibara.shiga.jp\0ostroda.pl\0"
-"takamori.nagano.jp\0"
-"larsson.museum\0"
-"obama.fukui.jp\0"
-"gob.mx\0amot.no\0"
-"hida.gifu.jp\0"
-"alessandria.it\0nagiso.nagano.jp\0"
-"shunan.yamaguchi.jp\0"
-"ogawara.miyagi.jp\0"
-"ritto.shiga.jp\0"
-"tsuru.yamanashi.jp\0lomza.pl\0"
-"f\xc3\xb8rde.no\0"
-"yokaichiba.chiba.jp\0"
-"\xc3\xb8ygarden.no\0pskov.ru\0"
-"chiba.jp\0"
-"irc.pl\0"
-"fr.it\0mo\xc3\xa5reke.no\0"
-"gen.in\0"
-"gouv.ml\0"
-"estate.museum\0"
-"id.us\0k12.de.us\0"
-"aomori.aomori.jp\0naturalhistorymuseum.museum\0lib.pa.us\0"
-"iwaki.fukushima.jp\0gob.pa\0"
-"vaapste.no\0"
-"kosei.shiga.jp\0"
-"shirosato.ibaraki.jp\0gob.pe\0from-la.net\0"
-"tj\xc3\xb8me.no\0"
-"viking.museum\0"
-"neat-url.com\0"
-"chelyabinsk.ru\0"
-"gob.pk\0"
-"selbu.no\0"
-"shari.hokkaido.jp\0"
-"gausdal.no\0"
-"edu.ac\0catania.it\0ureshino.mie.jp\0a.se\0"
-"ts.it\0is-a-celticsfan.org\0"
-"edu.af\0school.museum\0"
-"blogspot.co.uk\0"
-"k12.ar.us\0"
-"lib.mt.us\0lib.nd.us\0"
-"edu.al\0"
-"edu.an\0entomology.museum\0gildeskal.no\0"
-"gallery.museum\0stuff-4-sale.us\0"
-"nesodden.no\0"
+"edu.ac\0"
+"yokosuka.kanagawa.jp\0"
+"ipiranga\0"
+"edu.af\0tono.iwate.jp\0takagi.nagano.jp\0"
+"edu.al\0nuoro.it\0\xe5\xb3\xb6\xe6\xa0\xb9.jp\0inagi.tokyo.jp\0"
+"sogndal.no\0room\0endofinternet.org\0"
+"edu.an\0\xd8\xa7\xdb\x8c\xd8\xb1\xd8\xa7\xd9\x86.ir\0yuasa.wakayama.jp\0"
+"berlev\xc3\xa5g.no\0"
"edu.ba\0"
-"edu.bb\0"
-"iizuka.fukuoka.jp\0shikabe.hokkaido.jp\0"
+"edu.ar\0edu.bb\0taketomi.okinawa.jp\0"
+"crimea.ua\0"
"edu.au\0"
-"rec.ro\0"
-"chosei.chiba.jp\0"
-"edu.bh\0msk.ru\0"
-"edu.bi\0sauherad.no\0"
-"edu.az\0ardal.no\0"
-"rn.it\0game-host.org\0"
+"video\0"
+"edu.bh\0"
+"edu.bi\0"
+"edu.az\0"
+"anthropology.museum\0is-a-anarchist.com\0"
+"kartuzy.pl\0xin\0"
"edu.bm\0"
-"histoire.museum\0"
-"edu.bo\0mihama.mie.jp\0"
-"massacarrara.it\0mobara.chiba.jp\0aogaki.hyogo.jp\0hatogaya.saitama.jp\0oe.yamagata.jp\0"
+"watari.miyagi.jp\0"
+"edu.bo\0flatanger.no\0roan.no\0"
"edu.br\0"
-"edu.bs\0"
+"edu.bs\0homedns.org\0"
"edu.bt\0"
-"tamakawa.fukushima.jp\0uslivinghistory.museum\0waw.pl\0"
-"tas.edu.au\0edu.ci\0yura.wakayama.jp\0"
-"edu.bz\0niepce.museum\0baidar.no\0"
-"mod.gi\0"
-"vicenza.it\0gets-it.net\0"
+"imabari.ehime.jp\0"
+"edu.ci\0\xd1\x80\xd1\x83\xd1\x81\0"
+"edu.bz\0kumiyama.kyoto.jp\0"
+"is-a-financialadvisor.com\0"
+"izhevsk.ru\0"
"edu.cn\0"
-"edu.co\0glass.museum\0sciencecenter.museum\0"
-"tv.bo\0neyagawa.osaka.jp\0"
-"pi.it\0arakawa.tokyo.jp\0"
-"isahaya.nagasaki.jp\0iwatsuki.saitama.jp\0"
-"tv.br\0"
+"edu.co\0sandnessj\xc3\xb8""en.no\0"
+"sardegna.it\0"
+"awaji.hyogo.jp\0"
+"soni.nara.jp\0"
"edu.cu\0"
-"gs.st.no\0"
-"g.bg\0kamisunagawa.hokkaido.jp\0"
-"omigawa.chiba.jp\0"
-"edu.dm\0so.gov.pl\0"
-"sa.au\0nakagawa.fukuoka.jp\0"
+"edu.cw\0clinton.museum\0\xc3\xa5mli.no\0ks.ua\0"
+"\xe7\xbb\x84\xe7\xbb\x87\xe6\x9c\xba\xe6\x9e\x84\0"
+"gol.no\0"
+"pisz.pl\0"
+"monmouth.museum\0"
+"edu.dm\0z-1.compute-1.amazonaws.com\0"
"edu.do\0"
-"edu.ec\0suginami.tokyo.jp\0"
-"hashima.gifu.jp\0"
+"ah.cn\0"
+"edu.ec\0"
+"mo.cn\0izumiotsu.osaka.jp\0"
"edu.ee\0"
-"edu.eg\0"
-"mt.it\0hadano.kanagawa.jp\0dontexist.net\0"
-"edu.dz\0pistoia.it\0hobol.no\0"
-"warabi.saitama.jp\0"
-"trading.aero\0nsw.au\0kagawa.jp\0hadsel.no\0"
-"ooshika.nagano.jp\0"
-"edu.es\0isa.kagoshima.jp\0n\xc3\xa5\xc3\xa5mesjevuemie.no\0"
-"priv.hu\0"
-"jewishart.museum\0"
-"meeres.museum\0trust.museum\0"
-"suifu.ibaraki.jp\0"
-"oarai.ibaraki.jp\0bomlo.no\0"
-"sa.cr\0tarnobrzeg.pl\0"
-"conference.aero\0"
-"kasaoka.okayama.jp\0"
-"gjovik.no\0her\xc3\xb8y.nordland.no\0sk\xc3\xa5nland.no\0"
-"edu.ge\0wazuka.kyoto.jp\0"
-"syzran.ru\0k12.id.us\0"
-"edu.gh\0wakasa.tottori.jp\0fylkesbibl.no\0snoasa.no\0"
-"edu.gi\0"
-"nom.ad\0"
-"kamifurano.hokkaido.jp\0"
-"kitamoto.saitama.jp\0targi.pl\0"
-"nom.ag\0kuki.saitama.jp\0arendal.no\0"
+"dental\0"
+"edu.eg\0cartoonart.museum\0"
+"trentinoalto-adige.it\0"
+"ks.us\0"
+"edu.dz\0homelinux.net\0"
+"epilepsy.museum\0"
+"nakanoto.ishikawa.jp\0shiraoka.saitama.jp\0"
+"stateofdelaware.museum\0k12.ks.us\0"
+"izumozaki.niigata.jp\0"
+"kamisu.ibaraki.jp\0"
+"edu.es\0discovery.museum\0"
+"edu.et\0airtel\0"
+"palermo.it\0"
+"yura.wakayama.jp\0"
+"\xd0\xb4\xd0\xb5\xd1\x82\xd0\xb8\0"
+"go.ci\0romsa.no\0"
+"omigawa.chiba.jp\0niihama.ehime.jp\0"
+"villas\0"
+"edu.ge\0"
+"pug.it\0matsuura.nagasaki.jp\0"
+"comunica\xc3\xa7\xc3\xb5""es.museum\0dyndns-ip.com\0"
+"edu.gh\0"
+"edu.gi\0br\xc3\xb8nn\xc3\xb8y.no\0rahkkeravju.no\0sn\xc3\xa5sa.no\0"
+"go.cr\0ulsan.kr\0"
+"agency\0"
"edu.gn\0"
+"stavanger.no\0"
"edu.gp\0"
-"edu.gr\0akishima.tokyo.jp\0"
-"cc.vi.us\0"
-"edu.gt\0toyokawa.aichi.jp\0"
-"nikolaev.ua\0"
-"meiwa.mie.jp\0kaneyama.yamagata.jp\0"
-"sel.no\0"
-"edu.hk\0is-an-entertainer.com\0is-certified.com\0"
-"edu.hn\0burghof.museum\0"
-"contemporary.museum\0from-wa.com\0"
-"s\xc3\xb8r-varanger.no\0"
-"klepp.no\0"
-"edu.ht\0fedje.no\0!mediaphone.om\0"
-"krodsherad.no\0"
-"web.co\0"
-"messina.it\0fussa.tokyo.jp\0"
-"nom.br\0divtasvuodna.no\0"
-"war.museum\0porsgrunn.no\0"
-"amursk.ru\0"
-"edu.in\0ge.it\0komatsu.ishikawa.jp\0"
-"is-very-evil.org\0"
+"edu.gr\0"
+"artcenter.museum\0"
+"edu.gt\0"
+"fitjar.no\0"
+"aosta.it\0"
+"yoshino.nara.jp\0publ.pt\0"
+"edu.hk\0"
+"edu.hn\0higashiizu.shizuoka.jp\0"
+"nf.ca\0investments\0"
+"trentinosued-tirol.it\0imakane.hokkaido.jp\0"
+"naie.hokkaido.jp\0"
+"illustration.museum\0"
+"edu.ht\0fujiyoshida.yamanashi.jp\0"
+"chiyoda.gunma.jp\0"
+"science-fiction.museum\0"
+"so.it\0"
+"kamikoani.akita.jp\0"
+"edu.in\0"
+"gv.ao\0"
+"kyotanabe.kyoto.jp\0nabari.mie.jp\0"
"edu.iq\0"
-"edu.is\0erimo.hokkaido.jp\0"
-"edu.it\0"
-"nom.co\0univ.sn\0k12.tx.us\0"
-"web.do\0"
-"minami.tokushima.jp\0"
-"jeju.kr\0"
-"soc.lk\0grimstad.no\0kharkov.ua\0gb.net\0"
-"ralingen.no\0"
+"edu.is\0"
+"gv.at\0edu.it\0"
+"stuff-4-sale.us\0"
+"yamagata.yamagata.jp\0"
+"pasadena.museum\0"
+"kawai.iwate.jp\0ryuoh.shiga.jp\0"
+"saltdal.no\0stokke.no\0"
+"tychy.pl\0makeup\0"
+"surnadal.no\0gos.pk\0"
"edu.jo\0"
-"miura.kanagawa.jp\0kunigami.okinawa.jp\0priv.at\0"
-"time.museum\0"
-"kaho.fukuoka.jp\0d.se\0"
-"tv.it\0blogspot.co.nz\0"
-"edu.kg\0"
-"edu.ki\0"
-"ass.km\0"
-"k12.as.us\0"
-"lahppi.no\0\xe0\xae\x87\xe0\xae\xb2\xe0\xae\x99\xe0\xaf\x8d\xe0\xae\x95\xe0\xaf\x88\0"
-"edu.km\0lib.ms.us\0lib.nc.us\0"
-"izunokuni.shizuoka.jp\0edu.kn\0"
-"nakagusuku.okinawa.jp\0edu.kp\0"
+"fermo.it\0fujimi.saitama.jp\0"
+"wakkanai.hokkaido.jp\0"
+"nara.nara.jp\0"
+"edu.kg\0\xe0\xa4\xa8\xe0\xa5\x87\xe0\xa4\x9f\0"
+"edu.ki\0aa.no\0"
+"mo.it\0"
+"kvinnherad.no\0"
+"oamishirasato.chiba.jp\0sumita.iwate.jp\0"
+"edu.km\0from-nm.com\0"
+"edu.kn\0"
+"cc.wy.us\0"
+"fukui.fukui.jp\0koryo.nara.jp\0edu.kp\0"
"edu.la\0"
-"yashio.saitama.jp\0edu.lb\0"
-"nozawaonsen.nagano.jp\0edu.lc\0"
-"oguni.yamagata.jp\0jelenia-gora.pl\0gdansk.pl\0"
-"tobetsu.hokkaido.jp\0"
-"matsuura.nagasaki.jp\0"
-"nom.es\0daito.osaka.jp\0edu.ky\0"
-"ozu.ehime.jp\0edu.kz\0"
+"edu.lb\0"
+"edu.lc\0"
+"kounosu.saitama.jp\0fuchu.toyama.jp\0"
+"dominic.ua\0lib.ar.us\0"
+"\xe7\xae\x87\xe4\xba\xba.hk\0edu.ky\0"
+"edu.kz\0"
"edu.lk\0"
-"sa.it\0"
-"lier.no\0"
-"cremona.it\0"
-"oamishirasato.chiba.jp\0edu.lr\0"
-"matsusaka.mie.jp\0edu.me\0"
-"minokamo.gifu.jp\0edu.lv\0divttasvuotna.no\0"
+"go.id\0mantova.it\0funahashi.toyama.jp\0"
+"chippubetsu.hokkaido.jp\0"
+"hamburg.museum\0\xc3\xa5snes.no\0"
+"tsuga.tochigi.jp\0"
+"sciences.museum\0"
+"edu.lr\0"
+"luster.no\0vinnica.ua\0"
+"edu.me\0"
+"edu.lv\0"
"edu.mg\0"
-"nom.fr\0"
-"edu.ly\0"
-"club.tw\0"
-"edu.mk\0"
-"edu.ml\0"
-"wakayama.wakayama.jp\0skierv\xc3\xa1.no\0"
+"edu.ly\0cultural.museum\0ftpaccess.cc\0"
+"kagamino.okayama.jp\0"
+"edu.mk\0rygge.no\0"
+"go.it\0hirono.fukushima.jp\0daito.osaka.jp\0edu.ml\0"
+"salangen.no\0tromsa.no\0reviews\0"
"edu.mn\0"
-"edu.mo\0saratov.ru\0cc.me.us\0"
-"vdonsk.ru\0"
-"from-ar.com\0"
-"zgora.pl\0"
-"usculture.museum\0mari.ru\0"
-"daiwa.hiroshima.jp\0"
-"edu.mv\0"
-"edu.mw\0edu.ng\0kaszuby.pl\0"
-"edu.mx\0"
-"edu.my\0"
-"usui.fukuoka.jp\0"
-"j.bg\0web.id\0"
-"sr.gov.pl\0"
-"s\xc3\xb8mna.no\0"
-"info.ht\0sauda.no\0"
-"info.hu\0"
-"edu.nr\0"
-"tv.na\0"
-"\xe0\xae\x9a\xe0\xae\xbf\xe0\xae\x99\xe0\xaf\x8d\xe0\xae\x95\xe0\xae\xaa\xe0\xaf\x8d\xe0\xae\xaa\xe0\xaf\x82\xe0\xae\xb0\xe0\xaf\x8d\0"
-"chuo.tokyo.jp\0"
-"s\xc3\xa1lat.no\0"
-"dazaifu.fukuoka.jp\0"
-"kawai.nara.jp\0"
-"eun.eg\0"
-"koshimizu.hokkaido.jp\0"
-"charter.aero\0"
-"thruhere.net\0"
-"usgarden.museum\0"
-"kanoya.kagoshima.jp\0edu.pa\0"
-"kihoku.ehime.jp\0kalisz.pl\0"
-"sakura.tochigi.jp\0"
-"agrar.hu\0edu.pe\0"
-"edu.pf\0"
+"edu.mo\0"
+"sv.it\0"
+"cymru.museum\0e-burg.ru\0cc.ri.us\0"
+"tsumagoi.gunma.jp\0gorlice.pl\0"
+"edu.ms\0"
+"nm.cn\0\xe5\x8d\x83\xe8\x91\x89.jp\0nonoichi.ishikawa.jp\0edu.mt\0"
+"ayagawa.kagawa.jp\0edu.mv\0"
+"edu.mw\0edu.ng\0b\xc3\xa5""d\xc3\xa5""ddj\xc3\xa5.no\0poltava.ua\0"
+"go.jp\0edu.mx\0"
+"edu.my\0ma.us\0k12.al.us\0"
+"kyotamba.kyoto.jp\0"
+"k12.mi.us\0"
+"onna.okinawa.jp\0"
+"stryn.no\0"
+"pescara.it\0edu.nr\0"
+"county.museum\0"
+"\xe5\x95\x86\xe6\xa0\x87\0"
+"tm.fr\0komae.tokyo.jp\0"
+"msk.ru\0"
+"bialowieza.pl\0"
+"haram.no\0\xd1\x81\xd1\x80\xd0\xb1\0sells-for-u.com\0"
+"go.kr\0"
+"trapani.it\0takahama.fukui.jp\0nayoro.hokkaido.jp\0ibaraki.ibaraki.jp\0"
+"forde.no\0edu.om\0"
+"ao.it\0"
+"ah.no\0edu.pa\0"
+"trentino-suedtirol.it\0"
+"mesaverde.museum\0cc.ky.us\0"
+"taishin.fukushima.jp\0erimo.hokkaido.jp\0"
+"edu.pe\0"
+"como.it\0edu.pf\0"
"edu.ph\0"
-"sd.cn\0oxford.museum\0"
-"edu.pk\0"
+"yamada.fukuoka.jp\0"
+"edu.pk\0ga.us\0"
"edu.pl\0"
"edu.pn\0"
-"arao.kumamoto.jp\0"
-"edu.qa\0"
-"kr.it\0nakijin.okinawa.jp\0edu.pr\0"
-"edu.ps\0"
-"fjaler.no\0edu.pt\0"
-"gotdns.org\0"
-"itoigawa.niigata.jp\0oregontrail.museum\0kvafjord.no\0"
-"mt.us\0nd.us\0"
-"freight.aero\0ando.nara.jp\0edu.py\0"
-"ino.kochi.jp\0"
-"portlligat.museum\0"
-"web.lk\0"
-"nom.km\0music.museum\0"
-"ishikawa.okinawa.jp\0"
-"chtr.k12.ma.us\0"
-"andriabarlettatrani.it\0"
-"nationalheritage.museum\0giehtavuoatna.no\0"
-"im.it\0"
-"hareid.no\0"
-"kids.museum\0"
-"kanmaki.nara.jp\0tra.kp\0"
-"numata.gunma.jp\0"
-"info.ec\0hizen.saga.jp\0labour.museum\0honefoss.no\0"
-"misato.wakayama.jp\0edu.sa\0lib.sd.us\0"
-"arts.co\0shima.mie.jp\0edu.sb\0"
-"edu.rs\0edu.sc\0"
-"edu.sd\0"
-"tama.tokyo.jp\0t\xc3\xb8nsberg.no\0edu.ru\0"
-"edu.rw\0edu.sg\0"
-"komae.tokyo.jp\0"
-"mazowsze.pl\0"
-"shintoku.hokkaido.jp\0lans.museum\0edu.sl\0"
-"nom.mg\0l\xc3\xa4ns.museum\0web.nf\0skjak.no\0\xe7\xb5\x84\xe7\xb9\x94.tw\0"
-"info.bb\0chel.ru\0edu.sn\0"
-"trd.br\0info.at\0"
-"info.au\0"
-"chikuzen.fukuoka.jp\0asahi.toyama.jp\0"
+"production.aero\0sk\xc3\xa1nit.no\0"
+"lucania.it\0"
+"sandnes.no\0edu.qa\0"
+"edu.pr\0garden\0"
+"nt.au\0edu.ps\0"
+"mar.it\0edu.pt\0"
+"fukagawa.hokkaido.jp\0toyosato.shiga.jp\0"
+"tm.hu\0edu.py\0"
+"friulivenezia-giulia.it\0hiphop\0"
+"coastaldefence.museum\0"
+"chiyoda.tokyo.jp\0mragowo.pl\0"
+"nt.ca\0"
+"valle-daosta.it\0"
+"hinode.tokyo.jp\0"
+"lacaixa\0"
+"watches\0"
+"xxx\0"
+"field.museum\0missoula.museum\0d\xc3\xb8nna.no\0science\0hu.com\0"
+"tadaoka.osaka.jp\0"
+"hayakawa.yamanashi.jp\0"
+"dnsalias.org\0"
+"edu.sa\0"
+"edu.sb\0"
+"edu.rs\0edu.sc\0lib.id.us\0"
+"ogori.fukuoka.jp\0notogawa.shiga.jp\0edu.sd\0"
+"repbody.aero\0id.au\0edu.ru\0k12.nj.us\0"
+"loyalist.museum\0edu.rw\0edu.sg\0"
+"xyz\0"
+"moka.tochigi.jp\0dynathome.net\0"
+"kimino.wakayama.jp\0edu.sl\0nissan\0"
+"veterinaire.km\0"
+"kokubunji.tokyo.jp\0edu.sn\0"
+"os.hordaland.no\0"
+"tm.km\0artsandcrafts.museum\0is-a-musician.com\0"
+"*.kitakyushu.jp\0iitate.fukushima.jp\0"
"edu.st\0"
-"info.az\0tv.sd\0"
-"shimonoseki.yamaguchi.jp\0edu.sy\0"
-"edu.tj\0"
-"radoy.no\0"
-"sasaguri.fukuoka.jp\0nakano.nagano.jp\0ogimi.okinawa.jp\0computerhistory.museum\0ug.gov.pl\0edu.tm\0"
-"abira.hokkaido.jp\0"
-"edu.to\0"
+"av.it\0urayasu.chiba.jp\0edu.sv\0"
+"florida.museum\0ninja\0"
+"edu.sy\0"
+"nemuro.hokkaido.jp\0edu.tj\0"
+"s\xc3\xb8rum.no\0"
+"yawatahama.ehime.jp\0oyamazaki.kyoto.jp\0moroyama.saitama.jp\0"
+"edu.tm\0"
+"shinyoshitomi.fukuoka.jp\0\xd1\x80\xd1\x84\0"
+"fuel.aero\0hellas.museum\0go.pw\0edu.to\0"
"edu.ua\0"
-"lavagis.no\0cc.al.us\0"
-"kopervik.no\0edu.tt\0"
-"nishimera.miyazaki.jp\0kuban.ru\0"
-"g.se\0edu.tw\0"
-"lillehammer.no\0"
-"info.co\0"
-"achi.nagano.jp\0"
-"karasjok.no\0pa.gov.pl\0"
-"lib.mn.us\0"
-"osteroy.no\0"
-"naganohara.gunma.jp\0"
-"web.pk\0dp.ua\0"
+"edu.tr\0"
+"zlg.br\0edu.tt\0"
+"tm.mc\0edu.tw\0fitness\0s3-us-west-2.amazonaws.com\0"
+"iwaizumi.iwate.jp\0kitakata.miyazaki.jp\0"
+"hembygdsforbund.museum\0"
+"kumano.hiroshima.jp\0"
+"tm.mg\0sec.ps\0"
+"cremona.it\0"
+"railway.museum\0"
+"r\xc3\xa5""de.no\0is-a-lawyer.com\0"
+"nishiizu.shizuoka.jp\0wajiki.tokushima.jp\0"
"edu.vc\0"
-"minato.osaka.jp\0"
-"rotorcraft.aero\0uchihara.ibaraki.jp\0edu.ve\0"
-"nom.pa\0"
-"edu.uy\0"
-"nom.pe\0ternopil.ua\0"
-"h\xc3\xa6gebostad.no\0tv.tz\0"
-"iwade.wakayama.jp\0"
-"bn.it\0oyama.tochigi.jp\0edu.vn\0"
-"yukuhashi.fukuoka.jp\0"
-"rel.ht\0biei.hokkaido.jp\0cinema.museum\0yuzhno-sakhalinsk.ru\0"
-"nom.pl\0"
-"ichinomiya.chiba.jp\0s\xc3\xb8gne.no\0"
-"izumisano.osaka.jp\0"
-"rimini.it\0"
-"skjervoy.no\0"
-"anpachi.gifu.jp\0"
-"verdal.no\0sanok.pl\0"
-"matera.it\0"
-"nagatoro.saitama.jp\0edu.ws\0"
-"po.it\0"
-"takatori.nara.jp\0dyroy.no\0"
-"!mecon.ar\0"
-"walbrzych.pl\0"
-"yamashina.kyoto.jp\0sandoy.no\0is-a-geek.net\0"
-"kunisaki.oita.jp\0nom.re\0"
-"hazu.aichi.jp\0k12.mt.us\0k12.nd.us\0"
-"m.bg\0"
-"ulvik.no\0"
-"asahi.chiba.jp\0rankoshi.hokkaido.jp\0"
-"stockholm.museum\0troandin.no\0"
-"berlev\xc3\xa5g.no\0pomorze.pl\0pl.ua\0"
-"itoman.okinawa.jp\0"
-"kasuya.fukuoka.jp\0skjerv\xc3\xb8y.no\0"
-"okoppe.hokkaido.jp\0nom.ro\0"
-"caa.aero\0togane.chiba.jp\0"
-"polkowice.pl\0"
-"mosj\xc3\xb8""en.no\0"
-"web.tj\0"
-"iglesias-carbonia.it\0stj\xc3\xb8rdalshalsen.no\0"
-"ogori.fukuoka.jp\0"
-"north.museum\0lib.wy.us\0"
-"scrapper-site.net\0"
+"shimonoseki.yamaguchi.jp\0"
+"edu.ve\0"
+"tt.im\0edu.uy\0bingo\0"
+"ibestad.no\0"
+"komatsu.ishikawa.jp\0meiwa.mie.jp\0\xd8\xa7\xd9\x84\xd9\x8a\xd9\x85\xd9\x86\0"
+"cadaques.museum\0"
+"edu.vn\0"
+"cyber.museum\0"
+"ud.it\0aki.kochi.jp\0"
+"veterinaire.fr\0"
+"tm.no\0royrvik.no\0boats\0youtube\0"
+"toshima.tokyo.jp\0"
+"edu.vu\0"
+"hazu.aichi.jp\0yoka.hyogo.jp\0"
+"mo.us\0k12.az.us\0boldlygoingnowhere.org\0"
+"shimamaki.hokkaido.jp\0"
+"mizuho.tokyo.jp\0conf.lv\0go.th\0"
+"c.bg\0"
+"go.tj\0"
+"indiana.museum\0edu.ws\0"
+"kamifurano.hokkaido.jp\0ryugasaki.ibaraki.jp\0"
+"giske.no\0safe\0"
+"miyagi.jp\0"
+"matta-varjjat.no\0"
+"caa.aero\0firmdale\0"
+"ojiya.niigata.jp\0"
+"go.ug\0"
+"tm.pl\0"
+"go.tz\0"
+"sakegawa.yamagata.jp\0"
+"alvdal.no\0"
+"os.hedmark.no\0"
+"hizen.saga.jp\0"
+"pb.ao\0chicago.museum\0fuossko.no\0"
+"srv.br\0azurewebsites.net\0"
+"or.at\0"
+"br\xc3\xb8nn\xc3\xb8ysund.no\0"
+"or.bi\0"
+"higashimatsuyama.saitama.jp\0"
+"l\xc3\xa1hppi.no\0"
+"\xe5\x85\xac\xe5\x8f\xb8.cn\0koga.fukuoka.jp\0cern\0"
+"notodden.no\0"
+"katano.osaka.jp\0"
+"dinosaur.museum\0windmill.museum\0"
+"yonezawa.yamagata.jp\0"
+"id.ir\0kasahara.gifu.jp\0"
+"tm.ro\0"
+"sex.hu\0college\0"
+"or.ci\0starnberg.museum\0hm.no\0bloomberg\0"
+"cal.it\0rns.tn\0"
+"\xe5\x85\xac\xe5\x8f\xb8.hk\0tm.se\0"
+"web.co\0"
+"land\0"
+"saga.saga.jp\0"
+"or.cr\0"
+"navuotna.no\0"
+"onojo.fukuoka.jp\0"
+"global\0"
+"lib.va.us\0"
+"j.bg\0"
+"web.do\0"
+"kagoshima.jp\0misato.akita.jp\0"
+"webhop.info\0"
+"nagahama.shiga.jp\0"
+"bt.it\0taku.saga.jp\0"
+"kraanghke.no\0"
+"sakurai.nara.jp\0"
+"cc.mn.us\0"
+"culture.museum\0guernsey.museum\0nt.no\0"
+"tachiarai.fukuoka.jp\0"
+"plc.co.im\0historisch.museum\0"
+"aisho.shiga.jp\0"
+"coldwar.museum\0"
+"motobu.okinawa.jp\0ibaraki.osaka.jp\0"
+"news.hu\0sale\0"
+"id.lv\0"
+"anthro.museum\0"
+"sondrio.it\0"
+"id.ly\0lib.pa.us\0"
+"finearts.museum\0"
+"matsuno.ehime.jp\0yun\0"
+"t\xc3\xb8nsberg.no\0"
+"sciencecenter.museum\0baidar.no\0muosat.no\0"
+"lind\xc3\xa5s.no\0v\xc3\xa1rgg\xc3\xa1t.no\0kiev.ua\0"
+"scrapping.cc\0"
+"av.tr\0"
+"\xe0\xaa\xad\xe0\xaa\xbe\xe0\xaa\xb0\xe0\xaa\xa4\0"
+"kitagata.gifu.jp\0ota.tokyo.jp\0"
+"j\xc3\xb8rpeland.no\0"
+"krakow.pl\0"
+"zt.ua\0"
+"kirovograd.ua\0"
+"vb.it\0\xe0\xae\x87\xe0\xae\xb2\xe0\xae\x99\xe0\xaf\x8d\xe0\xae\x95\xe0\xaf\x88\0kicks-ass.net\0"
+"telefonica\0"
+"fundacio.museum\0"
+"tomika.gifu.jp\0"
+"bodo.no\0"
+"cuneo.it\0!city.nagoya.jp\0"
+"neues.museum\0bryansk.ru\0nm.us\0"
+"mielno.pl\0"
+"elburg.museum\0"
+"american.museum\0"
+"skanit.no\0"
+"web.id\0sakawa.kochi.jp\0"
+"q.bg\0"
+"or.id\0"
+"lavagis.no\0tydal.no\0"
+"hachijo.tokyo.jp\0"
+"gs.nl.no\0vestvagoy.no\0yekaterinburg.ru\0"
+"uchihara.ibaraki.jp\0"
+"trentino-aadige.it\0pesarourbino.it\0masaki.ehime.jp\0sukagawa.fukushima.jp\0"
+"c.la\0"
+"nt.ro\0homelinux.org\0"
+"pordenone.it\0chuo.fukuoka.jp\0okegawa.saitama.jp\0"
+"\xe3\x83\x9d\xe3\x82\xa4\xe3\x83\xb3\xe3\x83\x88\0"
+"voyage\0\xe5\xa4\xa7\xe6\x8b\xbf\0"
+"or.it\0isumi.chiba.jp\0takehara.hiroshima.jp\0"
+"cc.ne.us\0"
+"soja.okayama.jp\0naruto.tokushima.jp\0"
+"\xd0\xbf\xd1\x80.\xd1\x81\xd1\x80\xd0\xb1\0"
+"exchange\0"
+"kaho.fukuoka.jp\0tosa.kochi.jp\0"
+"asago.hyogo.jp\0kawatana.nagasaki.jp\0sex.pl\0kred\0"
+"or.jp\0zip\0"
+"sapo\0"
+"honjyo.akita.jp\0"
+"skaun.no\0knowsitall.info\0"
+"stuttgart.museum\0\xc3\xb8rsta.no\0k12.tn.us\0"
+"tcm.museum\0"
+"kani.gifu.jp\0"
"eu.com\0"
-"database.museum\0"
-"vaga.no\0"
-"birdart.museum\0"
-"gratangen.no\0"
-"kasukabe.saitama.jp\0"
-"dyndns-home.com\0"
-"seranishi.hiroshima.jp\0asker.no\0nom.tm\0"
-"le.it\0brussels.museum\0"
-"is-a-hunter.com\0"
-"babia-gora.pl\0ustka.pl\0"
-"travel\0"
-"chijiwa.nagasaki.jp\0web.ve\0"
-"gaivuotna.no\0kr.ua\0"
-"\xe5\x85\xac\xe5\x8f\xb8.cn\0"
-"yamada.iwate.jp\0evje-og-hornnes.no\0"
-,
-
-"kamijima.ehime.jp\0malbork.pl\0"
-"otsu.shiga.jp\0kosuge.yamanashi.jp\0"
-"kakuda.miyagi.jp\0"
-"est-a-la-masion.com\0"
-"\xe5\x85\xac\xe5\x8f\xb8.hk\0"
-"chigasaki.kanagawa.jp\0writesthisblog.com\0"
-"szkola.pl\0k12.wa.us\0"
-"ookuwa.nagano.jp\0lib.sc.us\0"
-"info\0ujitawara.kyoto.jp\0"
-"tranibarlettaandria.it\0"
-"aviation.museum\0"
-"nm.cn\0"
-"antiques.museum\0ddr.museum\0l\xc3\xb8""dingen.no\0"
-"shibata.miyagi.jp\0priv.pl\0"
-"bauern.museum\0"
-"cc.ct.us\0"
-"tokigawa.saitama.jp\0"
-"pruszkow.pl\0"
-"belluno.it\0chonan.chiba.jp\0"
-"from-ks.com\0"
-"kannami.shizuoka.jp\0"
-"tatebayashi.gunma.jp\0"
-"rel.pl\0k12.tn.us\0lib.al.us\0"
-"oshima.tokyo.jp\0"
-"cbg.ru\0"
-"epilepsy.museum\0"
-"spy.museum\0"
-"!city.sapporo.jp\0kanie.aichi.jp\0"
-"mulhouse.museum\0"
-"taki.mie.jp\0gangaviika.no\0"
-"v\xc3\xa5ler.\xc3\xb8stfold.no\0gok.pk\0!jet.uk\0"
-"\xd8\xa7\xd9\x8a\xd8\xb1\xd8\xa7\xd9\x86.ir\0sagae.yamagata.jp\0austin.museum\0"
-"manno.kagawa.jp\0lillesand.no\0"
-"kitaakita.akita.jp\0"
-"priv.no\0"
-"campidano-medio.it\0"
-"lapy.pl\0lezajsk.pl\0"
-"info.ve\0"
-"shakotan.hokkaido.jp\0"
-"takahama.fukui.jp\0kiryu.gunma.jp\0arna.no\0sunndal.no\0"
-"nagai.yamagata.jp\0"
-"tomsk.ru\0"
-"info.vn\0"
+"pp.az\0milan.it\0hikari.yamaguchi.jp\0buzz\0"
+"gs.hl.no\0enterprises\0"
+"miho.ibaraki.jp\0"
+"codespot.com\0"
+"milano.it\0"
+"perso.ht\0"
+"kunstsammlung.museum\0od.ua\0"
+"oyama.tochigi.jp\0or.kr\0"
+"estate.museum\0"
+"cc.gu.us\0"
+"web.lk\0"
+"balsan.it\0vi.it\0shikaoi.hokkaido.jp\0"
+"quebec.museum\0"
+"sarl\0"
+"moriguchi.osaka.jp\0"
+"leikanger.no\0safety\0\xe6\x96\xb0\xe9\x97\xbb\0"
+"hangout\0"
+"yamashina.kyoto.jp\0yoshida.saitama.jp\0"
+"research.aero\0"
+"x.bg\0from-ct.com\0"
+"kimobetsu.hokkaido.jp\0"
+"artdeco.museum\0levanger.no\0"
+"b\xc3\xb8mlo.no\0skanland.no\0"
+"pro.az\0"
+"or.na\0"
+"kanie.aichi.jp\0"
+"web.nf\0"
+"or.mu\0donetsk.ua\0"
+"russia.museum\0"
+"pro.br\0cr.it\0mizumaki.fukuoka.jp\0"
+"*.nom.br\0hara.nagano.jp\0inami.wakayama.jp\0"
+"uscountryestate.museum\0"
+"pi.it\0ujiie.tochigi.jp\0"
+"is-a-guru.com\0"
+"creation.museum\0"
+"higashishirakawa.gifu.jp\0\xe5\x85\xab\xe5\x8d\xa6\0"
+"sciencesnaturelles.museum\0"
+"bonn.museum\0sondre-land.no\0s\xc3\xb8r-aurdal.no\0"
+"ham-radio-op.net\0"
+"id.us\0"
+"oki.fukuoka.jp\0"
+"b\xc3\xa1hccavuotna.no\0"
+"katowice.pl\0"
+"\xe5\xa4\xa7\xe5\x88\x86.jp\0takayama.nagano.jp\0nishinoshima.shimane.jp\0nyc.mn\0"
+"folkebibl.no\0vladivostok.ru\0"
+"halden.no\0"
+"ninohe.iwate.jp\0"
+"\xe6\x95\x99\xe8\x82\xb2.hk\0"
+"ebiz.tw\0"
+"gujo.gifu.jp\0rebun.hokkaido.jp\0dentist\0"
+"lindesnes.no\0"
+"s\xc3\xb8ndre-land.no\0"
+"tamamura.gunma.jp\0akashi.hyogo.jp\0toda.saitama.jp\0"
+"pro.ec\0web.pk\0blackfriday\0"
+"zara\0"
+"for-the.biz\0"
+"vadso.no\0"
+"chocolate.museum\0c.se\0"
+"chikuhoku.nagano.jp\0"
+"or.pw\0"
+"e164.arpa\0tushu\0"
+"komono.mie.jp\0"
+"ok.us\0is-a-photographer.com\0"
+"nuernberg.museum\0is-slick.com\0"
+"\xe4\xba\xac\xe9\x83\xbd.jp\0tonosho.kagawa.jp\0"
+"k12.ec\0"
+"mikasa.hokkaido.jp\0"
+"tom.ru\0viva\0"
+"a\xc3\xa9roport.ci\0"
+"umb.it\0iwafune.tochigi.jp\0mazowsze.pl\0\xd1\x83\xd0\xba\xd1\x80\0"
+"bel.tr\0"
+"rakkestad.no\0"
+"bievat.no\0"
+"saxo\0"
+"fuefuki.yamanashi.jp\0"
+"research.museum\0"
+"ragusa.it\0nadex\0"
+"jar.ru\0"
+"busan.kr\0"
+"rovno.ua\0"
+"pilot.aero\0"
+"dell-ogliastra.it\0"
+"space.museum\0"
+"asakuchi.okayama.jp\0"
+"kafjord.no\0"
+"sakado.saitama.jp\0"
+"k12.ut.us\0"
+"matsushima.miyagi.jp\0"
+"or.th\0web.tj\0"
+"communication.museum\0naturalsciences.museum\0"
+"pro.ht\0rawa-maz.pl\0"
+"ashiya.hyogo.jp\0"
+"udmurtia.ru\0ck.ua\0"
+"eastcoast.museum\0gs.va.no\0motorcycles\0praxi\0"
+"web.tr\0"
+"cechire.com\0"
+"choshi.chiba.jp\0"
+"avellino.it\0kuchinotsu.nagasaki.jp\0"
+"or.ug\0"
+"or.tz\0"
+"ap-southeast-2.compute.amazonaws.com\0"
+"kusatsu.gunma.jp\0okawa.kochi.jp\0yamaga.kumamoto.jp\0hikone.shiga.jp\0"
+"selfip.info\0"
+"urausu.hokkaido.jp\0taki.mie.jp\0"
+"essex.museum\0"
+"group\0"
+"or.us\0web.ve\0"
+"tama.tokyo.jp\0"
+"l\xc3\xb8""dingen.no\0today\0likescandy.com\0"
+"iizuka.fukuoka.jp\0"
+"\xe4\xb8\xad\xe4\xbf\xa1\0"
+"takamori.kumamoto.jp\0"
+"kibichuo.okayama.jp\0"
+"kristiansund.no\0"
+"dallas.museum\0diamonds\0"
+"daegu.kr\0"
+"svalbard.no\0"
+"rocher\0"
+"chonan.chiba.jp\0"
+"evenassi.no\0"
+"cinema.museum\0bardu.no\0"
+"midori.chiba.jp\0starostwo.gov.pl\0"
+"balestrand.no\0"
+"homeunix.net\0"
+"forsand.no\0"
+"\xe3\x82\xb3\xe3\x83\xa0\0"
+"steiermark.museum\0"
+"kamiizumi.saitama.jp\0fukumitsu.toyama.jp\0"
+"from-ar.com\0"
+"gosen.niigata.jp\0"
+"s\xc3\xb8gne.no\0chernivtsi.ua\0vi.us\0"
+"takahama.aichi.jp\0kamiichi.toyama.jp\0"
+"memorial.museum\0k12.va.us\0"
+"hitachiota.ibaraki.jp\0taiwa.miyagi.jp\0"
+"odo.br\0minamiuonuma.niigata.jp\0\xe5\x85\xac\xe5\x8f\xb8\0"
+"shimada.shizuoka.jp\0"
+"mobi\0oyer.no\0cr.ua\0"
+"\xe6\xb2\x96\xe7\xb8\x84.jp\0"
+"pro.na\0b\xc3\xa1hcavuotna.no\0\xd7\xa7\xd7\x95\xd7\x9d\0"
+"ogano.saitama.jp\0"
+"\xe6\xb8\xb8\xe6\x88\x8f\0"
+"pro.mv\0"
+"environmentalconservation.museum\0"
+"takatsuki.shiga.jp\0"
+"www.ro\0"
+"furukawa.miyagi.jp\0"
+"balat.no\0cc.va.us\0"
+"h\xc3\xb8ylandet.no\0schule\0"
+"\xd8\xa7\xd9\x8a\xd8\xb1\xd8\xa7\xd9\x86.ir\0"
+"aostavalley.it\0ferrara.it\0kashiwazaki.niigata.jp\0"
+"consulting.aero\0n\xc3\xa5\xc3\xa5mesjevuemie.no\0"
+"k12.ct.us\0"
+"forli-cesena.it\0warszawa.pl\0"
+"media.aero\0moda\0"
+"kuki.saitama.jp\0"
+"b\xc3\xa1jddar.no\0vikna.no\0k12.pa.us\0"
+"pro.om\0boutique\0"
+"katsuragi.wakayama.jp\0"
+"esashi.hokkaido.jp\0urakawa.hokkaido.jp\0hamatama.saga.jp\0"
+"kg.kr\0"
+"appspot.com\0"
+"mashiko.tochigi.jp\0"
+"kuban.ru\0"
+"kawanehon.shizuoka.jp\0"
+"africa\0"
+"suldal.no\0pp.ru\0pp.se\0cc.pa.us\0"
+"modena.it\0"
+"krym.ua\0"
+"pro.pr\0"
+"goshiki.hyogo.jp\0"
+"sasebo.nagasaki.jp\0"
+"marine.ru\0"
+"nanporo.hokkaido.jp\0"
+"sa.gov.au\0frogn.no\0is-a-cpa.com\0"
+"vaksdal.no\0"
+"tomiya.miyagi.jp\0"
+"orskog.no\0"
+"\xe5\x9f\xbc\xe7\x8e\x89.jp\0"
+"missile.museum\0theater.museum\0"
+"nanto.toyama.jp\0jeonbuk.kr\0"
+"unj\xc3\xa1rga.no\0"
+"crotone.it\0"
+"2000.hu\0\xe7\x8f\xa0\xe5\xae\x9d\0"
+"pp.ua\0"
+"broker\0"
+"kui.hiroshima.jp\0"
+"aerobatic.aero\0x.se\0lugansk.ua\0"
+"perso.sn\0"
+"palace.museum\0hob\xc3\xb8l.no\0plo.ps\0"
"agriculture.museum\0"
-"jeonbuk.kr\0"
-"realestate.pl\0from-md.com\0"
-"ca.it\0"
-"plantation.museum\0"
-"pavia.it\0"
-"jeonnam.kr\0"
-"jogasz.hu\0klodzko.pl\0kostroma.ru\0"
-"ltd.co.im\0"
-"koshigaya.saitama.jp\0dyndns-remote.com\0"
-"coop\0arts.ro\0"
-"hyogo.jp\0priv.me\0"
-"stalbans.museum\0"
-"pr.it\0test.tj\0"
-"info.tn\0"
-"kouzushima.tokyo.jp\0pacific.museum\0"
-"gs.tm.no\0"
-"sd.us\0k12.ne.us\0"
-"p.bg\0"
-"info.tt\0"
-"khmelnitskiy.ua\0"
-"decorativearts.museum\0alesund.no\0"
-"ginowan.okinawa.jp\0info.tz\0"
-"mining.museum\0"
-"\xc3\xb8vre-eiker.no\0"
-"gonohe.aomori.jp\0"
-"aurskog-holand.no\0"
-"kagamiishi.fukushima.jp\0m\xc3\xa1latvuopmi.no\0"
-"podlasie.pl\0"
-"malselv.no\0"
-"odawara.kanagawa.jp\0"
-"rygge.no\0"
-"arida.wakayama.jp\0"
+"nozawaonsen.nagano.jp\0mitsuke.niigata.jp\0parliament.nz\0"
+"hattfjelldal.no\0"
+"jeonnam.kr\0mielec.pl\0"
+"wallonie.museum\0"
+"shimabara.nagasaki.jp\0"
+"higashimurayama.tokyo.jp\0"
+"k12.pr.us\0works\0"
+"sado.niigata.jp\0world\0"
+"eid.no\0"
+"nishiwaki.hyogo.jp\0minamisanriku.miyagi.jp\0perso.tn\0"
+"hanamigawa.chiba.jp\0"
+"mikawa.yamagata.jp\0"
+"odesa.ua\0"
+"obuse.nagano.jp\0"
+"from-md.com\0"
+"en.it\0koga.ibaraki.jp\0"
+"lincoln.museum\0aure.no\0gildeskal.no\0belgorod.ru\0"
+"pro.tt\0"
+"sibenik.museum\0"
+"re.it\0"
+"storage\0"
+"kinokawa.wakayama.jp\0"
+"sci.eg\0"
+"manchester.museum\0"
+"rs.ba\0"
+"4.bg\0"
+"k12.tr\0"
+"minamioguni.kumamoto.jp\0"
+"pro.vn\0chat\0dyndns.tv\0"
+"dp.ua\0"
+"nom.ad\0"
+"nom.ag\0fed.us\0"
+"kanna.gunma.jp\0inabe.mie.jp\0izumi.osaka.jp\0re.kr\0"
+"dielddanuorri.no\0"
+"le.it\0"
+"firm.ht\0"
+"modalen.no\0"
+"hitachiomiya.ibaraki.jp\0taishi.osaka.jp\0"
+"kin.okinawa.jp\0"
+"windows\0"
+"sc.cn\0"
+"k12.vi\0"
+"qld.gov.au\0lib.al.us\0"
+"firm.in\0yashiro.hyogo.jp\0"
+"manno.kagawa.jp\0"
+"\xe9\xa4\x90\xe5\x8e\x85\0"
+"kuroiso.tochigi.jp\0"
+"abogado\0"
+"okinawa\0kicks-ass.org\0"
+"ford\0"
+"bellevue.museum\0"
+"shizuoka.jp\0"
+"misaki.osaka.jp\0"
+"fe.it\0karuizawa.nagano.jp\0"
+"wa.edu.au\0nom.co\0dyndns.ws\0"
+"miyako.fukuoka.jp\0earth\0"
+"film.hu\0"
+"takahashi.okayama.jp\0"
+"suita.osaka.jp\0"
+"\xe5\xb2\xa1\xe5\xb1\xb1.jp\0toyota.yamaguchi.jp\0"
+"firm.co\0"
+"xz.cn\0sakae.nagano.jp\0"
+"fareast.ru\0is-a-soxfan.org\0"
+"la-spezia.it\0tempio-olbia.it\0"
+"radoy.no\0"
+"shimofusa.chiba.jp\0"
+"issmarterthanyou.com\0"
+"okuma.fukushima.jp\0"
+"is-an-entertainer.com\0"
+"ustka.pl\0"
+"nexus\0"
+"is-into-anime.com\0"
+"kadogawa.miyazaki.jp\0"
+"gc.ca\0mj\xc3\xb8ndalen.no\0holmestrand.no\0divttasvuotna.no\0"
+"art.br\0puglia.it\0maniwa.okayama.jp\0"
+"workinggroup.aero\0"
+"yoshimi.saitama.jp\0"
+"channel\0"
+"ac.ae\0"
+"nom.es\0"
+"storfjord.no\0"
+"owariasahi.aichi.jp\0hotmail\0"
+"astronomy.museum\0"
+"losangeles.museum\0"
+"trentino-sud-tirol.it\0"
+"ac.at\0"
+"ac.be\0crafts.museum\0"
+"nom.fr\0rishirifuji.hokkaido.jp\0kamikawa.saitama.jp\0"
+"kouhoku.saga.jp\0akiruno.tokyo.jp\0"
+"art.do\0pubol.museum\0"
+"not.br\0vallee-aoste.it\0"
+"hanggliding.aero\0"
+"ravenna.it\0"
+"katsuyama.fukui.jp\0kitahata.saga.jp\0"
+"builders\0"
+"art.dz\0"
+"ac.ci\0"
+"choyo.kumamoto.jp\0"
+"ac.cn\0kawajima.saitama.jp\0"
+"shimoichi.nara.jp\0global.ssl.fastly.net\0"
+"rl.no\0"
+"ac.cr\0za.bz\0"
+"tobe.ehime.jp\0"
+"scor\0"
+"leasing.aero\0presse.km\0"
+"scot\0"
+"makurazaki.kagoshima.jp\0tome.miyagi.jp\0"
+"andriatranibarletta.it\0"
+"takarazuka.hyogo.jp\0"
+"air.museum\0"
+"kanra.gunma.jp\0"
+"sumoto.kumamoto.jp\0"
+"ambulance.museum\0"
+"motorcycle.museum\0isteingeek.de\0"
+"sc.kr\0"
+"journal.aero\0"
+"wiki.br\0mc.it\0kusu.oita.jp\0"
+"cloudcontrolapp.com\0"
+"inami.toyama.jp\0"
+"presse.ml\0"
+"broke-it.net\0"
+"assn.lk\0montreal.museum\0"
+"egyptian.museum\0"
+"legal\0"
+"nom.km\0its.me\0"
+"art.ht\0"
+"kotoura.tottori.jp\0"
+"lutsk.ua\0"
+"chino.nagano.jp\0"
+"mitou.yamaguchi.jp\0"
+"ujitawara.kyoto.jp\0yomitan.okinawa.jp\0"
+"rieti.it\0sera.hiroshima.jp\0joetsu.niigata.jp\0"
+"unjarga.no\0"
+"ac.gn\0watch\0"
+"nishihara.okinawa.jp\0*.platform.sh\0"
+"beauxarts.museum\0"
+"kviteseid.no\0rissa.no\0"
+"toei.aichi.jp\0"
+"nom.mg\0"
+"piedmont.it\0"
+"kongsberg.no\0"
+"kunstunddesign.museum\0flakstad.no\0rennebu.no\0"
+"campobasso.it\0nowaruda.pl\0gdansk.pl\0"
+"lib.hi.us\0"
+"events\0"
+"ac.id\0"
+"touch.museum\0narviika.no\0"
+"kamitsue.oita.jp\0"
+"gon.pk\0"
+"ac.im\0"
+"ac.in\0"
+"glass\0"
+"ac.ir\0"
+"firm.ve\0"
+"murakami.niigata.jp\0"
+"furano.hokkaido.jp\0"
+"melhus.no\0"
+"ha.cn\0andria-trani-barletta.it\0computer\0"
+"gives\0"
+"saku.nagano.jp\0"
+"sx.cn\0ac.jp\0"
+"coloradoplateau.museum\0livinghistory.museum\0is-a-candidate.org\0"
+"flog.br\0"
+"rsvp\0"
+"nom.pa\0"
+"nom.pe\0"
+"sweden.museum\0namsos.no\0"
+"tanabe.wakayama.jp\0"
+"beiarn.no\0"
+"\xe7\xa5\x9e\xe5\xa5\x88\xe5\xb7\x9d.jp\0handa.aichi.jp\0edogawa.tokyo.jp\0nom.pl\0"
+"snoasa.no\0"
+"ac.kr\0abb\0"
+"tokigawa.saitama.jp\0"
+"surgery\0"
+"nakanojo.gunma.jp\0takino.hyogo.jp\0"
+"construction\0"
+"tinn.no\0"
+"ta.it\0\xe6\x97\xb6\xe5\xb0\x9a\0"
+"kitadaito.okinawa.jp\0"
+"ac.ma\0"
+"vlog.br\0"
+"kirkenes.no\0"
+"urbino-pesaro.it\0town\0"
+"ac.me\0solutions\0"
+"gouv.fr\0novara.it\0"
+"gs.jan-mayen.no\0"
+"mat.br\0"
+"nom.re\0"
+"filatelia.museum\0"
+"aco\0"
+"pistoia.it\0"
+"versailles.museum\0"
+"community.museum\0rennes\xc3\xb8y.no\0nom.ro\0"
+"agr.br\0chikugo.fukuoka.jp\0"
+"ac.mu\0stavern.no\0homeunix.org\0"
+"ac.mw\0"
+"mutsuzawa.chiba.jp\0"
+"virtual.museum\0"
+"intl.tn\0art.pl\0"
+"dnepropetrovsk.ua\0"
+"ppg.br\0"
+"firm.ro\0"
+"tas.au\0kautokeino.no\0"
+"na.it\0"
+"kvanangen.no\0pub.sa\0sc.ug\0"
+"ads\0"
+"gx.cn\0sc.tz\0"
+"gouv.ht\0"
+"somna.no\0fl.us\0toys\0"
+"kutchan.hokkaido.jp\0ac.nz\0"
+"iveland.no\0nordkapp.no\0"
+"rovigo.it\0"
+"\xc3\xa5""fjord.no\0sc.us\0"
+"veneto.it\0report\0"
+"nalchik.ru\0lib.ok.us\0"
+"iwaki.fukushima.jp\0yatsuka.shimane.jp\0"
+"lindas.no\0tvedestrand.no\0ac.pa\0nom.tm\0k12.sc.us\0omega\0"
+"mjondalen.no\0"
+"obihiro.hokkaido.jp\0cri.nz\0"
+"matsumoto.kagoshima.jp\0"
+"state.museum\0fl\xc3\xa5.no\0rauma.no\0vennesla.no\0tires\0"
+"afl\0"
+"gouv.bj\0"
+"ac.pr\0"
+"usuki.oita.jp\0"
+"oregon.museum\0"
+"matsusaka.mie.jp\0tochio.niigata.jp\0lebork.pl\0"
+"stat.no\0"
+"balsfjord.no\0karlsoy.no\0"
+"mugi.tokushima.jp\0art.sn\0"
+"freight.aero\0gouv.ci\0"
+"coach\0"
+"marche.it\0nishiawakura.okayama.jp\0"
+"kids.us\0"
+"shimonita.gunma.jp\0kitagawa.miyazaki.jp\0"
+"tv.bb\0firm.nf\0"
+"udine.it\0"
+"nagasaki.jp\0"
"dni.us\0"
-"info.ro\0codespot.com\0"
-"ca.na\0kv\xc3\xa6nangen.no\0"
-"ome.tokyo.jp\0"
-"atsugi.kanagawa.jp\0"
-"info.sd\0"
-"egyptian.museum\0cc.ia.us\0"
-"suzaka.nagano.jp\0test.ru\0"
-"kumejima.okinawa.jp\0\xe0\xa8\xad\xe0\xa8\xbe\xe0\xa8\xb0\xe0\xa8\xa4\0groks-this.info\0"
-"public.museum\0\xe0\xb0\xad\xe0\xb0\xbe\xe0\xb0\xb0\xe0\xb0\xa4\xe0\xb1\x8d\0"
-"ono.hyogo.jp\0"
-"arts.nf\0"
-"iwama.ibaraki.jp\0kamimine.saga.jp\0"
-"nj.us\0"
-"mantova.it\0"
-"padova.it\0"
-"samnanger.no\0"
-"yuki.ibaraki.jp\0higashitsuno.kochi.jp\0sciencesnaturelles.museum\0"
-"miho.ibaraki.jp\0"
-"hemnes.no\0"
-"yosemite.museum\0"
-"tochio.niigata.jp\0whaling.museum\0is-an-accountant.com\0"
-"info.pk\0"
-"soja.okayama.jp\0voagat.no\0info.pl\0cc.fl.us\0"
-"sekikawa.niigata.jp\0"
-"is.it\0photography.museum\0"
-"info.pr\0"
-"aizubange.fukushima.jp\0jinsekikogen.hiroshima.jp\0rissa.no\0"
-"napoli.it\0glas.museum\0"
-"\xe7\xb5\x84\xe7\xb9\x94.hk\0rns.tn\0"
-"k12.wv.us\0is-a-candidate.org\0"
-"ushiku.ibaraki.jp\0"
-"production.aero\0"
-"fukagawa.hokkaido.jp\0philately.museum\0"
-"miyake.nara.jp\0"
-"akune.kagoshima.jp\0"
-"info.na\0"
-"fujikawaguchiko.yamanashi.jp\0from-il.com\0"
-"ozu.kumamoto.jp\0"
-"exchange.aero\0gmina.pl\0"
-"info.mv\0info.nf\0"
-"kosai.shizuoka.jp\0steigen.no\0homeip.net\0"
-"chuo.chiba.jp\0"
+"luroy.no\0"
+"tv.bo\0education.museum\0cooking\0"
+"kagawa.jp\0"
+"ac.rs\0"
+"tv.br\0aq.it\0ba.it\0"
+"usgarden.museum\0ac.ru\0ac.se\0"
+"ac.rw\0aig\0"
+"panama.museum\0bahcavuotna.no\0stord.no\0"
+"shibuya.tokyo.jp\0"
+"rehab\0"
+"consultant.aero\0harstad.no\0"
+"spjelkavik.no\0moareke.no\0"
+"ono.fukui.jp\0"
+"ac.th\0"
+"imageandsound.museum\0"
+"ac.sz\0ac.tj\0"
+"malbork.pl\0"
+"usa.oita.jp\0"
+"bahn.museum\0educational.museum\0"
+"stjordalshalsen.no\0"
+"kozagawa.wakayama.jp\0"
+"uozu.toyama.jp\0"
+"ac.ug\0s3-us-west-1.amazonaws.com\0"
+"education\0"
+"ac.tz\0"
+"pharmaciens.km\0ac.uk\0"
+"hachinohe.aomori.jp\0"
+"of.by\0ha.no\0"
+"qsl.br\0to.it\0okayama.jp\0higashi.okinawa.jp\0"
+"online\0"
+"maebashi.gunma.jp\0"
+"valleaosta.it\0kushimoto.wakayama.jp\0"
+"pomorze.pl\0"
+"salat.no\0"
+"surrey.museum\0"
+"ichinoseki.iwate.jp\0seat\0"
+"tokai.aichi.jp\0abiko.chiba.jp\0numata.gunma.jp\0for-better.biz\0"
+"tas.edu.au\0nationalheritage.museum\0"
+"ac.vn\0sopot.pl\0"
"tambov.ru\0"
-"j\xc3\xb8lster.no\0"
-"omi.niigata.jp\0"
-"mil\0lib.ak.us\0"
-"muika.niigata.jp\0info.nr\0"
-"berlevag.no\0"
-"indiana.museum\0"
-"jewish.museum\0"
-"dr\xc3\xb8""bak.no\0"
-"government.aero\0"
-"ltd.gi\0"
-"cc.ar.us\0"
-"gon.pk\0"
-"marumori.miyagi.jp\0"
-"gateway.museum\0"
-"fujimino.saitama.jp\0m.se\0"
-"takanezawa.tochigi.jp\0vads\xc3\xb8.no\0dontexist.org\0"
-"info.la\0belau.pw\0"
-"ibaraki.ibaraki.jp\0po.gov.pl\0"
-"even\xc3\xa1\xc5\xa1\xc5\xa1i.no\0loab\xc3\xa1t.no\0"
-"coal.museum\0"
-"karikatur.museum\0"
-"miyazaki.miyazaki.jp\0ketrzyn.pl\0k12.sd.us\0"
-"fukuyama.hiroshima.jp\0lib.oh.us\0"
-"hamaroy.no\0"
-"nishinoshima.shimane.jp\0samara.ru\0"
-"ikeda.fukui.jp\0"
-"mel\xc3\xb8y.no\0chukotka.ru\0"
-"port.fr\0"
-"us.org\0"
-"kumagaya.saitama.jp\0"
-"*.sapporo.jp\0"
-"westfalen.museum\0"
-"yahiko.niigata.jp\0"
-"ichinomiya.aichi.jp\0naruto.tokushima.jp\0"
-"tmp.br\0bt.it\0"
-"donna.no\0khabarovsk.ru\0"
-"saikai.nagasaki.jp\0"
-"ato.br\0sex.hu\0daigo.ibaraki.jp\0"
-"izumiotsu.osaka.jp\0"
-"\xd8\xa7\xd9\x84\xd9\x85\xd8\xba\xd8\xb1\xd8\xa8\0"
-"davvesiida.no\0"
-"gyeonggi.kr\0"
-"coloradoplateau.museum\0olecko.pl\0"
-"ha.cn\0"
-"forlicesena.it\0"
-"taka.hyogo.jp\0kita.kyoto.jp\0"
-"cc.mn.us\0"
-"mutsu.aomori.jp\0"
-"shimotsuma.ibaraki.jp\0rybnik.pl\0"
-"\xd8\xb3\xd9\x88\xd8\xb1\xd9\x8a\xd8\xa7\0"
-"livorno.it\0pu.it\0verona.it\0"
-"\xd8\xb3\xd9\x88\xd8\xb1\xd9\x8a\xd8\xa9\0"
-"sveio.no\0"
-"kurate.fukuoka.jp\0"
-"natuurwetenschappen.museum\0"
-"ca.us\0"
-"bryansk.ru\0"
-"s.bg\0seoul.kr\0"
-"watarai.mie.jp\0muenchen.museum\0"
-"iyo.ehime.jp\0"
-"starnberg.museum\0tydal.no\0"
-"info.ki\0"
-"fet.no\0finn\xc3\xb8y.no\0"
-"kagoshima.kagoshima.jp\0"
-"naturalsciences.museum\0"
-"artsandcrafts.museum\0"
-"sakurai.nara.jp\0"
-"carrara-massa.it\0"
-"shirakawa.fukushima.jp\0"
-"mitsuke.niigata.jp\0museet.museum\0is-a-photographer.com\0"
-"shioya.tochigi.jp\0"
-"randaberg.no\0"
-"ojiya.niigata.jp\0"
-"ltd.lk\0pr.us\0k12.ks.us\0"
-"osaka.jp\0lib.hi.us\0"
-"horonobe.hokkaido.jp\0"
-"kragero.no\0"
-"kawaguchi.saitama.jp\0"
-"hara.nagano.jp\0itabashi.tokyo.jp\0"
-"fl\xc3\xa5.no\0"
-"otsuki.kochi.jp\0leangaviika.no\0pors\xc3\xa1\xc5\x8bgu.no\0"
-"savannahga.museum\0"
-"volkenkunde.museum\0"
-"cc.id.us\0"
-"kashima.kumamoto.jp\0swinoujscie.pl\0"
-"prof.pr\0"
-"ab.ca\0is-a-democrat.com\0"
-"press.museum\0"
-"uk.com\0"
-"bajddar.no\0"
-"medecin.km\0"
-"iki.nagasaki.jp\0shirahama.wakayama.jp\0"
-"ip6.arpa\0nm.us\0"
-"lib.fl.us\0"
-"yanagawa.fukuoka.jp\0donetsk.ua\0"
-"s\xc3\xb8r-aurdal.no\0"
-"qh.cn\0mill.museum\0"
-"naka.ibaraki.jp\0"
-"kamitonda.wakayama.jp\0"
-"mosreg.ru\0"
-"gorizia.it\0kushima.miyazaki.jp\0berlin.museum\0"
-"ns.ca\0shiga.jp\0"
-"cheltenham.museum\0"
-"kawachinagano.osaka.jp\0fujieda.shizuoka.jp\0nakhodka.ru\0k12.ga.us\0"
-"magnitka.ru\0"
-"uki.kumamoto.jp\0wroc.pl\0"
-"stange.no\0stuff-4-sale.org\0"
-"tsuruga.fukui.jp\0nagasu.kumamoto.jp\0"
-"biella.it\0buyshouses.net\0is-a-guru.com\0"
-"vevelstad.no\0"
-"nyuzen.toyama.jp\0"
-"bjugn.no\0"
-"motosu.gifu.jp\0"
-"usdecorativearts.museum\0"
-"anthro.museum\0"
-"sex.pl\0"
-"americanantiques.museum\0rennes\xc3\xb8y.no\0"
-"arezzo.it\0hakuba.nagano.jp\0"
-"jamison.museum\0is-a-painter.com\0mypets.ws\0"
-"ln.cn\0"
-"hiji.oita.jp\0"
-"air.museum\0"
-"palana.ru\0"
-"toki.gifu.jp\0sakata.yamagata.jp\0p.se\0"
-"vb.it\0funahashi.toyama.jp\0"
-"hino.tottori.jp\0"
-"logistics.aero\0ohda.shimane.jp\0"
+"redstone\0"
+"mx.na\0est-le-patron.com\0"
"amli.no\0"
-"yatsuka.shimane.jp\0"
-"chichibu.saitama.jp\0"
-"sciences.museum\0"
-"wa.edu.au\0"
-"ouchi.saga.jp\0"
-"pittsburgh.museum\0gloppen.no\0"
-"kamigori.hyogo.jp\0"
-"valer.ostfold.no\0is-a-soxfan.org\0"
-"net\0halden.no\0dyndns-work.com\0"
-"oita.jp\0hinode.tokyo.jp\0sa.com\0"
-"leikanger.no\0"
-"stord.no\0"
-"sarufutsu.hokkaido.jp\0alstahaug.no\0k12.al.us\0"
-"shinanomachi.nagano.jp\0edogawa.tokyo.jp\0k12.pr.us\0"
-"hakodate.hokkaido.jp\0"
-"tobishima.aichi.jp\0"
-"ogasawara.tokyo.jp\0stjordal.no\0"
-"aarborte.no\0"
-"xj.cn\0"
-"kyotanabe.kyoto.jp\0"
-"williamsburg.museum\0"
-"nabari.mie.jp\0namerikawa.toyama.jp\0rana.no\0"
-"gwangju.kr\0"
-"agdenes.no\0"
-"hitachiota.ibaraki.jp\0ha.no\0tynset.no\0"
-"k12.ok.us\0"
-"v.bg\0eco.br\0algard.no\0"
+"higashiosaka.osaka.jp\0auto.pl\0"
+"omitama.ibaraki.jp\0"
+"dynalias.com\0"
+"no.it\0"
+"bir.ru\0"
+"haibara.shizuoka.jp\0"
+"suwa.nagano.jp\0"
+"recreation.aero\0jewishart.museum\0rade.no\0"
+"shingu.fukuoka.jp\0warmia.pl\0"
+"flesberg.no\0hemne.no\0"
+"minamidaito.okinawa.jp\0"
+"station.museum\0bo.telemark.no\0"
+"kitanakagusuku.okinawa.jp\0"
+"nesodden.no\0vologda.ru\0casino\0"
+"itoigawa.niigata.jp\0"
+"misawa.aomori.jp\0tsubata.ishikawa.jp\0maibara.shiga.jp\0"
+"exchange.aero\0"
+"tv.im\0seek\0"
+"toon.ehime.jp\0"
+"kyiv.ua\0"
+"tirol\0"
+"tv.it\0"
+"phoenix.museum\0"
+"stjordal.no\0"
+"yonabaru.okinawa.jp\0"
+"akabira.hokkaido.jp\0aguni.okinawa.jp\0"
+"yugawara.kanagawa.jp\0"
+"kiyose.tokyo.jp\0"
+"powiat.pl\0lomza.pl\0"
+"lans.museum\0mex.com\0"
+"gifu.gifu.jp\0"
+"sel.no\0lib.ut.us\0"
+"e.bg\0film.museum\0"
+"fortmissoula.museum\0"
+"itano.tokushima.jp\0yamanobe.yamagata.jp\0"
+"honjo.akita.jp\0ginan.gifu.jp\0"
+"r\xc3\xa1hkker\xc3\xa1vju.no\0"
+"bar\0"
+"presse.ci\0bbc\0"
+"bo.it\0"
+"minakami.gunma.jp\0"
+"hapmir.no\0cc.mi.us\0is-a-teacher.com\0"
+"kasugai.aichi.jp\0"
+"jewelry.museum\0gulen.no\0dvag\0"
+"engerdal.no\0"
+"achi.nagano.jp\0serveftp.net\0"
+"khv.ru\0"
+"morotsuka.miyazaki.jp\0tarama.okinawa.jp\0ruhr\0"
+"laakesvuemie.no\0is-a-caterer.com\0"
+"onga.fukuoka.jp\0"
"khmelnytskyi.ua\0"
-"nagano.jp\0"
-"jus.br\0"
-"tanohata.iwate.jp\0"
-"hakusan.ishikawa.jp\0"
-"detroit.museum\0"
-"szex.hu\0"
-"asahikawa.hokkaido.jp\0nov.ru\0"
-"fhsk.se\0"
-"voronezh.ru\0"
-"date.fukushima.jp\0"
-"textile.museum\0"
-"toyosato.shiga.jp\0"
-"mytis.ru\0"
-"valley.museum\0"
-"mazury.pl\0"
-"imari.saga.jp\0"
-"insurance.aero\0tomiya.miyagi.jp\0"
-"siena.it\0"
-"novara.it\0"
-"ichihara.chiba.jp\0"
-"tochigi.jp\0"
-"b\xc3\xa5tsfjord.no\0doesntexist.org\0"
-"is-a-personaltrainer.com\0"
-"uryu.hokkaido.jp\0interactive.museum\0"
-"!songfest.om\0"
-"mihara.hiroshima.jp\0"
-"field.museum\0adygeya.ru\0"
-"yasuda.kochi.jp\0"
-"yokote.akita.jp\0dyndns-mail.com\0"
-"salzburg.museum\0"
-"is-very-bad.org\0worse-than.tv\0"
-"sn\xc3\xa5""ase.no\0"
-"indian.museum\0"
-"anan.nagano.jp\0vagan.no\0"
+"messina.it\0bcn\0"
+"fhs.no\0"
+"berlin.museum\0alipay\0infiniti\0"
+"adult.ht\0"
+"tv.na\0name\0"
+"vao.it\0zachpomor.pl\0"
+"\xc3\xa5rdal.no\0herokuapp.com\0"
+"karatsu.saga.jp\0gov.nc.tr\0"
+"sydney\0uy.com\0"
+"imperia.it\0turen.tn\0"
+"time.museum\0"
+"\xd9\x85\xd9\x88\xd8\xa8\xd8\xa7\xd9\x8a\xd9\x84\xd9\x8a\0"
+"lighting\0"
+"matsubara.osaka.jp\0rnu.tn\0"
+"seaport.museum\0"
+"assassination.museum\0"
+"ikeda.fukui.jp\0iinet\0"
+"doosan\0"
+"it.ao\0idv.hk\0e12.ve\0"
+"shari.hokkaido.jp\0nahari.kochi.jp\0"
+"trader.aero\0nh.us\0"
+"takatori.nara.jp\0"
+"columbia.museum\0"
+"city\0is-a-player.com\0"
+"presse.fr\0shimoji.okinawa.jp\0numazu.shizuoka.jp\0upow.gov.pl\0"
+"arna.no\0"
+"muroto.kochi.jp\0"
+"l.bg\0"
+"kamogawa.chiba.jp\0"
+"mosvik.no\0"
+"frankfurt.museum\0mo-i-rana.no\0"
+"nichinan.miyazaki.jp\0"
+"kitagawa.kochi.jp\0"
+"kr\xc3\xb8""dsherad.no\0skierv\xc3\xa1.no\0us.com\0from-oh.com\0"
+"arao.kumamoto.jp\0"
+"ryazan.ru\0"
+"hurum.no\0"
+"kitashiobara.fukushima.jp\0ichinohe.iwate.jp\0"
+"louvre.museum\0moma.museum\0of.no\0"
+"\xe4\xb8\x89\xe9\x87\x8d.jp\0shingu.wakayama.jp\0"
+"cupcake.is\0"
+"limanowa.pl\0zuerich\0"
+"decorativearts.museum\0"
+"gouv.rw\0lib.ct.us\0"
+"andria-barletta-trani.it\0market\0"
+"nomi.ishikawa.jp\0nakano.nagano.jp\0"
+"irish\0"
+"logistics.aero\0molde.no\0axa\0industries\0"
+"nagano.jp\0gouv.sn\0"
+"technology.museum\0"
+"press.museum\0s3-fips-us-gov-west-1.amazonaws.com\0"
+"munakata.fukuoka.jp\0"
+"rodoy.no\0"
+"bolt.hu\0"
+"flor\xc3\xb8.no\0khabarovsk.ru\0"
+"yachiyo.chiba.jp\0miyama.fukuoka.jp\0"
+"sanuki.kagawa.jp\0"
+"im.it\0"
+"bid\0"
+"kitaura.miyazaki.jp\0tv.sd\0"
+"shizukuishi.iwate.jp\0"
+"corsica\0"
+"pavia.it\0usui.fukuoka.jp\0"
+"chesapeakebay.museum\0bio\0"
+"atami.shizuoka.jp\0"
+"nanae.hokkaido.jp\0"
+"saitama.jp\0"
+"ggf.br\0"
+"s.bg\0"
+"shobara.hiroshima.jp\0himi.toyama.jp\0"
+"biz\0takko.aomori.jp\0"
+"guovdageaidnu.no\0"
+"shishikui.tokushima.jp\0"
+"massa-carrara.it\0shimokawa.hokkaido.jp\0"
+"erotika.hu\0oppeg\xc3\xa5rd.no\0"
+"sayo.hyogo.jp\0"
+"bentley\0"
+"eidfjord.no\0hamaroy.no\0"
+"bv.nl\0tv.tr\0"
+"smola.no\0"
+"ohira.tochigi.jp\0"
+"botanicgarden.museum\0"
+"ot.it\0pd.it\0"
+"halsa.no\0troms\xc3\xb8.no\0\xd2\x9b\xd0\xb0\xd0\xb7\0"
+"fr\xc3\xa6na.no\0"
+"niigata.jp\0takayama.gifu.jp\0koshimizu.hokkaido.jp\0tv.tz\0"
+"\xc3\xa5l.no\0"
+"solar\0"
+"belluno.it\0"
+"interactive.museum\0lib.co.us\0us-west-2.compute.amazonaws.com\0"
+"shikatsu.aichi.jp\0"
+"nobeoka.miyazaki.jp\0"
+"torsken.no\0"
+"\xe9\x95\xb7\xe9\x87\x8e.jp\0iki.nagasaki.jp\0"
+"express.aero\0"
+"nysa.pl\0"
+"miyawaka.fukuoka.jp\0gbiz\0"
+"catanzaro.it\0"
+"kiyosu.aichi.jp\0ikaruga.nara.jp\0"
+,
+
+"\xd0\xbe\xd0\xb1\xd1\x80.\xd1\x81\xd1\x80\xd0\xb1\0"
+"kitahiroshima.hokkaido.jp\0"
+"\xe9\x95\xb7\xe5\xb4\x8e.jp\0"
+"student.aero\0kopervik.no\0hof.no\0"
+"tula.ru\0"
+"izumizaki.fukushima.jp\0"
+"g\xc3\xa1ivuotna.no\0cc.tn.us\0"
+"fyresdal.no\0bms\0media\0ryukyu\0"
+"miyakonojo.miyazaki.jp\0"
+"mosj\xc3\xb8""en.no\0nv.us\0bmw\0navy\0"
+"iwakura.aichi.jp\0"
+"\xe4\xbd\x9b\xe5\xb1\xb1\0"
+"bnl\0"
+"lib.wa.us\0"
+"sabae.fukui.jp\0motosu.gifu.jp\0"
+"z.bg\0"
+"miharu.fukushima.jp\0"
+"higashiyama.kyoto.jp\0"
+"skierva.no\0"
+"laspezia.it\0"
+"if.ua\0"
+"himeshima.oita.jp\0"
+"imb.br\0caravan\0"
+"ct.it\0utashinai.hokkaido.jp\0"
+"bom\0"
+"pictet\0"
+"boo\0"
+"biella.it\0"
+"gouv.km\0risor.no\0"
+"bot\0"
+"\xc3\xa5s.no\0gotdns.org\0"
+"oskol.ru\0dyndns-blog.com\0"
+"gokase.miyazaki.jp\0tonaki.okinawa.jp\0"
+"salon\0"
+"averoy.no\0press\0"
+"halloffame.museum\0h\xc3\xa1""bmer.no\0"
+"*.sendai.jp\0"
+"oseto.nagasaki.jp\0"
+"usantiques.museum\0"
+"cab\0"
+"download\0"
+"nord-odal.no\0"
+"unsa.ba\0museet.museum\0galsa.no\0gb.com\0"
+"muko.kyoto.jp\0"
+"zero\0"
+"yasugi.shimane.jp\0cal\0"
+"torino.museum\0"
+"kami.kochi.jp\0gouv.ml\0"
+"idv.tw\0cba\0network\0"
+"yokawa.hyogo.jp\0car\0"
+"cat\0"
+"americana.museum\0e.se\0"
+"vr.it\0"
+"omi.niigata.jp\0"
+"togane.chiba.jp\0toyako.hokkaido.jp\0"
+"samara.ru\0"
+"nakagawa.fukuoka.jp\0urasoe.okinawa.jp\0cbn\0"
+"nordre-land.no\0"
+"aquila.it\0gonohe.aomori.jp\0fukusaki.hyogo.jp\0"
+"yodobashi\0"
+"rimini.it\0sakaiminato.tottori.jp\0"
+"plc.ly\0"
+"erotica.hu\0"
+"eurovision\0"
+"jefferson.museum\0gs.bu.no\0"
+"uki.kumamoto.jp\0augustow.pl\0"
+"gs.ol.no\0sexy\0"
+"v\xc3\xa5ler.\xc3\xb8stfold.no\0"
+"ayase.kanagawa.jp\0"
+"vard\xc3\xb8.no\0"
+"recipes\0"
+"varese.it\0asahi.mie.jp\0"
+"yuzhno-sakhalinsk.ru\0"
+"pr.it\0nango.fukushima.jp\0"
+"oharu.aichi.jp\0wakasa.fukui.jp\0"
+"avianca\0"
+"govt.nz\0"
+"ruovat.no\0"
+"kujukuri.chiba.jp\0"
+"weather\0"
+"ut.us\0"
+"odawara.kanagawa.jp\0"
+"shriram\0"
+"niiza.saitama.jp\0"
+"siljan.no\0"
+"ae.org\0"
+"latina.it\0iwamizawa.hokkaido.jp\0"
+"itami.hyogo.jp\0"
+"stange.no\0ceo\0"
+"gifu.jp\0yamato.fukushima.jp\0toyo.kochi.jp\0"
+"cfa\0"
+"kamakura.kanagawa.jp\0"
+"cfd\0"
+"otago.museum\0"
"baghdad.museum\0"
-"k\xc3\xa1r\xc3\xa1\xc5\xa1johka.no\0"
-"simple-url.com\0"
-"of.by\0"
-"shiogama.miyagi.jp\0"
-"huissier-justice.fr\0"
-"shika.ishikawa.jp\0"
-"from-fl.com\0"
-"drammen.no\0fam.pk\0"
-"contemporaryart.museum\0"
-"bio.br\0handa.aichi.jp\0ikeda.nagano.jp\0is-saved.org\0"
-"inzai.chiba.jp\0soka.saitama.jp\0"
-"s\xc3\xb8rfold.no\0sellsyourhome.org\0"
-"louvre.museum\0"
-"yanaizu.fukushima.jp\0"
-"kiyosu.aichi.jp\0"
-"ichikawa.chiba.jp\0kawanishi.hyogo.jp\0sakawa.kochi.jp\0"
-"konyvelo.hu\0lindesnes.no\0"
-"!promocion.ar\0lom.no\0"
-"k12.ec\0"
-"tree.museum\0"
+"buy\0"
+"vicenza.it\0"
+"ip6.arpa\0"
+"skedsmo.no\0l.se\0"
+"okinawa.jp\0marugame.kagawa.jp\0"
+"\xc3\xb8yer.no\0"
+"aukra.no\0"
+"luzern.museum\0"
+"mihama.mie.jp\0"
+"fukushima.hokkaido.jp\0kembuchi.hokkaido.jp\0\xe6\x85\x88\xe5\x96\x84\0"
+"gsm.pl\0"
+"savannahga.museum\0"
+"sanjo.niigata.jp\0\xd8\xb9\xd9\x85\xd8\xa7\xd9\x86\0"
+"lesja.no\0vik.no\0"
+"minamiizu.shizuoka.jp\0"
+"tran\xc3\xb8y.no\0"
+"lgbt\0"
+"joshkar-ola.ru\0"
+"hemsedal.no\0sarpsborg.no\0"
+"gob.ar\0calabria.it\0kurashiki.okayama.jp\0"
+"irkutsk.ru\0"
+"osaki.miyagi.jp\0ginowan.okinawa.jp\0neustar\0"
+"higashinaruse.akita.jp\0taketa.oita.jp\0nagatoro.saitama.jp\0"
+"ventures\0from-mo.com\0"
+"mishima.shizuoka.jp\0"
+"vaga.no\0"
+"sano.tochigi.jp\0"
+"k12.in.us\0"
+"gob.bo\0partners\0"
+"mediocampidano.it\0kumakogen.ehime.jp\0"
+"dyr\xc3\xb8y.no\0lier.no\0groks-this.info\0"
+"tsuruta.aomori.jp\0"
+"tosu.saga.jp\0office-on-the.net\0"
+"bzh\0"
+"grong.no\0"
+"attorney\0"
+"oji.nara.jp\0"
+"gob.cl\0"
+"froland.no\0meloy.no\0"
+"taranto.it\0uk.net\0"
+"\xe8\x8c\xa8\xe5\x9f\x8e.jp\0"
+"school.museum\0cc.il.us\0"
"s.se\0"
-"ve.it\0juif.museum\0flatanger.no\0"
-"kobierzyce.pl\0"
-"chino.nagano.jp\0"
-"kristiansand.no\0norddal.no\0"
-"b\xc3\xb8.nordland.no\0"
-"kirov.ru\0"
-"tomobe.ibaraki.jp\0"
-"jl.cn\0frosinone.it\0"
-"toyooka.hyogo.jp\0"
-"tsuiki.fukuoka.jp\0hitra.no\0"
-"bz.it\0yotsukaido.chiba.jp\0"
-"sp.it\0"
-"ariake.saga.jp\0scrapping.cc\0"
-"iwanai.hokkaido.jp\0"
-"erotica.hu\0sumoto.kumamoto.jp\0glogow.pl\0"
-"lib.mi.us\0"
-"tateyama.chiba.jp\0semine.miyagi.jp\0vestre-toten.no\0"
-"dellogliastra.it\0sm.ua\0"
-"brussel.museum\0"
-"hasami.nagasaki.jp\0sells-for-u.com\0"
-"anan.tokushima.jp\0"
-"barreau.bj\0"
-"cc.mt.us\0cc.nd.us\0"
-"l\xc3\xb8renskog.no\0"
-"trolley.museum\0"
-"okuma.fukushima.jp\0"
-"hirara.okinawa.jp\0kaminoyama.yamagata.jp\0k12.oh.us\0"
-"y.bg\0"
-"miyazaki.jp\0"
-"repbody.aero\0"
-"sannohe.aomori.jp\0shimizu.hokkaido.jp\0"
-"judygarland.museum\0gotdns.com\0"
-"toyota.aichi.jp\0oketo.hokkaido.jp\0zao.miyagi.jp\0"
-"ohtawara.tochigi.jp\0"
-"workinggroup.aero\0"
-"matsukawa.nagano.jp\0"
-"mugi.tokushima.jp\0karate.museum\0"
-"bjerkreim.no\0"
-"miyagi.jp\0"
-"!city.kobe.jp\0aquarium.museum\0"
-"k12.la.us\0"
-"pharmaciens.km\0de.com\0"
-"!omantel.om\0"
-"zhytomyr.ua\0"
-"kawara.fukuoka.jp\0raholt.no\0"
-"medecin.fr\0saiki.oita.jp\0v\xc3\xa1rgg\xc3\xa1t.no\0"
-"kotoura.tottori.jp\0moskenes.no\0vennesla.no\0"
-"rishirifuji.hokkaido.jp\0"
-"cuneo.it\0"
-"takamatsu.kagawa.jp\0malatvuopmi.no\0pomorskie.pl\0"
-"otsuchi.iwate.jp\0"
+"marketplace.aero\0plc.uk\0"
+"ontario.museum\0"
+"ranzan.saitama.jp\0"
+"ct.us\0"
+"memorial\0"
+"gob.do\0media.hu\0lib.ks.us\0"
+"reise\0"
+"horonobe.hokkaido.jp\0"
+"gob.ec\0"
+"yamal.ru\0"
+"yamato.kanagawa.jp\0"
+"dr.na\0"
+"spydeberg.no\0"
+"zgora.pl\0"
+"verona.it\0"
+"gob.es\0"
+"jeju.kr\0"
+"chiropractic.museum\0doomdns.com\0"
+"kozaki.chiba.jp\0"
+"monza-brianza.it\0isen.kagoshima.jp\0glogow.pl\0"
+"uchiko.ehime.jp\0yasu.shiga.jp\0"
+"sandvik\0eu-west-1.compute.amazonaws.com\0"
+"suedtirol.it\0czest.pl\0"
+"kashiba.nara.jp\0yuza.yamagata.jp\0"
+"tondabayashi.osaka.jp\0toyama.toyama.jp\0"
+"\xe6\x95\x8e\xe8\x82\xb2.hk\0k12.vt.us\0"
+"astrakhan.ru\0nfshost.com\0"
+"!city.kobe.jp\0\xd1\x81\xd0\xb0\xd0\xb9\xd1\x82\0"
+"enebakk.no\0"
+"travel\0"
+"sandiego.museum\0yokohama\0"
+"valleeaoste.it\0parma.it\0kochi.jp\0kunohe.iwate.jp\0"
+"izumisano.osaka.jp\0szczecin.pl\0"
+"sellsyourhome.org\0"
+"gob.gt\0"
+"dyndns-remote.com\0"
+"pippu.hokkaido.jp\0"
+"com\0z.se\0is-a-bookkeeper.com\0"
+"kotohira.kagawa.jp\0"
+"is-found.org\0"
+"gob.hn\0radom.pl\0"
+"christiansburg.museum\0"
+"tomigusuku.okinawa.jp\0swiebodzin.pl\0"
+"bihoro.hokkaido.jp\0minato.osaka.jp\0"
+"firenze.it\0"
+"pr.us\0"
+"takanabe.miyazaki.jp\0"
+"jinsekikogen.hiroshima.jp\0"
+"computer.museum\0"
+"dad\0"
+"kikuchi.kumamoto.jp\0sakura.tochigi.jp\0"
+"otsu.shiga.jp\0"
+"larvik.no\0\xd0\xb0\xd0\xba.\xd1\x81\xd1\x80\xd0\xb1\0"
+"berg.no\0cc.dc.us\0"
+"tateyama.toyama.jp\0"
+"is-an-actor.com\0"
+"rg.it\0"
+"kep.tr\0from-la.net\0"
+"ln.cn\0"
+"from-wv.com\0is-a-hunter.com\0"
+"day\0"
+"kokonoe.oita.jp\0"
+"wi.us\0"
+"schmidt\0"
+"6.bg\0portland.museum\0k12.wa.us\0"
+"crs\0csc\0"
+"groundhandling.aero\0cahcesuolo.no\0"
+"francaise.museum\0dyndns-free.com\0"
+"media.pl\0"
+"dr.tr\0b.ssl.fastly.net\0"
+"everbank\0"
+"kitakata.fukushima.jp\0"
+"montblanc\0"
+"tanohata.iwate.jp\0nishi.osaka.jp\0reisen\0"
+"rindal.no\0hamburg\0"
+"koriyama.fukushima.jp\0ena.gifu.jp\0"
+"foundation.museum\0"
+"axis.museum\0"
+"helsinki.museum\0cc.wa.us\0myphotos.cc\0"
+"vic.edu.au\0"
+"cloudapp.net\0"
+"yamaxun\0"
+"trading\0"
+"viterbo.it\0lg.jp\0ise.mie.jp\0"
+"lillesand.no\0"
+"lib.me.us\0"
+"okoppe.hokkaido.jp\0oyodo.nara.jp\0"
+"shinshinotsu.hokkaido.jp\0tobetsu.hokkaido.jp\0"
+"magadan.ru\0tennis\0"
+"\xe5\xba\x83\xe5\xb3\xb6.jp\0mobara.chiba.jp\0"
+"ltd.co.im\0"
+"fet.no\0elb.amazonaws.com\0"
+"kamikawa.hyogo.jp\0sango.nara.jp\0gob.mx\0"
+"alta.no\0"
+"sowa.ibaraki.jp\0"
+"g\xc3\xa1\xc5\x8bgaviika.no\0"
+"tattoo\0"
+"fg.it\0konan.shiga.jp\0"
+"off.ai\0country\0"
+"dev\0"
+"rn.it\0samukawa.kanagawa.jp\0"
+"baidu\0"
+"port.fr\0carbonia-iglesias.it\0miyoshi.tokushima.jp\0tabuse.yamaguchi.jp\0sosnowiec.pl\0adult\0"
+"in-addr.arpa\0gran.no\0"
+"gob.pa\0serveftp.org\0"
+"hidaka.hokkaido.jp\0"
+"nesseby.no\0"
+"satosho.okayama.jp\0"
+"gob.pe\0"
+"flights\0"
+"andriabarlettatrani.it\0"
+"nagato.yamaguchi.jp\0host\0"
+"nes.akershus.no\0gob.pk\0dvrdns.org\0"
+"miyota.nagano.jp\0"
+"embroidery.museum\0karasjohka.no\0"
+"from-ky.com\0"
+"trieste.it\0ashoro.hokkaido.jp\0"
+"dealer\0"
+"saigawa.fukuoka.jp\0"
+"spiegel\0"
+"atlanta.museum\0romskog.no\0"
+"l\xc3\xa4ns.museum\0evje-og-hornnes.no\0"
+"valled-aosta.it\0karasuyama.tochigi.jp\0"
+"ing.pa\0"
+"siracusa.it\0minano.saitama.jp\0"
+"isahaya.nagasaki.jp\0hagi.yamaguchi.jp\0"
+"!city.kitakyushu.jp\0uto.kumamoto.jp\0forex\0"
+"murayama.yamagata.jp\0virgin\0"
+"norddal.no\0cherkasy.ua\0codes\0"
+"misato.saitama.jp\0"
+"\xd9\x85\xd9\x88\xd9\x82\xd8\xb9\0"
+"iwata.shizuoka.jp\0"
+"tjome.no\0mango\0"
+"greta.fr\0"
+"eu.int\0minokamo.gifu.jp\0oi.kanagawa.jp\0"
+"accident-prevention.aero\0"
+"hirokawa.fukuoka.jp\0"
+"kainan.tokushima.jp\0"
+"gob.sv\0"
+"gub.uy\0"
+"black\0"
+"noda.chiba.jp\0"
+"tanagura.fukushima.jp\0abu.yamaguchi.jp\0"
+"is-a-painter.com\0"
+"ikeda.hokkaido.jp\0"
+"mitoyo.kagawa.jp\0"
+"gausdal.no\0"
+"kvafjord.no\0"
+"philadelphiaarea.museum\0santafe.museum\0cruises\0"
+"ringerike.no\0"
+"ven.it\0kamisato.saitama.jp\0przeworsk.pl\0"
+"\xe7\x82\xb9\xe7\x9c\x8b\0"
+"ask\xc3\xb8y.no\0"
+"suli.hu\0is-an-accountant.com\0"
+"lu.it\0me.it\0\xe7\xa7\xbb\xe5\x8a\xa8\0"
+"flanders.museum\0"
+"anquan\0"
+"s\xc3\xb8rreisa.no\0"
+"gob.ve\0"
+"treviso.it\0"
+"crew.aero\0"
+"jaguar\0"
+"barlettatraniandria.it\0happou.akita.jp\0"
+"annefrank.museum\0is-a-bulls-fan.com\0"
+"medecin.km\0jamal.ru\0dyndns-mail.com\0"
+"toyota.aichi.jp\0"
+"\xe6\x9c\xba\xe6\x9e\x84\0"
+"muos\xc3\xa1t.no\0"
+"monzaebrianza.it\0"
+"lg.ua\0"
+"dnp\0"
+"archaeological.museum\0"
+"ichikawa.chiba.jp\0kami.miyagi.jp\0"
+"media.museum\0"
+"ge.it\0unnan.shimane.jp\0walbrzych.pl\0"
+"namdalseid.no\0dog\0"
+"australia.museum\0\xe3\x82\xb0\xe3\x83\xbc\xe3\x82\xb0\xe3\x83\xab\0"
+"shop.ht\0ascolipiceno.it\0"
+"trading.aero\0shop.hu\0tr\xc3\xa6na.no\0"
+"wroc.pl\0"
+"kharkiv.ua\0"
+"slattum.no\0"
+"zj.cn\0"
+"amursk.ru\0"
+"miyazaki.jp\0nishinoomote.kagoshima.jp\0"
+"\xe0\xae\x87\xe0\xae\xa8\xe0\xaf\x8d\xe0\xae\xa4\xe0\xae\xbf\xe0\xae\xaf\xe0\xae\xbe\0"
+"ora.gunma.jp\0"
+"chattanooga.museum\0naturalhistorymuseum.museum\0uhren.museum\0"
+"emilia-romagna.it\0\xe9\xa6\x99\xe5\xb7\x9d.jp\0"
"spb.ru\0"
-"recreation.aero\0misaki.okayama.jp\0k12.in.us\0ham-radio-op.net\0"
-"freiburg.museum\0"
-"journal.aero\0fot.br\0"
-"asahi.yamagata.jp\0"
-"ah.cn\0saotome.st\0"
-"delaware.museum\0"
-"tondabayashi.osaka.jp\0"
-"!uba.ar\0notaires.km\0"
-"nord-aurdal.no\0"
-"furubira.hokkaido.jp\0kazan.ru\0"
-"shisui.chiba.jp\0town.museum\0"
-"inatsuki.fukuoka.jp\0yuu.yamaguchi.jp\0"
-"munakata.fukuoka.jp\0"
-"matsuyama.ehime.jp\0"
-"traniandriabarletta.it\0toyama.toyama.jp\0grandrapids.museum\0lenvik.no\0"
-"toyota.yamaguchi.jp\0"
-"niigata.jp\0yamatsuri.fukushima.jp\0batsfjord.no\0"
-"ravenna.it\0zama.kanagawa.jp\0"
-"is-a-landscaper.com\0is-gone.com\0"
-"doomdns.org\0"
-"shinjo.yamagata.jp\0hawaii.museum\0"
-"trento.it\0taiki.mie.jp\0"
-"royrvik.no\0"
-"palermo.it\0"
-"arts.museum\0newjersey.museum\0"
-"scienceandhistory.museum\0"
-"sunagawa.hokkaido.jp\0tabuse.yamaguchi.jp\0chuo.yamanashi.jp\0"
-"*.sch.uk\0"
-"southwest.museum\0of.no\0k12.fl.us\0"
-"md.ci\0"
-"haboro.hokkaido.jp\0iwanuma.miyagi.jp\0adachi.tokyo.jp\0"
-"harstad.no\0"
-"kunneppu.hokkaido.jp\0"
+"kiso.nagano.jp\0"
+"gop.pk\0vote\0"
+"krokstadelva.no\0leitungsen.de\0"
+"ogi.saga.jp\0"
+"broker.aero\0"
+"asaka.saitama.jp\0"
+"dnipropetrovsk.ua\0"
+"minamiechizen.fukui.jp\0kagamiishi.fukushima.jp\0"
+"voto\0"
+"ostroda.pl\0"
+"noheji.aomori.jp\0stalowa-wola.pl\0"
+"jolster.no\0"
+"iijima.nagano.jp\0"
+"blog.br\0gs.cn\0tainai.niigata.jp\0kouzushima.tokyo.jp\0cheap\0"
+"kharkov.ua\0cc.wv.us\0"
+"s3-website-us-gov-west-1.amazonaws.com\0"
+"tj.cn\0onagawa.miyagi.jp\0"
+"naples.it\0miyako.iwate.jp\0yaita.tochigi.jp\0eat\0"
+"nord-aurdal.no\0servegame.org\0"
+"money\0blogdns.org\0"
+"lib.mn.us\0"
+"aoste.it\0"
+"westfalen.museum\0"
+"kasaoka.okayama.jp\0"
+"bc.ca\0"
+"shia\0"
+"*.kawasaki.jp\0"
+"skodje.no\0"
+"\xe7\x86\x8a\xe6\x9c\xac.jp\0"
+"varoy.no\0"
+"kaga.ishikawa.jp\0cloudfront.net\0"
+"ss.it\0"
+"shimane.jp\0ryokami.saitama.jp\0yamanakako.yamanashi.jp\0durban\0"
+"randaberg.no\0"
+"jobs.tt\0"
+"bjugn.no\0z-2.compute-1.amazonaws.com\0"
+"futaba.fukushima.jp\0"
+"kms.ru\0"
+"zamami.okinawa.jp\0"
+"laquila.it\0"
+"mobily\0"
+"club\0"
+"edu\0"
+"a.prod.fastly.net\0"
+"tamatsukuri.ibaraki.jp\0"
+"kamoenai.hokkaido.jp\0"
+"f\xc3\xb8rde.no\0"
+"al.it\0"
+"ube.yamaguchi.jp\0"
+"ms.it\0"
+"higashiagatsuma.gunma.jp\0"
+"pacific.museum\0"
+"gz.cn\0"
+"dyndns.org\0"
+"otari.nagano.jp\0"
+"miyazaki.miyazaki.jp\0"
+"texas.museum\0hosting\0"
+"mincom.tn\0"
+"huissier-justice.fr\0"
+"\xc3\xa5lg\xc3\xa5rd.no\0fusa.no\0lib.ny.us\0mtpc\0panerai\0"
+"chieti.it\0fujikawaguchiko.yamanashi.jp\0blogspot.com.ar\0"
+"gs.fm.no\0"
+"chikushino.fukuoka.jp\0"
+"blogspot.com.au\0"
+"iiyama.nagano.jp\0"
+"ms.kr\0"
+"tohma.hokkaido.jp\0tara.saga.jp\0"
+"is-gone.com\0"
+"friuli-vegiulia.it\0saito.miyazaki.jp\0"
+"ringebu.no\0"
+"bj.cn\0me.tz\0blogspot.com.br\0"
+"raisa.no\0me.uk\0"
+"tokuyama.yamaguchi.jp\0"
+"isesaki.gunma.jp\0"
+"kunst.museum\0"
+"childrens.museum\0me.us\0"
+"mihara.hiroshima.jp\0"
+"jogasz.hu\0"
+"sayama.saitama.jp\0"
+"k12.me.us\0"
+"bale.museum\0s\xc3\xb8r-odal.no\0"
+"cambridge.museum\0"
+"shimotsuke.tochigi.jp\0"
+"harima.hyogo.jp\0"
+"varggat.no\0barcelona\0"
+"kunimi.fukushima.jp\0"
+"gallery.museum\0"
+"kitayama.wakayama.jp\0"
+"nov.ru\0"
+"kasumigaura.ibaraki.jp\0taiki.mie.jp\0"
+"lierne.no\0is-a-doctor.com\0"
+"lidl\0"
+"al.no\0\xeb\x8b\xb7\xeb\x84\xb7\0dyndns-office.com\0"
+"kunisaki.oita.jp\0ricoh\0"
+"biev\xc3\xa1t.no\0"
+"yamagata.jp\0ibara.okayama.jp\0"
+"shirakawa.fukushima.jp\0"
+"is-a-nurse.com\0"
+"sagamihara.kanagawa.jp\0"
+"verdal.no\0"
+"fie.ee\0shoes\0"
+"blogspot.com.es\0"
"tachikawa.tokyo.jp\0"
-"agrigento.it\0murata.miyagi.jp\0"
-"macerata.it\0b\xc3\xa1id\xc3\xa1r.no\0"
-"kurogi.fukuoka.jp\0"
-"misato.miyagi.jp\0americanart.museum\0"
-"sanagochi.tokushima.jp\0"
-"nanyo.yamagata.jp\0"
-"otaru.hokkaido.jp\0"
-"bremanger.no\0nordkapp.no\0"
-"kawagoe.saitama.jp\0"
-"sodegaura.chiba.jp\0creation.museum\0romskog.no\0"
+"valley.museum\0oracle\0\xd0\xbe\xd0\xbd\xd0\xbb\xd0\xb0\xd0\xb9\xd0\xbd\0"
+"yuzawa.niigata.jp\0higashiizumo.shimane.jp\0"
+"\xe0\xb6\xbd\xe0\xb6\x82\xe0\xb6\x9a\xe0\xb7\x8f\0"
+"katori.chiba.jp\0"
+"vic.gov.au\0center.museum\0ulan-ude.ru\0life\0"
+"machida.tokyo.jp\0better-than.tv\0"
+"hino.tokyo.jp\0"
+"tokoname.aichi.jp\0"
+"kawachinagano.osaka.jp\0"
+"minnesota.museum\0"
+"steinkjer.no\0"
+"trentino-stirol.it\0hamatonbetsu.hokkaido.jp\0"
+"reggio-calabria.it\0"
+"etnedal.no\0vdonsk.ru\0cc.sd.us\0"
+"plaza.museum\0"
+"nx.cn\0band\0"
+"flowers\0"
+"bank\0"
+"agematsu.nagano.jp\0"
+"passenger-association.aero\0mod.gi\0"
+"settsu.osaka.jp\0"
+"shimokitayama.nara.jp\0"
+"washingtondc.museum\0apartments\0is-a-blogger.com\0"
+"at-band-camp.net\0"
+"med.pro\0"
+"torino.it\0"
+"merseine.nu\0"
+"ine.kyoto.jp\0"
+"\xe9\xb3\xa5\xe5\x8f\x96.jp\0"
+"komforb.se\0"
+"porsgrunn.no\0"
+"noboribetsu.hokkaido.jp\0kameoka.kyoto.jp\0"
+"analytics\0"
+"cng.br\0"
+"vladikavkaz.ru\0cc.md.us\0"
+"page\0"
+"friuli-veneziagiulia.it\0shimamoto.osaka.jp\0uw.gov.pl\0"
+"microlight.aero\0canada.museum\0koebenhavn.museum\0"
+"olbia-tempio.it\0yukuhashi.fukuoka.jp\0allfinanz\0"
+"aerodrome.aero\0"
+"\xe6\x84\x9b\xe7\x9f\xa5.jp\0"
+"beppu.oita.jp\0nishiazai.shiga.jp\0"
+"minami.tokushima.jp\0kaneyama.yamagata.jp\0"
+"amber.museum\0from-ga.com\0"
+"kita.kyoto.jp\0"
+"sakyo.kyoto.jp\0fund\0"
+"modern.museum\0"
+"ebina.kanagawa.jp\0"
+"kuzbass.ru\0"
+"namegata.ibaraki.jp\0nowruz\0"
+"nc.tr\0"
+"like\0"
+"valledaosta.it\0"
+"tromso.no\0"
+"fukui.jp\0"
+"b\xc3\xb8.telemark.no\0jpn.com\0"
+"kumagaya.saitama.jp\0"
+"charter.aero\0"
+"gent\0"
+"barum.no\0nannestad.no\0homeunix.com\0"
+"medecin.fr\0"
+"bern.museum\0batsfjord.no\0al.us\0getmyip.com\0"
+"fan\0"
+"jetzt\0"
+"alaska.museum\0zhytomyr.ua\0ms.us\0nc.us\0"
+"\xd8\xa7\xd9\x84\xd9\x85\xd8\xba\xd8\xb1\xd8\xa8\0"
+"k12.ms.us\0k12.nc.us\0"
+"surgeonshall.museum\0"
+"g.bg\0from-me.org\0"
+"auction\0"
+"gs.mr.no\0"
+"osakikamijima.hiroshima.jp\0nanao.ishikawa.jp\0"
+"yanaizu.fukushima.jp\0muika.niigata.jp\0"
+"hjartdal.no\0"
+"ca.it\0kawakami.nagano.jp\0support\0"
+"co.ae\0"
+"co.ag\0"
+"naroy.no\0limo\0"
+"kawara.fukuoka.jp\0katsushika.tokyo.jp\0"
+"bungoono.oita.jp\0"
+"co.ao\0esq\0"
+"co.ba\0"
+"co.bb\0"
+"simple-url.com\0"
+"co.at\0etc.br\0"
+"\xc3\xa5krehamn.no\0vestre-slidre.no\0barclays\0link\0"
+"kiryu.gunma.jp\0hamamatsu.shizuoka.jp\0"
+"lib.or.us\0"
+"taira.toyama.jp\0"
+"co.bi\0"
+"kazimierz-dolny.pl\0"
+"krasnoyarsk.ru\0"
+"gucci\0"
+"wanggou\0"
+"co.ca\0"
+"yamatsuri.fukushima.jp\0"
+"paris.museum\0"
+"\xe0\xa4\x95\xe0\xa5\x89\xe0\xa4\xae\0"
+"co.bw\0"
+"omi.nagano.jp\0"
+"co.ci\0aquarelle\0"
+"co.cl\0"
+"co.cm\0"
+"nakagawa.tokushima.jp\0"
+"zushi.kanagawa.jp\0tokorozawa.saitama.jp\0"
+"eus\0from-ne.com\0"
+"co.cr\0szkola.pl\0"
+"as.us\0"
+"oiso.kanagawa.jp\0xihuan\0blogspot.com.tr\0"
+"nj.us\0k12.as.us\0"
+"conference.aero\0"
+"n.bg\0"
+"shop.pl\0"
+"ca.na\0n\xc3\xa6r\xc3\xb8y.no\0"
+"takaishi.osaka.jp\0"
+"miyazu.kyoto.jp\0\xe5\x85\xac\xe7\x9b\x8a\0"
+"abr.it\0taiji.wakayama.jp\0"
+"v\xc3\xa5gs\xc3\xb8y.no\0bar.pro\0kchr.ru\0lanbib.se\0"
+"traeumtgerade.de\0"
+"ch.it\0"
+"cc.ak.us\0"
+"mypets.ws\0"
+"owani.aomori.jp\0"
+"iwate.jp\0"
+"\xe4\xb8\xad\xe5\x9b\xbd\0feedback\0"
+"dyndns-at-work.com\0"
+"even\xc3\xa1\xc5\xa1\xc5\xa1i.no\0organic\0"
+"k12.il.us\0"
+"yabu.hyogo.jp\0"
+"stjohn.museum\0\xe4\xb8\xad\xe5\x9c\x8b\0"
+"davvesiida.no\0sucks\0temasek\0"
+"drammen.no\0"
+"aip.ee\0co.gg\0"
+"kumejima.okinawa.jp\0"
+"london\0"
+"tolga.no\0"
+"sakura.chiba.jp\0fit\0"
+"tjeldsund.no\0"
+"rec.br\0gushikami.okinawa.jp\0"
+"navigation.aero\0"
+"co.gy\0"
+"sanda.hyogo.jp\0daigo.ibaraki.jp\0uenohara.yamanashi.jp\0"
+"az.us\0"
+"nakatane.kagoshima.jp\0"
+"labor.museum\0wang\0"
+"matera.it\0shirataka.yamagata.jp\0swatch\0selfip.net\0"
+"fashion\0"
+"pars\0"
+"yugawa.fukushima.jp\0"
+"rec.co\0k12.ny.us\0"
+"co.id\0"
+"co.hu\0lib.vt.us\0"
+"jelenia-gora.pl\0"
+"u.bg\0"
+"\xd8\xa7\xd9\x84\xd8\xac\xd8\xb2\xd8\xa7\xd8\xa6\xd8\xb1\0"
+"ito.shizuoka.jp\0maison\0"
+"miyada.nagano.jp\0"
+"co.im\0yakutia.ru\0"
+"co.in\0"
+"live\0"
+"venice.it\0"
+"co.ir\0aizubange.fukushima.jp\0shizuoka.shizuoka.jp\0principe.st\0"
+"co.it\0"
+"co.je\0cc.ar.us\0review\0"
+"heguri.nara.jp\0center\0from-ny.net\0"
+"sanfrancisco.museum\0"
+"akune.kagoshima.jp\0"
+"casadelamoneda.museum\0edeka\0"
+"\xe7\x9f\xb3\xe5\xb7\x9d.jp\0fukuchiyama.kyoto.jp\0"
+"nissedal.no\0ivanovo.ru\0"
+"co.jp\0"
+"ia.us\0"
+"vantaa.museum\0"
+"yanagawa.fukuoka.jp\0"
+"aeroclub.aero\0tx.us\0"
+"urbinopesaro.it\0"
+"army\0fly\0"
+"fukudomi.saga.jp\0oguni.yamagata.jp\0"
+"val-d-aosta.it\0"
+"historyofscience.museum\0tranby.no\0"
+"andasuolo.no\0"
+"yoshinogari.saga.jp\0co.kr\0"
+"championship.aero\0co.lc\0public.museum\0"
+"nerima.tokyo.jp\0"
+"moscow.museum\0cymru\0"
+"site\0"
+"namerikawa.toyama.jp\0"
+"cc.hi.us\0"
+"tsuruga.fukui.jp\0"
+"arpa\0news\0nokia\0"
+"co.ma\0vf.no\0"
+"verm\xc3\xb6gensberater\0"
+"co.ls\0cmw.ru\0ca.us\0"
+"co.me\0"
+"grandrapids.museum\0nuremberg.museum\0oh.us\0"
+"shibukawa.gunma.jp\0"
+"fujioka.gunma.jp\0asahi.yamagata.jp\0oshino.yamanashi.jp\0"
+"foo\0quebec\0"
+"co.na\0"
+"campidano-medio.it\0"
+"austin.museum\0"
+"\xe7\xbb\x84\xe7\xbb\x87.hk\0co.mu\0"
+"\xe7\xa6\x8f\xe5\xb3\xb6.jp\0"
+"co.mw\0"
+"yatomi.aichi.jp\0daejeon.kr\0"
+"steigen.no\0"
+"ogimi.okinawa.jp\0"
+"equipment.aero\0settlers.museum\0"
+"psc.br\0nara.jp\0tsugaru.aomori.jp\0co.nl\0"
+"co.no\0"
+"university.museum\0"
+"nakagawa.nagano.jp\0email\0"
+"sveio.no\0"
+"ed.ao\0donostia.museum\0kommunalforbund.se\0"
+"cleaning\0technology\0"
+"co.nz\0gal\0"
+"forsale\0"
+"carraramassa.it\0"
+"co.om\0"
+"emiliaromagna.it\0"
+"birdart.museum\0"
+"scrapper-site.net\0"
+"oceanographic.museum\0"
+"aca.pro\0karelia.ru\0"
+"atsuma.hokkaido.jp\0hidaka.wakayama.jp\0"
+"handson.museum\0"
+"chuo.yamanashi.jp\0frl\0"
+"co.pl\0"
+"gjerstad.no\0"
+"co.pn\0"
+"bearalvahki.no\0"
+"piemonte.it\0"
+"ed.ci\0amsterdam.museum\0hk.com\0"
+"taishi.hyogo.jp\0"
+"arte\0"
+"jor.br\0shinshiro.aichi.jp\0kyowa.akita.jp\0"
+"g.se\0"
+"vt.it\0koto.shiga.jp\0um.gov.pl\0"
+"co.pw\0cbg.ru\0"
+"ed.cr\0vald-aosta.it\0"
+"blogspot.re\0"
+"midatlantic.museum\0"
+"modum.no\0"
+"blogspot.ro\0"
+"riodejaneiro.museum\0"
+"gdn\0"
+"cisco\0blogspot.ru\0blogspot.se\0"
+"brand.se\0bbva\0gea\0blogspot.sg\0"
+"utah.museum\0porsangu.no\0"
+"sakai.osaka.jp\0"
+"linz.museum\0co.rs\0blogspot.sk\0"
+"trentino-a-adige.it\0aero.tt\0"
+"realestate.pl\0"
+"bjark\xc3\xb8y.no\0co.rw\0"
+"pt.it\0esan.hokkaido.jp\0"
+"hsbc\0"
+"kawanishi.yamagata.jp\0rec.nf\0"
+"blogspot.td\0"
+"taxi.aero\0"
+"kamigori.hyogo.jp\0aoki.nagano.jp\0"
+"ferrero\0lotte\0"
+"whaling.museum\0"
+"\xe9\xab\x98\xe7\x9f\xa5.jp\0blogdns.net\0"
+"broadway\0"
+"co.st\0\xe5\xb9\xbf\xe4\xb8\x9c\0"
+"aero.mv\0"
+"ama.aichi.jp\0iwama.ibaraki.jp\0uruma.okinawa.jp\0hamada.shimane.jp\0co.th\0"
+"lotto\0"
+"co.sz\0co.tj\0"
+"is-not-certified.com\0"
+"samegawa.fukushima.jp\0hatogaya.saitama.jp\0"
+"co.tm\0"
+"zoological.museum\0evenes.no\0blogspot.tw\0"
+"b\xc3\xb8.nordland.no\0n\xc3\xb8tter\xc3\xb8y.no\0co.ua\0"
+"nishio.aichi.jp\0shibecha.hokkaido.jp\0"
+"magazine.aero\0"
+"co.tt\0\xe4\xb8\x96\xe7\x95\x8c\0"
+"\xeb\x8b\xb7\xec\xbb\xb4\0"
+"nordreisa.no\0co.ug\0"
+"kvalsund.no\0ggee\0"
+"co.tz\0blogspot.mr\0"
+"jobs\0giessen.museum\0co.uk\0verm\xc3\xb6gensberatung\0"
+"n.se\0"
+"yamamoto.miyagi.jp\0"
+"asia\0uzhgorod.ua\0"
+"blogspot.mx\0"
+"burghof.museum\0"
+"co.us\0"
+"higashiura.aichi.jp\0blogspot.nl\0"
+"columbus.museum\0co.ve\0"
+"nnov.ru\0yachts\0blogspot.no\0"
+"bjerkreim.no\0co.vi\0"
+"co.uz\0"
+"sekigahara.gifu.jp\0"
+"osteroy.no\0\xe9\xa6\x99\xe6\xb8\xaf\0"
+"kinko.kagoshima.jp\0"
+"tsubetsu.hokkaido.jp\0"
+"eiheiji.fukui.jp\0yawata.kyoto.jp\0yamatokoriyama.nara.jp\0"
+"sasayama.hyogo.jp\0"
+"equipment\0"
+"takamori.nagano.jp\0"
+"hobol.no\0university\0"
+"itabashi.tokyo.jp\0"
+"school.na\0chel.ru\0"
+"kuroishi.aomori.jp\0"
+"timekeeping.museum\0\xe6\xb7\xa1\xe9\xa9\xac\xe9\x94\xa1\0"
+"reggiocalabria.it\0"
+"rec.ro\0"
+"alsace\0"
+"royken.no\0"
+"ed.jp\0gunma.jp\0"
+"amusement.aero\0giehtavuoatna.no\0"
+"blogspot.pt\0"
+"*.bd\0hokuryu.hokkaido.jp\0"
+"and\xc3\xb8y.no\0"
+"trd.br\0"
+"osakasayama.osaka.jp\0"
+"systems\0"
+"asahikawa.hokkaido.jp\0"
+"takazaki.miyazaki.jp\0school.nz\0"
+"\xe5\x95\x86\xe6\xa5\xad.tw\0"
+"*.bn\0tosashimizu.kochi.jp\0dabur\0"
+"cranbrook.museum\0usa.museum\0cv.ua\0"
+"daisen.akita.jp\0shirosato.ibaraki.jp\0"
+"perugia.it\0blogspot.it\0"
+"atsugi.kanagawa.jp\0"
+"oyabe.toyama.jp\0"
+"skedsmokorset.no\0cc.in.us\0gle\0"
+"*.ck\0hurdal.no\0u.se\0"
+"bunkyo.tokyo.jp\0"
+"mad.museum\0"
+"blogspot.jp\0"
+"eco.br\0"
+"wa.gov.au\0k\xc3\xa5""fjord.no\0\xc3\xb8rland.no\0space\0"
+"oita.jp\0mukawa.hokkaido.jp\0"
+"lib.la.us\0"
+"bialystok.pl\0szczytno.pl\0democrat\0"
+"*.cy\0webhop.org\0"
+"neyagawa.osaka.jp\0"
+"horology.museum\0audio\0commbank\0"
+"ashiya.fukuoka.jp\0"
"hiratsuka.kanagawa.jp\0"
-"muroto.kochi.jp\0"
-"miki.hyogo.jp\0"
-"g\xc3\xa1ls\xc3\xa1.no\0isa-geek.org\0"
-"eastcoast.museum\0shell.museum\0"
-"salerno.it\0shinyoshitomi.fukuoka.jp\0is-a-libertarian.com\0"
-"ss.it\0"
-"fuefuki.yamanashi.jp\0"
-"voss.no\0dnepropetrovsk.ua\0"
-"lib.md.us\0"
-"ggf.br\0"
-"nara.nara.jp\0"
-"gz.cn\0kakamigahara.gifu.jp\0!teledata.mz\0"
-"!gobiernoelectronico.ar\0katano.osaka.jp\0"
-"jp.net\0"
-"ethnology.museum\0"
-"krym.ua\0"
-"e164.arpa\0fie.ee\0"
-"preservation.museum\0"
-"como.it\0ina.saitama.jp\0"
-"tempio-olbia.it\0kokubunji.tokyo.jp\0"
-"k12.ny.us\0"
-"\xc3\xa5""fjord.no\0"
-"kamo.kyoto.jp\0is-very-sweet.org\0"
-"kuroiso.tochigi.jp\0"
-"nagaoka.niigata.jp\0"
+"grimstad.no\0rec.ve\0"
+"blogspot.kr\0"
+"tokyo\0"
+"dellogliastra.it\0shiiba.miyazaki.jp\0"
+"gmo\0"
+"yaotsu.gifu.jp\0"
+"\xd8\xb4\xd8\xa8\xd9\x83\xd8\xa9\0"
+"kaisei.kanagawa.jp\0"
+"tonsberg.no\0"
+"gmx\0"
+"b\xc3\xa5tsfjord.no\0law.pro\0suzuki\0"
+"oristano.it\0"
+"tsukui.kanagawa.jp\0yokkaichi.mie.jp\0"
+"*.er\0"
+"capebreton.museum\0n\xc3\xa1vuotna.no\0sunndal.no\0"
+"nishi.fukuoka.jp\0"
+"otsuki.kochi.jp\0"
+"*.fj\0*.kobe.jp\0zakopane.pl\0"
+"*.fk\0vt.us\0"
+"lig.it\0nishikatsura.yamanashi.jp\0"
+"valdaosta.it\0takahata.yamagata.jp\0"
+"1.bg\0"
+"podhale.pl\0capital\0"
+"kamo.niigata.jp\0cool\0"
+"goo\0"
+"gop\0"
+"larsson.museum\0"
+"coop\0"
+"blogspot.fi\0"
+"got\0"
+"gov\0piacenza.it\0hisayama.fukuoka.jp\0"
+"cincinnati.museum\0"
+"frog.museum\0hitachi\0"
+"kr.it\0fujinomiya.shizuoka.jp\0blogspot.fr\0"
+"vistaprint\0"
+"kodaira.tokyo.jp\0"
+"*.gu\0ed.pw\0nsn.us\0"
+"hu.net\0"
+"fi.cr\0horokanai.hokkaido.jp\0gwangju.kr\0"
+"yamagata.nagano.jp\0"
+"lubin.pl\0blogspot.gr\0"
+"modelling.aero\0rendalen.no\0kostroma.ru\0from-sc.com\0"
+"tarnobrzeg.pl\0"
+"ivgu.no\0comsec\0"
+"broadcast.museum\0"
+"buryatia.ru\0blogspot.hk\0"
"kl\xc3\xa6""bu.no\0"
-"vossevangen.no\0"
-"casino.hu\0"
-"stuttgart.museum\0"
-"tamamura.gunma.jp\0"
-"malopolska.pl\0"
-"is-a-student.com\0"
-"naka.hiroshima.jp\0higashichichibu.saitama.jp\0"
-"mykolaiv.ua\0!mod.uk\0"
-"lt.it\0"
-"honjo.saitama.jp\0"
-"manchester.museum\0bedzin.pl\0"
-"sandiego.museum\0"
-"sakuho.nagano.jp\0"
-"nv.us\0is-a-liberal.com\0"
-"2.bg\0nature.museum\0"
-"za.net\0"
-"!city.nagoya.jp\0ris\xc3\xb8r.no\0"
-"sanda.hyogo.jp\0"
-"satsumasendai.kagoshima.jp\0kizu.kyoto.jp\0is-a-cubicle-slave.com\0"
-"yamagata.yamagata.jp\0"
-"\xd8\xa7\xd9\x85\xd8\xa7\xd8\xb1\xd8\xa7\xd8\xaa\0"
-"k12.vi\0"
-"svalbard.no\0"
-"koganei.tokyo.jp\0"
-"cci.fr\0inami.toyama.jp\0"
-"misconfused.org\0"
-"int.az\0"
+"*.il\0"
+"study\0"
+"kameyama.mie.jp\0wakasa.tottori.jp\0"
+"bas.it\0kanzaki.saga.jp\0"
+"cc.de.us\0blogspot.hu\0blogspot.ie\0"
+"hasama.oita.jp\0"
+"ri.it\0dynalias.net\0"
+"\xe6\x94\xbf\xe5\x8a\xa1\0"
+"toscana.it\0shikokuchuo.ehime.jp\0"
+"aknoluokta.no\0sor-varanger.no\0"
+"kasamatsu.gifu.jp\0kawaue.gifu.jp\0blogspot.in\0"
+"*.jm\0"
+"ina.nagano.jp\0"
+"venezia.it\0misato.shimane.jp\0"
+"is-very-good.org\0blogspot.be\0"
+"*.ke\0tananger.no\0lib.sc.us\0dating\0"
+"kakegawa.shizuoka.jp\0skin\0"
+"8.bg\0"
+"omachi.nagano.jp\0ichikawamisato.yamanashi.jp\0*.kh\0blogspot.bj\0"
+"yashio.saitama.jp\0"
+"blogspot.ca\0"
+"arq.br\0takayama.gunma.jp\0"
+"kagoshima.kagoshima.jp\0cancerresearch\0"
+"miami\0"
+"mihama.aichi.jp\0blogspot.cf\0"
+"blogspot.ch\0"
+"*.kw\0bindal.no\0"
+"li.it\0"
+"nationalfirearms.museum\0"
+"rochester.museum\0"
+"shibata.miyagi.jp\0"
+"blogspot.de\0"
+"blogspot.cv\0"
+"leirvik.no\0"
+"blogspot.cz\0"
+"civilwar.museum\0krodsherad.no\0eng.pro\0blogspot.dk\0"
+"kamiamakusa.kumamoto.jp\0"
+"nic.in\0umbria.it\0"
+"*.mm\0stv.ru\0"
+"noto.ishikawa.jp\0webhop.biz\0"
+"kiyosato.hokkaido.jp\0ueda.nagano.jp\0miyake.nara.jp\0"
+"scienceandhistory.museum\0"
+"nittedal.no\0"
+"gorge.museum\0"
+"\xe0\xa4\xad\xe0\xa4\xbe\xe0\xa4\xb0\xe0\xa4\xa4\0"
+"*.ni\0"
+"fi.it\0*.mz\0\xd8\xa7\xd8\xb1\xd8\xa7\xd9\x85\xd9\x83\xd9\x88\0"
+"vibovalentia.it\0"
+"*.np\0"
+"sigdal.no\0skype\0"
+"ono.fukushima.jp\0"
+"mutsu.aomori.jp\0omachi.saga.jp\0"
+"yn.cn\0"
+"rost.no\0company\0"
+"trainer.aero\0scienceandindustry.museum\0"
+"kitaakita.akita.jp\0"
+"entertainment.aero\0"
+"fuettertdasnetz.de\0"
+"contemporary.museum\0"
+"higashiyodogawa.osaka.jp\0"
+"*.pg\0"
+"aioi.hyogo.jp\0"
+"newyork.museum\0\xd0\xbe\xd0\xb4.\xd1\x81\xd1\x80\xd0\xb1\0"
+"does-it.net\0"
+"her\xc3\xb8y.nordland.no\0"
+"sosa.chiba.jp\0uryu.hokkaido.jp\0hirakata.osaka.jp\0"
+"valle.no\0"
+"circus.museum\0"
+"citic\0"
+"sn.cn\0"
+"fukuyama.hiroshima.jp\0hiv\0"
+"lenvik.no\0"
+"nieruchomosci.pl\0"
+"higashihiroshima.hiroshima.jp\0ohtawara.tochigi.jp\0"
+"lib.nj.us\0"
+"direct\0"
+"blogspot.ae\0"
+"kamaishi.iwate.jp\0omura.nagasaki.jp\0kaminoyama.yamagata.jp\0"
+"s\xc3\xa1lat.no\0"
+"towada.aomori.jp\0"
+"klabu.no\0"
+"padua.it\0"
+"kr.ua\0"
+"bio.br\0morimachi.shizuoka.jp\0"
+"assisi.museum\0"
+"tone.ibaraki.jp\0tsuno.miyazaki.jp\0"
+"sells-for-less.com\0"
+"hichiso.gifu.jp\0czeladz.pl\0"
+"hvaler.no\0"
+"paragliding.aero\0asnes.no\0"
+"tako.chiba.jp\0"
+"house.museum\0"
+"anan.nagano.jp\0mihama.wakayama.jp\0"
+"heritage.museum\0andebu.no\0from-wy.com\0"
+"service.gov.uk\0"
+"chambagri.fr\0"
+"istmein.de\0"
+"myoko.niigata.jp\0from-az.net\0"
+"wy.us\0"
+"yamakita.kanagawa.jp\0"
+"garden.museum\0"
+"\xe5\x92\x8c\xe6\xad\x8c\xe5\xb1\xb1.jp\0"
+"qld.au\0gok.pk\0"
+"schokoladen.museum\0"
+"southcarolina.museum\0"
+"nativeamerican.museum\0s3-website-us-west-1.amazonaws.com\0is-a-personaltrainer.com\0"
+"hirosaki.aomori.jp\0"
+"homes\0"
+"fineart.museum\0"
+"crown\0"
+"nrw.museum\0"
+"from-in.com\0"
+"kaufen\0"
+"grue.no\0lib.az.us\0\xd8\xb3\xd9\x88\xd8\xb1\xd9\x8a\xd8\xa7\0"
+"far.br\0arita.saga.jp\0"
+"bronnoy.no\0lipetsk.ru\0ri.us\0\xd8\xb3\xd9\x88\xd8\xb1\xd9\x8a\xd8\xa9\0is-a-conservative.com\0"
+"honbetsu.hokkaido.jp\0"
+"lib.ne.us\0selfip.org\0"
+"tmp.br\0wakayama.jp\0"
+"lodingen.no\0"
+"moriya.ibaraki.jp\0shioya.tochigi.jp\0"
+"dolls.museum\0health.museum\0"
+"trentinoaadige.it\0"
+"ascoli-piceno.it\0fukushima.fukushima.jp\0"
+"takasaki.gunma.jp\0"
+"how\0"
+"bandai.fukushima.jp\0takaharu.miyazaki.jp\0"
+"muenster.museum\0"
+"statoil\0"
+"himeji.hyogo.jp\0"
+"asti.it\0"
+"certification.aero\0santabarbara.museum\0yorkshire.museum\0sandnessjoen.no\0hasvik.no\0"
+"bus.museum\0africa.com\0"
+"ky.us\0"
+"sennan.osaka.jp\0nic.tj\0"
+"lib.gu.us\0"
+"k12.la.us\0"
+"konyvelo.hu\0trolley.museum\0bradesco\0is-a-liberal.com\0"
+"mihama.chiba.jp\0misato.miyagi.jp\0madrid\0"
+"yalta.ua\0accenture\0"
+"b\xc3\xa1l\xc3\xa1t.no\0"
+"fujisawa.iwate.jp\0saiki.oita.jp\0"
+"countryestate.museum\0*.ye\0"
+"yuu.yamaguchi.jp\0"
+"airguard.museum\0horten.no\0"
+"lukow.pl\0"
+"nhs.uk\0"
+"forum.hu\0"
+"ag.it\0chiryu.aichi.jp\0nankoku.kochi.jp\0"
+"asahi.ibaraki.jp\0"
+"tr\xc3\xb8gstad.no\0"
+"mn.it\0setouchi.okayama.jp\0"
+"utsira.no\0cc.la.us\0*.za\0ibm\0"
+"uda.nara.jp\0kitagata.saga.jp\0arakawa.saitama.jp\0\xe5\x95\x86\xe5\x9f\x8e\0"
+"hole.no\0"
+"he.cn\0shiraoi.hokkaido.jp\0mimata.miyazaki.jp\0"
+"shingo.aomori.jp\0tateyama.chiba.jp\0kaita.hiroshima.jp\0"
+"database.museum\0vodka\0"
+"lardal.no\0ice\0"
+"spy.museum\0*.zm\0"
+"hiraizumi.iwate.jp\0"
+"airtraffic.aero\0"
+"trentinoaltoadige.it\0"
+"enna.it\0"
+"association.aero\0*.zw\0"
+"funagata.yamagata.jp\0"
+"kaluga.ru\0clinic\0icu\0"
+"okayama.okayama.jp\0"
+"is-a-techie.com\0"
+"nl.ca\0virtuel.museum\0"
+"waw.pl\0"
+"is-a-rockstar.com\0"
+"higashimatsushima.miyagi.jp\0iruma.saitama.jp\0"
+"yusui.kagoshima.jp\0kalisz.pl\0"
+"from-va.com\0"
+"hiranai.aomori.jp\0"
+"te.it\0beer\0"
+"mallorca.museum\0svelvik.no\0"
+"career\0"
+"tver.ru\0"
};
static const quint16 tldChunkCount = 2;
-static const quint32 tldChunks[] = {65521, 75539};
+static const quint32 tldChunks[] = {65528, 84704};
QT_END_NAMESPACE
diff --git a/src/corelib/io/qurltlds_p.h.INFO b/src/corelib/io/qurltlds_p.h.INFO
index 5781c2c678..7e5c0bb19f 100644
--- a/src/corelib/io/qurltlds_p.h.INFO
+++ b/src/corelib/io/qurltlds_p.h.INFO
@@ -9,8 +9,8 @@ Those arrays in qurltlds_p.h are derived from the Public
Suffix List ([2]), which was originally provided by
Jo Hermans <jo.hermans@gmail.com>.
-The file qurltlds_p.h was last generated Friday,
-November 19th 15:24 2010.
+The file qurltlds_p.h was last generated Wednesday,
+February 11th 14:36 2015.
----
[1] list: http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1
diff --git a/src/corelib/io/qwindowspipereader.cpp b/src/corelib/io/qwindowspipereader.cpp
index e932fc0c02..ab2025ee5c 100644
--- a/src/corelib/io/qwindowspipereader.cpp
+++ b/src/corelib/io/qwindowspipereader.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qwindowspipereader_p.h b/src/corelib/io/qwindowspipereader_p.h
index ecc6974efa..7904f116cb 100644
--- a/src/corelib/io/qwindowspipereader_p.h
+++ b/src/corelib/io/qwindowspipereader_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qwindowspipewriter.cpp b/src/corelib/io/qwindowspipewriter.cpp
index afa7d28f35..add2ac94da 100644
--- a/src/corelib/io/qwindowspipewriter.cpp
+++ b/src/corelib/io/qwindowspipewriter.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qwindowspipewriter_p.h b/src/corelib/io/qwindowspipewriter_p.h
index 6035993500..78d43e6efe 100644
--- a/src/corelib/io/qwindowspipewriter_p.h
+++ b/src/corelib/io/qwindowspipewriter_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qwinoverlappedionotifier.cpp b/src/corelib/io/qwinoverlappedionotifier.cpp
index de0e205d26..17d546c0ce 100644
--- a/src/corelib/io/qwinoverlappedionotifier.cpp
+++ b/src/corelib/io/qwinoverlappedionotifier.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
diff --git a/src/corelib/io/qwinoverlappedionotifier_p.h b/src/corelib/io/qwinoverlappedionotifier_p.h
index 5863e3a468..863f87353e 100644
--- a/src/corelib/io/qwinoverlappedionotifier_p.h
+++ b/src/corelib/io/qwinoverlappedionotifier_p.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$