From 0ba5d5dad15cb62673c2cbf69bdb8739c6ef68fe Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Tue, 6 Mar 2018 20:08:17 -0800 Subject: [PATCH 01/26] #478: M1416307 M1430557 M1416529 M1324042 M1428947 M1437087 M1440926 M1425520 --- docshell/base/nsDocShell.cpp | 21 +++++++++++---------- docshell/base/nsIRefreshURI.idl | 15 ++++++--------- dom/base/nsDocumentEncoder.cpp | 2 +- dom/media/MediaData.cpp | 2 +- dom/svg/DOMSVGPathSegList.cpp | 21 +++++++++++++++++++-- editor/libeditor/nsEditor.cpp | 9 ++++++++- gfx/layers/ImageContainer.cpp | 25 ++++++++++++++----------- intl/uconv/ucvtw/nsBIG5ToUnicode.cpp | 12 +++++++++++- intl/uconv/ucvtw/nsUnicodeToBIG5.cpp | 21 +++++++++++++++------ layout/generic/nsTextFrame.cpp | 6 +++++- netwerk/protocol/http/Http2Session.cpp | 18 +++++++++--------- netwerk/protocol/http/Http2Stream.cpp | 14 ++++++++++++++ netwerk/protocol/http/Http2Stream.h | 1 + 13 files changed, 115 insertions(+), 52 deletions(-) diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp index 50a7f6c6e..6baa001a7 100644 --- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -6630,9 +6630,17 @@ nsDocShell::ForceRefreshURI(nsIURI* aURI, int32_t aDelay, bool aMetaRefresh, nsI */ loadInfo->SetReferrer(mCurrentURI); - /* Don't ever "guess" on which owner to use to avoid picking - * the current owner. - */ + // Set the triggering pricipal to aPrincipal if available, or current + // document's principal otherwise. + nsCOMPtr principal = aPrincipal; + if (!principal) { + nsCOMPtr doc = GetDocument(); + if (MOZ_UNLIKELY(!doc)) { + return NS_ERROR_FAILURE; + } + principal = doc->NodePrincipal(); + } + loadInfo->SetOwner(principal); // equivalent for SetTriggeringPrincipal loadInfo->SetOwnerIsExplicit(true); /* Check if this META refresh causes a redirection @@ -6660,13 +6668,6 @@ nsDocShell::ForceRefreshURI(nsIURI* aURI, int32_t aDelay, bool aMetaRefresh, nsI loadInfo->SetLoadType(nsIDocShellLoadInfo::loadRefresh); } - // If the principal is null, the refresh will have a triggeringPrincipal - // derived from the referrer URI, or will be set to the system principal - // if there is no refererrer. See LoadURI() - if (aPrincipal) { - loadInfo->SetOwner(aPrincipal); // as called prior to bug 1286472 - } - /* * LoadURI(...) will cancel all refresh timers... This causes the * Timer and its refreshData instance to be released... diff --git a/docshell/base/nsIRefreshURI.idl b/docshell/base/nsIRefreshURI.idl index 5abd829da..04f18eee0 100644 --- a/docshell/base/nsIRefreshURI.idl +++ b/docshell/base/nsIRefreshURI.idl @@ -19,9 +19,8 @@ interface nsIRefreshURI : nsISupports { * * @param aUri The uri to refresh. * @param aPrincipal The triggeringPrincipal for the refresh load - * May be null, in which case a principal will be built based on the - * referrer URI of the previous docshell load, or will use the system - * principal when there is no referrer. + * May be null, in which case the principal of current document will be + * applied. * @param aMillis The number of milliseconds to wait. * @param aRepeat Flag to indicate if the uri is to be * repeatedly refreshed every aMillis milliseconds. @@ -37,9 +36,8 @@ interface nsIRefreshURI : nsISupports { * * @param aURI The URI to refresh. * @param aPrincipal The triggeringPrincipal for the refresh load - * May be null, in which case a principal will be built based on the - * referrer URI of the previous docshell load, or will use the system - * principal when there is no referrer. + * May be null, in which case the principal of current document will be + * applied. * @param aMillis The number of milliseconds by which this refresh would * be delayed if it were not being forced. * @param aMetaRefresh Flag to indicate if this is a meta refresh. @@ -70,9 +68,8 @@ interface nsIRefreshURI : nsISupports { * * @param aBaseURI base URI to resolve refresh uri with. * @param aPrincipal The triggeringPrincipal for the refresh load - * May be null, in which case a principal will be built based on the - * referrer URI of the previous docshell load, or will use the system - * principal when there is no referrer. + * May be null, in which case the principal of current document will be + * applied. * @param aHeader The meta refresh header string. */ void setupRefreshURIFromHeader(in nsIURI aBaseURI, diff --git a/dom/base/nsDocumentEncoder.cpp b/dom/base/nsDocumentEncoder.cpp index c1c1ef8ff..4e36a2f65 100644 --- a/dom/base/nsDocumentEncoder.cpp +++ b/dom/base/nsDocumentEncoder.cpp @@ -562,7 +562,7 @@ nsDocumentEncoder::SerializeToStringRecursive(nsINode* aNode, } if (!aDontSerializeRoot) { - rv = SerializeNodeEnd(node, aStr); + rv = SerializeNodeEnd(maybeFixedNode, aStr); NS_ENSURE_SUCCESS(rv, rv); } diff --git a/dom/media/MediaData.cpp b/dom/media/MediaData.cpp index d2f9cc06e..80ebc3a4b 100644 --- a/dom/media/MediaData.cpp +++ b/dom/media/MediaData.cpp @@ -79,7 +79,7 @@ ValidatePlane(const VideoData::YCbCrBuffer::Plane& aPlane) return aPlane.mWidth <= PlanarYCbCrImage::MAX_DIMENSION && aPlane.mHeight <= PlanarYCbCrImage::MAX_DIMENSION && aPlane.mWidth * aPlane.mHeight < MAX_VIDEO_WIDTH * MAX_VIDEO_HEIGHT && - aPlane.mStride > 0; + aPlane.mStride > 0 && aPlane.mWidth <= aPlane.mStride; } #ifdef MOZ_WIDGET_GONK diff --git a/dom/svg/DOMSVGPathSegList.cpp b/dom/svg/DOMSVGPathSegList.cpp index edacdfc93..0b811cdb1 100644 --- a/dom/svg/DOMSVGPathSegList.cpp +++ b/dom/svg/DOMSVGPathSegList.cpp @@ -460,6 +460,18 @@ DOMSVGPathSegList::ReplaceItem(DOMSVGPathSeg& aNewItem, float segAsRaw[1 + NS_SVG_PATH_SEG_MAX_ARGS]; domItem->ToSVGPathSegEncodedData(segAsRaw); + if (AnimListMirrorsBaseList()) { + // The anim val list is in sync with the base val list - remove mirroring + // animVal item if necessary. We do this *before* touching InternalList() + // so the removed item can correctly store its internal value. + DOMSVGPathSegList* animVal = + GetDOMWrapperIfExists(InternalAList().GetAnimValKey()); + if (animVal->ItemAt(aIndex)) { + animVal->ItemAt(aIndex)->RemovingFromList(); + animVal->ItemAt(aIndex) = nullptr; + } + } + if (!InternalList().mData.ReplaceElementsAt(internalIndex, 1 + oldArgCount, segAsRaw, 1 + newArgCount, fallible)) { @@ -474,8 +486,13 @@ DOMSVGPathSegList::ReplaceItem(DOMSVGPathSeg& aNewItem, int32_t delta = newArgCount - oldArgCount; if (delta != 0) { - for (uint32_t i = aIndex + 1; i < LengthNoFlush(); ++i) { - mItems[i].mInternalDataIndex += delta; + // Sync up the internal indexes of all ItemProxys that come after aIndex: + UpdateListIndicesFromIndex(aIndex + 1, delta); + if (AnimListMirrorsBaseList()) { + // The anim val list is in sync with the base val list + DOMSVGPathSegList* animVal = + GetDOMWrapperIfExists(InternalAList().GetAnimValKey()); + animVal->UpdateListIndicesFromIndex(aIndex + 1, delta); } } diff --git a/editor/libeditor/nsEditor.cpp b/editor/libeditor/nsEditor.cpp index dfe99d8ed..14befa257 100644 --- a/editor/libeditor/nsEditor.cpp +++ b/editor/libeditor/nsEditor.cpp @@ -176,7 +176,14 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsEditor) NS_IMPL_CYCLE_COLLECTION_UNLINK(mEditorObservers) NS_IMPL_CYCLE_COLLECTION_UNLINK(mDocStateListeners) NS_IMPL_CYCLE_COLLECTION_UNLINK(mEventTarget) - NS_IMPL_CYCLE_COLLECTION_UNLINK(mEventListener) + + if (tmp->mEventListener) { + nsEditorEventListener* listener = + reinterpret_cast(tmp->mEventListener.get()); + listener->Disconnect(); + tmp->mEventListener = nullptr; + } + NS_IMPL_CYCLE_COLLECTION_UNLINK_END NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsEditor) diff --git a/gfx/layers/ImageContainer.cpp b/gfx/layers/ImageContainer.cpp index 0474b84cb..50e810088 100644 --- a/gfx/layers/ImageContainer.cpp +++ b/gfx/layers/ImageContainer.cpp @@ -430,12 +430,15 @@ static void CopyPlane(uint8_t *aDst, const uint8_t *aSrc, const gfx::IntSize &aSize, int32_t aStride, int32_t aSkip) { + int32_t height = aSize.height; + int32_t width = aSize.width; + + MOZ_RELEASE_ASSERT(width <= aStride); + if (!aSkip) { // Fast path: planar input. - memcpy(aDst, aSrc, aSize.height * aStride); + memcpy(aDst, aSrc, height * aStride); } else { - int32_t height = aSize.height; - int32_t width = aSize.width; for (int y = 0; y < height; ++y) { const uint8_t *src = aSrc; uint8_t *dst = aDst; @@ -453,13 +456,11 @@ CopyPlane(uint8_t *aDst, const uint8_t *aSrc, bool RecyclingPlanarYCbCrImage::CopyData(const Data& aData) { - mData = aData; - // update buffer size // Use uint32_t throughout to match AllocateBuffer's param and mBufferSize const auto checkedSize = - CheckedInt(mData.mCbCrStride) * mData.mCbCrSize.height * 2 + - CheckedInt(mData.mYStride) * mData.mYSize.height; + CheckedInt(aData.mCbCrStride) * aData.mCbCrSize.height * 2 + + CheckedInt(aData.mYStride) * aData.mYSize.height; if (!checkedSize.isValid()) return false; @@ -468,22 +469,24 @@ RecyclingPlanarYCbCrImage::CopyData(const Data& aData) // get new buffer mBuffer = AllocateBuffer(size); - if (!mBuffer) + if (MOZ_UNLIKELY(!mBuffer)) return false; // update buffer size mBufferSize = size; + mData = aData; mData.mYChannel = mBuffer.get(); mData.mCbChannel = mData.mYChannel + mData.mYStride * mData.mYSize.height; mData.mCrChannel = mData.mCbChannel + mData.mCbCrStride * mData.mCbCrSize.height; + mData.mYSkip = mData.mCbSkip = mData.mCrSkip = 0; CopyPlane(mData.mYChannel, aData.mYChannel, - mData.mYSize, mData.mYStride, mData.mYSkip); + aData.mYSize, aData.mYStride, aData.mYSkip); CopyPlane(mData.mCbChannel, aData.mCbChannel, - mData.mCbCrSize, mData.mCbCrStride, mData.mCbSkip); + aData.mCbCrSize, aData.mCbCrStride, aData.mCbSkip); CopyPlane(mData.mCrChannel, aData.mCrChannel, - mData.mCbCrSize, mData.mCbCrStride, mData.mCrSkip); + aData.mCbCrSize, aData.mCbCrStride, aData.mCrSkip); mSize = aData.mPicSize; return true; diff --git a/intl/uconv/ucvtw/nsBIG5ToUnicode.cpp b/intl/uconv/ucvtw/nsBIG5ToUnicode.cpp index 8dbf84a14..b07df3d76 100644 --- a/intl/uconv/ucvtw/nsBIG5ToUnicode.cpp +++ b/intl/uconv/ucvtw/nsBIG5ToUnicode.cpp @@ -152,7 +152,17 @@ nsBIG5ToUnicode::GetMaxLength(const char* aSrc, { // The length of the output in UTF-16 code units never exceeds the length // of the input in bytes. - *aDestLength = aSrcLength + (mPendingTrail ? 1 : 0) + (mBig5Lead ? 1 : 0); + mozilla::CheckedInt32 length = aSrcLength; + if (mPendingTrail) { + length += 1; + } + if (mBig5Lead) { + length += 1; + } + if (!length.isValid()) { + return NS_ERROR_OUT_OF_MEMORY; + } + *aDestLength = length.value(); return NS_OK; } diff --git a/intl/uconv/ucvtw/nsUnicodeToBIG5.cpp b/intl/uconv/ucvtw/nsUnicodeToBIG5.cpp index c3c9658df..b30be2f9b 100644 --- a/intl/uconv/ucvtw/nsUnicodeToBIG5.cpp +++ b/intl/uconv/ucvtw/nsUnicodeToBIG5.cpp @@ -211,12 +211,21 @@ nsUnicodeToBIG5::GetMaxLength(const char16_t* aSrc, int32_t aSrcLength, int32_t* aDestLength) { - *aDestLength = (aSrcLength * 2) + - (mPendingTrail ? 1 : 0) + - // If the lead ends up being paired, the bytes produced - // are already included above. - // If not, it produces a single '?'. - (mUtf16Lead ? 1 : 0); + mozilla::CheckedInt32 length = aSrcLength; + length *= 2; + if (mPendingTrail) { + length += 1; + } + // If the lead ends up being paired, the bytes produced + // are already included above. + // If not, it produces a single '?'. + if (mUtf16Lead) { + length += 1; + } + if (!length.isValid()) { + return NS_ERROR_OUT_OF_MEMORY; + } + *aDestLength = length.value(); return NS_OK; } diff --git a/layout/generic/nsTextFrame.cpp b/layout/generic/nsTextFrame.cpp index d4e0e5d65..f01cd5d9f 100644 --- a/layout/generic/nsTextFrame.cpp +++ b/layout/generic/nsTextFrame.cpp @@ -9345,9 +9345,13 @@ nsTextFrame::GetRenderedText(uint32_t aStartOffset, startOffset = aStartOffset; endOffset = std::min(INT32_MAX, aEndOffset); } + + // If startOffset and/or endOffset are inside of trimmedOffsets' range, + // then clamp the edges of trimmedOffsets accordingly. + int32_t origTrimmedOffsetsEnd = trimmedOffsets.GetEnd(); trimmedOffsets.mStart = std::max(trimmedOffsets.mStart, startOffset); - trimmedOffsets.mLength = std::min(trimmedOffsets.GetEnd(), + trimmedOffsets.mLength = std::min(origTrimmedOffsetsEnd, endOffset) - trimmedOffsets.mStart; if (trimmedOffsets.mLength <= 0) { offsetInRenderedString = nextOffsetInRenderedString; diff --git a/netwerk/protocol/http/Http2Session.cpp b/netwerk/protocol/http/Http2Session.cpp index 05c69b63b..4260bcfc1 100644 --- a/netwerk/protocol/http/Http2Session.cpp +++ b/netwerk/protocol/http/Http2Session.cpp @@ -1014,6 +1014,15 @@ Http2Session::CleanupStream(Http2Stream *aStream, nsresult aResult, return; } + Http2PushedStream *pushSource = aStream->PushSource(); + if (pushSource) { + // aStream is a synthetic attached to an even push + MOZ_ASSERT(pushSource->GetConsumerStream() == aStream); + MOZ_ASSERT(!aStream->StreamID()); + MOZ_ASSERT(!(pushSource->StreamID() & 0x1)); + aStream->ClearPushSource(); + } + if (aStream->DeferCleanup(aResult)) { LOG3(("Http2Session::CleanupStream 0x%X deferred\n", aStream->StreamID())); return; @@ -1024,15 +1033,6 @@ Http2Session::CleanupStream(Http2Stream *aStream, nsresult aResult, return; } - Http2PushedStream *pushSource = aStream->PushSource(); - if (pushSource) { - // aStream is a synthetic attached to an even push - MOZ_ASSERT(pushSource->GetConsumerStream() == aStream); - MOZ_ASSERT(!aStream->StreamID()); - MOZ_ASSERT(!(pushSource->StreamID() & 0x1)); - pushSource->SetConsumerStream(nullptr); - } - if (!aStream->RecvdFin() && !aStream->RecvdReset() && aStream->StreamID()) { LOG3(("Stream had not processed recv FIN, sending RST code %X\n", aResetCode)); GenerateRstStream(aResetCode, aStream->StreamID()); diff --git a/netwerk/protocol/http/Http2Stream.cpp b/netwerk/protocol/http/Http2Stream.cpp index fea9b6155..444dee1e9 100644 --- a/netwerk/protocol/http/Http2Stream.cpp +++ b/netwerk/protocol/http/Http2Stream.cpp @@ -101,10 +101,20 @@ Http2Stream::Http2Stream(nsAHttpTransaction *httpTransaction, Http2Stream::~Http2Stream() { + ClearPushSource(); ClearTransactionsBlockedOnTunnel(); mStreamID = Http2Session::kDeadStreamID; } +void +Http2Stream::ClearPushSource() +{ + if (mPushSource) { + mPushSource->SetConsumerStream(nullptr); + mPushSource = nullptr; + } +} + // ReadSegments() is used to write data down the socket. Generally, HTTP // request data is pulled from the approriate transaction and // converted to HTTP/2 data. Sometimes control data like a window-update is @@ -1091,6 +1101,10 @@ Http2Stream::ConvertPushHeaders(Http2Decompressor *decompressor, void Http2Stream::Close(nsresult reason) { + // In case we are connected to a push, make sure the push knows we are closed, + // so it doesn't try to give us any more DATA that comes on it after our close. + ClearPushSource(); + mTransaction->Close(reason); } diff --git a/netwerk/protocol/http/Http2Stream.h b/netwerk/protocol/http/Http2Stream.h index b5bec97c3..3cd2e424f 100644 --- a/netwerk/protocol/http/Http2Stream.h +++ b/netwerk/protocol/http/Http2Stream.h @@ -47,6 +47,7 @@ public: uint32_t StreamID() { return mStreamID; } Http2PushedStream *PushSource() { return mPushSource; } + void ClearPushSource(); stateType HTTPState() { return mState; } void SetHTTPState(stateType val) { mState = val; } From 21688e7ca8a8ac24ed9d466c9ce3fbbb32a40f93 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Wed, 7 Mar 2018 00:33:33 -0800 Subject: [PATCH 02/26] #478: M1437507 M1437450 --- js/src/jit/IonAnalysis.cpp | 6 ++++++ js/src/vm/Shape.cpp | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/js/src/jit/IonAnalysis.cpp b/js/src/jit/IonAnalysis.cpp index 8a41afc51..789565e5f 100644 --- a/js/src/jit/IonAnalysis.cpp +++ b/js/src/jit/IonAnalysis.cpp @@ -1824,6 +1824,12 @@ jit::ApplyTypeInformation(MIRGenerator* mir, MIRGraph& graph) bool jit::MakeMRegExpHoistable(MIRGraph& graph) { + // If we are compiling try blocks, regular expressions may be observable + // from catch blocks (which Ion does not compile). For now just disable the + // pass in this case. + if (graph.hasTryBlock()) + return true; + for (ReversePostorderIterator block(graph.rpoBegin()); block != graph.rpoEnd(); block++) { for (MDefinitionIterator iter(*block); iter; iter++) { if (!iter->isRegExp()) diff --git a/js/src/vm/Shape.cpp b/js/src/vm/Shape.cpp index 195156e64..cf936758a 100644 --- a/js/src/vm/Shape.cpp +++ b/js/src/vm/Shape.cpp @@ -1124,6 +1124,10 @@ JSObject::setFlags(ExclusiveContext* cx, BaseShape::Flag flags, GenerateShape ge RootedObject self(cx, this); + Shape* existingShape = self->ensureShape(cx); + if (!existingShape) + return false; + if (isNative() && as().inDictionaryMode()) { if (generateShape == GENERATE_SHAPE && !as().generateOwnShape(cx)) return false; @@ -1137,10 +1141,6 @@ JSObject::setFlags(ExclusiveContext* cx, BaseShape::Flag flags, GenerateShape ge return true; } - Shape* existingShape = self->ensureShape(cx); - if (!existingShape) - return false; - Shape* newShape = Shape::setObjectFlags(cx, flags, self->getTaggedProto(), existingShape); if (!newShape) return false; From b1e7482c24e996698c485e490cfb3e2513f1da83 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Wed, 7 Mar 2018 06:15:18 -0800 Subject: [PATCH 03/26] #478: update certs and pins --- security/manager/ssl/StaticHPKPins.h | 5 +- security/manager/ssl/nsSTSPreloadList.inc | 2112 +++++++++++++-------- 2 files changed, 1309 insertions(+), 808 deletions(-) diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index 16b9eaffb..192e7fbe4 100644 --- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -1032,6 +1032,7 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = { { "goto.google.com", true, false, false, -1, &kPinset_google_root_pems }, { "gr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo }, { "groups.google.com", true, false, false, -1, &kPinset_google_root_pems }, + { "gstatic.cn", true, false, false, -1, &kPinset_google_root_pems }, { "gstatic.com", true, false, false, -1, &kPinset_google_root_pems }, { "gvt1.com", true, false, false, -1, &kPinset_google_root_pems }, { "gvt2.com", true, false, false, -1, &kPinset_google_root_pems }, @@ -1179,8 +1180,8 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = { { "zh.search.yahoo.com", false, true, false, -1, &kPinset_yahoo }, }; -// Pinning Preload List Length = 477; +// Pinning Preload List Length = 478; static const int32_t kUnknownId = -1; -static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1527453921095000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1528837162062000); diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index 9276e6268..9b6400214 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -10,7 +10,7 @@ /* imported from ESR52 by TenFourFox conversion script */ #include -const PRTime gPreloadListExpirationTime = INT64_C(1529873108891000); +const PRTime gPreloadListExpirationTime = INT64_C(1531256349098000); class nsSTSPreload { @@ -42,24 +42,40 @@ static const nsSTSPreload kSTSPreloadList[] = { { "00881919.com", true }, { "00990099.net", true }, { "00f.net", true }, - { "00wbf.com", true }, { "0100dev.com", false }, { "0100dev.nl", false }, + { "013028.com", true }, + { "016028.com", true }, + { "016098.com", true }, + { "016298.com", true }, + { "016328.com", true }, + { "019328.com", true }, + { "019398.com", true }, { "01electronica.com.ar", true }, { "01seguridad.com.ar", true }, + { "01smh.com", true }, { "0222.mg", true }, { "023838.com", true }, { "023sec.com", true }, - { "02dl.net", true }, - { "03-09-2016.wedding", true }, + { "02607.com", true }, + { "028718.com", true }, + { "029978.com", true }, + { "02smh.com", true }, { "040fitvitality.nl", true }, { "046569.com", true }, { "04sun.com", true }, { "050media.nl", true }, { "0513c.com", true }, + { "055268.com", true }, { "0573wk.com", true }, + { "066318.com", true }, + { "066538.com", true }, + { "066718.com", true }, { "06se.com", true }, { "07733.win", true }, + { "081638.com", true }, + { "086628.com", true }, + { "09115.com", true }, { "0au.de", true }, { "0c.eu", true }, { "0c3.de", true }, @@ -83,7 +99,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "0x65.net", true }, { "0x7d.com", true }, { "0x7fffffff.net", true }, - { "0x90.in", true }, { "0x90.io", true }, { "0xaa55.me", true }, { "0xabe.io", true }, @@ -100,13 +115,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "10000v.ru", true }, { "1000hats.com", true }, { "1000minds.com", true }, - { "1000serien.com", true }, - { "1001.best", true }, { "1001kerstpakketten.com", false }, { "100and1.jp", true }, { "100kredite.de", true }, { "100mani.it", true }, - { "100onrainkajino.com", true }, { "100pounds.co.uk", true }, { "100rembourse.be", true }, { "1011100.com", true }, @@ -143,6 +155,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "125m125.de", true }, { "12vpn.net", true }, { "130.ua", true }, + { "130978.com", true }, { "132kv.ch", true }, { "13318522.com", true }, { "1359826938.rsc.cdn77.org", true }, @@ -167,9 +180,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "1511774230.rsc.cdn77.org", true }, { "1590284872.rsc.cdn77.org", true }, { "1600esplanade.com", true }, + { "160887.com", true }, { "16164f.com", true }, { "1644091933.rsc.cdn77.org", true }, - { "166166.com", true }, { "168bet9.com", true }, { "168bo9.com", true }, { "168bo9.net", true }, @@ -200,7 +213,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "1cover.co.nz", true }, { "1cover.com.au", true }, { "1e9.nl", true }, - { "1gsoft.com", true }, { "1hourproofreading.com", true }, { "1it.click", true }, { "1item.co.il", true }, @@ -208,6 +220,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "1kando.com", false }, { "1km.ro", true }, { "1kmi.co", true }, + { "1ll.uk", true }, { "1morebounce.co.uk", true }, { "1nfr.com", false }, { "1of16.de", true }, @@ -253,22 +266,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "247a.co.uk", true }, { "247healthshop.com", true }, { "247medplan.com", true }, - { "249cq.com", true }, { "24hourscienceprojects.com", true }, { "24ip.com", true }, { "24ip.de", true }, { "24kbet.com", true }, { "256k.me", true }, { "256pages.com", true }, + { "258da.com", true }, { "25reinyan25.net", true }, { "2600edinburgh.org", true }, { "2600hq.com", true }, - { "263.info", true }, + { "260887.com", true }, { "27728522.com", true }, + { "28-industries.com", true }, { "281180.de", true }, { "28spots.net", true }, { "29227.com", true }, - { "2b3b.com", true }, { "2bas.nl", true }, { "2bcompany.ch", true }, { "2bis10.de", true }, @@ -283,24 +296,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "2cv-fahrer.de", true }, { "2fm.ie", true }, { "2fraud.pro", true }, - { "2gen.com", true }, { "2heartsbookings.co.uk", true }, { "2hypeenterprises.com", true }, { "2kgwf.fi", true }, { "2krueger.de", true }, { "2li.ch", true }, { "2mb.solutions", true }, + { "2mir.com", true }, { "2nains.ch", true }, { "2nerds1bit.com", true }, { "2pay.fr", true }, - { "2programmers.net", true }, { "2stv.net", true }, { "2ulcceria.nl", true }, { "300m.com", false }, { "304squadron.org", true }, { "30hzcollective.com", true }, { "3133780x.com", true }, - { "314chan.org", true }, { "31klabs.com", true }, { "31tv.ru", true }, { "321live.nl", true }, @@ -372,16 +383,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "42entrepreneurs.fr", true }, { "42t.ru", true }, { "439050.com", true }, + { "440887.com", true }, { "441jj.com", false }, + { "442887.com", true }, + { "443887.com", true }, + { "444887.com", true }, + { "445887.com", true }, { "44scc.com", true }, { "4500.co.il", true }, + { "4706666.com", true }, + { "4716666.com", true }, + { "4726666.com", true }, + { "4736666.com", true }, + { "4756666.com", true }, + { "4786666.com", true }, { "491mhz.net", true }, { "49948522.com", true }, + { "4997777.com", true }, { "49dollaridahoregisteredagent.com", true }, { "4bike.eu", true }, { "4dbygg.se", true }, { "4decor.org", true }, - { "4elements.com", true }, { "4flex.info", true }, { "4freepress.com", true }, { "4g-server.eu", false }, @@ -400,6 +422,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "4vf.de", true }, { "4winds.pt", true }, { "4x.fi", true }, + { "4x4.lk", true }, { "4xlabs.co", true }, { "500k.nl", true }, { "500p.xyz", true }, @@ -410,23 +433,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "50plusnet.nl", true }, { "5214889.com", true }, { "5214889.net", true }, - { "525.info", true }, { "52b9.com", true }, { "52b9.net", true }, - { "52kb1.com", true }, + { "52kb.net", true }, { "52kb365.com", true }, { "52sykb.com", true }, { "5310899.com", true }, { "5310899.net", true }, + { "5364b.com", true }, + { "5364c.com", true }, { "53ningen.com", true }, { "5432.cc", true }, - { "546802.com", true }, { "54below.com", true }, { "5533445.com", true }, { "555xl.com", true }, { "558da.com", true }, { "55scc.com", true }, - { "57aromas.com", true }, + { "57he.com", true }, { "598598598.net", true }, { "5apps.com", true }, { "5c1fd0f31022cbc40af9f785847baaf9.space", true }, @@ -450,6 +473,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "6548877.com", true }, { "6633445.com", true }, { "6660111.ru", true }, + { "6677.us", true }, { "668da.com", true }, { "686848.com", true }, { "692b8c32.de", true }, @@ -459,6 +483,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "6t-montjoye.org", true }, { "6w6.la", true }, { "700.az", true }, + { "7045h.com", true }, { "7183.org", true }, { "724go.com", true }, { "762.ch", true }, @@ -471,6 +496,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "7careconnect.com", true }, { "7delights.com", true }, { "7delights.in", true }, + { "7geese.com", true }, { "7graus.pt", true }, { "7kicks.com", true }, { "7links.com.br", true }, @@ -482,11 +508,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "8003pay.com", true }, { "818da.com", true }, { "81uc.com", true }, + { "8206688.com", true }, { "8522.com", true }, { "8522club.com", true }, { "8522top.com", true }, { "86metro.ru", true }, { "8833445.com", true }, + { "887.ag", true }, { "8888esb.com", true }, { "888msc.vip", true }, { "88d.com", true }, @@ -506,7 +534,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "8ack.de", true }, { "8ackprotect.com", true }, { "8azino777.ru", true }, + { "8da188.com", true }, + { "8da2017.com", true }, { "8da2018.com", true }, + { "8da88.com", true }, { "8da999.com", true }, { "8dabet.com", true }, { "8pecxstudios.com", true }, @@ -547,9 +578,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "a-allard.be", true }, { "a-classinflatables.co.uk", true }, { "a-intel.com", true }, - { "a-ix.net", true }, - { "a-little-linux-box.at", true }, { "a-oben.org", true }, + { "a-starbouncycastles.co.uk", true }, { "a1798.com", true }, { "a1bouncycastlehire.com", true }, { "a1jumpandbounce.co.uk", true }, @@ -559,6 +589,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "a2c-co.net", true }, { "a2it.gr", true }, { "a2nutrition.com.au", true }, + { "a4sound.com", true }, { "a7m2.me", true }, { "aa-tour.ru", true }, { "aa6688.net", true }, @@ -569,6 +600,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aalalbayt.com", true }, { "aalalbayt.net", true }, { "aalstmotors-usedcars.be", true }, + { "aaltocapital.com", true }, { "aamwa.com", true }, { "aandeautobody.com", true }, { "aandkevents.co.uk", true }, @@ -579,7 +611,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aariefhaafiz.com", true }, { "aarkue.eu", true }, { "aaronhorler.com", true }, - { "aaronmcguire.me", false }, { "aaronroyle.com", true }, { "aaronsilber.me", true }, { "aatf.us", true }, @@ -608,6 +639,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "abckam.com", true }, { "abcpartyhire.com", true }, { "abcstudio.com.au", true }, + { "abdullah.pw", true }, { "abe-elektro.de", true }, { "abe.cloud", false }, { "abecodes.net", true }, @@ -663,6 +695,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "abolitionistsociety.com", true }, { "abolitionniste.com", true }, { "abolizionista.com", true }, + { "abosav.com", true }, { "abou.to", false }, { "abouncycastleman.co.uk", true }, { "aboutassistedliving.org", true }, @@ -677,6 +710,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aboutyou.de", true }, { "aboutyou.nl", true }, { "abox-kb.com", true }, + { "abpis.hr", true }, { "abracadabra.co.jp", true }, { "abrakidabra.com.br", true }, { "abrilect.com", true }, @@ -705,6 +739,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "academie-de-police.ch", true }, { "academy4.net", true }, { "academytv.com.au", true }, + { "acaeum.com", true }, { "acampar.com.br", true }, { "acaonegocios.com.br", true }, { "acara-yoga.de", true }, @@ -714,6 +749,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "accelerate.network", true }, { "acceleratenetworks.com", true }, { "accelerateyourworld.org", true }, + { "accelsnow.com", true }, { "accentthailand.com", true }, { "accesloges.com", true }, { "accessacab.co.uk", true }, @@ -775,8 +811,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "acrevalue.com", true }, { "acroso.me", true }, { "across.ml", true }, + { "acrylbilder-acrylmalerei.de", true }, { "acrylicwifi.com", true }, { "acs-chantal.com", true }, + { "acsbbs.org", true }, { "acsc.gov.au", true }, { "acsemb.org", true }, { "acsihostingsolutions.com", true }, @@ -787,6 +825,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "actionlabs.net", true }, { "actionmadagascar.ch", true }, { "actionsack.com", true }, + { "actionselling.com", true }, { "actiontowingroundrock.com", true }, { "activatemyiphone.com", true }, { "activateudid.com", true }, @@ -837,6 +876,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "adamwilcox.org", true }, { "adapt-elektronik.com", true }, { "adapt.de", true }, + { "adaptablesecurity.org", true }, { "adapti.de", true }, { "adaptivemechanics.edu.au", true }, { "adawolfa.cz", true }, @@ -888,6 +928,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "admirable.one", true }, { "admody.com", true }, { "admongo.gov", true }, + { "adnanotoyedekparca.com", true }, { "adnot.am", true }, { "adnseguros.es", true }, { "adonnante.com", true }, @@ -918,8 +959,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "adtgroup.com", true }, { "adurra.com", true }, { "aduvi.de", true }, - { "advaithnikhi.ml", true }, - { "advaithnikhi.tk", true }, { "advanced-online.eu", true }, { "advanced-scribes.com", true }, { "advanced.info", true }, @@ -983,13 +1022,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aerisnetwork.com", true }, { "aero-pioneer.com", true }, { "aerobotz.com", true }, - { "aeroparking.es", true }, { "aertel.ie", true }, { "aessencia.com.br", true }, { "aestheticdr.org", true }, { "aesthetics-blog.com", true }, { "aestore.by", true }, { "aesym.de", true }, + { "aeternus.tech", true }, { "aetherc0r3.eu", true }, { "aetoscg.com", true }, { "aetoscg.com.au", true }, @@ -1007,6 +1046,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "affilie.de", true }, { "affinity.vc", true }, { "affinitysync.com", true }, + { "affissioni.roma.it", true }, { "affordableazdivorce.com", true }, { "affordablebouncycastle.co.uk", true }, { "affordablemudjacking.com", true }, @@ -1043,7 +1083,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "agdalieso.com.ba", true }, { "ageg.ca", true }, { "agelesscitizen.com", true }, - { "agelesscitizens.com", true }, { "agenciadeempregosdourados.com.br", true }, { "agenciafiscal.pe", true }, { "agenciagriff.com", true }, @@ -1065,7 +1104,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "agiley.se", true }, { "agilob.net", true }, { "aging.gov", true }, - { "agingstop.net", true }, { "agonswim.com", false }, { "agoodmind.com", true }, { "agoravox.fr", true }, @@ -1075,7 +1113,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "agouraelectrical.com", true }, { "agouraelectrician.com", true }, { "agourahillselectrical.com", true }, - { "agowa338.de", true }, { "agr.asia", true }, { "agrarking.com", true }, { "agrarking.de", true }, @@ -1083,6 +1120,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "agrekov.ru", true }, { "agreor.com", true }, { "agricolo.ch", true }, + { "agridir.site", true }, { "agrikulturchic.com", true }, { "agrilinks.org", true }, { "agrios.de", true }, @@ -1094,7 +1132,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "agwa.name", true }, { "ahcpr.gov", false }, { "ahd.com", false }, - { "ahelos.tk", true }, { "aheng.me", true }, { "ahero4all.org", true }, { "ahiru3.com", true }, @@ -1115,10 +1152,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ai-english.jp", true }, { "ai1989.com", true }, { "aia.de", true }, - { "aibaoyou.com", true }, { "aibenzi.com", true }, { "aicial.co.uk", true }, { "aicial.com", true }, + { "aidanapple.com", true }, { "aidanmontare.net", true }, { "aide-valais.ch", true }, { "aiden.link", true }, @@ -1127,7 +1164,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aie.de", true }, { "aiesecarad.ro", true }, { "aiforsocialmedia.com", true }, + { "aigcev.org", true }, { "aigenpul.se", true }, + { "aiicy.org", true }, { "aiida.se", true }, { "aijsk.com", true }, { "aikenpromotions.com", true }, @@ -1155,6 +1194,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aircomms.com", true }, { "airductclean.com", false }, { "airdur.eu", true }, + { "aireaseleaks.org", true }, { "airedaleterrier.com.br", true }, { "airetvie.com", true }, { "airfax.io", true }, @@ -1188,7 +1228,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ajarope.com", true }, { "ajbouncycastles.co.uk", true }, { "ajces.com", true }, - { "ajdiaz.me", true }, { "ajeventhire.co.uk", true }, { "ajibot.com", true }, { "ajnasz.hu", true }, @@ -1203,13 +1242,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "akdigitalegesellschaft.de", false }, { "akdusekbudil.cz", true }, { "akelius.de", false }, + { "akfoundationindia.com", true }, { "akhilindurti.com", false }, { "akhras.at", true }, { "akihito.com", true }, { "akijo.de", true }, { "akita-boutique.com", true }, + { "akj.io", true }, { "akkbouncycastles.co.uk", true }, - { "akoch.net", true }, { "akostecki.de", true }, { "akovana.com", true }, { "akoya.fi", true }, @@ -1217,7 +1257,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "akr.io", true }, { "akritikos.info", true }, { "akropolis-ravensburg.de", true }, + { "aksehir.bel.tr", true }, { "akselinurmio.fi", true }, + { "akshi.in", true }, { "aktiv-naturheilmittel.at", true }, { "aktiv-naturheilmittel.ch", true }, { "aktiv-naturheilmittel.de", true }, @@ -1227,12 +1269,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "akvorrat.at", true }, { "al3xpro.com", true }, { "alaboard.com", true }, + { "aladdin.ie", true }, { "aladdinschools.appspot.com", true }, { "alainbaechlerphotography.ch", true }, { "alainmargot.ch", true }, { "alainodea.com", true }, { "alainwolf.ch", true }, { "alainwolf.net", true }, + { "alamgir.works", true }, { "alanhua.ng", true }, { "alanhuang.name", true }, { "alaninkenya.org", true }, @@ -1244,12 +1288,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alb-flirt.de", true }, { "albbounce.co.uk", true }, { "albersdruck.de", true }, + { "albertathome.org", true }, { "albion2.org", true }, { "alboweb.nl", true }, { "albuic.tk", true }, { "alca31.com", true }, { "alcatelonetouch.us", true }, - { "alchemia.co.il", true }, { "alchimic.ch", true }, { "alcnutrition.com", true }, { "alcoholapi.com", true }, @@ -1277,16 +1321,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alex97000.de", true }, { "alexander-beck.eu", true }, { "alexandermuetzel.de", true }, + { "alexanderneng.de", true }, { "alexanderschimpf.de", true }, { "alexanderzinn.com", true }, { "alexandra-schulze.de", true }, { "alexandre-blond.fr", true }, - { "alexandros.io", true }, { "alexbaker.org", true }, - { "alexberts.ch", true }, { "alexcoman.com", true }, { "alexdaniel.org", true }, { "alexdaulby.com", true }, + { "alexei.su", true }, { "alexey-shamara.ru", true }, { "alexeykopytko.com", true }, { "alexfisherhealth.com.au", true }, @@ -1323,7 +1367,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alfaperfumes.com.br", true }, { "alfaponny.se", true }, { "alfirous.com", true }, - { "algarmatic-automatismos.pt", true }, + { "algebraaec.com", true }, { "alghanimcatering.com", true }, { "algoentremanos.com", true }, { "algolia.com", true }, @@ -1337,11 +1381,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alice.tw", true }, { "alicestudio.it", true }, { "alicetone.net", true }, + { "alicialab.org", true }, { "alien.bz", true }, { "alienation.biz", true }, { "alienflight.com", true }, { "alienstat.com", true }, - { "alignrs.com", true }, { "alinasmusicstudio.com", true }, { "alinode.com", true }, { "alisonisrealestate.com", true }, @@ -1354,6 +1398,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aljammaz.holdings", true }, { "aljaspod.com", true }, { "aljaspod.hu", true }, + { "aljaspod.net", true }, { "aljweb.com", true }, { "alkel.info", true }, { "all-connect.net", false }, @@ -1387,10 +1432,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alleskomtgoed.org", true }, { "allesrocknroll.de", true }, { "allforyou.at", true }, - { "allfreelancers.su", true }, { "allgrass.net", true }, { "allgreenturf.com.au", true }, - { "alliance-compacts.com", true }, { "alliances-faq.de", true }, { "alliances-globalsolutions.com", true }, { "alliedfrozenstorage.com", true }, @@ -1419,13 +1462,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "allstorebrasil.com.br", true }, { "allsync.com", true }, { "allsync.nl", true }, - { "alltheducks.com", true }, { "allthethings.co.nz", true }, { "allthings.me", true }, { "allthingsblogging.com", true }, - { "allthingsfpl.com", true }, { "allthingssquared.com", true }, { "allthingswild.co.uk", true }, + { "alltubedownload.net", true }, { "allurescarves.com", true }, { "alluvion.studio", true }, { "allvips.ru", true }, @@ -1433,7 +1475,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "almavios.com", true }, { "almstrom.org", true }, { "alnitech.com", false }, - { "alocato.com", true }, + { "alparque.com", true }, { "alpca.org", true }, { "alpe-d-or.dyn-o-saur.com", true }, { "alpencam.com", true }, @@ -1453,6 +1495,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alphainflatablehire.com", true }, { "alphapengu.in", true }, { "alpharotary.com", true }, + { "alphasall.com", true }, { "alphassl.de", true }, { "alphatrash.de", true }, { "alphavote-avex.com", true }, @@ -1563,6 +1606,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "amcchemical.com", true }, { "amcfirst.com", true }, { "amchainitiative.org", true }, + { "amcs.website", true }, { "amdouglas.com", true }, { "ameego.com", true }, { "ameego.it", true }, @@ -1599,14 +1643,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ami-de-bastanes.fr", true }, { "amicalecanyon.ch", true }, { "amiciidogrescue.org.uk", true }, - { "amicsdelbus.com", true }, { "amielucha.com", true }, { "amihub.com", true }, { "amin.one", true }, { "aminafrance.com", true }, { "amineptine.com", true }, + { "amirmahdy.com", true }, { "amisharingstuff.com", true }, { "amitpatra.com", true }, + { "amleeds.co.uk", true }, { "ammanagingdirectors.com", true }, { "amministratore.biz", true }, { "amministratorecondominio.roma.it", true }, @@ -1639,6 +1684,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "anacreon.de", true }, { "anadoluefessk.org", true }, { "anaethelion.fr", true }, + { "anaiscoachpersonal.es", true }, { "anaisypirueta.es", true }, { "anajianu.ro", true }, { "anakros.me", false }, @@ -1711,7 +1757,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "andrewprokos.com", true }, { "andrewrgoss.com", true }, { "andrewryno.com", true }, - { "andrewsun.com", true }, { "andrewtchin.com", true }, { "andrewtebert.com", true }, { "andrewthelott.net", true }, @@ -1734,26 +1779,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "anduril.de", true }, { "anduril.eu", true }, { "andybrett.com", true }, + { "andycraftz.eu", true }, { "andycrockett.io", true }, { "andymoore.info", true }, { "andys-place.co.uk", true }, { "andyt.eu", true }, { "andzia.art.pl", true }, - { "anecuni-club.com", true }, - { "anecuni-rec.com", true }, { "anedot-sandbox.com", true }, { "anedot.com", true }, { "anedot.space", true }, { "anedot.xyz", true }, - { "anekdotes.com", true }, + { "anekdotes.com", false }, { "anendlesssupply.co.uk", true }, { "anetaben.nl", true }, { "anextraordinaryday.net", true }, { "anfenglish.com", true }, + { "ange-de-bonheur444.com", true }, { "angel-body.com", true }, { "angelic47.com", true }, { "angelinahair.com", true }, { "angeloventuri.com", true }, + { "angelsgirl.eu.org", true }, { "anginf.de", true }, { "anglertanke.de", true }, { "anglictina-sojcak.cz", true }, @@ -1763,6 +1809,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "angristan.fr", true }, { "angristan.xyz", true }, { "angrut.com", true }, + { "angry-monk.com", true }, { "angry.im", true }, { "angrysnarl.com", true }, { "angryteeth.net", true }, @@ -1790,10 +1837,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "animesharp.com", true }, { "animorphsfanforum.com", true }, { "anipassion.com", true }, - { "anita-mukorom.hu", true }, { "anitaalbersen.nl", true }, { "anitube.ch", true }, - { "anivar.net", true }, { "aniwhen.com", true }, { "ankarakart.com.tr", true }, { "ankaraprofesyonelwebtasarim.com", true }, @@ -1804,6 +1849,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ankiweb.net", true }, { "ankwanoma.com", true }, { "ankya9.com", true }, + { "anleitung-deutsch-lernen.de", true }, + { "anleitung-zum-flechten.de", true }, + { "anleitung-zum-haekeln.de", true }, + { "anleitung-zum-schreiben.de", true }, + { "anleitung-zum-schweissen.de", true }, + { "anleitung-zum-toepfern.de", true }, { "anlp.top", true }, { "anna.info", true }, { "annaenemma.nl", true }, @@ -1865,6 +1916,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "antarcti.co", true }, { "antcas.com", true }, { "antecim.fr", true }, + { "antennista.catania.it", true }, { "antennista.milano.it", true }, { "antennista.pavia.it", true }, { "antennisti.milano.it", true }, @@ -1874,7 +1926,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "anthonyaires.com", true }, { "anthonycarbonaro.com", true }, { "anthonygaidot.fr", true }, - { "anthro.id", true }, { "anthropoid.ca", true }, { "anti-bible.com", true }, { "anti-radar.org", true }, @@ -1891,6 +1942,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "antispeciesist.com", true }, { "antivirusprotection.reviews", true }, { "antocom.com", true }, + { "antoinedeschenes.com", true }, { "antoinemary.com", true }, { "antonchen.com", true }, { "antonellabb.eu", true }, @@ -1913,7 +1965,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "anypeer.net", true }, { "anyprime.net", true }, { "anystack.xyz", true }, - { "anytonetech.com", true }, { "anzeiger.ag", true }, { "ao-dev.com", true }, { "ao2.it", true }, @@ -1975,11 +2026,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "apisyouwonthate.com", true }, { "apk.li", true }, { "apk4fun.com", true }, + { "apkriver.com", true }, { "apl2bits.net", true }, { "aplikaceproandroid.cz", true }, { "aplis-online.de", false }, { "aplpackaging.co.uk", true }, { "aplu.fr", true }, + { "apm.com.tw", true }, { "apmpproject.org", true }, { "apn-dz.org", true }, { "apn-einstellungen.de", true }, @@ -2020,6 +2073,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "applian.jp", true }, { "appliancerepairlosangeles.com", true }, { "apply.eu", true }, + { "apply55gx.com", true }, { "appmeas.co.uk", true }, { "appmobile.io", true }, { "appninjas.com", true }, @@ -2038,11 +2092,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "appson.co.uk", false }, { "appt.ch", true }, { "apptomics.com", true }, - { "apptoutou.com", true }, { "appuals.com", true }, { "appui-de-fenetre.fr", true }, { "appveyor.com", true }, - { "appzoojoo.be", true }, { "aprefix.com", true }, { "apretatuercas.es", true }, { "aprovpn.com", true }, @@ -2055,7 +2107,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "apu-board.de", true }, { "apv-ollon.ch", true }, { "aqilacademy.com.au", true }, - { "aqqrate.com", true }, { "aqsiq.net", true }, { "aqua-fitness-nacht.de", true }, { "aqua-fotowelt.de", true }, @@ -2120,6 +2171,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arcridge.ca", true }, { "arctic.gov", true }, { "arcueil-cachan.fr", true }, + { "arcusnova.de", true }, { "ardor.noip.me", true }, { "ardtrade.ru", true }, { "area4pro.com", true }, @@ -2181,7 +2233,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "armil.it", true }, { "arminc.tk", true }, { "arminpech.de", true }, - { "armleads.com", true }, { "armodec.com", true }, { "armstrongsengineering.com", true }, { "army24.cz", true }, @@ -2195,6 +2246,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arnor.org", true }, { "arnoudraeven.nl", true }, { "arnoudvandalen.nl", true }, + { "arod.tk", true }, { "arokha.com", true }, { "aromacos.ch", true }, { "aroonchande.com", true }, @@ -2203,12 +2255,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arqueo-ecuatoriana.ec", true }, { "arquitetura.pt", true }, { "arrakis.se", true }, - { "arrive.by", true }, { "arrivedconsulting.com", true }, { "arrmaforum.com", true }, { "arrow-analytics.nl", true }, { "arrow-api.nl", true }, - { "arrowgrove.com", false }, + { "arrowgrove.com", true }, + { "arrowheadaddict.com", true }, { "arrowwebprojects.nl", true }, { "arsk1.com", true }, { "art-et-culture.ch", true }, @@ -2240,7 +2292,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "artionet.ch", true }, { "artisans-libres.com", true }, { "artisansoftaste.com", true }, - { "artisphere.ch", true }, { "artlantis.nl", true }, { "artleading.ru", true }, { "artlifeisgood.com", true }, @@ -2254,14 +2305,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "artofwhere.com", true }, { "artratio.net", true }, { "artroot.jp", true }, + { "artroscopiaperlosport.it", true }, { "artschmidtoptical.com", true }, - { "artsinthevalley.net.au", true }, { "artspac.es", true }, { "artstopinc.com", true }, { "arturkohut.com", true }, { "arturrossa.de", true }, { "arturszalak.com", true }, { "artweby.cz", true }, + { "artworxbathrooms.com.au", true }, { "arty.name", true }, { "arubasunsetbeach.com", true }, { "arveron.ch", true }, @@ -2274,6 +2326,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aryan-nation.com", true }, { "aryasenna.net", true }, { "arzid.com", true }, + { "as200753.com", true }, + { "as200753.net", true }, { "as44222.net", true }, { "asadatec.de", true }, { "asadzulfahri.com", true }, @@ -2290,9 +2344,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ascii.moe", true }, { "asciitable.tips", true }, { "asd.gov.au", true }, + { "asdyx.de", true }, { "asec01.net", true }, { "aseith.com", true }, { "aserver.co", true }, + { "asexualitat.cat", true }, { "asgapps.co.za", true }, { "asge-handel.de", true }, { "ashleakunowski.com", true }, @@ -2303,10 +2359,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "asia-gazette.com", true }, { "asia.dating", true }, { "asialeonding.at", true }, + { "asian-industry.eu", true }, { "asianbet77.net", true }, { "asianshops.net", true }, { "asiba.com.au", true }, { "asiesvenezuela.com", true }, + { "asile-colis.fr", true }, { "asinetasima.com", true }, { "asisee.co.il", true }, { "asisee.photography", true }, @@ -2314,6 +2372,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ask.stg.fedoraproject.org", true }, { "askizzy.org.au", true }, { "askkaren.gov", true }, + { "askmagicconch.com", false }, { "askme24.de", true }, { "askv6.net", true }, { "askwhy.cz", true }, @@ -2326,10 +2385,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aspatrimoine.com", true }, { "aspcl.ch", true }, { "asperti.com", true }, - { "asphyxia.su", true }, { "aspiescentral.com", true }, { "aspires.co.jp", true }, - { "aspisdata.com", true }, { "asr.cloud", true }, { "asr.li", true }, { "asr.rocks", true }, @@ -2349,8 +2406,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "assguidesporrentruy.ch", true }, { "assign-it.co.uk", true }, { "assistance-personnes-agees.ch", true }, + { "assistcart.com", true }, { "assistenzamicroonde.org", true }, - { "assodigitale.it", true }, { "asspinter.me", true }, { "assumptionpj.org", true }, { "astal.rs", true }, @@ -2362,13 +2419,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "astenretail.com", true }, { "astronomie-fulda.de", true }, { "astroscopy.ch", true }, + { "astrosnail.pt.eu.org", true }, { "astural.org", true }, { "astutikhonda.com", true }, { "astutr.co", true }, { "asucrews.com", true }, { "asuhe.win", true }, { "asuka.io", true }, - { "asun.co", true }, { "asurepay.cc", true }, { "asustreiber.de", true }, { "asvsa.ch", true }, @@ -2458,8 +2515,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "attac.us", true }, { "atte.fi", true }, { "attendantdesign.com", true }, + { "attendu.cz", true }, { "attilagyorffy.com", true }, { "attilavandervelde.nl", true }, + { "attinderdhillon.com", true }, { "attitudes-bureaux.fr", true }, { "attogtech.com", true }, { "attorney.org.il", true }, @@ -2486,6 +2545,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "audiense.com", true }, { "audio-detector.com", true }, { "audiolibri.org", true }, + { "audion.hr", true }, { "audiophile.ch", true }, { "audiorecording.me", true }, { "audiorental.net", true }, @@ -2500,7 +2560,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "augen-seite.de", true }, { "augenblicke-blog.de", true }, { "augiero.it", true }, - { "augix.net", true }, { "augmentable.de", true }, { "august.black", true }, { "augustian-life.cz", true }, @@ -2514,8 +2573,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "auntie-eileens.com.au", true }, { "aupasdecourses.com", true }, { "auplidespages.fr", true }, - { "aur.rocks", true }, { "aurelienaltarriba.fr", true }, + { "aureus.pw", true }, { "auri.ga", true }, { "auricblue.com", true }, { "auriko-games.de", true }, @@ -2526,7 +2585,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "auroware.com", true }, { "aus-ryugaku.info", true }, { "ausschreibungen-suedtirol.it", true }, - { "aussiehq.com.au", true }, { "aussieservicedown.com", true }, { "austincardiac.com", true }, { "austinheap.com", true }, @@ -2560,6 +2618,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "autodalmacija.com", true }, { "autoecoledumontblanc.com", true }, { "autoentrepreneurinfo.com", true }, + { "autoepc.ro", true }, { "autoinsurancehavasu.com", true }, { "autoledky.sk", true }, { "automacity.com", true }, @@ -2576,6 +2635,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "autos-retro-plaisir.com", true }, { "autoscuola.roma.it", true }, { "autoshinka72.ru", true }, + { "autoshun.org", true }, { "autoskola.hr", true }, { "autoskole.hr", true }, { "autostodulky.cz", true }, @@ -2585,6 +2645,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "autozane.com", true }, { "autres-talents.fr", true }, { "auvernet.org", true }, + { "aux-arts-de-la-table.com", true }, { "auxquatrevents.ch", true }, { "av01.tv", true }, { "av0ndale.de", true }, @@ -2618,7 +2679,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "avernis.de", true }, { "avexon.com", true }, { "avg.club", true }, - { "avi9526.pp.ua", true }, { "avia-krasnoyarsk.ru", true }, { "avia-ufa.ru", true }, { "aviapoisk.kz", true }, @@ -2640,7 +2700,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "avticket.ru", false }, { "avtoforex.ru", true }, { "avtogara-isperih.com", true }, - { "avtosept.by", true }, { "avtovokzaly.ru", true }, { "avvcorda.com", true }, { "avxo.pw", true }, @@ -2721,6 +2780,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "b0618.net", true }, { "b0868.com", true }, { "b0868.net", true }, + { "b0rk.com", true }, { "b1.work", true }, { "b1236.com", true }, { "b1758.com", true }, @@ -2881,7 +2941,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bad.pet", true }, { "badai.at", true }, { "badam.co", true }, - { "badbee.cc", true }, + { "badboyzclub.de", true }, { "badf00d.de", true }, { "badges.fedoraproject.org", true }, { "badges.stg.fedoraproject.org", true }, @@ -2893,6 +2953,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "badseacoffee.com", true }, { "baer.im", false }, { "baer.one", false }, + { "baer.space", true }, { "baffinlee.com", true }, { "bag.bg", true }, { "bageez.us", true }, @@ -2914,6 +2975,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "baileebee.com", true }, { "bairdzhang.com", true }, { "baitulongbaycruises.com", true }, + { "baiyangliu.com", true }, { "bajic.ch", true }, { "baka-gamer.net", true }, { "baka.network", true }, @@ -2955,9 +3017,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "balslev.io", true }, { "bambambaby.com.br", true }, { "bamboorelay.com", true }, - { "bananensap.nl", true }, + { "bamtoki.com", true }, { "banburybid.com", true }, { "bancacrs.it", true }, + { "bancobai.ao", true }, { "bancoctt.pt", true }, { "bandar303.win", true }, { "bandeira1.com.br", true }, @@ -2984,6 +3047,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bankstownapartments.com.au", true }, { "banned-bitches.tk", true }, { "bannermarquees.ie", true }, + { "bannsecurity.com", true }, { "banoviny.sk", true }, { "banri.me", true }, { "banxehoi.com", true }, @@ -2993,7 +3057,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "baofengtech.com", true }, { "baosuckhoedoisong.net", true }, { "baptistboard.com", true }, - { "baptiste-destombes.fr", true }, { "baptiste-peugnez.fr", true }, { "baptistedeleris.fr", true }, { "bar-harcourt.com", true }, @@ -3060,12 +3123,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "basilicaknights.org", true }, { "basilm.co", true }, { "basketball-brannenburg.de", true }, - { "basnieuwenhuizen.nl", true }, { "basnoslovno.com.ua", true }, { "basnoslovno.ru", true }, { "bass-pro.ru", true }, { "bassblog.net", true }, { "bassment.ph", true }, + { "bassresource.com", true }, { "bastelzauberwelt.de", true }, { "bastianstalder.ch", true }, { "bastiv.com", true }, @@ -3205,6 +3268,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "beauty24.de", true }, { "beautybear.dk", true }, { "beautyconcept.co", false }, + { "beautyevent.fr", true }, { "beautykat.ru", true }, { "bebef.de", true }, { "bebefofuxo.com.br", true }, @@ -3274,7 +3338,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "begabungsfoerderung.info", true }, { "begbie.com", true }, { "beginner.nl", true }, - { "beginwp.top", true }, { "behamzdarma.cz", true }, { "behoerden-online-dienste.de", true }, { "beichtgenerator.de", false }, @@ -3306,6 +3369,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "belics.com", true }, { "belien-tweedehandswagens.be", true }, { "believablebook.com", false }, + { "believersweb.org", true }, + { "bell.id.au", true }, { "bella.network", true }, { "belloy.ch", true }, { "belloy.net", true }, @@ -3339,7 +3404,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "beneathvt.com", true }, { "benediktdichgans.de", true }, { "benepiscinas.com.br", true }, - { "beneri.se", true }, { "benevisim.com", true }, { "benevita.bio", true }, { "benevita.life", true }, @@ -3353,6 +3417,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "benjaminblack.net", true }, { "benjamindietrich.com", true }, { "benjamindietrich.de", true }, + { "benjaminesims.com", true }, { "benjaminjurke.com", true }, { "benjaminjurke.net", true }, { "benjaminpiquet.fr", true }, @@ -3373,6 +3438,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bensbouncycastles.co.uk", true }, { "benschnarr.com", true }, { "benscobie.com", true }, + { "benshoof.org", true }, { "bensinflatables.co.uk", true }, { "bentertain.de", true }, { "bentley.blog", true }, @@ -3398,6 +3464,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bergfreunde.no", true }, { "bergfreunde.se", true }, { "bergstoneware.com", true }, + { "berichtsheft-vorlage.de", true }, { "berlin-flirt.de", true }, { "berlin.dating", true }, { "bermeitinger.eu", true }, @@ -3413,6 +3480,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bernhardkau.de", true }, { "bernhardluginbuehl.ch", true }, { "bernhardluginbuehl.com", true }, + { "bernieware.de", true }, { "berodes.be", true }, { "berr.yt", true }, { "berra.se", true }, @@ -3438,6 +3506,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "beserberg.tk", true }, { "bespokestraps.com", true }, { "bessettenotaire.com", true }, + { "best-essay-service.com", true }, { "best-of-bounce.co.uk", true }, { "best-wallpaper.net", true }, { "best-wedding-quotes.com", true }, @@ -3449,6 +3518,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bestbrakes.com", true }, { "bestbridal.top", true }, { "bestbyte.com.br", true }, + { "bestemailmarketingsoftware.org", true }, { "bestesb.com", true }, { "bestesb.net", true }, { "bestessaycheap.com", true }, @@ -3477,7 +3547,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bet909.com", true }, { "bet990.com", true }, { "bet9bet9.net", true }, - { "betamint.org", true }, { "betaworx.de", true }, { "betaworx.eu", true }, { "betecnet.de", true }, @@ -3486,7 +3555,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bethanyduke.com", true }, { "betkoo.com", true }, { "betobaccofree.gov", true }, - { "betonmoney.com", true }, { "betpamm.com", true }, { "betseybuckheit.com", true }, { "betshoot.com", true }, @@ -3602,7 +3670,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bienici.com", true }, { "bienoubien.org", true }, { "biensenvue.com", true }, - { "bier.jp", true }, { "bierbaumer.net", true }, { "biergaizi.info", true }, { "bierochs.org", true }, @@ -3616,8 +3683,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bigbouncebouncycastles.co.uk", true }, { "bigbouncetheory.co.uk", true }, { "bigbounceuk.com", true }, + { "bigcakes.dk", true }, { "bigclassaction.com", true }, - { "bigcorporateevents.com", true }, { "bigdinosaur.org", true }, { "biggreenexchange.com", true }, { "bight.ca", true }, @@ -3644,6 +3711,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bikkelbroeders.nl", false }, { "bilalic.com", true }, { "bilalkilic.de", true }, + { "bilanligne.com", true }, { "bilbayt.com", true }, { "bilder-designs.de", true }, { "bildermachr.de", true }, @@ -3656,12 +3724,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bilimoe.com", true }, { "bilke.org", true }, { "bill-nye-the.science", true }, - { "billaud.eu.org", true }, { "billdestler.com", true }, { "billgoldstein.name", true }, { "billiger-mietwagen.de", true }, { "billigerfinder.de", true }, { "billigpoker.dk", true }, + { "billionairemailinglist.com", true }, { "billionkiaparts.com", true }, { "billogram.com", true }, { "billpro.com", false }, @@ -3676,6 +3744,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bimmerlabs.com", true }, { "bin95.com", true }, { "bina.az", true }, + { "binans.co", true }, + { "binans.com", true }, + { "binans.com.tr", true }, + { "binans.io", true }, + { "binans.net", true }, + { "binans.xyz", true }, { "binarization.com", true }, { "binaryabstraction.com", true }, { "binaryapparatus.com", true }, @@ -3688,7 +3762,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "binding-problem.com", true }, { "binfind.com", true }, { "bing.com", true }, - { "bingcheung.org", true }, { "bingo-wear.com", true }, { "bingo9.net", true }, { "bingobank.org", true }, @@ -3707,6 +3780,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "biodiagnostiki.clinic", true }, { "biodieseldata.com", true }, { "bioemsan.cz", true }, + { "bioequivalence.design", true }, { "bioetco.ch", true }, { "biogecho.ch", true }, { "biogecho.swiss", true }, @@ -3749,6 +3823,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "birthmatters.us", true }, { "birzan.org", true }, { "biscoint.io", true }, + { "biser-borisov.eu", true }, { "bismarck-tb.de", true }, { "bison.co", true }, { "bissalama.org", true }, @@ -3808,6 +3883,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bitmexin.com", true }, { "bitminter.com", true }, { "bitmoe.com", true }, + { "bitmon.net", true }, { "bitok.com", true }, { "bitplay.space", true }, { "bitpod.de", true }, @@ -3845,7 +3921,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bizedge.co.nz", true }, { "bizniskatalog.mk", true }, { "biznpro.ru", true }, - { "bizpare.com", true }, { "bizstarter.cz", true }, { "biztera.com", true }, { "biztok.eu", true }, @@ -3860,6 +3935,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bkentertainments.co.uk", true }, { "bkhayes.com", true }, { "bkhpilates.co.uk", true }, + { "bklaindia.com", true }, { "bkositspartytime.co.uk", true }, { "bl4ckb0x.biz", true }, { "bl4ckb0x.com", true }, @@ -3868,15 +3944,34 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bl4ckb0x.info", true }, { "bl4ckb0x.net", true }, { "bl4ckb0x.org", true }, + { "blablacar.co.uk", true }, + { "blablacar.com", true }, + { "blablacar.com.tr", true }, + { "blablacar.com.ua", true }, + { "blablacar.de", true }, + { "blablacar.es", true }, + { "blablacar.fr", true }, + { "blablacar.hr", true }, + { "blablacar.hu", true }, + { "blablacar.in", true }, + { "blablacar.it", true }, + { "blablacar.mx", true }, + { "blablacar.nl", true }, + { "blablacar.pl", true }, + { "blablacar.pt", true }, + { "blablacar.ro", true }, + { "blablacar.rs", true }, + { "blablacar.ru", true }, { "black-gay-porn.biz", true }, { "black-mail.nl", true }, + { "black-pool.net", true }, + { "black-raven.fr", true }, { "black.dating", true }, { "black.host", true }, { "blackandpony.de", true }, { "blackapron.com.br", true }, { "blackbag.nl", true }, { "blackbase.de", true }, - { "blackberrycentral.com", true }, { "blackberryforums.be", true }, { "blackcat.ca", true }, { "blackcatinformatics.ca", true }, @@ -3886,11 +3981,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blackdiam.net", true }, { "blackdotbrewery.com", true }, { "blackdown.de", true }, - { "blackdragoninc.org", true }, { "blackedbyte.com", true }, { "blackevent.be", true }, { "blackgamelp.de", true }, - { "blackhelicopters.net", true }, { "blackhillsinfosec.com", true }, { "blackislegroup.com", true }, { "blackkeg.ca", true }, @@ -3911,7 +4004,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blakecoin.org", true }, { "blameomar.com", true }, { "blancodent.com", true }, - { "blankersfamily.com", true }, { "blarg.co", true }, { "blastentertainment.com.au", true }, { "blastersklan.com", true }, @@ -3941,10 +4033,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blichmann.eu", true }, { "blidz.com", true }, { "blieque.co.uk", true }, + { "bliesekow.net", true }, { "bling9.com", true }, { "bling999.cc", true }, { "bling999.com", true }, { "bling999.net", true }, + { "blingqueen.shop", true }, { "blingsparkleshine.com", true }, { "blink-security.com", true }, { "blinking.link", true }, @@ -3992,7 +4086,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blogpentrusuflet.ro", true }, { "blogreen.org", true }, { "blogtroterzy.pl", true }, - { "blok56.nl", true }, { "bloodsports.org", true }, { "bloodyexcellent.com", true }, { "bloom-avenue.com", true }, @@ -4040,6 +4133,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blumenwiese.xyz", true }, { "blumiges-fischbachtal.de", true }, { "blunderify.se", true }, + { "blupig.net", true }, { "bluproducts.com.es", true }, { "blurringexistence.net", true }, { "blusmurf.net", true }, @@ -4072,6 +4166,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bo9king.net", true }, { "boardgamegeeks.de", true }, { "boards.ie", true }, + { "boat-engines.eu", true }, { "boatme.de", true }, { "bobancoamigo.com", true }, { "bobaobei.net", true }, @@ -4094,11 +4189,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bocreation.fr", true }, { "bodhi.fedoraproject.org", true }, { "bodixite.com", true }, + { "bodrumfarm.com", true }, { "bodsch.com", true }, { "bodybuilding.events", true }, { "bodybuildingworld.com", true }, { "bodyconshop.com", true }, { "bodygearguide.com", true }, + { "bodymusclejournal.com", true }, { "bodypainter.pl", true }, { "bodypainting.waw.pl", true }, { "bodyworkbymichael.com", true }, @@ -4111,11 +4208,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bogobeats.com", true }, { "bohan.co", true }, { "bohyn.cz", true }, + { "boilesen.com", true }, { "boimmobilier.ch", true }, { "boincstats.com", true }, { "boiseonlinemall.com", true }, { "boisewaldorf.org", true }, - { "bokeyy.com", true }, { "boldmediagroup.com", true }, { "boldt-metallbau.de", true }, { "bolektro.de", true }, @@ -4191,7 +4288,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "boost.ink", true }, { "booter.pw", true }, { "bootjp.me", false }, - { "boozinyan.com", true }, { "bopera.co.uk", true }, { "bopiweb.com", true }, { "bopp.org", true }, @@ -4213,6 +4309,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "borzoi.com.br", true }, { "bosabosa.org", true }, { "boscoyacht.ch", true }, + { "boskeopolis-stories.com", true }, { "boss.az", true }, { "bostadsportal.se", true }, { "bosufitness.cz", true }, @@ -4376,9 +4473,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bownty.nl", true }, { "bownty.pt", true }, { "bowntycdn.net", true }, - { "boxdevigneron.fr", true }, - { "boxintense.com", false }, - { "boxit.es", true }, { "boxpeg.com", true }, { "boxpirates.to", true }, { "boxvergelijker.nl", true }, @@ -4389,7 +4483,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bozemancarpetcleaningservices.com", true }, { "bozit.com.au", true }, { "bozosbouncycastles.co.uk", true }, - { "bpadvisors.eu", true }, { "bpaste.net", true }, { "bpastudies.org", true }, { "bpo.ovh", true }, @@ -4410,8 +4503,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bradypatterson.com", true }, { "braemer-it-consulting.de", true }, { "braeunlich-gmbh.com", true }, - { "bragaweb.com.br", true }, - { "brage.info", true }, { "brahmins.com", true }, { "brahmstaedt.de", true }, { "braiampeguero.xyz", true }, @@ -4419,6 +4510,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brain-e.co", true }, { "brain-force.ch", true }, { "brainball.fr", true }, + { "brainbuxa.com", true }, { "brainfork.org", true }, { "brainhub.nl", true }, { "brainserve.ch", true }, @@ -4478,6 +4570,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brck.nl", true }, { "brd.ro", true }, { "breadandlife.org", true }, + { "breadofgod.org", true }, { "breakingtech.it", true }, { "breatheav.com", true }, { "breathedreamgo.com", true }, @@ -4502,6 +4595,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bregnedalsystems.dk", true }, { "breitbild-beamer.de", true }, { "brejoc.com", true }, + { "bremen-restaurants.de", true }, { "bremensaki.com", true }, { "bremerfriedensforum.de", true }, { "brendanscherer.com", true }, @@ -4524,8 +4618,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brianfoshee.com", true }, { "briangarcia.ga", true }, { "brianlanders.us", true }, - { "brianmwaters.net", true }, - { "brianpcurran.com", true }, { "brianroadifer.com", true }, { "briansmith.org", true }, { "briantkatch.com", true }, @@ -4542,6 +4634,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bridgingdirectory.com", true }, { "brie.tech", true }, { "briefhansa.de", true }, + { "briefvorlagen-papierformat.de", true }, { "brighouse-leisure.co.uk", true }, { "brightday.bz", true }, { "brightfuturemadebyme.com", true }, @@ -4566,6 +4659,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "britishgroupsg.com", true }, { "britishmeat.com", true }, { "britishpearl.com", true }, + { "britishsciencefestival.org", true }, { "britishscienceweek.org", true }, { "britneyclause.com", true }, { "britton-photography.com", true }, @@ -4598,7 +4692,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brouillard.ch", true }, { "brownfieldstsc.org", true }, { "brownihc.com", true }, - { "brownlawoffice.us", true }, { "browsedns.net", true }, { "brring.com", true }, { "bru6.de", true }, @@ -4608,7 +4701,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bruckner.li", true }, { "bruna-cdn.nl", true }, { "brunn.email", true }, - { "brunner.ninja", true }, { "brunoramos.com", true }, { "brunoramos.org", true }, { "brunosouza.org", true }, @@ -4621,7 +4713,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bs.sb", true }, { "bs.to", true }, { "bsa157.org", true }, - { "bsagan.fr", true }, { "bsatroop794.org", true }, { "bsc-rietz.at", true }, { "bsc01.dyndns.org", true }, @@ -4647,6 +4738,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "btcarmory.com", true }, { "btcgo.nl", true }, { "btcontract.com", true }, + { "btcp.space", true }, { "btcpop.co", true }, { "btcycle.org", true }, { "btio.pw", true }, @@ -4656,6 +4748,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "btorrent.xyz", true }, { "btrb.ml", true }, { "btserv.de", true }, + { "btsoft.eu", true }, { "btsow.com", true }, { "btth.pl", true }, { "btth.tv", true }, @@ -4667,6 +4760,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bubblybouncers.co.uk", true }, { "bubhub.io", true }, { "buch-angucken.de", true }, + { "buchverlag-scholz.de", true }, { "buck.com", true }, { "buckmulligans.com", true }, { "buckypaper.com", true }, @@ -4689,7 +4783,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "budolfs.de", true }, { "buehnenbande.ch", false }, { "bueltge.de", true }, - { "buenotour.ru", true }, { "buergerdialog.net", true }, { "buergerhaushalt.com", true }, { "buettgens.net", true }, @@ -4711,6 +4804,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "buildingclouds.de", true }, { "buildingcostestimators.co.uk", true }, { "builditsolutions.net", true }, + { "buildkite.com", true }, { "buildplease.com", true }, { "buildrightbuildingservicesltd.co.uk", true }, { "builtvisible.com", true }, @@ -4721,12 +4815,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bulario.com", true }, { "bulario.net", true }, { "bulbcompare.com", true }, - { "bulbgenie.com", true }, { "buldogueingles.com.br", true }, { "bulkcandystore.com", true }, { "bulkingtime.com", true }, { "bulktrade.de", true }, { "bulkwholesalesweets.co.uk", true }, + { "bull.id.au", true }, { "bulldog-hosting.de", true }, { "bulldoghire.co.uk", true }, { "bulledair-savons.ch", true }, @@ -4736,19 +4830,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bulmastife.com.br", true }, { "bulwarkhost.com", true }, { "bumarkamoda.com", true }, - { "bunadarbankinn.is", true }, { "bunbun.be", false }, { "bund-von-theramore.de", true }, { "bundaberg.com", true }, { "bundespolizei-forum.de", true }, { "bunkyo-life.com", true }, { "bunny-rabbits.com", true }, - { "bunnyvishal.com", true }, { "bunzy.ca", true }, { "buonventosbt.eu", true }, { "bupropion.com", true }, + { "bupu.ml", true }, { "burcevo.info", true }, { "burckardtnet.de", true }, + { "burgernet.nl", true }, { "burgers.io", true }, { "burghardt.pl", true }, { "buri.be", false }, @@ -4778,11 +4872,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "busindre.com", true }, { "business-garden.com", true }, { "business.facebook.com", false }, - { "businessadviceperth.com.au", true }, { "businessamongus.com", true }, { "businesscentermarin.ch", true }, { "businessesdirectory.eu", true }, - { "businessetmarketing.com", true }, + { "businessfactors.de", true }, { "businessimmigration-eu.com", true }, { "businessimmigration-eu.ru", true }, { "bustabit.com", true }, @@ -4814,10 +4907,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "buyinginvestmentproperty.com", true }, { "buyjewel.shop", true }, { "buymindhack.com", true }, - { "buynowdepot.com", false }, { "buypapercheap.net", true }, { "buyplussize.shop", true }, + { "buyprofessional.shop", true }, { "buyseo.store", true }, + { "buytermpaper.com", true }, { "buytheway.co.za", true }, { "buywine.shop", true }, { "buywood.shop", true }, @@ -4856,16 +4950,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "byronr.com", true }, { "byronwade.com", true }, { "byrtz.de", true }, + { "bysb.net", true }, { "byte-time.com", true }, + { "byte128.com", true }, { "bytearts.net", true }, { "bytebucket.org", true }, { "bytecode.no", true }, { "bytejail.com", true }, + { "bytelog.org", true }, { "bytema.cz", true }, { "bytema.eu", true }, { "bytema.re", true }, { "bytema.sk", true }, { "byteowls.com", false }, + { "bytepark.de", true }, { "bytes.fyi", true }, { "bytesatwork.de", true }, { "byteshark.org", true }, @@ -4890,10 +4988,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "c-webdesign.net", true }, { "c-world.co.uk", true }, { "c.cc", true }, + { "c0rn3j.com", true }, { "c2design.it", true }, { "c2o-library.net", true }, { "c2o2.xyz", true }, - { "c3ie.com", true }, { "c3vo.de", true }, { "c3w.at", true }, { "c4.hk", true }, @@ -4937,7 +5035,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cafefresco.pe", true }, { "cafelandia.net", true }, { "cafeobscura.nl", true }, - { "caferagazzi.de", true }, { "caffeinatedcode.com", true }, { "cainhosting.com", false }, { "cairnterrier.com.br", true }, @@ -4950,18 +5047,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cakestart.net", true }, { "caketoindia.com", true }, { "cakingandbaking.com", true }, - { "cal.goip.de", true }, { "cal9000.com", true }, { "calaad.net", true }, { "calabasaselectrical.com", true }, { "calaborlawnews.com", true }, { "calafont.cat", true }, + { "calatoruldigital.ro", true }, { "calc.pw", true }, { "calcedge.com", true }, + { "calculateaspectratio.com", true }, { "calculator-imt.com", true }, { "calculator.tf", true }, { "calcworkshop.com", true }, { "caldecotevillagehall.co.uk", true }, + { "calebmorris.com", false }, { "calebthompson.io", true }, { "calendarr.com", true }, { "calendarsnow.com", true }, @@ -4981,6 +5080,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "calories.org", true }, { "calotte-academy.com", true }, { "calvin.my", true }, + { "calvinallen.net", false }, + { "calyxengineers.com", true }, { "calyxinstitute.org", false }, { "camaradivisas.com", true }, { "camaras.uno", true }, @@ -5040,7 +5141,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "candyout.com", true }, { "canerkorkmaz.com", true }, { "cangelloplasticsurgery.com", true }, - { "canglong.net", true }, { "canhazip.com", true }, { "canihavesome.coffee", true }, { "canker.org", true }, @@ -5068,7 +5168,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "capachitos.cl", true }, { "capacitacionyautoempleo.com", true }, { "capekeen.com", true }, - { "capellidipremoli.com", true }, { "caphane.com", true }, { "capimlimaoflores.com.br", true }, { "capitainebaggy.ch", true }, @@ -5099,6 +5198,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "caputo.com", true }, { "caputodesign.com", true }, { "car-rental24.com", true }, + { "car-shop.top", true }, { "car.info", true }, { "car24.de", true }, { "car24portal.de", true }, @@ -5175,8 +5275,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "carre-lutz.com", true }, { "carredejardin.com", true }, { "carriedin.com", true }, + { "carrierplatform.com", true }, { "carringtonrealtygroup.com", true }, { "carson-aviation-adventures.com", true }, + { "carspneu.cz", true }, { "carsten.pw", true }, { "cartadeviajes.cl", true }, { "cartadeviajes.co", true }, @@ -5197,7 +5299,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cartesentreprises-unicef.fr", true }, { "carthedral.com", true }, { "carto.la", true }, + { "cartongesso.roma.it", true }, { "cartooncastles.ie", true }, + { "cartoonhd.cc", true }, { "cartouche24.eu", true }, { "cartucce24.it", true }, { "carusorealestate.com", true }, @@ -5211,7 +5315,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "casadowifi.com.br", true }, { "casalindamex.com", true }, { "casamariposaspi.com", true }, - { "casamorelli.com.br", true }, { "casapalla.com.br", true }, { "casasuara.com", true }, { "casasuleletrodomesticos.com.br", true }, @@ -5224,17 +5327,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cashati.com", true }, { "cashew3d.com", true }, { "cashfortulsahouses.com", true }, - { "cashless.fr", true }, { "cashlink.de", true }, { "cashlink.io", true }, { "cashlogic.ch", true }, { "cashmaxtexas.com", true }, { "cashplk.com", true }, { "cashsector.ga", true }, + { "casino-cash-flow.su", true }, { "casino-cashflow.ru", true }, { "casino-trio.com", true }, { "casinobonuscodes.online", true }, - { "casinolegal.pt", true }, + { "casinocashflow.ru", true }, { "casinolistings.com", true }, { "casjay.com", true }, { "casjay.info", true }, @@ -5268,7 +5371,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "catchersgear.com", true }, { "catchfotografie.nl", true }, { "catchief.com", true }, - { "catcontent.cloud", true }, { "catdecor.ru", true }, { "catenacondos.com", true }, { "catfooddispensersreviews.com", true }, @@ -5302,12 +5404,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cavevinsdefrance.fr", true }, { "cavzodiaco.com.br", true }, { "caylercapital.com", true }, - { "cayounglab.co.jp", true }, { "cazaviajes.es", true }, { "cazes.info", true }, { "cbamo.org", true }, { "cbbank.com", true }, { "cbc-hire.co.uk", true }, + { "cbcf.info", true }, { "cbd.supply", true }, { "cbdev.de", true }, { "cbecrft.net", true }, @@ -5332,7 +5434,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cd.search.yahoo.com", false }, { "cda-aigle.ch", true }, { "cda-nw.co.uk", true }, - { "cdasiaonline.com", true }, + { "cdasiaonline.com", false }, { "cdbf.ch", true }, { "cdbtech.com", true }, { "cdburnerxp.se", true }, @@ -5340,6 +5442,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cdeck.net", true }, { "cdepot.eu", true }, { "cdkeykopen.com", true }, + { "cdlcenter.com", true }, { "cdmhp.org.nz", true }, { "cdn.ampproject.org", true }, { "cdn6.de", true }, @@ -5389,7 +5492,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "centralfor.me", true }, { "centralstatecu.org", true }, { "centralvoice.org", true }, - { "centrationgame.com", true }, { "centredaccueil.fr", true }, { "centreoeil.ch", true }, { "centricweb.com", true }, @@ -5436,6 +5538,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "certspotter.com", true }, { "certspotter.org", true }, { "ceruleanmainbeach.com.au", true }, + { "cervejista.com", true }, { "cesdb.com", true }, { "cesipagano.com", true }, { "ceso-saco.com", true }, @@ -5449,6 +5552,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ceyizlikelisleri.com", true }, { "cf-ide.de", true }, { "cfa.gov", true }, + { "cfan.space", true }, { "cfh.com", true }, { "cfneia.org", true }, { "cfno.org", true }, @@ -5459,6 +5563,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cfxdesign.com", true }, { "cg-systems.hu", true }, { "cg.search.yahoo.com", false }, + { "cgal.org", true }, { "cgan.de", true }, { "cgan.pw", true }, { "cgbassurances.ch", true }, @@ -5494,10 +5599,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "champicreuse.fr", true }, { "championcastles.ie", true }, { "champions.co", true }, + { "championsofpowerfulliving.com", true }, { "championweb.com.au", true }, { "champonthis.de", true }, { "champserver.net", false }, - { "chancat.blog", false }, + { "chanddriving.co.uk", true }, { "chandr1000.ga", true }, { "changecopyright.ru", true }, { "changes.jp", true }, @@ -5530,7 +5636,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "charbonnel.eu", true }, { "charcoal-se.org", true }, { "charcoalvenice.com", true }, - { "charge.co", true }, { "charitylog.co.uk", true }, { "charl.eu", true }, { "charlenevondell.com", true }, @@ -5546,10 +5651,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "charlierogers.com", true }, { "charlimarie.com", true }, { "charlotte-touati.ch", true }, + { "charlotteomnes.com", true }, { "charlottesvillegolfcommunities.com", true }, { "charmander.me", true }, { "charmingsaul.com", true }, - { "charmyadesara.com", true }, + { "charonsecurity.com", true }, { "charr.xyz", true }, { "chars.ga", true }, { "charta-digitale-vernetzung.de", true }, @@ -5570,11 +5676,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chatbotclic.com", true }, { "chatbotclick.com", true }, { "chatbots.email", true }, - { "chatbots.systems", false }, { "chatear.social", true }, { "chateau-belvoir.com", true }, { "chateau-de-lisle.fr", true }, { "chateaudestrainchamps.com", true }, + { "chateaudevaugrigneuse.com", true }, { "chatfacile.org", true }, { "chatint.com", true }, { "chatitaly.org", true }, @@ -5605,7 +5711,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chcsct.com", true }, { "chd-expert.fr", true }, { "chdgaming.xyz", true }, - { "cheah.xyz", true }, { "cheapalarmparts.com.au", true }, { "cheapessay.net", true }, { "cheapestgamecards.at", true }, @@ -5630,6 +5735,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "checkecert.nl", true }, { "checkmateshoes.com", true }, { "checkmatewebsolutions.com", true }, + { "checkmyessay.com", true }, + { "checkmyessays.com", true }, { "checkmypsoriasis.com", true }, { "checkout.google.com", true }, { "checkpoint-tshirt.com", true }, @@ -5730,6 +5837,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chiralsoftware.com", true }, { "chireiden.net", true }, { "chiro-neuchatel.ch", true }, + { "chiropracticwpb.com", true }, { "chiropraticien-neuchatel.ch", true }, { "chiropratique-neuchatel.ch", true }, { "chirosphere.ch", true }, @@ -5779,7 +5887,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chriscarey.com", true }, { "chriscowley.me.uk", true }, { "chrisdecairos.ca", true }, - { "chrisebert.net", true }, { "chrisfinazzo.com", true }, { "chrisirwin.ca", true }, { "chrisjean.com", true }, @@ -5787,6 +5894,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chrismathys.com", true }, { "chrismcclendon.com", true }, { "chrismckee.co.uk", true }, + { "chrismurrayfilm.com", true }, { "chrisnekarda.com", true }, { "chrisnicholas.io", true }, { "chrispstreet.com", true }, @@ -5808,7 +5916,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "christianliebel.com", true }, { "christianpeltier.com", true }, { "christianpilgrimage.com.au", true }, - { "christianpusch.de", true }, { "christians.dating", true }, { "christianscholz.de", true }, { "christianscholz.eu", true }, @@ -5822,6 +5929,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "christopherburg.com", true }, { "christopherkennelly.com", true }, { "christopherl.com", true }, + { "christopherpritchard.co.uk", true }, + { "christophersole.com", true }, { "christophertruncer.com", true }, { "christophkreileder.com", true }, { "christophsackl.de", true }, @@ -5910,11 +6019,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ciphersuite.info", true }, { "ciphrex.com", true }, { "cipri.com", true }, + { "cipy.com", true }, { "cir.is", true }, { "cira.email", true }, { "circara.com", true }, { "circlebox.rocks", true }, - { "circu.ml", true }, { "circulatedigital.com", true }, { "cirfi.com", true }, { "ciri.com.co", true }, @@ -5924,7 +6033,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cirujanooral.com", true }, { "cirurgicagervasio.com.br", true }, { "cirurgicalucena.com.br", true }, - { "ciscodude.net", true }, + { "ciscodude.net", false }, { "cisoaid.com", true }, { "ciss.ltd", true }, { "cisy.me", true }, @@ -5949,7 +6058,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "citysportapp.com", true }, { "cityworksonline.com", true }, { "ciubotaru.tk", true }, - { "ciurcasdan.eu", true }, { "civicunicorn.com", true }, { "civicunicorn.us", true }, { "civilg20.org", true }, @@ -5962,7 +6070,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cjey.me", true }, { "cjr.host", true }, { "ck.cx", true }, - { "ckcameron.net", true }, { "ckenelley.com", true }, { "ckenelly.com", true }, { "ckenely.com", true }, @@ -5981,24 +6088,26 @@ static const nsSTSPreload kSTSPreloadList[] = { { "claimconnect.us", true }, { "claimnote.com", true }, { "clairegold.com", true }, - { "claireidrac.fr", true }, { "clairescastles.co.uk", true }, { "clanebouncycastles.com", true }, { "clanrose.org.uk", true }, { "clanthor.com", true }, + { "clanwarz.com", true }, { "clapping-rhymes.com", true }, { "claretandbanter.uk", true }, { "claritysrv.com", true }, { "clarkeaward.com", true }, - { "clarksgaragedoorrepair.com", true }, { "clarkwinkelmann.com", true }, { "clash.lol", true }, + { "class.com.au", true }, { "classdojo.com", true }, { "classicalpilates.ca", true }, { "classics.io", true }, { "classpoint.cz", true }, { "classroomcountdown.co.nz", true }, { "classteaching.com.au", true }, + { "claster.it", true }, + { "claudearpel.fr", true }, { "claudia-urio.com", true }, { "claudio4.com", true }, { "clauseriksen.net", true }, @@ -6011,6 +6120,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cleanbeautymarket.com.au", true }, { "cleanbrowsing.org", true }, { "cleancode.club", true }, + { "cleanhouse2000.us", true }, { "cleansewellness.com", true }, { "cleanstar.org", true }, { "clear.ml", true }, @@ -6030,12 +6140,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cleververmarkten.de", true }, { "clevisto.com", true }, { "cleysense.com", true }, + { "clic-et-site.com", true }, { "clicecompre.com.br", true }, { "clicheshishalounge.co.uk", true }, { "click-2-order.co.uk", true }, { "click-licht.de", true }, { "click2order.co.uk", true }, - { "clickclock.cc", true }, { "clickenergy.com.au", true }, { "clickforclever.com", true }, { "clickomobile.com", true }, @@ -6078,11 +6188,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cloppenburg-automobil.com", true }, { "clorik.com", true }, { "clorophilla.net", true }, - { "close.com", false }, { "closeli.cn", true }, { "closeli.com", false }, { "closelinksecurity.co.uk", true }, { "closelinksecurity.com", true }, + { "closetemail.com", true }, { "closient.com", false }, { "closingholding.com", true }, { "cloturea.fr", true }, @@ -6095,7 +6205,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cloud9bouncycastlehire.com", true }, { "cloudapps.digital", true }, { "cloudbased.info", true }, - { "cloudberlin.goip.de", true }, + { "cloudbolin.es", true }, { "cloudbreaker.de", true }, { "cloudcaprice.net", true }, { "cloudcloudcloud.cloud", true }, @@ -6104,7 +6214,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cloudia.org", true }, { "cloudily.com", true }, { "cloudimprovedtest.com", true }, - { "cloudkit.pro", true }, + { "cloudkit.pro", false }, { "cloudlight.biz", true }, { "cloudmigrator365.com", true }, { "cloudnote.cc", true }, @@ -6174,6 +6284,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cmngroup.com", true }, { "cmngroupe.com", true }, { "cmplainpalais.ch", true }, + { "cmpr.es", true }, { "cmskeyholding.co.uk", true }, { "cmskeyholding.com", true }, { "cmskh.co.uk", true }, @@ -6188,7 +6299,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cncfraises.fr", true }, { "cncrans.ch", true }, { "cni-certing.it", true }, - { "cnrd.me", true }, { "co-factor.ro", true }, { "co.search.yahoo.com", false }, { "co50.com", true }, @@ -6198,6 +6308,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "coalpointcottage.com", true }, { "coam.co", true }, { "coastline.net.au", true }, + { "coathangastrangla.com", true }, + { "coathangastrangler.com", true }, + { "coathangerstrangla.com", true }, + { "coathangerstrangler.com", true }, { "coatl-industries.com", true }, { "cobalt.io", true }, { "cobaltgp.com", true }, @@ -6205,9 +6319,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cocaine-import.agency", true }, { "cocaine.ninja", true }, { "cocalc.com", true }, - { "coccinellaskitchen.com", true }, - { "coccinellaskitchen.de", true }, - { "coccinellaskitchen.it", true }, { "cocinoyo.com", true }, { "cock.li", true }, { "cockerspanielamericano.com.br", true }, @@ -6234,6 +6345,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "code.taxi", true }, { "code67.com", true }, { "codebrahma.com", false }, + { "codedelarouteenligne.fr", true }, { "codedump.net", true }, { "codeeclipse.com", true }, { "codeferm.com", true }, @@ -6243,17 +6355,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "codeine.co.uk", true }, { "codeit.guru", true }, { "codeit.us", true }, - { "codeloop.pw", true }, { "codenode.io", true }, { "codeplay.org", true }, { "codepoints.net", true }, { "codepref.com", true }, { "codepult.com", true }, { "codera.co.uk", true }, + { "codercy.com", true }, { "codereview.appspot.com", false }, { "codereview.chromium.org", false }, { "coderhangout.com", true }, { "coderme.com", true }, + { "codes.pk", true }, { "codesplain.in", true }, { "codesport.io", true }, { "codespromo.be", true }, @@ -6267,10 +6380,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "codeversetech.com", true }, { "codewild.de", true }, { "codeyellow.nl", true }, + { "codific.com", true }, { "codific.eu", true }, { "coding-minds.com", true }, { "coding.lv", true }, - { "coding.net", true }, { "codingforspeed.com", true }, { "codingfromhell.net", true }, { "codingrobots.com", true }, @@ -6287,6 +6400,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cogilog.com", true }, { "cogitoltd.com", true }, { "cognitivecomputingconsortium.com", true }, + { "cogsquad.house", true }, { "coi-verify.com", true }, { "coiffeurschnittstelle.ch", true }, { "coigach-assynt.org", true }, @@ -6326,7 +6440,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "colinchartier.com", true }, { "colinstark.ca", true }, { "colisfrais.com", false }, - { "collablynk.com", true }, { "collabora-office.com", true }, { "collabora.ca", true }, { "collabora.co.kr", true }, @@ -6361,6 +6474,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "colorcentertoner.com.br", true }, { "colorcodedlyrics.com", true }, { "colorectalcompounding.com", true }, + { "colorhexa.com", true }, { "coloringnotebook.com", true }, { "coloristcafe.com", true }, { "colorlifesupport.com", true }, @@ -6371,7 +6485,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "coltonrb.com", true }, { "columbuswines.com", true }, { "colyakootees.com", true }, - { "com-in.de", true }, + { "comalia.com", true }, { "comarkinstruments.net", true }, { "combron.nl", true }, { "comchezmeme.com", true }, @@ -6390,7 +6504,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "comflores.com.br", true }, { "comfypc.com", true }, { "comhack.com", true }, - { "comicrelief.com", true }, { "comicspornos.com", true }, { "comicwiki.dk", true }, { "comidasperuanas.net", true }, @@ -6400,7 +6513,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "commania.co.kr", true }, { "commco.nl", true }, { "commechezvous.ch", true }, - { "commencepayments.com", true }, { "commercial-academy.fr", true }, { "commitsandrebases.com", true }, { "common.io", true }, @@ -6410,7 +6522,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "community-cupboard.org", true }, { "communityblog.fedoraproject.org", true }, { "communitycodeofconduct.com", true }, - { "communityflow.info", true }, { "communote.net", true }, { "comodesinflamarlashemorroides.org", true }, { "comodo.nl", true }, @@ -6418,6 +6529,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "comoeliminarlaspapulasperladasenelglande.com", true }, { "comogene.com", true }, { "comohacerelamoraunhombrenet.com", true }, + { "comohacerpara.com", true }, { "comopuededejardefumar.net", true }, { "comoquitarlasestriasrapidamente.com", true }, { "comorecuperaratumujerpdf.com", true }, @@ -6434,6 +6546,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "compassdirectportal.com", true }, { "compeat.com", true }, { "compeuphoria.com", true }, + { "comphare.nl", true }, { "compibus.fr", true }, { "compilenix.org", true }, { "completefloorcoverings.com", true }, @@ -6450,6 +6563,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "compraneta.com", false }, { "compreautomacao.com.br", true }, { "compredietlight.com.br", true }, + { "compree.com", true }, { "comprefitasadere.com.br", true }, { "compsmag.com", true }, { "compubench.com", true }, @@ -6486,6 +6600,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "condecom.com.br", true }, { "condepenalba.com", false }, { "condesaelectronics.com", true }, + { "condolencemessages.net", true }, { "condosforcash.com", true }, { "condroz-motors.be", true }, { "conectalmeria.com", true }, @@ -6542,6 +6657,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "consonare.de", true }, { "constancechen.me", true }, { "constant-rough.de", true }, + { "construct-trust.com", true }, { "constructionjobs.com", true }, { "consul.io", true }, { "consultorcr.net", true }, @@ -6563,6 +6679,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "continuation.io", true }, { "contrabass.net", true }, { "contractormountain.com", true }, + { "contractwriters.com", true }, { "contraspin.co.nz", true }, { "contratatupoliza.com", true }, { "contributor.google.com", false }, @@ -6574,7 +6691,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "controltickets.com.br", true }, { "contxt-agentur.de", true }, { "conv2pdf.com", true }, - { "convergemagazine.com", true }, { "convergence.fi", true }, { "convergencela.com", true }, { "convergnce.com", true }, @@ -6613,7 +6729,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "coolprylar.se", true }, { "coolrc.me", true }, { "coolviewthermostat.com", true }, - { "coonelnel.net", true }, { "coopens.com", true }, { "coore.jp", true }, { "coorpacademy.com", true }, @@ -6630,10 +6745,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "corbinhesse.com", true }, { "cordeydesign.ch", true }, { "cordis.io", true }, + { "cordis.tk", true }, { "cordlessdog.com", true }, { "core-concepts.de", true }, { "core-networks.de", true }, { "core.org.pt", false }, + { "coreapm.com", true }, { "corecodec.com", true }, { "coredump.gr", true }, { "coreinfrastructure.org", true }, @@ -6672,6 +6789,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "corrbee.com", true }, { "correiodovale.com.br", true }, { "corrupted.io", true }, + { "corsa-b.uk", true }, { "cortexitrecruitment.com", true }, { "cortis-consulting.ch", true }, { "cortisolsupplement.com", true }, @@ -6695,14 +6813,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "costa-rica-reisen.ch", true }, { "costa-rica-reisen.de", true }, { "costablancavoorjou.com", true }, + { "costcofinance.com", true }, { "costinstefan.eu", true }, { "costreportdata.com", false }, { "costulessdirect.com", true }, { "coteries.com", true }, { "cotonea.de", true }, { "cotonmusic.ch", true }, - { "cotta.dk", true }, - { "cotwe-ge.ch", true }, { "cougar.dating", true }, { "counselling.network", true }, { "counstellor.com", true }, @@ -6721,7 +6838,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "couponcodesme.com", true }, { "cour4g3.me", true }, { "couragefound.org", true }, - { "courageousparentsnetwork.org", true }, { "course.pp.ua", true }, { "coursera.org", true }, { "courses.nl", true }, @@ -6730,7 +6846,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "couscous.recipes", true }, { "cousincouples.com", true }, { "covbounce.co.uk", true }, - { "cove.sh", true }, { "covenantoftheriver.org", true }, { "covermytrip.com.au", true }, { "covershousing.nl", true }, @@ -6742,6 +6857,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cowboyim.com", true }, { "coweo.cz", true }, { "coworkingmanifesto.com", true }, + { "coxxs.me", true }, + { "coxxs.moe", true }, { "cozmaadrian.ro", true }, { "cozo.me", true }, { "cozy.io", true }, @@ -6775,6 +6892,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "craftination.net", true }, { "craftinginredlipstick.com", true }, { "craftmine.cz", true }, + { "craftsmandruggets.com", true }, { "craftwmcp.xyz", true }, { "craftydev.design", true }, { "craftyguy.net", true }, @@ -6789,7 +6907,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cranesafe.com", true }, { "cranforddental.com", true }, { "crapouill.es", true }, - { "crashsec.com", true }, { "crawcial.de", true }, { "crawfordcountytcc.org", true }, { "crawl.report", true }, @@ -6823,6 +6940,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "creativecommons.cl", true }, { "creativecommons.gr", true }, { "creativecommons.org", true }, + { "creativecommonscatpictures.com", true }, { "creativeconceptsvernon.com", true }, { "creativedigital.co.nz", true }, { "creativefolks.co.uk", true }, @@ -6865,6 +6983,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crescent.gr.jp", true }, { "crestasantos.com", true }, { "cretdupuy.com", true }, + { "cretica.no", true }, { "creusalp.ch", true }, { "crew505.org", true }, { "crewplanner.eu", true }, @@ -6885,12 +7004,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crispinusphotography.com", true }, { "cristarta.com", true }, { "cristau.org", true }, + { "cristiandeluxe.com", false }, { "critcola.com", true }, { "critical.today", false }, { "criticalsurveys.co.uk", true }, { "crizin.io", true }, { "crl-autos.com", true }, { "crm.onlime.ch", false }, + { "croceverdevb.it", true }, { "croixblanche-haguenau.fr", true }, { "cronix.cc", true }, { "cronologie.de", true }, @@ -6907,6 +7028,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crosscom.ch", true }, { "crossfitblackwater.com", true }, { "crossfunctional.com", true }, + { "crosslifenutrition.co.uk", true }, { "crossorig.in", true }, { "crossoverit.com", true }, { "crosspeakoms.com", true }, @@ -6918,6 +7040,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crowdsupply.com", true }, { "crownbouncycastlehire.co.uk", true }, { "crowncastles.co.uk", true }, + { "crownchessclub.com", true }, { "crownmarqueehire.co.uk", true }, { "croydonapartments.com.au", true }, { "croydonbouncycastles.co.uk", true }, @@ -6941,6 +7064,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cryptearth.de", true }, { "crypted.chat", true }, { "crypteianetworks.com", true }, + { "crypticshell.co.uk", true }, { "crypto-armory.com", true }, { "crypto.cat", false }, { "crypto.graphics", true }, @@ -6959,7 +7083,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cryptonom.org", true }, { "cryptonym.com", true }, { "cryptoparty.at", true }, - { "cryptoparty.dk", true }, { "cryptopartyutah.org", true }, { "cryptophobia.nl", false }, { "cryptorival.com", true }, @@ -6987,9 +7110,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "csgotwister.com", true }, { "csharpmarc.net", true }, { "cshopify.com", true }, - { "csilies.de", true }, + { "csi.lk", true }, { "csinfo.us", true }, - { "csinterstargeneve.ch", true }, { "cskentertainment.co.uk", true }, { "csmainframe.com", true }, { "csokolade.hu", true }, @@ -7018,7 +7140,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ctpe.net", true }, { "ctrld.me", true }, { "ctyi.me", true }, - { "cu247secure.ie", true }, { "cub-bouncingcastles.co.uk", true }, { "cube-cloud.com", true }, { "cube.de", true }, @@ -7026,11 +7147,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cubecraftstore.com", true }, { "cubecraftstore.net", true }, { "cubekrowd.net", true }, + { "cubela.tech", true }, { "cubia.de", true }, { "cubia3.com", true }, { "cubia4.com", true }, { "cubile.xyz", true }, - { "cubix.host", true }, { "cublick.com", true }, { "cubos.io", false }, { "cubostecnologia.com", false }, @@ -7054,9 +7175,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cultureroll.com", true }, { "cumparama.com", true }, { "cumplegenial.com", true }, - { "cuni-cuni-club.com", true }, - { "cuni-rec.com", true }, { "cuoc.org.uk", true }, + { "cuongthach.com", true }, { "cup.al", true }, { "cupcake.io", true }, { "cupcake.is", true }, @@ -7079,7 +7199,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "currentobserver.com", true }, { "currynissanmaparts.com", true }, { "cursos.com", true }, - { "cursosdnc.cl", true }, { "cursuri-de-actorie.ro", true }, { "curtacircuitos.com.br", false }, { "curtis-smith.me.uk", true }, @@ -7094,16 +7213,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "curvissa.co.uk", true }, { "custodyxchange.com", true }, { "customd.com", true }, + { "customdissertation.com", true }, { "customerbox.ir", true }, { "customfitmarketing.com", true }, { "customgear.com.au", true }, - { "customizeyourshower.com", true }, - { "customizeyoursink.com", true }, + { "custompapers.com", true }, { "customromlist.com", true }, { "customshort.link", true }, { "customwritings.com", true }, { "customwritingservice.com", true }, - { "cutelariafiveladeouro.com.br", true }, + { "customwritten.com", true }, { "cutephil.com", true }, { "cutimbo.ovh", true }, { "cutner.co", true }, @@ -7138,11 +7257,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cwningen.cymru", false }, { "cwrcoding.com", true }, { "cy.technology", true }, - { "cybbh.space", true }, { "cyber-perikarp.eu", true }, { "cyber.cafe", true }, { "cybercloud.cc", true }, { "cybercrew.cc", true }, + { "cybercrime-forschung.de", true }, { "cyberdos.de", true }, { "cyberduck.io", true }, { "cybergrx.com", true }, @@ -7151,9 +7270,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cyberianhusky.com", true }, { "cyberkov.com", true }, { "cyberlightapp.com", true }, + { "cybermeldpunt.nl", true }, { "cyberoptic.de", true }, { "cyberphaze.com", true }, { "cyberprey.com", true }, + { "cyberregister.nl", true }, + { "cyberregister.org", true }, + { "cyberscan.io", true }, { "cybersecurity.nz", true }, { "cybersecuritychallenge.be", true }, { "cyberseguranca.com.br", true }, @@ -7237,6 +7360,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "d8.io", true }, { "da-ist-kunst.de", true }, { "da.hn", true }, + { "da42foripad.com", true }, { "da8.cc", true }, { "daallexx.eu", true }, { "dabblegoat.com", true }, @@ -7268,6 +7392,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dailyhealthguard.com", true }, { "dailykos.com", true }, { "dailytopix.com", true }, + { "dailyxenang.com", true }, { "daintymeal.com", true }, { "dairyshrine.org", true }, { "daisidaniels.co.uk", true }, @@ -7284,15 +7409,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dalb.in", true }, { "dale-electric.com", true }, { "dalek.co.nz", true }, - { "dalfiume.it", false }, { "dalfsennet.nl", true }, { "dalingk.com", true }, + { "dallaslu.com", true }, { "dallinbryce.com", true }, { "dallmeier.net", true }, { "dalmatiersheusden.be", true }, { "damaged.org", true }, { "damasexpress.com", true }, - { "damedrogy.cz", true }, { "damicris.ro", true }, { "damienoreilly.org", true }, { "damienpontifex.com", true }, @@ -7313,7 +7437,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dandenongroadapartments.com.au", true }, { "dandymrsb.com", true }, { "daneandthepain.com", true }, - { "dango.in", true }, { "danhalliday.com", true }, { "daniel-baumann.ch", true }, { "daniel-du.com", true }, @@ -7337,10 +7460,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "danielschreurs.com", true }, { "danielstach.cz", true }, { "danielsteiner.net", true }, + { "danielstiner.me", true }, + { "danielthompson.info", true }, { "danieltollot.de", true }, { "danielverlaan.nl", true }, { "danielvoogsgerd.nl", true }, { "danielzuzevich.com", true }, + { "danifabi.eu", true }, { "danilapisarev.com", true }, { "danjesensky.com", true }, { "dank.ninja", true }, @@ -7358,11 +7484,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "danotage.tv", true }, { "danova.de", true }, { "danoz.net", true }, - { "danpiel.net", false }, { "danscomp.com", true }, { "danselibre.net", true }, { "danseressen.nl", true }, { "dansk-skole.de", true }, + { "dansk777.dk", true }, { "danskoferie.dk", true }, { "danskringsporta.be", true }, { "dantransports.fr", true }, @@ -7398,6 +7524,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "darkfire.ch", true }, { "darkishgreen.com", true }, { "darknetlive.com", true }, + { "darknight.blog", true }, { "darknode.in", true }, { "darkserver.fedoraproject.org", true }, { "darkserver.stg.fedoraproject.org", true }, @@ -7418,7 +7545,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "darth-sonic.de", true }, { "dartsdon.jp", true }, { "darwinkel.net", false }, - { "daryl.moe", true }, { "darylcumbo.net", true }, { "das-mediale-haus.de", true }, { "das-sommercamp.de", true }, @@ -7467,6 +7593,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "datememe.com", true }, { "datengrab.ws", true }, { "datengrab.xyz", true }, + { "datenkeks.de", true }, { "datenlast.de", true }, { "dateno1.com", true }, { "datenreiter.org", true }, @@ -7483,6 +7610,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "datsumou-q.com", true }, { "datumou-osusume.com", true }, { "datumou-recipe.com", true }, + { "daubecity.de", true }, { "daubehosting.de", true }, { "dave-pearce.com", true }, { "daveaglick.com", true }, @@ -7558,9 +7686,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dbyz.co.uk", true }, { "dc-occasies.be", true }, { "dc562.org", true }, + { "dc585.info", true }, { "dcards.in.th", true }, { "dcautomacao.com.br", true }, - { "dcbouncycastles.co.uk", true }, { "dcc.cat", true }, { "dcepler.net", true }, { "dchatelain.ch", true }, @@ -7569,10 +7697,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dcl.re", true }, { "dclaisse.fr", true }, { "dcmt.co", true }, + { "dcpower.eu", true }, { "dcrdev.com", true }, { "dd.art.pl", true }, { "ddel.de", true }, - { "dden.ca", false }, + { "dden.ca", true }, + { "ddepot.us", false }, { "ddfreedish.site", false }, { "ddhosted.com", true }, { "ddmeportal.com", true }, @@ -7624,7 +7754,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "deathy.ro", true }, { "debie-usedcars.be", true }, { "debigare.com", true }, - { "deborahmarinelli.eu", true }, + { "debitoutil.com", true }, + { "debitpaie.com", true }, { "debron-ot.nl", true }, { "debrusoft.ch", true }, { "debt.com", true }, @@ -7639,9 +7770,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "decock-usedcars.be", true }, { "decodeanddestroy.com", true }, { "decoder.link", true }, + { "decompiled.de", true }, { "decomplify.com", true }, { "decor-d.com", true }, - { "decoraid.com", true }, { "decoratrix.com", true }, { "decorauvent.ca", true }, { "decorestilo.com.br", true }, @@ -7663,6 +7794,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "deep.club", true }, { "deeparamaraj.com", true }, { "deepbluecrafting.co.uk", true }, + { "deeperxh.com", true }, { "deephill.com", true }, { "deeps.me", true }, { "deepserve.info", true }, @@ -7694,6 +7826,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "defont.nl", true }, { "defrax.com", true }, { "defrax.de", true }, + { "deftek.com", true }, { "deftnerd.com", true }, { "defuse.ca", true }, { "defxing.net", true }, @@ -7716,6 +7849,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dejure.org", true }, { "dejw.cz", true }, { "dekasiba.com", true }, + { "dekka.cz", true }, { "dekoh-shouyu.com", true }, { "dekonix.ru", true }, { "delahrzolder.nl", true }, @@ -7723,7 +7857,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "delbrouck.ch", true }, { "deleidscheflesch.nl", true }, { "delfic.org", true }, - { "delfino.cr", true }, { "delhionlinegifts.com", true }, { "deliandiver.org", true }, { "deliberatedigital.com", true }, @@ -7746,7 +7879,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "deltaonlineguards.com", true }, { "deltasmart.ch", true }, { "deltava.org", true }, - { "demandware.com", true }, { "demarche-expresse.com", true }, { "demarle.ch", true }, { "dementiapraecox.de", true }, @@ -7772,8 +7904,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "demuzere.org", true }, { "denabot.pw", true }, { "denaehula.com", true }, - { "denardbrewing.com", true }, - { "dengchangdong.com", true }, { "dengode.eu", true }, { "denimio.com", true }, { "denimtoday.com", true }, @@ -7797,6 +7927,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dentystabirmingham.co.uk", true }, { "denverphilharmonic.org", true }, { "deontology.com", true }, + { "depaco.com", true }, { "depaddestoeltjes.be", true }, { "deparis.me", true }, { "depechemode-live.com", true }, @@ -7829,7 +7960,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dergeilstestammderwelt.de", true }, { "derhil.de", true }, { "derive.cc", true }, - { "dermapuur.nl", true }, { "dermatologie-morges.ch", true }, { "dermediq.nl", true }, { "dermot.org.uk", true }, @@ -7847,15 +7977,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "desec.io", true }, { "desertsounds.org", true }, { "desgenst.ch", true }, + { "design-fu.com", true }, { "design-tooning.de", true }, { "designanyware.com.br", true }, + { "designdevs.eu", true }, { "designed-cybersecurity.com", true }, { "designedcybersecurity.com", true }, { "designer-drug.com", true }, + { "designera.se", true }, { "designgraphic.fr", true }, { "designhotel-kronjuwel.de", true }, { "designsbyjanith.com", true }, - { "designsbykerrialee.co.uk", true }, { "designskin.ch", true }, { "designville.cz", true }, { "designville.sk", true }, @@ -7895,6 +8027,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "deusu.de", true }, { "deusu.org", true }, { "deutsch-vietnamesisch-dolmetscher.com", true }, + { "deutsche-tageszeitungen.de", true }, + { "deutscher-bericht.de", true }, { "deutschland-dsl.de", true }, { "deux.solutions", true }, { "deuxsol.co", true }, @@ -7928,10 +8062,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "develux.net", true }, { "devenney.io", true }, { "devh.de", true }, + { "devh.net", true }, { "deviant.email", true }, { "devillers-occasions.be", true }, { "devilshakerz.com", true }, { "deviltracks.net", true }, + { "deviltraxxx.de", true }, { "devinfo.net", false }, { "devisnow.fr", true }, { "devjack.de", true }, @@ -7941,9 +8077,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "devlamvzw.org", true }, { "devlatron.net", true }, { "devlogr.com", true }, - { "devlux.ch", true }, { "devolution.ws", true }, { "devonsawatzky.ca", true }, + { "devopers.com.br", true }, { "devops-survey.com", true }, { "devpgsv.com", true }, { "devpsy.info", true }, @@ -7954,6 +8090,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dewaard.de", true }, { "dewalch.net", true }, { "dewapress.com", true }, + { "dewinter.com", true }, { "dexalo.de", true }, { "dezeregio.nl", true }, { "dezet-ev.de", true }, @@ -7969,6 +8106,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dflcares.com", true }, { "dfmn.berlin", true }, { "dfranke.com", true }, + { "dgblaw.com.au", true }, { "dgbouncycastlehire.com", true }, { "dgby.org", true }, { "dgeex.eu", true }, @@ -7987,6 +8125,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dhlcotizadorexpo-qa.azurewebsites.net", true }, { "dhlinux.org", true }, { "dhome.at", true }, + { "dhuy.net", true }, { "di2pra.com", true }, { "di2pra.fr", true }, { "diabolic.chat", true }, @@ -8009,8 +8148,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "diasporadialogues.com", true }, { "diavo.de", true }, { "dibiphp.com", true }, + { "diccionarioabierto.com", true }, { "diccionariodedudas.com", true }, { "dice.tokyo", true }, + { "dicelab.co.uk", true }, { "dichgans-besserer.de", true }, { "dichvudangkygiayphep.com", true }, { "dicio.com.br", true }, @@ -8028,9 +8169,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "diddens.de", true }, { "didikhari.web.id", true }, { "die-besten-weisheiten.de", true }, + { "die-blahuts.de", true }, { "die-borts.ch", true }, { "die-gruenen-teufel.de", true }, { "die-partei-reutlingen.de", true }, + { "die-seide.de", true }, { "die-sinlosen.de", true }, { "die-speisekammer-reutlingen.de", true }, { "diedrich.co", false }, @@ -8064,7 +8207,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "difoosion.com", true }, { "digcit.org", true }, { "digdata.de", true }, - { "diggable.co", true }, { "dighans.com", true }, { "digiarc.net", true }, { "digibild.ch", true }, @@ -8103,15 +8245,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "digitaldem.it", true }, { "digitalehandtekeningen.nl", true }, { "digitaleoverheid.nl", true }, + { "digitalewelten.de", true }, { "digitalfishfun.com", true }, { "digitalgov.gov", false }, + { "digitalmaniac.co.uk", true }, { "digitalmarketingindallas.com", true }, { "digitalrights.center", true }, { "digitalrights.fund", true }, - { "digitalsurge.io", true }, { "digitaltechnologies.ltd.uk", true }, { "digitalunite.de", true }, - { "digitalwasteland.net", true }, { "digitkon.com", true }, { "digminecraft.com", true }, { "digwp.com", true }, @@ -8138,25 +8280,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "din-hkd.jp", true }, { "dineachook.com.au", true }, { "dinepont.fr", true }, + { "dingcc.com", true }, { "dinge.xyz", true }, - { "dingss.com", true }, { "dinmtb.dk", true }, { "dino.li", true }, { "dinotopia.org.uk", true }, - { "dinotv.at", true }, { "dintillat.fr", true }, { "dintrafic.net", true }, - { "dinube.com", true }, { "diodeled.com", true }, { "diodo.me", true }, - { "dionysus.se", true }, { "dipl.io", false }, { "dipling.de", true }, { "dipulse.it", true }, { "dir2epub.com", true }, { "dir2epub.org", true }, { "direct-sel.com", true }, - { "direct2uk.com", true }, { "directebanking.com", true }, { "directinsure.in", true }, { "directlinkfunding.co.uk", true }, @@ -8218,6 +8356,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "diskbit.nl", true }, { "dismail.de", true }, { "disposable.link", true }, + { "disroot.org", true }, { "disrupters.ch", true }, { "dissectcyber.com", true }, { "dissertationhelp.com", true }, @@ -8225,7 +8364,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dist.torproject.org", false }, { "distiduffer.org", true }, { "distinguishedprisoner.com", true }, - { "distinguishedwindows.co.uk", true }, { "distribuidoracristal.com.br", true }, { "distribuidorveterinario.es", true }, { "distrilogservices.com", true }, @@ -8249,12 +8387,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "divinegames.studio", true }, { "divingwithnic.com", true }, { "divvi.co.nz", true }, - { "diwei.vip", true }, { "diybook.at", true }, { "diycc.org", true }, { "diymediahome.org", true }, { "diyosun.com", true }, - { "diz.in.ua", true }, { "dizzythewizard.co.uk", true }, { "dj-leszwolle.nl", true }, { "dj-x.info", true }, @@ -8267,6 +8403,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "djc.me", true }, { "djcursuszwolle.nl", true }, { "djdavid98.hu", true }, + { "djieno.com", true }, { "djipanov.com", true }, { "djlive.pl", true }, { "djlnetworks.co.uk", true }, @@ -8293,13 +8430,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dlunch.net", true }, { "dlzz.net", true }, { "dm.lookout.com", false }, - { "dm4productions.com", true }, { "dm7ds.de", true }, { "dmarc.dk", true }, { "dmarketer.com", true }, { "dmcastles.com", true }, { "dmdd.org.uk", true }, - { "dmdre.com", true }, { "dmeevalumate.com", true }, { "dmenergy.ru", true }, { "dmfd.net", true }, @@ -8310,10 +8445,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dn42.eu", false }, { "dn42.us", true }, { "dna.li", true }, + { "dnacloud.pl", true }, { "dnc.org.nz", true }, { "dndtools.net", true }, { "dne.lu", true }, - { "dnmaze.com", true }, { "dnmlab.it", true }, { "dnplegal.com", true }, { "dns-control.eu", true }, @@ -8327,7 +8462,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dnslog.com", true }, { "dnsman.se", true }, { "dnstwister.report", true }, - { "do-it.cz", true }, { "do-prod.com", true }, { "do.gd", true }, { "do.search.yahoo.com", false }, @@ -8366,6 +8500,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "documentations-sociales.com", true }, { "docupet.com", true }, { "doenjoylife.com", true }, + { "does.one", true }, { "doesburg-comp.nl", true }, { "doesnotscale.com", false }, { "dofuspvp.com", true }, @@ -8381,7 +8516,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dogprograms.net", true }, { "dogworld.com.br", true }, { "dohanews.co", true }, - { "dokan-e.com", true }, { "dokelio-idf.fr", true }, { "doku-gilde.de", true }, { "dokuboard.com", true }, @@ -8403,6 +8537,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "domainedemiolan.ch", true }, { "domainexpress.de", false }, { "domainkauf.de", true }, + { "domainoo.com", true }, { "domains.autos", true }, { "domains.boats", true }, { "domains.google.com", true }, @@ -8420,6 +8555,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dominationgame.co.uk", true }, { "dominicself.co.uk", true }, { "dominik-schlueter.de", true }, + { "dominikaner-vechta.de", true }, { "dominikkulaga.pl", true }, { "dominioanimal.com.br", true }, { "dominionregistries.domains", true }, @@ -8483,6 +8619,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "door.cards", true }, { "doordecor.bg", true }, { "doorflow.com", true }, + { "dopesoft.de", true }, { "dopfer-fenstertechnik.de", true }, { "doppenpost.nl", true }, { "dopply.com", true }, @@ -8494,7 +8631,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dorianharmans.nl", true }, { "dorianmuthig.com", true }, { "dormiu.com", true }, - { "dormiu.com.br", true }, { "dorquelle.com", true }, { "dorsetentertainments.co.uk", true }, { "dorth.nl", true }, @@ -8517,6 +8653,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dotconnor.com", true }, { "dotgov.gov", true }, { "dothebangthingsalon.com", true }, + { "dothydesign.com", true }, { "dotjs.party", true }, { "dotkniseandroida.cz", true }, { "dotkod.com", true }, @@ -8562,6 +8699,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dpisecuretests.com", true }, { "dprb.biz", true }, { "dprd-wonogirikab.go.id", false }, + { "dpsart.it", true }, { "dpwsweeps.co.uk", true }, { "dr-schuessler.de", true }, { "dr-www.de", true }, @@ -8593,25 +8731,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dragonsunited.info", true }, { "dragonsunited.net", true }, { "dragonsunited.org", true }, - { "dragonwork.me", true }, { "drahcro.uk", true }, { "drakeluce.com", true }, { "drakenprospero.com", false }, { "drakfot.se", true }, { "dramaticpeople.com", true }, + { "dranderle.com", true }, { "dranek.com", true }, { "draugr.de", true }, { "draw.uy", true }, { "drawesome.uy", true }, { "drawingcode.net", true }, - { "drbethanybarnes.com", true }, { "drchristinehatfield.ca", true }, { "drchristophepanthier.com", true }, { "drdavidgilpin.com", true }, { "drdim.ru", true }, { "drdipilla.com", true }, { "dreadd.org", true }, - { "dreamaholic.club", true }, { "dreamcreator108.com", true }, { "dreamhack.com", true }, { "dreamhostremixer.com", true }, @@ -8641,6 +8777,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "driesjtuver.nl", true }, { "driftdude.nl", true }, { "drighes.com", true }, + { "drillingsupply.info", true }, { "drillingsupplystore.com", true }, { "drillion.net", true }, { "drillnation.com.au", true }, @@ -8665,7 +8802,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "drkhsh.at", true }, { "drkmtrx.xyz", true }, { "drlangsdon.com", true }, - { "drlazarina.net", true }, + { "drmcdaniel.com", true }, { "drms.us", true }, { "drmtransit.com", true }, { "drogueriaelbarco.com", true }, @@ -8693,6 +8830,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "drpure.pw", true }, { "drrr.chat", true }, { "drrr.wiki", true }, + { "drsajjadian.com", true }, { "drschruefer.de", true }, { "drsturgeonfreitas.com", true }, { "drtti.io", true }, @@ -8759,7 +8897,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "duct.me", true }, { "duerls.de", true }, { "duernberg.at", true }, - { "duesee.org", true }, { "dufrei.com", true }, { "dugnet.com", false }, { "dugnet.io", false }, @@ -8772,8 +8909,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "duijfathome.nl", true }, { "duitang.com", true }, { "dukan-recepty.ru", true }, - { "dukefox.com", true }, - { "dukegat.de", true }, + { "dukegat.de", false }, { "dukesatqueens.com", true }, { "dukun.de", true }, { "dulei.si", true }, @@ -8797,7 +8933,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "duo.com", true }, { "duoluodeyu.com", true }, { "duoquadragintien.fr", true }, - { "dupisces.com.tw", false }, + { "dupisces.com.tw", true }, { "dupree.co", true }, { "durdle.com", true }, { "dureuil.info", true }, @@ -8847,7 +8983,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dyn-nserve.net", true }, { "dyn.im", true }, { "dynaloop.net", true }, - { "dynamic-networks.be", true }, { "dynamicnet.net", false }, { "dynamics-365.no", true }, { "dynamics365.no", true }, @@ -8858,6 +8993,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dynn.be", true }, { "dynorphin.com", true }, { "dynorphins.com", true }, + { "dynts.pro", true }, { "dynx.pl", true }, { "dyrenesverden.no", true }, { "dyrkar.com", true }, @@ -8871,8 +9007,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dzndk.com", true }, { "dzndk.net", true }, { "dzndk.org", true }, + { "dznn.nl", true }, { "dzomo.org", true }, { "dzsula.hu", true }, + { "dzyabchenko.com", true }, { "dzytdl.com", true }, { "e-apack.com.br", true }, { "e-biografias.net", true }, @@ -8906,7 +9044,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "e1488.com", true }, { "e2feed.com", true }, { "e30.ee", true }, - { "e3kids.com", true }, { "e3q.de", true }, { "e4metech.com", true }, { "e52888.com", true }, @@ -8925,7 +9062,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eagle.net", true }, { "eagleindustriesltd.com", true }, { "eaglemessaging.com", true }, - { "eagleridgecampground.com", true }, { "eaglesecurity.com", true }, { "eagletechz.com.br", true }, { "eagleyecs.com", true }, @@ -8941,6 +9077,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "earticleblog.com", true }, { "earvinkayonga.com", true }, { "easelforart.com", true }, + { "easez.net", true }, { "eashwar.com", true }, { "eason-yang.com", true }, { "east-line.su", true }, @@ -9000,10 +9137,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ebop.ch", true }, { "eboyer.com", true }, { "ebrnd.de", true }, - { "ebrowz.com", true }, { "ec-baran.de", true }, + { "ec-current.com", true }, { "ecco-verde.com", false }, { "eccoviasolutions.com", true }, + { "ecdn.cz", true }, { "ecelembrou.ovh", true }, { "ecfnorte.com.br", true }, { "echatta.net", true }, @@ -9040,7 +9178,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ecole-iaf.fr", true }, { "ecoledusabbat.org", true }, { "ecolemathurincordier.com", true }, - { "ecolesrec.ch", true }, { "ecolife-vrn.ru", true }, { "ecompen.co.za", true }, { "econativa.pt", true }, @@ -9048,7 +9185,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "economicinclusion.gov", true }, { "economiefidu.ch", true }, { "economies.ch", true }, - { "economy.st", true }, { "econsumer.gov", true }, { "ecorp.cc", true }, { "ecos-ev.de", true }, @@ -9075,14 +9211,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "edenmal.net", true }, { "edenvalerubbleremovals.co.za", true }, { "edesseglabor.hu", true }, + { "edfinancial.com", true }, { "edge-cloud.net", true }, { "edgeservices.co.uk", true }, { "edgetalk.net", true }, { "edhesive.com", true }, { "edholm.pub", true }, - { "edhrealtor.com", true }, { "edibarcode.com", true }, { "edicct.com", true }, + { "edilservizi.it", true }, + { "edilservizivco.it", true }, { "edincmovie.com", true }, { "edisonchee.com", true }, { "edisonlee55.com", true }, @@ -9095,7 +9233,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "edlinus.cn", true }, { "edmundcelis.com", true }, { "edoss.co.za", true }, - { "edp-collaborative.com", true }, { "edplan.io", true }, { "edservicing.com", true }, { "edsm.net", true }, @@ -9104,6 +9241,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "edtechwebb.com", true }, { "edu6.cloud", true }, { "eduard-dopler.de", true }, + { "eduardnikolenko.com", true }, { "eduardnikolenko.ru", true }, { "edubras.com.br", true }, { "educaid.be", true }, @@ -9111,9 +9249,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "educationunlimited.com", true }, { "educator-one.com", true }, { "educators.co.nz", true }, - { "educatoys.com.br", true }, { "educatweb.de", true }, - { "eductf.org", true }, { "edudrugs.com", true }, { "eduid.se", true }, { "edumundo.nl", true }, @@ -9126,14 +9262,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "edv-lehrgang.de", true }, { "edvmesstec.de", true }, { "edwar.do", true }, + { "edwards.me.uk", true }, { "edwardsnowden.com", true }, { "edwardspeyer.com", true }, + { "edwardwall.me", true }, { "edxg.de", false }, { "edxn.de", true }, { "edyou.eu", true }, { "edzilla.info", true }, { "ee-terminals.com", true }, - { "eeetrust.org", true }, { "eellak.gr", true }, { "eelsden.net", true }, { "eelzak.nl", true }, @@ -9174,14 +9311,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "egfl.org.uk", true }, { "egg-ortho.ch", true }, { "eggblast.com", true }, - { "eggert.org", true }, + { "eggert.org", false }, { "eggplant.today", true }, { "egiftcards.be", true }, { "eglek.com", true }, { "ego4u.com", true }, { "ego4u.de", true }, + { "egoroof.ru", true }, { "egov4.ch", true }, { "egretail.no", false }, + { "egrojsoft.info", true }, { "egrp365.ru", true }, { "egumenita.ro", true }, { "egw-ceramica.de", true }, @@ -9228,8 +9367,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eiyoushi-shigoto.com", true }, { "ejdv-anmeldung.de", true }, { "ejeff.org", true }, + { "ejgconsultancy.co.uk", true }, { "ejuicelab.co.uk", true }, { "ejusu.com", true }, + { "ek-networks.de", true }, + { "ek.network", true }, { "ekaigotenshoku.com", true }, { "ekati.ru", true }, { "ekb-avia.ru", true }, @@ -9237,10 +9379,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ekedc.com", true }, { "ekedp.com", true }, { "eklepka.com", true }, + { "eklitzke.org", true }, { "ekodevices.com", true }, { "ekokontakt.cz", true }, { "ekonbenefits.com", true }, - { "ekong366.com", true }, { "ekostecki.de", true }, { "ekpyroticfrood.net", true }, { "eksisozluk.com", true }, @@ -9329,10 +9471,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elexprimidor.com", true }, { "elgosblanc.com", false }, { "elguadia.faith", true }, + { "elguillatun.cl", true }, { "elhall.pro", true }, { "elhall.ru", true }, { "elhamadimi.com", true }, { "elhossari.com", true }, + { "elia.cloud", true }, { "elias-nicolas.com", true }, { "elifesciences.org", true }, { "eligible.com", true }, @@ -9348,10 +9492,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elisabeth-kostecki.de", true }, { "elisabeth-strunz.de", true }, { "elisabethkostecki.de", true }, + { "elisechristie.com", true }, { "elistor6100.xyz", true }, { "elite-box.com", true }, { "elite-box.org", true }, - { "elite-porno.ru", true }, { "elite12.de", true }, { "elitebouncingfun.com", true }, { "elitegameservers.net", true }, @@ -9372,7 +9516,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elliot.cat", true }, { "elliotgluck.com", true }, { "elliquiy.com", true }, - { "elliriehl.at", true }, { "ellisamusements.co.uk", true }, { "ellisleisure.co.uk", true }, { "ellsinger.me", true }, @@ -9398,17 +9541,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eluhome.de", true }, { "elvidence.com.au", true }, { "elviraszabo.com", true }, + { "elvispresley.net", true }, { "elvisripley.com", true }, { "elwave.org", true }, { "elwix.com", true }, { "elxsi.de", true }, { "elyasweb.com", true }, - { "elyisus.info", true }, { "elysiria.fr", true }, { "em-biotek.cz", true }, + { "emailalaperformance.fr", true }, { "emailconfiguration.com", true }, { "emailfuermich.de", true }, { "emailhunter.co", true }, + { "emailing.alsace", true }, { "emailprivacytester.com", true }, { "emailtools.io", true }, { "emaily.eu", true }, @@ -9423,10 +9568,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "emcspotlight.com", true }, { "emedworld.com", true }, { "emeliefalk.se", true }, + { "emeraldcoastrideshare.com", true }, { "emeraldonion.org", true }, { "emergencyessay.com", true }, { "emergencymedicinefoundations.com", true }, - { "emergentvisiontec.com", true }, { "emergenzalavoro.com", true }, { "emero.de", true }, { "emex.ro", true }, @@ -9434,11 +9579,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "emi.im", true }, { "emielraaijmakers.nl", true }, { "emil.click", true }, + { "emilecourriel.com", true }, { "emilong.com", true }, { "emilstahl.dk", true }, { "emilvarga.com", true }, { "emilyshepherd.me", true }, - { "eminhuseynov.com", true }, { "emirabiz.com", false }, { "emirichardson.com", true }, { "emivauthey.com", true }, @@ -9448,10 +9593,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "emmagraystore.com", true }, { "emmaliddell.com", true }, { "emmanuelle-et-julien.ch", true }, - { "emmdy.com", true }, { "emmehair.com", true }, { "emoji.bzh", true }, - { "emojiengine.com", true }, { "emolafarm.com", true }, { "emond-usedcars.net", true }, { "emoticonesjaponeses.com", true }, @@ -9461,7 +9604,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "empathy.ca", true }, { "emperor-penguin.com", true }, { "emperor-penguins.com", true }, - { "emperor.blog", true }, { "empese.com", true }, { "empire24.co", true }, { "empireauto-2000.com", true }, @@ -9533,6 +9675,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "enersec.co.uk", true }, { "enet-navigator.de", true }, { "enfantsdelarue.ch", true }, + { "enfield-kitchens.co.uk", true }, { "enflow.nl", true }, { "enfoqueseguro.com", true }, { "enfu.se", true }, @@ -9565,6 +9708,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "enlightened.si", true }, { "enlightenedhr.com", true }, { "enlightenment.org", true }, + { "enlnf.link", true }, { "enloestatebank.com", true }, { "ennea-mediation.fr", true }, { "enness.co.uk", true }, @@ -9602,7 +9746,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "entrypoint.sh", true }, { "enuchi.jp", true }, { "envant.co.uk", true }, - { "envelope.co.nz", true }, { "enveloppenopmaat.nl", true }, { "envescent.com", true }, { "enviam.de", true }, @@ -9651,7 +9794,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "epizentrum.work", true }, { "epizentrum.works", true }, { "epmcentroitalia.it", true }, - { "epoch.com", false }, + { "epoch.com", true }, { "epolitiker.com", true }, { "epos-distributor.co.uk", true }, { "eposbirmingham.co.uk", true }, @@ -9686,6 +9829,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "epsorting.cz", true }, { "epublibre.org", true }, { "epulsar.ru", true }, + { "epyonsuniverse.net", true }, { "eq-serve.com", true }, { "eqorg.com", true }, { "equalcloud.com", true }, @@ -9723,15 +9867,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ericjohnltd.com", true }, { "erick.blog", true }, { "ericleuthardt.com", true }, + { "ericloud.tk", true }, { "erico.jp", true }, { "ericoc.com", true }, { "ericwie.se", true }, + { "eridanus.uk", true }, { "erigrid.eu", true }, { "eriix.org", true }, { "erikheemskerk.nl", true }, { "erikhubers.nl", true }, { "erikserver2.tk", true }, { "erikseth.de", true }, + { "erikwagner.de", true }, { "erinaceinae.com", true }, { "eriner.me", true }, { "erinn.io", true }, @@ -9741,7 +9888,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eroimatome.com", true }, { "eroma.com.au", true }, { "eron.info", true }, - { "erotic4me.ch", true }, { "erotpo.cz", true }, { "erp-band.ru", true }, { "erp.band", true }, @@ -9783,6 +9929,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "esagente.com", true }, { "esailinggear.com", true }, { "esalesdata.com", true }, + { "esamievalori.com", true }, { "esample.info", true }, { "esb-in.net", true }, { "esb-top.com", true }, @@ -9893,6 +10040,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "esbjon.net", true }, { "esbm4.net", true }, { "esbm5.net", true }, + { "esbuilders.co.nz", true }, { "esc.chat", true }, { "escael.org", true }, { "escapees.com", true }, @@ -9906,7 +10054,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "escortdisplay.com", true }, { "escortmantra.com", true }, { "escritoriodearte.com", true }, - { "escueladewordpress.com", true }, { "escxtra.com", true }, { "escyr.top", true }, { "esdenera.com", true }, @@ -9932,6 +10079,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "esono.de", true }, { "esoterikerforum.de", true }, { "espace-caen.fr", true }, + { "espace-gestion.fr", true }, { "espace.network", true }, { "espacetemps.ch", true }, { "espacetheosophie.fr", true }, @@ -9950,10 +10098,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "esquirou-trieves.fr", true }, { "esquisse.fr", true }, { "ess-cert.ru", true }, + { "essayads.com", true }, + { "essaychecker.com", true }, + { "essaydirectory.com", true }, { "essayforsale.net", true }, + { "essayforum.com", true }, { "essayhave.com", true }, { "essaylib.com", true }, + { "essaynews.com", true }, { "essaypro.net", true }, + { "essayscam.org", true }, + { "essaytalk.com", true }, + { "essaywebsite.com", true }, { "essaywriting.biz", true }, { "essenceofvitalitydetox.com", true }, { "essencesdeprana.org", true }, @@ -9976,14 +10132,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "esteam.se", true }, { "estespr.com", true }, { "esteticanorte.com.br", true }, + { "estetista.net", true }, { "estilopack-loja.com.br", true }, { "estoic.net", true }, { "estoniantrade.ee", true }, { "estonoentraenelexamen.com", true }, { "estoqueinformatica.com.br", true }, { "estrietoit.com", false }, - { "eswap.cz", true }, { "etaes.eu", true }, + { "etajerka-spb.ru", true }, { "etalent.net", true }, { "etaoinwu.win", true }, { "etath.com", true }, @@ -9996,6 +10153,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eteesheet.com", true }, { "etelej.com", false }, { "etenendrinken.nu", true }, + { "eternal-warriors.de", true }, { "eternalabyss.int.eu.org", true }, { "eternalsymbols.com", true }, { "eternit.roma.it", true }, @@ -10004,8 +10162,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "etha.nz", true }, { "ethack.org", true }, { "ethaligan.fr", true }, + { "ethan.pm", true }, { "ethandelany.me", true }, - { "ethanfaust.com", true }, { "ethanlew.is", true }, { "ethercalc.com", true }, { "ethercalc.org", true }, @@ -10033,7 +10191,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "etv.cx", true }, { "etyd.org", true }, { "etzi.myds.me", true }, + { "eu-darlehen-finanzierung.de", true }, + { "eu-datenbank.de", true }, { "eu-gamers.com", true }, + { "eu-stellenangebot.de", true }, + { "euaggelion.blog.br", true }, { "euchre.us", true }, { "eugenekay.com", true }, { "eugenetech.org", true }, @@ -10057,6 +10219,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eujuicers.sk", true }, { "eulenleben.de", true }, { "eupay.de", true }, + { "euph.eu", true }, { "eureka.archi", true }, { "eurekaarchi.com", true }, { "eurekaarchitecture.com", true }, @@ -10104,15 +10267,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "evailoil.eu", true }, { "evalesc.com", true }, { "evamachkova.cz", true }, + { "evamathil.de", true }, { "evamira.com", true }, { "evanfiddes.com", true }, { "evangelosm.com", true }, + { "evantage.org", true }, { "evantageglobal.com", true }, { "evapp.org", true }, - { "evasion-energie.com", true }, { "evasioncreole.com", true }, { "evasovova.cz", true }, { "eve0s.com", true }, + { "evedanjailbreak.com", true }, { "evelienzorgt.nl", true }, { "evelyndayman.com", true }, { "evenementenhoekvanholland.nl", true }, @@ -10123,6 +10288,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eventmake.es", true }, { "eventosenmendoza.com.ar", true }, { "events-hire.co.uk", true }, + { "eventtech.com", true }, { "ever.sale", true }, { "everain.me", true }, { "everfine.com.tw", true }, @@ -10139,7 +10305,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "everyex.com", true }, { "everygayporn.com", true }, { "everymove.org", true }, + { "everythingaccess.com", true }, { "everytruckjob.com", true }, + { "everytrycounts.gov", false }, { "everywhere.cloud", true }, { "eveshamglass.co.uk", true }, { "evexia.xyz", true }, @@ -10147,7 +10315,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "evidencebased.net", true }, { "evidenceusa.com.br", true }, { "evilarmy.com", true }, - { "evilized.de", true }, + { "evileden.com", true }, { "evilsite.cf", true }, { "evilvolcanolairs.com", true }, { "evio.com", true }, @@ -10189,6 +10357,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "examsmate.in", true }, { "exaplac.com", true }, { "exatmiseis.net", true }, + { "exceed.global", true }, { "exceltobarcode.com", true }, { "excentos.com", true }, { "exceptionalservers.com", true }, @@ -10200,7 +10369,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "exdamo.de", true }, { "exe-boss.tech", true }, { "exebouncycastles.co.uk", true }, - { "exehack.net", true }, { "exeintel.com", true }, { "exekutori.com", true }, { "exembit.com", true }, @@ -10214,7 +10382,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "exit9wineandliquor.com", true }, { "exmoe.com", true }, { "exon.io", true }, - { "exoscale.ch", true }, { "exoticads.com", true }, { "exousiakaidunamis.pw", true }, { "exp.de", true }, @@ -10233,7 +10400,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "explodie.org", true }, { "explodingcamera.com", true }, { "exploflex.com.br", true }, - { "exploit.cz", false }, { "exploit.party", true }, { "exploit.ph", true }, { "exploited.cz", true }, @@ -10245,15 +10411,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "expo-europe.ru", true }, { "expokohler.com", true }, { "exponentialnews.net", true }, + { "expoort.co.uk", true }, { "expoort.com", true }, { "expoort.com.br", true }, { "expoort.es", true }, { "expoort.fr", true }, { "expoort.it", true }, + { "exporo.de", true }, { "exporta.cz", true }, { "expoundite.net", true }, { "express-shina.ru", true }, { "express-vpn.com", true }, + { "expressemotion.net", true }, { "expresshosting.org", true }, { "expressmarket.ru", true }, { "expresstinte.de", true }, @@ -10270,7 +10439,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "extensiblewebsummit.org", true }, { "extensiontree.com", true }, { "extradesktops.com", false }, - { "extramoney.cash", true }, { "extranetpuc.com.br", true }, { "extrapagetab.com", true }, { "extratorrent.cool", true }, @@ -10325,11 +10493,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fa-works.com", true }, { "faber.org.ru", true }, { "faberusa.com", true }, + { "fabian-fingerle.de", true }, { "fabian-koeppen.de", true }, { "fabianackle.ch", true }, { "fabianasantiago.com", true }, { "fabianfranke.de", true }, - { "fabianmunoz.com", true }, { "fabienne-roux.org", true }, { "fabiobier.com", true }, { "fableforge.nl", true }, @@ -10345,7 +10513,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "facebattle.com", true }, { "facebook-atom.appspot.com", true }, { "facebook.com", false }, - { "facebooktsukaikata.net", true }, { "facebylouise.co.uk", true }, { "facekungfu.com", true }, { "facepalmsecurity.com", true }, @@ -10359,6 +10526,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "facialexercising.com", true }, { "faciledireto.com.br", true }, { "facilitiessurvey.org", true }, + { "fackovec.cz", true }, { "factbytefactbox.com", true }, { "factcool.com", true }, { "factor.cc", false }, @@ -10372,9 +10540,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fads-center.online", true }, { "faehler.de", true }, { "faerb.it", true }, + { "faeriecakes.be", true }, { "fag.wtf", true }, { "fahrenwal.de", true }, { "fahrenwalde.de", true }, + { "fai.gov", true }, { "fail.coach", true }, { "failover.de", true }, { "failover.eu", true }, @@ -10395,7 +10565,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fakturoid.cz", true }, { "falaowang.com", true }, { "falbros.com", true }, - { "falcibiosystems.org", true }, { "falconfrag.com", true }, { "falconvintners.com", true }, { "falcoz.co", true }, @@ -10416,6 +10585,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "familie-leu.ch", true }, { "familie-monka.de", true }, { "familie-remke.de", true }, + { "familie-sander.rocks", true }, { "familiegrottendieck.de", true }, { "familieholme.de", true }, { "familjenfrodlund.se", true }, @@ -10431,12 +10601,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "famvangelder.nl", true }, { "famvsomeren.nl", true }, { "fanboi.ch", true }, + { "fancy-bridge.com", true }, { "fander.it", true }, { "fandler.cz", true }, { "fandomservices.com", true }, { "fanfareunion.ch", true }, { "fangs.ink", true }, { "fanjoe.be", true }, + { "fansided.com", true }, { "fantasiapainter.com", true }, { "fantasticcleaners.com.au", true }, { "fantastichandymanmelbourne.com.au", true }, @@ -10463,9 +10635,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "farhadexchange.com", true }, { "farhood.org", true }, { "farid.is", true }, - { "farmacia.pt", true }, { "farmacialaboratorio.it", true }, - { "farmaciamedicom.com.br", true }, { "farmer.dating", true }, { "farmers.gov", false }, { "farmkazuto.com", true }, @@ -10515,6 +10685,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fatidique.com", true }, { "fatimamoldes.com.br", true }, { "fatowltees.com", true }, + { "fatox.de", true }, { "faucetbox.com", false }, { "faui2k17.de", true }, { "faulty.equipment", true }, @@ -10522,6 +10693,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "favorit.club", true }, { "fawong.com", true }, { "faxite.com", true }, + { "faxvorlagen-druckvorlagen.de", true }, { "fb.me", true }, { "fbcdn.net", true }, { "fbcfairburn.com", true }, @@ -10542,7 +10714,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fcprovadia.com", true }, { "fcsic.gov", true }, { "fdevs.ch", true }, + { "fdicig.gov", true }, + { "fdicoig.gov", true }, { "fdlibre.eu", true }, + { "fdn.one", true }, { "fdsys.gov", false }, { "feaden.me", true }, { "fearghus.org", true }, @@ -10552,7 +10727,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "feastr.io", true }, { "featherweightlabs.com", true }, { "featuredmen.com", false }, + { "feb.gov", true }, { "fecik.sk", true }, + { "fed51.com", true }, { "federalinvestments.gov", true }, { "federaljobs.gov", true }, { "federalreserve.gov", true }, @@ -10563,7 +10740,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fedorahosted.org", true }, { "fedoramagazine.org", true }, { "fedorapeople.org", true }, - { "fedpartnership.gov", true }, { "fedramp.gov", false }, { "fedrtc.org", true }, { "fedux.com.ar", true }, @@ -10571,7 +10747,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "feedhq.org", true }, { "feedkovacs.hu", true }, { "feedough.com", true }, - { "feel.aero", true }, { "feelgood-workouts.de", true }, { "feeltennis.net", true }, { "feen.us", true }, @@ -10590,14 +10765,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "feld.design", true }, { "feld.saarland", true }, { "feldhousen.com", true }, - { "felger-times.fr", true }, { "felgitscher.xyz", true }, { "felicifia.org", true }, + { "felisslovakia.sk", true }, { "felistirnavia.sk", true }, { "felixbarta.de", true }, { "felixcrux.com", true }, + { "felixgenicio.com", true }, { "felixhefner.de", true }, { "felixkauer.de", true }, + { "felixqu.com", true }, { "felixsanz.com", true }, { "felixseele.de", true }, { "felsing.net", true }, @@ -10621,6 +10798,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ferienhaeuser-krummin.de", true }, { "ferienhaus-polchow-ruegen.de", false }, { "ferienwohnungen-lastminute.de", true }, + { "feriespotter.dk", true }, { "fermabel.com.br", true }, { "fermanacuratampaparts.com", true }, { "fernandes.org", true }, @@ -10648,6 +10826,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "feuerwehr-illmensee.de", true }, { "feuerwehr-mehring.de", true }, { "feuerwehr-oberkotzau.de", true }, + { "feuerwehr-vechta.de", true }, { "feuerwerksmanufaktur.de", true }, { "feuetgloire.com", true }, { "fewo-thueringer-wald.de", true }, @@ -10666,14 +10845,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ffmradio.de", true }, { "ffprofile.com", true }, { "ffta.eu", true }, - { "fgequipamentos.com.br", true }, { "fhcdn.xyz", true }, { "fhconseil.fr", true }, { "fhdhelp.de", false }, { "fhdhilft.de", false }, { "fhfaoig.gov", true }, { "fhg90.com", true }, - { "fhsseniormens.club", true }, { "fi-sanki.co.jp", true }, { "fi.google.com", true }, { "fi.search.yahoo.com", false }, @@ -10720,11 +10897,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "filedir.com", false }, { "filesense.com", true }, { "filestar.io", true }, + { "filetransfer.one", true }, { "filewall.de", true }, { "filhin.es", true }, { "filhodohomem.com", true }, { "filhomes.ph", true }, { "fili.org", true }, + { "filidorwiese.nl", true }, { "filingsmadeeasy.com", true }, { "filip-prochazka.com", true }, { "filippo.io", true }, @@ -10755,17 +10934,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "findhoustonseniorcare.com", true }, { "findingkorea.com", true }, { "finditez.com", true }, + { "findrejsepartner.dk", true }, { "findthatnude.com", true }, { "findthere.net", true }, { "findyourvoice.ca", true }, { "fine-services.paris", true }, { "finelovedolls.com", true }, { "finenet.com.tw", true }, - { "finer04.pw", true }, { "finewineonline.com", true }, { "finfev.de", true }, { "finflix.net", true }, { "finform.ch", true }, + { "fingerscrossed.style", true }, { "fini-de-jouer.ch", true }, { "finisron.in", true }, { "finkelstein.fr", true }, @@ -10801,8 +10981,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "firma-cerny.cz", true }, { "firma-offshore.com", true }, { "firmale.com", true }, + { "firmament.space", true }, { "firmapi.com", true }, + { "firmenwerbung-vermarktung.de", true }, { "first-house.no", true }, + { "first.org", true }, { "first4it.com", true }, { "firstchoicebouncycastlehire.co.uk", true }, { "firstchoicecandy.com", true }, @@ -10811,6 +10994,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "firstclassleisure.co.uk", true }, { "firstderm.com", true }, { "firstfinca.de", true }, + { "firstinnovationltd.com", true }, { "firstmall.de", true }, { "firstq.xyz", true }, { "fischer-its.com", false }, @@ -10825,6 +11009,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fishermansbend.apartments", true }, { "fishermansbendcorporation.com.au", true }, { "fishermansbendtownhouses.com.au", true }, + { "fishexport.eu", true }, { "fishserver.net", true }, { "fishtacos.blog", true }, { "fistu.la", true }, @@ -10843,9 +11028,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fiveboosts.xyz", true }, { "fiws.net", true }, { "fixatom.com", true }, + { "fixeaide.com", true }, + { "fixeaider.com", true }, { "fixel.express", true }, { "fixforce.nl", true }, { "fixhotsauce.com", true }, + { "fixingscrews.co.uk", true }, { "fixmyalarmpanel.co.uk", true }, { "fixmycomputerdude.com", true }, { "fixvoltage.ru", true }, @@ -10863,9 +11051,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flagshop.jp", true }, { "flagspot.net", false }, { "flair.co", true }, - { "flam.io", true }, { "flamer-scene.com", false }, { "flamero.fi", true }, + { "flamet.eu", true }, { "flamingkeys.com", true }, { "flamme-von-anor.de", true }, { "flana.com", true }, @@ -10895,7 +11083,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flexapplications.se", true }, { "flexdrukker.nl", true }, { "fleximus.org", false }, - { "flexinvesting.fi", true }, { "flexport.com", true }, { "flexstart.me", true }, { "flextrack.dk", true }, @@ -10933,7 +11120,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "florenceapp.co.uk", true }, { "florent-tatard.fr", true }, { "florentynadawn.co.uk", true }, - { "florian-bachelet.fr", true }, { "florian-schlachter.de", true }, { "florian-thie.de", true }, { "floriankarmen.com", true }, @@ -10958,6 +11144,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "floskelwolke.de", true }, { "floth.at", true }, { "flowcom.de", true }, + { "flowcount.xyz", true }, { "flowerandplant.org", true }, { "flowersbylegacy.com", true }, { "flowinvoice.com", true }, @@ -10965,7 +11152,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flox.io", true }, { "floydm.com", true }, { "flra.gov", true }, - { "flucky.xyz", true }, { "flucto.com", true }, { "flue-ducting.co.uk", true }, { "fluffycloud.de", true }, @@ -10987,7 +11173,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fly.moe", true }, { "flyawayantennas.com", true }, { "flyboyfpv.com", true }, - { "flybunnyfly.dk", true }, + { "flyer.tools", true }, { "flygon.pink", true }, { "flyinglocksmiths.com", false }, { "flyingpackets.net", true }, @@ -11007,7 +11193,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fmapplication.com", true }, { "fmarchal.fr", true }, { "fmdance.cl", true }, - { "fmi.gov", true }, { "fminsight.net", true }, { "fmodoux.biz", true }, { "fmovies.fyi", true }, @@ -11029,8 +11214,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "foej-aktiv.de", true }, { "foej.net", true }, { "fognini-depablo.eu", true }, + { "fogpublishingph.com", true }, { "foia.gov", true }, { "fokan.be", true }, + { "fokep.no", true }, { "fokkusu.fi", true }, { "fol.tf", true }, { "foljeton.dk", true }, @@ -11182,7 +11369,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fowlsmurf.net", true }, { "foxbnc.co.uk", true }, { "foxdev.co", true }, - { "foxes.no", true }, { "foxhound.com.br", true }, { "foxing.club", true }, { "foxontheinter.net", true }, @@ -11192,10 +11378,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fpc.gov", true }, { "fpersona.com", true }, { "fpki.sh", true }, - { "fptravelling.com", true }, + { "fptravelling.com", false }, { "fpy.cz", true }, { "fr.search.yahoo.com", false }, - { "fr0zenbits.io", true }, { "fr33tux.org", true }, { "frack.nl", true }, { "fraesentest.de", true }, @@ -11203,6 +11388,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fragstore.net", true }, { "fraho.eu", true }, { "framapiaf.org", true }, + { "framboise314.fr", true }, { "framedpaws.com", true }, { "fran.cr", true }, { "francesca-and-lucas.com", true }, @@ -11218,7 +11404,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "francoislepage.com", true }, { "francoz.me", true }, { "frandor.co.uk", true }, - { "frank.fyi", true }, { "franke-chemie.de", true }, { "frankedier.com", true }, { "franken-lehrmittel.de", true }, @@ -11229,7 +11414,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "frankierprofi.de", true }, { "frankierstar.de", true }, { "frankl.in", true }, - { "franklinhua.com", true }, { "frankmorrow.com", true }, { "franksiler.com", true }, { "frankslaughterinsurance.com", true }, @@ -11274,7 +11458,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fredvoyage.fr", true }, { "free-your-pc.com", true }, { "free.com.tw", true }, - { "free8.xyz", true }, { "freeasyshop.com", true }, { "freebarrettbrown.org", true }, { "freeben666.fr", true }, @@ -11294,6 +11477,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "freedomonline.bg", true }, { "freedomrealtyoftexas.com", true }, { "freedomvote.nl", true }, + { "freeenglishhelp.com", true }, { "freeexampapers.com", true }, { "freeflightstoitaly.ngo", true }, { "freeform4u.de", true }, @@ -11307,27 +11491,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "freelance.guide", true }, { "freelance.nl", true }, { "freelancecollab.com", true }, + { "freelanceessaywriters.com", true }, { "freelancehunt.com", true }, { "freelanceshipping.com", true }, + { "freelansir.com", true }, { "freelauri.com", true }, { "freelifer.jp", true }, { "freemanning.de", true }, { "freemans.com", true }, { "freemedforms.com", true }, { "freemyipod.org", true }, - { "freend.me", false }, { "freenetproject.org", true }, { "freeonplate.com", true }, { "freepnglogos.com", true }, { "freergform.org", true }, { "freeshell.de", true }, { "freesitemapgenerator.com", true }, - { "freeslots.guru", true }, { "freesms-online.de", true }, { "freesnowden.is", true }, { "freesolitaire.win", true }, - { "freesounding.com", true }, - { "freesounding.ru", true }, { "freesourcestl.org", true }, { "freespace.info", true }, { "freethetv.ie", true }, @@ -11359,6 +11541,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "freshdesigns.de", true }, { "freshdns.nl", true }, { "freshempire.gov", true }, + { "freshkiss.com.au", true }, + { "freshmaza.com", true }, { "freshmaza.net", true }, { "fretscha.com", true }, { "frettboard.com", true }, @@ -11379,7 +11563,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "friezy.ru", true }, { "frigi.ch", true }, { "frigolit.net", true }, + { "friller.com.au", true }, { "frillip.com", true }, + { "fringeintravel.com", true }, { "frinkiac.com", true }, { "frino.de", true }, { "frippz.se", true }, @@ -11388,6 +11574,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "frizo.com", true }, { "frly.de", true }, { "frob.nl", true }, + { "frodriguez.xyz", true }, { "froehlich.it", true }, { "frogatto.com", true }, { "frogeye.fr", true }, @@ -11402,7 +11589,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fronteers.nl", false }, { "frontline.cloud", true }, { "frontline6.com", true }, - { "frostbytes.net", true }, { "frosthall.com", true }, { "frostprotection.co.uk", true }, { "frostwarning.com", true }, @@ -11421,7 +11607,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "frugro.be", false }, { "fruition.co.jp", true }, { "frusky.de", true }, - { "frydrychit.cz", true }, + { "frusky.net", true }, { "fs-community.nl", true }, { "fs-fitness.eu", true }, { "fs-gamenet.de", true }, @@ -11440,6 +11626,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fsps.ch", true }, { "fstatic.io", true }, { "fsvt.ch", true }, + { "ft.com", false }, { "ftang.de", true }, { "ftc.gov", false }, { "ftccomplaintassistant.gov", true }, @@ -11452,8 +11639,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fuckav.ru", true }, { "fuckcie.com", true }, { "fucklife.ch", true }, + { "fuckup.dk", true }, { "fuckyoupaypal.me", true }, - { "fudanshi.org", true }, { "fuechschen.org", true }, { "fuelingyourdreams.com", true }, { "fuelministry.com", true }, @@ -11465,6 +11652,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fujiorganics.com", true }, { "fujiwaraqol.com", true }, { "fukakukeiba.com", true }, + { "fukikaeru.com", true }, + { "fukuoka-cityliner.jp", true }, { "fukushimacoffee.com", true }, { "fulgenzis.com", true }, { "fuliwang.info", true }, @@ -11544,7 +11733,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "futurehack.io", true }, { "futurenda.com", true }, { "futureoceans.org", true }, - { "futuresonline.com", true }, { "futurezone.at", true }, { "futurope.com", true }, { "fuwafuwa.moe", true }, @@ -11575,6 +11763,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fxtalk.cn", true }, { "fxthai.com", true }, { "fxtrade-lab.com", true }, + { "fxweb.co", true }, + { "fxwebstudio.com.au", true }, + { "fxwebstudio.net.au", true }, { "fyn.nl", true }, { "fysesbjerg.dk", true }, { "fysio123.nl", true }, @@ -11586,12 +11777,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fzx750.ru", true }, { "g-m-w.eu", true }, { "g-o.pl", true }, + { "g-rom.net", true }, { "g1.ie", true }, { "g10e.ch", true }, - { "g2-inc.com", true }, { "g2links.com", true }, { "g2pla.net", true }, { "g2soft.net", true }, + { "g3d.ro", true }, { "g3dev.ch", true }, { "g3rv4.com", true }, { "g4w.co", true }, @@ -11622,10 +11814,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gaitresearch.com", true }, { "gajas18.com", true }, { "gakkainavi-epsilon.jp", true }, + { "gakkainavi-epsilon.net", true }, + { "gakkainavi.jp", true }, { "gakkainavi.net", true }, { "gakkainavi4.jp", true }, + { "gakkainavi4.net", true }, { "gaku-architect.com", true }, - { "galactic-crew.org", true }, + { "gala.kiev.ua", false }, { "galak.ch", true }, { "galerieautodirect.com", true }, { "galeries.photo", true }, @@ -11638,6 +11833,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "galle.cz", true }, { "gallerify.eu", true }, { "gallicrooster.com", true }, + { "gallifreypermaculture.com.au", true }, { "gallun-shop.com", true }, { "galpaoap.com.br", true }, { "gamajo.com", true }, @@ -11727,8 +11923,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "garyjones.co.uk", true }, { "garystallman.com", true }, { "garywhittington.com", true }, + { "gashalot.com", true }, { "gastauftritt.net", true }, { "gastoudererenda.nl", true }, + { "gatapro.net", false }, { "gate2home.com", true }, { "gateaucreation.fr", true }, { "gatemoves.com", true }, @@ -11739,14 +11937,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gatomix.net", true }, { "gauche.com", true }, { "gaudeamus-folklor.cz", true }, - { "gaussianwaves.com", true }, { "gauthier.dk", true }, { "gautvedt.no", true }, { "gavick.com", false }, { "gavins.stream", true }, { "gavinsblog.com", true }, + { "gay-jays.com", true }, { "gay-sissies.com", true }, - { "gayforgenji.com", true }, { "gaysexpositions.guide", true }, { "gaysfisting.com", true }, { "gaytorrent.ru", true }, @@ -11766,6 +11963,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gc.gy", true }, { "gcbit.dk", true }, { "gchq.wtf", true }, + { "gcoded.de", true }, { "gcs-ventures.com", true }, { "gcsepod.com", true }, { "gdax.com", true }, @@ -11787,6 +11985,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "geaskb.nl", true }, { "geass.xyz", true }, { "geblitzt.de", true }, + { "geboortestoeltje.com", true }, { "geborgen-wachsen.de", true }, { "gebruikershandleiding.com", true }, { "gecem.org", true }, @@ -11797,6 +11996,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gee.is", true }, { "geecrat.com", true }, { "geek-hub.de", true }, + { "geek.ch", true }, { "geek1.de", true }, { "geekabit.nl", true }, { "geekandi.com", true }, @@ -11809,7 +12009,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "geekles.net", true }, { "geeknik.com", true }, { "geekpad.com", true }, - { "geeks.berlin", true }, { "geeks.one", true }, { "geekshirts.cz", true }, { "geektopia.es", true }, @@ -11835,7 +12034,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "geld-im-blick.de", true }, { "geld24.nl", true }, { "geldimblick.de", true }, - { "geldteveel.eu", true }, { "geleenbeekdal.nl", true }, { "geleia-real.com", true }, { "gelis.ch", true }, @@ -11868,6 +12066,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "generalpants.com.au", true }, { "generationgoat.com", true }, { "generationsweldom.com", true }, + { "generator.creditcard", true }, { "generic.cx", true }, { "genesiseureka.com", true }, { "genesismachina.ca", true }, @@ -11877,11 +12076,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "geneve-naturisme.ch", true }, { "genevoise-entretien.ch", true }, { "genfaerd.dk", true }, - { "genia-life.de", true }, { "genie-seiner-generation.de", true }, { "geniusteacher.in", true }, { "geniuszone.biz", true }, { "genneve.com", true }, + { "genocidediary.org", true }, { "genomequestlive.com", true }, { "genosse-einhorn.de", true }, { "gensend.com", true }, @@ -11936,7 +12135,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gernert-server.de", true }, { "gero.io", true }, { "gerritcodereview.com", true }, - { "gers-authentique.com", true }, { "gerum.dynv6.net", true }, { "gerwinvanderkamp.nl", true }, { "ges-bo.de", true }, @@ -11944,6 +12142,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "geschmackspiloten.de", true }, { "geschwinder.net", true }, { "gestormensajeria.com", true }, + { "gesundheitswelt24.de", true }, { "get-asterisk.ru", true }, { "get-erp.ru", true }, { "get-it-live.com", true }, @@ -11953,14 +12152,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "get-refer.com", true }, { "get2getha.org", true }, { "get4x.com", true }, - { "geta.pub", true }, { "getbox.me", true }, { "getbutterfly.com", true }, { "getcloak.com", false }, { "getcolq.com", true }, { "getdash.io", true }, { "geteckeld.nl", true }, - { "getenergized2018.kpn", true }, { "geterp.ru", true }, { "getfedora.org", true }, { "getfirstalert.com", true }, @@ -11981,6 +12178,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "geto.ml", true }, { "getoutofdebt.org", true }, { "getpagespeed.com", true }, + { "getpublii.com", true }, { "getpuck.com", true }, { "getrambling.com", true }, { "getresilience.org", true }, @@ -12007,7 +12205,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "geyduschek.be", true }, { "gfast.ru", true }, { "gfcleisure.co.uk", true }, - { "gfecs.de", true }, { "gfk-kunststoff-luebben.de", true }, { "gflame.de", true }, { "gflclan.ru", true }, @@ -12029,7 +12226,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ggservers.com", true }, { "ggx.us", true }, { "gha.st", true }, - { "ghaglund.se", true }, { "ghcif.de", true }, { "ghislainphu.fr", true }, { "ghostblog.info", true }, @@ -12054,6 +12250,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "giddyaunt.net", true }, { "giduv.com", true }, { "giebel.it", true }, + { "giegler.software", true }, { "gierds.de", true }, { "giethoorn.com", true }, { "giftedconsortium.com", true }, @@ -12064,7 +12261,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gig-raiffeisen.de", true }, { "gig.ru", false }, { "giga.nl", true }, - { "gigabitz.pw", true }, { "gigantism.com", true }, { "gigawa.lt", true }, { "gigawattz.com", true }, @@ -12111,6 +12307,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gisgov.be", true }, { "gistr.io", true }, { "git.market", true }, + { "git.tt", true }, { "gitep.org.uk", true }, { "gites-alizea.com", true }, { "gitesdeshautescourennes.com", true }, @@ -12144,6 +12341,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gkralik.eu", true }, { "gkvsc.de", true }, { "gl.search.yahoo.com", false }, + { "glabiatoren-kst.de", true }, { "glaciernursery.com", true }, { "gladwellentertainments.co.uk", true }, { "glahcks.com", true }, @@ -12171,11 +12369,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "glitchsys.com", true }, { "glloq.org", true }, { "glob-coin.com", true }, - { "global-adult-webcams.com", true }, { "global-lights.ma", true }, { "global-office.com", true }, { "global-village.koeln", true }, { "global.hr", true }, + { "globalcanineregistry.com", true }, { "globalchokepoints.org", true }, { "globalcomix.com", true }, { "globalelite.black", true }, @@ -12185,7 +12383,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "globalhorses.de", true }, { "globalinstitutefortraining.org.au", true }, { "globalisierung-fakten.de", true }, - { "globalnewsdaily.cf", true }, + { "globalmoneyapp.com", true }, { "globalnomadvintage.com", true }, { "globalonetechnology.com", true }, { "globalperspectivescanada.com", true }, @@ -12210,6 +12408,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gm-assicurazioni.it", true }, { "gm.search.yahoo.com", false }, { "gmail.com", false }, + { "gmantra.org", true }, { "gmbh-kiekin.de", true }, { "gmc.uy", true }, { "gmcd.co", true }, @@ -12315,6 +12514,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "good-tips.pro", true }, { "gooday.life", true }, { "gooddomainna.me", true }, + { "goodeats.nyc", true }, { "goodenough.nz", false }, { "goodfeels.net", true }, { "goods-memo.net", true }, @@ -12364,7 +12564,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gotomi.info", true }, { "gotoxy.at", true }, { "gotrail.fr", true }, - { "goubi.me", true }, { "goudenharynck.be", true }, { "gouforit.com", true }, { "goukon.ru", true }, @@ -12373,7 +12572,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "goup.com.tr", true }, { "gouptime.ml", true }, { "gourmetfestival.de", true }, - { "gouthro-goteborg.se", true }, { "gov.tc", true }, { "governmentjobs.gov", true }, { "governorhub.com", true }, @@ -12411,6 +12609,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grademypc.com", true }, { "gradienthosting.co.uk", true }, { "gradients.com", true }, + { "grads360.org", true }, { "gradualgram.com", true }, { "graeber.com", true }, { "graecum.org", true }, @@ -12419,6 +12618,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grafcaps.com", true }, { "graffen.dk", true }, { "grafmurr.de", true }, + { "graftworld.pw", true }, { "grahamcluley.com", true }, { "grahamofthewheels.com", true }, { "grailians.com", true }, @@ -12439,6 +12639,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grandeto.com", true }, { "grandjunctionbrewing.com", true }, { "grandmasfridge.org", true }, + { "grandmusiccentral.com.au", true }, { "grandpadusercontent.com", true }, { "grandwailea.com", true }, { "grannys-stats.com", true }, @@ -12453,9 +12654,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "graphcommons.com", true }, { "graphene.software", true }, { "graphire.io", true }, - { "graphite.org.uk", true }, { "grapholio.net", true }, { "grasmark.com", true }, + { "grassenberg.de", true }, { "grasshoppervape.com", true }, { "grassreinforcement.com.au", true }, { "gratis-lovecheck.de", true }, @@ -12463,6 +12664,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gratitudeabundancepassion.com", true }, { "grattan.co.uk", true }, { "graumeier.de", true }, + { "gravilink.com", true }, { "gravitascreative.net", true }, { "gravitechthai.com", true }, { "gravity-dev.de", true }, @@ -12500,6 +12702,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "greencircleplantnursery.net.au", true }, { "greenglam.biz", true }, { "greengoblindev.com", true }, + { "greenitpark.net", true }, { "greenliquidsystem.com", true }, { "greenlungs.net", true }, { "greenoutdoor.dk", false }, @@ -12526,7 +12729,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grenadiere-kaarst.de", true }, { "grenadierkorps-kaarst.de", true }, { "grenadierkorps.de", true }, - { "grendel.no", true }, { "grengine.ch", true }, { "grepmaste.rs", true }, { "grepular.com", true }, @@ -12537,7 +12739,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grexx.de", true }, { "grey.house", true }, { "greybit.net", true }, - { "greyhash.se", true }, { "greysky.me", true }, { "greyskymedia.com", true }, { "greysolutions.it", true }, @@ -12613,7 +12814,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grunwasser.fr", true }, { "grupomakben.com", true }, { "grupoparco.com", true }, - { "grusenmeyer.be", true }, { "grusig-geil.ch", true }, { "gruwa.net", true }, { "grytics.com", true }, @@ -12633,7 +12833,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gt-mp.net", true }, { "gt-network.de", true }, { "gta-arabs.com", true }, - { "gta5voice.net", true }, { "gtaforum.nl", true }, { "gtalife.net", true }, { "gtchipsi.org", true }, @@ -12653,6 +12852,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gudini.net", true }, { "guelo.ch", true }, { "guelphhydropool.com", true }, + { "guendra.dedyn.io", true }, { "guenthereder.at", true }, { "guerrilla.technology", true }, { "guesthouse-namaste.com", true }, @@ -12686,12 +12886,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "guiltypleasuresroleplaying.com", true }, { "guim.co.uk", true }, { "guineapigmustach.es", true }, + { "guishem.com", true }, { "gulchuk.com", true }, { "gulenbase.no", true }, { "gulfstream.ru", true }, { "gulleyperformancecenter.com", true }, { "gulshankumar.net", true }, - { "gumannp.de", true }, { "gumballs.com", true }, { "gume4you.com", true }, { "gumi.ca", true }, @@ -12704,6 +12904,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "guphi.net", false }, { "gurkan.in", true }, { "gurmel.ru", true }, + { "gurochan.ch", true }, { "guru-naradi.cz", true }, { "gurueffect.com", true }, { "gus.host", true }, @@ -12726,6 +12927,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gvobgyn.ca", true }, { "gvt2.com", true }, { "gvt3.com", true }, + { "gvwgroup.com", true }, { "gw2efficiency.com", true }, { "gw2treasures.com", true }, { "gw2zone.net", true }, @@ -12734,7 +12936,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gwhois.org", true }, { "gwrtech.com", true }, { "gwsec.co.uk", true }, - { "gxgx.org", true }, { "gyas.nl", true }, { "gymagine.ch", true }, { "gymhero.me", true }, @@ -12764,9 +12965,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "h09.eu", true }, { "h11.io", true }, { "h11.moe", true }, + { "h1ctf.com", true }, { "h1z1swap.com", true }, { "h24.org", true }, - { "h2cdn.cloud", true }, { "h2s-design.de", true }, { "h2u.tv", true }, { "h3x.jp", false }, @@ -12794,6 +12995,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hack.cz", true }, { "hackademix.net", true }, { "hackanders.com", true }, + { "hackattack.com", true }, { "hackbarth.guru", true }, { "hackbeil.name", true }, { "hackcraft.net", true }, @@ -12816,10 +13018,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hackerone.com", true }, { "hackerone.net", true }, { "hackerpoints.com", true }, + { "hackerschat.net", true }, { "hackerstxt.org", true }, { "hackgins.com", true }, { "hackingand.coffee", true }, { "hackingdh.com", true }, + { "hackingsafe.com", true }, { "hackmd.io", true }, { "hacksoc.co.uk", true }, { "hackthissite.org", true }, @@ -12857,6 +13061,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "halfwaythere.eu", true }, { "halitopuroprodutos.com.br", true }, { "halkirkbouncycastles.co.uk", true }, + { "halkyon.net", true }, { "hallelujahsoftware.com", true }, { "halletienne.fr", true }, { "hallhuber.com", true }, @@ -12868,13 +13073,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "halo.fr", true }, { "halongbaybackpackertour.com", true }, { "haloobaloo.com", true }, - { "halta.info", true }, { "hamacho-kyudo.com", true }, { "hamali.bg", true }, { "hamish.ca", true }, { "hammamsayad.com", true }, { "hammer-corp.com", true }, - { "hammer-schnaps.com", true }, { "hammer-sms.com", true }, { "hamon.cc", true }, { "hampl.tv", true }, @@ -12887,6 +13090,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "handbrake.fr", true }, { "handcraft.eu.org", true }, { "handgelenkbandage-test.de", true }, + { "handinhandfoundation.org.uk", true }, { "handlecoin.com", true }, { "handmade-workshop.de", true }, { "handmadegobelin.com", true }, @@ -12923,8 +13127,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hanzubon.jp", true }, { "hao-zhang.com", true }, { "haogoodair.ca", true }, + { "haotown.cn", true }, { "haozhang.org", true }, { "haozi.me", true }, + { "hapijs.cn", true }, { "hapissl.com", true }, { "hapivm.com", true }, { "happyagain.de", true }, @@ -12932,6 +13138,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "happyandrelaxeddogs.eu", false }, { "happybounce.co.uk", true }, { "happycarb.de", true }, + { "happycoder.net", false }, { "happydoq.ch", true }, { "happygadget.me", true }, { "happykidscastles.co.uk", true }, @@ -12942,10 +13149,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "haptemic.com", true }, { "haqaza.com.br", true }, { "haraj.com.sa", true }, + { "harald-d.dyndns.org", true }, { "harald-pfeiffer.de", true }, { "harapecorita.com", true }, { "harbor-light.net", true }, - { "hardeman.nu", true }, { "hardenize.com", true }, { "hardergayporn.com", false }, { "hardertimes.com", true }, @@ -12967,6 +13174,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "harmoney.com", true }, { "harmoney.com.au", true }, { "haroldsharpe.com", true }, + { "harp.gov", true }, { "harringtonca.com", true }, { "harrisonsand.com", false }, { "harrisonsdirect.co.uk", true }, @@ -12987,7 +13195,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "harvester.fr", true }, { "harveyauzorst.com", true }, { "harveymilton.com", true }, - { "has-no-email-set.de", true }, { "haschrebellen.de", true }, { "hasdf.de", true }, { "hasecuritysolutions.com", true }, @@ -13000,24 +13207,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hashiconf.com", true }, { "hashiconf.eu", true }, { "hashicorp.com", true }, - { "hashimah.ca", true }, { "hashimoto-jimusho.com", true }, { "hashinteractive.com", true }, { "hashish.net", true }, { "hashiura.jp", true }, { "hashru.nl", true }, { "hashworks.net", true }, + { "hasilocke.de", true }, { "haskovec.com", true }, { "hasselbach-dellwig.de", true }, { "hatarisecurity.co.ke", true }, { "hatcherlawgroupnm.com", true }, - { "hatethe.uk", true }, { "hatisenang.com", false }, { "hatul.info", true }, + { "haucke.xyz", true }, { "hauntedfishtank.com", false }, { "hauntedhouserecords.co.uk", true }, { "haus-garten-test.de", true }, { "haus-henne.de", true }, + { "haus-zeitlos.de", true }, { "haushenne.de", true }, { "hausundhof.com", true }, { "hausverbrauch.de", true }, @@ -13037,7 +13245,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "haven.cloud", true }, { "hawaya.com", true }, { "hawk-la.com", true }, - { "hawkeyeinsight.com", true }, { "hawkinsonkiaparts.com", true }, { "hawkofgeorgia.com", true }, { "hawksguild.com", true }, @@ -13050,6 +13257,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hayfordoleary.com", true }, { "hayleishop.fr", true }, { "haynes-davis.com", true }, + { "hayvid.com", true }, { "haz.cat", true }, { "haze-productions.com", true }, { "haze.productions", true }, @@ -13078,11 +13286,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hdguru.com", true }, { "hdhoang.space", true }, { "hdnastudio.com", true }, + { "hdritalyphotos.com", true }, { "hdrsource.com", true }, { "hdrtranscon.com", true }, { "hds-lan.de", true }, { "hdwallpapers.net", true }, { "hdy.nz", true }, + { "head.org", true }, { "head.ru", true }, { "headjapan.com", true }, { "headlinepublishing.be", true }, @@ -13156,8 +13366,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hefengautoparts.com", true }, { "heftkaufen.de", true }, { "hegen.com.pl", false }, - { "hegen.cz", true }, - { "hegen.sk", true }, + { "hegen.cz", false }, + { "hegen.sk", false }, { "hegenshop.de", true }, { "heh.ee", true }, { "heha.co", false }, @@ -13165,7 +13375,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "heid.ws", true }, { "heidisheroes.org", true }, { "heijdel.nl", true }, - { "heikorichter.name", true }, { "heiland.io", true }, { "heiliger-gral.info", true }, { "heilpraxis-bgl.de", true }, @@ -13206,15 +13415,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hellothought.net", true }, { "help.simpletax.ca", true }, { "helpconnect.com.au", true }, + { "helpdebit.com", true }, + { "helpfacile.com", true }, + { "helpfixe.com", true }, + { "helpflux.com", true }, + { "helpfute.com", true }, + { "helpgerer.com", true }, { "helpgoabroad.com", true }, { "helpmij.cf", true }, + { "helppresta.com", true }, { "helpstarloja.com.br", true }, + { "helpverif.com", true }, { "helpwithmybank.gov", true }, { "helsinki.dating", true }, { "helup.com", true }, { "helvella.de", true }, { "hematoonkologia.pl", true }, - { "hemdal.se", true }, { "hemnet.se", true }, { "hen.ne.ke", true }, { "hendrinortier.nl", true }, @@ -13229,6 +13445,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hennadesigns.org", true }, { "hennecke-forstbetrieb.de", true }, { "henneke.me", true }, + { "henningkerstan.de", true }, + { "henningkerstan.org", true }, { "hennymerkel.com", true }, { "henok.eu", true }, { "henriksen.is", true }, @@ -13241,6 +13459,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hentschke-invest.de", true }, { "heppler.net", true }, { "heptafrogs.de", true }, + { "heptner24.de", true }, { "her25.com", true }, { "herbal-id.com", true }, { "herbandpat.org", true }, @@ -13285,6 +13504,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hexacon.io", true }, { "hexagon-e.com", true }, { "hexapt.com", true }, + { "hexcode.in", true }, { "hexe.net", true }, { "hexed.it", true }, { "hexicurity.com", true }, @@ -13297,7 +13517,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "heycms.com", false }, { "heyfringe.com", true }, { "heyjournal.com", true }, - { "hf-tekst.nl", true }, { "hf51.nl", true }, { "hfbg.nl", true }, { "hfi.me", false }, @@ -13355,11 +13574,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hidbo.de", true }, { "hiddenhillselectrical.com", true }, { "hiddenmalta.net", true }, - { "hiddenprocess.com", true }, { "hideallip.com", true }, { "hidedd.com", true }, { "hideouswebsite.com", true }, { "hideout.agency", true }, + { "hidrofire.com", true }, { "hidroshop.com.br", true }, { "hieu.com.au", true }, { "higgstools.org", true }, @@ -13377,7 +13596,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "higilopocht.li", true }, { "higp.de", true }, { "hijoan.com", true }, - { "hikagestudios.com", true }, { "hike.pics", true }, { "hikinggearlab.com", true }, { "hikingguy.com", true }, @@ -13385,6 +13603,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hilaolu.com", true }, { "hilaolu.studio", true }, { "hilchenba.ch", true }, + { "hilfe-bei-krebs-vechta.de", true }, { "hilfreiche-server.tips", true }, { "hilhorst-uitvaartverzorging.nl", true }, { "hillebrand.io", true }, @@ -13395,15 +13614,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hilti.lv", false }, { "hiltonarubabeachservices.com", true }, { "hiltonhyland.com", true }, + { "himecorazon.com", true }, { "himens.com", true }, - { "hindmanfuneralhomes.com", true }, { "hingle.me", true }, { "hinrich.de", true }, { "hintergrundbewegung.de", true }, { "hinterhofbu.de", true }, { "hinterposemuckel.de", true }, { "hintss.pw", true }, - { "hiphop.ren", true }, { "hipi.jp", true }, { "hipnoseinstitute.org", true }, { "hippies.com.br", true }, @@ -13414,10 +13632,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hipstercat.fr", true }, { "hiqfleet.co.uk", true }, { "hiqfranchise.co.uk", true }, - { "hiqhub.co.uk", false }, { "hiqonline.co.uk", true }, { "hirake55.com", true }, - { "hiraku.me", false }, { "hiratake.xyz", true }, { "hire-a-coder.de", true }, { "hireabouncycastle.net", true }, @@ -13425,6 +13641,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hiresteve.ca", true }, { "hiresuccessstaffing.com", true }, { "hiretech.com", true }, + { "hirevets.gov", true }, { "hirezzportal.com", true }, { "hirotaka.org", true }, { "hirzaconsult.ro", true }, @@ -13435,7 +13652,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "histoire-theatre.com", true }, { "historia-arte.com", true }, { "history.google.com", true }, - { "history.pe", true }, { "hiteco.com", true }, { "hitmanstat.us", true }, { "hitoapi.cc", true }, @@ -13450,6 +13666,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hiv.gov", true }, { "hivatal-info.hu", true }, { "hivatalinfo.hu", true }, + { "hiverlune.net", true }, { "hiwiki.tk", true }, { "hiyacar.co.uk", true }, { "hiyobi.me", true }, @@ -13470,6 +13687,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hledejpravnika.cz", true }, { "hlfh.space", true }, { "hloe0xff.ru", true }, + { "hlpublicidad.com", true }, { "hlsmandarincentre.com", true }, { "hlucas.de", true }, { "hm1ch.com", true }, @@ -13492,6 +13710,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hochzeitsfotograf-deinfoto.ch", true }, { "hochzeitsgezwitscher.de", true }, { "hochzeitshelferlein.de", true }, + { "hochzeitsplanerin-hamburg.de", true }, { "hockeyapp.ch", true }, { "hockeymotion.ch", true }, { "hodgephotography.com", true }, @@ -13510,6 +13729,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hoikuen-now.top", true }, { "hoiquanadida.com", true }, { "hoken-wakaru.jp", true }, + { "hokepon.com", true }, { "hokieprivacy.org", true }, { "hokify.at", true }, { "hokify.ch", true }, @@ -13546,8 +13766,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "holz.nu", true }, { "holzheizer-forum.de", true }, { "holzheizerforum.de", true }, + { "holzschutz-holzbearbeitung.de", true }, { "holzspielzeug-shop.ch", true }, + { "holzundgarten.de", true }, { "holzvergaser-forum.de", true }, + { "homa.website", false }, { "homatism.com", true }, { "home-cloud.online", true }, { "home-v.ind.in", true }, @@ -13570,9 +13793,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "homeownersinsurancenv.com", true }, { "homepage.shiga.jp", true }, { "homeprivate.de", true }, - { "homeremodelingcontractorsca.com", true }, { "homeseller.com", true }, - { "homesfordinner.ca", true }, { "homesteadfarm.org", true }, { "homewatt.co.uk", true }, { "homeyou.com", true }, @@ -13584,8 +13805,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "honda-centrum.cz", true }, { "hondart.cz", true }, { "honeybadger.io", false }, - { "honeybeard.co.uk", true }, + { "honeycome.net", true }, { "honeycreeper.com", true }, + { "honeyhaw.com", true }, { "honeypot.net", true }, { "hong.io", true }, { "honkhonk.net", true }, @@ -13606,6 +13828,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hope-line-earth.jp", true }, { "hopesb.org", true }, { "hopewellproperties.co.uk", true }, + { "hopglass.eu", true }, + { "hopglass.net", true }, { "hoplongtech.com", true }, { "hopps.me", true }, { "hoppyx.com", true }, @@ -13636,6 +13860,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hosmussynergie.nl", false }, { "hospitalhomelottery.org", true }, { "hostadvice.com", true }, + { "hostam.link", true }, { "hostarea51.com", true }, { "hostedbgp.net", true }, { "hostedcomments.com", true }, @@ -13663,6 +13888,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hotel-kronjuwel.de", true }, { "hotel-le-vaisseau.ch", true }, { "hotel-pension-sonnalp.eu", true }, + { "hotelcoliber.pl", true }, { "hotelflow.com.br", true }, { "hotelident.de", true }, { "hotelmap.com", true }, @@ -13730,8 +13956,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hqq.tv", true }, { "hquest.pro.br", true }, { "hqwebhosting.tk", false }, - { "hr-tech.shop", true }, - { "hr-tech.store", true }, { "hr98.xyz", true }, { "hrabogados.com", true }, { "hraesvelg.net", true }, @@ -13747,6 +13971,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hrobert.hu", true }, { "hroling.nl", true }, { "hroschyk.cz", true }, + { "hru.gov", true }, { "hs-arbeitsschutz.de", true }, { "hs-group.net", true }, { "hscorp.de", true }, @@ -13825,7 +14050,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "huislijn.nl", true }, { "huissier-vosges.com", true }, { "huitaodang.com", true }, - { "hukaloh.com", true }, { "hukutuu.com", true }, { "hulet.tech", true }, { "hulldevs.net", true }, @@ -13836,6 +14060,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "humanesources.com", true }, { "humanexperiments.com", true }, { "humanity.com", true }, + { "humankode.com", true }, { "humans.io", true }, { "humanzee.com", true }, { "humblebee.at", true }, @@ -13863,6 +14088,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "humppakone.com", true }, { "hund.io", true }, { "hundeformel.de", true }, + { "hundesport-psvhalle.de", true }, { "hundter.com", true }, { "hunqz.com", true }, { "hunstoncanoeclub.co.uk", true }, @@ -13883,6 +14109,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "huskyduvercors.com", true }, { "huskyinc.us", true }, { "hussam.eu.org", true }, + { "hustle.com", true }, + { "hustle.life", true }, { "hustlehope.com", true }, { "hustunique.com", true }, { "huto.ml", true }, @@ -13897,7 +14125,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hwaddress.com", true }, { "hwag-pb.de", true }, { "hwinfo.com", true }, - { "hwpkasse.de", true }, { "hx53.de", true }, { "hxying.com", true }, { "hybridiyhdistys.fi", true }, @@ -13945,22 +14172,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hyvinvointineuvoja.fi", true }, { "hyvive.com", true }, { "hzh.pub", false }, - { "hztgzz.com", true }, + { "hztgzz.com", false }, { "i--b.com", true }, { "i-geld.de", true }, { "i-hakul.net", true }, + { "i-logic.co.jp", true }, { "i-meto.com", true }, { "i-office.com.vn", true }, { "i-proswiss.com", true }, { "i-red.info", true }, { "i-scream.space", true }, + { "i-sports.cz", true }, { "i-stuff.site", true }, { "i-verbi.it", true }, { "i1314.gdn", true }, { "i1place.com", true }, { "i28s.com", true }, { "i2b.ro", true }, - { "i496.eu", true }, { "i4m1k0su.com", true }, { "i5y.co.uk", true }, { "i5y.org", true }, @@ -13976,7 +14204,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ialis.me", true }, { "iamcarrico.com", true }, { "iamjoshellis.com", true }, - { "iamsoareyou.se", true }, { "iamtheib.me", true }, { "iamusingtheinter.net", true }, { "iamwoodbeard.com", true }, @@ -14000,13 +14227,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ibpsrecruitment.co.in", true }, { "ibrainmedicine.org", true }, { "ibrom.eu", true }, - { "ibsafrica.co.za", true }, - { "ibsglobal.co.za", true }, { "ibwc.gov", true }, { "ic-lighting.com.au", true }, { "ic3.gov", true }, { "icafecash.com", true }, - { "icanhasht.ml", true }, { "icarlos.net", true }, { "icasnetwork.com", true }, { "icbemp.gov", true }, @@ -14027,6 +14251,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "icmhd.ch", true }, { "icmp2018.org", true }, { "icnsoft.me", true }, + { "icnsoft.org", true }, { "icodeconnect.com", true }, { "icondoom.nl", true }, { "iconomi.net", true }, @@ -14058,8 +14283,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "idahoansforliberty.net", true }, { "idaspis.com", true }, { "idatha.de", true }, + { "idblab.tk", true }, { "idc-business.be", true }, { "idconsult.nl", true }, + { "idcrane.com", true }, { "iddconnect.com", true }, { "iddconnect.org", true }, { "idealinflatablehire.co.uk", true }, @@ -14073,6 +14300,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ideaweblab.com", false }, { "idenamaislami.com", true }, { "idensys.nl", true }, + { "ident-clinic.be", true }, { "identifyme.net", true }, { "identitytheft.gov", true }, { "idered.net", true }, @@ -14081,7 +14309,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "idgard.de", true }, { "idgateway.co.uk", true }, { "idhosts.co.id", true }, - { "idid.tk", true }, { "idiopolis.org", true }, { "idiotentruppe.de", true }, { "idmanagement.gov", true }, @@ -14112,6 +14339,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ieji.de", false }, { "iemas.azurewebsites.net", true }, { "ienakanote.com", false }, + { "ietsdoenofferte.nl", true }, { "ieval.ro", true }, { "iewar.com", true }, { "iexpert9.com", true }, @@ -14126,7 +14354,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ifightsurveillance.net", true }, { "ifightsurveillance.org", true }, { "ifixe.ch", true }, - { "iflare.de", true }, { "iformbuilder.com", false }, { "ifort.fr", true }, { "ifosep.fr", true }, @@ -14138,8 +14365,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ifyou.live", true }, { "ig.com", true }, { "iga-semi.jp", true }, - { "igamingforums.com", true }, { "igcc.jp", true }, + { "igd.chat", true }, { "igglabs.com", true }, { "iggprivate.com", true }, { "iggsoft.com", true }, @@ -14163,7 +14390,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ih8sn0w.com", true }, { "iha6.com", true }, { "ihacklabs.com", true }, - { "ihatethissh.it", true }, { "ihc.im", true }, { "ihkk.net", true }, { "ihollaback.org", true }, @@ -14226,6 +14452,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iltec.ru", true }, { "iltisim.ch", true }, { "ilweb.es", true }, + { "ilya.pp.ua", true }, { "im-c-shop.com", true }, { "im-design.com.ua", true }, { "im2net.com", true }, @@ -14244,7 +14471,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "imagine-programming.com", true }, { "imaginetricks.com", true }, { "imagr.io", true }, - { "imanageproducts.uk", true }, { "imanesdeviaje.com", true }, { "imanolbarba.net", true }, { "imanudin.net", true }, @@ -14285,6 +14511,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "immo-passion.net", true }, { "immo-vk.de", true }, { "immobilien-badlippspringe.de", true }, + { "immobilien-in-istanbul.de", true }, { "immobilien-wallat.de", true }, { "immobilier-nice.fr", true }, { "immobilier92.net", true }, @@ -14293,6 +14520,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "imoe.ac.cn", true }, { "imokuri123.com", true }, { "imoner.com", true }, + { "imouto.my", false }, { "imouyang.com", true }, { "impact.health.nz", true }, { "impacter.eu", true }, @@ -14300,6 +14528,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "impactpub.ch", true }, { "impakho.com", true }, { "impas.se", true }, + { "impelup.com", true }, { "imperdin.com", true }, { "imperial-legrand.com", true }, { "imperialmiami.com", true }, @@ -14315,6 +14544,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "imprenta-es.com", true }, { "impresa-pulizie.it", true }, { "impresadipulizie.roma.it", true }, + { "impresaedile.roma.it", true }, { "improklinikken.dk", true }, { "improvingwp.com", true }, { "impulse-clan.de", true }, @@ -14326,7 +14556,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "imrunner.com", true }, { "imrunner.ru", true }, { "ims-sargans.ch", true }, + { "imscompany.com", true }, + { "imy.life", true }, + { "imydl.com", true }, + { "imydl.tech", true }, { "imyvm.com", true }, + { "imyz.tw", true }, { "in-depthoutdoors.com", true }, { "in-flames.com", true }, { "in.search.yahoo.com", false }, @@ -14341,7 +14576,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "inbounder.io", true }, { "inbox-group.com", true }, { "inbox.google.com", true }, - { "inboxen.org", true }, { "inceptionradionetwork.com", true }, { "inchcape-fleet-autobid.co.uk", true }, { "includesubdomains.preloaded.test", true }, @@ -14358,7 +14592,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "indecipherable.info", true }, { "independencerecovery.com", true }, { "independent-operators.com", true }, - { "inderagamono.net", true }, { "indesit-training.com", true }, { "index-games.com", true }, { "index-mp3.com", true }, @@ -14366,11 +14599,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "indian-elephant.com", true }, { "indianaantlersupply.com", true }, { "indiawise.co.uk", true }, + { "indicateurs-flash.fr", true }, { "indieethos.com", true }, { "indiegame.space", true }, { "indievelopment.nl", true }, { "indigoinflatables.com", true }, { "indigosakura.com", true }, + { "indiraactive.com", true }, { "inditip.com", true }, { "indogerman.de", true }, { "indogermanstartup.com", true }, @@ -14430,10 +14665,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "infopagina.es", true }, { "infopier.sg", true }, { "infopulsa.com", true }, + { "inforisposte.com", true }, { "informatiebeveiliging.nl", true }, { "informatik-handwerk.de", true }, { "informationrx.org", true }, { "informnapalm.org", true }, + { "infosec-handbook.eu", true }, { "infosec.ch", true }, { "infosec.exchange", true }, { "infosenior.ch", true }, @@ -14445,7 +14682,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "infoweb.ee", true }, { "infra-con.dk", false }, { "infrapirtis.lt", true }, - { "infruction.com", true }, { "ing89.cc", true }, { "ing89.com", true }, { "ingalabs.hu", true }, @@ -14465,7 +14701,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ingresscode.cn", true }, { "inhaltsangabe.de", true }, { "inheritestate.com", true }, - { "inhive.group", true }, { "inhouseents.co.uk", true }, { "iniiter.com", true }, { "inima.org", true }, @@ -14475,6 +14710,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "initramfs.io", true }, { "initrd.net", true }, { "inixal.com", true }, + { "injapan.nl", true }, + { "injust.eu.org", true }, { "ink.horse", true }, { "inkable.com.au", true }, { "inkbunny.net", false }, @@ -14483,6 +14720,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "inksay.com", true }, { "inkspire.co.uk", true }, { "inkthemes.com", true }, + { "inlabo.de", true }, { "inline-sport.cz", true }, { "inlink.ee", true }, { "inmaps.xyz", true }, @@ -14505,7 +14743,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "innovaptor.com", true }, { "innovation-workshop.ro", true }, { "innovation.gov", false }, - { "innovativebuildingsolutions.co.za", true }, { "innoventure.de", true }, { "innsalzachsingles.de", true }, { "innwan.com", true }, @@ -14563,7 +14800,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "institutulcultural.ro", true }, { "instrumart.ru", false }, { "insult.es", true }, - { "int-ext-design.fr", true }, + { "insureon.com", true }, { "int-ma.in", true }, { "intae.it", true }, { "intafe.co.jp", true }, @@ -14622,7 +14859,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "internetbugbounty.org", true }, { "internetcom.jp", true }, { "internethealthreport.org", true }, - { "internethering.de", true }, { "internetinhetbuitengebied.nl", true }, { "internetmarkets.net", true }, { "internetofdon.gs", true }, @@ -14632,9 +14868,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "internetradiocharts.de", false }, { "internetstaff.com", true }, { "internetzentrale.net", true }, - { "interociter-enterprises.com", true }, { "interracial.dating", true }, { "interseller.io", true }, + { "interstellarhyperdrive.com", true }, { "intertime.services", true }, { "interview-suite.com", true }, { "interways.de", true }, @@ -14658,7 +14894,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "intune.life", true }, { "intux.be", false }, { "intvonline.com", true }, - { "intxt.net", false }, + { "inup.jp", true }, { "inusasha.de", true }, { "inuyasha-petition.tk", true }, { "invasion.com", true }, @@ -14669,14 +14905,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "inventoryimages.co.uk", true }, { "inventoryimages.com", true }, { "inventtheworld.com.au", true }, + { "inventum.cloud", true }, { "inverselink-user-content.com", true }, { "inverselink.com", true }, { "investarholding.nl", true }, { "investcountry.com", true }, + { "investigatore.it", true }, { "investigazionimoretti.it", true }, { "investingtrader.net", true }, { "investir.ch", true }, { "investor.gov", true }, + { "investoren-beteiligung.de", true }, { "investorforms.com", true }, { "investpay.ru", true }, { "invinsec.com", true }, @@ -14687,12 +14926,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "invisionita.com", true }, { "invisiverse.com", true }, { "invitescene.com", true }, + { "invkao.com", true }, { "invoiced.com", true }, { "invoicefinance.com", true }, { "invoicefinance.nl", true }, { "invuelto.com", true }, { "inwestcorp.se", true }, { "inzdr.com", true }, + { "inzelabs.com", true }, { "iobint.com", true }, { "iocheck.com", false }, { "iodine.com", true }, @@ -14725,7 +14966,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ipcfg.me", true }, { "ipconsulting.se", true }, { "ipfirebox.de", true }, - { "ipfp.pl", true }, { "ipfs.ink", true }, { "ipfs.io", true }, { "iphoneunlock.nu", true }, @@ -14743,12 +14983,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ipomue.com", false }, { "ipop.gr", true }, { "iprim.ru", true }, - { "ipsec.pl", true }, { "ipsilon-project.org", true }, { "ipstream.it", true }, { "ipswitch.com.tw", true }, { "ipty.de", true }, { "ipura.ch", true }, + { "ipuservicedesign.com", true }, { "ipv4.cf", true }, { "ipv4.gr", true }, { "ipv6-adresse.dk", true }, @@ -14764,12 +15004,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "irc-results.com", true }, { "ircmett.de", true }, { "iready.ro", true }, + { "ireef.tv", true }, { "irenekauer.com", true }, { "irf2.pl", true }, { "irfan.id", true }, { "irgit.pl", true }, { "iridiumbrowser.de", true }, - { "iridiumflare.de", true }, { "iriomote.com", true }, { "iris-design.info", true }, { "iris-insa.com", true }, @@ -14791,12 +15031,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "irritant.net", true }, { "iruarts.ch", true }, { "iruca.co", true }, + { "is-going-to-rickroll.me", true }, { "is-sw.net", true }, { "isaackabel.cf", true }, { "isaackabel.ga", true }, { "isaackabel.gq", true }, { "isaackabel.ml", true }, { "isaackabel.tk", true }, + { "isaackhor.com", true }, { "isaacman.tech", true }, { "isaacpartnership.co.uk", true }, { "isaacpartnership.com", true }, @@ -14823,6 +15065,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "isil.fi", true }, { "isimonbrown.co.uk", true }, { "isincheck.com", true }, + { "isipulsa.web.id", true }, { "isistomie.com", true }, { "isitchristmas.com", true }, { "isitcoffeetime.com", true }, @@ -14839,9 +15082,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "isletech.net", true }, { "isliada.org", true }, { "ismat.com", true }, + { "ismywebsitepenalized.com", true }, { "isn.cz", true }, { "isntall.us", true }, - { "isocom.eu", true }, { "isognattori.com", true }, { "isolta.com", true }, { "isolta.de", true }, @@ -14863,6 +15106,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "isqrl.de", true }, { "israelbizreg.com", true }, { "israkurort.com", true }, + { "isreedyinthe.uk", true }, + { "isreedyinthe.us", true }, { "isreedyintheuk.com", true }, { "issala.org", true }, { "issasfrissa.se", true }, @@ -14879,7 +15124,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "istheapplestoredown.de", true }, { "istheinternetdown.com", true }, { "istheinternetonfire.com", true }, - { "istherrienstillcoach.com", true }, { "istheservicedown.co.uk", true }, { "istheservicedown.com", true }, { "istheservicedowncanada.com", true }, @@ -14892,6 +15136,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "isv.online", true }, { "isvbscriptdead.com", true }, { "isyu.xyz", true }, + { "isz.no", true }, { "it-adminio.ru", true }, { "it-fernau.com", true }, { "it-jobbank.dk", true }, @@ -14907,6 +15152,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "it-sysoft.com", true }, { "it-world.eu", true }, { "it.search.yahoo.com", false }, + { "it1b.com", true }, { "itactiq.com", true }, { "itactiq.info", true }, { "itaiferber.net", true }, @@ -14915,6 +15161,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "italiachegioca.com", true }, { "italian.dating", true }, { "italianshoemanufacturers.com", true }, + { "italserrande.it", true }, { "italyinspires.com", true }, { "itamservices.nl", true }, { "itb-online.co.uk", true }, @@ -14922,7 +15169,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "itbrief.com.au", true }, { "itchimes.com", true }, { "itchy.nl", true }, + { "itchybrainscentral.com", true }, { "itcko.sk", true }, + { "itdashboard.gov", true }, { "itds-consulting.com", true }, { "itds-consulting.cz", true }, { "itds-consulting.eu", true }, @@ -14943,10 +15192,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "itiomassagem.com.br", true }, { "itis.gov", true }, { "itis4u.ch", true }, + { "itisjustnot.cricket", true }, { "itludens.com", true }, { "itmanie.cz", true }, { "itneeds.tech", true }, - { "itnews-bg.com", true }, { "itnota.com", true }, { "itochan.jp", true }, { "itooky.com", true }, @@ -14961,9 +15210,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "itsabouncything.com", true }, { "itsanicedoor.co.uk", true }, { "itsasaja.com", true }, + { "itsaw.de", true }, + { "itsblue.de", true }, { "itsdcdn.com", true }, { "itsecblog.de", true }, - { "itsecguy.com", false }, + { "itsecguy.com", true }, { "itsevident.com", true }, { "itsgoingdown.org", true }, { "itshka.rv.ua", true }, @@ -15004,7 +15255,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ivpn.net", true }, { "ivvl.ru", true }, { "ivxv.ee", true }, - { "ivyshop.com.br", true }, { "iwader.co.uk", true }, { "iwalton.com", true }, { "iwch.tk", true }, @@ -15015,6 +15265,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iww.me", true }, { "iww.mx", true }, { "ixds.org", true }, + { "ixio.cz", true }, { "ixnext.de", true }, { "ixquick-proxy.com", true }, { "ixquick.co.uk", true }, @@ -15062,7 +15313,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jaccblog.com", true }, { "jacekowski.org", true }, { "jackdawphoto.co.uk", true }, - { "jackdelik.de", true }, { "jackf.me", true }, { "jackingramnissanparts.com", true }, { "jackpothappy.com", true }, @@ -15078,6 +15328,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jacuzziprozone.com", true }, { "jadopado.com", true }, { "jaegerlacke.de", true }, + { "jaepinformatica.com", true }, { "jagbouncycastles.co.uk", true }, { "jagerman.com", true }, { "jaguarlandrover-asse.be", true }, @@ -15095,7 +15346,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jake.ml", true }, { "jake.nom.za", true }, { "jakecurtis.de", true }, - { "jakeguild.com", true }, { "jakenbake.com", true }, { "jakereynolds.co", true }, { "jakerullman.com", true }, @@ -15113,6 +15363,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jakubvrba.cz", true }, { "jalogisch.de", true }, { "jamaat.hk", true }, + { "jamacha.org", true }, { "jamalfi.bio", true }, { "jamberry.com.mx", true }, { "jamberrynails.co.uk", true }, @@ -15142,19 +15393,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jamiemagee.dk", true }, { "jamiepeters.nl", true }, { "jamieweb.net", true }, + { "jamieweb.org", true }, { "jammucake.com", true }, { "jammysplodgers.co.uk", true }, { "jamon.ca", true }, { "jamonsilva.com", true }, { "jamstatic.fr", false }, - { "jamyeprice.com", false }, { "jan-and-maaret.de", true }, - { "jan-bucher.ch", true }, { "jan-rieger.de", true }, { "jan-roenspies.de", true }, { "jan-von.de", true }, { "janada.cz", true }, { "janaundgeorgsagenja.eu", true }, + { "jandev.de", true }, { "janduchene.ch", true }, { "janehamelgardendesign.co.uk", true }, { "jangocloud.tk", true }, @@ -15174,17 +15425,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "janverlaan.nl", true }, { "jaot.info", true }, { "japan4you.org", true }, + { "japanbaths.com", true }, { "japaneseemoticons.org", true }, - { "japanesenames.biz", true }, + { "japangids.nl", true }, { "japaniac.de", false }, { "japanphilosophy.com", true }, { "japanwatches.xyz", true }, + { "japanwide.net", true }, { "jape.today", true }, { "jardin-exotique-rennes.fr", true }, { "jardinderline.ch", true }, { "jardiniersduminotaure.fr", true }, { "jaredeberle.org", false }, { "jaredfernandez.com", true }, + { "jaredfraser.com", true }, + { "jarivisual.com", true }, { "jarl.ninja", true }, { "jarniashop.se", true }, { "jaroku.com", true }, @@ -15201,12 +15456,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jasonradin.com", true }, { "jasonsansone.com", true }, { "jasonwindholz.com", true }, - { "jasperhammink.com", true }, { "jasperhuttenmedia.com", true }, { "jastrow.me", true }, + { "jaszbereny-vechta.eu", true }, { "javalestari.com", true }, + { "javamilk.com", true }, { "javfree.me", true }, - { "javiermixdjs.com", true }, { "jawn.ca", true }, { "jawnelodzkie.org.pl", true }, { "jaxageto.de", true }, @@ -15231,8 +15486,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jbs-jardins.ch", true }, { "jbsinternational.com", true }, { "jbt-stl.com", true }, + { "jcai.dk", true }, { "jcaicedo.com", true }, - { "jcaicedo.tk", true }, { "jci.cc", true }, { "jcor.me", false }, { "jcwodan.nl", true }, @@ -15266,6 +15521,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jeannecalment.com", true }, { "jeannelucienne.fr", true }, { "jeanneret-combustibles.ch", true }, + { "jebengotai.com", true }, { "jec-dekrone.be", true }, { "jedayoshi.tk", true }, { "jedepannetonordi.fr", true }, @@ -15289,6 +15545,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jeffsanders.com", true }, { "jefftickle.com", true }, { "jefrydco.id", true }, + { "jehovahsays.net", true }, { "jekhar.com", true }, { "jekkt.com", true }, { "jelena-adeli.com", true }, @@ -15301,16 +15558,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jelmer.uk", true }, { "jemangeducheval.com", true }, { "jembatankarir.com", true }, - { "jemoticons.com", true }, { "jena.space", true }, { "jennedebleser.com", false }, { "jenniferchan.id.au", true }, + { "jennifermason.eu", true }, { "jennifersauer.nl", true }, { "jennybeaned.com", true }, { "jennythebaker.com", true }, { "jenolson.net", true }, { "jenprace.cz", true }, { "jensrex.dk", true }, + { "jenssen.org", true }, { "jepertinger-itconsulting.de", true }, { "jeproteste.info", true }, { "jeremiahbenes.com", true }, @@ -15321,12 +15579,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jeremycantu.com", true }, { "jeremycrews.com", true }, { "jeremyness.com", true }, - { "jermann.biz", true }, + { "jeremytcd.com", true }, { "jerodslay.com", false }, { "jeroendeneef.com", true }, { "jeroenensanne.wedding", true }, { "jeroenvanderwal.nl", true }, - { "jerrypau.ca", true }, { "jerryyu.ca", true }, { "jerseybikehire.co.uk", true }, { "jerseyjumpingbeans.co.uk", true }, @@ -15335,7 +15592,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jesseerbach.com", true }, { "jessekaufman.com", true }, { "jessesjumpingcastles.co.uk", true }, - { "jessevictors.com", true }, { "jessgranger.com", true }, { "jesters-court.net", true }, { "jesuisadmin.fr", true }, @@ -15343,6 +15599,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jetapi.org", true }, { "jetbbs.com", true }, { "jetbrains.pw", true }, + { "jetflex.de", true }, { "jetkittens.co.uk", true }, { "jetmirshatri.com", true }, { "jetsetboyz.net", true }, @@ -15377,15 +15634,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jhuang.me", true }, { "jhwestover.com", true }, { "jianjia.io", false }, - { "jianyuan.pro", true }, { "jichi.io", true }, { "jie.dance", true }, + { "jigsawdevelopments.com", true }, { "jiid.ga", true }, { "jimbraaten.com", true }, { "jimbutlerkiaparts.com", true }, { "jimdorf.com", true }, { "jimmycai.com", true }, - { "jimmycn.com", true }, { "jimmynelson.com", true }, { "jimmyroura.ch", true }, { "jimshaver.net", true }, @@ -15439,13 +15695,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jmedved.com", true }, { "jmentertainment.co.uk", true }, { "jmk.hu", true }, - { "jmoreau.ddns.net", true }, { "jmotion.co.uk", true }, { "jmpb.hu", true }, { "jmpmotorsport.co.uk", true }, { "jmsolodesigns.com", true }, { "jmssg.jp", true }, - { "jmvbmx.ch", true }, { "jmvdigital.com", true }, { "jncde.de", true }, { "jncie.de", true }, @@ -15483,6 +15737,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jobzninja.com", true }, { "jodlajodla.si", true }, { "joduska.me", true }, + { "jodyboucher.com", false }, { "joe-pagan.com", true }, { "joe262.com", true }, { "joearodriguez.com", true }, @@ -15506,11 +15761,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "joepitt.co.uk", false }, { "joerg-wellpott.de", true }, { "joerss.at", true }, + { "joeskup.com", true }, { "joespaintingpgh.com", true }, { "joestead.codes", true }, { "joetyson.me", true }, { "joeyhoer.com", true }, { "joeysmith.com", true }, + { "joeyvilaro.com", true }, { "jogi-server.de", true }, { "jogorama.com.br", false }, { "johanbissemattsson.se", false }, @@ -15531,6 +15788,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "johndball.com", true }, { "johnfulgenzi.com", true }, { "johngallias.com", true }, + { "johngo.tk", true }, { "johnguant.com", true }, { "johnkastler.net", true }, { "johnmalloneemd.com", false }, @@ -15570,10 +15828,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jonathandowning.uk", true }, { "jonathandupree.com", true }, { "jonathanha.as", true }, + { "jonathanj.nl", true }, { "jonathanmassacand.ch", true }, { "jonathanschle.de", true }, { "jonathanwisdom.com", true }, - { "jondarby.com", true }, { "jondevin.com", true }, { "jondowdle.com", true }, { "jonesborostatebank.com", false }, @@ -15598,7 +15856,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "joostrijneveld.nl", true }, { "joostvanderlaan.nl", true }, { "jopl.org", true }, - { "jopsens.de", true }, { "joran.org", true }, { "jordanhamilton.me", false }, { "jordankmportal.com", true }, @@ -15608,7 +15865,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jorisdalderup.nl", true }, { "jornadasciberdefensa2016.es", true }, { "jornalalerta.com.br", true }, - { "jorovik.com", true }, { "jorrit.info", true }, { "josc.com.au", true }, { "joscares.com", true }, @@ -15622,6 +15878,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "josepbel.com", true }, { "josephre.es", true }, { "josephsniderman.com", true }, + { "josephsniderman.net", true }, { "josephsniderman.org", true }, { "josephv.website", true }, { "josericaurte.com", true }, @@ -15682,8 +15939,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jsd-cog.org", true }, { "jselby.net", true }, { "jsent.co.uk", true }, + { "jsevilleja.org", true }, { "jskier.com", false }, { "jskoelliken.ch", true }, + { "jslidong.top", true }, { "jsmetallerie.fr", true }, { "json-viewer.com", true }, { "jstelecom.com.br", true }, @@ -15717,6 +15976,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "juergenhecht.de", true }, { "juergenspecht.com", true }, { "juergenspecht.de", true }, + { "jugendfeuerwehr-vechta.de", true }, { "jugendsuenden.info", true }, { "jugh.de", true }, { "juhakoho.com", true }, @@ -15724,11 +15984,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "juiced.gs", true }, { "juku-info.top", true }, { "juku-wing.jp", true }, + { "jule-spil.dk", true }, { "julegoerke.de", true }, { "julenlanda.com", true }, { "julian-weigle.de", true }, { "juliangonggrijp.com", true }, { "julianickel.de", true }, + { "juliankirchner.ch", true }, { "julianmeyer.de", true }, { "juliansimioni.com", true }, { "julianskitchen.ch", true }, @@ -15737,6 +15999,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "julianweigle.de", true }, { "julianxhokaxhiu.com", true }, { "julibear.com", true }, + { "julibon.com", true }, { "julico.nl", true }, { "julie-and-stevens-wedding.com", true }, { "juliedecubber.com", true }, @@ -15749,7 +16012,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "juliohernandezgt.com", true }, { "juls.cloud", true }, { "jultube.de", true }, - { "jumba.com.au", true }, { "jumboquid.co.uk", true }, { "jump-zone.co.uk", true }, { "jump.bg", false }, @@ -15789,8 +16051,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jurassicgolf.nl", true }, { "juridiqueo.com", true }, { "juridoc.com.br", true }, + { "jurisprudent.by", true }, { "juristeo.com", true }, - { "jurke.com", true }, + { "jurko.cz", true }, { "jurriaan.ninja", true }, { "just-a-clanpage.de", true }, { "just2trade.com", true }, @@ -15833,6 +16096,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jwnotifier.org", true }, { "jwolt-lx.com", true }, { "jwschuepfheim.ch", true }, + { "jxir.de", true }, { "jyggen.com", true }, { "jyoti-fairworks.org", true }, { "jzachpearson.com", true }, @@ -15843,7 +16107,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "k-pture.com", true }, { "k-scr.me", true }, { "k-tube.com", true }, - { "k258059.net", true }, + { "k258059.net", false }, { "k2mts.org", true }, { "k38.cc", true }, { "k3nny.fr", false }, @@ -15862,17 +16126,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kabeuchi.com", true }, { "kaboom.pw", true }, { "kabu-abc.com", true }, - { "kabus.org", true }, { "kachlikova2.cz", true }, { "kack.website", true }, { "kadhambam.in", true }, - { "kadmec.com", true }, { "kaeru-seitai.com", true }, { "kaffeekrone.de", true }, { "kafoom.de", true }, { "kaheim.de", false }, { "kai-ratzeburg.de", true }, - { "kai.cool", true }, + { "kaibol.com", true }, { "kaigojj.com", true }, { "kaileymslusser.com", true }, { "kainetsoft.com", true }, @@ -15900,11 +16162,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kaleidoscope.co.uk", true }, { "kaleidoskop-freiburg.de", true }, { "kalender.com", true }, - { "kalender.goip.de", true }, { "kalevlamps.co.uk", true }, { "kaliaa.fi", true }, { "kalian.cz", true }, { "kalifornien-tourismus.de", true }, + { "kalilinux.tech", true }, { "kall.is", true }, { "kallies-net.de", true }, { "kalmar.com", true }, @@ -15946,7 +16208,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kanna.cf", true }, { "kannchen.de", true }, { "kanotijd.nl", true }, - { "kanr.in", true }, { "kansaiyamamoto.jp", true }, { "kantankye.nl", true }, { "kantanmt.com", true }, @@ -15954,6 +16215,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kantorkita.net", true }, { "kantorosobisty.pl", true }, { "kanuvu.de", false }, + { "kanzakiranko.jp", true }, { "kanzashi.com", true }, { "kanzlei-myca.de", true }, { "kanzlei-sixt.de", true }, @@ -15970,6 +16232,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "karabas.com", true }, { "karabijnhaken.nl", false }, { "karachi.dating", true }, + { "karalane.com", true }, { "karamomo.net", true }, { "karanjthakkar.com", true }, { "karanlyons.com", true }, @@ -15989,6 +16252,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "karlbowden.com", true }, { "karlic.net", true }, { "karlis-kavacis.id.lv", true }, + { "karlproctor.co.uk", true }, { "karlsmithmn.org", true }, { "karlstabo.se", true }, { "karlzotter.com", true }, @@ -16004,9 +16268,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "karpanhellas.com", false }, { "karsofsystems.com", true }, { "kartacha.com", true }, + { "kartar.net", true }, { "kartec.com", true }, { "karten-verlag.de", true }, { "kartonmodellbau.org", true }, + { "karula.org", true }, { "kasadara.com", true }, { "kasei.im", true }, { "kashis.com.au", true }, @@ -16086,6 +16352,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kdex.de", true }, { "kdw.cloud", true }, { "kdyby.org", true }, + { "ke7tlf.us", true }, { "keakon.net", true }, { "keaneokelley.com", true }, { "keartanddesign.com", true }, @@ -16102,6 +16369,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "keeperapp.com", true }, { "keeperklan.com", false }, { "keepersecurity.com", true }, + { "keepflow.io", true }, { "keepiteasy.eu", true }, { "keeweb.info", true }, { "keezin.ga", true }, @@ -16114,7 +16382,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "keinefilterblase.de", true }, { "keisaku.org", true }, { "keishiando.com", true }, + { "keithws.net", true }, { "keke-shop.ch", true }, + { "kekgame.com", true }, { "kekku.li", true }, { "keksi.io", true }, { "kekz.org", true }, @@ -16127,7 +16397,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kemptown.co.uk", true }, { "kemptown.com", true }, { "kemptown.net", true }, - { "ken-electric.com.br", true }, { "ken.fm", true }, { "kenalsworld.com", true }, { "kenbonny.net", true }, @@ -16171,7 +16440,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kernelpanics.nl", true }, { "kerrfrequencycombs.org", true }, { "kerstkaart.nl", true }, - { "kerus.net", true }, { "kescher.site", true }, { "kessel-runners.com", true }, { "kesslerwine.com", true }, @@ -16190,7 +16458,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kevinmorssink.nl", true }, { "kevinpirnie.com", true }, { "kevinratcliff.com", true }, - { "kevinroebert.de", true }, { "kevlar.pw", true }, { "kevyn.lu", true }, { "kewego.co.uk", true }, @@ -16240,6 +16507,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kiddyboom.ua", true }, { "kids-at-home.ch", true }, { "kids-castles.com", true }, + { "kids2day.in", true }, { "kidsareatrip.com", true }, { "kidsforsavingearth.org", true }, { "kidsinwoods-interfacesouth.org", true }, @@ -16259,13 +16527,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kiekko.pro", true }, { "kiel-kind.de", true }, { "kielderweather.org.uk", true }, - { "kienlen.org", true }, + { "kieranjones.uk", true }, { "kiesuwkerstkaart.nl", true }, - { "kievradio.com", true }, { "kiffmarks.com", true }, { "kikbb.com", true }, { "kiki-voice.jp", true }, { "kiku.pw", true }, + { "kiladera.be", true }, { "kilerd.me", true }, { "kilianvalkhof.com", true }, { "killaraapartments.com.au", true }, @@ -16311,7 +16579,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kingpincages.com", true }, { "kingqueen.org.uk", true }, { "kingstclinic.com", true }, - { "kingtecservices.com", true }, { "kini24.ru", true }, { "kinkenonline.com", true }, { "kinmunity.com", true }, @@ -16342,6 +16609,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kircp.com", true }, { "kirei.se", true }, { "kirig.ph", true }, + { "kirikira.moe", true }, { "kirillaristov.com", true }, { "kirillpokrovsky.de", true }, { "kirinas.com", true }, @@ -16416,7 +16684,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "klaver.it", true }, { "klaw.xyz", true }, { "kle.cz", true }, - { "kleaning.by", true }, + { "klean-ritekc.com", true }, { "kleberstoff.xyz", true }, { "klebetape.de", true }, { "kledingrekken.nl", true }, @@ -16444,6 +16712,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "klm-huisjes.nl", true }, { "klmhouses.com", true }, { "klocker-ausserlechner.com", true }, + { "klocksnack.se", true }, { "kloia.com", true }, { "klosko.net", true }, { "klotz-labs.com", true }, @@ -16467,12 +16736,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kncg.pw", true }, { "kneblinghausen.de", true }, { "knegten-agilis.com", true }, - { "knep.me", true }, { "kngk-azs.ru", true }, { "kngk-group.ru", true }, { "kngk-transavto.ru", true }, { "kngk.org", true }, - { "kngkng.com", true }, { "kniga.market", true }, { "knight-industries.org", true }, { "knightsblog.de", true }, @@ -16487,6 +16754,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "knowledgehook.com", true }, { "knowlevillagecc.co.uk", true }, { "knthost.com", true }, + { "knuckles.tk", true }, { "knurps.de", true }, { "knutur.is", true }, { "knygos.lt", true }, @@ -16512,6 +16780,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "koelnmafia.de", true }, { "koenen-bau.de", true }, { "koenigsbrunner-tafel.de", true }, + { "koenleemans.nl", true }, { "koerper-wie-seele.de", false }, { "koertner-muth.com", true }, { "koertner-muth.de", true }, @@ -16531,7 +16800,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "koifish.org", true }, { "koka-shop.de", true }, { "kokensupport.com", true }, - { "koketteriet.se", true }, { "kokumoto.com", true }, { "koldanews.com", true }, { "kolin.org", true }, @@ -16542,6 +16810,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kollega.it", true }, { "kolmann.at", true }, { "kolmann.eu", true }, + { "kolpingsfamilie-vechta-maria-frieden.de", true }, { "koluke.co", true }, { "koluke.com", true }, { "komandakovalchuk.com", false }, @@ -16570,6 +16839,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "konkurs.ba", true }, { "konoe.studio", true }, { "konosuke.jp", true }, + { "konplott.shop", true }, { "konsertoversikt.no", true }, { "konst.se", true }, { "kontakthuman.hu", true }, @@ -16582,11 +16852,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "koolikatsed.ee", true }, { "kooponline.eu", true }, { "koot.nl", true }, + { "koozal.de", true }, { "kopfkrieg.org", true }, { "kopio.jp", true }, { "kopjethee.nl", true }, { "koptev.ru", true }, { "kopteva.ru", true }, + { "kopular.com", true }, { "kopykatz.org", false }, { "korben.info", true }, { "korea.dating", true }, @@ -16610,7 +16882,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kostecki.org", true }, { "kostecki.tel", true }, { "kostya.ws", true }, - { "kotausaha.com", true }, { "kotelezobiztositas.eu", true }, { "kotilinkki.fi", true }, { "kotitesti.fi", true }, @@ -16664,6 +16935,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "krambeutel.de", true }, { "kramsj.uk", true }, { "krang.org.uk", true }, + { "krankenpflege-haushaltshilfe.de", true }, { "krasavchik.by", true }, { "krasnodar-avia.ru", true }, { "krasota.ru", false }, @@ -16689,6 +16961,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kreza.de", true }, { "kriechel.de", true }, { "krinetzki.de", true }, + { "kriptosec.com", true }, + { "kris.click", true }, { "krislamoureux.com", true }, { "krismurray.co.uk", true }, { "krisstarkey.co.uk", true }, @@ -16696,7 +16970,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kristikala.nl", true }, { "kristinbailey.com", true }, { "kristofdv.be", true }, - { "krizek.cc", true }, { "krizevci.info", true }, { "krmeni.cz", true }, { "krokedil.se", true }, @@ -16717,6 +16990,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "krupa.net.pl", false }, { "krutka.cz", true }, { "kruu.de", true }, + { "kruzhki-s-kartinkami.ru", true }, { "kry.no", true }, { "kry.se", true }, { "kryglik.com", true }, @@ -16727,7 +17001,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kryx.de", true }, { "ks-watch.de", true }, { "kschv-rdeck.de", true }, - { "ksero.center", true }, + { "kselenia.ee", true }, { "ksham.net", true }, { "kshlm.in", true }, { "kspg.tv", true }, @@ -16744,6 +17018,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kualo.in", true }, { "kuaza.com", true }, { "kub.hr", true }, + { "kubica.ch", true }, { "kubik-rubik.de", false }, { "kubiwa.net", true }, { "kubkprf.ru", true }, @@ -16766,6 +17041,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kuketz-security.de", true }, { "kulde.net", true }, { "kulivps.com", true }, + { "kum.com", true }, { "kuma.es", true }, { "kumachan.biz", true }, { "kumalog.com", true }, @@ -16774,22 +17050,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kundenerreichen.de", true }, { "kundo.se", true }, { "kungerkueken.de", true }, + { "kunstdrucke-textildruck.de", true }, { "kunstundunrat.de", true }, { "kuoruan.com", true }, { "kupferstichshop.com", true }, { "kupid.com", true }, + { "kupiec.eu.org", true }, { "kupimlot.ru", true }, { "kupinska.pl", true }, { "kuponrazzi.com", true }, { "kuponydoher.cz", true }, { "kupschke.net", true }, { "kurashino-mall.com", true }, + { "kurofuku.me", true }, { "kuroinu.jp", true }, { "kuroisalva.xyz", false }, { "kurona.ga", true }, { "kuronekogaro.com", true }, { "kurrietv.nl", true }, { "kurschies.de", true }, + { "kurserne.dk", true }, + { "kursprogramisty.pl", true }, { "kurswahl-online.de", true }, { "kurtschlatzer.com", true }, { "kuruppa.xyz", true }, @@ -16819,7 +17100,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kwedo.com", true }, { "kwench.com", true }, { "kwidz.fr", true }, - { "kwipi.com", true }, { "kwmr.me", true }, { "kwok.cc", true }, { "kwyxz.org", true }, @@ -16830,7 +17110,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kyledrake.net", true }, { "kylejohnson.io", true }, { "kylelaker.com", true }, - { "kylerwood.com", true }, { "kylescastles.co.uk", true }, { "kyliehunt.com", true }, { "kylinj.com", false }, @@ -16913,7 +17192,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lafka.org", true }, { "lafkor.de", true }, { "laflash.com", true }, - { "laforetenchantee.ch", true }, { "lafosseobservatoire.be", true }, { "lag-gbr.gq", true }, { "lagarderob.ru", false }, @@ -16935,10 +17213,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lakehavasucityhomebuyerscredit.com", true }, { "lakehavasucitynews.com", true }, { "lakehavasuhomebuyercredit.com", true }, - { "lakehavasuhouserentals.com", true }, { "lakehavasuhouses.com", true }, { "lakehavasuwebsites.com", true }, { "lakesherwoodelectrical.com", true }, + { "lakewoodcomputerservices.com", true }, { "lakhesis.net", true }, { "lakonia.com.br", true }, { "lalalab.com", true }, @@ -16952,7 +17230,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lamapoll.de", true }, { "lambauer.com", true }, { "lamboo.be", true }, - { "lamereabizix.com", true }, { "lamiaposta.email", false }, { "laminine.info", true }, { "lampegiganten.dk", true }, @@ -17000,6 +17277,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lanzamientovirtual.es", true }, { "lanzarote-online.info", true }, { "laos.dating", true }, + { "laospage.com", true }, { "laozhu.me", true }, { "lapassiondutrading.com", true }, { "lapetition.be", true }, @@ -17014,9 +17292,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "laranara.se", true }, { "laraveldirectory.com", true }, { "lareclame.fr", true }, + { "lared.ovh", true }, { "larepublicacultural.es", true }, { "largescaleforums.com", true }, { "largeviewer.com", true }, + { "lariposte.org", true }, { "lariscus.eu", true }, { "larondinedisinfestazione.com", true }, { "larptreff.de", true }, @@ -17072,7 +17352,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "latino.dating", true }, { "latinphone.com", true }, { "latintoy.com", true }, - { "latitude42technology.com", false }, { "latitudesign.com", true }, { "latour-managedcare.ch", true }, { "latremebunda.com", true }, @@ -17082,6 +17361,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lattyware.com", true }, { "laubacher.io", true }, { "lauchundei.at", true }, + { "lauensteiner.de", true }, { "laufpix.de", true }, { "lauftreff-himmelgeist.de", true }, { "laughinggrapepublishing.com", true }, @@ -17097,7 +17377,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "laurelblack.com", true }, { "laurelspaandlash.com", true }, { "laurenlobue.com", true }, - { "laurent-e-levy.com", true }, { "lauriemilne.com", true }, { "lauriuc.sk", true }, { "lausannedentiste.ch", true }, @@ -17126,6 +17405,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "laylo.nl", true }, { "laymans911.info", true }, { "layoutsatzunddruck.de", true }, + { "lazapateriahandmade.pe", true }, { "lazerus.net", true }, { "lazowik.pl", true }, { "lazurit.com", true }, @@ -17144,11 +17424,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lbrlh.tk", true }, { "lbrli.tk", true }, { "lbs-logics.com", true }, + { "lbux.org", true }, { "lc-cs.com", true }, { "lca-pv.de", true }, { "lce-events.com", true }, { "lcht.ch", false }, - { "lclarkpdx.com", true }, { "lcrmscp.gov", true }, { "ld-begunjscica.si", true }, { "ldc.com.br", false }, @@ -17157,10 +17437,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "le-blog.ch", true }, { "le-controle-parental.fr", true }, { "le-creux-du-van.ch", true }, - { "le-dev.de", false }, { "le-drive-de-just-vet.fr", true }, - { "le-h.de", true }, - { "le-hosting.de", true }, { "le-page.info", true }, { "le-palantir.com", true }, { "le-traiteur-parisien.fr", true }, @@ -17229,10 +17506,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "leech360.com", false }, { "leeclemens.net", true }, { "leedev.org", true }, - { "leefindlow.com", true }, - { "leelou.wedding", true }, { "leere.me", true }, - { "leerkotte.eu", true }, { "leerliga.de", true }, { "leertipp.de", true }, { "leesilvey.com", true }, @@ -17240,7 +17514,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "leetcode.com", true }, { "leetcode.net", true }, { "leetgamers.asia", true }, - { "leetsaber.com", true }, { "leevealdc.com", true }, { "lefebvristes.com", true }, { "lefebvristes.fr", true }, @@ -17272,7 +17545,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lehighmathcircle.org", true }, { "leibniz-remscheid.de", false }, { "leideninternationalreview.com", true }, - { "leifdreizler.com", false }, { "leigh.life", true }, { "leilautourdumon.de", true }, { "leilonorte.com", true }, @@ -17304,7 +17576,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lengzzz.com", true }, { "lenidh.de", true }, { "leninalbertop.com.ve", true }, - { "lenkunz.me", true }, { "lennier.info", true }, { "lennyfaces.net", true }, { "lennyobez.be", true }, @@ -17318,6 +17589,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lenyip.works", true }, { "lenzw.de", true }, { "leoandpeto.com", true }, + { "leochedibracchio.com", true }, { "leodaniels.com", true }, { "leodraxler.at", true }, { "leola.cz", true }, @@ -17328,7 +17600,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "leonard.io", false }, { "leonauto.de", true }, { "leonax.net", true }, - { "leondenard.com", true }, + { "leonhooijer.nl", false }, { "leonklingele.de", true }, { "leopoldina.net", true }, { "leowkahman.com", true }, @@ -17390,6 +17662,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "letsgame.nl", true }, { "letsgetchecked.com", true }, { "letsgowhilewereyoung.com", true }, + { "letsnet.org", true }, { "letspartyrugby.co.uk", true }, { "letstalkcounseling.com", true }, { "letterbox-online.de", true }, @@ -17455,6 +17728,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lianye5.cc", true }, { "lianye6.cc", true }, { "liaronce.win", true }, + { "liautard.fr", true }, { "lib64.net", true }, { "libbitcoin.org", true }, { "libble.eu", true }, @@ -17482,7 +17756,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "libsodium.org", true }, { "libstock.si", true }, { "licence-registry.com", true }, - { "liceserv.com", true }, { "lichess.org", true }, { "lichtspot.de", true }, { "lichttechnik-tumler.com", true }, @@ -17529,7 +17802,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lifescience-japan.com", true }, { "lifestylefinancial.ca", true }, { "lifestyler.me", true }, - { "lifeventure.co.uk", true }, { "lifi.digital", true }, { "lifi.is", true }, { "liftie.info", true }, @@ -17543,6 +17815,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lightspeed.com", false }, { "lighttp.com", true }, { "lightupcollective.co.uk", true }, + { "lignemalin.com", true }, + { "lignenet.com", true }, { "lignoma.com", true }, { "ligonier.com", true }, { "lihaul.dnsalias.net", true }, @@ -17559,6 +17833,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "liliang13.com", true }, { "lilismartinis.com", true }, { "lillepuu.com", true }, + { "lily-bearing.com", true }, { "lily-inn.com", true }, { "lilyfarmfreshskincare.com", true }, { "lilygreen.co.za", true }, @@ -17571,8 +17846,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "limereslaw.com", true }, { "limitededitioncomputers.com", true }, { "limitededitionsolutions.com", true }, + { "limitxyz.com", true }, { "limix.com", false }, { "limn.me", true }, + { "limoairporttoronto.net", true }, { "limousineservicezurich.com", true }, { "limpid.nl", true }, { "limules.ch", true }, @@ -17581,6 +17858,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "linan.blog", true }, { "lincdavis.com", true }, { "lincnaarzorg.nl", true }, + { "lincolnsfh.com", true }, { "lincsbouncycastlehire.co.uk", true }, { "linden.me", true }, { "lindeskar.se", true }, @@ -17598,7 +17876,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lingerielovers.com.br", true }, { "lingeriesilhouette.com", true }, { "lingotaxi.com", true }, - { "lingting.vip", true }, { "linguamilla.com", true }, { "lingvo-svoboda.ru", true }, { "link-sanitizer.com", true }, @@ -17613,6 +17890,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "linkycat.com", true }, { "linode.com", false }, { "linost.com", true }, + { "linostassi.net", true }, { "linpx.com", true }, { "linqhost.nl", true }, { "linss.com", true }, @@ -17647,7 +17925,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lionsdeal.com", true }, { "lipartydepot.com", true }, { "lipex.com", true }, - { "lipo.lol", true }, { "lipoabaltimore.org", true }, { "liqd.net", true }, { "liquid.cz", true }, @@ -17689,7 +17966,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "littlefamilyadventure.com", true }, { "littlegreece.ae", true }, { "littlejumpers.co.uk", true }, - { "littlelife.co.uk", true }, { "littlenina.nz", false }, { "littlepigcreek.com.au", true }, { "littlepincha.fr", true }, @@ -17741,7 +18017,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "living-space.co.nz", true }, { "living24.de", true }, { "livingforreal.com", true }, - { "livinghealthywithchocolate.com", true }, { "livingworduk.org", true }, { "livnev.me", true }, { "livnev.xyz", true }, @@ -17755,10 +18030,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lizardsystems.com", true }, { "lizhi.io", true }, { "lizzythepooch.com", true }, + { "ljason.cn", true }, { "ljs.io", true }, { "lknw.de", true }, { "lkummer.cz", true }, { "llamacuba.com", true }, + { "lll.st", true }, { "llm-guide.com", true }, { "lloyd-day.me", true }, { "llslb.com", true }, @@ -17794,23 +18071,34 @@ static const nsSTSPreload kSTSPreloadList[] = { { "localbouncycastle.com", true }, { "localdata.us", true }, { "localdecor.com.br", true }, - { "localhorst.xyz", true }, { "localspot.pl", true }, { "locapos.com", true }, + { "locationvoitureallemagne.com", true }, + { "locationvoitureangleterre.com", true }, + { "locationvoitureaustralie.com", true }, + { "locationvoitureautriche.com", true }, + { "locationvoiturebelgique.com", true }, + { "locationvoitureespagne.com", true }, + { "locationvoiturefinlande.com", true }, + { "locationvoitureirlande.com", true }, + { "locationvoitureislande.com", true }, + { "locationvoitureitalie.com", true }, + { "locationvoiturenorvege.com", true }, + { "locationvoiturepaysbas.com", true }, + { "locationvoitureportugal.com", true }, { "locationvoituresuede.com", true }, { "locatorplus.gov", true }, { "locauxrama.fr", true }, { "locchat.com", true }, - { "locker.email", true }, + { "locker.email", false }, { "lockify.com", true }, { "lockpick.nl", true }, { "lockpicks.se", true }, { "lockr.io", true }, - { "locksport.org.nz", true }, { "locomore.com", true }, { "locomotive.net.br", true }, { "lodash.com", false }, - { "lodgesdureynou.fr", true }, + { "loddeke.eu", true }, { "loeildansledoigt.fr", true }, { "loenshotel.de", true }, { "loew.de", true }, @@ -17827,11 +18115,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "logentries.com", false }, { "logexplorer.net", true }, { "logfile.at", true }, - { "logfile.ch", true }, { "logiciel-entreprise-seurann.fr", true }, { "logicio.ch", false }, { "logicio.de", false }, { "logicio.net", false }, + { "logicoma.com", true }, { "logicsale.com", true }, { "logicsale.de", true }, { "logicsale.fr", true }, @@ -17869,6 +18157,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lojamulticapmais.com.br", true }, { "lojaprimemed.com.br", true }, { "lojaprojetoagua.com.br", true }, + { "lojatema.com.br", true }, { "lojaterrazul.com.br", true }, { "lojavirtualfc.com.br", true }, { "lojavirtualfct.com.br", true }, @@ -17876,7 +18165,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lojix.com", true }, { "lojj.pt", true }, { "lokaal.org", true }, - { "loket.nl", true }, { "lolcorp.pl", true }, { "lolcow.farm", true }, { "lolhax.org", true }, @@ -17893,6 +18181,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lolpatrol.de", true }, { "lolpatrol.wtf", true }, { "loma.ml", true }, + { "lommeregneren.dk", true }, { "lommyfleet.com", true }, { "lon-so.com", true }, { "lona.io", true }, @@ -17913,6 +18202,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "longhorn.id.au", true }, { "longstride.net", true }, { "lonniec.com", true }, + { "lonniemason.net", true }, { "look.co.il", true }, { "looka.ch", true }, { "looka.photo", true }, @@ -17927,12 +18217,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lookastic.mx", true }, { "lookastic.ru", true }, { "lookbetweenthelines.com", true }, - { "lookyman.net", true }, { "loom.no", true }, { "looneymooney.com", true }, - { "loony.info", true }, { "loophost.com.br", false }, - { "loopower.com", true }, { "loopstart.org", true }, { "loovto.net", true }, { "loperetti.ch", true }, @@ -17965,7 +18252,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "louisvillevmug.info", true }, { "loune.net", true }, { "love-schna.jp", true }, - { "love4taylor.eu.org", true }, { "love4taylor.me", true }, { "loveandadoreboutique.com", true }, { "lovebo9.com", true }, @@ -17986,6 +18272,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lovelive-anime.tk", true }, { "lovelive.us", true }, { "lovelivewiki.com", true }, + { "lovelovenavi.jp", true }, { "lovelytimes.net", true }, { "lovemomiji.com", true }, { "lovenwishes.com", true }, @@ -18000,7 +18287,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "loveysa.ch", true }, { "lovg.ren", true }, { "lovingearth.co", true }, - { "lovingpenguin.com", true }, { "lovizaim.ru", true }, { "low-diets.com", true }, { "lowcostwire.com.au", true }, @@ -18022,7 +18308,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lsc-dillingen.de", true }, { "lsc.gov", true }, { "lsquo.com", true }, - { "lstma.com", true }, { "lswim.com", true }, { "lsys.ac", true }, { "lt.search.yahoo.com", false }, @@ -18033,10 +18318,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ltls.org", true }, { "ltn-tom-morel.fr", true }, { "lu.search.yahoo.com", false }, + { "luav.org", true }, { "lubar.me", true }, { "lubbockyounglawyers.org", true }, + { "lublin.toys", true }, { "luc-oberson.ch", true }, { "luca.swiss", true }, + { "lucacastelnuovo.nl", true }, { "lucakrebs.de", true }, { "lucasantarella.com", true }, { "lucascantor.com", true }, @@ -18104,10 +18392,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lukestebbing.com", true }, { "lukmanulhakim.id", true }, { "lukull-pizza.de", true }, - { "lumer.tech", true }, { "lumi.pw", true }, { "lumiere.com", true }, - { "luminancy.com", true }, { "lumitop.com", true }, { "lunafag.ru", true }, { "lunakit.org", true }, @@ -18156,7 +18442,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "luxusnivoucher.cz", true }, { "luxusnyvoucher.sk", true }, { "luxvacuos.net", true }, - { "luxwatch.com", true }, { "luzat.com", true }, { "lv.search.yahoo.com", false }, { "lv0.it", true }, @@ -18170,6 +18455,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lychankiet.name.vn", false }, { "lydudlejning.net", true }, { "lyfbits.com", true }, + { "lyftrideestimate.com", true }, { "lylares.com", true }, { "lymia.moe", true }, { "lynero.dk", true }, @@ -18184,7 +18470,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lynxpro.nl", true }, { "lyon-interactive.com", true }, { "lyon-synergie.com", true }, - { "lyoness.digital", true }, { "lyonl.com", true }, { "lyricfm.ie", true }, { "lys.ch", true }, @@ -18216,6 +18501,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maartenderaedemaeker.be", true }, { "maartenvandekamp.nl", true }, { "maaya.jp", true }, + { "maayogashram.com", true }, { "mabankonline.com", true }, { "mabulledu.net", true }, { "mac-i-tea.ch", true }, @@ -18256,7 +18542,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "madars.org", false }, { "madbin.com", true }, { "madbouncycastles.co.uk", true }, - { "madcatdesign.de", true }, { "maddi.biz", true }, { "maddreefer.com", true }, { "made-in-earth.co.jp", true }, @@ -18270,7 +18555,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "madin.ru", true }, { "madirc.net", true }, { "madmar.ee", true }, - { "madnetwork.org", true }, { "madoka.nu", true }, { "madokami.net", true }, { "madrants.net", true }, @@ -18304,6 +18588,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "magenda.sk", true }, { "magentaize.net", true }, { "magentapinkinteriors.co.uk", true }, + { "magi-cake.com", true }, { "magi.systems", true }, { "magicbroccoli.de", true }, { "magicdaysomagh.co.uk", true }, @@ -18320,6 +18605,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "magnificentdata.com", true }, { "magnoliadoulas.com", true }, { "magnoliastrong.com", true }, + { "magonote-nk.com", true }, { "magwin.co.uk", true }, { "mahai.me", true }, { "mahatmayoga.org", true }, @@ -18365,6 +18651,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "majemedia.com", true }, { "majesnix.org", true }, { "majid.info", true }, + { "majkassab.com", true }, { "majkyto.cz", true }, { "makaleci.com", true }, { "make-your-own-song.com", true }, @@ -18374,7 +18661,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "makemejob.com", true }, { "makemyvape.co.uk", true }, { "makenaiyo-fx.com", true }, - { "makeuplove.nl", true }, { "makeurbiz.com", true }, { "makeyourlaws.org", true }, { "makinen.ru", true }, @@ -18411,7 +18697,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mallonline.com.br", true }, { "malmoesport.se", true }, { "malnex.de", true }, - { "malone.link", true }, { "malta-firma.com", true }, { "malte-kiefer.de", true }, { "malvy.kiev.ua", true }, @@ -18419,7 +18704,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "malwareinvestigator.gov", true }, { "malwarekillers.com", true }, { "maly.cz", true }, - { "maly.io", true }, { "malyshata.com", true }, { "malysvet.net", true }, { "mamaasia.info", true }, @@ -18437,9 +18721,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mamot.fr", false }, { "mamout.xyz", true }, { "man3s.jp", true }, + { "manach.net", true }, { "manage.cm", true }, { "manage4all.de", true }, { "manageathome.co.uk", true }, + { "managed-varnish.de", true }, { "management-companie.ro", true }, { "management-ethics.com", true }, { "managementboek.nl", true }, @@ -18477,7 +18763,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mannschafft.ch", true }, { "manoirdecontres.com", true }, { "manojsharan.me", true }, - { "manova.cz", true }, { "manowarus.com", true }, { "mansdell.net", true }, { "mantabiofuel.com", true }, @@ -18531,10 +18816,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marcelsiegert.com", true }, { "marcgoertz.de", true }, { "marche-contre-monsanto.ch", true }, + { "marchhappy.tech", true }, { "marciaimportados.com.br", true }, { "marcianoandtopazio.com", true }, { "marco-goltz.de", true }, - { "marco-kretz.de", true }, + { "marco-kretz.de", false }, { "marco-polo-reisen.com", true }, { "marcocasoni.com", true }, { "marcohager.de", true }, @@ -18581,11 +18867,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marjoleindens.be", true }, { "marjoriecarvalho.com.br", true }, { "mark-a-hydrant.com", true }, - { "mark-armstrong-gaming.com", true }, { "mark-semmler.de", true }, + { "markaconnor.com", true }, + { "markbiesheuvel.nl", true }, { "markepps.com", true }, { "market.android.com", true }, - { "marketgot.com", true }, { "marketing-advertising.eu", true }, { "marketing.limited", true }, { "marketingco.nl", true }, @@ -18600,7 +18886,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marklauman.ca", true }, { "markoh.co.uk", true }, { "markom.rs", true }, - { "markow.io", true }, { "markprof.ru", true }, { "markri.nl", false }, { "markridgwell.com", true }, @@ -18631,6 +18916,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maroc-bivouac.com", true }, { "marocemploi.co", true }, { "marocmail.ma", true }, + { "marotero.com", true }, { "marpa-wohnen.de", true }, { "marqperso.ch", true }, { "marquepersonnelle.ch", true }, @@ -18652,8 +18938,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "martiestrimsalon.nl", true }, { "martijn.site", true }, { "martijnhielema.nl", true }, - { "martin-mattel.com", true }, { "martin-smith.info", true }, + { "martindimitrov.cz", true }, { "martine.nu", true }, { "martingansler.de", true }, { "martinkup.cz", true }, @@ -18673,6 +18959,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maryjruggles.com", true }, { "marykatrinaphotography.com", true }, { "masa-hou.com", true }, + { "masaze-hanka.cz", true }, { "mascosolutions.com", true }, { "maservant.net", true }, { "mashandco.it", true }, @@ -18682,8 +18969,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "masiul.is", true }, { "maskinkultur.com", true }, { "maslife365.com", true }, + { "maslin.io", true }, { "masrur.org", true }, - { "massage-vitalite.fr", true }, { "massage4u.net", true }, { "massagecupping.com", true }, { "massagetainha-hanoi.com", true }, @@ -18703,8 +18990,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mastercardpac.com", true }, { "masterdemolitioninc.com", true }, { "masterdigitale.com", true }, - { "masterhaus.bg", true }, - { "masterhelenaroma.com", true }, { "masterofallscience.com", true }, { "masterpc.co.uk", true }, { "masterplc.com", true }, @@ -18724,6 +19009,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "matanz.de", true }, { "matatabimix.com", true }, { "match.audio", true }, + { "matcha-iga.jp", true }, { "matchatea24.com", true }, { "matchboxdesigngroup.com", true }, { "matchneedle.com", true }, @@ -18743,6 +19029,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mathiasgarbe.de", true }, { "mathieuguimond.com", true }, { "mathieui.net", true }, + { "mathis.com.tr", true }, { "maths.network", true }, { "mathspace.co", true }, { "matildajaneclothing.com", true }, @@ -18776,16 +19063,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "matthias-muenzner.de", true }, { "matthiasadler.info", true }, { "matthiasott.com", true }, + { "matthiasschwab.de", true }, { "matthieuschlosser.fr", true }, { "matthijssen.info", false }, { "mattia98.org", true }, { "mattiascibien.net", true }, { "mattisam.com", true }, + { "mattli.us", true }, { "mattmccutchen.net", true }, { "mattmcshane.com", true }, { "mattonline.me", true }, + { "mattwb65.com", true }, { "mattwservices.co.uk", true }, { "matviet.vn", true }, + { "matze.co", true }, { "mauerwerkstag.info", true }, { "mauldincookfence.com", true }, { "mauricedb.nl", true }, @@ -18825,6 +19116,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maxkaul.de", true }, { "maxmilton.com", true }, { "maxpl0it.com", true }, + { "maxr1998.de", true }, { "maxrandolph.com", true }, { "maxtruxa.com", true }, { "maxwaellenergie.de", true }, @@ -18832,7 +19124,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maxwellflynn.com", true }, { "maxwellmoore.co.uk", true }, { "may24.tw", true }, - { "mayavi.co.in", true }, { "maydex.info", true }, { "mayerbrownllz.com", true }, { "mayomarquees.com", true }, @@ -18845,6 +19136,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mazda626.net", true }, { "maze.design", true }, { "maze.fr", true }, + { "mazurlabs.tk", true }, { "mazzotta.me", true }, { "mbaestlein.de", true }, { "mbainflatables.co.uk", true }, @@ -18886,7 +19178,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mchan.us", true }, { "mchopkins.net", true }, { "mchristopher.com", true }, - { "mcjackk77.com", true }, { "mckenry.net", true }, { "mckernan.in", true }, { "mckinley.school", true }, @@ -18908,6 +19199,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mcynews.com", true }, { "mcyukon.com", true }, { "md-clinica.com.ua", true }, + { "md-student.com", true }, { "md5file.com", true }, { "md5hashing.net", true }, { "mdbouncycastlehirelondon.co.uk", true }, @@ -18937,6 +19229,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mealgoo.com", true }, { "mealz.com", false }, { "meamod.com", false }, + { "meanevo.com", true }, { "meany.xyz", true }, { "meap.xyz", true }, { "measuretwice.com", true }, @@ -18983,7 +19276,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "medicinia.com.br", true }, { "medicocompetente.it", true }, { "medicoresponde.com.br", true }, - { "medifab.online", true }, { "medifi.com", true }, { "medinside.ch", true }, { "medinside.li", true }, @@ -19012,6 +19304,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "meerutcake.com", true }, { "meet.google.com", true }, { "meetbot.fedoraproject.org", true }, + { "meetingapplication.com", true }, { "meetingfriends.ch", true }, { "meetings2.com", true }, { "meetmibaby.co.uk", true }, @@ -19053,7 +19346,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mehrleben.at", true }, { "mehrwert.de", true }, { "meierhofer.net", true }, - { "meiju.video", true }, { "meikan.moe", true }, { "meillard-auto-ecole.ch", true }, { "meilleur.info", true }, @@ -19128,6 +19420,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "menole.com", true }, { "menole.de", true }, { "menole.net", true }, + { "menotag.com", true }, { "mensagemaniversario.com.br", true }, { "mensagemdaluz.com", true }, { "mensagensaniversario.com.br", true }, @@ -19138,11 +19431,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mentalhealthmn.org", true }, { "mentaltraining-fuer-musiker.ch", true }, { "mentiq.az", true }, + { "mentorithm.com", true }, { "mentz.info", true }, { "menuonlineordering.com", true }, { "menzel-motors.com", true }, { "menzietti.it", true }, { "mephedrone.org", true }, + { "mer.gd", true }, { "meransuedtirol.com", true }, { "mercadobitcoin.com.br", true }, { "mercadobitcoin.net", true }, @@ -19155,6 +19450,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mercuryamericas.com", false }, { "meremeti-online.gr", true }, { "meremobil.dk", true }, + { "mergozzo.com", true }, { "meridianstore.com.br", true }, { "merimatka.fi", true }, { "merkel.me", true }, @@ -19186,7 +19482,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "metacoda.com", true }, { "metacode.biz", true }, { "metadatawiki.com", true }, - { "metaether.net", true }, { "metalsculpture.co.uk", true }, { "metalu.ch", true }, { "metapeen.nl", true }, @@ -19203,6 +19498,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "meteobox.pl", true }, { "meteobox.sk", true }, { "meteorapp.space", true }, + { "meteosherbrooke.com", true }, { "meteosmit.it", true }, { "meterhost.com", true }, { "methamphetamine.co.uk", true }, @@ -19231,6 +19527,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mf-fischer.de", true }, { "mfen.de", true }, { "mfgod.com", true }, + { "mfits.co.uk", true }, { "mflodin.se", true }, { "mfrsgb45.org", true }, { "mft.global", true }, @@ -19261,13 +19558,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "miasarafina.de", true }, { "miboulot.com", true }, { "micado-software.com", true }, - { "micaiahparker.com", true }, { "micalodeal.ch", true }, { "micasamgmt.com", false }, { "micbase.com", true }, { "michael-rigart.be", true }, { "michael-schefczyk.de", true }, - { "michael-schilling.de", true }, { "michael-steinhauer.eu", true }, { "michaelasawyer.com", true }, { "michaeleichorn.com", true }, @@ -19291,10 +19586,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "michalspacek.cz", true }, { "michalvasicek.cz", true }, { "michalwiglasz.cz", true }, - { "michasfahrschule.com", true }, { "michel-wein.de", true }, - { "michel.pt", true }, - { "michelledonelan.co.uk", true }, { "michiganunionoptout.com", true }, { "michmexguides.com.mx", true }, { "michu.pl", true }, @@ -19304,7 +19596,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "micr.io", true }, { "micr0lab.org", true }, { "microbiote-insectes-vecteurs.group", true }, - { "microblading.pe", true }, { "microco.sm", true }, { "microcomploja.com.br", true }, { "microdesic.com", true }, @@ -19315,6 +19606,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "microsoftaffiliates.azurewebsites.net", true }, { "microvb.com", true }, { "midair.io", true }, + { "midasjewellery.com.au", true }, { "midkam.ca", true }, { "midlandgate.de", true }, { "midlandleisuresales.co.uk", true }, @@ -19329,11 +19621,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "midwestbloggers.org", true }, { "midweststructuralrepair.com", true }, { "miegl.com", true }, + { "mietwohnungen-vermietung.com", true }, { "mieuxgrandir.ch", true }, { "miffy.me", true }, { "mig5.net", true }, { "miggy.org", true }, { "mightymillionsraffle.com", true }, + { "migrantskillsregister.org.uk", true }, { "miguel.pw", true }, { "migueldemoura.com", true }, { "migueldominguez.ch", true }, @@ -19344,6 +19638,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "miguia.tv", true }, { "mihnea.net", true }, { "mijn-financien.be", true }, + { "mijnetickets.nl", false }, { "mijnkerstkaarten.be", true }, { "mijnreisoverzicht.nl", true }, { "mijnsite.ovh", true }, @@ -19358,6 +19653,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mike-bland.com", true }, { "mike2k.de", true }, { "mikebelanger.ca", true }, + { "mikeblog.site", true }, { "mikecb.org", true }, { "mikegarnett.co.uk", true }, { "mikegerwitz.com", true }, @@ -19379,7 +19675,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "miknight.com", true }, { "mikonmaa.fi", true }, { "mikori.sk", true }, - { "mikro-inwestycje.co.uk", true }, { "mikrom.cz", false }, { "mikropixel.de", true }, { "mikroskeem.eu", true }, @@ -19401,7 +19696,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "milldyke.nl", true }, { "millefleurs.eu", true }, { "millhousenchurch.com", true }, - { "millionairessecrets.com", true }, { "millistream.com", true }, { "milonga.tips", true }, { "mim.properties", true }, @@ -19413,6 +19707,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mimocad.io", true }, { "mimovrste.com", true }, { "min-sky.no", true }, + { "min.kiwi", false }, { "minacssas.com", true }, { "minakov.pro", true }, { "minami.xyz", true }, @@ -19438,6 +19733,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "minecraft-server.eu", true }, { "minecraftforum.de", true }, { "minecraftforum.ovh", true }, + { "minecraftjson.com", true }, { "minecrell.net", true }, { "minehattan.de", true }, { "minei.me", true }, @@ -19448,8 +19744,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "minerstat.com", true }, { "minerva2015.it", true }, { "minesouls.fr", true }, + { "minetude.com", true }, { "minez-nightswatch.com", false }, { "minf3-games.de", true }, + { "mingming.info", true }, { "mingram.net", true }, { "mingwah.ch", true }, { "minhanossasenhora.com.br", true }, @@ -19460,7 +19758,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "minikidz.es", true }, { "minikneet.com", true }, { "minilions.fr", true }, - { "minimaliston.com", true }, { "minimaltimer.com", true }, { "minimayhemsoftplay.co.uk", true }, { "minimbah.com.au", true }, @@ -19475,7 +19772,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "minnesotareadingcorps.org", true }, { "minnit.chat", true }, { "minobar.com", true }, - { "minor.news", true }, { "minorshadows.net", true }, { "minpingvin.dk", true }, { "minschuns.ch", true }, @@ -19511,7 +19807,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "misakiya.co.jp", true }, { "misclick.nl", true }, { "miscreant.me", true }, - { "misericordiasegrate.org", true }, { "mishkovskyi.net", true }, { "miskatonic.org", true }, { "misoji-resist.com", true }, @@ -19530,7 +19825,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "missoy.me", true }, { "misssex.de", true }, { "missualready.com", true }, - { "missycosmeticos.com.br", true }, { "mistacms.com", true }, { "mister-cooks.fr", true }, { "mistreaded.com", true }, @@ -19541,6 +19835,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mit-uns.org", true }, { "mita.me", true }, { "mitaines.ch", true }, + { "mitarbeitermotivation-anleitungen.de", true }, { "mitchellhandymanservices.co.uk", true }, { "mitchelmore.ca", true }, { "miticobikes.com", true }, @@ -19567,6 +19862,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mixer.cash", true }, { "mixnshake.com", true }, { "mixposure.com", true }, + { "mixtafrica.com", true }, { "mixtape.moe", true }, { "miya.io", true }, { "miyako-kyoto.jp", true }, @@ -19636,7 +19932,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mncr.nl", true }, { "mnd.sc", true }, { "mne.moe", true }, - { "mnec.io", true }, { "mnedc.org", true }, { "mnguyen.io", true }, { "mnitro.com", true }, @@ -19647,6 +19942,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mnt9.de", true }, { "mo.nl", true }, { "moa.moe", true }, + { "moas.design", true }, { "mobal.com", true }, { "mobeforlife.com", true }, { "mobidea.com", true }, @@ -19660,7 +19956,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mobilecasinoclub.co.uk", true }, { "mobilemalin.com", true }, { "mobileread.com", true }, - { "mobileritelushi.com", true }, { "mobilesector.de", true }, { "mobiletraff.co", true }, { "mobilewikiserver.com", true }, @@ -19671,15 +19966,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mobimalin.com", true }, { "mobio.net", true }, { "mobisaar-cloud.de", true }, - { "mobmp4.com", true }, - { "mobmp4.info", true }, { "mobobe.com", true }, { "mobot.sg", true }, { "mobsender.com", true }, { "mobycoders.com", true }, { "mocarps.hk", true }, { "mochanstore.com", true }, - { "mochoko.com", true }, { "mockerel.com", true }, { "modaexecutiva.com.br", true }, { "modafinil.com", true }, @@ -19740,7 +20032,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mokeedev.review", true }, { "mokhtarmial.com", false }, { "mokote.com", true }, - { "mokum-organics.com", true }, + { "mokum-organics.com", false }, { "molb.org", true }, { "molecularbiosystems.org", true }, { "molinero.xyz", true }, @@ -19771,9 +20063,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mondial-movers.nl", true }, { "mondo-it.ch", true }, { "moneychangersoftware.com", true }, + { "moneycredit.eu", true }, { "moneygo.se", true }, { "moneyhouse.de", true }, { "moneytoday.se", true }, + { "mongolieenfrance.fr", true }, { "monicabeckstrom.no", true }, { "monique.io", true }, { "moniquedekermadec.com", true }, @@ -19798,8 +20092,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "monolithinteractive.com", true }, { "monoseis-monotica.gr", true }, { "monothesis.com", true }, - { "monotsuku.com", true }, - { "monozukuri.cafe", true }, { "monpc-pro.fr", true }, { "monpermismoto.com", true }, { "monpermisvoiture.com", true }, @@ -19811,6 +20103,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "montage-kaika.de", true }, { "montagne-tendance.ch", true }, { "montanana.com", true }, + { "montanasky.tv", true }, { "montand.com", true }, { "montanwerk.de", true }, { "montarfotoaki.com", true }, @@ -19830,6 +20123,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "moodzshop.com", true }, { "moojp.co.jp", true }, { "moolah.rocks", true }, + { "moon.fish", true }, { "moonagic.com", true }, { "moonbot.io", true }, { "moondrop.org", true }, @@ -19895,10 +20189,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "motd.ch", true }, { "motekforcelink.com", true }, { "moteksystems.com", true }, - { "motezazer.fr", true }, { "motherboard.services", true }, { "mothereff.in", false }, { "motionless.nl", true }, + { "motiweb.fr", true }, { "motocyklovedily.cz", true }, { "motohell.com", true }, { "motojato.com.br", true }, @@ -19911,6 +20205,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "motoryachtclub-radolfzell.de", true }, { "motosikletevi.com", true }, { "motostorie.blog", false }, + { "motovated.co.nz", true }, { "motowilliams.com", true }, { "mottomortgage.com", true }, { "moube.fr", true }, @@ -19938,6 +20233,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "movienang.com", true }, { "movienized.de", true }, { "moviepilot.com", true }, + { "moviesetc.net", true }, { "movil.uno", true }, { "movinglogistics.nl", false }, { "movingoklahoma.org", true }, @@ -19963,7 +20259,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mplanetphl.fr", true }, { "mplant.io", true }, { "mplicka.cz", true }, - { "mplusm.eu", true }, { "mpn.poker", true }, { "mpnpokertour.com", true }, { "mpodraza.pl", true }, @@ -19985,18 +20280,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mrcoolevents.com", true }, { "mrd.ninja", true }, { "mrdayman.com", true }, - { "mrdleisure.co.uk", true }, { "mrevolution.eu", true }, { "mrhc.ru", true }, { "mrinalpurohit.in", true }, { "mrkapowski.com", true }, { "mrketolocksmith.com", true }, { "mrknee.gr", true }, + { "mrksk.com", true }, { "mrleonardo.com", true }, { "mrmoregame.de", true }, { "mrnh.de", true }, { "mrnh.tk", true }, - { "mrparker.pw", true }, { "mrpropop.com", true }, { "mrs-labo.jp", true }, { "mrserge.lv", true }, @@ -20020,6 +20314,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "msnr.net", true }, { "msp66.de", true }, { "mspnocsupport.com", true }, + { "mspsocial.net", true }, { "msquadrat.de", true }, { "mssys.de", true }, { "mstdn.blue", true }, @@ -20031,6 +20326,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mstiles92.com", true }, { "msuess.me", true }, { "msuna.net", true }, + { "msv-limpezas.pt", true }, { "msx.org", true }, { "mszavodumiru.cz", true }, { "mt.search.yahoo.com", false }, @@ -20043,6 +20339,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mtfgnettoyage.fr", true }, { "mtg-tutor.de", true }, { "mthode.org", true }, + { "mthrbrd.com", true }, + { "mthrbrd.net", true }, { "mths.be", false }, { "mticareportal.com", true }, { "mtouch.facebook.com", false }, @@ -20097,6 +20395,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "multrier.fr", true }, { "mumbaionlinegifts.com", true }, { "mumei.space", true }, + { "muminkoykiran.com", true }, { "mumolabs.com", true }, { "munch.me", true }, { "munchcorp.com", true }, @@ -20131,9 +20430,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "musearchengine.com", true }, { "musehelix.com", true }, { "muses-success.info", true }, + { "musettishop.com", true }, { "museumstreak.com", true }, { "mush-room.co.jp", true }, { "mushikabu.net", true }, + { "mushman.tk", true }, { "music-is-my-life.de", true }, { "music-project.eu", true }, { "music.amazon.com", true }, @@ -20159,6 +20460,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mustafaturhan.com", true }, { "mustard.co.uk", true }, { "mustasj.no", true }, + { "mustat.com", true }, + { "muster-folien.de", true }, + { "muster-schablonen.de", true }, + { "mustertexte-musterbewerbung.de", true }, { "musthavesforreal.com", true }, { "mutantmonkey.in", true }, { "mutantmonkey.info", true }, @@ -20201,6 +20506,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "my-hps.de", true }, { "my-ip.work", true }, { "my-new-bikini.de", true }, + { "my-nextcloud.at", true }, { "my-pawnshop.com.ua", false }, { "my-plancha.ch", true }, { "my-static-demo-808795.c.cdn77.org", true }, @@ -20307,6 +20613,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mymb.pm", true }, { "mymed.de", true }, { "mymed.eu", true }, + { "mymedz.nl", true }, { "mymommyworld.com", true }, { "mymotor.nl", true }, { "mymp3singer.co", true }, @@ -20342,7 +20649,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "myowndisk.com", true }, { "myowndisk.net", true }, { "myownwebinar.com", true }, - { "mypanier.com", true }, { "mypaperdone.com", true }, { "mypaperwriter.com", true }, { "mypayoffloan.com", true }, @@ -20361,7 +20667,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "myref.net", true }, { "myrekber.co.id", true }, { "myrent.quebec", true }, - { "myrepublic.co.id", false }, + { "myrepublic.co.id", true }, { "myresearchapp.com", true }, { "myrewardspoints.com", true }, { "myriadof.com", true }, @@ -20386,7 +20692,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "myspicer.com", true }, { "mysqldump-secure.org", true }, { "myssl.com", true }, - { "mystatus24.com", true }, + { "mystatus24.com", false }, { "mysteriouscode.io", true }, { "mysterymind.ch", true }, { "mysterysear.ch", true }, @@ -20402,6 +20708,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mytc.fr", true }, { "mythengay.ch", true }, { "mythicdelirium.com", true }, + { "myting.net", true }, { "mytraiteurs.com", true }, { "mytripcar.co.uk", true }, { "mytripcar.com", true }, @@ -20427,10 +20734,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mywebinar.io", true }, { "myworkinfo.com", false }, { "myworth.com.au", true }, + { "myyubikey.net", true }, + { "myyubikey.org", true }, { "myzina.cz", false }, { "mz-mz.net", true }, { "mzh.io", true }, - { "mziulu.me", false }, { "mzorn.photography", true }, { "mzzj.de", true }, { "n-design.de", true }, @@ -20442,7 +20750,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "n0paste.tk", false }, { "n26.com", true }, { "n2servers.com", true }, - { "n3twork.net", true }, { "n4v.eu", true }, { "n64chan.me", true }, { "n6a.net", true }, @@ -20450,6 +20757,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "naam.me", true }, { "nabaleka.com", true }, { "nabankco.com", true }, + { "nabidkamajetku.cz", true }, { "nabytek-valmo.cz", true }, { "nachsendeauftrag.net", true }, { "nachsenden.info", true }, @@ -20493,10 +20801,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nalao-company.com", true }, { "nalepky-na-zed.cz", true }, { "nalepte.cz", true }, - { "nalexandru.xyz", true }, { "nalukfitness.com.br", true }, { "namaanakperempuan.net", true }, - { "namaleaks.com", false }, { "namazvakitleri.com.tr", true }, { "namegrep.com", true }, { "nameid.org", true }, @@ -20509,6 +20815,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "naminam.de", true }, { "namrs.net", true }, { "namskra.is", true }, + { "namu.live", true }, { "namu.moe", true }, { "namu.wiki", true }, { "nanami.moe", true }, @@ -20516,7 +20823,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nanch.com", true }, { "nanderson.me", true }, { "nanfangstone.com", true }, - { "nani.io", true }, { "nankiseamansclub.com", true }, { "nanogi.ga", true }, { "nanotechnologist.com", true }, @@ -20552,7 +20858,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nasbnation.com", true }, { "nascher.org", false }, { "nashvillelidsurgery.com", true }, - { "nasmocopati.com", true }, { "nasrsolar.com", true }, { "nastoletni.pl", true }, { "nataldigital.com", true }, @@ -20597,14 +20902,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "naturline.com", true }, { "naturtint.co.uk", true }, { "natusvita.com.br", true }, - { "natuterra.com.br", true }, { "naude.co", false }, { "naughty.audio", true }, { "nautiljon.com", true }, { "nautsch.de", true }, { "navdeep.ca", true }, { "navenlle.com", false }, - { "naviaddress.io", false }, { "navigate-it-services.de", false }, { "naviteq.eu", true }, { "navitime.me", true }, @@ -20707,11 +21010,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nder.be", true }, { "ndmath.club", true }, { "ndpbrn-research.org", true }, + { "nds-helicopter.de", true }, { "ndy.sex", true }, { "ne-on.org", true }, { "ne1home.dyndns.org", true }, { "neap.io", true }, + { "nearbi.com.mx", true }, { "nearby.in.th", true }, + { "nearon.nl", true }, { "neartothesky.com", true }, { "neatous.cz", true }, { "neatous.net", true }, @@ -20725,7 +21031,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nebuluxcapital.com", true }, { "necessaryandproportionate.net", true }, { "necessaryandproportionate.org", true }, - { "necio.ca", true }, { "necormansir.com", true }, { "nectarleaf.com", true }, { "nedcdata.org", true }, @@ -20749,6 +21054,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "neglecteddiseases.gov", true }, { "negraelinda.com", true }, { "nehoupat.cz", true }, + { "neildaniels.com", true }, { "neilfarrington.com", true }, { "neillans.co.uk", true }, { "neillans.com", true }, @@ -20766,6 +21072,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nekosc.com", true }, { "nekowa.moe", true }, { "nekox.ml", true }, + { "nekusoul.de", true }, { "nelhage.com", true }, { "nella-project.org", true }, { "nella.io", true }, @@ -20779,6 +21086,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nemez.net", true }, { "nemo.run", true }, { "nemopan.com", true }, + { "nemumu.com", true }, { "nemunai.re", true }, { "neo2shyalien.eu", false }, { "neobits.nl", true }, @@ -20790,6 +21098,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "neojo.org", true }, { "neokobe.city", true }, { "neolaudia.es", true }, + { "neolink.dk", true }, { "neonataleducationalresources.org", true }, { "neonatalgoldenhours.org", true }, { "neons.org", true }, @@ -20809,13 +21118,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nepremicnine.net", true }, { "nercp.org.uk", true }, { "nerdhouse.io", true }, - { "nerdjokes.de", true }, { "nerdmind.de", true }, { "nerdoutstudios.tv", true }, { "nerdpol.ch", true }, { "nerds-gegen-stephan.de", true }, { "nerds.company", false }, { "nerdtime.de", true }, + { "nerdwallet.com", true }, { "nerdydev.net", true }, { "nerot.eu", true }, { "nerull7.info", true }, @@ -20838,7 +21147,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "netbows.com", true }, { "netbows.es", true }, { "netbulls.io", true }, - { "netbuzz.ru", true }, { "netconnect.at", true }, { "netcoolusers.org", true }, { "netde.jp", true }, @@ -20869,7 +21177,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "netsigna.de", true }, { "netsite.dk", true }, { "netsoins.org", true }, - { "netsparker.com", false }, + { "netsparker.com", true }, { "netsparker.com.tr", true }, { "netsystems.pro", true }, { "nettamente.com", true }, @@ -20878,6 +21186,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "netto-service.ch", true }, { "nettools.link", true }, { "nettopower.dk", true }, + { "nettoyage.email", true }, { "nettplusultra-rhone.fr", true }, { "nettx.co.uk", true }, { "netulo.com", true }, @@ -20939,6 +21248,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "newcitystudio.ch", true }, { "newcreamforface.com", true }, { "newday.host", true }, + { "newearth.press", true }, { "newfiepedia.ca", true }, { "newgrowbook.com", true }, { "newguidance.ch", true }, @@ -20954,14 +21264,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "newodesign.com", true }, { "newpathintegratedtherapy.com", true }, { "news47ell.com", true }, - { "news4c.com", true }, { "newsa2.com", true }, { "newserumforskin.com", true }, { "newsmotor.info", true }, { "newspsychology.com", true }, { "newstone-tech.com", true }, { "newsyslog.org", true }, - { "newtnote.com", true }, { "newtrackon.com", true }, { "nex.sx", true }, { "nexgeneration-solutions.com", true }, @@ -20980,6 +21288,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nexthop.co.jp", true }, { "nexthop.jp", true }, { "nextmbta.com", true }, + { "nextme.se", true }, { "nextnely.com", true }, { "nextnowagency.com", true }, { "nextrobotics.de", true }, @@ -21005,7 +21314,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ngasembaru.com", true }, { "ngc.gov", true }, { "nghe.net", true }, - { "nginxyii.tk", true }, { "ngndn.jp", true }, { "ngocuong.net", true }, { "ngvf.de", true }, @@ -21045,6 +21353,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nickstories.de", true }, { "niclasreich.de", true }, { "nicn.me", true }, + { "nico.st", true }, { "nicocourts.com", true }, { "nicoknibbe.nl", true }, { "nicolaeiotcu.ro", true }, @@ -21052,8 +21361,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nicolas-dumermuth.com", true }, { "nicolas-hoffmann.net", true }, { "nicolas-hoizey.com", true }, + { "nicolas-simond.com", true }, { "nicolasiung.me", true }, - { "nicolasklotz.de", true }, { "nicolaszambetti.ch", true }, { "nicolaw.uk", true }, { "nicoleoquendo.com", true }, @@ -21137,6 +21446,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ning.so", true }, { "ninja-galerie.de", true }, { "ninov.de", true }, + { "ninreiei.jp", true }, { "nintendoforum.no", true }, { "ninthfloor.org", true }, { "nipax.cz", true }, @@ -21167,7 +21477,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nja.id.au", true }, { "njguardtraining.com", true }, { "njpjanssen.nl", true }, + { "nkapliev.org", true }, { "nkinka.de", true }, + { "nkp-media.de", true }, { "nl-ix.net", true }, { "nl.search.yahoo.com", false }, { "nlap.ca", false }, @@ -21186,19 +21498,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "no-xice.com", true }, { "no.search.yahoo.com", false }, { "noagendahr.org", true }, + { "noahsaso.com", true }, { "nobleparkapartments.com.au", true }, { "nobly.de", true }, { "noc.org", true }, { "noc.wang", true }, { "nocit.dk", true }, { "nocs.cn", true }, + { "nodalr.com", true }, { "nodari.com.ar", true }, { "nodariweb.com.ar", true }, { "nodecompat.com", true }, { "nodefiles.com", true }, { "nodefoo.com", true }, { "nodejs.de", true }, - { "nodelab-it.de", true }, { "nodelia.com", true }, { "nodepositcasinouk.com", true }, { "nodesturut.cl", true }, @@ -21207,11 +21520,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "noedidacticos.com", true }, { "noegoph.com", true }, { "noellabo.jp", true }, + { "noelssanssoucipensacola.com", true }, { "noematic.space", true }, { "noemax.com", true }, { "noesberts-weidmoos.de", true }, { "noexec.org", true }, { "noez.de", true }, + { "nogerondier.eu", true }, { "noglobalwarrants.org", true }, { "nohats.ca", true }, { "nohkan.fr", true }, @@ -21307,19 +21622,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nosyu.pe.kr", true }, { "nota-web.com", true }, { "nota.moe", true }, - { "notablog.xyz", true }, { "notabug.org", true }, { "notadd.com", true }, { "notadd.store", true }, - { "notalone.gov", true }, { "notar-glagowski.com", true }, { "notar-glagowski.de", true }, { "notar-peikert.com", true }, + { "notare-marktplatz24.info", true }, { "notarvysocina.cz", true }, { "notbolaget.se", true }, { "notboring.co.uk", true }, { "notcompletelycorrect.com", true }, { "notdienstreform-nordrhein.de", true }, + { "nothing.org.uk", true }, { "noticiasdehumor.com", true }, { "notificami.com", true }, { "notify.moe", true }, @@ -21341,7 +21656,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "novacoast.com", false }, { "novadermis.es", true }, { "novafreixo.pt", true }, - { "novascan.net", true }, { "novawave.ca", true }, { "nove.city", true }, { "noveciti.com", true }, @@ -21352,10 +21666,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "novecity.org", true }, { "novecitymail.com", true }, { "novelfeed.com", true }, + { "novelinglife.net", true }, { "novelvyretraite.fr", true }, { "novgorod-avia.ru", true }, { "novilaw.com", true }, - { "novinhabucetuda.com", true }, { "novojet.cl", true }, { "novoresume.com", false }, { "novosibavia.ru", true }, @@ -21396,6 +21710,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nstremsdoerfer.ovh", true }, { "nsure.us", true }, { "nsworks.com", true }, + { "nth.sh", true }, { "ntotten.com", true }, { "ntppool.org", true }, { "ntx360grad-fallakte.de", true }, @@ -21414,6 +21729,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nucleuscore.org", true }, { "nudestpics.com", true }, { "nuel.cl", true }, + { "nuevaimagenpublicidad.es", true }, { "null-life.com", true }, { "nullday.de", true }, { "nullpointer.io", true }, @@ -21488,6 +21804,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nytrafficticket.com", true }, { "nyxi.eu", true }, { "nyyu.tk", true }, + { "nzb.cat", false }, { "nzstudy.ac.nz", true }, { "o-loska.cz", true }, { "o-sp.com", true }, @@ -21499,7 +21816,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oaic.gov.au", true }, { "oakington.info", true }, { "oakparkelectrical.com", true }, - { "oaksbloom.com", true }, { "oakslighting.co.uk", true }, { "oasis-conference.org.nz", true }, { "oasisdabeleza.com.br", true }, @@ -21521,7 +21837,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oblondata.io", true }, { "obrienlab.com", true }, { "obscur.us", true }, - { "observatory.se", true }, { "obsidianirc.net", true }, { "obsproject.com", true }, { "obtima.org", true }, @@ -21531,7 +21846,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oc-sa.ch", true }, { "ocad.com.au", true }, { "ocapic.com", true }, - { "occasion-impro.com", true }, { "occentus.net", true }, { "occmon.net", true }, { "occupymedia.org", true }, @@ -21555,13 +21869,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ocotg.com", true }, { "ocrn.nl", true }, { "ocsigroup.fr", true }, - { "ocsr.nl", true }, { "octal.es", true }, { "octanio.com", true }, { "octav.name", false }, { "octo.im", true }, { "octod.tk", true }, - { "octofox.de", true }, { "octohedralpvp.tk", true }, { "octohost.net", true }, { "octolopagon.games", true }, @@ -21589,6 +21901,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oeko-bundesfreiwilligendienst.de", true }, { "oeko-jahr-jubilaeum.de", true }, { "oeko-jahr.de", true }, + { "oelbilder-oelmalerei.de", true }, { "oelsner.net", true }, { "oemwolf.com", true }, { "ofcampuslausanne.ch", true }, @@ -21614,7 +21927,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oflow.me", true }, { "oftamedic.com", true }, { "oftn.org", true }, - { "oganime.com", true }, { "oge.ch", true }, { "oggw.us", true }, { "ogis.gov", true }, @@ -21639,6 +21951,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ohohrazi.com", true }, { "ohreally.de", true }, { "ohsohairy.co.uk", true }, + { "ohyooo.com", true }, { "oilpaintingsonly.com", true }, { "oisd.nl", true }, { "oita-homes.com", true }, @@ -21669,12 +21982,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oktime.cz", true }, { "oktoberfeststore.nl", true }, { "oktomus.com", true }, + { "okukan.com.au", true }, { "okusiassociates.com", true }, { "olasouris.com", true }, { "olback.net", true }, + { "olcayanar.com", true }, { "oldandyounglesbians.us", true }, { "oldbrookinflatables.co.uk", true }, { "oldbrookmarqueehire.co.uk", true }, + { "oldchaphome.nl", true }, { "oldenglishsheepdog.com.br", true }, { "oldking.net", true }, { "oldnews.news", true }, @@ -21729,11 +22045,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "omifind.com", true }, { "omise.co", true }, { "omitech.co.uk", true }, - { "ommahpost.com", true }, { "omniasl.com", true }, { "omniatv.com", true }, { "omnienviro.com", false }, { "omnienviro.com.au", false }, + { "omnigon.network", true }, + { "omnisafira.com", true }, { "omniscimus.net", false }, { "omnisiens.se", true }, { "omnitrack.org", true }, @@ -21773,6 +22090,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oneidentity.me", true }, { "onelawsuit.com", true }, { "onemid.net", true }, + { "oneminute.io", false }, { "onemoonmedia.de", true }, { "oneononeonone.de", true }, { "oneononeonone.tv", true }, @@ -21800,6 +22118,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "online-consulting-corp.com", true }, { "online-consulting-corp.fr", true }, { "online-eikaiwa-guide.com", true }, + { "online-lernprogramme.de", true }, { "online-results.dk", true }, { "online-scene.com", true }, { "online-stopwatch.com", true }, @@ -21846,7 +22165,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ontheten.org", true }, { "onurer.net", true }, { "onvey.io", true }, - { "onviga.de", true }, { "onvirt.de", true }, { "onvori.com", true }, { "onvori.de", true }, @@ -21857,18 +22175,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oogami.name", true }, { "oogartsennet.nl", true }, { "ooharttemplates.com", true }, - { "ooonja.de", true }, { "oopsis.com", true }, { "ooyo.be", true }, { "op11.co.uk", false }, { "opalesurfcasting.net", true }, { "oparl.org", true }, { "opatut.de", true }, - { "opcaobolsas.com.br", true }, { "opcenter.de", true }, { "ope.ee", true }, { "open-bs.com", true }, { "open-bs.ru", true }, + { "open-desk.org", true }, { "open-freax.fr", true }, { "open-future.be", true }, { "open-infrastructure.net", true }, @@ -21884,6 +22201,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "opencad.io", true }, { "opencircuit.nl", true }, { "openclima.com", true }, + { "openclub24.ru", true }, { "opencluster.at", true }, { "opendataincubator.eu", true }, { "opendecide.com", true }, @@ -21907,10 +22225,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "openrainbow.org", true }, { "openrealestate.co", true }, { "openresty.com", true }, - { "openrtv.com", true }, { "opensource-cms.nl", true }, { "opensource-training.de", true }, - { "opensourcedmind.eu", true }, { "openspa.webhop.info", true }, { "openssl.org", true }, { "openstem.com.au", true }, @@ -21928,11 +22244,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "operationforever.com", true }, { "opfin.com", true }, { "opiates.ca", true }, - { "opiates.net", true }, { "opic.gov", true }, { "opin.me", true }, { "opinionicentrifuga.it", true }, - { "opinionipannolini.it", true }, { "opioids.co.uk", true }, { "opioids.com", true }, { "opium.io", true }, @@ -21944,16 +22258,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oppaiti.me", true }, { "oppejoud.ee", true }, { "opportunis.me", true }, - { "opportunitycorps.org", true }, { "opposer.me", true }, { "opq.pw", true }, { "oprbox.com", true }, { "oprechtgezegd.nl", true }, + { "oprueba.com", true }, { "opryshok.com", true }, { "opsmate.com", false }, { "opsnotepad.com", true }, { "opti-net.at", true }, - { "opticaltest.com", true }, { "optiekzien.nl", true }, { "optik-trosdorff.de", true }, { "optimalsetup.com", true }, @@ -21973,7 +22286,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "orangefab.asia", true }, { "orangefinanse.com.pl", true }, { "orangejetpack.com", true }, - { "orangekey.tk", true }, { "orangenbaum.at", true }, { "oranges.tokyo", true }, { "orangetravel.eu", true }, @@ -22009,7 +22321,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "orhideous.name", true }, { "orians.eu", true }, { "oribia.net", true }, - { "oricejoc.com", false }, { "orientalart.nl", true }, { "origami.to", true }, { "origamika.com", true }, @@ -22052,10 +22363,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "osha-kimi.com", true }, { "oshanko.de", true }, { "oshayr.com", true }, - { "oshell.me", true }, - { "oshinagaki.jp", true }, { "oshrc.gov", true }, { "oskrba.net", true }, + { "oskuro.net", true }, { "osla.org", true }, { "oslinux.net", true }, { "osm.is", true }, @@ -22079,9 +22389,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "otakurepublic.com", true }, { "otakurumi.de", true }, { "otchecker.com", true }, - { "otellio.com", true }, - { "otellio.de", true }, - { "otellio.it", true }, { "oticasaopaulo.com.br", true }, { "oticasvisao.net.br", true }, { "otmns.net", true }, @@ -22103,7 +22410,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ourai.ws", true }, { "ourcloud.at", true }, { "ourcodinglives.com", true }, - { "ourevents.net", true }, { "ourwedding.xyz", true }, { "outdoorfurniture.ie", true }, { "outdoorimagingportal.com", true }, @@ -22112,7 +22418,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "outgress.com", true }, { "outka.xyz", true }, { "outline.ski", true }, - { "outlines.xyz", true }, { "outlookonthedesktop.com", true }, { "outofcontrol.ca", true }, { "outpostinfo.com", true }, @@ -22170,6 +22475,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "p22.co", true }, { "p3ter.fr", true }, { "p4chivtac.com", true }, + { "p5r.uk", true }, { "pa-w.de", true }, { "pa.search.yahoo.com", false }, { "paarberatung-hn.de", true }, @@ -22196,6 +22502,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pacco.com.br", true }, { "pace.car", true }, { "pacelink.de", true }, + { "pachaiyappas.org", true }, { "pacificpalisadeselectrical.com", true }, { "pacifictilkin-occasions.be", true }, { "pacifique-web.nc", true }, @@ -22208,12 +22515,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "packetlinux.com", true }, { "packshot-creator.com", true }, { "pacoda.de", false }, - { "pactf-flag-4boxdpa21ogonzkcrs9p.com", true }, { "pactf.com", true }, + { "padam-group.com", true }, { "padberx-marketing-consultants.de", true }, { "paddy.rocks", true }, + { "padeoe.com", true }, { "padianda.com", true }, { "padovani.de", true }, + { "padpilot.co", true }, { "padrepio.in", true }, { "padron.com.es", true }, { "paducaheic.com", true }, @@ -22241,11 +22550,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pagure.org", true }, { "pahae.de", true }, { "pahealthbilling.com", true }, + { "pahlawanpulsa.com", true }, { "paincareehr.com", true }, { "paindata.dk", true }, { "painefamily.co.uk", true }, { "painlessproperty.co.uk", true }, - { "painosso.org", true }, { "paint-it.pink", true }, { "paintball-shop.sk", true }, { "paipuman.jp", true }, @@ -22259,19 +22568,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pakho.xyz", true }, { "pakistani.dating", true }, { "pakitow.fr", true }, - { "pakke.de", true }, { "pakremit.com", true }, { "paktolos.net", true }, { "palabr.as", true }, { "palapadev.com", true }, { "palatin.at", true }, - { "palationtrade.com", true }, { "palava.tv", true }, { "palavatv.com", true }, { "palawan.jp", true }, { "palazzotalamo.it", true }, { "paleosquawk.com", true }, { "paleotraining.com", true }, + { "pallet.io", true }, { "palletflow.com", true }, { "palli.ch", true }, { "palmavile.us", true }, @@ -22279,6 +22587,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pamaniqu.nl", true }, { "pamatv.hk", true }, { "pan.digital", true }, + { "panasca.is", true }, + { "panascais.co", true }, + { "panascais.com", true }, + { "panascais.de", true }, + { "panascais.eu", true }, + { "panascais.host", true }, + { "panascais.me", true }, + { "panascais.net", true }, + { "panascais.pw", true }, + { "panascais.site", true }, + { "panascais.tech", true }, + { "panascais.us", true }, { "panaxis.biz", true }, { "panaxis.ch", true }, { "panaxis.li", true }, @@ -22289,7 +22609,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pandymic.com", true }, { "paneldewelopera.pl", true }, { "paneu.de", true }, - { "pangci.xyz", true }, { "panier-legumes.bio", true }, { "panj.ws", true }, { "panmetro.com", true }, @@ -22332,7 +22651,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paradise-engineering.com", true }, { "paradise-engineers.com", true }, { "paradiselost.com", true }, - { "paradisenazarene.com", true }, { "paradoxdesigns.org", true }, { "paragonie.com", false }, { "paragreen.net", true }, @@ -22352,7 +22670,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "parentsintouch.co.uk", true }, { "pariga.co.uk", true }, { "parisderriere.fr", true }, - { "parisescortgirls.com", true }, { "parisfranceparking.com", true }, { "parisfranceparking.de", true }, { "parisfranceparking.fr", true }, @@ -22374,6 +22691,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "parser.nu", true }, { "parsonsfamilyhomes.com", true }, { "parteaga.com", true }, + { "parteaga.net", true }, { "partecipa.tn.it", true }, { "parthkolekar.me", true }, { "participatorybudgeting.de", true }, @@ -22402,6 +22720,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "partytimeltd.ie", true }, { "partytownireland.co.uk", true }, { "partytownmarquees.co.uk", true }, + { "partyvan.io", true }, { "partyzone.ie", true }, { "pasadenapooch.org", true }, { "pasadenasandwichcompany.com", true }, @@ -22409,8 +22728,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pascal-bourhis.com", true }, { "pascal-bourhis.net", true }, { "pascal-kannchen.de", true }, + { "pascal-wittmann.de", true }, { "pascaline-jouis.fr", true }, { "pascalleguern.com", true }, + { "pascalmathis.com", true }, + { "pascalmathis.me", true }, + { "pascalmathis.net", true }, { "pascalspoerri.ch", false }, { "pasearch.nl", true }, { "pass.org.my", true }, @@ -22420,7 +22743,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "passionatehorsemanship.com", true }, { "passionpictures.eu", true }, { "passions-art.com", true }, - { "passphrase.today", true }, { "passpilot.co.uk", true }, { "passport.yandex.by", true }, { "passport.yandex.com", true }, @@ -22429,6 +22751,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "passport.yandex.ru", true }, { "passport.yandex.ua", true }, { "passports.govt.nz", true }, + { "passrhce.com", true }, + { "passrhcsa.com", true }, { "passthepopcorn.me", true }, { "passvanille-reservation.fr", true }, { "passvau.lt", true }, @@ -22439,6 +22763,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "password.consulting", true }, { "password.work", true }, { "passwordhashing.com", true }, + { "passwordkeeperbooks.com", true }, { "passwords.google.com", false }, { "passwordscon.com", true }, { "passwordscon.org", true }, @@ -22477,7 +22802,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "patric-lenhart.de", true }, { "patrick-othmer.de", true }, { "patrick-robrecht.de", true }, - { "patrick.dark.name", true }, { "patrickaudley.ca", true }, { "patrickaudley.com", true }, { "patrickbrosi.de", true }, @@ -22499,6 +22823,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pauladamsmith.com", true }, { "paulbakaus.com", true }, { "paulbdelaat.nl", true }, + { "paulbramhall.uk", true }, { "paulchen.at", true }, { "paulewen.ca", true }, { "paulinewesterman.nl", true }, @@ -22531,7 +22856,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pawsomebox.co.uk", true }, { "pawsr.us", true }, { "pay.gov", true }, - { "pay.ubuntu.com", true }, { "pay8522.com", true }, { "payboy.biz", true }, { "payboy.rocks", true }, @@ -22562,10 +22886,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pb-design.ch", true }, { "pb.ax", true }, { "pback.se", true }, - { "pbcknd.ml", true }, { "pbosquet.com", true }, { "pbourhis.me", true }, { "pbqs.site", true }, + { "pbr.so", true }, { "pbraunschdash.com", true }, { "pbreen.co.uk", true }, { "pbrumby.com", true }, @@ -22598,6 +22922,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pdfmint.com", true }, { "pdfresizer.com", true }, { "pdox.net", true }, + { "pdragt.com", true }, { "pdthings.net", true }, { "pdxtowncar.net", true }, { "pe.search.yahoo.com", false }, @@ -22624,7 +22949,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pedroventura.com", false }, { "peeekaaabooo.com", true }, { "peekier.com", true }, - { "peep.gq", true }, { "peercraft.at", true }, { "peercraft.be", true }, { "peercraft.biz", true }, @@ -22651,7 +22975,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "peetah.com", true }, { "peeters.io", true }, { "peg.nu", true }, - { "pegas-studio.net", true }, { "pehapkari.cz", true }, { "peifi.de", false }, { "peippo.at", true }, @@ -22664,7 +22987,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pelopogrund.com", true }, { "pelopoplot.com", true }, { "pelotonimports.com", true }, - { "pemagrid.org", true }, { "penaugustin.com", true }, { "pencepay.com", true }, { "pendriveapps.com", true }, @@ -22694,6 +23016,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "penz.media", true }, { "peoplelikemeapp.com", true }, { "peoplesbankal.com", true }, + { "peoplesguardian.org", true }, { "pepemodelismo.com.br", true }, { "peplog.nl", true }, { "pepwaterproofing.com", true }, @@ -22735,7 +23058,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "permistheorique.be", true }, { "permistheoriqueenligne.be", true }, { "perniciousgames.com", true }, - { "peromsik.com", true }, { "perot.me", true }, { "perpetualemotion.com", true }, { "perrau.lt", true }, @@ -22751,6 +23073,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "perucasestoril.com.br", true }, { "pervacio.hu", true }, { "perzeidi.hr", true }, + { "pescco.com.br", true }, { "pestici.de", true }, { "pet-hotel-mura.net", true }, { "pet-life.top", true }, @@ -22768,7 +23091,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "peterhuetz.com", true }, { "peterjohnson.io", true }, { "peterlew.is", true }, - { "peternagy.ie", true }, { "petersontoscano.com", true }, { "pethelpers.org", true }, { "petit-archer.com", true }, @@ -22805,12 +23127,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pfmeasure.com", true }, { "pfo.io", true }, { "pfolta.net", true }, - { "pfudor.tk", true }, { "pg-forum.de", true }, { "pgmann.cf", true }, { "pgnetwork.net", true }, { "pgpmail.cc", true }, - { "pgregg.com", false }, { "ph-blog.de", true }, { "ph.search.yahoo.com", false }, { "phantasie.cc", true }, @@ -22818,18 +23138,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pharma-display.com", true }, { "pharmaabsoluta.com.br", true }, { "pharmaboard.de", true }, - { "pharmaboard.org", true }, { "pharmacieplusfm.ch", true }, { "pharmafoto.ch", true }, { "pharmaphoto.ch", true }, { "pharmapolitics.com", true }, { "pharynks.com", true }, + { "phasersec.com", true }, { "phasme-2016.com", true }, { "phcimages.com", true }, - { "phcmembers.com", true }, - { "phcnetworks.net", true }, { "phcorner.net", true }, { "phdhub.it", true }, + { "phelx.de", true }, + { "phenixairsoft.com", true }, { "phenomeno-porto.com", true }, { "phenomeno.nl", true }, { "phenomenoporto.com", true }, @@ -22865,7 +23185,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "phippsreporting.com", true }, { "phishingusertraining.com", true }, { "phocean.net", true }, - { "phoenix.dj", true }, { "phoenixlogan.com", true }, { "phone-service-center.de", true }, { "phormance.com", true }, @@ -22898,6 +23217,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "phpmyadmin.net", true }, { "phpprime.com", true }, { "phpsecure.info", true }, + { "phpunit.de", true }, { "phra.gs", true }, { "phrive.space", true }, { "phryanjr.com", false }, @@ -22913,12 +23233,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "physiovesenaz.ch", true }, { "pi-control.de", true }, { "pi-dash.com", true }, - { "pi-net.dedyn.io", true }, { "pi-supply.com", true }, { "pianetaottica.com", true }, { "pianetaottica.it", true }, { "pianetatatuaggi.it", true }, - { "pias-button.net", true }, + { "piasto.com.cy", true }, { "piatabrasil.com.br", true }, { "piatanoua.md", true }, { "pic.gov", true }, @@ -22936,14 +23255,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "piconepress.com", true }, { "picotech.com", true }, { "picotronic.de", true }, + { "picshare.nz", true }, { "picster.at", true }, { "picsto.re", true }, + { "pictorial.com.sg", true }, { "pictr.nl", true }, { "picture.team", true }, { "picturingjordan.com", true }, { "pidginhost.com", true }, { "pidjipi.com", true }, { "pieceofme.be", false }, + { "pieces-or.com", true }, { "piedfeed.com", true }, { "pieinsurance.com", true }, { "piekacz.co.uk", true }, @@ -22997,7 +23319,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pinkbike.com", true }, { "pinkcasino.co.uk", true }, { "pinkfis.ch", true }, - { "pinkinked.com", true }, { "pinkladyapples.co.uk", true }, { "pinklecfest.org", true }, { "pinklittlenotebook.com", true }, @@ -23005,10 +23326,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pinnaclelife.co.nz", true }, { "pinnaclelife.nz", true }, { "pinnacles.com", true }, - { "pinoyonlinetv.com", true }, { "pinpayments.com", true }, { "pinpointengineer.co.uk", true }, { "pinscher.com.br", true }, + { "pinskupakki.fi", true }, { "pinterest.at", true }, { "pinterest.co.uk", true }, { "pinterest.com", true }, @@ -23017,7 +23338,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pinterest.ie", true }, { "pinterest.info", true }, { "pinterest.jp", true }, - { "pipenny.net", true }, { "piranil.com", true }, { "pirate.trade", true }, { "pirateahoy.eu", true }, @@ -23044,11 +23364,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pirman.es", true }, { "pirxpilot.me", true }, { "piseach.be", true }, + { "piskenfuerwehr.de", true }, { "pissblau.com", true }, { "pissflaps.co.uk", true }, { "pisupp.ly", true }, { "pitchpinecapital.com", true }, - { "pitfire.io", true }, { "pitsstop.nu", true }, { "pittaya.com", true }, { "pittmantraffic.co.uk", true }, @@ -23080,7 +23400,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pizzagigant.hu", true }, { "pizzahut.ru", true }, { "pizzeria-mehrhoog.de", true }, + { "pizzeriaamadeus.hr", true }, { "pizzeriacolore.com", true }, + { "pj00100.com", true }, + { "pj00200.com", true }, + { "pj00300.com", true }, + { "pj00400.com", true }, + { "pj00600.com", true }, + { "pj00700.com", true }, + { "pj00800.com", true }, + { "pj00900.com", true }, { "pj539999.com", true }, { "pjentertainments.co.uk", true }, { "pjili.com", true }, @@ -23133,7 +23462,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "planlos.net", true }, { "planmemberpartners.com", true }, { "plannedlink.com", true }, - { "planningexcellence.com.au", true }, { "plant-gift.jp", true }, { "plantarum.com.br", true }, { "plantastique.ch", true }, @@ -23146,6 +23474,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "plasti-pac.ch", true }, { "plasticsurgeryartist.com", true }, { "plasticsurgerynola.com", true }, + { "plasticsurgeryservices.com", true }, { "platformadmin.com", true }, { "platinumpeek.com", true }, { "platomania.nl", true }, @@ -23162,13 +23491,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "playhappywheelsunblocked.com", true }, { "playkh.com", true }, { "playmfe.com", true }, - { "playnation.io", false }, + { "playocean.net", true }, { "playpirates.com", true }, { "playreal.city", true }, { "playsnake.org", true }, { "playsoundevents.be", true }, { "playsource.co", true }, - { "playsprout.industries", false }, + { "playsprout.industries", true }, { "playtictactoe.org", true }, { "playtimebouncycastles.co.uk", true }, { "playwhyyza.com", true }, @@ -23177,6 +23506,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pldx.org", true }, { "pleaseuseansnisupportedbrowser.ml", true }, { "pleasure-science.com", true }, + { "plegro.com", true }, + { "pleiades.com.tr", true }, + { "pleier-it.de", false }, + { "pleier.it", false }, { "pleine-conscience.ch", true }, { "plen.io", true }, { "plenigo.com", true }, @@ -23196,6 +23529,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ploofer.com", true }, { "plot.ly", true }, { "plotbubble.com", true }, + { "ploxel.com", true }, { "plr4wp.com", true }, { "plsboop.me", true }, { "pluga.co", true }, @@ -23210,6 +23544,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "plumlocosoft.com", true }, { "plumnet.ch", true }, { "plumpie.net", false }, + { "plur.com.au", true }, { "plural.cafe", true }, { "plus-5.com", true }, { "plus.google.com", false }, @@ -23233,6 +23568,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pm13.cz", true }, { "pm13.org", true }, { "pm25.im", true }, + { "pma-iss.com", true }, { "pmalaty.com", true }, { "pmarques.info", true }, { "pmbc.org", true }, @@ -23254,10 +23590,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pneu01.fr", true }, { "pneu74.fr", true }, { "pneuhaus-lemp.ch", true }, - { "pneusgppremium.com.br", true }, { "pnimmobilier.ch", true }, { "pnmhomecheckup.com", true }, { "pnona.cz", true }, + { "pnsc.is", true }, { "pnut.io", false }, { "poba.fr", true }, { "pocakking.tk", true }, @@ -23281,8 +23617,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "poed.net.au", true }, { "poedgirl.com", true }, { "poeg.cz", true }, + { "poffenhouse.ddns.net", true }, { "pogoswine.com", true }, - { "pogrebisky.net", true }, { "pohlmann.io", true }, { "poinsot.info", true }, { "pointaction.com", true }, @@ -23304,6 +23640,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pokepon.center", true }, { "pokl.cz", true }, { "polaire.org", true }, + { "polanda.com", true }, { "polandb2b.directory", true }, { "pole-emotion.ch", true }, { "poleacademie.com", true }, @@ -23313,17 +23650,32 @@ static const nsSTSPreload kSTSPreloadList[] = { { "policereferencecheck.com", true }, { "polis.or.at", true }, { "polis.to", false }, + { "polish-dictionary.com", true }, + { "polish-flag.com", true }, + { "polish-translations.com", true }, + { "polish-translator.com", true }, + { "polish-translator.net", true }, + { "polish-translators.net", true }, { "polish.directory", true }, + { "polishforums.com", true }, + { "polishmarriage.org", true }, + { "polishtranslation.com", true }, + { "polishwomen.com", true }, { "politeiaudesa.org", true }, { "politic.org.ua", true }, { "politik-bei-uns.de", true }, { "polizeiwallis.ch", true }, { "polkam.go.id", false }, + { "polki.com", true }, { "pollet-ghijs.be", true }, { "pollet-ghys.be", true }, { "polletmera.com", true }, + { "polleverywhere.com", true }, { "pollingplace.uk", true }, { "pollpodium.nl", true }, + { "poloniainfo.com", true }, + { "polskiemalzenstwo.org", true }, + { "polsport.live", true }, { "poly-fast.com", true }, { "polyfill.io", true }, { "polygamer.net", true }, @@ -23332,6 +23684,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "polynomapp.com", true }, { "polypane.rocks", true }, { "polypet.com.sg", true }, + { "polysage.org", true }, { "polytarian.com", true }, { "polytechecosystem.vc", true }, { "polytekniskforening.dk", true }, @@ -23370,7 +23723,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "popoway.me", true }, { "poppetsphere.de", true }, { "population-ethics.com", true }, - { "popupsoftplay.com", true }, + { "popvitrin.com", true }, { "poquvi.net", true }, { "porg.es", true }, { "pork.org.uk", true }, @@ -23384,7 +23737,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pornolab-net.appspot.com", false }, { "pornomens.be", true }, { "port.im", true }, - { "port.social", true }, { "port443.hamburg", true }, { "port443.se", true }, { "port67.org", true }, @@ -23393,6 +23745,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "portal.tirol.gv.at", true }, { "portalcarriers.com", true }, { "portalcentric.net", true }, + { "portalhubnuti.cz", true }, { "portalkla.com.br", true }, { "portalmundo.xyz", true }, { "portalzine.de", true }, @@ -23405,6 +23758,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "portraitsystem.biz", true }, { "portsdebalears.gob.es", true }, { "portsmouthbouncycastles.co.uk", true }, + { "portsmoutheic.com", true }, { "portugalsko.net", true }, { "portvaletickets.com", true }, { "porybox.com", true }, @@ -23422,6 +23776,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "posoiu.net", true }, { "post-darwinian.com", true }, { "post-darwinism.com", true }, + { "post.com.ar", true }, { "post.io", true }, { "post4me.at", true }, { "postal.dk", true }, @@ -23435,6 +23790,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "postdarwinism.com", true }, { "postdeck.de", true }, { "posteo.de", false }, + { "posterspy.com", true }, { "postfalls-naturopathic.com", true }, { "postfinance.ch", true }, { "postmatescode.com", true }, @@ -23444,9 +23800,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "potatiz.com", true }, { "potatofrom.space", false }, { "potatopro.com", true }, + { "potatron.tech", true }, { "potature.rimini.it", true }, { "potature.roma.it", true }, - { "potbox.com", true }, + { "potentialproject.com", false }, { "pothe.com", true }, { "pothe.de", true }, { "potolok.am", true }, @@ -23456,7 +23813,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "potterscraftcider.com", true }, { "pottersheartministry.org", true }, { "potworowski.de", true }, - { "poupatempo.org", true }, { "pourlesenfants.info", true }, { "pourout.org", true }, { "povareschka.ru", true }, @@ -23488,7 +23844,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pozytywnyplan.pl", true }, { "pozzo-balbi.com", true }, { "ppipe.net", true }, + { "ppmathis.ch", true }, + { "ppmathis.com", true }, { "ppmoon.com", true }, + { "ppro.com", true }, { "pptavmdata.org", true }, { "ppy.la", true }, { "ppy.sh", true }, @@ -23497,6 +23856,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pr2studio.com", true }, { "prac.to", true }, { "pracowniatkanin.com", true }, + { "practiceflow.nl", true }, { "practicepanther.com", true }, { "practo.com", true }, { "prado.it", true }, @@ -23623,6 +23983,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "prior-it.be", true }, { "priorite-education.com", true }, { "priorityelectric.net", true }, + { "priorityessays.com", true }, { "prioritynissannewportnewsparts.com", true }, { "pristal.eu", true }, { "pristineevents.co.uk", true }, @@ -23655,7 +24016,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "privatestatic.com", false }, { "privatewolke.com", true }, { "privatfrei.de", true }, + { "privatstunden.express", true }, { "privea.fr", true }, + { "priverify.com", true }, { "privu.me", true }, { "prjktruby.com", false }, { "prknje.com", true }, @@ -23679,6 +24042,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "procert.ch", true }, { "processesinmotion.com", true }, { "procharter.com", true }, + { "procinorte.net", true }, { "proclib.org", true }, { "procrastinationland.com", true }, { "proctorio.com", true }, @@ -23717,6 +24081,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "proggersession.de", true }, { "progiscad.com", true }, { "progolfjourney.com", true }, + { "programlama.tk", true }, { "programsupport300procent.com", true }, { "progreso.pl", true }, { "progress-linux.org", true }, @@ -23739,14 +24104,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "projectnom.com", true }, { "projectsecretidentity.com", true }, { "projectsecretidentity.org", true }, + { "projectunity.io", true }, + { "projektarbeit-projektplanung.de", true }, { "projektzentrisch.de", true }, { "projest.ch", true }, - { "prok.pw", true }, { "promedicalapplications.com", true }, { "prometheanfire.net", true }, { "prometheanfire.org", true }, { "promisesaplus.com", true }, - { "promocao.email", true }, { "promods.net", true }, { "promohunt.ru", true }, { "promolover.com", true }, @@ -23770,9 +24135,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "propertygroup.pl", true }, { "propertyone.mk", true }, { "propipesystem.com", true }, - { "proplan.co.il", true }, { "proposalonline.com", true }, { "propr.no", true }, + { "proprietairesmaisons.fr", true }, { "propseller.com", true }, { "proseandleprechauns.com", true }, { "prosenseit.com", true }, @@ -23794,7 +24159,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "proteus-tech.com", true }, { "proto-online.ru", true }, { "protocol.ai", true }, - { "protonmail.ch", true }, { "protonmail.com", true }, { "protonvpn.com", true }, { "prototypefund.de", true }, @@ -23826,7 +24190,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "proymaganadera.com", true }, { "prpferrara.it", true }, { "prplz.io", true }, - { "prstatic.com", true }, { "prt.in.th", true }, { "prtimes.com", true }, { "prtpe.com", true }, @@ -23837,8 +24200,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "przemas.pl", true }, { "ps-provider.co.jp", true }, { "ps-qa.com", true }, - { "ps-w.ru", true }, - { "ps-x.ru", true }, { "ps4all.nl", true }, { "psa.gov", true }, { "psb.cloud", true }, @@ -23879,9 +24240,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "psychoactive.com", true }, { "psychotherapie-kp.de", true }, { "psydix.org", true }, - { "psylab.cc", true }, - { "psylab.re", true }, - { "psylab.vip", true }, { "psynapse.net.au", true }, { "pt-server.de", true }, { "ptal.eu", true }, @@ -23986,21 +24344,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pwfrance.com", true }, { "pwi.agency", true }, { "pwnies.dk", true }, - { "pwntr.com", true }, { "pwolk.com", true }, + { "pxio.de", true }, { "pxx.io", true }, { "py-amf.org", true }, { "py.search.yahoo.com", false }, + { "pycrc.org", true }, { "pycrypto.org", true }, { "pycycle.info", true }, { "pygarage.com", true }, - { "pyjiaoyi.cf", true }, { "pyopenssl.org", true }, { "pypa.io", true }, { "pypi.io", true }, { "pypi.org", true }, { "pypi.python.org", true }, { "pyrotechnologie.de", true }, + { "pysays.net", true }, { "pyspace.org", true }, { "python-hyper.org", true }, { "python.org", false }, @@ -24019,18 +24378,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qapital.com", true }, { "qbeing.info", true }, { "qbiju.com.br", true }, + { "qbin.io", false }, { "qbus.pl", true }, { "qc.immo", true }, { "qc.search.yahoo.com", false }, - { "qccareerschool.com", false }, + { "qccareerschool.com", true }, { "qcdesignschool.com", true }, - { "qceventplanning.com", false }, + { "qceventplanning.com", true }, { "qcloud.cz", true }, { "qclt.com", true }, { "qcmakeupacademy.com", true }, - { "qcstudentcenter.com", false }, - { "qcstyleacademy.com", false }, - { "qctravelschool.com", false }, + { "qcstudentcenter.com", true }, + { "qcstyleacademy.com", true }, + { "qctravelschool.com", true }, { "qe2homelottery.com", true }, { "qedcon.org", false }, { "qelectrotech.org", true }, @@ -24042,9 +24402,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qianalysis.com", true }, { "qifu.me", true }, { "qifu.org.cn", true }, - { "qimiao.io", true }, + { "qiliang.wang", true }, { "qingpat.com", true }, - { "qingpei.me", false }, + { "qingpei.me", true }, { "qionouu.cn", true }, { "qitarabutrans.com", true }, { "qits.de", false }, @@ -24055,7 +24415,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qkmortgage.com", true }, { "qldconservation.org.au", true }, { "qldformulaford.org", true }, - { "qledtech.com", true }, { "qlrace.com", false }, { "qm-marzahnnordwest.de", true }, { "qochealth.com", true }, @@ -24084,10 +24443,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "quality-life.gr", true }, { "qualityedgarsolutions.com", true }, { "qualityhomesystems.com", true }, - { "qualityofcourse.com", false }, + { "qualityofcourse.com", true }, { "qualitypropertycare.co.uk", true }, { "qualtrics.com", true }, { "quanterra.ch", true }, + { "quantolytic.de", true }, { "quantor.dk", true }, { "quantoras.com", true }, { "quantum-lviv.pp.ua", true }, @@ -24124,12 +24484,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "query-massage.com", true }, { "question.com", true }, { "questionable.host", true }, + { "questionyu.com", true }, { "questsocial.it", true }, { "quevisiongrafica.com", true }, { "quic.fr", true }, { "quickboysvrouwen2.nl", true }, { "quietapple.org", true }, - { "quietus.gq", true }, { "quikchange.net", true }, { "quikpay.com.au", true }, { "quikrmovies.to", true }, @@ -24181,13 +24541,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rabbitvcactus.eu", true }, { "rabotaescort.com", true }, { "rabynska.eu", true }, - { "racasdecachorro.org", true }, { "raccoltarifiuti.com", true }, { "racermaster.xyz", true }, { "raceviewcycles.com", true }, { "raceviewequestrian.com", true }, { "rachaelrussell.com", true }, { "rachelchen.me", true }, + { "racheldiensthuette.de", true }, { "rachelreagan.com", true }, { "rachelsbouncycastles.co.uk", true }, { "rachida-dati.eu", true }, @@ -24200,7 +24560,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rad-route.de", true }, { "radar.sx", true }, { "radaravia.ru", true }, - { "radartatska.se", true }, { "radartek.com", true }, { "radcube.hu", true }, { "raddavarden.nu", true }, @@ -24294,7 +24653,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "randomquotesapp.com", true }, { "randy.su", true }, { "rangde.org", true }, - { "rangsmo.se", true }, { "rank-net.de", true }, { "ranking-deli.jp", true }, { "ranson.com.au", true }, @@ -24321,6 +24679,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rascals-castles.co.uk", true }, { "rascalscastles.co.uk", true }, { "rascalscastlesdoncaster.co.uk", true }, + { "rasebo.ro", true }, { "raspass.me", true }, { "raspberry.us", true }, { "raspberryultradrops.com", true }, @@ -24342,7 +24701,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rautelow.de", true }, { "rautermods.net", true }, { "ravchat.com", true }, - { "raven.dog", true }, + { "raven.dog", false }, { "ravenger.net", true }, { "ravensbuch.de", true }, { "ravhaaglanden.org", true }, @@ -24379,24 +24738,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rc7.ch", true }, { "rca.fr", true }, { "rcdocuments.com", true }, - { "rchrdsn.uk", true }, { "rclsm.net", true }, { "rcmlinx.com", true }, { "rcmurphy.com", true }, { "rcnitrotalk.com", true }, { "rcraigmurphy.com", true }, { "rct.sk", true }, - { "rcx.io", true }, { "rdfproject.it", true }, { "rdh.asia", true }, { "rdl.at", false }, { "rdns.cc", true }, { "re-curi.com", true }, + { "reachhead.com", true }, { "reachrss.com", true }, { "reaconverter.com", true }, { "react-db.com", true }, { "reactivarte.es", true }, { "reactive-press.com", true }, + { "reactor92.com", true }, { "read.sc", true }, { "reades.co.uk", true }, { "readheadcopywriting.com", true }, @@ -24422,8 +24781,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "realhost.name", true }, { "realitea.co.uk", true }, { "reality.news", true }, + { "reality0ne.com", false }, { "realitycrazy.com", true }, { "reallifeforums.com", true }, + { "realloc.me", true }, { "really-simple-ssl.com", true }, { "really.ai", true }, { "really.io", true }, @@ -24464,6 +24825,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rechtsanwalt-koeppen-feucht.de", true }, { "rechtschreibpruefung24.de", true }, { "recipex.ru", true }, + { "recipeyak.com", true }, { "reclamebureau-ultrax.nl", true }, { "reclametoolz.nl", true }, { "reclusiam.net", true }, @@ -24487,7 +24849,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "recyclingpromotions.us", true }, { "red-t-shirt.ru", true }, { "red-trigger.net", true }, - { "red2fred2.com", true }, { "redable.hosting", true }, { "redactieco.nl", true }, { "redb.cz", true }, @@ -24514,9 +24875,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "reddit2kindle.com", true }, { "reddraggone9.com", true }, { "rede-reim.de", true }, - { "redeemingbeautyminerals.com", true }, + { "redelectrical.co.uk", true }, { "redessantaluzia.com.br", true }, { "redgatesoftware.co.uk", true }, + { "redhandedsecurity.com.au", true }, { "redheeler.com.br", true }, { "redigest.it", true }, { "redir.me", true }, @@ -24547,7 +24909,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "reed-sensor.com", true }, { "reedloden.com", true }, { "reepay.com", true }, - { "reeson.de", true }, { "reevoo.com", true }, { "reezer.org", true }, { "ref1oct.nl", true }, @@ -24575,6 +24936,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "regionalcoalition.org", true }, { "regiosalland.nl", true }, { "regiovertrieb.de", false }, + { "regis.tech", true }, { "regisearch.co.uk", true }, { "register.gov.uk", true }, { "registerforevent.co.uk", true }, @@ -24590,6 +24952,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "regulations.gov", true }, { "reha-honpo.jp", true }, { "rehabili-shigoto.com", true }, + { "rehabilitation.network", true }, { "rehabphilippines.com", true }, { "rehabthailand.com", true }, { "rehabthailand.org", true }, @@ -24601,6 +24964,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "reiki-coaching.nl", false }, { "reilly.io", true }, { "reimaginebelonging.de", true }, + { "reimann.me", true }, { "reimers.de", true }, { "reimu.ink", false }, { "rein.kr", true }, @@ -24612,7 +24976,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "reinfer.io", true }, { "reinhard.codes", true }, { "reinhardtsgrimma.de", true }, - { "reinierjonker.nl", true }, { "reinoldus.ddns.net", true }, { "reinout.nu", true }, { "reinouthoornweg.nl", true }, @@ -24621,6 +24984,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "reisenbauer.ee", true }, { "reishunger.de", true }, { "rejahrehim.com", true }, + { "rejsehuskelisten.dk", true }, { "rejushiiplotter.ru", true }, { "rekorsanat.com.tr", true }, { "relates.link", true }, @@ -24635,17 +24999,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "reliancebank.bank", true }, { "reliant3sixty.com", true }, { "religiousforums.com", true }, - { "relsak.cz", true }, { "relvan.com", true }, { "rem0te.net", true }, + { "remain.london", true }, { "remambo.jp", true }, { "remedi.tokyo", true }, { "remedioparaherpes.com", true }, + { "remedios-caserospara.com", true }, { "remedioscaserosparalacistitis.com", true }, { "remedyrehab.com", true }, { "remejeanne.com", true }, { "rememberthemilk.com", false }, { "remi-saurel.com", true }, + { "remissan.com", true }, { "remodelwithlegacy.com", true }, { "remonti.info", true }, { "remote.so", true }, @@ -24675,13 +25041,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rentasweb.gob.ar", true }, { "rentinsingapore.com.sg", true }, { "rentourhomeinprovence.com", true }, + { "renuo.ch", true }, { "reorz.com", true }, { "reox.at", false }, { "repaik.com", true }, { "repair.by", true }, { "repaper.org", true }, { "repaxan.com", true }, - { "repex.co.il", true }, { "replaceits.me", true }, { "replicagunsswords.com", false }, { "replicaswiss.nl", true }, @@ -24714,11 +25080,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "reseausyndic.ca", true }, { "reservar-un-hotel.com", true }, { "reservetonshift.com", true }, + { "reservoirtp.fr", true }, { "resfriatech.com.br", true }, { "residence-simoncelli.com", true }, { "resist.ca", true }, { "resolvefa.co.uk", true }, { "resolvefa.com", true }, + { "resolving.com", true }, { "resoplus.ch", true }, { "resortohshima.com", true }, { "resourceconnect.com", true }, @@ -24732,15 +25100,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "responsibledisclosure.nl", false }, { "respostas.com.br", true }, { "ressl.ch", true }, - { "restaurant-mangal.ch", true }, { "restaurant-oregano.de", true }, { "restaurant-rosengarten.at", true }, { "restaurantesimonetti.com.br", true }, - { "restaurantmangal.ch", true }, { "restauranttester.at", true }, { "rester-a-domicile.ch", true }, { "rester-autonome-chez-soi.ch", true }, { "restioson.me", true }, + { "restopro.nyc", true }, { "restoran-radovce.me", true }, { "restoreresearchstudy.com", true }, { "restoruns.com", true }, @@ -24748,7 +25115,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "restrealitaet.de", false }, { "restrito.org", true }, { "resursedigitale.ro", true }, + { "retcor.net", true }, + { "retefarmaciecostadamalfi.it", true }, { "retetenoi.net", true }, + { "retireyourpassword.org", true }, { "reto.ch", true }, { "reto.com", true }, { "reto.io", true }, @@ -24783,8 +25153,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "reversesouthafrica.com", true }, { "review.jp", true }, { "reviewninja.net", true }, + { "reviews.anime.my", false }, + { "revision.co.zw", true }, { "revisionnotes.xyz", true }, - { "revistapequenosolhares.com.br", true }, { "revivalinhisword.com", true }, { "revivingtheredeemed.org", true }, { "revlect.com", true }, @@ -24803,6 +25174,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rezun.cloud", true }, { "rf.tn", true }, { "rfeif.org", true }, + { "rga.sh", true }, { "rgavmf.ru", true }, { "rgbinnovation.com", true }, { "rgcomportement.fr", true }, @@ -24836,7 +25208,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "riceadvice.info", true }, { "richamorindonesia.com", true }, { "richardcrosby.co.uk", true }, - { "richardhering.de", true }, { "richardjgreen.net", true }, { "richardlangworth.com", true }, { "richardlugten.nl", true }, @@ -24854,8 +25225,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ricknox.com", true }, { "rickrongen.nl", true }, { "rickscastles.co.uk", true }, + { "rickvanderzwet.nl", true }, { "rickweijers.nl", true }, - { "ricky.capital", true }, + { "ricky.capital", false }, { "rickyromero.com", true }, { "rico-brase.de", false }, { "rico.ovh", true }, @@ -24880,7 +25252,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "righini.ch", true }, { "rightbrain.training", true }, { "rightcapital.com", true }, - { "righteousendeavour.com", true }, { "rightstuff.link", true }, { "righttobuy.gov.uk", true }, { "rijk-catering.nl", false }, @@ -24900,6 +25271,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rip-sport.cz", true }, { "ripmixmake.org", true }, { "ripple.com", true }, + { "ris.fi", true }, { "risada.nl", true }, { "risaphuketproperty.com", true }, { "riscascape.net", true }, @@ -24928,7 +25300,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "riverford.co.uk", true }, { "rivermist.com.au", true }, { "riversideradio.nl", true }, - { "riverstyxgame.com", true }, + { "riverweb.gr", true }, { "rivierasaints.ch", true }, { "rivus.net", true }, { "rivy.org", true }, @@ -24947,7 +25319,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rleh.de", true }, { "rlnunez.com", true }, { "rlove.org", true }, - { "rlsnet.ru", false }, { "rm-it.de", true }, { "rmb.li", true }, { "rmcbs.de", true }, @@ -24984,6 +25355,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "robertlysik.com", true }, { "robertnemec.com", true }, { "roberto-webhosting.nl", true }, + { "robertocasares.no-ip.biz", true }, { "robertoentringer.com", true }, { "robertof.ovh", true }, { "robertreiser.photography", true }, @@ -25045,7 +25417,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rodolfo.gs", true }, { "rodomonte.org", true }, { "rodrigocarvalho.blog.br", true }, - { "rodzina-kupiec.eu.org", true }, + { "rody-design.com", true }, { "roeckx.be", true }, { "roeitijd.nl", true }, { "roelbazuin.com", true }, @@ -25088,6 +25460,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rokudenashi.de", true }, { "roland.io", true }, { "rolandkolodziej.com", true }, + { "rolandreed.cn", true }, { "roleplayhome.com", true }, { "roligprylar.se", true }, { "rollercoasteritalia.it", true }, @@ -25102,6 +25475,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "romantelychko.com", true }, { "romantic-quotes.co.uk", true }, { "romanticschemer.com", true }, + { "romanticschemermovie.com", true }, { "romarin.es", true }, { "rome.dating", true }, { "rommelwood.de", true }, @@ -25109,8 +25483,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rondouin.fr", true }, { "roninf.ch", true }, { "ronomon.com", true }, - { "roo.ie", true }, - { "roof.ai", true }, + { "roodfruit.studio", true }, { "roofingomaha.com", true }, { "roofsandbasements.com", true }, { "rook-playz.net", true }, @@ -25150,7 +25523,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rose-prism.org", true }, { "rosehosting.reviews", true }, { "roseitsolutions.co.uk", true }, - { "roseitsolutions.uk", true }, { "roseliere.ch", true }, { "roseliere.com", true }, { "roseluna.com", true }, @@ -25174,7 +25546,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rostov-avia.ru", true }, { "rot47.net", true }, { "rotek.at", true }, - { "roten.email", true }, { "rothkranz.net", true }, { "rothnater.ch", true }, { "rotol.me", true }, @@ -25182,6 +25553,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rotunneling.net", true }, { "rotzonline.com", true }, { "rougechocolat.fr", true }, + { "roughcopy.com.au", true }, { "roughgrain.com", true }, { "roulinfo.ch", true }, { "roulons-autrement.com", true }, @@ -25199,7 +25571,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rows.io", true }, { "roxiesbouncycastlehire.co.uk", true }, { "roxtri.cz", true }, - { "royal-mangal.ch", true }, { "royal-rangers.de", true }, { "royalacademy.org.uk", true }, { "royalbluewa3.cc", true }, @@ -25217,6 +25588,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rpherbig.com", true }, { "rphl.net", true }, { "rpine.net", true }, + { "rpmdrivingschool.com.au", true }, { "rpy.xyz", true }, { "rq-labo.jp", true }, { "rr105.de", true }, @@ -25229,6 +25601,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rrudnik.com", true }, { "rrwolfe.com", true }, { "rsap.ca", true }, + { "rsauget.fr", true }, { "rsgcard.com", true }, { "rsi.im", false }, { "rsingermd.com", true }, @@ -25262,8 +25635,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rtho.me", true }, { "rtrinflatables.co.uk", true }, { "rtsr.ch", true }, - { "rtvi.com", true }, { "rtwcourse.com", true }, + { "rtzoeller.com", true }, { "ru-sprachstudio.ch", true }, { "ru.search.yahoo.com", false }, { "ruaneattorneys.com", true }, @@ -25292,6 +25665,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rudolph.life", true }, { "rudolphmarketing.com", true }, { "rudrastyh.com", true }, + { "ruediger-voigt.eu", true }, { "ruedirrenggli.ch", true }, { "rueg.eu", true }, { "ruerte.net", true }, @@ -25321,6 +25695,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "run-forrest.run", true }, { "runagain.ch", true }, { "runebet.com", true }, + { "runementors.com", false }, { "runklesecurity.com", true }, { "runnergrapher.com", true }, { "runreport.fr", true }, @@ -25383,6 +25758,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ryejuice.sytes.net", true }, { "rylore.com", true }, { "rynekpierwotny.pl", true }, + { "ryois.me", true }, { "rythgs.co", false }, { "ryu22e.org", true }, { "ryuu.es", true }, @@ -25401,7 +25777,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "s007.co", true }, { "s10y.eu", true }, { "s13d.fr", true }, - { "s16e.no", true }, + { "s1mplescripts.de", true }, { "s2member.com", true }, { "s3cases.com", true }, { "s3cur3.it", true }, @@ -25426,7 +25802,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sabineforschbach.de", true }, { "sabrinajoias.com.br", true }, { "sabrinajoiasprontaentrega.com.br", true }, - { "sabtunes.com", true }, { "sacaentradas.com", true }, { "saccani.net", true }, { "sackers.com", true }, @@ -25437,19 +25812,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sadbox.es", true }, { "sadbox.org", true }, { "sadhawkict.org", true }, + { "sadiejanehair.com", true }, { "sadmansh.com", true }, { "sadsu.com", true }, { "saengsook.com", true }, { "saengsuk.com", true }, { "safar.sk", true }, { "safcstore.com", true }, - { "safe.moe", true }, { "safe.space", true }, { "safebasements.com", true }, { "safebasementsnorthdakota.com", true }, { "safebuyerscheme.co.uk", true }, { "safecar.gov", false }, - { "safeex.com", true }, { "safegold.ca", true }, { "safegroup.pl", true }, { "safeinfra.nl", true }, @@ -25467,9 +25841,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sagedocumentmanager.com", true }, { "sagemontchurch.org", true }, { "sagerus.com", true }, + { "sagracefarms.com", true }, { "sagsmarseille.com", true }, { "sahajbooks.com", true }, { "sahar.io", true }, + { "saharmassachi.com", true }, { "sahb.dk", true }, { "sahkotyot.eu", true }, { "said.id", true }, @@ -25495,6 +25871,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "saiyasu-search.com", true }, { "sajamstudija.info", true }, { "sajdowski.de", true }, + { "sakaki.anime.my", false }, { "sakostacloud.de", true }, { "sakuraflores.com.br", true }, { "salaervergleich.com", true }, @@ -25556,11 +25933,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "samizdat.cz", true }, { "samkelleher.com", true }, { "saml-gateway.org", true }, - { "samm.com.au", true }, + { "samm.com.au", false }, { "sammyjohnson.com", false }, { "sammyservers.com", true }, { "samp.im", true }, - { "samsungmobile.it", true }, { "samsungphonegenerator.xyz", true }, { "samsungxoa.com", true }, { "samuelkeeley.com", true }, @@ -25610,7 +25986,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sanitairwinkel.be", true }, { "sanitairwinkel.com", true }, { "sanitairwinkel.nl", true }, - { "sanmuding.com", true }, { "sanooktiew.com", false }, { "sanpham-balea.org", true }, { "sanradon.by", true }, @@ -25620,7 +25995,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "santenatureetcie.com", true }, { "santevie.ch", true }, { "santmark.com", true }, - { "santmark.eu", true }, { "santmark.fi", true }, { "santmark.info", true }, { "santmark.net", true }, @@ -25642,7 +26016,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sapphireblue.me", true }, { "sapporobeer.com", true }, { "sapprendre.ch", true }, - { "sapuncheta.com", true }, + { "saprima.de", true }, { "saq.com", true }, { "sarahbeckettharpist.com", true }, { "sarahlicity.co.uk", false }, @@ -25680,7 +26054,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "saudeealimentos.com", true }, { "saudeintimadamulher.com.br", true }, { "saudenoclique.com.br", true }, - { "sauenytt.no", true }, { "sauer-systems.net", true }, { "sauerbrey.eu", true }, { "sauerland-schnittgruen.de", true }, @@ -25702,13 +26075,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "savecashindia.com", true }, { "savecrypto.org", true }, { "savekorea.net", true }, - { "savemoneyonenergy.com", true }, { "savenet.org", true }, { "saveora.com", true }, { "saveora.shop", true }, { "savetheinternet.eu", true }, { "savic.com", true }, { "savinggoliath.com", true }, + { "savingrecipe.com", true }, { "savingsbondwizard.gov", true }, { "savingsomegreen.com", true }, { "savingsstoreonline.ca", true }, @@ -25725,10 +26098,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "saz.sh", true }, { "sazuz.cz", true }, { "sb-group.dk", true }, + { "sb-mnn.com", true }, { "sb-tuning.ru", true }, { "sb.im", true }, + { "sb.sb", true }, { "sb0.io", true }, { "sbanken.no", true }, + { "sber.us", true }, { "sberbank.ch", true }, { "sbf888.com", true }, { "sbiewald.de", true }, @@ -25744,7 +26120,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sbytes.info", true }, { "sc5.jp", true }, { "scalaire.com", true }, - { "scalaire.fr", true }, { "scalesbiolab.com", true }, { "scaling.solutions", true }, { "scallywagsbouncycastles.co.uk", true }, @@ -25759,7 +26134,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scatsbouncingcastles.ie", true }, { "scelec.com.au", true }, { "scenastu.pl", true }, - { "scenester.tv", false }, + { "scenester.tv", true }, { "scenicbyways.info", true }, { "scepticism.com", true }, { "sceptique.eu", true }, @@ -25829,6 +26204,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schopenhauer-institut.de", true }, { "schorel.ovh", true }, { "schorelweb.nl", true }, + { "schorers.org", true }, { "schraebanowicz.net", true }, { "schrauger.com", true }, { "schrauger.info", true }, @@ -25862,12 +26238,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schumanandmonnet.eu", true }, { "schummar.de", true }, { "schunako.ch", true }, + { "schuppentier.org", true }, { "schurkenstaat.net", true }, { "schutz-vor-schmutz.de", true }, { "schutznetze24.de", true }, { "schutzwerk.com", true }, { "schwabenhaus-ka.de", true }, { "schwanke.in", true }, + { "schwarzegar.de", true }, { "schwarzer.it", true }, { "schwarzes-muenchen.de", true }, { "schwarzhenri.ch", true }, @@ -25881,12 +26259,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schwinnbike.ru", true }, { "schwuppengrillen.de", true }, { "sci-internet.tk", true }, - { "scib.tk", true }, { "scicomm.xyz", true }, { "science-network.ch", true }, { "science-questions.org", true }, { "science-texts.de", true }, { "science360.gov", true }, + { "scienceexploits.com", true }, { "scienceminnesota.com", true }, { "sciencesolutions.eu", true }, { "sciencex.com", true }, @@ -25897,11 +26275,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scionasset.com", true }, { "scis.com.ua", true }, { "scistarter.com", true }, + { "scitopia.net", true }, { "sckc.stream", true }, { "scoolcode.com", true }, + { "scoop6.co.uk", true }, { "scooterservis.com", true }, { "scootfleet.com", true }, - { "scopea.fr", false }, { "scorobudem.ru", true }, { "scorocode.ru", true }, { "scorp13.com", true }, @@ -25969,9 +26348,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seafood.co.nz", true }, { "seaholmwines.com", true }, { "sealbaker.com", true }, + { "sealoffantasy.de", true }, { "sealtitebasement.com", true }, { "seamless.no", true }, { "sean-wright.com", true }, + { "seanationals.org", true }, { "seanholcroft.co.uk", true }, { "seanstrout.com", true }, { "seansyardservice.com", true }, @@ -25994,6 +26375,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "searchbrothers.uk", true }, { "searchdatalogy.com", true }, { "seareytraining.com", true }, + { "searx.pw", true }, + { "searx.xyz", true }, { "season.moe", true }, { "seasons.nu", false }, { "seatbeltpledge.com", true }, @@ -26014,7 +26397,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sebastianboegl.de", true }, { "sebastiaperis.com", true }, { "sebasveeke.nl", true }, - { "sebi.cf", true }, { "sebi.org", true }, { "sec-mails.de", true }, { "sec-research.com", true }, @@ -26099,15 +26481,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "securitysnobs.com", false }, { "securitystrata.com", true }, { "securitystreak.com", true }, - { "securitytalk.pl", true }, { "securitywatch.co.nz", true }, { "securitywithnick.com", true }, + { "securitywithoutborders.org", true }, { "securocloud.com", true }, { "secutrans.com", true }, { "secuvera.de", false }, { "secwall.me", true }, { "secwise.nl", true }, { "sedeusquiser.net", true }, + { "sedmicka.sk", true }, { "sedussa.ro", true }, { "seeclop.ch", true }, { "seedalpha.com", true }, @@ -26133,6 +26516,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "segurosocial.gov", true }, { "seguroviagem.srv.br", true }, { "sehnenweh.org", true }, + { "seibert.ninja", true }, { "seida.at", true }, { "seifried.org", true }, { "seikatu-navi.com", true }, @@ -26140,6 +26524,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seinfeldquote.com", true }, { "seirei.ne.jp", true }, { "seiryokuzai-ch.com", true }, + { "seitai-nabejun.jp", true }, { "seitai-taiyou.com", true }, { "seitenwaelzer.de", true }, { "sekisonn.com", true }, @@ -26150,7 +26535,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "selectel.ru", true }, { "selectorders.com", true }, { "selegiline.com", true }, - { "selent.me", true }, { "self-evident.org", true }, { "self-signed.com", true }, { "self-xss.info", true }, @@ -26170,7 +26554,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seltendoof.de", true }, { "semacode.com", true }, { "semaflex.it", true }, - { "semaphore-studios.com", true }, { "sementes.gratis", true }, { "semianalog.com", true }, { "seminariruum.ee", true }, @@ -26180,6 +26563,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "semox.de", true }, { "semps-2fa.de", true }, { "semps-threema.de", true }, + { "semps.de", true }, { "semyonov.su", true }, { "semyonov.us", true }, { "senarius.de", true }, @@ -26211,7 +26595,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seo-analyse.com", true }, { "seo-lagniappe.com", true }, { "seo-linz.at", true }, - { "seo-nerd.de", true }, { "seo-portal.de", true }, { "seo.consulting", true }, { "seo.london", true }, @@ -26227,6 +26610,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seoium.com", true }, { "seokay.com", true }, { "seolib.org", true }, + { "seomarketingdeals.com", true }, { "seomen.biz", true }, { "seon.me", true }, { "seoprovider.nl", true }, @@ -26238,8 +26622,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seouniversity.org", true }, { "sepalandseed.com", true }, { "sephr.com", true }, - { "sepie.gob.es", true }, { "seppelec.com", true }, + { "seproco.com", true }, { "septakkordeon.de", true }, { "septfinance.ch", true }, { "septillion.cn", true }, @@ -26269,16 +26653,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "serve-a.com.au", true }, { "servea.com.au", true }, { "serveatechnologies.com", true }, - { "servecrypt.com", true }, - { "servecrypt.net", true }, - { "servecrypt.ru", true }, { "servemnaction.org", true }, { "servepublic.com", true }, { "servepublic.org", true }, { "server-bg.net", true }, { "server-daten.de", true }, { "server-datenrettung.de", true }, - { "server-essentials.com", true }, + { "server-essentials.com", false }, { "server-eye.com", true }, { "server-eye.de", true }, { "server.pk", true }, @@ -26302,10 +26683,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "serviettenhaus.de", true }, { "servingbaby.com", true }, { "servious.org", true }, + { "serviziourgente.it", true }, { "servpanel.de", false }, { "serw.org", true }, { "seryox.com", true }, { "sesslerimmo.ch", true }, + { "sestra.in", true }, { "setenforce.one", true }, { "setfix.de", true }, { "sethcaplan.com", true }, @@ -26340,7 +26723,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sexpay.net", true }, { "sexplicit.co.uk", true }, { "sexservice.io", true }, - { "sexshopfacil.com.br", true }, { "sexshopnet.com.br", true }, { "sexshopsgay.com", true }, { "sexwork.net", true }, @@ -26365,13 +26747,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sgroup-rec.com", true }, { "sgtcodfish.com", true }, { "sgthotshot.com", true }, - { "sgtsnookums.net", true }, { "sgtt.ch", true }, { "sh-heppelmann.de", true }, { "sh-network.de", false }, { "sh0rt.in", true }, { "sh0shin.org", true }, - { "sh4y.com", true }, { "shaaaaaaaaaaaaa.com", true }, { "shad.waw.pl", true }, { "shadesofgrayadr.com", true }, @@ -26389,7 +26769,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shadowsocks.fr", true }, { "shadowsocks.la", true }, { "shadowsocks.software", true }, + { "shadowsocks.to", true }, { "shadowsworldonline.co.uk", true }, + { "shafou.com", true }, { "shag-shag.ru", true }, { "shaharyaranjum.com", true }, { "shaicoleman.com", true }, @@ -26398,30 +26780,32 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shaken-kyoto.jp", true }, { "shaken110.com", true }, { "shakepeers.org", false }, + { "shakerwebdesign.net", true }, { "shakes4u.com", true }, { "shakespearesolutions.com.au", false }, { "shakespearevet.com", true }, { "shalott.org", true }, { "shamara.info", true }, { "shamariki.ru", true }, - { "shamka.ru", true }, { "shan.io", false }, { "shan.si", true }, { "shanae.nl", true }, { "shanahanstrategy.com", true }, + { "shanekoster.net", true }, { "shanetully.com", true }, { "shanewadleigh.com", true }, + { "shankangke.com", true }, { "shannoneichorn.com", true }, { "shansing.cn", true }, { "shansing.com", true }, { "shansing.net", true }, { "shansing.space", true }, + { "shaobin.wang", true }, { "sharanyamunsi.net", true }, { "sharedhost.de", true }, { "sharelovenotsecrets.com", true }, { "sharemessage.net", true }, { "shareoffice.ch", true }, - { "shareoine.com", true }, { "sharepointdrive.com", true }, { "sharescope.co.uk", false }, { "shareselecttools.com", true }, @@ -26435,7 +26819,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sharperedge.pw", true }, { "sharperedgecomputers.com", true }, { "sharu.me", true }, - { "sharvey.ca", true }, { "shasso.com", true }, { "shaun.net", true }, { "shaunandamyswedding.com", true }, @@ -26469,7 +26852,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shenghaiautoparts.com", true }, { "shenghaiautoparts.net", true }, { "shengrenyu.com", true }, - { "shentengtu.idv.tw", true }, { "shenyuqi.com", false }, { "sherbers.de", true }, { "shethbox.com", true }, @@ -26477,7 +26859,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shft.cl", true }, { "shgt.jp", true }, { "shh-listen.com", true }, - { "shh.sh", true }, { "shiawasedo.co.jp", true }, { "shibainu.com.br", true }, { "shichibukai.net", true }, @@ -26507,13 +26888,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shipard.com", true }, { "shipard.cz", true }, { "shipcloud.io", true }, + { "shippingbo.com", true }, { "shiroki-k.net", true }, { "shirt2go.shop", true }, { "shirtsofholland.com", true }, { "shiseki.top", true }, { "shishamania.de", true }, - { "shishkin.link", true }, - { "shishkin.us", true }, { "shishlik.net", true }, { "shitagi-shop.com", true }, { "shitbeast.institute", true }, @@ -26542,7 +26922,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shopcoupons.my", true }, { "shopcoupons.ph", true }, { "shopcoupons.sg", true }, - { "shopdopastor.com.br", true }, { "shopifycloud.com", true }, { "shopkini.com", true }, { "shoplandia.co", true }, @@ -26556,7 +26935,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shortdiary.me", true }, { "shorten.ninja", true }, { "shortpath.com", true }, - { "shortr.li", true }, { "shoshin-aikido.de", true }, { "shota.vip", true }, { "shotbow.net", true }, @@ -26569,7 +26947,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shower.im", true }, { "showmax.com", true }, { "showmethemoney.ru", true }, - { "showroom.de", true }, { "showsonar.com", true }, { "shoxmusic.net", true }, { "shrike.me", false }, @@ -26591,6 +26968,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "si.to", true }, { "siamojo.com", true }, { "siamsnus.com", true }, + { "sianbryn.co.uk", true }, { "siao-mei.com", true }, { "sibfk.org", true }, { "sibiutourguide.com", true }, @@ -26627,6 +27005,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sigma-signalisation.com", true }, { "sigmalux.sarl", true }, { "sign.io", true }, + { "signalmaps.co.uk", true }, { "signaltransmitter.de", true }, { "signere.com", true }, { "signere.no", true }, @@ -26634,15 +27013,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "significados.com.br", true }, { "significantbanter.com", true }, { "signing-milter.org", true }, + { "signix.net", true }, { "signslabelstapesandmore.com", false }, { "signtul.com", false }, + { "sigsegv.run", true }, { "sigterm.sh", true }, - { "siikarantacamping.fi", true }, { "siirtutkusu.com", true }, { "sikevux.se", true }, + { "sikko.biz", true }, { "siku-shop.ch", true }, { "silashes.com", true }, { "silashes.ru", true }, + { "silaslova-ekb.ru", true }, { "silentexplosion.de", true }, { "silentkernel.fr", false }, { "silentmode.com", true }, @@ -26738,11 +27120,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "silverseen.com", true }, { "silverstartup.sk", true }, { "silverwind.io", true }, - { "silviamacallister.com", true }, { "silvine.xyz", true }, { "sim-karten.net", true }, { "sim-minaoshi.jp", true }, { "sim-sim.appspot.com", true }, + { "sim4seed.org", true }, { "simam.de", true }, { "simbeton.nl", true }, { "simbol.id", true }, @@ -26769,11 +27151,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "simonlyabonnement.nl", true }, { "simonpaarlberg.com", true }, { "simonreich.de", true }, - { "simonschmitt.ch", true }, { "simonsmh.cc", true }, { "simonspeich.ch", true }, { "simonsreich.de", true }, - { "simontaite.com", true }, { "simonwessel.net", true }, { "simonwoodside.com", true }, { "simpbx.net", true }, @@ -26815,7 +27195,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sin.swiss", true }, { "sinaryuda.web.id", true }, { "sinatrafamily.com", true }, + { "sinceschool.com", true }, { "sinclairinat0r.com", true }, + { "sinde.ru", true }, { "sinefili.com", true }, { "sinergy.ch", true }, { "sinfield.com", false }, @@ -26833,17 +27215,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sinktank.de", true }, { "sinn.io", true }, { "sinnersprojects.ro", true }, - { "sinnovate.de", true }, + { "sinnovate.de", false }, { "sinomod.com", true }, { "sinonimos.com.br", true }, { "sinonimosonline.com", true }, { "sinonimosonline.com.br", true }, { "sinoscandinavia.se", true }, { "sinquin.eu", true }, - { "sinsojb.me", true }, { "sint-joris.nl", true }, { "sinterama.biz", true }, - { "sintesysglobal.com", true }, { "sinuelovirtual.com.br", true }, { "sion.moe", true }, { "sipsik.net", true }, @@ -26899,6 +27279,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skazka.ru", true }, { "skday.com", true }, { "skedda.com", true }, + { "skedr.io", true }, { "skeeley.com", true }, { "skei.org", true }, { "skepneklaw.com", true }, @@ -26919,6 +27300,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skills2services.com", true }, { "skillseo.com", true }, { "skimming.net", true }, + { "skin-cosmetic.eu", true }, { "skinbet.co", true }, { "skincases.co", true }, { "skincontracts.co", true }, @@ -26932,6 +27314,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skipperinnovations.com", true }, { "skippy.dog", true }, { "skischule-wildewiese.de", true }, + { "skizzen-zeichnungen.de", true }, { "skks.cz", true }, { "sklepsamsung.pl", true }, { "sklotechnik.cz", true }, @@ -26946,18 +27329,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skoleniphp.cz", true }, { "skommettiamo.it", true }, { "skontakt.cz", true }, - { "skontorp-enterprise.no", true }, { "skortekaas.nl", false }, { "skory.us", true }, { "skou.dk", true }, { "skram.de", true }, { "skryptersi.pl", true }, + { "sksdrivingschool.com.au", true }, { "sktan.com", true }, { "sktsolution.com", false }, { "skuldwyrm.no", true }, { "skwile-cafe.com", true }, { "sky-live.fr", true }, { "skyanchor.com", true }, + { "skybloom.io", true }, { "skybound.link", true }, { "skyderby.ru", true }, { "skydragoness.com", true }, @@ -26969,6 +27353,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skyloisirs.ch", true }, { "skyminds.net", true }, { "skynet233.ch", true }, + { "skynethk.com", true }, { "skynetnetwork.eu.org", true }, { "skynetz.tk", true }, { "skype.com", true }, @@ -26979,7 +27364,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skysuite.nl", true }, { "skyzimba.com.br", true }, { "sl0.us", true }, - { "sl1pkn07.wtf", true }, { "slack-files.com", true }, { "slack.com", true }, { "sladic.si", false }, @@ -26996,7 +27380,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "slashbits.no", true }, { "slashcrypto.org", true }, { "slatemc.fun", true }, - { "slatop.org", true }, + { "slatop.org", false }, { "slaughter.com", true }, { "slaughterhouse.fr", true }, { "slavasveta.info", true }, @@ -27159,6 +27543,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "snapchat.com", true }, { "snapfinance.com", true }, { "snapserv.ch", true }, + { "snapserv.net", true }, { "snaptools.io", true }, { "snarf.in", true }, { "snatch.com.ua", true }, @@ -27172,7 +27557,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sneakynote.com", true }, { "sneakypaw.com", true }, { "sneberger.cz", false }, - { "sneed.company", true }, { "sneed.it", true }, { "sneedit.com", true }, { "sneedit.de", true }, @@ -27186,6 +27570,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "snerith.com", true }, { "snfdata.com", false }, { "sniderman.eu.org", true }, + { "sniderman.pro", true }, + { "sniderman.us", true }, { "sniderman.xyz", true }, { "sniep.net", true }, { "snight.co", true }, @@ -27218,10 +27604,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "soapitup.com.au", true }, { "sobaya-gohei.com", true }, { "sobelift.com", true }, + { "sobersys.com", true }, { "sobie.ch", true }, { "sobieray.dyndns.org", true }, - { "sobinski.pl", false }, { "sobotkama.eu", true }, + { "soc.net", true }, { "socal-babes.com", true }, { "soccersavings.com", true }, { "soccorso-stradale.org", true }, @@ -27251,7 +27638,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sodafilm.de", true }, { "sodexam.pro", true }, { "sodi.nl", true }, - { "sodiao.cc", true }, { "soe-server.com", true }, { "sofa-rockers.org", true }, { "sofabedshop.de", true }, @@ -27333,7 +27719,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "somaliagenda.com", true }, { "somanao.com", true }, { "somcase.com.br", true }, - { "somebodycares.org", true }, { "somecrazy.com", true }, { "somethingsimilar.com", true }, { "sommefeldt.com", true }, @@ -27345,6 +27730,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sonarqube.com", false }, { "sondergaard.de", true }, { "songsmp3.co", true }, + { "songsmp3.com", true }, + { "songsmp3.info", true }, + { "songsmp3.io", true }, + { "songsmp3.net", true }, { "songsthatsavedyourlife.com", true }, { "songzhuolun.com", true }, { "soniafauville.com", true }, @@ -27356,6 +27745,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "soohealthy.nl", true }, { "soomee.be", true }, { "soomee1.be", true }, + { "soontm.de", true }, { "soopure.nl", true }, { "soph.us", true }, { "sopheos.com", false }, @@ -27365,6 +27755,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sophieandtrey.com", true }, { "soprabalao.com.br", true }, { "sor.so", true }, + { "soraharu.com", true }, { "sorakumo.jp", true }, { "sorcix.com", true }, { "sorellecollection.com.au", true }, @@ -27401,6 +27792,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "soul-source.co.uk", true }, { "soulcrazy.org", true }, { "soulmate.dating", true }, + { "soulmating.de", true }, { "soulogic.com", false }, { "soumikghosh.com", true }, { "soumya92.me", true }, @@ -27411,10 +27803,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "soundgasm.net", true }, { "soundhunter.xyz", false }, { "soundsecurity.io", true }, + { "souqtajmeel.com", true }, { "sour.is", true }, { "souravsaha.com", true }, { "sourcebox.be", true }, - { "sourcecode.love", true }, { "sourcely.net", true }, { "sourceway.de", true }, { "souris.ch", true }, @@ -27477,12 +27869,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "spaysy.com", true }, { "spaziobenedetti.com.br", true }, { "spaziopervoi.com.br", true }, + { "spazturtle.co.uk", true }, { "spazzacamino.roma.it", true }, { "spcx.eu", true }, { "spdepartamentos.com.br", true }, { "spdf.net", true }, + { "speak-polish.com", true }, { "spearfishingmx.com", true }, { "speargames.net", true }, + { "specialistnow.com.au", true }, { "specialtyalloys.ca", true }, { "speciesism.com", true }, { "spectrosoftware.de", true }, @@ -27494,10 +27889,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "speeddate.it", false }, { "speedof.me", true }, { "speedracer.ca", true }, + { "speeds.vip", true }, { "speedsportofhull.co.uk", true }, { "speedtailors.com", true }, { "speedtest-russia.com", true }, { "speedychat.it", true }, + { "speeltoneel.nl", true }, { "speerpunt.info", true }, { "speich.net", true }, { "spek.tech", true }, @@ -27512,9 +27909,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sphereblur.com", true }, { "spherenix.org", true }, { "spicydog.org", true }, - { "spicydog.tk", false }, { "spicymatch.com", true }, { "spidermail.tk", true }, + { "spidernet.tk", true }, { "spideroak.com", true }, { "spiders.org.ua", true }, { "spielezar.ch", true }, @@ -27523,6 +27920,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "spiet.nl", true }, { "spiff.eu", true }, { "spiga.ch", true }, + { "spikeykc.me", true }, { "spillersfamily.net", true }, { "spilogkoder.dk", true }, { "spinalien.net", true }, @@ -27570,6 +27968,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sport-potreby.cz", true }, { "sport-potreby.sk", true }, { "sport-socken.net", true }, + { "sport247.bet", true }, { "sporter.com", true }, { "sportflash.info", true }, { "sportnesia.com", true }, @@ -27588,6 +27987,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "spotrebitelskecentrum.sk", true }, { "spottedpenguin.co.uk", true }, { "spotupload.com", true }, + { "spr.id.au", true }, { "sprachfreudehoch3.de", true }, { "spreadsheets.google.com", true }, { "spreadthenews.eu", true }, @@ -27597,6 +27997,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sprigings.com", true }, { "springerundpartner.de", true }, { "springfieldbricks.com", true }, + { "spritmonitor.de", true }, { "sprock.io", false }, { "sproing.ca", true }, { "spron.in", true }, @@ -27609,6 +28010,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sps-lehrgang.de", true }, { "sptk.org", true }, { "spuffin.com", true }, + { "spufpowered.com", true }, { "spunkt.fr", true }, { "spur.com.br", true }, { "sputnik1net.org", true }, @@ -27652,7 +28054,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "srroddy.com", true }, { "srv.so", true }, { "srvc.io", true }, - { "ss-x.ru", true }, { "ss.com", true }, { "ss.lt", true }, { "ss.lv", true }, @@ -27695,12 +28096,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sslpoint.com", true }, { "ssls.cz", true }, { "sslsurvey.de", true }, - { "sslzilla.de", true }, { "ssmato.me", true }, - { "ssnet.vip", true }, { "ssready.org", true }, { "ssrvpn.tech", true }, - { "sss3s.com", true }, { "sstaging.com", true }, { "sstewartgallus.com", true }, { "ssuiteoffice.com", true }, @@ -27742,6 +28140,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stalker-shop.com", true }, { "stalkr.net", true }, { "stalkthe.net", true }, + { "stall-zur-linde.de", true }, { "stamboommuller.nl", true }, { "stamboomvanderwal.nl", true }, { "stameystreet.com", true }, @@ -27776,10 +28175,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "starlim.org", true }, { "starpeak.org", true }, { "starphotoboothsni.co.uk", true }, - { "starplatinum.jp", true }, - { "starquake.nl", true }, { "starsam80.net", true }, { "starsbattle.net", true }, + { "starskim.cn", true }, { "starstreak.net", true }, { "startaninflatablebusiness.com", true }, { "startlab.sk", true }, @@ -27797,7 +28195,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stassi.ch", true }, { "stastka.ch", true }, { "stat.ink", true }, - { "state-of-body-and-mind.com", true }, { "statecollegemortgages.com", true }, { "static-692b8c32.de", true }, { "static-myfxee-808795.c.cdn77.org", true }, @@ -27839,8 +28236,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "steckel.cc", true }, { "steckregal-super.de", false }, { "stedb.eu", true }, + { "stedbg.net", true }, { "steef389.eu", true }, { "steelephys.com.au", true }, + { "steelrhino.co", true }, { "steemit.com", true }, { "steenackers.be", true }, { "stefan-bayer.eu", true }, @@ -27898,6 +28297,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sterchi-fromages.ch", true }, { "stereo.lu", true }, { "stereochro.me", false }, + { "sterjoski.com", true }, { "stern-freunde.de", true }, { "stern.koeln", true }, { "sternen-sitzberg.ch", true }, @@ -27908,14 +28308,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "steuerberater-essen-steele.com", true }, { "steuerkanzlei-edel.de", true }, { "steuerseminare-graf.de", true }, + { "steuertipps-sonderausgaben.de", true }, { "steve.kiwi", true }, { "steveborba.com", true }, { "stevedesmond.ca", true }, { "stevedoggett.com", true }, { "stevegrav.es", true }, { "stevemonteyne.be", true }, + { "steven-bennett.com", true }, { "stevenberg.net", true }, - { "stevengoodpaster.com", true }, + { "stevenbolgartersnakes.com", true }, { "stevenhumphrey.uk", true }, { "stevenkwan.me", true }, { "stevenroddis.com", true }, @@ -27940,8 +28342,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stickergiant.com", true }, { "stickies.io", true }, { "stickmanventures.com", true }, + { "stickmy.cn", true }, { "stiffordacademy.org.uk", true }, { "stift-kremsmuenster.at", true }, + { "stiger.me", true }, { "stigharder.com", true }, { "stijnbelmans.be", true }, { "stijnodink.nl", true }, @@ -27982,19 +28386,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stolkpotplanten.nl", true }, { "stolkschepen.nl", true }, { "stomadental.com", true }, + { "stomt.com", true }, { "stonedworms.de", true }, { "stonehammerhead.org", true }, { "stonemain.eu", true }, { "stonewuu.com", true }, { "stony.com", true }, { "stonystratford.org", true }, - { "stopakwardhandshakes.org", true }, - { "stopbreakupnow.org", true }, { "stopbullying.gov", true }, { "stopfraud.gov", true }, { "stopthethyroidmadness.com", true }, { "stordbatlag.no", true }, - { "store10.de", false }, { "storedsafe.com", true }, { "storillo.com", true }, { "stormi.io", true }, @@ -28012,6 +28414,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "straatderzotten.nl", true }, { "strahlende-augen.info", true }, { "straka.name", true }, + { "strangelane.com", true }, + { "strangemusicinc.com", true }, { "strangemusicinc.net", true }, { "strangeplace.net", true }, { "strate.io", true }, @@ -28020,13 +28424,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "strategie-zone.de", true }, { "strathewerd.de", true }, { "stratmann-b.de", true }, + { "stratuscloud.co.za", true }, { "straubis.org", true }, { "strauser.com", true }, { "stravers.shoes", true }, { "stream-ing.xyz", true }, { "streamchan.org", true }, { "streamdesk.ca", true }, - { "streamer.tips", true }, { "streamingeverywhere.com", true }, { "streamlineautogroup.com", true }, { "streampanel.net", true }, @@ -28084,6 +28488,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "studer.su", true }, { "studiemeter.nl", true }, { "studienportal.eu", true }, + { "studienservice.de", true }, { "studiereader.nl", true }, { "studio-architetto.com", true }, { "studio-fotografico.ru", true }, @@ -28112,6 +28517,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stuetzredli.ch", true }, { "stuff-fibre.co.nz", true }, { "stuffi.fr", true }, + { "stuffie.org", true }, { "stuka-art.de", true }, { "stulda.cz", false }, { "stumeta.de", true }, @@ -28127,10 +28533,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stuudium.cloud", true }, { "stuudium.com", true }, { "stuudium.life", true }, + { "stuudium.net", true }, { "stuudium.org", true }, { "stuudium.pro", true }, { "stuur.nl", false }, { "stuvel.eu", true }, + { "stuvus.de", true }, + { "stuvus.uni-stuttgart.de", true }, { "stw-group.at", true }, { "stygium.net", false }, { "styleci.io", true }, @@ -28200,6 +28609,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sumthing.com", true }, { "sunboxstore.jp", true }, { "sunbritetv.com", true }, + { "sunchasercats.com", true }, { "sundanceusa.com", true }, { "sundayfundayjapan.com", true }, { "sunfeathers.net", true }, @@ -28212,6 +28622,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sunshinesf.org", true }, { "sunsmartresorts.com", true }, { "sunstar.bg", true }, + { "sunwolf.studio", true }, { "supa.sexy", true }, { "supastuds.com", true }, { "super-demarche.com", true }, @@ -28246,6 +28657,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "supersu.kr", true }, { "superswingtrainer.com", true }, { "supertasker.org", true }, + { "supervisionassist.com", true }, { "supeuro.com", true }, { "supperclub.es", false }, { "supplementler.com", true }, @@ -28321,19 +28733,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "svijet-medija.hr", true }, { "sviz.pro", true }, { "svj-stochovska.cz", true }, - { "svjvn.cz", true }, { "svm-basketball.de", true }, { "svm-it.eu", true }, { "sw-servers.net", true }, { "sw33tp34.com", true }, - { "swacp.com", true }, { "swallsoft.co.uk", true }, { "swallsoft.com", true }, { "swansdoor.org", true }, { "swap.gg", true }, { "swapadoodle.com", true }, { "swarfarm.com", true }, - { "swarlys-server.de", true }, { "swarmation.com", true }, { "swat4stats.com", true }, { "swattransport.ae", true }, @@ -28348,9 +28757,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sweet-orr.com", true }, { "sweetair.com", true }, { "sweetgood.de", true }, - { "sweetll.me", false }, { "sweets-mimatsu.com", true }, - { "sweetvanilla.jp", true }, { "swehack.org", true }, { "sweharris.org", true }, { "swfmax.com", true }, @@ -28380,7 +28787,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "switzerland-family-office.com", true }, { "swordfeng.xyz", true }, { "swordfighting.net", true }, - { "swuosa.org", true }, { "swvaux.com", true }, { "swyn.net", true }, { "sx3.no", true }, @@ -28390,8 +28796,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "syajvo.if.ua", true }, { "sycamorememphis.org", true }, { "sychov.pro", true }, - { "sydney-sehen.com", true }, { "sydney.dating", true }, + { "sydneyhelicopters.com.au", true }, { "syenar.net", true }, { "syezd.com.au", true }, { "syha.org.uk", true }, @@ -28404,6 +28810,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "syllogi.xyz", true }, { "sylvaindurand.fr", true }, { "sylvaindurand.org", true }, + { "sylvaloir.fr", true }, { "sylvan.me", true }, { "sylvangarden.net", true }, { "sylve.ch", true }, @@ -28423,7 +28830,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "synaptickz.me", true }, { "synatra.co", true }, { "sync-it.no", true }, - { "syncaddict.net", true }, { "syncflare.com", true }, { "synchrocube.com", true }, { "synchtu.be", false }, @@ -28433,6 +28839,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "synecek11.cz", true }, { "synergyflare.com", true }, { "synergyworkingdogclub.com", true }, + { "synerionagile.com", true }, { "synony.me", true }, { "synotna.eu", true }, { "syntaxnightmare.com", true }, @@ -28458,6 +28865,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "system12.pl", true }, { "system365.eu", true }, { "systemadmin.uk", true }, + { "systematic-momo.com", true }, + { "systematic-momo.dk", true }, { "systemd.ch", true }, { "systemd.eu.org", true }, { "systemeprod.fr", true }, @@ -28472,6 +28881,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "syzygy-tables.info", true }, { "szagun.net", true }, { "szamitogepdepo.com", true }, + { "szaszm.tk", false }, { "szaydon.me", false }, { "szczot3k.pl", true }, { "szechenyi2020.hu", true }, @@ -28480,7 +28890,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "szerelem.love", true }, { "szlovaknyelv.hu", true }, { "szlovennyelv.hu", true }, - { "szongott.net", true }, { "szybkiebieganie.pl", true }, { "szyndler.ch", true }, { "t-hawk.com", true }, @@ -28504,7 +28913,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tabarnak.ga", true }, { "tabernadovinho.com.br", true }, { "tabino.top", true }, - { "tabitatsu.jp", true }, { "tabithawebb.co.uk", true }, { "tabla-periodica.com", true }, { "tabledusud.be", true }, @@ -28517,7 +28925,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tacklinglife.com", true }, { "tacklog.com", true }, { "tacomafia.net", false }, - { "tacotown.tk", true }, { "tacticalsquare.com", true }, { "tadata.me", true }, { "tadcastercircuit.org.uk", true }, @@ -28548,7 +28955,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "takebackyourstate.net", true }, { "takebackyourstate.org", true }, { "takebonus.com", true }, - { "takedownthissite.com", true }, { "takeitoffline.co.uk", true }, { "takemoto-ped.com", true }, { "taken.pl", true }, @@ -28558,7 +28964,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "takkaaaaa.com", true }, { "takuto.de", true }, { "takuyaphotos.com", true }, - { "talado.gr", false }, { "talentcast.nl", false }, { "talenthero.io", true }, { "talenthub.co.nz", true }, @@ -28569,6 +28974,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "talk.xyz", true }, { "talkgadget.google.com", true }, { "talkreal.net", true }, + { "talktech.com", true }, { "talktodarcy.com", true }, { "talktwincities.com", true }, { "talkwithyourbaby.org", true }, @@ -28585,11 +28991,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tamindir.com", true }, { "tammy.pro", true }, { "tampabaybusinesslistings.com", true }, - { "tanak3n.xyz", true }, { "tancredi.nl", true }, { "tandblekningidag.com", true }, { "tandem-trade.ru", true }, - { "tangerine.ga", true }, + { "tandempartnerships.com", true }, + { "tangemann.org", true }, { "tangiblesecurity.com", true }, { "tango-cats.de", true }, { "tango-ouest.com", true }, @@ -28617,7 +29023,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tarasecurity.co.uk", true }, { "tarasecurity.com", true }, { "tarasevich.by", true }, - { "taravancil.com", false }, + { "tardis.io", true }, { "targimieszkaniowe.net", true }, { "tariff.cc", true }, { "tarik.io", true }, @@ -28633,6 +29039,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "taskulu.com", true }, { "tasogarenoinori.net", true }, { "tass.nu", true }, + { "tasticfilm.com", true }, { "tastycake.net", true }, { "tastystakes.com", true }, { "tat2grl85.com", true }, @@ -28670,6 +29077,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tbrindus.ca", true }, { "tbrss.com", true }, { "tbs-certificates.co.uk", true }, + { "tbspace.de", true }, { "tbtech.cz", true }, { "tbuchloh.de", true }, { "tbys.us", true }, @@ -28687,7 +29095,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tcnapplications.com", true }, { "tcptun.com", true }, { "tdchrom.com", true }, - { "tdfbfoundation.org", true }, { "tdrcartuchos.com.br", true }, { "tdrs.info", true }, { "tdsinflatables.co.uk", true }, @@ -28706,8 +29113,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teahut.net", true }, { "team-azerty.com", true }, { "team-bbd.com", true }, - { "team-pancake.eu", true }, { "team3482.com", true }, + { "teamassists.com", true }, { "teambeam.at", true }, { "teambeam.ch", true }, { "teambeam.com", true }, @@ -28729,9 +29136,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teamtrack.uk", true }, { "teamupturn.com", true }, { "teamupturn.org", true }, + { "teamusec.de", true }, { "teamx-gaming.de", true }, { "teaparty.id", true }, - { "tearoy.faith", true }, { "teasenetwork.com", true }, { "teaser-trailer.com", true }, { "teatrarium.com", true }, @@ -28746,7 +29153,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tech-rat.com", true }, { "tech-seminar.jp", true }, { "tech-value.eu", true }, - { "tech-zealots.com", true }, { "techace.jp", true }, { "techademy.nl", true }, { "techarea.fr", true }, @@ -28769,7 +29175,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "techjoe.co", true }, { "techmajesty.com", true }, { "techmasters.io", true }, - { "techmunchies.net", false }, { "technicabv.nl", true }, { "technicalbrothers.cf", true }, { "technicalforensic.com", true }, @@ -28785,6 +29190,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "technoscoots.com", true }, { "technosorcery.net", true }, { "technosuport.com", true }, + { "technoswag.ca", true }, { "technotonic.co.uk", true }, { "techold.ru", true }, { "techorbiter.com", true }, @@ -28833,7 +29239,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tehranperfume.com", true }, { "teixobactin.com", true }, { "tejarat98.com", true }, - { "tekiro.com", true }, { "teknemodus.com.au", true }, { "teknik.io", true }, { "teknogeek.id", true }, @@ -28851,6 +29256,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "telecomwestland.nl", true }, { "teledivi.com", true }, { "telefon.report", true }, + { "telefonabonnement.dk", true }, { "telefoncek.si", true }, { "telefonkonferenz.ch", true }, { "telefonni-ustredna.cz", true }, @@ -28891,6 +29297,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tennisadmin.com", true }, { "tennisapp.org", true }, { "tennismindgame.com", true }, + { "tenno.tools", true }, { "tenpo-iku.com", true }, { "tenpolab.com", true }, { "tenseapp.pl", true }, @@ -28913,7 +29320,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teriiphotography.com", true }, { "terlindung.com", true }, { "termax.me", true }, - { "terminalvelocity.co.nz", true }, { "termitemounds.org", true }, { "termitinitus.org", true }, { "terra.fitness", true }, @@ -28932,6 +29338,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "terrazoo.de", true }, { "terresmagiques.com", true }, { "terrty.net", true }, + { "terryjohnsononline.com", true }, { "tes.com", true }, { "tesche.biz", true }, { "teschenhausen.com", true }, @@ -28952,14 +29359,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "testnode.xyz", false }, { "testomato.com", true }, { "testosterone-complex.com", true }, + { "testosteronedetective.com", true }, { "testpornsite.com", true }, { "testsuite.org", true }, { "testuje.net", true }, { "tetedelacourse.ch", true }, + { "tetrafinancial-commercial-business-equipment-financing.com", true }, + { "tetrafinancial-energy-mining-equipment-financing.com", true }, + { "tetrafinancial-healthcare-medical-equipment-financing.com", true }, + { "tetraktus.org", true }, { "tetrarch.co", true }, - { "tetsai.com", true }, { "tetsugakunomichi.jp", true }, { "tetsumaki.net", true }, + { "teulon.eu", true }, { "teuniz.nl", true }, { "teunstuinposters.nl", true }, { "teva-li.com", true }, @@ -29002,12 +29414,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tgbyte.de", true }, { "tgexport.eu", true }, { "tgmkanis.com", true }, - { "tgtv.tn", true }, { "tgui.eu", true }, { "tgui.net", true }, { "tgw.com", true }, { "th.search.yahoo.com", false }, { "thablubb.de", true }, + { "thackert.myfirewall.org", true }, { "thaedal.net", true }, { "thai.dating", true }, { "thai.land", false }, @@ -29026,22 +29438,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thanabh.at", true }, { "thanatoid.net", true }, { "thanhthinhbui.com", true }, - { "thatgudstuff.com", true }, { "thatpodcast.io", true }, { "thatquiz.org", true }, { "thca.ca", true }, { "thcpbees.co.uk", true }, { "the-body-shop.hu", false }, - { "the-earth-yui.net", false }, { "the-fermenter.com", true }, { "the-hemingway-code.de", true }, { "the-mystery.org", true }, { "the-paddies.de", true }, + { "the-pcca.org", true }, { "the-webmaster.com", true }, { "the-zenti.de", true }, { "the2f.de", true }, { "the3musketeers.biz", true }, { "theadultswiki.com", true }, + { "thealexandertechnique.co.uk", true }, { "theankhlife.com", true }, { "thebakers.com.br", true }, { "thebasebk.org", true }, @@ -29073,7 +29485,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thecitywarehouse.clothing", true }, { "theclimbingunit.com", true }, { "thecloudmigrator.com", true }, - { "thecloudrevolution.net", true }, { "thecoffeepod.co.uk", true }, { "thecoffeesuperstore.com", true }, { "thecolumnist.net", true }, @@ -29084,11 +29495,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thecrew-exchange.com", true }, { "thecrochetcottage.net", true }, { "thecskr.in", true }, + { "thecsw.com", true }, { "thecuppacakery.co.uk", true }, { "thecuriouscat.net", true }, { "thecuriousdev.com", true }, + { "thecustomdroid.com", true }, { "thecustomizewindows.com", true }, { "thedark1337.com", true }, + { "thedarkartsandcrafts.com", true }, { "thedebug.life", true }, { "thederminstitute.com", true }, { "thedevilwearswibra.nl", true }, @@ -29103,9 +29517,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thedrunkencabbage.com", true }, { "thedutchmarketers.com", true }, { "theebookkeepers.co.za", true }, - { "theeducationchannel.info", true }, { "theeducationdirectory.org", true }, - { "theevergreen.me", true }, + { "theepankar.com", true }, { "theexpatriate.de", true }, { "thefanimatrix.net", true }, { "thefasterweb.com", true }, @@ -29126,19 +29539,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thegreatplains.com", true }, { "thegreenfields.se", true }, { "thegreenmanpottery.com", true }, - { "thegreenpark.co.uk", true }, { "thegreens.us", true }, { "thegvoffice.net", true }, { "thegym.org", true }, { "thehackerblog.com", true }, + { "thehairstandard.com", true }, { "thehaxbys.co.uk", true }, { "thehiddenbay.cc", false }, + { "thehiddenbay.fi", true }, { "thehiddenbay.info", true }, { "thehiddenbay.ws", true }, { "thehivedesign.org", true }, { "thehomeicreate.com", true }, { "thehookup.be", true }, + { "thehotness.tech", true }, + { "thehowtohome.com", true }, { "theidiotboard.com", true }, + { "theillustrationstudio.com.au", true }, { "theinflatables-ni.co.uk", true }, { "theinflatablesne.co.uk", true }, { "theinitium.com", true }, @@ -29147,11 +29564,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thejacksoninstitute.com.au", true }, { "thekev.in", true }, { "thekeymusic.com", true }, + { "thekindplate.ca", true }, { "thekingofhate.com", true }, { "thekrewserver.com", true }, { "thelaimlife.com", true }, { "thelanscape.com", true }, { "thelastsurprise.com", true }, + { "thelefthand.org", true }, { "thelinuxspace.com", true }, { "thelinuxtree.net", true }, { "thelittlecraft.com", true }, @@ -29162,8 +29581,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "themeaudit.com", true }, { "themecraft.studio", true }, { "themetacity.com", true }, - { "themilanlife.com", true }, { "themillerslive.com", true }, + { "themimitoof.fr", true }, { "themist.cz", true }, { "themoep.at", true }, { "themoneyconverter.com", true }, @@ -29225,6 +29644,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "theresa-mayer.eu", true }, { "therevenge.me", true }, { "therewill.be", true }, + { "thermalbad-therme.de", true }, { "thermity.com", true }, { "thermolamina.nl", true }, { "theroks.com", true }, @@ -29265,6 +29685,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thestyle.city", true }, { "thesuppercircle.com", true }, { "theswissbay.ch", true }, + { "thetechnical.me", true }, { "thetenscrolls.com", true }, { "thetomharling.com", true }, { "thetrendspotter.net", true }, @@ -29314,7 +29735,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thinkmarketing.ca", true }, { "thinkquality.nl", true }, { "thinkrealty.com", true }, - { "thinkswap.com", true }, { "thinktux.net", true }, { "thirdworld.moe", true }, { "thiry-automobiles.net", true }, @@ -29327,6 +29747,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thisistheserver.com", true }, { "thisiswhywemom.com", true }, { "thismatter.com", true }, + { "thisoldearth.com", true }, { "thisserver.dontexist.net", true }, { "thistleandleaves.com", true }, { "thm.vn", true }, @@ -29336,10 +29757,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thomas-bertran.com", true }, { "thomas-fahle.de", true }, { "thomas-grobelny.de", true }, - { "thomas-suchon.fr", true }, - { "thomas.love", true }, + { "thomas.love", false }, { "thomasbeckers.be", true }, { "thomasetsophie.fr", true }, + { "thomaseyck.com", true }, { "thomasfoster.co", true }, { "thomasgriffin.io", true }, { "thomashunter.name", false }, @@ -29350,6 +29771,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thomasvochten.com", true }, { "thomasvt.xyz", true }, { "thomaswoo.com", true }, + { "thompsonfamily.cloud", true }, { "thomsonscleaning.co.uk", true }, { "thomspooren.nl", true }, { "thomwiggers.nl", true }, @@ -29368,6 +29790,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thoughtsynth.net", true }, { "thoughtsynth.org", true }, { "thouni.de", true }, + { "thousandgreens.com", true }, { "thousandoakselectrical.com", true }, { "threatworking.com", true }, { "threebrothersbrewing.com", true }, @@ -29401,7 +29824,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thw-bernburg.de", true }, { "thxandbye.de", true }, { "thyngster.com", true }, - { "thyrex.fr", true }, + { "thzone.net", true }, { "ti-js.com", true }, { "ti-pla.net", true }, { "ti-planet.org", true }, @@ -29410,7 +29833,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tiaki.org", true }, { "tianeptine.com", true }, { "tianshili.me", true }, - { "tibbitshall.ca", true }, { "tibipg.com", true }, { "ticfleet.com", true }, { "ticketluck.com", true }, @@ -29425,6 +29847,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ticketsvergleichen.de", true }, { "tickit.ca", true }, { "tid.jp", true }, + { "tidycustoms.net", true }, { "tie-online.org", true }, { "tielectric.ch", true }, { "tiendafetichista.com", true }, @@ -29436,6 +29859,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ties.com", true }, { "tiew.pl", true }, { "tifan.net", true }, + { "tiffanytravels.com", true }, { "tiffnix.com", true }, { "tigerchef.com", true }, { "tigerdile.com", true }, @@ -29473,6 +29897,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "timebox.tk", true }, { "timeglass.de", true }, { "timersuite.com", true }, + { "timestamp.uk", true }, { "timetab.org", true }, { "timetech.io", true }, { "timetotrade.com", true }, @@ -29489,10 +29914,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "timroes.de", true }, { "timstoffel.net", false }, { "timtaubert.de", true }, - { "timtelfer.com", true }, { "timtj.ca", true }, { "timvivian.ca", true }, { "timweb.ca", true }, + { "timwhite.io", true }, { "timysewyn.be", true }, { "tinastahlschmidt.de", true }, { "tindallriley.co.uk", true }, @@ -29536,10 +29961,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tism.in", true }, { "tissot-mayenfisch.com", true }, { "tiste.org", true }, + { "tit-cdn.de", true }, + { "tit-dns.de", true }, + { "tit-mail.de", true }, { "tit.systems", true }, { "titandirect.co.uk", true }, { "titanous.com", true }, { "titanpointe.org", true }, + { "titanwaterproofing.com.au", true }, { "titelseite.ch", true }, { "titiansgirlphotography.com", true }, { "tittelbach.at", false }, @@ -29550,7 +29979,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tjkcastles.uk", true }, { "tjl.rocks", true }, { "tjp.ch", true }, - { "tjs.me", true }, { "tjsbouncycastles.co.uk", true }, { "tju.me", true }, { "tkacz.pro", true }, @@ -29575,6 +30003,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tls1914.org", true }, { "tlsrobot.se", true }, { "tlthings.net", true }, + { "tlumaczenie.com", true }, { "tlys.de", true }, { "tm.id.au", true }, { "tmberg.cf", true }, @@ -29592,7 +30021,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tmi-products.eu", true }, { "tmi-produkter.se", true }, { "tmi.news", true }, - { "tmin.cf", true }, { "tmm.cx", true }, { "tmonitoring.com", true }, { "tmpraider.net", true }, @@ -29605,7 +30033,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tntmobi.com", true }, { "tny.link", true }, { "to2mbn.org", true }, - { "toad.ga", true }, { "toast.al", false }, { "tob-rulez.de", true }, { "tobacco.gov", true }, @@ -29614,6 +30041,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tobias-bauer.de", true }, { "tobias-haenel.de", true }, { "tobias-kleinmann.de", true }, + { "tobias-kluge.com", true }, { "tobias-kluge.de", true }, { "tobias-picha.de", true }, { "tobias-weidhase.de", true }, @@ -29642,6 +30070,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toccoig.com", true }, { "tochi-urikata.net", true }, { "todacarreira.com", true }, + { "todaciencia.com", true }, { "todamateria.com.br", true }, { "todapolitica.com", true }, { "todaymeow.com", true }, @@ -29653,6 +30082,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toeightycountries.com", true }, { "toekomstperspectief.be", true }, { "toerclub-ing-arnhem.nl", true }, + { "toetsplatform.be", true }, { "tofe.io", true }, { "tofilmhub.com", true }, { "togech.jp", true }, @@ -29666,6 +30096,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tokainafb.net", true }, { "tokainakurasi.net", true }, { "tokbijouxs.com.br", true }, + { "tokfun.com", true }, { "tokic.hr", true }, { "tokinoha.net", true }, { "tokio.fi", true }, @@ -29673,10 +30104,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tokke.dk", true }, { "tokkee.org", true }, { "tokky.eu", true }, - { "tokobungaasryflorist.com", true }, { "tokobungadijambi.com", true }, { "tokobungadilampung.com", true }, - { "tokototech.com", true }, { "tokugai.com", true }, { "tokumei.co", true }, { "tokyo-onkyo.jp", true }, @@ -29684,7 +30113,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tokyo.dating", true }, { "tokyomakino.com", true }, { "tokyovipper.com", true }, - { "tolboe.com", true }, { "toleressea.fr", true }, { "toles-sur-mesure.fr", true }, { "tolle-wolke.de", true }, @@ -29699,10 +30127,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tomaskavalek.cz", true }, { "tomaspatera.cz", true }, { "tomaspialek.cz", true }, + { "tomasvecera.cz", true }, + { "tomasz.com", true }, { "tomatenaufdenaugen.de", true }, { "tomatis-nantes.com", true }, { "tomaw.net", true }, { "tomaz.eu", true }, + { "tombaker.me", true }, { "tomberek.info", true }, { "tombrossman.com", true }, { "tomcort.com", true }, @@ -29710,8 +30141,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tomend.es", true }, { "tomershemesh.me", true }, { "tomfisher.eu", true }, - { "tomharling.co.uk", true }, { "tomharling.uk", true }, + { "tomharris.tech", true }, + { "tomi.cc", true }, { "tomica.me", true }, { "tomiler.com", true }, { "tomjans.nl", true }, @@ -29722,6 +30154,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tomlowenthal.com", true }, { "tommic.eu", true }, { "tommounsey.com", true }, + { "tommy-bordas.fr", true }, { "tomnatt.com", true }, { "tomo.gr", false }, { "tomochun.net", true }, @@ -29763,6 +30196,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tonex.de", true }, { "tonex.nl", true }, { "tonguetechnology.com", true }, + { "tonkayagran.com", true }, { "tonkinson.com", true }, { "tonkinwilsonvillenissanparts.com", true }, { "tonsit.com", true }, @@ -29783,6 +30217,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toonpool.com", true }, { "toool.nl", true }, { "toool.org", true }, + { "tooolroc.org", false }, { "toothdoc.ca", true }, { "tooti.biz", true }, { "top-esb.com", true }, @@ -29792,6 +30227,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "top9.fr", true }, { "topaxi.ch", true }, { "topaxi.codes", true }, + { "topbilan.com", true }, { "topbounce.com", true }, { "topbouncycastles.co.uk", true }, { "topbrakes.com", true }, @@ -29815,6 +30251,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toptec.net.br", true }, { "toptexture.com", true }, { "toptheto.com", true }, + { "topvertimai.lt", true }, { "topwin.la", true }, { "topwindowcleaners.co.uk", true }, { "toracon.org", true }, @@ -29826,6 +30263,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tormentedradio.com", false }, { "torn1.se", true }, { "torngalaxy.com", true }, + { "torontocorporatelimo.services", true }, { "torproject.org", false }, { "torproject.ovh", true }, { "torprojects.com", true }, @@ -29872,6 +30310,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "touchweb.fr", true }, { "touchwoodtrees.com.au", true }, { "tougetu.com", true }, + { "touhou.ac.cn", true }, { "touhou.cc", true }, { "touhou.fm", true }, { "toujours-actif.com", true }, @@ -29881,6 +30320,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tourismwithme.com", true }, { "tourispo.com", true }, { "tournaire.fr", true }, + { "tournamentmgr.com", true }, { "tournevis.ch", true }, { "tourtransferitaly.it", true }, { "tourtrektrip.com", true }, @@ -29897,14 +30337,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toverland-tickets.nl", true }, { "tovp.org", true }, { "towandalibrary.org", true }, - { "towaway.ru", true }, { "townandcountryus.com", true }, { "townhousedevelopments.com.au", true }, { "townhouseregister.com.au", true }, { "townofbridgewater.ca", true }, { "towywebdesigns.uk", true }, { "tox.im", true }, - { "toxicboot.com", true }, { "toymania.de", true }, { "toyota-kinenkan.com", true }, { "toysperiod.com", true }, @@ -29912,11 +30350,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tp-kabushiki.com", true }, { "tp-kyouyufudousan.com", true }, { "tp-law.jp", true }, + { "tpansino.com", false }, { "tpbproxy.co", true }, { "tpbunblocked.org", true }, { "tpidg.us", true }, { "tpp.chat", true }, { "tppleague.me", false }, + { "tpro.rocks", true }, { "tqdev.com", true }, { "tr.search.yahoo.com", false }, { "tr0n.net", true }, @@ -29926,6 +30366,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trabbel.org", true }, { "tracalada.cl", true }, { "trace.guru", true }, + { "trace.moe", true }, { "traceheatinguk.co.uk", true }, { "tracelight.io", true }, { "traceroute.guru", true }, @@ -29953,12 +30394,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tradinews.com", true }, { "tradinews.fr", true }, { "tradingbhavishya.com", true }, - { "tradingrooms.com", false }, { "traditionsvivantesenimages.ch", true }, { "tradiz.org", true }, { "traeningsprojekt.dk", false }, { "trafarm.ro", true }, { "traffic.az", true }, + { "trafficmanager.ltd", true }, { "trafficmanager.xxx", true }, { "trafficologyblueprint.com", true }, { "trafficpixel.tk", true }, @@ -30007,6 +30448,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "transfile.fr", true }, { "transformaniatime.com", true }, { "transformations-magazin.com", true }, + { "transglobaltravel.com", true }, { "transhumanism.co.uk", true }, { "transhumanist.co.uk", true }, { "transhumanist.com", true }, @@ -30015,6 +30457,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "transhumanist.uk", true }, { "transitownplaza.com", true }, { "transitpoint.us", true }, + { "translate-polish.com", true }, { "translate.fedoraproject.org", true }, { "translate.googleapis.com", true }, { "translate.stg.fedoraproject.org", true }, @@ -30022,7 +30465,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "translatoruk.co.uk", true }, { "transmarttouring.com", true }, { "transmisjeonline.pl", true }, - { "transmithe.net", true }, { "transnexus.com", true }, { "transparentcorp.com", true }, { "transport.eu", true }, @@ -30060,6 +30502,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "treasurydirect.gov", true }, { "treasuryhunt.gov", true }, { "treasuryscams.gov", true }, + { "tree0.xyz", true }, { "treebaglia.xyz", true }, { "treehousebydesign.com", true }, { "treehouseresort.nl", true }, @@ -30069,13 +30512,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trefcon.cz", true }, { "trefpuntdemeent.nl", true }, { "treinaweb.com.br", false }, + { "treinonerd.com", true }, { "trek-planet.ru", true }, { "trekfriend.com", true }, { "tremlor.com", true }, { "tremolosoftware.com", true }, { "tremoureux.fr", true }, { "trendingpulse.com", true }, - { "trendisland.de", true }, { "trendkraft.de", true }, { "trendydips.com", true }, { "trendykids.cz", true }, @@ -30084,10 +30527,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tresorit.com", true }, { "tresorsecurity.com", true }, { "tretail.net", true }, - { "tretkowski.de", true }, { "trewe.eu", true }, { "trhastane.com", true }, { "triage.com", true }, + { "trialandsuccess.nl", true }, { "trialcentralnet.com", true }, { "trianglecastles.co.uk", true }, { "tribac.de", true }, @@ -30116,6 +30559,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "triop.se", true }, { "trior.net", true }, { "tripcombi.com", true }, + { "tripinsider.club", false }, { "triple-mmm.de", true }, { "tripseats.com", true }, { "tripsinc.com", true }, @@ -30173,21 +30617,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trustcase.com", true }, { "trustednetworks.nl", true }, { "trustfield.ch", true }, - { "truthmessages.pw", true }, { "trw-reseller.com", true }, { "trybabyschoice.com", true }, { "trybooking.com", true }, { "tryfabulousdiet.com", true }, { "tryfabulousskincream.com", true }, { "tryfabulousskinserum.com", true }, - { "tryfm.net", true }, { "trygarciniaslimdiet.com", true }, { "tryhard.cz", true }, { "trymegadrol.com", true }, { "trynta.com", true }, { "trynta.net", true }, { "tryretool.com", true }, - { "tryti.me", true }, { "tryupdates.com", true }, { "trywesayyes.com", true }, { "trzepak.pl", true }, @@ -30208,13 +30649,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tsukuba.style", true }, { "tsumegumi.com", true }, { "tsumi.it", true }, - { "tsumi.moe", true }, { "tsundere.moe", true }, { "tsura.org", true }, + { "tsurai.work", true }, { "tsuyuzakihiroyuki.com", true }, { "tsv-1894.de", true }, { "ttb.gov", true }, { "ttbonline.gov", true }, + { "ttc-birkenfeld.de", true }, { "ttcaarberg.ch", true }, { "ttcf.ca", true }, { "ttchan.org", true }, @@ -30280,15 +30722,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "turtleduckstudios.com", true }, { "turtlepwr.com", true }, { "turtles.ga", true }, + { "turunculevye.com", true }, { "tutanota.com", true }, { "tuto-craft.com", true }, - { "tutoragency.org", true }, { "tutorialinux.com", true }, { "tutorio.ga", true }, { "tutorme.com", true }, { "tuts4you.com", true }, { "tuttimundi.org", true }, { "tuttoandroid.net", true }, + { "tuvangoicuoc.com", true }, { "tuwaner.com", true }, { "tuxcloud.net", true }, { "tuxflow.de", true }, @@ -30326,7 +30769,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tweaktown.com", true }, { "twelve.rocks", true }, { "twelve.today", true }, - { "twem.ddns.net", true }, { "twenty71.com", true }, { "twentymilliseconds.com", true }, { "twilleys.com", true }, @@ -30351,8 +30793,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "twopif.net", true }, { "tworaz.net", true }, { "twun.io", true }, - { "twuni.org", true }, - { "txbi.de", true }, { "txcap.org", true }, { "txdivorce.org", true }, { "txi.su", true }, @@ -30367,11 +30807,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tyler.rs", true }, { "tylerdavies.net", true }, { "tylerfreedman.com", true }, - { "tylerharcourt.ca", true }, - { "tylerharcourt.net", true }, - { "tylerharcourt.org", true }, { "tyleromeara.com", true }, { "tylerschmidtke.com", true }, + { "typcn.com", true }, { "type1joe.com", true }, { "type1joe.net", true }, { "type1joe.org", true }, @@ -30388,10 +30826,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "typo3.com", true }, { "tyroremotes.co.uk", true }, { "tyroremotes.es", true }, + { "tyroremotes.eu", true }, { "tyroremotes.fr", true }, { "tyroremotes.nl", true }, { "tysox.de", true }, - { "tysye.ca", true }, { "tyuo-keibi.co.jp", true }, { "tzifas.com", true }, { "u-master.net", true }, @@ -30415,14 +30853,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ub3rk1tten.com", false }, { "ubalert.com", true }, { "ubanquity.com", true }, + { "uberbkk.com", true }, { "uberboxen.net", true }, + { "ubercalculator.com", true }, + { "uberestimator.com", true }, { "ubermail.me", true }, { "ubertt.org", true }, { "uberwald.de", true }, { "uberwald.ws", true }, + { "ubezpieczeniepsa.com", true }, { "ubineering.de", true }, { "ublaboo.org", true }, - { "ubtce.com", true }, { "ucac.nz", false }, { "ucangiller.com", true }, { "ucch.be", true }, @@ -30465,6 +30906,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ujob.com.cn", true }, { "uk.dating", true }, { "uk.search.yahoo.com", false }, + { "ukbc.london", true }, { "ukchemicalresearch.org", false }, { "ukclimbing.com", true }, { "ukdefencejournal.org.uk", true }, @@ -30483,12 +30925,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ulabox.com", true }, { "uli-eckhardt.de", true }, { "ullah.se", true }, + { "ulmer-schneesport.de", true }, { "ulrik.moe", true }, + { "ulti.gq", true }, { "ultieme.be", false }, { "ultima-ratio.at", true }, { "ultimate-uk.com", true }, { "ultimateanu.com", true }, { "ultimatemafia.net", true }, + { "ultraseopro.com", true }, { "ultrasite.tk", true }, { "ultratechlp.com", true }, { "umassfive.coop", true }, @@ -30522,6 +30967,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "unblocked.vip", true }, { "unblockedbay.info", true }, { "unblockweb.co", true }, + { "unboxforteams.work", true }, { "unccelearn.org", true }, { "uncensoreddns.dk", true }, { "uncensoreddns.org", true }, @@ -30560,6 +31006,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "unicefvoscilnice.si", true }, { "unicorn.melbourne", true }, { "unicorncloud.org", true }, + { "unicorntooling.eu", true }, { "unicredit.ba", true }, { "unicredit.ro", true }, { "unicreditbank.hu", true }, @@ -30662,17 +31109,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "upload.cat", true }, { "upload.facebook.com", false }, { "uploadbeta.com", true }, + { "uplr.it", true }, { "upnext.io", true }, { "upperbeaconsfield.org.au", true }, { "upperroommission.ca", true }, { "upplevelse.com", true }, { "upr-info.org", true }, - { "upr.com.ua", true }, { "upsiteseo.com", true }, { "uptimed.com", true }, { "uptimenotguaranteed.com", true }, { "uptodateinteriors.com", true }, - { "uptogood.org", true }, { "uptoon.jp", true }, { "uptownlocators.com", true }, { "uptrends.com", true }, @@ -30695,6 +31141,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "urbannewsservice.com", true }, { "urbansparrow.in", true }, { "urbanstylestaging.com", true }, + { "urbanwildlifealliance.org", true }, { "urbexdk.nl", true }, { "urcentral.com", true }, { "urcentral.net", true }, @@ -30708,9 +31155,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "url.rw", true }, { "url0.eu", true }, { "urlachershop.com.br", true }, + { "urlaub-busreisen.de", true }, { "urlaub-leitner.at", true }, { "urlscan.io", true }, - { "urology.wiki", true }, + { "urltodomain.com", true }, { "urown.net", true }, { "ursa-minor-beta.org", true }, { "ursae.co", true }, @@ -30718,6 +31166,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ursuslibris.hu", true }, { "urth.org", true }, { "urukproject.org", true }, + { "usa-greencard.eu", true }, { "usaa.com", false }, { "usabackground.com", true }, { "usability.gov", true }, @@ -30725,6 +31174,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "usajobs.com", true }, { "usajobs.gov", true }, { "usakitchensandflooring.com", true }, + { "usalearning.gov", true }, { "usap.gov", false }, { "usbcraft.com", true }, { "usbevents.co.uk", true }, @@ -30735,6 +31185,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "use.be", true }, { "usebean.com", true }, { "usedu.us", true }, + { "useevlo.com.br", true }, { "useresponse.com", true }, { "usetypo3.com", true }, { "useyourloaf.com", true }, @@ -30751,6 +31202,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ussm.gov", true }, { "ussuka.com", true }, { "ust.space", true }, + { "ustr.gov", false }, { "usualbeings.com", true }, { "uswitch.com", true }, { "ut-addicted.com", true }, @@ -30781,6 +31233,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uuit.nl", true }, { "uvocorp.com", true }, { "uwac.co.uk", false }, + { "uwekoetter.com", true }, { "uwfreelanceopticien.nl", true }, { "uxtechnologist.com", true }, { "uy.search.yahoo.com", false }, @@ -30793,7 +31246,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "v2bv.net", true }, { "v2bv.win", true }, { "v2ex.com", true }, - { "v4s.ro", true }, { "v5wz.com", true }, { "va-reitartikel.com", true }, { "va.gov", true }, @@ -30814,6 +31266,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vagrantcloud.com", true }, { "vagrantup.com", true }, { "vaindil.com", true }, + { "vaioswolke.xyz", false }, { "vakantiedetective.nl", true }, { "vakantienet.nl", true }, { "vakuutuskanava.fi", true }, @@ -30838,7 +31291,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "validator.nu", true }, { "validbrands.com", true }, { "valika.ee", true }, - { "valkohattu.fi", true }, { "valkor.pro", true }, { "vallei-veluwe.nl", true }, { "valleyautofair.com", true }, @@ -30853,6 +31305,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "valshamar.is", true }, { "valsk.is", true }, { "valskis.lt", true }, + { "valtlai.fi", true }, { "valtoaho.com", true }, { "valudo.st", true }, { "valueng.com", true }, @@ -30910,6 +31363,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "varicoseveinssolution.com", true }, { "varimedoma.com", true }, { "varshathacker.com", true }, + { "varta.io", true }, { "varunagw.com", false }, { "varunpriolkar.com", true }, { "varvy.com", true }, @@ -30919,6 +31373,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vaskulitis-info.de", true }, { "vasports.com.au", true }, { "vastgoedcultuurfonds.nl", true }, + { "vasyharan.com", true }, { "vat-eu.com", true }, { "vatelecom.dk", true }, { "vats.im", true }, @@ -30953,6 +31408,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vcsjones.com", true }, { "vcti.cloud", true }, { "vd42.net", true }, + { "vdanker.net", true }, { "vdbongard.com", true }, { "vdcomp.cz", true }, { "vdemuzere.be", true }, @@ -30975,6 +31431,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "veganforum.org", true }, { "veganism.co.uk", true }, { "veganism.com", true }, + { "vegasdocs.com", true }, { "vegepa.com", true }, { "vegguide.org", true }, { "veglog.com", true }, @@ -30985,14 +31442,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "veit.zone", true }, { "veke.fi", true }, { "vekenz.com", true }, - { "velasense.com", true }, - { "velotyretz.fr", true }, + { "velonustraduction.com", true }, { "venalytics.com", true }, { "venclave.com", true }, { "vendigital.com", true }, { "vendorconnect.nyc", true }, { "vendserve.eu", true }, { "venicerealdeal.com", true }, + { "venirextra.com", true }, + { "venirideal.com", true }, { "ventesprivees-fr.com", true }, { "ventilateurs-plafond.com", true }, { "ventizo.com", true }, @@ -31015,6 +31473,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vergeaccessories.com", true }, { "verhovs.ky", true }, { "verifyos.com", true }, + { "verifyyourip.com", true }, { "veriny.tf", true }, { "veriomed.com", true }, { "veritafineviolins.com", true }, @@ -31048,9 +31507,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "verteilergetriebe.info", true }, { "vertikar.net", true }, { "vertner.net", true }, + { "vertrieb-strategie.de", true }, { "very-kids.fr", true }, { "veryapt.com", true }, { "verymelon.de", true }, + { "verzekeringsacties.nl", true }, { "verzick.com", true }, { "ves.vn.ua", true }, { "vescudero.net", true }, @@ -31064,6 +31525,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "veverusak.cz", true }, { "vfdworld.com", true }, { "vfn-nrw.de", true }, + { "vgchat.us", true }, { "vgerak.com", true }, { "vgolos.zt.ua", true }, { "vgropp.de", true }, @@ -31162,7 +31624,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "villageunique.com.br", true }, { "villagockel.de", true }, { "villamariaamalfi.it", true }, - { "villasenor.online", true }, { "villasfinistere.fr", true }, { "villasforsale-bali.com", true }, { "villek.fi", true }, @@ -31180,7 +31641,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vinicius.sl", true }, { "vinilosdecorativos.net", true }, { "vinner.com.au", true }, - { "vinogradovka.com", true }, + { "vinnie.gq", true }, { "vinolli.de", true }, { "vinovum.net", true }, { "vintagebandfestival.org", true }, @@ -31190,7 +31651,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vintagesouthernpicks.com", true }, { "vintagetrailerbuyers.com", true }, { "vintazh.net", true }, - { "vinticom.ch", true }, + { "vinticom.ch", false }, { "vintock.com", true }, { "vinyculture.com", true }, { "vinzite.com", true }, @@ -31245,6 +31706,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vistb.me", true }, { "visual-cockpit.com", true }, { "visualideas.org", true }, + { "visualizing.info", true }, { "visudira.com", true }, { "vitahook.pw", true }, { "vital-tel.co.uk", true }, @@ -31253,7 +31715,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vitalamin.com", true }, { "vitalamin.de", true }, { "vitalismaatjes.nl", true }, + { "vitalityscience.com", true }, { "vitalthings.de", true }, + { "vitalware.com", true }, { "vitalyzhukphoto.com", true }, { "vitaminler.com", true }, { "vitapingu.de", true }, @@ -31264,14 +31728,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vitoye.com", true }, { "vitra-vcare.co.uk", true }, { "vitrado.de", true }, - { "vitsoft.by", true }, { "vivaldi-fr.com", true }, { "vivaldi.club", true }, { "vivamusic.es", true }, { "vivanosports.com.br", true }, { "vivatv.com.tw", true }, { "vivendi.de", true }, - { "vivianmaier.cn", true }, { "vivid-academy.com", true }, { "vividinflatables.co.uk", true }, { "vividlumen.com", true }, @@ -31291,6 +31753,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vkirichenko.name", true }, { "vkox.com", true }, { "vksportphoto.com", true }, + { "vladimiroff.org", true }, { "vladislavstoyanov.com", true }, { "vldkn.net", true }, { "vleij.com", true }, @@ -31298,8 +31761,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vliegensvlug.services", true }, { "vloeck.de", true }, { "vlovgr.se", true }, + { "vlsk.eu", true }, { "vlsm.se", true }, - { "vlvvl.com", true }, { "vm-0.com", true }, { "vm-co.ch", true }, { "vmc.co.id", true }, @@ -31332,14 +31795,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "voidptr.eu", true }, { "voids.org", true }, { "voidshift.com", true }, - { "voipkb.com", true }, { "voipsun.com", true }, { "vokativy.cz", false }, { "vokeapp.com", true }, - { "volbyzive.cz", true }, { "volcanconcretos.com", true }, { "volga.us", true }, { "volgavibes.ru", false }, + { "voliere-info.nl", false }, { "volker-gropp.de", true }, { "volkergropp.de", true }, { "volkerwesselstransfer.nl", true }, @@ -31360,13 +31822,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "voodoochile.at", true }, { "vop.li", true }, { "vorkbaard.nl", true }, + { "vorlage-musterbriefe.de", true }, + { "vorlage-mustervertrag.de", true }, + { "vorlagen-geburtstagsgruesse.de", true }, { "vorlicek.de", true }, + { "vorlif.org", true }, { "vorm2.com", true }, + { "vorodevops.com", true }, { "vos-fleurs.ch", true }, { "vos-fleurs.com", true }, { "vosgym.jp", true }, { "vosjesweb.nl", true }, { "vosky.fr", true }, + { "vosn.de", true }, + { "vosser.de", true }, { "vostronet.com", true }, { "voter-info.uk", true }, { "votercircle.com", true }, @@ -31378,6 +31847,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "voxfilmeonline.net", true }, { "voxml.com", true }, { "voxographe.com", false }, + { "voya.ga", true }, { "voyage-martinique.fr", true }, { "voyageforum.com", true }, { "voyagesaufildespages.be", true }, @@ -31390,6 +31860,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vpnservice.nl", true }, { "vpsboard.com", true }, { "vpsdream.dk", true }, + { "vpsport.ch", true }, { "vrandopulo.ru", true }, { "vranjske.co.rs", true }, { "vreeman.com", true }, @@ -31401,7 +31872,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vrsgames.com.mx", true }, { "vrsystem.com.br", true }, { "vrtak-cz.net", true }, - { "vrzl.pro", true }, + { "vrtouring.org", true }, { "vsamsonov.com", true }, { "vscale.io", true }, { "vsean.net", true }, @@ -31414,6 +31885,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vsx.ch", true }, { "vuakhuyenmai.vn", true }, { "vubey.yt", true }, + { "vuilelakens.be", true }, { "vuljespaarpot.nl", true }, { "vulnerability.ch", true }, { "vulners.com", true }, @@ -31429,7 +31901,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vw-touranclub.cz", true }, { "vwbusje.com", true }, { "vwittich.de", true }, - { "vwoforangeparts.com", true }, { "vwsoft.de", true }, { "vww-8522.com", true }, { "vx.hn", true }, @@ -31445,13 +31916,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vyskocil.eu", true }, { "vyvygen.org", true }, { "vyzner.cz", true }, + { "vzce.cn", true }, { "vzis.org", true }, { "vztekloun.cz", true }, { "w-p-k.de", true }, { "w-spotlight.appspot.com", true }, { "w-w-auto.de", true }, { "w.wiki", true }, - { "w10club.com", false }, { "w3ctag.org", true }, { "w3n.org", true }, { "w4.no", true }, @@ -31462,7 +31933,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "w5gfe.org", true }, { "w7k.de", true }, { "w84.it", true }, - { "w9rld.com", true }, { "wa-stromerzeuger.de", true }, { "waaw.tv", true }, { "wabatam.com", true }, @@ -31474,8 +31944,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "waelisch.de", true }, { "waelti.xxx", true }, { "waf.ninja", true }, + { "waf.sexy", true }, { "wafa4hw.com", true }, - { "wafairhaven.com.au", true }, + { "wafelland.be", true }, { "waffle.at", true }, { "wafni.com", true }, { "wahidhasan.com", true }, @@ -31541,10 +32012,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wantshow.com.br", true }, { "wanybug.cn", true }, { "waonui.io", true }, - { "wapking.live", true }, { "warcraftjournal.org", true }, { "wardow.com", true }, { "warebouncycastles.co.uk", true }, + { "warekit.io", true }, { "warekon.com", true }, { "warekon.dk", true }, { "warenits.at", true }, @@ -31568,6 +32039,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wasielewski.com.de", true }, { "wasil.org", true }, { "waslh.com", true }, + { "wasserburg.dk", true }, { "wasserspucker.de", true }, { "wassibauer.com", true }, { "wastrel.ch", true }, @@ -31581,12 +32053,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "waterfedpole.com", true }, { "waterleeftinbeek.nl", true }, { "watermonitor.gov", true }, + { "watersb.org", true }, { "waterschaplimburg.nl", true }, { "watertrails.io", true }, { "waterworkscondos.com", true }, { "watoo.tech", true }, { "watsonwork.me", true }, - { "wattechweb.com", true }, { "wave-ola.es", true }, { "wave.is", true }, { "wavesoftime.com", true }, @@ -31598,9 +32070,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wayohoo.net", true }, { "waytt.cf", true }, { "waze.com", true }, - { "wbci.us", true }, + { "wbci.us", false }, { "wbg-vs.de", true }, - { "wbit.co.il", true }, { "wbt-solutions.ch", true }, { "wbt-solutions.net", true }, { "wbuntu.com", true }, @@ -31615,6 +32086,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wdesk.com", true }, { "wdmg.com.ua", true }, { "wdodelta.nl", true }, + { "wdol.gov", true }, { "wdrl.info", true }, { "wdt.cz", false }, { "wdt.io", true }, @@ -31640,6 +32112,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "web-advisor.co.uk", true }, { "web-demarche.com", true }, { "web-design.co.il", true }, + { "web-dl.cc", true }, { "web-hotel.gr", true }, { "web-kouza.com", true }, { "web-mail.info", true }, @@ -31670,6 +32143,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webcollect.org.uk", true }, { "webcontentspinning.com", true }, { "webcookies.org", true }, + { "webcreation.rocks", true }, { "webcrm.com", true }, { "webdesign-st.de", true }, { "webdesigneauclaire.com", true }, @@ -31677,8 +32151,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webdesignlabor.ch", true }, { "webdesignplay.com", true }, { "webdesignplayground.io", true }, - { "webdesignssussex.co.uk", true }, - { "webdev-quiz.de", true }, { "webdevops.io", true }, { "webdosh.com", true }, { "webduck.nl", false }, @@ -31694,7 +32166,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webgarten.ch", true }, { "webgears.com", true }, { "webharvest.gov", true }, - { "webhelyesarcu.hu", true }, { "webhostplan.info", true }, { "webinnovation.ie", true }, { "webjobposting.com", true }, @@ -31729,6 +32200,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webpostingpro.com", true }, { "webpostingreviews.com", true }, { "webproxy.pw", true }, + { "webpubsub.com", true }, { "webqualitat.com.br", true }, { "webqueens.com", true }, { "webrebels.org", false }, @@ -31742,7 +32214,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webseitenserver.com", true }, { "websenat.de", true }, { "websharks.org", true }, - { "websiteadvice.com.au", true }, { "websiteforlease.ca", true }, { "websiteout.ca", true }, { "websiteout.net", true }, @@ -31802,6 +32273,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "weerstatistieken.nl", true }, { "wefinanceinc.com", true }, { "wefitboilers.com", true }, + { "wegethitched.co.uk", true }, { "weggeweest.nl", true }, { "wegner.no", true }, { "wegotcookies.com", true }, @@ -31821,12 +32293,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wein.co.kr", true }, { "weinbergerlawgroup.com", true }, { "weinhandel-preissler.de", true }, - { "weirdesigns.com", true }, { "weirdserver.com", true }, { "weisse-liste.de", true }, { "weissman.agency", true }, { "weiterbildung-vdz.de", true }, - { "weizenke.im", true }, { "weizenspr.eu", true }, { "welches-kinderfahrrad.de", true }, { "welcome-tahiti.com", true }, @@ -31843,6 +32313,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wellensteyn.ru", true }, { "weller.pm", true }, { "wellist.com", true }, + { "wellmarts.com", true }, { "wellness-gutschein.de", true }, { "wellnesscheck.net", true }, { "wellopp.com", true }, @@ -31858,6 +32329,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "welzijnkoggenland.nl", true }, { "wemakemenus.com", true }, { "wemakeonlinereviews.com", true }, + { "wemovemountains.co.uk", true }, { "wen-in.com", true }, { "wen-in.net", true }, { "wendu.me", true }, @@ -31902,7 +32374,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wesreportportal.com", true }, { "wessner.co", true }, { "wessner.org", true }, - { "west-wind.net", true }, + { "west-trans.com.au", true }, { "westcarrollton.org", true }, { "westcentenaryscouts.org.au", true }, { "westcoastcastles.com", true }, @@ -31926,7 +32398,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wevenues.com", true }, { "wexfordbouncycastles.ie", true }, { "weyland-yutani.org", true }, - { "weyland.tech", true }, { "wezl.net", true }, { "wf-bigsky-master.appspot.com", true }, { "wf-demo-eu.appspot.com", true }, @@ -31948,6 +32419,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whatagreatwebsite.net", true }, { "whatanime.ga", true }, { "whatarepatentsfor.com", true }, + { "whatclinic.co.uk", true }, + { "whatclinic.com", true }, + { "whatclinic.com.ph", true }, + { "whatclinic.de", true }, + { "whatclinic.ie", true }, + { "whatclinic.ru", true }, { "whatisl.ovh", true }, { "whatismyipaddress.ca", true }, { "whatsahoy.com", true }, @@ -31973,7 +32450,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whing.org", true }, { "whipnic.com", true }, { "whisky-circle.info", true }, - { "whiskynerd.ca", true }, { "whisp.ly", false }, { "whispeer.de", true }, { "whisperinghoperanch.org", true }, @@ -32000,6 +32476,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whitepharmacy.co.uk", true }, { "whiteroom.agency", true }, { "whiteshadowimperium.com", true }, + { "whitewebhosting.com", true }, { "whitewinterwolf.com", true }, { "whitkirkartsguild.com", true }, { "whitkirkchurch.org.uk", true }, @@ -32012,6 +32489,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whocalled.us", true }, { "whocybered.me", true }, { "whoimg.com", true }, + { "whoisamitsingh.com", true }, { "whoisthenightking.com", true }, { "whoiswp.com", true }, { "wholelotofbounce.co.uk", false }, @@ -32020,6 +32498,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whonix.org", true }, { "whoownsmyavailability.com", true }, { "whoturgled.com", true }, + { "whub.io", true }, { "why-brexit.uk", true }, { "whyopencomputing.ch", true }, { "whyopencomputing.com", true }, @@ -32081,7 +32560,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wilane.org", true }, { "wilcodeboer.me", true }, { "wild-emotion-events.de", true }, - { "wild-turtles.com", true }, + { "wild-turtles.com", false }, { "wildbirds.dk", true }, { "wildboaratvparts.com", true }, { "wildcard.hu", true }, @@ -32096,7 +32575,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "willbarnesphotography.co.uk", true }, { "willberg.bayern", true }, { "willekeinden.nl", true }, - { "willeminfo.ch", true }, { "willems-kristiansen.dk", true }, { "willfarrell.ca", true }, { "willi-graf-gymnasium.de", true }, @@ -32116,6 +32594,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "willywangstory.com", true }, { "willywangstory.com.tw", true }, { "willywangstory.org", true }, + { "wiloca.it", true }, { "wilseyrealty.com", true }, { "wilsonovi.com", true }, { "wimachtendienk.com", true }, @@ -32143,11 +32622,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "winebid.com", true }, { "wineworksonline.com", true }, { "winfieldchen.me", true }, - { "winghill.com", false }, + { "winghill.com", true }, { "winhistory-forum.net", true }, { "winmodels.org", true }, { "winmodels.ru", true }, { "winphonemetro.com", true }, + { "winportal.cz", true }, { "winsome.world", true }, { "wint.global", true }, { "winter-elektro.de", true }, @@ -32203,6 +32683,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wiz.farm", true }, { "wizard.gov", true }, { "wizardbouncycastles.co.uk", true }, + { "wizardmeow.xin", true }, { "wizardspire.com", true }, { "wizzley.com", false }, { "wizzr.nl", true }, @@ -32254,14 +32735,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wolfgang-kerschbaumer.at", true }, { "wolfgang-kerschbaumer.com", true }, { "wolfgang-kerschbaumer.net", true }, + { "wolfgang-kloke.de", true }, { "wolfgang-ziegler.com", true }, { "wolfie.ovh", true }, { "wolfpa.ws", true }, { "wolfram.io", true }, { "wolfsden.cz", true }, - { "wolfy1339.com", true }, + { "wolfwings.us", true }, + { "wolfy1339.com", false }, { "wolkenspeicher.org", true }, { "wollekorb.de", true }, + { "wollongongbaptist.hopto.org", true }, { "wollwerk.org", true }, { "wolszon.me", true }, { "womb.city", true }, @@ -32286,7 +32770,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "woodlandwindows.com", true }, { "woodomat.com", true }, { "woodsidepottery.ca", true }, - { "woof.gq", true }, { "woohooyeah.nl", true }, { "woonboulevardvolendam.nl", true }, { "woontegelwinkel.nl", true }, @@ -32322,7 +32805,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "workshopszwolle.nl", true }, { "workshopzwolle.com", true }, { "worksofwyoming.org", true }, - { "workwithgo.com", true }, { "world-education-association.org", true }, { "world-in-my-eyes.com", true }, { "worldcareers.dk", true }, @@ -32338,13 +32820,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "worldofterra.net", true }, { "worldofvnc.net", true }, { "worldofwobble.co.uk", true }, + { "worldpeacetechnology.com", true }, { "worldpovertysolutions.org", true }, { "worldsgreatestazuredemo.com", true }, { "worldsoccerclips.com", true }, { "worldstone777.com", true }, { "wormbytes.ca", true }, { "wormdisk.net", true }, - { "wormholevpn.net", true }, { "worst.horse", false }, { "wort-suchen.de", true }, { "woshiluo.site", true }, @@ -32372,8 +32854,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wpac.de", true }, { "wpandup.org", true }, { "wpcharged.nz", true }, + { "wpcheck.io", true }, { "wpdesigner.ir", true }, { "wpdirecto.com", true }, + { "wpdublin.com", true }, { "wpenhance.com", true }, { "wpformation.com", true }, { "wpg-inc.com", true }, @@ -32473,6 +32957,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wwgc2011.se", true }, { "wwv-8522.com", true }, { "www-33445.com", true }, + { "www-38978.com", true }, { "www-49889.com", true }, { "www-62755.com", true }, { "www-8522.am", true }, @@ -32507,6 +32992,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "www.evernote.com", false }, { "www.facebook.com", false }, { "www.fastmail.com", true }, + { "www.ft.com", true }, { "www.getcloak.com", false }, { "www.gmail.com", false }, { "www.googlemail.com", false }, @@ -32514,7 +33000,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "www.grc.com", false }, { "www.healthcare.gov", false }, { "www.heliosnet.com", true }, - { "www.history.pe", true }, { "www.honeybadger.io", false }, { "www.hyatt.com", false }, { "www.icann.org", false }, @@ -32550,7 +33035,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "www68277.com", true }, { "wxcafe.net", true }, { "wxh.jp", true }, - { "wxrlab.com", true }, { "wxster.com", true }, { "wy6.org", true }, { "wyam.io", true }, @@ -32569,7 +33053,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wzyboy.org", true }, { "x-iweb.ru", true }, { "x-lan.be", true }, - { "x-pertservice.com", true }, { "x.io", true }, { "x.st", true }, { "x0r.be", true }, @@ -32586,6 +33069,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xa1.uk", true }, { "xalqbank-online.az", true }, { "xanadu-taxi.cz", true }, + { "xanax.pro", true }, + { "xatr0z.org", false }, { "xavier.is", true }, { "xawen.net", true }, { "xbb.hk", true }, @@ -32615,6 +33100,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xeedbeam.me", true }, { "xega.org", true }, { "xehost.com", true }, + { "xelesante.jp", true }, { "xenomedia.nl", true }, { "xenophile.name", true }, { "xenosphere.tk", true }, @@ -32644,25 +33130,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xiaomi.eu", true }, { "xiaoniaoyou.com", true }, { "xiaowutou.com", true }, - { "xiaoyu.net", true }, { "xiazhanjian.com", true }, { "xichtsbuch.de", true }, { "xichuangke.com", false }, { "xicreative.net", true }, { "xight.org", true }, { "xilef.org", true }, + { "xilegames.com", true }, { "xilkoi.net", true }, { "ximbo.net", true }, { "xin-in.com", true }, { "xin-in.net", true }, { "xing-in.net", true }, { "xingiahanvisa.net", true }, - { "xiqi.us", true }, { "xirion.net", true }, { "xiyu.it", false }, { "xj8876.com", true }, { "xjd.vision", true }, { "xjjeeps.com", true }, + { "xjoi.net", true }, { "xjoin.de", true }, { "xjpvictor.info", true }, { "xkblog.xyz", true }, @@ -32671,8 +33157,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xlaff.com", true }, { "xlan.be", true }, { "xlange.com", true }, - { "xlboo.com", true }, { "xlinar.com", true }, + { "xluxes.jp", true }, { "xmedius.ca", true }, { "xmedius.com", false }, { "xmedius.eu", true }, @@ -32683,8 +33169,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xmpp.dk", true }, { "xmppwocky.net", true }, { "xmr.to", true }, - { "xn----7sbmucgqdbgwwc5e9b.xn--p1ai", true }, { "xn----8hcdn2ankm1bfq.com", true }, + { "xn--0iv967ab7w.xn--rhqv96g", true }, { "xn--0kq33cz5c8wmwrqqw1d.com", true }, { "xn--3lqp21gwna.cn", true }, { "xn--79q87uvkclvgd56ahq5a.net", true }, @@ -32694,7 +33180,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--80anogxed.xn--p1ai", true }, { "xn--80aocgsfei.xn--p1ai", true }, { "xn--80azelb.xn--p1ai", true }, - { "xn--88j2fy28hbxmnnf9zlw5buzd.com", true }, { "xn--8dry00a7se89ay98epsgxxq.com", true }, { "xn--8mr166hf6s.xn--fiqs8s", true }, { "xn--90accgba6bldkcbb7a.xn--p1acf", true }, @@ -32773,14 +33258,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--rt-cja.ie", true }, { "xn--rtter-kva.eu", true }, { "xn--ruanmller-u9a.com", true }, + { "xn--s-1gaa.fi", true }, { "xn--sdkwa9azd389v01ya.com", true }, { "xn--seelenwchter-mcb.eu", true }, { "xn--spenijmazania-yhc.pl", true }, + { "xn--sz8h.ml", true }, { "xn--t-oha.lv", true }, { "xn--t8j4aa4nkg1h9bwcvud.com", true }, { "xn--t8j4aa4nyhxa7duezbl49aqg5546e264d.net", true }, { "xn--t8j4aa4nzg3a5euoxcwee.xyz", true }, - { "xn--tda.ml", true }, { "xn--thorme-6uaf.ca", true }, { "xn--tigreray-i1a.org", true }, { "xn--u9j0ia6hb7347cg8wavz0avb0e.com", true }, @@ -32824,7 +33310,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xpletus.nl", true }, { "xplore-dna.net", true }, { "xps2pdf.co.uk", true }, - { "xqin.net", true }, { "xr.cx", true }, { "xrippedhd.com", true }, { "xrockx.de", true }, @@ -32837,7 +33322,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xss.ht", true }, { "xss.sk", true }, { "xsstime.nl", true }, - { "xsyds.cn", true }, { "xsz.jp", true }, { "xt.om", true }, { "xtarget.ru", true }, @@ -32851,15 +33335,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xts.bike", true }, { "xts3636.net", true }, { "xtu2.com", true }, - { "xtzone.be", true }, { "xuab.net", true }, { "xuan-li88.com", true }, { "xuan-li88.net", true }, { "xubo666.com", true }, { "xuc.me", true }, + { "xujan.com", true }, { "xuming.studio", true }, { "xuntier.ch", true }, - { "xupeng.me", true }, { "xvt-blog.tk", true }, { "xwalck.se", true }, { "xx0r.eu", true }, @@ -32921,7 +33404,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yaoidreams.com", true }, { "yapbreak.fr", true }, { "yarcom.ru", false }, - { "yarogneva.ru", true }, { "yarravilletownhouses.com.au", true }, { "yaru.one", true }, { "yatesun.com", true }, @@ -32991,7 +33473,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yhaupenthal.org", true }, { "yhb.io", true }, { "yhong.me", true }, - { "yhwj.top", true }, { "yibaoweilong.top", true }, { "yicknam.my", true }, { "yii2.cc", true }, @@ -32999,7 +33480,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yimgo.fr", true }, { "yin8888.tv", true }, { "yinfor.com", true }, - { "yinga.ga", true }, { "yingatech.com", true }, { "yinglinda.love", true }, { "yinlei.org", true }, @@ -33041,7 +33521,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yombo.net", true }, { "yomena.in", true }, { "yongbin.org", true }, - { "yoonas.com", true }, { "yooooex.com", true }, { "yoramvandevelde.net", true }, { "yorcom.nl", false }, @@ -33090,6 +33569,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yourforex.org", true }, { "yourfriendlytech.com", true }, { "yourgames.tv", true }, + { "yourhair.net", true }, { "yoursbookstore.jp", true }, { "yourself.today", true }, { "yourticketbooking.com", true }, @@ -33107,11 +33587,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ypart.eu", true }, { "ypcs.fi", true }, { "ypid.de", true }, + { "ypiresia.fr", false }, { "yplanapp.com", true }, { "yqjf68.com", true }, { "yr166166.com", true }, { "yryz.net", true }, { "ys-shop.biz", true }, + { "ysicing.net", true }, { "ysicorp.com", true }, { "yslbeauty.com", true }, { "ysx.me.uk", true }, @@ -33136,6 +33618,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yubico.biz", true }, { "yubico.cloud", true }, { "yubico.co.in", true }, + { "yubico.co.kr", true }, { "yubico.co.uk", true }, { "yubico.com", true }, { "yubico.dk", true }, @@ -33150,24 +33633,33 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yubico.org", true }, { "yubico.se", true }, { "yubico.sg", true }, + { "yubico.tv", true }, { "yubico.uk", true }, { "yubico.us", true }, { "yubicodemo.com", true }, { "yubikey.ae", true }, { "yubikey.asia", true }, { "yubikey.at", true }, + { "yubikey.co", true }, + { "yubikey.co.uk", true }, { "yubikey.com", true }, + { "yubikey.com.au", true }, { "yubikey.dk", true }, { "yubikey.fi", true }, { "yubikey.io", true }, { "yubikey.org", true }, { "yubikey.se", true }, { "yubikey.sg", true }, + { "yubikey.uk", true }, { "yubikey.us", true }, + { "yubikeys.net", true }, + { "yubikeys.org", true }, + { "yubikeyservices.eu", true }, { "yubiking.com", true }, { "yue.la", true }, { "yue2.net", true }, { "yuema.net.cn", true }, + { "yufan.me", true }, { "yugege.cf", true }, { "yuhuo.org", true }, { "yuka.one", true }, @@ -33186,9 +33678,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yunzhu.li", true }, { "yuricarlenzoli.it", true }, { "yurikirin.me", true }, + { "yurimoens.be", true }, { "yurinet.org", true }, { "yurisviridov.com", true }, { "yusa.me", true }, + { "yushi.moe", true }, { "yusu.org", true }, { "yutakato.net", true }, { "yutang.vn", true }, @@ -33199,6 +33693,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yuxuan.org", true }, { "yuyu.io", true }, { "yuzu.tk", true }, + { "yveshield.com", true }, { "yveslegendre.fr", true }, { "yvesx.com", true }, { "yvetteerasmus.com", true }, @@ -33207,9 +33702,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yyyy.xyz", true }, { "yzcloud.me", true }, { "yzimroni.net", true }, - { "z-coder.com", true }, { "z-konzept-nutrition.ru", true }, - { "z-latko.info", true }, { "z-vector.com", true }, { "z.ai", true }, { "z1h.de", true }, @@ -33234,7 +33727,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zachpeters.org", true }, { "zachschneider.ca", true }, { "zaclys.com", true }, - { "zadarkside.ro", true }, { "zadroweb.com", true }, { "zaem.tv", true }, { "zafirus.name", true }, @@ -33246,7 +33738,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zaidanfood.com", true }, { "zaidanfood.eu", true }, { "zaidanlebensmittelhandel.de", true }, - { "zajazd.biz", true }, { "zakcutner.uk", true }, { "zakladam.cz", true }, { "zakmccrac.de", true }, @@ -33259,17 +33750,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zamocosmeticos.com.br", true }, { "zamow.co", true }, { "zandcell.com", true }, + { "zanellidesigns.co.uk", true }, { "zanthra.com", true }, { "zanzabar.it", true }, { "zapatoshechoamano.pe", true }, { "zapier.com", true }, { "zappbuildapps.com", false }, + { "zarabiaj.com", true }, { "zaratan.fr", true }, { "zargaripour.com", true }, { "zargescases.co.uk", true }, { "zarmarket.org", true }, { "zarpo.com.br", true }, { "zary.me", true }, + { "zatsepin.by", true }, { "zaufanatrzeciastrona.pl", true }, { "zavec.com.ec", true }, { "zavetaji.lv", true }, @@ -33306,9 +33800,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zekesnider.com", true }, { "zekinteractive.com", true }, { "zelezny.uk", false }, + { "zelfoverstappen.nl", true }, { "zelfrijdendeautos.com", true }, { "zellari.ru", true }, - { "zeloz.xyz", true }, { "zemlova.cz", true }, { "zen-diez.de", true }, { "zen-ume.com", true }, @@ -33329,7 +33823,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zer0.de", true }, { "zero-sum.xyz", true }, { "zerobounce.net", true }, - { "zerocool.io", true }, { "zerofy.de", true }, { "zerolab.org", true }, { "zeroling.com", true }, @@ -33338,6 +33831,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zeropush.com", true }, { "zeroseteatacado.com.br", true }, { "zerossl.com", true }, + { "zertif.info", true }, { "zertitude.com", true }, { "zeryn.net", true }, { "zespia.tw", false }, @@ -33347,6 +33841,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zetrov.pl", true }, { "zettaplan.ru", true }, { "zettlmeissl.de", true }, + { "zeug.co", true }, { "zevelev.net", true }, { "zewtie.com", true }, { "zfast.com.br", true }, @@ -33358,8 +33853,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zh.search.yahoo.com", false }, { "zhang-hao.com", true }, { "zhang.nz", true }, + { "zhangge.net", true }, { "zhanghao.me", true }, - { "zhangsidan.com", true }, { "zhangyuhao.com", true }, { "zhangzifan.com", true }, { "zhaofeng.li", true }, @@ -33371,16 +33866,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zhitanska.com", true }, { "zhiwei.me", true }, { "zhovner.com", true }, + { "zhuihoude.com", true }, { "zhuji.com", true }, { "zhujicaihong.com", true }, { "zhuweiyou.com", true }, { "zi.is", true }, { "ziegler-family.com", true }, { "ziegler-heizung-frankfurt.de", true }, + { "zielonakarta.com", true }, { "ziemlich-zackig.de", true }, { "ziemlichzackig.de", true }, { "zifb.in", true }, { "zigi.io", true }, + { "zigottos.fr", true }, { "zigzagmart.com", true }, { "zihao.me", true }, { "ziin.de", false }, @@ -33391,6 +33889,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zilsen.com", true }, { "zima.io", true }, { "zimiao.moe", true }, + { "zimmer-voss.de", true }, { "zingarastore.com", true }, { "zingjerijk.nl", true }, { "zinniamay.com", true }, @@ -33400,6 +33899,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zip.ch", true }, { "ziptie.com", true }, { "zircode.com", true }, + { "ziroh.be", true }, { "zitseng.com", true }, { "zittingskalender.be", true }, { "zivava.ge", true }, @@ -33416,6 +33916,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zlavomat.sk", true }, { "zlc1994.com", true }, { "zlima12.com", true }, + { "zmscable.com", true }, { "znation.nl", true }, { "zning.net.cn", true }, { "zoccarato.ovh", true }, @@ -33424,10 +33925,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zodiacohouses.com", true }, { "zoeller.me", true }, { "zofrex.com", true }, + { "zohar.wang", true }, { "zoigl.club", true }, { "zojadravai.com", true }, { "zoki.art", true }, - { "zolokar.xyz", true }, { "zombiesecured.com", true }, { "zomerschoen.nl", true }, { "zonadebolsa.es", true }, @@ -33460,7 +33961,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zorium.org", true }, { "zorki.nl", true }, { "zorntt.fr", true }, - { "zorz.info", true }, { "zouk.info", true }, { "zouyaoji.top", true }, { "zravypapir.cz", true }, @@ -33486,7 +33986,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zuiacg.com", true }, { "zukix.com", true }, { "zulu.ro", true }, - { "zulu7.com", true }, { "zund-app.com", true }, { "zundapp529.nl", true }, { "zundappachterhoek.nl", true }, @@ -33521,6 +34020,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zybbo.com", true }, { "zyciedlazwierzat.pl", true }, { "zyciedogorynogami.pl", true }, + { "zylai.com", true }, { "zymmm.com", true }, { "zypern-firma.com", true }, { "zyria.de", true }, From 00288c27a1aaedca466d568f431f7de5606b0ea5 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Wed, 7 Mar 2018 17:25:56 -0800 Subject: [PATCH 04/26] #478: M1443865 (for our Intel friends if they ever get it working) --- media/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm b/media/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm index 449d52b22..9ee55a382 100644 --- a/media/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm +++ b/media/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm @@ -186,7 +186,7 @@ cglobal quantize_%1, 0, %2, 15, coeff, ncoeff, skip, zbin, round, quant, \ pshuflw m7, m8, 0x1 pmaxsw m8, m7 pextrw r6, m8, 0 - mov [r2], r6 + mov [r2], r6w RET ; skip-block, i.e. just write all zeroes From 46e917339ee43d1ca7a51a3503b50ded3cd0f313 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Wed, 7 Mar 2018 21:46:20 -0800 Subject: [PATCH 05/26] #469: super duper more hosts for super duper basic adblock --- caps/nsScriptSecurityManager.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/caps/nsScriptSecurityManager.cpp b/caps/nsScriptSecurityManager.cpp index 7438853ed..7ced3a683 100644 --- a/caps/nsScriptSecurityManager.cpp +++ b/caps/nsScriptSecurityManager.cpp @@ -705,6 +705,7 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, // blocking zdbb.net seems to be problematic // https://github.com/AdguardTeam/AdguardFilters/issues/1278 + // this may also be true for adziff.com BLOK("c.amazon-adsystem.com") || @@ -793,6 +794,7 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, BLOK("cdn.segment.com") || BLOK("cdn-gl.imrworldwide.com") || + BLOK("secure-us.imrworldwide.com") || BLOK("secure-dcr.imrworldwide.com") || BLOK("labs-cdn.revcontent.com") || @@ -997,6 +999,14 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, BLOK("s.spoutable.com") || BLOK("cdn.spoutable.com") || + + BLOK("ads.pubmatic.com") || + + BLOK("track.netshelter.net") || + + BLOK("t.neodatagroup.com") || + + BLOK("ads.servebom.com") || 0) { #undef BLOK // Yup. From 1283940d2e07a0d22cdd4e0e8a23cb0885974e88 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Fri, 9 Mar 2018 16:00:19 -0800 Subject: [PATCH 06/26] bump version number --- browser/config/version.txt | 2 +- browser/config/version_display.txt | 2 +- config/milestone.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/browser/config/version.txt b/browser/config/version.txt index e5e11550f..0fac7fb48 100644 --- a/browser/config/version.txt +++ b/browser/config/version.txt @@ -1 +1 @@ -45.15.0 +45.16.0 diff --git a/browser/config/version_display.txt b/browser/config/version_display.txt index 8f9b746a4..f43ee330f 100644 --- a/browser/config/version_display.txt +++ b/browser/config/version_display.txt @@ -1 +1 @@ -Feature Parity Release 6 +Feature Parity Release 7 diff --git a/config/milestone.txt b/config/milestone.txt index e14945d5a..fa84de174 100644 --- a/config/milestone.txt +++ b/config/milestone.txt @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #-------------------------------------------------------- -45.15.0 +45.16.0 From e1ade9f2de87f65e8422378aa6f40f117efddad8 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Fri, 9 Mar 2018 22:31:09 -0800 Subject: [PATCH 07/26] #469: expose adblock pref in UI --- .../components/preferences/in-content/tenfourfox.xul | 12 ++++++++++++ modules/libpref/init/all.js | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/browser/components/preferences/in-content/tenfourfox.xul b/browser/components/preferences/in-content/tenfourfox.xul index 51c477c4a..e6acccc74 100644 --- a/browser/components/preferences/in-content/tenfourfox.xul +++ b/browser/components/preferences/in-content/tenfourfox.xul @@ -18,6 +18,9 @@ + @@ -69,3 +72,12 @@ + + diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index b3f3c4f1e..9c7fa5c9e 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -5137,4 +5137,4 @@ pref("toolkit.pageThumbs.minWidth", 0); pref("toolkit.pageThumbs.minHeight", 0); pref("tenfourfox.adblock.enabled", false); -pref("tenfourfox.adblock.logging.enabled", true); +pref("tenfourfox.adblock.logging.enabled", false); From 8617914099f0000e9d7d07b1cb17af034c9f906d Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Sun, 11 Mar 2018 18:29:49 -0700 Subject: [PATCH 08/26] #483: speculative GC/CC retuning --- dom/base/nsJSEnvironment.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/dom/base/nsJSEnvironment.cpp b/dom/base/nsJSEnvironment.cpp index fb899e43b..34af20a0d 100644 --- a/dom/base/nsJSEnvironment.cpp +++ b/dom/base/nsJSEnvironment.cpp @@ -93,16 +93,16 @@ const size_t gStackSize = 8192; // The amount of time we wait from the first request to GC to actually // doing the first GC. -#define NS_FIRST_GC_DELAY 10000 // ms +#define NS_FIRST_GC_DELAY 30000 // ms -#define NS_FULL_GC_DELAY 60000 // ms +#define NS_FULL_GC_DELAY 100000 // ms // The default amount of time to wait from the user being idle to starting a // shrinking GC. #define NS_DEAULT_INACTIVE_GC_DELAY 300000 // ms // Maximum amount of time that should elapse between incremental GC slices -#define NS_INTERSLICE_GC_DELAY 100 // ms +#define NS_INTERSLICE_GC_DELAY 1000 // ms // If we haven't painted in 100ms, we allow for a longer GC budget #define NS_INTERSLICE_GC_BUDGET 40 // ms @@ -111,13 +111,13 @@ const size_t gStackSize = 8192; // and doing the actual CC. #define NS_CC_DELAY 6000 // ms -#define NS_CC_SKIPPABLE_DELAY 250 // ms +#define NS_CC_SKIPPABLE_DELAY 2500 // ms // Maximum amount of time that should elapse between incremental CC slices -static const int64_t kICCIntersliceDelay = 32; // ms +static const int64_t kICCIntersliceDelay = 1000; // ms // Time budget for an incremental CC slice -static const int64_t kICCSliceBudget = 5; // ms +static const int64_t kICCSliceBudget = 100; // ms // Maximum total duration for an ICC static const uint32_t kMaxICCDuration = 2000; // ms @@ -125,7 +125,7 @@ static const uint32_t kMaxICCDuration = 2000; // ms // Force a CC after this long if there's more than NS_CC_FORCED_PURPLE_LIMIT // objects in the purple buffer. #define NS_CC_FORCED (2 * 60 * PR_USEC_PER_SEC) // 2 min -#define NS_CC_FORCED_PURPLE_LIMIT 10 +#define NS_CC_FORCED_PURPLE_LIMIT 20 // Don't allow an incremental GC to lock out the CC for too long. #define NS_MAX_CC_LOCKEDOUT_TIME (30 * PR_USEC_PER_SEC) // 30 seconds From 0c70c7c824a9f4e15acdfa4a719aa19729ab87a4 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Mon, 12 Mar 2018 20:10:32 -0700 Subject: [PATCH 09/26] #482: better bidi M1358275 M1392181 M1428774 + backbugs --- dom/base/nsTextFragment.cpp | 58 ++++++-------- dom/base/nsTextFragment.h | 4 + intl/unicharutil/util/nsBidiUtils.cpp | 24 +++--- intl/unicharutil/util/nsBidiUtils.h | 46 ++++++++++- layout/base/nsBidiPresUtils.cpp | 107 +++++++++++++++++++++++++- layout/base/nsBidiPresUtils.h | 17 ++++ 6 files changed, 210 insertions(+), 46 deletions(-) diff --git a/dom/base/nsTextFragment.cpp b/dom/base/nsTextFragment.cpp index 52ccd7a59..0b8e2f045 100644 --- a/dom/base/nsTextFragment.cpp +++ b/dom/base/nsTextFragment.cpp @@ -345,22 +345,22 @@ nsTextFragment::Append(const char16_t* aBuffer, uint32_t aLength, bool aUpdateBi // Should we optimize for aData.Length() == 0? - CheckedUint32 length = mState.mLength; - length += aLength; - - if (!length.isValid()) { - return false; + // FYI: Don't use CheckedInt in this method since here is very hot path + // in some performance tests. + if (MOZ_UNLIKELY(NS_MAX_TEXT_FRAGMENT_LENGTH - mState.mLength < aLength)) { + return false; // Would be overflown if we'd keep handling. } if (mState.mIs2b) { - length *= sizeof(char16_t); - if (!length.isValid()) { - return false; + size_t size = mState.mLength + aLength; + if (MOZ_UNLIKELY(SIZE_MAX / sizeof(char16_t) < size)) { + return false; // Would be overflown if we'd keep handling. } + size *= sizeof(char16_t); // Already a 2-byte string so the result will be too - char16_t* buff = static_cast(realloc(m2b, length.value())); - if (!buff) { + char16_t* buff = static_cast(realloc(m2b, size)); + if (MOZ_UNLIKELY(!buff)) { return false; } @@ -379,15 +379,16 @@ nsTextFragment::Append(const char16_t* aBuffer, uint32_t aLength, bool aUpdateBi int32_t first16bit = FirstNon8Bit(aBuffer, aBuffer + aLength); if (first16bit != -1) { // aBuffer contains no non-8bit character - length *= sizeof(char16_t); - if (!length.isValid()) { - return false; + size_t size = mState.mLength + aLength; + if (MOZ_UNLIKELY((SIZE_MAX / sizeof(char16_t)) < size)) { + return false; // Would be overflown if we'd keep handling. } + size *= sizeof(char16_t); // The old data was 1-byte, but the new is not so we have to expand it // all to 2-byte - char16_t* buff = static_cast(malloc(length.value())); - if (!buff) { + char16_t* buff = static_cast(malloc(size)); + if (MOZ_UNLIKELY(!buff)) { return false; } @@ -414,16 +415,18 @@ nsTextFragment::Append(const char16_t* aBuffer, uint32_t aLength, bool aUpdateBi } // The new and the old data is all 1-byte + size_t size = mState.mLength + aLength; + MOZ_ASSERT(sizeof(char) == 1); char* buff; if (mState.mInHeap) { - buff = static_cast(realloc(const_cast(m1b), length.value())); - if (!buff) { + buff = static_cast(realloc(const_cast(m1b), size)); + if (MOZ_UNLIKELY(!buff)) { return false; } } else { - buff = static_cast(malloc(length.value())); - if (!buff) { + buff = static_cast(malloc(size)); + if (MOZ_UNLIKELY(!buff)) { return false; } @@ -461,21 +464,8 @@ void nsTextFragment::UpdateBidiFlag(const char16_t* aBuffer, uint32_t aLength) { if (mState.mIs2b && !mState.mIsBidi) { - const char16_t* cp = aBuffer; - const char16_t* end = cp + aLength; - while (cp < end) { - char16_t ch1 = *cp++; - uint32_t utf32Char = ch1; - if (NS_IS_HIGH_SURROGATE(ch1) && - cp < end && - NS_IS_LOW_SURROGATE(*cp)) { - char16_t ch2 = *cp++; - utf32Char = SURROGATE_TO_UCS4(ch1, ch2); - } - if (UTF32_CHAR_IS_BIDI(utf32Char) || IsBidiControl(utf32Char)) { - mState.mIsBidi = true; - break; - } + if (HasRTLChars(aBuffer, aLength)) { + mState.mIsBidi = true; } } } diff --git a/dom/base/nsTextFragment.h b/dom/base/nsTextFragment.h index d9a0aa839..25ed79a7d 100644 --- a/dom/base/nsTextFragment.h +++ b/dom/base/nsTextFragment.h @@ -213,9 +213,13 @@ public: uint32_t mInHeap : 1; uint32_t mIs2b : 1; uint32_t mIsBidi : 1; + // Note that when you change the bits of mLength, you also need to change + // NS_MAX_TEXT_FRAGMENT_LENGTH. uint32_t mLength : 29; }; +#define NS_MAX_TEXT_FRAGMENT_LENGTH (static_cast(0x1FFFFFFF)) + size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const; private: diff --git a/intl/unicharutil/util/nsBidiUtils.cpp b/intl/unicharutil/util/nsBidiUtils.cpp index 8c186ac68..db7ed41fd 100644 --- a/intl/unicharutil/util/nsBidiUtils.cpp +++ b/intl/unicharutil/util/nsBidiUtils.cpp @@ -5,6 +5,10 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsBidiUtils.h" +namespace mozilla { +static const uint32_t kMinRTLChar = 0x0590; +} // namespace mozilla; + #define ARABIC_TO_HINDI_DIGIT_INCREMENT (START_HINDI_DIGITS - START_ARABIC_DIGITS) #define PERSIAN_TO_HINDI_DIGIT_INCREMENT (START_HINDI_DIGITS - START_FARSI_DIGITS) #define ARABIC_TO_PERSIAN_DIGIT_INCREMENT (START_FARSI_DIGITS - START_ARABIC_DIGITS) @@ -82,16 +86,18 @@ nsresult HandleNumbers(char16_t* aBuffer, uint32_t aSize, uint32_t aNumFlag) return NS_OK; } -bool HasRTLChars(const nsAString& aString) +bool HasRTLChars(const char16_t* aText, uint32_t aLength) { -// This is used to determine whether to enable bidi if a string has -// right-to-left characters. To simplify things, anything that could be a -// surrogate or RTL presentation form is covered just by testing >= 0xD800). -// It's fine to enable bidi in rare cases where it actually isn't needed. - int32_t length = aString.Length(); - for (int32_t i = 0; i < length; i++) { - char16_t ch = aString.CharAt(i); - if (ch >= 0xD800 || IS_IN_BMP_RTL_BLOCK(ch)) { + // This is used to determine whether a string has right-to-left characters + // that mean it will require bidi processing. + const char16_t* cp = aText; + const char16_t* end = cp + aLength; + while (cp < end) { + char16_t ch = *cp++; + if (ch < mozilla::kMinRTLChar) { + continue; + } + if (UTF16_CODE_UNIT_IS_BIDI(ch) || IsBidiControlRTL(ch)) { return true; } } diff --git a/intl/unicharutil/util/nsBidiUtils.h b/intl/unicharutil/util/nsBidiUtils.h index ce2ac307b..30c13ac10 100644 --- a/intl/unicharutil/util/nsBidiUtils.h +++ b/intl/unicharutil/util/nsBidiUtils.h @@ -110,10 +110,19 @@ typedef enum nsCharType nsCharType; * Return false, otherwise */ #define LRM_CHAR 0x200e +#define RLM_CHAR 0x200f + #define LRE_CHAR 0x202a +#define RLE_CHAR 0x202b +#define PDF_CHAR 0x202c +#define LRO_CHAR 0x202d #define RLO_CHAR 0x202e + #define LRI_CHAR 0x2066 +#define RLI_CHAR 0x2067 +#define FSI_CHAR 0x2068 #define PDI_CHAR 0x2069 + #define ALM_CHAR 0x061C inline bool IsBidiControl(uint32_t aChar) { return ((LRE_CHAR <= aChar && aChar <= RLO_CHAR) || @@ -123,10 +132,32 @@ typedef enum nsCharType nsCharType; } /** - * Give an nsString. + * Give a UTF-16 codepoint (changed for TenFourFox; we don't use this for + * UTF-32 characters, so the conversion is unnecessary). + * Return true if the codepoint is a Bidi control character that may result + * in RTL directionality and therefore needs to trigger bidi resolution; + * return false otherwise. + */ + inline bool IsBidiControlRTL(char16_t aChar) { + return aChar == RLM_CHAR || + aChar == RLE_CHAR || + aChar == RLO_CHAR || + aChar == RLI_CHAR || + aChar == ALM_CHAR; + } + + /** + * Give a 16-bit (UTF-16) text buffer and length * @return true if the string contains right-to-left characters */ - bool HasRTLChars(const nsAString& aString); + bool HasRTLChars(const char16_t* aText, uint32_t aLength); + + /** + * Convenience function to call the above on an nsAString. + */ + inline bool HasRTLChars(const nsAString& aString) { + return HasRTLChars(aString.BeginReading(), aString.Length()); + } // These values are shared with Preferences dialog // ------------------ @@ -248,6 +279,17 @@ typedef enum nsCharType nsCharType; ((0xfe70 <= (c)) && ((c) <= 0xfefc))) #define IS_IN_SMP_RTL_BLOCK(c) (((0x10800 <= (c)) && ((c) <= 0x10fff)) || \ ((0x1e800 <= (c)) && ((c) <= 0x1eFFF))) +// Due to the supplementary-plane RTL blocks being identifiable from the +// high surrogate without examining the low surrogate, it is correct to +// use this by-code-unit check on potentially astral text without doing +// the math to decode surrogate pairs into code points. However, unpaired +// high surrogates that are RTL high surrogates then count as RTL even +// though, if replaced by the REPLACEMENT CHARACTER, it would not be +// RTL. +#define UTF16_CODE_UNIT_IS_BIDI(c) ((IS_IN_BMP_RTL_BLOCK(c)) || \ + (IS_RTL_PRESENTATION_FORM(c)) || \ + (c) == 0xD802 || (c) == 0xD803 || \ + (c) == 0xD83A || (c) == 0xD83B) #define UCS2_CHAR_IS_BIDI(c) ((IS_IN_BMP_RTL_BLOCK(c)) || \ (IS_RTL_PRESENTATION_FORM(c))) #define UTF32_CHAR_IS_BIDI(c) ((IS_IN_BMP_RTL_BLOCK(c)) || \ diff --git a/layout/base/nsBidiPresUtils.cpp b/layout/base/nsBidiPresUtils.cpp index b1b6f9754..1184da66a 100644 --- a/layout/base/nsBidiPresUtils.cpp +++ b/layout/base/nsBidiPresUtils.cpp @@ -110,6 +110,7 @@ struct BidiParagraphData { nsTArray mLinePerFrame; nsDataHashtable mContentToFrameIndex; bool mIsVisual; + bool mRequiresBidi; bool mReset; nsBidiLevel mParaLevel; nsIContent* mPrevContent; @@ -121,10 +122,14 @@ struct BidiParagraphData { void Init(nsBlockFrame *aBlockFrame) { mBidiEngine = new nsBidi(); + mRequiresBidi = false; mPrevContent = nullptr; mParagraphDepth = 0; mParaLevel = nsBidiPresUtils::BidiLevelFromStyle(aBlockFrame->StyleContext()); + if (mParaLevel > 0) { + mRequiresBidi = true; + } mIsVisual = aBlockFrame->PresContext()->IsVisualMode(); if (mIsVisual) { @@ -664,14 +669,64 @@ nsBidiPresUtils::Resolve(nsBlockFrame* aBlockFrame) char16_t ch = GetBidiControl(aBlockFrame->StyleContext(), kOverride); if (ch != 0) { bpd.PushBidiControl(ch); + bpd.mRequiresBidi = true; + } else if (!bpd.mRequiresBidi) { + // If there are no unicode-bidi properties and no RTL characters in the + // block's content, then it is pure LTR and we can skip the rest of bidi + // resolution. + nsIContent* currContent = nullptr; + for (nsBlockFrame* block = aBlockFrame; block; + block = static_cast(block->GetNextContinuation())) { + block->RemoveStateBits(NS_BLOCK_NEEDS_BIDI_RESOLUTION); + if (/* !bpd.mRequiresBidi && */ + ChildListMayRequireBidi(block->PrincipalChildList().FirstChild(), + &currContent)) { + bpd.mRequiresBidi = true; + + // Optimization for TenFourFox issue 482: + // It's safe to break here if mRequiresBidi is true because we'll + // pull the state bits off in the loop below (if we didn't, we would + // essentially cause bug 1362423). This also allows us to reduce + // checking mRequiresBidi all the time. + break; + } +#if(0) + // XXX: Unnecessary work given that the below isn't executed. + // If we need bidi support for overflow, we need to enable this too. + /* if (!bpd.mRequiresBidi) { */ + nsBlockFrame::FrameLines* overflowLines = block->GetOverflowLines(); + if (overflowLines) { // XXX: see below + if (ChildListMayRequireBidi(overflowLines->mFrames.FirstChild(), + &currContent)) { + bpd.mRequiresBidi = true; + break; // as above + } + } + /* } */ +#endif + } + if (!bpd.mRequiresBidi) { + return NS_OK; + } } + for (nsBlockFrame* block = aBlockFrame; block; block = static_cast(block->GetNextContinuation())) { block->RemoveStateBits(NS_BLOCK_NEEDS_BIDI_RESOLUTION); nsBlockInFlowLineIterator lineIter(block, block->begin_lines()); bpd.ResetForNewBlock(); TraverseFrames(aBlockFrame, &lineIter, block->GetFirstPrincipalChild(), &bpd); - // XXX what about overflow lines? +#if(0) + nsBlockFrame::FrameLines* overflowLines = block->GetOverflowLines(); + // XXX: Not sure if this is going to break anything. + // It's safe to do above (from bug 1358275) because that doesn't actually + // bidi-process the overflow lines; it just checks if we need to. + if (overflowLines) { + nsBlockInFlowLineIterator it(block, overflowLines->mLines.begin(), true); + bpd.ResetForNewBlock(); + TraverseFrames(aBlockFrame, &it, overflowLines->mFrames.FirstChild(), &bpd); + } +#endif } if (ch != 0) { @@ -1241,6 +1296,56 @@ nsBidiPresUtils::TraverseFrames(nsBlockFrame* aBlockFrame, MOZ_ASSERT(initialLineContainer == aLineIter->GetContainer()); } +bool +nsBidiPresUtils::ChildListMayRequireBidi(nsIFrame* aFirstChild, + nsIContent** aCurrContent) +{ + MOZ_ASSERT(!aFirstChild || !aFirstChild->GetPrevSibling(), + "Expecting to traverse from the start of a child list"); + + for (nsIFrame* childFrame = aFirstChild; childFrame; + childFrame = childFrame->GetNextSibling()) { + + nsIFrame* frame = childFrame; + + // If the real frame for a placeholder is a first-letter frame, we need to + // consider its contents for potential Bidi resolution. + if (childFrame->GetType() == nsGkAtoms::placeholderFrame) { + nsIFrame* realFrame = + nsPlaceholderFrame::GetRealFrameForPlaceholder(childFrame); + if (realFrame->GetType() == nsGkAtoms::letterFrame) { + frame = realFrame; + } + } + + // If unicode-bidi properties are present, we should do bidi resolution. + nsStyleContext* sc = frame->StyleContext(); + if (GetBidiControl(sc, kOverrideOrEmbed)) { + return true; + } + + if (IsBidiLeaf(frame)) { + if (frame->GetType() == nsGkAtoms::textFrame) { + // Check whether the text frame has any RTL characters; if so, bidi + // resolution will be needed. + nsIContent* content = frame->GetContent(); + if (content != *aCurrContent) { + *aCurrContent = content; + const nsTextFragment* txt = content->GetText(); + if (txt->Is2b() && HasRTLChars(txt->Get2b(), txt->GetLength())) { + return true; + } + } + } + } else if (ChildListMayRequireBidi(frame->PrincipalChildList().FirstChild(), + aCurrContent)) { + return true; + } + } + + return false; +} + void nsBidiPresUtils::ResolveParagraphWithinBlock(nsBlockFrame* aBlockFrame, BidiParagraphData* aBpd) diff --git a/layout/base/nsBidiPresUtils.h b/layout/base/nsBidiPresUtils.h index 2c8b4677b..a7a72a30b 100644 --- a/layout/base/nsBidiPresUtils.h +++ b/layout/base/nsBidiPresUtils.h @@ -399,6 +399,23 @@ private: nsIFrame* aCurrentFrame, BidiParagraphData* aBpd); + /** + * Perform a recursive "pre-traversal" of the child frames of a block or + * inline container frame, to determine whether full bidi resolution is + * actually needed. + * This explores the same frames as TraverseFrames (above), but is less + * expensive and may allow us to avoid performing the full TraverseFrames + * operation. + * @param aFirstChild frame to start traversal from + * @param[in/out] aCurrContent the content node that we've most recently + * scanned for RTL characters (so that when descendant frames refer + * to the same content, we can avoid repeatedly scanning it). + * @return true if it finds that bidi is (or may be) required, + * false if no potentially-bidi content is present. + */ + static bool ChildListMayRequireBidi(nsIFrame* aFirstChild, + nsIContent** aCurrContent); + /** * Position ruby content frames (ruby base/text frame). * Called from RepositionRubyFrame. From 366e20af5053cc93959d65eb9a98dab72d82a722 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Mon, 12 Mar 2018 21:04:48 -0700 Subject: [PATCH 10/26] #482: note to self --- layout/base/nsBidiPresUtils.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/layout/base/nsBidiPresUtils.cpp b/layout/base/nsBidiPresUtils.cpp index 1184da66a..5cd0a274a 100644 --- a/layout/base/nsBidiPresUtils.cpp +++ b/layout/base/nsBidiPresUtils.cpp @@ -705,6 +705,9 @@ nsBidiPresUtils::Resolve(nsBlockFrame* aBlockFrame) /* } */ #endif } + // Moving the below here so that we can keep partial work causes RTL + // to get munged. It seems we really do have to iterate through all the + // frames again from the beginning if any are RTL. if (!bpd.mRequiresBidi) { return NS_OK; } From 9143ede148122ead5b07b3a7931f06b9c932bc79 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Thu, 15 Mar 2018 20:23:24 -0700 Subject: [PATCH 11/26] #483: wrong way on purple buffer (otherwise OOMs result) --- dom/base/nsJSEnvironment.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dom/base/nsJSEnvironment.cpp b/dom/base/nsJSEnvironment.cpp index 34af20a0d..ebb57d418 100644 --- a/dom/base/nsJSEnvironment.cpp +++ b/dom/base/nsJSEnvironment.cpp @@ -125,7 +125,7 @@ static const uint32_t kMaxICCDuration = 2000; // ms // Force a CC after this long if there's more than NS_CC_FORCED_PURPLE_LIMIT // objects in the purple buffer. #define NS_CC_FORCED (2 * 60 * PR_USEC_PER_SEC) // 2 min -#define NS_CC_FORCED_PURPLE_LIMIT 20 +#define NS_CC_FORCED_PURPLE_LIMIT 9 // Don't allow an incremental GC to lock out the CC for too long. #define NS_MAX_CC_LOCKEDOUT_TIME (30 * PR_USEC_PER_SEC) // 30 seconds From fd2f991b5659d7ca96244f6c05c6309f1d660e48 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Thu, 15 Mar 2018 20:27:07 -0700 Subject: [PATCH 12/26] #478 chemspill: M1446062 fixes M1446068 --- media/libvorbis/lib/vorbis_codebook.c | 48 ++++++--------------------- 1 file changed, 10 insertions(+), 38 deletions(-) diff --git a/media/libvorbis/lib/vorbis_codebook.c b/media/libvorbis/lib/vorbis_codebook.c index 72f8a17a3..49b7b09b2 100644 --- a/media/libvorbis/lib/vorbis_codebook.c +++ b/media/libvorbis/lib/vorbis_codebook.c @@ -387,7 +387,7 @@ long vorbis_book_decodevs_add(codebook *book,float *a,oggpack_buffer *b,int n){ t[i] = book->valuelist+entry[i]*book->dim; } for(i=0,o=0;idim;i++,o+=step) - for (j=0;jdim>8){ - for(i=0;ivaluelist+entry*book->dim; - for (j=0;jdim;) - a[i++]+=t[j++]; - } - }else{ - for(i=0;ivaluelist+entry*book->dim; - j=0; - switch((int)book->dim){ - case 8: - a[i++]+=t[j++]; - case 7: - a[i++]+=t[j++]; - case 6: - a[i++]+=t[j++]; - case 5: - a[i++]+=t[j++]; - case 4: - a[i++]+=t[j++]; - case 3: - a[i++]+=t[j++]; - case 2: - a[i++]+=t[j++]; - case 1: - a[i++]+=t[j++]; - case 0: - break; - } - } + for(i=0;ivaluelist+entry*book->dim; + for(j=0;idim;) + a[i++]+=t[j++]; } } return(0); @@ -471,12 +442,13 @@ long vorbis_book_decodevv_add(codebook *book,float **a,long offset,int ch, long i,j,entry; int chptr=0; if(book->used_entries>0){ - for(i=offset/ch;i<(offset+n)/ch;){ + int m=(offset+n)/ch; + for(i=offset/ch;ivaluelist+entry*book->dim; - for (j=0;jdim;j++){ + for (j=0;idim;j++){ a[chptr++][i]+=t[j]; if(chptr==ch){ chptr=0; From bff91bd918a2e7619babecc1789242961f9dc415 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Thu, 15 Mar 2018 21:28:59 -0700 Subject: [PATCH 13/26] chemspill: fix problem with SPR display --- toolkit/content/about.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolkit/content/about.js b/toolkit/content/about.js index 7739268d3..6e655e247 100644 --- a/toolkit/content/about.js +++ b/toolkit/content/about.js @@ -29,7 +29,7 @@ if (versionNum.substr(0,3) == "45.") { // FPR series var vf = 0 + versionNum.substr(3); var pl = ""+ (vf - (vf|0)); - pl = 0 + pl.substr(1); + pl = (0 + pl.substr(1))|0; vf = vf|0; vf -= 9; // XXX localize me version.textContent = "Feature Parity Release "+vf+ From 96253b42bf7063ff50857d42c9cc32a996a11ae4 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Fri, 16 Mar 2018 20:17:13 -0700 Subject: [PATCH 14/26] #469: more hosts for adblock --- caps/nsScriptSecurityManager.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/caps/nsScriptSecurityManager.cpp b/caps/nsScriptSecurityManager.cpp index 7ced3a683..9eeabf54f 100644 --- a/caps/nsScriptSecurityManager.cpp +++ b/caps/nsScriptSecurityManager.cpp @@ -707,6 +707,9 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, // https://github.com/AdguardTeam/AdguardFilters/issues/1278 // this may also be true for adziff.com + // don't block kxcdn + // https://github.com/EFForg/privacybadger/issues/1381 + BLOK("c.amazon-adsystem.com") || BLOK("google-analytics.com") || @@ -802,6 +805,7 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, BLOK("cdn.revcontent.com") || BLOK("cas.criteo.com") || + BLOK("rtax.criteo.com") || BLOK("static.criteo.net") || BLOK("jsc.idealmedia.com") || @@ -1007,6 +1011,12 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, BLOK("t.neodatagroup.com") || BLOK("ads.servebom.com") || + + BLOK("a.mailmunch.co") || + + BLOK("ads.adthrive.com") || + + BLOK("js.agkn.com") || 0) { #undef BLOK // Yup. From c3b712f863db7f662151c31b59a4a2a8cd427e51 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Fri, 16 Mar 2018 20:18:06 -0700 Subject: [PATCH 15/26] M1252374 reduce mallocs in displayList generation --- layout/base/nsDisplayList.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layout/base/nsDisplayList.cpp b/layout/base/nsDisplayList.cpp index 1cf03e3b5..4390ab92e 100644 --- a/layout/base/nsDisplayList.cpp +++ b/layout/base/nsDisplayList.cpp @@ -647,7 +647,7 @@ nsDisplayListBuilder::nsDisplayListBuilder(nsIFrame* aReferenceFrame, mAsyncPanZoomEnabled(nsLayoutUtils::AsyncPanZoomEnabled(aReferenceFrame)) { MOZ_COUNT_CTOR(nsDisplayListBuilder); - PL_InitArenaPool(&mPool, "displayListArena", 1024, + PL_InitArenaPool(&mPool, "displayListArena", 4096, std::max(NS_ALIGNMENT_OF(void*),NS_ALIGNMENT_OF(double))-1); nsPresContext* pc = aReferenceFrame->PresContext(); From 6c2488e150b90d0d12c4657877d2bfedc3364230 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Fri, 16 Mar 2018 23:14:53 -0700 Subject: [PATCH 16/26] #485: mostly working destructuring nested rest assignment --- js/src/frontend/BytecodeEmitter.cpp | 1 - js/src/frontend/Parser.cpp | 5 --- .../tests/basic/destructuring-iterator.js | 25 +++++++++++++-- .../tests/basic/destructuring-rest.js | 32 +++++++++++++++++-- 4 files changed, 52 insertions(+), 11 deletions(-) diff --git a/js/src/frontend/BytecodeEmitter.cpp b/js/src/frontend/BytecodeEmitter.cpp index 0d232a324..a3e19e19d 100644 --- a/js/src/frontend/BytecodeEmitter.cpp +++ b/js/src/frontend/BytecodeEmitter.cpp @@ -3761,7 +3761,6 @@ BytecodeEmitter::emitDestructuringDeclsWithEmitter(JSOp prologueOp, ParseNode* p continue; ParseNode* target = element; if (element->isKind(PNK_SPREAD)) { - MOZ_ASSERT(element->pn_kid->isKind(PNK_NAME)); target = element->pn_kid; } if (target->isKind(PNK_ASSIGN)) diff --git a/js/src/frontend/Parser.cpp b/js/src/frontend/Parser.cpp index a612975e0..22ff1ae4d 100644 --- a/js/src/frontend/Parser.cpp +++ b/js/src/frontend/Parser.cpp @@ -4276,11 +4276,6 @@ Parser::checkDestructuringArray(BindData* da return false; } target = element->pn_kid; - - if (handler.isUnparenthesizedDestructuringPattern(target)) { - report(ParseError, false, target, JSMSG_BAD_DESTRUCT_TARGET); - return false; - } } else if (handler.isUnparenthesizedAssignment(element)) { target = element->pn_left; } else { diff --git a/js/src/jit-test/tests/basic/destructuring-iterator.js b/js/src/jit-test/tests/basic/destructuring-iterator.js index a9403ed38..8d6b9e6e9 100644 --- a/js/src/jit-test/tests/basic/destructuring-iterator.js +++ b/js/src/jit-test/tests/basic/destructuring-iterator.js @@ -49,6 +49,23 @@ assertIterable([5,5,4,4], it => { var [,,...rest] = it; return rest; }, [3,4]); +// the iterator should be exhausted before any error is thrown +if(0) { +// XXX: this doesn't throw right now. just test syntax below. +// plan to reenable this for issue 485 +assertIterable([5,5,4,4], + it => { + assertThrowsInstanceOf(function () { + "use strict"; + [...{0: "".x}] = it; + }, TypeError); + return []; + }, + []); +} else { +assertIterable([5,5,4,4], it => { [...{0: "".x}] = it; return []; }, []); +} + var arraycalls = 0; var ArrayIterator = Array.prototype[Symbol.iterator]; Array.prototype[Symbol.iterator] = function () { @@ -58,7 +75,11 @@ Array.prototype[Symbol.iterator] = function () { // [...rest] should not call Array#@@iterator for the LHS var [...rest] = iterable; assertEq(arraycalls, 0, 'calls to Array#@@iterator'); - +// [...[...rest]] should do so, since it creates an implicit array for the +// first rest pattern, then destructures that again using @@iterator() for the +// second rest pattern. +var [...[...rest]] = iterable; +assertEq(arraycalls, 1, 'calls to Array#@@iterator'); // loop `fn` a few times, to get it JIT-compiled function loop(fn) { @@ -67,7 +88,7 @@ function loop(fn) { } loop(() => { doneafter = 4; var [a] = iterable; return a; }); -loop(() => { doneafter = 4; var [a,b,...rest] = iterable; return rest; }); +loop(() => { doneafter = 4; var [a,b,...[...rest]] = iterable; return rest; }); // destructuring assignment should always use iterators and not optimize diff --git a/js/src/jit-test/tests/basic/destructuring-rest.js b/js/src/jit-test/tests/basic/destructuring-rest.js index 30ac1b002..4b86bd2d0 100644 --- a/js/src/jit-test/tests/basic/destructuring-rest.js +++ b/js/src/jit-test/tests/basic/destructuring-rest.js @@ -4,8 +4,6 @@ load(libdir + 'eqArrayHelper.js'); assertThrowsInstanceOf(() => new Function('[...a, ,] = []'), SyntaxError, 'trailing elision'); assertThrowsInstanceOf(() => new Function('[a, ...b, c] = []'), SyntaxError, 'trailing param'); -assertThrowsInstanceOf(() => new Function('[...[a]] = []'), SyntaxError, 'nested arraypattern'); -assertThrowsInstanceOf(() => new Function('[...{a}] = []'), SyntaxError, 'nested objectpattern'); assertThrowsInstanceOf(() => new Function('[...a=b] = []'), SyntaxError, 'assignment expression'); assertThrowsInstanceOf(() => new Function('[...a()] = []'), SyntaxError, 'call expression'); assertThrowsInstanceOf(() => new Function('[...(a,b)] = []'), SyntaxError, 'comma expression'); @@ -22,6 +20,14 @@ assertThrowsInstanceOf(() => assertThrowsInstanceOf(() => new Function('[...b,] = []'), SyntaxError) , Error); +assertThrowsInstanceOf(() => { + try { + eval('let [...[...x]] = (() => { throw "foo"; } )();'); + } catch(e) { + assertEq(e, "foo"); + } + x; +}, ReferenceError); var inputArray = [1, 2, 3]; var inputDeep = [1, inputArray]; @@ -45,6 +51,11 @@ function testAll(fn) { assertEqArray(fn('[, ...(o.prop)]', inputArray, 'o.prop'), expected); o.prop = null; assertEqArray(fn('[, ...(o.call().prop)]', inputArray, 'o.prop'), expected); + + o.prop = null; + assertEqArray(fn('[, ...[...(o.prop)]]', inputArray, 'o.prop'), expected); + o.prop = null; + assertEqArray(fn('[, ...[...(o.call().prop)]]', inputArray, 'o.prop'), expected); } function testDeclaration(fn) { testStr(fn); @@ -53,10 +64,24 @@ function testDeclaration(fn) { assertEqArray(fn('[, ...rest]', inputGenerator()), expected); assertEqArray(fn('[, [, ...rest]]', inputDeep), expected); assertEqArray(fn('{a: [, ...rest]}', inputObject), expected); + + assertEqArray(fn('[, ...[...rest]]', inputArray), expected); + assertEqArray(fn('[, ...[...rest]]', inputGenerator()), expected); + assertEqArray(fn('[, [, ...[...rest]]]', inputDeep), expected); + assertEqArray(fn('{a: [, ...[...rest]]}', inputObject), expected); + + assertEqArray(fn('[, ...{0: a, 1: b}]', inputArray, '[a, b]'), expected); + assertEqArray(fn('[, ...{0: a, 1: b}]', inputGenerator(), '[a, b]'), expected); + assertEqArray(fn('[, [, ...{0: a, 1: b}]]', inputDeep, '[a, b]'), expected); + assertEqArray(fn('{a: [, ...{0: a, 1: b}]}', inputObject, '[a, b]'), expected); } function testStr(fn) { assertEqArray(fn('[, ...rest]', inputStr), expectedStr); + + assertEqArray(fn('[, ...[...rest]]', inputStr), expectedStr); + + assertEqArray(fn('[, ...{0: a, 1: b}]', inputStr, '[a, b]'), expectedStr); } function testForIn(pattern, input, binding) { @@ -88,8 +113,9 @@ testAll(testGlobal); function testClosure(pattern, input, binding) { binding = binding || 'rest'; + const decl = binding.replace('[', '').replace(']', ''); return new Function('input', - 'var ' + binding + '; (function () {' + + 'var ' + decl + '; (function () {' + '(' + pattern + ' = input);' + '})();' + 'return ' + binding From f61c406ba825afed56f8eb581f992fda1958f3f9 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Fri, 16 Mar 2018 23:19:58 -0700 Subject: [PATCH 17/26] chemspill: no srsly fix problem with SPR display --- toolkit/content/about.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolkit/content/about.js b/toolkit/content/about.js index 6e655e247..44d0abf99 100644 --- a/toolkit/content/about.js +++ b/toolkit/content/about.js @@ -29,7 +29,7 @@ if (versionNum.substr(0,3) == "45.") { // FPR series var vf = 0 + versionNum.substr(3); var pl = ""+ (vf - (vf|0)); - pl = (0 + pl.substr(1))|0; + pl = ((0 + pl.substr(1) * 10)+0.001)|0; // damn float rounding vf = vf|0; vf -= 9; // XXX localize me version.textContent = "Feature Parity Release "+vf+ From 5ed131b2ed594f6fac4426dfb231db2110396e32 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Sat, 17 Mar 2018 15:30:31 -0700 Subject: [PATCH 18/26] closes #486: amp up hashtables M1352889 M1352890 M1379282 --- xpcom/glue/PLDHashTable.cpp | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/xpcom/glue/PLDHashTable.cpp b/xpcom/glue/PLDHashTable.cpp index 688403c23..bf5d70c78 100644 --- a/xpcom/glue/PLDHashTable.cpp +++ b/xpcom/glue/PLDHashTable.cpp @@ -12,6 +12,7 @@ #include "mozilla/HashFunctions.h" #include "mozilla/MathAlgorithms.h" #include "nsAlgorithm.h" +#include "mozilla/HashFunctions.h" #include "mozilla/Likely.h" #include "mozilla/MemoryReporting.h" #include "mozilla/ChaosMode.h" @@ -71,7 +72,7 @@ PLDHashTable::HashStringKey(PLDHashTable* aTable, const void* aKey) /* static */ PLDHashNumber PLDHashTable::HashVoidPtrKeyStub(PLDHashTable* aTable, const void* aKey) { - return (PLDHashNumber)(ptrdiff_t)aKey >> 2; + return mozilla::HashGeneric(aKey); } /* static */ bool @@ -256,15 +257,38 @@ PLDHashTable::Hash1(PLDHashNumber aHash0) return aHash0 >> mHashShift; } -// Double hashing needs the second hash code to be relatively prime to table -// size, so we simply make hash2 odd. void -PLDHashTable::Hash2(PLDHashNumber aHash, +PLDHashTable::Hash2(PLDHashNumber aHash0, uint32_t& aHash2Out, uint32_t& aSizeMaskOut) { uint32_t sizeLog2 = kHashBits - mHashShift; - aHash2Out = ((aHash << sizeLog2) >> mHashShift) | 1; - aSizeMaskOut = (PLDHashNumber(1) << sizeLog2) - 1; + uint32_t sizeMask = (PLDHashNumber(1) << sizeLog2) - 1; + aSizeMaskOut = sizeMask; + + // The incoming aHash0 always has the low bit unset (since we leave it + // free for the collision flag), and should have reasonably random + // data in the other 31 bits. We used the high bits of aHash0 for + // Hash1, so we use the low bits here. If the table size is large, + // the bits we use may overlap, but that's still more random than + // filling with 0s. + // + // Since the result of Hash2 controls how far we jump around the table + // to build a chain after starting at a location determined by Hash1, + // we'd like to keep it small, to improve cache behavior. + // Keep the jumps from the second hash small, to improve cache behavior. + const uint32_t kHash2MaskMaxBits = 6; + uint32_t hash2Mask; + if (sizeLog2 >= kHash2MaskMaxBits) { + hash2Mask = (PLDHashNumber(1) << kHash2MaskMaxBits) - 1; + } else { + hash2Mask = sizeMask; + } + // Double hashing needs the second hash code to be relatively prime to table + // size, so we simply make hash2 odd. + // + // This also conveniently covers up the fact that we have the low bit + // unset since aHash0 has the low bit unset. + aHash2Out = (aHash0 & hash2Mask) | 1; } // Reserve mKeyHash 0 for free entries and 1 for removed-entry sentinels. Note From e4694e1bd2459dfffcde29c77f02de80af34ccb1 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Sat, 17 Mar 2018 16:41:42 -0700 Subject: [PATCH 19/26] #469: more hosts and a miner for basic adblock --- caps/nsScriptSecurityManager.cpp | 36 ++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/caps/nsScriptSecurityManager.cpp b/caps/nsScriptSecurityManager.cpp index 9eeabf54f..62b1b8ea6 100644 --- a/caps/nsScriptSecurityManager.cpp +++ b/caps/nsScriptSecurityManager.cpp @@ -710,6 +710,12 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, // don't block kxcdn // https://github.com/EFForg/privacybadger/issues/1381 + // miners + BLOK("coinhive.com") || + BLOK("www.freecontent.stream") || + BLOK("www.freecontent.stream.") || + + // other obnoxious things BLOK("c.amazon-adsystem.com") || BLOK("google-analytics.com") || @@ -854,6 +860,7 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, BLOK("www.npttech.com") || + BLOK("fw.adsafeprotected.com") || BLOK("cdn.adsafeprotected.com") || BLOK("pixel.adsafeprotected.com") || BLOK("static.adsafeprotected.com") || @@ -988,14 +995,12 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, BLOK("cdata.carambo.la") || BLOK("route.carambo.la") || + BLOK("us-u.openx.net") || + BLOK("uk-ads.openx.net") || BLOK("us-ads.openx.net") || BLOK("s-static.innovid.com") || - // This is controversial, but I'm pretty sure we - // don't want this. - BLOK("coinhive.com") || - BLOK("ustatik.com") || BLOK("cdn.ustatik.com") || @@ -1017,6 +1022,29 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, BLOK("ads.adthrive.com") || BLOK("js.agkn.com") || + + BLOK("htl.bid") || + + BLOK("rtb.districtm.io") || + BLOK("prebid.districtm.ca") || + + BLOK("speednetwork14.adk2.co") || + BLOK("speednetwork14.adk2x.com") || + + BLOK("deloton.com") || + + BLOK("clickiocdn.com") || + BLOK("clickioadve.com") || + + BLOK("cti.w55c.net") || + BLOK("cdn.w55c.net") || + + BLOK("mobpushup.com") || + + BLOK("sc.iasds01.com") || + + BLOK("cdn.optimizely.com") || + BLOK("cdn3.optimizely.com") || 0) { #undef BLOK // Yup. From 8f266f335903e678aaf864b915aaa11ad79237bb Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Sat, 17 Mar 2018 20:03:51 -0700 Subject: [PATCH 20/26] #405: fix idl --- widget/nsIDatePicker.idl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/widget/nsIDatePicker.idl b/widget/nsIDatePicker.idl index 0263dc857..e0dfa0f24 100644 --- a/widget/nsIDatePicker.idl +++ b/widget/nsIDatePicker.idl @@ -59,6 +59,13 @@ interface nsIDatePicker : nsISupports */ attribute AString maxDate; + /** + * The selected date. + * + * @return Returns the date currently selected. + */ + readonly attribute AString selectedDate; + /** * Show date dialog. The dialog is displayed modally. * From 41675e9698535395a9811935949a5762060b04d8 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Sun, 18 Mar 2018 20:23:52 -0700 Subject: [PATCH 21/26] #469, #399: more adblock hosts, faster StringBegins/End, any-link, base/srcdoc M1247359 M843579 M1238804 --- caps/nsScriptSecurityManager.cpp | 2 ++ dom/base/nsIDocument.h | 27 ++++++++++++++---- dom/html/HTMLSharedElement.cpp | 5 ++-- layout/inspector/inDOMUtils.cpp | 7 +++-- layout/style/nsCSSPseudoClassList.h | 2 ++ xpcom/string/nsReadableUtils.cpp | 44 +++++++++++++++++++++++++++++ xpcom/string/nsReadableUtils.h | 16 +++++------ 7 files changed, 85 insertions(+), 18 deletions(-) diff --git a/caps/nsScriptSecurityManager.cpp b/caps/nsScriptSecurityManager.cpp index 62b1b8ea6..a1e644e93 100644 --- a/caps/nsScriptSecurityManager.cpp +++ b/caps/nsScriptSecurityManager.cpp @@ -915,6 +915,7 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, BLOK("se.monetate.net") || BLOK("ad.crwdcntrl.net") || + BLOK("bcp.crwdcntrl.net") || BLOK("tags.crwdcntrl.net") || BLOK("cdn.nsstatic.net") || @@ -930,6 +931,7 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, BLOK("stats.cloudwp.io") || BLOK("ap.lijit.com") || + BLOK("ce.lijit.com") || BLOK("tlx.3lift.com") || diff --git a/dom/base/nsIDocument.h b/dom/base/nsIDocument.h index c74f96dbd..ec9480b10 100644 --- a/dom/base/nsIDocument.h +++ b/dom/base/nsIDocument.h @@ -347,17 +347,32 @@ public: } /** - * Return the base URI for relative URIs in the document (the document uri - * unless it's overridden by SetBaseURI, HTML tags, etc.). The - * returned URI could be null if there is no document URI. If the document - * is a srcdoc document, return the parent document's base URL. + * Return the fallback base URL for this document, as defined in the HTML + * specification. Note that this can return null if there is no document URI. + * + * XXXbz: This doesn't implement the bits for about:blank yet. */ - nsIURI* GetDocBaseURI() const + nsIURI* GetFallbackBaseURI() const { if (mIsSrcdocDocument && mParentDocument) { return mParentDocument->GetDocBaseURI(); } - return mDocumentBaseURI ? mDocumentBaseURI : mDocumentURI; + return mDocumentURI; + } + + /** + * Return the base URI for relative URIs in the document (the document uri + * unless it's overridden by SetBaseURI, HTML tags, etc.). The + * returned URI could be null if there is no document URI. If the document is + * a srcdoc document and has no explicit base URL, return the parent + * document's base URL. + */ + nsIURI* GetDocBaseURI() const + { + if (mDocumentBaseURI) { + return mDocumentBaseURI; + } + return GetFallbackBaseURI(); } virtual already_AddRefed GetBaseURI(bool aTryUseXHRDocBaseURI = false) const override; diff --git a/dom/html/HTMLSharedElement.cpp b/dom/html/HTMLSharedElement.cpp index 0b8099b4a..a2c6fc6d1 100644 --- a/dom/html/HTMLSharedElement.cpp +++ b/dom/html/HTMLSharedElement.cpp @@ -164,14 +164,15 @@ SetBaseURIUsingFirstBaseWithHref(nsIDocument* aDocument, nsIContent* aMustMatch) return; } - // Resolve the element's href relative to our document URI + // Resolve the element's href relative to our document's + // fallback base URI. nsAutoString href; child->GetAttr(kNameSpaceID_None, nsGkAtoms::href, href); nsCOMPtr newBaseURI; nsContentUtils::NewURIWithDocumentCharset( getter_AddRefs(newBaseURI), href, aDocument, - aDocument->GetDocumentURI()); + aDocument->GetFallbackBaseURI()); // Try to set our base URI. If that fails, try to set base URI to null nsresult rv = aDocument->SetBaseURI(newBaseURI); diff --git a/layout/inspector/inDOMUtils.cpp b/layout/inspector/inDOMUtils.cpp index 5f62252ae..f7f88fcbe 100644 --- a/layout/inspector/inDOMUtils.cpp +++ b/layout/inspector/inDOMUtils.cpp @@ -1176,10 +1176,13 @@ GetStatesForPseudoClass(const nsAString& aStatePseudo) nsCOMPtr atom = do_GetAtom(aStatePseudo); - // Ignore :moz-any-link so we don't give the element simultaneous + // Ignore :any-link so we don't give the element simultaneous // visited and unvisited style state if (nsCSSPseudoClasses::GetPseudoType(atom) == - nsCSSPseudoClasses::ePseudoClass_mozAnyLink) { + nsCSSPseudoClasses::ePseudoClass_mozAnyLink || +// XXX: this could be cleaned up. do it once it's building + nsCSSPseudoClasses::GetPseudoType(atom) == + nsCSSPseudoClasses::ePseudoClass_anyLink) { return EventStates(); } // Our array above is long enough that indexing into it with diff --git a/layout/style/nsCSSPseudoClassList.h b/layout/style/nsCSSPseudoClassList.h index bca620b5c..4883337c3 100644 --- a/layout/style/nsCSSPseudoClassList.h +++ b/layout/style/nsCSSPseudoClassList.h @@ -142,6 +142,8 @@ CSS_STATE_PSEUDO_CLASS(link, ":link", 0, "", NS_EVENT_STATE_UNVISITED) // what matches :link or :visited CSS_STATE_PSEUDO_CLASS(mozAnyLink, ":-moz-any-link", 0, "", NS_EVENT_STATE_VISITED | NS_EVENT_STATE_UNVISITED) +CSS_STATE_PSEUDO_CLASS(anyLink, ":any-link", 0, "", + NS_EVENT_STATE_VISITED | NS_EVENT_STATE_UNVISITED) CSS_STATE_PSEUDO_CLASS(visited, ":visited", 0, "", NS_EVENT_STATE_VISITED) CSS_STATE_PSEUDO_CLASS(active, ":active", 0, "", NS_EVENT_STATE_ACTIVE) diff --git a/xpcom/string/nsReadableUtils.cpp b/xpcom/string/nsReadableUtils.cpp index 879b4ef5c..d8904fe95 100644 --- a/xpcom/string/nsReadableUtils.cpp +++ b/xpcom/string/nsReadableUtils.cpp @@ -1026,6 +1026,17 @@ CountCharInReadable(const nsACString& aStr, char aChar) return count; } +bool +StringBeginsWith(const nsAString& aSource, const nsAString& aSubstring) +{ + nsAString::size_type src_len = aSource.Length(), + sub_len = aSubstring.Length(); + if (sub_len > src_len) { + return false; + } + return Substring(aSource, 0, sub_len).Equals(aSubstring); +} + bool StringBeginsWith(const nsAString& aSource, const nsAString& aSubstring, const nsStringComparator& aComparator) @@ -1038,6 +1049,17 @@ StringBeginsWith(const nsAString& aSource, const nsAString& aSubstring, return Substring(aSource, 0, sub_len).Equals(aSubstring, aComparator); } +bool +StringBeginsWith(const nsACString& aSource, const nsACString& aSubstring) +{ + nsACString::size_type src_len = aSource.Length(), + sub_len = aSubstring.Length(); + if (sub_len > src_len) { + return false; + } + return Substring(aSource, 0, sub_len).Equals(aSubstring); +} + bool StringBeginsWith(const nsACString& aSource, const nsACString& aSubstring, const nsCStringComparator& aComparator) @@ -1050,6 +1072,17 @@ StringBeginsWith(const nsACString& aSource, const nsACString& aSubstring, return Substring(aSource, 0, sub_len).Equals(aSubstring, aComparator); } +bool +StringEndsWith(const nsAString& aSource, const nsAString& aSubstring) +{ + nsAString::size_type src_len = aSource.Length(), + sub_len = aSubstring.Length(); + if (sub_len > src_len) { + return false; + } + return Substring(aSource, src_len - sub_len, sub_len).Equals(aSubstring); +} + bool StringEndsWith(const nsAString& aSource, const nsAString& aSubstring, const nsStringComparator& aComparator) @@ -1063,6 +1096,17 @@ StringEndsWith(const nsAString& aSource, const nsAString& aSubstring, aComparator); } +bool +StringEndsWith(const nsACString& aSource, const nsACString& aSubstring) +{ + nsACString::size_type src_len = aSource.Length(), + sub_len = aSubstring.Length(); + if (sub_len > src_len) { + return false; + } + return Substring(aSource, src_len - sub_len, sub_len).Equals(aSubstring); +} + bool StringEndsWith(const nsACString& aSource, const nsACString& aSubstring, const nsCStringComparator& aComparator) diff --git a/xpcom/string/nsReadableUtils.h b/xpcom/string/nsReadableUtils.h index 6a697d5ea..12b2e6746 100644 --- a/xpcom/string/nsReadableUtils.h +++ b/xpcom/string/nsReadableUtils.h @@ -386,18 +386,18 @@ uint32_t CountCharInReadable(const nsAString& aStr, uint32_t CountCharInReadable(const nsACString& aStr, char aChar); +bool StringBeginsWith(const nsAString& aSource, const nsAString& aSubstring); bool StringBeginsWith(const nsAString& aSource, const nsAString& aSubstring, - const nsStringComparator& aComparator = - nsDefaultStringComparator()); + const nsStringComparator& aComparator); +bool StringBeginsWith(const nsACString& aSource, const nsACString& aSubstring); bool StringBeginsWith(const nsACString& aSource, const nsACString& aSubstring, - const nsCStringComparator& aComparator = - nsDefaultCStringComparator()); + const nsCStringComparator& aComparator); +bool StringEndsWith(const nsAString& aSource, const nsAString& aSubstring); bool StringEndsWith(const nsAString& aSource, const nsAString& aSubstring, - const nsStringComparator& aComparator = - nsDefaultStringComparator()); + const nsStringComparator& aComparator); +bool StringEndsWith(const nsACString& aSource, const nsACString& aSubstring); bool StringEndsWith(const nsACString& aSource, const nsACString& aSubstring, - const nsCStringComparator& aComparator = - nsDefaultCStringComparator()); + const nsCStringComparator& aComparator); const nsAFlatString& EmptyString(); const nsAFlatCString& EmptyCString(); From 14d8add7ca9be51dab0ebb46fd3edabd63d06739 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Mon, 19 Mar 2018 20:35:28 -0700 Subject: [PATCH 22/26] #334, closes #489: enable TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 for amtrak.com --- netwerk/base/security-prefs.js | 1 + security/manager/ssl/nsNSSCallbacks.cpp | 11 +++++++++++ security/manager/ssl/nsNSSComponent.cpp | 3 +++ 3 files changed, 15 insertions(+) diff --git a/netwerk/base/security-prefs.js b/netwerk/base/security-prefs.js index fc471396a..8da51b905 100644 --- a/netwerk/base/security-prefs.js +++ b/netwerk/base/security-prefs.js @@ -19,6 +19,7 @@ pref("security.ssl.enable_alpn", true); pref("security.ssl3.ecdhe_rsa_aes_128_gcm_sha256", true); pref("security.ssl3.ecdhe_ecdsa_aes_128_gcm_sha256", true); pref("security.ssl3.ecdhe_rsa_aes_128_sha", true); +pref("security.ssl3.ecdhe_rsa_aes_128_sha256", true); pref("security.ssl3.ecdhe_ecdsa_aes_128_sha", true); pref("security.ssl3.ecdhe_rsa_aes_256_sha", true); pref("security.ssl3.ecdhe_ecdsa_aes_256_sha", true); diff --git a/security/manager/ssl/nsNSSCallbacks.cpp b/security/manager/ssl/nsNSSCallbacks.cpp index 6fb8e3080..ab9a788ba 100644 --- a/security/manager/ssl/nsNSSCallbacks.cpp +++ b/security/manager/ssl/nsNSSCallbacks.cpp @@ -30,8 +30,10 @@ using namespace mozilla::psm; extern PRLogModuleInfo* gPIPNSSLog; +#if (0) // TenFourFox issue 334 static void AccumulateCipherSuite(Telemetry::ID probe, const SSLChannelInfo& channelInfo); +#endif namespace { @@ -1027,6 +1029,7 @@ CanFalseStartCallback(PRFileDesc* fd, void* client_data, PRBool *canFalseStart) return SECSuccess; } +#if(0) // TenFourFox issue 334 static void AccumulateNonECCKeySize(Telemetry::ID probe, uint32_t bits) { @@ -1076,6 +1079,7 @@ AccumulateCipherSuite(Telemetry::ID probe, const SSLChannelInfo& channelInfo) case TLS_ECDHE_RSA_WITH_RC4_128_SHA: value = 8; break; case TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: value = 9; break; case TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: value = 10; break; + case TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: value = 11; break; // just in case, issue 489 // DHE key exchange case TLS_DHE_RSA_WITH_AES_128_CBC_SHA: value = 21; break; case TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: value = 22; break; @@ -1114,6 +1118,7 @@ AccumulateCipherSuite(Telemetry::ID probe, const SSLChannelInfo& channelInfo) MOZ_ASSERT(value != 0); Telemetry::Accumulate(probe, value); } +#endif void HandshakeCallback(PRFileDesc* fd, void* client_data) { nsNSSShutDownPreventionLock locker; @@ -1146,6 +1151,7 @@ void HandshakeCallback(PRFileDesc* fd, void* client_data) { rv = SSL_GetChannelInfo(fd, &channelInfo, sizeof(channelInfo)); MOZ_ASSERT(rv == SECSuccess); if (rv == SECSuccess) { +#if(0) // TenFourFox issue 334 // Get the protocol version for telemetry // 1=tls1, 2=tls1.1, 3=tls1.2 unsigned int versionEnum = channelInfo.protocolVersion & 0xFF; @@ -1155,6 +1161,7 @@ void HandshakeCallback(PRFileDesc* fd, void* client_data) { infoObject->IsFullHandshake() ? Telemetry::SSL_CIPHER_SUITE_FULL : Telemetry::SSL_CIPHER_SUITE_RESUMED, channelInfo); +#endif SSLCipherSuiteInfo cipherInfo; rv = SSL_GetCipherSuiteInfo(channelInfo.cipherSuite, &cipherInfo, @@ -1163,17 +1170,20 @@ void HandshakeCallback(PRFileDesc* fd, void* client_data) { if (rv == SECSuccess) { usesWeakCipher = cipherInfo.symCipher == ssl_calg_rc4; +#if(0) // keyExchange null=0, rsa=1, dh=2, fortezza=3, ecdh=4 Telemetry::Accumulate( infoObject->IsFullHandshake() ? Telemetry::SSL_KEY_EXCHANGE_ALGORITHM_FULL : Telemetry::SSL_KEY_EXCHANGE_ALGORITHM_RESUMED, cipherInfo.keaType); +#endif DebugOnly KEAUsed; MOZ_ASSERT(NS_SUCCEEDED(infoObject->GetKEAUsed(&KEAUsed)) && (KEAUsed == cipherInfo.keaType)); +#if(0) if (infoObject->IsFullHandshake()) { switch (cipherInfo.keaType) { case ssl_kea_rsa: @@ -1223,6 +1233,7 @@ void HandshakeCallback(PRFileDesc* fd, void* client_data) { ? Telemetry::SSL_SYMMETRIC_CIPHER_FULL : Telemetry::SSL_SYMMETRIC_CIPHER_RESUMED, cipherInfo.symCipher); +#endif } } diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNSSComponent.cpp index 135af10dc..21a5c3153 100644 --- a/security/manager/ssl/nsNSSComponent.cpp +++ b/security/manager/ssl/nsNSSComponent.cpp @@ -623,6 +623,9 @@ static const CipherPref sCipherPrefs[] = { TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, true }, { "security.ssl3.ecdhe_ecdsa_aes_128_sha", TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, true }, + // stopgap for TenFourFox issue 489 pending ChaCha20/Poly1305 implementation + { "security.ssl3.ecdhe_rsa_aes_128_sha256", + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, true }, { "security.ssl3.ecdhe_rsa_aes_256_sha", TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, true }, From 3a236af0a9f23870e3fb7658b3ddbfaad4314ed6 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Tue, 20 Mar 2018 08:21:53 -0700 Subject: [PATCH 23/26] #399: remove padding-box support M1166728 --- layout/style/nsCSSProps.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/layout/style/nsCSSProps.cpp b/layout/style/nsCSSProps.cpp index 6b5a99f46..4188085aa 100644 --- a/layout/style/nsCSSProps.cpp +++ b/layout/style/nsCSSProps.cpp @@ -991,7 +991,6 @@ const KTableEntry nsCSSProps::kBoxShadowTypeKTable[] = { const KTableEntry nsCSSProps::kBoxSizingKTable[] = { { eCSSKeyword_content_box, uint8_t(StyleBoxSizing::Content) }, { eCSSKeyword_border_box, uint8_t(StyleBoxSizing::Border) }, - { eCSSKeyword_padding_box, uint8_t(StyleBoxSizing::Padding) }, { eCSSKeyword_UNKNOWN, -1 } }; From 83c11df4809aaca40df8ed76b4eca62e189d9871 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Tue, 20 Mar 2018 08:27:23 -0700 Subject: [PATCH 24/26] #399: disable SPDY/3.1 M1287132 --- modules/libpref/init/all.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 9c7fa5c9e..bbb411b87 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -1412,7 +1412,7 @@ pref("network.http.bypass-cachelock-threshold", 250); // Try and use SPDY when using SSL pref("network.http.spdy.enabled", true); -pref("network.http.spdy.enabled.v3-1", true); +pref("network.http.spdy.enabled.v3-1", false); pref("network.http.spdy.enabled.http2", true); pref("network.http.spdy.enabled.deps", true); pref("network.http.spdy.enforce-tls-profile", true); From 9470d4fb94008abe720df3a1a17fc4245b3225b0 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Tue, 20 Mar 2018 18:06:26 -0700 Subject: [PATCH 25/26] #488: basic support for DOM iterables, {NodeList,DOMTokenList}.forEach M1216751 M1290636 --- dom/bindings/Codegen.py | 114 +++++++++++----- dom/bindings/Configuration.py | 7 +- dom/bindings/IterableIterator.h | 235 ++++++++++---------------------- dom/bindings/parser/WebIDL.py | 125 +++++++++++++---- dom/webidl/DOMTokenList.webidl | 1 + dom/webidl/NodeList.webidl | 1 + 6 files changed, 254 insertions(+), 229 deletions(-) diff --git a/dom/bindings/Codegen.py b/dom/bindings/Codegen.py index d86c44f2d..f0f303bcd 100644 --- a/dom/bindings/Codegen.py +++ b/dom/bindings/Codegen.py @@ -1136,11 +1136,13 @@ class CGHeaders(CGWrapper): if desc.interface.maplikeOrSetlikeOrIterable: # We need ToJSValue.h for maplike/setlike type conversions bindingHeaders.add("mozilla/dom/ToJSValue.h") - # Add headers for the key and value types of the maplike, since - # they'll be needed for convenience functions - addHeadersForType((desc.interface.maplikeOrSetlikeOrIterable.keyType, - desc, None)) - if desc.interface.maplikeOrSetlikeOrIterable.valueType: + # Add headers for the key and value types of the + # maplike/setlike/iterable, since they'll be needed for + # convenience functions + if desc.interface.maplikeOrSetlikeOrIterable.hasKeyType(): + addHeadersForType((desc.interface.maplikeOrSetlikeOrIterable.keyType, + desc, None)) + if desc.interface.maplikeOrSetlikeOrIterable.hasValueType(): addHeadersForType((desc.interface.maplikeOrSetlikeOrIterable.valueType, desc, None)) @@ -2269,34 +2271,50 @@ class MethodDefiner(PropertyDefiner): "condition": MemberCondition() }) - # Generate the maplike/setlike iterator, if one wasn't already - # generated by a method. If we already have an @@iterator symbol, fail. - if descriptor.interface.maplikeOrSetlikeOrIterable: - if hasIterator(methods, self.regular): - raise TypeError("Cannot have maplike/setlike/iterable interface with " - "other members that generate @@iterator " - "on interface %s, such as indexed getters " - "or aliased functions." % - self.descriptor.interface.identifier.name) - for m in methods: - if (m.isMaplikeOrSetlikeOrIterableMethod() and - (((m.maplikeOrSetlikeOrIterable.isMaplike() or - (m.maplikeOrSetlikeOrIterable.isIterable() and - m.maplikeOrSetlikeOrIterable.hasValueType())) and - m.identifier.name == "entries") or - (((m.maplikeOrSetlikeOrIterable.isSetlike() or - (m.maplikeOrSetlikeOrIterable.isIterable() and - not m.maplikeOrSetlikeOrIterable.hasValueType()))) and - m.identifier.name == "values"))): - self.regular.append({ - "name": "@@iterator", - "methodName": m.identifier.name, - "length": methodLength(m), - "flags": "0", - "condition": PropertyDefiner.getControllingCondition(m, - descriptor), - }) - break + # Generate the keys/values/entries aliases for value iterables. + maplikeOrSetlikeOrIterable = descriptor.interface.maplikeOrSetlikeOrIterable + if (not static and + not unforgeable and + maplikeOrSetlikeOrIterable and + maplikeOrSetlikeOrIterable.isIterable() and + maplikeOrSetlikeOrIterable.isValueIterator()): + # Add our keys/values/entries/forEach + self.regular.append({ + "name": "keys", + "methodInfo": False, + "selfHostedName": "ArrayKeys", + "length": 0, + "flags": "JSPROP_ENUMERATE", + "condition": PropertyDefiner.getControllingCondition(m, + descriptor) + }) + self.regular.append({ + "name": "values", + "methodInfo": False, + "selfHostedName": "ArrayValues", + "length": 0, + "flags": "JSPROP_ENUMERATE", + "condition": PropertyDefiner.getControllingCondition(m, + descriptor) + }) + self.regular.append({ + "name": "entries", + "methodInfo": False, + "selfHostedName": "ArrayEntries", + "length": 0, + "flags": "JSPROP_ENUMERATE", + "condition": PropertyDefiner.getControllingCondition(m, + descriptor) + }) + self.regular.append({ + "name": "forEach", + "methodInfo": False, + "selfHostedName": "ArrayForEach", + "length": 1, + "flags": "JSPROP_ENUMERATE", + "condition": PropertyDefiner.getControllingCondition(m, + descriptor) + }) if not static: stringifier = descriptor.operations['Stringifier'] @@ -13008,8 +13026,9 @@ class CGForwardDeclarations(CGWrapper): # arguments to helper functions, and they'll need to be forward # declared in the header. if d.interface.maplikeOrSetlikeOrIterable: - builder.forwardDeclareForType(d.interface.maplikeOrSetlikeOrIterable.keyType, - config) + if d.interface.maplikeOrSetlikeOrIterable.hasKeyType(): + builder.forwardDeclareForType(d.interface.maplikeOrSetlikeOrIterable.keyType, + config) if d.interface.maplikeOrSetlikeOrIterable.hasValueType(): builder.forwardDeclareForType(d.interface.maplikeOrSetlikeOrIterable.valueType, config) @@ -15735,6 +15754,31 @@ class CGIterableMethodGenerator(CGGeneric): using CGCallGenerator. """ def __init__(self, descriptor, iterable, methodName): + if methodName == "forEach": + CGGeneric.__init__(self, fill( + """ + if (!JS::IsCallable(arg0)) { + ThrowErrorMessage(cx, MSG_NOT_CALLABLE, "Argument 1 of ${ifaceName}.forEach"); + return false; + } + JS::AutoValueArray<3> callArgs(cx); + callArgs[2].setObject(*obj); + JS::Rooted ignoredReturnVal(cx); + for (size_t i = 0; i < self->GetIterableLength(); ++i) { + if (!ToJSValue(cx, self->GetValueAtIndex(i), callArgs[0])) { + return false; + } + if (!ToJSValue(cx, self->GetKeyAtIndex(i), callArgs[1])) { + return false; + } + if (!JS::Call(cx, arg1, arg0, JS::HandleValueArray(callArgs), + &ignoredReturnVal)) { + return false; + } + } + """, + ifaceName=descriptor.interface.identifier.name)) + return CGGeneric.__init__(self, fill( """ typedef ${iterClass} itrType; diff --git a/dom/bindings/Configuration.py b/dom/bindings/Configuration.py index ee1be46a5..09605d0cc 100644 --- a/dom/bindings/Configuration.py +++ b/dom/bindings/Configuration.py @@ -893,8 +893,5 @@ def getAllTypes(descriptors, dictionaries, callbacks): def iteratorNativeType(descriptor): assert descriptor.interface.isIterable() iterableDecl = descriptor.interface.maplikeOrSetlikeOrIterable - if iterableDecl.valueType is None: - iterClass = "OneTypeIterableIterator" - else: - iterClass = "TwoTypeIterableIterator" - return "mozilla::dom::%s<%s>" % (iterClass, descriptor.nativeType) + assert iterableDecl.isPairIterator() + return "mozilla::dom::IterableIterator<%s>" % descriptor.nativeType diff --git a/dom/bindings/IterableIterator.h b/dom/bindings/IterableIterator.h index 64eaef70e..1a56cec33 100644 --- a/dom/bindings/IterableIterator.h +++ b/dom/bindings/IterableIterator.h @@ -6,19 +6,17 @@ /** * The IterableIterator class is used for WebIDL interfaces that have a - * iterable<> member defined. It handles the ES6 Iterator-like functions that - * are generated for the iterable interface. + * iterable<> member defined with two types (so a pair iterator). It handles + * the ES6 Iterator-like functions that are generated for the iterable + * interface. * - * For iterable interfaces, the implementation class will need to - * implement these two functions: + * For iterable interfaces with a pair iterator, the implementation class will + * need to implement these two functions: * * - size_t GetIterableLength() * - Returns the number of elements available to iterate over * - [type] GetValueAtIndex(size_t index) * - Returns the value at the requested index. - * - * If this is a two-type iterator, then the implementation class will also need to implement: - * * - [type] GetKeyAtIndex(size_t index) * - Returns the key at the requested index * @@ -60,13 +58,77 @@ protected: }; template -class IterableIterator : public IterableIteratorBase +class IterableIterator final : public IterableIteratorBase { public: - explicit IterableIterator(T* aIterableObj) + typedef bool (*WrapFunc)(JSContext* aCx, + IterableIterator* aObject, + JS::Handle aGivenProto, + JS::MutableHandle aReflector); + + explicit IterableIterator(T* aIterableObj, + IterableIteratorType aIteratorType, + WrapFunc aWrapFunc) : mIterableObj(aIterableObj) + , mIteratorType(aIteratorType) + , mWrapFunc(aWrapFunc) + , mIndex(0) { MOZ_ASSERT(mIterableObj); + MOZ_ASSERT(mWrapFunc); + } + + void + Next(JSContext* aCx, JS::MutableHandle aResult, ErrorResult& aRv) + { + JS::Rooted value(aCx, JS::UndefinedValue()); + if (mIndex >= this->mIterableObj->GetIterableLength()) { + DictReturn(aCx, aResult, true, value, aRv); + return; + } + switch (mIteratorType) { + case IterableIteratorType::Keys: + { + if (!ToJSValue(aCx, this->mIterableObj->GetKeyAtIndex(mIndex), &value)) { + aRv.Throw(NS_ERROR_FAILURE); + return; + } + DictReturn(aCx, aResult, false, value, aRv); + break; + } + case IterableIteratorType::Values: + { + if (!ToJSValue(aCx, this->mIterableObj->GetValueAtIndex(mIndex), &value)) { + aRv.Throw(NS_ERROR_FAILURE); + return; + } + DictReturn(aCx, aResult, false, value, aRv); + break; + } + case IterableIteratorType::Entries: + { + JS::Rooted key(aCx); + if (!ToJSValue(aCx, this->mIterableObj->GetKeyAtIndex(mIndex), &key)) { + aRv.Throw(NS_ERROR_FAILURE); + return; + } + if (!ToJSValue(aCx, this->mIterableObj->GetValueAtIndex(mIndex), &value)) { + aRv.Throw(NS_ERROR_FAILURE); + return; + } + KeyAndValueReturn(aCx, key, value, aResult, aRv); + break; + } + default: + MOZ_CRASH("Invalid iterator type!"); + } + ++mIndex; + } + + bool + WrapObject(JSContext* aCx, JS::Handle aGivenProto, JS::MutableHandle aObj) + { + return (*mWrapFunc)(aCx, this, aGivenProto, aObj); } protected: @@ -128,161 +190,6 @@ protected: // Binding Implementation object that we're iterating over. RefPtr mIterableObj; -}; - -template -class OneTypeIterableIterator final : public IterableIterator -{ -public: - typedef typename IterableIterator::IterableIteratorType IterableIteratorType; - using IterableIterator::DictReturn; - using IterableIterator::KeyAndValueReturn; - typedef bool (*WrapFunc)(JSContext* aCx, - OneTypeIterableIterator* aObject, - JS::Handle aGivenProto, - JS::MutableHandle aReflector); - - OneTypeIterableIterator(T* aIterableObj, - IterableIteratorType aIteratorType, - WrapFunc aWrapFunc) - : IterableIterator(aIterableObj) - , mIteratorType(aIteratorType) - , mWrapFunc(aWrapFunc) - , mIndex(0) - { - MOZ_ASSERT(mWrapFunc); - } - - void - Next(JSContext* aCx, JS::MutableHandle aResult, ErrorResult& aRv) - { - JS::Rooted value(aCx, JS::UndefinedValue()); - if (mIndex >= this->mIterableObj->GetIterableLength()) { - DictReturn(aCx, aResult, true, value, aRv); - return; - } - - switch (mIteratorType) { - case IterableIteratorType::Keys: - case IterableIteratorType::Values: - { - if (!ToJSValue(aCx, this->mIterableObj->GetValueAtIndex(mIndex), &value)) { - aRv.Throw(NS_ERROR_FAILURE); - return; - } - DictReturn(aCx, aResult, false, value, aRv); - break; - } - case IterableIteratorType::Entries: - { - if (!ToJSValue(aCx, this->mIterableObj->GetValueAtIndex(mIndex), &value)) { - aRv.Throw(NS_ERROR_FAILURE); - return; - } - KeyAndValueReturn(aCx, value, value, aResult, aRv); - break; - } - default: - MOZ_CRASH("Invalid iterator type!"); - } - ++mIndex; - } - - bool - WrapObject(JSContext* aCx, JS::Handle aGivenProto, JS::MutableHandle aObj) - { - return (*mWrapFunc)(aCx, this, aGivenProto, aObj); - } - -protected: - virtual ~OneTypeIterableIterator() {} - - // Tells whether this is a key, value, or entries iterator. - IterableIteratorType mIteratorType; - // Function pointer to binding-type-specific Wrap() call for this iterator. - WrapFunc mWrapFunc; - // Current index of iteration. - uint32_t mIndex; -}; - -template -class TwoTypeIterableIterator final : public IterableIterator -{ -public: - typedef typename IterableIterator::IterableIteratorType IterableIteratorType; - using IterableIterator::DictReturn; - using IterableIterator::KeyAndValueReturn; - typedef bool (*WrapFunc)(JSContext* aCx, - TwoTypeIterableIterator* aObject, - JS::Handle aGivenProto, - JS::MutableHandle aReflector); - - TwoTypeIterableIterator(T* aIterableObj, IterableIteratorType aIteratorType, - WrapFunc aWrapFunc) - : IterableIterator(aIterableObj) - , mIteratorType(aIteratorType) - , mWrapFunc(aWrapFunc) - , mIndex(0) - { - MOZ_ASSERT(mWrapFunc); - } - - void - Next(JSContext* aCx, JS::MutableHandle aResult, ErrorResult& aRv) - { - JS::Rooted value(aCx, JS::UndefinedValue()); - if (mIndex >= this->mIterableObj->GetIterableLength()) { - DictReturn(aCx, aResult, true, value, aRv); - return; - } - switch (mIteratorType) { - case IterableIteratorType::Keys: - { - if (!ToJSValue(aCx, this->mIterableObj->GetKeyAtIndex(mIndex), &value)) { - aRv.Throw(NS_ERROR_FAILURE); - return; - } - DictReturn(aCx, aResult, false, value, aRv); - break; - } - case IterableIteratorType::Values: - { - if (!ToJSValue(aCx, this->mIterableObj->GetValueAtIndex(mIndex), &value)) { - aRv.Throw(NS_ERROR_FAILURE); - return; - } - DictReturn(aCx, aResult, false, value, aRv); - break; - } - case IterableIteratorType::Entries: - { - JS::Rooted key(aCx); - if (!ToJSValue(aCx, this->mIterableObj->GetKeyAtIndex(mIndex), &key)) { - aRv.Throw(NS_ERROR_FAILURE); - return; - } - if (!ToJSValue(aCx, this->mIterableObj->GetValueAtIndex(mIndex), &value)) { - aRv.Throw(NS_ERROR_FAILURE); - return; - } - KeyAndValueReturn(aCx, key, value, aResult, aRv); - break; - } - default: - MOZ_CRASH("Invalid iterator type!"); - } - ++mIndex; - } - - bool - WrapObject(JSContext* aCx, JS::Handle aGivenProto, JS::MutableHandle aObj) - { - return (*mWrapFunc)(aCx, this, aGivenProto, aObj); - } - -protected: - virtual ~TwoTypeIterableIterator() {} - // Tells whether this is a key, value, or entries iterator. IterableIteratorType mIteratorType; // Function pointer to binding-type-specific Wrap() call for this iterator. diff --git a/dom/bindings/parser/WebIDL.py b/dom/bindings/parser/WebIDL.py index 1e3055127..045a4cf56 100644 --- a/dom/bindings/parser/WebIDL.py +++ b/dom/bindings/parser/WebIDL.py @@ -1089,7 +1089,7 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins): def validate(self): # We don't support consequential unforgeable interfaces. Need to check - # this here, becaue in finish() an interface might not know yet that + # this here, because in finish() an interface might not know yet that # it's consequential. if self.getExtendedAttribute("Unforgeable") and self.isConsequential(): raise WebIDLError( @@ -1108,6 +1108,8 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins): self.identifier.name, locations) + indexedGetter = None + hasLengthAttribute = False for member in self.members: member.validate() @@ -1118,8 +1120,13 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins): [self.location, member.location]) # Check that PutForwards refers to another attribute and that no - # cycles exist in forwarded assignments. + # cycles exist in forwarded assignments. Also check for a + # integer-typed "length" attribute. if member.isAttr(): + if (member.identifier.name == "length" and + member.type.isInteger()): + hasLengthAttribute = True + iface = self attr = member putForwards = attr.getExtendedAttribute("PutForwards") @@ -1157,8 +1164,11 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins): putForwards = attr.getExtendedAttribute("PutForwards") # Check that the name of an [Alias] doesn't conflict with an - # interface member. + # interface member and whether we support indexed properties. if member.isMethod(): + if member.isGetter() and member.isIndexed(): + indexedGetter = member + for alias in member.aliases: if self.isOnGlobalProtoChain(): raise WebIDLError("[Alias] must not be used on a " @@ -1219,6 +1229,35 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins): "exposed conditionally", [self.location]) + # Value iterators are only allowed on interfaces with indexed getters, + # and pair iterators are only allowed on interfaces without indexed + # getters. + if self.isIterable(): + iterableDecl = self.maplikeOrSetlikeOrIterable + if iterableDecl.isValueIterator(): + if not indexedGetter: + raise WebIDLError("Interface with value iterator does not " + "support indexed properties", + [self.location]) + + if iterableDecl.valueType != indexedGetter.signatures()[0][0]: + raise WebIDLError("Iterable type does not match indexed " + "getter type", + [iterableDecl.location, + indexedGetter.location]) + + if not hasLengthAttribute: + raise WebIDLError('Interface with value iterator does not ' + 'have an integer-typed "length" attribute', + [self.location]) + else: + assert iterableDecl.isPairIterator() + if indexedGetter: + raise WebIDLError("Interface with pair iterator supports " + "indexed properties", + [self.location, iterableDecl.location, + indexedGetter.location]) + def isInterface(self): return True @@ -3408,7 +3447,10 @@ class IDLMaplikeOrSetlikeOrIterableBase(IDLInterfaceMember): def __init__(self, location, identifier, ifaceType, keyType, valueType, ifaceKind): IDLInterfaceMember.__init__(self, location, identifier, ifaceKind) - assert isinstance(keyType, IDLType) + if keyType is not None: + assert isinstance(keyType, IDLType) + else: + assert valueType is not None assert ifaceType in ['maplike', 'setlike', 'iterable'] if valueType is not None: assert isinstance(valueType, IDLType) @@ -3427,6 +3469,9 @@ class IDLMaplikeOrSetlikeOrIterableBase(IDLInterfaceMember): def isIterable(self): return self.maplikeOrSetlikeOrIterableType == "iterable" + def hasKeyType(self): + return self.keyType is not None + def hasValueType(self): return self.valueType is not None @@ -3451,7 +3496,8 @@ class IDLMaplikeOrSetlikeOrIterableBase(IDLInterfaceMember): [self.location, member.location]) def addMethod(self, name, members, allowExistingOperations, returnType, args=[], - chromeOnly=False, isPure=False, affectsNothing=False, newObject=False): + chromeOnly=False, isPure=False, affectsNothing=False, newObject=False, + isIteratorAlias=False): """ Create an IDLMethod based on the parameters passed in. @@ -3511,16 +3557,20 @@ class IDLMaplikeOrSetlikeOrIterableBase(IDLInterfaceMember): if newObject: method.addExtendedAttributes( [IDLExtendedAttribute(self.location, ("NewObject",))]) + if isIteratorAlias: + method.addExtendedAttributes( + [IDLExtendedAttribute(self.location, ("Alias", "@@iterator"))]) members.append(method) def resolve(self, parentScope): - self.keyType.resolveType(parentScope) + if self.keyType: + self.keyType.resolveType(parentScope) if self.valueType: self.valueType.resolveType(parentScope) def finish(self, scope): IDLInterfaceMember.finish(self, scope) - if not self.keyType.isComplete(): + if self.keyType and not self.keyType.isComplete(): t = self.keyType.complete(scope) assert not isinstance(t, IDLUnresolvedType) @@ -3542,9 +3592,23 @@ class IDLMaplikeOrSetlikeOrIterableBase(IDLInterfaceMember): IDLInterfaceMember.handleExtendedAttribute(self, attr) def _getDependentObjects(self): + deps = set() + if self.keyType: + deps.add(self.keyType) if self.valueType: - return set([self.keyType, self.valueType]) - return set([self.keyType]) + deps.add(self.valueType) + return deps + + def getForEachArguments(self): + return [IDLArgument(self.location, + IDLUnresolvedIdentifier(BuiltinLocation(""), + "callback"), + BuiltinTypes[IDLBuiltinType.Types.object]), + IDLArgument(self.location, + IDLUnresolvedIdentifier(BuiltinLocation(""), + "thisArg"), + BuiltinTypes[IDLBuiltinType.Types.any], + optional=True)] # Iterable adds ES6 iterator style functions and traits # (keys/values/entries/@@iterator) to an interface. @@ -3565,9 +3629,15 @@ class IDLIterable(IDLMaplikeOrSetlikeOrIterableBase): we generate our functions as if they were part of the interface specification during parsing. """ + # We only need to add entries/keys/values here if we're a pair iterator. + # Value iterators just copy these from %ArrayPrototype% instead. + if not self.isPairIterator(): + return + # object entries() self.addMethod("entries", members, False, self.iteratorType, - affectsNothing=True, newObject=True) + affectsNothing=True, newObject=True, + isIteratorAlias=True) # object keys() self.addMethod("keys", members, False, self.iteratorType, affectsNothing=True, newObject=True) @@ -3575,6 +3645,17 @@ class IDLIterable(IDLMaplikeOrSetlikeOrIterableBase): self.addMethod("values", members, False, self.iteratorType, affectsNothing=True, newObject=True) + # void forEach(callback(valueType, keyType), optional any thisArg) + self.addMethod("forEach", members, False, + BuiltinTypes[IDLBuiltinType.Types.void], + self.getForEachArguments()) + + def isValueIterator(self): + return not self.isPairIterator() + + def isPairIterator(self): + return self.hasKeyType() + # MaplikeOrSetlike adds ES6 map-or-set-like traits to an interface. class IDLMaplikeOrSetlike(IDLMaplikeOrSetlikeOrIterableBase): @@ -3611,26 +3692,17 @@ class IDLMaplikeOrSetlike(IDLMaplikeOrSetlikeOrIterableBase): # object entries() self.addMethod("entries", members, False, BuiltinTypes[IDLBuiltinType.Types.object], - affectsNothing=True) + affectsNothing=True, isIteratorAlias=self.isMaplike()) # object keys() self.addMethod("keys", members, False, BuiltinTypes[IDLBuiltinType.Types.object], affectsNothing=True) # object values() self.addMethod("values", members, False, BuiltinTypes[IDLBuiltinType.Types.object], - affectsNothing=True) + affectsNothing=True, isIteratorAlias=self.isSetlike()) # void forEach(callback(valueType, keyType), thisVal) - foreachArguments = [IDLArgument(self.location, - IDLUnresolvedIdentifier(BuiltinLocation(""), - "callback"), - BuiltinTypes[IDLBuiltinType.Types.object]), - IDLArgument(self.location, - IDLUnresolvedIdentifier(BuiltinLocation(""), - "thisArg"), - BuiltinTypes[IDLBuiltinType.Types.any], - optional=True)] self.addMethod("forEach", members, False, BuiltinTypes[IDLBuiltinType.Types.void], - foreachArguments) + self.getForEachArguments()) def getKeyArg(): return IDLArgument(self.location, @@ -5436,10 +5508,13 @@ class Parser(Tokenizer): location = self.getLocation(p, 2) identifier = IDLUnresolvedIdentifier(location, "__iterable", allowDoubleUnderscore=True) - keyType = p[3] - valueType = None if (len(p) > 6): + keyType = p[3] valueType = p[5] + else: + keyType = None + valueType = p[3] + p[0] = IDLIterable(location, identifier, keyType, valueType, self.globalScope()) def p_Setlike(self, p): @@ -6509,7 +6584,7 @@ class Parser(Tokenizer): if isinstance(m, IDLIterable): iterable = m break - if iterable: + if iterable and iterable.isPairIterator(): def simpleExtendedAttr(str): return IDLExtendedAttribute(iface.location, (str, )) nextMethod = IDLMethod( diff --git a/dom/webidl/DOMTokenList.webidl b/dom/webidl/DOMTokenList.webidl index a6f1b925b..2621ba936 100644 --- a/dom/webidl/DOMTokenList.webidl +++ b/dom/webidl/DOMTokenList.webidl @@ -22,4 +22,5 @@ interface DOMTokenList { [Throws] boolean toggle(DOMString token, optional boolean force); stringifier DOMString (); + iterable; }; diff --git a/dom/webidl/NodeList.webidl b/dom/webidl/NodeList.webidl index c51c79bfc..d6c981e11 100644 --- a/dom/webidl/NodeList.webidl +++ b/dom/webidl/NodeList.webidl @@ -13,4 +13,5 @@ interface NodeList { getter Node? item(unsigned long index); readonly attribute unsigned long length; + iterable; }; From d4f4b4353836a0f50a10ee46b9ce26df00cfde66 Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Thu, 22 Mar 2018 20:17:48 -0700 Subject: [PATCH 26/26] closes #488: M1257849 M1244328 finish DOMTokenList transition, bustage fixes --- dom/base/DOMTokenListSupportedTokens.h | 31 +++ dom/base/Element.cpp | 24 +- dom/base/Element.h | 5 +- dom/base/FragmentOrElement.h | 2 +- dom/base/IframeSandboxKeywordList.h | 24 ++ dom/base/moz.build | 4 +- dom/base/nsContentUtils.cpp | 12 +- dom/base/nsDOMTokenList.cpp | 231 +++++++++++++----- dom/base/nsDOMTokenList.h | 22 +- dom/base/nsStyleLinkElement.cpp | 4 +- dom/bindings/Bindings.conf | 4 - dom/bindings/Errors.msg | 1 + .../test/TestInterfaceIterableSingle.cpp | 17 +- .../test/TestInterfaceIterableSingle.h | 7 +- dom/html/HTMLAnchorElement.cpp | 8 +- dom/html/HTMLAnchorElement.h | 2 + dom/html/HTMLAreaElement.cpp | 4 +- dom/html/HTMLIFrameElement.cpp | 9 + dom/html/HTMLIFrameElement.h | 8 +- dom/html/HTMLLinkElement.cpp | 22 +- dom/html/HTMLLinkElement.h | 2 +- dom/html/HTMLMenuItemElement.cpp | 1 + dom/html/HTMLOutputElement.cpp | 5 +- dom/html/HTMLOutputElement.h | 4 +- dom/html/HTMLPropertiesCollection.cpp | 2 +- dom/html/HTMLTableCellElement.h | 2 +- dom/html/nsGenericHTMLElement.cpp | 2 +- dom/html/nsGenericHTMLElement.h | 8 +- dom/interfaces/html/nsIDOMHTMLElement.idl | 2 +- dom/webidl/DOMTokenList.webidl | 6 + dom/webidl/Element.webidl | 2 +- dom/webidl/HTMLAnchorElement.webidl | 1 + dom/webidl/HTMLAreaElement.webidl | 1 + dom/webidl/HTMLElement.webidl | 8 +- dom/webidl/HTMLIFrameElement.webidl | 2 +- dom/webidl/HTMLLinkElement.webidl | 3 +- dom/webidl/HTMLOutputElement.webidl | 2 +- dom/webidl/HTMLTableCellElement.webidl | 2 +- ...stInterfaceJSMaplikeSetlikeIterable.webidl | 2 + dom/webidl/moz.build | 1 - 40 files changed, 367 insertions(+), 132 deletions(-) create mode 100644 dom/base/DOMTokenListSupportedTokens.h create mode 100644 dom/base/IframeSandboxKeywordList.h diff --git a/dom/base/DOMTokenListSupportedTokens.h b/dom/base/DOMTokenListSupportedTokens.h new file mode 100644 index 000000000..f68f48554 --- /dev/null +++ b/dom/base/DOMTokenListSupportedTokens.h @@ -0,0 +1,31 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* + * Definitions of supported tokens data types for nsDOMTokenList. This is in a + * separate header so Element.h can include it too. + */ + +#ifndef mozilla_dom_DOMTokenListSupportedTokens_h +#define mozilla_dom_DOMTokenListSupportedTokens_h + +namespace mozilla { +namespace dom { + +// A single supported token. +typedef const char* const DOMTokenListSupportedToken; + +// An array of supported tokens. This should end with a null +// DOMTokenListSupportedToken to indicate array termination. A null value for +// the DOMTokenListSupportedTokenArray means there is no definition of supported +// tokens for the given DOMTokenList. This should generally be a static table, +// or at least outlive the DOMTokenList whose constructor it's passed to. +typedef DOMTokenListSupportedToken* DOMTokenListSupportedTokenArray; + +} // namespace dom +} // namespace mozilla + +#endif // mozilla_dom_DOMTokenListSupportedTokens_h diff --git a/dom/base/Element.cpp b/dom/base/Element.cpp index 51f6860ff..21e3354de 100644 --- a/dom/base/Element.cpp +++ b/dom/base/Element.cpp @@ -44,7 +44,6 @@ #include "nsNameSpaceManager.h" #include "nsContentList.h" #include "nsVariant.h" -#include "nsDOMSettableTokenList.h" #include "nsDOMTokenList.h" #include "nsXBLPrototypeBinding.h" #include "nsError.h" @@ -3086,11 +3085,11 @@ Element::GetLinkTarget(nsAString& aTarget) } static void -nsDOMSettableTokenListPropertyDestructor(void *aObject, nsIAtom *aProperty, - void *aPropertyValue, void *aData) +nsDOMTokenListPropertyDestructor(void *aObject, nsIAtom *aProperty, + void *aPropertyValue, void *aData) { - nsDOMSettableTokenList* list = - static_cast(aPropertyValue); + nsDOMTokenList* list = + static_cast(aPropertyValue); NS_RELEASE(list); } @@ -3113,8 +3112,9 @@ Element::HTMLSVGPropertiesToTraverseAndUnlink() return sPropertiesToTraverseAndUnlink; } -nsDOMSettableTokenList* -Element::GetTokenList(nsIAtom* aAtom) +nsDOMTokenList* +Element::GetTokenList(nsIAtom* aAtom, + const DOMTokenListSupportedTokenArray aSupportedTokens) { #ifdef DEBUG nsIAtom*** props = @@ -3129,14 +3129,14 @@ Element::GetTokenList(nsIAtom* aAtom) MOZ_ASSERT(found, "Trying to use an unknown tokenlist!"); #endif - nsDOMSettableTokenList* list = nullptr; + nsDOMTokenList* list = nullptr; if (HasProperties()) { - list = static_cast(GetProperty(aAtom)); + list = static_cast(GetProperty(aAtom)); } if (!list) { - list = new nsDOMSettableTokenList(this, aAtom); + list = new nsDOMTokenList(this, aAtom, aSupportedTokens); NS_ADDREF(list); - SetProperty(aAtom, list, nsDOMSettableTokenListPropertyDestructor); + SetProperty(aAtom, list, nsDOMTokenListPropertyDestructor); } return list; } @@ -3153,7 +3153,7 @@ Element::GetTokenList(nsIAtom* aAtom, nsIVariant** aResult) nsresult Element::SetTokenList(nsIAtom* aAtom, nsIVariant* aValue) { - nsDOMSettableTokenList* itemType = GetTokenList(aAtom); + nsDOMTokenList* itemType = GetTokenList(aAtom); nsAutoString string; aValue->GetAsAString(string); ErrorResult rv; diff --git a/dom/base/Element.h b/dom/base/Element.h index 71c1614cd..1433c3b85 100644 --- a/dom/base/Element.h +++ b/dom/base/Element.h @@ -34,6 +34,7 @@ #include "nsAttrValue.h" #include "mozilla/EventForwards.h" #include "mozilla/dom/BindingDeclarations.h" +#include "mozilla/dom/DOMTokenListSupportedTokens.h" #include "mozilla/dom/WindowBinding.h" #include "mozilla/dom/ElementBinding.h" #include "Units.h" @@ -44,7 +45,6 @@ class nsIURI; class nsIScrollableFrame; class nsAttrValueOrString; class nsContentList; -class nsDOMSettableTokenList; class nsDOMTokenList; struct nsRect; class nsFocusManager; @@ -1342,7 +1342,8 @@ protected: */ virtual void GetLinkTarget(nsAString& aTarget); - nsDOMSettableTokenList* GetTokenList(nsIAtom* aAtom); + nsDOMTokenList* GetTokenList(nsIAtom* aAtom, + const DOMTokenListSupportedTokenArray aSupportedTokens = nullptr); void GetTokenList(nsIAtom* aAtom, nsIVariant** aResult); nsresult SetTokenList(nsIAtom* aAtom, nsIVariant* aValue); diff --git a/dom/base/FragmentOrElement.h b/dom/base/FragmentOrElement.h index b45f60517..86766ab52 100644 --- a/dom/base/FragmentOrElement.h +++ b/dom/base/FragmentOrElement.h @@ -25,11 +25,11 @@ class ContentUnbinder; class nsContentList; class nsDOMAttributeMap; -class nsDOMTokenList; class nsIControllers; class nsICSSDeclaration; class nsIDocument; class nsDOMStringMap; +class nsDOMTokenList; class nsIURI; namespace mozilla { diff --git a/dom/base/IframeSandboxKeywordList.h b/dom/base/IframeSandboxKeywordList.h new file mode 100644 index 000000000..63a4b3e6e --- /dev/null +++ b/dom/base/IframeSandboxKeywordList.h @@ -0,0 +1,24 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* NOTE: no include guard; this file is meant to maybe be included multiple + times. It has a list of the sandbox keywords we support, with their + corresponding sandbox flags. */ + +#include "nsSandboxFlags.h" + +// Each entry has the sandbox keyword as a string, the corresponding nsGkAtoms +// atom name, and the corresponding sandbox flags. +SANDBOX_KEYWORD("allow-same-origin", allowsameorigin, SANDBOXED_ORIGIN) +SANDBOX_KEYWORD("allow-forms", allowforms, SANDBOXED_FORMS) +SANDBOX_KEYWORD("allow-scripts", allowscripts, + SANDBOXED_SCRIPTS | SANDBOXED_AUTOMATIC_FEATURES) +SANDBOX_KEYWORD("allow-top-navigation", allowtopnavigation, + SANDBOXED_TOPLEVEL_NAVIGATION) +SANDBOX_KEYWORD("allow-pointer-lock", allowpointerlock, SANDBOXED_POINTER_LOCK) +SANDBOX_KEYWORD("allow-orientation-lock", alloworientationlock, + SANDBOXED_ORIENTATION_LOCK) +SANDBOX_KEYWORD("allow-popups", allowpopups, SANDBOXED_AUXILIARY_NAVIGATION) diff --git a/dom/base/moz.build b/dom/base/moz.build index 5e64c0b41..69d940052 100644 --- a/dom/base/moz.build +++ b/dom/base/moz.build @@ -45,6 +45,7 @@ EXPORTS += [ 'AutocompleteFieldList.h', 'Crypto.h', 'HTMLSplitOnSpacesTokenizer.h', + 'IframeSandboxKeywordList.h', 'mozAutoDocUpdate.h', 'mozFlushType.h', 'nsAtomListUtils.h', @@ -74,6 +75,7 @@ EXPORTS += [ 'nsDOMJSUtils.h', 'nsDOMNavigationTiming.h', 'nsDOMString.h', + 'nsDOMTokenList.h', 'nsFocusManager.h', 'nsFormData.h', 'nsFrameMessageManager.h', @@ -174,6 +176,7 @@ EXPORTS.mozilla.dom += [ 'DOMRect.h', 'DOMRequest.h', 'DOMStringList.h', + 'DOMTokenListSupportedTokens.h', 'Element.h', 'ElementInlines.h', 'EventSource.h', @@ -278,7 +281,6 @@ UNIFIED_SOURCES += [ 'nsDOMNavigationTiming.cpp', 'nsDOMScriptObjectFactory.cpp', 'nsDOMSerializer.cpp', - 'nsDOMSettableTokenList.cpp', 'nsDOMTokenList.cpp', 'nsDOMWindowList.cpp', 'nsFocusManager.cpp', diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp index 45d7f1cfd..3a9afc301 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp @@ -1362,19 +1362,13 @@ nsContentUtils::ParseSandboxAttributeToFlags(const nsAttrValue* sandboxAttr) | SANDBOXED_DOMAIN; // Macro for updating the flag according to the keywords -#define IF_KEYWORD(atom, flags) \ +#define SANDBOX_KEYWORD(string, atom, flags) \ if (sandboxAttr->Contains(nsGkAtoms::atom, eIgnoreCase)) { out &= ~(flags); } - IF_KEYWORD(allowsameorigin, SANDBOXED_ORIGIN) - IF_KEYWORD(allowforms, SANDBOXED_FORMS) - IF_KEYWORD(allowscripts, SANDBOXED_SCRIPTS | SANDBOXED_AUTOMATIC_FEATURES) - IF_KEYWORD(allowtopnavigation, SANDBOXED_TOPLEVEL_NAVIGATION) - IF_KEYWORD(allowpointerlock, SANDBOXED_POINTER_LOCK) - IF_KEYWORD(alloworientationlock, SANDBOXED_ORIENTATION_LOCK) - IF_KEYWORD(allowpopups, SANDBOXED_AUXILIARY_NAVIGATION) +#include "IframeSandboxKeywordList.h" return out; -#undef IF_KEYWORD +#undef SANDBOX_KEYWORD } nsIBidiKeyboard* diff --git a/dom/base/nsDOMTokenList.cpp b/dom/base/nsDOMTokenList.cpp index 682be1ddb..da526b6d7 100644 --- a/dom/base/nsDOMTokenList.cpp +++ b/dom/base/nsDOMTokenList.cpp @@ -9,20 +9,25 @@ */ #include "nsDOMTokenList.h" - +#include "nsAttrValueInlines.h" +#include "nsDataHashtable.h" #include "nsAttrValue.h" #include "nsContentUtils.h" #include "nsError.h" +#include "nsHashKeys.h" #include "mozilla/dom/Element.h" #include "mozilla/dom/DOMTokenListBinding.h" +#include "mozilla/BloomFilter.h" #include "mozilla/ErrorResult.h" using namespace mozilla; using namespace mozilla::dom; -nsDOMTokenList::nsDOMTokenList(Element* aElement, nsIAtom* aAttrAtom) +nsDOMTokenList::nsDOMTokenList(Element* aElement, nsIAtom* aAttrAtom, + const DOMTokenListSupportedTokenArray aSupportedTokens) : mElement(aElement), - mAttrAtom(aAttrAtom) + mAttrAtom(aAttrAtom), + mSupportedTokens(aSupportedTokens) { // We don't add a reference to our element. If it goes away, // we'll be told to drop our reference @@ -50,6 +55,45 @@ nsDOMTokenList::GetParsedAttr() return mElement->GetAttrInfo(kNameSpaceID_None, mAttrAtom).mValue; } +void +nsDOMTokenList::RemoveDuplicates(const nsAttrValue* aAttr) +{ + if (!aAttr || aAttr->Type() != nsAttrValue::eAtomArray) { + return; + } + + BloomFilter<8, nsIAtom> filter; + nsAttrValue::AtomArray* array = aAttr->GetAtomArrayValue(); + for (uint32_t i = 0; i < array->Length(); i++) { + nsIAtom* atom = array->ElementAt(i); + if (filter.mightContain(atom)) { + // Start again, with a hashtable + RemoveDuplicatesInternal(array, i); + return; + } else { + filter.add(atom); + } + } +} + +void +nsDOMTokenList::RemoveDuplicatesInternal(nsAttrValue::AtomArray* aArray, + uint32_t aStart) +{ + nsDataHashtable, bool> tokens; + + for (uint32_t i = 0; i < aArray->Length(); i++) { + nsIAtom* atom = aArray->ElementAt(i); + // No need to check the hashtable below aStart + if (i >= aStart && tokens.Get(atom)) { + aArray->RemoveElementAt(i); + i--; + } else { + tokens.Put(atom, true); + } + } +} + uint32_t nsDOMTokenList::Length() { @@ -58,6 +102,7 @@ nsDOMTokenList::Length() return 0; } + RemoveDuplicates(attr); return attr->GetAtomCount(); } @@ -66,6 +111,13 @@ nsDOMTokenList::IndexedGetter(uint32_t aIndex, bool& aFound, nsAString& aResult) { const nsAttrValue* attr = GetParsedAttr(); + if (!attr || aIndex >= static_cast(attr->GetAtomCount())) { + aFound = false; + return; + } + + RemoveDuplicates(attr); + if (attr && aIndex < static_cast(attr->GetAtomCount())) { aFound = true; attr->AtomAt(aIndex)->ToString(aResult); @@ -74,6 +126,16 @@ nsDOMTokenList::IndexedGetter(uint32_t aIndex, bool& aFound, nsAString& aResult) } } +void +nsDOMTokenList::SetValue(const nsAString& aValue, ErrorResult& rv) +{ + if (!mElement) { + return; + } + + rv = mElement->SetAttr(kNameSpaceID_None, mAttrAtom, aValue, true); +} + nsresult nsDOMTokenList::CheckToken(const nsAString& aStr) { @@ -130,10 +192,15 @@ nsDOMTokenList::AddInternal(const nsAttrValue* aAttr, nsAutoString resultStr; if (aAttr) { - aAttr->ToString(resultStr); + RemoveDuplicates(aAttr); + for (uint32_t i = 0; i < aAttr->GetAtomCount(); i++) { + if (i != 0) { + resultStr.AppendLiteral(" "); + } + resultStr.Append(nsDependentAtomString(aAttr->AtomAt(i))); + } } - bool oneWasAdded = false; nsAutoTArray addedClasses; for (uint32_t i = 0, l = aTokens.Length(); i < l; ++i) { @@ -144,16 +211,11 @@ nsDOMTokenList::AddInternal(const nsAttrValue* aAttr, continue; } - if (oneWasAdded || - (!resultStr.IsEmpty() && - !nsContentUtils::IsHTMLWhitespace(resultStr.Last()))) { + if (!resultStr.IsEmpty()) { resultStr.Append(' '); - resultStr.Append(aToken); - } else { - resultStr.Append(aToken); } + resultStr.Append(aToken); - oneWasAdded = true; addedClasses.AppendElement(aToken); } @@ -186,60 +248,20 @@ nsDOMTokenList::RemoveInternal(const nsAttrValue* aAttr, { MOZ_ASSERT(aAttr, "Need an attribute"); - nsAutoString input; - aAttr->ToString(input); + RemoveDuplicates(aAttr); - nsAString::const_iterator copyStart, tokenStart, iter, end; - input.BeginReading(iter); - input.EndReading(end); - copyStart = iter; - - nsAutoString output; - bool lastTokenRemoved = false; - - while (iter != end) { - // skip whitespace. - while (iter != end && nsContentUtils::IsHTMLWhitespace(*iter)) { - ++iter; + nsAutoString resultStr; + for (uint32_t i = 0; i < aAttr->GetAtomCount(); i++) { + if (aTokens.Contains(nsDependentAtomString(aAttr->AtomAt(i)))) { + continue; } - - if (iter == end) { - // At this point we're sure the last seen token (if any) wasn't to be - // removed. So the trailing spaces will need to be kept. - MOZ_ASSERT(!lastTokenRemoved, "How did this happen?"); - - output.Append(Substring(copyStart, end)); - break; - } - - tokenStart = iter; - do { - ++iter; - } while (iter != end && !nsContentUtils::IsHTMLWhitespace(*iter)); - - if (aTokens.Contains(Substring(tokenStart, iter))) { - - // Skip whitespace after the token, it will be collapsed. - while (iter != end && nsContentUtils::IsHTMLWhitespace(*iter)) { - ++iter; - } - copyStart = iter; - lastTokenRemoved = true; - - } else { - - if (lastTokenRemoved && !output.IsEmpty()) { - MOZ_ASSERT(!nsContentUtils::IsHTMLWhitespace(output.Last()), - "Invalid last output token"); - output.Append(char16_t(' ')); - } - lastTokenRemoved = false; - output.Append(Substring(copyStart, iter)); - copyStart = iter; + if (!resultStr.IsEmpty()) { + resultStr.AppendLiteral(" "); } + resultStr.Append(nsDependentAtomString(aAttr->AtomAt(i))); } - mElement->SetAttr(kNameSpaceID_None, mAttrAtom, output, true); + mElement->SetAttr(kNameSpaceID_None, mAttrAtom, resultStr, true); } void @@ -299,6 +321,93 @@ nsDOMTokenList::Toggle(const nsAString& aToken, return isPresent; } +void +nsDOMTokenList::Replace(const nsAString& aToken, + const nsAString& aNewToken, + ErrorResult& aError) +{ + // Doing this here instead of using `CheckToken` because if aToken had invalid + // characters, and aNewToken is empty, the returned error should be a + // SyntaxError, not an InvalidCharacterError. + if (aNewToken.IsEmpty()) { + aError.Throw(NS_ERROR_DOM_SYNTAX_ERR); + return; + } + + aError = CheckToken(aToken); + if (aError.Failed()) { + return; + } + + aError = CheckToken(aNewToken); + if (aError.Failed()) { + return; + } + + const nsAttrValue* attr = GetParsedAttr(); + if (!attr) { + return; + } + + ReplaceInternal(attr, aToken, aNewToken); +} + +void +nsDOMTokenList::ReplaceInternal(const nsAttrValue* aAttr, + const nsAString& aToken, + const nsAString& aNewToken) +{ + RemoveDuplicates(aAttr); + + bool sawIt = false; + nsAutoString resultStr; + for (uint32_t i = 0; i < aAttr->GetAtomCount(); i++) { + if (aAttr->AtomAt(i)->Equals(aToken) || + aAttr->AtomAt(i)->Equals(aNewToken)) { + if (sawIt) { + // We keep only the first + continue; + } + sawIt = true; + if (!resultStr.IsEmpty()) { + resultStr.AppendLiteral(" "); + } + resultStr.Append(aNewToken); + continue; + } + if (!resultStr.IsEmpty()) { + resultStr.AppendLiteral(" "); + } + resultStr.Append(nsDependentAtomString(aAttr->AtomAt(i))); + } + + if (sawIt) { + mElement->SetAttr(kNameSpaceID_None, mAttrAtom, resultStr, true); + } +} + +bool +nsDOMTokenList::Supports(const nsAString& aToken, + ErrorResult& aError) +{ + if (!mSupportedTokens) { + aError.ThrowTypeError( + mElement->LocalName(), + nsDependentAtomString(mAttrAtom)); + return false; + } + + for (DOMTokenListSupportedToken* supportedToken = mSupportedTokens; + *supportedToken; + ++supportedToken) { + if (aToken.LowerCaseEqualsASCII(*supportedToken)) { + return true; + } + } + + return false; +} + void nsDOMTokenList::Stringify(nsAString& aResult) { diff --git a/dom/base/nsDOMTokenList.h b/dom/base/nsDOMTokenList.h index 60fd59687..28fc50ed5 100644 --- a/dom/base/nsDOMTokenList.h +++ b/dom/base/nsDOMTokenList.h @@ -13,9 +13,11 @@ #include "nsCOMPtr.h" #include "nsDOMString.h" +#include "nsDOMString.h" #include "nsWrapperCache.h" #include "mozilla/dom/Element.h" #include "mozilla/dom/BindingDeclarations.h" +#include "mozilla/dom/DOMTokenListSupportedTokens.h" namespace mozilla { class ErrorResult; @@ -26,7 +28,7 @@ class nsAttrValue; class nsIAtom; // nsISupports must be on the primary inheritance chain -// because nsDOMSettableTokenList is traversed by Element. + class nsDOMTokenList : public nsISupports, public nsWrapperCache { @@ -37,7 +39,8 @@ public: NS_DECL_CYCLE_COLLECTING_ISUPPORTS NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(nsDOMTokenList) - nsDOMTokenList(Element* aElement, nsIAtom* aAttrAtom); + nsDOMTokenList(Element* aElement, nsIAtom* aAttrAtom, + const mozilla::dom::DOMTokenListSupportedTokenArray = nullptr); virtual JSObject* WrapObject(JSContext *cx, JS::Handle aGivenProto) override; @@ -46,6 +49,7 @@ public: return mElement; } + void RemoveDuplicates(const nsAttrValue* aAttr); uint32_t Length(); void Item(uint32_t aIndex, nsAString& aResult) { @@ -63,9 +67,17 @@ public: void Remove(const nsAString& aToken, mozilla::ErrorResult& aError); void Remove(const nsTArray& aTokens, mozilla::ErrorResult& aError); + void Replace(const nsAString& aToken, + const nsAString& aNewToken, + mozilla::ErrorResult& aError); bool Toggle(const nsAString& aToken, const mozilla::dom::Optional& force, mozilla::ErrorResult& aError); + bool Supports(const nsAString& aToken, + mozilla::ErrorResult& aError); + + void GetValue(nsAString& aResult) { Stringify(aResult); } + void SetValue(const nsAString& aValue, mozilla::ErrorResult& rv); void Stringify(nsAString& aResult); protected: @@ -73,14 +85,20 @@ protected: nsresult CheckToken(const nsAString& aStr); nsresult CheckTokens(const nsTArray& aStr); + void RemoveDuplicatesInternal(nsTArray>* aArray, + uint32_t aStart); void AddInternal(const nsAttrValue* aAttr, const nsTArray& aTokens); void RemoveInternal(const nsAttrValue* aAttr, const nsTArray& aTokens); + void ReplaceInternal(const nsAttrValue* aAttr, + const nsAString& aToken, + const nsAString& aNewToken); inline const nsAttrValue* GetParsedAttr(); nsCOMPtr mElement; nsCOMPtr mAttrAtom; + const mozilla::dom::DOMTokenListSupportedTokenArray mSupportedTokens; }; #endif // nsDOMTokenList_h___ diff --git a/dom/base/nsStyleLinkElement.cpp b/dom/base/nsStyleLinkElement.cpp index bf7d9bfbd..0b7e36812 100644 --- a/dom/base/nsStyleLinkElement.cpp +++ b/dom/base/nsStyleLinkElement.cpp @@ -149,7 +149,9 @@ nsStyleLinkElement::IsImportEnabled() } static uint32_t ToLinkMask(const nsAString& aLink, nsIPrincipal* aPrincipal) -{ +{ + // Keep this in sync with sRelValues in HTMLLinkElement.cpp + // XXX: "icon" and "search" are supported, but not listed here. if (aLink.EqualsLiteral("prefetch")) return nsStyleLinkElement::ePREFETCH; else if (aLink.EqualsLiteral("dns-prefetch")) diff --git a/dom/bindings/Bindings.conf b/dom/bindings/Bindings.conf index c00f9c594..6cdf7a89e 100644 --- a/dom/bindings/Bindings.conf +++ b/dom/bindings/Bindings.conf @@ -441,10 +441,6 @@ DOMInterfaces = { 'implicitJSContext': [ 'then' ], }, -'DOMSettableTokenList': { - 'nativeType': 'nsDOMSettableTokenList', -}, - 'DOMStringMap': { 'nativeType': 'nsDOMStringMap' }, diff --git a/dom/bindings/Errors.msg b/dom/bindings/Errors.msg index acc06573b..2b51ec578 100644 --- a/dom/bindings/Errors.msg +++ b/dom/bindings/Errors.msg @@ -92,3 +92,4 @@ MSG_DEF(MSG_IS_NOT_PROMISE, 1, JSEXN_TYPEERR, "{0} is not a Promise") MSG_DEF(MSG_SW_INSTALL_ERROR, 2, JSEXN_TYPEERR, "ServiceWorker script at {0} for scope {1} encountered an error during installation.") MSG_DEF(MSG_SW_SCRIPT_THREW, 2, JSEXN_TYPEERR, "ServiceWorker script at {0} for scope {1} threw an exception during script evaluation.") MSG_DEF(MSG_TYPEDARRAY_IS_SHARED, 1, JSEXN_TYPEERR, "{0} can't be a typed array on SharedArrayBuffer") +MSG_DEF(MSG_TOKENLIST_NO_SUPPORTED_TOKENS, 2, JSEXN_TYPEERR, "{0} attribute of <{1}> does not define any supported tokens") diff --git a/dom/bindings/test/TestInterfaceIterableSingle.cpp b/dom/bindings/test/TestInterfaceIterableSingle.cpp index a79f91baf..36151c486 100644 --- a/dom/bindings/test/TestInterfaceIterableSingle.cpp +++ b/dom/bindings/test/TestInterfaceIterableSingle.cpp @@ -55,17 +55,22 @@ TestInterfaceIterableSingle::GetParentObject() const return mParent; } -size_t -TestInterfaceIterableSingle::GetIterableLength() const +uint32_t +TestInterfaceIterableSingle::Length() const { return mValues.Length(); } -uint32_t -TestInterfaceIterableSingle::GetValueAtIndex(uint32_t index) const +int32_t +TestInterfaceIterableSingle::IndexedGetter(uint32_t aIndex, bool& aFound) const { - MOZ_ASSERT(index < mValues.Length()); - return mValues.ElementAt(index); + if (aIndex >= mValues.Length()) { + aFound = false; + return 0; + } + + aFound = true; + return mValues[aIndex]; } } // namespace dom diff --git a/dom/bindings/test/TestInterfaceIterableSingle.h b/dom/bindings/test/TestInterfaceIterableSingle.h index 950858c0b..f14aaccc5 100644 --- a/dom/bindings/test/TestInterfaceIterableSingle.h +++ b/dom/bindings/test/TestInterfaceIterableSingle.h @@ -36,12 +36,13 @@ public: static already_AddRefed Constructor(const GlobalObject& aGlobal, ErrorResult& rv); - size_t GetIterableLength() const; - uint32_t GetValueAtIndex(uint32_t aIndex) const; + uint32_t Length() const; + int32_t IndexedGetter(uint32_t aIndex, bool& aFound) const; + private: virtual ~TestInterfaceIterableSingle() {} nsCOMPtr mParent; - nsTArray mValues; + nsTArray mValues; }; } // namespace dom diff --git a/dom/html/HTMLAnchorElement.cpp b/dom/html/HTMLAnchorElement.cpp index f9dea267b..b71d5a43b 100644 --- a/dom/html/HTMLAnchorElement.cpp +++ b/dom/html/HTMLAnchorElement.cpp @@ -39,6 +39,12 @@ ASSERT_NODE_FLAGS_SPACE(ELEMENT_TYPE_SPECIFIC_BITS_OFFSET + 2); #undef ANCHOR_ELEMENT_FLAG_BIT +// static +const DOMTokenListSupportedToken HTMLAnchorElement::sSupportedRelValues[] = { + "noreferrer", + nullptr +}; + HTMLAnchorElement::~HTMLAnchorElement() { } @@ -302,7 +308,7 @@ nsDOMTokenList* HTMLAnchorElement::RelList() { if (!mRelList) { - mRelList = new nsDOMTokenList(this, nsGkAtoms::rel); + mRelList = new nsDOMTokenList(this, nsGkAtoms::rel, sSupportedRelValues); } return mRelList; } diff --git a/dom/html/HTMLAnchorElement.h b/dom/html/HTMLAnchorElement.h index 7251b45c3..67dc015e6 100644 --- a/dom/html/HTMLAnchorElement.h +++ b/dom/html/HTMLAnchorElement.h @@ -227,6 +227,8 @@ public: GetHref(aResult); } + static DOMTokenListSupportedToken sSupportedRelValues[]; + protected: virtual ~HTMLAnchorElement(); diff --git a/dom/html/HTMLAreaElement.cpp b/dom/html/HTMLAreaElement.cpp index eecdf2731..c50368a4d 100644 --- a/dom/html/HTMLAreaElement.cpp +++ b/dom/html/HTMLAreaElement.cpp @@ -7,6 +7,7 @@ #include "mozilla/dom/HTMLAreaElement.h" #include "mozilla/Attributes.h" +#include "mozilla/dom/HTMLAnchorElement.h" #include "mozilla/dom/HTMLAreaElementBinding.h" #include "mozilla/EventDispatcher.h" #include "mozilla/EventStates.h" @@ -122,7 +123,8 @@ nsDOMTokenList* HTMLAreaElement::RelList() { if (!mRelList) { - mRelList = new nsDOMTokenList(this, nsGkAtoms::rel); + mRelList = new nsDOMTokenList(this, nsGkAtoms::rel, + HTMLAnchorElement::sSupportedRelValues); } return mRelList; } diff --git a/dom/html/HTMLIFrameElement.cpp b/dom/html/HTMLIFrameElement.cpp index 9618520df..d694cde02 100644 --- a/dom/html/HTMLIFrameElement.cpp +++ b/dom/html/HTMLIFrameElement.cpp @@ -18,6 +18,15 @@ NS_IMPL_NS_NEW_HTML_ELEMENT_CHECK_PARSER(IFrame) namespace mozilla { namespace dom { +// static +const DOMTokenListSupportedToken HTMLIFrameElement::sSupportedSandboxTokens[] = +{ +#define SANDBOX_KEYWORD(string, atom, flags) string, +#include "IframeSandboxKeywordList.h" +#undef SANDBOX_KEYWORD + nullptr +}; + HTMLIFrameElement::HTMLIFrameElement(already_AddRefed& aNodeInfo, FromParser aFromParser) : nsGenericHTMLFrameElement(aNodeInfo, aFromParser) diff --git a/dom/html/HTMLIFrameElement.h b/dom/html/HTMLIFrameElement.h index da8c0b280..454752e08 100644 --- a/dom/html/HTMLIFrameElement.h +++ b/dom/html/HTMLIFrameElement.h @@ -10,7 +10,7 @@ #include "mozilla/Attributes.h" #include "nsGenericHTMLFrameElement.h" #include "nsIDOMHTMLIFrameElement.h" -#include "nsDOMSettableTokenList.h" +#include "nsDOMTokenList.h" namespace mozilla { namespace dom { @@ -84,9 +84,9 @@ public: { SetHTMLAttr(nsGkAtoms::name, aName, aError); } - nsDOMSettableTokenList* Sandbox() + nsDOMTokenList* Sandbox() { - return GetTokenList(nsGkAtoms::sandbox); + return GetTokenList(nsGkAtoms::sandbox, sSupportedSandboxTokens); } bool AllowFullscreen() const { @@ -202,6 +202,8 @@ protected: private: static void MapAttributesIntoRule(const nsMappedAttributes* aAttributes, nsRuleData* aData); + + static const DOMTokenListSupportedToken sSupportedSandboxTokens[]; }; } // namespace dom diff --git a/dom/html/HTMLLinkElement.cpp b/dom/html/HTMLLinkElement.cpp index 1e13b8d85..5d73a210c 100644 --- a/dom/html/HTMLLinkElement.cpp +++ b/dom/html/HTMLLinkElement.cpp @@ -26,6 +26,7 @@ #include "nsPIDOMWindow.h" #include "nsReadableUtils.h" #include "nsStyleConsts.h" +#include "nsStyleLinkElement.h" #include "nsUnicharUtils.h" #define LINK_ELEMENT_FLAG_BIT(n_) \ @@ -499,11 +500,30 @@ HTMLLinkElement::GetLinkTarget(nsAString& aTarget) } } +static const DOMTokenListSupportedToken sSupportedRelValues[] = { + // Keep this in sync with ToLinkMask in nsStyleLinkElement.cpp. + // "import" must come first because it's conditional. + "import" + "prefetch", + "dns-prefetch", + "stylesheet", + "next", + "alternate", + "preconnect", + "icon", + "search", + nullptr +}; + nsDOMTokenList* HTMLLinkElement::RelList() { if (!mRelList) { - mRelList = new nsDOMTokenList(this, nsGkAtoms::rel); + const DOMTokenListSupportedTokenArray relValues = + nsStyleLinkElement::IsImportEnabled() ? + sSupportedRelValues : &sSupportedRelValues[1]; + + mRelList = new nsDOMTokenList(this, nsGkAtoms::rel, relValues); } return mRelList; } diff --git a/dom/html/HTMLLinkElement.h b/dom/html/HTMLLinkElement.h index 0411bcede..44596bf1e 100644 --- a/dom/html/HTMLLinkElement.h +++ b/dom/html/HTMLLinkElement.h @@ -119,7 +119,7 @@ public: { SetHTMLAttr(nsGkAtoms::hreflang, aHreflang, aRv); } - nsDOMSettableTokenList* Sizes() + nsDOMTokenList* Sizes() { return GetTokenList(nsGkAtoms::sizes); } diff --git a/dom/html/HTMLMenuItemElement.cpp b/dom/html/HTMLMenuItemElement.cpp index a40645c4c..c0320543d 100644 --- a/dom/html/HTMLMenuItemElement.cpp +++ b/dom/html/HTMLMenuItemElement.cpp @@ -11,6 +11,7 @@ #include "mozilla/dom/HTMLMenuItemElementBinding.h" #include "nsAttrValueInlines.h" #include "nsContentUtils.h" +#include "nsDOMTokenList.h" NS_IMPL_NS_NEW_HTML_ELEMENT_CHECK_PARSER(MenuItem) diff --git a/dom/html/HTMLOutputElement.cpp b/dom/html/HTMLOutputElement.cpp index 79c30cc65..8a1c59646 100644 --- a/dom/html/HTMLOutputElement.cpp +++ b/dom/html/HTMLOutputElement.cpp @@ -11,7 +11,6 @@ #include "mozilla/dom/HTMLFormElement.h" #include "mozilla/dom/HTMLOutputElementBinding.h" #include "nsContentUtils.h" -#include "nsDOMSettableTokenList.h" #include "nsFormSubmission.h" NS_IMPL_NS_NEW_HTML_ELEMENT_CHECK_PARSER(Output) @@ -166,11 +165,11 @@ HTMLOutputElement::SetDefaultValue(const nsAString& aDefaultValue, ErrorResult& } } -nsDOMSettableTokenList* +nsDOMTokenList* HTMLOutputElement::HtmlFor() { if (!mTokenList) { - mTokenList = new nsDOMSettableTokenList(this, nsGkAtoms::_for); + mTokenList = new nsDOMTokenList(this, nsGkAtoms::_for); } return mTokenList; } diff --git a/dom/html/HTMLOutputElement.h b/dom/html/HTMLOutputElement.h index 0f57cabfa..b9e6ecd9c 100644 --- a/dom/html/HTMLOutputElement.h +++ b/dom/html/HTMLOutputElement.h @@ -64,7 +64,7 @@ public: virtual JSObject* WrapNode(JSContext* aCx, JS::Handle aGivenProto) override; // WebIDL - nsDOMSettableTokenList* HtmlFor(); + nsDOMTokenList* HtmlFor(); // nsGenericHTMLFormElement::GetForm is fine. void GetName(nsAString& aName) { @@ -108,7 +108,7 @@ protected: ValueModeFlag mValueModeFlag; bool mIsDoneAddingChildren; nsString mDefaultValue; - RefPtr mTokenList; + RefPtr mTokenList; }; } // namespace dom diff --git a/dom/html/HTMLPropertiesCollection.cpp b/dom/html/HTMLPropertiesCollection.cpp index 252b89a22..3eb340a9d 100644 --- a/dom/html/HTMLPropertiesCollection.cpp +++ b/dom/html/HTMLPropertiesCollection.cpp @@ -9,7 +9,7 @@ #include "nsContentUtils.h" #include "nsGenericHTMLElement.h" #include "nsVariant.h" -#include "nsDOMSettableTokenList.h" +#include "nsDOMTokenList.h" #include "nsAttrValue.h" #include "nsWrapperCacheInlines.h" #include "mozilla/dom/HTMLPropertiesCollectionBinding.h" diff --git a/dom/html/HTMLTableCellElement.h b/dom/html/HTMLTableCellElement.h index 0e0c1b07e..abc984dba 100644 --- a/dom/html/HTMLTableCellElement.h +++ b/dom/html/HTMLTableCellElement.h @@ -47,7 +47,7 @@ public: { SetUnsignedIntAttr(nsGkAtoms::rowspan, aRowSpan, aError); } - //already_AddRefed Headers() const; + //already_AddRefed Headers() const; void GetHeaders(DOMString& aHeaders) { GetHTMLAttr(nsGkAtoms::headers, aHeaders); diff --git a/dom/html/nsGenericHTMLElement.cpp b/dom/html/nsGenericHTMLElement.cpp index 552a7d99e..b2243723b 100644 --- a/dom/html/nsGenericHTMLElement.cpp +++ b/dom/html/nsGenericHTMLElement.cpp @@ -96,7 +96,7 @@ #include "HTMLPropertiesCollection.h" #include "nsVariant.h" -#include "nsDOMSettableTokenList.h" +#include "nsDOMTokenList.h" #include "nsThreadUtils.h" #include "nsTextFragment.h" #include "mozilla/dom/BindingUtils.h" diff --git a/dom/html/nsGenericHTMLElement.h b/dom/html/nsGenericHTMLElement.h index 3dd4161a7..7440b825b 100644 --- a/dom/html/nsGenericHTMLElement.h +++ b/dom/html/nsGenericHTMLElement.h @@ -20,7 +20,7 @@ #include "mozilla/dom/ValidityState.h" #include "mozilla/dom/ElementInlines.h" -class nsDOMSettableTokenList; +class nsDOMTokenList; class nsIDOMHTMLMenuElement; class nsIEditor; class nsIFormControlFrame; @@ -104,7 +104,7 @@ public: { SetHTMLBoolAttr(nsGkAtoms::itemscope, aItemScope, aError); } - nsDOMSettableTokenList* ItemType() + nsDOMTokenList* ItemType() { return GetTokenList(nsGkAtoms::itemtype); } @@ -116,11 +116,11 @@ public: { SetHTMLAttr(nsGkAtoms::itemid, aItemID, aError); } - nsDOMSettableTokenList* ItemRef() + nsDOMTokenList* ItemRef() { return GetTokenList(nsGkAtoms::itemref); } - nsDOMSettableTokenList* ItemProp() + nsDOMTokenList* ItemProp() { return GetTokenList(nsGkAtoms::itemprop); } diff --git a/dom/interfaces/html/nsIDOMHTMLElement.idl b/dom/interfaces/html/nsIDOMHTMLElement.idl index 2d67399e2..7db07f4e0 100644 --- a/dom/interfaces/html/nsIDOMHTMLElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLElement.idl @@ -32,7 +32,7 @@ interface nsIDOMHTMLElement : nsIDOMElement attribute nsIVariant itemType; attribute DOMString itemId; readonly attribute nsISupports properties; - // The following attributes are really nsDOMSettableTokenList, which has + // The following attributes are really nsDOMTokenList, which has // PutForwards, so we express them as nsIVariants to deal with this. attribute nsIVariant itemValue; attribute nsIVariant itemProp; diff --git a/dom/webidl/DOMTokenList.webidl b/dom/webidl/DOMTokenList.webidl index 2621ba936..41f06a805 100644 --- a/dom/webidl/DOMTokenList.webidl +++ b/dom/webidl/DOMTokenList.webidl @@ -20,7 +20,13 @@ interface DOMTokenList { [Throws] void remove(DOMString... tokens); [Throws] + void replace(DOMString token, DOMString newToken); + [Throws] boolean toggle(DOMString token, optional boolean force); + [Throws] + boolean supports(DOMString token); + [SetterThrows] + attribute DOMString value; stringifier DOMString (); iterable; }; diff --git a/dom/webidl/Element.webidl b/dom/webidl/Element.webidl index 984e37f50..a456aeaaa 100644 --- a/dom/webidl/Element.webidl +++ b/dom/webidl/Element.webidl @@ -30,7 +30,7 @@ interface Element : Node { attribute DOMString id; [Pure] attribute DOMString className; - [Constant] + [Constant, PutForwards=value] readonly attribute DOMTokenList classList; [SameObject] diff --git a/dom/webidl/HTMLAnchorElement.webidl b/dom/webidl/HTMLAnchorElement.webidl index 3fa2b9fbc..0b8ded6d7 100644 --- a/dom/webidl/HTMLAnchorElement.webidl +++ b/dom/webidl/HTMLAnchorElement.webidl @@ -23,6 +23,7 @@ interface HTMLAnchorElement : HTMLElement { attribute DOMString rel; [SetterThrows, Pref="network.http.enablePerElementReferrer"] attribute DOMString referrerPolicy; + [PutForwards=value] readonly attribute DOMTokenList relList; [SetterThrows] attribute DOMString hreflang; diff --git a/dom/webidl/HTMLAreaElement.webidl b/dom/webidl/HTMLAreaElement.webidl index f8640d653..be3f37885 100644 --- a/dom/webidl/HTMLAreaElement.webidl +++ b/dom/webidl/HTMLAreaElement.webidl @@ -30,6 +30,7 @@ interface HTMLAreaElement : HTMLElement { attribute DOMString rel; [SetterThrows, Pref="network.http.enablePerElementReferrer"] attribute DOMString referrerPolicy; + [PutForwards=value] readonly attribute DOMTokenList relList; }; diff --git a/dom/webidl/HTMLElement.webidl b/dom/webidl/HTMLElement.webidl index 7caf68785..efbdc921e 100644 --- a/dom/webidl/HTMLElement.webidl +++ b/dom/webidl/HTMLElement.webidl @@ -28,11 +28,11 @@ interface HTMLElement : Element { // microdata [SetterThrows, Pure] attribute boolean itemScope; - [PutForwards=value,Constant] readonly attribute DOMSettableTokenList itemType; + [PutForwards=value,Constant] readonly attribute DOMTokenList itemType; [SetterThrows, Pure] attribute DOMString itemId; - [PutForwards=value,Constant] readonly attribute DOMSettableTokenList itemRef; - [PutForwards=value,Constant] readonly attribute DOMSettableTokenList itemProp; + [PutForwards=value,Constant] readonly attribute DOMTokenList itemRef; + [PutForwards=value,Constant] readonly attribute DOMTokenList itemProp; [Constant] readonly attribute HTMLPropertiesCollection properties; [Throws] @@ -54,7 +54,7 @@ interface HTMLElement : Element { readonly attribute DOMString accessKeyLabel; [SetterThrows, Pure] attribute boolean draggable; - //[PutForwards=value] readonly attribute DOMSettableTokenList dropzone; + //[PutForwards=value] readonly attribute DOMTokenList dropzone; [SetterThrows, Pure] attribute DOMString contentEditable; [Pure] diff --git a/dom/webidl/HTMLIFrameElement.webidl b/dom/webidl/HTMLIFrameElement.webidl index c0813cf4c..f7452dc72 100644 --- a/dom/webidl/HTMLIFrameElement.webidl +++ b/dom/webidl/HTMLIFrameElement.webidl @@ -18,7 +18,7 @@ interface HTMLIFrameElement : HTMLElement { attribute DOMString srcdoc; [SetterThrows, Pure] attribute DOMString name; - [PutForwards=value] readonly attribute DOMSettableTokenList sandbox; + [PutForwards=value] readonly attribute DOMTokenList sandbox; // attribute boolean seamless; [SetterThrows, Pure] attribute boolean allowFullscreen; diff --git a/dom/webidl/HTMLLinkElement.webidl b/dom/webidl/HTMLLinkElement.webidl index 468c4db2c..af53c5824 100644 --- a/dom/webidl/HTMLLinkElement.webidl +++ b/dom/webidl/HTMLLinkElement.webidl @@ -21,6 +21,7 @@ interface HTMLLinkElement : HTMLElement { attribute DOMString? crossOrigin; [SetterThrows, Pure] attribute DOMString rel; + [PutForwards=value] readonly attribute DOMTokenList relList; [SetterThrows, Pure] attribute DOMString media; @@ -28,7 +29,7 @@ interface HTMLLinkElement : HTMLElement { attribute DOMString hreflang; [SetterThrows, Pure] attribute DOMString type; - [PutForwards=value] readonly attribute DOMSettableTokenList sizes; + [PutForwards=value] readonly attribute DOMTokenList sizes; }; HTMLLinkElement implements LinkStyle; diff --git a/dom/webidl/HTMLOutputElement.webidl b/dom/webidl/HTMLOutputElement.webidl index aed8ce381..6ece47fe4 100644 --- a/dom/webidl/HTMLOutputElement.webidl +++ b/dom/webidl/HTMLOutputElement.webidl @@ -14,7 +14,7 @@ // http://www.whatwg.org/specs/web-apps/current-work/#the-output-element interface HTMLOutputElement : HTMLElement { [PutForwards=value, Constant] - readonly attribute DOMSettableTokenList htmlFor; + readonly attribute DOMTokenList htmlFor; readonly attribute HTMLFormElement? form; [SetterThrows, Pure] attribute DOMString name; diff --git a/dom/webidl/HTMLTableCellElement.webidl b/dom/webidl/HTMLTableCellElement.webidl index 052a67c77..e970a5040 100644 --- a/dom/webidl/HTMLTableCellElement.webidl +++ b/dom/webidl/HTMLTableCellElement.webidl @@ -16,7 +16,7 @@ interface HTMLTableCellElement : HTMLElement { attribute unsigned long colSpan; [SetterThrows] attribute unsigned long rowSpan; - //[PutForwards=value] readonly attribute DOMSettableTokenList headers; + //[PutForwards=value] readonly attribute DOMTokenList headers; [SetterThrows] attribute DOMString headers; readonly attribute long cellIndex; diff --git a/dom/webidl/TestInterfaceJSMaplikeSetlikeIterable.webidl b/dom/webidl/TestInterfaceJSMaplikeSetlikeIterable.webidl index dc6e3239e..1a124b016 100644 --- a/dom/webidl/TestInterfaceJSMaplikeSetlikeIterable.webidl +++ b/dom/webidl/TestInterfaceJSMaplikeSetlikeIterable.webidl @@ -50,6 +50,8 @@ interface TestInterfaceSetlikeNode { Pref="dom.expose_test_interfaces"] interface TestInterfaceIterableSingle { iterable; + getter long(unsigned long index); + readonly attribute unsigned long length; }; [Constructor(), diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build index cffef9c89..2b3ea1498 100644 --- a/dom/webidl/moz.build +++ b/dom/webidl/moz.build @@ -132,7 +132,6 @@ WEBIDL_FILES = [ 'DOMRect.webidl', 'DOMRectList.webidl', 'DOMRequest.webidl', - 'DOMSettableTokenList.webidl', 'DOMStringList.webidl', 'DOMStringMap.webidl', 'DOMTokenList.webidl',