Version in base suite: 140.12.0esr-1~deb13u1 Base version: thunderbird_140.12.0esr-1~deb13u1 Target version: thunderbird_140.13.0esr-2~deb13u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/t/thunderbird/thunderbird_140.12.0esr-1~deb13u1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/t/thunderbird/thunderbird_140.13.0esr-2~deb13u1.dsc .cargo/config.toml.in | 8 CLOBBER | 2 Cargo.lock | 26 accessible/base/CacheConstants.h | 4 accessible/base/CachedTableAccessible.cpp | 45 accessible/base/TextLeafRange.cpp | 7 accessible/ipc/DocAccessibleParent.cpp | 75 accessible/ipc/RemoteAccessible.cpp | 12 accessible/ipc/RemoteAccessible.h | 2 accessible/tests/browser/e10s/browser_caching_table.js | 25 browser/components/DesktopActorRegistry.sys.mjs | 3 browser/components/build/components.conf | 6 browser/components/distribution.sys.mjs | 9 browser/components/enterprisepolicies/helpers/WebsiteFilter.sys.mjs | 20 browser/components/enterprisepolicies/tests/xpcshell/test_websitefilter.js | 48 browser/components/enterprisepolicies/tests/xpcshell/xpcshell.toml | 2 browser/components/metrics.yaml | 17 browser/components/shell/Windows11LimitedAccessFeatures.cpp | 370 browser/components/shell/Windows11LimitedAccessFeatures.h | 65 browser/components/shell/Windows11TaskbarPinning.cpp | 45 browser/components/shell/moz.build | 2 browser/components/shell/nsILimitedAccessFeature.idl | 63 browser/components/shell/rust/shell_windows/Cargo.toml | 18 browser/components/shell/rust/shell_windows/src/LimitedAccessFeatureService.h | 17 browser/components/shell/rust/shell_windows/src/lib.rs | 11 browser/components/shell/rust/shell_windows/src/limited_access_features.rs | 299 browser/components/shell/test/gtest/LimitedAccessFeatureTests.cpp | 85 browser/components/tests/unit/test_distribution_mozillaonline.js | 68 browser/components/tests/unit/xpcshell.toml | 2 browser/config/version.txt | 2 browser/config/version_display.txt | 2 comm/.gecko_rev.yml | 4 comm/.gitignore | 57 comm/README.md | 51 comm/chat/modules/imContentSink.sys.mjs | 6 comm/chat/modules/test/test_filtering.js | 21 comm/mail/config/version.txt | 2 comm/mail/config/version_display.txt | 2 comm/mail/installer/linux/app/debian/changelog.in | 2 comm/mail/installer/linux/langpack/debian/changelog.in | 2 comm/mailnews/addrbook/modules/LDAPClient.sys.mjs | 26 comm/mailnews/mime/src/mimedrft.cpp | 2 comm/python/rocboot/bin/bootstrap.py | 308 comm/rust/.cargo/config.toml.in | 8 comm/rust/Cargo.lock | 12 comm/rust/checksums.json | 2 comm/rust/gkrust/Cargo.toml | 6 comm/taskcluster/comm_taskgraph/manifests/thunderbird_candidates.yml | 26 comm/taskcluster/comm_taskgraph/manifests/thunderbird_nightly.yml | 40 comm/taskcluster/comm_taskgraph/transforms/job/toolchain.py | 7 comm/taskcluster/config.yml | 1 comm/taskcluster/kinds/beetmover-repackage/kind.yml | 3 comm/taskcluster/kinds/release-deb-repackage/kind.yml | 53 comm/taskcluster/kinds/release-early-tagging/kind.yml | 2 comm/taskcluster/kinds/release-update-verify-next/kind.yml | 2 comm/taskcluster/kinds/release-version-bump/kind.yml | 2 comm/taskcluster/kinds/repackage-deb-l10n/kind.yml | 45 comm/taskcluster/kinds/repackage-deb/kind.yml | 53 comm/testing/mozharness/configs/repackage/base.py | 1 comm/testing/mozharness/configs/repackage/linux64_signed.py | 14 comm/third_party/rust/audioipc2-client/.cargo-checksum.json | 2 comm/third_party/rust/audioipc2-client/src/context.rs | 4 comm/third_party/rust/audioipc2-client/src/stream.rs | 23 comm/third_party/rust/audioipc2-server/.cargo-checksum.json | 2 comm/third_party/rust/audioipc2-server/src/server.rs | 82 comm/third_party/rust/audioipc2/.cargo-checksum.json | 2 comm/third_party/rust/audioipc2/src/messages.rs | 10 comm/third_party/rust/cubeb-pulse/.cargo-checksum.json | 2 comm/third_party/rust/cubeb-pulse/src/backend/stream.rs | 14 config/create_rc.py | 2 config/milestone.txt | 2 debian/changelog | 84 debian/control | 5 debian/patches/debian-hacks/all-thunderbird.js-Append-esr-to-VERSION-variable.patch | 2 debian/patches/fixes/Add-missing-.gitmodules-files-which-are-needed-to-build-t.patch | 1 debian/patches/fixes/Allow-.js-preference-files-to-set-locked-prefs-with-lockP.patch | 6 debian/patches/fixes/Bug-1969769-Change-uses-of-ast.Str-with-ast.Constant.-r-f.patch | 77 debian/patches/fixes/Bug-1983713-Use-non-deprecated-ast-value.-r-firefox-build.patch | 27 debian/patches/fixes/Bug-1983736-Patch-jsonschema-to-work-with-Python-3.14-r-m.patch | 43 debian/patches/fixes/Fix-conflicting-types-for-once_flag-and-call_once-with-gl.patch | 2 debian/patches/fixes/Fix-sandbox-to-build-with-glibc-2.43.patch | 1 debian/patches/fixes/Install-vaapitest-v4l2test-only-when-build.patch | 1 debian/patches/fixes/Load-dependent-libraries-with-their-real-path.patch | 2 debian/patches/fixes/enable-use-of-gpgme-greater-equal-two-dot-zero.patch | 28 debian/patches/prefs/Don-t-auto-disable-extensions-in-system-directories.patch | 2 debian/patches/prefs/Set-javascript.options.showInConsole.patch | 4 debian/patches/series | 3 debian/rules | 6 devtools/server/actors/source.js | 102 docshell/base/BrowsingContext.cpp | 14 docshell/base/BrowsingContext.h | 2 docshell/base/nsDocShell.cpp | 6 docshell/base/nsDocShellLoadState.cpp | 6 dom/base/CrossShadowBoundaryRange.cpp | 62 dom/base/CrossShadowBoundaryRange.h | 28 dom/base/StaticRange.cpp | 9 dom/base/StaticRange.h | 10 dom/base/TimeoutManager.cpp | 3 dom/base/nsContentUtils.h | 4 dom/base/nsINode.cpp | 14 dom/base/nsINode.h | 6 dom/base/nsTextFragment.h | 2 dom/bindings/ToJSValue.h | 4 dom/cache/CacheOpParent.cpp | 17 dom/cache/CacheStreamControlParent.cpp | 5 dom/cache/CacheStreamControlParent.h | 2 dom/canvas/CanvasRenderingContext2D.cpp | 42 dom/canvas/ClientWebGLContext.cpp | 113 dom/canvas/DrawTargetWebgl.cpp | 45 dom/canvas/WebGLProgram.cpp | 37 dom/canvas/nsICanvasRenderingContextInternal.cpp | 3 dom/cookiestore/CookieStoreParent.cpp | 28 dom/events/IMEStateManager.cpp | 23 dom/events/TextComposition.h | 58 dom/fetch/Fetch.cpp | 20 dom/fetch/Fetch.h | 8 dom/fetch/Request.cpp | 6 dom/fetch/Response.cpp | 6 dom/gamepad/GamepadPlatformService.cpp | 14 dom/html/HTMLCanvasElement.cpp | 7 dom/html/HTMLCanvasElement.h | 2 dom/html/HTMLImageElement.cpp | 8 dom/html/HTMLImageElement.h | 4 dom/html/HTMLSlotElement.cpp | 3 dom/html/nsGenericHTMLElement.cpp | 15 dom/indexedDB/Key.cpp | 3 dom/ipc/BrowserParent.cpp | 41 dom/ipc/ContentChild.cpp | 100 dom/ipc/ContentParent.cpp | 254 dom/ipc/ContentParent.h | 35 dom/ipc/DOMTypes.ipdlh | 1 dom/ipc/PContent.ipdl | 18 dom/ipc/ProcessIsolation.cpp | 86 dom/media/ChannelMediaResource.cpp | 2 dom/media/CloneableWithRangeMediaResource.cpp | 2 dom/media/FileMediaResource.cpp | 2 dom/media/GraphDriver.cpp | 35 dom/media/GraphDriver.h | 14 dom/media/MediaQueue.h | 4 dom/media/eme/MediaKeys.cpp | 6 dom/media/eme/clearkey/ClearKeyDecryptionManager.cpp | 6 dom/media/gmp/GMPVideoDecoderChild.cpp | 6 dom/media/gmp/GMPVideoi420FrameImpl.cpp | 5 dom/media/ipc/MFCDMParent.cpp | 17 dom/media/ipc/MFCDMParent.h | 11 dom/media/ipc/MFMediaEngineParent.cpp | 9 dom/media/mediasink/AudioDecoderInputTrack.cpp | 19 dom/media/mediasource/ContainerParser.cpp | 2 dom/media/mp4/SinfParser.cpp | 13 dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp | 68 dom/media/platforms/ffmpeg/FFmpegVideoFramePool.cpp | 11 dom/media/platforms/ffmpeg/FFmpegVideoUtils.h | 95 dom/media/platforms/ffmpeg/ffvpx/D3D11TextureWrapper.cpp | 10 dom/media/platforms/ffmpeg/ffvpx/D3D11TextureWrapper.h | 12 dom/media/platforms/wmf/DXVA2Manager.cpp | 13 dom/media/webaudio/MediaBufferDecoder.cpp | 35 dom/media/webcodecs/VideoFrame.cpp | 8 dom/media/webcodecs/crashtests/2045057.html | 33 dom/media/webcodecs/crashtests/crashtests.list | 1 dom/media/webrtc/jsapi/RTCEncodedFrameBase.cpp | 22 dom/promise/Promise.cpp | 14 dom/quota/EncryptedBlock.h | 8 dom/quota/EncryptingOutputStream_impl.h | 19 dom/security/nsContentSecurityManager.cpp | 41 dom/streams/ReadableStream.h | 8 dom/streams/UnderlyingSourceCallbackHelpers.h | 13 dom/view-transitions/ViewTransition.cpp | 8 dom/webtransport/api/WebTransport.cpp | 10 dom/webtransport/parent/WebTransportParent.cpp | 6 dom/webtransport/parent/WebTransportParent.h | 4 dom/webtransport/test/xpcshell/head.js | 23 dom/webtransport/test/xpcshell/test_close.js | 8 dom/webtransport/test/xpcshell/test_simple_conn.js | 20 dom/webtransport/test/xpcshell/test_simple_stream.js | 26 dom/webtransport/test/xpcshell/xpcshell.toml | 5 dom/workers/ScriptLoader.cpp | 4 dom/workers/loader/CacheLoadHandler.cpp | 12 dom/workers/loader/NetworkLoadHandler.cpp | 10 dom/workers/loader/WorkerLoadContext.cpp | 77 dom/workers/loader/WorkerLoadContext.h | 16 editor/libeditor/CompositionTransaction.cpp | 128 editor/libeditor/CompositionTransaction.h | 19 editor/libeditor/EditorBase.cpp | 19 editor/libeditor/TextEditSubActionHandler.cpp | 2 editor/libeditor/WhiteSpaceVisibilityKeeper.cpp | 6 editor/libeditor/tests/mochitest.toml | 2 editor/libeditor/tests/test_composition_modified_as_multiple_text_nodes.html | 227 gfx/2d/DrawTargetSkia.cpp | 58 gfx/2d/ScaledFontDWrite.cpp | 14 gfx/2d/ScaledFontFontconfig.cpp | 40 gfx/2d/SkConvolver.cpp | 18 gfx/angle/checkout/src/compiler/translator/IntermNode.cpp | 52 gfx/angle/checkout/src/compiler/translator/OutputHLSL.cpp | 8 gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/StateManager11.h | 5 gfx/cairo/cairo/src/cairo-cff-subset.c | 64 gfx/cairo/cairo/src/cairo-ft-font.c | 13 gfx/cairo/cairo/src/cairo-scaled-font-subsets.c | 5 gfx/cairo/cairo/src/cairo-type1-subset.c | 36 gfx/cairo/cairo/src/cairoint.h | 2 gfx/cairo/patches/0034-cff-dict-validation.patch | 47 gfx/cairo/patches/0035-cff-fdselect-bounds.patch | 39 gfx/cairo/patches/0036-cff-operator-bounds.patch | 99 gfx/cairo/patches/0037-fdselect-checks.patch | 29 gfx/cairo/patches/0037-pcf-row_bytes.patch | 28 gfx/cairo/patches/0038-gid-range-check.patch | 46 gfx/cairo/patches/0039-type1-stack-check.patch | 20 gfx/cairo/patches/0040-type1-decode-integer.patch | 63 gfx/cairo/patches/0041-Bug-2048799-flip-polarity-of-a-bounds-check.patch | 27 gfx/layers/D3D11ZeroCopyTextureImage.cpp | 36 gfx/layers/D3D11ZeroCopyTextureImage.h | 28 gfx/layers/DcompSurfaceImage.cpp | 7 gfx/layers/ImageContainer.cpp | 41 gfx/layers/ImageContainer.h | 46 gfx/layers/apz/util/APZCCallbackHelper.cpp | 3 gfx/layers/composite/TextureHost.cpp | 37 gfx/layers/d3d11/FenceD3D11.cpp | 40 gfx/layers/d3d11/FenceD3D11.h | 6 gfx/layers/d3d11/TextureD3D11.cpp | 30 gfx/layers/ipc/CanvasChild.cpp | 13 gfx/layers/opengl/DMABUFTextureHostOGL.cpp | 24 gfx/layers/opengl/MacIOSurfaceTextureHostOGL.cpp | 39 gfx/layers/opengl/TextureHostOGL.cpp | 24 gfx/layers/wr/AsyncImagePipelineManager.cpp | 8 gfx/layers/wr/WebRenderBridgeParent.cpp | 30 gfx/layers/wr/WebRenderCommandBuilder.cpp | 24 gfx/layers/wr/WebRenderMessageUtils.h | 29 gfx/ots/src/variations.cc | 9 gfx/thebes/COLRFonts.cpp | 52 gfx/thebes/gfxDWriteFontList.cpp | 2 gfx/thebes/gfxFcPlatformFontList.cpp | 22 gfx/thebes/gfxFcPlatformFontList.h | 13 gfx/thebes/gfxFont.cpp | 20 gfx/thebes/gfxFont.h | 20 gfx/thebes/gfxFontEntry.cpp | 7 gfx/thebes/gfxFontEntry.h | 18 gfx/thebes/gfxGraphiteShaper.cpp | 12 gfx/thebes/gfxHarfBuzzShaper.cpp | 7 gfx/thebes/gfxPlatformFontList.cpp | 3 gfx/thebes/gfxTextRun.cpp | 15 gfx/thebes/gfxUserFontSet.cpp | 37 gfx/thebes/gfxUserFontSet.h | 9 gfx/webrender_bindings/DCLayerTree.cpp | 3 gfx/webrender_bindings/RenderD3D11TextureHost.cpp | 117 gfx/webrender_bindings/WebRenderTypes.h | 52 gfx/wr/swgl/src/gl.cc | 11 gfx/wr/swgl/src/rasterize.h | 16 gfx/wr/webrender/src/texture_cache.rs | 6 gfx/ycbcr/ycbcr_to_rgb565.cpp | 29 image/BlobSurfaceProvider.cpp | 6 image/RasterImage.cpp | 10 image/decoders/nsAVIFDecoder.cpp | 20 image/imgRequest.cpp | 28 image/imgRequest.h | 6 image/imgRequestProxy.cpp | 13 ipc/glue/BackgroundParentImpl.cpp | 9 ipc/glue/BackgroundParentImpl.h | 2 ipc/glue/PBackground.ipdl | 2 ipc/glue/SharedMemoryPlatform_posix.cpp | 6 js/public/UbiNode.h | 2 js/src/builtin/ModuleObject.cpp | 4 js/src/builtin/ModuleObject.h | 1 js/src/builtin/RegExp.cpp | 12 js/src/builtin/RegExp.js | 10 js/src/builtin/SelfHostingDefines.h | 2 js/src/ctypes/CTypes.cpp | 10 js/src/gc/GC.cpp | 1 js/src/gc/GCMarker.h | 3 js/src/gc/GCRuntime.h | 6 js/src/gc/Marking.cpp | 5 js/src/gc/Nursery.cpp | 8 js/src/gc/Verifier.cpp | 1 js/src/jit/BacktrackingAllocator.cpp | 17 js/src/jit/BacktrackingAllocator.h | 2 js/src/jit/JitFrames.cpp | 3 js/src/jit/JitOptions.cpp | 3 js/src/jit/LIR.h | 3 js/src/jit/SimpleAllocator.cpp | 39 js/src/jit/SimpleAllocator.h | 2 js/src/jit/StackSlotAllocator.h | 160 js/src/jit/shared/IonAssemblerBufferWithConstantPools.h | 5 js/src/vm/Modules.cpp | 81 js/src/wasm/WasmBaselineCompile.cpp | 2 js/src/wasm/WasmBuiltins.cpp | 12 js/src/wasm/WasmInstance.cpp | 12 js/src/wasm/WasmStubs.cpp | 3 js/src/wasm/WasmTable.cpp | 3 js/xpconnect/src/XPCConvert.cpp | 2 layout/base/PresShell.cpp | 26 layout/base/nsCSSFrameConstructor.cpp | 25 layout/base/nsILayoutHistoryState.idl | 8 layout/base/nsLayoutHistoryState.cpp | 15 layout/generic/TextDrawTarget.h | 7 layout/generic/nsImageMap.cpp | 43 layout/painting/DottedCornerFinder.cpp | 7 layout/style/FontFaceSetImpl.cpp | 21 layout/style/FontFaceSetWorkerImpl.cpp | 8 layout/style/FontFaceSetWorkerImpl.h | 5 layout/style/FontLoaderUtils.cpp | 11 layout/style/FontLoaderUtils.h | 15 layout/style/ServoCSSRuleList.cpp | 2 layout/style/StyleSheet.cpp | 12 layout/style/StyleSheet.h | 6 media/libcubeb/delay-line-bounds.patch | 34 media/libcubeb/moz.yaml | 1 media/libcubeb/src/cubeb_resampler_internal.h | 21 media/libsoundtouch/moz.yaml | 1 media/libsoundtouch/ratetransposer-clamp-dest-size.patch | 22 media/libsoundtouch/src/RateTransposer.cpp | 11 mozglue/misc/Printf.cpp | 10 mozglue/misc/Printf.h | 2 netwerk/base/RedirectChannelRegistrar.cpp | 16 netwerk/base/RedirectChannelRegistrar.h | 7 netwerk/base/SimpleChannelParent.cpp | 5 netwerk/base/nsIRedirectChannelRegistrar.idl | 25 netwerk/base/nsITimedChannel.idl | 5 netwerk/base/nsNetUtil.cpp | 5 netwerk/base/nsNetUtil.h | 5 netwerk/base/nsStandardURL.cpp | 34 netwerk/dns/DNSPacket.cpp | 3 netwerk/dns/TRRQuery.cpp | 90 netwerk/dns/TRRQuery.h | 10 netwerk/dns/effective_tld_names.dat | 53 netwerk/ipc/DocumentLoadListener.cpp | 66 netwerk/ipc/ParentChannelWrapper.cpp | 7 netwerk/ipc/ParentChannelWrapper.h | 5 netwerk/ipc/ParentProcessDocumentChannel.cpp | 4 netwerk/protocol/data/DataChannelParent.cpp | 4 netwerk/protocol/file/FileChannelParent.cpp | 4 netwerk/protocol/http/BackgroundChannelRegistrar.cpp | 7 netwerk/protocol/http/HttpBackgroundChannelParent.cpp | 5 netwerk/protocol/http/HttpBackgroundChannelParent.h | 16 netwerk/protocol/http/HttpBaseChannel.cpp | 28 netwerk/protocol/http/HttpBaseChannel.h | 6 netwerk/protocol/http/HttpChannelChild.cpp | 2 netwerk/protocol/http/HttpChannelParams.ipdlh | 1 netwerk/protocol/http/HttpChannelParent.cpp | 16 netwerk/protocol/http/HttpChannelParent.h | 5 netwerk/protocol/http/NullHttpChannel.cpp | 18 netwerk/protocol/http/NullHttpChannel.h | 1 netwerk/protocol/http/ReplacedHttpResponse.cpp | 4 netwerk/protocol/http/ReplacedHttpResponse.h | 3 netwerk/protocol/http/nsHttpRequestHead.cpp | 10 netwerk/protocol/http/nsHttpRequestHead.h | 3 netwerk/protocol/http/nsHttpResponseHead.cpp | 10 netwerk/protocol/http/nsHttpResponseHead.h | 3 netwerk/protocol/http/nsHttpTransaction.cpp | 11 netwerk/protocol/websocket/WebSocketChannel.cpp | 51 netwerk/sctp/datachannel/DataChannel.cpp | 20 netwerk/sctp/src/netinet/sctp_indata.c | 8 netwerk/sctp/src/netinet/sctp_input.c | 44 netwerk/streamconv/converters/nsUnknownDecoder.cpp | 2 parser/html/nsHtml5TreeOperation.cpp | 39 parser/htmlparser/nsParser.cpp | 7 python/mozbuild/mozbuild/mach_commands.py | 8 python/mozbuild/mozbuild/repackaging/deb.py | 20 security/ct/CTKnownLogs.h | 192 security/manager/ssl/StaticHPKPins.h | 2 security/manager/ssl/nsSTSPreloadList.inc | 5476 +++--- security/manager/tools/log_list.json | 330 services/settings/dumps/blocklists/addons-bloomfilters.json | 8108 +++++++++- services/settings/dumps/main/devtools-compatibility-browsers.json | 325 services/settings/dumps/main/search-config-v2.json | 9 services/settings/dumps/main/translations-models.json | 173 services/settings/dumps/security-state/intermediates.json | 1645 -- services/settings/dumps/security-state/onecrl.json | 797 sourcestamp.txt | 6 taskcluster/config.yml | 5 taskcluster/docker/debian-packages/Dockerfile | 3 taskcluster/gecko_taskgraph/actions/merge_automation.py | 5 taskcluster/gecko_taskgraph/transforms/merge_automation.py | 3 taskcluster/gecko_taskgraph/transforms/repackage.py | 9 taskcluster/gecko_taskgraph/transforms/repackage_routes.py | 5 taskcluster/kinds/packages/ubuntu.yml | 8 taskcluster/kinds/release-update-verify-config/kind.yml | 1 taskcluster/kinds/searchfox/kind.yml | 7 testing/mozharness/configs/repackage/base.py | 1 testing/mozharness/scripts/repackage.py | 1 testing/web-platform/meta/fetch/images/canvas-remote-read-remote-image-redirect.html.ini | 4 testing/web-platform/meta/html/browsers/the-window-object/window-open-popup-behavior.html.ini | 105 testing/web-platform/tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table_2.html | 8 testing/web-platform/tests/service-workers/service-worker/css-sw-same-origin-substitution.https.html | 31 testing/web-platform/tests/service-workers/service-worker/resources/css-sw-same-origin-substitution-iframe.sub.html | 8 testing/web-platform/tests/service-workers/service-worker/resources/css-sw-same-origin-substitution-worker.js | 14 testing/web-platform/tests/tools/certs/cacert.key | 56 testing/web-platform/tests/tools/certs/cacert.pem | 174 testing/web-platform/tests/tools/certs/web-platform.test.key | 52 testing/web-platform/tests/tools/certs/web-platform.test.pem | 178 third_party/rlbox/include/rlbox_stdlib.hpp | 20 third_party/rust/audioipc2-client/.cargo-checksum.json | 2 third_party/rust/audioipc2-client/src/context.rs | 4 third_party/rust/audioipc2-client/src/stream.rs | 23 third_party/rust/audioipc2-server/.cargo-checksum.json | 2 third_party/rust/audioipc2-server/src/server.rs | 82 third_party/rust/audioipc2/.cargo-checksum.json | 2 third_party/rust/audioipc2/src/messages.rs | 10 third_party/rust/cubeb-pulse/.cargo-checksum.json | 2 third_party/rust/cubeb-pulse/src/backend/stream.rs | 14 thunderbird-l10n/af/manifest.json | 4 thunderbird-l10n/ar/manifest.json | 4 thunderbird-l10n/ast/manifest.json | 4 thunderbird-l10n/be/manifest.json | 4 thunderbird-l10n/bg/manifest.json | 4 thunderbird-l10n/br/manifest.json | 4 thunderbird-l10n/ca/manifest.json | 4 thunderbird-l10n/cak/manifest.json | 4 thunderbird-l10n/cs/manifest.json | 4 thunderbird-l10n/cy/manifest.json | 4 thunderbird-l10n/da/manifest.json | 4 thunderbird-l10n/de/manifest.json | 4 thunderbird-l10n/dsb/manifest.json | 4 thunderbird-l10n/el/manifest.json | 4 thunderbird-l10n/en-CA/manifest.json | 4 thunderbird-l10n/en-GB/manifest.json | 4 thunderbird-l10n/es-AR/manifest.json | 4 thunderbird-l10n/es-ES/manifest.json | 4 thunderbird-l10n/es-MX/manifest.json | 4 thunderbird-l10n/et/manifest.json | 4 thunderbird-l10n/eu/manifest.json | 4 thunderbird-l10n/fi/manifest.json | 4 thunderbird-l10n/fr/manifest.json | 4 thunderbird-l10n/fy-NL/manifest.json | 4 thunderbird-l10n/ga-IE/manifest.json | 4 thunderbird-l10n/gd/manifest.json | 4 thunderbird-l10n/gl/manifest.json | 4 thunderbird-l10n/he/manifest.json | 4 thunderbird-l10n/hr/manifest.json | 4 thunderbird-l10n/hsb/manifest.json | 4 thunderbird-l10n/hu/manifest.json | 4 thunderbird-l10n/hy-AM/manifest.json | 4 thunderbird-l10n/id/manifest.json | 4 thunderbird-l10n/is/manifest.json | 4 thunderbird-l10n/it/manifest.json | 4 thunderbird-l10n/ja/manifest.json | 4 thunderbird-l10n/ka/manifest.json | 4 thunderbird-l10n/kab/manifest.json | 4 thunderbird-l10n/kk/manifest.json | 4 thunderbird-l10n/ko/manifest.json | 4 thunderbird-l10n/lt/manifest.json | 4 thunderbird-l10n/lv/manifest.json | 4 thunderbird-l10n/ms/manifest.json | 4 thunderbird-l10n/nb-NO/manifest.json | 4 thunderbird-l10n/nl/manifest.json | 4 thunderbird-l10n/nn-NO/manifest.json | 4 thunderbird-l10n/pa-IN/manifest.json | 4 thunderbird-l10n/pl/manifest.json | 4 thunderbird-l10n/pt-BR/manifest.json | 4 thunderbird-l10n/pt-PT/manifest.json | 4 thunderbird-l10n/rm/manifest.json | 4 thunderbird-l10n/ro/manifest.json | 4 thunderbird-l10n/ru/manifest.json | 4 thunderbird-l10n/sk/manifest.json | 4 thunderbird-l10n/sl/manifest.json | 4 thunderbird-l10n/sq/manifest.json | 4 thunderbird-l10n/sr/manifest.json | 4 thunderbird-l10n/sv-SE/manifest.json | 4 thunderbird-l10n/th/manifest.json | 4 thunderbird-l10n/tr/manifest.json | 4 thunderbird-l10n/uk/manifest.json | 4 thunderbird-l10n/uz/manifest.json | 4 thunderbird-l10n/vi/manifest.json | 4 thunderbird-l10n/zh-CN/manifest.json | 4 thunderbird-l10n/zh-TW/manifest.json | 4 toolkit/components/extensions/Extension.sys.mjs | 23 toolkit/components/extensions/ExtensionParent.sys.mjs | 2 toolkit/components/extensions/moz.build | 9 toolkit/components/extensions/test/mochitest/test_ext_test.html | 3 toolkit/components/extensions/test/xpcshell/test_wpt_actor_pref.js | 33 toolkit/components/extensions/test/xpcshell/test_wpt_test_onMessage.js | 6 toolkit/components/extensions/test/xpcshell/xpcshell-common.toml | 3 toolkit/components/pdfjs/content/PdfStreamConverter.sys.mjs | 22 toolkit/components/pdfjs/content/web/viewer-geckoview.mjs | 22 toolkit/components/pdfjs/content/web/viewer.mjs | 26 toolkit/components/pdfjs/test/browser.toml | 7 toolkit/components/pdfjs/test/browser_pdfjs_sandboxed_iframe.js | 381 toolkit/components/pdfjs/test/file_pdfjs_csp.sjs | 15 toolkit/components/pdfjs/test/file_pdfjs_csp_sandbox_opener.html | 15 toolkit/components/pdfjs/test/file_pdfjs_csp_sandbox_opener.html^headers^ | 1 toolkit/components/reputationservice/ApplicationReputation.cpp | 1 toolkit/components/reputationservice/ApplicationReputation.h | 4 toolkit/components/reputationservice/test/gtest/TestExecutableLists.cpp | 1 toolkit/components/search/tests/xpcshell/searchconfigs/test_ecosia.js | 2 toolkit/components/telemetry/core/TelemetryEvent.cpp | 2 toolkit/components/telemetry/other/TelemetryIOInterposeObserver.cpp | 3 toolkit/components/telemetry/other/UntrustedModulesDataSerializer.cpp | 6 toolkit/components/viewsource/test/browser/browser.toml | 3 toolkit/components/viewsource/test/browser/browser_bug2048851.js | 40 toolkit/components/viewsource/test/browser/file_bug2048851.html | 1 toolkit/library/rust/gkrust-features.mozbuild | 3 toolkit/library/rust/shared/Cargo.toml | 8 toolkit/library/rust/shared/lib.rs | 2 toolkit/mozapps/extensions/AddonManagerStartup.cpp | 2 tools/lint/clippy.yml | 1 uriloader/exthandler/ExternalHelperAppParent.cpp | 6 uriloader/exthandler/ExternalHelperAppParent.h | 1 uriloader/exthandler/nsExternalHelperAppService.cpp | 8 widget/ClipboardWriteRequestParent.cpp | 4 widget/GfxInfoBase.cpp | 4 widget/android/EventDispatcher.cpp | 9 widget/windows/WinRegistry.cpp | 63 widget/windows/WinRegistry.h | 9 xpcom/base/ErrorList.py | 1 xpcom/io/SnappyFrameUtils.cpp | 5 502 files changed, 19739 insertions(+), 7394 deletions(-) dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpy0rij2cb/thunderbird_140.12.0esr-1~deb13u1.dsc: no acceptable signature found dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpy0rij2cb/thunderbird_140.13.0esr-2~deb13u1.dsc: no acceptable signature found diff -Nru thunderbird-140.12.0esr/.cargo/config.toml.in thunderbird-140.13.0esr/.cargo/config.toml.in --- thunderbird-140.12.0esr/.cargo/config.toml.in 2026-06-13 03:47:54.000000000 +0000 +++ thunderbird-140.13.0esr/.cargo/config.toml.in 2026-07-21 21:32:53.000000000 +0000 @@ -85,9 +85,9 @@ rev = "f5907a411e52a3985d0369d71c486eb507c2c4e6" replace-with = "vendored-sources" -[source."git+https://github.com/mozilla/audioipc?rev=e6f44a2bd1e57d11dfc737632a9e849077632330"] +[source."git+https://github.com/mozilla/audioipc?rev=3f0d4aef7a2c06b0146384592b312a7f47ab7cea"] git = "https://github.com/mozilla/audioipc" -rev = "e6f44a2bd1e57d11dfc737632a9e849077632330" +rev = "3f0d4aef7a2c06b0146384592b312a7f47ab7cea" replace-with = "vendored-sources" [source."git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=bebaa23317332c95734df76e25193c24a83a6840"] @@ -95,9 +95,9 @@ rev = "bebaa23317332c95734df76e25193c24a83a6840" replace-with = "vendored-sources" -[source."git+https://github.com/mozilla/cubeb-pulse-rs?rev=8678dcab1c287de79c4c184ccc2e065bc62b70e2"] +[source."git+https://github.com/mozilla/cubeb-pulse-rs?rev=b46defa5370f16c57ce8b163d8fbb0b68a8e81e1"] git = "https://github.com/mozilla/cubeb-pulse-rs" -rev = "8678dcab1c287de79c4c184ccc2e065bc62b70e2" +rev = "b46defa5370f16c57ce8b163d8fbb0b68a8e81e1" replace-with = "vendored-sources" [source."git+https://github.com/mozilla/midir.git?rev=85156e360a37d851734118104619f86bd18e94c6"] diff -Nru thunderbird-140.12.0esr/CLOBBER thunderbird-140.13.0esr/CLOBBER --- thunderbird-140.12.0esr/CLOBBER 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/CLOBBER 2026-07-21 21:32:54.000000000 +0000 @@ -22,4 +22,4 @@ # changes to stick? As of bug 928195, this shouldn't be necessary! Please # don't change CLOBBER for WebIDL changes any more. -Merge day clobber 2026-05-18 \ No newline at end of file +Merge day clobber 2026-07-20 \ No newline at end of file diff -Nru thunderbird-140.12.0esr/Cargo.lock thunderbird-140.13.0esr/Cargo.lock --- thunderbird-140.12.0esr/Cargo.lock 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/Cargo.lock 2026-07-21 21:32:54.000000000 +0000 @@ -281,7 +281,7 @@ [[package]] name = "audioipc2" version = "0.6.0" -source = "git+https://github.com/mozilla/audioipc?rev=e6f44a2bd1e57d11dfc737632a9e849077632330#e6f44a2bd1e57d11dfc737632a9e849077632330" +source = "git+https://github.com/mozilla/audioipc?rev=3f0d4aef7a2c06b0146384592b312a7f47ab7cea#3f0d4aef7a2c06b0146384592b312a7f47ab7cea" dependencies = [ "arrayvec", "ashmem", @@ -309,7 +309,7 @@ [[package]] name = "audioipc2-client" version = "0.6.0" -source = "git+https://github.com/mozilla/audioipc?rev=e6f44a2bd1e57d11dfc737632a9e849077632330#e6f44a2bd1e57d11dfc737632a9e849077632330" +source = "git+https://github.com/mozilla/audioipc?rev=3f0d4aef7a2c06b0146384592b312a7f47ab7cea#3f0d4aef7a2c06b0146384592b312a7f47ab7cea" dependencies = [ "audio_thread_priority", "audioipc2", @@ -320,7 +320,7 @@ [[package]] name = "audioipc2-server" version = "0.6.0" -source = "git+https://github.com/mozilla/audioipc?rev=e6f44a2bd1e57d11dfc737632a9e849077632330#e6f44a2bd1e57d11dfc737632a9e849077632330" +source = "git+https://github.com/mozilla/audioipc?rev=3f0d4aef7a2c06b0146384592b312a7f47ab7cea#3f0d4aef7a2c06b0146384592b312a7f47ab7cea" dependencies = [ "audio_thread_priority", "audioipc2", @@ -1416,7 +1416,7 @@ [[package]] name = "cubeb-pulse" version = "0.5.0" -source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=8678dcab1c287de79c4c184ccc2e065bc62b70e2#8678dcab1c287de79c4c184ccc2e065bc62b70e2" +source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=b46defa5370f16c57ce8b163d8fbb0b68a8e81e1#b46defa5370f16c57ce8b163d8fbb0b68a8e81e1" dependencies = [ "cubeb-backend", "pulse", @@ -2629,6 +2629,7 @@ "rure", "rusqlite 0.33.0", "rust_minidump_writer_linux", + "shell_windows", "signature_cache", "static_prefs", "storage", @@ -5436,7 +5437,7 @@ [[package]] name = "pulse" version = "0.3.0" -source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=8678dcab1c287de79c4c184ccc2e065bc62b70e2#8678dcab1c287de79c4c184ccc2e065bc62b70e2" +source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=b46defa5370f16c57ce8b163d8fbb0b68a8e81e1#b46defa5370f16c57ce8b163d8fbb0b68a8e81e1" dependencies = [ "bitflags 2.9.0", "pulse-ffi", @@ -5445,7 +5446,7 @@ [[package]] name = "pulse-ffi" version = "0.1.0" -source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=8678dcab1c287de79c4c184ccc2e065bc62b70e2#8678dcab1c287de79c4c184ccc2e065bc62b70e2" +source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=b46defa5370f16c57ce8b163d8fbb0b68a8e81e1#b46defa5370f16c57ce8b163d8fbb0b68a8e81e1" dependencies = [ "libc", ] @@ -6153,6 +6154,19 @@ ] [[package]] +name = "shell_windows" +version = "0.1.0" +dependencies = [ + "base64 0.22.1", + "log", + "nserror", + "nsstring", + "sha2", + "windows", + "xpcom", +] + +[[package]] name = "shlex" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" diff -Nru thunderbird-140.12.0esr/accessible/base/CacheConstants.h thunderbird-140.13.0esr/accessible/base/CacheConstants.h --- thunderbird-140.12.0esr/accessible/base/CacheConstants.h 2026-06-13 03:47:54.000000000 +0000 +++ thunderbird-140.13.0esr/accessible/base/CacheConstants.h 2026-07-21 21:32:53.000000000 +0000 @@ -161,9 +161,9 @@ static constexpr nsStaticAtom* DOMNodeClass = nsGkAtoms::_class; // nsAtom, CacheDomain::DOMNodeIDAndClass static constexpr nsStaticAtom* DOMNodeID = nsGkAtoms::id; - // AccGroupInfo, no domain + // AccGroupInfo, no domain, not sent from content static constexpr nsStaticAtom* GroupInfo = nsGkAtoms::group; - // nsTArray, no domain + // nsTArray, no domain, not sent from content // As returned by HyperTextAccessibleBase::CachedHyperTextOffsets. static constexpr nsStaticAtom* HyperTextOffsets = nsGkAtoms::offset; // bool, CacheDomain::Actions diff -Nru thunderbird-140.12.0esr/accessible/base/CachedTableAccessible.cpp thunderbird-140.13.0esr/accessible/base/CachedTableAccessible.cpp --- thunderbird-140.12.0esr/accessible/base/CachedTableAccessible.cpp 2026-06-13 03:47:54.000000000 +0000 +++ thunderbird-140.13.0esr/accessible/base/CachedTableAccessible.cpp 2026-07-21 21:32:53.000000000 +0000 @@ -19,29 +19,42 @@ namespace mozilla::a11y { // Used to search for table descendants relevant to table structure. -class TablePartRule : public PivotRule { +class MOZ_STACK_CLASS TablePartRule : public PivotRule { public: + explicit TablePartRule(Accessible* aRoot) : mRoot(aRoot) {} + virtual uint16_t Match(Accessible* aAcc) override { - role accRole = aAcc->Role(); - if (accRole == roles::CAPTION || aAcc->IsTableCell()) { - return nsIAccessibleTraversalRule::FILTER_MATCH | - nsIAccessibleTraversalRule::FILTER_IGNORE_SUBTREE; + if (aAcc == mRoot) { + // We obviously need to walk inside our table, but we shouldn't match it. + MOZ_ASSERT(aAcc->IsTable()); + return nsIAccessibleTraversalRule::FILTER_IGNORE; + } + if (aAcc->IsTable()) { + // Don't walk inside nested tables at all. + return nsIAccessibleTraversalRule::FILTER_IGNORE_SUBTREE; } if (aAcc->IsTableRow()) { return nsIAccessibleTraversalRule::FILTER_MATCH; } - if (aAcc->IsTable() || - // Generic containers. - accRole == roles::TEXT || accRole == roles::TEXT_CONTAINER || - accRole == roles::SECTION || - // Row groups. - accRole == roles::ROWGROUP) { + if (aAcc->IsTableCell()) { + return nsIAccessibleTraversalRule::FILTER_MATCH | + nsIAccessibleTraversalRule::FILTER_IGNORE_SUBTREE; + } + role accRole = aAcc->Role(); + if (accRole == roles::CAPTION) { + return nsIAccessibleTraversalRule::FILTER_MATCH | + nsIAccessibleTraversalRule::FILTER_IGNORE_SUBTREE; + } + if (aAcc->IsGeneric() || accRole == roles::ROWGROUP) { // Walk inside these, but don't match them. return nsIAccessibleTraversalRule::FILTER_IGNORE; } return nsIAccessibleTraversalRule::FILTER_IGNORE | nsIAccessibleTraversalRule::FILTER_IGNORE_SUBTREE; } + + private: + Accessible* mRoot; }; // The Accessible* keys should only be used for lookup. They should not be @@ -71,14 +84,10 @@ return; } - Accessible* table = nsAccUtils::TableFor(aAcc); - while (table && table->IsTable()) { + if (Accessible* table = nsAccUtils::TableFor(aAcc)) { // Destroy the instance (if any). We'll create a new one the next time it - // is requested. Climb up the heirarcy to invalidate parent tables as well. + // is requested. sCachedTables->Remove(table); - // The table may be a direct child of another table, invalidate that one as - // well. - table = table->Parent(); } } @@ -93,7 +102,7 @@ // header. nsTHashMap prevColHeaders; Pivot pivot(mAcc); - TablePartRule rule; + TablePartRule rule(mAcc); for (Accessible* part = pivot.Next(mAcc, rule); part; part = pivot.Next(part, rule)) { role partRole = part->Role(); diff -Nru thunderbird-140.12.0esr/accessible/base/TextLeafRange.cpp thunderbird-140.13.0esr/accessible/base/TextLeafRange.cpp --- thunderbird-140.12.0esr/accessible/base/TextLeafRange.cpp 2026-06-13 03:47:54.000000000 +0000 +++ thunderbird-140.13.0esr/accessible/base/TextLeafRange.cpp 2026-07-21 21:32:53.000000000 +0000 @@ -861,7 +861,12 @@ if (aDirection == eDirPrevious) { --index; } - return TextLeafPoint(mAcc, lines->ElementAt(index)); + int32_t offset = lines->ElementAt(index); + if (MOZ_UNLIKELY(offset < 0 || static_cast(offset) > + nsAccUtils::TextLength(mAcc))) { + return TextLeafPoint(); + } + return TextLeafPoint(mAcc, offset); } TextLeafPoint TextLeafPoint::FindLineStartSameAcc( diff -Nru thunderbird-140.12.0esr/accessible/ipc/DocAccessibleParent.cpp thunderbird-140.13.0esr/accessible/ipc/DocAccessibleParent.cpp --- thunderbird-140.12.0esr/accessible/ipc/DocAccessibleParent.cpp 2026-06-13 03:47:54.000000000 +0000 +++ thunderbird-140.13.0esr/accessible/ipc/DocAccessibleParent.cpp 2026-07-21 21:32:53.000000000 +0000 @@ -119,10 +119,6 @@ #endif } - if (parent->IsOuterDoc()) { - return IPC_FAIL(this, "Cannot attach non-doc to OuterDoc"); - } - lastParent = parent; lastParentID = accData.ParentID(); @@ -145,6 +141,16 @@ // This is the first Accessible, which is the root of the shown subtree. root = child; rootParent = parent; + if (!aComplete) { + // This is the first message for a show event split across multiple + // messages. Save the show target for subsequent messages and return. + mPendingShowChild = accData.ID(); + mPendingShowParent = accData.ParentID(); + mPendingShowIndex = accData.IndexInParent(); + if (!rootParent->IsDoc() && !rootParent->RemoteParent()) { + return IPC_FAIL(this, "Attempt to split show with detached root"); + } + } } // If this show event has been split across multiple messages and this is // not the last message, don't attach the shown root to the tree yet. @@ -159,21 +165,11 @@ MOZ_ASSERT(CheckDocTree()); - if (!aComplete && !mPendingShowChild) { - // This is the first message for a show event split across multiple - // messages. Save the show target for subsequent messages and return. - const auto& accData = aNewTree[0]; - mPendingShowChild = accData.ID(); - mPendingShowParent = accData.ParentID(); - mPendingShowIndex = accData.IndexInParent(); - return IPC_OK(); - } if (!aComplete) { // This show event has been split into multiple messages, but this is - // neither the first nor the last message. There's nothing more to do here. + // not the last message. There's nothing more to do here. return IPC_OK(); } - MOZ_ASSERT(aComplete); if (mPendingShowChild) { // This is the last message for a show event split across multiple // messages. Retrieve the saved show target, attach it to the tree and fire @@ -241,6 +237,13 @@ "Attempt to move RemoteAccessible which still has a parent!"); return nullptr; } + if (aAccData.ID() == mPendingShowChild) { + MOZ_ASSERT_UNREACHABLE( + "Attempt to move RemoteAccessible which has a pending parent"); + return nullptr; + } + MOZ_RELEASE_ASSERT(newProxy->ChildCount() == 0 || newProxy->IsOuterDoc(), + "Reused RemoteAccessible unexpectedly has children!"); return newProxy; } @@ -260,7 +263,9 @@ mAccessibles.PutEntry(aAccData.ID())->mProxy = newProxy; if (RefPtr fields = aAccData.CacheFields()) { - newProxy->ApplyCache(CacheUpdateType::Initial, fields); + if (!newProxy->ApplyCache(CacheUpdateType::Initial, fields)) { + return nullptr; + } } return newProxy; @@ -269,12 +274,36 @@ bool DocAccessibleParent::AttachChild(RemoteAccessible* aParent, uint32_t aIndex, RemoteAccessible* aChild) { + if (!aParent || !aChild) { + MOZ_ASSERT_UNREACHABLE("Null parent or child"); + return false; + } + + if (aParent->IsOuterDoc()) { + MOZ_ASSERT_UNREACHABLE("Cannot attach non-doc to OuterDoc"); + return false; + } + + if (aIndex > aParent->ChildCount()) { + MOZ_ASSERT_UNREACHABLE("Invalid index for attached child"); + return false; + } + if (aChild->RemoteParent()) { MOZ_ASSERT_UNREACHABLE( "Attempt to attach child which already has a parent!"); return false; } + if (!aParent->IsDoc() && !aParent->RemoteParent() && + aParent->ID() != mPendingShowChild) { + MOZ_ASSERT_UNREACHABLE("Attempt to attach child to a detached parent!"); + return false; + } + + MOZ_RELEASE_ASSERT(!mPendingShowChild || aChild->ID() != mPendingShowParent, + "Attempt to attach the pending show's parent as a child!"); + if (aParent == aChild) { MOZ_ASSERT_UNREACHABLE("Attempt to make an accessible its own child!"); return false; @@ -361,6 +390,10 @@ MOZ_ASSERT(CheckDocTree()); + if (mPendingShowChild) { + return IPC_FAIL(this, "Hide during split show"); + } + // We shouldn't actually need this because mAccessibles shouldn't have an // entry for the document itself, but it doesn't hurt to be explicit. if (!aRootID) { @@ -528,6 +561,10 @@ return IPC_OK(); } + if (aOffset < -1) { + return IPC_FAIL(this, "Invalid caret offset"); + } + mCaretId = aID; mCaretOffset = aOffset; mIsCaretAtEndOfLine = aIsAtEndOfLine; @@ -753,7 +790,9 @@ continue; } - remote->ApplyCache(aUpdateType, entry.Fields()); + if (!remote->ApplyCache(aUpdateType, entry.Fields())) { + return IPC_FAIL(this, "Invalid cache data"); + } } if (nsCOMPtr obsService = @@ -1094,8 +1133,6 @@ RemoteAccessible* acc = iter.Get()->mProxy; MOZ_ASSERT(acc != this); if (acc->IsTable()) { - // Prevents the invalidation code from trying to walk up the tree. - acc->SetParent(nullptr); CachedTableAccessible::Invalidate(acc); } ProxyDestroyed(acc); diff -Nru thunderbird-140.12.0esr/accessible/ipc/RemoteAccessible.cpp thunderbird-140.13.0esr/accessible/ipc/RemoteAccessible.cpp --- thunderbird-140.12.0esr/accessible/ipc/RemoteAccessible.cpp 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/accessible/ipc/RemoteAccessible.cpp 2026-07-21 21:32:53.000000000 +0000 @@ -181,11 +181,16 @@ return mParent; } -void RemoteAccessible::ApplyCache(CacheUpdateType aUpdateType, +bool RemoteAccessible::ApplyCache(CacheUpdateType aUpdateType, AccAttributes* aFields) { if (!aFields) { MOZ_ASSERT_UNREACHABLE("ApplyCache called with aFields == null"); - return; + return false; + } + if (aFields->HasAttribute(CacheKey::HyperTextOffsets) || + aFields->HasAttribute(CacheKey::GroupInfo)) { + MOZ_ASSERT_UNREACHABLE("Received invalid cache key"); + return false; } const nsTArray relUpdatesNeeded = PreProcessRelations(aFields); @@ -215,7 +220,7 @@ mCachedFields->Update(aFields); } - if (IsTextLeaf()) { + if (IsText()) { RemoteAccessible* parent = RemoteParent(); if (parent && parent->IsHyperText()) { parent->InvalidateCachedHyperTextOffsets(); @@ -223,6 +228,7 @@ } PostProcessRelations(relUpdatesNeeded); + return true; } ENameValueFlag RemoteAccessible::Name(nsString& aName) const { diff -Nru thunderbird-140.12.0esr/accessible/ipc/RemoteAccessible.h thunderbird-140.13.0esr/accessible/ipc/RemoteAccessible.h --- thunderbird-140.12.0esr/accessible/ipc/RemoteAccessible.h 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/accessible/ipc/RemoteAccessible.h 2026-07-21 21:32:53.000000000 +0000 @@ -294,7 +294,7 @@ DocAccessibleParent* AsDoc() const { return IsDoc() ? mDoc : nullptr; } - void ApplyCache(CacheUpdateType aUpdateType, AccAttributes* aFields); + bool ApplyCache(CacheUpdateType aUpdateType, AccAttributes* aFields); void UpdateStateCache(uint64_t aState, bool aEnabled) { if (aState & kRemoteCalculatedStates) { diff -Nru thunderbird-140.12.0esr/accessible/tests/browser/e10s/browser_caching_table.js thunderbird-140.13.0esr/accessible/tests/browser/e10s/browser_caching_table.js --- thunderbird-140.12.0esr/accessible/tests/browser/e10s/browser_caching_table.js 2026-06-13 03:47:54.000000000 +0000 +++ thunderbird-140.13.0esr/accessible/tests/browser/e10s/browser_caching_table.js 2026-07-21 21:32:53.000000000 +0000 @@ -662,3 +662,28 @@ ok(!queryOk, "No nsIAccessibleTableCell on invalid cell b"); } ); + +/** + * Test that a nested table's cells aren't included in the parent table if there + * is no intervening cell. This is incorrect authoring, but we should handle it + * gracefully. + */ +addAccessibleTask( + ` +
+
a
+
+ `, + async function testDirectChildTable(browser, docAcc) { + const outer = findAccessibleChildByID(docAcc, "outer", [ + nsIAccessibleTable, + ]); + is(outer.rowCount, 0, "outer rowCount correct"); + is(outer.columnCount, 0, "outer columnCount correct"); + const inner = findAccessibleChildByID(docAcc, "inner", [ + nsIAccessibleTable, + ]); + is(inner.rowCount, 1, "inner rowCount correct"); + is(inner.columnCount, 1, "inner columnCount correct"); + } +); diff -Nru thunderbird-140.12.0esr/browser/components/DesktopActorRegistry.sys.mjs thunderbird-140.13.0esr/browser/components/DesktopActorRegistry.sys.mjs --- thunderbird-140.12.0esr/browser/components/DesktopActorRegistry.sys.mjs 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/DesktopActorRegistry.sys.mjs 2026-07-21 21:32:54.000000000 +0000 @@ -82,6 +82,7 @@ matches: ["chrome://global/content/megalist/megalist.html"], allFrames: true, enablePreference: "browser.contextual-password-manager.enabled", + remoteTypes: ["parent"], }, AboutLogins: { @@ -212,6 +213,7 @@ }, matches: ["about:tabcrashed*"], + remoteTypes: ["parent"], }, AboutWelcome: { @@ -475,6 +477,7 @@ "about:deleteprofile", "about:newprofile", ], + remoteTypes: ["parent", "privilegedabout"], }, LinkHandler: { diff -Nru thunderbird-140.12.0esr/browser/components/build/components.conf thunderbird-140.13.0esr/browser/components/build/components.conf --- thunderbird-140.12.0esr/browser/components/build/components.conf 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/build/components.conf 2026-07-21 21:32:54.000000000 +0000 @@ -46,4 +46,10 @@ 'type': 'nsIEHistoryEnumerator', 'headers': ['/browser/components/migration/nsIEHistoryEnumerator.h'], }, + { + 'cid': '{115f4862-f302-42a2-a58c-d09f636ab601}', + 'contract_ids': ['@mozilla.org/limited-access-feature-service;1'], + 'headers': ['/browser/components/shell/rust/shell_windows/src/LimitedAccessFeatureService.h'], + 'legacy_constructor': 'new_limited_access_feature_service', + }, ] diff -Nru thunderbird-140.12.0esr/browser/components/distribution.sys.mjs thunderbird-140.13.0esr/browser/components/distribution.sys.mjs --- thunderbird-140.12.0esr/browser/components/distribution.sys.mjs 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/distribution.sys.mjs 2026-07-21 21:32:54.000000000 +0000 @@ -392,6 +392,15 @@ return this._checkCustomizationComplete(); } + if ( + distroID == "MozillaOnline" && + Services.prefs.getBoolPref("distribution.mozillaonline.ignore", false) + ) { + Glean.distribution.mozillaonlineIgnored.set(true); + this.__defineGetter__("_ini", () => null); + return this._checkCustomizationComplete(); + } + let defaults = Services.prefs.getDefaultBranch(null); // Global really contains info we set as prefs. They're only diff -Nru thunderbird-140.12.0esr/browser/components/enterprisepolicies/helpers/WebsiteFilter.sys.mjs thunderbird-140.13.0esr/browser/components/enterprisepolicies/helpers/WebsiteFilter.sys.mjs --- thunderbird-140.12.0esr/browser/components/enterprisepolicies/helpers/WebsiteFilter.sys.mjs 2026-06-13 03:47:54.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/enterprisepolicies/helpers/WebsiteFilter.sys.mjs 2026-07-21 21:32:53.000000000 +0000 @@ -159,14 +159,30 @@ return this.QueryInterface(iid); }, isAllowed(url) { - if (this._blockPatterns?.matches(url.toLowerCase())) { + let normalizedURL = this.normalizeURL(url); + // A URL we are about to load should always parse, so this is unexpected. + // Block it rather than let an unparseable URL skip the filter. + if (normalizedURL == null) { + return false; + } + if (this._blockPatterns?.matches(normalizedURL)) { if ( !this._exceptionsPatterns || - !this._exceptionsPatterns.matches(url.toLowerCase()) + !this._exceptionsPatterns.matches(normalizedURL) ) { return false; } } return true; }, + normalizeURL(url) { + let parsed = URL.parse(url); + if (!parsed) { + return null; + } + if (parsed.hostname.endsWith(".")) { + parsed.hostname = parsed.hostname.replace(/\.+$/, ""); + } + return parsed.href.toLowerCase(); + }, }; diff -Nru thunderbird-140.12.0esr/browser/components/enterprisepolicies/tests/xpcshell/test_websitefilter.js thunderbird-140.13.0esr/browser/components/enterprisepolicies/tests/xpcshell/test_websitefilter.js --- thunderbird-140.12.0esr/browser/components/enterprisepolicies/tests/xpcshell/test_websitefilter.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/enterprisepolicies/tests/xpcshell/test_websitefilter.js 2026-07-21 21:32:53.000000000 +0000 @@ -0,0 +1,48 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +const { WebsiteFilter } = ChromeUtils.importESModule( + "resource:///modules/policies/WebsiteFilter.sys.mjs" +); + +add_task(async function setup() { + await setupPolicyEngineWithJson({ + policies: { + WebsiteFilter: { + Block: ["*://accounts.firefox.com/*"], + }, + }, + }); +}); + +add_task(async function test_host_normalization() { + ok( + !WebsiteFilter.isAllowed("https://accounts.firefox.com/"), + "Bare host should be blocked" + ); + ok( + !WebsiteFilter.isAllowed("https://accounts.firefox.com./"), + "Trailing-dot host should be blocked" + ); + ok( + !WebsiteFilter.isAllowed("https://accounts.firefox.com.../"), + "Multiple trailing dots should be blocked" + ); + ok( + !WebsiteFilter.isAllowed("https://accounts.firefox.com%2e/"), + "Percent-encoded trailing dot should be blocked" + ); + ok( + !WebsiteFilter.isAllowed("https://accounts.firefox.com。/"), + "Ideographic full-stop (folds to a trailing dot) should be blocked" + ); + ok( + WebsiteFilter.isAllowed("https://example.org./"), + "Unrelated trailing-dot host should not be blocked" + ); + ok( + !WebsiteFilter.isAllowed("not a parseable url"), + "Unparseable URL should be blocked" + ); +}); diff -Nru thunderbird-140.12.0esr/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.toml thunderbird-140.13.0esr/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.toml --- thunderbird-140.12.0esr/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.toml 2026-06-13 03:47:54.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.toml 2026-07-21 21:32:53.000000000 +0000 @@ -55,3 +55,5 @@ ["test_sorted_alphabetically.js"] ["test_telemetry.js"] + +["test_websitefilter.js"] diff -Nru thunderbird-140.12.0esr/browser/components/metrics.yaml thunderbird-140.13.0esr/browser/components/metrics.yaml --- thunderbird-140.12.0esr/browser/components/metrics.yaml 2026-06-13 03:47:54.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/metrics.yaml 2026-07-21 21:32:53.000000000 +0000 @@ -1017,3 +1017,20 @@ data_sensitivity: - technical expires: never + +distribution: + mozillaonline_ignored: + type: boolean + description: > + Recorded when Firefox detects a mozillaonline distribution and ignores it, + applying no distribution customizations. + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=2027788 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=2027788 + data_sensitivity: + - technical + notification_emails: + - amarchesini@mozilla.com + expires: never + lifetime: application diff -Nru thunderbird-140.12.0esr/browser/components/shell/Windows11LimitedAccessFeatures.cpp thunderbird-140.13.0esr/browser/components/shell/Windows11LimitedAccessFeatures.cpp --- thunderbird-140.12.0esr/browser/components/shell/Windows11LimitedAccessFeatures.cpp 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/shell/Windows11LimitedAccessFeatures.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,370 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* 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/. */ - -/** - * This file exists so that LaunchModernSettingsDialogDefaultApps can be called - * without linking to libxul. - */ -#include "Windows11LimitedAccessFeatures.h" - -#include "mozilla/Logging.h" - -static mozilla::LazyLogModule sLog("Windows11LimitedAccessFeatures"); - -#define LAF_LOG(level, msg, ...) MOZ_LOG(sLog, level, (msg, ##__VA_ARGS__)) - -// MINGW32 is not supported for these features -// Fall back function defined in the #else -#ifndef __MINGW32__ - -# include "mozilla/ErrorResult.h" -# include "nsString.h" -# include "nsCOMPtr.h" -# include "nsComponentManagerUtils.h" -# include "nsIWindowsRegKey.h" -# include "nsWindowsHelpers.h" -# include "nsICryptoHash.h" - -# include "mozilla/Atomics.h" -# include "mozilla/Base64.h" -# include "mozilla/Char16.h" -# include "mozilla/WinHeaderOnlyUtils.h" -# include "WinUtils.h" - -# include -# include -# include -# include -# include - -using namespace Microsoft::WRL; -using namespace Microsoft::WRL::Wrappers; -using namespace ABI::Windows; -using namespace ABI::Windows::Foundation; -using namespace ABI::Windows::ApplicationModel; - -using namespace mozilla; - -/** - * To unlock features, we need: - * a feature identifier - * a token, - * an attestation string - * a token - * - * The token is generated by Microsoft and must - * match the publisher id Microsoft thinks we have, for a particular - * feature. - * - * To get a token, find the right microsoft email address by doing - * a search on the web for the feature you want unlocked and reach - * out to the right people at Microsoft. - * - * The token is generated from Microsoft. - * The jumbled code in the attestation string is a publisher id and - * must match the code in the resources / .rc file for the identity, - * looking like this for non-MSIX builds: - * - * Identity LimitedAccessFeature {{ L"MozillaFirefox_pcsmm0jrprpb2" }} - * - * Broken down: - * Identity LimitedAccessFeature {{ L"PRODUCTNAME_PUBLISHERID" }} - * - * That is injected into our build in create_rc.py and is necessary - * to unlock the taskbar pinning feature / APIs from an unpackaged - * build. - * - * In the above, the token is generated from the publisher id (pcsmm0jrprpb2) - * and the product name (MozillaFirefox) - * - * All tokens listed here were provided to us by Microsoft. - * - * Below and in create_rc.py, we used this set: - * - * Token: "kRFiWpEK5uS6PMJZKmR7MQ==" - * Product Name: "MozillaFirefox" - * Publisher ID: "pcsmm0jrprpb2" - * - * Microsoft also provided these other tokens, which will will - * work if accompanied by the matching changes to create_rc.py: - - * ----- - * Token: "RGEhsYgKhmPLKyzkEHnMhQ==" - * Product Name: "FirefoxBeta" - * Publisher ID: "pcsmm0jrprpb2" - * - * ----- - * - * Token: "qbVzns/9kT+t15YbIwT4Jw==" - * Product Name: "FirefoxNightly" - * Publisher ID: "pcsmm0jrprpb2" - * - * To use those instead, you have to ensure that the LimitedAccessFeature - * generated in create_rc.py has the product name and publisher id - * matching the token used in this file. - * - * For non-packaged (non-MSIX) builds, any of the above sets will work. - * Just make sure the right (ProductName_PublisherID) value is in the - * generated resource data for the executable, and the matching -* (Token) and attestation string - * - * To get MSIX/packaged builds to work, the product name and publisher in - * the final manifest (searchfox.org/mozilla-central/search?q=APPX_PUBLISHER) - * should match the token in this file. For that case, the identity value - * in the resources does not matter. - * - * See here for Microsoft examples: -https://github.com/microsoft/Windows-classic-samples/tree/main/Samples/TaskbarManager/CppUnpackagedDesktopTaskbarPin - */ - -/** - * Unlocks a Windows Limited Access Feature (LAF) by generating a token and - * attestation. - * - * This function first retrieves the LAF key from the registry using - * the LAF identifier and then combines the lafId, lafKey, and PFN - * into a token. - * - * Applying Base64(SHA256Encode("!!")[0..16]) yields the - * complete LAF token for unlocking. - * - * Taking the last 13 characters of the PFN yields the publisher identifier - * which is used in the following boilerplate: - * " has registered their use of with Microsoft and - * agrees to the terms of use." - * - * @return {LimitedAccessFeatureInfo} containing the generated - * token and attestation upon success. Contains empty strings for - * these fields upon failure. - */ -static mozilla::Result -GenerateLimitedAccessFeatureInfo(const nsCString& debugName, - const nsString& lafId) { - nsresult rv; - // Read registry key for a given Limited Access Feature with ID lafId. - nsAutoString keyData; - nsCOMPtr regKey = - do_CreateInstance("@mozilla.org/windows-registry-key;1", &rv); - NS_ENSURE_SUCCESS(rv, Err(rv)); - const nsAutoString regPath = - u"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\AppModel\\LimitedAccessFeatures\\"_ns + - lafId; - rv = regKey->Open(nsIWindowsRegKey::ROOT_KEY_LOCAL_MACHINE, regPath, - nsIWindowsRegKey::ACCESS_READ); - NS_ENSURE_SUCCESS(rv, Err(rv)); - rv = regKey->ReadStringValue(u""_ns, keyData); - NS_ENSURE_SUCCESS(rv, Err(rv)); - - // Get Package Family Name (PFN) and assemble a string to hash. - // First convert this string to SHA256, take the first 16 bytes - // only, and then read as base 64. - nsAutoCString hashStringResult; - nsAutoString encodedToken; - // The non-MSIX family name must match whatever value is in create_rc.py - // Currently this is MozillaFirefox_pcsmm0jrprpb2 - nsAutoString familyName; - if (widget::WinUtils::HasPackageIdentity()) { - familyName = nsDependentString(mozilla::GetPackageFamilyName().get()); - } else { - familyName = u"MozillaFirefox_pcsmm0jrprpb2"_ns; - } - const nsAutoCString hashString = - NS_ConvertUTF16toUTF8(lafId + u"!"_ns + keyData + u"!"_ns + familyName); - - nsCOMPtr cryptoHash = - do_CreateInstance("@mozilla.org/security/hash;1", &rv); - NS_ENSURE_SUCCESS(rv, Err(rv)); - rv = cryptoHash->Init(nsICryptoHash::SHA256); - NS_ENSURE_SUCCESS(rv, Err(rv)); - rv = cryptoHash->Update(reinterpret_cast(hashString.get()), - hashString.Length()); - NS_ENSURE_SUCCESS(rv, Err(rv)); - rv = cryptoHash->Finish(false, hashStringResult); - NS_ENSURE_SUCCESS(rv, Err(rv)); - - // Keep only first 16 bytes and encode - hashStringResult.Truncate(hashStringResult.Length() - 16); - rv = Base64Encode(hashStringResult, encodedToken); - NS_ENSURE_SUCCESS(rv, Err(rv)); - - // The PFN contains a package ID in the last 13 characters. - // This ID is based on the value in the publisher field of the - // AppManifest. This ID is used to assemble the attestation. - familyName.Cut(0, familyName.Length() - 13); - nsAutoString attestation = - familyName + u" has registered their use of "_ns + lafId + - u" with Microsoft and agrees to the terms of use."_ns; - LimitedAccessFeatureInfo result = {debugName, lafId, encodedToken, - attestation}; - return result; -} - -/** - Implementation of the Win11LimitedAccessFeaturesInterface. - */ -class Win11LimitedAccessFeatures : public Win11LimitedAccessFeaturesInterface { - public: - using AtomicState = Atomic; - - Result Unlock(Win11LimitedAccessFeatureType feature) override; - - private: - AtomicState& GetState(Win11LimitedAccessFeatureType feature); - Result UnlockImplementation( - const LimitedAccessFeatureInfo& lafInfo); - - /** - * Store the state as an atomic so that it can be safely accessed from - * different threads. - */ - static AtomicState mTaskbarState; - static AtomicState mDefaultState; - - enum State { - Uninitialized, - Locked, - Unlocked, - }; -}; - -Win11LimitedAccessFeatures::AtomicState - Win11LimitedAccessFeatures::mTaskbarState( - Win11LimitedAccessFeatures::Uninitialized); -Win11LimitedAccessFeatures::AtomicState - Win11LimitedAccessFeatures::mDefaultState( - Win11LimitedAccessFeatures::Uninitialized); - -RefPtr -CreateWin11LimitedAccessFeaturesInterface() { - RefPtr result( - new Win11LimitedAccessFeatures()); - return result; -} - -Result Win11LimitedAccessFeatures::Unlock( - Win11LimitedAccessFeatureType feature) { - AtomicState& atomicState = GetState(feature); - - // Win11LimitedAccessFeatureType::Taskbar - auto taskbarLafInfo = GenerateLimitedAccessFeatureInfo( - "Win11LimitedAccessFeatureType::Taskbar"_ns, - u"com.microsoft.windows.taskbar.pin"_ns); - if (taskbarLafInfo.isErr()) { - LAF_LOG(LogLevel::Debug, "Unlocking taskbar failed with error %d", - NS_ERROR_GET_CODE(taskbarLafInfo.unwrapErr())); - return Err(E_FAIL); - } - - LimitedAccessFeatureInfo limitedAccessFeatureInfo[] = { - taskbarLafInfo.unwrap()}; - const auto& lafInfo = limitedAccessFeatureInfo[static_cast(feature)]; - - LAF_LOG(LogLevel::Debug, - "Limited Access Feature Info for %s. Feature %ls, %ls, %ls", - lafInfo.debugName.get(), lafInfo.token.getW(), lafInfo.token.getW(), - lafInfo.attestation.getW()); - - int state = atomicState; - if (state != Uninitialized) { - LAF_LOG(LogLevel::Debug, "%s already initialized! State = %s", - lafInfo.debugName.get(), (state == Unlocked) ? "true" : "false"); - return (state == Unlocked); - } - - // If multiple threads read the state at the same time, and it's unitialized, - // both threads will unlock the feature. This situation is unlikely, but even - // if it happens, it's not a problem. - - auto result = UnlockImplementation(lafInfo); - - int newState = Locked; - if (!result.isErr() && result.unwrap()) { - newState = Unlocked; - } - - atomicState = newState; - - return result; -} - -Win11LimitedAccessFeatures::AtomicState& Win11LimitedAccessFeatures::GetState( - Win11LimitedAccessFeatureType feature) { - switch (feature) { - case Win11LimitedAccessFeatureType::Taskbar: - return mTaskbarState; - - default: - LAF_LOG(LogLevel::Debug, "Missing feature type for %d", - static_cast(feature)); - MOZ_ASSERT(false, - "Unhandled feature type! Add a new atomic state variable, add " - "that entry to the switch statement above, and add the proper " - "entries for the feature and the token."); - return mDefaultState; - } -} - -Result Win11LimitedAccessFeatures::UnlockImplementation( - const LimitedAccessFeatureInfo& lafInfo) { - ComPtr limitedAccessFeatures; - ComPtr limitedAccessFeaturesResult; - - HRESULT hr = RoGetActivationFactory( - HStringReference( - RuntimeClass_Windows_ApplicationModel_LimitedAccessFeatures) - .Get(), - IID_ILimitedAccessFeaturesStatics, &limitedAccessFeatures); - - if (!SUCCEEDED(hr)) { - LAF_LOG(LogLevel::Debug, "%s activation error. HRESULT = 0x%lx", - lafInfo.debugName.get(), hr); - return Err(hr); - } - - hr = limitedAccessFeatures->TryUnlockFeature( - HStringReference(lafInfo.feature.get()).Get(), - HStringReference(lafInfo.token.get()).Get(), - HStringReference(lafInfo.attestation.get()).Get(), - &limitedAccessFeaturesResult); - if (!SUCCEEDED(hr)) { - LAF_LOG(LogLevel::Debug, "%s unlock error. HRESULT = 0x%lx", - lafInfo.debugName.get(), hr); - return Err(hr); - } - - LimitedAccessFeatureStatus status; - hr = limitedAccessFeaturesResult->get_Status(&status); - if (!SUCCEEDED(hr)) { - LAF_LOG(LogLevel::Debug, "%s get status error. HRESULT = 0x%lx", - lafInfo.debugName.get(), hr); - return Err(hr); - } - - int state = Unlocked; - if ((status != LimitedAccessFeatureStatus_Available) && - (status != LimitedAccessFeatureStatus_AvailableWithoutToken)) { - LAF_LOG(LogLevel::Debug, "%s not available. HRESULT = 0x%lx", - lafInfo.debugName.get(), hr); - state = Locked; - } - - return (state == Unlocked); -} - -#else // MINGW32 implementation - -RefPtr -CreateWin11LimitedAccessFeaturesInterface() { - RefPtr result; - return result; -} - -static mozilla::Result -GenerateLimitedAccessFeatureInfo(const nsCString& debugName, - const nsString& lafId) { - return mozilla::Err(NS_ERROR_NOT_IMPLEMENTED); -} - -#endif diff -Nru thunderbird-140.12.0esr/browser/components/shell/Windows11LimitedAccessFeatures.h thunderbird-140.13.0esr/browser/components/shell/Windows11LimitedAccessFeatures.h --- thunderbird-140.12.0esr/browser/components/shell/Windows11LimitedAccessFeatures.h 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/shell/Windows11LimitedAccessFeatures.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,65 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* 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/. */ - -#ifndef SHELL_WINDOWS11LIMITEDACCESSFEATURES_H__ -#define SHELL_WINDOWS11LIMITEDACCESSFEATURES_H__ - -#include "nsISupportsImpl.h" -#include "nsString.h" -#include "mozilla/Result.h" -#include "mozilla/ResultVariant.h" -#include -#include // for HRESULT -#include "mozilla/DefineEnum.h" -#include - -MOZ_DEFINE_ENUM_CLASS(Win11LimitedAccessFeatureType, (Taskbar)); - -/** - * Class to manage unlocking limited access features on Windows 11. - * Unless stubbing for testing purposes, create objects of this - * class with CreateWin11LimitedAccessFeaturesInterface. - * - * Windows 11 requires certain features to be unlocked in order to work - * (for instance, the Win11 Taskbar pinning APIs). Call Unlock() - * to unlock them. Generally, results will be cached in atomic variables - * and future calls to Unlock will be as long as it takes - * to fetch an atomic variable. - */ -class Win11LimitedAccessFeaturesInterface { - public: - /** - * Unlocks the limited access features, if possible. - * - * Returns an error code on error, true on successful unlock, - * false on unlock failed (but with no error). - */ - virtual mozilla::Result Unlock( - Win11LimitedAccessFeatureType feature) = 0; - - /** - * Reference counting and cycle collection. - */ - NS_INLINE_DECL_REFCOUNTING(Win11LimitedAccessFeaturesInterface) - - protected: - virtual ~Win11LimitedAccessFeaturesInterface() {} -}; - -struct LimitedAccessFeatureInfo { - const nsCString debugName; - const nsString feature; - const nsString token; - const nsString attestation; -}; - -RefPtr -CreateWin11LimitedAccessFeaturesInterface(); - -mozilla::Result -GenerateLimitedAccessFeatureInfo(const nsCString& debugName, - const nsString& lafId); - -#endif // SHELL_WINDOWS11LIMITEDACCESSFEATURES_H__ diff -Nru thunderbird-140.12.0esr/browser/components/shell/Windows11TaskbarPinning.cpp thunderbird-140.13.0esr/browser/components/shell/Windows11TaskbarPinning.cpp --- thunderbird-140.12.0esr/browser/components/shell/Windows11TaskbarPinning.cpp 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/shell/Windows11TaskbarPinning.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -4,8 +4,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "Windows11TaskbarPinning.h" -#include "Windows11LimitedAccessFeatures.h" +#include "nsILimitedAccessFeature.h" #include "nsWindowsHelpers.h" #include "MainThreadUtils.h" #include "nsThreadUtils.h" @@ -70,24 +70,39 @@ using namespace ABI::Windows::Foundation; using namespace ABI::Windows::ApplicationModel; -static Win11PinToTaskBarResult UnlockLimitedAccessFeature( - Win11LimitedAccessFeatureType featureType) { - RefPtr limitedAccessFeatures = - CreateWin11LimitedAccessFeaturesInterface(); - auto result = limitedAccessFeatures->Unlock(featureType); - if (result.isErr()) { - auto hr = result.unwrapErr(); - TASKBAR_PINNING_LOG(LogLevel::Debug, - "Taskbar unlock: Error. HRESULT = 0x%lx", hr); - return {hr, Win11PinToTaskBarResultStatus::NotSupported}; +static Win11PinToTaskBarResult UnlockTaskbarPinFeature() { + nsCOMPtr lafService = + do_GetService("@mozilla.org/limited-access-feature-service;1"); + + nsAutoCString pinFeatureId; + nsresult rv = lafService->GetTaskbarPinFeatureId(pinFeatureId); + + if (NS_WARN_IF(NS_FAILED(rv))) { + return {E_FAIL, Win11PinToTaskBarResultStatus::NotSupported}; } - if (result.unwrap() == false) { + nsCOMPtr feature; + rv = lafService->GenerateLimitedAccessFeature(pinFeatureId, + getter_AddRefs(feature)); + + if (NS_WARN_IF(NS_FAILED(rv))) { + return {E_FAIL, Win11PinToTaskBarResultStatus::NotSupported}; + } + + bool unlocked = false; + rv = feature->Unlock(&unlocked); + + if (NS_WARN_IF(NS_FAILED(rv))) { + return {E_FAIL, Win11PinToTaskBarResultStatus::NotSupported}; + } + + if (!unlocked) { TASKBAR_PINNING_LOG( LogLevel::Debug, "Taskbar unlock: failed. Not supported on this version of Windows."); return {S_OK, Win11PinToTaskBarResultStatus::NotSupported}; } + return {S_OK, Win11PinToTaskBarResultStatus::Success}; } @@ -184,8 +199,7 @@ "thread only. It blocks, waiting on things to execute " "asynchronously on the main thread."); - Win11PinToTaskBarResult unlockStatus = - UnlockLimitedAccessFeature(Win11LimitedAccessFeatureType::Taskbar); + Win11PinToTaskBarResult unlockStatus = UnlockTaskbarPinFeature(); if (unlockStatus.result != Win11PinToTaskBarResultStatus::Success) { // Limited Access Feature no longer necessary for Windows 11 26200 Build // 7840, and possibly other channels. @@ -414,8 +428,7 @@ "thread only. It blocks, waiting on things to execute " "asynchronously on the main thread."); - Win11PinToTaskBarResult unlockStatus = - UnlockLimitedAccessFeature(Win11LimitedAccessFeatureType::Taskbar); + Win11PinToTaskBarResult unlockStatus = UnlockTaskbarPinFeature(); if (unlockStatus.result != Win11PinToTaskBarResultStatus::Success) { // Limited Access Feature no longer necessary for Windows 11 26200 Build // 7840, and possibly other channels. diff -Nru thunderbird-140.12.0esr/browser/components/shell/moz.build thunderbird-140.13.0esr/browser/components/shell/moz.build --- thunderbird-140.12.0esr/browser/components/shell/moz.build 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/shell/moz.build 2026-07-21 21:32:53.000000000 +0000 @@ -52,11 +52,11 @@ elif CONFIG["OS_ARCH"] == "WINNT": XPIDL_SOURCES += [ + "nsILimitedAccessFeature.idl", "nsIWindowsShellService.idl", ] SOURCES += [ "nsWindowsShellService.cpp", - "Windows11LimitedAccessFeatures.cpp", "Windows11TaskbarPinning.cpp", "WindowsDefaultBrowser.cpp", "WindowsUserChoice.cpp", diff -Nru thunderbird-140.12.0esr/browser/components/shell/nsILimitedAccessFeature.idl thunderbird-140.13.0esr/browser/components/shell/nsILimitedAccessFeature.idl --- thunderbird-140.12.0esr/browser/components/shell/nsILimitedAccessFeature.idl 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/shell/nsILimitedAccessFeature.idl 2026-07-21 21:32:54.000000000 +0000 @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * 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/. */ + +#include "nsISupports.idl" + +/** + * An interface for unlocking Windows Limited Access Features. This allows use + * of Windows APIs which are otherwise gated. + */ +[scriptable, uuid(5d58bf99-9539-49d7-aa76-c5a262476e5a)] +interface nsILimitedAccessFeature : nsISupports +{ + /** + * The Feature ID associated to this interface. + */ + readonly attribute ACString featureId; + + /** + * The generated token. + */ + readonly attribute ACString token; + + /** + * The generated attestation. + */ + readonly attribute ACString attestation; + + /** + * Attempts to unlock the associated Limited Access Feature. + * + * @return {bool} true if the Limited Access Feature is unlocked. + */ + boolean unlock(); +}; + +/** + * A factory to generate nsILimitedAccessFeature objects. + */ +[scriptable, uuid(115f4862-f302-42a2-a58c-d09f636ab601)] +interface nsILimitedAccessFeatureService : nsISupports +{ + /** + * The Feature ID for taskbar pinning. + */ + readonly attribute ACString taskbarPinFeatureId; + + /** + * Generates a new object that can be used to unlock the requested Limited + * Access Feature. + * + * @param {ACString} featureId + * The ID of the feature we want to unlock. + * @return {nsILimitedAccessFeature} + * An object that can be used to unlock the requested Limited Access + * Feature. + */ + nsILimitedAccessFeature generateLimitedAccessFeature( + in ACString featureId + ); +}; diff -Nru thunderbird-140.12.0esr/browser/components/shell/rust/shell_windows/Cargo.toml thunderbird-140.13.0esr/browser/components/shell/rust/shell_windows/Cargo.toml --- thunderbird-140.12.0esr/browser/components/shell/rust/shell_windows/Cargo.toml 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/shell/rust/shell_windows/Cargo.toml 2026-07-21 21:32:54.000000000 +0000 @@ -0,0 +1,18 @@ +[package] +name = "shell_windows" +version = "0.1.0" +edition = "2021" + +[dependencies] +base64 = "0.22" +log = "0.4" +nserror = { path = "../../../../../xpcom/rust/nserror" } +nsstring = { path = "../../../../../xpcom/rust/nsstring" } +sha2 = "0.10.2" +xpcom = { path = "../../../../../xpcom/rust/xpcom" } + +[dependencies.windows] +version = "0.58.0" +features = [ + "ApplicationModel", +] diff -Nru thunderbird-140.12.0esr/browser/components/shell/rust/shell_windows/src/LimitedAccessFeatureService.h thunderbird-140.13.0esr/browser/components/shell/rust/shell_windows/src/LimitedAccessFeatureService.h --- thunderbird-140.12.0esr/browser/components/shell/rust/shell_windows/src/LimitedAccessFeatureService.h 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/shell/rust/shell_windows/src/LimitedAccessFeatureService.h 2026-07-21 21:32:54.000000000 +0000 @@ -0,0 +1,17 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * 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/. */ + +#ifndef SHELL_WINDOWS_RUST_SRC_LAF_SERVICE_H_ +#define SHELL_WINDOWS_RUST_SRC_LAF_SERVICE_H_ + +#include "ErrorList.h" +#include "nsID.h" + +extern "C" { +nsresult new_limited_access_feature_service(REFNSIID iid, void** result); +}; + +#endif // SHELL_WINDOWS_RUST_SRC_LAF_SERVICE_H_ diff -Nru thunderbird-140.12.0esr/browser/components/shell/rust/shell_windows/src/lib.rs thunderbird-140.13.0esr/browser/components/shell/rust/shell_windows/src/lib.rs --- thunderbird-140.12.0esr/browser/components/shell/rust/shell_windows/src/lib.rs 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/shell/rust/shell_windows/src/lib.rs 2026-07-21 21:32:54.000000000 +0000 @@ -0,0 +1,11 @@ +/* -*- Mode: rust; rust-indent-offset: 4 -*- */ +/* 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/. */ + +//! # Windows Shell +//! +//! This crate provides implementations of features necessary for interacting +//! with the Windows shell. + +mod limited_access_features; diff -Nru thunderbird-140.12.0esr/browser/components/shell/rust/shell_windows/src/limited_access_features.rs thunderbird-140.13.0esr/browser/components/shell/rust/shell_windows/src/limited_access_features.rs --- thunderbird-140.12.0esr/browser/components/shell/rust/shell_windows/src/limited_access_features.rs 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/shell/rust/shell_windows/src/limited_access_features.rs 2026-07-21 21:32:54.000000000 +0000 @@ -0,0 +1,299 @@ +/* -*- Mode: rust; rust-indent-offset: 4 -*- */ +/* 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/. */ + +//! # Limited Access Feature Service +//! +//! Limited Access Features are an interface used by Windows to gate access to +//! APIs. This module implements utilities to unlock features as well as exposes +//! this functionality through XPCOM. +//! +//! --- +//! +//! This module implements the same method used by Microsoft to generate the +//! Limited Access Feature token. The following is provided for additional +//! context. +//! +//! ## Microsoft Token Generation +//! +//! To unlock features, we need: +//! - a feature identifier +//! - a token +//! - an attestation string +//! +//! The token can be generated by Microsoft and must match the Publisher ID +//! Microsoft thinks we have, for a particular feature. +//! +//! To get a token, find the right Microsoft email address documented on MSDN +//! for the feature you want unlocked to contact. +//! +//! The token is generated from Microsoft. The jumbled code in the attestation +//! string is a Publisher ID and must match the code in the resources / .rc file +//! for the identity, looking like this for non-MSIX builds: +//! +//! Identity LimitedAccessFeature {{ L"MozillaFirefox_pcsmm0jrprpb2" }} +//! +//! Broken down: Identity LimitedAccessFeature {{ L"PRODUCTNAME_PUBLISHERID" }} +//! +//! That is injected into our build in create_rc.py and is necessary to unlock +//! Windows features such as the taskbar pinning APIs from an unpackaged build. +//! +//! In the above, the token is generated from the Publisher ID (pcsmm0jrprpb2) +//! and the Product Name (MozillaFirefox) +//! +//! ## Microsoft Provided Tokens +//! +//! All tokens listed here were provided to us by Microsoft. Per Microsoft, +//! these tokens are not considered secret, thus have been included in source. +//! +//! Below and in create_rc.py, we used this set: +//! +//! > Product Name: "MozillaFirefox" +//! > Publisher ID: "pcsmm0jrprpb2" +//! > Token: "kRFiWpEK5uS6PMJZKmR7MQ==" +//! +//! Microsoft also provided these other tokens, which will work if accompanied +//! by the matching changes to create_rc.py: +//! +//! > Product Name: "FirefoxBeta" +//! > Publisher ID: "pcsmm0jrprpb2" +//! > Token: "RGEhsYgKhmPLKyzkEHnMhQ==" +//! +//! > Product Name: "FirefoxNightly" +//! > Publisher ID: "pcsmm0jrprpb2" +//! > Token: "qbVzns/9kT+t15YbIwT4Jw==" +//! +//! To use those instead, you have to ensure that the LimitedAccessFeature +//! generated in create_rc.py has the Product Name and Publisher ID matching the +//! token used in this file. +//! +//! For non-packaged (non-MSIX) builds, any of the above sets will work. Just +//! make sure the right (ProductName_PublisherID) value is in the generated +//! resource data for the executable, and use the matching Token and Attestation +//! strings. +//! +//! To get MSIX/packaged builds to work, the Product Name and Publisher in the +//! [final manifest](searchfox.org/mozilla-central/search?q=APPX_PUBLISHER) +//! should match the token in this file. For that case, the identity value in +//! the resources does not matter. +//! +//! See [Microsoft examples](https://github.com/microsoft/Windows-classic-samples/tree/main/Samples/TaskbarManager/CppUnpackagedDesktopTaskbarPin) + +use base64::{Engine as _, engine::general_purpose::STANDARD}; +use log; +use nserror::{NS_ERROR_UNEXPECTED, NS_OK, nsresult}; +use nsstring::{nsACString, nsCString, nsString}; +use sha2::{Digest, Sha256}; +use std::borrow::Cow; +use windows::{ + ApplicationModel::{LimitedAccessFeatureStatus as LafStatus, LimitedAccessFeatures, Package}, + Win32::Foundation::APPMODEL_ERROR_NO_PACKAGE, + core::{HRESULT, HSTRING}, +}; +use xpcom::{ + RefPtr, + interfaces::{nsILimitedAccessFeature, nsIWindowsRegKey}, + xpcom, xpcom_method, +}; + +#[xpcom(implement(nsILimitedAccessFeature), nonatomic)] +struct LimitedAccessFeature { + feature_id: String, + token: String, + attestation: String, +} + +impl LimitedAccessFeature { + xpcom_method!(unlock => Unlock() -> bool); + pub fn unlock(&self) -> Result { + let status = LimitedAccessFeatures::TryUnlockFeature( + &HSTRING::from(&self.feature_id), + &HSTRING::from(&self.token), + &HSTRING::from(&self.attestation), + ) + .and_then(|result| result.Status()) + .map_err(|e| { + log::error!("{e:?}"); + NS_ERROR_UNEXPECTED + })?; + + log::debug!("Unlock status: {status:?}"); + + match status { + LafStatus::Available | LafStatus::AvailableWithoutToken => Ok(true), + LafStatus::Unavailable | LafStatus::Unknown => Ok(false), + _ => Err(NS_ERROR_UNEXPECTED), + } + } + + xpcom_method!(get_feature_id => GetFeatureId() -> nsACString); + fn get_feature_id(&self) -> Result { + Ok(self.feature_id.as_str().into()) + } + + xpcom_method!(get_token => GetToken() -> nsACString); + fn get_token(&self) -> Result { + Ok(self.token.as_str().into()) + } + + xpcom_method!(get_attestation => GetAttestation() -> nsACString); + fn get_attestation(&self) -> Result { + Ok(self.attestation.as_str().into()) + } +} + +#[xpcom(implement(nsILimitedAccessFeatureService), atomic)] +pub struct LimitedAccessFeatureService {} + +impl LimitedAccessFeatureService { + xpcom_method!(get_taskbar_pin_feature_id => GetTaskbarPinFeatureId() -> nsACString); + pub fn get_taskbar_pin_feature_id(&self) -> Result { + Ok(nsCString::from("com.microsoft.windows.taskbar.pin")) + } + + xpcom_method!(generate_limited_access_feature => GenerateLimitedAccessFeature(featureId: *const nsACString) -> *const nsILimitedAccessFeature); + pub fn generate_limited_access_feature( + &self, + feature_id: &nsACString, + ) -> Result, nsresult> { + let (family_name, publisher_id) = get_package_identity()?; + let token = generate_token(&feature_id.to_utf8(), &family_name) + .inspect_err(|e| log::error!("Error generating feature token: {e:?}"))?; + let attestation = generate_attestation(&feature_id.to_utf8(), &publisher_id); + + let feature = LimitedAccessFeature::allocate(InitLimitedAccessFeature { + feature_id: feature_id.to_utf8().into(), + token, + attestation: attestation, + }); + + feature + .query_interface::() + .ok_or(NS_ERROR_UNEXPECTED) + } +} + +// Generates a token for a given feature ID. +// +// This function first retrieves the LAF key from the registry using the LAF +// identifier and then combines the feature_id, feature_key, and family_name +// into a token. +// +// Base64(SHA256Encode("{feature_id}!{feature_key}!{family_name}")[0..16]) +// yields the complete LAF token for unlocking. +fn generate_token(feature_id: &str, family_name: &FamilyName) -> Result { + let family_name = &family_name.0; + let feature_key = get_feature_key(feature_id)?; + + let to_hash = format!("{feature_id}!{feature_key}!{family_name}"); + + let mut hasher = Sha256::new(); + hasher.update(to_hash); + let digest = hasher.finalize(); + Ok(STANDARD.encode(&digest[..16])) +} + +// Retrieves the feature key from the Windows registry. +fn get_feature_key(feature_id: &str) -> Result { + let reg: RefPtr = + xpcom::create_instance(c"@mozilla.org/windows-registry-key;1") + .ok_or(NS_ERROR_UNEXPECTED)?; + + let path = nsString::from(&format!( + r"SOFTWARE\Microsoft\Windows\CurrentVersion\AppModel\LimitedAccessFeatures\{feature_id}" + )); + // SAFETY: `path` was initialized above. + unsafe { + reg.Open( + nsIWindowsRegKey::ROOT_KEY_LOCAL_MACHINE, + &*path, + nsIWindowsRegKey::ACCESS_QUERY_VALUE, + ) + } + .to_result()?; + + let mut value = nsString::new(); + // SAFETY: `value` was initialized above, other arguments are initialized inline. + unsafe { reg.ReadStringValue(&*nsString::new(), &mut *value) }.to_result()?; + + Ok(value.to_string()) +} + +fn generate_attestation(feature_id: &str, publisher_id: &PublisherId) -> String { + let publisher_id = &publisher_id.0; + format!( + "{publisher_id} has registered their use of {feature_id} with Microsoft and agrees to the terms of use." + ) +} + +// The Family Name associated to the application. +// +// For packaged MSIX installs this is derived as `"{Name}_{Publisher ID}"` from +// `` in AppxManfiest.xml. Note that `Publisher` +// is not equivalent to `PublisherId`. +// +// For unpackaged applications this is set by `Identity LimitedAccessFeature` in +// the embedded .rc resource file. +struct FamilyName<'a>(Cow<'a, str>); + +// The Publisher ID associated to the application. +// +// For packaged MSIX installs this is derived as a hash of `` from AppxManifest.xml. +// +// For unpackaged applications this this is inferred from last 13 characters of +// Package Family Name defined by `Identity LimitedAccessFeature` in the +// embedded .rc resource file. +struct PublisherId<'a>(Cow<'a, str>); + +// Retrieves the Package Identity - Family Name and Publisher ID - necessary to +// unlock a limited access feature. +fn get_package_identity<'a>() -> Result<(FamilyName<'a>, PublisherId<'a>), nsresult> { + match Package::Current() { + Ok(package) => (|| { + let id = package.Id()?; + let family_name = FamilyName(id.FamilyName()?.to_string().into()); + let publisher_id = PublisherId(id.PublisherId()?.to_string().into()); + Ok((family_name, publisher_id)) + })() + .map_err(|e: HRESULT| { + log::error!("{e:?}"); + NS_ERROR_UNEXPECTED + }), + Err(e) if e.code() == APPMODEL_ERROR_NO_PACKAGE.to_hresult() => { + // The non-MSIX family name must match that set for `Identity + // LimitedAccessFeature` in the resource file generated by + // create_rc.py. + const UNPACKAGED_FAMILY_NAME: &str = "MozillaFirefox_pcsmm0jrprpb2"; + const UNPACKAGED_PUBLISHER_ID: &str = "pcsmm0jrprpb2"; + + log::debug!( + "Not an MSIX install, using Family Name: `{UNPACKAGED_FAMILY_NAME}` and Publisher ID: `{UNPACKAGED_PUBLISHER_ID}`" + ); + Ok(( + FamilyName(UNPACKAGED_FAMILY_NAME.into()), + PublisherId(UNPACKAGED_PUBLISHER_ID.into()), + )) + } + Err(e) => { + log::error!("{e:?}"); + Err(NS_ERROR_UNEXPECTED) + } + } +} + +/// Constructor to allow the `nsILimitedAccessFeatureService` to be created through the C ABI. +/// +/// # Safety +/// +/// This function much be called with valid `iid` and `result` pointers. +#[unsafe(no_mangle)] +pub extern "C" fn new_limited_access_feature_service( + iid: *const xpcom::nsIID, + result: *mut *mut xpcom::reexports::libc::c_void, +) -> nsresult { + let service = LimitedAccessFeatureService::allocate(InitLimitedAccessFeatureService {}); + // SAFETY: The caller is responsible to pass a valid IID and pointer-to-pointer. + unsafe { service.QueryInterface(iid, result) } +} diff -Nru thunderbird-140.12.0esr/browser/components/shell/test/gtest/LimitedAccessFeatureTests.cpp thunderbird-140.13.0esr/browser/components/shell/test/gtest/LimitedAccessFeatureTests.cpp --- thunderbird-140.12.0esr/browser/components/shell/test/gtest/LimitedAccessFeatureTests.cpp 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/shell/test/gtest/LimitedAccessFeatureTests.cpp 2026-07-21 21:32:53.000000000 +0000 @@ -5,36 +5,65 @@ #include "gtest/gtest.h" -#include "Windows11LimitedAccessFeatures.h" -#include "WinUtils.h" +#include "nsComponentManagerUtils.h" +#include "nsILimitedAccessFeature.h" +#include "nsIWindowsRegKey.h" +#include "nsServiceManagerUtils.h" +#include "nsString.h" -TEST(LimitedAccessFeature, VerifyGeneratedInfo) +TEST(LimitedAccessFeature, UnlockAllRegistryFeatures) { - // If running on MSIX we have no guarantee that the - // generated LAF info will match the known values. - if (mozilla::widget::WinUtils::HasPackageIdentity()) { - return; + nsCOMPtr rootKey = + do_CreateInstance("@mozilla.org/windows-registry-key;1"); + ASSERT_TRUE(rootKey); + + nsresult rv = rootKey->Open( + nsIWindowsRegKey::ROOT_KEY_LOCAL_MACHINE, + u"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\AppModel\\LimitedAccessFeatures"_ns, + nsIWindowsRegKey::ACCESS_READ); + if (NS_FAILED(rv)) { + GTEST_SKIP(); } - LimitedAccessFeatureInfo knownLafInfo = { - // Win11LimitedAccessFeatureType::Taskbar - "Win11LimitedAccessFeatureType::Taskbar"_ns, // debugName - u"com.microsoft.windows.taskbar.pin"_ns, // feature - u"kRFiWpEK5uS6PMJZKmR7MQ=="_ns, // token - u"pcsmm0jrprpb2 has registered their use of "_ns // attestation - u"com.microsoft.windows.taskbar.pin with Microsoft and agrees to the "_ns - u"terms "_ns - u"of use."_ns}; - - auto generatedLafInfoResult = GenerateLimitedAccessFeatureInfo( - "Win11LimitedAccessFeatureType::Taskbar"_ns, - u"com.microsoft.windows.taskbar.pin"_ns); - ASSERT_TRUE(generatedLafInfoResult.isOk()); - LimitedAccessFeatureInfo generatedLafInfo = generatedLafInfoResult.unwrap(); - - // Check for equality between generated values and known good values - ASSERT_TRUE(knownLafInfo.debugName.Equals(generatedLafInfo.debugName)); - ASSERT_TRUE(knownLafInfo.feature.Equals(generatedLafInfo.feature)); - ASSERT_TRUE(knownLafInfo.token.Equals(generatedLafInfo.token)); - ASSERT_TRUE(knownLafInfo.attestation.Equals(generatedLafInfo.attestation)); + uint32_t childCount = 0; + rv = rootKey->GetChildCount(&childCount); + ASSERT_TRUE(NS_SUCCEEDED(rv)); + + nsCOMPtr lafService = + do_GetService("@mozilla.org/limited-access-feature-service;1"); + ASSERT_TRUE(lafService); + + for (uint32_t i = 0; i < childCount; i++) { + nsAutoString featureName; + rv = rootKey->GetChildName(i, featureName); + ASSERT_TRUE(NS_SUCCEEDED(rv)); + + std::cout << "Testing Feature: " << featureName << "\n"; + + nsCOMPtr featureKey; + rv = rootKey->OpenChild(featureName, nsIWindowsRegKey::ACCESS_QUERY_VALUE, + getter_AddRefs(featureKey)); + ASSERT_TRUE(NS_SUCCEEDED(rv)); + + nsAutoString featureKeyValue; + rv = featureKey->ReadStringValue(u""_ns, featureKeyValue); + if (NS_FAILED(rv) || featureKeyValue.IsEmpty()) { + // Key may exist with the feature key's data empty when unlocking the + // feature is no longer required to use the related API. + std::cout << "Feature key's data is empty, skipping...\n"; + continue; + } + + NS_ConvertUTF16toUTF8 featureId(featureName); + + nsCOMPtr feature; + rv = lafService->GenerateLimitedAccessFeature(featureId, + getter_AddRefs(feature)); + ASSERT_TRUE(NS_SUCCEEDED(rv)); + + bool unlocked = false; + rv = feature->Unlock(&unlocked); + ASSERT_TRUE(NS_SUCCEEDED(rv)); + EXPECT_TRUE(unlocked); + } } diff -Nru thunderbird-140.12.0esr/browser/components/tests/unit/test_distribution_mozillaonline.js thunderbird-140.13.0esr/browser/components/tests/unit/test_distribution_mozillaonline.js --- thunderbird-140.12.0esr/browser/components/tests/unit/test_distribution_mozillaonline.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/tests/unit/test_distribution_mozillaonline.js 2026-07-21 21:32:53.000000000 +0000 @@ -0,0 +1,68 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const MOZILLAONLINE_INI = ` +[Global] +id=MozillaOnline +version=1.0 +about=Mozilla Online distribution + +[Preferences] +distribution.test.mozillaonline=true +`; + +async function setupDistributionDir(iniContent) { + Services.prefs.setBoolPref("distribution.testing.loadFromProfile", true); + + let distroDir = gProfD.clone(); + distroDir.leafName = "distribution"; + await IOUtils.makeDirectory(distroDir.path, { ignoreExisting: true }); + + let iniFile = distroDir.clone(); + iniFile.append("distribution.ini"); + await IOUtils.writeUTF8(iniFile.path, iniContent); +} + +registerCleanupFunction(async function () { + let folderPath = PathUtils.join(PathUtils.profileDir, "distribution"); + await IOUtils.remove(folderPath, { ignoreAbsent: true, recursive: true }); + Services.prefs.clearUserPref("distribution.testing.loadFromProfile"); + Services.prefs.clearUserPref("distribution.mozillaonline.ignore"); + Services.fog.testResetFOG(); +}); + +add_setup(async function () { + do_get_profile(); + Services.fog.initializeFOG(); + await setupDistributionDir(MOZILLAONLINE_INI); +}); + +add_task(async function test_mozillaonline_distribution_ignored() { + Services.prefs.setBoolPref("distribution.mozillaonline.ignore", true); + + let { DistributionManagement } = ChromeUtils.importESModule( + "resource:///modules/distribution.sys.mjs" + ); + + DistributionManagement.applyCustomizations(); + + let defaultBranch = Services.prefs.getDefaultBranch(null); + + Assert.throws( + () => defaultBranch.getCharPref("distribution.id"), + /NS_ERROR_UNEXPECTED/, + "distribution.id should not be set for mozillaonline" + ); + Assert.throws( + () => defaultBranch.getBoolPref("distribution.test.mozillaonline"), + /NS_ERROR_UNEXPECTED/, + "distribution prefs should not be applied for mozillaonline" + ); + + Assert.ok( + Glean.distribution.mozillaonlineIgnored.testGetValue(), + "mozillaonline_ignored should be set to true" + ); +}); diff -Nru thunderbird-140.12.0esr/browser/components/tests/unit/xpcshell.toml thunderbird-140.13.0esr/browser/components/tests/unit/xpcshell.toml --- thunderbird-140.12.0esr/browser/components/tests/unit/xpcshell.toml 2026-06-13 03:47:54.000000000 +0000 +++ thunderbird-140.13.0esr/browser/components/tests/unit/xpcshell.toml 2026-07-21 21:32:54.000000000 +0000 @@ -27,3 +27,5 @@ run-sequentially = "very high failure rate in parallel" ["test_distribution_cachedexistence.js"] + +["test_distribution_mozillaonline.js"] diff -Nru thunderbird-140.12.0esr/browser/config/version.txt thunderbird-140.13.0esr/browser/config/version.txt --- thunderbird-140.12.0esr/browser/config/version.txt 2026-06-13 03:47:54.000000000 +0000 +++ thunderbird-140.13.0esr/browser/config/version.txt 2026-07-21 21:32:53.000000000 +0000 @@ -1 +1 @@ -140.12.0 +140.14.0 diff -Nru thunderbird-140.12.0esr/browser/config/version_display.txt thunderbird-140.13.0esr/browser/config/version_display.txt --- thunderbird-140.12.0esr/browser/config/version_display.txt 2026-06-13 03:47:54.000000000 +0000 +++ thunderbird-140.13.0esr/browser/config/version_display.txt 2026-07-21 21:32:54.000000000 +0000 @@ -1 +1 @@ -140.12.0esr +140.14.0esr diff -Nru thunderbird-140.12.0esr/comm/.gecko_rev.yml thunderbird-140.13.0esr/comm/.gecko_rev.yml --- thunderbird-140.12.0esr/comm/.gecko_rev.yml 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/.gecko_rev.yml 2026-07-21 21:33:26.000000000 +0000 @@ -1,8 +1,8 @@ --- GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified GECKO_HEAD_REPOSITORY: https://hg.mozilla.org/releases/mozilla-esr140 -GECKO_HEAD_REF: FIREFOX_140_12_0esr_BUILD1 -GECKO_HEAD_REV: 7df86525c2c876c7c92320e49c3e0771f7a605c0 +GECKO_HEAD_REV: 611eeda342a90baf6918fe754fcf168087b3767e + ###### ### For comm-central diff -Nru thunderbird-140.12.0esr/comm/.gitignore thunderbird-140.13.0esr/comm/.gitignore --- thunderbird-140.12.0esr/comm/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/comm/.gitignore 2026-07-21 21:33:26.000000000 +0000 @@ -0,0 +1,57 @@ +# .gitignore - List of filenames git should ignore + +# Filenames that should be ignored wherever they appear +*~ +*.pyc +*.pyo +TAGS +tags +.DS_Store + +# User files that may appear at the root +ID + +#treestate +.treestate + +# Build directories +/obj*/ + +.mozilla-trunk + +# SVN directories +.svn/ + +# Git repositories +.git/ + +# Ignore the files and directory that Eclipse IDE creates +.project +.cproject +.settings/ + +# Ignore the files and directories that JetBrains IDEs create +.idea/ +*.iml + +# Ignore Storybook generated files +mail/components/storybook/node_modules/ +mail/components/storybook/storybook-static/ +mail/components/storybook/.storybook/chrome-map.mjs +mail/components/storybook/custom-elements.json + +# Ignore third_party npm files +third_party/asn1js/node_modules/ + +# Ruff +.ruff_cache/ + +# Built Rust artifacts +rust/target/ +rust/ms_graph_tb/ms_graph_tb_extract/target/ + +# Generated by hg or patch (e.g. revert, failed patch, ...) +*.orig +*.rej + + diff -Nru thunderbird-140.12.0esr/comm/README.md thunderbird-140.13.0esr/comm/README.md --- thunderbird-140.12.0esr/comm/README.md 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/README.md 2026-07-21 21:33:26.000000000 +0000 @@ -1,17 +1,16 @@ # Thunderbird -Thunderbird is a powerful and customizable open source email client with lots of users. It is based on the same platform that Firefox uses. +Thunderbird is a powerful and customizable open source email client with many users. It is based on the same platform that Firefox uses. ## Getting Started This README will try and give you the basics that you need to get started, more comprehensive documentation is available on the [Thunderbird Developer Website](https://developer.thunderbird.net). ### Mozilla Code Base -Thunderbird is built on the Mozilla platform, the same base that Firefox is built from. As such the two projects share a lot of code and much of the documentation for one will apply, in many ways, to the other. +Thunderbird is built on the Mozilla platform, the same base that Firefox is built from. As such, the two projects share a lot of code and much of the documentation for one will apply to the other. -In order to be able to build Thunderbird - you will need the mozilla-central repository as well as the comm-central repository (where this README lives). Check out our [Getting Started documentation](https://developer.thunderbird.net/thunderbird-development/getting-started) for instructions on how and where to get the source code. +In order to be able to build Thunderbird - you will need the [Firefox repository](https://github.com/mozilla-firefox/firefox) as well as the [Thunderbird repository](https://github.com/thunderbird/thunderbird-desktop) (where this README lives). Check out our [Getting Started documentation](https://developer.thunderbird.net/thunderbird-development/getting-started) for instructions on how and where to get the source code. -### mozilla-central vs. comm-central - -The mozilla-central repostitory contains the Firefox codebase and all of the platform code. The comm-central repository is added as a subdirectory "comm/" under mozilla-central. This contains the code for Thunderbird. +### Firefox vs Thunderbird Source Code +The Firefox repository contains the Firefox codebase and all of the platform code. The Thunderbird repository is added as a subdirectory "comm/" under Firefox. This contains the code for Thunderbird. ## Building Thunderbird @@ -140,47 +139,19 @@ If you want to participate in discussions about Thunderbird development, there are two main mailing lists you want to join. -1. [**TB-Planning**](https://wiki.mozilla.org/Thunderbird/tb-planning)**:** This mailing list is higher level topics like: the future of Thunderbird, potential features, and changes that you would like to see happen. It is also used to discuss a variety of broader issues around community and governance of the project. -2. [**Maildev**](http://lists.thunderbird.net/mailman/listinfo/maildev_lists.thunderbird.net)**:** A moderated mailing list for discussing engineering plans for Thunderbird. It is a place where you can raise questions and ideas for core Thunderbird development. +1. [**Thunderbird Planning**](https://thunderbird.topicbox.com/groups/planning)**:** This moderated mailing list is for higher level topics like: the future of Thunderbird, potential features, and changes that you would like to see happen. It is also used to discuss a variety of broader issues around community and governance of the project. +2. [**Thunderbird Developers**](https://thunderbird.topicbox.com/groups/developers)**:** A moderated mailing list for discussing engineering plans for Thunderbird. It is a place where you can raise questions and ideas for core Thunderbird development. -#### IRC +#### Matrix Chat +If you want to ask questions about how to hack on Thunderbird, the Matrix room you want to join is [\#maildev:mozilla.org](https://matrix.to/#/#maildev:mozilla.org?web-instance%5Belement.io%5D=chat.mozilla.org). If you want to ask questions about how to hack on Thunderbird, the IRC channel you want to join is [\#maildev on irc.mozilla.org](irc://irc.mozilla.org/maildev). ### Report a Bug and Request Features -### [Bugzilla](https://bugzilla.mozilla.org/enter_bug.cgi?product=Thunderbird) +Feature requests should be submitted to [Mozilla Connect](https://connect.mozilla.org/). Thunderbird uses bugzilla for reporting and tracking bugs as well as enhancement requests. If you want to become a contributor to Thunderbird, you will need an account on Bugzilla. ### Fixing a Bug and Submitting Patches - -All the issues, bugs, work in progress patches, or updates related to Thunderbird, are listed on Bugzilla and are properly organized per **Product**, **Component**, and **Status**. For instance you can see how they are listed by looking at [recent bugs for Thunderbird](https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&product=Thunderbird&bug_status=UNCONFIRMED&bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&chfieldfrom=-30d&chfield=%5BBug%20creation%5D&list_id=14706087). - -#### Create a Bugzilla account - -Creating an account is necessary in order to submit patches, leave comments, and interact with any other aspect of Bugzilla. If you're currently using an `IRC` username in the `#maildev` channel, we recommend saving your profile name with the current format `Firstname Lastname (:username)` in order to be easily searchable and allow the Thunderbird team to offer better support. - -#### Find a Bug - -Use the [Advanced Search](https://bugzilla.mozilla.org/query.cgi?format=advanced) section to find bugs you want to take care of, and be sure that the bug doesn't currently have any user listed as _Assignee_ and the _Status_ is set to `NEW`. You can see a list of "easy" bugs for beginners [via this query](https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&classification=Client%20Software&classification=Developer%20Infrastructure&classification=Components&classification=Server%20Software&classification=Other&f1=status_whiteboard&o1=allwordssubstr&product=Calendar&product=Chat%20Core&product=MailNews%20Core&product=Thunderbird&resolution=---&v1=good%20first%20bug&list_id=14884036). However, we assume you came here to fix your "pet hate" bug, so you already likely have a bug to work with. - -#### Search for Code References - -Making sense of the **Thunderbird** source code, and knowing where to look, will take some time. The code base is pretty big and if you never worked with `XBL` or `Custom Elements` it can be overwhelming at first. We recommend using our code search engine, [Searchfox](https://searchfox.org/comm-central/source/), to inspect the source code and find snippets and references to help you out while investigating a bug. - -#### Mercurial Workflow - -Mercurial is pretty flexible in terms of allowing you to write your own code and keep it separate from the main code base. You can use Mercurial Bookmarks or Mercurial Queues for managing your work. We have guides created for [bookmarks](https://developer.thunderbird.net/contributing/fixing-a-bug/using-mercurial-bookmarks) and [queues](https://developer.thunderbird.net/contributing/fixing-a-bug/using-mercurial-queues) on our developer website. While some find Mercurial Queues easier to work with, support for them is being deprecated in various Mozilla tools. - -Once you finished taking care of your favorite bug and using Mercurial to commit and export your patch, you can upload it to Bugzilla for review. - -#### Upload a Patch - -Open your patch file in your code editor and be sure it includes all your code changes, and your name and commit message at the top. You can see an example of a patch for this [README here](https://bug1547325.bmoattachments.org/attachment.cgi?id=9093146). - -If everything looks good, you can access the selected bug in Bugzilla and click on the **Attach File** link located above the first comment. - -#### Ask for a Review - -When uploading a patch to Bugzilla, you can request a review from the user who opened the bug or another developer. Simply select the `?` in the dropdown selector in the _review_ option of the **Flags** section. An input field will appear which will allow you to type the name or username of the user you want to review your patch. You can see an example of [a patch on Bugzilla here](https://bugzilla.mozilla.org/show_bug.cgi?id=1547325#c1). +See [Fixing a Bug in the developer documentation](https://developer.thunderbird.net/thunderbird-development/fixing-a-bug). diff -Nru thunderbird-140.12.0esr/comm/chat/modules/imContentSink.sys.mjs thunderbird-140.13.0esr/comm/chat/modules/imContentSink.sys.mjs --- thunderbird-140.12.0esr/comm/chat/modules/imContentSink.sys.mjs 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/chat/modules/imContentSink.sys.mjs 2026-07-21 21:33:26.000000000 +0000 @@ -350,8 +350,12 @@ const node = aNode.childNodes[i]; if ( node.nodeType == node.ELEMENT_NODE && - node.namespaceURI == "http://www.w3.org/1999/xhtml" + node.namespaceURI != "http://www.w3.org/1999/xhtml" ) { + aNode.removeChild(node); + --i; + continue; + } else if (node.nodeType == node.ELEMENT_NODE) { // If the node is an element, check if the node is an allowed tag. const nodeName = node.localName; if (!(nodeName in aRules.tags)) { diff -Nru thunderbird-140.12.0esr/comm/chat/modules/test/test_filtering.js thunderbird-140.13.0esr/comm/chat/modules/test/test_filtering.js --- thunderbird-140.12.0esr/comm/chat/modules/test/test_filtering.js 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/chat/modules/test/test_filtering.js 2026-07-21 21:33:26.000000000 +0000 @@ -123,10 +123,31 @@ Assert.equal(table, cleanupImMarkup(table)); } +function test_stripNonHtmlElements() { + // Non-HTML elements (SVG, MathML) should be completely removed, including children. + Assert.equal("", cleanupImMarkup("")); + Assert.equal( + "foobar", + cleanupImMarkup('foobar') + ); + Assert.equal( + "

foobaz

", + cleanupImMarkup("

foobarbaz

") + ); + Assert.equal("", cleanupImMarkup("x")); + Assert.equal( + "", + cleanupImMarkup( + `` + ) + ); +} + function test_allModes() { test_plainText(); test_paragraphs(); test_stripScripts(); + test_stripNonHtmlElements(); test_links(); // Remove random classes. Assert.equal("

foo

", cleanupImMarkup('

foo

')); diff -Nru thunderbird-140.12.0esr/comm/mail/config/version.txt thunderbird-140.13.0esr/comm/mail/config/version.txt --- thunderbird-140.12.0esr/comm/mail/config/version.txt 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/mail/config/version.txt 2026-07-21 21:33:26.000000000 +0000 @@ -1 +1 @@ -140.12.0 +140.13.0 diff -Nru thunderbird-140.12.0esr/comm/mail/config/version_display.txt thunderbird-140.13.0esr/comm/mail/config/version_display.txt --- thunderbird-140.12.0esr/comm/mail/config/version_display.txt 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/mail/config/version_display.txt 2026-07-21 21:33:26.000000000 +0000 @@ -1 +1 @@ -140.12.0esr +140.13.0esr diff -Nru thunderbird-140.12.0esr/comm/mail/installer/linux/app/debian/changelog.in thunderbird-140.13.0esr/comm/mail/installer/linux/app/debian/changelog.in --- thunderbird-140.12.0esr/comm/mail/installer/linux/app/debian/changelog.in 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/mail/installer/linux/app/debian/changelog.in 2026-07-21 21:33:26.000000000 +0000 @@ -1,4 +1,4 @@ -${PKG_NAME} (${PKG_VERSION}) UNRELEASED; urgency=medium +${PKG_NAME} (1:${PKG_VERSION}) UNRELEASED; urgency=medium * N/A diff -Nru thunderbird-140.12.0esr/comm/mail/installer/linux/langpack/debian/changelog.in thunderbird-140.13.0esr/comm/mail/installer/linux/langpack/debian/changelog.in --- thunderbird-140.12.0esr/comm/mail/installer/linux/langpack/debian/changelog.in 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/mail/installer/linux/langpack/debian/changelog.in 2026-07-21 21:33:26.000000000 +0000 @@ -1,4 +1,4 @@ -${PKG_NAME} (${PKG_VERSION}) UNRELEASED; urgency=medium +${PKG_NAME} (1:${PKG_VERSION}) UNRELEASED; urgency=medium * N/A diff -Nru thunderbird-140.12.0esr/comm/mailnews/addrbook/modules/LDAPClient.sys.mjs thunderbird-140.13.0esr/comm/mailnews/addrbook/modules/LDAPClient.sys.mjs --- thunderbird-140.12.0esr/comm/mailnews/addrbook/modules/LDAPClient.sys.mjs 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/mailnews/addrbook/modules/LDAPClient.sys.mjs 2026-07-21 21:33:26.000000000 +0000 @@ -13,6 +13,11 @@ LDAPResponse, } from "resource:///modules/LDAPMessage.sys.mjs"; +// Cap on the partial-message reassembly buffer. Legitimate LDAP messages +// are well under 1 MiB; 16 MiB is generous. Anything larger is treated +// as a fatal protocol violation. +const MAX_BUFFER_BYTES = 16 * 1024 * 1024; + export class LDAPClient { /** * @param {string} host - The LDAP server host. @@ -187,6 +192,27 @@ data = arr.buffer; this._buffer = null; } + if (data.byteLength > MAX_BUFFER_BYTES) { + this._logger.error( + `LDAP receive buffer exceeded ${MAX_BUFFER_BYTES} bytes ` + + `(got ${data.byteLength}); closing connection` + ); + // Fail every outstanding callback before tearing the socket down so + // higher layers (autocomplete, directory query, replication) do not + // hang indefinitely. + for (const cb of this._callbackMap.values()) { + try { + cb({ + result: { resultCode: -1, diagnosticMessage: "buffer overflow" }, + }); + } catch (_) {} + } + this._callbackMap.clear(); + this._dataEventsQueue.length = 0; + this._processingData = false; + this._socket.close(); + return; + } let i = 0; // The payload can contain multiple messages, parse it to the end. while (data.byteLength) { diff -Nru thunderbird-140.12.0esr/comm/mailnews/mime/src/mimedrft.cpp thunderbird-140.13.0esr/comm/mailnews/mime/src/mimedrft.cpp --- thunderbird-140.12.0esr/comm/mailnews/mime/src/mimedrft.cpp 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/mailnews/mime/src/mimedrft.cpp 2026-07-21 21:33:26.000000000 +0000 @@ -645,7 +645,7 @@ } /* Skip over whitespace after colon. */ - while (contents <= end && IS_SPACE(*contents)) contents++; + while (contents < end && IS_SPACE(*contents)) contents++; /* Take off trailing whitespace... */ while (end > contents && IS_SPACE(end[-1])) end--; diff -Nru thunderbird-140.12.0esr/comm/python/rocboot/bin/bootstrap.py thunderbird-140.13.0esr/comm/python/rocboot/bin/bootstrap.py --- thunderbird-140.12.0esr/comm/python/rocboot/bin/bootstrap.py 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/python/rocboot/bin/bootstrap.py 2026-07-21 21:33:26.000000000 +0000 @@ -22,25 +22,12 @@ import ctypes import os -import shutil import subprocess -import tempfile from optparse import OptionParser from pathlib import Path - -CLONE_MERCURIAL_PULL_FAIL = """ -Failed to pull from hg.mozilla.org. - -This is most likely because of unstable network connection. -Try running `cd %s && hg pull https://hg.mozilla.org/comm-unified` manually, -or download a mercurial bundle and use it: -https://firefox-source-docs.mozilla.org/contributing/vcs/mercurial_bundles.html""" +from typing import Optional WINDOWS = sys.platform.startswith("win32") or sys.platform.startswith("msys") -VCS_HUMAN_READABLE = { - "hg": "Mercurial", - "git": "Git", -} def which(name): @@ -69,31 +56,31 @@ return dest if not dest.is_dir(): - print(f"ERROR! Destination {dest} exists but is not a directory.") + print(f"ERROR! Destination '{dest}' exists but is not a directory.") return None if not any(dest.iterdir()): return dest else: - print(f"ERROR! Destination directory {dest} exists but is nonempty.") + print(f"ERROR! Destination directory '{dest}' exists but is nonempty.") print( f"To re-bootstrap the existing checkout, go into '{dest}' and run './mach bootstrap'." ) return None -def input_clone_dest(vcs, no_interactive): - repo_name = "mozilla-unified" - print(f"Cloning into {repo_name} using {VCS_HUMAN_READABLE[vcs]}...") +def input_clone_dest(no_interactive): + dest_name = "source" + print(f"Cloning Firefox into '{dest_name}' using Git...") while True: dest = None if not no_interactive: dest = input( f"Destination directory for clone (leave empty to use " - f"default destination of {repo_name}): " + f"default destination of '{dest_name}'): " ).strip() if not dest: - dest = repo_name + dest = dest_name dest = validate_clone_dest(Path(dest).expanduser()) if dest: return dest @@ -101,153 +88,61 @@ return None -def hg_clone(hg: Path, repo, dest: Path, watchman, head_repo, head_rev): - print(f"Cloning {repo} to {dest}...") - # We create an empty repo then modify the config before adding data. - # This is necessary to ensure storage settings are optimally - # configured. - args = [ - str(hg), - # The unified repo is generaldelta, so ensure the client is as - # well. - "--config", - "format.generaldelta=true", - "init", - str(dest), - ] - res = subprocess.call(args) - if res: - print("unable to create destination repo; please try cloning manually") - return None - - # Strictly speaking, this could overwrite a config based on a template - # the user has installed. Let's pretend this problem doesn't exist - # unless someone complains about it. - with open(dest / ".hg" / "hgrc", "a") as fh: - fh.write("[paths]\n") - fh.write("default = https://hg.mozilla.org/{}\n".format(repo)) - fh.write("\n") - - # The server uses aggressivemergedeltas which can blow up delta chain - # length. This can cause performance to tank due to delta chains being - # too long. Limit the delta chain length to something reasonable - # to bound revlog read time. - fh.write("[format]\n") - fh.write("# This is necessary to keep performance in check\n") - fh.write("maxchainlen = 10000\n") - - # Pulling a specific revision into an empty repository induces a lot of - # load on the Mercurial server, so we always pull from mozilla-unified (which, - # when done from an empty repository, is equivalent to a clone), and then pull - # the specific revision we want (if we want a specific one, otherwise we just - # use the "central" bookmark), at which point it will be an incremental pull, - # that the server can process more easily. - # This is the same thing that robustcheckout does on automation. - res = subprocess.call( - [str(hg), "pull", "https://hg.mozilla.org/{}".format(repo)], cwd=str(dest) - ) - if not res and head_repo: - res = subprocess.call([str(hg), "pull", head_repo, "-r", head_rev], cwd=str(dest)) - print("") - if res: - print(CLONE_MERCURIAL_PULL_FAIL % dest) - return None - - update_rev = {"mozilla-unified": "central", "comm-unified": "comm"}[repo] - head_rev = head_rev or update_rev - print("updating to {}".format(head_rev)) - res = subprocess.call([str(hg), "update", "-r", head_rev], cwd=str(dest)) - if res: - print(f"error updating; you will need to `cd {dest} && hg update -r {head_rev}` manually") - return dest - - -def git_clone(git: Path, repo, dest: Path, watchman: Path, head_repo, head_rev): - print(f"Cloning {repo} to {dest}...") - tempdir = None - cinnabar = None +def git_clone( + git: Path, + repo_url: str, + dest: Path, + watchman: Optional[Path], + head_repo: Optional[str], + head_rev: Optional[str], +): + print(f"Cloning from '{repo_url}'...") env = dict(os.environ) - try: - cinnabar = which("git-cinnabar") - if not cinnabar: - from urllib.request import urlopen - - cinnabar_url = "https://github.com/glandium/git-cinnabar/" - # If git-cinnabar isn't installed already, that's fine; we can - # download a temporary copy. `mach bootstrap` will install a copy - # in the state dir; we don't want to copy all that logic to this - # tiny bootstrapping script. - tempdir = Path(tempfile.mkdtemp()) - with open(tempdir / "download.py", "wb") as fh: - shutil.copyfileobj(urlopen(f"{cinnabar_url}/raw/master/download.py"), fh) - - subprocess.check_call( - [sys.executable, str(tempdir / "download.py")], - cwd=str(tempdir), - ) - env["PATH"] = str(tempdir) + os.pathsep + env["PATH"] - print( - "WARNING! git-cinnabar is required for Firefox development " - "with git. After the clone is complete, the bootstrapper " - "will ask if you would like to configure git; answer yes, " - "and be sure to add git-cinnabar to your PATH according to " - "the bootstrapper output." - ) - - # We're guaranteed to have `git-cinnabar` installed now. - # Configure git per the git-cinnabar requirements. - subprocess.check_call( - [ - str(git), - "clone", - "--no-checkout", - f"hg::https://hg.mozilla.org/{repo}", - str(dest), - ], - env=env, - ) - subprocess.check_call([str(git), "config", "fetch.prune", "true"], cwd=str(dest), env=env) - subprocess.check_call([str(git), "config", "pull.ff", "only"], cwd=str(dest), env=env) - - if head_repo: - subprocess.check_call( - [str(git), "cinnabar", "fetch", f"hg::{head_repo}", head_rev], - cwd=str(dest), - env=env, - ) - bookmark = {"mozilla-unified": "bookmarks/central", "comm-unified": "bookmarks/comm"}[repo] + clone_args = [str(git), "clone", repo_url, str(dest)] + subprocess.check_call(clone_args, env=env) + subprocess.check_call([str(git), "config", "fetch.prune", "true"], cwd=str(dest), env=env) + subprocess.check_call([str(git), "config", "pull.ff", "only"], cwd=str(dest), env=env) + + # Optional override for automation / advanced usage. + # If the user provides an alternate remote, we add it as "head" and + # optionally checkout a revision from it. + if head_repo: subprocess.check_call( - [str(git), "checkout", "FETCH_HEAD" if head_rev else bookmark], - cwd=str(dest), - env=env, + [str(git), "remote", "add", "head", head_repo], cwd=str(dest), env=env ) + if head_rev: + subprocess.check_call([str(git), "fetch", "head", head_rev], cwd=str(dest), env=env) + subprocess.check_call([str(git), "checkout", "FETCH_HEAD"], cwd=str(dest), env=env) + else: + subprocess.check_call([str(git), "fetch", "head"], cwd=str(dest), env=env) - watchman_sample = dest / ".git/hooks/fsmonitor-watchman.sample" - # Older versions of git didn't include fsmonitor-watchman.sample. - if watchman and watchman_sample.exists(): - print("Configuring watchman") - watchman_config = dest / ".git/hooks/query-watchman" - if not watchman_config.exists(): - print(f"Copying {watchman_sample} to {watchman_config}") - copy_args = [ - "cp", - ".git/hooks/fsmonitor-watchman.sample", - ".git/hooks/query-watchman", - ] - subprocess.check_call(copy_args, cwd=str(dest)) - - config_args = [ - str(git), - "config", - "core.fsmonitor", + if head_rev and not head_repo: + # If the revision is a branch / tag / SHA that exists in origin. + subprocess.check_call([str(git), "checkout", head_rev], cwd=str(dest), env=env) + + watchman_sample = dest / ".git/hooks/fsmonitor-watchman.sample" + # Older versions of git didn't include fsmonitor-watchman.sample. + if watchman and watchman_sample.exists(): + print("Configuring watchman") + watchman_config = dest / ".git/hooks/query-watchman" + if not watchman_config.exists(): + print(f"Copying {watchman_sample} to {watchman_config}") + copy_args = [ + "cp", + ".git/hooks/fsmonitor-watchman.sample", ".git/hooks/query-watchman", ] - subprocess.check_call(config_args, cwd=str(dest), env=env) - return dest - finally: - if tempdir: - shutil.rmtree(str(tempdir)) + subprocess.check_call(copy_args, cwd=str(dest)) + + config_args = [ + str(git), + "config", + "core.fsmonitor", + ".git/hooks/query-watchman", + ] + subprocess.check_call(config_args, cwd=str(dest), env=env) + return dest def add_microsoft_defender_antivirus_exclusions(dest, no_system_changes): @@ -268,7 +163,7 @@ powershell_exe = str(powershell_exe) paths = [] - # mozilla-unified / clone dest + # firefox / clone dest repo_dir = Path.cwd() / dest paths.append(repo_dir) print_attempt_exclusion(repo_dir) @@ -293,69 +188,52 @@ def clone(options): - vcs = options.vcs no_interactive = options.no_interactive no_system_changes = options.no_system_changes - if vcs == "hg": - hg = which("hg") - if not hg: - print("Mercurial is not installed. Mercurial is required to clone Thunderbird.") - try: - # We're going to recommend people install the Mercurial package with - # pip3. That will work if `pip3` installs binaries to a location - # that's in the PATH, but it might not be. To help out, if we CAN - # import "mercurial" (in which case it's already been installed), - # offer that as a solution. - import mercurial # noqa: F401 - - print( - "Hint: have you made sure that Mercurial is installed to a " - "location in your PATH?" - ) - except ImportError: - print("Try installing hg with `pip3 install Mercurial`.") - return None - binary = hg - else: - binary = which(vcs) - if not binary: - print("Git is not installed.") - print("Try installing git using your system package manager.") - return None + binary = which("git") + if not binary: + print("Git is not installed.") + print("Try installing git using your system package manager.") + return None - dest = input_clone_dest(vcs, no_interactive) + dest = input_clone_dest(no_interactive) if not dest: return None add_microsoft_defender_antivirus_exclusions(dest, no_system_changes) - if vcs == "hg": - clone_func = hg_clone - else: - clone_func = git_clone watchman = which("watchman") - print(f"Cloning Thunderbird {VCS_HUMAN_READABLE[vcs]} repository to {dest}") + firefox_head_repo = os.environ.get("FIREFOX_HEAD_REPOSITORY") + firefox_head_rev = os.environ.get("FIREFOX_HEAD_REV") - gecko_head_repo = os.environ.get("GECKO_HEAD_REPOSITORY") - gecko_head_rev = os.environ.get("GECKO_HEAD_REV") + thunderbird_head_repo = os.environ.get("THUNDERBIRD_HEAD_REPOSITORY") + thunderbird_head_rev = os.environ.get("THUNDERBIRD_HEAD_REV") - comm_head_repo = os.environ.get("COMM_HEAD_REPOSITORY") - comm_head_rev = os.environ.get("COMM_HEAD_REV") - - mc = clone_func(binary, "mozilla-unified", dest, watchman, gecko_head_repo, gecko_head_rev) - # Funny logic... the return value if successful needs to be the path - # to mozilla-central. Only return "cc" if cloning comm-central - # fails. - if mc == dest: - cc_dest = Path(dest) / "comm" - cc = clone_func(binary, "comm-unified", cc_dest, watchman, comm_head_repo, comm_head_rev) - if cc: - return mc + firefox_dest = git_clone( + binary, + "https://github.com/mozilla-firefox/firefox", + dest, + watchman, + firefox_head_repo, + firefox_head_rev, + ) + if firefox_dest == dest: + dest = Path(dest) / "comm" + thunderbird_dest = git_clone( + binary, + "https://github.com/thunderbird/thunderbird-desktop", + dest, + watchman, + thunderbird_head_repo, + thunderbird_head_rev, + ) + if thunderbird_dest: + return firefox_dest else: - return cc - return mc + return thunderbird_dest + return firefox_dest def bootstrap(srcdir: Path, artifact_mode, no_interactive, no_system_changes): @@ -397,14 +275,6 @@ "/artifact_builds.html for details.", ) parser.add_option( - "--vcs", - dest="vcs", - default="hg", - choices=["git", "hg"], - help="VCS (hg or git) to use for downloading the source code, " - "instead of using the default interactive prompt.", - ) - parser.add_option( "--no-interactive", dest="no_interactive", action="store_true", diff -Nru thunderbird-140.12.0esr/comm/rust/.cargo/config.toml.in thunderbird-140.13.0esr/comm/rust/.cargo/config.toml.in --- thunderbird-140.12.0esr/comm/rust/.cargo/config.toml.in 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/rust/.cargo/config.toml.in 2026-07-21 21:33:26.000000000 +0000 @@ -81,9 +81,9 @@ rev = "f5907a411e52a3985d0369d71c486eb507c2c4e6" replace-with = "vendored-sources" -[source."git+https://github.com/mozilla/audioipc?rev=e6f44a2bd1e57d11dfc737632a9e849077632330"] +[source."git+https://github.com/mozilla/audioipc?rev=3f0d4aef7a2c06b0146384592b312a7f47ab7cea"] git = "https://github.com/mozilla/audioipc" -rev = "e6f44a2bd1e57d11dfc737632a9e849077632330" +rev = "3f0d4aef7a2c06b0146384592b312a7f47ab7cea" replace-with = "vendored-sources" [source."git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=bebaa23317332c95734df76e25193c24a83a6840"] @@ -91,9 +91,9 @@ rev = "bebaa23317332c95734df76e25193c24a83a6840" replace-with = "vendored-sources" -[source."git+https://github.com/mozilla/cubeb-pulse-rs?rev=8678dcab1c287de79c4c184ccc2e065bc62b70e2"] +[source."git+https://github.com/mozilla/cubeb-pulse-rs?rev=b46defa5370f16c57ce8b163d8fbb0b68a8e81e1"] git = "https://github.com/mozilla/cubeb-pulse-rs" -rev = "8678dcab1c287de79c4c184ccc2e065bc62b70e2" +rev = "b46defa5370f16c57ce8b163d8fbb0b68a8e81e1" replace-with = "vendored-sources" [source."git+https://github.com/mozilla/midir.git?rev=85156e360a37d851734118104619f86bd18e94c6"] diff -Nru thunderbird-140.12.0esr/comm/rust/Cargo.lock thunderbird-140.13.0esr/comm/rust/Cargo.lock --- thunderbird-140.12.0esr/comm/rust/Cargo.lock 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/rust/Cargo.lock 2026-07-21 21:33:26.000000000 +0000 @@ -277,7 +277,7 @@ [[package]] name = "audioipc2" version = "0.6.0" -source = "git+https://github.com/mozilla/audioipc?rev=e6f44a2bd1e57d11dfc737632a9e849077632330#e6f44a2bd1e57d11dfc737632a9e849077632330" +source = "git+https://github.com/mozilla/audioipc?rev=3f0d4aef7a2c06b0146384592b312a7f47ab7cea#3f0d4aef7a2c06b0146384592b312a7f47ab7cea" dependencies = [ "arrayvec", "ashmem", @@ -305,7 +305,7 @@ [[package]] name = "audioipc2-client" version = "0.6.0" -source = "git+https://github.com/mozilla/audioipc?rev=e6f44a2bd1e57d11dfc737632a9e849077632330#e6f44a2bd1e57d11dfc737632a9e849077632330" +source = "git+https://github.com/mozilla/audioipc?rev=3f0d4aef7a2c06b0146384592b312a7f47ab7cea#3f0d4aef7a2c06b0146384592b312a7f47ab7cea" dependencies = [ "audio_thread_priority", "audioipc2", @@ -316,7 +316,7 @@ [[package]] name = "audioipc2-server" version = "0.6.0" -source = "git+https://github.com/mozilla/audioipc?rev=e6f44a2bd1e57d11dfc737632a9e849077632330#e6f44a2bd1e57d11dfc737632a9e849077632330" +source = "git+https://github.com/mozilla/audioipc?rev=3f0d4aef7a2c06b0146384592b312a7f47ab7cea#3f0d4aef7a2c06b0146384592b312a7f47ab7cea" dependencies = [ "audio_thread_priority", "audioipc2", @@ -1220,7 +1220,7 @@ [[package]] name = "cubeb-pulse" version = "0.5.0" -source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=8678dcab1c287de79c4c184ccc2e065bc62b70e2#8678dcab1c287de79c4c184ccc2e065bc62b70e2" +source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=b46defa5370f16c57ce8b163d8fbb0b68a8e81e1#b46defa5370f16c57ce8b163d8fbb0b68a8e81e1" dependencies = [ "cubeb-backend", "pulse", @@ -4734,7 +4734,7 @@ [[package]] name = "pulse" version = "0.3.0" -source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=8678dcab1c287de79c4c184ccc2e065bc62b70e2#8678dcab1c287de79c4c184ccc2e065bc62b70e2" +source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=b46defa5370f16c57ce8b163d8fbb0b68a8e81e1#b46defa5370f16c57ce8b163d8fbb0b68a8e81e1" dependencies = [ "bitflags 2.9.0", "pulse-ffi", @@ -4743,7 +4743,7 @@ [[package]] name = "pulse-ffi" version = "0.1.0" -source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=8678dcab1c287de79c4c184ccc2e065bc62b70e2#8678dcab1c287de79c4c184ccc2e065bc62b70e2" +source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=b46defa5370f16c57ce8b163d8fbb0b68a8e81e1#b46defa5370f16c57ce8b163d8fbb0b68a8e81e1" dependencies = [ "libc", ] diff -Nru thunderbird-140.12.0esr/comm/rust/checksums.json thunderbird-140.13.0esr/comm/rust/checksums.json --- thunderbird-140.12.0esr/comm/rust/checksums.json 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/rust/checksums.json 2026-07-21 21:33:26.000000000 +0000 @@ -1 +1 @@ -{"mc_workspace_toml": "4053939b6d8e782cd373561b6e9133f4cc3625110dd30ef5a84ad7ac73769e2fc2bfabee99989ae70772f02dab9d1af4e3487ac5fc5a0276f63bc9231e1eb772", "mc_gkrust_toml": "1e9e8f2699aea4b4c7b364787557029c615d407fee726e0b499ac5781d1b8ca62c968c49477de690cf9ac5182f62c4108f8ef6a8e98bc8d35962e56ca6963bbe", "mc_hack_toml": "fba150c03e85bea54154a337babb30678c678f843452cfdec69bb00331b87cf003f1b93c33dfb1283b9cf4ff5e75ccd01379ff760b9adbf18832441238102305", "mc_cargo_lock": "4c31a4ac70f62a5af6c97965c1249ddae31a0dbf8602ceb2cb9ca6e926b652ae7f3e2099051a7f7c85d51a76fb2491ccb5a23882f4d272d9f73134d895d543e8"} \ No newline at end of file +{"mc_workspace_toml": "4053939b6d8e782cd373561b6e9133f4cc3625110dd30ef5a84ad7ac73769e2fc2bfabee99989ae70772f02dab9d1af4e3487ac5fc5a0276f63bc9231e1eb772", "mc_gkrust_toml": "e468efd85cc7b943be9a7784f01ef41b87223fa3d1cc4031a22b4bc7846adfda5bdc388a2da6c2a36d5003da98728eb70e15db1b0bcea8912b744fa9f6860bce", "mc_hack_toml": "fba150c03e85bea54154a337babb30678c678f843452cfdec69bb00331b87cf003f1b93c33dfb1283b9cf4ff5e75ccd01379ff760b9adbf18832441238102305", "mc_cargo_lock": "bda8574f56eb0b1d867e46e9407c0e337121d36beb972fe336081c7d7d217ea8250434d4e2e1081cfdd9048184647bff4524cc50f93331387aa04732778d0487"} \ No newline at end of file diff -Nru thunderbird-140.12.0esr/comm/rust/gkrust/Cargo.toml thunderbird-140.13.0esr/comm/rust/gkrust/Cargo.toml --- thunderbird-140.12.0esr/comm/rust/gkrust/Cargo.toml 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/rust/gkrust/Cargo.toml 2026-07-21 21:33:26.000000000 +0000 @@ -21,8 +21,8 @@ aa-stroke = { git = "https://github.com/FirefoxGraphics/aa-stroke", rev = "a821fa621c2def48e90c82774b4c6563b5a8ea4a" } app_services_logger = { path = "../../../services/common/app_services_logger" } audio_thread_priority = { version = "0.32" } -audioipc2-client = { git = "https://github.com/mozilla/audioipc", rev = "e6f44a2bd1e57d11dfc737632a9e849077632330", optional = true } -audioipc2-server = { git = "https://github.com/mozilla/audioipc", rev = "e6f44a2bd1e57d11dfc737632a9e849077632330", optional = true } +audioipc2-client = { git = "https://github.com/mozilla/audioipc", rev = "3f0d4aef7a2c06b0146384592b312a7f47ab7cea", optional = true } +audioipc2-server = { git = "https://github.com/mozilla/audioipc", rev = "3f0d4aef7a2c06b0146384592b312a7f47ab7cea", optional = true } authrs_bridge = { path = "../../../dom/webauthn/authrs_bridge" } binary_http = { path = "../../../netwerk/protocol/http/binary_http" } bitsdownload = { path = "../../../toolkit/components/bitsdownload", optional = true } @@ -35,7 +35,7 @@ crash_helper_client = { path = "../../../toolkit/crashreporter/crash_helper_client", optional = true } crypto_hash = { path = "../../../security/manager/ssl/crypto_hash" } cubeb-coreaudio = { git = "https://github.com/mozilla/cubeb-coreaudio-rs", rev = "bebaa23317332c95734df76e25193c24a83a6840", optional = true } -cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev = "8678dcab1c287de79c4c184ccc2e065bc62b70e2", optional = true, features = ['pulse-dlopen'] } +cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev = "b46defa5370f16c57ce8b163d8fbb0b68a8e81e1", optional = true, features = ['pulse-dlopen'] } cubeb-sys = { version = "0.13", optional = true, features = ['gecko-in-tree'] } dap_ffi = { path = "../../../toolkit/components/telemetry/dap/ffi" } data-encoding-ffi = { path = "../../../dom/fs/parent/rust/data-encoding-ffi" } diff -Nru thunderbird-140.12.0esr/comm/taskcluster/comm_taskgraph/manifests/thunderbird_candidates.yml thunderbird-140.13.0esr/comm/taskcluster/comm_taskgraph/manifests/thunderbird_candidates.yml --- thunderbird-140.12.0esr/comm/taskcluster/comm_taskgraph/manifests/thunderbird_candidates.yml 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/taskcluster/comm_taskgraph/manifests/thunderbird_candidates.yml 2026-07-21 21:33:26.000000000 +0000 @@ -46,7 +46,8 @@ repackage-signing-msi: repackage repackage-signing-shippable-l10n-msix: signing release-sign-and-push-langpacks: scriptworker - release-deb-repackage: repackage + repackage-deb: repackage + repackage-deb-l10n: repackage platform_names: path_platform: by-platform: @@ -199,6 +200,21 @@ checksums_path: ${path_platform}/xpi/${locale}.xpi destinations: - ${version}-candidates/build${build_number}/${path_platform}/xpi + target.langpack.deb: + <<: *default + all_locales: true + description: "langpack.xpi repackaged as a .deb" + locale_prefix: '' + from: + - repackage-deb-l10n + only_for_platforms: + - linux-shippable + - linux64-shippable + pretty_name: ${locale}.deb + checksums_path: ${path_platform}/deb-l10n/${locale}.deb + destinations: + - ${version}-candidates/build${build_number}/${path_platform}/deb-l10n + update_balrog_manifest: false mar: <<: *default description: "Alongside `mbsdiff`, a tool used to generate partials" @@ -311,15 +327,15 @@ checksums_path: ${path_platform}/multi/Thunderbird Setup ${version}.msix target.deb: <<: *default - description: "Debian package for Linux platforms" - all_locales: true - from: - - repackage + description: "Thunderbird as a .deb package" only_for_platforms: - linux-shippable - linux64-shippable pretty_name: thunderbird-${version}.deb checksums_path: ${path_platform}/${locale}/thunderbird-${version}.deb + from: + - repackage-deb + update_balrog_manifest: false target.complete.mar: <<: *default description: "Complete MAR to serve as updates" diff -Nru thunderbird-140.12.0esr/comm/taskcluster/comm_taskgraph/manifests/thunderbird_nightly.yml thunderbird-140.13.0esr/comm/taskcluster/comm_taskgraph/manifests/thunderbird_nightly.yml --- thunderbird-140.12.0esr/comm/taskcluster/comm_taskgraph/manifests/thunderbird_nightly.yml 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/taskcluster/comm_taskgraph/manifests/thunderbird_nightly.yml 2026-07-21 21:33:26.000000000 +0000 @@ -45,7 +45,8 @@ repackage-signing: repackage repackage-signing-msi: repackage repackage-signing-shippable-l10n-msix: signing - release-deb-repackage: repackage + repackage-deb: repackage + repackage-deb-l10n: repackage platform_names: filename_platform: by-platform: @@ -224,6 +225,25 @@ default: - ${year}/${month}/${upload_date}-${branch}-l10n/${filename_platform}/xpi - latest-${branch}-l10n/${filename_platform}/xpi + target.langpack.deb: + <<: *default + all_locales: true + description: "langpack.xpi repackaged as a .deb" + from: + - repackage-deb-l10n + only_for_platforms: + - linux-shippable + - linux64-shippable + pretty_name: thunderbird-${version}.${locale}.langpack.deb + checksums_path: thunderbird-${version}.${locale}.langpack.deb + destinations: + by-locale: + en-US: + - ${year}/${month}/${upload_date}-${branch} + - latest-${branch} + default: + - ${year}/${month}/${upload_date}-${branch}-l10n/${filename_platform}/deb-l10n + - latest-${branch}-l10n/${filename_platform}/deb-l10n mar: <<: *default description: "Alongside `mbsdiff`, a tool used to generate partials" @@ -400,24 +420,18 @@ - latest-${branch}-l10n target.deb: <<: *default - description: "Debian package for Linux platforms" - all_locales: true - from: - - repackage + description: "Thunderbird as a .deb package" only_for_platforms: - linux-shippable - linux64-shippable pretty_name: thunderbird-${version}.${locale}.${filename_platform}.deb checksums_path: thunderbird-${version}.${locale}.${filename_platform}.deb + from: + - repackage-deb + update_balrog_manifest: false destinations: - by-locale: - en-US: - - ${year}/${month}/${upload_date}-${branch} - - latest-${branch} - - latest-${branch}-l10n - default: - - ${year}/${month}/${upload_date}-${branch}-l10n - - latest-${branch}-l10n + - ${year}/${month}/${upload_date}-${branch} + - latest-${branch} target.complete.mar: <<: *default description: "The main installer we ship our mobile products baked within" diff -Nru thunderbird-140.12.0esr/comm/taskcluster/comm_taskgraph/transforms/job/toolchain.py thunderbird-140.13.0esr/comm/taskcluster/comm_taskgraph/transforms/job/toolchain.py --- thunderbird-140.12.0esr/comm/taskcluster/comm_taskgraph/transforms/job/toolchain.py 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/taskcluster/comm_taskgraph/transforms/job/toolchain.py 2026-07-21 21:33:26.000000000 +0000 @@ -39,11 +39,12 @@ Helper function while the single repository project is in development. The extended version of hash_paths found in comm_taskgraph.util.hash is not necessary (and does not work) with single-repo. This is a wrapper - function to pick the right function based on the presence of a comm/.hg - directory. + function to pick the right function based on whether comm/ is a separate + repository (its own .hg or .git) from the gecko checkout. """ comm_hg_path = util_path.join(GECKO, "comm", ".hg") - if os.path.exists(comm_hg_path): + comm_git_path = util_path.join(GECKO, "comm", ".git") + if os.path.exists(comm_hg_path) or os.path.exists(comm_git_path): return hash_paths_extended(*args) else: return hash_paths_gecko_root(*args) diff -Nru thunderbird-140.12.0esr/comm/taskcluster/config.yml thunderbird-140.13.0esr/comm/taskcluster/config.yml --- thunderbird-140.12.0esr/comm/taskcluster/config.yml 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/taskcluster/config.yml 2026-07-21 21:33:26.000000000 +0000 @@ -39,6 +39,7 @@ 'cs': 'Checksum signing' 'css': 'Checksum signing for source' 'Deb': 'Deb archive generation' + 'Deb-l10n': 'Localized deb repacks' 'Flatpak': 'Flatpak image generation' 'L10n': 'Localised Repacks' 'L10n-Rpk': 'Localized Repackaged Repacks' diff -Nru thunderbird-140.12.0esr/comm/taskcluster/kinds/beetmover-repackage/kind.yml thunderbird-140.13.0esr/comm/taskcluster/kinds/beetmover-repackage/kind.yml --- thunderbird-140.12.0esr/comm/taskcluster/kinds/beetmover-repackage/kind.yml 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/taskcluster/kinds/beetmover-repackage/kind.yml 2026-07-21 21:33:26.000000000 +0000 @@ -30,7 +30,8 @@ - partials-signing - repackage-signing-msi - repackage-signing-shippable-l10n-msix - - release-deb-repackage + - repackage-deb + - repackage-deb-l10n - mar-signing - mar-signing-l10n - upload-symbols diff -Nru thunderbird-140.12.0esr/comm/taskcluster/kinds/release-deb-repackage/kind.yml thunderbird-140.13.0esr/comm/taskcluster/kinds/release-deb-repackage/kind.yml --- thunderbird-140.12.0esr/comm/taskcluster/kinds/release-deb-repackage/kind.yml 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/taskcluster/kinds/release-deb-repackage/kind.yml 1970-01-01 00:00:00.000000000 +0000 @@ -1,53 +0,0 @@ -# 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/. ---- -loader: taskgraph.loader.transform:loader - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.name_sanity - - gecko_taskgraph.transforms.repackage - - gecko_taskgraph.transforms.job - - gecko_taskgraph.transforms.task - -kind-dependencies: - - build-signing - - toolchain - -only-for-build-platforms: - - linux-shippable/opt - - linux64-shippable/opt - -only-for-attributes: - - nightly - - shippable - -tasks: - repackage-deb: - from-deps: - group-by: single-with-filters - shipping-phase: promote - worker-type: b-linux-gcp - worker: - docker-image: - in-tree: debian12-repackage - mozharness: - run-as-root: true - use-caches: false - comm-checkout: true - config-paths: - - comm/testing/mozharness/configs - config: - by-build-platform: - linux\b.*: - - repackage/base.py - - repackage/linux32_signed.py - linux64\b.*: - - repackage/base.py - - repackage/linux64_signed.py - treeherder: - symbol: Deb(r) - package-formats: - by-build-platform: - linux.*: [deb] diff -Nru thunderbird-140.12.0esr/comm/taskcluster/kinds/release-early-tagging/kind.yml thunderbird-140.13.0esr/comm/taskcluster/kinds/release-early-tagging/kind.yml --- thunderbird-140.12.0esr/comm/taskcluster/kinds/release-early-tagging/kind.yml 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/taskcluster/kinds/release-early-tagging/kind.yml 2026-07-21 21:33:26.000000000 +0000 @@ -5,6 +5,7 @@ loader: taskgraph.loader.transform:loader transforms: + - gecko_taskgraph.transforms.release:run_on_releases - gecko_taskgraph.transforms.release_deps:transforms - gecko_taskgraph.transforms.resolve_landoscript_keyed_by:transforms - gecko_taskgraph.transforms.task:transforms @@ -12,6 +13,7 @@ task-defaults: description: Release Promotion version tag for buildN run-on-projects: [] + run-on-releases: [] shipping-phase: promote worker-type: tree worker: diff -Nru thunderbird-140.12.0esr/comm/taskcluster/kinds/release-update-verify-next/kind.yml thunderbird-140.13.0esr/comm/taskcluster/kinds/release-update-verify-next/kind.yml --- thunderbird-140.12.0esr/comm/taskcluster/kinds/release-update-verify-next/kind.yml 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/taskcluster/kinds/release-update-verify-next/kind.yml 2026-07-21 21:33:26.000000000 +0000 @@ -21,7 +21,7 @@ task-defaults: name: update-verify-next run-on-projects: [] # to make sure this never runs as part of CI - run-on-releases: [esr140] + run-on-releases: [] shipping-phase: promote worker-type: b-linux-gcp worker: diff -Nru thunderbird-140.12.0esr/comm/taskcluster/kinds/release-version-bump/kind.yml thunderbird-140.13.0esr/comm/taskcluster/kinds/release-version-bump/kind.yml --- thunderbird-140.12.0esr/comm/taskcluster/kinds/release-version-bump/kind.yml 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/taskcluster/kinds/release-version-bump/kind.yml 2026-07-21 21:33:26.000000000 +0000 @@ -5,6 +5,7 @@ loader: taskgraph.loader.transform:loader transforms: + - gecko_taskgraph.transforms.release:run_on_releases - gecko_taskgraph.transforms.release_deps:transforms - comm_taskgraph.transforms.resolve_landoscript_keyed_by:transforms - gecko_taskgraph.transforms.task:transforms @@ -15,6 +16,7 @@ task-defaults: description: Release Promotion version bump/tag run-on-projects: [] + run-on-releases: [] shipping-phase: ship worker-type: tree worker: diff -Nru thunderbird-140.12.0esr/comm/taskcluster/kinds/repackage-deb/kind.yml thunderbird-140.13.0esr/comm/taskcluster/kinds/repackage-deb/kind.yml --- thunderbird-140.12.0esr/comm/taskcluster/kinds/repackage-deb/kind.yml 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/comm/taskcluster/kinds/repackage-deb/kind.yml 2026-07-21 21:33:26.000000000 +0000 @@ -0,0 +1,53 @@ +# 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/. +--- +loader: taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.name_sanity + - gecko_taskgraph.transforms.repackage + - gecko_taskgraph.transforms.job + - gecko_taskgraph.transforms.task + +kind-dependencies: + - build-signing + - toolchain + +only-for-build-platforms: + - linux-shippable/opt + - linux64-shippable/opt + +only-for-attributes: + - nightly + - shippable + +tasks: + repackage-deb: + from-deps: + group-by: single-with-filters + shipping-phase: promote + worker-type: b-linux-gcp + worker: + docker-image: + in-tree: debian12-repackage + mozharness: + run-as-root: true + use-caches: false + comm-checkout: true + config-paths: + - comm/testing/mozharness/configs + config: + by-build-platform: + linux\b.*: + - repackage/base.py + - repackage/linux32_signed.py + linux64\b.*: + - repackage/base.py + - repackage/linux64_signed.py + treeherder: + symbol: Deb(r) + package-formats: + by-build-platform: + linux.*: [deb] diff -Nru thunderbird-140.12.0esr/comm/taskcluster/kinds/repackage-deb-l10n/kind.yml thunderbird-140.13.0esr/comm/taskcluster/kinds/repackage-deb-l10n/kind.yml --- thunderbird-140.12.0esr/comm/taskcluster/kinds/repackage-deb-l10n/kind.yml 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/comm/taskcluster/kinds/repackage-deb-l10n/kind.yml 2026-07-21 21:33:26.000000000 +0000 @@ -0,0 +1,45 @@ +# 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/. +--- +loader: taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.repackage_l10n + - gecko_taskgraph.transforms.name_sanity + - gecko_taskgraph.transforms.repackage + - gecko_taskgraph.transforms.repackage_routes + - gecko_taskgraph.transforms.job + - gecko_taskgraph.transforms.task + +kind-dependencies: + - shippable-l10n + +only-for-build-platforms: + # Langpacks support all CPU architectures. We just need to pick one + - linux64-shippable/opt + +tasks: + repackage-deb-l10n: + from-deps: + group-by: single-with-filters + worker-type: b-linux-gcp + worker: + docker-image: {"in-tree": "debian12-repackage"} + max-run-time: 600 + mozharness: + run-as-root: true + use-caches: false + comm-checkout: true + config-paths: + - comm/testing/mozharness/configs + config: + by-build-platform: + linux64\b.*: + - repackage/base.py + - repackage/linux64_signed.py + package-formats: + by-build-platform: + linux.*: [deb-l10n] + treeherder-group: Deb-l10n diff -Nru thunderbird-140.12.0esr/comm/testing/mozharness/configs/repackage/base.py thunderbird-140.13.0esr/comm/testing/mozharness/configs/repackage/base.py --- thunderbird-140.12.0esr/comm/testing/mozharness/configs/repackage/base.py 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/testing/mozharness/configs/repackage/base.py 2026-07-21 21:33:26.000000000 +0000 @@ -15,4 +15,5 @@ "rpm-templates": "", "wsx-stub": "comm/mail/installer/windows/msi/installer.wxs", "fetch-dir": os.environ.get("MOZ_FETCHES_DIR"), + "extensions-dir": "thunderbird/distribution/extensions", } diff -Nru thunderbird-140.12.0esr/comm/testing/mozharness/configs/repackage/linux64_signed.py thunderbird-140.13.0esr/comm/testing/mozharness/configs/repackage/linux64_signed.py --- thunderbird-140.12.0esr/comm/testing/mozharness/configs/repackage/linux64_signed.py 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/comm/testing/mozharness/configs/repackage/linux64_signed.py 2026-07-21 21:33:26.000000000 +0000 @@ -0,0 +1,14 @@ +# 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/. + +import os + +platform = "linux64" + +config = { + "locale": os.environ.get("LOCALE"), + # ToolTool + "tooltool_cache": os.environ.get("TOOLTOOL_CACHE"), + "run_configure": False, +} diff -Nru thunderbird-140.12.0esr/comm/third_party/rust/audioipc2/.cargo-checksum.json thunderbird-140.13.0esr/comm/third_party/rust/audioipc2/.cargo-checksum.json --- thunderbird-140.12.0esr/comm/third_party/rust/audioipc2/.cargo-checksum.json 2026-06-13 03:48:28.000000000 +0000 +++ thunderbird-140.13.0esr/comm/third_party/rust/audioipc2/.cargo-checksum.json 2026-07-21 21:33:26.000000000 +0000 @@ -1 +1 @@ -{"files":{"Cargo.toml":"c3a9748385c7401fee0b8a29554b92a2b0049a5afd5f4e35f8b26d5032a1ec68","benches/serialization.rs":"d56855d868dab6aa22c8b03a61084535351b76c94b68d8b1d20764e352fe473f","build.rs":"65df9a97c6cdaa3faf72581f04ac289197b0b1797d69d22c1796e957ff1089e2","src/codec.rs":"86068272e220696d8d7e369072326349e7598e5a24223d98179c3251bb7b3ff1","src/errors.rs":"67a4a994d0724397657581cde153bdfc05ce86e7efc467f23fafc8f64df80fa4","src/ipccore.rs":"db73e916468c54d3497d75ffcab3bf23067771ed7b2e1a23c714429f56f59ec3","src/lib.rs":"a6fcac8b44318435db60313d3ef32ff3fada390bea8978c8414c40744998b98b","src/messages.rs":"d4f6d4f41b7fd3cc7deae726657e1100f315f4cd10c5fe6ce8a57c03c8e26ca9","src/rpccore.rs":"025b6614f1c42b96b0a8e74fd7881032d338c66e0d67ec0af70f910a9e30ebe1","src/shm.rs":"c00d16f4af510d12e704ae865f7348ad64ddef180e42b18e7dd95c4be35a9c80","src/sys/mod.rs":"e6fa1d260abf093e1f7b50185195e2d3aee0eb8c9774c6f253953b5896d838f3","src/sys/unix/cmsg.rs":"9529e8f8429db86f7c5df132953d3054e603852270f3c6938cdb5f630b2711f1","src/sys/unix/cmsghdr.c":"d7344b3dc15cdce410c68669b848bb81f7fe36362cd3699668cb613fa05180f8","src/sys/unix/mod.rs":"59835f0d5509940078b1820a54f49fc5514adeb3e45e7d21e3ab917431da2e74","src/sys/unix/msg.rs":"25244de3eba920fa42e032f8fa4ea4913a9fdeb5124ade61e707f6cc6dd946b0","src/sys/windows/mod.rs":"7eaabb76e62c6962b636320e2bbf79a78fce61659c799a798f7dd6d56b0be8a1"},"package":null} \ No newline at end of file +{"files":{"Cargo.toml":"c3a9748385c7401fee0b8a29554b92a2b0049a5afd5f4e35f8b26d5032a1ec68","benches/serialization.rs":"d56855d868dab6aa22c8b03a61084535351b76c94b68d8b1d20764e352fe473f","build.rs":"65df9a97c6cdaa3faf72581f04ac289197b0b1797d69d22c1796e957ff1089e2","src/codec.rs":"86068272e220696d8d7e369072326349e7598e5a24223d98179c3251bb7b3ff1","src/errors.rs":"67a4a994d0724397657581cde153bdfc05ce86e7efc467f23fafc8f64df80fa4","src/ipccore.rs":"db73e916468c54d3497d75ffcab3bf23067771ed7b2e1a23c714429f56f59ec3","src/lib.rs":"a6fcac8b44318435db60313d3ef32ff3fada390bea8978c8414c40744998b98b","src/messages.rs":"77e8bc57205ec6aeb0b6617225ced94e3d9ef14e48f7bdeebb0581714b3ea2b4","src/rpccore.rs":"025b6614f1c42b96b0a8e74fd7881032d338c66e0d67ec0af70f910a9e30ebe1","src/shm.rs":"c00d16f4af510d12e704ae865f7348ad64ddef180e42b18e7dd95c4be35a9c80","src/sys/mod.rs":"e6fa1d260abf093e1f7b50185195e2d3aee0eb8c9774c6f253953b5896d838f3","src/sys/unix/cmsg.rs":"9529e8f8429db86f7c5df132953d3054e603852270f3c6938cdb5f630b2711f1","src/sys/unix/cmsghdr.c":"d7344b3dc15cdce410c68669b848bb81f7fe36362cd3699668cb613fa05180f8","src/sys/unix/mod.rs":"59835f0d5509940078b1820a54f49fc5514adeb3e45e7d21e3ab917431da2e74","src/sys/unix/msg.rs":"25244de3eba920fa42e032f8fa4ea4913a9fdeb5124ade61e707f6cc6dd946b0","src/sys/windows/mod.rs":"7eaabb76e62c6962b636320e2bbf79a78fce61659c799a798f7dd6d56b0be8a1"},"package":null} \ No newline at end of file diff -Nru thunderbird-140.12.0esr/comm/third_party/rust/audioipc2/src/messages.rs thunderbird-140.13.0esr/comm/third_party/rust/audioipc2/src/messages.rs --- thunderbird-140.12.0esr/comm/third_party/rust/audioipc2/src/messages.rs 2026-06-13 03:48:28.000000000 +0000 +++ thunderbird-140.13.0esr/comm/third_party/rust/audioipc2/src/messages.rs 2026-07-21 21:33:26.000000000 +0000 @@ -146,14 +146,8 @@ } } -#[derive(Debug, Serialize, Deserialize)] +#[derive(Clone, Debug, Serialize, Deserialize)] pub struct StreamCreateParams { - pub input_stream_params: Option, - pub output_stream_params: Option, -} - -#[derive(Debug, Serialize, Deserialize)] -pub struct StreamInitParams { #[serde(with = "serde_bytes")] pub stream_name: Option>, pub input_device: usize, @@ -215,7 +209,7 @@ ContextRegisterDeviceCollectionChanged(ffi::cubeb_device_type, bool), StreamCreate(StreamCreateParams), - StreamInit(usize, StreamInitParams), + StreamInit(usize), StreamDestroy(usize), StreamStart(usize), diff -Nru thunderbird-140.12.0esr/comm/third_party/rust/audioipc2-client/.cargo-checksum.json thunderbird-140.13.0esr/comm/third_party/rust/audioipc2-client/.cargo-checksum.json --- thunderbird-140.12.0esr/comm/third_party/rust/audioipc2-client/.cargo-checksum.json 2026-06-13 03:48:28.000000000 +0000 +++ thunderbird-140.13.0esr/comm/third_party/rust/audioipc2-client/.cargo-checksum.json 2026-07-21 21:33:26.000000000 +0000 @@ -1 +1 @@ -{"files":{"Cargo.toml":"2ff29951b7d841dd3c54a9d08440d4f2961027d31d0c1d407f47cdb6497f9af6","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/context.rs":"a0559e92b554ef3156ab2bf2f1424555c8ef4a7977b9f43ac8500a9f399f8d99","src/lib.rs":"c87d9d57a16a9286cde730978db692df0fbc70cc69dd4f4677198d6843031fd8","src/send_recv.rs":"859abe75b521eb4297c84b30423814b5b87f3c7741ad16fe72189212e123e1ac","src/stream.rs":"90dc6a85552f3569ab1847de4247a46bcff2f5aef0c4d43fa2376589df015b25"},"package":null} \ No newline at end of file +{"files":{"Cargo.toml":"2ff29951b7d841dd3c54a9d08440d4f2961027d31d0c1d407f47cdb6497f9af6","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/context.rs":"5672563c279654b8d5e743b9eaa7389662b6d219bc5b327153a5eaa24e534f79","src/lib.rs":"c87d9d57a16a9286cde730978db692df0fbc70cc69dd4f4677198d6843031fd8","src/send_recv.rs":"859abe75b521eb4297c84b30423814b5b87f3c7741ad16fe72189212e123e1ac","src/stream.rs":"f9bf0793a6bfd512bfb14b232924559605d6b3ae0b76df86920198b8c6e34d08"},"package":null} \ No newline at end of file diff -Nru thunderbird-140.12.0esr/comm/third_party/rust/audioipc2-client/src/context.rs thunderbird-140.13.0esr/comm/third_party/rust/audioipc2-client/src/context.rs --- thunderbird-140.12.0esr/comm/third_party/rust/audioipc2-client/src/context.rs 2026-06-13 03:48:27.000000000 +0000 +++ thunderbird-140.13.0esr/comm/third_party/rust/audioipc2-client/src/context.rs 2026-07-21 21:33:26.000000000 +0000 @@ -313,7 +313,7 @@ let input_stream_params = input_stream_params.map(messages::StreamParams::from); let output_stream_params = output_stream_params.map(messages::StreamParams::from); - let init_params = messages::StreamInitParams { + let params = messages::StreamCreateParams { stream_name, input_device: input_device as usize, input_stream_params, @@ -321,7 +321,7 @@ output_stream_params, latency_frames, }; - stream::init(self, init_params, data_callback, state_callback, user_ptr) + stream::init(self, params, data_callback, state_callback, user_ptr) } fn register_device_collection_changed( diff -Nru thunderbird-140.12.0esr/comm/third_party/rust/audioipc2-client/src/stream.rs thunderbird-140.13.0esr/comm/third_party/rust/audioipc2-client/src/stream.rs --- thunderbird-140.12.0esr/comm/third_party/rust/audioipc2-client/src/stream.rs 2026-06-13 03:48:28.000000000 +0000 +++ thunderbird-140.13.0esr/comm/third_party/rust/audioipc2-client/src/stream.rs 2026-07-21 21:33:26.000000000 +0000 @@ -5,7 +5,6 @@ use crate::ClientContext; use crate::{assert_not_in_callback, run_in_callback}; -use audioipc::messages::StreamCreateParams; use audioipc::messages::{self, CallbackReq, CallbackResp, ClientMessage, ServerMessage}; use audioipc::shm::SharedMem; use audioipc::{rpccore, sys}; @@ -149,19 +148,17 @@ impl<'ctx> ClientStream<'ctx> { fn init( ctx: &'ctx ClientContext, - init_params: messages::StreamInitParams, + params: messages::StreamCreateParams, data_callback: ffi::cubeb_data_callback, state_callback: ffi::cubeb_state_callback, user_ptr: *mut c_void, ) -> Result { assert_not_in_callback(); + let has_input = params.input_stream_params.is_some(); + let has_output = params.output_stream_params.is_some(); let rpc = ctx.rpc(); - let create_params = StreamCreateParams { - input_stream_params: init_params.input_stream_params, - output_stream_params: init_params.output_stream_params, - }; - let mut data = send_recv!(rpc, StreamCreate(create_params) => StreamCreated())?; + let mut data = send_recv!(rpc, StreamCreate(params) => StreamCreated())?; debug!( "token = {}, handle = {:?} area_size = {:?}", @@ -180,10 +177,7 @@ } }; - let duplex_input = if let (Some(_), Some(_)) = ( - init_params.input_stream_params, - init_params.output_stream_params, - ) { + let duplex_input = if has_input && has_output { let mut duplex_input = Vec::new(); match duplex_input.try_reserve_exact(data.shm_area_size) { Ok(()) => Some(duplex_input), @@ -199,8 +193,7 @@ None }; - let mut stream = - send_recv!(rpc, StreamInit(data.token, init_params) => StreamInitialized())?; + let mut stream = send_recv!(rpc, StreamInit(data.token) => StreamInitialized())?; let stream = unsafe { sys::Pipe::from_raw_handle(stream.take_handle()) }; let user_data = user_ptr as usize; @@ -340,12 +333,12 @@ pub fn init( ctx: &ClientContext, - init_params: messages::StreamInitParams, + params: messages::StreamCreateParams, data_callback: ffi::cubeb_data_callback, state_callback: ffi::cubeb_state_callback, user_ptr: *mut c_void, ) -> Result { - let stm = ClientStream::init(ctx, init_params, data_callback, state_callback, user_ptr)?; + let stm = ClientStream::init(ctx, params, data_callback, state_callback, user_ptr)?; debug_assert_eq!(stm.user_ptr(), user_ptr); Ok(stm) } diff -Nru thunderbird-140.12.0esr/comm/third_party/rust/audioipc2-server/.cargo-checksum.json thunderbird-140.13.0esr/comm/third_party/rust/audioipc2-server/.cargo-checksum.json --- thunderbird-140.12.0esr/comm/third_party/rust/audioipc2-server/.cargo-checksum.json 2026-06-13 03:48:28.000000000 +0000 +++ thunderbird-140.13.0esr/comm/third_party/rust/audioipc2-server/.cargo-checksum.json 2026-07-21 21:33:26.000000000 +0000 @@ -1 +1 @@ -{"files":{"Cargo.toml":"6c9e2ef3983dcacd97c85af69fc13002d2a437f0d2e1e335ee6a4c09d5875937","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/lib.rs":"d70079c66de72c3469504f1f0c9cf5e510644cac17f2d8300b8d12218740e07b","src/server.rs":"20010fbad8111420d2018a14b393eba1362cd68b24a746819ef6a68c2936a1bd"},"package":null} \ No newline at end of file +{"files":{"Cargo.toml":"6c9e2ef3983dcacd97c85af69fc13002d2a437f0d2e1e335ee6a4c09d5875937","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/lib.rs":"d70079c66de72c3469504f1f0c9cf5e510644cac17f2d8300b8d12218740e07b","src/server.rs":"9f0d0744e71d02b637bf2c451dd2de2a2e7b35bbc157fd3655eeaf1badeee2f5"},"package":null} \ No newline at end of file diff -Nru thunderbird-140.12.0esr/comm/third_party/rust/audioipc2-server/src/server.rs thunderbird-140.13.0esr/comm/third_party/rust/audioipc2-server/src/server.rs --- thunderbird-140.12.0esr/comm/third_party/rust/audioipc2-server/src/server.rs 2026-06-13 03:48:28.000000000 +0000 +++ thunderbird-140.13.0esr/comm/third_party/rust/audioipc2-server/src/server.rs 2026-07-21 21:33:26.000000000 +0000 @@ -9,7 +9,7 @@ use audioipc::messages::{ CallbackReq, CallbackResp, ClientMessage, Device, DeviceCollectionReq, DeviceCollectionResp, DeviceInfo, RegisterDeviceCollectionChanged, ServerMessage, StreamCreate, StreamCreateParams, - StreamInitParams, StreamParams, + StreamParams, }; use audioipc::shm::SharedMem; use audioipc::{ipccore, rpccore, sys, PlatformHandle}; @@ -338,10 +338,61 @@ ) } +fn validate_stream_params(p: &StreamParams) -> cubeb::Result<()> { + const MAX_CHANNELS: u32 = u8::MAX as u32; + const MIN_RATE: u32 = 1_000; + const MAX_RATE: u32 = 768_000; + + let valid_format = matches!( + p.format, + ffi::CUBEB_SAMPLE_S16LE + | ffi::CUBEB_SAMPLE_S16BE + | ffi::CUBEB_SAMPLE_FLOAT32LE + | ffi::CUBEB_SAMPLE_FLOAT32BE + ); + + if valid_format + && p.channels >= 1 + && p.channels <= MAX_CHANNELS + && p.rate >= MIN_RATE + && p.rate <= MAX_RATE + { + Ok(()) + } else { + Err(cubeb::Error::invalid_parameter()) + } +} + +fn validate_stream_create_params(params: &StreamCreateParams) -> cubeb::Result<()> { + if params.input_stream_params.is_none() && params.output_stream_params.is_none() { + return Err(cubeb::Error::invalid_parameter()); + } + + if let Some(input_params) = ¶ms.input_stream_params { + validate_stream_params(input_params)?; + } + + if let Some(output_params) = ¶ms.output_stream_params { + validate_stream_params(output_params)?; + } + + // Rate and sample format must match for input and output of a duplex stream. + if let (Some(input_params), Some(output_params)) = + (¶ms.input_stream_params, ¶ms.output_stream_params) + { + if input_params.rate != output_params.rate || input_params.format != output_params.format { + return Err(cubeb::Error::invalid_parameter()); + } + } + + Ok(()) +} + struct ServerStream { stream: Option, cbs: Box, client_pipe: Option, + params: Option, } impl Drop for ServerStream { @@ -539,8 +590,8 @@ .process_stream_create(params) .unwrap_or_else(|_| error(cubeb::Error::error())), - ServerMessage::StreamInit(stm_tok, ref params) => self - .process_stream_init(context, stm_tok, params) + ServerMessage::StreamInit(stm_tok) => self + .process_stream_init(context, stm_tok) .unwrap_or_else(|_| error(cubeb::Error::error())), ServerMessage::StreamDestroy(stm_tok) => { @@ -710,6 +761,8 @@ // Stream create is special, so it's been separated from process_msg. fn process_stream_create(&mut self, params: &StreamCreateParams) -> Result { + validate_stream_create_params(params)?; + fn frame_size_in_bytes(params: Option<&StreamParams>) -> u16 { params .map(|p| { @@ -777,6 +830,7 @@ stream: None, cbs, client_pipe: Some(client_pipe), + params: Some(params.clone()), }); Ok(ClientMessage::StreamCreated(StreamCreate { @@ -791,9 +845,24 @@ &mut self, context: &cubeb::Context, stm_tok: usize, - params: &StreamInitParams, ) -> Result { - // Create cubeb stream from params + if !self.streams.contains(stm_tok) { + return Err(cubeb::Error::invalid_parameter().into()); + } + + let params = { + let server_stream = &mut self.streams[stm_tok]; + if server_stream.stream.is_some() { + error!("StreamInit({stm_tok}): stream already initialized"); + return Err(cubeb::Error::invalid_parameter().into()); + } + server_stream.params.take().ok_or_else(|| { + error!("StreamInit({stm_tok}): missing stream params"); + cubeb::Error::invalid_parameter() + })? + }; + + // Create cubeb stream from the stored params. let stream_name = params .stream_name .as_ref() @@ -832,7 +901,7 @@ latency ); - let server_stream = &mut self.streams[stm_tok]; + let server_stream = &self.streams[stm_tok]; assert!(size_of::>() == size_of::()); let user_ptr = server_stream.cbs.as_ref() as *const ServerStreamCallbacks as *mut c_void; @@ -858,6 +927,7 @@ } }; + let server_stream = &mut self.streams[stm_tok]; server_stream.stream = Some(stream); let client_pipe = server_stream diff -Nru thunderbird-140.12.0esr/comm/third_party/rust/cubeb-pulse/.cargo-checksum.json thunderbird-140.13.0esr/comm/third_party/rust/cubeb-pulse/.cargo-checksum.json --- thunderbird-140.12.0esr/comm/third_party/rust/cubeb-pulse/.cargo-checksum.json 2026-06-13 03:48:28.000000000 +0000 +++ thunderbird-140.13.0esr/comm/third_party/rust/cubeb-pulse/.cargo-checksum.json 2026-07-21 21:33:27.000000000 +0000 @@ -1 +1 @@ -{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"477366d58c9dc059dbe4a158a6e910f23a3e9ecac7411f73616e06375583b764","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.toml":"37491c1b911bcedf99e624fbfb100aa6ecaa357d0d048dc9ff0da341d35f687c","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"c0db5f2447de1d6df5aa2812fa342a085e73156a072c221c7379b9a6a9b86786","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"dfe5b747e100cae4aeae36cf2ebb9dc4715b411b4116721a40eec2944eb0ec23","src/capi.rs":"fa0fa020f0d0efe55aa0fc3596405e8407bbe2cbe6c7a558345304e6da87994e","src/lib.rs":"b41bbdc562cbfb130ed7c1e53fe69944774f515705341d8ce48a2f82c8c0c2c5"},"package":null} \ No newline at end of file +{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"477366d58c9dc059dbe4a158a6e910f23a3e9ecac7411f73616e06375583b764","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.toml":"37491c1b911bcedf99e624fbfb100aa6ecaa357d0d048dc9ff0da341d35f687c","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"c0db5f2447de1d6df5aa2812fa342a085e73156a072c221c7379b9a6a9b86786","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"ea65c5000944c209631dc263ab3ecf65ee246b0dfca95a1932d00c95657fa1a0","src/capi.rs":"fa0fa020f0d0efe55aa0fc3596405e8407bbe2cbe6c7a558345304e6da87994e","src/lib.rs":"b41bbdc562cbfb130ed7c1e53fe69944774f515705341d8ce48a2f82c8c0c2c5"},"package":null} \ No newline at end of file diff -Nru thunderbird-140.12.0esr/comm/third_party/rust/cubeb-pulse/src/backend/stream.rs thunderbird-140.13.0esr/comm/third_party/rust/cubeb-pulse/src/backend/stream.rs --- thunderbird-140.12.0esr/comm/third_party/rust/cubeb-pulse/src/backend/stream.rs 2026-06-13 03:48:28.000000000 +0000 +++ thunderbird-140.13.0esr/comm/third_party/rust/cubeb-pulse/src/backend/stream.rs 2026-07-21 21:33:26.000000000 +0000 @@ -627,6 +627,15 @@ stm.trigger_user_callback(std::ptr::null(), size); } } + + // Restarting a stream that is still draining is a cubeb API contract + // violation: the pending drain_timer holds a pointer to this stream, + // and re-prerolling would arm a second timer and leak the first. + if !self.drain_timer.load(Ordering::Acquire).is_null() { + cubeb_log!("Rejecting start() on a draining stream"); + return Err(Error::error()); + } + self.shutdown = false; self.cork(CorkState::uncork() | CorkState::notify()); @@ -1176,7 +1185,10 @@ /* pa_stream_drain is useless, see PA bug# 866. this is a workaround. */ /* arbitrary safety margin: double the current latency. */ - debug_assert!(self.drain_timer.load(Ordering::Acquire).is_null()); + assert!( + self.drain_timer.load(Ordering::Acquire).is_null(), + "drain timer already armed; stream restarted while draining" + ); let stream_ptr = self as *const _ as *mut _; if let Some(ref context) = self.context.context { self.drain_timer.store( diff -Nru thunderbird-140.12.0esr/config/create_rc.py thunderbird-140.13.0esr/config/create_rc.py --- thunderbird-140.12.0esr/config/create_rc.py 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/config/create_rc.py 2026-07-21 21:32:53.000000000 +0000 @@ -270,7 +270,7 @@ include = "" # Set the identity field for the Limited Access Feature - # Must match the tokens used in Win11LimitedAccessFeatures.cpp + # Must match the Product Name used in limited_access_features.rs lafidentity = "MozillaFirefox" # lafidentity = "FirefoxBeta" # lafidentity = "FirefoxNightly" diff -Nru thunderbird-140.12.0esr/config/milestone.txt thunderbird-140.13.0esr/config/milestone.txt --- thunderbird-140.12.0esr/config/milestone.txt 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/config/milestone.txt 2026-07-21 21:32:54.000000000 +0000 @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #-------------------------------------------------------- -140.12.0 +140.14.0 diff -Nru thunderbird-140.12.0esr/debian/changelog thunderbird-140.13.0esr/debian/changelog --- thunderbird-140.12.0esr/debian/changelog 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/changelog 2026-08-05 12:51:30.000000000 +0000 @@ -1,3 +1,87 @@ +thunderbird (1:140.13.0esr-2~deb13u1) trixie-security; urgency=medium + + * Rebuild for trixie-security + + -- Carsten Schoenert Wed, 05 Aug 2026 14:51:30 +0200 + +thunderbird (1:140.13.0esr-2) unstable; urgency=medium + + * [137fa88] d/control: Add python3-typing-extensions to B-D + + -- Carsten Schoenert Wed, 05 Aug 2026 11:23:37 +0200 + +thunderbird (1:140.13.0esr-1) unstable; urgency=medium + + * [d44dc7d] New upstream version 140.13.0esr + Fixed CVE issues in upstream version 140.13 (MFSA 2026-72): + CVE-2026-14899: Off-by-one out of bounds read in MIME header parser + for forwarding + CVE-2026-15718: Invalid pointer in the JavaScript: WebAssembly component + CVE-2026-15719: Site isolation issue in the DOM: Navigation component + CVE-2026-16349: Same-origin policy bypass in the DOM: Navigation + component + CVE-2026-16350: Incorrect boundary conditions in the Audio/Video: cubeb + component + CVE-2026-16362: Use-after-free in the WebRTC: Audio/Video component + CVE-2026-16351: Sandbox escape due to use-after-free in the DOM: + Navigation component + CVE-2026-16352: Sandbox escape due to use-after-free in the Disability + Access APIs component + CVE-2026-16363: JIT miscompilation in the JavaScript: WebAssembly + component + CVE-2026-16353: Invalid pointer in the DOM: Bindings (WebIDL) component + CVE-2026-16354: Information disclosure in the Graphics: ImageLib + component + CVE-2026-16368: Incorrect boundary conditions in the JavaScript: + WebAssembly component + CVE-2026-16369: Integer overflow in the JavaScript: WebAssembly component + CVE-2026-16355: JIT miscompilation in the JavaScript Engine: JIT + component + CVE-2026-16356: Sandbox escape due to use-after-free in the Disability + Access APIs component + CVE-2026-16357: Incorrect boundary conditions in the Graphics component + CVE-2026-16371: Privilege escalation in the DOM: Navigation component + CVE-2026-16374: Information disclosure in the Framework component in + DevTools + CVE-2026-16375: Site isolation issue in the Networking: HTTP component + CVE-2026-16377: Mitigation bypass in the PDF Viewer component + CVE-2026-16379: Privilege escalation in the DOM: Content Processes + component + CVE-2026-16358: Site isolation issue in the Graphics: WebRender component + CVE-2026-16381: Same-origin policy bypass in the Networking: DNS + component + CVE-2026-16383: Mitigation bypass in the DOM: Networking component + CVE-2026-16387: Site isolation issue in the Networking component + CVE-2026-16390: Mitigation bypass in the Enterprise Policies component + CVE-2026-16391: Information disclosure in the Storage: IndexedDB + component + CVE-2026-16359: Incorrect boundary conditions in the Audio/Video: GMP + component + CVE-2026-16396: Privilege escalation in WebExtensions + CVE-2026-16405: Information disclosure in the Networking: WebSockets + component + CVE-2026-16412: Memory safety bugs fixed in Thunderbird ESR 140.13 and + Thunderbird 153 + CVE-2026-16360: Memory safety bugs fixed in Thunderbird ESR 140.13 and + Thunderbird 153 + CVE-2026-16361: Memory safety bugs fixed in Thunderbird ESR 140.13 + * [8093e08] Rebuild patch queue from patch-queue branch + Added patches (picked from firefox-esr): + fixes/Bug-1969769-Change-uses-of-ast.Str-with-ast.Constant.-r-f.patch + fixes/Bug-1983713-Use-non-deprecated-ast-value.-r-firefox-build.patch + fixes/Bug-1983736-Patch-jsonschema-to-work-with-Python-3.14-r-m.patch + + Adjusted patches (removed wrong used metadata field 'Forwared'): + fixes/Add-missing-.gitmodules-files-which-are-needed-to-build-t.patch + fixes/Fix-conflicting-types-for-once_flag-and-call_once-with-gl.patch + fixes/Fix-sandbox-to-build-with-glibc-2.43.patch + fixes/Install-vaapitest-v4l2test-only-when-build.patch + * [e49ae9c] d/control: Increase Standards-Version to 4.7.4 + No further changes needed. + * [18cd844] d/rules: Move/rename third party Python modul temporarly + + -- Carsten Schoenert Tue, 04 Aug 2026 17:36:13 +0200 + thunderbird (1:140.12.0esr-1~deb13u1) trixie-security; urgency=medium * Rebuild for trixie-security diff -Nru thunderbird-140.12.0esr/debian/control thunderbird-140.13.0esr/debian/control --- thunderbird-140.12.0esr/debian/control 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/control 2026-08-05 12:51:30.000000000 +0000 @@ -46,12 +46,13 @@ nasm, nodejs (>= 12.22.0), python3, + python3-typing-extensions, rustc (>= 1.80.1), unzip, zip, zlib1g-dev, -Vcs-Git: https://salsa.debian.org/mozilla-team/thunderbird.git -b debian/sid -Vcs-Browser: https://salsa.debian.org/mozilla-team/thunderbird/commits/debian/sid/ +Vcs-Git: https://salsa.debian.org/mozilla-team/thunderbird.git -b debian/esr140/trixie +Vcs-Browser: https://salsa.debian.org/mozilla-team/thunderbird/commits/debian/esr140/trixie Homepage: https://www.thunderbird.net/ X-Debian-Homepage: http://wiki.debian.org/Thunderbird Standards-Version: 4.7.2 diff -Nru thunderbird-140.12.0esr/debian/patches/debian-hacks/all-thunderbird.js-Append-esr-to-VERSION-variable.patch thunderbird-140.13.0esr/debian/patches/debian-hacks/all-thunderbird.js-Append-esr-to-VERSION-variable.patch --- thunderbird-140.12.0esr/debian/patches/debian-hacks/all-thunderbird.js-Append-esr-to-VERSION-variable.patch 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/debian-hacks/all-thunderbird.js-Append-esr-to-VERSION-variable.patch 2026-08-05 12:51:30.000000000 +0000 @@ -13,7 +13,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comm/mail/app/profile/all-thunderbird.js b/comm/mail/app/profile/all-thunderbird.js -index 5d4e4e5..ee6702c 100644 +index f5f1d8c..96cd7bb 100644 --- a/comm/mail/app/profile/all-thunderbird.js +++ b/comm/mail/app/profile/all-thunderbird.js @@ -150,7 +150,7 @@ pref("app.update.langpack.enabled", true); diff -Nru thunderbird-140.12.0esr/debian/patches/fixes/Add-missing-.gitmodules-files-which-are-needed-to-build-t.patch thunderbird-140.13.0esr/debian/patches/fixes/Add-missing-.gitmodules-files-which-are-needed-to-build-t.patch --- thunderbird-140.12.0esr/debian/patches/fixes/Add-missing-.gitmodules-files-which-are-needed-to-build-t.patch 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/fixes/Add-missing-.gitmodules-files-which-are-needed-to-build-t.patch 2026-08-05 12:51:30.000000000 +0000 @@ -2,7 +2,6 @@ Date: Thu, 26 Feb 2026 18:09:55 +0100 Subject: Add missing .gitmodules files which are needed to build thunderbird -Forwarded: needed --- comm/third_party/rust/cubeb-sys/libcubeb/.gitmodules | 6 ++++++ comm/third_party/rust/glslopt/.gitmodules | 3 +++ diff -Nru thunderbird-140.12.0esr/debian/patches/fixes/Allow-.js-preference-files-to-set-locked-prefs-with-lockP.patch thunderbird-140.13.0esr/debian/patches/fixes/Allow-.js-preference-files-to-set-locked-prefs-with-lockP.patch --- thunderbird-140.12.0esr/debian/patches/fixes/Allow-.js-preference-files-to-set-locked-prefs-with-lockP.patch 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/fixes/Allow-.js-preference-files-to-set-locked-prefs-with-lockP.patch 2026-08-05 12:51:30.000000000 +0000 @@ -7,7 +7,7 @@ 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/modules/libpref/parser/src/lib.rs b/modules/libpref/parser/src/lib.rs -index 3a0ad2c..ae884a6 100644 +index 7192a22..61e1996 100644 --- a/modules/libpref/parser/src/lib.rs +++ b/modules/libpref/parser/src/lib.rs @@ -11,7 +11,7 @@ @@ -47,7 +47,7 @@ ]; struct Parser<'t> { -@@ -373,14 +378,11 @@ impl<'t> Parser<'t> { +@@ -374,14 +379,11 @@ impl<'t> Parser<'t> { // this will be either the first token of a new pref, or EOF. loop { // @@ -67,7 +67,7 @@ Token::SingleChar(EOF) => return !self.has_errors, _ => { token = self.error_and_recover( -@@ -490,7 +492,6 @@ impl<'t> Parser<'t> { +@@ -491,7 +493,6 @@ impl<'t> Parser<'t> { }; // ("," )* // default pref files only diff -Nru thunderbird-140.12.0esr/debian/patches/fixes/Bug-1969769-Change-uses-of-ast.Str-with-ast.Constant.-r-f.patch thunderbird-140.13.0esr/debian/patches/fixes/Bug-1969769-Change-uses-of-ast.Str-with-ast.Constant.-r-f.patch --- thunderbird-140.12.0esr/debian/patches/fixes/Bug-1969769-Change-uses-of-ast.Str-with-ast.Constant.-r-f.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/fixes/Bug-1969769-Change-uses-of-ast.Str-with-ast.Constant.-r-f.patch 2026-08-05 12:51:30.000000000 +0000 @@ -0,0 +1,77 @@ +From: Mike Hommey +Date: Tue, 19 Aug 2025 05:09:09 +0000 +Subject: Bug 1969769 - Change uses of ast.Str with ast.Constant. + r=firefox-build-system-reviewers,ahochheiden + +ast.Str was deprecated in python 3.12 and removed in 3.14. It inherited +from ast.Constant, `Str.s` was equivalent to `Constant.value`, so we can +use the latter on both old and newer python versions. + +Differential Revision: https://phabricator.services.mozilla.com/D261512 +--- + python/mozbuild/mozbuild/frontend/reader.py | 14 +++++++------- + python/mozbuild/mozbuild/vendor/rewrite_mozbuild.py | 6 ++---- + 2 files changed, 9 insertions(+), 11 deletions(-) + +diff --git a/python/mozbuild/mozbuild/frontend/reader.py b/python/mozbuild/mozbuild/frontend/reader.py +index 9f6292c..89bf999 100644 +--- a/python/mozbuild/mozbuild/frontend/reader.py ++++ b/python/mozbuild/mozbuild/frontend/reader.py +@@ -470,7 +470,7 @@ class TemplateFunction: + return c( + ast.Subscript( + value=c(ast.Name(id=self._global_name, ctx=ast.Load())), +- slice=c(ast.Index(value=c(ast.Str(s=node.id)))), ++ slice=c(ast.Index(value=c(ast.Constant(value=node.id)))), + ctx=node.ctx, + ) + ) +@@ -1039,8 +1039,8 @@ class BuildReader: + else: + # Others + assert isinstance(target.slice, ast.Index) +- assert isinstance(target.slice.value, ast.Str) +- key = target.slice.value.s ++ assert isinstance(target.slice.value, ast.Constant) ++ key = target.slice.value.value + elif isinstance(target, ast.Attribute): + assert isinstance(target.attr, str) + key = target.attr +@@ -1051,11 +1051,11 @@ class BuildReader: + value = node.value + if isinstance(value, ast.List): + for v in value.elts: +- assert isinstance(v, ast.Str) +- yield v.s ++ assert isinstance(v, ast.Constant) ++ yield v.value + else: +- assert isinstance(value, ast.Str) +- yield value.s ++ assert isinstance(value, ast.Constant) ++ yield value.value + + assignments = [] + +diff --git a/python/mozbuild/mozbuild/vendor/rewrite_mozbuild.py b/python/mozbuild/mozbuild/vendor/rewrite_mozbuild.py +index cfcc0f1..de06b58 100644 +--- a/python/mozbuild/mozbuild/vendor/rewrite_mozbuild.py ++++ b/python/mozbuild/mozbuild/vendor/rewrite_mozbuild.py +@@ -327,15 +327,13 @@ def assignment_node_to_source_filename_list(code, node): + """ + if isinstance(node.value, ast.List) and "elts" in node.value._fields: + for f in node.value.elts: +- if not isinstance(f, ast.Constant) and not isinstance(f, ast.Str): ++ if not isinstance(f, ast.Constant): + log( + "Found non-constant source file name in list: ", + ast_get_source_segment(code, f), + ) + return [] +- return [ +- f.value if isinstance(f, ast.Constant) else f.s for f in node.value.elts +- ] ++ return [f.value for f in node.value.elts] + elif isinstance(node.value, ast.ListComp): + # SOURCES += [f for f in foo if blah] + log("Could not find the files for " + ast_get_source_segment(code, node.value)) diff -Nru thunderbird-140.12.0esr/debian/patches/fixes/Bug-1983713-Use-non-deprecated-ast-value.-r-firefox-build.patch thunderbird-140.13.0esr/debian/patches/fixes/Bug-1983713-Use-non-deprecated-ast-value.-r-firefox-build.patch --- thunderbird-140.12.0esr/debian/patches/fixes/Bug-1983713-Use-non-deprecated-ast-value.-r-firefox-build.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/fixes/Bug-1983713-Use-non-deprecated-ast-value.-r-firefox-build.patch 2026-08-05 12:51:30.000000000 +0000 @@ -0,0 +1,27 @@ +From: Mike Hommey +Date: Tue, 19 Aug 2025 05:08:34 +0000 +Subject: Bug 1983713 - Use non-deprecated ast value. + r=firefox-build-system-reviewers,nalexander,ahochheiden + +ast.Str was deprecated in python 3.12 and removed in 3.14. It inherited +from ast.Constant, `Str.s` was equivalent to `Constant.value`, so we can +use the latter on both old and newer python versions. + +Differential Revision: https://phabricator.services.mozilla.com/D261511 +--- + python/mach/mach/command_util.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/python/mach/mach/command_util.py b/python/mach/mach/command_util.py +index 44e13f1..8539bf3 100644 +--- a/python/mach/mach/command_util.py ++++ b/python/mach/mach/command_util.py +@@ -292,7 +292,7 @@ class DecoratorVisitor(ast.NodeVisitor): + kwarg_dict = {} + + for name, arg in zip(["command", "subcommand"], decorator.args): +- kwarg_dict[name] = arg.s ++ kwarg_dict[name] = arg.value + + for keyword in decorator.keywords: + if keyword.arg not in relevant_kwargs: diff -Nru thunderbird-140.12.0esr/debian/patches/fixes/Bug-1983736-Patch-jsonschema-to-work-with-Python-3.14-r-m.patch thunderbird-140.13.0esr/debian/patches/fixes/Bug-1983736-Patch-jsonschema-to-work-with-Python-3.14-r-m.patch --- thunderbird-140.12.0esr/debian/patches/fixes/Bug-1983736-Patch-jsonschema-to-work-with-Python-3.14-r-m.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/fixes/Bug-1983736-Patch-jsonschema-to-work-with-Python-3.14-r-m.patch 2026-08-05 12:51:30.000000000 +0000 @@ -0,0 +1,43 @@ +From: Jan-Erik Rediger +Date: Wed, 27 Aug 2025 01:09:58 +0000 +Subject: Bug 1983736 - Patch jsonschema to work with Python 3.14+ + r=mach-reviewers,ahal,ahochheiden + +Differential Revision: https://phabricator.services.mozilla.com/D262335 +--- + python/mozbuild/mozbuild/vendor/vendor_python.py | 4 ++++ + third_party/python/jsonschema/jsonschema/validators.py | 5 ++++- + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/python/mozbuild/mozbuild/vendor/vendor_python.py b/python/mozbuild/mozbuild/vendor/vendor_python.py +index 9acee94..2801e1b 100644 +--- a/python/mozbuild/mozbuild/vendor/vendor_python.py ++++ b/python/mozbuild/mozbuild/vendor/vendor_python.py +@@ -40,6 +40,10 @@ EXCLUDED_PACKAGES = { + # modified 'dummy' version of it so that the dependency checks still succeed, but + # if it ever is attempted to be used, it will fail gracefully. + "ansicon", ++ # jsonschema 4.17.3 is incompatible with Python 3.14+, ++ # but later versions use a dependency with Rust components, which we thus can't vendor. ++ # For now we apply the minimal patch to jsonschema to make it work again. ++ "jsonschema", + } + + +diff --git a/third_party/python/jsonschema/jsonschema/validators.py b/third_party/python/jsonschema/jsonschema/validators.py +index 66e803e..88316a8 100644 +--- a/third_party/python/jsonschema/jsonschema/validators.py ++++ b/third_party/python/jsonschema/jsonschema/validators.py +@@ -875,8 +875,11 @@ class RefResolver: + return None + uri, fragment = urldefrag(url) + for subschema in subschemas: ++ id = subschema["$id"] ++ if not isinstance(id, str): ++ continue + target_uri = self._urljoin_cache( +- self.resolution_scope, subschema["$id"], ++ self.resolution_scope, id, + ) + if target_uri.rstrip("/") == uri.rstrip("/"): + if fragment: diff -Nru thunderbird-140.12.0esr/debian/patches/fixes/Fix-conflicting-types-for-once_flag-and-call_once-with-gl.patch thunderbird-140.13.0esr/debian/patches/fixes/Fix-conflicting-types-for-once_flag-and-call_once-with-gl.patch --- thunderbird-140.12.0esr/debian/patches/fixes/Fix-conflicting-types-for-once_flag-and-call_once-with-gl.patch 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/fixes/Fix-conflicting-types-for-once_flag-and-call_once-with-gl.patch 2026-08-05 12:51:30.000000000 +0000 @@ -15,8 +15,6 @@ `include/c11/threads_posix.h` with the preprocessor flag `__once_flag_defined` to avoid conflicting with the definition in `stdlib.h`. - -Forwarded: needed --- comm/third_party/rust/glslopt/.cargo-checksum.json | 2 +- .../rust/glslopt/glsl-optimizer/include/c11/threads_posix.h | 6 ++++++ diff -Nru thunderbird-140.12.0esr/debian/patches/fixes/Fix-sandbox-to-build-with-glibc-2.43.patch thunderbird-140.13.0esr/debian/patches/fixes/Fix-sandbox-to-build-with-glibc-2.43.patch --- thunderbird-140.12.0esr/debian/patches/fixes/Fix-sandbox-to-build-with-glibc-2.43.patch 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/fixes/Fix-sandbox-to-build-with-glibc-2.43.patch 2026-08-05 12:51:30.000000000 +0000 @@ -2,7 +2,6 @@ Date: Tue, 17 Feb 2026 18:35:42 -0600 Subject: Fix sandbox to build with glibc 2.43 -Forwarded: needed --- security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h | 2 ++ 1 file changed, 2 insertions(+) diff -Nru thunderbird-140.12.0esr/debian/patches/fixes/Install-vaapitest-v4l2test-only-when-build.patch thunderbird-140.13.0esr/debian/patches/fixes/Install-vaapitest-v4l2test-only-when-build.patch --- thunderbird-140.12.0esr/debian/patches/fixes/Install-vaapitest-v4l2test-only-when-build.patch 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/fixes/Install-vaapitest-v4l2test-only-when-build.patch 2026-08-05 12:51:30.000000000 +0000 @@ -2,7 +2,6 @@ Date: Fri, 24 Nov 2023 21:57:48 +0000 Subject: Install vaapitest/v4l2test only when build -Forwarded: needed --- comm/mail/installer/package-manifest.in | 5 +++++ 1 file changed, 5 insertions(+) diff -Nru thunderbird-140.12.0esr/debian/patches/fixes/Load-dependent-libraries-with-their-real-path.patch thunderbird-140.13.0esr/debian/patches/fixes/Load-dependent-libraries-with-their-real-path.patch --- thunderbird-140.12.0esr/debian/patches/fixes/Load-dependent-libraries-with-their-real-path.patch 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/fixes/Load-dependent-libraries-with-their-real-path.patch 2026-08-05 12:51:30.000000000 +0000 @@ -7,7 +7,7 @@ 1 file changed, 3 insertions(+) diff --git a/xpcom/glue/standalone/nsXPCOMGlue.cpp b/xpcom/glue/standalone/nsXPCOMGlue.cpp -index 0bcb39e..e237abe 100644 +index 0bcb39ef..e237abe 100644 --- a/xpcom/glue/standalone/nsXPCOMGlue.cpp +++ b/xpcom/glue/standalone/nsXPCOMGlue.cpp @@ -144,6 +144,9 @@ static ReadDependentCBResult ReadDependentCB( diff -Nru thunderbird-140.12.0esr/debian/patches/fixes/enable-use-of-gpgme-greater-equal-two-dot-zero.patch thunderbird-140.13.0esr/debian/patches/fixes/enable-use-of-gpgme-greater-equal-two-dot-zero.patch --- thunderbird-140.12.0esr/debian/patches/fixes/enable-use-of-gpgme-greater-equal-two-dot-zero.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/fixes/enable-use-of-gpgme-greater-equal-two-dot-zero.patch 2026-08-05 12:51:30.000000000 +0000 @@ -0,0 +1,28 @@ +From: Andreas Stieger +Date: Wed, 19 Nov 2025 19:20:49 +0100 +Subject: enable use of gpgme >= 2.0 + +Forwarded: https://bugzilla.mozilla.org/show_bug.cgi?id=1967121 +--- + comm/mail/extensions/openpgp/content/modules/GPGMELib.sys.mjs | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/comm/mail/extensions/openpgp/content/modules/GPGMELib.sys.mjs b/comm/mail/extensions/openpgp/content/modules/GPGMELib.sys.mjs +index 4bb178b..46ef8a8 100644 +--- a/comm/mail/extensions/openpgp/content/modules/GPGMELib.sys.mjs ++++ b/comm/mail/extensions/openpgp/content/modules/GPGMELib.sys.mjs +@@ -110,6 +110,14 @@ function loadExternalGPGMELib() { + tryLoadGPGME("gpgme", ""); + } + ++ if (!libgpgme) { ++ tryLoadGPGME("gpgme", ".45"); ++ } ++ ++ if (!libgpgme) { ++ tryLoadGPGME("gpgme.45", ""); ++ } ++ + if (!libgpgme) { + tryLoadGPGME("gpgme", ".11"); + } diff -Nru thunderbird-140.12.0esr/debian/patches/prefs/Don-t-auto-disable-extensions-in-system-directories.patch thunderbird-140.13.0esr/debian/patches/prefs/Don-t-auto-disable-extensions-in-system-directories.patch --- thunderbird-140.12.0esr/debian/patches/prefs/Don-t-auto-disable-extensions-in-system-directories.patch 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/prefs/Don-t-auto-disable-extensions-in-system-directories.patch 2026-08-05 12:51:30.000000000 +0000 @@ -7,7 +7,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comm/mail/app/profile/all-thunderbird.js b/comm/mail/app/profile/all-thunderbird.js -index 7c92789..5d4e4e5 100644 +index 10de87a..f5f1d8c 100644 --- a/comm/mail/app/profile/all-thunderbird.js +++ b/comm/mail/app/profile/all-thunderbird.js @@ -222,7 +222,7 @@ pref("extensions.systemAddon.update.enabled", true); // See bug 1462160. diff -Nru thunderbird-140.12.0esr/debian/patches/prefs/Set-javascript.options.showInConsole.patch thunderbird-140.13.0esr/debian/patches/prefs/Set-javascript.options.showInConsole.patch --- thunderbird-140.12.0esr/debian/patches/prefs/Set-javascript.options.showInConsole.patch 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/prefs/Set-javascript.options.showInConsole.patch 2026-08-05 12:51:30.000000000 +0000 @@ -7,10 +7,10 @@ 1 file changed, 9 insertions(+) diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js -index c175e77..df841e6 100644 +index 38c98b7..f5f47a5 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js -@@ -894,11 +894,20 @@ pref("javascript.options.asyncstack_capture_debuggee_only", true); +@@ -912,11 +912,20 @@ pref("javascript.options.asyncstack_capture_debuggee_only", true); // memory, but makes things like Function.prototype.toSource() // fail. pref("javascript.options.discardSystemSource", false); diff -Nru thunderbird-140.12.0esr/debian/patches/series thunderbird-140.13.0esr/debian/patches/series --- thunderbird-140.12.0esr/debian/patches/series 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/patches/series 2026-08-05 12:51:30.000000000 +0000 @@ -24,3 +24,6 @@ fixes/Add-missing-.gitmodules-files-which-are-needed-to-build-t.patch fixes/Fix-conflicting-types-for-once_flag-and-call_once-with-gl.patch fixes/Fix-sandbox-to-build-with-glibc-2.43.patch +fixes/Bug-1969769-Change-uses-of-ast.Str-with-ast.Constant.-r-f.patch +fixes/Bug-1983713-Use-non-deprecated-ast-value.-r-firefox-build.patch +fixes/Bug-1983736-Patch-jsonschema-to-work-with-Python-3.14-r-m.patch diff -Nru thunderbird-140.12.0esr/debian/rules thunderbird-140.13.0esr/debian/rules --- thunderbird-140.12.0esr/debian/rules 2026-06-17 08:49:05.000000000 +0000 +++ thunderbird-140.13.0esr/debian/rules 2026-08-05 12:51:30.000000000 +0000 @@ -138,6 +138,9 @@ echo 'ac_add_options --prefix=$(CURDIR)/debian/tmp/usr' >> mozconfig.default # create empty but missed (and needed) gitmodules files touch $(CURDIR)/comm/third_party/rust/wasi/.gitmodules + # Rename the folder third_party/python/typing_extensions so it is not + # visible to the internal tool chain. + mv third_party/python/typing_extensions third_party/python/typing_extensions-old # configure the various build settings for thunderbird DIST= python3 ./mach -v configure @@ -179,6 +182,9 @@ install -D -m 644 ../$(THUNDERBIRD_L10N_BUILDDIR)/langpack-$${locale}@$${MOZ_LANGPACK_ID}.xpi $(CURDIR)/debian/thunderbird-l10n-$${lowercase_locale}/usr/lib/thunderbird/extensions/langpack-$${locale}@$${MOZ_LANGPACK_ID}.xpi ;\ done dh_bash-completion + # And rename the folder back to the original name, needed if multiple + # builds in a row are done, dpkg would complain about unknown modifications. + mv third_party/python/typing_extensions-old third_party/python/typing_extensions override_dh_install-arch: dh_install diff -Nru thunderbird-140.12.0esr/devtools/server/actors/source.js thunderbird-140.13.0esr/devtools/server/actors/source.js --- thunderbird-140.12.0esr/devtools/server/actors/source.js 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/devtools/server/actors/source.js 2026-07-21 21:32:54.000000000 +0000 @@ -38,10 +38,23 @@ const windowsDrive = /^([a-zA-Z]:)/; +/** + * Resolve the potentially relative sourceURL to an absolute URL, based on the + * base URL of the current target actor owning this source. + * + * @param {string} sourceURL + * The sourceURL to resolve to an absolute URL. If the URL is already an + * absolute URL, the same value will be returned. + * @param {TargetActor} targetActor + * The target actor to use to extract the base URL. + * + * @return {string|null} The resolved source URL or null. + */ function resolveSourceURL(sourceURL, targetActor) { if (sourceURL) { let baseURL; if (targetActor.window) { + // Bug 2048537: Should use baseURI here. baseURL = targetActor.window.location?.href; } // For worker, we don't have easy access to location, @@ -49,6 +62,10 @@ if (targetActor.workerUrl) { baseURL = targetActor.workerUrl; } + + // TODO: for absolute URLs, baseURL is ignored by URL.parse. + // We could check URL.canParse(sourceURL) early and skip the baseURL + // computation in most cases. const parsedURL = URL.parse(sourceURL, baseURL); if (parsedURL) { return parsedURL.href; @@ -57,48 +74,75 @@ return null; } + +/** + * Return the source's full URL as a string, according to `//# sourceURL` pragma + * if present in the source. + * + * @param {Debugger.Source} source + * The source for which we want to get the full/display URL. + * @param {TargetActor} targetActor + * The target actor owning the thread actor responsible for this source. + * + * @returns {string|null} The full / display URL or null if it could not be + * computed + */ function getSourceURL(source, targetActor) { + let result = resolveSourceURL(source.displayURL, targetActor); + if (!result) { + result = getRealSourceURL(source, targetActor); + } + + // Avoid returning empty string and return null if no URL is found + return result || null; +} + +/** + * Return the source's full URL as a string, ignoring any `//# sourceURL` pragma + * present in the source. + * + * @param {Debugger.Source} source + * The source for which we want to get the real URL. + * @param {TargetActor} targetActor + * The target actor owning the thread actor responsible for this source. + * + * @returns {string|null} The real URL or null if it could not be computed. + */ +function getRealSourceURL(source, targetActor) { // Some eval sources have URLs, but we want to explicitly ignore those because // they are generally useless strings like "eval" or "debugger eval code". - let resourceURL = getDebuggerSourceURL(source) || ""; + let url = getDebuggerSourceURL(source) || ""; // Strip out eventual stack trace stored in Source's url. // (not clear if that still happens) - resourceURL = resourceURL.split(" -> ").pop(); + url = url.split(" -> ").pop(); // Debugger.Source.url attribute may be of the form: // "http://example.com/foo line 10 > inlineScript" // because of the following function `js::FormatIntroducedFilename`: // https://searchfox.org/mozilla-central/rev/253ae246f642fe9619597f44de3b087f94e45a2d/js/src/vm/JSScript.cpp#1816-1846 // This isn't so easy to reproduce, but browser_dbg-breakpoints-popup.js's testPausedInTwoPopups covers this - resourceURL = resourceURL.replace(/ line \d+ > .*$/, ""); + url = url.replace(/ line \d+ > .*$/, ""); - // A "//# sourceURL=" pragma should basically be treated as a source file's - // full URL, so that is what we want to use as the base if it is present. - // If this is not an absolute URL, this will mean the maps in the file - // will not have a valid base URL, but that is up to tooling that - let result = resolveSourceURL(source.displayURL, targetActor); - if (!result) { - result = resolveSourceURL(resourceURL, targetActor) || resourceURL; + let sourceURL = resolveSourceURL(url, targetActor) || url; - // In XPCShell tests, the source URL isn't actually a URL, it's a file path. - // That causes issues because "C:/folder/file.js" is parsed as a URL with - // "c:" as the URL scheme, which causes the drive letter to be unexpectedly - // lower-cased when the parsed URL is re-serialized. To avoid that, we - // detect that case and re-uppercase it again. This is a bit gross and - // ideally it seems like XPCShell tests should use file:// URLs for files, - // but alas they do not. - if ( - resourceURL && - resourceURL.match(windowsDrive) && - result.slice(0, 2) == resourceURL.slice(0, 2).toLowerCase() - ) { - result = resourceURL.slice(0, 2) + result.slice(2); - } + // In XPCShell tests, the source URL isn't actually a URL, it's a file path. + // That causes issues because "C:/folder/file.js" is parsed as a URL with + // "c:" as the URL scheme, which causes the drive letter to be unexpectedly + // lower-cased when the parsed URL is re-serialized. To avoid that, we + // detect that case and re-uppercase it again. This is a bit gross and + // ideally it seems like XPCShell tests should use file:// URLs for files, + // but alas they do not. + if ( + url && + sourceURL && + url.match(windowsDrive) && + sourceURL.slice(0, 2) == url.slice(0, 2).toLowerCase() + ) { + sourceURL = url.slice(0, 2) + sourceURL.slice(2); } - // Avoid returning empty string and return null if no URL is found - return result || null; + return sourceURL || null; } /** @@ -204,8 +248,12 @@ extensionName: this.extensionName, url: this.url, isBlackBoxed: this.sourcesManager.isBlackBoxed(this.url), + // Bug 1970319: only use the real URL for sourcemap resolution until + // requests can be handled in content. + // According to the spec (https://tc39.es/ecma426/#sec-linking-generated-code) + // sourceMapBaseURL should use the displayURL/sourceURL for inline sources. sourceMapBaseURL: getSourcemapBaseURL( - this.url, + getRealSourceURL(this._source, this.threadActor.targetActor), this.threadActor.targetActor.window ), sourceMapURL: source.sourceMapURL, diff -Nru thunderbird-140.12.0esr/docshell/base/BrowsingContext.cpp thunderbird-140.13.0esr/docshell/base/BrowsingContext.cpp --- thunderbird-140.12.0esr/docshell/base/BrowsingContext.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/docshell/base/BrowsingContext.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -3684,11 +3684,17 @@ return XRE_IsParentProcess() && !aSource && IsTop(); } -bool BrowsingContext::CanSet(FieldIndex, const uint32_t& aValue, +bool BrowsingContext::CanSet(FieldIndex, const uint64_t& aValue, ContentParent* aSource) { - // We should only be able to set this for toplevel contexts which don't have - // an ID yet. - return GetBrowserId() == 0 && IsTop() && Children().IsEmpty(); + if (XRE_IsParentProcess() && !aSource) { + return true; + } + + if (aSource && !Canonical()->IsOwnedByProcess(aSource->ChildID())) { + return false; + } + + return GetBrowserId() == 0 && Children().IsEmpty(); } bool BrowsingContext::CanSet(FieldIndex, diff -Nru thunderbird-140.12.0esr/docshell/base/BrowsingContext.h thunderbird-140.13.0esr/docshell/base/BrowsingContext.h --- thunderbird-140.12.0esr/docshell/base/BrowsingContext.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/docshell/base/BrowsingContext.h 2026-07-21 21:32:54.000000000 +0000 @@ -1269,7 +1269,7 @@ void DidSet(FieldIndex, bool aOldValue); - bool CanSet(FieldIndex, const uint32_t& aValue, + bool CanSet(FieldIndex, const uint64_t& aValue, ContentParent* aSource); bool CanSet(FieldIndex, const bool& aUseErrorPages, diff -Nru thunderbird-140.12.0esr/docshell/base/nsDocShell.cpp thunderbird-140.13.0esr/docshell/base/nsDocShell.cpp --- thunderbird-140.12.0esr/docshell/base/nsDocShell.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/docshell/base/nsDocShell.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -4326,6 +4326,8 @@ // is only exposed to system code. The triggering principal for this load // should be the system principal. loadState->SetTriggeringPrincipal(nsContentUtils::GetSystemPrincipal()); + loadState->SetPrincipalToInherit(nullptr); + loadState->SetPartitionedPrincipalToInherit(nullptr); loadState->SetOriginalURI(nullptr); loadState->SetResultPrincipalURI(nullptr); @@ -10918,7 +10920,9 @@ // it under the provided identifier. RefPtr wrapper = new ParentChannelWrapper(channel, loader); - wrapper->Register(aLoadState->GetPendingRedirectChannelRegistrarId()); + // We're in the parent process, so the redirect is owned by the parent + // process (ContentParentId 0). + wrapper->Register(aLoadState->GetPendingRedirectChannelRegistrarId(), 0); mLoadGroup->AddRequest(channel, nullptr); } else if (nsCOMPtr childChannel = diff -Nru thunderbird-140.12.0esr/docshell/base/nsDocShellLoadState.cpp thunderbird-140.13.0esr/docshell/base/nsDocShellLoadState.cpp --- thunderbird-140.12.0esr/docshell/base/nsDocShellLoadState.cpp 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/docshell/base/nsDocShellLoadState.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -145,6 +145,12 @@ "nsDocShellLoadState with invalid triggering remote type"); return; } + + if (mURI->SchemeIs("javascript") && + mTriggeringRemoteType != NOT_REMOTE_TYPE) { + aActor->FatalError("Illegal cross-process javascript: load attempt"); + return; + } } if (!mSrcdocData.IsVoid() && !mURI->SchemeIs("view-source") && diff -Nru thunderbird-140.12.0esr/dom/base/CrossShadowBoundaryRange.cpp thunderbird-140.13.0esr/dom/base/CrossShadowBoundaryRange.cpp --- thunderbird-140.12.0esr/dom/base/CrossShadowBoundaryRange.cpp 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/dom/base/CrossShadowBoundaryRange.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -28,19 +28,6 @@ const RawRangeBoundary& aEndBoundary, nsRange* aOwner); -template void CrossShadowBoundaryRange::DoSetRange( - const RangeBoundary& aStartBoundary, const RangeBoundary& aEndBoundary, - nsINode* aRootNode, nsRange* aOwner); -template void CrossShadowBoundaryRange::DoSetRange( - const RangeBoundary& aStartBoundary, const RawRangeBoundary& aEndBoundary, - nsINode* aRootNode, nsRange* aOwner); -template void CrossShadowBoundaryRange::DoSetRange( - const RawRangeBoundary& aStartBoundary, const RangeBoundary& aEndBoundary, - nsINode* aRootNode, nsRange* aOwner); -template void CrossShadowBoundaryRange::DoSetRange( - const RawRangeBoundary& aStartBoundary, - const RawRangeBoundary& aEndBoundary, nsINode* aRootNode, nsRange* aOwner); - template nsresult CrossShadowBoundaryRange::SetStartAndEnd( const RangeBoundary& aStartBoundary, const RangeBoundary& aEndBoundary); template nsresult CrossShadowBoundaryRange::SetStartAndEnd( @@ -57,8 +44,7 @@ NS_IMPL_CYCLE_COLLECTING_ADDREF(CrossShadowBoundaryRange) NS_IMPL_CYCLE_COLLECTING_RELEASE_WITH_INTERRUPTABLE_LAST_RELEASE( - CrossShadowBoundaryRange, - DoSetRange(RawRangeBoundary(), RawRangeBoundary(), nullptr, nullptr), + CrossShadowBoundaryRange, ResetToReuse(), AbstractRange::MaybeCacheToReuse(*this)) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(CrossShadowBoundaryRange) @@ -95,39 +81,29 @@ range = sCachedRanges->PopLastElement().forget(); } + // mOwner is fixed for the lifetime of the range; set it here so it is also + // re-established on the cache-reuse path, where the constructor doesn't run. + range->mOwner = aOwner; range->Init(aStartBoundary.GetContainer()); - range->DoSetRange(aStartBoundary, aEndBoundary, nullptr, aOwner); + range->DoSetRange(aStartBoundary, aEndBoundary, nullptr); return range.forget(); } -template -void CrossShadowBoundaryRange::DoSetRange( - const RangeBoundaryBase& aStartBoundary, - const RangeBoundaryBase& aEndBoundary, nsINode* aRootNode, - nsRange* aOwner) { - // aRootNode is useless to CrossShadowBoundaryRange because aStartBoundary - // and aEndBoundary could have different roots. - StaticRange::DoSetRange(aStartBoundary, aEndBoundary, nullptr); +void CrossShadowBoundaryRange::ResetToReuse() { + DoSetRange(RawRangeBoundary(), RawRangeBoundary(), nullptr); + mOwner = nullptr; +} +void CrossShadowBoundaryRange::UpdateCommonAncestor() { nsINode* startRoot = RangeUtils::ComputeRootNode(mStart.GetContainer()); nsINode* endRoot = RangeUtils::ComputeRootNode(mEnd.GetContainer()); nsINode* previousCommonAncestor = mCommonAncestor; - if (startRoot == endRoot) { - MOZ_ASSERT(!startRoot && !endRoot); - MOZ_ASSERT(!aOwner); - // This should be the case when Release() is called. - mCommonAncestor = startRoot; - mOwner = nullptr; - } else { - mCommonAncestor = - nsContentUtils::GetClosestCommonShadowIncludingInclusiveAncestor( - mStart.GetContainer(), mEnd.GetContainer()); - MOZ_ASSERT_IF(mOwner, mOwner == aOwner); - if (!mOwner) { - mOwner = aOwner; - } - } + mCommonAncestor = + startRoot == endRoot + ? startRoot + : nsContentUtils::GetClosestCommonShadowIncludingInclusiveAncestor( + mStart.GetContainer(), mEnd.GetContainer()); if (previousCommonAncestor != mCommonAncestor) { if (previousCommonAncestor) { @@ -138,6 +114,7 @@ } } } + void CrossShadowBoundaryRange::ContentWillBeRemoved(nsIContent* aChild, const BatchRemovalState*) { // It's unclear from the spec about what should the selection be after @@ -207,8 +184,8 @@ MaybeCreateNewBoundary(endContainer, mEnd); if (newStartBoundary || newEndBoundary) { - SetStartAndEnd(newStartBoundary ? newStartBoundary.ref() : mStart.AsRaw(), - newEndBoundary ? newEndBoundary.ref() : mEnd.AsRaw()); + DoSetRange(newStartBoundary ? newStartBoundary.ref() : mStart.AsRaw(), + newEndBoundary ? newEndBoundary.ref() : mEnd.AsRaw(), nullptr); } } @@ -252,8 +229,7 @@ if (newStartBoundary || newEndBoundary) { DoSetRange(newStartBoundary ? newStartBoundary.ref() : mStart.AsRaw(), - newEndBoundary ? newEndBoundary.ref() : mEnd.AsRaw(), nullptr, - mOwner); + newEndBoundary ? newEndBoundary.ref() : mEnd.AsRaw(), nullptr); } } diff -Nru thunderbird-140.12.0esr/dom/base/CrossShadowBoundaryRange.h thunderbird-140.13.0esr/dom/base/CrossShadowBoundaryRange.h --- thunderbird-140.12.0esr/dom/base/CrossShadowBoundaryRange.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/base/CrossShadowBoundaryRange.h 2026-07-21 21:32:55.000000000 +0000 @@ -46,6 +46,12 @@ nsINode* GetCommonAncestor() const { return mCommonAncestor; } + // Recomputes mCommonAncestor from the current mStart/mEnd and moves the + // mutation-observer registration to it if it changed. Called from + // StaticRange::DoSetRange after the boundaries are updated, so it runs for + // every boundary change rather than only on initial creation. + void UpdateCommonAncestor(); + // CrossShadowBoundaryRange should have a very limited usage. nsresult SetStartAndEnd(nsINode* aStartContainer, uint32_t aStartOffset, nsINode* aEndContainer, uint32_t aEndOffset) = delete; @@ -66,21 +72,7 @@ mOwner(aOwner) {} virtual ~CrossShadowBoundaryRange() = default; - /** - * DoSetRange() is called when `AbstractRange::SetStartAndEndInternal()` sets - * mStart and mEnd. - * - * @param aStartBoundary Computed start point. This must equals or be before - * aEndBoundary in the DOM tree order. - * @param aEndBoundary Computed end point. - * @param aRootNode The root node of aStartBoundary or aEndBoundary. - * It's useless to CrossShadowBoundaryRange. - * @param aOwner The nsRange that owns this CrossShadowBoundaryRange. - */ - template - void DoSetRange(const RangeBoundaryBase& aStartBoundary, - const RangeBoundaryBase& aEndBoundary, - nsINode* aRootNode, nsRange* aOwner); + void ResetToReuse(); // This is either NULL if this CrossShadowBoundaryRange has been // reset by Release() or the closest common shadow-including ancestor @@ -95,6 +87,12 @@ // CrossShadowBoundaryRange, so it's safe to use raw pointer here. nsRange* mOwner; }; + +inline CrossShadowBoundaryRange* StaticRange::AsCrossShadowBoundaryRange() { + MOZ_ASSERT(IsCrossShadowBoundaryRange()); + return static_cast(this); +} + } // namespace dom } // namespace mozilla diff -Nru thunderbird-140.12.0esr/dom/base/StaticRange.cpp thunderbird-140.13.0esr/dom/base/StaticRange.cpp --- thunderbird-140.12.0esr/dom/base/StaticRange.cpp 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/dom/base/StaticRange.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -5,6 +5,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "mozilla/dom/StaticRange.h" + +#include "mozilla/dom/CrossShadowBoundaryRange.h" #include "mozilla/dom/StaticRangeBinding.h" #include "nsContentUtils.h" #include "nsINode.h" @@ -132,6 +134,13 @@ mAreStartAndEndInSameTree = RangeUtils::ComputeRootNode(mStart.GetContainer()) == RangeUtils::ComputeRootNode(mEnd.GetContainer()); + + // CrossShadowBoundaryRange must keep its mutation observer registered on the + // common ancestor of the current boundaries. This is the single point every + // boundary change funnels through, so update it here for all of them. + if (IsCrossShadowBoundaryRange()) { + AsCrossShadowBoundaryRange()->UpdateCommonAncestor(); + } } /* static */ diff -Nru thunderbird-140.12.0esr/dom/base/StaticRange.h thunderbird-140.13.0esr/dom/base/StaticRange.h --- thunderbird-140.12.0esr/dom/base/StaticRange.h 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/dom/base/StaticRange.h 2026-07-21 21:32:55.000000000 +0000 @@ -19,6 +19,8 @@ namespace dom { +class CrossShadowBoundaryRange; + class StaticRange : public AbstractRange { public: StaticRange() = delete; @@ -71,6 +73,14 @@ */ bool IsValid() const; + // CrossShadowBoundaryRange is the only StaticRange constructed with + // RangeBoundaryIsMutationObserved::Yes, so this distinguishes it without a + // dedicated tag. + bool IsCrossShadowBoundaryRange() const { + return mIsMutationObserved == RangeBoundaryIsMutationObserved::Yes; + } + inline CrossShadowBoundaryRange* AsCrossShadowBoundaryRange(); + private: // Whether the start and end points are in the same tree. // They could be in different trees, i.e, cross shadow boundaries. diff -Nru thunderbird-140.12.0esr/dom/base/TimeoutManager.cpp thunderbird-140.13.0esr/dom/base/TimeoutManager.cpp --- thunderbird-140.12.0esr/dom/base/TimeoutManager.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/base/TimeoutManager.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -477,7 +477,8 @@ default: return -1; // no cancellation support } - } while (mTimeouts.GetTimeout(timeoutId, aReason)); + } while (mTimeouts.GetTimeout(timeoutId, aReason) || + mIdleTimeouts.GetTimeout(timeoutId, aReason)); return timeoutId; } diff -Nru thunderbird-140.12.0esr/dom/base/nsContentUtils.h thunderbird-140.13.0esr/dom/base/nsContentUtils.h --- thunderbird-140.12.0esr/dom/base/nsContentUtils.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/base/nsContentUtils.h 2026-07-21 21:32:54.000000000 +0000 @@ -3335,6 +3335,10 @@ */ static uint64_t GenerateProcessSpecificId(uint64_t aId); + /** + * Split an id generated by GenerateProcessSpecificId back into the process id + * and the serial number it was composed from, returned in that order. + */ static std::tuple SplitProcessSpecificId(uint64_t aId); /** diff -Nru thunderbird-140.12.0esr/dom/base/nsINode.cpp thunderbird-140.13.0esr/dom/base/nsINode.cpp --- thunderbird-140.12.0esr/dom/base/nsINode.cpp 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/dom/base/nsINode.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -1802,6 +1802,7 @@ static inline void AddChildAndIndexToCache(const nsINode* aParent, const nsINode* aChild, uint32_t aChildIndex) { + MOZ_ASSERT(NS_IsMainThread()); uint32_t index = CACHE_GET_INDEX(aParent); sIndexCache[index].mParent = aParent; sIndexCache[index].mChild = aChild; @@ -1811,6 +1812,8 @@ static inline void GetChildAndIndexFromCache(const nsINode* aParent, const nsINode** aChild, Maybe* aChildIndex) { + MOZ_ASSERT(NS_IsMainThread()); + uint32_t index = CACHE_GET_INDEX(aParent); if (sIndexCache[index].mParent == aParent) { *aChild = sIndexCache[index].mChild; @@ -1822,6 +1825,7 @@ } static inline void RemoveFromCache(const nsINode* aParent) { + MOZ_ASSERT(NS_IsMainThread()); uint32_t index = CACHE_GET_INDEX(aParent); if (sIndexCache[index].mParent == aParent) { sIndexCache[index] = {nullptr, nullptr, UINT32_MAX}; @@ -1938,8 +1942,9 @@ MOZ_ASSERT(GetChildCount()); return Some(GetChildCount() - 1); } + const bool isMainThread = NS_IsMainThread(); - if (MaybeCachesComputedIndex()) { + if (isMainThread && MaybeCachesComputedIndex()) { const nsINode* child; Maybe maybeChildIndex; GetChildAndIndexFromCache(this, &child, &maybeChildIndex); @@ -1980,7 +1985,7 @@ while (current) { MOZ_ASSERT(current->GetParentNode() == this); if (current == aPossibleChild) { - if (MaybeCachesComputedIndex()) { + if (isMainThread && MaybeCachesComputedIndex()) { AddChildAndIndexToCache(this, current, index); } return Some(index); @@ -2013,11 +2018,6 @@ return parent->ComputeIndexOf(this); } -bool nsINode::MaybeParentCachesComputedIndex() const { - nsINode* parent = GetParentNode(); - return parent && parent->MaybeCachesComputedIndex(); -} - uint32_t nsINode::GetFlatTreeChildCount() const { return FlattenedChildIterator::GetLength(this); } diff -Nru thunderbird-140.12.0esr/dom/base/nsINode.h thunderbird-140.13.0esr/dom/base/nsINode.h --- thunderbird-140.12.0esr/dom/base/nsINode.h 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/dom/base/nsINode.h 2026-07-21 21:32:54.000000000 +0000 @@ -751,12 +751,6 @@ mozilla::Maybe ComputeIndexInParentContent() const; /** - * Return true if the parent node may cache the computed index for further - * calls. - */ - [[nodiscard]] bool MaybeParentCachesComputedIndex() const; - - /** * Get the index of a child within this content. * * @param aPossibleChild the child to get the index of. diff -Nru thunderbird-140.12.0esr/dom/base/nsTextFragment.h thunderbird-140.13.0esr/dom/base/nsTextFragment.h --- thunderbird-140.12.0esr/dom/base/nsTextFragment.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/base/nsTextFragment.h 2026-07-21 21:32:54.000000000 +0000 @@ -111,9 +111,9 @@ if (MOZ_UNLIKELY(aString.Length() > NS_MAX_TEXT_FRAGMENT_LENGTH)) { return false; } - ReleaseText(); if (aForce2b && !aUpdateBidi) { if (mozilla::StringBuffer* buffer = aString.GetStringBuffer()) { + ReleaseText(); NS_ADDREF(m2b = buffer); mState.mInHeap = true; mState.mIs2b = true; diff -Nru thunderbird-140.12.0esr/dom/bindings/ToJSValue.h thunderbird-140.13.0esr/dom/bindings/ToJSValue.h --- thunderbird-140.12.0esr/dom/bindings/ToJSValue.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/bindings/ToJSValue.h 2026-07-21 21:32:54.000000000 +0000 @@ -102,13 +102,13 @@ return true; } -// accept floating point types +// Accept floating point types. inline bool ToJSValue(JSContext* aCx, float aArgument, JS::MutableHandle aValue) { // Make sure we're called in a compartment MOZ_ASSERT(JS::CurrentGlobalOrNull(aCx)); - aValue.setNumber(aArgument); + aValue.set(JS_NumberValue(double(aArgument))); return true; } diff -Nru thunderbird-140.12.0esr/dom/cache/CacheOpParent.cpp thunderbird-140.13.0esr/dom/cache/CacheOpParent.cpp --- thunderbird-140.12.0esr/dom/cache/CacheOpParent.cpp 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/dom/cache/CacheOpParent.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -10,6 +10,7 @@ #include "mozilla/StaticPrefs_browser.h" #include "mozilla/Unused.h" #include "mozilla/dom/cache/AutoUtils.h" +#include "mozilla/dom/cache/CacheStreamControlParent.h" #include "mozilla/dom/cache/ManagerId.h" #include "mozilla/dom/cache/ReadStream.h" #include "mozilla/dom/cache/SavedTypes.h" @@ -205,9 +206,19 @@ // Option 1: One of our own ReadStreams was passed back to us with a stream // control actor. - stream = ReadStream::Create(readStream); - if (stream) { - return stream.forget(); + if (readStream.control()) { + MOZ_ASSERT(readStream.control().IsParent()); + auto actor = + static_cast(readStream.control().AsParent()); + // Make sure the stream control is coming from the same Manager/origin + MOZ_ASSERT(actor && actor->GetManager() == mManager.unsafeGetRawPtr()); + if (!actor || actor->GetManager() != mManager.unsafeGetRawPtr()) { + return nullptr; + } + stream = ReadStream::Create(readStream); + if (stream) { + return stream.forget(); + } } // Option 2: A stream was serialized using normal methods or passed diff -Nru thunderbird-140.12.0esr/dom/cache/CacheStreamControlParent.cpp thunderbird-140.13.0esr/dom/cache/CacheStreamControlParent.cpp --- thunderbird-140.12.0esr/dom/cache/CacheStreamControlParent.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/cache/CacheStreamControlParent.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -80,6 +80,11 @@ } #endif +const cache::Manager* CacheStreamControlParent::GetManager() const { + NS_ASSERT_OWNINGTHREAD(CacheStreamControlParent); + return mStreamList ? &mStreamList->GetManager() : nullptr; +} + void CacheStreamControlParent::LostIPCCleanup( SafeRefPtr aStreamList) { NS_ASSERT_OWNINGTHREAD(CacheStreamControlParent); diff -Nru thunderbird-140.12.0esr/dom/cache/CacheStreamControlParent.h thunderbird-140.13.0esr/dom/cache/CacheStreamControlParent.h --- thunderbird-140.12.0esr/dom/cache/CacheStreamControlParent.h 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/dom/cache/CacheStreamControlParent.h 2026-07-21 21:32:54.000000000 +0000 @@ -44,6 +44,8 @@ void AssertWillDelete(); + const cache::Manager* GetManager() const; + void LostIPCCleanup(SafeRefPtr aStreamList); private: diff -Nru thunderbird-140.12.0esr/dom/canvas/CanvasRenderingContext2D.cpp thunderbird-140.13.0esr/dom/canvas/CanvasRenderingContext2D.cpp --- thunderbird-140.12.0esr/dom/canvas/CanvasRenderingContext2D.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/canvas/CanvasRenderingContext2D.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -887,14 +887,12 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK(mCanvasElement) NS_IMPL_CYCLE_COLLECTION_UNLINK(mOffscreenCanvas) NS_IMPL_CYCLE_COLLECTION_UNLINK(mDocShell) - for (uint32_t i = 0; i < tmp->mStyleStack.Length(); i++) { - ImplCycleCollectionUnlink(tmp->mStyleStack[i].patternStyles[Style::STROKE]); - ImplCycleCollectionUnlink(tmp->mStyleStack[i].patternStyles[Style::FILL]); - ImplCycleCollectionUnlink( - tmp->mStyleStack[i].gradientStyles[Style::STROKE]); - ImplCycleCollectionUnlink(tmp->mStyleStack[i].gradientStyles[Style::FILL]); - if (auto* autoSVGFiltersObserver = - tmp->mStyleStack[i].autoSVGFiltersObserver.get()) { + for (ContextState& state : tmp->mStyleStack) { + ImplCycleCollectionUnlink(state.patternStyles[Style::STROKE]); + ImplCycleCollectionUnlink(state.patternStyles[Style::FILL]); + ImplCycleCollectionUnlink(state.gradientStyles[Style::STROKE]); + ImplCycleCollectionUnlink(state.gradientStyles[Style::FILL]); + if (auto* autoSVGFiltersObserver = state.autoSVGFiltersObserver.get()) { /* * XXXjwatt: I don't think this is doing anything useful. All we do under * this function is clear a raw C-style (i.e. not strong) pointer. That's @@ -905,7 +903,7 @@ */ autoSVGFiltersObserver->Detach(); } - ImplCycleCollectionUnlink(tmp->mStyleStack[i].autoSVGFiltersObserver); + ImplCycleCollectionUnlink(state.autoSVGFiltersObserver); } NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER NS_IMPL_CYCLE_COLLECTION_UNLINK_WEAK_PTR @@ -915,20 +913,16 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mCanvasElement) NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mOffscreenCanvas) NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mDocShell) - for (uint32_t i = 0; i < tmp->mStyleStack.Length(); i++) { - ImplCycleCollectionTraverse( - cb, tmp->mStyleStack[i].patternStyles[Style::STROKE], - "Stroke CanvasPattern"); - ImplCycleCollectionTraverse(cb, - tmp->mStyleStack[i].patternStyles[Style::FILL], + for (ContextState& state : tmp->mStyleStack) { + ImplCycleCollectionTraverse(cb, state.patternStyles[Style::STROKE], + "Stroke CanvasPattern"); + ImplCycleCollectionTraverse(cb, state.patternStyles[Style::FILL], "Fill CanvasPattern"); - ImplCycleCollectionTraverse( - cb, tmp->mStyleStack[i].gradientStyles[Style::STROKE], - "Stroke CanvasGradient"); - ImplCycleCollectionTraverse(cb, - tmp->mStyleStack[i].gradientStyles[Style::FILL], + ImplCycleCollectionTraverse(cb, state.gradientStyles[Style::STROKE], + "Stroke CanvasGradient"); + ImplCycleCollectionTraverse(cb, state.gradientStyles[Style::FILL], "Fill CanvasGradient"); - ImplCycleCollectionTraverse(cb, tmp->mStyleStack[i].autoSVGFiltersObserver, + ImplCycleCollectionTraverse(cb, state.autoSVGFiltersObserver, "RAII SVG Filters Observer"); } NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END @@ -1102,6 +1096,12 @@ RemoveShutdownObserver(); ResetBitmap(); + for (ContextState& state : mStyleStack) { + if (auto* obs = state.autoSVGFiltersObserver.get()) { + obs->Detach(); + } + } + sNumLivingContexts.set(sNumLivingContexts.get() - 1); if (sNumLivingContexts.get() == 0 && sErrorTarget.get()) { RefPtr target = dont_AddRef(sErrorTarget.get()); diff -Nru thunderbird-140.12.0esr/dom/canvas/ClientWebGLContext.cpp thunderbird-140.13.0esr/dom/canvas/ClientWebGLContext.cpp --- thunderbird-140.12.0esr/dom/canvas/ClientWebGLContext.cpp 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/dom/canvas/ClientWebGLContext.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -2179,30 +2179,30 @@ } case LOCAL_GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: - retval.set(JS::NumberValue(limits.maxTexUnits)); + retval.set(JS_NumberValue(limits.maxTexUnits)); return; case LOCAL_GL_MAX_TEXTURE_SIZE: - retval.set(JS::NumberValue(limits.maxTex2dSize)); + retval.set(JS_NumberValue(limits.maxTex2dSize)); return; case LOCAL_GL_MAX_CUBE_MAP_TEXTURE_SIZE: - retval.set(JS::NumberValue(limits.maxTexCubeSize)); + retval.set(JS_NumberValue(limits.maxTexCubeSize)); return; case LOCAL_GL_MAX_VERTEX_ATTRIBS: - retval.set(JS::NumberValue(limits.maxVertexAttribs)); + retval.set(JS_NumberValue(limits.maxVertexAttribs)); return; case LOCAL_GL_MAX_VIEWS_OVR: if (IsExtensionEnabled(WebGLExtensionID::OVR_multiview2)) { - retval.set(JS::NumberValue(limits.maxMultiviewLayers)); + retval.set(JS_NumberValue(limits.maxMultiviewLayers)); return; } break; case LOCAL_GL_PACK_ALIGNMENT: - retval.set(JS::NumberValue(state.mPixelPackState.alignmentInTypeElems)); + retval.set(JS_NumberValue(state.mPixelPackState.alignmentInTypeElems)); return; case LOCAL_GL_UNPACK_ALIGNMENT: - retval.set(JS::NumberValue(state.mPixelUnpackState.alignmentInTypeElems)); + retval.set(JS_NumberValue(state.mPixelUnpackState.alignmentInTypeElems)); return; case dom::WebGLRenderingContext_Binding::UNPACK_FLIP_Y_WEBGL: @@ -2212,12 +2212,12 @@ retval.set(JS::BooleanValue(state.mPixelUnpackState.premultiplyAlpha)); return; case dom::WebGLRenderingContext_Binding::UNPACK_COLORSPACE_CONVERSION_WEBGL: - retval.set(JS::NumberValue(state.mPixelUnpackState.colorspaceConversion)); + retval.set(JS_NumberValue(state.mPixelUnpackState.colorspaceConversion)); return; case dom::WEBGL_provoking_vertex_Binding::PROVOKING_VERTEX_WEBGL: if (!IsExtensionEnabled(WebGLExtensionID::WEBGL_provoking_vertex)) break; - retval.set(JS::NumberValue(UnderlyingValue(state.mProvokingVertex))); + retval.set(JS_NumberValue(UnderlyingValue(state.mProvokingVertex))); return; case LOCAL_GL_DEPTH_CLAMP: @@ -2291,7 +2291,7 @@ return; case LOCAL_GL_MAX_CLIENT_WAIT_TIMEOUT_WEBGL: - retval.set(JS::NumberValue(webgl::kMaxClientWaitSyncTimeoutNS)); + retval.set(JS_NumberValue(webgl::kMaxClientWaitSyncTimeoutNS)); return; case LOCAL_GL_PIXEL_PACK_BUFFER_BINDING: @@ -2338,46 +2338,45 @@ return; case LOCAL_GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: - retval.set( - JS::NumberValue(webgl::kMaxTransformFeedbackSeparateAttribs)); + retval.set(JS_NumberValue(webgl::kMaxTransformFeedbackSeparateAttribs)); return; case LOCAL_GL_MAX_UNIFORM_BUFFER_BINDINGS: - retval.set(JS::NumberValue(limits.maxUniformBufferBindings)); + retval.set(JS_NumberValue(limits.maxUniformBufferBindings)); return; case LOCAL_GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: - retval.set(JS::NumberValue(limits.uniformBufferOffsetAlignment)); + retval.set(JS_NumberValue(limits.uniformBufferOffsetAlignment)); return; case LOCAL_GL_MAX_3D_TEXTURE_SIZE: - retval.set(JS::NumberValue(limits.maxTex3dSize)); + retval.set(JS_NumberValue(limits.maxTex3dSize)); return; case LOCAL_GL_MAX_ARRAY_TEXTURE_LAYERS: - retval.set(JS::NumberValue(limits.maxTexArrayLayers)); + retval.set(JS_NumberValue(limits.maxTexArrayLayers)); return; case LOCAL_GL_PACK_ROW_LENGTH: - retval.set(JS::NumberValue(state.mPixelPackState.rowLength)); + retval.set(JS_NumberValue(state.mPixelPackState.rowLength)); return; case LOCAL_GL_PACK_SKIP_PIXELS: - retval.set(JS::NumberValue(state.mPixelPackState.skipPixels)); + retval.set(JS_NumberValue(state.mPixelPackState.skipPixels)); return; case LOCAL_GL_PACK_SKIP_ROWS: - retval.set(JS::NumberValue(state.mPixelPackState.skipRows)); + retval.set(JS_NumberValue(state.mPixelPackState.skipRows)); return; case LOCAL_GL_UNPACK_IMAGE_HEIGHT: - retval.set(JS::NumberValue(state.mPixelUnpackState.imageHeight)); + retval.set(JS_NumberValue(state.mPixelUnpackState.imageHeight)); return; case LOCAL_GL_UNPACK_ROW_LENGTH: - retval.set(JS::NumberValue(state.mPixelUnpackState.rowLength)); + retval.set(JS_NumberValue(state.mPixelUnpackState.rowLength)); return; case LOCAL_GL_UNPACK_SKIP_IMAGES: - retval.set(JS::NumberValue(state.mPixelUnpackState.skipImages)); + retval.set(JS_NumberValue(state.mPixelUnpackState.skipImages)); return; case LOCAL_GL_UNPACK_SKIP_PIXELS: - retval.set(JS::NumberValue(state.mPixelUnpackState.skipPixels)); + retval.set(JS_NumberValue(state.mPixelUnpackState.skipPixels)); return; case LOCAL_GL_UNPACK_SKIP_ROWS: - retval.set(JS::NumberValue(state.mPixelUnpackState.skipRows)); + retval.set(JS_NumberValue(state.mPixelUnpackState.skipRows)); return; } // switch pname } // if webgl2 @@ -2571,12 +2570,12 @@ if (readType == LOCAL_GL_HALF_FLOAT && !mIsWebGL2) { readType = LOCAL_GL_HALF_FLOAT_OES; } - retval.set(JS::NumberValue(readType)); + retval.set(JS_NumberValue(readType)); return; } default: - retval.set(JS::NumberValue(*maybe)); + retval.set(JS_NumberValue(*maybe)); return; } } @@ -2603,7 +2602,7 @@ return ret; }(); if (maybe) { - retval.set(JS::NumberValue(*maybe)); + retval.set(JS_NumberValue(*maybe)); } } @@ -2699,7 +2698,7 @@ const auto maybe = fnGet(pname); if (maybe) { - retval.set(JS::NumberValue(*maybe)); + retval.set(JS_NumberValue(*maybe)); } } @@ -2732,7 +2731,7 @@ return ret; }(); if (maybe) { - retval.set(JS::NumberValue(*maybe)); + retval.set(JS_NumberValue(*maybe)); } } @@ -2797,7 +2796,7 @@ } default: - retval.set(JS::NumberValue(*maybe)); + retval.set(JS_NumberValue(*maybe)); return; } } @@ -4141,7 +4140,7 @@ break; default: - retval.set(JS::NumberValue(*maybe)); + retval.set(JS_NumberValue(*maybe)); break; } } @@ -4948,7 +4947,7 @@ break; default: - retval.set(JS::NumberValue(*maybe)); + retval.set(JS_NumberValue(*maybe)); break; } } @@ -5381,11 +5380,11 @@ if (pname == LOCAL_GL_QUERY_COUNTER_BITS) { switch (specificTarget) { case LOCAL_GL_TIME_ELAPSED_EXT: - retval.set(JS::NumberValue(limits.queryCounterBitsTimeElapsed)); + retval.set(JS_NumberValue(limits.queryCounterBitsTimeElapsed)); return; case LOCAL_GL_TIMESTAMP_EXT: - retval.set(JS::NumberValue(limits.queryCounterBitsTimestamp)); + retval.set(JS_NumberValue(limits.queryCounterBitsTimestamp)); return; default: @@ -5454,7 +5453,7 @@ break; default: - retval.set(JS::NumberValue(*maybe)); + retval.set(JS_NumberValue(*maybe)); break; } } @@ -5570,7 +5569,7 @@ return ret; }(); if (maybe) { - retval.set(JS::NumberValue(*maybe)); + retval.set(JS_NumberValue(*maybe)); } } @@ -5628,17 +5627,17 @@ retval.set([&]() -> JS::Value { switch (pname) { case LOCAL_GL_OBJECT_TYPE: - return JS::NumberValue(LOCAL_GL_SYNC_FENCE); + return JS_NumberValue(LOCAL_GL_SYNC_FENCE); case LOCAL_GL_SYNC_CONDITION: - return JS::NumberValue(LOCAL_GL_SYNC_GPU_COMMANDS_COMPLETE); + return JS_NumberValue(LOCAL_GL_SYNC_GPU_COMMANDS_COMPLETE); case LOCAL_GL_SYNC_FLAGS: - return JS::NumberValue(0); + return JS_NumberValue(0); case LOCAL_GL_SYNC_STATUS: { const auto res = ClientWaitSync(sync, 0, 0); const auto signaled = (res == LOCAL_GL_ALREADY_SIGNALED || res == LOCAL_GL_CONDITION_SATISFIED); - return JS::NumberValue(signaled ? LOCAL_GL_SIGNALED - : LOCAL_GL_UNSIGNALED); + return JS_NumberValue(signaled ? LOCAL_GL_SIGNALED + : LOCAL_GL_UNSIGNALED); } default: EnqueueError_ArgEnum("pname", pname); @@ -6265,13 +6264,13 @@ retval.set([&]() -> JS::Value { switch (pname) { case LOCAL_GL_UNIFORM_BLOCK_BINDING: - return JS::NumberValue(prog.mUniformBlockBindings[index]); + return JS_NumberValue(prog.mUniformBlockBindings[index]); case LOCAL_GL_UNIFORM_BLOCK_DATA_SIZE: - return JS::NumberValue(block.dataSize); + return JS_NumberValue(block.dataSize); case LOCAL_GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS: - return JS::NumberValue(block.activeUniformIndices.size()); + return JS_NumberValue(block.activeUniformIndices.size()); case LOCAL_GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: { const auto& indices = block.activeUniformIndices; @@ -6319,27 +6318,27 @@ JS::Rooted value(cx); switch (pname) { case LOCAL_GL_UNIFORM_TYPE: - value = JS::NumberValue(uniform.elemType); + value = JS_NumberValue(uniform.elemType); break; case LOCAL_GL_UNIFORM_SIZE: - value = JS::NumberValue(uniform.elemCount); + value = JS_NumberValue(uniform.elemCount); break; case LOCAL_GL_UNIFORM_BLOCK_INDEX: - value = JS::NumberValue(uniform.block_index); + value = JS_NumberValue(uniform.block_index); break; case LOCAL_GL_UNIFORM_OFFSET: - value = JS::NumberValue(uniform.block_offset); + value = JS_NumberValue(uniform.block_offset); break; case LOCAL_GL_UNIFORM_ARRAY_STRIDE: - value = JS::NumberValue(uniform.block_arrayStride); + value = JS_NumberValue(uniform.block_arrayStride); break; case LOCAL_GL_UNIFORM_MATRIX_STRIDE: - value = JS::NumberValue(uniform.block_matrixStride); + value = JS_NumberValue(uniform.block_matrixStride); break; case LOCAL_GL_UNIFORM_IS_ROW_MAJOR: @@ -6617,7 +6616,7 @@ shaders += 1; } } - return JS::NumberValue(shaders); + return JS_NumberValue(shaders); } default: break; @@ -6630,22 +6629,22 @@ return JS::BooleanValue(res.success); case LOCAL_GL_ACTIVE_ATTRIBUTES: - return JS::NumberValue(res.active.activeAttribs.size()); + return JS_NumberValue(res.active.activeAttribs.size()); case LOCAL_GL_ACTIVE_UNIFORMS: - return JS::NumberValue(res.active.activeUniforms.size()); + return JS_NumberValue(res.active.activeUniforms.size()); case LOCAL_GL_TRANSFORM_FEEDBACK_BUFFER_MODE: if (!mIsWebGL2) break; - return JS::NumberValue(res.tfBufferMode); + return JS_NumberValue(res.tfBufferMode); case LOCAL_GL_TRANSFORM_FEEDBACK_VARYINGS: if (!mIsWebGL2) break; - return JS::NumberValue(res.active.activeTfVaryings.size()); + return JS_NumberValue(res.active.activeTfVaryings.size()); case LOCAL_GL_ACTIVE_UNIFORM_BLOCKS: if (!mIsWebGL2) break; - return JS::NumberValue(res.active.activeUniformBlocks.size()); + return JS_NumberValue(res.active.activeUniformBlocks.size()); default: break; @@ -6689,7 +6688,7 @@ retval.set([&]() -> JS::Value { switch (pname) { case LOCAL_GL_SHADER_TYPE: - return JS::NumberValue(shader.mType); + return JS_NumberValue(shader.mType); case LOCAL_GL_DELETE_STATUS: // "Is flagged for deletion?" return JS::BooleanValue(!shader.mKeepAlive); diff -Nru thunderbird-140.12.0esr/dom/canvas/DrawTargetWebgl.cpp thunderbird-140.13.0esr/dom/canvas/DrawTargetWebgl.cpp --- thunderbird-140.12.0esr/dom/canvas/DrawTargetWebgl.cpp 2026-06-13 03:47:55.000000000 +0000 +++ thunderbird-140.13.0esr/dom/canvas/DrawTargetWebgl.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -214,6 +214,10 @@ SharedContextWebgl::SharedContextWebgl() = default; SharedContextWebgl::~SharedContextWebgl() { + // Detach weak references first so that no cleanup below can promote a + // WeakPtr to this object while it is being destroyed, which would AddRef + // an object with a zero refcount and recursively delete it on Release. + DetachWeakPtr(); // Detect context loss before deletion. if (mWebgl) { ExitTlsScope(); @@ -454,17 +458,22 @@ return false; } - auto handle = mozilla::ipc::shared_memory::Create(shmemSize); + // The handle must be frozen to prevent resizing or writing to the buffer + // backing our local Skia DrawTarget. + auto handle = mozilla::ipc::shared_memory::CreateFreezable(shmemSize); if (NS_WARN_IF(!handle)) { return false; } - auto mapping = handle.Map(); + auto mapping = std::move(handle).Map(); if (NS_WARN_IF(!mapping)) { return false; } - mShmemHandle = std::move(handle).ToReadOnly(); - mShmem = std::move(mapping); + std::tie(mShmemHandle, mShmem) = + std::move(mapping).FreezeWithMutableMapping(); + if (NS_WARN_IF(!mShmemHandle) || NS_WARN_IF(!mShmem)) { + return false; + } mSkia = new DrawTargetSkia; auto stride = layers::ImageDataSerializer::ComputeRGBStride( @@ -1349,7 +1358,12 @@ mPathVertexOffset = sizeof(kRectVertexData); size_t newCapacity = mPathVertexBuffer->ByteLength(); - AddUntrackedTextureMemory(newCapacity); + if (newCapacity > 0) { + AddUntrackedTextureMemory(newCapacity); + } else { + mPathVertexCapacity = 0; + mPathVertexOffset = 0; + } if (mWGROutputBuffer && (!mPathVertexCapacity || newCapacity != oldCapacity)) { @@ -4849,13 +4863,19 @@ } else { // If there's no existing snapshot and we can successfully map the Skia // target for reading, then try to read into that. + bool readInto = false; if (!mSnapshot && mSkia->LockBits(&data, &size, &stride, &format)) { - (void)ReadInto(data, stride); + if (size == GetSize()) { + readInto = ReadInto(data, stride); + } mSkia->ReleaseBits(data); - } else if (RefPtr snapshot = Snapshot()) { - // Otherwise, fall back to getting a snapshot from WebGL if available - // and then copying that to Skia. - mSkia->CopySurface(snapshot, GetRect(), IntPoint(0, 0)); + } + if (!readInto) { + if (RefPtr snapshot = Snapshot()) { + // Otherwise, fall back to getting a snapshot from WebGL if available + // and then copying that to Skia. + mSkia->CopySurface(snapshot, GetRect(), IntPoint(0, 0)); + } } didReadback = true; } @@ -4993,7 +5013,10 @@ } void SharedContextWebgl::CachePrefs() { - uint32_t capacity = StaticPrefs::gfx_canvas_accelerated_gpu_path_size() << 20; + uint32_t capacity = + std::min(StaticPrefs::gfx_canvas_accelerated_gpu_path_size(), + uint32_t(INT32_MAX) >> 20) + << 20; if (capacity != mPathVertexCapacity) { mPathVertexCapacity = capacity; if (mPathCache) { diff -Nru thunderbird-140.12.0esr/dom/canvas/WebGLProgram.cpp thunderbird-140.13.0esr/dom/canvas/WebGLProgram.cpp --- thunderbird-140.12.0esr/dom/canvas/WebGLProgram.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/canvas/WebGLProgram.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -897,6 +897,7 @@ // (Work around for bug seen on nVidia drivers.) std::vector scopedMappedTFVaryings; + bool allowLink = true; if (mContext->IsWebGL2()) { mVertShader->MapTransformFeedbackVaryings( mNextLink_TransformFeedbackVaryings, &scopedMappedTFVaryings); @@ -907,19 +908,29 @@ driverVaryings.push_back(cur.c_str()); } + // If the driver rejects the varyings (e.g. reserved gl_* names), the + // program object keeps the previous link's pending transform-feedback + // state. Instead, avoid trying to link with the stale state. + gl::GLContext::LocalErrorScope errorScope(*mContext->gl); mContext->gl->fTransformFeedbackVaryings( mGLName, driverVaryings.size(), driverVaryings.data(), mNextLink_TransformFeedbackBufferMode); + if (errorScope.GetError()) { + allowLink = false; + mLinkLog = "Driver rejected the requested transform feedback varyings."; + } } - LinkAndUpdate(); + if (allowLink) { + LinkAndUpdate(); - if (mMostRecentLinkInfo) { - std::string postLinkLog; - if (ValidateAfterTentativeLink(&postLinkLog)) return; + if (mMostRecentLinkInfo) { + std::string postLinkLog; + if (ValidateAfterTentativeLink(&postLinkLog)) return; - mMostRecentLinkInfo = nullptr; - mLinkLog = std::move(postLinkLog); + mMostRecentLinkInfo = nullptr; + mLinkLog = std::move(postLinkLog); + } } // Failed link. @@ -1062,8 +1073,14 @@ // Forbid too many components for specified buffer mode const auto& activeTfVaryings = linkInfo->active.activeTfVaryings; - MOZ_ASSERT(mNextLink_TransformFeedbackVaryings.size() == - activeTfVaryings.size()); + // The driver reported different varyings than requested, which might occur + // if there was somehow stale or invalid transform-feedback state. + if (mNextLink_TransformFeedbackVaryings.size() != activeTfVaryings.size()) { + *out_linkLog = + "Mismatch between requested and driver-reported active transform" + " feedback varyings."; + return false; + } if (!activeTfVaryings.empty()) { GLuint maxComponentsPerIndex = 0; switch (linkInfo->transformFeedbackBufferMode) { @@ -1193,6 +1210,10 @@ GLuint maxAttribs = 0; gl->GetUIntegerv(LOCAL_GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, &maxAttribs); + // While we report the conservative constant limit, the driver might + // support less. Try to catch that here early rather than at link. + maxAttribs = std::min( + maxAttribs, GLuint(webgl::kMaxTransformFeedbackSeparateAttribs)); if (varyings.size() > maxAttribs) { mContext->ErrorInvalidValue("Length of `varyings` exceeds %s.", "TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"); diff -Nru thunderbird-140.12.0esr/dom/canvas/nsICanvasRenderingContextInternal.cpp thunderbird-140.13.0esr/dom/canvas/nsICanvasRenderingContextInternal.cpp --- thunderbird-140.12.0esr/dom/canvas/nsICanvasRenderingContextInternal.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/canvas/nsICanvasRenderingContextInternal.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -32,6 +32,9 @@ nsIGlobalObject* nsICanvasRenderingContextInternal::GetParentObject() const { if (mCanvasElement) { + if (auto* original = mCanvasElement->GetOriginalCanvas()) { + return original->OwnerDoc()->GetScopeObject(); + } return mCanvasElement->OwnerDoc()->GetScopeObject(); } if (mOffscreenCanvas) { diff -Nru thunderbird-140.12.0esr/dom/cookiestore/CookieStoreParent.cpp thunderbird-140.13.0esr/dom/cookiestore/CookieStoreParent.cpp --- thunderbird-140.12.0esr/dom/cookiestore/CookieStoreParent.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/cookiestore/CookieStoreParent.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -9,7 +9,9 @@ #include "CookieStoreSubscriptionService.h" #include "mozilla/Maybe.h" +#include "mozilla/dom/ProcessIsolation.h" #include "mozilla/ipc/BackgroundParent.h" +#include "mozilla/ipc/BackgroundUtils.h" #include "mozilla/net/Cookie.h" #include "mozilla/net/CookieParser.h" #include "mozilla/Components.h" @@ -181,6 +183,19 @@ GetSubscriptionsRequestResolver&& aResolver) { AssertIsOnBackgroundThread(); + auto principalOrErr = PrincipalInfoToPrincipal(aPrincipalInfo); + if (principalOrErr.isErr()) { + return IPC_FAIL(this, "invalid PrincipalInfo"); + } + nsCOMPtr principal = principalOrErr.unwrap(); + + RefPtr parent = + BackgroundParent::GetContentParentHandle(Manager()); + if (parent && !ValidatePrincipalCouldPotentiallyBeLoadedBy( + principal, parent->GetRemoteType(), {})) { + return IPC_FAIL(this, "principal not allowed for remote type"); + } + InvokeAsync(GetMainThreadSerialEventTarget(), __func__, [self = RefPtr(this), aPrincipalInfo, aScopeURL]() { CookieStoreSubscriptionService* service = @@ -218,6 +233,19 @@ bool aSubscription, SubscribeOrUnsubscribeRequestResolver&& aResolver) { AssertIsOnBackgroundThread(); + auto principalOrErr = PrincipalInfoToPrincipal(aPrincipalInfo); + if (principalOrErr.isErr()) { + return IPC_FAIL(this, "invalid PrincipalInfo"); + } + nsCOMPtr principal = principalOrErr.unwrap(); + + RefPtr parent = + BackgroundParent::GetContentParentHandle(Manager()); + if (parent && !ValidatePrincipalCouldPotentiallyBeLoadedBy( + principal, parent->GetRemoteType(), {})) { + return IPC_FAIL(this, "principal not allowed for remote type"); + } + InvokeAsync(GetMainThreadSerialEventTarget(), __func__, [self = RefPtr(this), aPrincipalInfo, aScopeURL, aSubscriptions, aSubscription]() { diff -Nru thunderbird-140.12.0esr/dom/events/IMEStateManager.cpp thunderbird-140.13.0esr/dom/events/IMEStateManager.cpp --- thunderbird-140.12.0esr/dom/events/IMEStateManager.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/events/IMEStateManager.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -147,11 +147,12 @@ // static void IMEStateManager::OnFocusMovedBetweenBrowsers(BrowserParent* aBlur, BrowserParent* aFocus) { - MOZ_ASSERT(aBlur != aFocus); + RefPtr blur(aBlur); + MOZ_ASSERT(blur != aFocus); MOZ_ASSERT(XRE_IsParentProcess()); if (sPendingFocusedBrowserSwitchingData.isSome()) { - MOZ_ASSERT(aBlur == + MOZ_ASSERT(blur == sPendingFocusedBrowserSwitchingData.ref().mBrowserParentFocused); // If focus is not changed between browsers actually, we need to do // nothing here. Let's cancel handling what this method does. @@ -163,9 +164,9 @@ "moves between browsers")); return; } - aBlur = sPendingFocusedBrowserSwitchingData.ref().mBrowserParentBlurred; + blur = sPendingFocusedBrowserSwitchingData.ref().mBrowserParentBlurred; sPendingFocusedBrowserSwitchingData.ref().mBrowserParentFocused = aFocus; - MOZ_ASSERT(aBlur != aFocus); + MOZ_ASSERT(blur != aFocus); } // If application was inactive, but is now activated, and the last focused @@ -175,11 +176,11 @@ // composition shouldn't be commited now. Therefore, we should put off to // handle this until getting another call of this method or a call of //`OnFocusChangeInternal()`. - if (aBlur && !aFocus && !sIsActive && sTextInputHandlingWidget && + if (blur && !aFocus && !sIsActive && sTextInputHandlingWidget && sTextCompositions && sTextCompositions->GetCompositionFor(sTextInputHandlingWidget)) { if (sPendingFocusedBrowserSwitchingData.isNothing()) { - sPendingFocusedBrowserSwitchingData.emplace(aBlur, aFocus); + sPendingFocusedBrowserSwitchingData.emplace(blur, aFocus); } MOZ_LOG(sISMLog, LogLevel::Debug, (" OnFocusMovedBetweenBrowsers(), put off to handle it until " @@ -212,12 +213,12 @@ // The manager check is to avoid telling the content process to stop // IME state management after focus has already moved there between // two same-process-hosted out-of-process iframes. - if (aBlur && (!aFocus || (aBlur->Manager() != aFocus->Manager()))) { + if (blur && (!aFocus || (blur->Manager() != aFocus->Manager()))) { MOZ_LOG(sISMLog, LogLevel::Debug, (" OnFocusMovedBetweenBrowsers(), notifying previous " "focused child process of parent process or another child process " "getting focus")); - aBlur->StopIMEStateManagement(); + blur->StopIMEStateManagement(); } if (sActiveIMEContentObserver) { @@ -227,10 +228,10 @@ if (sFocusedIMEWidget) { // sFocusedIMEBrowserParent can be null, if IME focus hasn't been // taken before BrowserParent blur. - // aBlur can be null when keyboard focus moves not actually + // `blur` can be null when keyboard focus moves not actually // between tabs but an open menu is involved. - MOZ_ASSERT(!sFocusedIMEBrowserParent || !aBlur || - (sFocusedIMEBrowserParent == aBlur)); + MOZ_ASSERT(!sFocusedIMEBrowserParent || !blur || + (sFocusedIMEBrowserParent == blur)); MOZ_LOG(sISMLog, LogLevel::Debug, (" OnFocusMovedBetweenBrowsers(), notifying IME of blur")); NotifyIME(NOTIFY_IME_OF_BLUR, sFocusedIMEWidget, sFocusedIMEBrowserParent); diff -Nru thunderbird-140.12.0esr/dom/events/TextComposition.h thunderbird-140.13.0esr/dom/events/TextComposition.h --- thunderbird-140.12.0esr/dom/events/TextComposition.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/events/TextComposition.h 2026-07-21 21:32:55.000000000 +0000 @@ -157,28 +157,68 @@ RawRangeBoundary LastIMESelectionEndRef() const; /** - * The offset of composition string in the text node. If composition string - * hasn't been inserted in any text node yet, this returns UINT32_MAX. + * The offset of composition string in the `Text` node. If composition string + * hasn't been inserted in any `Text` yet, this returns UINT32_MAX. If the + * `Text` is split by the app and the offset is larger than the node, this + * clamps the offset into the data length. */ - uint32_t XPOffsetInTextNode() const { + [[nodiscard]] uint32_t ClampedStartOffsetInTextNode() const { + return std::min(mCompositionStartOffsetInTextNode, + mContainerTextNode->TextDataLength()); + } + + /** + * The length of composition string in the `Text` node. If composition string + * hasn't been inserted in any `Text` yet, this returns 0. If the `Text` is + * split by the app and the end offset is greater than the end offset of + * the data, this clamps the length into the data length. + */ + [[nodiscard]] uint32_t ClampedLengthInTextNode() const { + return mCompositionLengthInTextNode == UINT32_MAX + ? 0 + : ClampedEndOffsetInTextNode() - ClampedStartOffsetInTextNode(); + } + + /** + * The end offset of composition string in the `Text` node. If composition + * string hasn't been inserted in any `Text` yet, this returns UINT32_MAX. If + * the `Text` is split by the app and the end offset is greater than the + * end offset of the data, this clamps the end offset into the data length. + */ + [[nodiscard]] uint32_t ClampedEndOffsetInTextNode() const { + if (mCompositionStartOffsetInTextNode == UINT32_MAX || + mCompositionLengthInTextNode == UINT32_MAX) { + return UINT32_MAX; + } + return static_cast( + std::min(static_cast(mCompositionLengthInTextNode) + + ClampedStartOffsetInTextNode(), + mContainerTextNode->TextDataLength())); + } + + /** + * The original start offset of the composition in the `Text` even if `Text` + * is split by the app. + */ + [[nodiscard]] uint32_t StartOffsetMaybeInFollowingTextNode() const { return mCompositionStartOffsetInTextNode; } /** - * The length of composition string in the text node. If composition string - * hasn't been inserted in any text node yet, this returns 0. + * The original length of the composition in the `Text` even if `Text` is + * split by the app. */ - uint32_t XPLengthInTextNode() const { + [[nodiscard]] uint32_t LengthMaybeInFollowingTextNode() const { return mCompositionLengthInTextNode == UINT32_MAX ? 0 : mCompositionLengthInTextNode; } /** - * The end offset of composition string in the text node. If composition - * string hasn't been inserted in any text node yet, this returns UINT32_MAX. + * The original end offset of the composition in the `Text` even if `Text` is + * split by the app. */ - uint32_t XPEndOffsetInTextNode() const { + [[nodiscard]] uint32_t EndOffsetMaybeInFollowingTextNode() const { if (mCompositionStartOffsetInTextNode == UINT32_MAX || mCompositionLengthInTextNode == UINT32_MAX) { return UINT32_MAX; diff -Nru thunderbird-140.12.0esr/dom/fetch/Fetch.cpp thunderbird-140.13.0esr/dom/fetch/Fetch.cpp --- thunderbird-140.12.0esr/dom/fetch/Fetch.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/fetch/Fetch.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -1708,6 +1708,26 @@ ErrorResult& aRv); template +void FetchBody::MaybeRebindReadableStreamBody() { + if (!mReadableStreamBody) { + return; + } + + // Only native streams hold an nsIInputStream that clone() may have replaced; + // SetInputStreamIfUnread() is a no-op for JS-backed streams. clone() rejects + // used bodies, so the stream is guaranteed to be non-disturbed here. + nsCOMPtr currentBody; + DerivedClass()->GetBody(getter_AddRefs(currentBody)); + if (currentBody) { + mReadableStreamBody->SetInputStreamIfUnread(currentBody); + } +} + +template void FetchBody::MaybeRebindReadableStreamBody(); + +template void FetchBody::MaybeRebindReadableStreamBody(); + +template void FetchBody::RunAbortAlgorithm() { if (!mReadableStreamBody) { return; diff -Nru thunderbird-140.12.0esr/dom/fetch/Fetch.h thunderbird-140.13.0esr/dom/fetch/Fetch.h --- thunderbird-140.12.0esr/dom/fetch/Fetch.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/fetch/Fetch.h 2026-07-21 21:32:54.000000000 +0000 @@ -192,6 +192,14 @@ nsIInputStream** aInputStream, ErrorResult& aRv); + // After clone() clones the underlying nsIInputStream, an unread native + // ReadableStream reflector may still point at the original stream, which + // clone() can have replaced (for non-cloneable bodies it is now consumed by + // the cloning copy). Repoint such a reflector at the current body stream so + // the original stream is not read from two places. No-op when there is no + // reflector or it is not a native unread stream. + void MaybeRebindReadableStreamBody(); + // Utility public methods accessed by various runnables. // This method _must_ be called in order to set the body as used. If the body diff -Nru thunderbird-140.12.0esr/dom/fetch/Request.cpp thunderbird-140.13.0esr/dom/fetch/Request.cpp --- thunderbird-140.12.0esr/dom/fetch/Request.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/fetch/Request.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -497,6 +497,12 @@ return nullptr; } + // InternalRequest::Clone() may have replaced our underlying input stream (a + // non-cloneable body is now consumed by the cloning copy). If an unread + // native ReadableStream still reflects this request's body, repoint it at the + // current stream so the original is not read from two places. + MaybeRebindReadableStreamBody(); + return MakeSafeRefPtr(mOwner, std::move(ir), GetOrCreateSignal()); } diff -Nru thunderbird-140.12.0esr/dom/fetch/Response.cpp thunderbird-140.13.0esr/dom/fetch/Response.cpp --- thunderbird-140.12.0esr/dom/fetch/Response.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/fetch/Response.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -400,6 +400,12 @@ response->SetReadableStreamBody(aCx, body); response->mFetchStreamReader = streamReader; ir->SetBody(inputStream, InternalResponse::UNKNOWN_BODY_SIZE); + } else { + // We didn't tee: an existing, unread native ReadableStream keeps reflecting + // this response's body. InternalResponse::Clone() may have replaced the + // underlying input stream (a non-cloneable body is now consumed by the + // cloning copy), so repoint the reflector at the current stream. + MaybeRebindReadableStreamBody(); } return response.forget(); diff -Nru thunderbird-140.12.0esr/dom/gamepad/GamepadPlatformService.cpp thunderbird-140.13.0esr/dom/gamepad/GamepadPlatformService.cpp --- thunderbird-140.12.0esr/dom/gamepad/GamepadPlatformService.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/gamepad/GamepadPlatformService.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -11,6 +11,7 @@ #include "mozilla/dom/GamepadTestChannelParent.h" #include "mozilla/ipc/BackgroundParent.h" #include "mozilla/Mutex.h" +#include "mozilla/StaticMutex.h" #include "mozilla/Unused.h" #include "nsCOMPtr.h" @@ -22,9 +23,12 @@ namespace { +StaticMutex gGamepadPlatformServiceMutex; + // This is the singleton instance of GamepadPlatformService, can be called // by both background and monitor thread. -StaticRefPtr gGamepadPlatformServiceSingleton; +StaticRefPtr gGamepadPlatformServiceSingleton + MOZ_GUARDED_BY(gGamepadPlatformServiceMutex); } // namespace @@ -90,6 +94,7 @@ GamepadPlatformService::GetParentService() { // GamepadPlatformService can only be accessed in parent process MOZ_ASSERT(XRE_IsParentProcess()); + StaticMutexAutoLock lock(gGamepadPlatformServiceMutex); if (!gGamepadPlatformServiceSingleton) { // Only Background Thread can create new GamepadPlatformService instance. if (IsOnBackgroundThread()) { @@ -325,11 +330,14 @@ MutexAutoLock autoLock(mMutex); isChannelParentEmpty = mChannelParents.IsEmpty(); if (isChannelParentEmpty) { - kungFuDeathGrip = gGamepadPlatformServiceSingleton; - gGamepadPlatformServiceSingleton = nullptr; mGamepadAdded.clear(); } } + if (isChannelParentEmpty) { + StaticMutexAutoLock lock(gGamepadPlatformServiceMutex); + kungFuDeathGrip = gGamepadPlatformServiceSingleton; + gGamepadPlatformServiceSingleton = nullptr; + } } void GamepadPlatformService::Cleanup() { diff -Nru thunderbird-140.12.0esr/dom/html/HTMLCanvasElement.cpp thunderbird-140.13.0esr/dom/html/HTMLCanvasElement.cpp --- thunderbird-140.12.0esr/dom/html/HTMLCanvasElement.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/html/HTMLCanvasElement.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -375,6 +375,13 @@ HTMLCanvasPrintState::~HTMLCanvasPrintState() = default; +HTMLCanvasElement* HTMLCanvasPrintState::GetParentObject() { + if (auto* original = mCanvas->GetOriginalCanvas()) { + return original; + } + return mCanvas; +} + /* virtual */ JSObject* HTMLCanvasPrintState::WrapObject(JSContext* aCx, JS::Handle aGivenProto) { diff -Nru thunderbird-140.12.0esr/dom/html/HTMLCanvasElement.h thunderbird-140.13.0esr/dom/html/HTMLCanvasElement.h --- thunderbird-140.12.0esr/dom/html/HTMLCanvasElement.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/html/HTMLCanvasElement.h 2026-07-21 21:32:55.000000000 +0000 @@ -432,7 +432,7 @@ virtual JSObject* WrapObject(JSContext* cx, JS::Handle aGivenProto) override; - HTMLCanvasElement* GetParentObject() { return mCanvas; } + HTMLCanvasElement* GetParentObject(); private: ~HTMLCanvasPrintState(); diff -Nru thunderbird-140.12.0esr/dom/html/HTMLImageElement.cpp thunderbird-140.13.0esr/dom/html/HTMLImageElement.cpp --- thunderbird-140.12.0esr/dom/html/HTMLImageElement.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/html/HTMLImageElement.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -632,14 +632,10 @@ return HTMLImageElement_Binding::Wrap(aCx, this, aGivenProto); } -#ifdef DEBUG -HTMLFormElement* HTMLImageElement::GetForm() const { return mForm; } -#endif - void HTMLImageElement::SetForm(HTMLFormElement* aForm) { MOZ_ASSERT(aForm, "Don't pass null here"); - NS_ASSERTION(!mForm, - "We don't support switching from one non-null form to another."); + MOZ_ASSERT(!mForm && !HasFlag(ADDED_TO_FORM), + "We don't support switching from one non-null form to another."); mForm = aForm; } diff -Nru thunderbird-140.12.0esr/dom/html/HTMLImageElement.h thunderbird-140.13.0esr/dom/html/HTMLImageElement.h --- thunderbird-140.12.0esr/dom/html/HTMLImageElement.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/html/HTMLImageElement.h 2026-07-21 21:32:55.000000000 +0000 @@ -202,9 +202,7 @@ SetHTMLAttr(nsGkAtoms::lowsrc, aLowsrc, aError); } -#ifdef DEBUG - HTMLFormElement* GetForm() const; -#endif + HTMLFormElement* GetForm() const { return mForm; } void SetForm(HTMLFormElement* aForm); void ClearForm(bool aRemoveFromForm); diff -Nru thunderbird-140.12.0esr/dom/html/HTMLSlotElement.cpp thunderbird-140.13.0esr/dom/html/HTMLSlotElement.cpp --- thunderbird-140.12.0esr/dom/html/HTMLSlotElement.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/html/HTMLSlotElement.cpp 2026-07-21 21:32:54.000000000 +0000 @@ -392,6 +392,9 @@ } void HTMLSlotElement::RemoveManuallyAssignedNode(nsIContent& aNode) { + if (aNode.GetManualSlotAssignment() == this) { + aNode.SetManualSlotAssignment(nullptr); + } mManuallyAssignedNodes.RemoveElement(&aNode); RemoveAssignedNode(aNode); } diff -Nru thunderbird-140.12.0esr/dom/html/nsGenericHTMLElement.cpp thunderbird-140.13.0esr/dom/html/nsGenericHTMLElement.cpp --- thunderbird-140.12.0esr/dom/html/nsGenericHTMLElement.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/html/nsGenericHTMLElement.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -2763,8 +2763,8 @@ void nsGenericHTMLFormControlElement::SetForm(HTMLFormElement* aForm) { MOZ_ASSERT(aForm, "Don't pass null here"); - NS_ASSERTION(!mForm, - "We don't support switching from one non-null form to another."); + MOZ_ASSERT(!mForm && !HasFlag(ADDED_TO_FORM), + "We don't support switching from one non-null form to another."); SetFormInternal(aForm, false); } @@ -3239,12 +3239,13 @@ return false; } - // Get the pres state for this key - PresState* state = history->GetState(mStateKey); + // Take ownership of the pres state for this key: RestoreState() can run + // script (e.g. by synchronously committing an IME composition), which may + // re-enter restoration for the same key and free a table-owned state while + // we are still using it. + UniquePtr state = history->TakeState(mStateKey); if (state) { - bool result = RestoreState(state); - history->RemoveState(mStateKey); - return result; + return RestoreState(state.get()); } return false; diff -Nru thunderbird-140.12.0esr/dom/indexedDB/Key.cpp thunderbird-140.13.0esr/dom/indexedDB/Key.cpp --- thunderbird-140.12.0esr/dom/indexedDB/Key.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/indexedDB/Key.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -17,6 +17,7 @@ #include "js/Object.h" // JS::GetBuiltinClass #include "js/PropertyAndElement.h" // JS_DefineElement, JS_GetProperty, JS_GetPropertyById, JS_HasOwnProperty, JS_HasOwnPropertyById #include "js/Value.h" +#include "jsapi.h" #include "jsfriendapi.h" #include "mozilla/Casting.h" #include "mozilla/CheckedInt.h" @@ -518,7 +519,7 @@ aVal.setObject(*date); } else if (*aPos - aTypeOffset == eFloat) { - aVal.setDouble(DecodeNumber(aPos, aEnd)); + aVal.set(JS_NumberValue(DecodeNumber(aPos, aEnd))); } else if (*aPos - aTypeOffset == eBinary) { JSObject* arrayBufferObject = DecodeBinary(aPos, aEnd, aCx); if (!arrayBufferObject) { diff -Nru thunderbird-140.12.0esr/dom/ipc/BrowserParent.cpp thunderbird-140.13.0esr/dom/ipc/BrowserParent.cpp --- thunderbird-140.12.0esr/dom/ipc/BrowserParent.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/ipc/BrowserParent.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -1383,37 +1383,26 @@ return IPC_FAIL(this, "Cannot create without valid principal"); } + nsCOMPtr docURI = aInit.documentURI(); + WindowGlobalParent* parentWgp = browsingContext->GetParentWindowContext(); + // Ensure we never load a document with a content principal in // the wrong type of webIsolated process + // NOTE: Keep this in sync with the similar check in + // DocumentLoadListener::TriggerRedirectToRealChannel. EnumSet validationOptions = {}; - nsCOMPtr docURI = aInit.documentURI(); - if (docURI->SchemeIs("blob") || docURI->SchemeIs("chrome")) { - // XXXckerschb TODO - Do not use SystemPrincipal for: - // Bug 1699385: Remove allowSystem for blobs - // Bug 1698087: chrome://devtools/content/shared/webextension-fallback.html - // chrome reftests, e.g. - // * chrome://reftest/content/writing-mode/ua-style-sheet-button-1a-ref.html - // * chrome://reftest/content/xul-document-load/test003.xhtml - // * chrome://reftest/content/forms/input/text/centering-1.xhtml - validationOptions = {ValidatePrincipalOptions::AllowSystem}; + // FIXME(bug 1699385): Remove allowSystem for blobs + // FIXME(bug 1698087): chrome://devtools/**/webextension-fallback.html + // Automation-Only: chrome://reftest/** + blank subframes + if (docURI->SchemeIs("blob") || docURI->SchemeIs("chrome") || + (xpc::IsInAutomation() && NS_IsAboutBlank(docURI) && parentWgp && + parentWgp->Manager() == this && + parentWgp->DocumentPrincipal()->IsSystemPrincipal())) { + validationOptions += ValidatePrincipalOptions::AllowSystem; } - - // Some reftests have frames inside their chrome URIs and those load - // about:blank: - if (xpc::IsInAutomation() && docURI->SchemeIs("about")) { - WindowGlobalParent* wgp = browsingContext->GetParentWindowContext(); - nsAutoCString spec; - NS_ENSURE_SUCCESS(docURI->GetSpec(spec), - IPC_FAIL(this, "Should have spec for about: URI")); - if (spec.Equals("about:blank") && wgp && - wgp->DocumentPrincipal()->IsSystemPrincipal()) { - validationOptions = {ValidatePrincipalOptions::AllowSystem}; - } - } - if (!Manager()->ValidatePrincipal(aInit.principal(), validationOptions)) { - ContentParent::LogAndAssertFailedPrincipalValidationInfo(aInit.principal(), - __func__); + return ContentParent::PrincipalValidationIpcFail(aInit.principal(), this, + __func__); } // Construct our new WindowGlobalParent, bind, and initialize it. diff -Nru thunderbird-140.12.0esr/dom/ipc/ContentChild.cpp thunderbird-140.13.0esr/dom/ipc/ContentChild.cpp --- thunderbird-140.12.0esr/dom/ipc/ContentChild.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/ipc/ContentChild.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -631,9 +631,9 @@ #ifdef _MSC_VER # pragma warning(push) -# pragma warning( \ - disable : 4722) /* Silence "destructor never returns" warning \ - */ +# pragma warning(disable \ + : 4722) /* Silence "destructor never returns" warning \ + */ #endif ContentChild::~ContentChild() { @@ -957,7 +957,6 @@ *aReturn = nullptr; nsAutoCString features(aFeatures); - nsAutoString name(aName); nsresult rv; @@ -971,92 +970,6 @@ return NS_ERROR_ABORT; } - bool useRemoteSubframes = - aChromeFlags & nsIWebBrowserChrome::CHROME_FISSION_WINDOW; - - uint32_t parentSandboxFlags = parent->SandboxFlags(); - Document* doc = parent->GetDocument(); - if (doc) { - parentSandboxFlags = doc->GetSandboxFlags(); - } - - const bool isForPrinting = aOpenWindowInfo->GetIsForPrinting(); - // Certain conditions complicate the process of creating the new - // BrowsingContext, and prevent us from using the - // "CreateWindowInDifferentProcess" codepath. - // * With Fission enabled, process selection will happen during the load, so - // switching processes eagerly will not provide a benefit. - // * Windows created for printing must be created within the current process - // so that a static clone of the source document can be created. - // * Sandboxed popups require the full window creation codepath. - // * Loads with form or POST data require the full window creation codepath. - const bool cannotLoadInDifferentProcess = - useRemoteSubframes || isForPrinting || - (parentSandboxFlags & - SANDBOX_PROPAGATES_TO_AUXILIARY_BROWSING_CONTEXTS) || - (aLoadState && - (aLoadState->IsFormSubmission() || aLoadState->PostDataStream())); - if (!cannotLoadInDifferentProcess) { - // If we're in a content process and we have noopener set, there's no reason - // to load in our process, so let's load it elsewhere! - bool loadInDifferentProcess = - aForceNoOpener && StaticPrefs::dom_noopener_newprocess_enabled(); - if (loadInDifferentProcess) { - nsCOMPtr triggeringPrincipal; - nsCOMPtr csp; - nsCOMPtr referrerInfo; - rv = GetCreateWindowParams(aOpenWindowInfo, aLoadState, aForceNoReferrer, - getter_AddRefs(referrerInfo), - getter_AddRefs(triggeringPrincipal), - getter_AddRefs(csp)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - if (name.LowerCaseEqualsLiteral("_blank")) { - name.Truncate(); - } - - MOZ_DIAGNOSTIC_ASSERT(!nsContentUtils::IsSpecialName(name)); - - const bool hasValidUserGestureActivation = [aLoadState, doc] { - if (aLoadState) { - return aLoadState->HasValidUserGestureActivation(); - } - if (doc) { - return doc->HasValidTransientUserGestureActivation(); - } - return false; - }(); - - const bool textDirectiveUserActivation = [aLoadState, doc] { - if (doc && doc->ConsumeTextDirectiveUserActivation()) { - return true; - } - if (aLoadState) { - return aLoadState->GetTextDirectiveUserActivation(); - } - return false; - }() || hasValidUserGestureActivation; - - Unused << SendCreateWindowInDifferentProcess( - aTabOpener, parent, aChromeFlags, aCalledFromJS, - aOpenWindowInfo->GetIsTopLevelCreatedByWebContent(), aURI, features, - aModifiers, name, triggeringPrincipal, csp, referrerInfo, - aOpenWindowInfo->GetOriginAttributes(), hasValidUserGestureActivation, - textDirectiveUserActivation); - - // We return NS_ERROR_ABORT, so that the caller knows that we've abandoned - // the window open as far as it is concerned. - return NS_ERROR_ABORT; - } - } - - TabId tabId(nsContentUtils::GenerateTabId()); - - // We need to assign a TabGroup to the PBrowser actor before we send it to the - // parent. Otherwise, the parent could send messages to us before we have a - // proper TabGroup for that actor. RefPtr openerBC; if (!aForceNoOpener) { openerBC = parent; @@ -1067,10 +980,11 @@ BrowsingContext::CreateDetachedOptions{ .isPopupRequested = aIsPopupRequested, .topLevelCreatedByWebContent = true, - .isForPrinting = isForPrinting, + .isForPrinting = aOpenWindowInfo->GetIsForPrinting(), }); MOZ_ALWAYS_SUCCEEDS(browsingContext->SetRemoteTabs(true)); - MOZ_ALWAYS_SUCCEEDS(browsingContext->SetRemoteSubframes(useRemoteSubframes)); + MOZ_ALWAYS_SUCCEEDS(browsingContext->SetRemoteSubframes( + aChromeFlags & nsIWebBrowserChrome::CHROME_FISSION_WINDOW)); MOZ_ALWAYS_SUCCEEDS(browsingContext->SetOriginAttributes( aOpenWindowInfo->GetOriginAttributes())); @@ -1100,6 +1014,8 @@ return NS_ERROR_ABORT; } + TabId tabId(nsContentUtils::GenerateTabId()); + auto newChild = MakeNotNull>( this, tabId, *aTabOpener, browsingContext, aChromeFlags, /* aIsTopLevel */ true); diff -Nru thunderbird-140.12.0esr/dom/ipc/ContentParent.cpp thunderbird-140.13.0esr/dom/ipc/ContentParent.cpp --- thunderbird-140.12.0esr/dom/ipc/ContentParent.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/ipc/ContentParent.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -73,6 +73,7 @@ #include "mozilla/ScriptPreloader.h" #include "mozilla/Components.h" #include "mozilla/Sprintf.h" +#include "mozilla/StaticPrefs_browser.h" #include "mozilla/StaticPrefs_dom.h" #include "mozilla/StaticPrefs_fission.h" #include "mozilla/StaticPrefs_media.h" @@ -247,6 +248,7 @@ #include "nsStyleSheetService.h" #include "nsThread.h" #include "nsThreadUtils.h" +#include "nsURLHelper.h" #include "nsWidgetsCID.h" #include "nsWindowWatcher.h" #include "prenv.h" @@ -1269,46 +1271,58 @@ return IPC_OK(); } -/*static*/ -void ContentParent::LogAndAssertFailedPrincipalValidationInfo( - nsIPrincipal* aPrincipal, const char* aMethod) { - // Send Telemetry - nsAutoCString principalScheme, principalType, spec; +static mozilla::glean::security::FissionPrincipalsExtra +GetAndLogPrincipalValidationFailure(nsIPrincipal* aPrincipal, + const char* aMethod) { mozilla::glean::security::FissionPrincipalsExtra extra = {}; + extra.value = Some(aMethod); if (!aPrincipal) { - principalType.AssignLiteral("NullPtr"); + extra.principaltype = Some("NullPtr"_ns); } else if (aPrincipal->IsSystemPrincipal()) { - principalType.AssignLiteral("SystemPrincipal"); + extra.principaltype = Some("SystemPrincipal"_ns); } else if (aPrincipal->GetIsExpandedPrincipal()) { - principalType.AssignLiteral("ExpandedPrincipal"); + extra.principaltype = Some("ExpandedPrincipal"_ns); } else if (aPrincipal->GetIsContentPrincipal()) { - principalType.AssignLiteral("ContentPrincipal"); - aPrincipal->GetSpec(spec); - aPrincipal->GetScheme(principalScheme); + extra.principaltype = Some("ContentPrincipal"_ns); - extra.scheme = Some(principalScheme); + // NOTE: Pull the scheme from the origin, rather than from our URI. + // This can be relevant in cases where the URI is unwrapped to determine the + // origin (e.g. view-source). + nsAutoCString scheme; + nsAutoCString origin; + MOZ_ALWAYS_SUCCEEDS(aPrincipal->GetOriginNoSuffix(origin)); + MOZ_ALWAYS_SUCCEEDS(net_ExtractURLScheme(origin, scheme)); + extra.scheme = Some(scheme); } else { - principalType.AssignLiteral("Unknown"); + extra.principaltype = Some("Unknown"_ns); } - extra.principaltype = Some(principalType); - extra.value = Some(aMethod); + // NOTE: This log can contain PII (the full origin) as it's local-only. + if (MOZ_LOG_TEST(ContentParent::GetLog(), LogLevel::Error)) { + nsAutoCString origin; + if (aPrincipal) { + MOZ_ALWAYS_SUCCEEDS(aPrincipal->GetOrigin(origin)); + } + MOZ_LOG(ContentParent::GetLog(), LogLevel::Error, + (" Receiving unexpected Principal (%s) within %s", origin.get(), + aMethod)); + } + + return extra; +} + +/*static*/ +void ContentParent::LogAndAssertFailedPrincipalValidationInfo( + nsIPrincipal* aPrincipal, const char* aMethod) { + auto gleanExtra = GetAndLogPrincipalValidationFailure(aPrincipal, aMethod); // Do not send telemetry when chrome-debugging is enabled bool isChromeDebuggingEnabled = Preferences::GetBool("devtools.chrome.enabled", false); if (!isChromeDebuggingEnabled) { - glean::security::fission_principals.Record(mozilla::Some(extra)); + glean::security::fission_principals.Record(mozilla::Some(gleanExtra)); } - // And log it - MOZ_LOG( - ContentParent::GetLog(), LogLevel::Error, - (" Receiving unexpected Principal (%s) within %s", - aPrincipal && aPrincipal->GetIsContentPrincipal() ? spec.get() - : principalType.get(), - aMethod)); - #ifdef DEBUG // Not only log but also ensure we do not receive an unexpected // principal when running in debug mode. @@ -1316,6 +1330,28 @@ #endif } +/*static*/ +mozilla::ipc::IPCResult ContentParent::PrincipalValidationIpcFail( + nsIPrincipal* aPrincipal, mozilla::ipc::IProtocol* aActor, + const char* aMethod) { + // Always get the telemetry extra, as we'll use it for building the crash + // report as well. + auto gleanExtra = GetAndLogPrincipalValidationFailure(aPrincipal, aMethod); + + // Do not send telemetry when chrome-debugging is enabled + bool isChromeDebuggingEnabled = + Preferences::GetBool("devtools.chrome.enabled", false); + if (!isChromeDebuggingEnabled) { + glean::security::fission_principals.Record(mozilla::Some(gleanExtra)); + } + + return IPC_FAIL_UNSAFE_PRINTF( + aActor, "Invalid principal (%s%s%s) in %s%s", + gleanExtra.principaltype->get(), gleanExtra.scheme ? " " : "", + gleanExtra.scheme ? gleanExtra.scheme->get() : "", aMethod, + isChromeDebuggingEnabled ? " (chrome debug on)" : ""); +} + bool ContentParent::ValidatePrincipal( nsIPrincipal* aPrincipal, const EnumSet& aOptions) { @@ -3165,8 +3201,8 @@ {ValidatePrincipalOptions::AllowNullPtr, ValidatePrincipalOptions::AllowExpanded, ValidatePrincipalOptions::AllowSystem})) { - LogAndAssertFailedPrincipalValidationInfo(aTransferable.dataPrincipal(), - __func__); + return PrincipalValidationIpcFail(aTransferable.dataPrincipal(), this, + __func__); } nsresult rv; @@ -3364,7 +3400,7 @@ if (!ValidatePrincipal(aRequestingPrincipal, {ValidatePrincipalOptions::AllowSystem, ValidatePrincipalOptions::AllowExpanded})) { - LogAndAssertFailedPrincipalValidationInfo(aRequestingPrincipal, __func__); + return PrincipalValidationIpcFail(aRequestingPrincipal, this, __func__); } // If the requesting context has been discarded, cancel the paste. @@ -4140,8 +4176,8 @@ } if (!ValidatePrincipal(aInitialWindowInit.principal())) { - LogAndAssertFailedPrincipalValidationInfo(aInitialWindowInit.principal(), - __func__); + return PrincipalValidationIpcFail(aInitialWindowInit.principal(), this, + __func__); } if (browsingContext->GetBrowserParent()) { @@ -4508,11 +4544,11 @@ const nsACString& aMimeContentType, const nsACString& aContentDisposition, const uint32_t& aContentDispositionHint, const nsAString& aContentDispositionFilename, const bool& aForceSave, - const int64_t& aContentLength, const bool& aWasFileChannel, - nsIURI* aReferrer, const MaybeDiscarded& aContext) { + const int64_t& aContentLength, nsIURI* aReferrer, + const MaybeDiscarded& aContext) { RefPtr parent = new ExternalHelperAppParent( - uri, aContentLength, aWasFileChannel, aContentDisposition, - aContentDispositionHint, aContentDispositionFilename); + uri, aContentLength, aContentDisposition, aContentDispositionHint, + aContentDispositionFilename); return parent.forget(); } @@ -4522,8 +4558,20 @@ const nsACString& aContentDisposition, const uint32_t& aContentDispositionHint, const nsAString& aContentDispositionFilename, const bool& aForceSave, - const int64_t& aContentLength, const bool& aWasFileChannel, - nsIURI* aReferrer, const MaybeDiscarded& aContext) { + const int64_t& aContentLength, nsIURI* aReferrer, + const MaybeDiscarded& aContext) { + // A content process must never be able to drive a native helper-app launch + // of a local file it chose: that decision has to be bound to a channel the + // process was actually allowed to open. A file:// URI can only be loaded in + // a file content process (mirrors ValidatePrincipalCouldPotentiallyBeLoadedBy + // and the sandboxing policy enforced in ProcessIsolation), so reject a + // file:// URI coming from any other process. + if (uri && uri->SchemeIs("file") && + StaticPrefs::browser_tabs_remote_separateFileUriProcess() && + GetRemoteType() != FILE_REMOTE_TYPE) { + return IPC_FAIL(this, "Non-file process sent a file:// URI."); + } + BrowsingContext* context = aContext.IsDiscarded() ? nullptr : aContext.get(); if (!static_cast(actor)->Init( loadInfoArgs, aMimeContentType, aForceSave, aReferrer, context)) { @@ -4653,14 +4701,16 @@ // First get the real channel created before redirect on the parent. nsCOMPtr channel; - rv = NS_LinkRedirectChannels(registrarId, nullptr, getter_AddRefs(channel)); + rv = NS_LinkRedirectChannels(registrarId, ChildID(), nullptr, + getter_AddRefs(channel)); NS_ENSURE_SUCCESS(rv, IPC_OK()); nsCOMPtr parent = do_QueryInterface(channel, &rv); NS_ENSURE_SUCCESS(rv, IPC_OK()); // The channel itself is its own (faked) parent, link it. - rv = NS_LinkRedirectChannels(registrarId, parent, getter_AddRefs(channel)); + rv = NS_LinkRedirectChannels(registrarId, ChildID(), parent, + getter_AddRefs(channel)); NS_ENSURE_SUCCESS(rv, IPC_OK()); // Signal the parent channel that it's a redirect-to parent. This will @@ -5166,11 +5216,10 @@ const bool& aForPrinting, const bool& aForWindowDotPrint, const bool& aIsTopLevelCreatedByWebContent, nsIURI* aURIToLoad, const nsACString& aFeatures, const UserActivation::Modifiers& aModifiers, - BrowserParent* aNextRemoteBrowser, const nsAString& aName, - nsresult& aResult, nsCOMPtr& aNewRemoteTab, - bool* aWindowIsNew, int32_t& aOpenLocation, - nsIPrincipal* aTriggeringPrincipal, nsIReferrerInfo* aReferrerInfo, - bool aLoadURI, nsIContentSecurityPolicy* aCsp, + BrowserParent* aNextRemoteBrowser, nsresult& aResult, + nsCOMPtr& aNewRemoteTab, bool* aWindowIsNew, + int32_t& aOpenLocation, nsIPrincipal* aTriggeringPrincipal, + nsIReferrerInfo* aReferrerInfo, nsIContentSecurityPolicy* aCsp, const OriginAttributes& aOriginAttributes, bool aUserActivation, bool aTextDirectiveUserActivation) { // The content process should never be in charge of computing whether or @@ -5299,15 +5348,9 @@ RefPtr el; - if (aLoadURI) { - aResult = browserDOMWin->OpenURIInFrame(aURIToLoad, params, aOpenLocation, - nsIBrowserDOMWindow::OPEN_NEW, - aName, getter_AddRefs(el)); - } else { - aResult = browserDOMWin->CreateContentWindowInFrame( - aURIToLoad, params, aOpenLocation, nsIBrowserDOMWindow::OPEN_NEW, - aName, getter_AddRefs(el)); - } + aResult = browserDOMWin->CreateContentWindowInFrame( + aURIToLoad, params, aOpenLocation, nsIBrowserDOMWindow::OPEN_NEW, + VoidString(), getter_AddRefs(el)); RefPtr frameLoaderOwner = do_QueryObject(el); if (NS_SUCCEEDED(aResult) && frameLoaderOwner) { RefPtr frameLoader = frameLoaderOwner->GetFrameLoader(); @@ -5353,7 +5396,6 @@ MOZ_ASSERT(aNewRemoteTab); RefPtr newBrowserHost = BrowserHost::GetFrom(aNewRemoteTab); - RefPtr newBrowserParent = newBrowserHost->GetActor(); // At this point, it's possible the inserted frameloader hasn't gone through // layout yet. To ensure that the dimensions that we send down when telling @@ -5376,33 +5418,9 @@ frameLoader->ForceLayoutIfNecessary(); } - // If we were passed a name for the window which would override the default, - // we should send it down to the new tab. - if (nsContentUtils::IsOverridingWindowName(aName)) { - MOZ_ALWAYS_SUCCEEDS(newBrowserHost->GetBrowsingContext()->SetName(aName)); - } - MOZ_ASSERT(newBrowserHost->GetBrowsingContext()->OriginAttributesRef() == aOriginAttributes); - if (aURIToLoad && aLoadURI) { - nsCOMPtr openerWindow; - if (aSetOpener && topParent) { - openerWindow = topParent->GetParentWindowOuter(); - } - nsCOMPtr newBrowserDOMWin = - newBrowserParent->GetBrowserDOMWindow(); - if (NS_WARN_IF(!newBrowserDOMWin)) { - aResult = NS_ERROR_ABORT; - return IPC_OK(); - } - RefPtr bc; - aResult = newBrowserDOMWin->OpenURI( - aURIToLoad, openInfo, nsIBrowserDOMWindow::OPEN_CURRENTWINDOW, - nsIBrowserDOMWindow::OPEN_NEW, aTriggeringPrincipal, aCsp, - getter_AddRefs(bc)); - } - return IPC_OK(); } @@ -5422,7 +5440,7 @@ } if (!ValidatePrincipal(aTriggeringPrincipal)) { - LogAndAssertFailedPrincipalValidationInfo(aTriggeringPrincipal, __func__); + return PrincipalValidationIpcFail(aTriggeringPrincipal, this, __func__); } nsresult rv = NS_OK; @@ -5499,10 +5517,9 @@ mozilla::ipc::IPCResult ipcResult = CommonCreateWindow( aThisTab, *parent, newBCOpenerId != 0, aChromeFlags, aCalledFromJS, aForPrinting, aForWindowDotPrint, aIsTopLevelCreatedByWebContent, - aURIToLoad, aFeatures, aModifiers, newTab, VoidString(), rv, newRemoteTab, + aURIToLoad, aFeatures, aModifiers, newTab, rv, newRemoteTab, &cwi.windowOpened(), openLocation, aTriggeringPrincipal, aReferrerInfo, - /* aLoadUri = */ false, aCsp, aOriginAttributes, aUserActivation, - aTextDirectiveUserActivation); + aCsp, aOriginAttributes, aUserActivation, aTextDirectiveUserActivation); if (!ipcResult) { return ipcResult; } @@ -5534,73 +5551,6 @@ return IPC_OK(); } -mozilla::ipc::IPCResult ContentParent::RecvCreateWindowInDifferentProcess( - PBrowserParent* aThisTab, const MaybeDiscarded& aParent, - const uint32_t& aChromeFlags, const bool& aCalledFromJS, - const bool& aIsTopLevelCreatedByWebContent, nsIURI* aURIToLoad, - const nsACString& aFeatures, const UserActivation::Modifiers& aModifiers, - const nsAString& aName, nsIPrincipal* aTriggeringPrincipal, - nsIContentSecurityPolicy* aCsp, nsIReferrerInfo* aReferrerInfo, - const OriginAttributes& aOriginAttributes, bool aUserActivation, - bool aTextDirectiveUserActivation) { - MOZ_DIAGNOSTIC_ASSERT(!nsContentUtils::IsSpecialName(aName)); - - // Don't continue to try to create a new window if we've been fully discarded. - RefPtr parent = aParent.GetMaybeDiscarded(); - if (NS_WARN_IF(!parent)) { - return IPC_OK(); - } - - nsCOMPtr newRemoteTab; - bool windowIsNew; - int32_t openLocation = nsIBrowserDOMWindow::OPEN_NEWWINDOW; - - // If we have enough data, check the schemes of the loader and loadee - // to make sure they make sense. - if (aURIToLoad && aURIToLoad->SchemeIs("file") && - GetRemoteType() != FILE_REMOTE_TYPE && - Preferences::GetBool("browser.tabs.remote.enforceRemoteTypeRestrictions", - false)) { -#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED -# ifdef DEBUG - nsAutoCString uriToLoadStr; - nsAutoCString triggeringUriStr; - aURIToLoad->GetAsciiSpec(uriToLoadStr); - aTriggeringPrincipal->GetAsciiSpec(triggeringUriStr); - - NS_WARNING(nsPrintfCString( - "RecvCreateWindowInDifferentProcess blocked loading file " - "scheme from non-file remotetype: %s tried to load %s", - triggeringUriStr.get(), uriToLoadStr.get()) - .get()); -# endif - MOZ_CRASH( - "RecvCreateWindowInDifferentProcess blocked loading improper scheme"); -#endif - return IPC_OK(); - } - - nsresult rv; - mozilla::ipc::IPCResult ipcResult = CommonCreateWindow( - aThisTab, *parent, /* aSetOpener = */ false, aChromeFlags, aCalledFromJS, - /* aForPrinting = */ false, - /* aForWindowDotPrint = */ false, aIsTopLevelCreatedByWebContent, - aURIToLoad, aFeatures, aModifiers, - /* aNextRemoteBrowser = */ nullptr, aName, rv, newRemoteTab, &windowIsNew, - openLocation, aTriggeringPrincipal, aReferrerInfo, - /* aLoadUri = */ true, aCsp, aOriginAttributes, aUserActivation, - aTextDirectiveUserActivation); - if (!ipcResult) { - return ipcResult; - } - - if (NS_FAILED(rv)) { - NS_WARNING("Call to CommonCreateWindow failed."); - } - - return IPC_OK(); -} - mozilla::ipc::IPCResult ContentParent::RecvShutdownProfile( const nsACString& aProfile) { profiler_received_exit_profile(aProfile); @@ -5867,7 +5817,7 @@ } if (!ValidatePrincipal(aPrincipal, {ValidatePrincipalOptions::AllowSystem})) { - LogAndAssertFailedPrincipalValidationInfo(aPrincipal, __func__); + return PrincipalValidationIpcFail(aPrincipal, this, __func__); } RefPtr blobImpl = IPCBlobUtils::Deserialize(aBlob); if (NS_WARN_IF(!blobImpl)) { @@ -5889,7 +5839,7 @@ for (const BroadcastBlobURLUnregistrationRequest& request : aRequests) { if (!ValidatePrincipal(request.principal(), {ValidatePrincipalOptions::AllowSystem})) { - LogAndAssertFailedPrincipalValidationInfo(request.principal(), __func__); + return PrincipalValidationIpcFail(request.principal(), this, __func__); } uris.AppendElement(request.url()); @@ -6341,7 +6291,7 @@ return IPC_OK(); } if (!ValidatePrincipal(aPrincipal)) { - LogAndAssertFailedPrincipalValidationInfo(aPrincipal, __func__); + return PrincipalValidationIpcFail(aPrincipal, this, __func__); } return actor->StartClassify(principal, aSuccess); } @@ -6515,7 +6465,7 @@ } if (!ValidatePrincipal(aPrincipal)) { - LogAndAssertFailedPrincipalValidationInfo(aPrincipal, __func__); + return PrincipalValidationIpcFail(aPrincipal, this, __func__); } aResolver(Document::AutomaticStorageAccessPermissionCanBeGranted(aPrincipal)); return IPC_OK(); @@ -6689,7 +6639,7 @@ } if (!ValidatePrincipal(aPrincipal)) { - LogAndAssertFailedPrincipalValidationInfo(aPrincipal, __func__); + return PrincipalValidationIpcFail(aPrincipal, this, __func__); } ContentBlockingUserInteraction::Observe(aPrincipal); return IPC_OK(); diff -Nru thunderbird-140.12.0esr/dom/ipc/ContentParent.h thunderbird-140.13.0esr/dom/ipc/ContentParent.h --- thunderbird-140.12.0esr/dom/ipc/ContentParent.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/ipc/ContentParent.h 2026-07-21 21:32:55.000000000 +0000 @@ -175,6 +175,10 @@ static void LogAndAssertFailedPrincipalValidationInfo( nsIPrincipal* aPrincipal, const char* aMethod); + static mozilla::ipc::IPCResult PrincipalValidationIpcFail( + nsIPrincipal* aPrincipal, mozilla::ipc::IProtocol* aActor, + const char* aMethod); + /** * Picks a random content parent from |aContentParents| respecting the index * limit set by |aMaxContentParents|. If |aBrowserId| is non-zero, that tab @@ -561,16 +565,6 @@ bool aUserActivation, bool aTextDirectiveUserActivation, CreateWindowResolver&& aResolve); - mozilla::ipc::IPCResult RecvCreateWindowInDifferentProcess( - PBrowserParent* aThisTab, const MaybeDiscarded& aParent, - const uint32_t& aChromeFlags, const bool& aCalledFromJS, - const bool& aTopLevelCreatedByWebContent, nsIURI* aURIToLoad, - const nsACString& aFeatures, const UserActivation::Modifiers& aModifiers, - const nsAString& aName, nsIPrincipal* aTriggeringPrincipal, - nsIContentSecurityPolicy* aCsp, nsIReferrerInfo* aReferrerInfo, - const OriginAttributes& aOriginAttributes, bool aUserActivation, - bool aTextDirectiveUserActivation); - static void BroadcastBlobURLRegistration( const nsACString& aURI, BlobImpl* aBlobImpl, nsIPrincipal* aPrincipal, const nsCString& aPartitionKey, ContentParent* aIgnoreThisCP = nullptr); @@ -777,20 +771,18 @@ static mozilla::StaticAutoPtr> sMacSandboxParams; #endif - // Set aLoadUri to true to load aURIToLoad and to false to only create the - // window. aURIToLoad should always be provided, if available, to ensure - // compatibility with GeckoView. + // aURIToLoad should always be provided, if available, to ensure compatibility + // with GeckoView. mozilla::ipc::IPCResult CommonCreateWindow( PBrowserParent* aThisTab, BrowsingContext& aParent, bool aSetOpener, const uint32_t& aChromeFlags, const bool& aCalledFromJS, const bool& aForPrinting, const bool& aForWindowDotPrint, const bool& aIsTopLevelCreatedByWebContent, nsIURI* aURIToLoad, const nsACString& aFeatures, const UserActivation::Modifiers& aModifiers, - BrowserParent* aNextRemoteBrowser, const nsAString& aName, - nsresult& aResult, nsCOMPtr& aNewRemoteTab, - bool* aWindowIsNew, int32_t& aOpenLocation, - nsIPrincipal* aTriggeringPrincipal, nsIReferrerInfo* aReferrerInfo, - bool aLoadUri, nsIContentSecurityPolicy* aCsp, + BrowserParent* aNextRemoteBrowser, nsresult& aResult, + nsCOMPtr& aNewRemoteTab, bool* aWindowIsNew, + int32_t& aOpenLocation, nsIPrincipal* aTriggeringPrincipal, + nsIReferrerInfo* aReferrerInfo, nsIContentSecurityPolicy* aCsp, const OriginAttributes& aOriginAttributes, bool aUserActivation, bool aTextDirectiveUserActivation); @@ -938,8 +930,8 @@ const nsACString& aMimeContentType, const nsACString& aContentDisposition, const uint32_t& aContentDispositionHint, const nsAString& aContentDispositionFilename, const bool& aForceSave, - const int64_t& aContentLength, const bool& aWasFileChannel, - nsIURI* aReferrer, const MaybeDiscarded& aContext); + const int64_t& aContentLength, nsIURI* aReferrer, + const MaybeDiscarded& aContext); mozilla::ipc::IPCResult RecvPExternalHelperAppConstructor( PExternalHelperAppParent* actor, nsIURI* uri, @@ -947,8 +939,7 @@ const nsACString& aContentDisposition, const uint32_t& aContentDispositionHint, const nsAString& aContentDispositionFilename, const bool& aForceSave, - const int64_t& aContentLength, const bool& aWasFileChannel, - nsIURI* aReferrer, + const int64_t& aContentLength, nsIURI* aReferrer, const MaybeDiscarded& aContext) override; already_AddRefed AllocPHandlerServiceParent(); diff -Nru thunderbird-140.12.0esr/dom/ipc/DOMTypes.ipdlh thunderbird-140.13.0esr/dom/ipc/DOMTypes.ipdlh --- thunderbird-140.12.0esr/dom/ipc/DOMTypes.ipdlh 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/ipc/DOMTypes.ipdlh 2026-07-21 21:32:55.000000000 +0000 @@ -246,6 +246,7 @@ TimeStamp redirectEnd; nsString initiatorType; bool allRedirectsSameOrigin; + bool allRedirectsSameOriginIgnoringInternal; bool allRedirectsPassTimingAllowCheck; bool? timingAllowCheckForPrincipal; bool renderBlocking; diff -Nru thunderbird-140.12.0esr/dom/ipc/PContent.ipdl thunderbird-140.13.0esr/dom/ipc/PContent.ipdl --- thunderbird-140.12.0esr/dom/ipc/PContent.ipdl 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/ipc/PContent.ipdl 2026-07-21 21:32:55.000000000 +0000 @@ -1196,7 +1196,6 @@ nsString aContentDispositionFilename, bool aForceSave, int64_t aContentLength, - bool aWasFileChannel, nullable nsIURI aReferrer, MaybeDiscardedBrowsingContext aContext); @@ -1549,23 +1548,6 @@ bool aTextDirectiveUserActivation) returns (CreatedWindowInfo window); - async CreateWindowInDifferentProcess( - PBrowser aThisTab, - MaybeDiscardedBrowsingContext aParent, - uint32_t aChromeFlags, - bool aCalledFromJS, - bool aTopLevelCreatedByContent, - nullable nsIURI aURIToLoad, - nsCString aFeatures, - Modifiers aModifiers, - nsString aName, - nullable nsIPrincipal aTriggeringPrincipal, - nullable nsIContentSecurityPolicy aCsp, - nullable nsIReferrerInfo aReferrerInfo, - OriginAttributes aOriginAttributes, - bool aUserActivation, - bool aTextDirectiveUserActivation); - /** * Notify `push-message` observers without data in the parent. */ diff -Nru thunderbird-140.12.0esr/dom/ipc/ProcessIsolation.cpp thunderbird-140.13.0esr/dom/ipc/ProcessIsolation.cpp --- thunderbird-140.12.0esr/dom/ipc/ProcessIsolation.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/ipc/ProcessIsolation.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -213,6 +213,8 @@ */ static IsolationBehavior IsolationBehaviorForURI(nsIURI* aURI, bool aIsSubframe, bool aForChannelCreationURI) { + MOZ_ASSERT(NS_IsMainThread()); + nsAutoCString scheme; MOZ_ALWAYS_SUCCEEDS(aURI->GetScheme(scheme)); @@ -1185,12 +1187,6 @@ return true; } - // We can load a `resource://` URI in any process. This usually comes up due - // to pdf.js and the JSON viewer. See bug 1686200. - if (aPrincipal->SchemeIs("resource")) { - return true; - } - // Only allow expanded principals if AllowExpanded is passed. Each // sub-principal will be validated independently. if (aPrincipal->GetIsExpandedPrincipal()) { @@ -1212,9 +1208,26 @@ return true; } + // At this point we know we're working with a content principal. + MOZ_ASSERT(aPrincipal->GetIsContentPrincipal()); + nsAutoCString originNoSuffix; + MOZ_ALWAYS_SUCCEEDS(aPrincipal->GetOriginNoSuffix(originNoSuffix)); + + // NOTE: We intentionally do scheme checks against the origin here, rather + // than the principal's URI. This is because nested URIs like `view-source:` + // are preserved in the principal, but do not impact the origin. + nsAutoCString originScheme; + MOZ_ALWAYS_SUCCEEDS(net_ExtractURLScheme(originNoSuffix, originScheme)); + + // We can load a `resource://` URI in any process. This usually comes up due + // to pdf.js and the JSON viewer. See bug 1686200. + if (originScheme == "resource"_ns) { + return true; + } + // A URI with a file:// scheme can never load in a non-file content process // due to sandboxing. - if (aPrincipal->SchemeIs("file")) { + if (originScheme == "file"_ns) { // If we don't support a separate 'file' process, then we can return here. if (!StaticPrefs::browser_tabs_remote_separateFileUriProcess()) { return true; @@ -1222,25 +1235,48 @@ return aRemoteType == FILE_REMOTE_TYPE; } - if (aPrincipal->SchemeIs("about")) { - uint32_t flags = 0; - nsresult rv = aPrincipal->GetAboutModuleFlags(&flags); - // In tests, we can race between about: pages being unregistered, and a - // content process unregistering a Blob URL. To be safe here, we fail open - // if no about module is present. - if (NS_FAILED(rv)) { + if (originScheme == "about"_ns) { + nsCOMPtr aboutURI; + if (NS_FAILED(NS_NewURI(getter_AddRefs(aboutURI), originNoSuffix))) { + MOZ_DIAGNOSTIC_ASSERT(false, "The originNoSuffix isn't a valid URI?"); return false; } + MOZ_ASSERT(aboutURI->SchemeIs("about")); - // Block principals for about: URIs which can't load in this process. - if (!(flags & (nsIAboutModule::URI_CAN_LOAD_IN_CHILD | - nsIAboutModule::URI_MUST_LOAD_IN_CHILD))) { - return false; + // We cannot validate about module flags off-main-thread, as about modules + // are not threadsafe, and can be implemented in JS. + if (!NS_IsMainThread()) { + return true; } - if (flags & nsIAboutModule::URI_MUST_LOAD_IN_EXTENSION_PROCESS) { - return aRemoteType == EXTENSION_REMOTE_TYPE; + + // NOTE: The logic for about URIs is somewhat complex, so we lean on + // IsolationBehaviorForURI to ensure it matches. + switch (IsolationBehaviorForURI(aboutURI, /* aIsSubframe */ false, + /* aForChannelCreationURI */ true)) { + case IsolationBehavior::Parent: + return false; + case IsolationBehavior::Anywhere: + return true; + case IsolationBehavior::AboutReader: + // Allow about:reader to load anywhere, as it is process-allocated based + // on the content it displays, and which content is being displayed is + // unfortunately not part of the principal. + return true; + case IsolationBehavior::Extension: + return aRemoteType == EXTENSION_REMOTE_TYPE; + case IsolationBehavior::PrivilegedAbout: + return aRemoteType == PRIVILEGEDABOUT_REMOTE_TYPE; + case IsolationBehavior::ForceWebRemoteType: + return aRemoteType == WEB_REMOTE_TYPE; + case IsolationBehavior::WebContent: + case IsolationBehavior::Error: + // NOTE: We can encounter races around about: pages being unregistered. + // To avoid false positives, we fail open if no about module is present. + return true; + default: + MOZ_CRASH("Unexpected IsolationBehaviorForURI for about: URI"); + return false; } - return true; } // Web content can contain extension content frames, so any content process @@ -1248,7 +1284,7 @@ // NOTE: We don't check AddonPolicy here, as that can disappear if the add-on // is disabled or uninstalled. As this is a lax check, looking at the scheme // should be sufficient. - if (aPrincipal->SchemeIs("moz-extension")) { + if (originScheme == "moz-extension"_ns) { return true; } @@ -1274,11 +1310,17 @@ int32_t suffixIdx = typeOrigin.RFindChar('^'); nsDependentCSubstring typeOriginNoSuffix(typeOrigin, 0, suffixIdx); + // If the origin perfectly matches, we can skip computing the site origin. + if (typeOriginNoSuffix == originNoSuffix) { + return true; + } + // NOTE: Currently every webIsolated remote type is site-origin keyed, meaning // we can unconditionally compare site origins. If this changes in the future, // this logic will need to be updated to reflect that. nsAutoCString siteOriginNoSuffix; if (NS_FAILED(aPrincipal->GetSiteOriginNoSuffix(siteOriginNoSuffix))) { + MOZ_ASSERT_UNREACHABLE("Failed when not late in shutdown?"); return false; } return siteOriginNoSuffix == typeOriginNoSuffix; diff -Nru thunderbird-140.12.0esr/dom/media/ChannelMediaResource.cpp thunderbird-140.13.0esr/dom/media/ChannelMediaResource.cpp --- thunderbird-140.12.0esr/dom/media/ChannelMediaResource.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/ChannelMediaResource.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -923,7 +923,7 @@ if (timedChannel) { bool allRedirectsSameOrigin = false; mSharedInfo->mHadCrossOriginRedirects = - NS_SUCCEEDED(timedChannel->GetAllRedirectsSameOrigin( + NS_SUCCEEDED(timedChannel->GetAllRedirectsSameOriginIgnoringInternal( &allRedirectsSameOrigin)) && !allRedirectsSameOrigin; } diff -Nru thunderbird-140.12.0esr/dom/media/CloneableWithRangeMediaResource.cpp thunderbird-140.13.0esr/dom/media/CloneableWithRangeMediaResource.cpp --- thunderbird-140.12.0esr/dom/media/CloneableWithRangeMediaResource.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/CloneableWithRangeMediaResource.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -182,7 +182,7 @@ } bool allRedirectsSameOrigin = false; - return NS_SUCCEEDED(timedChannel->GetAllRedirectsSameOrigin( + return NS_SUCCEEDED(timedChannel->GetAllRedirectsSameOriginIgnoringInternal( &allRedirectsSameOrigin)) && !allRedirectsSameOrigin; } diff -Nru thunderbird-140.12.0esr/dom/media/FileMediaResource.cpp thunderbird-140.13.0esr/dom/media/FileMediaResource.cpp --- thunderbird-140.12.0esr/dom/media/FileMediaResource.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/FileMediaResource.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -129,7 +129,7 @@ } bool allRedirectsSameOrigin = false; - return NS_SUCCEEDED(timedChannel->GetAllRedirectsSameOrigin( + return NS_SUCCEEDED(timedChannel->GetAllRedirectsSameOriginIgnoringInternal( &allRedirectsSameOrigin)) && !allRedirectsSameOrigin; } diff -Nru thunderbird-140.12.0esr/dom/media/GraphDriver.cpp thunderbird-140.13.0esr/dom/media/GraphDriver.cpp --- thunderbird-140.12.0esr/dom/media/GraphDriver.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/GraphDriver.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -712,11 +712,15 @@ MOZ_ASSERT(!IsStarted()); MOZ_ASSERT(mAudioStreamState == AudioStreamState::None); MOZ_ASSERT_IF(PreviousDriver(), PreviousDriver()->InIteration()); - mAudioStreamState = AudioStreamState::Pending; - - // Starting an audio driver could take a while. We start a system driver in - // the meantime so that the graph is kept running. - (void)TryStartingFallbackDriver(); + MOZ_ASSERT(mFallbackDriverState == FallbackDriverState::None); + // Starting an audio driver could take a while. We will start running from a + // fallback system driver in the meantime so that the graph is kept running. + // mFallback is set up before starting the cubeb stream so that the cubeb + // callbacks know that the fallback driver is running and can + // EnsureNextIteration() so the fallback driver can hand graph control back to + // the cubeb data callback. + mFallbackDriverState = FallbackDriverState::Running; + RefPtr fallback = CreateFallbackSystemClockDriver(); if (mPreviousDriver) { if (AudioCallbackDriver* previousAudioCallback = @@ -739,6 +743,16 @@ LOG(LogLevel::Debug, ("Starting new audio driver off main thread, " "to ensure it runs after previous shutdown.")); + QueueInitOp(); + // Hand over control of the graph to the fallback driver after init is queued + // so that future cubeb operations on mAudioStream will be in order. + fallback->Start(); +} + +void AudioCallbackDriver::QueueInitOp() { + MOZ_ASSERT(mAudioStreamState == AudioStreamState::None); + mAudioStreamState = AudioStreamState::Pending; + MOZ_ALWAYS_SUCCEEDS(mCubebOperationThread->Dispatch( NS_NewRunnableFunction("AudioCallbackDriver Init()", [self = RefPtr{this}, streamName = mStreamName] { @@ -1110,7 +1124,7 @@ #endif mGraphInterface->NotifyInputStopped(); } - FallbackToSystemClockDriver(); + CreateFallbackSystemClockDriver()->Start(); } } } @@ -1290,7 +1304,7 @@ switch (oldState) { case FallbackDriverState::None: // None -> Running: we can start the fallback. - FallbackToSystemClockDriver(); + CreateFallbackSystemClockDriver()->Start(); return true; case FallbackDriverState::Stopped: // Stopped -> Running: Invalid edge, the graph has told us to stop. @@ -1304,7 +1318,8 @@ MOZ_CRASH("Unexpected fallback state"); } -void AudioCallbackDriver::FallbackToSystemClockDriver() { +RefPtr +AudioCallbackDriver::CreateFallbackSystemClockDriver() { MOZ_ASSERT(mFallbackDriverState == FallbackDriverState::Running); DebugOnly audioStreamState = static_cast(mAudioStreamState); @@ -1325,7 +1340,7 @@ MOZ_RELEASE_ASSERT(!driver.ref()); driver.ref() = fallback; } - fallback->Start(); + return fallback; } void AudioCallbackDriver::FallbackDriverStopped(GraphTime aIterationEnd, @@ -1389,7 +1404,7 @@ TimeDuration::FromMilliseconds( StaticPrefs::media_audio_device_retry_ms())); mNextReInitAttempt = now + mNextReInitBackoffStep; - Start(); + QueueInitOp(); } const AudioInputProcessingParamsRequest& diff -Nru thunderbird-140.12.0esr/dom/media/GraphDriver.h thunderbird-140.13.0esr/dom/media/GraphDriver.h --- thunderbird-140.12.0esr/dom/media/GraphDriver.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/GraphDriver.h 2026-07-21 21:32:55.000000000 +0000 @@ -666,18 +666,23 @@ /* Start the cubeb stream */ bool StartStream(); friend class MediaTrackGraphInitThreadRunnable; + void QueueInitOp(); void Init(const nsCString& aStreamName); void SetCubebStreamName(const nsCString& aStreamName); void Stop(); /* After the requested input processing params has changed, this applies them * on the cubeb stream. */ void SetInputProcessingParams(AudioInputProcessingParamsRequest aRequest); - /* Calls FallbackToSystemClockDriver() if in FallbackDriverState::None. + /* If in FallbackDriverState::None, create the mFallback driver and start its + * SystemClockDriver. * Returns Ok(true) if the fallback driver was started, or the old * FallbackDriverState in an Err otherwise. */ Result TryStartingFallbackDriver(); - /* Fall back to a SystemClockDriver using a normal thread. If needed, the - * graph will try to re-open an audio stream later. */ + /* Create the mFallback driver with a SystemClockDriver to use a normal + * thread. Start() should be called on the returned FallbackWrapper, when + * ready to hand over control of the graph. If needed, the fallback graph + * wrapper will try to re-open an audio stream later. */ + [[nodiscard]] RefPtr CreateFallbackSystemClockDriver(); void FallbackToSystemClockDriver(); /* Called by the fallback driver when it has fully stopped, after finishing * its last iteration. If it stopped after the audio stream started, aState @@ -703,7 +708,8 @@ * call back with a number of frames lower than one block (128 frames), so we * need to keep at most two block in the SpillBuffer, because we always round * up to block boundaries during an iteration. - * This is only ever accessed on the audio callback thread. */ + * Initialized before starting the cubeb stream and then accessed from + * cubeb callbacks. */ SpillBuffer mScratchBuffer; /* Wrapper to ensure we write exactly the number of frames we need in the * audio buffer cubeb passes us. This is only ever accessed on the audio diff -Nru thunderbird-140.12.0esr/dom/media/MediaQueue.h thunderbird-140.13.0esr/dom/media/MediaQueue.h --- thunderbird-140.12.0esr/dom/media/MediaQueue.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/MediaQueue.h 2026-07-21 21:32:55.000000000 +0000 @@ -231,11 +231,11 @@ } } - uint32_t AudioFramesCount() { + CheckedInt AudioFramesCount() { static_assert(std::is_same_v, "Only usable with MediaQueue"); RecursiveMutexAutoLock lock(mRecursiveMutex); - uint32_t frames = 0; + CheckedInt frames = 0; for (size_t i = 0; i < GetSize(); ++i) { T* v = nsRefPtrDeque::ObjectAt(i); frames += v->Frames(); diff -Nru thunderbird-140.12.0esr/dom/media/eme/MediaKeys.cpp thunderbird-140.13.0esr/dom/media/eme/MediaKeys.cpp --- thunderbird-140.12.0esr/dom/media/eme/MediaKeys.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/eme/MediaKeys.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -342,6 +342,9 @@ promise->MaybeReject(std::move(aException), aReason); if (mCreatePromiseId == aId) { + // Clear the create-promise id once it has settled; 0 is not a valid + // promise id. + mCreatePromiseId = 0; // Note: This will probably destroy the MediaKeys object! EME_LOG("MediaKeys[%p]::RejectPromise(%" PRIu32 ", 0x%" PRIx32 ") calling Release()", @@ -621,6 +624,9 @@ promise->MaybeResolve(keys); if (mCreatePromiseId == aId) { + // Clear the create-promise id once it has settled; 0 is not a valid + // promise id. + mCreatePromiseId = 0; EME_LOG("MediaKeys[%p]::OnCDMCreated(aId=%" PRIu32 ", aPluginId=%" PRIu32 ") calling Release()", this, aId, aPluginId); diff -Nru thunderbird-140.12.0esr/dom/media/eme/clearkey/ClearKeyDecryptionManager.cpp thunderbird-140.13.0esr/dom/media/eme/clearkey/ClearKeyDecryptionManager.cpp --- thunderbird-140.12.0esr/dom/media/eme/clearkey/ClearKeyDecryptionManager.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/eme/clearkey/ClearKeyDecryptionManager.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -265,6 +265,12 @@ assert(aMetadata.mIV.size() == 8 || aMetadata.mIV.size() == 16 || (aMetadata.mIV.empty() && AllZero(aMetadata.mCipherBytes))); + if (aMetadata.mIV.size() > CENC_KEY_LEN) { + CK_LOGD("ClearKeyDecryptor::Decrypt unexpected IV size %zu", + aMetadata.mIV.size()); + return Status::kDecryptError; + } + std::vector iv(aMetadata.mIV); iv.insert(iv.end(), CENC_KEY_LEN - aMetadata.mIV.size(), 0); diff -Nru thunderbird-140.12.0esr/dom/media/gmp/GMPVideoDecoderChild.cpp thunderbird-140.13.0esr/dom/media/gmp/GMPVideoDecoderChild.cpp --- thunderbird-140.12.0esr/dom/media/gmp/GMPVideoDecoderChild.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/gmp/GMPVideoDecoderChild.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -191,6 +191,12 @@ return IPC_FAIL(this, "!mVideoDecoder"); } + if (!GMPVideoEncodedFrameImpl::CheckFrameData(aInputFrame, + aInputShmem.Size())) { + DeallocShmem(aInputShmem); + return IPC_OK(); + } + auto* f = new GMPVideoEncodedFrameImpl(aInputFrame, std::move(aInputShmem), this); diff -Nru thunderbird-140.12.0esr/dom/media/gmp/GMPVideoi420FrameImpl.cpp thunderbird-140.13.0esr/dom/media/gmp/GMPVideoi420FrameImpl.cpp --- thunderbird-140.12.0esr/dom/media/gmp/GMPVideoi420FrameImpl.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/gmp/GMPVideoi420FrameImpl.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -187,6 +187,11 @@ return false; } + // Check that plane strides match. + if (aFrameData.mUPlane().mStride() != aFrameData.mVPlane().mStride()) { + return false; + } + // Validate plane end calculations auto y_plane_end = CheckedInt(aFrameData.mYPlane().mOffset()) + aFrameData.mYPlane().mSize(); diff -Nru thunderbird-140.12.0esr/dom/media/ipc/MFCDMParent.cpp thunderbird-140.13.0esr/dom/media/ipc/MFCDMParent.cpp --- thunderbird-140.12.0esr/dom/media/ipc/MFCDMParent.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/ipc/MFCDMParent.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -377,16 +377,26 @@ MFCDM_PARENT_SLOG("Set Widevine L1 dll path=%ls\n", sWidevineL1Path); } +/* static */ +already_AddRefed MFCDMParent::GetCDMById(uint64_t aId) { + StaticMutexAutoLock lock(sRegistryMutex); + RefPtr cdm = sRegisteredCDMs.Get(aId); + return cdm.forget(); +} + void MFCDMParent::Register() { + StaticMutexAutoLock lock(sRegistryMutex); MOZ_ASSERT(!sRegisteredCDMs.Contains(this->mId)); sRegisteredCDMs.InsertOrUpdate(this->mId, this); MFCDM_PARENT_LOG("Registered!"); } void MFCDMParent::Unregister() { - MOZ_ASSERT(sRegisteredCDMs.Contains(this->mId)); - sRegisteredCDMs.Remove(this->mId); - MFCDM_PARENT_LOG("Unregistered!"); + StaticMutexAutoLock lock(sRegistryMutex); + if (sRegisteredCDMs.Contains(this->mId)) { + sRegisteredCDMs.Remove(this->mId); + MFCDM_PARENT_LOG("Unregistered!"); + } } MFCDMParent::MFCDMParent(const nsAString& aKeySystem, @@ -466,6 +476,7 @@ } mSessions.clear(); mIPDLSelfRef = nullptr; + Unregister(); } MFCDMParent::~MFCDMParent() { diff -Nru thunderbird-140.12.0esr/dom/media/ipc/MFCDMParent.h thunderbird-140.13.0esr/dom/media/ipc/MFCDMParent.h --- thunderbird-140.12.0esr/dom/media/ipc/MFCDMParent.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/ipc/MFCDMParent.h 2026-07-21 21:32:55.000000000 +0000 @@ -14,6 +14,7 @@ #include "MFCDMSession.h" #include "MFPMPHostWrapper.h" #include "RemoteDecoderManagerParent.h" +#include "mozilla/StaticMutex.h" namespace mozilla { @@ -46,10 +47,7 @@ MozPromise, nsresult, true>; static RefPtr GetAllKeySystemsCapabilities(); - static MFCDMParent* GetCDMById(uint64_t aId) { - MOZ_ASSERT(sRegisteredCDMs.Contains(aId)); - return sRegisteredCDMs.Get(aId); - } + static already_AddRefed GetCDMById(uint64_t aId); uint64_t Id() const { return mId; } mozilla::ipc::IPCResult RecvGetCapabilities( @@ -134,8 +132,11 @@ const RefPtr mManager; const RefPtr mManagerThread; + // Guards sRegisteredCDMs and the strong reference handed out by GetCDMById. + static inline StaticMutex sRegistryMutex; + MOZ_RUNINIT static inline nsTHashMap - sRegisteredCDMs; + sRegisteredCDMs MOZ_GUARDED_BY(sRegistryMutex); static inline uint64_t sNextId = 1; const uint64_t mId; diff -Nru thunderbird-140.12.0esr/dom/media/ipc/MFMediaEngineParent.cpp thunderbird-140.13.0esr/dom/media/ipc/MFMediaEngineParent.cpp --- thunderbird-140.12.0esr/dom/media/ipc/MFMediaEngineParent.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/ipc/MFMediaEngineParent.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -510,8 +510,13 @@ } #ifdef MOZ_WMF_CDM LOG("SetCDMProxy, Id=%" PRIu64, aProxyId); - MFCDMParent* cdmParent = MFCDMParent::GetCDMById(aProxyId); - MOZ_DIAGNOSTIC_ASSERT(cdmParent); + RefPtr cdmParent = MFCDMParent::GetCDMById(aProxyId); + if (!cdmParent) { + LOG("No CDM found for Id=%" PRIu64, aProxyId); + Unused << SendNotifyError(MediaResult(NS_ERROR_DOM_MEDIA_CDM_NOT_FOUND_ERR, + "No CDM for proxy id")); + return IPC_OK(); + } RETURN_PARAM_IF_FAILED( MakeAndInitialize(&mContentProtectionManager), IPC_OK()); diff -Nru thunderbird-140.12.0esr/dom/media/mediasink/AudioDecoderInputTrack.cpp thunderbird-140.13.0esr/dom/media/mediasink/AudioDecoderInputTrack.cpp --- thunderbird-140.12.0esr/dom/media/mediasink/AudioDecoderInputTrack.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/mediasink/AudioDecoderInputTrack.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -5,6 +5,7 @@ #include "AudioDecoderInputTrack.h" #include "MediaData.h" +#include "mozilla/CheckedInt.h" #include "mozilla/ScopeExit.h" #include "mozilla/StaticPrefs_media.h" #include "Tracing.h" @@ -460,7 +461,14 @@ // Skip this chunk and wait for next one. return false; } - const uint32_t bufferLength = channels * aChunk->GetDuration(); + CheckedInt checkedBufferLength = + CheckedInt(channels) * aChunk->GetDuration(); + if (!checkedBufferLength.isValid()) { + LOG("Invalid interleave buffer length for channels=%u duration=%" PRId64, + channels, aChunk->GetDuration()); + return true; + } + const uint32_t bufferLength = checkedBufferLength.value(); if (bufferLength > mInterleavedBuffer.Capacity()) { mInterleavedBuffer.SetCapacity(bufferLength); } @@ -564,7 +572,14 @@ // Retrieve interleaved data from the time stretcher. const uint32_t channelCount = GetChannelCountForTimeStretcher(); - const uint32_t bufferLength = channelCount * available; + CheckedInt checkedBufferLength = + CheckedInt(channelCount) * available; + if (!checkedBufferLength.isValid()) { + LOG("Invalid interleave buffer length for channels=%u available=%" PRId64, + channelCount, available); + return 0; + } + const uint32_t bufferLength = checkedBufferLength.value(); if (bufferLength > mInterleavedBuffer.Capacity()) { mInterleavedBuffer.SetCapacity(bufferLength); } diff -Nru thunderbird-140.12.0esr/dom/media/mediasource/ContainerParser.cpp thunderbird-140.13.0esr/dom/media/mediasource/ContainerParser.cpp --- thunderbird-140.12.0esr/dom/media/mediasource/ContainerParser.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/mediasource/ContainerParser.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -515,7 +515,7 @@ Maybe mMediaOffset; Maybe mDataOffset; bool mValid; - char mLastInvalidBox[5]; + char mLastInvalidBox[5]{}; }; public: diff -Nru thunderbird-140.12.0esr/dom/media/mp4/SinfParser.cpp thunderbird-140.13.0esr/dom/media/mp4/SinfParser.cpp --- thunderbird-140.12.0esr/dom/media/mp4/SinfParser.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/mp4/SinfParser.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -8,6 +8,9 @@ #include "AtomType.h" #include "Box.h" #include "ByteStream.h" +#include "mozilla/Logging.h" + +extern mozilla::LazyLogModule gMediaDemuxerLog; namespace mozilla { @@ -76,7 +79,15 @@ uint8_t isEncrypted; MOZ_TRY_VAR(isEncrypted, reader->ReadU8()); - MOZ_TRY_VAR(mSinf.mDefaultIVSize, reader->ReadU8()); + uint8_t defaultIVSize; + MOZ_TRY_VAR(defaultIVSize, reader->ReadU8()); + if (defaultIVSize != 0 && defaultIVSize != 8 && defaultIVSize != 16) { + MOZ_LOG(gMediaDemuxerLog, LogLevel::Warning, + ("SinfParser: unexpected default per-sample IV size %u", + static_cast(defaultIVSize))); + return Err(NS_ERROR_FAILURE); + } + mSinf.mDefaultIVSize = defaultIVSize; memcpy(mSinf.mDefaultKeyID, reader->Read(16), 16); if (isEncrypted && mSinf.mDefaultIVSize == 0) { diff -Nru thunderbird-140.12.0esr/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp thunderbird-140.13.0esr/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp --- thunderbird-140.12.0esr/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -8,6 +8,7 @@ #include "FFmpegLog.h" #include "FFmpegUtils.h" +#include "FFmpegVideoUtils.h" #include "ImageContainer.h" #include "MP4Decoder.h" #include "MediaInfo.h" @@ -1534,55 +1535,8 @@ b.mPlanes[0].mWidth = mFrame->width; b.mPlanes[0].mHeight = mFrame->height; - if (mCodecContext->pix_fmt == AV_PIX_FMT_YUV444P || - mCodecContext->pix_fmt == AV_PIX_FMT_YUV444P10LE || - mCodecContext->pix_fmt == AV_PIX_FMT_GBRP || - mCodecContext->pix_fmt == AV_PIX_FMT_GBRP10LE -#if LIBAVCODEC_VERSION_MAJOR >= 57 - || mCodecContext->pix_fmt == AV_PIX_FMT_YUV444P12LE -#endif - ) { - b.mPlanes[1].mWidth = b.mPlanes[2].mWidth = mFrame->width; - b.mPlanes[1].mHeight = b.mPlanes[2].mHeight = mFrame->height; - if (mCodecContext->pix_fmt == AV_PIX_FMT_YUV444P10LE || - mCodecContext->pix_fmt == AV_PIX_FMT_GBRP10LE) { - b.mColorDepth = gfx::ColorDepth::COLOR_10; - } -#if LIBAVCODEC_VERSION_MAJOR >= 57 - else if (mCodecContext->pix_fmt == AV_PIX_FMT_YUV444P12LE) { - b.mColorDepth = gfx::ColorDepth::COLOR_12; - } -#endif - } else if (mCodecContext->pix_fmt == AV_PIX_FMT_YUV422P || - mCodecContext->pix_fmt == AV_PIX_FMT_YUV422P10LE -#if LIBAVCODEC_VERSION_MAJOR >= 57 - || mCodecContext->pix_fmt == AV_PIX_FMT_YUV422P12LE -#endif - ) { - b.mChromaSubsampling = gfx::ChromaSubsampling::HALF_WIDTH; - b.mPlanes[1].mWidth = b.mPlanes[2].mWidth = (mFrame->width + 1) >> 1; - b.mPlanes[1].mHeight = b.mPlanes[2].mHeight = mFrame->height; - if (mCodecContext->pix_fmt == AV_PIX_FMT_YUV422P10LE) { - b.mColorDepth = gfx::ColorDepth::COLOR_10; - } -#if LIBAVCODEC_VERSION_MAJOR >= 57 - else if (mCodecContext->pix_fmt == AV_PIX_FMT_YUV422P12LE) { - b.mColorDepth = gfx::ColorDepth::COLOR_12; - } -#endif - } else { - b.mChromaSubsampling = gfx::ChromaSubsampling::HALF_WIDTH_AND_HEIGHT; - b.mPlanes[1].mWidth = b.mPlanes[2].mWidth = (mFrame->width + 1) >> 1; - b.mPlanes[1].mHeight = b.mPlanes[2].mHeight = (mFrame->height + 1) >> 1; - if (mCodecContext->pix_fmt == AV_PIX_FMT_YUV420P10LE) { - b.mColorDepth = gfx::ColorDepth::COLOR_10; - } -#if LIBAVCODEC_VERSION_MAJOR >= 57 - else if (mCodecContext->pix_fmt == AV_PIX_FMT_YUV420P12LE) { - b.mColorDepth = gfx::ColorDepth::COLOR_12; - } -#endif - } + SetChromaPlaneGeometryFromAVFormat(b, static_cast(mFrame->format), + mFrame->width, mFrame->height); b.mYUVColorSpace = GetFrameColorSpace(); b.mColorRange = GetFrameColorRange(); @@ -2174,6 +2128,20 @@ return MediaResult(NS_ERROR_DOM_MEDIA_DECODE_ERR, msg); } + D3D11_TEXTURE2D_DESC desc; + texture->GetDesc(&desc); + + auto format = [&]() { + if (desc.Format == DXGI_FORMAT_P010) { + return gfx::SurfaceFormat::P010; + } + if (desc.Format == DXGI_FORMAT_P016) { + return gfx::SurfaceFormat::P016; + } + MOZ_ASSERT(desc.Format == DXGI_FORMAT_NV12); + return gfx::SurfaceFormat::NV12; + }(); + RefPtr image; gfx::IntRect pictureRegion = mInfo.ScaledImageRect(mFrame->width, mFrame->height); @@ -2185,7 +2153,7 @@ mNumOfHWTexturesInUse.load()); hr = mDXVA2Manager->WrapTextureWithImage( new D3D11TextureWrapper( - mFrame, mLib, texture, index, + mFrame, mLib, texture, format, index, [self = RefPtr(this), this]() { MOZ_ASSERT(mNumOfHWTexturesInUse > 0); mNumOfHWTexturesInUse--; diff -Nru thunderbird-140.12.0esr/dom/media/platforms/ffmpeg/FFmpegVideoFramePool.cpp thunderbird-140.13.0esr/dom/media/platforms/ffmpeg/FFmpegVideoFramePool.cpp --- thunderbird-140.12.0esr/dom/media/platforms/ffmpeg/FFmpegVideoFramePool.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/platforms/ffmpeg/FFmpegVideoFramePool.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -179,10 +179,15 @@ // to keep matched surface UID / FFmpeg ID. for (auto& surface : mDMABufSurfaces) { if (surface->mFFMPEGSurfaceID == aFFMPEGSurfaceID) { - // This should not happen as we reference FFmpeg surfaces from - // renderer process. if (surface->IsUsedByRenderer()) { - NS_WARNING("Using live surfaces, visual glitches ahead!"); + // A re-output frame (e.g. VP9/AV1 show_existing_frame) re-displays an + // already-decoded frame from the reference buffer, so it can carry the + // same surface id as a frame the renderer is still using. When the + // matched surface is still in use, detach it from this FFmpeg id and + // let the caller allocate a fresh surface instead (as + // GetFreeVideoFrameSurfaceLocked does). + surface->mFFMPEGSurfaceID = sInvalidFFMPEGSurfaceID; + return nullptr; } return surface; } diff -Nru thunderbird-140.12.0esr/dom/media/platforms/ffmpeg/FFmpegVideoUtils.h thunderbird-140.13.0esr/dom/media/platforms/ffmpeg/FFmpegVideoUtils.h --- thunderbird-140.12.0esr/dom/media/platforms/ffmpeg/FFmpegVideoUtils.h 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/platforms/ffmpeg/FFmpegVideoUtils.h 2026-07-21 21:32:55.000000000 +0000 @@ -0,0 +1,95 @@ +/* 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/. */ + +#ifndef DOM_MEDIA_PLATFORMS_FFMPEG_FFMPEGVIDEOUTILS_H_ +#define DOM_MEDIA_PLATFORMS_FFMPEG_FFMPEGVIDEOUTILS_H_ + +#include "MediaData.h" +#include "libavcodec/version.h" +#include "libavutil/pixfmt.h" + +#if LIBAVCODEC_VERSION_MAJOR < 54 +# ifndef AV_PIX_FMT_YUV420P10LE +# define AV_PIX_FMT_YUV420P10LE PIX_FMT_YUV420P10LE +# endif +# ifndef AV_PIX_FMT_YUV422P +# define AV_PIX_FMT_YUV422P PIX_FMT_YUV422P +# endif +# ifndef AV_PIX_FMT_YUV422P10LE +# define AV_PIX_FMT_YUV422P10LE PIX_FMT_YUV422P10LE +# endif +# ifndef AV_PIX_FMT_YUV444P +# define AV_PIX_FMT_YUV444P PIX_FMT_YUV444P +# endif +# ifndef AV_PIX_FMT_YUV444P10LE +# define AV_PIX_FMT_YUV444P10LE PIX_FMT_YUV444P10LE +# endif +# ifndef AV_PIX_FMT_GBRP +# define AV_PIX_FMT_GBRP PIX_FMT_GBRP +# endif +# ifndef AV_PIX_FMT_GBRP10LE +# define AV_PIX_FMT_GBRP10LE PIX_FMT_GBRP10LE +# endif +#endif + +namespace mozilla { + +// Fills the chroma plane geometry (Cb/Cr dimensions, chroma subsampling and +// colour depth) of aBuffer from aFormat, an AVPixelFormat value, and the luma +// dimensions aWidth and aHeight. The luma plane (index 0) must already be +// populated by the caller. +inline void SetChromaPlaneGeometryFromAVFormat(VideoData::YCbCrBuffer& aBuffer, + int aFormat, int aWidth, + int aHeight) { + if (aFormat == AV_PIX_FMT_YUV444P || aFormat == AV_PIX_FMT_YUV444P10LE || + aFormat == AV_PIX_FMT_GBRP || aFormat == AV_PIX_FMT_GBRP10LE +#if LIBAVCODEC_VERSION_MAJOR >= 57 + || aFormat == AV_PIX_FMT_YUV444P12LE +#endif + ) { + aBuffer.mPlanes[1].mWidth = aBuffer.mPlanes[2].mWidth = aWidth; + aBuffer.mPlanes[1].mHeight = aBuffer.mPlanes[2].mHeight = aHeight; + if (aFormat == AV_PIX_FMT_YUV444P10LE || aFormat == AV_PIX_FMT_GBRP10LE) { + aBuffer.mColorDepth = gfx::ColorDepth::COLOR_10; + } +#if LIBAVCODEC_VERSION_MAJOR >= 57 + else if (aFormat == AV_PIX_FMT_YUV444P12LE) { + aBuffer.mColorDepth = gfx::ColorDepth::COLOR_12; + } +#endif + } else if (aFormat == AV_PIX_FMT_YUV422P || aFormat == AV_PIX_FMT_YUV422P10LE +#if LIBAVCODEC_VERSION_MAJOR >= 57 + || aFormat == AV_PIX_FMT_YUV422P12LE +#endif + ) { + aBuffer.mChromaSubsampling = gfx::ChromaSubsampling::HALF_WIDTH; + aBuffer.mPlanes[1].mWidth = aBuffer.mPlanes[2].mWidth = (aWidth + 1) >> 1; + aBuffer.mPlanes[1].mHeight = aBuffer.mPlanes[2].mHeight = aHeight; + if (aFormat == AV_PIX_FMT_YUV422P10LE) { + aBuffer.mColorDepth = gfx::ColorDepth::COLOR_10; + } +#if LIBAVCODEC_VERSION_MAJOR >= 57 + else if (aFormat == AV_PIX_FMT_YUV422P12LE) { + aBuffer.mColorDepth = gfx::ColorDepth::COLOR_12; + } +#endif + } else { + aBuffer.mChromaSubsampling = gfx::ChromaSubsampling::HALF_WIDTH_AND_HEIGHT; + aBuffer.mPlanes[1].mWidth = aBuffer.mPlanes[2].mWidth = (aWidth + 1) >> 1; + aBuffer.mPlanes[1].mHeight = aBuffer.mPlanes[2].mHeight = + (aHeight + 1) >> 1; + if (aFormat == AV_PIX_FMT_YUV420P10LE) { + aBuffer.mColorDepth = gfx::ColorDepth::COLOR_10; + } +#if LIBAVCODEC_VERSION_MAJOR >= 57 + else if (aFormat == AV_PIX_FMT_YUV420P12LE) { + aBuffer.mColorDepth = gfx::ColorDepth::COLOR_12; + } +#endif + } +} + +} // namespace mozilla + +#endif // DOM_MEDIA_PLATFORMS_FFMPEG_FFMPEGVIDEOUTILS_H_ diff -Nru thunderbird-140.12.0esr/dom/media/platforms/ffmpeg/ffvpx/D3D11TextureWrapper.cpp thunderbird-140.13.0esr/dom/media/platforms/ffmpeg/ffvpx/D3D11TextureWrapper.cpp --- thunderbird-140.12.0esr/dom/media/platforms/ffmpeg/ffvpx/D3D11TextureWrapper.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/platforms/ffmpeg/ffvpx/D3D11TextureWrapper.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -25,12 +25,14 @@ D3D11TextureWrapper::D3D11TextureWrapper(AVFrame* aAVFrame, FFmpegLibWrapper* aLib, ID3D11Texture2D* aTexture, - unsigned int aArrayIdx, + const gfx::SurfaceFormat aFormat, + const unsigned int aArrayIdx, std::function&& aReleaseMethod) - : mLib(aLib), - mTexture(aTexture), + : mFormat(aFormat), mArrayIdx(aArrayIdx), - mReleaseMethod(std::move(aReleaseMethod)) { + mReleaseMethod(std::move(aReleaseMethod)), + mLib(aLib), + mTexture(aTexture) { MOZ_ASSERT(XRE_IsGPUProcess()); MOZ_ASSERT(gfx::gfxVars::HwDecodedVideoZeroCopy()); MOZ_ASSERT(mLib); diff -Nru thunderbird-140.12.0esr/dom/media/platforms/ffmpeg/ffvpx/D3D11TextureWrapper.h thunderbird-140.13.0esr/dom/media/platforms/ffmpeg/ffvpx/D3D11TextureWrapper.h --- thunderbird-140.12.0esr/dom/media/platforms/ffmpeg/ffvpx/D3D11TextureWrapper.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/platforms/ffmpeg/ffvpx/D3D11TextureWrapper.h 2026-07-21 21:32:56.000000000 +0000 @@ -10,6 +10,7 @@ #include #include "mozilla/UniquePtr.h" +#include "mozilla/gfx/Types.h" struct AVFrame; struct AVBufferRef; @@ -27,7 +28,9 @@ class D3D11TextureWrapper final { public: D3D11TextureWrapper(AVFrame* aAVFrame, FFmpegLibWrapper* aLib, - ID3D11Texture2D* aTexture, unsigned int aArrayIdx, + ID3D11Texture2D* aTexture, + const gfx::SurfaceFormat aFormat, + const unsigned int aArrayIdx, std::function&& aReleaseMethod); D3D11TextureWrapper(D3D11TextureWrapper&& aWrapper) = delete; D3D11TextureWrapper(const D3D11TextureWrapper&& aWrapper) = delete; @@ -35,14 +38,15 @@ ~D3D11TextureWrapper(); ID3D11Texture2D* GetTexture() const { return mTexture; } - unsigned int GetArrayIdx() const { return mArrayIdx; } + + const gfx::SurfaceFormat mFormat; + const unsigned int mArrayIdx; + const std::function mReleaseMethod; private: FFmpegLibWrapper* mLib; ID3D11Texture2D* mTexture; AVBufferRef* mHWAVBuffer; - const unsigned int mArrayIdx; - const std::function mReleaseMethod; }; } // namespace mozilla diff -Nru thunderbird-140.12.0esr/dom/media/platforms/wmf/DXVA2Manager.cpp thunderbird-140.13.0esr/dom/media/platforms/wmf/DXVA2Manager.cpp --- thunderbird-140.12.0esr/dom/media/platforms/wmf/DXVA2Manager.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/platforms/wmf/DXVA2Manager.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -858,9 +858,20 @@ RefreshIMFSampleWrappers(); + auto format = [&]() { + if (desc.Format == DXGI_FORMAT_P010) { + return gfx::SurfaceFormat::P010; + } + if (desc.Format == DXGI_FORMAT_P016) { + return gfx::SurfaceFormat::P016; + } + MOZ_ASSERT(desc.Format == DXGI_FORMAT_NV12); + return gfx::SurfaceFormat::NV12; + }(); + RefPtr image = new D3D11TextureIMFSampleImage( aVideoSample, texture, arrayIndex, gfx::IntSize(mWidth, mHeight), aRegion, - ToColorSpace2(mYUVColorSpace), mColorRange, mColorDepth); + format, ToColorSpace2(mYUVColorSpace), mColorRange, mColorDepth); image->AllocateTextureClient(mKnowsCompositor, mZeroCopyUsageInfo, mWriteFence); diff -Nru thunderbird-140.12.0esr/dom/media/webaudio/MediaBufferDecoder.cpp thunderbird-140.13.0esr/dom/media/webaudio/MediaBufferDecoder.cpp --- thunderbird-140.12.0esr/dom/media/webaudio/MediaBufferDecoder.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/webaudio/MediaBufferDecoder.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -496,11 +496,12 @@ ShutdownDecoder(); - uint32_t frameCount = mAudioQueue.AudioFramesCount(); + CheckedUint32 frameCount = mAudioQueue.AudioFramesCount(); uint32_t channelCount = mMediaInfo.mAudio.mChannels; uint32_t sampleRate = mMediaInfo.mAudio.mRate; - if (!frameCount || !channelCount || !sampleRate) { + if (!frameCount.isValid() || frameCount.value() == 0 || !channelCount || + !sampleRate) { LOG("MediaDecodeTask: invalid content frame count, channel count or " "sample-rate"); ReportFailureOnMainThread(WebAudioDecodeJob::InvalidContent); @@ -510,11 +511,12 @@ const uint32_t destSampleRate = mDecodeJob.mContext->SampleRate(); AutoResampler resampler; - uint32_t resampledFrames = frameCount; + CheckedUint32 resampledFrames = frameCount; if (sampleRate != destSampleRate) { - resampledFrames = static_cast( - static_cast(destSampleRate) * - static_cast(frameCount) / static_cast(sampleRate)); + uint64_t convertedFrames = static_cast(frameCount.value()) * + static_cast(destSampleRate) / + static_cast(sampleRate); + resampledFrames = CheckedUint32(convertedFrames); resampler = speex_resampler_init(channelCount, sampleRate, destSampleRate, SPEEX_RESAMPLER_QUALITY_DEFAULT, nullptr); @@ -525,7 +527,12 @@ // Allocate contiguous channel buffers. Note that if we end up resampling, // we may write fewer bytes than mResampledFrames to the output buffer, in // which case writeIndex will tell us how many valid samples we have. - auto newBuffers = CreateChannelBuffers(channelCount, resampledFrames); + if (!resampledFrames.isValid()) { + LOG("MediaDecodeTask: decoded frame count too large to allocate"); + ReportFailureOnMainThread(WebAudioDecodeJob::InvalidContent); + return; + } + auto newBuffers = CreateChannelBuffers(channelCount, resampledFrames.value()); if (!newBuffers) { ReportFailureOnMainThread(WebAudioDecodeJob::UnknownError); return; @@ -554,7 +561,8 @@ if (channelCount < audioData->mChannels) { LOG("MediaDecodeTask: Expected %u channels, found %u. Adding channels.", channelCount, audioData->mChannels); - newBuffers = CreateChannelBuffers(audioData->mChannels, resampledFrames); + newBuffers = + CreateChannelBuffers(audioData->mChannels, resampledFrames.value()); if (!newBuffers) { ReportFailureOnMainThread(WebAudioDecodeJob::UnknownError); return; @@ -582,7 +590,7 @@ static_cast(audioData->mAudioBuffer->Data()); if (sampleRate != destSampleRate) { - const uint32_t maxOutSamples = resampledFrames - writeIndex; + const uint32_t maxOutSamples = resampledFrames.value() - writeIndex; for (uint32_t i = 0; i < audioData->mChannels; ++i) { uint32_t inSamples = audioData->Frames(); @@ -597,11 +605,13 @@ if (i == audioData->mChannels - 1) { writeIndex += outSamples; - MOZ_ASSERT(writeIndex <= resampledFrames); + MOZ_ASSERT(writeIndex <= resampledFrames.value()); MOZ_ASSERT(inSamples == audioData->Frames()); } } } else { + // No resampling: the output length equals frameCount and the packets + // write exactly that many frames in total. for (uint32_t i = 0; i < audioData->mChannels; ++i) { AudioDataValue* outData = mDecodeJob.mBuffer.ChannelDataForWrite(i) + @@ -614,11 +624,12 @@ } } } + MOZ_DIAGNOSTIC_ASSERT(writeIndex <= resampledFrames.value()); } if (sampleRate != destSampleRate) { uint32_t inputLatency = speex_resampler_get_input_latency(resampler); - const uint32_t maxOutSamples = resampledFrames - writeIndex; + const uint32_t maxOutSamples = resampledFrames.value() - writeIndex; for (uint32_t i = 0; i < channelCount; ++i) { uint32_t inSamples = inputLatency; uint32_t outSamples = maxOutSamples; @@ -632,7 +643,7 @@ if (i == channelCount - 1) { writeIndex += outSamples; - MOZ_ASSERT(writeIndex <= resampledFrames); + MOZ_ASSERT(writeIndex <= resampledFrames.value()); MOZ_ASSERT(inSamples == inputLatency); } } diff -Nru thunderbird-140.12.0esr/dom/media/webcodecs/VideoFrame.cpp thunderbird-140.13.0esr/dom/media/webcodecs/VideoFrame.cpp --- thunderbird-140.12.0esr/dom/media/webcodecs/VideoFrame.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/webcodecs/VideoFrame.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -2884,6 +2884,14 @@ return false; } + const gfx::IntSize surfaceSize = dataSurface->GetSize(); + if (NS_WARN_IF(aRect.X() < 0 || aRect.Y() < 0 || + aRect.XMost() > surfaceSize.Width() || + aRect.YMost() > surfaceSize.Height())) { + LOGE("Source surface is smaller than the requested copy rectangle"); + return false; + } + // The mImage's format can be different from mFormat (since Gecko prefers // BGRA). To get the data in the matched format, we create a temp buffer // holding the image data in that format and then copy them to `aDestination`. diff -Nru thunderbird-140.12.0esr/dom/media/webcodecs/crashtests/2045057.html thunderbird-140.13.0esr/dom/media/webcodecs/crashtests/2045057.html --- thunderbird-140.12.0esr/dom/media/webcodecs/crashtests/2045057.html 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/webcodecs/crashtests/2045057.html 2026-07-21 21:32:55.000000000 +0000 @@ -0,0 +1,33 @@ + + + + + + + + diff -Nru thunderbird-140.12.0esr/dom/media/webcodecs/crashtests/crashtests.list thunderbird-140.13.0esr/dom/media/webcodecs/crashtests/crashtests.list --- thunderbird-140.12.0esr/dom/media/webcodecs/crashtests/crashtests.list 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/webcodecs/crashtests/crashtests.list 2026-07-21 21:32:55.000000000 +0000 @@ -15,3 +15,4 @@ skip-if(Android) pref(media.test.null.decoder.creation-failure,true) load 1913311.html skip-if(Android) load 1934334.html load 1938591.html +skip-if(Android) load 2045057.html diff -Nru thunderbird-140.12.0esr/dom/media/webrtc/jsapi/RTCEncodedFrameBase.cpp thunderbird-140.13.0esr/dom/media/webrtc/jsapi/RTCEncodedFrameBase.cpp --- thunderbird-140.12.0esr/dom/media/webrtc/jsapi/RTCEncodedFrameBase.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/media/webrtc/jsapi/RTCEncodedFrameBase.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -17,8 +17,6 @@ NS_IMPL_CYCLE_COLLECTION_CLASS(RTCEncodedFrameBase) NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(RTCEncodedFrameBase) - using ::ImplCycleCollectionUnlink; - tmp->DetachData(); NS_IMPL_CYCLE_COLLECTION_UNLINK(mOwner, mGlobal) NS_IMPL_CYCLE_COLLECTION_UNLINK(mData) NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER @@ -55,14 +53,20 @@ mozilla::HoldJSObjects(this); - // Avoid a copy - mData = JS::NewArrayBufferWithUserOwnedContents( - jsapi.cx(), mFrame->GetData().size(), (void*)(mFrame->GetData().data())); + const auto& frame = mFrame->GetData(); + if (frame.data()) { + UniquePtr data(js_pod_arena_malloc( + js::ArrayBufferContentsArena, frame.size())); + memcpy(data.get(), frame.data(), frame.size()); + mData = JS::NewArrayBufferWithContents(jsapi.cx(), frame.size(), + std::move(data)); + } else { + mData = JS::NewArrayBuffer(jsapi.cx(), 0); + } } RTCEncodedFrameBase::~RTCEncodedFrameBase() { DetachData(); - mData = nullptr; mozilla::DropJSObjects(this); } @@ -88,7 +92,6 @@ unsigned long RTCEncodedFrameBase::Timestamp() const { return mTimestamp; } void RTCEncodedFrameBase::SetData(const ArrayBuffer& aData) { - DetachData(); mData.set(aData.Obj()); if (mFrame) { aData.ProcessData([&](const Span& aData, JS::AutoCheckCannotGC&&) { @@ -111,10 +114,7 @@ } size_t RTCEncodedFrameBase::Size() const { - if (!mFrame) { - return 0; - } - return mFrame->GetData().size(); + return GetArrayBufferByteLength(mData); } } // namespace mozilla::dom diff -Nru thunderbird-140.12.0esr/dom/promise/Promise.cpp thunderbird-140.13.0esr/dom/promise/Promise.cpp --- thunderbird-140.12.0esr/dom/promise/Promise.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/promise/Promise.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -146,7 +146,12 @@ nsIGlobalObject* aGlobal, JSContext* aCx, JS::Handle aValue, ErrorResult& aRv, PropagateUserInteraction aPropagateUserInteraction) { JSAutoRealm ar(aCx, aGlobal->GetGlobalJSObject()); - JS::Rooted p(aCx, JS::CallOriginalPromiseResolve(aCx, aValue)); + JS::Rooted value(aCx, aValue); + if (!JS_WrapValue(aCx, &value)) { + aRv.NoteJSContextException(aCx); + return nullptr; + } + JS::Rooted p(aCx, JS::CallOriginalPromiseResolve(aCx, value)); if (!p) { aRv.NoteJSContextException(aCx); return nullptr; @@ -161,7 +166,12 @@ JS::Handle aValue, ErrorResult& aRv) { JSAutoRealm ar(aCx, aGlobal->GetGlobalJSObject()); - JS::Rooted p(aCx, JS::CallOriginalPromiseReject(aCx, aValue)); + JS::Rooted value(aCx, aValue); + if (!JS_WrapValue(aCx, &value)) { + aRv.NoteJSContextException(aCx); + return nullptr; + } + JS::Rooted p(aCx, JS::CallOriginalPromiseReject(aCx, value)); if (!p) { aRv.NoteJSContextException(aCx); return nullptr; diff -Nru thunderbird-140.12.0esr/dom/quota/EncryptedBlock.h thunderbird-140.13.0esr/dom/quota/EncryptedBlock.h --- thunderbird-140.12.0esr/dom/quota/EncryptedBlock.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/quota/EncryptedBlock.h 2026-07-21 21:32:56.000000000 +0000 @@ -45,6 +45,10 @@ SetActualPayloadLength(MaxPayloadLength()); } + static constexpr size_t RoundedUpToBasicBlockSize(const size_t aValue) { + return (aValue + BasicBlockSize - 1) / BasicBlockSize * BasicBlockSize; + } + size_t MaxPayloadLength() const { return mData.Length() - CipherPrefixLength - CipherPrefixOffset(); } @@ -86,10 +90,6 @@ return RoundedUpToBasicBlockSize(sizeof(uint16_t)); } - static constexpr size_t RoundedUpToBasicBlockSize(const size_t aValue) { - return (aValue + BasicBlockSize - 1) / BasicBlockSize * BasicBlockSize; - } - nsTArray mData; }; diff -Nru thunderbird-140.12.0esr/dom/quota/EncryptingOutputStream_impl.h thunderbird-140.13.0esr/dom/quota/EncryptingOutputStream_impl.h --- thunderbird-140.12.0esr/dom/quota/EncryptingOutputStream_impl.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/quota/EncryptingOutputStream_impl.h 2026-07-21 21:32:55.000000000 +0000 @@ -209,6 +209,9 @@ return NS_OK; } + const size_t roundedNextByte = + mEncryptedBlock->RoundedUpToBasicBlockSize(mNextByte); + if (mNextByte < mEncryptedBlock->MaxPayloadLength()) { if (!mRandomGenerator) { mRandomGenerator = @@ -220,13 +223,16 @@ const auto payload = mEncryptedBlock->MutablePayload(); - const auto unusedPayload = payload.From(mNextByte); + const auto unusedPayload = payload.From(roundedNextByte); nsresult rv = mRandomGenerator->GenerateRandomBytesInto( unusedPayload.Elements(), unusedPayload.Length()); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } + + std::fill(mBuffer.begin() + mNextByte, mBuffer.begin() + roundedNextByte, + 0); } // XXX The compressing stream implementation this was based on wrote a stream @@ -243,13 +249,10 @@ // Encrypt the data to our internal encrypted buffer. // XXX Do we need to know the actual encrypted size? - nsresult rv = mCipherStrategy.Cipher( - mEncryptedBlock->MutableCipherPrefix(), - mozilla::Span(reinterpret_cast(mBuffer.Elements()), - ((mNextByte + (CipherStrategy::BasicBlockSize - 1)) / - CipherStrategy::BasicBlockSize) * - CipherStrategy::BasicBlockSize), - mEncryptedBlock->MutablePayload()); + nsresult rv = + mCipherStrategy.Cipher(mEncryptedBlock->MutableCipherPrefix(), + mozilla::Span(mBuffer.Elements(), roundedNextByte), + mEncryptedBlock->MutablePayload()); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } diff -Nru thunderbird-140.12.0esr/dom/security/nsContentSecurityManager.cpp thunderbird-140.13.0esr/dom/security/nsContentSecurityManager.cpp --- thunderbird-140.12.0esr/dom/security/nsContentSecurityManager.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/security/nsContentSecurityManager.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -1740,16 +1740,18 @@ return NS_OK; } - nsCOMPtr resultOrPrecursor; + nsCOMPtr result; nsresult rv = nsScriptSecurityManager::GetScriptSecurityManager() ->GetChannelResultPrincipalIfNotSandboxed( - aChannel, getter_AddRefs(resultOrPrecursor)); + aChannel, getter_AddRefs(result)); NS_ENSURE_SUCCESS(rv, rv); - NS_ENSURE_STATE(resultOrPrecursor); + NS_ENSURE_STATE(result); - if (nsCOMPtr precursor = - resultOrPrecursor->GetPrecursorPrincipal()) { + nsCOMPtr resultOrPrecursor; + if (nsCOMPtr precursor = result->GetPrecursorPrincipal()) { resultOrPrecursor = precursor; + } else { + resultOrPrecursor = result; } if (!resultOrPrecursor->GetIsContentPrincipal()) { @@ -1768,6 +1770,35 @@ aChannel->GetURI(getter_AddRefs(channelURI)); NS_ENSURE_STATE(channelURI); + if (channelURI->SchemeIs("data") && !result->GetIsNullPrincipal()) { + // Carve out for `ExtensionPolicyService::GetGeneratedBackgroundPageUrl`: + if (!BasePrincipal::Cast(result)->AddonPolicy()) { + MOZ_ASSERT_UNREACHABLE("data URI with a non-null principal"); + return NS_ERROR_CONTENT_BLOCKED; + } + + nsAutoCString triggeringRemoteType; + rv = loadInfo->GetTriggeringRemoteType(triggeringRemoteType); + NS_ENSURE_SUCCESS(rv, rv); + + if (triggeringRemoteType != NOT_REMOTE_TYPE && + triggeringRemoteType != EXTENSION_REMOTE_TYPE) { + MOZ_ASSERT_UNREACHABLE( + "Generated addon background page in incorrect process"); + return NS_ERROR_CONTENT_BLOCKED; + } + } + + if (NS_IsAboutSrcdoc(channelURI)) { + nsIPrincipal* loadingPrincipal = loadInfo->GetLoadingPrincipal(); + if (!loadingPrincipal || !loadingPrincipal->Subsumes(result)) { + // This is fine for sandboxed srcdoc because result is unsandboxed. + MOZ_ASSERT_UNREACHABLE( + "about:srcdoc result principal not subsumed by embedder"); + return NS_ERROR_CONTENT_BLOCKED; + } + } + nsCOMPtr channelUriPrincipal = BasePrincipal::CreateContentPrincipal(channelURI, {}); NS_ENSURE_STATE(channelUriPrincipal); diff -Nru thunderbird-140.12.0esr/dom/streams/ReadableStream.h thunderbird-140.13.0esr/dom/streams/ReadableStream.h --- thunderbird-140.12.0esr/dom/streams/ReadableStream.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/streams/ReadableStream.h 2026-07-21 21:32:55.000000000 +0000 @@ -119,6 +119,14 @@ return nullptr; } + void SetInputStreamIfUnread(nsIInputStream* aInput) { + MOZ_ASSERT(!Disturbed()); + if (UnderlyingSourceAlgorithmsBase* algorithms = + Controller()->GetAlgorithms()) { + algorithms->SetInputStreamIfUnread(aInput); + } + } + // [Transferable] // https://html.spec.whatwg.org/multipage/structured-data.html#transfer-steps MOZ_CAN_RUN_SCRIPT bool Transfer(JSContext* aCx, diff -Nru thunderbird-140.12.0esr/dom/streams/UnderlyingSourceCallbackHelpers.h thunderbird-140.13.0esr/dom/streams/UnderlyingSourceCallbackHelpers.h --- thunderbird-140.12.0esr/dom/streams/UnderlyingSourceCallbackHelpers.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/streams/UnderlyingSourceCallbackHelpers.h 2026-07-21 21:32:56.000000000 +0000 @@ -64,6 +64,12 @@ // Currently used by Fetch helper functions e.g. new Response(stream).text() virtual nsIInputStream* MaybeGetInputStreamIfUnread() { return nullptr; } + // Replaces the underlying input stream of an unread native stream. Used by + // Fetch's clone() to repoint a body's ReadableStream at a freshly cloned + // input stream without disturbing the stream or changing its identity. No-op + // for non-native streams. Must only be called on a non-disturbed stream. + virtual void SetInputStreamIfUnread(nsIInputStream* aInput) {} + // https://streams.spec.whatwg.org/#other-specs-rs-create // By "native" we mean "instances initialized via the above set up or set up // with byte reading support algorithms (not, e.g., on web-developer-created @@ -318,6 +324,13 @@ return mInput; } + void SetInputStreamIfUnread(nsIInputStream* aInput) override { + MOZ_ASSERT(mInput, "Should be only called on non-disturbed streams"); + MOZ_ASSERT(!mAsyncAlgorithms, + "Should be only called before the stream is read"); + mInput = aInput; + } + private: ~NonAsyncInputToReadableStreamAlgorithms() = default; diff -Nru thunderbird-140.12.0esr/dom/view-transitions/ViewTransition.cpp thunderbird-140.13.0esr/dom/view-transitions/ViewTransition.cpp --- thunderbird-140.12.0esr/dom/view-transitions/ViewTransition.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/view-transitions/ViewTransition.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -174,8 +174,12 @@ mManager = aManager; mImageKey = aManager->WrBridge()->GetNextImageKey(); auto size = mFallback->GetSize(); - auto format = mFallback->GetFormat(); - wr::ImageDescriptor desc(size, format); + auto format = wr::SurfaceFormatToImageFormat(mFallback->GetFormat()); + if (NS_WARN_IF(!format)) { + return; + } + wr::ImageDescriptor desc(size, *format, + wr::ToOpacityType(mFallback->GetFormat())); Range bytes(map.GetData(), map.GetStride() * size.height); Unused << NS_WARN_IF(!aResources.AddImage(mImageKey, desc, bytes)); } diff -Nru thunderbird-140.12.0esr/dom/webtransport/api/WebTransport.cpp thunderbird-140.13.0esr/dom/webtransport/api/WebTransport.cpp --- thunderbird-140.12.0esr/dom/webtransport/api/WebTransport.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/webtransport/api/WebTransport.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -281,12 +281,14 @@ return; } + if (mGlobal->GetClientInfo().isNothing()) { + aError.Throw(NS_ERROR_DOM_INVALID_STATE_ERR); + return; + } + IPCClientInfo ipcClientInfo = mGlobal->GetClientInfo().ref().ToIPC(); + nsCOMPtr principal = mGlobal->PrincipalOrNull(); - mozilla::Maybe ipcClientInfo; - if (mGlobal->GetClientInfo().isSome()) { - ipcClientInfo = mozilla::Some(mGlobal->GetClientInfo().ref().ToIPC()); - } // Create a new IPC connection Endpoint parentEndpoint; Endpoint childEndpoint; diff -Nru thunderbird-140.12.0esr/dom/webtransport/parent/WebTransportParent.cpp thunderbird-140.13.0esr/dom/webtransport/parent/WebTransportParent.cpp --- thunderbird-140.12.0esr/dom/webtransport/parent/WebTransportParent.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/webtransport/parent/WebTransportParent.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -35,7 +35,7 @@ void WebTransportParent::Create( const nsAString& aURL, nsIPrincipal* aPrincipal, - const mozilla::Maybe& aClientInfo, const bool& aDedicated, + const IPCClientInfo& aClientInfo, const bool& aDedicated, const bool& aRequireUnreliable, const uint32_t& aCongestionControl, nsTArray&& aServerCertHashes, Endpoint&& aParentEndpoint, @@ -101,11 +101,11 @@ nsServerCertHashes = std::move(nsServerCertHashes), principal = RefPtr{aPrincipal}, flags = nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_SEC_CONTEXT_IS_NULL, - clientInfo = aClientInfo] { + clientInfo = ClientInfo{aClientInfo}] { LOG(("WebTransport %p AsyncConnect", self.get())); if (NS_FAILED(self->mWebTransport->AsyncConnectWithClient( uri, dedicated, std::move(nsServerCertHashes), principal, flags, - self, clientInfo, nsIWebTransport::HTTPVersion::h3))) { + self, Some(clientInfo), nsIWebTransport::HTTPVersion::h3))) { LOG(("AsyncConnect failure; we should get OnSessionClosed")); } }); diff -Nru thunderbird-140.12.0esr/dom/webtransport/parent/WebTransportParent.h thunderbird-140.13.0esr/dom/webtransport/parent/WebTransportParent.h --- thunderbird-140.12.0esr/dom/webtransport/parent/WebTransportParent.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/webtransport/parent/WebTransportParent.h 2026-07-21 21:32:56.000000000 +0000 @@ -34,8 +34,8 @@ NS_DECL_WEBTRANSPORTSESSIONEVENTLISTENER void Create(const nsAString& aURL, nsIPrincipal* aPrincipal, - const mozilla::Maybe& aClientInfo, - const bool& aDedicated, const bool& aRequireUnreliable, + const IPCClientInfo& aClientInfo, const bool& aDedicated, + const bool& aRequireUnreliable, const uint32_t& aCongestionControl, nsTArray&& aServerCertHashes, Endpoint&& aParentEndpoint, diff -Nru thunderbird-140.12.0esr/dom/webtransport/test/xpcshell/head.js thunderbird-140.13.0esr/dom/webtransport/test/xpcshell/head.js --- thunderbird-140.12.0esr/dom/webtransport/test/xpcshell/head.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/dom/webtransport/test/xpcshell/head.js 2026-07-21 21:32:55.000000000 +0000 @@ -0,0 +1,23 @@ +/* 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/. */ + +"use strict"; + +// WebTransport now requires a ClientInfo, which only real window (and worker) +// globals provide. +let gWebTransportBrowser = Services.appShell.createWindowlessBrowser(true); + +function webTransportWindow() { + return gWebTransportBrowser.document.defaultView; +} + +function newWebTransport(...args) { + let win = webTransportWindow(); + return new win.WebTransport(...args); +} + +registerCleanupFunction(() => { + gWebTransportBrowser.close(); + gWebTransportBrowser = null; +}); diff -Nru thunderbird-140.12.0esr/dom/webtransport/test/xpcshell/test_close.js thunderbird-140.13.0esr/dom/webtransport/test/xpcshell/test_close.js --- thunderbird-140.12.0esr/dom/webtransport/test/xpcshell/test_close.js 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/webtransport/test/xpcshell/test_close.js 2026-07-21 21:32:56.000000000 +0000 @@ -1,8 +1,6 @@ // // Simple WebTransport test // -// keep eslint happy until it knows about WebTransport -/* global WebTransport:false */ "use strict"; @@ -57,9 +55,7 @@ }); add_task(async function test_webtransport_create() { - Services.prefs.setBoolPref("network.webtransport.enabled", true); - - const wt = new WebTransport("https://" + host + "/success"); + const wt = newWebTransport("https://" + host + "/success"); await wt.ready; dump("**** ready\n"); @@ -68,7 +64,7 @@ // bug 1840626 - cancel and then close add_task(async function test_wt_stream_create_bidi_cancel_close() { - let wt = new WebTransport("https://" + host + "/success"); + let wt = newWebTransport("https://" + host + "/success"); await wt.ready; await wt.createBidirectionalStream(); diff -Nru thunderbird-140.12.0esr/dom/webtransport/test/xpcshell/test_simple_conn.js thunderbird-140.13.0esr/dom/webtransport/test/xpcshell/test_simple_conn.js --- thunderbird-140.12.0esr/dom/webtransport/test/xpcshell/test_simple_conn.js 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/webtransport/test/xpcshell/test_simple_conn.js 2026-07-21 21:32:56.000000000 +0000 @@ -7,8 +7,6 @@ // * session and stream creation // * reading from incoming streams (uni) // -// keep eslint happy until it knows about WebTransport -/* global WebTransport:false */ "use strict"; @@ -20,8 +18,6 @@ registerCleanupFunction(async () => { Services.prefs.clearUserPref("network.dns.localDomains"); - Services.prefs.clearUserPref("network.webtransport.enabled"); - Services.prefs.clearUserPref("network.webtransport.datagrams.enabled"); Services.prefs.clearUserPref("network.webtransport.redirect.enabled"); }); @@ -50,8 +46,6 @@ add_setup(async function setup() { Services.prefs.setCharPref("network.dns.localDomains", "foo.example.com"); - Services.prefs.setBoolPref("network.webtransport.enabled", true); - Services.prefs.setBoolPref("network.webtransport.datagrams.enabled", true); Services.prefs.setBoolPref("network.webtransport.redirect.enabled", true); h3Port = Services.env.get("MOZHTTP3_PORT"); @@ -72,13 +66,13 @@ }); add_task(async function test_webtransport_create() { - const wt = new WebTransport("https://" + host + "/success"); + const wt = newWebTransport("https://" + host + "/success"); await wt.ready; wt.close(); }); add_task(async function test_redirect_wt() { - let wt = new WebTransport("https://" + host + "/redirect"); + let wt = newWebTransport("https://" + host + "/redirect"); const e1 = await wt.ready.catch(e => e); const e2 = await wt.closed.catch(e => e); @@ -87,7 +81,7 @@ }); add_task(async function test_reject_wt() { - let wt = new WebTransport("https://" + host + "/reject"); + let wt = newWebTransport("https://" + host + "/reject"); const e1 = await wt.ready.catch(e => e); const e2 = await wt.closed.catch(e => e); Assert.equal(e1, "WebTransportError: WebTransport connection rejected"); @@ -95,21 +89,21 @@ }); add_task(async function test_immediate_server_close() { - let wt = new WebTransport("https://" + host + "/closeafter0ms"); + let wt = newWebTransport("https://" + host + "/closeafter0ms"); await wt.ready; await wt.closed; Assert.ok(true); }); add_task(async function test_delayed_server_close() { - let wt = new WebTransport("https://" + host + "/closeafter100ms"); + let wt = newWebTransport("https://" + host + "/closeafter100ms"); await wt.ready; await wt.closed; Assert.ok(true); }); add_task(async function test_wt_stream_create_bidi() { - let wt = new WebTransport("https://" + host + "/success"); + let wt = newWebTransport("https://" + host + "/success"); await wt.ready; let bds = await wt.createBidirectionalStream(); @@ -120,7 +114,7 @@ }); add_task(async function test_wt_stream_create_uni() { - let wt = new WebTransport("https://" + host + "/success"); + let wt = newWebTransport("https://" + host + "/success"); await wt.ready; let uds = await wt.createUnidirectionalStream(); diff -Nru thunderbird-140.12.0esr/dom/webtransport/test/xpcshell/test_simple_stream.js thunderbird-140.13.0esr/dom/webtransport/test/xpcshell/test_simple_stream.js --- thunderbird-140.12.0esr/dom/webtransport/test/xpcshell/test_simple_stream.js 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/webtransport/test/xpcshell/test_simple_stream.js 2026-07-21 21:32:56.000000000 +0000 @@ -2,10 +2,6 @@ * 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/. */ -// keep eslint happy until it knows about WebTransport -/* global WebTransport:false */ -/* global TextDecoderStream:false */ - // Using multiple files to reduce racing // This file tests reading/writing to incoming/outgoing streams (uni & bidi) // @@ -16,8 +12,6 @@ registerCleanupFunction(async () => { Services.prefs.clearUserPref("network.dns.localDomains"); - Services.prefs.clearUserPref("network.webtransport.enabled"); - Services.prefs.clearUserPref("network.webtransport.datagrams.enabled"); Services.prefs.clearUserPref("network.webtransport.redirect.enabled"); }); @@ -46,8 +40,6 @@ add_setup(async function setup() { Services.prefs.setCharPref("network.dns.localDomains", "foo.example.com"); - Services.prefs.setBoolPref("network.webtransport.enabled", true); - Services.prefs.setBoolPref("network.webtransport.datagrams.enabled", true); Services.prefs.setBoolPref("network.webtransport.redirect.enabled", true); h3Port = Services.env.get("MOZHTTP3_PORT"); @@ -70,7 +62,7 @@ // Read all chunks from |readable_stream|, decode chunks to a utf-8 string, then // return the string. (borrowed from wpt tests) async function read_stream_as_string(readable_stream) { - const decoder = new TextDecoderStream(); + const decoder = new (webTransportWindow().TextDecoderStream)(); const decode_stream = readable_stream.pipeThrough(decoder); const reader = decode_stream.getReader(); @@ -88,7 +80,7 @@ add_task(async function test_wt_incoming_unidi_stream() { // trigger stream creation server side and default echo - let wt = new WebTransport( + let wt = newWebTransport( "https://" + host + "/create_unidi_stream_and_hello" ); await wt.ready; @@ -106,7 +98,7 @@ add_task(async function test_wt_incoming_and_outgoing_unidi_stream() { // create the client's incoming stream from the server side // we need it to listen to the echo back - let wt = new WebTransport("https://" + host + "/create_unidi_stream"); + let wt = newWebTransport("https://" + host + "/create_unidi_stream"); await wt.ready; // send hello to server @@ -114,7 +106,7 @@ let writableStream = await wt.createUnidirectionalStream(); // only triggers NewStream OnWrite let wsDefaultWriter = writableStream.getWriter(); await wsDefaultWriter.ready; - let data = new TextEncoder().encode(expected); + let data = new (webTransportWindow().TextEncoder)().encode(expected); await wsDefaultWriter.write(data); // triggers Http3ServerEvent::Data await wsDefaultWriter.close(); wsDefaultWriter.releaseLock(); @@ -132,7 +124,7 @@ }); add_task(async function test_wt_outgoing_bidi_stream() { - let wt = new WebTransport("https://" + host + "/success"); + let wt = newWebTransport("https://" + host + "/success"); await wt.ready; // write to server @@ -141,7 +133,7 @@ let wsDefaultWriter = writableStream.getWriter(); await wsDefaultWriter.ready; let expected = "xyzhello"; - let data = new TextEncoder().encode(expected); + let data = new (webTransportWindow().TextEncoder)().encode(expected); await wsDefaultWriter.write(data); await wsDefaultWriter.close(); wsDefaultWriter.releaseLock(); @@ -154,9 +146,7 @@ }); add_task(async function test_wt_incoming_bidi_stream() { - let wt = new WebTransport( - "https://" + host + "/create_bidi_stream_and_hello" - ); + let wt = newWebTransport("https://" + host + "/create_bidi_stream_and_hello"); // await wt.ready; // causes occasional hang on release --verify const stream_reader = wt.incomingBidirectionalStreams.getReader(); @@ -170,7 +160,7 @@ }); add_task(async function test_wt_incoming_bidi_stream_huge_data() { - let wt = new WebTransport( + let wt = newWebTransport( "https://" + host + "/create_bidi_stream_and_large_data" ); // await wt.ready; // causes occasional hang on release --verify diff -Nru thunderbird-140.12.0esr/dom/webtransport/test/xpcshell/xpcshell.toml thunderbird-140.13.0esr/dom/webtransport/test/xpcshell/xpcshell.toml --- thunderbird-140.12.0esr/dom/webtransport/test/xpcshell/xpcshell.toml 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/webtransport/test/xpcshell/xpcshell.toml 2026-07-21 21:32:56.000000000 +0000 @@ -3,7 +3,10 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. [DEFAULT] -run-if = ["!socketprocess_networking"] +head = "head.js" +run-if = [ + "!socketprocess_networking", +] # XXX figure out why android doesn't get MOZHTTP3_PORT skip-if = [ "os == 'android' && android_version == '24' && processor == 'x86_64'", diff -Nru thunderbird-140.12.0esr/dom/workers/ScriptLoader.cpp thunderbird-140.13.0esr/dom/workers/ScriptLoader.cpp --- thunderbird-140.12.0esr/dom/workers/ScriptLoader.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/workers/ScriptLoader.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -1465,7 +1465,7 @@ if (!mWorkerRef->Private()->IsServiceWorker() || mScriptLoader->IsDebuggerScript()) { for (ThreadSafeRequestHandle* handle : mLoadingRequests) { - handle->mRunnable = this; + handle->SetRunnable(this); } for (ThreadSafeRequestHandle* handle : mLoadingRequests) { @@ -1484,7 +1484,7 @@ mCacheCreator = new CacheCreator(mWorkerRef->Private()); for (ThreadSafeRequestHandle* handle : mLoadingRequests) { - handle->mRunnable = this; + handle->SetRunnable(this); WorkerLoadContext* loadContext = handle->GetContext(); mCacheCreator->AddLoader(MakeNotNull>( mWorkerRef, handle, loadContext->IsTopLevel(), diff -Nru thunderbird-140.12.0esr/dom/workers/loader/CacheLoadHandler.cpp thunderbird-140.13.0esr/dom/workers/loader/CacheLoadHandler.cpp --- thunderbird-140.12.0esr/dom/workers/loader/CacheLoadHandler.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/workers/loader/CacheLoadHandler.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -92,7 +92,7 @@ // This will delete the cache object and will call LoadingFinished() with an // error for each ongoing operation. - auto* cacheCreator = mRequestHandle->GetCacheCreator(); + RefPtr cacheCreator = mRequestHandle->GetCacheCreator(); if (cacheCreator) { cacheCreator->DeleteCache(NS_ERROR_FAILURE); } @@ -292,6 +292,14 @@ loadContext->mLoadResult = aRv; mRequestHandle->MaybeExecuteFinishedScripts(); } else { + if (loadContext->mChannel) { + nsresult rv = loadContext->mChannel->Cancel(aRv); + if (NS_SUCCEEDED(rv)) { + return; + } + + NS_WARNING("Failed to cancel channel!"); + } mRequestHandle->LoadingFinished(aRv); } } @@ -435,7 +443,7 @@ loadContext->mCacheStatus = WorkerLoadContext::Cached; if (mRequestHandle->IsCancelled()) { - auto* cacheCreator = mRequestHandle->GetCacheCreator(); + RefPtr cacheCreator = mRequestHandle->GetCacheCreator(); if (cacheCreator) { cacheCreator->DeleteCache(mRequestHandle->GetCancelResult()); } diff -Nru thunderbird-140.12.0esr/dom/workers/loader/NetworkLoadHandler.cpp thunderbird-140.13.0esr/dom/workers/loader/NetworkLoadHandler.cpp --- thunderbird-140.12.0esr/dom/workers/loader/NetworkLoadHandler.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/dom/workers/loader/NetworkLoadHandler.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -355,8 +355,13 @@ ir->SetPrincipalInfo(std::move(principalInfo)); ir->Headers()->FillResponseHeaders(channel); + RefPtr cacheCreator = mRequestHandle->GetCacheCreator(); + if (NS_WARN_IF(!cacheCreator)) { + return NS_ERROR_FAILURE; + } + RefPtr response = new mozilla::dom::Response( - mRequestHandle->GetCacheCreator()->Global(), std::move(ir), nullptr); + cacheCreator->Global(), std::move(ir), nullptr); mozilla::dom::RequestOrUTF8String request; @@ -370,8 +375,7 @@ ErrorResult error; RefPtr cachePromise = - mRequestHandle->GetCacheCreator()->Cache_()->Put(jsapi.cx(), request, - *response, error); + cacheCreator->Cache_()->Put(jsapi.cx(), request, *response, error); error.WouldReportJSException(); if (NS_WARN_IF(error.Failed())) { return error.StealNSResult(); diff -Nru thunderbird-140.12.0esr/dom/workers/loader/WorkerLoadContext.cpp thunderbird-140.13.0esr/dom/workers/loader/WorkerLoadContext.cpp --- thunderbird-140.12.0esr/dom/workers/loader/WorkerLoadContext.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/workers/loader/WorkerLoadContext.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -26,36 +26,93 @@ JS::loader::ScriptLoadRequest* aRequest, nsISerialEventTarget* aSyncTarget) : mRequest(aRequest), mOwningEventTarget(aSyncTarget) {} +void ThreadSafeRequestHandle::SetRunnable( + workerinternals::loader::ScriptLoaderRunnable* aRunnable) { + MutexAutoLock lock(mMutex); + mRunnable = aRunnable; +} + already_AddRefed ThreadSafeRequestHandle::ReleaseRequest() { RefPtr request; - mRequest.swap(request); - mRunnable = nullptr; + RefPtr runnable; + { + MutexAutoLock lock(mMutex); + mRequest.swap(request); + mRunnable.swap(runnable); + } + // Drop the last reference to the runnable, if any, outside of the lock so it + // is never destroyed while mMutex is held. return request.forget(); } nsresult ThreadSafeRequestHandle::OnStreamComplete(nsresult aStatus) { - return mRunnable->OnStreamComplete(this, aStatus); + RefPtr runnable; + { + MutexAutoLock lock(mMutex); + runnable = mRunnable; + } + if (!runnable) { + return NS_OK; + } + return runnable->OnStreamComplete(this, aStatus); } void ThreadSafeRequestHandle::LoadingFinished(nsresult aRv) { - mRunnable->LoadingFinished(this, aRv); + RefPtr runnable; + { + MutexAutoLock lock(mMutex); + runnable = mRunnable; + } + if (!runnable) { + return; + } + runnable->LoadingFinished(this, aRv); } void ThreadSafeRequestHandle::MaybeExecuteFinishedScripts() { - mRunnable->MaybeExecuteFinishedScripts(this); + RefPtr runnable; + { + MutexAutoLock lock(mMutex); + runnable = mRunnable; + } + if (!runnable) { + return; + } + runnable->MaybeExecuteFinishedScripts(this); +} + +bool ThreadSafeRequestHandle::IsCancelled() { + RefPtr runnable; + { + MutexAutoLock lock(mMutex); + runnable = mRunnable; + } + return runnable && runnable->IsCancelled(); } -bool ThreadSafeRequestHandle::IsCancelled() { return mRunnable->IsCancelled(); } - nsresult ThreadSafeRequestHandle::GetCancelResult() { - return mRunnable->GetCancelResult(); + RefPtr runnable; + { + MutexAutoLock lock(mMutex); + runnable = mRunnable; + } + return runnable ? runnable->GetCancelResult() : NS_OK; } -workerinternals::loader::CacheCreator* +already_AddRefed ThreadSafeRequestHandle::GetCacheCreator() { AssertIsOnMainThread(); - return mRunnable->GetCacheCreator(); + MutexAutoLock lock(mMutex); + if (!mRunnable) { + return nullptr; + } + // Return a strong reference so the CacheCreator stays alive for the caller + // even if the runnable is released on the worker thread once we drop the + // lock. + RefPtr cacheCreator = + mRunnable->GetCacheCreator(); + return cacheCreator.forget(); } ThreadSafeRequestHandle::~ThreadSafeRequestHandle() { diff -Nru thunderbird-140.12.0esr/dom/workers/loader/WorkerLoadContext.h thunderbird-140.13.0esr/dom/workers/loader/WorkerLoadContext.h --- thunderbird-140.12.0esr/dom/workers/loader/WorkerLoadContext.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/dom/workers/loader/WorkerLoadContext.h 2026-07-21 21:32:56.000000000 +0000 @@ -11,6 +11,7 @@ #include "nsIInputStream.h" #include "nsIRequest.h" #include "mozilla/CORSMode.h" +#include "mozilla/Mutex.h" #include "mozilla/dom/Promise.h" #include "js/loader/ScriptKind.h" #include "js/loader/ScriptLoadRequest.h" @@ -185,6 +186,9 @@ bool IsEmpty() { return !mRequest; } + // Sets the owning runnable. Called on the main thread before loading begins. + void SetRunnable(workerinternals::loader::ScriptLoaderRunnable* aRunnable); + // Runnable controls nsresult OnStreamComplete(nsresult aStatus); @@ -202,15 +206,21 @@ already_AddRefed ReleaseRequest(); - workerinternals::loader::CacheCreator* GetCacheCreator(); - - RefPtr mRunnable; + already_AddRefed GetCacheCreator(); bool mExecutionScheduled = false; private: ~ThreadSafeRequestHandle(); + // Protects mRunnable, which is read on the main thread by the accessors above + // but cleared on the worker thread by ReleaseRequest(). Without this lock the + // unsynchronized read/write races and the ScriptLoaderRunnable can be freed + // while a main-thread accessor is dereferencing it. + mozilla::Mutex mMutex{"ThreadSafeRequestHandle::mMutex"}; + RefPtr mRunnable + MOZ_GUARDED_BY(mMutex); + RefPtr mRequest; nsCOMPtr mOwningEventTarget; }; diff -Nru thunderbird-140.12.0esr/editor/libeditor/CompositionTransaction.cpp thunderbird-140.13.0esr/editor/libeditor/CompositionTransaction.cpp --- thunderbird-140.12.0esr/editor/libeditor/CompositionTransaction.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/editor/libeditor/CompositionTransaction.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -37,14 +37,7 @@ // in it. EditorDOMPointInText pointToInsert; if (Text* textNode = composition->GetContainerTextNode()) { - pointToInsert.Set(textNode, composition->XPOffsetInTextNode()); - NS_WARNING_ASSERTION( - pointToInsert.GetContainerAs() == - composition->GetContainerTextNode(), - "The editor tries to insert composition string into different node"); - NS_WARNING_ASSERTION( - pointToInsert.Offset() == composition->XPOffsetInTextNode(), - "The editor tries to insert composition string into different offset"); + pointToInsert.Set(textNode, composition->ClampedStartOffsetInTextNode()); } else { pointToInsert = aPointToInsert; } @@ -61,7 +54,10 @@ EditorBase& aEditorBase, const nsAString& aStringToInsert, const EditorDOMPointInText& aPointToInsert) : mOffset(aPointToInsert.Offset()), - mReplaceLength(aEditorBase.GetComposition()->XPLengthInTextNode()), + mReplaceOffset( + aEditorBase.GetComposition()->StartOffsetMaybeInFollowingTextNode()), + mReplaceLength( + aEditorBase.GetComposition()->LengthMaybeInFollowingTextNode()), mRanges(aEditorBase.GetComposition()->GetRanges()), mStringToInsert(aStringToInsert), mEditorBase(&aEditorBase), @@ -113,10 +109,11 @@ if (NS_WARN_IF(!mEditorBase)) { return NS_ERROR_NOT_AVAILABLE; } - const RefPtr textNode = GetTextNode(); + RefPtr textNode = GetTextNode(); if (NS_WARN_IF(!textNode)) { return NS_ERROR_NOT_AVAILABLE; } + uint32_t offsetInTextNode = mOffset; // Fail before making any changes if there's no selection controller if (NS_WARN_IF(!mEditorBase->GetSelectionController())) { @@ -143,14 +140,56 @@ // that composition string has never touched by JS. However, it // would occur if the web app is a corrabolation software which // multiple users can modify anyware in an editor. - // TODO: And if composition starts from a following text node, the offset - // here is outdated and it will cause inserting composition string - // **before** the proper point from point of view of the users. - uint32_t replaceableLength = textNode->TextLength() - mOffset; + const auto [replaceStartInFirstText, replaceableLengthInFirstText] = + [&]() MOZ_NEVER_INLINE_DEBUG -> std::pair { + // TextEditor always works with a single `Text` which cannot be split by + // the app. Therefore, we can just clamp the range into the `Text`. + if (MOZ_LIKELY(mReplaceOffset <= textNode->TextDataLength() || + mEditorBase->IsTextEditor())) { + const uint32_t lengthInFirstText = + std::min(mReplaceLength, + static_cast(std::max( + textNode->TextDataLength() - mReplaceOffset, 0))); + return {std::min(mReplaceOffset, textNode->TextDataLength()), + lengthInFirstText}; + } + // If the editor is an HTMLEditor, we're CompositionInTextNodeTransaction + // and its mTextNode may not have the composition string already. If the + // range is still in the following `Text`, we should adjust the range in + // the following `Text`. + Text* compositionStartTextNode = textNode; + uint32_t startOffsetOfCompositionStartTextNode = 0; + uint32_t endOffsetOfCompositionStartTextNode = + compositionStartTextNode->TextDataLength(); + for (RefPtr text = + Text::FromNodeOrNull(compositionStartTextNode->GetNextSibling()); + text; text = Text::FromNodeOrNull( + compositionStartTextNode->GetNextSibling())) { + compositionStartTextNode = text; + startOffsetOfCompositionStartTextNode = + endOffsetOfCompositionStartTextNode; + endOffsetOfCompositionStartTextNode += + compositionStartTextNode->TextDataLength(); + if (MOZ_LIKELY(mReplaceOffset <= endOffsetOfCompositionStartTextNode)) { + break; + } + } + textNode = compositionStartTextNode; + offsetInTextNode = mReplaceOffset - startOffsetOfCompositionStartTextNode; + const uint32_t replaceEndOffset = mReplaceOffset + mReplaceLength; + const uint32_t replaceEndOffsetInCompositionStartTextNode = + std::min(replaceEndOffset - startOffsetOfCompositionStartTextNode, + endOffsetOfCompositionStartTextNode); + return {offsetInTextNode, + replaceEndOffsetInCompositionStartTextNode - offsetInTextNode}; + }(); IgnoredErrorResult error; - editorBase->DoReplaceText(*textNode, mOffset, mReplaceLength, - mStringToInsert, error); - if (error.Failed()) { + // FIXME: If mStringToInsert is empty string and mOffset is 0 in HTMLEditor, + // we should delete the `Text` instead. See bug 2019186. + editorBase->DoReplaceText(*textNode, replaceStartInFirstText, + replaceableLengthInFirstText, mStringToInsert, + error); + if (MOZ_UNLIKELY(error.Failed())) { NS_WARNING("EditorBase::DoReplaceText() failed"); return error.StealNSResult(); } @@ -158,48 +197,52 @@ // Don't use RangeUpdaterRef().SelAdjReplaceText() here because undoing // this transaction will remove whole composition string. Therefore, // selection should be restored at start of composition string. - // XXX Perhaps, this is a bug of our selection managemnt at undoing. - editorBase->RangeUpdaterRef().SelAdjDeleteText(*textNode, mOffset, - replaceableLength); + // XXX Perhaps, this is a bug of our selection management at undoing. + editorBase->RangeUpdaterRef().SelAdjDeleteText( + *textNode, replaceStartInFirstText, replaceableLengthInFirstText); // But some ranges which after the composition string should be restored // as-is. - editorBase->RangeUpdaterRef().SelAdjInsertText(*textNode, mOffset, - mStringToInsert.Length()); + editorBase->RangeUpdaterRef().SelAdjInsertText( + *textNode, replaceStartInFirstText, mStringToInsert.Length()); - if (replaceableLength < mReplaceLength) { + if (replaceableLengthInFirstText < mReplaceLength) { // XXX Perhaps, scanning following sibling text nodes with composition // string length which we know is wrong because there may be // non-empty text nodes which are inserted by JS. Instead, we // should remove all text in the ranges of IME selections. - uint32_t remainLength = mReplaceLength - replaceableLength; + uint32_t remainingLength = mReplaceLength - replaceableLengthInFirstText; IgnoredErrorResult ignoredError; - for (nsIContent* nextSibling = textNode->GetNextSibling(); - nextSibling && nextSibling->IsText() && remainLength; - nextSibling = nextSibling->GetNextSibling()) { - OwningNonNull followingTextNode = - *static_cast(nextSibling); - uint32_t textLength = followingTextNode->TextLength(); - editorBase->DoDeleteText(followingTextNode, 0, remainLength, - ignoredError); + for (RefPtr text = Text::FromNodeOrNull(textNode->GetNextSibling()); + text && remainingLength; + text = Text::FromNodeOrNull(text->GetNextSibling())) { + const uint32_t deletableLengthInText = + std::min(text->TextDataLength(), remainingLength); + // FIXME: We should delete the Text when all of its data is deleted + // now and we're working for HTMLEditor, see bug 2019186. + editorBase->DoDeleteText(*text, 0, deletableLengthInText, ignoredError); NS_WARNING_ASSERTION(!ignoredError.Failed(), "EditorBase::DoDeleteText() failed, but ignored"); ignoredError.SuppressException(); - // XXX Needs to check whether the text is deleted as expected. - editorBase->RangeUpdaterRef().SelAdjDeleteText(followingTextNode, 0, - remainLength); - remainLength -= textLength; + editorBase->RangeUpdaterRef().SelAdjDeleteText(*text, 0, + deletableLengthInText); + remainingLength -= deletableLengthInText; } } } - nsresult rv = SetSelectionForRanges(); + nsresult rv = SetSelectionForRanges(*textNode, offsetInTextNode); NS_WARNING_ASSERTION( NS_SUCCEEDED(rv), "CompositionTransaction::SetSelectionForRanges() failed"); if (TextComposition* composition = editorBase->GetComposition()) { composition->OnUpdateCompositionInEditor(mStringToInsert, *textNode, - mOffset); + offsetInTextNode); + } + + if (MOZ_UNLIKELY(GetTextNode() != textNode)) { + MOZ_ASSERT(editorBase->IsHTMLEditor()); + UpdateTextNodeAndOffset(*textNode, offsetInTextNode); } return rv; @@ -288,17 +331,14 @@ /* ============ private methods ================== */ -nsresult CompositionTransaction::SetSelectionForRanges() { +nsresult CompositionTransaction::SetSelectionForRanges(Text& aText, + uint32_t aOffset) { if (NS_WARN_IF(!mEditorBase)) { return NS_ERROR_NOT_AVAILABLE; } - const RefPtr textNode = GetTextNode(); - if (NS_WARN_IF(!textNode)) { - return NS_ERROR_NOT_AVAILABLE; - } const OwningNonNull editorBase = *mEditorBase; RefPtr ranges = mRanges; - nsresult rv = SetIMESelection(editorBase, textNode, mOffset, + nsresult rv = SetIMESelection(editorBase, &aText, aOffset, mStringToInsert.Length(), ranges); NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "CompositionTransaction::SetIMESelection() failed"); diff -Nru thunderbird-140.12.0esr/editor/libeditor/CompositionTransaction.h thunderbird-140.13.0esr/editor/libeditor/CompositionTransaction.h --- thunderbird-140.12.0esr/editor/libeditor/CompositionTransaction.h 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/editor/libeditor/CompositionTransaction.h 2026-07-21 21:32:56.000000000 +0000 @@ -74,10 +74,20 @@ protected: virtual ~CompositionTransaction() = default; - MOZ_CAN_RUN_SCRIPT nsresult SetSelectionForRanges(); + virtual void UpdateTextNodeAndOffset(dom::Text& aText, uint32_t aOffset) { + MOZ_DIAGNOSTIC_ASSERT(GetTextNode() == &aText, + "If mEditorBase is a TextEditor, we should work only " + "with the single Text"); + mOffset = aOffset; + } - // The offsets in the text node where the insertion should be placed. + MOZ_CAN_RUN_SCRIPT nsresult SetSelectionForRanges(dom::Text& aText, + uint32_t aOffset); + + // The offsets in the `Text` node where the insertion should be placed. uint32_t mOffset; + // The replace range in the original `Text` even if it's split and shrunken. + uint32_t mReplaceOffset; uint32_t mReplaceLength; // The range list. @@ -118,6 +128,11 @@ // The text element to operate upon. RefPtr mTextNode; + void UpdateTextNodeAndOffset(dom::Text& aText, uint32_t aOffset) final { + mTextNode = &aText; + CompositionTransaction::UpdateTextNodeAndOffset(aText, aOffset); + } + friend class CompositionTransaction; }; diff -Nru thunderbird-140.12.0esr/editor/libeditor/EditorBase.cpp thunderbird-140.13.0esr/editor/libeditor/EditorBase.cpp --- thunderbird-140.12.0esr/editor/libeditor/EditorBase.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/editor/libeditor/EditorBase.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -3527,10 +3527,8 @@ if (NS_WARN_IF(!mComposition->GetContainerTextNode())) { return aPointToInsert; } - return EditorDOMPointInText( - mComposition->GetContainerTextNode(), - std::min(mComposition->XPOffsetInTextNode(), - mComposition->GetContainerTextNode()->TextDataLength())); + return EditorDOMPointInText(mComposition->GetContainerTextNode(), + mComposition->ClampedStartOffsetInTextNode()); }(); EditorDOMPoint endOfInsertedText( @@ -4120,9 +4118,9 @@ if (IsHTMLEditor() && mComposition->GetContainerTextNode()) { RefPtr targetRange = StaticRange::Create( mComposition->GetContainerTextNode(), - mComposition->XPOffsetInTextNode(), + mComposition->ClampedStartOffsetInTextNode(), mComposition->GetContainerTextNode(), - mComposition->XPEndOffsetInTextNode(), IgnoreErrors()); + mComposition->ClampedEndOffsetInTextNode(), IgnoreErrors()); NS_WARNING_ASSERTION(targetRange && targetRange->IsPositioned(), "StaticRange::Create() failed"); if (targetRange && targetRange->IsPositioned()) { @@ -5902,18 +5900,19 @@ MOZ_ASSERT(textNode, "There must be text node if composition string is not empty"); if (textNode) { - MOZ_ASSERT(textNode->Length() >= mComposition->XPEndOffsetInTextNode(), + MOZ_ASSERT(textNode->Length() >= + mComposition->EndOffsetMaybeInFollowingTextNode(), "The text node must be different from the old text node"); RefPtr ranges = mComposition->GetRanges(); DebugOnly rvIgnored = CompositionTransaction::SetIMESelection( - *this, textNode, mComposition->XPOffsetInTextNode(), - mComposition->XPLengthInTextNode(), ranges); + *this, textNode, mComposition->StartOffsetMaybeInFollowingTextNode(), + mComposition->LengthMaybeInFollowingTextNode(), ranges); NS_WARNING_ASSERTION( NS_SUCCEEDED(rvIgnored), "CompositionTransaction::SetIMESelection() failed, but ignored"); mComposition->OnUpdateCompositionInEditor( mComposition->String(), *textNode, - mComposition->XPOffsetInTextNode()); + mComposition->StartOffsetMaybeInFollowingTextNode()); } } diff -Nru thunderbird-140.12.0esr/editor/libeditor/TextEditSubActionHandler.cpp thunderbird-140.13.0esr/editor/libeditor/TextEditSubActionHandler.cpp --- thunderbird-140.12.0esr/editor/libeditor/TextEditSubActionHandler.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/editor/libeditor/TextEditSubActionHandler.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -379,7 +379,7 @@ uint32_t start = 0; if (IsPasswordEditor()) { if (GetComposition() && !GetComposition()->String().IsEmpty()) { - start = GetComposition()->XPOffsetInTextNode(); + start = GetComposition()->ClampedStartOffsetInTextNode(); } else { uint32_t end = 0; nsContentUtils::GetSelectionInTextControl(&SelectionRef(), GetRoot(), diff -Nru thunderbird-140.12.0esr/editor/libeditor/WhiteSpaceVisibilityKeeper.cpp thunderbird-140.13.0esr/editor/libeditor/WhiteSpaceVisibilityKeeper.cpp --- thunderbird-140.12.0esr/editor/libeditor/WhiteSpaceVisibilityKeeper.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/editor/libeditor/WhiteSpaceVisibilityKeeper.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -1749,6 +1749,9 @@ MOZ_ASSERT(rangeToDelete.StartRef().EqualsOrIsBefore(pointToSplit)); rangeToDelete.SetEnd(std::move(pointToSplit)); } + if (NS_WARN_IF(!rangeToDelete.IsPositionedAndValidInComposedDoc())) { + return Err(NS_ERROR_EDITOR_UNEXPECTED_DOM_TREE); + } } else { AutoTrackDOMRange trackRangeToDelete(aHTMLEditor.RangeUpdaterRef(), &rangeToDelete); @@ -1810,6 +1813,9 @@ return afterLastVisibleThingOrError.propagateErr(); } trackRangeToDelete.FlushAndStopTracking(); + if (NS_WARN_IF(!rangeToDelete.IsPositionedAndValidInComposedDoc())) { + return Err(NS_ERROR_EDITOR_UNEXPECTED_DOM_TREE); + } EditorDOMPoint pointToSplit = afterLastVisibleThingOrError.unwrap(); if (pointToSplit.IsSet() && pointToSplit != rangeToDelete.StartRef()) { MOZ_ASSERT(pointToSplit.EqualsOrIsBefore(rangeToDelete.EndRef())); diff -Nru thunderbird-140.12.0esr/editor/libeditor/tests/mochitest.toml thunderbird-140.13.0esr/editor/libeditor/tests/mochitest.toml --- thunderbird-140.12.0esr/editor/libeditor/tests/mochitest.toml 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/editor/libeditor/tests/mochitest.toml 2026-07-21 21:32:55.000000000 +0000 @@ -418,6 +418,8 @@ ["test_composition_event_created_in_chrome.html"] +["test_composition_modified_as_multiple_text_nodes.html"] + ["test_composition_with_highlight_in_texteditor.html"] ["test_contenteditable_copy_empty_selection.html"] diff -Nru thunderbird-140.12.0esr/editor/libeditor/tests/test_composition_modified_as_multiple_text_nodes.html thunderbird-140.13.0esr/editor/libeditor/tests/test_composition_modified_as_multiple_text_nodes.html --- thunderbird-140.12.0esr/editor/libeditor/tests/test_composition_modified_as_multiple_text_nodes.html 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/editor/libeditor/tests/test_composition_modified_as_multiple_text_nodes.html 2026-07-21 21:32:56.000000000 +0000 @@ -0,0 +1,227 @@ + + + + +Testing composition change result after splitting the `Text` containing the composition string + + + + + + +
AB
+ + diff -Nru thunderbird-140.12.0esr/gfx/2d/DrawTargetSkia.cpp thunderbird-140.13.0esr/gfx/2d/DrawTargetSkia.cpp --- thunderbird-140.12.0esr/gfx/2d/DrawTargetSkia.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/2d/DrawTargetSkia.cpp 2026-07-21 21:32:55.000000000 +0000 @@ -29,6 +29,7 @@ #include "skia/src/core/SkWriteBuffer.h" #include "skia/src/shaders/SkEmptyShader.h" #include "Blur.h" +#include "DataSurfaceHelpers.h" #include "Logging.h" #include "Tools.h" #include "PathHelpers.h" @@ -260,30 +261,35 @@ return nullptr; } - // Wrapper surfaces (e.g. SourceSurfaceOffset) can hand back the inner - // SourceSurfaceSkia here; route it through GetImage so copy-on-write - // snapshots are detached/locked rather than borrowing a raw pixel pointer - // that can outlive the originating SkSurface. - if (dataSurface->GetType() == SurfaceType::SKIA) { - return static_cast(dataSurface.get())->GetImage(aLock); - } - DataSourceSurface::MappedSurface map; void (*releaseProc)(const void*, void*); - if (dataSurface->GetType() == SurfaceType::DATA_SHARED_WRAPPER) { - // Technically all surfaces should be mapped and unmapped explicitly but it - // appears SourceSurfaceSkia and DataSourceSurfaceWrapper have issues with - // this. For now, we just map SourceSurfaceSharedDataWrapper to ensure we - // don't unmap the data during the transaction (for blob images). - if (!dataSurface->Map(DataSourceSurface::MapType::READ, &map)) { - gfxWarning() << "Failed mapping DataSourceSurface for Skia image"; - return nullptr; - } - releaseProc = ReleaseTemporaryMappedSurface; - } else { - map.mData = dataSurface->GetData(); - map.mStride = dataSurface->Stride(); - releaseProc = ReleaseTemporarySurface; + switch (dataSurface->GetType()) { + case SurfaceType::SKIA: + // Wrapper surfaces (e.g. SourceSurfaceOffset) can hand back the inner + // SourceSurfaceSkia here; route it through GetImage so copy-on-write + // snapshots are detached/locked rather than borrowing a raw pixel pointer + // that can outlive the originating SkSurface. + return static_cast(dataSurface.get()) + ->GetImage(aLock); + case SurfaceType::DATA_SHARED_WRAPPER: + case SurfaceType::DATA_SHARED: + case SurfaceType::DATA_RECYCLING_SHARED: + // Technically all surfaces should be mapped and unmapped explicitly but + // it appears SourceSurfaceSkia and DataSourceSurfaceWrapper have issues + // with this. For now, we just map SourceSurfaceSharedDataWrapper to + // ensure we don't unmap the data during the transaction (for blob + // images). + if (!dataSurface->Map(DataSourceSurface::MapType::READ, &map)) { + gfxWarning() << "Failed mapping DataSourceSurface for Skia image"; + return nullptr; + } + releaseProc = ReleaseTemporaryMappedSurface; + break; + default: + map.mData = dataSurface->GetData(); + map.mStride = dataSurface->Stride(); + releaseProc = ReleaseTemporarySurface; + break; } DataSourceSurface* surf = dataSurface.forget().take(); @@ -1814,12 +1820,16 @@ } SkSurfaceProps props(0, GetSkPixelGeometry()); + size_t bufSize = BufferSizeFromStrideAndHeight(stride, info.height()); + if (!bufSize) { + return false; + } + if (aFormat == SurfaceFormat::A8) { // Skia does not fully allocate the last row according to stride. // Since some of our algorithms (i.e. blur) depend on this, we must allocate // the bitmap pixels manually. - CheckedInt size = stride; - size *= info.height(); + CheckedInt size = bufSize; // We need to leave room for an additional 3 bytes for a potential overrun // in our blurring code. size += 3; diff -Nru thunderbird-140.12.0esr/gfx/2d/ScaledFontDWrite.cpp thunderbird-140.13.0esr/gfx/2d/ScaledFontDWrite.cpp --- thunderbird-140.12.0esr/gfx/2d/ScaledFontDWrite.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/2d/ScaledFontDWrite.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -710,8 +710,11 @@ already_AddRefed UnscaledFontDWrite::CreateFromFontDescriptor( const uint8_t* aData, uint32_t aDataLength, uint32_t aIndex) { // Note that despite the type of aData here, it actually points to a 16-bit - // Windows font file path (hence the cast to WCHAR* below). - if (aDataLength == 0) { + // Windows font file path (hence the cast to WCHAR* below) and must be null- + // terminated. + const WCHAR* path = (const WCHAR*)aData; + size_t pathLen = aDataLength / sizeof(WCHAR); + if (pathLen < 1 || path[pathLen - 1] != 0) { gfxWarning() << "DWrite font descriptor is truncated."; return nullptr; } @@ -723,7 +726,7 @@ MOZ_SEH_TRY { RefPtr fontFile; - HRESULT hr = factory->CreateFontFileReference((const WCHAR*)aData, nullptr, + HRESULT hr = factory->CreateFontFileReference(path, nullptr, getter_AddRefs(fontFile)); if (FAILED(hr)) { return nullptr; @@ -748,8 +751,9 @@ return unscaledFont.forget(); } MOZ_SEH_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { - gfxCriticalNote << "Exception occurred creating unscaledFont for " - << NS_ConvertUTF16toUTF8((const char16_t*)aData).get(); + gfxCriticalNote + << "Exception occurred creating UnscaledFont for " + << NS_ConvertUTF16toUTF8((const char16_t*)path, pathLen - 1).get(); return nullptr; } } diff -Nru thunderbird-140.12.0esr/gfx/2d/ScaledFontFontconfig.cpp thunderbird-140.13.0esr/gfx/2d/ScaledFontFontconfig.cpp --- thunderbird-140.12.0esr/gfx/2d/ScaledFontFontconfig.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/2d/ScaledFontFontconfig.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -540,10 +540,42 @@ gfxWarning() << "Fontconfig font descriptor is truncated."; return nullptr; } - const char* path = reinterpret_cast(aData); - RefPtr unscaledFont = - new UnscaledFontFontconfig(std::string(path, aDataLength), aIndex); - return unscaledFont.forget(); + nsCString path((const char*)aData, aDataLength); + + // Use the given pathname/index in a fontconfig lookup to confirm this is a + // known font; if not, we'll use whatever fallback it provides instead. + FcPattern* pattern = FcPatternCreate(); + FcPatternAddString(pattern, FC_FILE, (const FcChar8*)path.BeginReading()); + FcPatternAddInteger(pattern, FC_INDEX, aIndex); + FcConfigSubstitute(nullptr, pattern, FcMatchPattern); + FcDefaultSubstitute(pattern); + FcResult result = FcResultMatch; + FcPattern* match = FcFontMatch(nullptr, pattern, &result); + FcPatternDestroy(pattern); + if (!match || result != FcResultMatch) { + gfxWarning() << "FcFontMatch failed."; + return nullptr; + } + + // Get the file and index that fontconfig returned, logging a warning if they + // are not the expected values. + char* file = nullptr; + int index = 0; + result = FcPatternGetString(match, FC_FILE, 0, (FcChar8**)&file); + if (result == FcResultMatch && !path.Equals(file)) { + gfxWarning() << "Font path " << path.get() << " invalid, using " << file; + path = file; + } + result = FcPatternGetInteger(match, FC_INDEX, 0, &index); + // We compare just the low 16 bits of aIndex, as the upper 16 bits appear + // to be used to indicate variable-font instances rather than a collection + // index. + if (result == FcResultMatch && (uint32_t)index != (aIndex & 0xffff)) { + gfxWarning() << "Font index " << aIndex << " invalid, using " << index; + aIndex = index; + } + + return MakeAndAddRef(path.BeginReading(), aIndex); } } // namespace mozilla::gfx diff -Nru thunderbird-140.12.0esr/gfx/2d/SkConvolver.cpp thunderbird-140.13.0esr/gfx/2d/SkConvolver.cpp --- thunderbird-140.12.0esr/gfx/2d/SkConvolver.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/2d/SkConvolver.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -6,6 +6,8 @@ #include "SkConvolver.h" +#include + #ifdef USE_SSE2 # include "mozilla/SSE.h" #endif @@ -408,8 +410,13 @@ float srcPixel = (static_cast(destI) + 0.5f) * invScale; // Compute the (inclusive) range of source pixels the filter covers. - float srcBegin = std::max(0.0f, floorf(srcPixel - srcSupport)); - float srcEnd = std::min(aSrcSize - 1.0f, ceilf(srcPixel + srcSupport)); + // Clamp in the integer domain to avoid float rounding imprecision with + // values near int32 extremes. + int32_t srcBegin = + int32_t(std::clamp(int64_t(floorf(srcPixel - srcSupport)), int64_t(0), + int64_t(aSrcSize) - 1)); + int32_t srcEnd = int32_t(std::clamp(int64_t(ceilf(srcPixel + srcSupport)), + int64_t(0), int64_t(aSrcSize) - 1)); // Compute the unnormalized filter value at each location of the source // it covers. @@ -421,13 +428,14 @@ // example used above the distance from the center of the filter to // the pixel with coordinates (2, 2) should be 0, because its center // is at (2.5, 2.5). - int32_t filterCount = int32_t(srcEnd - srcBegin) + 1; + int32_t filterCount = srcEnd - srcBegin + 1; if (filterCount <= 0 || !filterValues.resize(filterCount) || !fixedFilterValues.resize(filterCount)) { return false; } - float destFilterDist = (srcBegin + 0.5f - srcPixel) * clampedScale; + float destFilterDist = + (static_cast(srcBegin) + 0.5f - srcPixel) * clampedScale; float filterSum = 0.0f; for (int32_t index = 0; index < filterCount; index++) { float filterValue = aBitmapFilter.evaluate(destFilterDist); @@ -454,7 +462,7 @@ ConvolutionFixed leftovers = ToFixed(1) - fixedSum; fixedFilterValues[filterCount / 2] += leftovers; - if (!AddFilter(int32_t(srcBegin), fixedFilterValues.begin(), filterCount)) { + if (!AddFilter(srcBegin, fixedFilterValues.begin(), filterCount)) { fFilters.shrinkTo(oldFiltersLength); fFilterValues.shrinkTo(oldFilterValuesLength); fMaxFilter = oldMaxFilter; diff -Nru thunderbird-140.12.0esr/gfx/angle/checkout/src/compiler/translator/IntermNode.cpp thunderbird-140.13.0esr/gfx/angle/checkout/src/compiler/translator/IntermNode.cpp --- thunderbird-140.12.0esr/gfx/angle/checkout/src/compiler/translator/IntermNode.cpp 2026-06-13 03:47:56.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/angle/checkout/src/compiler/translator/IntermNode.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -839,6 +839,12 @@ const TConstantUnion *TIntermAggregate::getConstantValue() const { + // Cap constant-fold allocations. This runs during parsing, before the + // post-parse ValidateTypeSizeLimitations check that uses the configurable + // ShBuiltInResources limits (which are not accessible here). Firefox + // defaults to MaxPrivateVariableSizeInBytes = 1 MB, so 256K floats. + constexpr size_t kMaxConstantFoldElements = 256 * 1024; + if (!hasConstantValue()) { return nullptr; @@ -850,14 +856,25 @@ if (isArray()) { size_t elementSize = mArguments.front()->getAsTyped()->getType().getObjectSize(); - constArray = new TConstantUnion[elementSize * getOutermostArraySize()]; + angle::CheckedNumeric checkedArraySize = elementSize; + checkedArraySize *= getOutermostArraySize(); + size_t arraySize = 0; + if (!checkedArraySize.AssignIfValid(&arraySize) || arraySize > kMaxConstantFoldElements) + { + return nullptr; + } + constArray = new TConstantUnion[arraySize]; size_t elementOffset = 0u; for (TIntermNode *constructorArg : mArguments) { const TConstantUnion *elementConstArray = constructorArg->getAsTyped()->getConstantValue(); - ASSERT(elementConstArray); + if (!elementConstArray) + { + delete[] constArray; + return nullptr; + } size_t elementSizeBytes = sizeof(TConstantUnion) * elementSize; memcpy(static_cast(&constArray[elementOffset]), static_cast(elementConstArray), elementSizeBytes); @@ -866,8 +883,12 @@ return constArray; } - size_t resultSize = getType().getObjectSize(); - constArray = new TConstantUnion[resultSize]; + size_t resultSize = getType().getObjectSize(); + if (resultSize > kMaxConstantFoldElements) + { + return nullptr; + } + constArray = new TConstantUnion[resultSize]; TBasicType basicType = getBasicType(); size_t resultIndex = 0u; @@ -877,6 +898,11 @@ TIntermNode *argument = mArguments.front(); TIntermTyped *argumentTyped = argument->getAsTyped(); const TConstantUnion *argumentConstantValue = argumentTyped->getConstantValue(); + if (!argumentConstantValue) + { + delete[] constArray; + return nullptr; + } // Check the special case of constructing a matrix diagonal from a single scalar, // or a vector from a single scalar. if (argumentTyped->getType().getObjectSize() == 1u) @@ -949,6 +975,11 @@ TIntermTyped *argumentTyped = argument->getAsTyped(); size_t argumentSize = argumentTyped->getType().getObjectSize(); const TConstantUnion *argumentConstantValue = argumentTyped->getConstantValue(); + if (!argumentConstantValue) + { + delete[] constArray; + return nullptr; + } for (size_t i = 0u; i < argumentSize; ++i) { if (resultIndex >= resultSize) @@ -2239,8 +2270,17 @@ return nullptr; } - const TConstantUnion *leftConstantValue = mLeft->getConstantValue(); - int index = mRight->getConstantValue()->getIConst(); + const TConstantUnion *leftConstantValue = mLeft->getConstantValue(); + if (!leftConstantValue) + { + return nullptr; + } + const TConstantUnion *rightConstantValue = mRight->getConstantValue(); + if (!rightConstantValue) + { + return nullptr; + } + int index = rightConstantValue->getIConst(); const TConstantUnion *constIndexingResult = nullptr; if (mOp == EOpIndexDirect) { diff -Nru thunderbird-140.12.0esr/gfx/angle/checkout/src/compiler/translator/OutputHLSL.cpp thunderbird-140.13.0esr/gfx/angle/checkout/src/compiler/translator/OutputHLSL.cpp --- thunderbird-140.12.0esr/gfx/angle/checkout/src/compiler/translator/OutputHLSL.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/angle/checkout/src/compiler/translator/OutputHLSL.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -3458,11 +3458,15 @@ { if (initializer->hasConstantValue()) { + const TConstantUnion *constValue = initializer->getConstantValue(); + if (!constValue) + { + return false; + } symbolNode->traverse(this); out << ArrayString(symbolNode->getType()); out << " = {"; - writeConstantUnionArray(out, initializer->getConstantValue(), - initializer->getType().getObjectSize()); + writeConstantUnionArray(out, constValue, initializer->getType().getObjectSize()); out << "}"; return true; } diff -Nru thunderbird-140.12.0esr/gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/StateManager11.h thunderbird-140.13.0esr/gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/StateManager11.h --- thunderbird-140.12.0esr/gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/StateManager11.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/StateManager11.h 2026-07-21 21:32:56.000000000 +0000 @@ -575,7 +575,10 @@ size_t size() const { return mCurrentViews.size(); } size_t highestUsed() const { return mHighestUsedView; } - const ViewRecord &operator[](size_t index) const { return mCurrentViews[index]; } + const ViewRecord &operator[](size_t index) const { + if (index >= size()) { FATAL(); } + return mCurrentViews[index]; + } void clear(); void update(size_t resourceIndex, ViewType *view); diff -Nru thunderbird-140.12.0esr/gfx/cairo/cairo/src/cairo-cff-subset.c thunderbird-140.13.0esr/gfx/cairo/cairo/src/cairo-cff-subset.c --- thunderbird-140.12.0esr/gfx/cairo/cairo/src/cairo-cff-subset.c 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/cairo/src/cairo-cff-subset.c 2026-07-21 21:32:56.000000000 +0000 @@ -339,23 +339,9 @@ return p; } -static unsigned char * -decode_operator (unsigned char *p, unsigned short *operator) -{ - unsigned short op = 0; - - op = *p++; - if (op == 12) { - op <<= 8; - op |= *p++; - } - *operator = op; - return p; -} - /* return 0 if not an operand */ static int -operand_length (unsigned char *p) +operand_length (unsigned char *p, unsigned char* end) { unsigned char *begin = p; @@ -372,7 +358,7 @@ return 2; if (*p == 30) { - while ((*p & 0x0f) != 0x0f) + while (p < end && (*p & 0x0f) != 0x0f) p++; return p - begin + 1; } @@ -649,28 +635,40 @@ return CAIRO_STATUS_SUCCESS; } -static cairo_status_t +static cairo_int_status_t cff_dict_read (cairo_hash_table_t *dict, unsigned char *p, int dict_size) { unsigned char *end; cairo_array_t operands; cff_dict_operator_t *op; unsigned short operator; - cairo_status_t status = CAIRO_STATUS_SUCCESS; + cairo_int_status_t status = CAIRO_STATUS_SUCCESS; int size; end = p + dict_size; _cairo_array_init (&operands, 1); while (p < end) { - size = operand_length (p); + size = operand_length (p, end); if (size != 0) { + if (unlikely(size > end - p)) { + status = CAIRO_INT_STATUS_UNSUPPORTED; + goto fail; + } status = _cairo_array_append_multiple (&operands, p, size); if (unlikely (status)) goto fail; p += size; } else { - p = decode_operator (p, &operator); + operator = *p++; + if (operator == 12) { + if (p >= end) { + status = CAIRO_INT_STATUS_UNSUPPORTED; + goto fail; + } + operator <<= 8; + operator |= *p++; + } status = cff_dict_create_operator (operator, _cairo_array_index (&operands, 0), _cairo_array_num_elements (&operands), @@ -980,11 +978,17 @@ type = *p++; if (type == 0) { + if (p + font->num_glyphs > font->data_end) + return CAIRO_INT_STATUS_UNSUPPORTED; for (i = 0; i < font->num_glyphs; i++) font->fdselect[i] = *p++; } else if (type == 3) { + if (p + 2 > font->data_end) + return CAIRO_INT_STATUS_UNSUPPORTED; num_ranges = get_unaligned_be16 (p); p += 2; + if (p + (3 * num_ranges) + 2 > font->data_end) + return CAIRO_INT_STATUS_UNSUPPORTED; for (i = 0; i < num_ranges; i++) { first = get_unaligned_be16 (p); @@ -1081,8 +1085,12 @@ goto fail; } operand = decode_integer (operand, &size); + if (unlikely (size < 0)) { + status = CAIRO_INT_STATUS_UNSUPPORTED; + goto fail; + } decode_integer (operand, &offset); - if (unlikely (offset < 0 || (unsigned long)offset > font->data_length)) { + if (unlikely (offset < 0 || (unsigned long)(size + offset) > font->data_length)) { status = CAIRO_INT_STATUS_UNSUPPORTED; goto fail; } @@ -1247,9 +1255,11 @@ } else { operand = cff_dict_get_operands (font->top_dict, PRIVATE_OP, &size); operand = decode_integer (operand, &size); + if (unlikely (size < 0)) + return CAIRO_INT_STATUS_UNSUPPORTED; decode_integer (operand, &offset); p = font->data + offset; - if (unlikely (p < font->data || p > font->data_end)) + if (unlikely (p < font->data || p + size > font->data_end)) return CAIRO_INT_STATUS_UNSUPPORTED; status = cairo_cff_font_read_private_dict (font, font->private_dict, @@ -1619,6 +1629,8 @@ if (font->is_cid) { fd = font->fdselect[glyph_id]; + if (fd < 0 || (unsigned int) fd >= font->num_fontdicts) + return CAIRO_INT_STATUS_UNSUPPORTED; sub_num = font->type2_stack_top_value + font->fd_local_sub_bias[fd]; if (sub_num < 0 || sub_num >= (int)_cairo_array_num_elements(&font->fd_local_sub_index[fd])) return CAIRO_INT_STATUS_UNSUPPORTED; @@ -1714,6 +1726,8 @@ if (!font->is_opentype) { if (font->is_cid) { fd = font->fdselect[glyph_id]; + if (fd < 0 || (unsigned int) fd >= font->num_fontdicts) + return CAIRO_INT_STATUS_UNSUPPORTED; if (font->type2_found_width) width = font->fd_nominal_width[fd] + font->type2_width; else @@ -1816,6 +1830,8 @@ } else { glyph = font->scaled_font_subset->glyphs[i]; } + if (unlikely (glyph >= (unsigned long) font->num_glyphs)) + return CAIRO_INT_STATUS_UNSUPPORTED; element = _cairo_array_index (&font->charstrings_index, glyph); status = cff_index_append (&font->charstrings_subset_index, element->data, @@ -1885,6 +1901,10 @@ return status; } } + if (unlikely (gid >= (unsigned long) font->num_glyphs)) { + free (reverse_map); + return CAIRO_INT_STATUS_UNSUPPORTED; + } fd = font->fdselect[gid]; if (fd < 0 || (unsigned int) fd >= font->num_fontdicts) { diff -Nru thunderbird-140.12.0esr/gfx/cairo/cairo/src/cairo-ft-font.c thunderbird-140.13.0esr/gfx/cairo/cairo/src/cairo-ft-font.c --- thunderbird-140.12.0esr/gfx/cairo/cairo/src/cairo-ft-font.c 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/cairo/src/cairo-ft-font.c 2026-07-21 21:32:56.000000000 +0000 @@ -1328,12 +1328,21 @@ } else { int i; unsigned char *source, *dest; + /* bitmap->pitch might exceed our computed row stride. + * Copy only the (width+7)/8 payload bytes of each row, + * which always fit in both buffers. */ + int row_bytes = (width + 7) >> 3; + + if (bitmap->pitch < row_bytes) { + free (data); + return _cairo_error (CAIRO_STATUS_INVALID_FORMAT); + } source = bitmap->buffer; dest = data; for (i = height; i; i--) { - memcpy (dest, source, bitmap->pitch); - memset (dest + bitmap->pitch, '\0', stride - bitmap->pitch); + memcpy (dest, source, row_bytes); + memset (dest + row_bytes, '\0', stride - row_bytes); source += bitmap->pitch; dest += stride; diff -Nru thunderbird-140.12.0esr/gfx/cairo/cairo/src/cairo-scaled-font-subsets.c thunderbird-140.13.0esr/gfx/cairo/cairo/src/cairo-scaled-font-subsets.c --- thunderbird-140.12.0esr/gfx/cairo/cairo/src/cairo-scaled-font-subsets.c 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/cairo/src/cairo-scaled-font-subsets.c 2026-07-21 21:32:56.000000000 +0000 @@ -839,6 +839,11 @@ cairo_bool_t has_color; cairo_bool_t is_user; + /* Font backends only ever see the low 24 bits (see + * _cairo_scaled_glyph_index); strip any high bits so the index later + * passed to the subsetters matches the glyph that was actually loaded. */ + scaled_font_glyph_index &= 0xffffff; + /* Lookup glyph in unscaled subsets */ if (subsets->type != CAIRO_SUBSETS_SCALED) { key.is_scaled = FALSE; diff -Nru thunderbird-140.12.0esr/gfx/cairo/cairo/src/cairo-type1-subset.c thunderbird-140.13.0esr/gfx/cairo/cairo/src/cairo-type1-subset.c --- thunderbird-140.12.0esr/gfx/cairo/cairo/src/cairo-type1-subset.c 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/cairo/src/cairo-type1-subset.c 2026-07-21 21:32:56.000000000 +0000 @@ -721,23 +721,27 @@ } } -static const unsigned char * -cairo_type1_font_subset_decode_integer (const unsigned char *p, int *integer) +static cairo_status_t +cairo_type1_font_subset_decode_integer (const unsigned char **p, const unsigned char *end, int *integer) { - if (*p <= 246) { - *integer = *p++ - 139; - } else if (*p <= 250) { - *integer = (p[0] - 247) * 256 + p[1] + 108; - p += 2; - } else if (*p <= 254) { - *integer = -(p[0] - 251) * 256 - p[1] - 108; - p += 2; + const unsigned char *pp = *p; + if (*pp <= 246 && pp + 1 <= end) { + *integer = *pp - 139; + *p += 1; + } else if (*pp <= 250 && pp + 2 <= end) { + *integer = (pp[0] - 247) * 256 + pp[1] + 108; + *p += 2; + } else if (*pp <= 254 && pp + 2 <= end) { + *integer = -(pp[0] - 251) * 256 - pp[1] - 108; + *p += 2; + } else if (pp + 5 <= end) { + *integer = ((uint32_t)pp[1] << 24) | (pp[2] << 16) | (pp[3] << 8) | pp[4]; + *p += 5; } else { - *integer = ((uint32_t)p[1] << 24) | (p[2] << 16) | (p[3] << 8) | p[4]; - p += 5; + return CAIRO_INT_STATUS_UNSUPPORTED; } - return p; + return CAIRO_STATUS_SUCCESS; } static cairo_status_t @@ -945,7 +949,7 @@ break; case TYPE1_CHARSTRING_COMMAND_POP: - if (font->ps_stack.sp < 1) { + if (font->ps_stack.sp < 1 || font->build_stack.sp >= TYPE1_STACKSIZE) { status = CAIRO_INT_STATUS_UNSUPPORTED; goto cleanup; } @@ -962,7 +966,9 @@ /* integer argument */ if (font->build_stack.sp < TYPE1_STACKSIZE) { int val; - p = cairo_type1_font_subset_decode_integer (p, &val); + status = cairo_type1_font_subset_decode_integer (&p, end, &val); + if (unlikely (status)) + goto cleanup; font->build_stack.stack[font->build_stack.sp++] = val; } else { status = CAIRO_INT_STATUS_UNSUPPORTED; diff -Nru thunderbird-140.12.0esr/gfx/cairo/cairo/src/cairoint.h thunderbird-140.13.0esr/gfx/cairo/cairo/src/cairoint.h --- thunderbird-140.12.0esr/gfx/cairo/cairo/src/cairoint.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/cairo/src/cairoint.h 2026-07-21 21:32:56.000000000 +0000 @@ -759,7 +759,7 @@ static inline double cairo_const _cairo_restrict_value (double value, double min, double max) { - if (value < min) + if (!(value >= min)) return min; else if (value > max) return max; diff -Nru thunderbird-140.12.0esr/gfx/cairo/patches/0034-cff-dict-validation.patch thunderbird-140.13.0esr/gfx/cairo/patches/0034-cff-dict-validation.patch --- thunderbird-140.12.0esr/gfx/cairo/patches/0034-cff-dict-validation.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/patches/0034-cff-dict-validation.patch 2026-07-21 21:32:56.000000000 +0000 @@ -0,0 +1,47 @@ +From 24f40ad7b206919879c624ce9cde0cceb2fe43cc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= +Date: Wed, 10 Jun 2026 14:54:33 +0200 +Subject: [PATCH 1/3] [cff-subset] Validate dictionary end. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Emilio Cobos Álvarez +--- + src/cairo-cff-subset.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c +index cfe80688a..61ca4c459 100644 +--- a/src/cairo-cff-subset.c ++++ b/src/cairo-cff-subset.c +@@ -1085,8 +1085,12 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr) + goto fail; + } + operand = decode_integer (operand, &size); ++ if (unlikely (size < 0)) { ++ status = CAIRO_INT_STATUS_UNSUPPORTED; ++ goto fail; ++ } + decode_integer (operand, &offset); +- if (unlikely (offset < 0 || (unsigned long)offset > font->data_length)) { ++ if (unlikely (offset < 0 || (unsigned long)(size + offset) > font->data_length)) { + status = CAIRO_INT_STATUS_UNSUPPORTED; + goto fail; + } +@@ -1251,9 +1255,11 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font) + } else { + operand = cff_dict_get_operands (font->top_dict, PRIVATE_OP, &size); + operand = decode_integer (operand, &size); ++ if (unlikely (size < 0)) ++ return CAIRO_INT_STATUS_UNSUPPORTED; + decode_integer (operand, &offset); + p = font->data + offset; +- if (unlikely (p < font->data || p > font->data_end)) ++ if (unlikely (p < font->data || p + size > font->data_end)) + return CAIRO_INT_STATUS_UNSUPPORTED; + status = cairo_cff_font_read_private_dict (font, + font->private_dict, +-- +2.54.0 + diff -Nru thunderbird-140.12.0esr/gfx/cairo/patches/0035-cff-fdselect-bounds.patch thunderbird-140.13.0esr/gfx/cairo/patches/0035-cff-fdselect-bounds.patch --- thunderbird-140.12.0esr/gfx/cairo/patches/0035-cff-fdselect-bounds.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/patches/0035-cff-fdselect-bounds.patch 2026-07-21 21:32:56.000000000 +0000 @@ -0,0 +1,39 @@ +From a6e6e2ce22aa4a68ab816427ec765a107dd44673 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= +Date: Sat, 13 Jun 2026 16:44:33 +0200 +Subject: [PATCH 2/3] [cff-subset] Add some missing bounds checks to + cairo_cff_font_read_fdselect. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Emilio Cobos Álvarez +--- + src/cairo-cff-subset.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c +index 61ca4c459..64a059c3e 100644 +--- a/src/cairo-cff-subset.c ++++ b/src/cairo-cff-subset.c +@@ -984,11 +984,17 @@ cairo_cff_font_read_fdselect (cairo_cff_font_t *font, unsigned char *p) + type = *p++; + if (type == 0) + { ++ if (p + font->num_glyphs > font->data_end) ++ return CAIRO_INT_STATUS_UNSUPPORTED; + for (i = 0; i < font->num_glyphs; i++) + font->fdselect[i] = *p++; + } else if (type == 3) { ++ if (p + 2 > font->data_end) ++ return CAIRO_INT_STATUS_UNSUPPORTED; + num_ranges = get_unaligned_be16 (p); + p += 2; ++ if (p + (3 * num_ranges) + 2 > font->data_end) ++ return CAIRO_INT_STATUS_UNSUPPORTED; + for (i = 0; i < num_ranges; i++) + { + first = get_unaligned_be16 (p); +-- +2.54.0 + diff -Nru thunderbird-140.12.0esr/gfx/cairo/patches/0036-cff-operator-bounds.patch thunderbird-140.13.0esr/gfx/cairo/patches/0036-cff-operator-bounds.patch --- thunderbird-140.12.0esr/gfx/cairo/patches/0036-cff-operator-bounds.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/patches/0036-cff-operator-bounds.patch 2026-07-21 21:32:56.000000000 +0000 @@ -0,0 +1,99 @@ +From 8239b1b05ebd72502c7b464e36d1e073c2babff6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= +Date: Tue, 16 Jun 2026 01:33:04 +0200 +Subject: [PATCH 3/3] [cff-subset] Check cff dict operator / operand sizes. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Emilio Cobos Álvarez +--- + src/cairo-cff-subset.c | 38 ++++++++++++++++++-------------------- + 1 file changed, 18 insertions(+), 20 deletions(-) + +diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c +index 64a059c3e..0e18b3982 100644 +--- a/src/cairo-cff-subset.c ++++ b/src/cairo-cff-subset.c +@@ -339,23 +339,9 @@ decode_number (unsigned char *p, double *number) + return p; + } + +-static unsigned char * +-decode_operator (unsigned char *p, unsigned short *operator) +-{ +- unsigned short op = 0; +- +- op = *p++; +- if (op == 12) { +- op <<= 8; +- op |= *p++; +- } +- *operator = op; +- return p; +-} +- + /* return 0 if not an operand */ + static int +-operand_length (unsigned char *p) ++operand_length (unsigned char *p, unsigned char* end) + { + unsigned char *begin = p; + +@@ -372,7 +358,7 @@ operand_length (unsigned char *p) + return 2; + + if (*p == 30) { +- while ((*p & 0x0f) != 0x0f) ++ while (p < end && (*p & 0x0f) != 0x0f) + p++; + return p - begin + 1; + } +@@ -649,28 +635,40 @@ cff_dict_create_operator (int operator, + return CAIRO_STATUS_SUCCESS; + } + +-static cairo_status_t ++static cairo_int_status_t + cff_dict_read (cairo_hash_table_t *dict, unsigned char *p, int dict_size) + { + unsigned char *end; + cairo_array_t operands; + cff_dict_operator_t *op; + unsigned short operator; +- cairo_status_t status = CAIRO_STATUS_SUCCESS; ++ cairo_int_status_t status = CAIRO_STATUS_SUCCESS; + int size; + + end = p + dict_size; + _cairo_array_init (&operands, 1); + while (p < end) { +- size = operand_length (p); ++ size = operand_length (p, end); + if (size != 0) { ++ if (unlikely(size > end - p)) { ++ status = CAIRO_INT_STATUS_UNSUPPORTED; ++ goto fail; ++ } + status = _cairo_array_append_multiple (&operands, p, size); + if (unlikely (status)) + goto fail; + + p += size; + } else { +- p = decode_operator (p, &operator); ++ operator = *p++; ++ if (operator == 12) { ++ if (p >= end) { ++ status = CAIRO_INT_STATUS_UNSUPPORTED; ++ goto fail; ++ } ++ operator <<= 8; ++ operator |= *p++; ++ } + status = cff_dict_create_operator (operator, + _cairo_array_index (&operands, 0), + _cairo_array_num_elements (&operands), +-- +2.54.0 + diff -Nru thunderbird-140.12.0esr/gfx/cairo/patches/0037-fdselect-checks.patch thunderbird-140.13.0esr/gfx/cairo/patches/0037-fdselect-checks.patch --- thunderbird-140.12.0esr/gfx/cairo/patches/0037-fdselect-checks.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/patches/0037-fdselect-checks.patch 2026-07-21 21:32:56.000000000 +0000 @@ -0,0 +1,29 @@ +# HG changeset patch +# User Jonathan Kew +# Date 1782235921 -3600 +# Tue Jun 23 18:32:01 2026 +0100 +# Node ID 5692a7add098f9c1c78885dcc1b821ac11fe0ce8 +# Parent 1d143cb49e2179675d69ecc03e2eb4b8dfd7412c +Bug 2048801 - Validate fdselect entries before use. + +diff --git a/gfx/cairo/cairo/src/cairo-cff-subset.c b/gfx/cairo/cairo/src/cairo-cff-subset.c +--- a/gfx/cairo/cairo/src/cairo-cff-subset.c ++++ b/gfx/cairo/cairo/src/cairo-cff-subset.c +@@ -1631,6 +1631,8 @@ cairo_cff_parse_charstring (cairo_cff_fo + + if (font->is_cid) { + fd = font->fdselect[glyph_id]; ++ if (fd < 0 || (unsigned int) fd >= font->num_fontdicts) ++ return CAIRO_INT_STATUS_UNSUPPORTED; + sub_num = font->type2_stack_top_value + font->fd_local_sub_bias[fd]; + if (sub_num < 0 || sub_num >= (int)_cairo_array_num_elements(&font->fd_local_sub_index[fd])) + return CAIRO_INT_STATUS_UNSUPPORTED; +@@ -1726,6 +1728,8 @@ cairo_cff_find_width_and_subroutines_use + if (!font->is_opentype) { + if (font->is_cid) { + fd = font->fdselect[glyph_id]; ++ if (fd < 0 || (unsigned int) fd >= font->num_fontdicts) ++ return CAIRO_INT_STATUS_UNSUPPORTED; + if (font->type2_found_width) + width = font->fd_nominal_width[fd] + font->type2_width; + else diff -Nru thunderbird-140.12.0esr/gfx/cairo/patches/0037-pcf-row_bytes.patch thunderbird-140.13.0esr/gfx/cairo/patches/0037-pcf-row_bytes.patch --- thunderbird-140.12.0esr/gfx/cairo/patches/0037-pcf-row_bytes.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/patches/0037-pcf-row_bytes.patch 2026-07-21 21:32:56.000000000 +0000 @@ -0,0 +1,28 @@ +diff --git a/gfx/cairo/cairo/src/cairo-ft-font.c b/gfx/cairo/cairo/src/cairo-ft-font.c +index 02481e8b06..e9bb193c90 100644 +--- a/gfx/cairo/cairo/src/cairo-ft-font.c ++++ b/gfx/cairo/cairo/src/cairo-ft-font.c +@@ -1330,12 +1330,21 @@ _get_bitmap_surface (FT_Bitmap *bitmap, + } else { + int i; + unsigned char *source, *dest; ++ /* bitmap->pitch might exceed our computed row stride. ++ * Copy only the (width+7)/8 payload bytes of each row, ++ * which always fit in both buffers. */ ++ int row_bytes = (width + 7) >> 3; ++ ++ if (bitmap->pitch < row_bytes) { ++ free (data); ++ return _cairo_error (CAIRO_STATUS_INVALID_FORMAT); ++ } + + source = bitmap->buffer; + dest = data; + for (i = height; i; i--) { +- memcpy (dest, source, bitmap->pitch); +- memset (dest + bitmap->pitch, '\0', stride - bitmap->pitch); ++ memcpy (dest, source, row_bytes); ++ memset (dest + row_bytes, '\0', stride - row_bytes); + + source += bitmap->pitch; + dest += stride; diff -Nru thunderbird-140.12.0esr/gfx/cairo/patches/0038-gid-range-check.patch thunderbird-140.13.0esr/gfx/cairo/patches/0038-gid-range-check.patch --- thunderbird-140.12.0esr/gfx/cairo/patches/0038-gid-range-check.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/patches/0038-gid-range-check.patch 2026-07-21 21:32:56.000000000 +0000 @@ -0,0 +1,46 @@ +# HG changeset patch +# User Jonathan Kew +# Date 1782237080 -3600 +# Tue Jun 23 18:51:20 2026 +0100 +# Node ID c7a4fc2fe90e38d2dff625517bafe8c38d4df720 +# Parent c01a5e2713306294194ba48fafd5f9378cfee3bc +Bug 2049398 - Range-check glyph ID. + +diff --git a/gfx/cairo/cairo/src/cairo-cff-subset.c b/gfx/cairo/cairo/src/cairo-cff-subset.c +--- a/gfx/cairo/cairo/src/cairo-cff-subset.c ++++ b/gfx/cairo/cairo/src/cairo-cff-subset.c +@@ -1832,6 +1832,8 @@ cairo_cff_font_subset_charstrings_and_su + } else { + glyph = font->scaled_font_subset->glyphs[i]; + } ++ if (unlikely (glyph >= (unsigned long) font->num_glyphs)) ++ return CAIRO_INT_STATUS_UNSUPPORTED; + element = _cairo_array_index (&font->charstrings_index, glyph); + status = cff_index_append (&font->charstrings_subset_index, + element->data, +@@ -1901,6 +1903,10 @@ cairo_cff_font_subset_fontdict (cairo_cf + return status; + } + } ++ if (unlikely (gid >= (unsigned long) font->num_glyphs)) { ++ free (reverse_map); ++ return CAIRO_INT_STATUS_UNSUPPORTED; ++ } + + fd = font->fdselect[gid]; + if (fd < 0 || (unsigned int) fd >= font->num_fontdicts) { +diff --git a/gfx/cairo/cairo/src/cairo-scaled-font-subsets.c b/gfx/cairo/cairo/src/cairo-scaled-font-subsets.c +--- a/gfx/cairo/cairo/src/cairo-scaled-font-subsets.c ++++ b/gfx/cairo/cairo/src/cairo-scaled-font-subsets.c +@@ -839,6 +839,11 @@ _cairo_scaled_font_subsets_map_glyph (ca + cairo_bool_t has_color; + cairo_bool_t is_user; + ++ /* Font backends only ever see the low 24 bits (see ++ * _cairo_scaled_glyph_index); strip any high bits so the index later ++ * passed to the subsetters matches the glyph that was actually loaded. */ ++ scaled_font_glyph_index &= 0xffffff; ++ + /* Lookup glyph in unscaled subsets */ + if (subsets->type != CAIRO_SUBSETS_SCALED) { + key.is_scaled = FALSE; diff -Nru thunderbird-140.12.0esr/gfx/cairo/patches/0039-type1-stack-check.patch thunderbird-140.13.0esr/gfx/cairo/patches/0039-type1-stack-check.patch --- thunderbird-140.12.0esr/gfx/cairo/patches/0039-type1-stack-check.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/patches/0039-type1-stack-check.patch 2026-07-21 21:32:56.000000000 +0000 @@ -0,0 +1,20 @@ +# HG changeset patch +# User Jonathan Kew +# Date 1782237528 -3600 +# Tue Jun 23 18:58:48 2026 +0100 +# Node ID 62c3c0c31c94b6e598b0c5a9874e6574be341773 +# Parent 32f715efe1aa84d483a03d4e96e1f80604a8dccb +Bug 2049399 - Check type1 stack size. + +diff --git a/gfx/cairo/cairo/src/cairo-type1-subset.c b/gfx/cairo/cairo/src/cairo-type1-subset.c +--- a/gfx/cairo/cairo/src/cairo-type1-subset.c ++++ b/gfx/cairo/cairo/src/cairo-type1-subset.c +@@ -946,7 +946,7 @@ cairo_type1_font_subset_parse_charstring + break; + + case TYPE1_CHARSTRING_COMMAND_POP: +- if (font->ps_stack.sp < 1) { ++ if (font->ps_stack.sp < 1 || font->build_stack.sp >= TYPE1_STACKSIZE) { + status = CAIRO_INT_STATUS_UNSUPPORTED; + goto cleanup; + } diff -Nru thunderbird-140.12.0esr/gfx/cairo/patches/0040-type1-decode-integer.patch thunderbird-140.13.0esr/gfx/cairo/patches/0040-type1-decode-integer.patch --- thunderbird-140.12.0esr/gfx/cairo/patches/0040-type1-decode-integer.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/patches/0040-type1-decode-integer.patch 2026-07-21 21:32:56.000000000 +0000 @@ -0,0 +1,63 @@ +# HG changeset patch +# User Jonathan Kew +# Date 1782389238 -3600 +# Thu Jun 25 13:07:18 2026 +0100 +# Node ID 9d723fb8320187491aff7ce5cad78d85dae16894 +# Parent e3ade567c5856015183569f9161a9381c43b3834 +Bug 2050368 - Check for end of charstring. + +diff --git a/gfx/cairo/cairo/src/cairo-type1-subset.c b/gfx/cairo/cairo/src/cairo-type1-subset.c +--- a/gfx/cairo/cairo/src/cairo-type1-subset.c ++++ b/gfx/cairo/cairo/src/cairo-type1-subset.c +@@ -722,23 +722,27 @@ cairo_type1_font_subset_decrypt_charstri + } + } + +-static const unsigned char * +-cairo_type1_font_subset_decode_integer (const unsigned char *p, int *integer) ++static cairo_status_t ++cairo_type1_font_subset_decode_integer (const unsigned char **p, const unsigned char *end, int *integer) + { +- if (*p <= 246) { +- *integer = *p++ - 139; +- } else if (*p <= 250) { +- *integer = (p[0] - 247) * 256 + p[1] + 108; +- p += 2; +- } else if (*p <= 254) { +- *integer = -(p[0] - 251) * 256 - p[1] - 108; +- p += 2; ++ const unsigned char *pp = *p; ++ if (*pp <= 246 && pp + 1 <= end) { ++ *integer = *pp - 139; ++ *p += 1; ++ } else if (*pp <= 250 && pp + 2 <= end) { ++ *integer = (pp[0] - 247) * 256 + pp[1] + 108; ++ *p += 2; ++ } else if (*pp <= 254 && pp + 2 <= end) { ++ *integer = -(pp[0] - 251) * 256 - pp[1] - 108; ++ *p += 2; ++ } else if (pp + 5 <= end) { ++ *integer = ((uint32_t)pp[1] << 24) | (pp[2] << 16) | (pp[3] << 8) | pp[4]; ++ *p += 5; + } else { +- *integer = ((uint32_t)p[1] << 24) | (p[2] << 16) | (p[3] << 8) | p[4]; +- p += 5; ++ return CAIRO_INT_STATUS_UNSUPPORTED; + } + +- return p; ++ return CAIRO_STATUS_SUCCESS; + } + + static cairo_status_t +@@ -963,7 +967,9 @@ cairo_type1_font_subset_parse_charstring + /* integer argument */ + if (font->build_stack.sp < TYPE1_STACKSIZE) { + int val; +- p = cairo_type1_font_subset_decode_integer (p, &val); ++ status = cairo_type1_font_subset_decode_integer (&p, end, &val); ++ if (unlikely (status)) ++ goto cleanup; + font->build_stack.stack[font->build_stack.sp++] = val; + } else { + status = CAIRO_INT_STATUS_UNSUPPORTED; diff -Nru thunderbird-140.12.0esr/gfx/cairo/patches/0041-Bug-2048799-flip-polarity-of-a-bounds-check.patch thunderbird-140.13.0esr/gfx/cairo/patches/0041-Bug-2048799-flip-polarity-of-a-bounds-check.patch --- thunderbird-140.12.0esr/gfx/cairo/patches/0041-Bug-2048799-flip-polarity-of-a-bounds-check.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/cairo/patches/0041-Bug-2048799-flip-polarity-of-a-bounds-check.patch 2026-07-21 21:32:55.000000000 +0000 @@ -0,0 +1,27 @@ +From 679d036f3d901007de8e83f7c9753b6c39e21141 Mon Sep 17 00:00:00 2001 +From: Daniel Holbert +Date: Fri, 19 Jun 2026 16:12:04 -0700 +Subject: [PATCH 1/1] Bug 2048799: Flip polarity of a bounds check in cairo + code. r?emilio + +Differential Revision: https://phabricator.services.mozilla.com/D307892 +--- + gfx/cairo/cairo/src/cairoint.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gfx/cairo/cairo/src/cairoint.h b/gfx/cairo/cairo/src/cairoint.h +index 2be5c0e9f101..94aaddffa709 100644 +--- a/gfx/cairo/cairo/src/cairoint.h ++++ b/gfx/cairo/cairo/src/cairoint.h +@@ -753,7 +753,7 @@ typedef struct _cairo_stroke_face { + static inline double cairo_const + _cairo_restrict_value (double value, double min, double max) + { +- if (value < min) ++ if (!(value >= min)) + return min; + else if (value > max) + return max; +-- +2.53.0 + diff -Nru thunderbird-140.12.0esr/gfx/layers/D3D11ZeroCopyTextureImage.cpp thunderbird-140.13.0esr/gfx/layers/D3D11ZeroCopyTextureImage.cpp --- thunderbird-140.12.0esr/gfx/layers/D3D11ZeroCopyTextureImage.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/D3D11ZeroCopyTextureImage.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -35,18 +35,23 @@ void IMFSampleWrapper::ClearVideoSample() { mVideoSample = nullptr; } D3D11ZeroCopyTextureImage::D3D11ZeroCopyTextureImage( - ID3D11Texture2D* aTexture, uint32_t aArrayIndex, const gfx::IntSize& aSize, - const gfx::IntRect& aRect, gfx::ColorSpace2 aColorSpace, - gfx::ColorRange aColorRange, gfx::ColorDepth aColorDepth) + ID3D11Texture2D* aTexture, const uint32_t aArrayIndex, + const gfx::IntSize& aSize, const gfx::IntRect& aRect, + const gfx::SurfaceFormat aFormat, const gfx::ColorSpace2 aColorSpace, + const gfx::ColorRange aColorRange, const gfx::ColorDepth aColorDepth) : Image(nullptr, ImageFormat::D3D11_TEXTURE_ZERO_COPY), mTexture(aTexture), mArrayIndex(aArrayIndex), mSize(aSize), mPictureRect(aRect), + mFormat(aFormat), mColorSpace(aColorSpace), mColorRange(aColorRange), mColorDepth(aColorDepth) { MOZ_ASSERT(XRE_IsGPUProcess()); + MOZ_ASSERT(mFormat == gfx::SurfaceFormat::NV12 || + mFormat == gfx::SurfaceFormat::P010 || + mFormat == gfx::SurfaceFormat::P016); } D3D11ZeroCopyTextureImage::~D3D11ZeroCopyTextureImage() { @@ -60,8 +65,8 @@ aWriteFence->IncrementAndSignal(); } mTextureClient = D3D11TextureData::CreateTextureClient( - mTexture, mArrayIndex, mSize, gfx::SurfaceFormat::NV12, mColorSpace, - mColorRange, aKnowsCompositor, aUsageInfo, aWriteFence); + mTexture, mArrayIndex, mSize, mFormat, mColorSpace, mColorRange, + aKnowsCompositor, aUsageInfo, aWriteFence); MOZ_ASSERT(mTextureClient); } @@ -125,11 +130,12 @@ } D3D11TextureIMFSampleImage::D3D11TextureIMFSampleImage( - IMFSample* aVideoSample, ID3D11Texture2D* aTexture, uint32_t aArrayIndex, - const gfx::IntSize& aSize, const gfx::IntRect& aRect, - gfx::ColorSpace2 aColorSpace, gfx::ColorRange aColorRange, - gfx::ColorDepth aColorDepth) - : D3D11ZeroCopyTextureImage(aTexture, aArrayIndex, aSize, aRect, + IMFSample* aVideoSample, ID3D11Texture2D* aTexture, + const uint32_t aArrayIndex, const gfx::IntSize& aSize, + const gfx::IntRect& aRect, const gfx::SurfaceFormat aFormat, + const gfx::ColorSpace2 aColorSpace, const gfx::ColorRange aColorRange, + const gfx::ColorDepth aColorDepth) + : D3D11ZeroCopyTextureImage(aTexture, aArrayIndex, aSize, aRect, aFormat, aColorSpace, aColorRange, aColorDepth), mVideoSample(IMFSampleWrapper::Create(aVideoSample)) { MOZ_ASSERT(XRE_IsGPUProcess()); @@ -141,11 +147,11 @@ D3D11TextureAVFrameImage::D3D11TextureAVFrameImage( D3D11TextureWrapper* aWrapper, const gfx::IntSize& aSize, - const gfx::IntRect& aRect, gfx::ColorSpace2 aColorSpace, - gfx::ColorRange aColorRange, gfx::ColorDepth aColorDepth) - : D3D11ZeroCopyTextureImage(aWrapper->GetTexture(), aWrapper->GetArrayIdx(), - aSize, aRect, aColorSpace, aColorRange, - aColorDepth), + const gfx::IntRect& aRect, const gfx::ColorSpace2 aColorSpace, + const gfx::ColorRange aColorRange, const gfx::ColorDepth aColorDepth) + : D3D11ZeroCopyTextureImage(aWrapper->GetTexture(), aWrapper->mArrayIdx, + aSize, aRect, aWrapper->mFormat, aColorSpace, + aColorRange, aColorDepth), mWrapper(aWrapper) { MOZ_ASSERT(XRE_IsGPUProcess()); } diff -Nru thunderbird-140.12.0esr/gfx/layers/D3D11ZeroCopyTextureImage.h thunderbird-140.13.0esr/gfx/layers/D3D11ZeroCopyTextureImage.h --- thunderbird-140.12.0esr/gfx/layers/D3D11ZeroCopyTextureImage.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/D3D11ZeroCopyTextureImage.h 2026-07-21 21:32:56.000000000 +0000 @@ -47,12 +47,11 @@ // Expected to be used in GPU process. class D3D11ZeroCopyTextureImage : public Image { public: - D3D11ZeroCopyTextureImage(ID3D11Texture2D* aTexture, uint32_t aArrayIndex, - const gfx::IntSize& aSize, - const gfx::IntRect& aRect, - gfx::ColorSpace2 aColorSpace, - gfx::ColorRange aColorRange, - gfx::ColorDepth aColorDepth); + D3D11ZeroCopyTextureImage( + ID3D11Texture2D* aTexture, const uint32_t aArrayIndex, + const gfx::IntSize& aSize, const gfx::IntRect& aRect, + const gfx::SurfaceFormat aFormat, const gfx::ColorSpace2 aColorSpace, + const gfx::ColorRange aColorRange, const gfx::ColorDepth aColorDepth); virtual ~D3D11ZeroCopyTextureImage(); void AllocateTextureClient(KnowsCompositor* aKnowsCompositor, @@ -89,6 +88,7 @@ const uint32_t mArrayIndex; const gfx::IntSize mSize; const gfx::IntRect mPictureRect; + const gfx::SurfaceFormat mFormat; const gfx::ColorSpace2 mColorSpace; const gfx::ColorRange mColorRange; const gfx::ColorDepth mColorDepth; @@ -113,11 +113,13 @@ class D3D11TextureIMFSampleImage final : public D3D11ZeroCopyTextureImage { public: D3D11TextureIMFSampleImage(IMFSample* aVideoSample, ID3D11Texture2D* aTexture, - uint32_t aArrayIndex, const gfx::IntSize& aSize, + const uint32_t aArrayIndex, + const gfx::IntSize& aSize, const gfx::IntRect& aRect, - gfx::ColorSpace2 aColorSpace, - gfx::ColorRange aColorRange, - gfx::ColorDepth aColorDepth); + const gfx::SurfaceFormat aFormat, + const gfx::ColorSpace2 aColorSpace, + const gfx::ColorRange aColorRange, + const gfx::ColorDepth aColorDepth); virtual ~D3D11TextureIMFSampleImage() = default; RefPtr GetIMFSampleWrapper(); @@ -132,9 +134,9 @@ public: D3D11TextureAVFrameImage(D3D11TextureWrapper* aWrapper, const gfx::IntSize& aSize, const gfx::IntRect& aRect, - gfx::ColorSpace2 aColorSpace, - gfx::ColorRange aColorRange, - gfx::ColorDepth aColorDepth); + const gfx::ColorSpace2 aColorSpace, + const gfx::ColorRange aColorRange, + const gfx::ColorDepth aColorDepth); virtual ~D3D11TextureAVFrameImage() = default; private: diff -Nru thunderbird-140.12.0esr/gfx/layers/DcompSurfaceImage.cpp thunderbird-140.13.0esr/gfx/layers/DcompSurfaceImage.cpp --- thunderbird-140.12.0esr/gfx/layers/DcompSurfaceImage.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/DcompSurfaceImage.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -148,7 +148,12 @@ auto method = aOp == TextureHost::ADD_IMAGE ? &wr::TransactionBuilder::AddExternalImage : &wr::TransactionBuilder::UpdateExternalImage; - wr::ImageDescriptor descriptor(mSize, GetFormat()); + auto format = wr::SurfaceFormatToImageFormat(GetFormat()); + if (NS_WARN_IF(!format)) { + return; + } + wr::ImageDescriptor descriptor(mSize, *format, + wr::ToOpacityType(GetFormat())); // Prefer TextureExternal unless the backend requires TextureRect. TextureHost::NativeTexturePolicy policy = TextureHost::BackendNativeTexturePolicy(aResources.GetBackendType(), diff -Nru thunderbird-140.12.0esr/gfx/layers/ImageContainer.cpp thunderbird-140.13.0esr/gfx/layers/ImageContainer.cpp --- thunderbird-140.12.0esr/gfx/layers/ImageContainer.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/ImageContainer.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -729,10 +729,11 @@ // If we can copy directly from the surface, let's do that to avoid the YUV // to RGB conversion. - if (mSourceSurface && mSourceSurface->GetSize() == size) { - DataSourceSurface::ScopedMap map(mSourceSurface, DataSourceSurface::READ); + RefPtr sourceSurface = mSourceSurface.Get(); + if (sourceSurface && sourceSurface->GetSize() == size) { + DataSourceSurface::ScopedMap map(sourceSurface, DataSourceSurface::READ); if (map.IsMapped() && SwizzleData(map.GetData(), map.GetStride(), - mSourceSurface->GetFormat(), buffer, + sourceSurface->GetFormat(), buffer, stride, format, size)) { return NS_OK; } @@ -906,9 +907,8 @@ } already_AddRefed PlanarYCbCrImage::GetAsSourceSurface() { - if (mSourceSurface) { - RefPtr surface(mSourceSurface); - return surface.forget(); + if (RefPtr cached = mSourceSurface.Get()) { + return cached.forget(); } gfx::IntSize size(mSize); @@ -938,30 +938,24 @@ return nullptr; } - mSourceSurface = surface; + mSourceSurface.Set(surface); return surface.forget(); } -PlanarYCbCrImage::~PlanarYCbCrImage() { - NS_ReleaseOnMainThread("PlanarYCbCrImage::mSourceSurface", - mSourceSurface.forget()); -} +PlanarYCbCrImage::~PlanarYCbCrImage() = default; NVImage::NVImage() : Image(nullptr, ImageFormat::NV_IMAGE), mBufferSize(0) {} -NVImage::~NVImage() { - NS_ReleaseOnMainThread("NVImage::mSourceSurface", mSourceSurface.forget()); -} +NVImage::~NVImage() = default; IntSize NVImage::GetSize() const { return mSize; } IntRect NVImage::GetPictureRect() const { return mData.mPictureRect; } already_AddRefed NVImage::GetAsSourceSurface() { - if (mSourceSurface) { - RefPtr surface(mSourceSurface); - return surface.forget(); + if (RefPtr cached = mSourceSurface.Get()) { + return cached.forget(); } // Convert the current NV12 or NV21 data to YUV420P so that we can follow the @@ -1020,7 +1014,7 @@ return nullptr; } - mSourceSurface = surface; + mSourceSurface.Set(surface); return surface.forget(); } @@ -1042,7 +1036,8 @@ UniquePtr buffer; - if (!mSourceSurface) { + RefPtr sourceSurface = mSourceSurface.Get(); + if (!sourceSurface) { const int bufferLength = ySize.height * mData.mYStride + cbcrSize.height * cbcrSize.width * 2; buffer = MakeUnique(bufferLength); @@ -1072,7 +1067,7 @@ return NS_ERROR_FAILURE; } - if (mSourceSurface && mSourceSurface->GetSize() != size) { + if (sourceSurface && sourceSurface->GetSize() != size) { return NS_ERROR_NOT_IMPLEMENTED; } @@ -1084,7 +1079,7 @@ return rv; } - if (!mSourceSurface) { + if (!sourceSurface) { rv = gfx::ConvertYCbCrToRGB(aData, format, size, output, stride); if (NS_WARN_IF(NS_FAILED(rv))) { MOZ_ASSERT_UNREACHABLE("Failed to convert YUV into RGB data"); @@ -1093,12 +1088,12 @@ return NS_OK; } - DataSourceSurface::ScopedMap map(mSourceSurface, DataSourceSurface::WRITE); + DataSourceSurface::ScopedMap map(sourceSurface, DataSourceSurface::WRITE); if (NS_WARN_IF(!map.IsMapped())) { return NS_ERROR_FAILURE; } - if (!SwizzleData(map.GetData(), map.GetStride(), mSourceSurface->GetFormat(), + if (!SwizzleData(map.GetData(), map.GetStride(), sourceSurface->GetFormat(), output, stride, format, size)) { return NS_ERROR_FAILURE; } diff -Nru thunderbird-140.12.0esr/gfx/layers/ImageContainer.h thunderbird-140.13.0esr/gfx/layers/ImageContainer.h --- thunderbird-140.12.0esr/gfx/layers/ImageContainer.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/ImageContainer.h 2026-07-21 21:32:56.000000000 +0000 @@ -11,6 +11,7 @@ #include "ImageTypes.h" // for ImageFormat, etc #include "mozilla/AlreadyAddRefed.h" #include "mozilla/Assertions.h" // for MOZ_ASSERT_HELPER2 +#include "mozilla/DataMutex.h" // for DataMutex #include "mozilla/Mutex.h" // for Mutex #include "mozilla/RecursiveMutex.h" // for RecursiveMutex, etc #include "mozilla/ThreadSafeWeakPtr.h" @@ -26,6 +27,7 @@ #include "nsISupportsImpl.h" // for Image::Release, etc #include "nsTArray.h" // for nsTArray #include "nsThreadUtils.h" // for NS_IsMainThread +#include "nsProxyRelease.h" // for NS_ReleaseOnMainThread #include "mozilla/Atomics.h" #include "mozilla/gfx/2D.h" #include "mozilla/EnumeratedArray.h" @@ -205,6 +207,46 @@ static mozilla::Atomic sSerialCounter; }; +/** + * A thread-safe, lazily-populated cache of an Image's rasterized surface. + */ +class CachedSurface final { + public: + CachedSurface() : mSurface("layers::CachedSurface") {} + + ~CachedSurface() { + // The surface may have been created off the main thread, but like the rest + // of the gfx surface machinery it must be released on the main thread. + RefPtr surface; + { + auto guard = mSurface.Lock(); + surface = guard->forget(); + } + NS_ReleaseOnMainThread("layers::CachedSurface", surface.forget()); + } + + // Returns the cached surface, or nullptr if nothing has been cached yet. + already_AddRefed Get() { + auto guard = mSurface.Lock(); + RefPtr surface = *guard; + return surface.forget(); + } + + // Stores aSurface unless another thread has already cached one. The caller + // may keep using its own surface regardless: both are equivalent + // rasterizations of the same image, and keeping the first one avoids dropping + // a surface that a concurrent caller may already have handed out. + void Set(gfx::DataSourceSurface* aSurface) { + auto guard = mSurface.Lock(); + if (!*guard) { + *guard = aSurface; + } + } + + private: + mozilla::DataMutex> mSurface; +}; + MOZ_MAKE_ENUM_CLASS_BITWISE_OPERATORS(Image::BuildSdbFlags) /** @@ -900,7 +942,7 @@ gfx::IntSize mSize; gfx::ColorDepth mColorDepth = gfx::ColorDepth::COLOR_8; gfxImageFormat mOffscreenFormat; - RefPtr mSourceSurface; + CachedSurface mSourceSurface; uint32_t mBufferSize; }; @@ -963,7 +1005,7 @@ uint32_t mBufferSize; gfx::IntSize mSize; Data mData; - RefPtr mSourceSurface; + CachedSurface mSourceSurface; }; /** diff -Nru thunderbird-140.12.0esr/gfx/layers/apz/util/APZCCallbackHelper.cpp thunderbird-140.13.0esr/gfx/layers/apz/util/APZCCallbackHelper.cpp --- thunderbird-140.12.0esr/gfx/layers/apz/util/APZCCallbackHelper.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/apz/util/APZCCallbackHelper.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -26,6 +26,7 @@ #include "mozilla/ScrollContainerFrame.h" #include "mozilla/ToString.h" #include "mozilla/ViewportUtils.h" +#include "jsapi.h" #include "nsContainerFrame.h" #include "nsContentUtils.h" #include "nsIContent.h" @@ -979,7 +980,7 @@ } JSContext* cx = jsapi.cx(); - JS::Rooted detail(cx, JS::Float32Value(aScale)); + JS::Rooted detail(cx, JS_NumberValue(aScale)); RefPtr event = NS_NewDOMCustomEvent(doc, nullptr, nullptr); event->InitCustomEvent(cx, u"MozScaleGestureComplete"_ns, diff -Nru thunderbird-140.12.0esr/gfx/layers/composite/TextureHost.cpp thunderbird-140.13.0esr/gfx/layers/composite/TextureHost.cpp --- thunderbird-140.12.0esr/gfx/layers/composite/TextureHost.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/composite/TextureHost.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -511,10 +511,10 @@ } else { texture = new wr::RenderBufferTextureHost(GetBuffer(), GetBufferDescriptor()); + } - if (auto* shmemTextureHost = AsShmemTextureHost()) { - shmemTextureHost->OnRenderTextureCreated(texture); - } + if (auto* shmemTextureHost = AsShmemTextureHost()) { + shmemTextureHost->OnRenderTextureCreated(texture); } wr::RenderThread::Get()->RegisterExternalImage(aExternalImageId, @@ -552,10 +552,18 @@ return; } - wr::ImageDescriptor descriptor( - GetSize(), - ImageDataSerializer::ComputeRGBStride(GetFormat(), GetSize().width), - GetFormat()); + auto stride = + ImageDataSerializer::ComputeRGBStride(GetFormat(), GetSize().width); + if (NS_WARN_IF(!stride)) { + return; + } + + auto format = wr::SurfaceFormatToImageFormat(GetFormat()); + if (NS_WARN_IF(!format)) { + return; + } + wr::ImageDescriptor descriptor(GetSize(), stride, *format, + wr::ToOpacityType(GetFormat())); (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0, /* aNormalizedUvs */ false); } else { @@ -567,11 +575,16 @@ const layers::YCbCrDescriptor& desc = mDescriptor.get_YCbCrDescriptor(); gfx::IntSize ySize = desc.display().Size(); gfx::IntSize cbcrSize = ImageDataSerializer::GetCroppedCbCrSize(desc); - wr::ImageDescriptor yDescriptor( - ySize, desc.yStride(), SurfaceFormatForColorDepth(desc.colorDepth())); - wr::ImageDescriptor cbcrDescriptor( - cbcrSize, desc.cbCrStride(), - SurfaceFormatForColorDepth(desc.colorDepth())); + gfx::SurfaceFormat surfaceFormat = + SurfaceFormatForColorDepth(desc.colorDepth()); + auto format = wr::SurfaceFormatToImageFormat(surfaceFormat); + if (NS_WARN_IF(!format)) { + return; + } + auto opacity = wr::ToOpacityType(surfaceFormat); + wr::ImageDescriptor yDescriptor(ySize, desc.yStride(), *format, opacity); + wr::ImageDescriptor cbcrDescriptor(cbcrSize, desc.cbCrStride(), *format, + opacity); (aResources.*method)(aImageKeys[0], yDescriptor, aExtID, imageType, 0, /* aNormalizedUvs */ false); (aResources.*method)(aImageKeys[1], cbcrDescriptor, aExtID, imageType, 1, diff -Nru thunderbird-140.12.0esr/gfx/layers/d3d11/FenceD3D11.cpp thunderbird-140.13.0esr/gfx/layers/d3d11/FenceD3D11.cpp --- thunderbird-140.12.0esr/gfx/layers/d3d11/FenceD3D11.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/d3d11/FenceD3D11.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -194,25 +194,29 @@ } RefPtr fence; - auto it = mWaitFenceMap.find(aDevice); - if (it == mWaitFenceMap.end()) { - RefPtr d3d11_5; - auto hr = aDevice->QueryInterface(__uuidof(ID3D11Device5), - getter_AddRefs(d3d11_5)); - if (FAILED(hr)) { - gfxCriticalNoteOnce << "Failed to get ID3D11Device5: " << gfx::hexa(hr); - return false; + { + MutexAutoLock lock(mMutex); + auto it = mWaitFenceMap.find(aDevice); + if (it == mWaitFenceMap.end()) { + RefPtr d3d11_5; + auto hr = aDevice->QueryInterface(__uuidof(ID3D11Device5), + getter_AddRefs(d3d11_5)); + if (FAILED(hr)) { + gfxCriticalNoteOnce << "Failed to get ID3D11Device5: " << gfx::hexa(hr); + return false; + } + hr = d3d11_5->OpenSharedFence( + mHandle->GetHandle(), __uuidof(ID3D11Fence), + (void**)(ID3D11Fence**)getter_AddRefs(fence)); + if (FAILED(hr)) { + gfxCriticalNoteOnce << "Opening fence shared handle failed " + << gfx::hexa(hr); + return false; + } + mWaitFenceMap.emplace(aDevice, fence); + } else { + fence = it->second; } - hr = d3d11_5->OpenSharedFence(mHandle->GetHandle(), __uuidof(ID3D11Fence), - (void**)(ID3D11Fence**)getter_AddRefs(fence)); - if (FAILED(hr)) { - gfxCriticalNoteOnce << "Opening fence shared handle failed " - << gfx::hexa(hr); - return false; - } - mWaitFenceMap.emplace(aDevice, fence); - } else { - fence = it->second; } if (!fence) { diff -Nru thunderbird-140.12.0esr/gfx/layers/d3d11/FenceD3D11.h thunderbird-140.13.0esr/gfx/layers/d3d11/FenceD3D11.h --- thunderbird-140.12.0esr/gfx/layers/d3d11/FenceD3D11.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/d3d11/FenceD3D11.h 2026-07-21 21:32:56.000000000 +0000 @@ -11,6 +11,7 @@ #include "mozilla/gfx/FileHandleWrapper.h" #include "mozilla/layers/Fence.h" +#include "mozilla/Mutex.h" struct ID3D11Device; struct ID3D11Fence; @@ -79,10 +80,13 @@ virtual ~FenceD3D11(); uint64_t mFenceValue = 0; + + Mutex mMutex{"FenceD3D11::mMutex"}; // Fences that are used for waiting. // They are opened for each D3D11 device that the fence is waited on. // XXX change to LRU cache - std::unordered_map> mWaitFenceMap; + std::unordered_map> mWaitFenceMap + MOZ_GUARDED_BY(mMutex); }; } // namespace layers diff -Nru thunderbird-140.12.0esr/gfx/layers/d3d11/TextureD3D11.cpp thunderbird-140.13.0esr/gfx/layers/d3d11/TextureD3D11.cpp --- thunderbird-140.12.0esr/gfx/layers/d3d11/TextureD3D11.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/d3d11/TextureD3D11.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -1344,7 +1344,12 @@ return; } - wr::ImageDescriptor descriptor(mSize, GetFormat()); + auto format = wr::SurfaceFormatToImageFormat(GetFormat()); + if (NS_WARN_IF(!format)) { + return; + } + wr::ImageDescriptor descriptor(mSize, *format, + wr::ToOpacityType(GetFormat())); // Prefer TextureExternal unless the backend requires TextureRect. TextureHost::NativeTexturePolicy policy = TextureHost::BackendNativeTexturePolicy(aResources.GetBackendType(), @@ -1369,13 +1374,13 @@ MOZ_ASSERT(mSize.width % 2 == 0); MOZ_ASSERT(mSize.height % 2 == 0); - wr::ImageDescriptor descriptor0(mSize, mFormat == gfx::SurfaceFormat::NV12 - ? gfx::SurfaceFormat::A8 - : gfx::SurfaceFormat::A16); - wr::ImageDescriptor descriptor1(mSize / 2, - mFormat == gfx::SurfaceFormat::NV12 - ? gfx::SurfaceFormat::R8G8 - : gfx::SurfaceFormat::R16G16); + const bool isNV12 = mFormat == gfx::SurfaceFormat::NV12; + wr::ImageDescriptor descriptor0( + mSize, isNV12 ? wr::ImageFormat::R8 : wr::ImageFormat::R16, + wr::OpacityType::HasAlphaChannel); + wr::ImageDescriptor descriptor1( + mSize / 2, isNV12 ? wr::ImageFormat::RG8 : wr::ImageFormat::RG16, + isNV12 ? wr::OpacityType::Opaque : wr::OpacityType::HasAlphaChannel); // Prefer TextureExternal unless the backend requires TextureRect. TextureHost::NativeTexturePolicy policy = TextureHost::BackendNativeTexturePolicy(aResources.GetBackendType(), @@ -1463,7 +1468,8 @@ return true; } // XXX Add P010 and P016 support. - if (GetFormat() == gfx::SurfaceFormat::NV12) { + if (GetFormat() == gfx::SurfaceFormat::NV12 || + GetFormat() == gfx::SurfaceFormat::P010) { if ((mFlags & TextureFlags::SOFTWARE_DECODED_VIDEO) && (gfx::gfxVars::UseWebRenderDCompVideoSwOverlayWin())) { return true; @@ -1559,9 +1565,11 @@ wr::ImageBufferKind::TextureExternal); // y - wr::ImageDescriptor descriptor0(mSizeY, gfx::SurfaceFormat::A8); + wr::ImageDescriptor descriptor0(mSizeY, wr::ImageFormat::R8, + wr::OpacityType::HasAlphaChannel); // cb and cr - wr::ImageDescriptor descriptor1(mSizeCbCr, gfx::SurfaceFormat::A8); + wr::ImageDescriptor descriptor1(mSizeCbCr, wr::ImageFormat::R8, + wr::OpacityType::HasAlphaChannel); (aResources.*method)(aImageKeys[0], descriptor0, aExtID, imageType, 0, /* aNormalizedUvs */ false); (aResources.*method)(aImageKeys[1], descriptor1, aExtID, imageType, 1, diff -Nru thunderbird-140.12.0esr/gfx/layers/ipc/CanvasChild.cpp thunderbird-140.13.0esr/gfx/layers/ipc/CanvasChild.cpp --- thunderbird-140.12.0esr/gfx/layers/ipc/CanvasChild.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/ipc/CanvasChild.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -603,12 +603,21 @@ gfx::SurfaceFormat ssFormat = aSurface->GetFormat(); auto stride = ImageDataSerializer::ComputeRGBStride(ssFormat, ssSize.width); + size_t sizeRequired = + ImageDataSerializer::ComputeRGBBufferSize(ssSize, ssFormat); + if (!sizeRequired) { + return nullptr; + } + sizeRequired = ipc::shared_memory::PageAlignedSize(sizeRequired); + // Shmem is only valid if the surface is the latest snapshot (not detached). if (!aDetached) { // If there is a shmem associated with this snapshot id, then we want to try - // use that directly without having to allocate a new shmem for retrieval. + // to use that directly instead of allocating a new shmem for retrieval. + // Also check that it meets the size required. auto it = mTextureInfo.find(aTextureOwnerId); - if (it != mTextureInfo.end() && it->second.mSnapshotShmem) { + if (it != mTextureInfo.end() && it->second.mSnapshotShmem && + !NS_WARN_IF(sizeRequired > it->second.mSnapshotShmem->Size())) { const auto* shmemPtr = it->second.mSnapshotShmem->DataAs(); MOZ_ASSERT(shmemPtr); mRecorder->RecordEvent(RecordedPrepareShmem(aTextureOwnerId)); diff -Nru thunderbird-140.12.0esr/gfx/layers/opengl/DMABUFTextureHostOGL.cpp thunderbird-140.13.0esr/gfx/layers/opengl/DMABUFTextureHostOGL.cpp --- thunderbird-140.12.0esr/gfx/layers/opengl/DMABUFTextureHostOGL.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/opengl/DMABUFTextureHostOGL.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -5,6 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "DMABUFTextureHostOGL.h" +#include "mozilla/webrender/webrender_ffi.h" #include "mozilla/widget/DMABufSurface.h" #include "mozilla/webrender/RenderDMABUFTextureHost.h" #include "mozilla/webrender/RenderThread.h" @@ -100,7 +101,12 @@ } // XXX Add RGBA handling. Temporary hack to avoid crash // With BGRA format setting, rendering works without problem. - wr::ImageDescriptor descriptor(GetSize(), mSurface->GetFormat()); + auto format = wr::SurfaceFormatToImageFormat(mSurface->GetFormat()); + if (NS_WARN_IF(!format)) { + return; + } + wr::ImageDescriptor descriptor(GetSize(), *format, + wr::ToOpacityType(mSurface->GetFormat())); (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0, /* aNormalizedUvs */ false); break; @@ -112,10 +118,10 @@ } wr::ImageDescriptor descriptor0( gfx::IntSize(mSurface->GetWidth(0), mSurface->GetHeight(0)), - gfx::SurfaceFormat::A8); + wr::ImageFormat::R8, wr::OpacityType::HasAlphaChannel); wr::ImageDescriptor descriptor1( gfx::IntSize(mSurface->GetWidth(1), mSurface->GetHeight(1)), - gfx::SurfaceFormat::R8G8); + wr::ImageFormat::RG8, wr::OpacityType::Opaque); (aResources.*method)(aImageKeys[0], descriptor0, aExtID, imageType, 0, /* aNormalizedUvs */ false); (aResources.*method)(aImageKeys[1], descriptor1, aExtID, imageType, 1, @@ -129,10 +135,10 @@ } wr::ImageDescriptor descriptor0( gfx::IntSize(mSurface->GetWidth(0), mSurface->GetHeight(0)), - gfx::SurfaceFormat::A8); + wr::ImageFormat::R8, wr::OpacityType::HasAlphaChannel); wr::ImageDescriptor descriptor1( gfx::IntSize(mSurface->GetWidth(1), mSurface->GetHeight(1)), - gfx::SurfaceFormat::A8); + wr::ImageFormat::R8, wr::OpacityType::HasAlphaChannel); (aResources.*method)(aImageKeys[0], descriptor0, aExtID, imageType, 0, /* aNormalizedUvs */ false); (aResources.*method)(aImageKeys[1], descriptor1, aExtID, imageType, 1, @@ -148,10 +154,10 @@ } wr::ImageDescriptor descriptor0( gfx::IntSize(mSurface->GetWidth(0), mSurface->GetHeight(0)), - gfx::SurfaceFormat::A16); + wr::ImageFormat::R16, wr::OpacityType::HasAlphaChannel); wr::ImageDescriptor descriptor1( gfx::IntSize(mSurface->GetWidth(1), mSurface->GetHeight(1)), - gfx::SurfaceFormat::R16G16); + wr::ImageFormat::RG16, wr::OpacityType::HasAlphaChannel); (aResources.*method)(aImageKeys[0], descriptor0, aExtID, imageType, 0, /* aNormalizedUvs */ false); (aResources.*method)(aImageKeys[1], descriptor1, aExtID, imageType, 1, @@ -165,10 +171,10 @@ } wr::ImageDescriptor descriptor0( gfx::IntSize(mSurface->GetWidth(0), mSurface->GetHeight(0)), - gfx::SurfaceFormat::A16); + wr::ImageFormat::R16, wr::OpacityType::HasAlphaChannel); wr::ImageDescriptor descriptor1( gfx::IntSize(mSurface->GetWidth(1), mSurface->GetHeight(1)), - gfx::SurfaceFormat::R16G16); + wr::ImageFormat::RG16, wr::OpacityType::HasAlphaChannel); (aResources.*method)(aImageKeys[0], descriptor0, aExtID, imageType, 0, /* aNormalizedUvs */ false); (aResources.*method)(aImageKeys[1], descriptor1, aExtID, imageType, 1, diff -Nru thunderbird-140.12.0esr/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.cpp thunderbird-140.13.0esr/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.cpp --- thunderbird-140.12.0esr/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.cpp 2026-07-21 21:32:57.000000000 +0000 @@ -130,10 +130,10 @@ } // The internal pixel format of MacIOSurface is always BGRX or BGRA // format. - auto format = GetFormat() == gfx::SurfaceFormat::B8G8R8A8 - ? gfx::SurfaceFormat::B8G8R8A8 - : gfx::SurfaceFormat::B8G8R8X8; - wr::ImageDescriptor descriptor(GetSize(), format); + wr::ImageDescriptor descriptor(GetSize(), wr::ImageFormat::BGRA8, + GetFormat() == gfx::SurfaceFormat::B8G8R8A8 + ? wr::OpacityType::HasAlphaChannel + : wr::OpacityType::Opaque); (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0, /* aNormalizedUvs */ false); break; @@ -147,7 +147,8 @@ MOZ_ASSERT_UNREACHABLE("unexpected key length or plane count"); return; } - wr::ImageDescriptor descriptor(GetSize(), gfx::SurfaceFormat::B8G8R8X8); + wr::ImageDescriptor descriptor(GetSize(), wr::ImageFormat::BGRA8, + wr::OpacityType::Opaque); (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0, /* aNormalizedUvs */ false); break; @@ -160,36 +161,18 @@ wr::ImageDescriptor descriptor0( gfx::IntSize(mSurface->GetDevicePixelWidth(0), mSurface->GetDevicePixelHeight(0)), - gfx::SurfaceFormat::A8); + wr::ImageFormat::R8, wr::OpacityType::HasAlphaChannel); wr::ImageDescriptor descriptor1( gfx::IntSize(mSurface->GetDevicePixelWidth(1), mSurface->GetDevicePixelHeight(1)), - gfx::SurfaceFormat::R8G8); - (aResources.*method)(aImageKeys[0], descriptor0, aExtID, imageType, 0, - /* aNormalizedUvs */ false); - (aResources.*method)(aImageKeys[1], descriptor1, aExtID, imageType, 1, - /* aNormalizedUvs */ false); - break; - } - case gfx::SurfaceFormat::P010: { - if (aImageKeys.length() != 2 || mSurface->GetPlaneCount() != 2) { - MOZ_ASSERT_UNREACHABLE("unexpected key length or plane count"); - return; - } - wr::ImageDescriptor descriptor0( - gfx::IntSize(mSurface->GetDevicePixelWidth(0), - mSurface->GetDevicePixelHeight(0)), - gfx::SurfaceFormat::A16); - wr::ImageDescriptor descriptor1( - gfx::IntSize(mSurface->GetDevicePixelWidth(1), - mSurface->GetDevicePixelHeight(1)), - gfx::SurfaceFormat::R16G16); + wr::ImageFormat::RG8, wr::OpacityType::Opaque); (aResources.*method)(aImageKeys[0], descriptor0, aExtID, imageType, 0, /* aNormalizedUvs */ false); (aResources.*method)(aImageKeys[1], descriptor1, aExtID, imageType, 1, /* aNormalizedUvs */ false); break; } + case gfx::SurfaceFormat::P010: case gfx::SurfaceFormat::NV16: { if (aImageKeys.length() != 2 || mSurface->GetPlaneCount() != 2) { MOZ_ASSERT_UNREACHABLE("unexpected key length or plane count"); @@ -198,11 +181,11 @@ wr::ImageDescriptor descriptor0( gfx::IntSize(mSurface->GetDevicePixelWidth(0), mSurface->GetDevicePixelHeight(0)), - gfx::SurfaceFormat::A16); + wr::ImageFormat::R16, wr::OpacityType::HasAlphaChannel); wr::ImageDescriptor descriptor1( gfx::IntSize(mSurface->GetDevicePixelWidth(1), mSurface->GetDevicePixelHeight(1)), - gfx::SurfaceFormat::R16G16); + wr::ImageFormat::RG16, wr::OpacityType::HasAlphaChannel); (aResources.*method)(aImageKeys[0], descriptor0, aExtID, imageType, 0, /* aNormalizedUvs */ false); (aResources.*method)(aImageKeys[1], descriptor1, aExtID, imageType, 1, diff -Nru thunderbird-140.12.0esr/gfx/layers/opengl/TextureHostOGL.cpp thunderbird-140.13.0esr/gfx/layers/opengl/TextureHostOGL.cpp --- thunderbird-140.12.0esr/gfx/layers/opengl/TextureHostOGL.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/opengl/TextureHostOGL.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -600,10 +600,10 @@ // XXX Add RGBA handling. Temporary hack to avoid crash // With BGRA format setting, rendering works without problem. - auto format = GetFormat() == gfx::SurfaceFormat::R8G8B8A8 - ? gfx::SurfaceFormat::B8G8R8A8 - : gfx::SurfaceFormat::B8G8R8X8; - wr::ImageDescriptor descriptor(GetSize(), format); + wr::ImageDescriptor descriptor(GetSize(), wr::ImageFormat::BGRA8, + GetFormat() == gfx::SurfaceFormat::R8G8B8A8 + ? wr::OpacityType::HasAlphaChannel + : wr::OpacityType::Opaque); (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0, normalizedUvs); break; @@ -898,10 +898,10 @@ // XXX Add RGBA handling. Temporary hack to avoid crash // With BGRA format setting, rendering works without problem. - auto format = GetFormat() == gfx::SurfaceFormat::R8G8B8A8 - ? gfx::SurfaceFormat::B8G8R8A8 - : gfx::SurfaceFormat::B8G8R8X8; - wr::ImageDescriptor descriptor(GetSize(), format); + wr::ImageDescriptor descriptor(GetSize(), wr::ImageFormat::BGRA8, + GetFormat() == gfx::SurfaceFormat::R8G8B8A8 + ? wr::OpacityType::HasAlphaChannel + : wr::OpacityType::Opaque); (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0, /* aNormalizedUvs */ false); break; @@ -1062,10 +1062,10 @@ // XXX Add RGBA handling. Temporary hack to avoid crash // With BGRA format setting, rendering works without problem. - auto formatTmp = format == gfx::SurfaceFormat::R8G8B8A8 - ? gfx::SurfaceFormat::B8G8R8A8 - : gfx::SurfaceFormat::B8G8R8X8; - wr::ImageDescriptor descriptor(GetSize(), formatTmp); + wr::ImageDescriptor descriptor(GetSize(), wr::ImageFormat::BGRA8, + format == gfx::SurfaceFormat::R8G8B8A8 + ? wr::OpacityType::HasAlphaChannel + : wr::OpacityType::Opaque); (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0, /* aNormalizedUvs */ false); } diff -Nru thunderbird-140.12.0esr/gfx/layers/wr/AsyncImagePipelineManager.cpp thunderbird-140.13.0esr/gfx/layers/wr/AsyncImagePipelineManager.cpp --- thunderbird-140.12.0esr/gfx/layers/wr/AsyncImagePipelineManager.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/wr/AsyncImagePipelineManager.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -354,7 +354,13 @@ } gfx::IntSize size = dSurf->GetSize(); - wr::ImageDescriptor descriptor(size, map.mStride, dSurf->GetFormat()); + auto format = wr::SurfaceFormatToImageFormat(dSurf->GetFormat()); + if (NS_WARN_IF(!format)) { + dSurf->Unmap(); + return Nothing(); + } + wr::ImageDescriptor descriptor(size, map.mStride, *format, + wr::ToOpacityType(dSurf->GetFormat())); // Costly copy right here... wr::Vec bytes; diff -Nru thunderbird-140.12.0esr/gfx/layers/wr/WebRenderBridgeParent.cpp thunderbird-140.13.0esr/gfx/layers/wr/WebRenderBridgeParent.cpp --- thunderbird-140.12.0esr/gfx/layers/wr/WebRenderBridgeParent.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/wr/WebRenderBridgeParent.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -797,8 +797,12 @@ policy == TextureHost::NativeTexturePolicy::REQUIRE ? wr::ExternalImageType::TextureHandle(wr::ImageBufferKind::Texture2D) : wr::ExternalImageType::Buffer(); - wr::ImageDescriptor descriptor(surfaceSize, dSurf->Stride(), - dSurf->GetFormat()); + auto format = wr::SurfaceFormatToImageFormat(dSurf->GetFormat()); + if (NS_WARN_IF(!format)) { + return false; + } + wr::ImageDescriptor descriptor(surfaceSize, dSurf->Stride(), *format, + wr::ToOpacityType(dSurf->GetFormat())); aResources.AddExternalImage(aKey, descriptor, aExtId, imageType, 0); return true; } @@ -859,7 +863,13 @@ } IntSize size = dSurf->GetSize(); - wr::ImageDescriptor descriptor(size, map.mStride, dSurf->GetFormat()); + auto format = wr::SurfaceFormatToImageFormat(dSurf->GetFormat()); + if (NS_WARN_IF(!format)) { + dSurf->Unmap(); + return false; + } + wr::ImageDescriptor descriptor(size, map.mStride, *format, + wr::ToOpacityType(dSurf->GetFormat())); wr::Vec data; data.PushBytes(Range(map.mData, size.height * map.mStride)); @@ -883,6 +893,12 @@ return true; } + if (!GetCompositorBridge()->GetCompositorManager()->OwnsExternalImageId( + aExtId)) { + gfxCriticalNote << "We do not own extId:" << wr::AsUint64(aExtId); + return false; + } + auto key = wr::AsUint64(aKey); auto it = mSharedSurfaceIds.find(key); if (it == mSharedSurfaceIds.end()) { @@ -923,8 +939,12 @@ policy == TextureHost::NativeTexturePolicy::REQUIRE ? wr::ExternalImageType::TextureHandle(wr::ImageBufferKind::Texture2D) : wr::ExternalImageType::Buffer(); - wr::ImageDescriptor descriptor(surfaceSize, dSurf->Stride(), - dSurf->GetFormat()); + auto format = wr::SurfaceFormatToImageFormat(dSurf->GetFormat()); + if (NS_WARN_IF(!format)) { + return false; + } + wr::ImageDescriptor descriptor(surfaceSize, dSurf->Stride(), *format, + wr::ToOpacityType(dSurf->GetFormat())); aResources.UpdateExternalImageWithDirtyRect( aKey, descriptor, aExtId, imageType, wr::ToDeviceIntRect(aDirtyRect), 0, /* aNormalizedUvs */ false); diff -Nru thunderbird-140.12.0esr/gfx/layers/wr/WebRenderCommandBuilder.cpp thunderbird-140.13.0esr/gfx/layers/wr/WebRenderCommandBuilder.cpp --- thunderbird-140.12.0esr/gfx/layers/wr/WebRenderCommandBuilder.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/wr/WebRenderCommandBuilder.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -33,6 +33,7 @@ #include "UnitTransforms.h" #include "gfxEnv.h" #include "MediaInfo.h" +#include "mozilla/webrender/WebRenderAPI.h" #include "nsDisplayListInvalidation.h" #include "nsLayoutUtils.h" #include "nsTHashSet.h" @@ -689,6 +690,11 @@ // Contains(paintBounds);? wr::OpacityType opacity = wr::OpacityType::HasAlphaChannel; + auto format = wr::SurfaceFormatToImageFormat(dt->GetFormat()); + if (NS_WARN_IF(!format)) { + return; + } + bool hasItems = recorder->Finish(); GP("%d Finish\n", hasItems); if (!validFonts) { @@ -708,7 +714,7 @@ wr::BlobImageKey key = wr::BlobImageKey{aWrManager->WrBridge()->GetNextImageKey()}; GP("No previous key making new one %d\n", key._0.mHandle); - wr::ImageDescriptor descriptor(dtSize, 0, dt->GetFormat(), opacity); + wr::ImageDescriptor descriptor(dtSize, 0, *format, opacity); MOZ_RELEASE_ASSERT(bytes.length() > sizeof(size_t)); if (!aResources.AddBlobImage( key, descriptor, bytes, @@ -722,7 +728,7 @@ aWrManager->WrBridge()->MatchesNamespace(mKey.ref()), "Stale blob key for group!"); - wr::ImageDescriptor descriptor(dtSize, 0, dt->GetFormat(), opacity); + wr::ImageDescriptor descriptor(dtSize, 0, *format, opacity); // Convert mInvalidRect to image space by subtracting the corner of the // image bounds @@ -2613,8 +2619,12 @@ recorder->mOutputStream.mLength); wr::BlobImageKey key = wr::BlobImageKey{mManager->WrBridge()->GetNextImageKey()}; - wr::ImageDescriptor descriptor(visibleSize.ToUnknownSize(), 0, - dt->GetFormat(), opacity); + auto format = wr::SurfaceFormatToImageFormat(dt->GetFormat()); + if (!format) { + return nullptr; + } + wr::ImageDescriptor descriptor(visibleSize.ToUnknownSize(), 0, *format, + opacity); if (!aResources.AddBlobImage( key, descriptor, bytes, ViewAs(visibleRect, @@ -2841,7 +2851,11 @@ recorder->mOutputStream.mLength); wr::BlobImageKey key = wr::BlobImageKey{mManager->WrBridge()->GetNextImageKey()}; - wr::ImageDescriptor descriptor(size, 0, dt->GetFormat(), + auto imageFormat = wr::SurfaceFormatToImageFormat(dt->GetFormat()); + if (NS_WARN_IF(!imageFormat)) { + return Nothing(); + } + wr::ImageDescriptor descriptor(size, 0, *imageFormat, wr::OpacityType::HasAlphaChannel); if (!aResources.AddBlobImage(key, descriptor, bytes, ImageIntRect(0, 0, size.width, size.height))) { diff -Nru thunderbird-140.12.0esr/gfx/layers/wr/WebRenderMessageUtils.h thunderbird-140.13.0esr/gfx/layers/wr/WebRenderMessageUtils.h --- thunderbird-140.12.0esr/gfx/layers/wr/WebRenderMessageUtils.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/layers/wr/WebRenderMessageUtils.h 2026-07-21 21:32:56.000000000 +0000 @@ -46,12 +46,29 @@ WriteParam(aWriter, aParam.opacity); } - static bool Read(MessageReader* aReader, paramType* aResult) { - return ReadParam(aReader, &aResult->format) && - ReadParam(aReader, &aResult->width) && - ReadParam(aReader, &aResult->height) && - ReadParam(aReader, &aResult->stride) && - ReadParam(aReader, &aResult->opacity); + static ReadResult Read(MessageReader* aReader) { + mozilla::wr::ImageFormat format; + int32_t width; + int32_t height; + int32_t stride; + mozilla::wr::OpacityType opacity; + if (!ReadParam(aReader, &format) || !ReadParam(aReader, &width) || + !ReadParam(aReader, &height) || !ReadParam(aReader, &stride) || + !ReadParam(aReader, &opacity)) { + return {}; + } + if (width < 0 || height < 0 || stride < 0) { + return {}; + } + if (stride != 0) { + int bpp = mozilla::gfx::BytesPerPixel( + mozilla::wr::ImageFormatToSurfaceFormat(format)); + if (bpp <= 0 || stride / bpp < width) { + return {}; + } + } + return paramType(mozilla::gfx::IntSize(width, height), stride, format, + opacity); } }; diff -Nru thunderbird-140.12.0esr/gfx/ots/src/variations.cc thunderbird-140.13.0esr/gfx/ots/src/variations.cc --- thunderbird-140.12.0esr/gfx/ots/src/variations.cc 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/ots/src/variations.cc 2026-07-21 21:32:56.000000000 +0000 @@ -92,7 +92,14 @@ } } - if (!subtable.Skip(valueSize * size_t(itemCount) * (size_t(wordDeltaCount) + size_t(*regionIndexCount)))) { + // The individual counts here are 16-bit values, and valueSize is either 1 or 2, + // so this cannot overflow. + size_t deltaSetSize = valueSize * (size_t(wordDeltaCount) + size_t(*regionIndexCount)); + // Check that multiplication by itemCount will not overflow size_t. + if (itemCount && deltaSetSize > std::numeric_limits::max() / itemCount) { + return OTS_FAILURE_MSG("Delta data size overflow"); + } + if (!subtable.Skip(deltaSetSize * size_t(itemCount))) { return OTS_FAILURE_MSG("Failed to read delta data"); } diff -Nru thunderbird-140.12.0esr/gfx/thebes/COLRFonts.cpp thunderbird-140.13.0esr/gfx/thebes/COLRFonts.cpp --- thunderbird-140.12.0esr/gfx/thebes/COLRFonts.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/COLRFonts.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -158,8 +158,8 @@ uint16_t mCoordCount; nsTArray* mVisited; - const char* COLRv1BaseAddr() const { - return reinterpret_cast(mHeader.v1); + const uint8_t* COLRv1BaseAddr() const { + return reinterpret_cast(mHeader.v1); } DeviceColor GetColor(uint16_t aPaletteIndex, float aAlpha) const; @@ -401,6 +401,10 @@ uint32_t deltaSetSize = (regionIndexCount + wordDeltaCount) << longWords; const uint8_t* deltaData = reinterpret_cast(deltaSets) + deltaSetSize * innerIndex; + if (deltaData < reinterpret_cast(deltaSets) || + deltaData > aState.COLRv1BaseAddr() + aState.mCOLRLength - deltaSetSize) { + return aValue; + } uint16_t deltaSize = longWords ? 4 : 2; int32_t result = aValue; for (uint16_t i = 0; i < regionIndexCount; ++i, deltaData += deltaSize) { @@ -639,7 +643,7 @@ return; } const auto* stop = colorStops(); - if (reinterpret_cast(stop) + count * sizeof(T) > + if (reinterpret_cast(stop) + count * sizeof(T) > aState.COLRv1BaseAddr() + aState.mCOLRLength) { return; } @@ -1941,9 +1945,9 @@ return false; } - const char* paint = aState.COLRv1BaseAddr() + aOffset; + const uint8_t* paint = aState.COLRv1BaseAddr() + aOffset; // All paint table formats start with an 8-bit 'format' field. - uint8_t format = uint8_t(*paint); + uint8_t format = *paint; #define DO_CASE(T) \ case T::kFormat: \ @@ -1988,9 +1992,9 @@ return nullptr; } - const char* paint = aState.COLRv1BaseAddr() + aOffset; + const uint8_t* paint = aState.COLRv1BaseAddr() + aOffset; // All paint table formats start with an 8-bit 'format' field. - uint8_t format = uint8_t(*paint); + uint8_t format = *paint; #define DO_CASE(T) \ case T::kFormat: \ @@ -2018,9 +2022,9 @@ return Matrix(); } - const char* paint = aState.COLRv1BaseAddr() + aOffset; + const uint8_t* paint = aState.COLRv1BaseAddr() + aOffset; // All paint table formats start with an 8-bit 'format' field. - uint8_t format = uint8_t(*paint); + uint8_t format = *paint; #define DO_CASE(T) \ case T::kFormat: \ @@ -2053,9 +2057,9 @@ return Rect(); } - const char* paint = aState.COLRv1BaseAddr() + aOffset; + const uint8_t* paint = aState.COLRv1BaseAddr() + aOffset; // All paint table formats start with an 8-bit 'format' field. - uint8_t format = uint8_t(*paint); + uint8_t format = *paint; #define DO_CASE(T) \ case T::kFormat: \ @@ -2301,19 +2305,23 @@ bool ItemVariationData::Validate(const COLRv1Header* aHeader, uint64_t aLength) const { - if (reinterpret_cast(regionIndexes() + - uint16_t(regionIndexCount)) > - reinterpret_cast(aHeader) + aLength) { + const char* limit = reinterpret_cast(aHeader) + aLength; + uint16_t riCount = this->regionIndexCount; + if (reinterpret_cast(regionIndexes() + riCount) > limit) { + return false; + } + uint16_t wdCount = this->wordDeltaCount; + bool longWords = wdCount & LONG_WORDS; + wdCount &= WORD_DELTA_COUNT_MASK; + size_t deltaSetSize = (size_t(riCount) + size_t(wdCount)) << longWords; + uint16_t itemCount = this->itemCount; + if (itemCount && + deltaSetSize > std::numeric_limits::max() / itemCount) { return false; } - uint16_t wordDeltaCount = this->wordDeltaCount; - bool longWords = wordDeltaCount & LONG_WORDS; - wordDeltaCount &= WORD_DELTA_COUNT_MASK; - uint32_t deltaSetSize = - (uint16_t(regionIndexCount) + uint16_t(wordDeltaCount)) << longWords; - if (reinterpret_cast(deltaSets()) + - uint64_t(uint16_t(itemCount)) * deltaSetSize > - reinterpret_cast(aHeader) + aLength) { + const char* start = reinterpret_cast(deltaSets()); + const char* end = start + size_t(itemCount) * deltaSetSize; + if (end < start || end > limit) { return false; } return true; diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxDWriteFontList.cpp thunderbird-140.13.0esr/gfx/thebes/gfxDWriteFontList.cpp --- thunderbird-140.12.0esr/gfx/thebes/gfxDWriteFontList.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxDWriteFontList.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -1778,7 +1778,7 @@ // add faces to Gill Sans MT for (const auto& face : faces) { // change the entry's family name to match its adoptive family - face->mFamilyName = gillSansMTFamily->Name(); + face->SetFamilyName(gillSansMTFamily->Name()); gillSansMTFamily->AddFontEntry(face); if (LOG_FONTLIST_ENABLED()) { diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxFcPlatformFontList.cpp thunderbird-140.13.0esr/gfx/thebes/gfxFcPlatformFontList.cpp --- thunderbird-140.12.0esr/gfx/thebes/gfxFcPlatformFontList.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxFcPlatformFontList.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -860,15 +860,21 @@ FcDefaultSubstitute(aPattern); } -void gfxFontconfigFontEntry::UnscaledFontCache::MoveToFront(size_t aIndex) { - if (aIndex > 0) { - ThreadSafeWeakPtr front = - std::move(mUnscaledFonts[aIndex]); - for (size_t i = aIndex; i > 0; i--) { - mUnscaledFonts[i] = std::move(mUnscaledFonts[i - 1]); +void gfxFontconfigFontEntry::UnscaledFontCache::Add( + const RefPtr& aUnscaledFont) { + // Find the oldest entry and replace that with the new font. + size_t oldestIdx = 0; + int32_t lastGen = mLastGeneration; + int32_t oldestAge = lastGen - mGenerations[0]; + for (size_t i = 1; i < kNumEntries; i++) { + int32_t age = lastGen - mGenerations[i]; + if (age > oldestAge) { + oldestIdx = i; + oldestAge = age; } - mUnscaledFonts[0] = std::move(front); } + mUnscaledFonts[oldestIdx] = aUnscaledFont; + mGenerations[oldestIdx] = ++mLastGeneration; } already_AddRefed @@ -877,7 +883,7 @@ for (size_t i = 0; i < kNumEntries; i++) { RefPtr entry(mUnscaledFonts[i]); if (entry && entry->GetFile() == aFile && entry->GetIndex() == aIndex) { - MoveToFront(i); + mGenerations[i] = ++mLastGeneration; return entry.forget(); } } diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxFcPlatformFontList.h thunderbird-140.13.0esr/gfx/thebes/gfxFcPlatformFontList.h --- thunderbird-140.12.0esr/gfx/thebes/gfxFcPlatformFontList.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxFcPlatformFontList.h 2026-07-21 21:32:56.000000000 +0000 @@ -162,18 +162,17 @@ already_AddRefed Lookup( const std::string& aFile, uint32_t aIndex); - void Add( - const RefPtr& aUnscaledFont) { - mUnscaledFonts[kNumEntries - 1] = aUnscaledFont; - MoveToFront(kNumEntries - 1); - } + void Add(const RefPtr& aUnscaledFont); private: - void MoveToFront(size_t aIndex); - + // Each mUnscaledFonts entry has a corresponding mGenerations entry. Every + // time mUnscaledFonts is either modified or read, mLastGeneration is + // incremented and the last modified or read font generation is set to this. static const size_t kNumEntries = 3; mozilla::ThreadSafeWeakPtr mUnscaledFonts[kNumEntries]; + mozilla::Atomic mGenerations[kNumEntries]; + mozilla::Atomic mLastGeneration{0}; }; UnscaledFontCache mUnscaledFontCache; diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxFont.cpp thunderbird-140.13.0esr/gfx/thebes/gfxFont.cpp --- thunderbird-140.12.0esr/gfx/thebes/gfxFont.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxFont.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -791,9 +791,20 @@ } } +void gfxShapedText::ClearGlyphs() { + auto* cg = GetCharacterGlyphs(); + const auto* end = cg + GetLength(); + while (cg < end) { + cg->ClearGlyph(); + ++cg; + } + mDetailedGlyphs = nullptr; +} + gfxShapedText::DetailedGlyph* gfxShapedText::AllocateDetailedGlyphs( uint32_t aIndex, uint32_t aCount) { - NS_ASSERTION(aIndex < GetLength(), "Index out of range"); + MOZ_ASSERT(aIndex < GetLength(), "Index out of range"); + MOZ_ASSERT(aCount <= CompressedGlyph::GLYPH_COUNT_MASK); if (!mDetailedGlyphs) { mDetailedGlyphs = MakeUnique(); @@ -809,6 +820,13 @@ MOZ_ASSERT(aIndex > 0 || g.IsLigatureGroupStart(), "First character can't be a ligature continuation!"); + // Clamp the (potentially font-controlled) glyph count to the 16-bit field + // in CompressedGlyph, so that it cannot overflow into the flag bits. + // Any additional items in aGlyphs will be discarded. No real-world use case + // should need >64K component glyphs to represent a single character. + aGlyphCount = + std::min(aGlyphCount, CompressedGlyph::GLYPH_COUNT_MASK); + if (aGlyphCount > 0) { DetailedGlyph* details = AllocateDetailedGlyphs(aIndex, aGlyphCount); memcpy(details, aGlyphs, sizeof(DetailedGlyph) * aGlyphCount); diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxFont.h thunderbird-140.13.0esr/gfx/thebes/gfxFont.h --- thunderbird-140.12.0esr/gfx/thebes/gfxFont.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxFont.h 2026-07-21 21:32:56.000000000 +0000 @@ -995,6 +995,22 @@ mValue |= FLAG_CHAR_IS_FORMATTING_CONTROL; } + // Clear a glyph record to "missing", preserving line-break, clustering, + // and character-type flags if present. + void ClearGlyph() { + if (IsSimpleGlyph()) { + // Clear everything except the COMMON flags; this includes clearing + // FLAG_IS_SIMPLE_GLYPH, so the record becomes "complex, missing". + mValue &= COMMON_FLAGS_MASK; + } else { + // Clear the GLYPH_COUNT_MASK field and the NOT_MISSING and + // NOT_LIGATURE_GROUP_START flags, but leave other flags (clusters, + // line-breaks, char-type) intact. + mValue &= ~(GLYPH_COUNT_MASK | FLAG_NOT_MISSING | + FLAG_NOT_LIGATURE_GROUP_START); + } + } + private: uint32_t mValue; }; @@ -1113,6 +1129,10 @@ bool FilterIfIgnorable(uint32_t aIndex, uint32_t aCh); + // Erase glyph data from the gfxShapedText, while retaining line-break and + // cluster flags. + void ClearGlyphs(); + protected: // Allocate aCount DetailedGlyphs for the given index DetailedGlyph* AllocateDetailedGlyphs(uint32_t aCharIndex, uint32_t aCount); diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxFontEntry.cpp thunderbird-140.13.0esr/gfx/thebes/gfxFontEntry.cpp --- thunderbird-140.12.0esr/gfx/thebes/gfxFontEntry.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxFontEntry.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -116,8 +116,6 @@ MOZ_ASSERT(!mGrFaceInitialized); } -// Only used during initialization, before any other thread has a chance to see -// the entry, so locking not required. void gfxFontEntry::InitializeFrom(fontlist::Face* aFace, const fontlist::Family* aFamily) { mShmemFace = aFace; @@ -128,7 +126,12 @@ mFixedPitch = aFace->mFixedPitch; mIsBadUnderlineFont = aFamily->IsBadUnderlineFamily(); auto* list = gfxPlatformFontList::PlatformFontList()->SharedFontList(); + // This method is only used during initialization, before any other thread + // has a chance to see the entry, so although mFamilyName is "guarded" by + // mLock, locking is not required here. + MOZ_PUSH_IGNORE_THREAD_SAFETY mFamilyName = aFamily->DisplayName().AsString(list); + MOZ_POP_THREAD_SAFETY mHasCmapTable = TrySetShmemCharacterMap(); } diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxFontEntry.h thunderbird-140.13.0esr/gfx/thebes/gfxFontEntry.h --- thunderbird-140.12.0esr/gfx/thebes/gfxFontEntry.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxFontEntry.h 2026-07-21 21:32:56.000000000 +0000 @@ -217,7 +217,14 @@ const nsCString& Name() const { return mName; } // family name - const nsCString& FamilyName() const { return mFamilyName; } + const nsCString FamilyName() const MOZ_EXCLUDES(mLock) { + mozilla::AutoReadLock lock(mLock); + return mFamilyName; + } + void SetFamilyName(const nsCString& aName) MOZ_EXCLUDES(mLock) { + mozilla::AutoWriteLock lock(mLock); + mFamilyName = aName; + } // The following two methods may be relatively expensive, as they // will (usually, except on Linux) load and parse the 'name' table; @@ -566,7 +573,7 @@ } nsCString mName; - nsCString mFamilyName; + nsCString mFamilyName MOZ_GUARDED_BY(mLock); // These are mutable so that we can take a read lock within a const method. mutable mozilla::RWLock mLock; @@ -958,10 +965,11 @@ Name().EqualsLiteral("Times New Roman")) { aFontEntry->mIgnoreGDEF = true; } - if (aFontEntry->mFamilyName.IsEmpty()) { - aFontEntry->mFamilyName = Name(); + const nsCString entryFamily = aFontEntry->FamilyName(); + if (entryFamily.IsEmpty()) { + aFontEntry->SetFamilyName(Name()); } else { - MOZ_ASSERT(aFontEntry->mFamilyName.Equals(Name())); + MOZ_ASSERT(entryFamily.Equals(Name())); } aFontEntry->mSkipDefaultFeatureSpaceCheck = mSkipDefaultFeatureSpaceCheck; mAvailableFonts.AppendElement(aFontEntry); diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxGraphiteShaper.cpp thunderbird-140.13.0esr/gfx/thebes/gfxGraphiteShaper.cpp --- thunderbird-140.12.0esr/gfx/thebes/gfxGraphiteShaper.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxGraphiteShaper.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -251,6 +251,9 @@ nsresult rv = SetGlyphsFromSegment(aShapedText, aOffset, aLength, aText, t_aText.to_opaque(), seg.to_opaque(), aRounding); + if (NS_FAILED(rv)) { + aShapedText->ClearGlyphs(); + } sandbox_invoke(*mSandbox, gr_seg_destroy, seg); @@ -398,6 +401,15 @@ return NS_ERROR_ILLEGAL_VALUE; } + // The glyphCount field in a CompressedGlyph record is 16 bits; + // check that we will not exceed this. + if (glyph_end - glyph_start > 0xFFFF) { + return NS_ERROR_ILLEGAL_VALUE; + } + if (!details.SetCapacity(glyph_end - glyph_start, fallible)) { + return NS_ERROR_OUT_OF_MEMORY; + } + for (uint32_t j = glyph_start; j < glyph_end; ++j) { gfxShapedText::DetailedGlyph* d = details.AppendElement(); d->mGlyphID = gids[j].unverified_safe_because(gid_simple_value); diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxHarfBuzzShaper.cpp thunderbird-140.13.0esr/gfx/thebes/gfxHarfBuzzShaper.cpp --- thunderbird-140.12.0esr/gfx/thebes/gfxHarfBuzzShaper.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxHarfBuzzShaper.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -989,7 +989,8 @@ const KernTableSubtableHeaderVersion0* st0 = reinterpret_cast(base + offs); uint16_t subtableLen = uint16_t(st0->length); - if (offs + subtableLen > len) { + if (subtableLen < sizeof(KernTableSubtableHeaderVersion0) || + subtableLen > len - offs) { break; } offs += subtableLen; @@ -1044,6 +1045,10 @@ reinterpret_cast(base + offs); uint32_t subtableLen = uint32_t(st1->length); + if (subtableLen < sizeof(KernTableSubtableHeaderVersion1) || + subtableLen > len - offs) { + break; + } offs += subtableLen; uint16_t coverage = st1->coverage; if (coverage & (KERN1_COVERAGE_VERTICAL | KERN1_COVERAGE_CROSS_STREAM | diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxPlatformFontList.cpp thunderbird-140.13.0esr/gfx/thebes/gfxPlatformFontList.cpp --- thunderbird-140.12.0esr/gfx/thebes/gfxPlatformFontList.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxPlatformFontList.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -724,6 +724,9 @@ FontFamily fam = GetDefaultFontLocked(nullptr, &defStyle); gfxFontEntry* fe; if (fam.mShared) { + if (!fam.mShared->IsInitialized()) { + (void)InitializeFamily(fam.mShared); + } auto face = fam.mShared->FindFaceForStyle(SharedFontList(), defStyle); fe = face ? GetOrCreateFontEntryLocked(face, fam.mShared) : nullptr; } else { diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxTextRun.cpp thunderbird-140.13.0esr/gfx/thebes/gfxTextRun.cpp --- thunderbird-140.12.0esr/gfx/thebes/gfxTextRun.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxTextRun.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -1392,8 +1392,8 @@ // ligature glyphs from wrong font (seen with U+FEFF in reftest 474417-1, as // Core Text eliminates the glyph, which makes it appear as if a ligature // has been formed) - while (charGlyphs[aRun.mCharacterOffset].IsLigatureContinuation() && - aRun.mCharacterOffset < GetLength()) { + while (aRun.mCharacterOffset < GetLength() && + charGlyphs[aRun.mCharacterOffset].IsLigatureContinuation()) { aRun.mCharacterOffset++; } @@ -2034,24 +2034,27 @@ RefPtr font = ff.Font(); if (!font) { - gfxFontEntry* fe = ff.FontEntry(); + RefPtr fe = ff.FontEntry(); if (!fe) { return nullptr; } - gfxCharacterMap* unicodeRangeMap = nullptr; + RefPtr unicodeRangeMap; if (fe->mIsUserFontContainer) { - gfxUserFontEntry* ufe = static_cast(fe); + // This raw pointer is OK because fe holds a strong ref to the object. + gfxUserFontEntry* ufe = static_cast(fe.get()); if (ufe->LoadState() == gfxUserFontEntry::STATUS_NOT_LOADED && ufe->CharacterInUnicodeRange(aCh) && !*aLoading) { ufe->Load(); ff.CheckState(mSkipDrawing); *aLoading = ff.IsLoading(); } + unicodeRangeMap = ufe->GetUnicodeRangeMap(); + // Update fe to refer to the actual platform font entry, rather than the + // webfont wrapper. After this, we no longer have a strong ref to ufe. fe = ufe->GetPlatformFontEntry(); if (!fe) { return nullptr; } - unicodeRangeMap = ufe->GetUnicodeRangeMap(); } font = fe->FindOrMakeFont(&mStyle, unicodeRangeMap); if (!font || !font->Valid()) { diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxUserFontSet.cpp thunderbird-140.13.0esr/gfx/thebes/gfxUserFontSet.cpp --- thunderbird-140.12.0esr/gfx/thebes/gfxUserFontSet.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxUserFontSet.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -284,7 +284,7 @@ void gfxUserFontEntry::GetFamilyNameAndURIForLogging(uint32_t aSrcIndex, nsACString& aFamilyName, nsACString& aURI) { - aFamilyName = mFamilyName; + aFamilyName = FamilyName(); aURI.Truncate(); if (aSrcIndex >= mSrcList.Length()) { @@ -441,7 +441,7 @@ RefPtr fontSet = GetUserFontSet(); if (NS_WARN_IF(!fontSet)) { LOG(("userfonts (%p) failed expired font set for (%s)\n", fontSet.get(), - mFamilyName.get())); + FamilyName().get())); mFontDataLoadingState = LOADING_FAILED; SetLoadState(STATUS_FAILED); return; @@ -479,11 +479,11 @@ if (fe) { LOG(("userfonts (%p) [src %d] loaded local: (%s) for (%s) gen: %8.8x\n", fontSet.get(), mCurrentSrcIndex, currSrc.mLocalName.get(), - mFamilyName.get(), uint32_t(fontSet->GetGeneration()))); + FamilyName().get(), uint32_t(fontSet->GetGeneration()))); fe->mFeatureSettings.AppendElements(mFeatureSettings); fe->mVariationSettings.AppendElements(mVariationSettings); fe->mLanguageOverride = mLanguageOverride; - fe->mFamilyName = mFamilyName; + fe->SetFamilyName(FamilyName()); fe->mRangeFlags = mRangeFlags; fe->mAscentOverride = mAscentOverride; fe->mDescentOverride = mDescentOverride; @@ -501,7 +501,7 @@ } LOG(("userfonts (%p) [src %d] failed local: (%s) for (%s)\n", fontSet.get(), mCurrentSrcIndex, currSrc.mLocalName.get(), - mFamilyName.get())); + FamilyName().get())); } // src url ==> start the load process @@ -536,7 +536,7 @@ ("userfonts (%p) [src %d] " "loaded uri from cache: (%s) for (%s)\n", fontSet.get(), mCurrentSrcIndex, - currSrc.mURI->GetSpecOrDefault().get(), mFamilyName.get())); + currSrc.mURI->GetSpecOrDefault().get(), FamilyName().get())); return; } } @@ -606,7 +606,7 @@ if (NS_SUCCEEDED(rv)) { LOG(("userfonts (%p) [src %d] loading uri: (%s) for (%s)\n", fontSet.get(), mCurrentSrcIndex, - currSrc.mURI->GetSpecOrDefault().get(), mFamilyName.get())); + currSrc.mURI->GetSpecOrDefault().get(), FamilyName().get())); return; } fontSet->LogMessage(this, mCurrentSrcIndex, @@ -649,7 +649,7 @@ // all src's failed; mark this entry as unusable (so fallback will occur) LOG(("userfonts (%p) failed all src for (%s)\n", fontSet.get(), - mFamilyName.get())); + FamilyName().get())); mFontDataLoadingState = LOADING_FAILED; SetLoadState(STATUS_FAILED); } @@ -812,7 +812,7 @@ fe->mFeatureSettings.AppendElements(mFeatureSettings); fe->mVariationSettings.AppendElements(mVariationSettings); fe->mLanguageOverride = mLanguageOverride; - fe->mFamilyName = mFamilyName; + fe->SetFamilyName(FamilyName()); fe->mRangeFlags = mRangeFlags; fe->mAscentOverride = mAscentOverride; fe->mDescentOverride = mDescentOverride; @@ -824,7 +824,7 @@ ("userfonts (%p) [src %d] loaded uri: (%s) for (%s) " "(%p) gen: %8.8x compress: %d%%\n", fontSet.get(), aSrcIndex, - mSrcList[aSrcIndex].mURI->GetSpecOrDefault().get(), mFamilyName.get(), + mSrcList[aSrcIndex].mURI->GetSpecOrDefault().get(), FamilyName().get(), this, uint32_t(fontSet->GetGeneration()), fontCompressionRatio)); mPlatformFontEntry = fe; SetLoadState(STATUS_LOADED); @@ -834,11 +834,12 @@ gfxUserFontSet::UserFontCache::CacheFont(fe); } } else { - LOG(( - "userfonts (%p) [src %d] failed uri: (%s) for (%s)" - " error making platform font\n", - fontSet.get(), aSrcIndex, - mSrcList[aSrcIndex].mURI->GetSpecOrDefault().get(), mFamilyName.get())); + LOG( + ("userfonts (%p) [src %d] failed uri: (%s) for (%s)" + " error making platform font\n", + fontSet.get(), aSrcIndex, + mSrcList[aSrcIndex].mURI->GetSpecOrDefault().get(), + FamilyName().get())); } // The downloaded data can now be discarded; the font entry is using the @@ -1236,7 +1237,7 @@ mFontEntry->mDescentOverride != fe->mDescentOverride || mFontEntry->mLineGapOverride != fe->mLineGapOverride || mFontEntry->mSizeAdjust != fe->mSizeAdjust || - mFontEntry->mFamilyName != fe->mFamilyName) { + mFontEntry->FamilyName() != fe->FamilyName()) { return false; } @@ -1245,7 +1246,7 @@ void gfxUserFontSet::UserFontCache::CacheFont(gfxFontEntry* aFontEntry) { MOZ_ASSERT(NS_IsMainThread()); - NS_ASSERTION(aFontEntry->mFamilyName.Length() != 0, + NS_ASSERTION(aFontEntry->FamilyName().Length() != 0, "caching a font associated with no family yet"); // if caching is disabled, simply return @@ -1375,7 +1376,7 @@ if (aAnonymize) { path.AppendPrintf("", this); } else { - path.AppendPrintf("family=%s", mFontEntry->mFamilyName.get()); + path.AppendPrintf("family=%s", mFontEntry->FamilyName().get()); if (mURI) { nsCString spec = mURI->GetSpecOrDefault(); spec.ReplaceChar('/', '\\'); diff -Nru thunderbird-140.12.0esr/gfx/thebes/gfxUserFontSet.h thunderbird-140.13.0esr/gfx/thebes/gfxUserFontSet.h --- thunderbird-140.12.0esr/gfx/thebes/gfxUserFontSet.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/thebes/gfxUserFontSet.h 2026-07-21 21:32:56.000000000 +0000 @@ -184,6 +184,8 @@ // add the given font entry to the end of the family's list void AddFontEntry(gfxFontEntry* aFontEntry) { + nsCString entryName = aFontEntry->FamilyName(); + mozilla::AutoWriteLock lock(mLock); MOZ_ASSERT(!mIsSimpleFamily, "not valid for user-font families"); // keep ref while removing existing entry @@ -194,12 +196,11 @@ // one in the fontlist used for matching, as per CSS Fonts spec mAvailableFonts.InsertElementAt(0, aFontEntry); - if (aFontEntry->mFamilyName.IsEmpty()) { - aFontEntry->mFamilyName = Name(); + if (entryName.IsEmpty()) { + aFontEntry->SetFamilyName(Name()); } else { #ifdef DEBUG nsCString thisName = Name(); - nsCString entryName = aFontEntry->mFamilyName; ToLowerCase(thisName); ToLowerCase(entryName); MOZ_ASSERT(thisName.Equals(entryName)); @@ -438,7 +439,7 @@ principalHash + int(aKey->mPrivate), aKey->mURI->Hash(), HashFeatures(aKey->mFontEntry->mFeatureSettings), HashVariations(aKey->mFontEntry->mVariationSettings), - mozilla::HashString(aKey->mFontEntry->mFamilyName), + mozilla::HashString(aKey->mFontEntry->FamilyName()), aKey->mFontEntry->Weight().AsScalar(), aKey->mFontEntry->SlantStyle().AsScalar(), aKey->mFontEntry->Stretch().AsScalar(), diff -Nru thunderbird-140.12.0esr/gfx/webrender_bindings/DCLayerTree.cpp thunderbird-140.13.0esr/gfx/webrender_bindings/DCLayerTree.cpp --- thunderbird-140.12.0esr/gfx/webrender_bindings/DCLayerTree.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/webrender_bindings/DCLayerTree.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -1760,7 +1760,8 @@ // XXX if software decoded video frame format is nv12, it could be used as // video overlay. if (!texture || !texture->AsRenderDXGITextureHost() || - texture->GetFormat() != gfx::SurfaceFormat::NV12) { + ((texture->GetFormat() != gfx::SurfaceFormat::NV12) && + (texture->GetFormat() != gfx::SurfaceFormat::P010))) { gfxCriticalNote << "Unsupported RenderTexture for overlay: " << gfx::hexa(texture); return; diff -Nru thunderbird-140.12.0esr/gfx/webrender_bindings/RenderD3D11TextureHost.cpp thunderbird-140.13.0esr/gfx/webrender_bindings/RenderD3D11TextureHost.cpp --- thunderbird-140.12.0esr/gfx/webrender_bindings/RenderD3D11TextureHost.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/webrender_bindings/RenderD3D11TextureHost.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -57,6 +57,32 @@ DeleteTextureHandle(); } +static bool IsCompatibleDXGIFormat(gfx::SurfaceFormat aFormat, + DXGI_FORMAT aDXGIFormat) { + switch (aFormat) { + case gfx::SurfaceFormat::B8G8R8A8: + case gfx::SurfaceFormat::B8G8R8X8: + case gfx::SurfaceFormat::R8G8B8A8: + case gfx::SurfaceFormat::R8G8B8X8: + return aDXGIFormat == DXGI_FORMAT_B8G8R8A8_UNORM || + aDXGIFormat == DXGI_FORMAT_B8G8R8X8_UNORM || + aDXGIFormat == DXGI_FORMAT_R8G8B8A8_UNORM; + case gfx::SurfaceFormat::NV12: + return aDXGIFormat == DXGI_FORMAT_NV12; + case gfx::SurfaceFormat::P010: + return aDXGIFormat == DXGI_FORMAT_P010; + case gfx::SurfaceFormat::P016: + return aDXGIFormat == DXGI_FORMAT_P016; + case gfx::SurfaceFormat::A8: + return aDXGIFormat == DXGI_FORMAT_R8_UNORM || + aDXGIFormat == DXGI_FORMAT_A8_UNORM; + case gfx::SurfaceFormat::A16: + return aDXGIFormat == DXGI_FORMAT_R16_UNORM; + default: + return false; + } +} + ID3D11Texture2D* RenderDXGITextureHost::GetD3D11Texture2DWithGL() { if (mTexture) { return mTexture; @@ -207,42 +233,55 @@ RefPtr texture; textureMap->WaitTextureReady(mGpuProcessTextureId.ref()); mTexture = textureMap->GetTexture(mGpuProcessTextureId.ref()); - if (mTexture) { - return true; - } else { - gfxCriticalNote << "GpuProcessTextureId is not valid"; - } } - return false; - } + if (!mTexture) { + gfxCriticalNote << "GpuProcessTextureId is not valid"; + return false; + } + } else { + RefPtr device1; + aDevice->QueryInterface((ID3D11Device1**)getter_AddRefs(device1)); + if (!device1) { + gfxCriticalNoteOnce << "Failed to get ID3D11Device1"; + return false; + } - RefPtr device1; - aDevice->QueryInterface((ID3D11Device1**)getter_AddRefs(device1)); - if (!device1) { - gfxCriticalNoteOnce << "Failed to get ID3D11Device1"; - return 0; + // Get the D3D11 texture from shared handle. + HRESULT hr = device1->OpenSharedResource1( + (HANDLE)mHandle->GetHandle(), __uuidof(ID3D11Texture2D), + (void**)(ID3D11Texture2D**)getter_AddRefs(mTexture)); + if (FAILED(hr)) { + MOZ_ASSERT(false, + "RenderDXGITextureHost::EnsureLockable(): Failed to open " + "shared texture"); + gfxCriticalNote + << "RenderDXGITextureHost Failed to open shared texture, hr=" + << gfx::hexa(hr); + return false; + } + MOZ_ASSERT(mTexture.get()); + mTexture->QueryInterface((IDXGIKeyedMutex**)getter_AddRefs(mKeyedMutex)); + + MOZ_ASSERT(mHasKeyedMutex == !!mKeyedMutex); + if (mHasKeyedMutex != !!mKeyedMutex) { + gfxCriticalNoteOnce << "KeyedMutex mismatch"; + } } - // Get the D3D11 texture from shared handle. - HRESULT hr = device1->OpenSharedResource1( - (HANDLE)mHandle->GetHandle(), __uuidof(ID3D11Texture2D), - (void**)(ID3D11Texture2D**)getter_AddRefs(mTexture)); - if (FAILED(hr)) { - MOZ_ASSERT(false, - "RenderDXGITextureHost::EnsureLockable(): Failed to open shared " - "texture"); - gfxCriticalNote - << "RenderDXGITextureHost Failed to open shared texture, hr=" - << gfx::hexa(hr); + D3D11_TEXTURE2D_DESC desc{}; + mTexture->GetDesc(&desc); + if (uint32_t(mSize.width) > desc.Width || + uint32_t(mSize.height) > desc.Height || + !IsCompatibleDXGIFormat(mFormat, desc.Format)) { + gfxCriticalNote << "RenderDXGITextureHost descriptor (" << mSize.width + << "x" << mSize.height << " fmt " << int(mFormat) + << ") does not match resource (" << desc.Width << "x" + << desc.Height << " DXGI " << int(desc.Format) << ")"; + mTexture = nullptr; + mKeyedMutex = nullptr; return false; } - MOZ_ASSERT(mTexture.get()); - mTexture->QueryInterface((IDXGIKeyedMutex**)getter_AddRefs(mKeyedMutex)); - MOZ_ASSERT(mHasKeyedMutex == !!mKeyedMutex); - if (mHasKeyedMutex != !!mKeyedMutex) { - gfxCriticalNoteOnce << "KeyedMutex mismatch"; - } return true; } @@ -619,6 +658,9 @@ return true; } + const DXGI_FORMAT expectedFormat = mColorDepth == gfx::ColorDepth::COLOR_8 + ? DXGI_FORMAT_R8_UNORM + : DXGI_FORMAT_R16_UNORM; for (int i = 0; i < 3; ++i) { // Get the R8 D3D11 texture from shared handle. HRESULT hr = device1->OpenSharedResource1( @@ -634,6 +676,23 @@ << gfx::hexa(hr); return false; } + + D3D11_TEXTURE2D_DESC desc{}; + mTextures[i]->GetDesc(&desc); + const gfx::IntSize& expected = (i == 0) ? mSizeY : mSizeCbCr; + if (uint32_t(expected.width) > desc.Width || + uint32_t(expected.height) > desc.Height || + desc.Format != expectedFormat) { + gfxCriticalNote << "RenderDXGIYCbCrTextureHost descriptor (" + << expected.width << "x" << expected.height << " depth " + << int(mColorDepth) << ") does not match resource (" + << desc.Width << "x" << desc.Height << " DXGI " + << int(desc.Format) << ")"; + for (auto& tex : mTextures) { + tex = nullptr; + } + return false; + } } mDevice = aDevice; diff -Nru thunderbird-140.12.0esr/gfx/webrender_bindings/WebRenderTypes.h thunderbird-140.13.0esr/gfx/webrender_bindings/WebRenderTypes.h --- thunderbird-140.12.0esr/gfx/webrender_bindings/WebRenderTypes.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/webrender_bindings/WebRenderTypes.h 2026-07-21 21:32:56.000000000 +0000 @@ -102,14 +102,25 @@ } } +inline OpacityType ToOpacityType(gfx::SurfaceFormat aFormat) { + return gfx::IsOpaque(aFormat) ? OpacityType::Opaque + : OpacityType::HasAlphaChannel; +} + inline gfx::SurfaceFormat ImageFormatToSurfaceFormat(ImageFormat aFormat) { switch (aFormat) { + case ImageFormat::RGBA8: + return gfx::SurfaceFormat::R8G8B8A8; case ImageFormat::BGRA8: return gfx::SurfaceFormat::B8G8R8A8; case ImageFormat::R8: return gfx::SurfaceFormat::A8; case ImageFormat::R16: return gfx::SurfaceFormat::A16; + case ImageFormat::RG8: + return gfx::SurfaceFormat::R8G8; + case ImageFormat::RG16: + return gfx::SurfaceFormat::R16G16; default: return gfx::SurfaceFormat::UNKNOWN; } @@ -139,48 +150,27 @@ aFrame, uint64_t(aPerFrameKey) | (uint64_t(aKind) << 32)}; } -struct ImageDescriptor : public wr::WrImageDescriptor { - // We need a default constructor for ipdl serialization. - ImageDescriptor() { - format = (ImageFormat)0; - width = 0; - height = 0; - stride = 0; - opacity = OpacityType::HasAlphaChannel; - prefer_compositor_surface = false; - } - - ImageDescriptor(const gfx::IntSize& aSize, gfx::SurfaceFormat aFormat, +struct ImageDescriptor : public WrImageDescriptor { + ImageDescriptor() = delete; + ImageDescriptor(const gfx::IntSize& aSize, ImageFormat aFormat, + OpacityType aOpacityType, bool aPreferCompositorSurface = false) { - format = wr::SurfaceFormatToImageFormat(aFormat).valueOr((ImageFormat)0); + format = aFormat; width = aSize.width; height = aSize.height; stride = 0; - opacity = gfx::IsOpaque(aFormat) ? OpacityType::Opaque - : OpacityType::HasAlphaChannel; - prefer_compositor_surface = aPreferCompositorSurface; - } - - ImageDescriptor(const gfx::IntSize& aSize, uint32_t aByteStride, - gfx::SurfaceFormat aFormat, - bool aPreferCompositorSurface = false) { - format = wr::SurfaceFormatToImageFormat(aFormat).valueOr((ImageFormat)0); - width = aSize.width; - height = aSize.height; - stride = aByteStride; - opacity = gfx::IsOpaque(aFormat) ? OpacityType::Opaque - : OpacityType::HasAlphaChannel; + opacity = aOpacityType; prefer_compositor_surface = aPreferCompositorSurface; } - ImageDescriptor(const gfx::IntSize& aSize, uint32_t aByteStride, - gfx::SurfaceFormat aFormat, OpacityType aOpacity, + ImageDescriptor(const gfx::IntSize& aSize, int32_t aByteStride, + ImageFormat aFormat, OpacityType aOpacityType, bool aPreferCompositorSurface = false) { - format = wr::SurfaceFormatToImageFormat(aFormat).valueOr((ImageFormat)0); + format = aFormat; width = aSize.width; height = aSize.height; stride = aByteStride; - opacity = aOpacity; + opacity = aOpacityType; prefer_compositor_surface = aPreferCompositorSurface; } }; diff -Nru thunderbird-140.12.0esr/gfx/wr/swgl/src/gl.cc thunderbird-140.13.0esr/gfx/wr/swgl/src/gl.cc --- thunderbird-140.12.0esr/gfx/wr/swgl/src/gl.cc 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/wr/swgl/src/gl.cc 2026-07-21 21:32:56.000000000 +0000 @@ -892,11 +892,12 @@ template static inline void init_filter(S* s, Texture& t) { - // If the width is not at least 2 pixels, then we can't safely sample the end - // of the row with a linear filter. In that case, just punt to using nearest - // filtering instead. - s->filter = t.width >= 2 ? gl_filter_to_texture_filter(t.mag_filter) - : TextureFilter::NEAREST; + // If the width is not at least 2 pixel blocks, then we can't safely sample + // the end of the row with a linear filter. In that case, just punt to using + // nearest filtering instead. + int filterWidth = t.internal_format == GL_RGB_RAW_422_APPLE ? 4 : 2; + s->filter = t.width >= filterWidth ? gl_filter_to_texture_filter(t.mag_filter) + : TextureFilter::NEAREST; } template diff -Nru thunderbird-140.12.0esr/gfx/wr/swgl/src/rasterize.h thunderbird-140.13.0esr/gfx/wr/swgl/src/rasterize.h --- thunderbird-140.12.0esr/gfx/wr/swgl/src/rasterize.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/wr/swgl/src/rasterize.h 2026-07-21 21:32:56.000000000 +0000 @@ -595,15 +595,15 @@ // Converts a run array into a flattened array of depth samples. This just // walks through every run and fills the samples with the depth value from // the run. -static void flatten_depth_runs(DepthRun* runs, size_t width) { +static void flatten_depth_runs(DepthRun* runs, int width) { if (runs->is_flat()) { return; } while (width > 0) { - size_t n = runs->count; + uint8_t n = runs->count; fill_flat_depth(runs, n, runs->depth); runs += n; - width -= n; + width -= int(n); } } @@ -1008,8 +1008,9 @@ // edges per the change in right and left X. If the left and right X // positions are extremely close together, then avoid stepping the // interpolants. - float stepScale = 1.0f / (right.x - left.x); - if (!isfinite(stepScale)) stepScale = 0.0f; + float stepWidth = right.x - left.x; + float stepScale = 1.0f / stepWidth; + if (!isfinite(stepWidth) || !isfinite(stepScale)) stepScale = 0.0f; Interpolants step = (right.interp - left.interp) * stepScale; // Advance current interpolants to X at start of span. Interpolants o = left.interp + step * (span.start + 0.5f - left.x); @@ -1239,8 +1240,9 @@ // Calculate the fragment Z and W change per change in fragment X step. // If the left and right X positions are extremely close together, then // avoid stepping. - float stepScale = 1.0f / (right.x() - left.x()); - if (!isfinite(stepScale)) stepScale = 0.0f; + float stepWidth = right.x() - left.x(); + float stepScale = 1.0f / stepWidth; + if (!isfinite(stepWidth) || !isfinite(stepScale)) stepScale = 0.0f; vec2_scalar stepZW = (right.zw() - left.zw()) * stepScale; // Calculate initial Z and W values for span start. vec2_scalar zw = left.zw() + stepZW * (span.start + 0.5f - left.x()); diff -Nru thunderbird-140.12.0esr/gfx/wr/webrender/src/texture_cache.rs thunderbird-140.13.0esr/gfx/wr/webrender/src/texture_cache.rs --- thunderbird-140.12.0esr/gfx/wr/webrender/src/texture_cache.rs 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/wr/webrender/src/texture_cache.rs 2026-07-21 21:32:56.000000000 +0000 @@ -272,9 +272,9 @@ } impl BudgetType { - pub const COUNT: usize = 7; + const COUNT: usize = 7; - pub const VALUES: [BudgetType; BudgetType::COUNT] = [ + const VALUES: [BudgetType; BudgetType::COUNT] = [ BudgetType::SharedColor8Linear, BudgetType::SharedColor8Nearest, BudgetType::SharedColor8Glyphs, @@ -284,7 +284,7 @@ BudgetType::Standalone, ]; - pub const PRESSURE_COUNTERS: [usize; BudgetType::COUNT] = [ + const PRESSURE_COUNTERS: [usize; BudgetType::COUNT] = [ profiler::ATLAS_COLOR8_LINEAR_PRESSURE, profiler::ATLAS_COLOR8_NEAREST_PRESSURE, profiler::ATLAS_COLOR8_GLYPHS_PRESSURE, diff -Nru thunderbird-140.12.0esr/gfx/ycbcr/ycbcr_to_rgb565.cpp thunderbird-140.13.0esr/gfx/ycbcr/ycbcr_to_rgb565.cpp --- thunderbird-140.12.0esr/gfx/ycbcr/ycbcr_to_rgb565.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/gfx/ycbcr/ycbcr_to_rgb565.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -280,6 +280,17 @@ } } +static bool IsScaleYCbCrToRGB565BoundsValid(int source_x0, int source_y0, + int source_width, + int source_height) { + return source_x0 > (INT_MIN >> 16) && source_x0 < (INT_MAX >> 16) && + source_x0 + source_width > (INT_MIN >> 16) && + source_x0 + source_width < (INT_MAX >> 16) && + source_y0 > (INT_MIN >> 16) && source_y0 < (INT_MAX >> 16) && + source_y0 + source_height > (INT_MIN >> 16) && + source_y0 + source_height < (INT_MAX >> 16); +} + void ScaleYCbCrToRGB565(const uint8_t *y_buf, const uint8_t *u_buf, const uint8_t *v_buf, @@ -313,16 +324,10 @@ if (width <= 0 || height <= 0) return; /*These bounds are required to avoid 16.16 fixed-point overflow.*/ - NS_ASSERTION(source_x0 > (INT_MIN>>16) && source_x0 < (INT_MAX>>16), - "ScaleYCbCrToRGB565 source X offset out of bounds."); - NS_ASSERTION(source_x0+source_width > (INT_MIN>>16) - && source_x0+source_width < (INT_MAX>>16), - "ScaleYCbCrToRGB565 source width out of bounds."); - NS_ASSERTION(source_y0 > (INT_MIN>>16) && source_y0 < (INT_MAX>>16), - "ScaleYCbCrToRGB565 source Y offset out of bounds."); - NS_ASSERTION(source_y0+source_height > (INT_MIN>>16) - && source_y0+source_height < (INT_MAX>>16), - "ScaleYCbCrToRGB565 source height out of bounds."); + if (!IsScaleYCbCrToRGB565BoundsValid(source_x0, source_y0, source_width, + source_height)) { + return; + } /*We require the same stride for Y' and Cb and Cr for 4:4:4 content.*/ NS_ASSERTION(yuv_type != YV24 || y_pitch == uv_pitch, "ScaleYCbCrToRGB565 luma stride differs from chroma for 4:4:4 content."); @@ -548,6 +553,10 @@ // Very fast. if (width <= 0 || height <= 0) return true; + if (!IsScaleYCbCrToRGB565BoundsValid(source_x0, source_y0, source_width, + source_height)) { + return false; + } # if defined(MOZILLA_MAY_SUPPORT_NEON) if (filter != FILTER_NONE) { int source_dx_q16; diff -Nru thunderbird-140.12.0esr/image/BlobSurfaceProvider.cpp thunderbird-140.13.0esr/image/BlobSurfaceProvider.cpp --- thunderbird-140.12.0esr/image/BlobSurfaceProvider.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/image/BlobSurfaceProvider.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -276,8 +276,10 @@ wr::BlobImageKey key = aBlobKey ? aBlobKey.value() : wr::BlobImageKey{wrBridge->GetNextImageKey()}; - wr::ImageDescriptor descriptor(imageRect.Size(), 0, SurfaceFormat::OS_RGBA, - wr::OpacityType::HasAlphaChannel); + wr::ImageDescriptor descriptor( + imageRect.Size(), 0, + *wr::SurfaceFormatToImageFormat(SurfaceFormat::OS_RGBA), + wr::OpacityType::HasAlphaChannel); auto visibleRect = ImageIntRect::FromUnknownRect(imageRectOrigin); if (aBlobKey) { diff -Nru thunderbird-140.12.0esr/image/RasterImage.cpp thunderbird-140.13.0esr/image/RasterImage.cpp --- thunderbird-140.12.0esr/image/RasterImage.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/image/RasterImage.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -1680,10 +1680,12 @@ } if (mAnimationState && LoadHasBeenDecoded()) { - // We've finished a full decode of all animation frames and our - // AnimationState has been notified about them all, so let it know not to - // expect anymore. - mAnimationState->NotifyDecodeComplete(); + // If we've successfully finished a full decode of all animation frames + // then let our animation state know it is complete and to not expect + // anymore frames. + if (aStatus.mFinished && !aStatus.mHadError) { + mAnimationState->NotifyDecodeComplete(); + } IntRect rect = mAnimationState->UpdateState(this, mSize.ToUnknownSize()); diff -Nru thunderbird-140.12.0esr/image/decoders/nsAVIFDecoder.cpp thunderbird-140.13.0esr/image/decoders/nsAVIFDecoder.cpp --- thunderbird-140.12.0esr/image/decoders/nsAVIFDecoder.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/image/decoders/nsAVIFDecoder.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -613,15 +613,14 @@ return 0; } - static Dav1dResult GetPicture(Dav1dContext& aContext, - const MediaRawData& aBytes, + static Dav1dResult GetPicture(Dav1dContext& aContext, MediaRawData& aBytes, Dav1dPicture* aPicture, bool aShouldSendTelemetry) { MOZ_ASSERT(aPicture); Dav1dData dav1dData; Dav1dResult r = dav1d_data_wrap(&dav1dData, aBytes.Data(), aBytes.Size(), - Dav1dFreeCallback_s, nullptr); + Dav1dFreeCallback_s, &aBytes); MOZ_LOG( sAVIFLog, r == 0 ? LogLevel::Verbose : LogLevel::Error, @@ -631,12 +630,22 @@ return r; } + // After a successful dav1d_data_wrap call, dav1d effectively owns a + // reference to the buffer that aBytes holds until dav1d calls the passed in + // free callback Dav1dFreeCallback_s. We handle this with an AddRef here and + // a Release in Dav1dFreeCallback_s. + aBytes.AddRef(); + r = dav1d_send_data(&aContext, &dav1dData); MOZ_LOG(sAVIFLog, r == 0 ? LogLevel::Debug : LogLevel::Error, ("dav1d_send_data -> %d", r)); if (r != 0) { + // On failure dav1d leaves the caller's reference to the data intact; + // drop it (this invokes Dav1dFreeCallback_s once dav1d holds no other + // references). + dav1d_data_unref(&dav1dData); return r; } @@ -660,10 +669,9 @@ return r; } - // A dummy callback for dav1d_data_wrap static void Dav1dFreeCallback_s(const uint8_t* aBuf, void* aCookie) { - // The buf is managed by the mParser inside Dav1dDecoder itself. Do - // nothing here. + MOZ_ASSERT(aCookie); + static_cast(aCookie)->Release(); } static UniquePtr Dav1dPictureToDecodedData( diff -Nru thunderbird-140.12.0esr/image/imgRequest.cpp thunderbird-140.13.0esr/image/imgRequest.cpp --- thunderbird-140.12.0esr/image/imgRequest.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/image/imgRequest.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -623,6 +623,22 @@ return mHadInsecureRedirect; } +bool imgRequest::HadCrossOriginRedirects() const { + // While the channel is still around (during the load) read the authoritative + // value from it; afterwards fall back to the value latched in OnStopRequest. + // Ignore internal redirects (e.g. a service worker substituting a same-origin + // response for a cross-origin request): those are not cross-origin data flow + // and must not taint. Real cross-origin redirects (incl. bounce-backs) count. + if (mTimedChannel) { + bool allRedirectsSameOrigin = false; + return NS_SUCCEEDED( + mTimedChannel->GetAllRedirectsSameOriginIgnoringInternal( + &allRedirectsSameOrigin)) && + !allRedirectsSameOrigin; + } + return mHadCrossOriginRedirects; +} + /** nsIRequestObserver methods **/ NS_IMETHODIMP @@ -818,6 +834,18 @@ progressTracker->SyncNotifyProgress(progress); } + // Store whether the load involved a cross-origin redirect before we drop the + // timed channel. Internal redirects (e.g. a service worker serving a + // same-origin response for a cross-origin request) are ignored so we don't + // over-taint; real cross-origin redirects (incl. bounce-backs) still count. + if (mTimedChannel) { + bool allRedirectsSameOrigin = false; + mHadCrossOriginRedirects = + NS_SUCCEEDED(mTimedChannel->GetAllRedirectsSameOriginIgnoringInternal( + &allRedirectsSameOrigin)) && + !allRedirectsSameOrigin; + } + mTimedChannel = nullptr; return NS_OK; } diff -Nru thunderbird-140.12.0esr/image/imgRequest.h thunderbird-140.13.0esr/image/imgRequest.h --- thunderbird-140.12.0esr/image/imgRequest.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/image/imgRequest.h 2026-07-21 21:32:56.000000000 +0000 @@ -164,6 +164,10 @@ nsITimedChannel* GetTimedChannel() const { return mTimedChannel; } + /// Returns true if any redirect in the chain that loaded this image was + /// cross-origin. + bool HadCrossOriginRedirects() const; + imgCacheValidator* GetValidator() const { return mValidator; } void SetValidator(imgCacheValidator* aValidator) { mValidator = aValidator; } @@ -283,6 +287,8 @@ bool mIsCrossSiteNoCORSRequest; bool mShouldReportRenderTimeForLCP; + // True if any redirect in the chain that loaded this image was cross-origin. + bool mHadCrossOriginRedirects = false; // SVGs can't be OffMainThread for example bool mOffMainThreadData = false; diff -Nru thunderbird-140.12.0esr/image/imgRequestProxy.cpp thunderbird-140.13.0esr/image/imgRequestProxy.cpp --- thunderbird-140.12.0esr/image/imgRequestProxy.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/image/imgRequestProxy.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -870,17 +870,8 @@ NS_IMETHODIMP imgRequestProxy::GetHadCrossOriginRedirects(bool* aHadCrossOriginRedirects) { - *aHadCrossOriginRedirects = false; - - nsCOMPtr timedChannel = TimedChannel(); - if (timedChannel) { - bool allRedirectsSameOrigin = false; - *aHadCrossOriginRedirects = - NS_SUCCEEDED( - timedChannel->GetAllRedirectsSameOrigin(&allRedirectsSameOrigin)) && - !allRedirectsSameOrigin; - } - + *aHadCrossOriginRedirects = + GetOwner() ? GetOwner()->HadCrossOriginRedirects() : false; return NS_OK; } diff -Nru thunderbird-140.12.0esr/ipc/glue/BackgroundParentImpl.cpp thunderbird-140.13.0esr/ipc/glue/BackgroundParentImpl.cpp --- thunderbird-140.12.0esr/ipc/glue/BackgroundParentImpl.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/ipc/glue/BackgroundParentImpl.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -464,7 +464,7 @@ mozilla::ipc::IPCResult BackgroundParentImpl::RecvCreateWebTransportParent( const nsAString& aURL, nsIPrincipal* aPrincipal, - const mozilla::Maybe& aClientInfo, const bool& aDedicated, + const IPCClientInfo& aClientInfo, const bool& aDedicated, const bool& aRequireUnreliable, const uint32_t& aCongestionControl, nsTArray&& aServerCertHashes, Endpoint&& aParentEndpoint, @@ -1093,7 +1093,12 @@ net::HttpBackgroundChannelParent* aParent = static_cast(aActor); - if (NS_WARN_IF(NS_FAILED(aParent->Init(aChannelId)))) { + // Record the content process that owns this PBackground actor, so the + // background channel can only ever be paired with a HttpChannelParent + // from the same process. + dom::ContentParentId cpId(BackgroundParent::GetChildID(this)); + + if (NS_WARN_IF(NS_FAILED(aParent->Init(cpId, aChannelId)))) { return IPC_FAIL_NO_REASON(this); } diff -Nru thunderbird-140.12.0esr/ipc/glue/BackgroundParentImpl.h thunderbird-140.13.0esr/ipc/glue/BackgroundParentImpl.h --- thunderbird-140.12.0esr/ipc/glue/BackgroundParentImpl.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/ipc/glue/BackgroundParentImpl.h 2026-07-21 21:32:56.000000000 +0000 @@ -123,7 +123,7 @@ mozilla::ipc::IPCResult RecvCreateWebTransportParent( const nsAString& aURL, nsIPrincipal* aPrincipal, - const mozilla::Maybe& aClientInfo, const bool& aDedicated, + const IPCClientInfo& aClientInfo, const bool& aDedicated, const bool& aRequireUnreliable, const uint32_t& aCongestionControl, nsTArray&& aServerCertHashes, Endpoint&& aParentEndpoint, diff -Nru thunderbird-140.12.0esr/ipc/glue/PBackground.ipdl thunderbird-140.13.0esr/ipc/glue/PBackground.ipdl --- thunderbird-140.12.0esr/ipc/glue/PBackground.ipdl 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/ipc/glue/PBackground.ipdl 2026-07-21 21:32:56.000000000 +0000 @@ -178,7 +178,7 @@ async CreateWebTransportParent( nsString aURL, nullable nsIPrincipal aPrincipal, - IPCClientInfo? aClientInfo, + IPCClientInfo aClientInfo, bool aDedicated, bool aRequireUnreliable, uint32_t aCongestionControl, diff -Nru thunderbird-140.12.0esr/ipc/glue/SharedMemoryPlatform_posix.cpp thunderbird-140.13.0esr/ipc/glue/SharedMemoryPlatform_posix.cpp --- thunderbird-140.12.0esr/ipc/glue/SharedMemoryPlatform_posix.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/ipc/glue/SharedMemoryPlatform_posix.cpp 2026-07-21 21:32:57.000000000 +0000 @@ -81,7 +81,7 @@ // and if HaveMemfd should check whether this works.) static int DupReadOnly(int aFd) { - MOZ_DIAGNOSTIC_ASSERT(XRE_IsParentProcess()); + MOZ_DIAGNOSTIC_ASSERT(XRE_IsParentProcess() || XRE_IsGPUProcess()); std::string path = StringPrintf("/proc/self/fd/%d", aFd); // procfs opens probably won't EINTR, but checking for it can't hurt return HANDLE_EINTR(open(path.c_str(), O_RDONLY | O_CLOEXEC)); @@ -158,7 +158,7 @@ // isn't allowed (or meaningful) for memory created by another // process. - if (XRE_IsParentProcess()) { + if (XRE_IsParentProcess() || XRE_IsGPUProcess()) { mozilla::UniqueFileHandle rofd(DupReadOnly(fd.get())); if (!rofd) { MOZ_LOG_FMT(gSharedMemoryLog, LogLevel::Warning, @@ -202,7 +202,7 @@ MOZ_ASSERT(aSize > 0); MOZ_DIAGNOSTIC_ASSERT( - !aFreezable || XRE_IsParentProcess(), + !aFreezable || XRE_IsParentProcess() || XRE_IsGPUProcess(), "Child processes may not create freezable shared memory"); mozilla::UniqueFileHandle fd; diff -Nru thunderbird-140.12.0esr/js/public/UbiNode.h thunderbird-140.13.0esr/js/public/UbiNode.h --- thunderbird-140.12.0esr/js/public/UbiNode.h 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/public/UbiNode.h 2026-07-21 21:32:57.000000000 +0000 @@ -832,7 +832,7 @@ using Id = Base::Id; Id identifier() const { auto id = base()->identifier(); - MOZ_ASSERT(JS::Value::isNumberRepresentable(id)); + MOZ_RELEASE_ASSERT(JS::Value::isNumberRepresentable(id)); return id; } diff -Nru thunderbird-140.12.0esr/js/src/builtin/ModuleObject.cpp thunderbird-140.13.0esr/js/src/builtin/ModuleObject.cpp --- thunderbird-140.12.0esr/js/src/builtin/ModuleObject.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/builtin/ModuleObject.cpp 2026-07-21 21:32:57.000000000 +0000 @@ -1474,6 +1474,10 @@ return ns; } +void ModuleObject::clearNamespaceOnFailure() { + setReservedSlot(NamespaceSlot, UndefinedValue()); +} + /* static */ bool ModuleObject::createEnvironment(JSContext* cx, Handle self) { diff -Nru thunderbird-140.12.0esr/js/src/builtin/ModuleObject.h thunderbird-140.13.0esr/js/src/builtin/ModuleObject.h --- thunderbird-140.12.0esr/js/src/builtin/ModuleObject.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/builtin/ModuleObject.h 2026-07-21 21:32:57.000000000 +0000 @@ -457,6 +457,7 @@ static ModuleNamespaceObject* createNamespace( JSContext* cx, Handle self, MutableHandle> exports); + void clearNamespaceOnFailure(); static bool createEnvironment(JSContext* cx, Handle self); static bool createSyntheticEnvironment(JSContext* cx, diff -Nru thunderbird-140.12.0esr/js/src/builtin/RegExp.cpp thunderbird-140.13.0esr/js/src/builtin/RegExp.cpp --- thunderbird-140.12.0esr/js/src/builtin/RegExp.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/builtin/RegExp.cpp 2026-07-21 21:32:57.000000000 +0000 @@ -10,8 +10,11 @@ #include "mozilla/CheckedInt.h" #include "mozilla/TextUtils.h" +#include + #include "jsapi.h" +#include "builtin/SelfHostingDefines.h" #include "frontend/FrontendContext.h" // AutoReportFrontendContext #include "frontend/TokenStream.h" #include "irregexp/RegExpAPI.h" @@ -28,6 +31,7 @@ #include "vm/EnvironmentObject-inl.h" #include "vm/GeckoProfiler-inl.h" #include "vm/JSObject-inl.h" +#include "vm/NativeObject-inl.h" #include "vm/ObjectOperations-inl.h" #include "vm/PlainObject-inl.h" @@ -2294,8 +2298,8 @@ // Step 10 (reordered). uint32_t matchResultLength = matchResult->length(); - MOZ_ASSERT(matchResultLength > 0); - MOZ_ASSERT(matchResultLength == matchResult->getDenseInitializedLength()); + MOZ_RELEASE_ASSERT(matchResultLength > 0); + MOZ_RELEASE_ASSERT(IsPackedArray(matchResult)); const Value& matchedValue = matchResult->getDenseElement(0); Rooted matched(cx, @@ -2312,7 +2316,9 @@ // Step 6. MOZ_ASSERT(position <= string->length()); - uint32_t nCaptures = matchResultLength - 1; + // String substitutions can only reference $1 through $99. + uint32_t nCaptures = std::min(matchResultLength - 1, + REGEXP_MAX_SUBSTITUTION_CAPTURES); Rooted captures(cx, CapturesVector(cx)); if (!captures.reserve(nCaptures)) { return false; diff -Nru thunderbird-140.12.0esr/js/src/builtin/RegExp.js thunderbird-140.13.0esr/js/src/builtin/RegExp.js --- thunderbird-140.12.0esr/js/src/builtin/RegExp.js 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/builtin/RegExp.js 2026-07-21 21:32:57.000000000 +0000 @@ -516,6 +516,12 @@ // Step 15.k.i (reordered). DefineDataProperty(captures, capturesLength++, matched); + // String substitutions can only reference $1 through $99. Keep getting and + // stringifying all captures because those operations are observable. + var storedCaptures = functionalReplace + ? nCaptures + : std_Math_min(nCaptures, REGEXP_MAX_SUBSTITUTION_CAPTURES); + // Steps 15.h, 15.i, 15.i.v. for (var n = 1; n <= nCaptures; n++) { // Step 15.i.i. @@ -527,7 +533,9 @@ } // Step 15.i.iii. - DefineDataProperty(captures, capturesLength++, capN); + if (n <= storedCaptures) { + DefineDataProperty(captures, capturesLength++, capN); + } } // Step 15.j. diff -Nru thunderbird-140.12.0esr/js/src/builtin/SelfHostingDefines.h thunderbird-140.13.0esr/js/src/builtin/SelfHostingDefines.h --- thunderbird-140.12.0esr/js/src/builtin/SelfHostingDefines.h 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/builtin/SelfHostingDefines.h 2026-07-21 21:32:57.000000000 +0000 @@ -83,6 +83,8 @@ #define REGEXP_SOURCE_SLOT 1 #define REGEXP_FLAGS_SLOT 2 +#define REGEXP_MAX_SUBSTITUTION_CAPTURES 99 + #define REGEXP_IGNORECASE_FLAG 0x01 #define REGEXP_GLOBAL_FLAG 0x02 #define REGEXP_MULTILINE_FLAG 0x04 diff -Nru thunderbird-140.12.0esr/js/src/ctypes/CTypes.cpp thunderbird-140.13.0esr/js/src/ctypes/CTypes.cpp --- thunderbird-140.12.0esr/js/src/ctypes/CTypes.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/ctypes/CTypes.cpp 2026-07-21 21:32:57.000000000 +0000 @@ -3216,11 +3216,11 @@ } CTYPES_FOR_EACH_WRAPPED_INT_TYPE(WRAPPED_INT_CASE) #undef WRAPPED_INT_CASE -#define FLOAT_CASE(name, type, ffiType) \ - case TYPE_##name: { \ - type value = *static_cast(data); \ - result.setDouble(double(value)); \ - break; \ +#define FLOAT_CASE(name, type, ffiType) \ + case TYPE_##name: { \ + type value = *static_cast(data); \ + result.set(JS_NumberValue(double(value))); \ + break; \ } CTYPES_FOR_EACH_FLOAT_TYPE(FLOAT_CASE) #undef FLOAT_CASE diff -Nru thunderbird-140.12.0esr/js/src/gc/GC.cpp thunderbird-140.13.0esr/js/src/gc/GC.cpp --- thunderbird-140.12.0esr/js/src/gc/GC.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/gc/GC.cpp 2026-07-21 21:32:57.000000000 +0000 @@ -3129,6 +3129,7 @@ } MOZ_ASSERT(!hasDelayedMarking()); + haveAllImplicitEdges_ = true; for (auto& marker : markers) { marker->start(); } diff -Nru thunderbird-140.12.0esr/js/src/gc/GCMarker.h thunderbird-140.13.0esr/js/src/gc/GCMarker.h --- thunderbird-140.12.0esr/js/src/gc/GCMarker.h 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/gc/GCMarker.h 2026-07-21 21:32:57.000000000 +0000 @@ -587,9 +587,6 @@ /* Track the state of marking. */ MainThreadOrGCTaskData state; - /* Whether we successfully added all edges to the implicit edges table. */ - MainThreadOrGCTaskData haveAllImplicitEdges; - public: /* * Whether weakmaps can be marked incrementally. diff -Nru thunderbird-140.12.0esr/js/src/gc/GCRuntime.h thunderbird-140.13.0esr/js/src/gc/GCRuntime.h --- thunderbird-140.12.0esr/js/src/gc/GCRuntime.h 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/gc/GCRuntime.h 2026-07-21 21:32:57.000000000 +0000 @@ -526,6 +526,9 @@ // Get the main marking tracer. GCMarker& marker() { return *markers[0]; } + bool haveAllImplicitEdges() const { return haveAllImplicitEdges_; } + void clearHaveAllImplicitEdges() { haveAllImplicitEdges_ = false; } + JS::Zone* getCurrentSweepGroup() { return currentSweepGroup; } unsigned getCurrentSweepGroupIndex() { MOZ_ASSERT_IF(unsigned(state()) < unsigned(State::Sweep), @@ -1319,6 +1322,9 @@ MainThreadData startedCompacting; MainThreadData zonesToMaybeCompact; MainThreadData zonesCompacted; + /* Whether we successfully added all edges to the implicit edges table. */ + mozilla::Atomic haveAllImplicitEdges_{false}; + #ifdef DEBUG GCLockData relocatedArenasToRelease; #endif diff -Nru thunderbird-140.12.0esr/js/src/gc/Marking.cpp thunderbird-140.13.0esr/js/src/gc/Marking.cpp --- thunderbird-140.12.0esr/js/src/gc/Marking.cpp 2026-06-13 03:47:57.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/gc/Marking.cpp 2026-07-21 21:32:56.000000000 +0000 @@ -2240,7 +2240,6 @@ MOZ_ASSERT(state == NotActive); MOZ_ASSERT(stack.isEmpty()); state = RegularMarking; - haveAllImplicitEdges = true; setMarkColor(MarkColor::Black); } @@ -2375,7 +2374,7 @@ bool GCMarker::enterWeakMarkingMode() { MOZ_ASSERT(tracer()->weakMapAction() == JS::WeakMapTraceAction::Expand); - if (!haveAllImplicitEdges) { + if (!runtime()->gc.haveAllImplicitEdges()) { return false; } @@ -2451,7 +2450,7 @@ } void GCMarker::abortLinearWeakMarking() { - haveAllImplicitEdges = false; + runtime()->gc.clearHaveAllImplicitEdges(); if (state == WeakMarking) { leaveWeakMarkingMode(); } diff -Nru thunderbird-140.12.0esr/js/src/gc/Nursery.cpp thunderbird-140.13.0esr/js/src/gc/Nursery.cpp --- thunderbird-140.12.0esr/js/src/gc/Nursery.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/gc/Nursery.cpp 2026-07-21 21:32:57.000000000 +0000 @@ -2294,8 +2294,14 @@ void js::Nursery::setCurrentEnd() { toSpace.setCurrentEnd(this); } void js::Nursery::Space::setCurrentEnd(Nursery* nursery) { + size_t chunkBytesToUse = ChunkSize; + + // To avoid problems with inline object elements abutting the end of a chunk, + // reduce the size used slightly. This wastes 8 bytes per chunk. + chunkBytesToUse -= gc::CellAlignBytes; + currentEnd_ = uintptr_t(chunks_[currentChunk_]) + - std::min(nursery->capacity(), ChunkSize); + std::min(nursery->capacity(), chunkBytesToUse); } bool js::Nursery::allocateNextChunk(AutoLockGCBgAlloc& lock) { diff -Nru thunderbird-140.12.0esr/js/src/gc/Verifier.cpp thunderbird-140.13.0esr/js/src/gc/Verifier.cpp --- thunderbird-140.12.0esr/js/src/gc/Verifier.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/gc/Verifier.cpp 2026-07-21 21:32:57.000000000 +0000 @@ -273,6 +273,7 @@ verifyPreData = trc; incrementalState = State::Mark; + haveAllImplicitEdges_ = true; marker().start(); for (ZonesIter zone(this, WithAtoms); !zone.done(); zone.next()) { diff -Nru thunderbird-140.12.0esr/js/src/jit/BacktrackingAllocator.cpp thunderbird-140.13.0esr/js/src/jit/BacktrackingAllocator.cpp --- thunderbird-140.12.0esr/js/src/jit/BacktrackingAllocator.cpp 2026-06-13 03:47:59.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/jit/BacktrackingAllocator.cpp 2026-07-21 21:32:57.000000000 +0000 @@ -2220,11 +2220,13 @@ } // Helper for ::mergeAndQueueRegisters -void BacktrackingAllocator::allocateStackDefinition(VirtualRegister& reg) { +bool BacktrackingAllocator::allocateStackDefinition(VirtualRegister& reg) { LInstruction* ins = reg.ins()->toInstruction(); if (reg.def()->type() == LDefinition::STACKRESULTS) { LStackArea alloc(ins->toInstruction()); - stackSlotAllocator.allocateStackArea(&alloc); + if (!stackSlotAllocator.allocateStackArea(&alloc)) { + return false; + } reg.def()->setOutput(alloc); } else { // Because the definitions are visited in order, the area has been allocated @@ -2234,6 +2236,7 @@ const LStackArea* areaAlloc = area.def()->output()->toStackArea(); reg.def()->setOutput(areaAlloc->resultAlloc(ins, reg.def())); } + return true; } // Helper for ::mergeAndQueueRegisters @@ -2462,8 +2465,9 @@ VirtualRegister& reg = vregs[i]; // Eagerly allocate stack result areas and their component stack results. - if (reg.def() && reg.def()->policy() == LDefinition::STACK) { - allocateStackDefinition(reg); + if (reg.def() && reg.def()->policy() == LDefinition::STACK && + !allocateStackDefinition(reg)) { + return false; } for (VirtualRegister::RangeIterator iter(reg); iter; iter++) { @@ -3951,7 +3955,10 @@ // We need a new physical stack slot. LStackSlot::Width width = LStackSlot::width(type); - uint32_t stackSlot = stackSlotAllocator.allocateSlot(width); + uint32_t stackSlot; + if (!stackSlotAllocator.allocateSlot(width, &stackSlot)) { + return false; + } SpillSlot* spillSlot = new (alloc().fallible()) SpillSlot(stackSlot, width, alloc().lifoAlloc()); diff -Nru thunderbird-140.12.0esr/js/src/jit/BacktrackingAllocator.h thunderbird-140.13.0esr/js/src/jit/BacktrackingAllocator.h --- thunderbird-140.12.0esr/js/src/jit/BacktrackingAllocator.h 2026-06-13 03:47:59.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/jit/BacktrackingAllocator.h 2026-07-21 21:32:57.000000000 +0000 @@ -852,7 +852,7 @@ // Merging and queueing of LiveRange groups void tryMergeBundles(LiveBundle* bundle0, LiveBundle* bundle1); - void allocateStackDefinition(VirtualRegister& reg); + [[nodiscard]] bool allocateStackDefinition(VirtualRegister& reg); [[nodiscard]] bool tryMergeReusedRegister(VirtualRegister& def, VirtualRegister& input); [[nodiscard]] bool mergeAndQueueRegisters(); diff -Nru thunderbird-140.12.0esr/js/src/jit/JitFrames.cpp thunderbird-140.13.0esr/js/src/jit/JitFrames.cpp --- thunderbird-140.12.0esr/js/src/jit/JitFrames.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/jit/JitFrames.cpp 2026-07-21 21:32:57.000000000 +0000 @@ -387,6 +387,9 @@ BaselineFrame* baselineFrame = frame.baselineFrame(); bool returnFromThisFrame = jit::DebugEpilogue(cx, baselineFrame, pc, frameOk); if (returnFromThisFrame) { + if (!baselineFrame->hasReturnValue()) { + baselineFrame->setReturnValue(UndefinedValue()); + } rfe->kind = ExceptionResumeKind::ForcedReturnBaseline; rfe->framePointer = frame.fp(); rfe->stackPointer = reinterpret_cast(baselineFrame); diff -Nru thunderbird-140.12.0esr/js/src/jit/JitOptions.cpp thunderbird-140.13.0esr/js/src/jit/JitOptions.cpp --- thunderbird-140.12.0esr/js/src/jit/JitOptions.cpp 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/jit/JitOptions.cpp 2026-07-21 21:32:57.000000000 +0000 @@ -97,7 +97,8 @@ SET_DEFAULT(disablePruning, false); // Toggles whether the iterator indices optimization is globally disabled. - SET_DEFAULT(disableIteratorIndices, false); + // Note: this optimization is disabled on this ESR branch (bug 2052207). + SET_DEFAULT(disableIteratorIndices, true); // Toggles whether instruction reordering is globally disabled. SET_DEFAULT(disableInstructionReordering, false); diff -Nru thunderbird-140.12.0esr/js/src/jit/LIR.h thunderbird-140.13.0esr/js/src/jit/LIR.h --- thunderbird-140.12.0esr/js/src/jit/LIR.h 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/jit/LIR.h 2026-07-21 21:32:57.000000000 +0000 @@ -426,6 +426,9 @@ Width width() const { return Width(data_ & WIDTH_MASK); } }; + static constexpr uint32_t MAX_SLOT = + (uint64_t(1) << LAllocation::DATA_BITS) - 1; + explicit LStackSlot(SlotAndWidth slotAndWidth) : LAllocation(STACK_SLOT, slotAndWidth.data()) {} diff -Nru thunderbird-140.12.0esr/js/src/jit/SimpleAllocator.cpp thunderbird-140.13.0esr/js/src/jit/SimpleAllocator.cpp --- thunderbird-140.12.0esr/js/src/jit/SimpleAllocator.cpp 2026-06-13 03:47:59.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/jit/SimpleAllocator.cpp 2026-07-21 21:32:57.000000000 +0000 @@ -385,16 +385,22 @@ } } -LAllocation SimpleAllocator::ensureStackLocation(uint32_t vregId) { +bool SimpleAllocator::ensureStackLocation(uint32_t vregId, LAllocation* alloc) { // Allocate a stack slot for this virtual register if needed. VirtualRegister& vreg = vregs_[vregId]; if (vreg.hasStackLocation()) { - return vreg.stackLocation(); + *alloc = vreg.stackLocation(); + return true; } LStackSlot::Width width = LStackSlot::width(vreg.def()->type()); - LStackSlot::SlotAndWidth slot(stackSlotAllocator_.allocateSlot(width), width); + uint32_t slotOffset; + if (!stackSlotAllocator_.allocateSlot(width, &slotOffset)) { + return false; + } + LStackSlot::SlotAndWidth slot(slotOffset, width); vreg.setAllocatedStackSlot(slot); - return LStackSlot(slot); + *alloc = LStackSlot(slot); + return true; } LAllocation SimpleAllocator::registerOrStackLocation(LInstruction* ins, @@ -420,7 +426,10 @@ } // Allocate a new stack slot and insert a register => stack move. LMoveGroup* input = getInputMoveGroup(ins); - LAllocation dest = ensureStackLocation(allocated.vregId()); + LAllocation dest; + if (!ensureStackLocation(allocated.vregId(), &dest)) { + return false; + } return input->addAfter(LAllocation(allocated.reg()), dest, vreg.def()->type()); } @@ -471,7 +480,10 @@ LAllocation source = registerOrStackLocation(ins, sourceVreg, /* trackRegUse = */ true); - LAllocation dest = ensureStackLocation(destVreg); + LAllocation dest; + if (!ensureStackLocation(destVreg, &dest)) { + return false; + } if (!group->add(source, dest, phi->getDef(0)->type())) { return false; } @@ -797,7 +809,9 @@ MOZ_ASSERT(!isTemp); if (def->type() == LDefinition::STACKRESULTS) { LStackArea alloc(ins->toInstruction()); - stackSlotAllocator_.allocateStackArea(&alloc); + if (!stackSlotAllocator_.allocateStackArea(&alloc)) { + return false; + } def->setOutput(alloc); } else { // Because the definitions are visited in order, the area has been @@ -846,7 +860,10 @@ LMoveGroup* moves = getInputMoveGroup(ins); for (LDefinition* def : eagerSpillOutputs_) { MOZ_ASSERT(!vregs_[def->virtualRegister()].hasStackLocation()); - LAllocation dest = ensureStackLocation(def->virtualRegister()); + LAllocation dest; + if (!ensureStackLocation(def->virtualRegister(), &dest)) { + return false; + } if (!moves->add(*def->output(), dest, def->type())) { return false; } @@ -1184,7 +1201,11 @@ LDefinition* def = phi->getDef(0); uint32_t vregId = def->virtualRegister(); bool isGCType = vregs_[vregId].isGCType(); - def->setOutput(ensureStackLocation(vregId)); + LAllocation defAlloc; + if (!ensureStackLocation(vregId, &defAlloc)) { + return false; + } + def->setOutput(defAlloc); if (isGCType && !liveGC.insert(vregId)) { return false; } diff -Nru thunderbird-140.12.0esr/js/src/jit/SimpleAllocator.h thunderbird-140.13.0esr/js/src/jit/SimpleAllocator.h --- thunderbird-140.12.0esr/js/src/jit/SimpleAllocator.h 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/jit/SimpleAllocator.h 2026-07-21 21:32:57.000000000 +0000 @@ -318,7 +318,7 @@ [[nodiscard]] bool allocateForBlockEnd(LBlock* block, LInstruction* ins); - LAllocation ensureStackLocation(uint32_t vregId); + bool ensureStackLocation(uint32_t vregId, LAllocation* allocation); LAllocation registerOrStackLocation(LInstruction* ins, uint32_t vregId, bool trackRegUse); diff -Nru thunderbird-140.12.0esr/js/src/jit/StackSlotAllocator.h thunderbird-140.13.0esr/js/src/jit/StackSlotAllocator.h --- thunderbird-140.12.0esr/js/src/jit/StackSlotAllocator.h 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/jit/StackSlotAllocator.h 2026-07-21 21:32:57.000000000 +0000 @@ -19,97 +19,165 @@ js::Vector quadSlots; uint32_t height_; - void addAvailableSlot(uint32_t index) { - // Ignoring OOM here (and below) is fine; it just means the stack slot - // will be unused. - (void)normalSlots.append(index); - } - void addAvailableDoubleSlot(uint32_t index) { - (void)doubleSlots.append(index); - } - void addAvailableQuadSlot(uint32_t index) { (void)quadSlots.append(index); } - - uint32_t allocateQuadSlot() { - // This relies on the fact that any architecture specific - // alignment of the stack pointer is done a priori. - if (!quadSlots.empty()) { - return quadSlots.popCopy(); + [[nodiscard]] bool incrementHeight(uint32_t amount) { + // See MaxBytes for why we don't need to check for overflow here. + if (amount > MaxBytes || height_ + amount > MaxBytes) { + return false; } - if (height_ % 8 != 0) { - addAvailableSlot(height_ += 4); + height_ += amount; + return true; + } + + void freeSlot(uint32_t offset) { (void)normalSlots.append(offset); } + void freeDoubleSlot(uint32_t offset) { (void)doubleSlots.append(offset); } + void freeQuadSlot(uint32_t offset) { (void)quadSlots.append(offset); } + + [[nodiscard]] bool allocateSlot(uint32_t* slotOffset) { + // Re-use a normal slot if we have one. + if (!normalSlots.empty()) { + *slotOffset = normalSlots.popCopy(); + return true; } - if (height_ % 16 != 0) { - addAvailableDoubleSlot(height_ += 8); + + // Otherwise split a double slot in half if we can. + if (!doubleSlots.empty()) { + uint32_t doubleSlotOffset = doubleSlots.popCopy(); + freeSlot(doubleSlotOffset - 4); + *slotOffset = doubleSlotOffset; + return true; + } + + // Or else grow the stack by a word. + if (!incrementHeight(4)) { + return false; } - return height_ += 16; + *slotOffset = height_; + return true; } - uint32_t allocateDoubleSlot() { + + [[nodiscard]] bool allocateDoubleSlot(uint32_t* slotOffset) { if (!doubleSlots.empty()) { - return doubleSlots.popCopy(); + *slotOffset = doubleSlots.popCopy(); + return true; } + + // Grow the stack, freeing the padding word for reuse if we need to align. if (height_ % 8 != 0) { - addAvailableSlot(height_ += 4); + if (!incrementHeight(4)) { + return false; + } + freeSlot(height_); + } + if (!incrementHeight(8)) { + return false; } - return height_ += 8; + *slotOffset = height_; + return true; } - uint32_t allocateSlot() { - if (!normalSlots.empty()) { - return normalSlots.popCopy(); + + [[nodiscard]] bool allocateQuadSlot(uint32_t* slotOffset) { + if (!quadSlots.empty()) { + *slotOffset = quadSlots.popCopy(); + return true; } - if (!doubleSlots.empty()) { - uint32_t index = doubleSlots.popCopy(); - addAvailableSlot(index - 4); - return index; + + // Grow the stack, freeing any padding for reuse if we need to align. This + // relies on the fact that any architecture specific alignment of the stack + // pointer is done a priori. + if (height_ % 8 != 0) { + if (!incrementHeight(4)) { + return false; + } + freeSlot(height_); + } + if (height_ % 16 != 0) { + if (!incrementHeight(8)) { + return false; + } + freeDoubleSlot(height_); + } + if (!incrementHeight(16)) { + return false; } - return height_ += 4; + *slotOffset = height_; + return true; } public: StackSlotAllocator() : height_(0) {} - void allocateStackArea(LStackArea* alloc) { + // The maximum size we allow. This is a conservative value, even values this + // low are very likely to hit stack overflows. + static constexpr size_t MaxBytes = 2 * 1024 * 1024; + // Check that as long as we keep height_ within MaxBytes and only add by up + // to MaxBytes, that we cannot overflow. This is used in several places. + static_assert(uint64_t(MaxBytes) + uint64_t(MaxBytes) <= UINT32_MAX); + // Any offset we provide can be stored in LStackSlot. + static_assert(MaxBytes <= LStackSlot::MAX_SLOT); + + [[nodiscard]] bool allocateStackArea(LStackArea* alloc) { uint32_t size = alloc->size(); + // Check that size is within MaxBytes so that we don't need to check for + // overflow below when adding to height_. + if (size > MaxBytes) { + return false; + } + MOZ_ASSERT(size % 4 == 0); switch (alloc->alignment()) { - case 8: + case 8: { + // Grow the stack, freeing the padding word for reuse if we need to + // align. if ((height_ + size) % 8 != 0) { - addAvailableSlot(height_ += 4); + if (!incrementHeight(4)) { + return false; + } + freeSlot(height_); } break; + } default: MOZ_CRASH("unexpected stack results area alignment"); } - MOZ_ASSERT((height_ + size) % alloc->alignment() == 0); - height_ += size; - alloc->setBase(height_); + // See MaxBytes for why we don't need to check for overflow here. + uint32_t areaSlotOffset = height_ + size; + if (areaSlotOffset > MaxBytes) { + return false; + } + MOZ_ASSERT(areaSlotOffset % alloc->alignment() == 0); + + alloc->setBase(areaSlotOffset); + height_ = areaSlotOffset; + return true; } - uint32_t allocateSlot(LStackSlot::Width width) { + [[nodiscard]] bool allocateSlot(LStackSlot::Width width, + uint32_t* slotOffset) { switch (width) { case LStackSlot::Word: - return allocateSlot(); + return allocateSlot(slotOffset); case LStackSlot::DoubleWord: - return allocateDoubleSlot(); + return allocateDoubleSlot(slotOffset); case LStackSlot::QuadWord: - return allocateQuadSlot(); + return allocateQuadSlot(slotOffset); } MOZ_CRASH("Unknown slot width"); } // This method is used by the Simple allocator to free stack slots so that // they can be reused. The Backtracking allocator doesn't call this. - void freeSlot(LStackSlot::Width width, uint32_t slot) { + void freeSlot(LStackSlot::Width width, uint32_t slotOffset) { switch (width) { case LStackSlot::Word: - addAvailableSlot(slot); + freeSlot(slotOffset); return; case LStackSlot::DoubleWord: - addAvailableDoubleSlot(slot); + freeDoubleSlot(slotOffset); return; case LStackSlot::QuadWord: - addAvailableQuadSlot(slot); + freeQuadSlot(slotOffset); return; } MOZ_CRASH("Unknown slot width"); diff -Nru thunderbird-140.12.0esr/js/src/jit/shared/IonAssemblerBufferWithConstantPools.h thunderbird-140.13.0esr/js/src/jit/shared/IonAssemblerBufferWithConstantPools.h --- thunderbird-140.12.0esr/js/src/jit/shared/IonAssemblerBufferWithConstantPools.h 2026-06-13 03:47:58.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/jit/shared/IonAssemblerBufferWithConstantPools.h 2026-07-21 21:32:57.000000000 +0000 @@ -949,9 +949,10 @@ // with our expected reserved bytes. size_t deadline = branchDeadlines_.earliestDeadline().getOffset(); using CheckedSize = mozilla::CheckedInt; - CheckedSize current(this->nextOffset().getOffset()); + CheckedSize nextOffset(sizeExcludingCurrentPool()); + CheckedSize poolOffset = nextOffset + (guardSize_ + headerSize_) * InstSize; CheckedSize poolFreeSpace(reservedBytes); - auto future = current + poolFreeSpace; + auto future = poolOffset + poolFreeSpace; return !future.isValid() || deadline < future.value(); } diff -Nru thunderbird-140.12.0esr/js/src/vm/Modules.cpp thunderbird-140.13.0esr/js/src/vm/Modules.cpp --- thunderbird-140.12.0esr/js/src/vm/Modules.cpp 2026-06-13 03:48:00.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/vm/Modules.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -988,6 +988,49 @@ env->setSlot(prop->slot(), ObjectValue(*ns)); } +static bool ComputeNamespaceBindings(JSContext* cx, + Handle module, + Handle ns) { + Rooted name(cx); + Rooted resolution(cx); + Rooted binding(cx); + Rooted importedModule(cx); + Rooted importedNamespace(cx); + Rooted bindingName(cx); + for (JSAtom* atom : ns->exports()) { + name = atom; + + if (!ModuleResolveExport(cx, module, name, &resolution)) { + return false; + } + + MOZ_ASSERT(IsResolvedBinding(cx, resolution)); + binding = &resolution.toObject().as(); + importedModule = binding->module(); + bindingName = binding->bindingName(); + + if (bindingName == cx->names().star_namespace_star_) { + importedNamespace = GetOrCreateModuleNamespace(cx, importedModule); + if (!importedNamespace) { + return false; + } + + // The spec uses an immutable binding here but we have already generated + // bytecode for an indirect binding. Instead, use an indirect binding to + // "*namespace*" slot of the target environment. + Rooted env( + cx, &importedModule->initialEnvironment()); + InitNamespaceBinding(cx, env, bindingName, importedNamespace); + } + + if (!ns->addBinding(cx, name, importedModule, bindingName)) { + return false; + } + } + + return true; +} + struct AtomComparator { bool operator()(JSAtom* a, JSAtom* b, bool* lessOrEqualp) { int32_t result = CompareStrings(a, b); @@ -1026,41 +1069,9 @@ // See: // https://tc39.es/ecma262/#sec-module-namespace-exotic-objects-get-p-receiver // ES2023 10.4.6.8 Module Namespace Exotic Object [[Get]] - Rooted name(cx); - Rooted resolution(cx); - Rooted binding(cx); - Rooted importedModule(cx); - Rooted importedNamespace(cx); - Rooted bindingName(cx); - for (JSAtom* atom : ns->exports()) { - name = atom; - - if (!ModuleResolveExport(cx, module, name, &resolution)) { - return nullptr; - } - - MOZ_ASSERT(IsResolvedBinding(cx, resolution)); - binding = &resolution.toObject().as(); - importedModule = binding->module(); - bindingName = binding->bindingName(); - - if (bindingName == cx->names().star_namespace_star_) { - importedNamespace = GetOrCreateModuleNamespace(cx, importedModule); - if (!importedNamespace) { - return nullptr; - } - - // The spec uses an immutable binding here but we have already generated - // bytecode for an indirect binding. Instead, use an indirect binding to - // "*namespace*" slot of the target environment. - Rooted env( - cx, &importedModule->initialEnvironment()); - InitNamespaceBinding(cx, env, bindingName, importedNamespace); - } - - if (!ns->addBinding(cx, name, importedModule, bindingName)) { - return nullptr; - } + if (!ComputeNamespaceBindings(cx, module, ns)) { + module->clearNamespaceOnFailure(); + return nullptr; } // Step 10. Return M. diff -Nru thunderbird-140.12.0esr/js/src/wasm/WasmBaselineCompile.cpp thunderbird-140.13.0esr/js/src/wasm/WasmBaselineCompile.cpp --- thunderbird-140.12.0esr/js/src/wasm/WasmBaselineCompile.cpp 2026-06-13 03:48:01.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/wasm/WasmBaselineCompile.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -8816,6 +8816,8 @@ freePtr(RegPtr(PreBarrierReg)); } + sync(); + // Perform the fill loop using `numElements` as the loop variable, counting // down to zero. Label done; diff -Nru thunderbird-140.12.0esr/js/src/wasm/WasmBuiltins.cpp thunderbird-140.13.0esr/js/src/wasm/WasmBuiltins.cpp --- thunderbird-140.12.0esr/js/src/wasm/WasmBuiltins.cpp 2026-06-13 03:48:00.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/wasm/WasmBuiltins.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -25,6 +25,7 @@ #include "jslibmath.h" #include "jsmath.h" +#include "gc/GC.h" #include "jit/AtomicOperations.h" #include "jit/InlinableNatives.h" #include "jit/JitRuntime.h" @@ -631,8 +632,10 @@ // Traps are generally not catchable as wasm exceptions. The only case in // which they are catchable is for Trap::ThrowReported, which the wasm // compiler uses to throw exceptions and is the source of exceptions from C++. - if (activation->isWasmTrapping() && - activation->wasmTrapData().trap != Trap::ThrowReported) { + bool isTrapThrowReported = + activation->isWasmTrapping() && + activation->wasmTrapData().trap == Trap::ThrowReported; + if (activation->isWasmTrapping() && !isTrapThrowReported) { return nullptr; } @@ -640,6 +643,11 @@ return nullptr; } + mozilla::Maybe suppress; + if (isTrapThrowReported) { + suppress.emplace(cx); + } + // Write the exception out here to exn to avoid having to get the pending // exception and checking for OOM multiple times. RootedValue exn(cx); diff -Nru thunderbird-140.12.0esr/js/src/wasm/WasmInstance.cpp thunderbird-140.13.0esr/js/src/wasm/WasmInstance.cpp --- thunderbird-140.12.0esr/js/src/wasm/WasmInstance.cpp 2026-06-13 03:48:01.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/wasm/WasmInstance.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -2422,8 +2422,14 @@ // Create and initialize alloc sites, they are all the same for Wasm. uint32_t allocSitesCount = codeTailMeta().numAllocSites; if (allocSitesCount > 0) { - allocSites_ = - (gc::AllocSite*)js_malloc(sizeof(gc::AllocSite) * allocSitesCount); + mozilla::CheckedInt numBytesRequired = + mozilla::CheckedInt(allocSitesCount) * + mozilla::CheckedInt(sizeof(gc::AllocSite)); + if (!numBytesRequired.isValid()) { + ReportOutOfMemory(cx); + return false; + } + allocSites_ = (gc::AllocSite*)js_malloc(numBytesRequired.value()); if (!allocSites_) { ReportOutOfMemory(cx); return false; @@ -3617,6 +3623,8 @@ bool Instance::getExportedFunction(JSContext* cx, uint32_t funcIndex, MutableHandleFunction result) { + MOZ_RELEASE_ASSERT(realm() == cx->realm()); + uint32_t funcExportIndex = codeMeta().findFuncExportIndex(funcIndex); FuncExportInstanceData& instanceData = funcExportInstanceData(funcExportIndex); diff -Nru thunderbird-140.12.0esr/js/src/wasm/WasmStubs.cpp thunderbird-140.13.0esr/js/src/wasm/WasmStubs.cpp --- thunderbird-140.12.0esr/js/src/wasm/WasmStubs.cpp 2026-06-13 03:48:01.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/wasm/WasmStubs.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -2864,6 +2864,9 @@ masm.moveToStackPtr(scratch); #endif + MOZ_ASSERT(NonVolatileRegs.has(InstanceReg)); + masm.loadWasmPinnedRegsFromInstance(mozilla::Nothing()); + masm.setFramePushed(framePushed); masm.PopRegsInMask(AllAllocatableRegs); diff -Nru thunderbird-140.12.0esr/js/src/wasm/WasmTable.cpp thunderbird-140.13.0esr/js/src/wasm/WasmTable.cpp --- thunderbird-140.12.0esr/js/src/wasm/WasmTable.cpp 2026-06-13 03:48:01.000000000 +0000 +++ thunderbird-140.13.0esr/js/src/wasm/WasmTable.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -21,12 +21,12 @@ #include "mozilla/CheckedInt.h" #include "vm/JSContext.h" -#include "vm/Realm.h" #include "wasm/WasmInstance.h" #include "wasm/WasmJS.h" #include "wasm/WasmValue.h" #include "gc/StableCellHasher-inl.h" +#include "vm/Realm-inl.h" #include "wasm/WasmInstance-inl.h" using namespace js; @@ -173,6 +173,7 @@ Instance& instance = *elem.instance; const CodeRange& codeRange = *instance.code().lookupFuncRange(elem.code); + AutoRealmUnchecked ar(cx, instance.realm()); return instance.getExportedFunction(cx, codeRange.funcIndex(), fun); } diff -Nru thunderbird-140.12.0esr/js/xpconnect/src/XPCConvert.cpp thunderbird-140.13.0esr/js/xpconnect/src/XPCConvert.cpp --- thunderbird-140.12.0esr/js/xpconnect/src/XPCConvert.cpp 2026-06-13 03:48:00.000000000 +0000 +++ thunderbird-140.13.0esr/js/xpconnect/src/XPCConvert.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -101,7 +101,7 @@ d.setNumber(static_cast(*static_cast(s))); return true; case nsXPTType::T_FLOAT: - d.setNumber(*static_cast(s)); + d.set(JS_NumberValue(double(*static_cast(s)))); return true; case nsXPTType::T_DOUBLE: d.set(JS_NumberValue(*static_cast(s))); diff -Nru thunderbird-140.12.0esr/layout/base/PresShell.cpp thunderbird-140.13.0esr/layout/base/PresShell.cpp --- thunderbird-140.12.0esr/layout/base/PresShell.cpp 2026-06-13 03:48:01.000000000 +0000 +++ thunderbird-140.13.0esr/layout/base/PresShell.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -2467,23 +2467,31 @@ PresShell::CompleteMove(bool aForward, bool aExtend) { // Beware! This may flush notifications via synchronous // ScrollSelectionIntoView. - RefPtr frameSelection = mSelection; - Element* const limiter = frameSelection->GetAncestorLimiter(); - nsIFrame* frame = limiter ? limiter->GetPrimaryFrame() - : FrameConstructor()->GetRootElementFrame(); - if (!frame) { + const RefPtr frameSelection = mSelection; + const RefPtr limiter = frameSelection->GetAncestorLimiter(); + const auto pos = [&]() -> Maybe { + nsIFrame* frame = limiter ? limiter->GetPrimaryFrame() + : FrameConstructor()->GetRootElementFrame(); + if (MOZ_UNLIKELY(!frame)) { + return Nothing{}; + } + return Some(frame->GetExtremeCaretPosition(!aForward)); + }(); + if (MOZ_UNLIKELY(pos.isNothing())) { return NS_ERROR_FAILURE; } - nsIFrame::CaretPosition pos = frame->GetExtremeCaretPosition(!aForward); const nsFrameSelection::FocusMode focusMode = aExtend ? nsFrameSelection::FocusMode::kExtendSelection : nsFrameSelection::FocusMode::kCollapseToNewPoint; frameSelection->HandleClick( - MOZ_KnownLive(pos.mResultContent) /* bug 1636889 */, pos.mContentOffset, - pos.mContentOffset, focusMode, + MOZ_KnownLive(pos->mResultContent) /* bug 1636889 */, pos->mContentOffset, + pos->mContentOffset, focusMode, aForward ? CaretAssociationHint::After : CaretAssociationHint::Before); - if (limiter) { + if (MOZ_UNLIKELY(IsDestroying())) { + return NS_OK; + } + if (limiter && GetDocument() == limiter->GetComposedDoc()) { // HandleClick resets ancestorLimiter, so set it again. frameSelection->SetAncestorLimiter(limiter); } diff -Nru thunderbird-140.12.0esr/layout/base/nsCSSFrameConstructor.cpp thunderbird-140.13.0esr/layout/base/nsCSSFrameConstructor.cpp --- thunderbird-140.12.0esr/layout/base/nsCSSFrameConstructor.cpp 2026-06-13 03:48:01.000000000 +0000 +++ thunderbird-140.13.0esr/layout/base/nsCSSFrameConstructor.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -8246,6 +8246,25 @@ return f; } +static nsIFrame* CheckRubyContainers(nsIFrame* aFrame, nsIFrame* aParent) { + auto* ancestor = aParent; + auto* ancestorChild = aFrame; + while (ancestor && IsWrapperPseudo(ancestor) && + CanRemoveWrapperPseudoForChildRemoval(ancestorChild, ancestor)) { + ancestorChild = ancestor; + ancestor = ancestorChild->GetParent(); + } + if (!ancestor) { + return nullptr; + } + const auto ancestorType = ancestor->Type(); + if (ancestorType != LayoutFrameType::Ruby && + !RubyUtils::IsRubyContainerBox(ancestorType)) { + return nullptr; + } + return ancestor; +} + bool nsCSSFrameConstructor::MaybeRecreateContainerForFrameRemoval( nsIFrame* aFrame) { #define TRACE(reason) \ @@ -8356,9 +8375,7 @@ } // Check ruby containers - LayoutFrameType parentType = parent->Type(); - if (parentType == LayoutFrameType::Ruby || - RubyUtils::IsRubyContainerBox(parentType)) { + if (const auto* ancestor = CheckRubyContainers(inFlowFrame, parent)) { // In ruby containers, pseudo frames may be created from // whitespaces or even nothing. There are two cases we actually // need to handle here, but hard to check exactly: @@ -8367,7 +8384,7 @@ // 2. The type of the first child of a ruby frame determines // whether a pseudo ruby base container should exist. TRACE("Ruby container"); - RecreateFramesForContent(parent->GetContent(), InsertionKind::Async); + RecreateFramesForContent(ancestor->GetContent(), InsertionKind::Async); return true; } diff -Nru thunderbird-140.12.0esr/layout/base/nsILayoutHistoryState.idl thunderbird-140.13.0esr/layout/base/nsILayoutHistoryState.idl --- thunderbird-140.12.0esr/layout/base/nsILayoutHistoryState.idl 2026-06-13 03:48:01.000000000 +0000 +++ thunderbird-140.13.0esr/layout/base/nsILayoutHistoryState.idl 2026-07-21 21:33:00.000000000 +0000 @@ -81,6 +81,14 @@ [noscript, notxpcom, nostdcall] void RemoveState(in nsCString aKey); /** + * Remove the state object for |aKey| from the table and transfer + * ownership of it to the caller. Use this instead of GetState() when + * the state is consumed by code that may run script, so that a + * re-entrant RemoveState()/Reset() cannot free it while in use. + */ + [noscript, notxpcom, nostdcall] PresStateUnique TakeState(in nsCString aKey); + + /** * Check whether this history has any states in it */ [noscript, notxpcom, nostdcall] boolean HasStates(); diff -Nru thunderbird-140.12.0esr/layout/base/nsLayoutHistoryState.cpp thunderbird-140.13.0esr/layout/base/nsLayoutHistoryState.cpp --- thunderbird-140.12.0esr/layout/base/nsLayoutHistoryState.cpp 2026-06-13 03:48:00.000000000 +0000 +++ thunderbird-140.13.0esr/layout/base/nsLayoutHistoryState.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -116,6 +116,21 @@ mStates.Remove(aKey); } +UniquePtr nsLayoutHistoryState::TakeState(const nsCString& aKey) { + UniquePtr state; + if (auto entry = mStates.Extract(aKey)) { + state = std::move(*entry); + } + + if (state && mScrollPositionOnly) { + // Ensure any state that shouldn't be restored is removed + state->contentData() = void_t(); + state->disabledSet() = false; + } + + return state; +} + bool nsLayoutHistoryState::HasStates() { return mStates.Count() != 0; } void nsLayoutHistoryState::SetScrollPositionOnly(const bool aFlag) { diff -Nru thunderbird-140.12.0esr/layout/generic/TextDrawTarget.h thunderbird-140.13.0esr/layout/generic/TextDrawTarget.h --- thunderbird-140.12.0esr/layout/generic/TextDrawTarget.h 2026-06-13 03:48:00.000000000 +0000 +++ thunderbird-140.13.0esr/layout/generic/TextDrawTarget.h 2026-07-21 21:33:00.000000000 +0000 @@ -330,7 +330,12 @@ Maybe DefineImage(const IntSize& aSize, uint32_t aStride, SurfaceFormat aFormat, const uint8_t* aData) { wr::ImageKey key = mManager->WrBridge()->GetNextImageKey(); - wr::ImageDescriptor desc(aSize, aStride, aFormat); + auto format = wr::SurfaceFormatToImageFormat(aFormat); + if (NS_WARN_IF(!format)) { + return Nothing(); + } + wr::ImageDescriptor desc(aSize, aStride, *format, + wr::ToOpacityType(aFormat)); Range bytes(const_cast(aData), aStride * aSize.height); if (mResources->AddImage(key, desc, bytes)) { return Some(key); diff -Nru thunderbird-140.12.0esr/layout/generic/nsImageMap.cpp thunderbird-140.13.0esr/layout/generic/nsImageMap.cpp --- thunderbird-140.12.0esr/layout/generic/nsImageMap.cpp 2026-06-13 03:48:01.000000000 +0000 +++ thunderbird-140.13.0esr/layout/generic/nsImageMap.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -799,43 +799,30 @@ MaybeUpdateAreas(aChild->GetParent()); } -static UniquePtr TakeArea(nsImageMap::AreaList& aAreas, - HTMLAreaElement* aArea) { - UniquePtr result; - size_t index = 0; - for (UniquePtr& area : aAreas) { - if (area->mArea == aArea) { - result = std::move(area); - break; - } - index++; - } - - if (result) { - aAreas.RemoveElementAt(index); - } - - return result; -} - void nsImageMap::ContentWillBeRemoved(nsIContent* aChild, const BatchRemovalState*) { - if (aChild->GetParent() != mMap && !mConsiderWholeSubtree) { + if (!mConsiderWholeSubtree && (aChild->GetParent() != mMap || + !aChild->IsHTMLElement(nsGkAtoms::area))) { return; } - auto* areaElement = HTMLAreaElement::FromNode(aChild); - if (!areaElement) { - return; - } + bool any = false; + mAreas.RemoveElementsBy([&](const UniquePtr& area) { + const bool remove = + area->mArea == aChild || + (mConsiderWholeSubtree && area->mArea->IsInclusiveDescendantOf(aChild)); + if (!remove) { + return false; + } + any = true; + AreaRemoved(area->mArea); + return true; + }); - UniquePtr area = TakeArea(mAreas, areaElement); - if (!area) { + if (!any) { return; } - AreaRemoved(area->mArea); - #ifdef ACCESSIBILITY if (nsAccessibilityService* accService = GetAccService()) { accService->UpdateImageMap(mImageFrame); diff -Nru thunderbird-140.12.0esr/layout/painting/DottedCornerFinder.cpp thunderbird-140.13.0esr/layout/painting/DottedCornerFinder.cpp --- thunderbird-140.12.0esr/layout/painting/DottedCornerFinder.cpp 2026-06-13 03:48:01.000000000 +0000 +++ thunderbird-140.13.0esr/layout/painting/DottedCornerFinder.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -386,6 +386,13 @@ mCount = mMaxCount; break; } + // GetCountAndLastOverlap() failed without writing |count| and + // |actualOverlap|: the walk needed more than mMaxCount circles, i.e. + // this overlap produces too many circles. Narrow the search toward + // smaller overlaps. + upper = overlap; + overlap = (upper + lower) / 2.0f; + continue; } if (j == 0) { diff -Nru thunderbird-140.12.0esr/layout/style/FontFaceSetImpl.cpp thunderbird-140.13.0esr/layout/style/FontFaceSetImpl.cpp --- thunderbird-140.12.0esr/layout/style/FontFaceSetImpl.cpp 2026-06-13 03:48:01.000000000 +0000 +++ thunderbird-140.13.0esr/layout/style/FontFaceSetImpl.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -373,21 +373,24 @@ gfxUserFontAttributes&& aAttr) { MOZ_ASSERT(NS_IsMainThread()); - bool resetFamilyName = !aEntry->mFamilyName.IsEmpty() && - aEntry->mFamilyName != aAttr.mFamilyName; - // aFontFace already has a user font entry, so we update its attributes - // rather than creating a new one. - aEntry->UpdateAttributes(std::move(aAttr)); - // If the family name has changed, remove the entry from its current family - // and clear the mFamilyName field so it can be reset when added to a new - // family. + nsCString familyName = aEntry->FamilyName(); + bool resetFamilyName = + !familyName.IsEmpty() && familyName != aAttr.mFamilyName; if (resetFamilyName) { - RefPtr family = LookupFamily(aEntry->mFamilyName); + // If the family name has changed, remove the entry from its current family + // and clear the mFamilyName field so it can be reset when added to a new + // family. + AutoWriteLock lock(aEntry->mLock); + RefPtr family = LookupFamily(familyName); if (family) { family->RemoveFontEntry(aEntry); } aEntry->mFamilyName.Truncate(0); } + + // aFontFace already has a user font entry, so we update its attributes + // rather than creating a new one. + aEntry->UpdateAttributes(std::move(aAttr)); } class FontFaceSetImpl::UpdateUserFontEntryRunnable final diff -Nru thunderbird-140.12.0esr/layout/style/FontFaceSetWorkerImpl.cpp thunderbird-140.13.0esr/layout/style/FontFaceSetWorkerImpl.cpp --- thunderbird-140.12.0esr/layout/style/FontFaceSetWorkerImpl.cpp 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/layout/style/FontFaceSetWorkerImpl.cpp 2026-07-21 21:33:01.000000000 +0000 @@ -9,6 +9,7 @@ #include "mozilla/dom/WorkerPrivate.h" #include "mozilla/dom/WorkerRef.h" #include "mozilla/dom/WorkerRunnable.h" +#include "mozilla/dom/WorkerScope.h" #include "mozilla/LoadInfo.h" #include "nsContentPolicyUtils.h" #include "nsFontFaceLoader.h" @@ -46,6 +47,7 @@ { RecursiveMutexAutoLock lock(mMutex); mWorkerRef = new ThreadSafeWorkerRef(workerRef); + mClientInfo = aWorkerPrivate->GlobalScope()->GetClientInfo(); } class InitRunnable final : public WorkerMainThreadRunnable { @@ -248,6 +250,10 @@ return NS_ERROR_FAILURE; } + if (NS_WARN_IF(!mClientInfo)) { + return NS_ERROR_CONTENT_BLOCKED; + } + nsresult rv; nsCOMPtr streamLoader; @@ -259,7 +265,7 @@ rv = FontLoaderUtils::BuildChannel( getter_AddRefs(channel), src.mURI->get(), CORS_ANONYMOUS, dom::ReferrerPolicy::_empty /* not used */, aUserFontEntry, &src, - mWorkerRef->Private(), loadGroup, nullptr); + mWorkerRef->Private(), *mClientInfo, loadGroup, nullptr); NS_ENSURE_SUCCESS(rv, rv); auto fontLoader = diff -Nru thunderbird-140.12.0esr/layout/style/FontFaceSetWorkerImpl.h thunderbird-140.13.0esr/layout/style/FontFaceSetWorkerImpl.h --- thunderbird-140.12.0esr/layout/style/FontFaceSetWorkerImpl.h 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/layout/style/FontFaceSetWorkerImpl.h 2026-07-21 21:33:01.000000000 +0000 @@ -7,6 +7,7 @@ #ifndef mozilla_dom_FontFaceSetWorkerImpl_h #define mozilla_dom_FontFaceSetWorkerImpl_h +#include "mozilla/dom/ClientInfo.h" #include "mozilla/dom/FontFaceSetImpl.h" namespace mozilla::dom { @@ -61,6 +62,10 @@ RefPtr mWorkerRef MOZ_GUARDED_BY(mMutex); RefPtr mURLExtraData MOZ_GUARDED_BY(mMutex); + + // Font loads happen on the main thread, but the required ClientInfo is only + // accessible on the worker thread. + Maybe mClientInfo MOZ_GUARDED_BY(mMutex); }; } // namespace mozilla::dom diff -Nru thunderbird-140.12.0esr/layout/style/FontLoaderUtils.cpp thunderbird-140.13.0esr/layout/style/FontLoaderUtils.cpp --- thunderbird-140.12.0esr/layout/style/FontLoaderUtils.cpp 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/layout/style/FontLoaderUtils.cpp 2026-07-21 21:33:01.000000000 +0000 @@ -6,8 +6,11 @@ #include "mozilla/FontLoaderUtils.h" +#include "mozilla/Maybe.h" +#include "mozilla/dom/ClientInfo.h" #include "mozilla/dom/Document.h" #include "mozilla/dom/ReferrerInfo.h" +#include "mozilla/dom/ServiceWorkerDescriptor.h" #include "mozilla/dom/WorkerPrivate.h" #include "gfxUserFontSet.h" #include "nsCOMPtr.h" @@ -147,8 +150,8 @@ nsIChannel** aChannel, nsIURI* aURI, const CORSMode aCORSMode, const dom::ReferrerPolicy& aReferrerPolicy, gfxUserFontEntry* aUserFontEntry, const gfxFontFaceSrc* aFontFaceSrc, - dom::WorkerPrivate* aWorkerPrivate, nsILoadGroup* aLoadGroup, - nsIInterfaceRequestor* aCallbacks) { + dom::WorkerPrivate* aWorkerPrivate, const dom::ClientInfo& aClientInfo, + nsILoadGroup* aLoadGroup, nsIInterfaceRequestor* aCallbacks) { nsresult rv; nsIPrincipal* principal = @@ -166,8 +169,8 @@ nsCOMPtr channel; rv = NS_NewChannelWithTriggeringPrincipal( getter_AddRefs(channel), aURI, aWorkerPrivate->GetLoadingPrincipal(), - principal, securityFlags, contentPolicyType, nullptr, nullptr, - aLoadGroup); + principal, aClientInfo, Maybe(), + securityFlags, contentPolicyType, nullptr, nullptr, aLoadGroup); NS_ENSURE_SUCCESS(rv, rv); nsCOMPtr httpChannel(do_QueryInterface(channel)); diff -Nru thunderbird-140.12.0esr/layout/style/FontLoaderUtils.h thunderbird-140.13.0esr/layout/style/FontLoaderUtils.h --- thunderbird-140.12.0esr/layout/style/FontLoaderUtils.h 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/layout/style/FontLoaderUtils.h 2026-07-21 21:33:01.000000000 +0000 @@ -21,6 +21,7 @@ namespace mozilla { enum CORSMode : uint8_t; namespace dom { +class ClientInfo; class Document; class WorkerPrivate; enum class ReferrerPolicy : uint8_t; @@ -39,14 +40,12 @@ nsIInterfaceRequestor* aCallbacks, bool aIsPreload, int32_t aSupportsPriorityValue); - static nsresult BuildChannel(nsIChannel** aChannel, nsIURI* aURI, - const CORSMode aCORSMode, - const dom::ReferrerPolicy& aReferrerPolicy, - gfxUserFontEntry* aUserFontEntry, - const gfxFontFaceSrc* aFontFaceSrc, - dom::WorkerPrivate* aWorkerPrivate, - nsILoadGroup* aLoadGroup, - nsIInterfaceRequestor* aCallbacks); + static nsresult BuildChannel( + nsIChannel** aChannel, nsIURI* aURI, const CORSMode aCORSMode, + const dom::ReferrerPolicy& aReferrerPolicy, + gfxUserFontEntry* aUserFontEntry, const gfxFontFaceSrc* aFontFaceSrc, + dom::WorkerPrivate* aWorkerPrivate, const dom::ClientInfo& aClientInfo, + nsILoadGroup* aLoadGroup, nsIInterfaceRequestor* aCallbacks); private: static void BuildChannelFlags( diff -Nru thunderbird-140.12.0esr/layout/style/ServoCSSRuleList.cpp thunderbird-140.13.0esr/layout/style/ServoCSSRuleList.cpp --- thunderbird-140.12.0esr/layout/style/ServoCSSRuleList.cpp 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/layout/style/ServoCSSRuleList.cpp 2026-07-21 21:33:00.000000000 +0000 @@ -200,7 +200,7 @@ mStyleSheet->WillDirty(); css::Loader* loader = nullptr; - auto allowImportRules = mStyleSheet->SelfOrAncestorIsConstructed() + auto allowImportRules = mStyleSheet->IsConstructed() ? StyleAllowImportRules::No : StyleAllowImportRules::Yes; diff -Nru thunderbird-140.12.0esr/layout/style/StyleSheet.cpp thunderbird-140.13.0esr/layout/style/StyleSheet.cpp --- thunderbird-140.12.0esr/layout/style/StyleSheet.cpp 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/layout/style/StyleSheet.cpp 2026-07-21 21:33:01.000000000 +0000 @@ -522,7 +522,7 @@ do { \ StyleSheet* current = this; \ do { \ - for (ServoStyleSet * set : current->mStyleSets) { \ + for (ServoStyleSet* set : current->mStyleSets) { \ set->function_ args_; \ } \ if (auto* docOrShadow = current->mDocumentOrShadowRoot) { \ @@ -1221,9 +1221,8 @@ // @import rules are disallowed due to this decision: // https://github.com/WICG/construct-stylesheets/issues/119#issuecomment-588352418 // We may allow @import rules again in the future. - auto allowImportRules = SelfOrAncestorIsConstructed() - ? StyleAllowImportRules::No - : StyleAllowImportRules::Yes; + auto allowImportRules = + IsConstructed() ? StyleAllowImportRules::No : StyleAllowImportRules::Yes; URLExtraData* urlData = URLData(); if (aLoadData->get()->mRecordErrors) { MOZ_ASSERT(NS_IsMainThread()); @@ -1298,9 +1297,8 @@ SetURLExtraData(); URLExtraData* urlData = URLData(); - auto allowImportRules = SelfOrAncestorIsConstructed() - ? StyleAllowImportRules::No - : StyleAllowImportRules::Yes; + auto allowImportRules = + IsConstructed() ? StyleAllowImportRules::No : StyleAllowImportRules::Yes; Inner().mContents = Servo_StyleSheet_FromUTF8Bytes( diff -Nru thunderbird-140.12.0esr/layout/style/StyleSheet.h thunderbird-140.13.0esr/layout/style/StyleSheet.h --- thunderbird-140.12.0esr/layout/style/StyleSheet.h 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/layout/style/StyleSheet.h 2026-07-21 21:33:01.000000000 +0000 @@ -414,12 +414,6 @@ // subtree. It can be cheaper than walking the whole list of stylesheets. bool IsDirectlyAssociatedTo(dom::DocumentOrShadowRoot&) const; - // True if any of this sheet's ancestors were created through the - // Constructable StyleSheets API - bool SelfOrAncestorIsConstructed() const { - return OutermostSheet().IsConstructed(); - } - // Ture if the sheet's constructor document matches the given document bool ConstructorDocumentMatches(const dom::Document& aDocument) const { return mConstructorDocument == &aDocument; diff -Nru thunderbird-140.12.0esr/media/libcubeb/delay-line-bounds.patch thunderbird-140.13.0esr/media/libcubeb/delay-line-bounds.patch --- thunderbird-140.12.0esr/media/libcubeb/delay-line-bounds.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/media/libcubeb/delay-line-bounds.patch 2026-07-21 21:33:01.000000000 +0000 @@ -0,0 +1,34 @@ +diff --git a/src/cubeb_resampler_internal.h b/src/cubeb_resampler_internal.h +--- a/src/cubeb_resampler_internal.h ++++ b/src/cubeb_resampler_internal.h +@@ -434,15 +434,24 @@ + * hold onto the pointer. */ + T * output(uint32_t frames_needed, size_t * input_frames_used) + { +- if (delay_output_buffer.capacity() < frames_to_samples(frames_needed)) { +- delay_output_buffer.reserve(frames_to_samples(frames_needed)); ++ size_t samples_needed = frames_to_samples(frames_needed); ++ if (delay_output_buffer.capacity() < samples_needed) { ++ delay_output_buffer.reserve(samples_needed); + } + + delay_output_buffer.clear(); +- delay_output_buffer.push(delay_input_buffer.data(), +- frames_to_samples(frames_needed)); +- delay_input_buffer.pop(nullptr, frames_to_samples(frames_needed)); +- *input_frames_used = frames_needed; ++ ++ // Copy only what is buffered and zero-pad the rest, in case fewer frames ++ // are available than requested. ++ size_t samples_available = ++ std::min(samples_needed, delay_input_buffer.length()); ++ ++ delay_output_buffer.push(delay_input_buffer.data(), samples_available); ++ if (samples_available < samples_needed) { ++ delay_output_buffer.push_silence(samples_needed - samples_available); ++ } ++ delay_input_buffer.pop(nullptr, samples_available); ++ *input_frames_used = samples_to_frames(samples_available); + + return delay_output_buffer.data(); + } diff -Nru thunderbird-140.12.0esr/media/libcubeb/moz.yaml thunderbird-140.13.0esr/media/libcubeb/moz.yaml --- thunderbird-140.12.0esr/media/libcubeb/moz.yaml 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/media/libcubeb/moz.yaml 2026-07-21 21:33:00.000000000 +0000 @@ -23,6 +23,7 @@ - 0004-disable-cubeb_one_duplex_one_input-macos10.15.patch - 0005-increase-aaudio-powersaving-buffering.patch - frame-sample.patch + - delay-line-bounds.patch skip-vendoring-steps: - update-moz-build exclude: diff -Nru thunderbird-140.12.0esr/media/libcubeb/src/cubeb_resampler_internal.h thunderbird-140.13.0esr/media/libcubeb/src/cubeb_resampler_internal.h --- thunderbird-140.12.0esr/media/libcubeb/src/cubeb_resampler_internal.h 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/media/libcubeb/src/cubeb_resampler_internal.h 2026-07-21 21:33:01.000000000 +0000 @@ -434,15 +434,24 @@ * hold onto the pointer. */ T * output(uint32_t frames_needed, size_t * input_frames_used) { - if (delay_output_buffer.capacity() < frames_to_samples(frames_needed)) { - delay_output_buffer.reserve(frames_to_samples(frames_needed)); + size_t samples_needed = frames_to_samples(frames_needed); + if (delay_output_buffer.capacity() < samples_needed) { + delay_output_buffer.reserve(samples_needed); } delay_output_buffer.clear(); - delay_output_buffer.push(delay_input_buffer.data(), - frames_to_samples(frames_needed)); - delay_input_buffer.pop(nullptr, frames_to_samples(frames_needed)); - *input_frames_used = frames_needed; + + // Copy only what is buffered and zero-pad the rest, in case fewer frames + // are available than requested. + size_t samples_available = + std::min(samples_needed, delay_input_buffer.length()); + + delay_output_buffer.push(delay_input_buffer.data(), samples_available); + if (samples_available < samples_needed) { + delay_output_buffer.push_silence(samples_needed - samples_available); + } + delay_input_buffer.pop(nullptr, samples_available); + *input_frames_used = samples_to_frames(samples_available); return delay_output_buffer.data(); } diff -Nru thunderbird-140.12.0esr/media/libsoundtouch/moz.yaml thunderbird-140.13.0esr/media/libsoundtouch/moz.yaml --- thunderbird-140.12.0esr/media/libsoundtouch/moz.yaml 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/media/libsoundtouch/moz.yaml 2026-07-21 21:33:01.000000000 +0000 @@ -59,6 +59,7 @@ patches: - moz-libsoundtouch.patch + - ratetransposer-clamp-dest-size.patch update-actions: - action: move-file diff -Nru thunderbird-140.12.0esr/media/libsoundtouch/ratetransposer-clamp-dest-size.patch thunderbird-140.13.0esr/media/libsoundtouch/ratetransposer-clamp-dest-size.patch --- thunderbird-140.12.0esr/media/libsoundtouch/ratetransposer-clamp-dest-size.patch 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/media/libsoundtouch/ratetransposer-clamp-dest-size.patch 2026-07-21 21:33:01.000000000 +0000 @@ -0,0 +1,22 @@ +diff -u /src/RateTransposer.cpp /src/RateTransposer.cpp +--- /src/RateTransposer.cpp ++++ /src/RateTransposer.cpp +@@ -237,8 +237,17 @@ void TransposerBase::setAlgorithm(Transp + // Returns the number of samples returned in the "dest" buffer + int TransposerBase::transpose(FIFOSampleBuffer &dest, FIFOSampleBuffer &src) + { ++ const double MAX_DEST_LIMIT = 10240000.0; ++ + int numSrcSamples = src.numSamples(); +- int sizeDemand = (int)((double)numSrcSamples / rate) + 8; ++ double sizeDemand = ((double)numSrcSamples / rate) + 8; ++ if (sizeDemand > MAX_DEST_LIMIT) ++ { ++ // clamp size to sanity check limit to avoid excessively large buffers. may cause artifacts ++ // to output audio yet we're already working way outside of reasonable rate limits ++ numSrcSamples = (int)(MAX_DEST_LIMIT * rate); ++ sizeDemand = ((double)numSrcSamples / rate) + 8; ++ } + int numOutput; + SAMPLETYPE *psrc = src.ptrBegin(); + SAMPLETYPE *pdest = dest.ptrEnd(sizeDemand); diff -Nru thunderbird-140.12.0esr/media/libsoundtouch/src/RateTransposer.cpp thunderbird-140.13.0esr/media/libsoundtouch/src/RateTransposer.cpp --- thunderbird-140.12.0esr/media/libsoundtouch/src/RateTransposer.cpp 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/media/libsoundtouch/src/RateTransposer.cpp 2026-07-21 21:33:01.000000000 +0000 @@ -237,8 +237,17 @@ // Returns the number of samples returned in the "dest" buffer int TransposerBase::transpose(FIFOSampleBuffer &dest, FIFOSampleBuffer &src) { + const double MAX_DEST_LIMIT = 10240000.0; + int numSrcSamples = src.numSamples(); - int sizeDemand = (int)((double)numSrcSamples / rate) + 8; + double sizeDemand = ((double)numSrcSamples / rate) + 8; + if (sizeDemand > MAX_DEST_LIMIT) + { + // clamp size to sanity check limit to avoid excessively large buffers. may cause artifacts + // to output audio yet we're already working way outside of reasonable rate limits + numSrcSamples = (int)(MAX_DEST_LIMIT * rate); + sizeDemand = ((double)numSrcSamples / rate) + 8; + } int numOutput; SAMPLETYPE *psrc = src.ptrBegin(); SAMPLETYPE *pdest = dest.ptrEnd(sizeDemand); diff -Nru thunderbird-140.12.0esr/mozglue/misc/Printf.cpp thunderbird-140.13.0esr/mozglue/misc/Printf.cpp --- thunderbird-140.12.0esr/mozglue/misc/Printf.cpp 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/mozglue/misc/Printf.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -386,13 +386,11 @@ } // Limit string length by precision value - int slen = int(strlen(s)); - if (0 < prec && prec < slen) { - slen = prec; + size_t slen = strnlen(s, size_t(prec)); + if (slen > INT_MAX) { + return false; } - - // and away we go - return fill2(s, slen, width, flags); + return fill2(s, int(slen), width, flags); } /* diff -Nru thunderbird-140.12.0esr/mozglue/misc/Printf.h thunderbird-140.13.0esr/mozglue/misc/Printf.h --- thunderbird-140.12.0esr/mozglue/misc/Printf.h 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/mozglue/misc/Printf.h 2026-07-21 21:33:02.000000000 +0000 @@ -172,7 +172,7 @@ size_t newlen; off = mCur - mBase; - if (off + len >= mMaxlen) { + if (len >= mMaxlen - off) { /* Grow the buffer */ newlen = mMaxlen + ((len > 32) ? len : 32); newbase = this->template maybe_pod_malloc(newlen); diff -Nru thunderbird-140.12.0esr/netwerk/base/RedirectChannelRegistrar.cpp thunderbird-140.13.0esr/netwerk/base/RedirectChannelRegistrar.cpp --- thunderbird-140.12.0esr/netwerk/base/RedirectChannelRegistrar.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/base/RedirectChannelRegistrar.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -34,10 +34,12 @@ } NS_IMETHODIMP -RedirectChannelRegistrar::RegisterChannel(nsIChannel* channel, uint64_t id) { +RedirectChannelRegistrar::RegisterChannel(nsIChannel* channel, uint64_t id, + uint64_t aContentParentId) { MutexAutoLock lock(mLock); mRealChannels.InsertOrUpdate(id, channel); + mChannelOwners.InsertOrUpdate(id, aContentParentId); return NS_OK; } @@ -53,10 +55,19 @@ } NS_IMETHODIMP -RedirectChannelRegistrar::LinkChannels(uint64_t id, nsIParentChannel* channel, +RedirectChannelRegistrar::LinkChannels(uint64_t id, uint64_t aContentParentId, + nsIParentChannel* channel, nsIChannel** _retval) { MutexAutoLock lock(mLock); + // Only hand back the registered channel if it was registered for the + // requesting content process, since the id is supplied by the content + // process. + uint64_t owner; + if (!mChannelOwners.Get(id, &owner) || owner != aContentParentId) { + return NS_ERROR_NOT_AVAILABLE; + } + if (!mRealChannels.Get(id, _retval)) return NS_ERROR_NOT_AVAILABLE; mParentChannels.InsertOrUpdate(id, channel); @@ -79,6 +90,7 @@ mRealChannels.Remove(id); mParentChannels.Remove(id); + mChannelOwners.Remove(id); return NS_OK; } diff -Nru thunderbird-140.12.0esr/netwerk/base/RedirectChannelRegistrar.h thunderbird-140.13.0esr/netwerk/base/RedirectChannelRegistrar.h --- thunderbird-140.12.0esr/netwerk/base/RedirectChannelRegistrar.h 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/base/RedirectChannelRegistrar.h 2026-07-21 21:33:02.000000000 +0000 @@ -11,6 +11,7 @@ #include "nsIParentChannel.h" #include "nsInterfaceHashtable.h" #include "mozilla/Attributes.h" +#include "nsTHashMap.h" #include "mozilla/Mutex.h" namespace mozilla { @@ -36,6 +37,12 @@ ChannelHashtable mRealChannels; ParentChannelHashtable mParentChannels; + // Maps a registered channel id to the ContentParentId (as a raw uint64_t, + // 0 for the parent process) of the process the redirect is destined for. + // linkChannels refuses to pair a real channel with a parent actor coming + // from any other process. + nsTHashMap mChannelOwners; + Mutex mLock MOZ_UNANNOTATED; static StaticRefPtr gSingleton; diff -Nru thunderbird-140.12.0esr/netwerk/base/SimpleChannelParent.cpp thunderbird-140.13.0esr/netwerk/base/SimpleChannelParent.cpp --- thunderbird-140.12.0esr/netwerk/base/SimpleChannelParent.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/base/SimpleChannelParent.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -6,6 +6,7 @@ #include "SimpleChannelParent.h" #include "mozilla/Assertions.h" +#include "mozilla/dom/ContentParent.h" #include "nsNetUtil.h" #include "nsIChannel.h" @@ -23,8 +24,10 @@ bool SimpleChannelParent::Init(const uint64_t& aChannelId) { nsCOMPtr channel; + dom::ContentParentId cpId = + static_cast(Manager()->Manager())->ChildID(); MOZ_ALWAYS_SUCCEEDS_FUZZING( - NS_LinkRedirectChannels(aChannelId, this, getter_AddRefs(channel))); + NS_LinkRedirectChannels(aChannelId, cpId, this, getter_AddRefs(channel))); return true; } diff -Nru thunderbird-140.12.0esr/netwerk/base/nsIRedirectChannelRegistrar.idl thunderbird-140.13.0esr/netwerk/base/nsIRedirectChannelRegistrar.idl --- thunderbird-140.12.0esr/netwerk/base/nsIRedirectChannelRegistrar.idl 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/base/nsIRedirectChannelRegistrar.idl 2026-07-21 21:33:02.000000000 +0000 @@ -15,30 +15,37 @@ * See also nsIChildChannel and nsIParentChannel. */ -[scriptable, uuid (efa36ea2-5b07-46fc-9534-a5acb8b77b72)] +[scriptable, uuid (1f2c5e0a-9b3d-4d8e-8c4a-6d7e0b1a2c3d)] interface nsIRedirectChannelRegistrar : nsISupports { /** * Register the redirect target channel. The passed id needs to be a * unique ID for that channel (see `nsContentUtils::GenerateLoadIdentifier`). + * aContentParentId identifies the content process the redirect is destined + * for (0 for the parent process); linkChannels will only pair the channel + * with a parent actor coming from that same process. * * Primarily used in ParentChannelListener::AsyncOnChannelRedirect to get * a channel id sent to the HttpChannelChild being redirected. */ - void registerChannel(in nsIChannel channel, in uint64_t id); + void registerChannel(in nsIChannel channel, in uint64_t id, + in uint64_t aContentParentId); /** - * First, search for the channel registered under the id. If found return - * it. Then, register under the same id the parent side of IPC protocol - * to let it be later grabbed back by the originator of the redirect and - * notifications from the real channel could be forwarded to this parent - * channel. + * First, search for the channel registered under the id. If found, and the + * registered channel is owned by aContentParentId, return it. Then, register + * under the same id the parent side of IPC protocol to let it be later + * grabbed back by the originator of the redirect and notifications from the + * real channel could be forwarded to this parent channel. Fails with + * NS_ERROR_NOT_AVAILABLE if no channel is registered under the id for the + * given content process. * * Primarily used in parent side of an IPC protocol implementation * in reaction to nsIChildChannel.connectParent(id) called from the child - * process. + * process. aContentParentId is the process that made that request. */ - nsIChannel linkChannels(in uint64_t id, in nsIParentChannel channel); + nsIChannel linkChannels(in uint64_t id, in uint64_t aContentParentId, + in nsIParentChannel channel); /** * Returns back the channel previously registered under the ID with diff -Nru thunderbird-140.12.0esr/netwerk/base/nsITimedChannel.idl thunderbird-140.13.0esr/netwerk/base/nsITimedChannel.idl --- thunderbird-140.12.0esr/netwerk/base/nsITimedChannel.idl 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/base/nsITimedChannel.idl 2026-07-21 21:33:02.000000000 +0000 @@ -70,6 +70,11 @@ // This flag should be set to false only if a cross-domain redirect occurred [noscript] attribute boolean allRedirectsSameOrigin; + // Like allRedirectsSameOrigin, but internal redirects (e.g. a service worker + // serving a response from a different URL) do not count as cross-origin. Used + // by canvas/CSS/media tainting, which must only treat a real cross-origin + // network redirect as a trust-boundary crossing. + [noscript] attribute boolean allRedirectsSameOriginIgnoringInternal; // This flag is set to false if the timing allow check fails [noscript] attribute boolean allRedirectsPassTimingAllowCheck; // Implements the timing-allow-check to determine if we should report diff -Nru thunderbird-140.12.0esr/netwerk/base/nsNetUtil.cpp thunderbird-140.13.0esr/netwerk/base/nsNetUtil.cpp --- thunderbird-140.12.0esr/netwerk/base/nsNetUtil.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/base/nsNetUtil.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -2619,14 +2619,15 @@ return NS_FAILED(rv); } -nsresult NS_LinkRedirectChannels(uint64_t channelId, +nsresult NS_LinkRedirectChannels(uint64_t channelId, uint64_t aContentParentId, nsIParentChannel* parentChannel, nsIChannel** _result) { nsCOMPtr registrar = RedirectChannelRegistrar::GetOrCreate(); MOZ_ASSERT(registrar); - return registrar->LinkChannels(channelId, parentChannel, _result); + return registrar->LinkChannels(channelId, aContentParentId, parentChannel, + _result); } nsILoadInfo::CrossOriginEmbedderPolicy diff -Nru thunderbird-140.12.0esr/netwerk/base/nsNetUtil.h thunderbird-140.13.0esr/netwerk/base/nsNetUtil.h --- thunderbird-140.12.0esr/netwerk/base/nsNetUtil.h 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/base/nsNetUtil.h 2026-07-21 21:33:02.000000000 +0000 @@ -883,7 +883,10 @@ nsIChannel* aNewChannel, uint32_t aFlags); -nsresult NS_LinkRedirectChannels(uint64_t channelId, +// aContentParentId identifies the process requesting the link (0 for the +// parent process). The link only succeeds if the channel was registered for +// that same process. +nsresult NS_LinkRedirectChannels(uint64_t channelId, uint64_t aContentParentId, nsIParentChannel* parentChannel, nsIChannel** _result); diff -Nru thunderbird-140.12.0esr/netwerk/base/nsStandardURL.cpp thunderbird-140.13.0esr/netwerk/base/nsStandardURL.cpp --- thunderbird-140.12.0esr/netwerk/base/nsStandardURL.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/base/nsStandardURL.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -1525,8 +1525,9 @@ } else if (Scheme() == "https"_ns || Scheme() == "wss"_ns) { mDefaultPort = 443; } - if (mPort == mDefaultPort) { - MOZ_ALWAYS_SUCCEEDS(SetPort(-1)); + if (mPort == mDefaultPort && mAuthority.mLen >= 0) { + nsresult rv = SetPort(-1); + NS_ENSURE_SUCCESS(rv, rv); } return NS_OK; @@ -2000,6 +2001,10 @@ NS_WARNING("cannot set port on no-auth url"); return NS_ERROR_UNEXPECTED; } + if (mAuthority.mLen < 0) { + NS_WARNING("uninitialized"); + return NS_ERROR_NOT_INITIALIZED; + } if (mAuthority.mLen == 0) { // If the URL doesn't have a hostname then setting the port to // -1 is a no-op. But setting it to anything else should @@ -3695,17 +3700,18 @@ false); NS_ENSURE_TRUE(mPath.mLen != -1 && mSpec.CharAt(mPath.mPos) == '/', false); NS_ENSURE_TRUE(mPath.mPos == mFilepath.mPos, false); - NS_ENSURE_TRUE(mQuery.mLen == -1 || - (mQuery.mPos > 0 && mSpec.CharAt(mQuery.mPos - 1) == '?'), + NS_ENSURE_TRUE(mQuery.mLen == -1 || (mQuery.mPos > mPath.mPos && + mSpec.CharAt(mQuery.mPos - 1) == '?'), + false); + NS_ENSURE_TRUE(mRef.mLen == -1 || (mRef.mPos > mPath.mPos && + mSpec.CharAt(mRef.mPos - 1) == '#'), false); - NS_ENSURE_TRUE( - mRef.mLen == -1 || (mRef.mPos > 0 && mSpec.CharAt(mRef.mPos - 1) == '#'), - false); // mDirectory, mBasename, mExtension must be sub-ranges of mFilepath, // which must be a sub-range of mPath. auto isSubSegment = [](const URLSegment& inner, const URLSegment& outer) { if (inner.mLen == -1) return true; + if (outer.mLen == -1) return false; return inner.mPos >= outer.mPos && inner.mPos + inner.mLen <= outer.mPos + outer.mLen; }; @@ -3719,10 +3725,20 @@ NS_ENSURE_TRUE(isSubSegment(mQuery, mPath), false); NS_ENSURE_TRUE(isSubSegment(mRef, mPath), false); - if (mAuthority.mLen >= 0 && mPath.mLen >= 0) { - NS_ENSURE_TRUE(mPath.mPos == mAuthority.mPos + mAuthority.mLen, false); + // mPath must immediately follow mAuthority. If mAuthority is absent, that is + // only valid for URLTYPE_NO_AUTHORITY (e.g. file: URLs parsed without an + // authority component); for all other URL types a missing authority while + // mPath is present indicates a malformed or crafted URL. + if (mPath.mLen >= 0) { + if (mAuthority.mLen >= 0) { + NS_ENSURE_TRUE(mPath.mPos == mAuthority.mPos + mAuthority.mLen, false); + } else { + NS_ENSURE_TRUE(mURLType == URLTYPE_NO_AUTHORITY, false); + } } + NS_ENSURE_TRUE(mAuthority.mLen >= 0 || mPort == -1, false); + if (!IsValid()) { return false; } diff -Nru thunderbird-140.12.0esr/netwerk/dns/DNSPacket.cpp thunderbird-140.13.0esr/netwerk/dns/DNSPacket.cpp --- thunderbird-140.12.0esr/netwerk/dns/DNSPacket.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/dns/DNSPacket.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -639,6 +639,9 @@ aCname.Truncate(); + // Reset any type record accumulated by a previous decode of this packet. + aTypeResult = mozilla::AsVariant(Nothing()); + if (aLen < 12) { LOG(("TRR bad incoming DOH, eject!\n")); return NS_ERROR_ILLEGAL_VALUE; diff -Nru thunderbird-140.12.0esr/netwerk/dns/TRRQuery.cpp thunderbird-140.13.0esr/netwerk/dns/TRRQuery.cpp --- thunderbird-140.12.0esr/netwerk/dns/TRRQuery.cpp 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/dns/TRRQuery.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -215,22 +215,21 @@ } else { MOZ_ASSERT(0); } - } - if (NS_SUCCEEDED(status)) { - mTRRSuccess++; - if (mTRRSuccess == 1) { - // Store the duration on first succesful TRR response. We - // don't know that there will be a second response nor can we - // tell which of two has useful data. - mTrrDuration = TimeStamp::Now() - mTrrStart; + if (NS_SUCCEEDED(status)) { + mTRRSuccess++; + if (mTRRSuccess == 1) { + // Store the duration on first succesful TRR response. We + // don't know that there will be a second response nor can we + // tell which of two has useful data. + mTrrDuration = TimeStamp::Now() - mTrrStart; + } } } bool pendingRequest = false; if (mTRRRequestCounter) { - mTRRRequestCounter--; - pendingRequest = (mTRRRequestCounter != 0); + pendingRequest = (--mTRRRequestCounter != 0); } else { MOZ_DIAGNOSTIC_CRASH("Request counter is messed up"); } @@ -239,23 +238,42 @@ return LOOKUP_OK; } + RefPtr addrInfoA; + RefPtr addrInfoAAAA; + TRRState trrAUsed; + TRRState trrAAAAUsed; + nsresult aResult; + nsresult aaaaResult; + uint8_t trrSuccess; + { + MutexAutoLock trrlock(mTrrLock); + addrInfoA = mAddrInfoA; + addrInfoAAAA = mAddrInfoAAAA; + trrAUsed = mTrrAUsed; + trrAAAAUsed = mTrrAAAAUsed; + aResult = mAResult; + aaaaResult = mAAAAResult; + trrSuccess = mTRRSuccess; + } + if (mRecord->af == AF_UNSPEC) { // merge successful records - if (mTrrAUsed == OK) { + if (trrAUsed == OK) { LOG(("Have A response")); - newRRSet = mAddrInfoA; - status = mAResult; - if (mTrrAAAAUsed == OK) { + newRRSet = addrInfoA; + status = aResult; + if (trrAAAAUsed == OK) { LOG(("Merging A and AAAA responses")); - newRRSet = merge_rrset(newRRSet, mAddrInfoAAAA); + newRRSet = merge_rrset(newRRSet, addrInfoAAAA); } } else { - newRRSet = mAddrInfoAAAA; - status = mAAAAResult; + newRRSet = addrInfoAAAA; + status = aaaaResult; } - if (NS_FAILED(status) && (mAAAAResult == NS_ERROR_DEFINITIVE_UNKNOWN_HOST || - mAResult == NS_ERROR_DEFINITIVE_UNKNOWN_HOST)) { + if (NS_FAILED(status) && + (aaaaResult == NS_ERROR_DEFINITIVE_UNKNOWN_HOST || + aResult == NS_ERROR_DEFINITIVE_UNKNOWN_HOST)) { status = NS_ERROR_DEFINITIVE_UNKNOWN_HOST; } } else { @@ -263,7 +281,7 @@ // then we should not fallback to Do53. Instead we also send a A request // and return NS_ERROR_DEFINITIVE_UNKNOWN_HOST if that succeeds. if (NS_FAILED(status) && status != NS_ERROR_DEFINITIVE_UNKNOWN_HOST && - (mTrrAUsed == INIT || mTrrAAAAUsed == INIT)) { + (trrAUsed == INIT || trrAAAAUsed == INIT)) { if (newRRSet->TRRType() == TRRTYPE_A) { LOG(("A lookup failed. Checking if AAAA record exists")); nsTArray> requestsToSend; @@ -285,26 +303,27 @@ } } bool otherSucceeded = - mRecord->af == AF_INET6 ? mTrrAUsed == OK : mTrrAAAAUsed == OK; + mRecord->af == AF_INET6 ? trrAUsed == OK : trrAAAAUsed == OK; LOG(("TRRQuery::CompleteLookup other request succeeded")); if (mRecord->af == AF_INET) { // return only A record - newRRSet = mAddrInfoA; - status = mAResult; + newRRSet = addrInfoA; + status = aResult; if (NS_FAILED(status) && - (otherSucceeded || mAAAAResult == NS_ERROR_DEFINITIVE_UNKNOWN_HOST)) { + (otherSucceeded || + aaaaResult == NS_ERROR_DEFINITIVE_UNKNOWN_HOST)) { LOG(("status set to NS_ERROR_DEFINITIVE_UNKNOWN_HOST")); status = NS_ERROR_DEFINITIVE_UNKNOWN_HOST; } } else if (mRecord->af == AF_INET6) { // return only AAAA record - newRRSet = mAddrInfoAAAA; - status = mAAAAResult; + newRRSet = addrInfoAAAA; + status = aaaaResult; if (NS_FAILED(status) && - (otherSucceeded || mAResult == NS_ERROR_DEFINITIVE_UNKNOWN_HOST)) { + (otherSucceeded || aResult == NS_ERROR_DEFINITIVE_UNKNOWN_HOST)) { LOG(("status set to NS_ERROR_DEFINITIVE_UNKNOWN_HOST")); status = NS_ERROR_DEFINITIVE_UNKNOWN_HOST; } @@ -318,7 +337,7 @@ // we prevent fallback to the native resolver. } - if (mTRRSuccess && mHostResolver->GetNCS() && + if (trrSuccess && mHostResolver->GetNCS() && (mHostResolver->GetNCS()->GetNAT64() == nsINetworkConnectivityService::OK) && newRRSet) { @@ -326,29 +345,32 @@ } if (resolverType == DNSResolverType::TRR) { - if (mTrrAUsed == OK) { + if (trrAUsed == OK) { AccumulateCategoricalKeyed( TRRService::ProviderKey(), Telemetry::LABELS_DNS_LOOKUP_DISPOSITION3::trrAOK); - } else if (mTrrAUsed == FAILED) { + } else if (trrAUsed == FAILED) { AccumulateCategoricalKeyed( TRRService::ProviderKey(), Telemetry::LABELS_DNS_LOOKUP_DISPOSITION3::trrAFail); } - if (mTrrAAAAUsed == OK) { + if (trrAAAAUsed == OK) { AccumulateCategoricalKeyed( TRRService::ProviderKey(), Telemetry::LABELS_DNS_LOOKUP_DISPOSITION3::trrAAAAOK); - } else if (mTrrAAAAUsed == FAILED) { + } else if (trrAAAAUsed == FAILED) { AccumulateCategoricalKeyed( TRRService::ProviderKey(), Telemetry::LABELS_DNS_LOOKUP_DISPOSITION3::trrAAAAFail); } } - mAddrInfoAAAA = nullptr; - mAddrInfoA = nullptr; + { + MutexAutoLock trrlock(mTrrLock); + mAddrInfoAAAA = nullptr; + mAddrInfoA = nullptr; + } MOZ_DIAGNOSTIC_ASSERT(!mCalledCompleteLookup, "must not call CompleteLookup more than once"); diff -Nru thunderbird-140.12.0esr/netwerk/dns/TRRQuery.h thunderbird-140.13.0esr/netwerk/dns/TRRQuery.h --- thunderbird-140.12.0esr/netwerk/dns/TRRQuery.h 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/dns/TRRQuery.h 2026-07-21 21:33:02.000000000 +0000 @@ -93,16 +93,16 @@ // called when this counter equals to 0. Atomic mTRRRequestCounter{0}; - uint8_t mTRRSuccess = 0; // number of successful TRR responses + uint8_t mTRRSuccess MOZ_GUARDED_BY(mTrrLock) = 0; bool mCalledCompleteLookup = false; mozilla::TimeDuration mTrrDuration; mozilla::TimeStamp mTrrStart; - RefPtr mAddrInfoA; - RefPtr mAddrInfoAAAA; - nsresult mAResult = NS_OK; - nsresult mAAAAResult = NS_OK; + RefPtr mAddrInfoA MOZ_GUARDED_BY(mTrrLock); + RefPtr mAddrInfoAAAA MOZ_GUARDED_BY(mTrrLock); + nsresult mAResult MOZ_GUARDED_BY(mTrrLock) = NS_OK; + nsresult mAAAAResult MOZ_GUARDED_BY(mTrrLock) = NS_OK; }; } // namespace net diff -Nru thunderbird-140.12.0esr/netwerk/dns/effective_tld_names.dat thunderbird-140.13.0esr/netwerk/dns/effective_tld_names.dat --- thunderbird-140.12.0esr/netwerk/dns/effective_tld_names.dat 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/dns/effective_tld_names.dat 2026-07-21 21:33:02.000000000 +0000 @@ -5,8 +5,8 @@ // Please pull this list from, and only from https://publicsuffix.org/list/public_suffix_list.dat, // rather than any other VCS sites. Pulling from any other URL is not guaranteed to be supported. -// VERSION: 2026-05-28_06-25-58_UTC -// COMMIT: e596036bde712ffb073b948eb8b884c72c94c6e1 +// VERSION: 2026-07-09_11-59-23_UTC +// COMMIT: b9a86cf0cd115f1e60b5815533f3fcfd2f9e8f4b // Instructions on pulling and using this list can be found at https://publicsuffix.org/list/. @@ -6822,7 +6822,7 @@ // newGTLDs -// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2026-04-30T16:18:08Z +// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2026-06-13T16:12:40Z // This list is auto-generated, don't edit it manually. // aaa : American Automobile Association, Inc. // https://www.iana.org/domains/root/db/aaa.html @@ -10876,7 +10876,7 @@ // https://www.iana.org/domains/root/db/xn--5su34j936bgsg.html 香格里拉 -// xn--5tzm5g : Global Website TLD Asia Limited +// xn--5tzm5g : Jolly Host, LLC // https://www.iana.org/domains/root/db/xn--5tzm5g.html 网站 @@ -12751,6 +12751,12 @@ // Submitted by Gavin Brown co.com +// Code For Host Inc Ltd : https://codeforhost.com +// Submitted by Mehedi Hasan +sch.ac +dev.cv +store.cv + // Codeberg e. V. : https://codeberg.org // Submitted by Moritz Marquardt codeberg.page @@ -12976,9 +12982,22 @@ us.ci de5.net -// DNShome : https://www.dnshome.de/ +// dnsHome : https://www.dnshome.de/ // Submitted by Norbert Auler +dnshome.at +resolve.bar +ddns.berlin +dnshome.cloud +ddnssec.de dnshome.de +dyndnssec.de +heimdns.de +srvdns.de +dnshome.eu +dnshome.it +dyn.now +heimdns.online +ddns.wtf // DotArai : https://www.dotarai.com/ // Submitted by Atsadawat Netcharadsang @@ -13894,6 +13913,10 @@ zombie.jp heteml.net +// GNTC, Inc. : https://gntc.com/ +// Submitted by VibeHost Security +vibehost.space + // GoDaddy Registry : https://registry.godaddy // Submitted by Rohan Durrant graphic.design @@ -14133,10 +14156,6 @@ // Submitted by Connor McFarlane oninferno.net -// info.at : http://www.info.at/ -biz.at -info.at - // info.cx : http://info.cx // Submitted by June Slater info.cx @@ -14597,7 +14616,6 @@ // May First - People Link : https://mayfirst.org/ // Submitted by Jamie McClelland mayfirst.info -mayfirst.org // McHost : https://mchost.ru // Submitted by Evgeniy Subbotin @@ -14717,6 +14735,10 @@ typo3server.info project.space +// MKM : https://mkm.fan/ +// Submitted by Kashi Ahmer +mkm.fan + // Mocha : https://getmocha.com // Submitted by Ben Reinhart mocha.app @@ -15052,6 +15074,7 @@ // OpenAI : https://openai.com // Submitted by Thomas Shadwell *.oaiusercontent.com +chatgpt.site // OpenCraft GmbH : http://opencraft.com/ // Submitted by Sven Marnach @@ -15249,6 +15272,12 @@ // Submitted by Kor Nielsen pubtls.org +// Puter : https://puter.com +// Submitted by Puter Security Team +puter.app +puter.site +puter.work + // PythonAnywhere LLP : https://www.pythonanywhere.com // Submitted by Giles Thomas pythonanywhere.com @@ -16301,6 +16330,10 @@ wpenginepowered.com js.wpenginepowered.com +// xAI : https://x.ai/ +// Submitted by Asim Shrestha +grok.me + // XenonCloud GbR : https://xenoncloud.net // Submitted by Julian Uphoff *.xenonconnect.de diff -Nru thunderbird-140.12.0esr/netwerk/ipc/DocumentLoadListener.cpp thunderbird-140.13.0esr/netwerk/ipc/DocumentLoadListener.cpp --- thunderbird-140.12.0esr/netwerk/ipc/DocumentLoadListener.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/ipc/DocumentLoadListener.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -1262,11 +1262,13 @@ nsCOMPtr registrar = RedirectChannelRegistrar::GetOrCreate(); uint64_t loadIdentifier = aLoadState->GetLoadIdentifier(); + // Parent-process speculative load, so the redirect is owned by the + // parent process (ContentParentId 0). DebugOnly rv = - registrar->RegisterChannel(nullptr, loadIdentifier); + registrar->RegisterChannel(nullptr, loadIdentifier, 0); MOZ_ASSERT(NS_SUCCEEDED(rv)); // Register listener (as an nsIParentChannel) under our new identifier. - rv = registrar->LinkChannels(loadIdentifier, listener, nullptr); + rv = registrar->LinkChannels(loadIdentifier, 0, listener, nullptr); MOZ_ASSERT(NS_SUCCEEDED(rv)); } return !!promise; @@ -2197,7 +2199,20 @@ chan = vsc->GetInnerChannel(); } mRedirectChannelId = nsContentUtils::GenerateLoadIdentifier(); - MOZ_ALWAYS_SUCCEEDS(registrar->RegisterChannel(chan, mRedirectChannelId)); + + // Bind the registered channel to the content process the redirect is + // destined for (0 for the parent process), so only that process can link + // its parent channel to it. + uint64_t ownerContentParentId = 0; + if (aDestinationProcess) { + if (ContentParent* destCp = *aDestinationProcess) { + ownerContentParentId = destCp->ChildID(); + } + } else if (mContentParent) { + ownerContentParentId = mContentParent->ChildID(); + } + MOZ_ALWAYS_SUCCEEDS(registrar->RegisterChannel(chan, mRedirectChannelId, + ownerContentParentId)); if (aDestinationProcess) { RefPtr cp = *aDestinationProcess; @@ -2353,19 +2368,38 @@ return; } - // Validate that the target process, if specified, would be allowed to load - // this principal, and fail the navigation if it would not. - // Don't enforce this requirement for silent error loads, as those never - // process switch, and should not result in a document being loaded in the - // content process. - // System principals are allowed for now, as they are used in some edge-cases. - if (!silentErrorLoad && contentParent && - !contentParent->ValidatePrincipal( - unsandboxedPrincipal, {ValidatePrincipalOptions::AllowSystem})) { - ContentParent::LogAndAssertFailedPrincipalValidationInfo( - unsandboxedPrincipal, "TriggerRedirectToRealChannel"); - RedirectToRealChannelFinished(NS_ERROR_FAILURE); - return; + // Checks related to loads which will complete in a content process. + // + // These checks are skipped for silent error loads, as those never process + // switch, and should not result in a document being loaded in the content + // process. + if (contentParent && !silentErrorLoad) { + nsCOMPtr docURI; + MOZ_ALWAYS_SUCCEEDS( + NS_GetFinalChannelURI(mChannel, getter_AddRefs(docURI))); + + // Validate that the target process, if specified, would be allowed to load + // this principal, and fail the navigation if it would not. + // NOTE: Keep this in sync with the similar check in + // BrowserParent::RecvNewWindowGlobal. + EnumSet validationOptions = {}; + // FIXME(bug 1699385): Remove allowSystem for blobs + // FIXME(bug 1698087): chrome://devtools/**/webextension-fallback.html + // Automation-Only: chrome://reftest/** + blank subframes + if (docURI->SchemeIs("blob") || docURI->SchemeIs("chrome") || + (xpc::IsInAutomation() && NS_IsAboutBlank(docURI) && + GetParentWindowContext() && + GetParentWindowContext()->Manager()->Manager() == contentParent && + GetParentWindowContext()->DocumentPrincipal()->IsSystemPrincipal())) { + validationOptions += ValidatePrincipalOptions::AllowSystem; + } + if (!contentParent->ValidatePrincipal(unsandboxedPrincipal, + validationOptions)) { + ContentParent::LogAndAssertFailedPrincipalValidationInfo( + unsandboxedPrincipal, "TriggerRedirectToRealChannel"); + RedirectToRealChannelFinished(NS_ERROR_FAILURE); + return; + } } // Ensure that the BrowsingContextGroup which will finish this load has the diff -Nru thunderbird-140.12.0esr/netwerk/ipc/ParentChannelWrapper.cpp thunderbird-140.13.0esr/netwerk/ipc/ParentChannelWrapper.cpp --- thunderbird-140.12.0esr/netwerk/ipc/ParentChannelWrapper.cpp 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/ipc/ParentChannelWrapper.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -20,12 +20,13 @@ NS_IMPL_ISUPPORTS(ParentChannelWrapper, nsIParentChannel, nsIStreamListener, nsIRequestObserver); -void ParentChannelWrapper::Register(uint64_t aRegistrarId) { +void ParentChannelWrapper::Register(uint64_t aRegistrarId, + uint64_t aContentParentId) { nsCOMPtr registrar = RedirectChannelRegistrar::GetOrCreate(); nsCOMPtr dummy; - MOZ_ALWAYS_SUCCEEDS( - NS_LinkRedirectChannels(aRegistrarId, this, getter_AddRefs(dummy))); + MOZ_ALWAYS_SUCCEEDS(NS_LinkRedirectChannels( + aRegistrarId, aContentParentId, this, getter_AddRefs(dummy))); #ifdef DEBUG // The channel registered with the RedirectChannelRegistrar will be the inner diff -Nru thunderbird-140.12.0esr/netwerk/ipc/ParentChannelWrapper.h thunderbird-140.13.0esr/netwerk/ipc/ParentChannelWrapper.h --- thunderbird-140.12.0esr/netwerk/ipc/ParentChannelWrapper.h 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/ipc/ParentChannelWrapper.h 2026-07-21 21:33:02.000000000 +0000 @@ -19,8 +19,9 @@ : mChannel(aChannel), mListener(aListener) {} // Registers this nsIParentChannel wrapper with the RedirectChannelRegistrar - // and holds a reference. - void Register(uint64_t aRegistrarId); + // and holds a reference. aContentParentId identifies the process the redirect + // is destined for (0 for the parent process). + void Register(uint64_t aRegistrarId, uint64_t aContentParentId); NS_DECL_ISUPPORTS NS_DECL_NSIPARENTCHANNEL diff -Nru thunderbird-140.12.0esr/netwerk/ipc/ParentProcessDocumentChannel.cpp thunderbird-140.13.0esr/netwerk/ipc/ParentProcessDocumentChannel.cpp --- thunderbird-140.12.0esr/netwerk/ipc/ParentProcessDocumentChannel.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/ipc/ParentProcessDocumentChannel.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -130,7 +130,9 @@ RefPtr wrapper = new ParentChannelWrapper(channel, mListener); - wrapper->Register(mDocumentLoadListener->GetRedirectChannelId()); + // This is a parent-process document load, so the redirect is owned by + // the parent process (ContentParentId 0). + wrapper->Register(mDocumentLoadListener->GetRedirectChannelId(), 0); } } diff -Nru thunderbird-140.12.0esr/netwerk/protocol/data/DataChannelParent.cpp thunderbird-140.13.0esr/netwerk/protocol/data/DataChannelParent.cpp --- thunderbird-140.12.0esr/netwerk/protocol/data/DataChannelParent.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/data/DataChannelParent.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -25,8 +25,10 @@ bool DataChannelParent::Init(const uint64_t& aChannelId) { nsCOMPtr channel; + dom::ContentParentId cpId = + static_cast(Manager()->Manager())->ChildID(); MOZ_ALWAYS_SUCCEEDS_FUZZING( - NS_LinkRedirectChannels(aChannelId, this, getter_AddRefs(channel))); + NS_LinkRedirectChannels(aChannelId, cpId, this, getter_AddRefs(channel))); return true; } diff -Nru thunderbird-140.12.0esr/netwerk/protocol/file/FileChannelParent.cpp thunderbird-140.13.0esr/netwerk/protocol/file/FileChannelParent.cpp --- thunderbird-140.12.0esr/netwerk/protocol/file/FileChannelParent.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/file/FileChannelParent.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -135,8 +135,10 @@ const uint64_t& aChannelId) { nsCOMPtr channel; + dom::ContentParentId cpId = + static_cast(Manager()->Manager())->ChildID(); MOZ_ALWAYS_SUCCEEDS_FUZZING( - NS_LinkRedirectChannels(aChannelId, this, getter_AddRefs(channel))); + NS_LinkRedirectChannels(aChannelId, cpId, this, getter_AddRefs(channel))); return IPC_OK(); } diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/BackgroundChannelRegistrar.cpp thunderbird-140.13.0esr/netwerk/protocol/http/BackgroundChannelRegistrar.cpp --- thunderbird-140.12.0esr/netwerk/protocol/http/BackgroundChannelRegistrar.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/BackgroundChannelRegistrar.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -49,6 +49,13 @@ MOZ_ASSERT(aChannelParent); MOZ_ASSERT(aBgParent); + // Only link the two actors when they originate from the same content + // process, since the channel Id used as the key is supplied by + // the content process. + if (aChannelParent->GetContentParentId() != aBgParent->GetContentParentId()) { + return; + } + aBgParent->LinkToChannel(aChannelParent); aChannelParent->OnBackgroundParentReady(aBgParent); } diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/HttpBackgroundChannelParent.cpp thunderbird-140.13.0esr/netwerk/protocol/http/HttpBackgroundChannelParent.cpp --- thunderbird-140.12.0esr/netwerk/protocol/http/HttpBackgroundChannelParent.cpp 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/HttpBackgroundChannelParent.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -83,12 +83,15 @@ MOZ_ASSERT(!mIPCOpened); } -nsresult HttpBackgroundChannelParent::Init(const uint64_t& aChannelId) { +nsresult HttpBackgroundChannelParent::Init(const dom::ContentParentId& aCpId, + const uint64_t& aChannelId) { LOG(("HttpBackgroundChannelParent::Init [this=%p channelId=%" PRIu64 "]\n", this, aChannelId)); AssertIsInMainProcess(); AssertIsOnBackgroundThread(); + mContentParentId = aCpId; + RefPtr runnable = new ContinueAsyncOpenRunnable(this, aChannelId); diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/HttpBackgroundChannelParent.h thunderbird-140.13.0esr/netwerk/protocol/http/HttpBackgroundChannelParent.h --- thunderbird-140.12.0esr/netwerk/protocol/http/HttpBackgroundChannelParent.h 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/HttpBackgroundChannelParent.h 2026-07-21 21:33:02.000000000 +0000 @@ -11,6 +11,7 @@ #include "mozilla/net/PHttpBackgroundChannelParent.h" #include "mozilla/Atomics.h" #include "mozilla/Mutex.h" +#include "mozilla/dom/ipc/IdType.h" #include "nsID.h" #include "nsISupportsImpl.h" @@ -27,9 +28,14 @@ NS_INLINE_DECL_THREADSAFE_REFCOUNTING(HttpBackgroundChannelParent, final) - // Try to find associated HttpChannelParent with the same - // channel Id. - nsresult Init(const uint64_t& aChannelId); + // Try to find associated HttpChannelParent with the same content process + // and channel Id. + nsresult Init(const dom::ContentParentId& aCpId, const uint64_t& aChannelId); + + // The content process that opened this background channel. Used by + // BackgroundChannelRegistrar to ensure the channel is only linked to a + // HttpChannelParent belonging to the same process. + dom::ContentParentId GetContentParentId() const { return mContentParentId; } // Callbacks for BackgroundChannelRegistrar to notify // the associated HttpChannelParent is found. @@ -114,6 +120,10 @@ nsCOMPtr mBackgroundThread; + // The content process that opened this background channel, set once in Init + // before the actor is registered. + dom::ContentParentId mContentParentId; + // associated HttpChannelParent for generating the channel events RefPtr mChannelParent; }; diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/HttpBaseChannel.cpp thunderbird-140.13.0esr/netwerk/protocol/http/HttpBaseChannel.cpp --- thunderbird-140.12.0esr/netwerk/protocol/http/HttpBaseChannel.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/HttpBaseChannel.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -259,6 +259,7 @@ StoreAllowAltSvc(true); StoreResponseTimeoutEnabled(true); StoreAllRedirectsSameOrigin(true); + StoreAllRedirectsSameOriginIgnoringInternal(true); StoreAllRedirectsPassTimingAllowCheck(true); StoreUpgradableToSecure(true); StoreIsUserAgentHeaderModified(false); @@ -4789,6 +4790,8 @@ config.timedChannelInfo->initiatorType() = mInitiatorType; config.timedChannelInfo->allRedirectsSameOrigin() = LoadAllRedirectsSameOrigin(); + config.timedChannelInfo->allRedirectsSameOriginIgnoringInternal() = + LoadAllRedirectsSameOriginIgnoringInternal(); config.timedChannelInfo->allRedirectsPassTimingAllowCheck() = LoadAllRedirectsPassTimingAllowCheck(); // Execute the timing allow check to determine whether @@ -4938,6 +4941,8 @@ newTimedChannel->SetAllRedirectsSameOrigin( config.timedChannelInfo->allRedirectsSameOrigin()); + newTimedChannel->SetAllRedirectsSameOriginIgnoringInternal( + config.timedChannelInfo->allRedirectsSameOriginIgnoringInternal()); if (config.timedChannelInfo->timingAllowCheckForPrincipal()) { newTimedChannel->SetAllRedirectsPassTimingAllowCheck( @@ -5115,6 +5120,13 @@ newTimedChannel->SetAllRedirectsSameOrigin( config.timedChannelInfo->allRedirectsSameOrigin() && sameOriginWithOriginalUri); + // Internal redirects (e.g. a service worker serving a response from a + // different URL) are not real cross-origin network hops, so they must not + // count as cross-origin for canvas/CSS/media tainting. + newTimedChannel->SetAllRedirectsSameOriginIgnoringInternal( + config.timedChannelInfo->allRedirectsSameOriginIgnoringInternal() && + (redirectType == ReplacementReason::InternalRedirect || + sameOriginWithOriginalUri)); } newChannel->SetLoadGroup(mLoadGroup); @@ -5560,6 +5572,22 @@ return NS_OK; } +NS_IMETHODIMP +HttpBaseChannel::GetAllRedirectsSameOriginIgnoringInternal( + bool* aAllRedirectsSameOriginIgnoringInternal) { + *aAllRedirectsSameOriginIgnoringInternal = + LoadAllRedirectsSameOriginIgnoringInternal(); + return NS_OK; +} + +NS_IMETHODIMP +HttpBaseChannel::SetAllRedirectsSameOriginIgnoringInternal( + bool aAllRedirectsSameOriginIgnoringInternal) { + StoreAllRedirectsSameOriginIgnoringInternal( + aAllRedirectsSameOriginIgnoringInternal); + return NS_OK; +} + NS_IMETHODIMP HttpBaseChannel::GetAllRedirectsPassTimingAllowCheck(bool* aPassesCheck) { *aPassesCheck = LoadAllRedirectsPassTimingAllowCheck(); diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/HttpBaseChannel.h thunderbird-140.13.0esr/netwerk/protocol/http/HttpBaseChannel.h --- thunderbird-140.12.0esr/netwerk/protocol/http/HttpBaseChannel.h 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/HttpBaseChannel.h 2026-07-21 21:33:02.000000000 +0000 @@ -942,6 +942,12 @@ // A flag that should be false only if a cross-domain redirect occurred (uint32_t, AllRedirectsSameOrigin, 1), + // Like AllRedirectsSameOrigin, but internal redirects (e.g. a service + // worker substituting a response from a different URL) do not count as + // cross-origin. Used for canvas/CSS/media tainting, which must only treat a + // real cross-origin *network* redirect as a trust-boundary crossing. + (uint32_t, AllRedirectsSameOriginIgnoringInternal, 1), + // Is 1 if no redirects have occured or if all redirects // pass the Resource Timing timing-allow-check (uint32_t, AllRedirectsPassTimingAllowCheck, 1), diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/HttpChannelChild.cpp thunderbird-140.13.0esr/netwerk/protocol/http/HttpChannelChild.cpp --- thunderbird-140.12.0esr/netwerk/protocol/http/HttpChannelChild.cpp 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/HttpChannelChild.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -474,6 +474,8 @@ } StoreAllRedirectsSameOrigin(aArgs.allRedirectsSameOrigin()); + StoreAllRedirectsSameOriginIgnoringInternal( + aArgs.allRedirectsSameOriginIgnoringInternal()); mMultiPartID = aArgs.multiPartID(); mIsFirstPartOfMultiPart = aArgs.isFirstPartOfMultiPart(); diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/HttpChannelParams.ipdlh thunderbird-140.13.0esr/netwerk/protocol/http/HttpChannelParams.ipdlh --- thunderbird-140.12.0esr/netwerk/protocol/http/HttpChannelParams.ipdlh 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/HttpChannelParams.ipdlh 2026-07-21 21:33:02.000000000 +0000 @@ -51,6 +51,7 @@ bool applyConversion; bool isResolvedByTRR; bool allRedirectsSameOrigin; + bool allRedirectsSameOriginIgnoringInternal; bool isFirstPartOfMultiPart; bool isLastPartOfMultiPart; CrossOriginOpenerPolicy openerPolicy; diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/HttpChannelParent.cpp thunderbird-140.13.0esr/netwerk/protocol/http/HttpChannelParent.cpp --- thunderbird-140.12.0esr/netwerk/protocol/http/HttpChannelParent.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/HttpChannelParent.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -213,6 +213,10 @@ InvokeAsyncOpen(aRv); } +dom::ContentParentId HttpChannelParent::GetContentParentId() const { + return static_cast(Manager()->Manager())->ChildID(); +} + void HttpChannelParent::OnBackgroundParentReady( HttpBackgroundChannelParent* aBgParent) { LOG(("HttpChannelParent::OnBackgroundParentReady [this=%p bgParent=%p]\n", @@ -711,7 +715,8 @@ "[this=%p, id=%" PRIu32 "]\n", this, registrarId)); nsCOMPtr channel; - rv = NS_LinkRedirectChannels(registrarId, this, getter_AddRefs(channel)); + rv = NS_LinkRedirectChannels(registrarId, GetContentParentId(), this, + getter_AddRefs(channel)); if (NS_FAILED(rv)) { NS_WARNING("Could not find the http channel to connect its IPC parent"); // This makes the channel delete itself safely. It's the only thing @@ -1298,6 +1303,8 @@ chan->GetIsResolvedByTRR(&args.isResolvedByTRR()); chan->GetAllRedirectsSameOrigin(&args.allRedirectsSameOrigin()); + chan->GetAllRedirectsSameOriginIgnoringInternal( + &args.allRedirectsSameOriginIgnoringInternal()); chan->GetCrossOriginOpenerPolicy(&args.openerPolicy()); args.selfAddr() = chan->GetSelfAddr(); args.peerAddr() = chan->GetPeerAddr(); @@ -1805,7 +1812,8 @@ MOZ_ASSERT(registrar); mRedirectChannelId = nsContentUtils::GenerateLoadIdentifier(); - rv = registrar->RegisterChannel(newChannel, mRedirectChannelId); + rv = registrar->RegisterChannel(newChannel, mRedirectChannelId, + GetContentParentId()); NS_ENSURE_SUCCESS(rv, rv); LOG(("Registered %p channel under id=%" PRIx64, newChannel, @@ -1867,8 +1875,8 @@ // Re-link the HttpChannelParent to the new channel. nsCOMPtr linkedChannel; - rv = NS_LinkRedirectChannels(mRedirectChannelId, this, - getter_AddRefs(linkedChannel)); + rv = NS_LinkRedirectChannels(mRedirectChannelId, GetContentParentId(), + this, getter_AddRefs(linkedChannel)); NS_ENSURE_SUCCESS(rv, rv); MOZ_ASSERT(linkedChannel == newChannel); diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/HttpChannelParent.h thunderbird-140.13.0esr/netwerk/protocol/http/HttpChannelParent.h --- thunderbird-140.12.0esr/netwerk/protocol/http/HttpChannelParent.h 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/HttpChannelParent.h 2026-07-21 21:33:02.000000000 +0000 @@ -96,6 +96,11 @@ // Calls SendSetPriority if mIPCClosed is false. void DoSendSetPriority(int16_t aValue); + // The content process this channel parent belongs to. Used by + // BackgroundChannelRegistrar to ensure a background channel is only linked + // to a channel from the same process. + dom::ContentParentId GetContentParentId() const; + // Callback while background channel is ready. void OnBackgroundParentReady(HttpBackgroundChannelParent* aBgParent); // Callback while background channel is destroyed. diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/NullHttpChannel.cpp thunderbird-140.13.0esr/netwerk/protocol/http/NullHttpChannel.cpp --- thunderbird-140.12.0esr/netwerk/protocol/http/NullHttpChannel.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/NullHttpChannel.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -21,7 +21,9 @@ } NullHttpChannel::NullHttpChannel(nsIHttpChannel* chan) - : mAllRedirectsSameOrigin(false), mAllRedirectsPassTimingAllowCheck(false) { + : mAllRedirectsSameOrigin(false), + mAllRedirectsSameOriginIgnoringInternal(false), + mAllRedirectsPassTimingAllowCheck(false) { nsIScriptSecurityManager* ssm = nsContentUtils::GetSecurityManager(); ssm->GetChannelURIPrincipal(chan, getter_AddRefs(mResourcePrincipal)); @@ -716,6 +718,20 @@ return NS_ERROR_NOT_IMPLEMENTED; } +NS_IMETHODIMP +NullHttpChannel::GetAllRedirectsSameOriginIgnoringInternal( + bool* aAllRedirectsSameOriginIgnoringInternal) { + *aAllRedirectsSameOriginIgnoringInternal = + mAllRedirectsSameOriginIgnoringInternal; + return NS_OK; +} + +NS_IMETHODIMP +NullHttpChannel::SetAllRedirectsSameOriginIgnoringInternal( + bool aAllRedirectsSameOriginIgnoringInternal) { + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP NullHttpChannel::GetAllRedirectsPassTimingAllowCheck( bool* aAllRedirectsPassTimingAllowCheck) { diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/NullHttpChannel.h thunderbird-140.13.0esr/netwerk/protocol/http/NullHttpChannel.h --- thunderbird-140.12.0esr/netwerk/protocol/http/NullHttpChannel.h 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/NullHttpChannel.h 2026-07-21 21:33:02.000000000 +0000 @@ -55,6 +55,7 @@ nsCOMPtr mResourcePrincipal; nsCString mTimingAllowOriginHeader; bool mAllRedirectsSameOrigin{false}; + bool mAllRedirectsSameOriginIgnoringInternal{false}; bool mAllRedirectsPassTimingAllowCheck{false}; }; diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/ReplacedHttpResponse.cpp thunderbird-140.13.0esr/netwerk/protocol/http/ReplacedHttpResponse.cpp --- thunderbird-140.12.0esr/netwerk/protocol/http/ReplacedHttpResponse.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/ReplacedHttpResponse.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -62,9 +62,9 @@ NS_IMETHODIMP ReplacedHttpResponse::VisitResponseHeaders(nsIHttpHeaderVisitor* visitor) { - mInVisitHeaders = true; + ++mInVisitHeaders; nsresult rv = mResponseHeaders.VisitHeaders(visitor); - mInVisitHeaders = false; + --mInVisitHeaders; return rv; } } // namespace mozilla::net diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/ReplacedHttpResponse.h thunderbird-140.13.0esr/netwerk/protocol/http/ReplacedHttpResponse.h --- thunderbird-140.12.0esr/netwerk/protocol/http/ReplacedHttpResponse.h 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/ReplacedHttpResponse.h 2026-07-21 21:33:02.000000000 +0000 @@ -25,7 +25,8 @@ nsCString mResponseStatusText; nsCString mResponseBody; nsHttpHeaderArray mResponseHeaders; - Atomic mInVisitHeaders{false}; + // Depth counter so nested visits cannot disarm the outer guard. + Atomic mInVisitHeaders{0}; }; } // namespace mozilla::net diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/nsHttpRequestHead.cpp thunderbird-140.13.0esr/netwerk/protocol/http/nsHttpRequestHead.cpp --- thunderbird-140.12.0esr/netwerk/protocol/http/nsHttpRequestHead.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/nsHttpRequestHead.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -31,7 +31,7 @@ mOrigin = other.mOrigin; mParsedMethod = other.mParsedMethod; mHTTPS = other.mHTTPS; - mInVisitHeaders = false; + mInVisitHeaders = 0; } nsHttpRequestHead::nsHttpRequestHead(nsHttpRequestHead&& aRequestHead) { @@ -47,7 +47,7 @@ mOrigin = std::move(other.mOrigin); mParsedMethod = std::move(other.mParsedMethod); mHTTPS = std::move(other.mHTTPS); - mInVisitHeaders = false; + mInVisitHeaders = 0; } nsHttpRequestHead::~nsHttpRequestHead() { MOZ_COUNT_DTOR(nsHttpRequestHead); } @@ -66,7 +66,7 @@ mOrigin = other.mOrigin; mParsedMethod = other.mParsedMethod; mHTTPS = other.mHTTPS; - mInVisitHeaders = false; + mInVisitHeaders = 0; return *this; } @@ -108,9 +108,9 @@ nsHttpHeaderArray::VisitorFilter filter /* = nsHttpHeaderArray::eFilterAll*/) { RecursiveMutexAutoLock mon(mRecursiveMutex); - mInVisitHeaders = true; + ++mInVisitHeaders; nsresult rv = mHeaders.VisitHeaders(visitor, filter); - mInVisitHeaders = false; + --mInVisitHeaders; return rv; } diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/nsHttpRequestHead.h thunderbird-140.13.0esr/netwerk/protocol/http/nsHttpRequestHead.h --- thunderbird-140.12.0esr/netwerk/protocol/http/nsHttpRequestHead.h 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/nsHttpRequestHead.h 2026-07-21 21:33:02.000000000 +0000 @@ -146,7 +146,8 @@ "nsHttpRequestHead.mRecursiveMutex"}; // During VisitHeader we sould not allow call to SetHeader. - bool mInVisitHeaders MOZ_GUARDED_BY(mRecursiveMutex){false}; + // Depth counter so nested visits cannot disarm the outer guard. + uint32_t mInVisitHeaders MOZ_GUARDED_BY(mRecursiveMutex){0}; friend struct IPC::ParamTraits; }; diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/nsHttpResponseHead.cpp thunderbird-140.13.0esr/netwerk/protocol/http/nsHttpResponseHead.cpp --- thunderbird-140.12.0esr/netwerk/protocol/http/nsHttpResponseHead.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/nsHttpResponseHead.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -107,7 +107,7 @@ mCacheControlMaxAgeSet = std::move(other.mCacheControlMaxAgeSet); mCacheControlMaxAge = std::move(other.mCacheControlMaxAge); mPragmaNoCache = std::move(other.mPragmaNoCache); - mInVisitHeaders = false; + mInVisitHeaders = 0; } HttpVersion nsHttpResponseHead::Version() const { @@ -1187,9 +1187,9 @@ nsresult nsHttpResponseHead::VisitHeaders( nsIHttpHeaderVisitor* visitor, nsHttpHeaderArray::VisitorFilter filter) { RecursiveMutexAutoLock monitor(mRecursiveMutex); - mInVisitHeaders = true; + ++mInVisitHeaders; nsresult rv = mHeaders.VisitHeaders(visitor, filter); - mInVisitHeaders = false; + --mInVisitHeaders; return rv; } @@ -1228,9 +1228,9 @@ nsresult nsHttpResponseHead::GetOriginalHeader(const nsHttpAtom& aHeader, nsIHttpHeaderVisitor* aVisitor) { RecursiveMutexAutoLock monitor(mRecursiveMutex); - mInVisitHeaders = true; + ++mInVisitHeaders; nsresult rv = mHeaders.GetOriginalHeader(aHeader, aVisitor); - mInVisitHeaders = false; + --mInVisitHeaders; return rv; } diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/nsHttpResponseHead.h thunderbird-140.13.0esr/netwerk/protocol/http/nsHttpResponseHead.h --- thunderbird-140.12.0esr/netwerk/protocol/http/nsHttpResponseHead.h 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/nsHttpResponseHead.h 2026-07-21 21:33:02.000000000 +0000 @@ -233,7 +233,8 @@ // function calls nsIHttpHeaderVisitor::VisitHeader while under lock. mutable RecursiveMutex mRecursiveMutex{"nsHttpResponseHead.mRecursiveMutex"}; // During VisitHeader we sould not allow call to SetHeader. - bool mInVisitHeaders MOZ_GUARDED_BY(mRecursiveMutex){false}; + // Depth counter so nested visits cannot disarm the outer guard. + uint32_t mInVisitHeaders MOZ_GUARDED_BY(mRecursiveMutex){0}; friend struct IPC::ParamTraits; }; diff -Nru thunderbird-140.12.0esr/netwerk/protocol/http/nsHttpTransaction.cpp thunderbird-140.13.0esr/netwerk/protocol/http/nsHttpTransaction.cpp --- thunderbird-140.12.0esr/netwerk/protocol/http/nsHttpTransaction.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/http/nsHttpTransaction.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -1295,6 +1295,12 @@ MaybeCancelFallbackTimer(); MOZ_ASSERT(OnSocketThread(), "not on socket thread"); + + if (mTokenBucketCancel) { + mTokenBucketCancel->Cancel(reason); + mTokenBucketCancel = nullptr; + } + if (reason == NS_BINDING_RETARGETED) { LOG((" close %p skipped due to ERETARGETED\n", this)); return; @@ -1307,11 +1313,6 @@ NotifyTransactionObserver(reason); - if (mTokenBucketCancel) { - mTokenBucketCancel->Cancel(reason); - mTokenBucketCancel = nullptr; - } - // report the reponse is complete if not already reported if (!mResponseIsComplete) { gHttpHandler->ObserveHttpActivityWithArgs( diff -Nru thunderbird-140.12.0esr/netwerk/protocol/websocket/WebSocketChannel.cpp thunderbird-140.13.0esr/netwerk/protocol/websocket/WebSocketChannel.cpp --- thunderbird-140.12.0esr/netwerk/protocol/websocket/WebSocketChannel.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/protocol/websocket/WebSocketChannel.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -123,8 +123,12 @@ // to same host/path/port. class FailDelay { public: - FailDelay(nsCString address, nsCString path, int32_t port) - : mAddress(std::move(address)), mPath(std::move(path)), mPort(port) { + FailDelay(nsCString address, nsCString path, int32_t port, + nsCString originSuffix) + : mAddress(std::move(address)), + mPath(std::move(path)), + mPort(port), + mOriginSuffix(std::move(originSuffix)) { mLastFailure = TimeStamp::Now(); mNextDelay = kWSReconnectInitialBaseDelay + (rand() % kWSReconnectInitialRandomDelay); @@ -162,6 +166,7 @@ nsCString mAddress; // IP address (or hostname if using proxy) nsCString mPath; int32_t mPort; + nsCString mOriginSuffix; private: TimeStamp mLastFailure; // Time of last failed attempt @@ -192,17 +197,20 @@ ~FailDelayManager() { MOZ_COUNT_DTOR(FailDelayManager); } - void Add(nsCString& address, nsCString& path, int32_t port) { - if (mDelaysDisabled) return; + void Add(nsCString& address, nsCString& path, int32_t port, + nsCString& originSuffix) { + if (mDelaysDisabled) { + return; + } - UniquePtr record(new FailDelay(address, path, port)); + UniquePtr record(new FailDelay(address, path, port, originSuffix)); mEntries.AppendElement(std::move(record)); } // Element returned may not be valid after next main thread event: don't keep // pointer to it around FailDelay* Lookup(nsCString& address, nsCString& path, int32_t port, - uint32_t* outIndex = nullptr) { + nsCString& originSuffix, uint32_t* outIndex = nullptr) { if (mDelaysDisabled) return nullptr; FailDelay* result = nullptr; @@ -213,7 +221,7 @@ for (int32_t i = mEntries.Length() - 1; i >= 0; --i) { FailDelay* fail = mEntries[i].get(); if (fail->mAddress.Equals(address) && fail->mPath.Equals(path) && - fail->mPort == port) { + fail->mPort == port && fail->mOriginSuffix.Equals(originSuffix)) { if (outIndex) *outIndex = i; result = fail; // break here: removing more entries would mess up *outIndex. @@ -232,7 +240,8 @@ void DelayOrBegin(WebSocketChannel* ws) { if (!mDelaysDisabled) { uint32_t failIndex = 0; - FailDelay* fail = Lookup(ws->mAddress, ws->mPath, ws->mPort, &failIndex); + FailDelay* fail = Lookup(ws->mAddress, ws->mPath, ws->mPort, + ws->mOriginSuffix, &failIndex); if (fail) { TimeStamp rightNow = TimeStamp::Now(); @@ -268,14 +277,15 @@ // Remove() also deletes all expired entries as it iterates: better for // battery life than using a periodic timer. - void Remove(nsCString& address, nsCString& path, int32_t port) { + void Remove(nsCString& address, nsCString& path, int32_t port, + nsCString& originSuffix) { TimeStamp rightNow = TimeStamp::Now(); // iterate from end, to make deletion indexing easier for (int32_t i = mEntries.Length() - 1; i >= 0; --i) { FailDelay* entry = mEntries[i].get(); if ((entry->mAddress.Equals(address) && entry->mPath.Equals(path) && - entry->mPort == port) || + entry->mPort == port && entry->mOriginSuffix.Equals(originSuffix)) || entry->IsExpired(rightNow)) { mEntries.RemoveElementAt(i); } @@ -327,8 +337,8 @@ bool hostFound = (sManager->IndexOf(ws->mAddress, ws->mOriginSuffix) >= 0); uint32_t failIndex = 0; - FailDelay* fail = sManager->mFailures.Lookup(ws->mAddress, ws->mPath, - ws->mPort, &failIndex); + FailDelay* fail = sManager->mFailures.Lookup( + ws->mAddress, ws->mPath, ws->mPort, ws->mOriginSuffix, &failIndex); bool existingFail = fail != nullptr; // Always add ourselves to queue, even if we'll connect immediately @@ -376,7 +386,7 @@ // Connection succeeded, so stop keeping track of any previous failures sManager->mFailures.Remove(aChannel->mAddress, aChannel->mPath, - aChannel->mPort); + aChannel->mPort, aChannel->mOriginSuffix); // Check for queued connections to same host. // Note: still need to check for failures, since next websocket with same @@ -397,8 +407,9 @@ if (NS_FAILED(aReason)) { // Have we seen this failure before? - FailDelay* knownFailure = sManager->mFailures.Lookup( - aChannel->mAddress, aChannel->mPath, aChannel->mPort); + FailDelay* knownFailure = + sManager->mFailures.Lookup(aChannel->mAddress, aChannel->mPath, + aChannel->mPort, aChannel->mOriginSuffix); if (knownFailure) { if (aReason == NS_ERROR_NOT_CONNECTED) { // Don't count close() before connection as a network error @@ -417,7 +428,7 @@ aChannel->mAddress.get(), aChannel->mPath.get(), (int)aChannel->mPort, aChannel)); sManager->mFailures.Add(aChannel->mAddress, aChannel->mPath, - aChannel->mPort); + aChannel->mPort, aChannel->mOriginSuffix); } } @@ -2999,6 +3010,13 @@ mIOThread->Dispatch(NS_NewRunnableFunction( "WebSocketChannel::StartWebsocketData", [self{std::move(self)}] { LOG(("WebSocketChannel::DoStartWebsocketData() %p", self.get())); + { + MutexAutoLock lock(self->mMutex); + if (self->mStopped) { + return; + } + self->mDataStarted = true; + } NS_DispatchToMainThread( NewRunnableMethod("net::WebSocketChannel::NotifyOnStart", self, @@ -3032,7 +3050,6 @@ GetListenerMT(); LOG(("WebSocketChannel::NotifyOnStart Notifying Listener %p", listener ? listener->mListener.get() : nullptr)); - mDataStarted = true; if (listener) { nsresult rv = listener->mListener->OnStart(listener->mContext); if (NS_FAILED(rv)) { diff -Nru thunderbird-140.12.0esr/netwerk/sctp/datachannel/DataChannel.cpp thunderbird-140.13.0esr/netwerk/sctp/datachannel/DataChannel.cpp --- thunderbird-140.12.0esr/netwerk/sctp/datachannel/DataChannel.cpp 2026-06-13 03:48:02.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/sctp/datachannel/DataChannel.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -286,7 +286,15 @@ DC_DEBUG(("Calling usrsctp_init %p", this)); - MOZ_DIAGNOSTIC_ASSERT(!sInitted); + // usrsctp is a process-global singleton. If a previous DeinitUsrSctp() + // could not tear the stack down (see the comment there), usrsctp is still + // initialized and its timer thread is still running; re-initializing would + // reset global locks and the callout queue out from under it and start a + // second timer thread, corrupting memory. Reuse the live stack; the + // callback and sysctl configuration below are still in effect. + if (sInitted) { + return; + } usrsctp_init(0, DataChannelRegistry::SctpDtlsOutput, debug_printf); sInitted = true; @@ -318,8 +326,14 @@ MOZ_DIAGNOSTIC_ASSERT(NS_IsMainThread()); MOZ_DIAGNOSTIC_ASSERT(sInitted); DC_DEBUG(("Calling usrsctp_finish %p", this)); - usrsctp_finish(); - sInitted = false; + // usrsctp_finish() is fallible: it returns -1 and tears nothing down (the + // timer thread keeps running) while an endpoint whose destruction was + // deferred (e.g. by an in-flight timer handler) is still on the global + // list. Only clear sInitted on success, so InitUsrSctp() never + // re-initializes usrsctp over a still-live stack. + if (usrsctp_finish() == 0) { + sInitted = false; + } } uintptr_t mNextId = 1; diff -Nru thunderbird-140.12.0esr/netwerk/sctp/src/netinet/sctp_indata.c thunderbird-140.13.0esr/netwerk/sctp/src/netinet/sctp_indata.c --- thunderbird-140.12.0esr/netwerk/sctp/src/netinet/sctp_indata.c 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/sctp/src/netinet/sctp_indata.c 2026-07-21 21:33:02.000000000 +0000 @@ -315,6 +315,14 @@ return; } SCTP_CALC_TSN_TO_GAP(gap, tsn, asoc->mapping_array_base_tsn); + if (gap >= (uint32_t)(asoc->mapping_array_size << 3)) { + /* + * The TSN falls outside the mapping window, e.g. a control + * queued before a large FORWARD-TSN moved the window past it. + * It has no bit in either map, so there is nothing to mark. + */ + return; + } in_r = SCTP_IS_TSN_PRESENT(asoc->mapping_array, gap); in_nr = SCTP_IS_TSN_PRESENT(asoc->nr_mapping_array, gap); KASSERT(in_r || in_nr, ("%s: Things are really messed up now", __func__)); diff -Nru thunderbird-140.12.0esr/netwerk/sctp/src/netinet/sctp_input.c thunderbird-140.13.0esr/netwerk/sctp/src/netinet/sctp_input.c --- thunderbird-140.12.0esr/netwerk/sctp/src/netinet/sctp_input.c 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/sctp/src/netinet/sctp_input.c 2026-07-21 21:33:02.000000000 +0000 @@ -255,6 +255,8 @@ struct sctp_init *init; struct sctp_association *asoc; struct sctp_nets *lnet; + struct sctp_stream_reset_list *strrst, *nstrrst; + struct sctp_queued_to_read *sq, *nsq; unsigned int i; SCTP_TCB_LOCK_ASSERT(stcb); @@ -355,6 +357,27 @@ asoc->advanced_peer_ack_point = asoc->last_acked_seq; /* open the requested streams */ + /* + * Flush inbound stream state carrying stream ids validated against the + * old streamincnt before strmin is reallocated below; otherwise a later + * drain of pending_reply_queue could index the new (smaller) strmin out + * of bounds. + */ + TAILQ_FOREACH_SAFE(strrst, &asoc->resetHead, next_resp, nstrrst) { + TAILQ_REMOVE(&asoc->resetHead, strrst, next_resp); + SCTP_FREE(strrst, SCTP_M_STRESET); + } + TAILQ_FOREACH_SAFE(sq, &asoc->pending_reply_queue, next, nsq) { + TAILQ_REMOVE(&asoc->pending_reply_queue, sq, next); + if (sq->data) { + sctp_m_freem(sq->data); + sq->data = NULL; + } + sctp_free_remote_addr(sq->whoFrom); + sq->whoFrom = NULL; + sq->stcb = NULL; + sctp_free_a_readq(stcb, sq); + } if (asoc->strmin != NULL) { /* Free the old ones */ for (i = 0; i < asoc->streamincnt; i++) { @@ -1472,8 +1495,6 @@ struct sctp_asconf_addr *aparam, *naparam; struct sctp_asconf_ack *aack, *naack; struct sctp_tmit_chunk *chk, *nchk; - struct sctp_stream_reset_list *strrst, *nstrrst; - struct sctp_queued_to_read *sq, *nsq; struct sctp_nets *net; struct mbuf *op_err; int init_offset, initack_offset, i; @@ -1986,21 +2007,10 @@ stcb->asoc.strmout[i].sid = i; stcb->asoc.strmout[i].last_msg_incomplete = 0; } - TAILQ_FOREACH_SAFE(strrst, &asoc->resetHead, next_resp, nstrrst) { - TAILQ_REMOVE(&asoc->resetHead, strrst, next_resp); - SCTP_FREE(strrst, SCTP_M_STRESET); - } - TAILQ_FOREACH_SAFE(sq, &asoc->pending_reply_queue, next, nsq) { - TAILQ_REMOVE(&asoc->pending_reply_queue, sq, next); - if (sq->data) { - sctp_m_freem(sq->data); - sq->data = NULL; - } - sctp_free_remote_addr(sq->whoFrom); - sq->whoFrom = NULL; - sq->stcb = NULL; - sctp_free_a_readq(stcb, sq); - } + /* + * resetHead and pending_reply_queue are flushed by + * sctp_process_init() below, where strmin is reallocated. + */ TAILQ_FOREACH_SAFE(chk, &asoc->control_send_queue, sctp_next, nchk) { TAILQ_REMOVE(&asoc->control_send_queue, chk, sctp_next); if (chk->data) { diff -Nru thunderbird-140.12.0esr/netwerk/streamconv/converters/nsUnknownDecoder.cpp thunderbird-140.13.0esr/netwerk/streamconv/converters/nsUnknownDecoder.cpp --- thunderbird-140.12.0esr/netwerk/streamconv/converters/nsUnknownDecoder.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/netwerk/streamconv/converters/nsUnknownDecoder.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -176,7 +176,7 @@ // Determine how much of the stream should be read to fill up the // sniffer buffer... // - if (mBufferLen + aCount >= MAX_BUFFER_SIZE) { + if (aCount >= MAX_BUFFER_SIZE - mBufferLen) { count = MAX_BUFFER_SIZE - mBufferLen; } else { count = aCount; diff -Nru thunderbird-140.12.0esr/parser/html/nsHtml5TreeOperation.cpp thunderbird-140.13.0esr/parser/html/nsHtml5TreeOperation.cpp --- thunderbird-140.12.0esr/parser/html/nsHtml5TreeOperation.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/parser/html/nsHtml5TreeOperation.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -666,6 +666,10 @@ void nsHtml5TreeOperation::SetFormElement(nsIContent* aNode, nsIContent* aForm, nsIContent* aParent) { + if (aForm->SubtreeRoot() != aParent->SubtreeRoot()) { + return; + } + RefPtr formElement = HTMLFormElement::FromNodeOrNull(aForm); NS_ASSERTION(formElement, "The form element doesn't implement HTMLFormElement."); @@ -673,11 +677,13 @@ if (formControl && formControl->ControlType() != FormControlType::FormAssociatedCustomElement && - !aNode->AsElement()->HasAttr(nsGkAtoms::form) && - aForm->SubtreeRoot() == aParent->SubtreeRoot()) { + !formControl->GetForm() && + !aNode->AsElement()->HasAttr(nsGkAtoms::form)) { formControl->SetForm(formElement); } else if (auto* image = HTMLImageElement::FromNodeOrNull(aNode)) { - image->SetForm(formElement); + if (!image->GetForm()) { + image->SetForm(formElement); + } } } @@ -982,8 +988,15 @@ return NS_OK; } + // We failed to attach a new shadow root, so instead attach a template + // element and return its content. nsIContent* node = *aOperation.mTemplateNode; - nsIContent* host = *aOperation.mHost; + *aOperation.mFragHandle = + static_cast(node)->Content(); + nsContentUtils::LogSimpleConsoleError( + u"Failed to attach Declarative Shadow DOM."_ns, "DOM"_ns, + mBuilder->GetDocument()->IsInPrivateBrowsing(), + mBuilder->GetDocument()->IsInChromeDocShell()); if (MOZ_UNLIKELY(node->GetParentNode())) { Detach(node, mBuilder); @@ -993,15 +1006,17 @@ } } - // We failed to attach a new shadow root, so instead attach a template - // element and return its content. + nsIContent* host = *aOperation.mHost; + + if (MOZ_UNLIKELY(node->HasChildren()) && + host->IsInclusiveDescendantOf(node)) { + // "If it is not possible to insert element at the adjusted insertion + // location, abort these steps." + // But see https://github.com/whatwg/html/issues/12494 + return NS_OK; + } + nsHtml5TreeOperation::Append(node, host, mBuilder); - *aOperation.mFragHandle = - static_cast(node)->Content(); - nsContentUtils::LogSimpleConsoleError( - u"Failed to attach Declarative Shadow DOM."_ns, "DOM"_ns, - mBuilder->GetDocument()->IsInPrivateBrowsing(), - mBuilder->GetDocument()->IsInChromeDocShell()); return NS_OK; } diff -Nru thunderbird-140.12.0esr/parser/htmlparser/nsParser.cpp thunderbird-140.13.0esr/parser/htmlparser/nsParser.cpp --- thunderbird-140.12.0esr/parser/htmlparser/nsParser.cpp 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/parser/htmlparser/nsParser.cpp 2026-07-21 21:33:02.000000000 +0000 @@ -1090,6 +1090,13 @@ mStreamStatus = status; + // If the load was aborted (because we were removed from the DOM tree for + // instance) we should abort the parser and terminate early. Resuming the + // parse may trigger synchronous script execution here. + if (status == NS_BINDING_ABORTED) { + return Terminate(); + } + // If there are scripts executing, this is probably due to a synchronous // XMLHttpRequest, see bug 460706 and 1938290. if (IsScriptExecuting()) { diff -Nru thunderbird-140.12.0esr/python/mozbuild/mozbuild/mach_commands.py thunderbird-140.13.0esr/python/mozbuild/mozbuild/mach_commands.py --- thunderbird-140.12.0esr/python/mozbuild/mozbuild/mach_commands.py 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/python/mozbuild/mozbuild/mach_commands.py 2026-07-21 21:33:02.000000000 +0000 @@ -2541,6 +2541,12 @@ required=True, help="The product being shipped. Used to disambiguate beta/devedition etc.", ) +@CommandArgument( + "--extensions-dir", + type=str, + required=True, + help="Path to extensions.", +) def repackage_deb_l10n( command_context, input_xpi_file, @@ -2550,6 +2556,7 @@ build_number, templates, release_product, + extensions_dir, ): for input_file in (input_xpi_file, input_tar_file): if not os.path.exists(input_file): @@ -2571,6 +2578,7 @@ version, build_number, release_product, + extensions_dir, ) diff -Nru thunderbird-140.12.0esr/python/mozbuild/mozbuild/repackaging/deb.py thunderbird-140.13.0esr/python/mozbuild/mozbuild/repackaging/deb.py --- thunderbird-140.12.0esr/python/mozbuild/mozbuild/repackaging/deb.py 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/python/mozbuild/mozbuild/repackaging/deb.py 2026-07-21 21:33:02.000000000 +0000 @@ -148,6 +148,7 @@ version, build_number, release_product, + extensions_dir, ): arch = "all" @@ -155,15 +156,28 @@ source_dir = os.path.join(tmpdir, "source") try: langpack_metadata = _extract_langpack_metadata(input_xpi_file) - langpack_dir = mozpath.join(source_dir, "firefox", "distribution", "extensions") + langpack_dir = mozpath.join(source_dir, extensions_dir) application_ini_data = _load_application_ini_data( input_tar_file, version, build_number ) langpack_id = langpack_metadata["langpack_id"] if release_product == "devedition": - depends = f"firefox-devedition (= {application_ini_data['pkg_version']})" + depends_package = "firefox-devedition" else: - depends = f"{application_ini_data['remoting_name']} (= {application_ini_data['pkg_version']})" + depends_package = application_ini_data["remoting_name"] + + depends_version = application_ini_data["pkg_version"] + + # Thunderbird prepends epoch 1 to the version number to prevent + # accidental downgrading to Thunderbird .debs in non-Mozilla APT + # repositories. + # + # See bug 2005200 + if depends_package == "thunderbird": + depends_version = f"1:{depends_version}" + + depends = f"{depends_package} (= {depends_version})" + build_variables = get_build_variables( application_ini_data, _DEB_ARCH[arch], diff -Nru thunderbird-140.12.0esr/security/ct/CTKnownLogs.h thunderbird-140.13.0esr/security/ct/CTKnownLogs.h --- thunderbird-140.12.0esr/security/ct/CTKnownLogs.h 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/security/ct/CTKnownLogs.h 2026-07-21 21:33:02.000000000 +0000 @@ -14,7 +14,7 @@ #include -static const PRTime kCTExpirationTime = INT64_C(1786953555000000); +static const PRTime kCTExpirationTime = INT64_C(1789977094000000); namespace mozilla::ct { @@ -47,16 +47,6 @@ }; const CTLogInfo kCTLogList[] = { - {"Google 'Argon2026h1' log", CTLogState::Admissible, CTLogFormat::RFC6962, - 1727734767000, // 2024-09-30T22:19:27Z - 0, // operated by Google - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x07\xfc\x1e\xe8\x63\x8e\xff\x1c\x31" - "\x8a\xfc\xb8\x1e\x19\x2b\x60\x50\x00\x3e\x8e\x9e\xda\x77\x37\xe3\xa5\xa8" - "\xda\x8d\x94\xf8\x6b\xe8\x3d\x64\x8f\x27\x3f\x75\xb3\xfc\x6b\x12\xf0\x37" - "\x06\x4f\x64\x58\x75\x14\x5d\x56\x52\xe6\x6a\x2b\x14\x4c\xec\x81\xd1\xea" - "\x3e", - 91}, {"Google 'Argon2026h2' log", CTLogState::Admissible, CTLogFormat::RFC6962, 1727734767000, // 2024-09-30T22:19:27Z 0, // operated by Google @@ -77,16 +67,6 @@ "\x62\x3d\x18\x37\xbe\x29\xf9\xe1\x95\x02\x91\x4c\xb0\xce\x21\xfe\x3c\xc2" "\xb0", 91}, - {"Google 'Xenon2026h1' log", CTLogState::Admissible, CTLogFormat::RFC6962, - 1727734767000, // 2024-09-30T22:19:27Z - 0, // operated by Google - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x3a\x1f\xc8\xbb\xce\xd5\x90\x47\x34" - "\xca\xca\x01\x04\x27\x21\x1c\xe2\x29\x3d\x92\xbb\x91\x45\xc7\x5a\x3e\xa5" - "\xd4\xf2\x12\xe6\xe8\xe6\x43\xba\xf3\x7b\xc2\x38\xaf\xfc\x23\x8a\x05\x56" - "\xeb\x03\x0a\x30\xcc\x63\x6c\xd9\x3c\xbe\xf5\x7b\x94\xba\x94\xd3\xbf\x88" - "\x4c", - 91}, {"Google 'Xenon2026h2' log", CTLogState::Admissible, CTLogFormat::RFC6962, 1727734767000, // 2024-09-30T22:19:27Z 0, // operated by Google @@ -107,6 +87,66 @@ "\x86\x96\xd1\x44\xb8\xb9\x07\x7a\xcf\x94\x16\x97\x57\x2c\x2e\x47\x92\x05" "\x0e", 91}, + {"Google 'ParcelYard2026h2' log", CTLogState::Admissible, CTLogFormat::Tiled, + 1781895600000, // 2026-06-19T19:00:00Z + 0, // operated by Google + "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" + "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x3f\x61\xf9\xe9\xb1\xf1\xea\x93\xe6" + "\xe6\x60\xa4\xbb\xa3\xc5\xa5\xe4\x6e\x03\x95\x31\xd2\x0b\x3c\x8b\x05\xc8" + "\x56\x1b\xd5\x75\xba\x23\xb3\x4a\x4f\xc1\x9a\x8b\xb6\x52\x04\xa0\x93\x5b" + "\x8f\x13\x04\x78\xf4\xd8\xa3\xfa\x83\x5b\xce\x40\x8e\x13\x09\x21\x39\x5a" + "\xbc", + 91}, + {"Google 'ParcelYard2027h1' log", CTLogState::Admissible, CTLogFormat::Tiled, + 1781895600000, // 2026-06-19T19:00:00Z + 0, // operated by Google + "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" + "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x5f\xb8\xbb\x81\x8c\x26\x07\x1a\x62" + "\x2d\x70\x25\x33\xf5\x4b\x93\x80\x45\xce\xca\x49\x46\x66\x40\xf3\xa8\x91" + "\x78\xee\xcd\x55\x19\x70\x18\xbd\x4a\x59\xbf\xc3\xbf\x90\xd1\x5c\x93\x41" + "\x65\xdf\xbd\xb9\x11\x24\x35\x44\xde\x7b\x9c\x81\xcb\x67\x51\x75\x11\x9a" + "\xd3", + 91}, + {"Google 'ParcelYard2027h2' log", CTLogState::Admissible, CTLogFormat::Tiled, + 1781895600000, // 2026-06-19T19:00:00Z + 0, // operated by Google + "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" + "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xf8\x24\xc5\xb2\x8a\xe8\xc5\x78\xb9" + "\xdd\xe2\xd3\xfb\x1d\x93\xe2\x0b\x0c\x28\xe7\x2a\xcd\x81\x21\xa9\x22\xe3" + "\xc8\x5e\xae\x55\xf7\x60\x17\xcc\x81\x7b\x20\x36\x70\x35\xac\xbb\xa9\xe6" + "\x84\xa1\xa1\xab\x2a\x28\x87\x02\xe1\xdc\xf3\xe0\x5d\xd9\x6d\x7c\xf3\xf7" + "\x04", + 91}, + {"Google 'PlumbersArms2026h2' log", CTLogState::Admissible, CTLogFormat::Tiled, + 1781895600000, // 2026-06-19T19:00:00Z + 0, // operated by Google + "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" + "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x45\xc2\x86\xea\x61\xb2\xac\x24\xed" + "\xce\x45\x81\x35\x3e\x75\x2c\x51\x6c\x33\x59\x59\xdd\x93\xd2\x22\x85\xe0" + "\x56\x29\x43\xb6\x76\x34\x77\x28\x70\x29\x25\xfb\x8e\x89\xa4\x5e\xf7\x72" + "\xa9\x6a\xfc\x0c\xe3\xf7\x1c\x0e\x88\xea\x4c\xe6\x44\x45\xf9\xc2\x95\x2f" + "\xba", + 91}, + {"Google 'PlumbersArms2027h1' log", CTLogState::Admissible, CTLogFormat::Tiled, + 1781895600000, // 2026-06-19T19:00:00Z + 0, // operated by Google + "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" + "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x00\xa6\x18\x76\x32\x1e\x43\x00\xcf" + "\xd1\x12\x18\xf6\x68\x40\x56\x7b\x57\xe6\xcd\x8e\x6c\xc7\x36\x17\xab\xbc" + "\x70\x42\xd2\x6e\x1b\xda\xbe\x58\xd6\x0f\xf3\x9e\xb0\x96\x47\x52\xda\x90" + "\x8c\x15\xc4\xe4\x49\x1b\xa6\x2a\xba\x9d\xc8\x66\x69\x59\xc4\x1c\x7a\x49" + "\x9b", + 91}, + {"Google 'PlumbersArms2027h2' log", CTLogState::Admissible, CTLogFormat::Tiled, + 1781895600000, // 2026-06-19T19:00:00Z + 0, // operated by Google + "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" + "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x1c\x2b\xb9\x86\x8a\x12\x5e\x59\x3c" + "\x14\x08\x92\x92\x85\xa2\x64\x9e\x46\xf4\x6c\xc2\x88\x98\x63\xdd\xea\x09" + "\xf6\x9d\xc5\xdd\x9c\xd5\xd9\x08\x1c\x83\x15\x96\x23\xd7\xfb\xe6\xf9\xc5" + "\x83\x28\x23\xbb\xe6\xda\x2b\x5d\x5d\xb1\xfd\xdb\x5c\x70\x28\xff\xe4\xcb" + "\xfd", + 91}, {"Cloudflare 'Nimbus2026'", CTLogState::Admissible, CTLogFormat::RFC6962, 1731088800000, // 2024-11-08T18:00:00Z 1, // operated by Cloudflare @@ -127,16 +167,6 @@ "\xf9\xcc\xe8\x44\x43\x75\xbb\x48\xfd\x71\x69\x7c\x77\xa3\xa8\x3c\xc3\xe8" "\x81", 91}, - {"DigiCert 'Wyvern2026h1'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1731024000000, // 2024-11-08T00:00:00Z - 2, // operated by DigiCert - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xec\xbc\x34\x39\xe2\x9a\x8d\xb7\x99" - "\x7a\x91\xf1\x05\x72\x52\xda\x93\x89\x5d\x3a\x07\x8b\x99\xed\x80\xa5\x16" - "\xda\x73\x21\x20\xeb\x86\x96\x87\xc5\xc6\xd9\x17\xba\x6e\xb9\x4c\x13\x58" - "\xd5\xd1\x83\xf8\x7a\xdf\x1e\x07\xbc\x15\xcd\xc0\x4a\xcd\x2a\x31\x71\x07" - "\x55", - 91}, {"DigiCert 'Wyvern2026h2'", CTLogState::Admissible, CTLogFormat::RFC6962, 1731024000000, // 2024-11-08T00:00:00Z 2, // operated by DigiCert @@ -167,16 +197,6 @@ "\xbb\xcf\x3f\x1a\xbc\x67\xe3\xa9\x26\x7a\x17\x4e\x29\x50\xc5\x7b\x16\xdd" "\x4a", 91}, - {"DigiCert 'Sphinx2026h1'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1731024000000, // 2024-11-08T00:00:00Z - 2, // operated by DigiCert - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xab\x84\xbe\xf8\x3c\x87\xa2\x42\x25" - "\x9a\x66\x9c\xae\x2b\x52\xe7\x5a\xf9\x21\x1b\x19\x03\xa5\x07\xe2\x46\x0b" - "\x1f\x8a\x5e\x7c\x6c\xae\xff\x19\x77\x86\xe8\x7b\xfc\xee\x6b\x36\x4f\xf2" - "\xbc\xc3\x9e\x05\x02\x9a\x08\x01\xb5\x49\x23\x35\xc4\xd3\x50\x2b\x51\xe9" - "\xf4", - 91}, {"DigiCert 'Sphinx2026h2'", CTLogState::Admissible, CTLogFormat::RFC6962, 1731024000000, // 2024-11-08T00:00:00Z 2, // operated by DigiCert @@ -207,16 +227,6 @@ "\x3e\x1d\xc7\xc0\xb0\xc3\x2f\x10\xe3\xbd\x10\x5e\x8a\xf5\x12\x6e\x96\x52" "\xc0", 91}, - {"Sectigo 'Mammoth2026h1'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1758216000000, // 2025-09-18T17:20:00Z - 3, // operated by Sectigo - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x9e\xcb\x0c\x8a\x51\xcc\x8a\xe2\x0b" - "\xce\x85\xe6\xaf\x4d\x31\xdb\x1b\x6a\x4c\xfd\xb0\x79\x6b\x99\x97\xc0\x5d" - "\xfb\x6e\x45\x50\x1d\x62\xaa\xc6\x9f\x9b\x6b\x05\x3d\xa2\xab\x2b\x5d\x88" - "\x9b\x50\x28\xe2\x9e\x58\xa5\xa5\xfa\xf9\xe3\xfa\x15\x25\xe3\x14\x13\x32" - "\xc4", - 91}, {"Sectigo 'Mammoth2026h2'", CTLogState::Admissible, CTLogFormat::RFC6962, 1758216000000, // 2025-09-18T17:20:00Z 3, // operated by Sectigo @@ -227,16 +237,6 @@ "\xff\xc2\x97\x71\xe5\x7e\x27\xf5\x72\xb1\x8f\x24\x27\x57\x0a\x0d\x74\xc0" "\xb6", 91}, - {"Sectigo 'Sabre2026h1'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1758216000000, // 2025-09-18T17:20:00Z - 3, // operated by Sectigo - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x84\x26\xbc\x36\xbd\xd8\x8d\x3c\x87" - "\x9e\xe0\x10\xaf\xcd\x94\xd9\xd7\xb9\x51\x80\x34\x7e\xf7\x58\x5c\x73\xea" - "\xeb\x09\x93\xb8\x10\x7b\x90\x9c\x7d\xc7\xcd\x96\x43\xed\x53\x6e\x95\x21" - "\x46\x67\x51\xf0\xde\xb6\xc9\x9e\xaa\xe2\x80\x6d\xce\x25\x81\x34\xd7\x6a" - "\x60", - 91}, {"Sectigo 'Sabre2026h2'", CTLogState::Admissible, CTLogFormat::RFC6962, 1758216000000, // 2025-09-18T17:20:00Z 3, // operated by Sectigo @@ -247,16 +247,6 @@ "\x65\x35\x63\xf0\x49\xbe\x72\xd1\xaa\x9d\xaf\x7d\x08\xc4\xb4\x8d\x59\x3d" "\x73", 91}, - {"Sectigo 'Elephant2026h1'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1753148000000, // 2025-07-22T01:33:20Z - 3, // operated by Sectigo - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x53\x49\x6a\x9c\xf1\xe8\x5e\xe5\x3d" - "\x15\xcf\x5d\x26\xfd\x47\x41\x90\xaf\xb2\xc2\x5f\xbf\x12\xec\x8a\xbc\x15" - "\x43\xf7\xe4\x17\x25\x2a\x7a\xee\x22\x9f\x03\xca\x8a\x47\x93\xe0\x31\xb2" - "\xc9\x65\x87\xe0\xd4\x7f\x0c\x22\x5a\xd9\xb0\x2e\x98\x7a\xd7\x25\xd0\x1c" - "\x69", - 91}, {"Sectigo 'Elephant2026h2'", CTLogState::Admissible, CTLogFormat::RFC6962, 1753148000000, // 2025-07-22T01:33:20Z 3, // operated by Sectigo @@ -287,16 +277,6 @@ "\x1e\xdc\x8a\xec\x20\x61\x7e\x52\x25\x32\x4e\xd3\xd9\x0a\xe7\xe3\x0f\xed" "\xf2", 91}, - {"Sectigo 'Tiger2026h1'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1758236400000, // 2025-09-18T23:00:00Z - 3, // operated by Sectigo - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xef\x77\x83\x27\x2b\x33\x0d\xbc\xec" - "\x59\xc8\x08\xd2\x76\xed\x53\x4f\xb2\xd7\x58\x10\x5a\x33\x63\x4b\xf4\x52" - "\x3b\x93\xf8\x84\xe4\x85\x13\xea\x4f\xac\x30\xad\x7c\xd3\xc7\x7b\xa7\x6a" - "\xef\xf5\xd0\x63\x03\x85\xb7\xd1\x5e\x6f\xc4\xf0\x41\x6f\xa6\xa9\x73\x79" - "\xc6", - 91}, {"Sectigo 'Tiger2026h2'", CTLogState::Admissible, CTLogFormat::RFC6962, 1758236400000, // 2025-09-18T23:00:00Z 3, // operated by Sectigo @@ -347,16 +327,6 @@ "\xf4\xfc\x5c\xa9\x8c\x5f\xfb\x0d\x60\xe4\x2c\x0f\x16\xec\x2a\xb2\x6d\xeb" "\x15", 91}, - {"Let's Encrypt 'Sycamore2026h1'", CTLogState::Admissible, CTLogFormat::Tiled, - 1764212400000, // 2025-11-27T03:00:00Z - 4, // operated by Let's Encrypt - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x7c\x41\x1e\xd0\x96\x64\x9c\x0f\x75" - "\xfd\xce\x9e\x36\x5d\x5a\x7b\x18\x1e\x2b\x3b\x86\x41\x43\x2f\x44\x25\xcf" - "\x5e\x0f\x4b\xdb\x6e\xce\xe4\x8e\x0f\x8b\xef\x80\x6d\xca\x6a\xea\xac\x65" - "\x55\x42\x8f\x61\xa7\xc0\x25\xe9\x40\x9c\xc7\xc6\xce\xfd\xe5\x1c\x27\x3c" - "\x80", - 91}, {"Let's Encrypt 'Sycamore2026h2'", CTLogState::Admissible, CTLogFormat::Tiled, 1764212400000, // 2025-11-27T03:00:00Z 4, // operated by Let's Encrypt @@ -387,16 +357,6 @@ "\x5b\xe0\x07\xf7\x00\x16\x3c\xb4\x4b\xe6\xf9\xad\xcf\xb6\x64\x87\x67\xf6" "\x9c", 91}, - {"Let's Encrypt 'Willow2026h1'", CTLogState::Admissible, CTLogFormat::Tiled, - 1764212400000, // 2025-11-27T03:00:00Z - 4, // operated by Let's Encrypt - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xb6\x91\x72\xba\x5c\x20\xcb\x5f\xae" - "\xfb\x06\x10\xdf\xb9\x5b\x57\xe1\xec\x3c\x53\x58\xa2\x2e\x2c\xcb\xa7\x59" - "\x3f\xae\xb6\x37\xf6\x7f\xba\xc7\x4d\x8b\x8f\x90\xdd\x12\xc4\x4b\x54\x58" - "\xd8\xf3\x64\xef\x32\xff\xed\x53\xd2\x9f\x72\x44\x44\xc3\xee\xfe\xce\x1e" - "\xe0", - 91}, {"Let's Encrypt 'Willow2026h2'", CTLogState::Admissible, CTLogFormat::Tiled, 1764212400000, // 2025-11-27T03:00:00Z 4, // operated by Let's Encrypt @@ -477,16 +437,6 @@ "\x75\xe3\x66\x75\xa9\x59\x70\x2d\xe2\x5a\x8b\xc0\x7c\x0a\x6f\x5d\x2d\xf7" "\x37", 91}, - {"Geomys 'Tuscolo2026h1'", CTLogState::Admissible, CTLogFormat::Tiled, - 1756623600000, // 2025-08-31T07:00:00Z - 6, // operated by Geomys - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x7e\x5c\x73\x32\x0d\x80\x8e\x38\x3b" - "\x87\x5f\x99\x22\xf4\x3d\x2d\x5e\xb2\x16\xf7\x63\xea\xe4\x62\xf5\x86\xef" - "\xb5\x19\xd2\x0a\x04\xb6\x49\xa9\xa4\x1f\x9e\x96\x70\xf4\x5a\x05\x34\x58" - "\x01\x13\xc3\x22\xbe\x49\xc0\xba\xa0\x24\x05\x40\xfc\xdb\xc3\xc5\xd2\x57" - "\x3b", - 91}, {"Geomys 'Tuscolo2026h2'", CTLogState::Admissible, CTLogFormat::Tiled, 1756623600000, // 2025-08-31T07:00:00Z 6, // operated by Geomys @@ -527,16 +477,6 @@ "\x65\x5e\x3d\xd5\x06\xeb\x35\x18\x34\xea\x63\x3a\x2b\x01\x33\x0d\x75\xed" "\xaa", 91}, - {"IPng Networks 'Halloumi2026h1'", CTLogState::Admissible, CTLogFormat::Tiled, - 1765996200000, // 2025-12-17T18:30:00Z - 7, // operated by IPng Networks - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xcd\xd7\x27\x1b\x04\x63\x9b\x66\x68" - "\x03\xaf\x09\x15\x92\x9f\xa0\xce\x1c\x38\xf3\xc6\xd9\xfa\xf4\x89\x1e\xf6" - "\xa7\x75\xda\x9f\x39\xce\x97\x0e\x7b\x1c\x9f\x51\x95\x84\x4d\xb7\xbe\x60" - "\x20\xc2\x0a\x80\x1d\x6b\xd1\xdc\x58\xe4\x9a\x23\xab\x59\xbc\xba\x86\xd8" - "\x8e", - 91}, {"IPng Networks 'Halloumi2026h2a'", CTLogState::Admissible, CTLogFormat::Tiled, 1767252600000, // 2026-01-01T07:30:00Z 7, // operated by IPng Networks @@ -567,16 +507,6 @@ "\x28\xe4\x17\x99\x91\x1d\xe0\x1f\xb7\x96\x3a\x2f\x22\x94\x33\xd8\x79\xb2" "\x1c", 91}, - {"IPng Networks 'Gouda2026h1'", CTLogState::Admissible, CTLogFormat::Tiled, - 1764212400000, // 2025-11-27T03:00:00Z - 7, // operated by IPng Networks - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x47\xac\x2f\xa9\x5c\x21\x7f\x98\xac" - "\xb8\x2b\x70\x49\xf3\x63\x4c\xea\xea\xc1\x98\x34\xbd\x9b\x88\x30\xfe\xf1" - "\x93\xc7\xcf\x98\x97\xda\x15\x90\xad\x7b\x5a\x6d\x42\x2a\x8d\x85\x13\x02" - "\xb6\xa2\x20\x26\xf0\xdc\x27\x28\xe4\x19\x52\x3c\x8b\x8e\x2f\xc4\xbf\x3b" - "\xec", - 91}, {"IPng Networks 'Gouda2026h2'", CTLogState::Admissible, CTLogFormat::Tiled, 1764212400000, // 2025-11-27T03:00:00Z 7, // operated by IPng Networks diff -Nru thunderbird-140.12.0esr/security/manager/ssl/StaticHPKPins.h thunderbird-140.13.0esr/security/manager/ssl/StaticHPKPins.h --- thunderbird-140.12.0esr/security/manager/ssl/StaticHPKPins.h 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/security/manager/ssl/StaticHPKPins.h 2026-07-21 21:33:03.000000000 +0000 @@ -681,4 +681,4 @@ static const int32_t kUnknownId = -1; -static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1789372725662000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1792396267857000); diff -Nru thunderbird-140.12.0esr/security/manager/ssl/nsSTSPreloadList.inc thunderbird-140.13.0esr/security/manager/ssl/nsSTSPreloadList.inc --- thunderbird-140.12.0esr/security/manager/ssl/nsSTSPreloadList.inc 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/security/manager/ssl/nsSTSPreloadList.inc 2026-07-21 21:33:02.000000000 +0000 @@ -8,14 +8,14 @@ /*****************************************************************************/ #include -const PRTime gPreloadListExpirationTime = INT64_C(1791791920907000); +const PRTime gPreloadListExpirationTime = INT64_C(1794815463377000); %% 0--1.de, 1 +0-0.io, 1 0-0.lt, 1 0-1.party, 1 0-24.com, 1 0-24.net, 1 -0-9.com, 1 0-nuisibles.fr, 1 0.com.ms, 1 0.sb, 1 @@ -54,13 +54,11 @@ 0037552.com, 1 003dyw.com, 1 0047552.com, 1 -00484.com, 1 005184.xyz, 1 0057552.com, 1 0066.in, 1 0067552.com, 1 007kf.com, 0 -007sascha.de, 1 008007.xyz, 1 0087552.com, 1 00880088.net, 1 @@ -72,6 +70,7 @@ 00dani.me, 1 00f.net, 1 00wbf.com, 1 +01-licenzia.ru, 1 01.org, 1 01.ro, 1 01011970.xyz, 1 @@ -218,6 +217,7 @@ 0akarma.me, 1 0au.de, 0 0bla.com, 1 +0bricks.com, 1 0cdn.ga, 1 0cdn.net, 1 0cean.tk, 1 @@ -306,7 +306,6 @@ 0xfn.eu, 1 0xheuts.nl, 1 0xinsider.com, 1 -0xk4rim.fr, 1 0xn.de, 1 0xnotes.me, 1 0xnull.de, 1 @@ -368,7 +367,6 @@ 100pluspro.com, 1 100pour100print.com, 1 100pudov.tk, 1 -100reach.com, 1 100refer.tk, 1 100sapog.tk, 1 100skidok.ga, 1 @@ -380,7 +378,6 @@ 100visits.tk, 1 100voprosov.tk, 1 100zakladok.tk, 1 -10101.io, 1 101010.hopto.org, 1 101010.pl, 1 10161997.xyz, 1 @@ -418,6 +415,7 @@ 10439.net, 1 10495.net, 1 105318.com, 1 +1055155.xyz, 1 106.hi.cn, 1 1068511.com, 1 106906.xyz, 1 @@ -452,7 +450,6 @@ 10sou.eu, 1 10thmagnitude.com, 0 10thstreetcapital.com, 1 -10tv.in, 1 10ve.live, 1 10web.io, 1 10wtac.tk, 1 @@ -492,7 +489,6 @@ 1120322.com, 1 1120323.com, 1 1120324.com, 1 -1120325.com, 1 1120326.com, 1 1120327.com, 1 1120328.com, 1 @@ -528,16 +524,15 @@ 11333837.com, 1 113k8.com, 0 113z6.com, 1 -11400.com, 1 11443837.com, 0 114514911.xyz, 1 114514ss.com, 1 +114online.com, 1 115.one, 1 115z6.com, 1 1174healing.com, 1 117766.xyz, 1 1177z6.com, 1 -11792.com, 1 1190america.tk, 1 1199bet.vip, 0 11aaee.com, 1 @@ -637,7 +632,6 @@ 12.ag, 1 12.digital, 1 1200.cf, 1 -12006.com, 1 120percent-inc.com, 1 1212.tk, 1 1212873467.rsc.cdn77.org, 1 @@ -679,6 +673,7 @@ 123.chat, 1 123110.com, 1 123365t.com, 1 +1234.ist, 1 1234.link, 1 123410.xyz, 1 12345.lv, 1 @@ -700,10 +695,8 @@ 123midterm.com, 1 123nutricion.es, 1 123pay.ir, 1 -123petitspas.com, 1 123seo.ml, 1 123site.tk, 1 -123soleilplacedusouvenir.com, 1 123sportpassion.com, 1 123start.pl, 1 123start.tk, 1 @@ -715,9 +708,6 @@ 1244.tk, 1 1244546066.rsc.cdn77.org, 1 125-rue.com, 1 -12517.com, 1 -12557.com, 1 -12588.com, 1 125c.cn, 1 125colours.tk, 1 125m125.de, 1 @@ -725,6 +715,7 @@ 127011.ch, 1 127661.com, 1 1288366.com, 1 +128bitar.net, 1 129.co, 1 12db.de, 1 12fkcdtcetteefqv.myfritz.net, 1 @@ -1031,7 +1022,6 @@ 175.pt, 1 175dt.com, 1 177milkstreet.com, 1 -17920.com, 1 17dbz.org, 1 17experience.com.br, 1 17hats.com, 0 @@ -1076,7 +1066,6 @@ 1911-movie.jp, 1 1911trust.com, 1 1912x.com, 1 -191512.xyz, 1 192.com, 1 1920.tk, 1 1920301.com, 1 @@ -1154,7 +1143,6 @@ 1adda.tk, 1 1ago.be, 1 1ahyp.de, 1 -1and1life.com, 1 1android.de, 1 1apple.com, 1 1art.tk, 1 @@ -1197,7 +1185,6 @@ 1dv.link, 1 1e9.nl, 1 1eanda.com, 1 -1earn.com, 1 1er-secours.ch, 0 1f123.net, 1 1f616emo.xyz, 1 @@ -1233,6 +1220,7 @@ 1masquepourtous.com, 1 1me.cz, 1 1mgt.ru, 1 +1minutecodes.com, 1 1montre.fr, 1 1my.me, 0 1nf.me, 1 @@ -1250,6 +1238,7 @@ 1password.com, 1 1password.eu, 1 1picture.hu, 1 +1pixel1euro.fr, 1 1placedessaisons.com, 1 1plus.red, 1 1plus1tv.zone, 1 @@ -1288,7 +1277,6 @@ 1up.it, 1 1v9.im, 1 1v9.io, 1 -1viemeilleure.eu, 1 1voz.org, 1 1vpns.com, 1 1w6.net, 1 @@ -1469,7 +1457,6 @@ 2-ca.fr, 0 2-euromuenzen.de, 1 2-faktor-betaling.dk, 1 -2-host.com, 1 2.pe, 1 2.sb, 1 2.wtf, 1 @@ -1487,6 +1474,7 @@ 200mmx.net, 1 200pppp.com, 1 2012review.tk, 1 +2013download.com, 1 2013review.tk, 1 20140301.xyz, 1 2015review.tk, 1 @@ -1516,7 +1504,6 @@ 2026.com.ar, 1 2030404.com, 1 2030411.com, 1 -2030calculator.com, 1 2033002.com, 1 2033003.com, 1 2033004.com, 1 @@ -1539,13 +1526,11 @@ 20deg.com, 1 20denier.com, 1 20gg.de, 1 -20mcc.in, 1 20plus.com, 1 20sights.tk, 1 21.co.uk, 1 210093.xyz, 1 2113.ch, 1 -214701.xyz, 1 21566365.com, 0 216digital.com, 1 21bit.com, 1 @@ -1559,6 +1544,8 @@ 21kampus.com, 1 21lab.co, 1 21nurse.com, 1 +21pet.com, 1 +21property.com, 1 21risk.com, 1 21run.com, 0 21six.com, 1 @@ -1587,6 +1574,9 @@ 228668.com, 1 2288499.com, 1 22884a.com, 0 +228academy.com, 1 +228films.com, 1 +228operators.com, 1 2299411.com, 1 2299422.com, 1 2299433.com, 1 @@ -1681,6 +1671,7 @@ 247dns.net, 1 247maturesex.com, 1 247megamart.com.au, 1 +247vision.com, 1 248000.xyz, 1 24848168.com, 0 24848188.com, 0 @@ -1709,6 +1700,7 @@ 24chance.tk, 1 24credit.ro, 1 24gazette.ga, 1 +24hhotnewsai.com, 1 24hhotnewsai.online, 1 24hhotnewsai.site, 1 24hour-locksmithsanantonio.com, 1 @@ -1717,9 +1709,9 @@ 24hourlocksmithhoustontx.com, 1 24hourlocksmithspring.com, 1 24hrbrandbash.com, 1 +24images.com, 1 24k.co.jp, 1 24onlain.tk, 1 -24share.com, 1 24shares.cc, 1 24slides.com, 1 24toolkit.com, 1 @@ -1749,12 +1741,12 @@ 25refer.tk, 1 25reinyan25.net, 1 26-30railcard.co.uk, 1 +260034.xyz, 1 2600edinburgh.org, 1 2600hq.com, 1 2600qatar.com, 1 2601.de, 1 262569.com, 1 -263mail.com, 1 269196.com, 1 2698pacificave.com, 1 26sannam3.site, 1 @@ -1797,6 +1789,7 @@ 2bitout.com, 1 2blazing.cf, 1 2brothersrenovations.net, 1 +2btv.eu.org, 1 2bu2t.online, 1 2bu2t.ru, 1 2buldzha2t.ru, 1 @@ -1823,6 +1816,7 @@ 2driver-ok.ml, 1 2earn-online.com, 0 2fa.directory, 1 +2finish.com, 1 2fm.ie, 1 2fm.radio, 1 2fraud.pro, 1 @@ -1866,6 +1860,8 @@ 2rodeo.com, 1 2rsc.net, 1 2sendai.net, 1 +2serious.com, 1 +2target.com, 1 2tausend19.de, 1 2th.me, 1 2think.org, 1 @@ -1874,7 +1870,6 @@ 2upbusiness.com.br, 1 2url.link, 1 2ustyle.com, 1 -2value.com, 1 2vnews.com, 1 2vp-an.online, 1 2wikipedia.com, 1 @@ -1905,7 +1900,6 @@ 30deagosto.tk, 1 30for30podcasts.com, 1 30hb.cn, 1 -30minut.com, 1 30nama1.tk, 1 30parkplace.co.uk, 1 30region.tk, 1 @@ -1940,6 +1934,7 @@ 3178zzz.com, 0 319k3.com, 1 319xpj.com, 1 +31bet.com, 1 31fss.marketing, 1 31fss.net, 1 31fss.support, 1 @@ -2025,9 +2020,9 @@ 360365.com, 1 360alumni.com, 1 360bcty.com, 1 +360china.com, 1 360cycling.com.br, 1 360degreecloud.com, 1 -360dental.com, 1 360e-commerce.net, 1 360ecogroup.com, 0 360ecommerce.net, 1 @@ -2035,12 +2030,14 @@ 360hosting.com.au, 1 360islam.com, 1 360kuvia.fi, 1 +360organic.com, 1 360primeview.ie, 1 360prokuvat.fi, 1 360propguide.com, 1 +360spider.com, 1 +360stone.com, 1 360system.com, 1 360techpartner.com, 1 -360trust.com, 1 360videoshare.com, 1 360visualmedia.co.uk, 1 360vrs.com, 1 @@ -2098,7 +2095,6 @@ 3656745.com, 0 3656778.com, 0 36587654321.com, 1 -365886.com, 0 36594a.com, 1 36594b.com, 1 36594c.com, 1 @@ -2107,6 +2103,7 @@ 3659980.com, 1 365a1.com, 0 365beautyworld.com, 1 +365blog.com, 1 365canvas.com, 0 365clo.com, 1 365cn-288.com, 1 @@ -2126,6 +2123,7 @@ 365renovations.com, 1 365sb-cn.com, 1 365skulls.com, 1 +365vision.com, 1 365y33.com, 1 365y9.com, 0 365yapan.com, 1 @@ -2145,7 +2143,6 @@ 37889658.com, 0 379700.com, 1 3798.com, 0 -37987.com, 1 37987d.com, 1 37zw.com, 1 3800.cf, 1 @@ -2210,7 +2207,6 @@ 3970win.com, 1 3970ww.com, 1 3970xx.com, 1 -3970y.com, 1 3970yes.com, 1 3970yy.com, 1 3970z.com, 1 @@ -2224,7 +2220,6 @@ 3adao.org, 1 3aexpert.com.ua, 1 3ameldaw.ml, 1 -3amtoolbox.se, 1 3arena.ie, 1 3b-bilisim.com, 1 3b-concept.fr, 1 @@ -2280,11 +2275,11 @@ 3dprintsondemand.eu, 1 3dranger.com, 1 3dreal.tk, 1 +3dscenes.com, 1 3dsites.tk, 1 3dstandard.com, 1 3dstoragellc.com, 1 3dstore.dk, 1 -3dsupplies.be, 1 3dthink.tech, 1 3dvisual.studio, 1 3dwallpanels.com.au, 1 @@ -2301,6 +2296,7 @@ 3gdev.com, 1 3gdu.tk, 1 3gg365.com, 1 +3gokushi.com, 1 3haeuserprojekt.org, 1 3i-infotech.com, 1 3ieimpact.org, 1 @@ -2309,7 +2305,6 @@ 3james.com, 1 3jj365.com, 1 3kings-3hills.com, 1 -3kp3.cc, 1 3ks.pl, 1 3ler.net, 1 3lmnyblogger.ga, 1 @@ -2500,10 +2495,12 @@ 451998.xyz, 1 45365t.com, 1 4544bet.com, 1 +4545.eu.org, 1 4551365.com, 1 4553.com, 1 455327.com, 1 455328.com, 1 +455333.xyz, 1 4553vip.com, 1 455555.xyz, 1 45636565.com, 1 @@ -2521,8 +2518,11 @@ 463lpallet.com, 1 4649-24.com, 1 4661049.com, 1 +466333.xyz, 1 +4666.eu.org, 1 467413.com, 1 476470.com, 1 +477333.xyz, 1 47essays.com, 1 47yr.com, 1 483610.com, 1 @@ -2531,10 +2531,12 @@ 486662.xyz, 1 486773.com, 0 487511.com, 1 +488333.xyz, 1 48coin.cf, 1 48d88.com, 0 48lipetsk.tk, 1 48times.online, 1 +490.jp, 1 491.jp, 1 491mhz.net, 1 492977.com, 0 @@ -2567,7 +2569,7 @@ 4digitiq.nl, 1 4dillusion.tk, 1 4dimension.net, 1 -4dplay.com, 1 +4dsoft.com, 1 4dstyle.com, 1 4e8.net, 1 4everdosti.tk, 1 @@ -2592,6 +2594,8 @@ 4hypo.cz, 1 4investors.de, 1 4iplatform.com, 1 +4it.rs, 1 +4just.com, 1 4k3dyptt.com, 1 4k4p.cc, 1 4kec.com, 1 @@ -2640,7 +2644,6 @@ 4thjdcar.gov, 1 4u.services, 0 4u2ore.net, 1 -4uagservices.com, 0 4uwatch.cf, 1 4vector.com, 1 4ventavis.com, 1 @@ -2665,7 +2668,7 @@ 5002888.com, 0 5007999.com, 1 500f500.com, 1 -500fcw.com, 1 +500fcw.com, 0 500k.nl, 1 500wordessay.gq, 1 5017501.com, 1 @@ -2700,7 +2703,6 @@ 50refer.tk, 1 50ten40.com, 1 50thingstodo.org, 1 -511.org, 1 511in.org, 1 51365bb.com, 1 51365cc.com, 1 @@ -2761,16 +2763,18 @@ 51aifuli.com, 1 51cls.tw, 1 51club8.com, 1 +51daxue.com, 1 51evar.com, 1 51fishing.com, 1 51fss.marketing, 1 51lavanderiaindustrial.com.br, 1 51nullacht.de, 1 +51pic.com, 1 51pig.com, 1 51resume.com, 1 51senluo.com, 1 +51space.com, 1 51talk.ph, 1 -51tiaojiu.com, 1 51xiongmao.cn, 1 52002a.com, 1 52002b.com, 1 @@ -2816,11 +2820,12 @@ 52dashboard.com, 1 52evar1.com, 1 52hentai.ml, 1 -52iv.one, 1 +52iv.one, 0 52kb1.com, 1 52kb365.com, 0 52ncp.net, 1 52pojie.cn, 1 +52share.com, 1 52sykb.com, 0 52xuanmi.com, 0 52yahuan.com, 1 @@ -2856,7 +2861,7 @@ 56365t.com, 1 5663.cc, 1 5663.co, 1 -567.hu, 0 +567.hu, 1 56736565.com, 1 5676321.com, 1 567666365.com, 1 @@ -2916,7 +2921,6 @@ 5981v.com, 1 5981w.com, 1 5981x.com, 1 -5981y.com, 0 5981z.com, 1 598598598.net, 1 59859h.vip, 1 @@ -3000,6 +3004,7 @@ 60d.cn, 1 60i.cn, 1 60n13.com, 1 +60s.gg, 1 60w.co, 1 610.co, 1 6132pk.com, 0 @@ -3008,7 +3013,6 @@ 616675.com, 1 616798.com, 1 616f88.com, 1 -618034.xyz, 1 61ag8.com, 1 621162.com, 0 628462.com, 0 @@ -3024,7 +3028,6 @@ 632174.com, 0 633663.net, 1 633663.vip, 1 -635-888.com, 0 635-988.com, 1 636051.com, 1 6396000.com, 1 @@ -3063,6 +3066,7 @@ 64bit.me, 1 64bitgaming.de, 1 64characters.com, 1 +64media.com, 1 6502.pro, 1 65131a.com, 1 65131b.com, 1 @@ -3227,9 +3231,9 @@ 6729z.co, 1 6729zz.co, 1 672bbb.com, 1 -673422.com, 0 673569.com, 1 673bbb.com, 1 +6767.eu.org, 1 676812.com, 0 677314.com, 0 677346.com, 1 @@ -3412,7 +3416,7 @@ 77177.de, 1 7733445.com, 1 775018.com, 0 -777111.xyz, 1 +777111.xyz, 0 777365t.com, 1 7776321.com, 0 777coin.com, 1 @@ -3452,7 +3456,6 @@ 7bridgeswalk.com, 1 7bridgeswalk.com.au, 1 7colli.it, 1 -7comm.com.br, 1 7datarecovery.com, 1 7daystodie.top, 1 7dies.net, 1 @@ -3482,7 +3485,9 @@ 7nets.com, 1 7networking.com, 1 7ovz.ru, 1 +7pf.cz, 1 7plus.com.au, 1 +7press.com, 1 7proxies.com, 1 7qly.com, 1 7sdre.am, 1 @@ -3503,9 +3508,12 @@ 800801337.xyz, 1 800999.xyz, 1 800email.com, 1 +800ink.com, 1 800live.com, 1 800mattress.com, 1 800perkins.com, 1 +800sports.com, 1 +800tea.com, 1 800tutor.com, 1 8012d88.com, 1 8019d88.com, 1 @@ -3540,7 +3548,6 @@ 8113d.com, 1 8115d88.com, 1 8116d88.com, 1 -8121d.com, 1 8121d88.com, 1 8128d.com, 1 8135d88.com, 1 @@ -3628,7 +3635,6 @@ 834365.com, 1 8349822.com, 1 83ir2k8b.duckdns.org, 1 -84000.com, 1 84036.ml, 1 842844.com, 1 8444.cf, 1 @@ -3770,7 +3776,6 @@ 888starz.bet, 1 888starz22.bet, 1 8891d.com, 1 -8891ks.com, 1 8892d.com, 1 8895d.com, 1 8898ks.com, 1 @@ -3842,7 +3847,6 @@ 8me.nl, 1 8n.pw, 1 8shequapp.com, 1 -8show.com, 1 8t8.eu, 1 8tech.com.hk, 1 8therate.com, 1 @@ -3952,7 +3956,6 @@ 9098.cf, 1 90daydiet.org, 1 90daysales.com, 1 -90minut.com, 1 90r.jp, 1 90splease.com, 1 91-av.com, 1 @@ -4072,7 +4075,6 @@ 918bis.co, 1 918dc04.com, 1 918kisse.com, 1 -918kissinw.com, 1 9190.cf, 1 9193.cf, 1 9194.cf, 1 @@ -4342,9 +4344,7 @@ 9508.cf, 1 9509.cf, 1 9510.cf, 1 -95105.com, 1 95107.com, 1 -95108.com, 1 9511.cf, 1 9512.cf, 1 9513.cf, 1 @@ -4383,11 +4383,9 @@ 95500.com, 1 9551.cf, 1 95518.com, 1 -95519.com, 1 9552.cf, 1 9553.cf, 1 9554.cf, 1 -95544.com, 1 95558.com, 1 95559.com, 1 9556.cf, 1 @@ -4416,7 +4414,6 @@ 9578.cf, 1 9579.cf, 1 9580.cf, 1 -95808.com, 1 9581.cf, 1 9582.cf, 1 9584.cf, 1 @@ -4455,10 +4452,8 @@ 9617.cf, 1 9617818.net, 1 9618.cf, 1 -96181.com, 1 9619.cf, 1 9620.cf, 1 -96200.com, 1 9621.cf, 1 9622.cf, 1 96220.com, 1 @@ -4471,18 +4466,11 @@ 9629.cf, 1 9630.cf, 1 9631.cf, 1 -96316.com, 1 9632.cf, 1 9633.cf, 1 -96448.com, 1 -96577.com, 1 -96605.com, 1 -96607.com, 1 9666ks.com, 1 96685.com, 1 966ty.com, 1 -96896.com, 1 -96961.com, 1 9700.cf, 1 9701.cf, 1 9702.cf, 1 @@ -4682,6 +4670,7 @@ 9941y.top, 1 9942.cf, 1 9943.cf, 1 +994555.xyz, 1 99456j.com, 0 9946.cf, 1 9947.cf, 1 @@ -4742,12 +4731,12 @@ 999family.com, 0 999salon.co, 1 999zlong.com, 1 -99bt.com, 1 99buffets.com, 1 +99dog.com, 1 99furnitureideasandtips.gq, 1 99furnitureideasexamples.ga, 1 -99laptops.com, 1 99lib.net, 1 +99music.com, 1 99naturalfoods.de, 1 99perf.com, 1 99qp.org, 1 @@ -4761,7 +4750,6 @@ 9ection.com, 1 9elements.com, 0 9face.com, 1 -9fruit.com, 1 9fvip.net, 1 9gag.com, 1 9hosts.net, 1 @@ -4869,7 +4857,6 @@ a-bio.com, 1 a-busty.com, 1 a-design.be, 1 -a-frique.com, 1 a-gokan.com, 1 a-h-p.de, 1 a-hitoduma.com, 1 @@ -4908,8 +4895,8 @@ a1billgibsonseptictankservice.com, 1 a1bouncycastlehire.com, 1 a1cashforcar.com.au, 1 -a1cdrinks.com, 1 -a1cookingequipment.com.au, 1 +a1cdrinks.com, 0 +a1cookingequipment.com.au, 0 a1expresscarremoval.com.au, 1 a1hypnosis.ga, 1 a1jumpandbounce.co.uk, 1 @@ -4940,6 +4927,7 @@ a36533.com, 1 a3a.shop, 1 a3m.gmbh, 1 +a3med.com, 1 a3mobile.com, 1 a3sys-elodie.fr, 1 a4.com, 1 @@ -4947,7 +4935,6 @@ a4pmu.net, 1 a4sound.com, 1 a5197.co, 1 -a632079.me, 1 a6729.co, 1 a6957.co, 1 a6s.me, 1 @@ -4960,11 +4947,9 @@ a8438pb3.com, 1 a88fc.com, 1 a899365.com, 0 -a9-9.top, 0 a9297.co, 1 a9728.co, 1 a9l.im, 1 -aa-charging.nl, 1 aa-security.be, 1 aa.cx, 1 aa43d.cn, 1 @@ -4988,24 +4973,26 @@ aaappfeel.de, 1 aaar.com.hk, 0 aab.uz, 1 +aabb.com, 0 aabeltech.com, 1 aabenjaminjewelry.com, 0 aabigbirminghamconvention.com, 1 aacc.ac, 1 aachc.org, 1 -aachen-quiz.de, 1 aachen-umzugsunternehmen.de, 1 aachen-west.de, 1 aacs-design.com, 1 +aacyberconsulting.com, 1 aad-gp.com, 1 aadl.ga, 1 aadskeuken.nl, 0 aadv.com.br, 1 +aaee.com.au, 1 +aaee2010.com.au, 1 aaenhunze.nl, 1 aafip.org, 1 aaflalo.me, 1 aagetransport.no, 1 -aahhbali.com, 1 aaic.ca, 1 aajkakavi.in, 0 aalalbayt.com, 0 @@ -5098,6 +5085,7 @@ aayan.com, 1 aaystash.com, 1 aaz-taxi.com, 1 +aazzoo.com, 1 ab-design.tk, 1 ab-pflege.de, 1 ab-uk.com, 1 @@ -5153,7 +5141,6 @@ abbaye-chaise-dieu.com, 1 abbayedumoncel.fr, 1 abbevillecountysc.gov, 1 -abbeycarefoundation.com, 1 abbeyvetspets.co.uk, 1 abbl.com, 1 abbotkinneys.com, 1 @@ -5194,6 +5181,7 @@ abcmetalroofing.com, 1 abcode.ml, 1 abcofnebraska.com, 1 +abconsultoria.com.br, 1 abcorporate-aviation.com, 1 abcpartyhire.com, 1 abcprodutosvirtuais.com.br, 1 @@ -5264,7 +5252,6 @@ aberon.pl, 1 aberrantvascular.tk, 1 aberte.com, 1 -abetrans.com, 1 abettercreditunion.com, 1 abetterdeath.com, 1 abetterwichita.org, 1 @@ -5274,7 +5261,6 @@ abg.ninja, 1 abgal.com.au, 1 abgeo.ga, 1 -abhaken.com, 1 abhaldus.ee, 1 abhandshake.com, 1 abhayaranya.com, 1 @@ -5288,11 +5274,13 @@ abi-2017.tk, 1 abi-84.info, 1 abi-fvs.de, 1 +abi.edu, 0 abi91-walsrode.de, 1 abi95oha.de, 1 abiapp.net, 1 abias.com, 1 abibliasagrada.tk, 1 +abidhasandm.com, 1 abidinginhesed.com, 1 abiedu.com, 1 abierta.cr, 1 @@ -5327,7 +5315,6 @@ abivert-piscines.fr, 1 abk.com.tr, 1 abkhazianews.tk, 1 -ablauf.com, 1 ablebits.com, 1 ablecha.tk, 1 ablehorsehandlers.au, 1 @@ -5351,7 +5338,6 @@ abmackenzie.com, 1 abmarketx.com, 1 abmc.gov, 1 -abmelden.com, 1 abminv.com, 1 abmledger.ca, 1 abn-consultants.ie, 1 @@ -5421,6 +5407,7 @@ abouthrm.nl, 1 aboutict.nl, 1 aboutislam.tk, 1 +aboutlady.com, 1 aboutlegal.nl, 1 aboutlevi.ga, 1 aboutmarketing.ga, 1 @@ -5438,6 +5425,7 @@ abouttablewares.tk, 1 abouttime.gq, 1 abouttravel.gq, 1 +aboutvpn.com, 1 aboutwealthcreation.tk, 1 aboutwikipedia.org, 1 aboutyou.at, 1 @@ -5515,6 +5503,7 @@ abseits.org, 0 absentia.cf, 1 absinsurance.com, 1 +absmktapp.com, 1 absolab.xyz, 1 absolem.cc, 1 absoluav.com, 1 @@ -5533,6 +5522,7 @@ absolutmedia.ro, 1 absolutperm.tk, 1 absolutweb.tk, 1 +absorbai.com, 1 absorbent-pad.com, 1 absorblms.com, 1 abssoft.tk, 1 @@ -5550,7 +5540,7 @@ abteam.tk, 1 abteutonia.de, 1 abth.tk, 1 -abtherapy.co.uk, 0 +abtherapy.co.uk, 1 abthorpe.org, 1 abtinheydari.tk, 1 abu-auftrag.ch, 1 @@ -5637,6 +5627,7 @@ acasadoprodutor.com.br, 1 acasundayschool.org, 1 acat.io, 1 +acatepec.com, 1 acatiimi.fi, 1 acb.com.vn, 1 acbandt.com, 1 @@ -5651,7 +5642,6 @@ accademiapugilistica.it, 1 accadia.academy, 1 accalendar17.net, 1 -accc.gov.au, 1 accedeainternet.gov, 1 accedeme.com, 1 accedia-distribution.com, 1 @@ -5660,16 +5650,15 @@ accelerate-ed.org, 1 accelerateautorepair.com, 1 acceleratedreading.cf, 1 -acceleratethesale.com, 1 +acceleratethesale.com, 0 accelerateyourworld.org, 1 accelerationsummit.com, 1 -accelerator.nyc, 1 accelerator.tk, 1 accelergent.com, 1 +accelevirdx.com, 1 accelsnow.com, 1 accentchair.net, 1 accentharmonizer.ai, 1 -accentsduterroir.fr, 1 accesdirectmarketing.ca, 1 accesdirectmarketing.com, 1 accesloges.com, 1 @@ -5738,14 +5727,16 @@ accreditamento.net, 1 accreditedbuildingservices.com, 1 accrue401k.com, 1 +accsaber.com, 1 +accslot.com, 1 accstrading.com, 1 accubitsdemo.ml, 1 accudemia.net, 1 accueil-paysan.com, 1 accueillons.org, 1 +acculedger.com.au, 0 acculongrange.com, 1 accumulus.org, 1 -accuphotography.com, 1 accurateinfosolutions.in, 1 accuride.com, 1 accurx.nhs.uk, 1 @@ -5793,7 +5784,6 @@ acemadeira.pt, 1 acemsa.ga, 1 acemypaper.com, 1 -acenda.com.au, 0 acendas.com, 0 acendealuz.com.br, 1 aceofdiamondspainting.com, 1 @@ -5842,6 +5832,7 @@ achildshome.com, 1 achildshome.org, 1 achill.org, 1 +achillachill.de, 1 achimrosenhagen.de, 1 achinsk.tk, 1 achintyaesbee.tk, 1 @@ -5879,7 +5870,6 @@ acingov.pt, 1 acinq.co, 1 acinto.net, 1 -acipayam.bel.tr, 1 acisms.es, 1 ack.tax, 1 ackermanmikasa.ddns.net, 1 @@ -5890,7 +5880,6 @@ aclinjury.sg, 1 aclipt.com, 0 acloud.one, 1 -acloud.pt, 1 acls13.fr, 1 aclu.org, 0 acm.vc, 1 @@ -5926,6 +5915,7 @@ acorncastles.co.uk, 1 acornli.com, 1 acornmetal.com.au, 1 +acorny.io, 1 acosta.group, 1 acotadecalle.tk, 1 acotec.com.my, 1 @@ -5933,7 +5923,6 @@ acourtreporter.com, 1 acourtreporter.net, 1 acousticalsolutions.com, 1 -acousticandfire.co.uk, 1 acousticbuy.com.ua, 1 acoustics.network, 0 acoustics.tech, 1 @@ -5981,6 +5970,7 @@ acroteam.tk, 1 acroyoga-nuernberg.de, 1 acrplus.org, 1 +acrux.education, 1 acrylbilder-acrylmalerei.de, 1 acrylicstyle.xyz, 1 acrylicwifi.com, 1 @@ -5998,6 +5988,7 @@ acsmuhendislik.com.tr, 1 acsports.ca, 1 acss.com, 1 +acsshealth.com, 1 acstallningsmontage.se, 1 act-news.com, 1 act-on.com, 1 @@ -6043,7 +6034,6 @@ actionsandreactions.com, 1 actionverb.com, 1 actisgolf.com, 1 -actiumhealth.com, 0 activate.ch, 1 activate.swiss, 1 activated.win, 1 @@ -6054,6 +6044,7 @@ active-english.tk, 1 active.agency, 0 active247.info, 1 +active24electricians.com, 1 activeaerogels.com, 1 activecare-monitor.com, 0 activeclearweb.com, 1 @@ -6105,7 +6096,6 @@ actro.ga, 1 actro.gq, 1 actronx.tk, 1 -actsofkindness.org, 1 actsofsilence.com, 1 actu-itech.cf, 1 actuaasofarma.com, 1 @@ -6118,6 +6108,7 @@ actuallykabouters.com, 1 actualno.com, 1 actualprogressivevotersguide.com, 1 +actualseomedia.com, 1 actualsizemusic.tk, 1 actualtechnoshamanism.net, 1 actumeridien.com, 1 @@ -6194,6 +6185,7 @@ adadimall.com, 1 adaera.com, 1 adaeze-wolf.com, 1 +adage.fi, 1 adagia.eu, 1 adaircomo.gov, 1 adaircosomo.gov, 1 @@ -6213,8 +6205,10 @@ adamas-magicus.ru, 1 adamaveray.com.au, 1 adambryant.ca, 0 +adamburgess.me, 1 adamcarbonell.com, 1 adamcoffee.net, 0 +adamczewska.com.pl, 1 adamdixon.co.uk, 1 adamdorman.com, 1 adameveplus.com, 1 @@ -6285,7 +6279,6 @@ adasiacorp.com, 1 adassist.nl, 1 adasworks.com, 1 -adata-c.kz, 1 adatitleiii.com, 1 adativos.com.br, 1 adats.com, 1 @@ -6414,7 +6407,6 @@ adfs.pro, 1 adftrasporti.it, 1 adfyl.tk, 1 -adg-devochtspecialist.be, 1 adg.is, 1 adg.vn, 1 adgh.ml, 1 @@ -6433,9 +6425,9 @@ adhoor.ir, 1 adi.com.au, 1 adi.net.au, 1 -adiaf.com, 1 adiannyramirez.com, 1 adib.family, 1 +adicctv.com, 1 adictosdominantescdls.tk, 1 adidas-2020-spring.com, 1 adiesyndrome.tk, 1 @@ -6458,7 +6450,6 @@ adiprospero.it, 1 adiraku.co.id, 1 adit.com, 1 -aditumconsulting.com, 1 aditushealth.com.br, 1 adityadees.com, 1 adityaes.eu.org, 1 @@ -6528,6 +6519,7 @@ admiral-strand.dk, 1 admiralcloud.com, 1 admirando.com, 1 +admission-help.org, 1 admissionpromotion.com, 1 admody.com, 1 admongo.gov, 1 @@ -6540,14 +6532,12 @@ adnanotoyedekparca.com, 1 adncpa.ca, 1 adncpa.com, 1 -adndigital.com.br, 1 adnexa.it, 1 adney.land, 1 adnolesh.com, 1 adnscript.tk, 1 adnseguros.es, 1 adolesce.com, 1 -adolfocanto.xyz, 1 adoll.ml, 1 adomani-italia.com, 1 adomicilio.gt, 1 @@ -6585,9 +6575,9 @@ adoropets.com.br, 1 adotta.me, 1 adoucishop.fr, 1 -adownloader.org, 1 adp.fr, 1 adphotography.pl, 1 +adpogede.com, 1 adpot.xyz, 0 adr-stock.com, 1 adr.gov, 1 @@ -6601,13 +6591,14 @@ adregain.ru, 1 adrenajump.com.br, 1 adrenalin.is, 1 -adrenalin.od.ua, 0 +adrenalin.od.ua, 1 adrenalinhunters.tk, 1 adresilo.com, 1 adresse-ip-publique.fr, 1 adressendata.nl, 1 adresults.com, 0 adresults.nl, 0 +adriacamps.com, 1 adrian-riemer.tk, 1 adrian2023.com, 1 adrian2023.de, 1 @@ -6655,7 +6646,6 @@ adsense-arbitrage.com, 1 adseye.tk, 1 adsforcash.ga, 1 -adshooter.com, 1 adsintl.net, 1 adsl2meg.fr, 1 adsmarketing.tk, 1 @@ -6687,6 +6677,7 @@ adstop.ml, 1 adstriq.com, 1 adstune.com, 1 +adsurfy.com, 1 adsviews.gq, 1 adswoo.com, 1 adt.co.za, 1 @@ -6700,6 +6691,7 @@ adultbizz.eu, 1 adulteducation.org.uk, 1 adultgames.pro, 1 +adultphotovideo.com, 1 adulttrust.com, 1 adurra.com, 1 adutoras.com.br, 1 @@ -6744,7 +6736,7 @@ advancedturf.tk, 1 advancedwcanalytics.com, 1 advancedwriters.com, 1 -advancematerials.com.sg, 1 +advancematerials.com.sg, 0 advancemoversnc.com, 1 advanceoptical.com, 1 advances.in, 1 @@ -6803,7 +6795,7 @@ adventures.is, 1 adventuretoursbend.com, 1 adventuringup.com, 1 -adventurouswomen.com.au, 1 +adventurouswomen.com.au, 0 adventvalue.com, 1 advercarte.com, 1 adverganda.com, 1 @@ -6817,6 +6809,7 @@ advertisingphonesest.ga, 1 advertisment.ga, 1 advertizer.com, 1 +advertorialeseo.eu, 1 adverts.ie, 1 advery.tk, 1 advi.no, 1 @@ -6830,19 +6823,19 @@ advictedgames.com, 1 adviesfactuur.nl, 1 adviesgv.nl, 1 -advinans.io, 1 advinans.se, 1 advinix.fr, 1 advirk.tk, 1 advisertula.ru, 1 advisorperspectives.com, 1 advmaster.cf, 1 -advocaat-dejonge.be, 1 advocacyforyou.co.uk, 1 +advocado-films.com, 1 advocat.te.ua, 1 advocatae.com, 1 advocatburo.tk, 1 advocateanakha.com, 1 +advocharge.com, 1 advoervice.ga, 1 advogadavaleria.com.br, 1 advogatech.com.br, 0 @@ -6873,9 +6866,7 @@ advokaty.cf, 1 advokaty.gq, 1 advpassos.com.br, 1 -advritujeph.in, 1 advtran.com, 0 -advu.no, 1 adware.pl, 0 adwokat-kielce.com.pl, 1 adwokat.bydgoszcz.pl, 1 @@ -6987,6 +6978,7 @@ aerobiconline.tk, 1 aerobiomasa.com, 1 aerobotz.com, 0 +aerock-air.ru, 1 aeroclub-tolhuin.tk, 1 aeroct.com.br, 1 aerodoc.com, 1 @@ -7005,7 +6997,6 @@ aeroklub.tk, 1 aerolog.co, 0 aerometrix.co, 1 -aeromot.com, 1 aeronautix.com, 1 aeropetz.com.br, 1 aeroplan.tk, 1 @@ -7030,6 +7021,7 @@ aerozone.tk, 1 aertel.ie, 1 aerztekammer-berlin.de, 1 +aerztekasse.ch, 1 aerztezentrum.io, 1 aes.org.pt, 1 aesencryption.org, 1 @@ -7090,6 +7082,7 @@ afam-ks.com, 1 afanasev.tk, 1 afanias.org, 0 +afantou.com, 1 afapaucasals.cat, 1 afas-apps.nl, 1 afasim.tk, 1 @@ -7150,7 +7143,7 @@ affiliates-psychicsource.com, 1 affiliatexpo.it, 0 affine.space, 1 -affinipay.com, 0 +affinipay.com, 1 affinity.co, 1 affinity.vc, 1 affinitycu.ca, 1 @@ -7210,6 +7203,7 @@ afilmedia.llc, 1 afinterio.com, 1 afishablogs.tk, 1 +afix.info, 1 afiyetolsun.jp, 1 afk.surf, 1 afkmind.com, 1 @@ -7279,7 +7273,6 @@ afterlifeos.com, 1 aftermagic.com, 1 aftermarketinternational.com, 1 -aftermix.com, 1 afternoonhereyes.tk, 1 afteroblivion.tk, 1 afterpartyme.com, 1 @@ -7288,7 +7281,8 @@ afterskool.eu, 1 afterstack.net, 1 aftodioikisi.gr, 1 -aftonbladet.se, 1 +aftonbladet.se, 0 +aftwrk.io, 1 afuturewithoutfear.org, 1 afuturewithoutfear.us, 1 afuzion.com, 1 @@ -7305,7 +7299,6 @@ ag1604.com, 1 ag1607.com, 1 ag1projects.com, 1 -ag3232g.com, 0 ag388.vip, 1 ag4.app, 0 ag518518.net, 1 @@ -7318,7 +7311,6 @@ ag6225.com, 1 ag66321.com, 1 ag69000.com, 1 -ag8.im, 0 ag8.vip, 1 ag80808.com, 1 ag812.tv, 1 @@ -7346,6 +7338,7 @@ agabucheros.tk, 1 agad.tk, 1 agafayoasissky.com, 1 +against.porn, 1 against.tk, 1 againstgynexams.tk, 1 againsttheneighbour.tk, 1 @@ -7427,7 +7420,7 @@ agenciatraffic.com.br, 1 agencja-interaktywna.ga, 1 agencja-interaktywna.tk, 1 -agencjaflo.pl, 1 +agencjaflo.pl, 0 agencxy.ga, 1 agencybeam.com, 1 agencyeve.com, 0 @@ -7444,9 +7437,10 @@ agendaplus.ch, 1 agendaspectacles.fr, 1 agendatrad.org, 1 -agendavalencia.es, 1 +agendavalencia.es, 0 agender.me, 1 agendominoq.tk, 1 +agenstry.com, 1 agent-007.tk, 1 agent-grow.com, 1 agent47.tk, 1 @@ -7457,7 +7451,7 @@ agentesevillanocooper.tk, 1 agentfire.com, 1 agentfirewall.com, 1 -agentflow.garden, 1 +agentflow.garden, 0 agenticdelivery.se, 1 agenticsoftwarefactory.com, 1 agentmagic.com, 1 @@ -7474,7 +7468,6 @@ agentur-haas.com, 1 agentur-pottkinder.de, 1 agentur-publik.de, 1 -agentwish.online, 1 agentz.ga, 1 agenziapubblicitaria.roma.it, 1 agenziefunebri.it, 1 @@ -7488,7 +7481,6 @@ agfmedia.com, 0 agg097.com, 1 agg88.com, 1 -aggcom.org, 1 aggielandtutoring.com, 1 agglo-sion.ch, 1 aggn.info, 1 @@ -7640,6 +7632,7 @@ agro-ferma.tk, 1 agro-forestry.net, 1 agro-iva.com, 1 +agro-led.ru, 1 agro-parts.bg, 1 agro.gov.br, 1 agrobank.uz, 0 @@ -7653,17 +7646,16 @@ agrodolce.it, 1 agrodrip-zahara.com, 1 agroenos.com, 1 +agroequipos.com.mx, 1 agroexp.com.ua, 1 agrofact.com, 1 agrofind.com.br, 1 agrogrup79.com, 1 -agrohim.com, 1 agroinsider.com, 1 agrokomi.tk, 1 agrokredit.ga, 1 agroland.tk, 1 agrolife.tk, 1 -agroma.com, 1 agromanagement.kz, 1 agromester.md, 1 agromotorsburzaco.com, 1 @@ -7727,7 +7719,6 @@ agworkers.com, 1 agxl.cloud, 1 agy.cl, 1 -agyata.com, 1 agzy.tw, 1 agzy.vip, 1 aha.io, 1 @@ -7735,7 +7726,6 @@ ahansen.is, 0 aharoj.io, 1 ahbap.org, 1 -ahccmadison.com, 0 ahccorleone.tk, 1 ahcfacilities.com, 1 ahcpr.gov, 1 @@ -7792,9 +7782,9 @@ ahmetshina.tk, 1 ahmettoraman.com.tr, 1 ahmu.com, 1 -ahmud.net, 1 ahnastro.net, 1 ahoeheng.com, 1 +ahoghill.com, 1 ahoj.email, 1 ahomeconcept.com, 1 ahornblatt.org, 1 @@ -7803,7 +7793,6 @@ ahosamuel.com, 1 ahosting.net, 1 ahouansou.cz, 1 -ahqf.com, 1 ahrefs.com, 1 ahroproject.org, 1 ahrq.gov, 1 @@ -7815,12 +7804,13 @@ ahsts.ca, 1 ahswarranty.com, 1 ahsyg.com, 1 -aht.ca, 1 ahtcf.org, 1 ahtuxpk.ru, 1 ahuhvac.com, 1 ahv-gmbh.net, 1 ahwah.net, 1 +ai-adversary.com, 1 +ai-agentura.ru, 1 ai-analytics-hub.com, 1 ai-articlehumanizer.cloud, 1 ai-crafters.io, 1 @@ -7895,11 +7885,9 @@ aidez-moi.eu, 1 aidhan.net, 1 aidi-ahmi.com, 1 -aiding.com, 1 aidliveers.ga, 1 aido.gq, 1 aidoc.com, 1 -aidong.com, 1 aidoru.net, 1 aidoru.top, 1 aids-dissidents.tk, 1 @@ -7966,6 +7954,7 @@ aimiescreations.com, 1 aiminet.com, 1 aimingforacure.com, 1 +aimiracle.ai, 1 aimixglobal.com, 1 aimless.tk, 1 aimlessempire.tk, 1 @@ -7997,12 +7986,14 @@ aintfeelingit.com, 1 ainutrition.co.uk, 1 ainzu.net, 1 +aio.net, 1 aiois.com, 1 aioj.ac, 1 aiom.tk, 1 aion.be, 1 aion.eu, 1 aion.fi, 1 +aioproductos.com, 1 aiosetups.com, 1 aiot.pw, 1 aipcardio.hu, 1 @@ -8037,6 +8028,7 @@ airacle.in, 1 airaplus.ca, 1 airappliances.in, 1 +airassaultfireworks.com, 1 airbender.tk, 1 airbnb.ae, 1 airbnb.at, 1 @@ -8124,7 +8116,6 @@ aircrewportpages.com, 1 aircrewtrac.com, 1 airday.tk, 1 -airdeer.com, 1 airdropkings.com, 1 airductcleaninggrandprairie.com, 1 airdur.eu, 1 @@ -8158,7 +8149,6 @@ airflux.fr, 1 airforce-technology.com, 1 airforce.com, 1 -airfoto.com, 1 airfoto.tk, 1 airfox.cf, 1 airfox.gq, 1 @@ -8178,7 +8168,6 @@ airline-rabota.tk, 1 airlinebookingtickets.com, 1 airlinebuyticket.com, 1 -airlinec.com, 1 airlinecheapflightinternationalticket.com, 1 airlinecheapflightticket.com, 1 airlinecheapprices.com, 1 @@ -8240,7 +8229,6 @@ airlinestoorlando.com, 1 airlinestoturkey.com, 1 airlinesturkey.com, 1 -airlineti.com, 1 airlinetic.com, 1 airlineticketscheapflights.com, 1 airlineticketsfrom.com, 1 @@ -8273,8 +8261,6 @@ airplanestatsers.ga, 1 airplanestatsest.ga, 1 airplanet.tk, 1 -airplanetic.com, 1 -airplanetick.com, 1 airplaneticketcheap.com, 1 airplay-inflatable-hire.co.uk, 1 airplayradio.nl, 1 @@ -8308,9 +8294,9 @@ airports-paris.net, 1 airportsbarcelona.com, 1 airportstickets.com, 1 -airporttaxibudapest.com, 0 -airporttransferbudapest.co.uk, 0 -airporttransferbudapest.com, 0 +airporttaxibudapest.com, 1 +airporttransferbudapest.co.uk, 1 +airporttransferbudapest.com, 1 airportzo.net.in, 1 airpurifierproductsonline.com, 1 airquestion.org, 1 @@ -8342,9 +8328,7 @@ airtimerewards.co.uk, 0 airtrain.gq, 1 airtrolinc.com, 1 -airtron.com, 1 airventuri.com, 1 -airvet.com, 1 airvida.sg, 1 airvpn.org, 1 airwater-hprogram.jp, 1 @@ -8411,6 +8395,7 @@ aiwosq.cn, 1 aiwoz.fr, 1 aiwriter.tools, 1 +aiwujiwu.com, 1 aixlab.de, 1 aixm.aero, 1 aixploringprovence.com, 1 @@ -8440,6 +8425,7 @@ ajaxtime.tk, 1 ajaxtraining.tk, 1 ajaxworld.tk, 1 +ajayangdembe.com, 1 ajbelltouch.co.uk, 1 ajdaranik.com, 1 ajedrezbolivia.tk, 1 @@ -8447,6 +8433,8 @@ ajeventhire.co.uk, 1 ajfite.com, 0 ajforum.tk, 1 +ajhahn.de, 1 +ajhstamps.co.uk, 1 ajial212.com, 1 ajiboye.com, 1 ajinabraham.com, 1 @@ -8500,7 +8488,7 @@ akad.com.br, 1 akademiaantykorupcyjna.pl, 1 akademiaginekologiionkologicznej.pl, 1 -akademiamarleen.pl, 1 +akademiakierowcy-odtj.pl, 1 akademiawawer.pl, 1 akademiawellbeing.pl, 1 akademicka.pl, 1 @@ -8611,6 +8599,7 @@ aklagare.se, 1 akmatrix.org, 1 akmens.id, 1 +aknode.cz, 1 ako.gl, 1 akoben.cloud, 1 akoch.net, 1 @@ -8621,6 +8610,7 @@ akormatik.com, 1 akostecki.de, 1 akouryy.net, 1 +akoustream.com, 1 akoya.fi, 1 akoyabio.com, 1 akp.photos, 1 @@ -8644,12 +8634,11 @@ akropolis-ravensburg.de, 1 akroslive.com, 1 akrzon.com, 1 +aks24.ch, 1 aksehir.bel.tr, 1 akselinurmio.fi, 1 aksenov.tk, 1 aksenovalexey.tk, 1 -aksesuarai.com, 1 -akshavitrends.com, 1 akshay.in.eu.org, 1 akshit.me, 1 aksnapshots.com, 1 @@ -8659,8 +8648,6 @@ akt.health, 1 aktaspompa.com, 1 aktelectric.com.co, 1 -aktin.cz, 1 -aktin.sk, 1 aktion-vielfalt.ch, 1 aktiv-naturheilmittel.at, 1 aktiv-naturheilmittel.ch, 1 @@ -8673,7 +8660,6 @@ aktmedurna.se, 1 aktransmission.com, 1 aktuel-urunler.com, 1 -aktuelleprospekte.at, 1 aktueller.com, 1 akuislam.com, 1 akuku-parkitka.pl, 1 @@ -8705,7 +8691,6 @@ al-dostour.com, 1 al-etraaf-belmoahlat-fi-almania.de, 1 al-etraaf-fi-almania.de, 1 -al-hekka.com.ua, 1 al-mashora.com, 1 al-monitor.com, 1 al-rawasi.net, 1 @@ -8732,7 +8717,6 @@ alabamafurs.com, 1 alabamanet.tk, 1 alabamaonlinedivorce.com, 1 -alabamasheriffs.com, 1 alabamasoilandwater.gov, 1 alabamatitlesearch.com, 1 alaboard.com, 1 @@ -8830,6 +8814,7 @@ alaunus.com, 1 alavieestbelle.be, 1 alb-flirt.de, 1 +alb-it-service.de, 1 alb-media.tk, 1 alba.ovh, 1 alba24.ro, 1 @@ -8859,6 +8844,7 @@ albanycountywy.gov, 1 albanycourtreporter.com, 1 albanylaser.ca, 1 +albanymurdermystery.com, 1 albanyoregon.gov, 1 albarius.ga, 1 albaron.io, 1 @@ -8869,6 +8855,7 @@ albatrostercume.com, 1 albauroman.com, 1 albayan.ae, 0 +albconnection.com, 1 albemarlehistory.org, 1 albendazole.ga, 1 albendazole.ml, 1 @@ -8877,8 +8864,8 @@ alberguecovadonga.es, 1 alberosano.it, 1 albersenergieadvies.nl, 1 -albert.lol, 1 albertapp.com, 1 +albertarkwrightandsons.com, 1 albertathome.org, 1 albertcuyp-markt.amsterdam, 1 alberteinsteinbiography.tk, 1 @@ -8941,7 +8928,6 @@ alchemisten.tk, 1 alchemiya.ru, 1 alchemy.net, 1 -alchemyfarmsbds.com, 1 alchemyinfusionco.com.au, 1 alchemyresource.com, 1 alchemytechconnect.com, 1 @@ -8982,7 +8968,6 @@ alderautomation.ca, 1 alderimages.com, 1 aldervets.co.uk, 1 -aldevadigital.com, 1 aldiacademy.com.au, 1 aldien.com.br, 1 aldilaijan.com, 1 @@ -9007,7 +8992,6 @@ alector.com, 1 aledoil.gov, 1 aledotx.gov, 1 -aleefgreen.com, 1 aleftinka.tk, 1 alegriafm.tk, 1 alegromania.tk, 1 @@ -9048,8 +9032,7 @@ alenbadel.com, 1 alendronate.gq, 1 alendronato.com, 1 -alentaja.com, 1 -alentaja.fi, 1 +alenna.com, 1 alenvlahovljak.com, 0 alenwich.com, 1 aleph.land, 1 @@ -9059,7 +9042,6 @@ aleromtrowbank.tk, 1 alerque.com, 1 alerrt.org, 1 -alert-lb.com, 1 alert-software.com, 1 alertaenlinea.gov, 1 alertlogic.com, 1 @@ -9083,6 +9065,7 @@ alessandrorumi.it, 1 alessandrotravel.com, 1 alessandroz.ddns.net, 1 +alessevan.fr, 1 alessiacornici.com, 1 alessioligabue.it, 1 alessiomesiano.com, 1 @@ -9094,7 +9077,6 @@ alevi-forum.tk, 1 alevi.tk, 1 alex-klaus.com, 1 -alex-kunz.com, 1 alex-n.net, 1 alex-ross.co.uk, 1 alex-werbung.de, 0 @@ -9116,6 +9098,7 @@ alexander.dk, 1 alexanderandwilks.co.uk, 1 alexanderb.info, 1 +alexanderdietrich.at, 1 alexandererber.com, 0 alexanderfiss.de, 1 alexanderg.tk, 1 @@ -9233,6 +9216,7 @@ alexweber.tk, 1 alexwilliams.site, 1 alexwiremesh.com, 1 +alexxxdaniii.com, 1 alexyang.me, 1 alexzeta.tk, 1 aleymedya.ga, 1 @@ -9259,7 +9243,6 @@ alfadoc.pl, 1 alfadoc.se, 1 alfafile.net, 1 -alfagl.com, 1 alfahir.hu, 1 alfalasteenyia.cf, 1 alfambra.tk, 1 @@ -9272,7 +9255,6 @@ alfastone.com.ua, 1 alfatar-milk.com, 1 alfavit.cf, 1 -alfawedding.com, 1 alfithrah.ac.id, 1 alfonso-baya.tk, 1 alfonsostriano.it, 1 @@ -9328,6 +9310,7 @@ algorytm.tk, 1 algosec.com, 1 algosensei.in, 1 +algostorm.com, 1 algotech.org, 1 algotest.in, 1 algovisionhub.com, 1 @@ -9340,9 +9323,7 @@ alhs-archives.com, 1 alhuqul-kh.com, 1 ali-shariati.tk, 1 -ali360.com, 1 alia-helianthi.tk, 1 -aliads.com, 1 aliakpoyraz.com, 0 alialkurdy.tk, 1 aliamakeup.com, 1 @@ -9355,13 +9336,10 @@ aliasinfoforums.tk, 1 aliaslaw.com, 1 aliaswp.com, 1 -aliauction.com, 1 alibabau.tk, 1 alibamu.com, 1 alibi-ua.com.ua, 1 alibip.de, 1 -alibiz.com, 1 -alicafe.com, 1 alicante-spain.tk, 1 alice-memorial.de, 1 alice.tw, 1 @@ -9374,7 +9352,6 @@ alicekinkycat.net, 1 alicestudio.it, 1 alicetone.net, 1 -alicevardel.fr, 0 alicfcloud.com, 1 alicia-carvalho.com, 1 aliciabytes.com, 1 @@ -9383,10 +9360,10 @@ alicjawkrainiecanavan.pl, 1 alicoinsdeals.com, 1 alida.com, 1 -alidanbao.com, 1 aliel.fr, 1 alien-life.tk, 1 alien.net.au, 1 +aliena.co.uk, 1 alienantfarm.tk, 1 alienclicker.ml, 1 alienemporium.tk, 1 @@ -9406,15 +9383,13 @@ alifeinbinary.com, 1 alight.ge, 1 alightwell.com, 1 -aligift.com, 1 -align-pilates.lt, 1 align27.com, 1 -alignancekinesiologie.fr, 1 +aligned.church, 1 alignedchiro.org, 1 aligneddc.com, 1 alignedweb.com, 1 +alignext.io, 1 alignminds.com, 1 -alihard.com, 1 alihashemrasheed.com, 1 aliibrahimov.tk, 1 aliim.gdn, 1 @@ -9422,7 +9397,6 @@ alila.dog, 1 alilepro.cf, 1 alilialili.ga, 1 -alimade.com, 1 alimahmood.com, 1 alimanaka-rabesata.tk, 1 aliment-covid19.com, 1 @@ -9445,10 +9419,10 @@ alionexagro.com, 1 aliorange.com, 1 aliosmanyuksel.com.tr, 1 -alipad.com, 1 alipub.com, 1 alireza2love.tk, 1 alirezahesari.com, 1 +alirpay.com, 1 alis-asso.fr, 0 alis-test.tk, 1 alisblog.ml, 1 @@ -9459,6 +9433,7 @@ alisoft.gq, 1 alisondavenport.ga, 1 alisonmatter.tk, 1 +alisonswindles.com, 1 alissa-group.com, 1 alissanoir.net, 1 alisstyle.tk, 1 @@ -9475,20 +9450,20 @@ alisy.de, 1 alitabergert.tk, 1 alitajran.com, 1 -alitalk.com, 1 alitec.it, 1 alitpedia.ga, 1 alittlecoldgel.com, 1 alittledelightful.com, 1 -alitudi.com, 1 alitv.com, 1 aliud.be, 1 aliv.biz, 1 +alive4health.com, 1 aliveinside.org, 1 aliwuliu.com, 1 alix-board.de, 1 alixarmour.com, 1 aliyasin.org, 1 +aliyuncs.life, 1 alizeemedia.tk, 1 aljaspod.ch, 1 aljaspod.com, 1 @@ -9539,11 +9514,9 @@ all-pics.tk, 1 all-rating.tk, 1 all-seo.tk, 1 -all-star-autoglass.com, 0 all-stuff.tk, 1 all-things.tk, 1 all-top.tk, 1 -all-waystraining.com.au, 1 all-wot.ml, 1 all.li, 1 all4hardware4u.de, 1 @@ -9569,6 +9542,7 @@ allactionsecurity.com, 1 allahabadhighcourt.in, 1 allai.su, 1 +allaitools.net, 1 allamakee.k12.ia.us, 1 allamericangutterprotection.com, 0 allamericanprotection.net, 1 @@ -9605,7 +9579,6 @@ allbrestby.tk, 1 allbrestorg.tk, 1 allbridges.tk, 1 -allbs.pt, 1 allbut.ai, 1 allbutai.0am.jp, 1 allbutai.0g0.jp, 1 @@ -9639,7 +9612,6 @@ allcinema.net, 1 allcleanportapottyrental.com, 1 allcloud.com, 1 -allcomic.com, 1 allcooking.tk, 1 allcookingclub.com, 1 allcouponat.com, 1 @@ -9730,9 +9702,9 @@ allfoodrecipes.ga, 1 allforex.ml, 1 allforhon.tk, 1 -allforlocal.com, 1 allform.se, 1 allfortips.com, 1 +allfreshtempca.com, 1 allfundsconnect.com, 1 allfur.love, 1 allgadgetsfree.tk, 1 @@ -9760,7 +9732,6 @@ alliancefireandsafety.com, 1 allianceforafreesociety.com, 1 allianceforafreesociety.net, 1 -allianceguide.com, 1 alliancemannin.com, 1 alliances-globalsolutions.com, 0 alliancesolutionsgrp.com, 1 @@ -9895,12 +9866,13 @@ allmoviesonline.tk, 1 allmystery.de, 1 allnaijagists.com.ng, 1 -allnations4christ.org, 1 +allnations4christ.org, 0 allnodes.com, 1 allnovosibirsk.tk, 1 allns.fr, 1 allo-credit.ch, 0 allo-luxembourg.tk, 1 +allodia.eu, 1 allofthestops.com, 1 allohol.de, 1 alloldpics.com, 1 @@ -9916,7 +9888,6 @@ allpantypics.com, 1 allpaydirect.com, 1 allpedia.tk, 1 -allpipetechnologies.com.au, 1 allpointsblog.com, 1 allporn.pics, 1 allporncomic.com, 1 @@ -9955,6 +9926,10 @@ allstarbyreportex.ca, 1 allstarbyreportex.com, 1 allstarcashforcars.com, 0 +allstarcasino1.com, 1 +allstarcasino15.com, 1 +allstarcasino3.com, 1 +allstarcasino5.com, 1 allstarcustompools.com, 1 allstarreporting.ca, 1 allstarreporting.com, 1 @@ -10005,9 +9980,11 @@ allworld.ga, 1 allwrestling.ga, 1 allxon.com, 1 +ally-fitness.com, 1 allyachts.cf, 1 allyachts.gq, 1 allyfile.com, 1 +allyoursaasarebelongtous.com, 1 allywebsite.com, 1 allyweds.com, 1 almaarkansas.gov, 1 @@ -10085,6 +10062,7 @@ alnoorintl.com, 1 alobees.com, 1 alocasomedia.net, 1 +alodev.vn, 1 alodokita.com, 1 aloe-care.tk, 1 aloe-vera-info.tk, 1 @@ -10112,7 +10090,6 @@ alonsoluzgas.es, 1 alonuocsuoi.com, 1 aloo.ga, 1 -aloomic.com.au, 1 alorimusic.es, 1 aloris-controle.fr, 1 aloro.io, 1 @@ -10146,6 +10123,7 @@ alpenjuice.com, 1 alpenschmarrn.de, 1 alpensternderl.de, 1 +alpentech.ai, 1 alperenremziunal.me, 1 alperia.eu, 1 alperozmen.kim, 1 @@ -10175,6 +10153,7 @@ alphachat.net, 1 alphacity.tk, 1 alphaclean-hannover.de, 1 +alphaconsultancy.sa, 1 alphacorp.tk, 1 alphadance.tk, 1 alphadefense.co.za, 1 @@ -10184,7 +10163,6 @@ alphaeducation.edu.vn, 1 alphaetomega3d.fr, 1 alphagames.tk, 1 -alphagrowth.io, 1 alphahosting.hu, 1 alphainsider.com, 1 alphakites.de, 1 @@ -10202,7 +10180,9 @@ alpharoofga.com, 1 alphasall.com, 1 alphasoft-i.net, 1 +alphasolutions.cz, 1 alphassl.de, 1 +alphastore.cz, 1 alphastrip.com, 1 alphat.net, 1 alphatam.com, 1 @@ -10215,7 +10195,6 @@ alphaworks.it, 1 alphazure.co.uk, 1 alphazure.com, 1 -alphimedia.com, 1 alphipneux.fr, 1 alphline.com.sg, 0 alphonso.tv, 1 @@ -10241,6 +10220,7 @@ alquran-online.tk, 1 alr-photography.com, 1 alrafayglobal.com, 0 +alrahman.ch, 1 alrahman.de, 1 alrdc.com, 1 alre-outillage.fr, 1 @@ -10256,7 +10236,6 @@ alshamil.tk, 1 alsharkest.net, 1 alskar.co, 0 -also.cool, 1 alsol.fr, 1 alsonkaw.com, 1 alsops.cf, 1 @@ -10266,7 +10245,7 @@ alt-three.com, 0 alt-til-windows.dk, 1 alt-wien.com, 1 -alt.cx, 1 +alt.cx, 0 alt.org, 1 alta-densidad.tk, 1 alta-ict.nl, 1 @@ -10317,6 +10296,7 @@ altea.it, 1 altec.pl, 1 altenagala.nl, 1 +alter-ego.work, 1 alteralife.eu, 1 alteraro.com, 1 alteraro.org, 1 @@ -10409,7 +10389,6 @@ altopia.com, 1 altoplan.de, 1 altos.tk, 1 -altospam.net, 1 altovoltaggio.tk, 1 altoweb.tk, 1 altphotos.com, 1 @@ -10436,11 +10415,9 @@ altview.gq, 1 altyazur.com, 1 altzschner.com, 1 -alu.org, 1 alua.com, 1 alubrandschutz.de, 1 aluchta.tk, 1 -alugha.com, 1 alukard.gq, 1 alukard.ml, 1 alukard.pro, 1 @@ -10464,13 +10441,14 @@ alusib.ga, 1 alusim.ga, 1 alutech34.fr, 1 +alvaapp.se, 1 alvarez.tk, 1 alvarezandmarsal-crg.com, 1 alvarezjoseph.com, 1 alvarezmorales.tk, 1 alvaritoeresnuestradulcelocura.tk, 1 alvaro-smith.link, 1 -alvaroswdn.my.id, 1 +alvaroswdn.my.id, 0 alvarovega.tk, 1 alvastonauto.fi, 1 alvatech.fr, 1 @@ -10490,6 +10468,8 @@ alvordtx.gov, 1 alvosec.com, 1 alvotrix.com, 1 +alwaaw.com, 1 +alwaleed-ord.com, 1 alware.ca, 1 alwaysbepublishing.com, 1 alwaysdata.com, 1 @@ -10579,7 +10559,6 @@ amanerain.com, 1 amanet.ro, 1 amani-kinderdorf.de, 1 -amanit.ch, 1 amanitae.eu, 1 amansaw.com, 1 amansinghbhogal.com, 0 @@ -10651,6 +10630,7 @@ amazonaws-china.com, 1 amazonbookreview.com, 1 amazoncreatica.online, 1 +amazongaragerepairs.com, 1 amazonteckathon.com, 1 amazstaff.com, 1 amaztravail.com, 1 @@ -10691,6 +10671,7 @@ ambion.am, 1 ambisonia.com, 1 ambitionbox.com, 1 +ambitos.com, 1 ambivalence.tk, 1 amblin.com, 1 amboisenagy.freeboxos.fr, 1 @@ -10713,7 +10694,7 @@ ambulanzaprivata.roma.it, 1 ambulari.cz, 1 ambulatori.it, 1 -amburgo.com, 1 +amc22.fr, 1 amcanalense.tk, 1 amcangroup.com, 1 amcasia.com, 1 @@ -10748,7 +10729,7 @@ amelanchiers.tk, 1 amelia-wedding.pl, 1 ameliagb.com, 1 -ameliastudio.co.uk, 1 +ameliastudio.co.uk, 0 ameliatillbryssel.se, 1 amelielei.net, 1 amello.de, 1 @@ -10790,12 +10771,10 @@ americanflooring.co, 1 americanfootball.ml, 1 americanfootball.tk, 1 -americanfreight.com, 1 americangods.tk, 1 americanhomelandtitle.com, 1 americanimageawards.com, 1 americaninsuranceplus.ml, 1 -americanjihad.com, 1 americankickoff.ga, 1 americanlegaltranscription.com, 1 americanmessaging.net, 1 @@ -10836,6 +10815,7 @@ ames-fzco.ae, 1 amesagesse.com, 1 amesgen.de, 1 +amesite.me, 1 amessage.de, 1 amessage.eu, 1 amessage.info, 1 @@ -10844,7 +10824,6 @@ amethystcards.co.uk, 1 amethystdevelopment.co.uk, 1 amethystwebsitedesign.com, 1 -ametinsurance.com, 0 ametrin.biz, 1 amexemp.com, 1 amf.rocks, 1 @@ -10854,7 +10833,6 @@ amfora.gq, 1 amforst.ddns.net, 1 amginternational.org, 1 -amgoc.us, 1 amgreatness.com, 1 amh-entertainments.co.uk, 1 amherstwire.com, 1 @@ -10936,6 +10914,7 @@ amishra.tk, 1 amisoft.co.jp, 1 amisoft.tk, 1 +amispaulfeller.fr, 1 amissing.link, 1 amitopia.tk, 1 amitriptyline-hydrochloride.ga, 1 @@ -10975,8 +10954,9 @@ amnistiya.tk, 1 amoatuaexistencia.com.br, 1 amobileway.co.uk, 1 -amoc.org, 1 +amocasa.ro, 1 amodeocarlo.com, 1 +amoderm.com, 1 amoebababy.eu, 1 amoeboids.com, 1 amogus.cloud, 1 @@ -11108,7 +11088,6 @@ amule.cf, 1 amunanalytics.eu, 1 amundi-ca-assurances.com, 1 -amundi-ee.com, 1 amundi-tc.com, 1 amundsenadventure.com, 1 amundsensports.com, 0 @@ -11140,6 +11119,7 @@ amywinehouseaddicted.tk, 1 amyyeung.com, 1 amz-tas.ba, 1 +amzdoc.help, 1 amzik.tk, 1 amzinfotech.com, 0 amzn.com, 1 @@ -11237,6 +11217,7 @@ anapsi.tk, 1 anaquadrada.com, 1 anar.biz, 0 +anara.fr, 1 anarajaoui.ma, 1 anarcasmetalicos.tk, 1 anarchie-in-lippe.tk, 1 @@ -11341,7 +11322,6 @@ andamineglobal.com, 1 andancoffee.com, 1 andantepiano.studio, 1 -andefang.com, 1 andel.info, 0 anders.hamburg, 1 andersbedraad.nl, 1 @@ -11381,6 +11361,7 @@ andonix.com, 1 andorraimperial.tk, 1 andorrainsiders.com, 1 +andorrana.com, 1 andos.tk, 1 andouillette-thierry.fr, 1 andoyasuyuki.com, 1 @@ -11441,7 +11422,6 @@ andrematosband.tk, 1 andrenguyenvanchau.com, 1 andreoliveira.io, 1 -andreotti-furniture.com, 1 andrepicard.de, 1 andresbandb.tk, 1 andrescuartas.tk, 1 @@ -11460,7 +11440,6 @@ andreupujol.es, 1 andrew.eu.org, 1 andrew.fi, 1 -andrewazzopardi.org, 1 andrewbennett.ltd, 1 andrewcountymo.gov, 1 andrewdaws.co, 1 @@ -11505,6 +11484,8 @@ andriekus.tk, 1 andrienko.tk, 1 andrii.ca, 1 +andrii.co, 1 +andrii.net, 1 andrija-gradecak.from.hr, 1 android, 1 android-10-inch-tablets.tk, 1 @@ -11514,13 +11495,12 @@ android-gamers.tk, 1 android-hit.ml, 1 android-it.cf, 1 -android-mt.com, 1 android-profis.de, 1 android-soft.gq, 1 android-tv.3utilities.com, 1 android-tv.ml, 1 android.com.pl, 1 -android.re, 1 +android.re, 0 androidapkdata.net, 1 androidcrunch.com, 1 androidfinal.com, 1 @@ -11620,8 +11600,6 @@ anesterov.xyz, 1 anetaben.nl, 1 anetteolzon.tk, 1 -anewlife.care, 1 -anewlife.it, 1 anewperspectiveconstruction.com, 1 anex.us, 1 anexperimentedblog.tk, 1 @@ -11637,7 +11615,7 @@ angel-body.com, 1 angel-jrk.com, 1 angel-serv.com, 1 -angel-wing.jp, 1 +angel-wing.jp, 0 angela.baby, 1 angelaheck.com, 1 angelalombardo.it, 1 @@ -11691,13 +11669,14 @@ angepsychedelices.tk, 1 angeredmoon.tk, 1 angermanalvorna.tk, 1 -angesehen.com, 1 angestoepselt.de, 1 angie-webdesign.ch, 1 angiejones.com, 1 angielynx.net, 1 angiesite.tk, 1 +angioclinic-muenchen.de, 1 angioclinic.ch, 1 +angioclinic.de, 1 angiolinikids.it, 1 angione.ca, 1 angione.se, 1 @@ -11736,6 +11715,7 @@ angusbarn.com, 1 anh-dv.com, 1 anhaffen.lu, 1 +anhangabau.com, 1 anhdvboot.com, 1 anhdvshop.com, 1 anhembi.br, 1 @@ -11751,7 +11731,6 @@ aniasafe.it, 1 aniblizzard.tk, 1 anicloud.com.br, 1 -anievo.id, 0 aniforprez.net, 1 anightmareonelmstreet.tk, 1 anihilated.tk, 1 @@ -11990,6 +11969,7 @@ annandaleonline.net, 1 annandaleonline.org, 1 annangela.cn, 1 +annarbormurdermystery.com, 1 annarokina.com, 1 annas-herzenseulen.de, 1 annasheffield.com, 1 @@ -12117,6 +12097,7 @@ anounitedworld.com, 1 anova.com, 1 anoxinon.media, 1 +anoxir.io, 1 anpaju.gq, 1 anqr.link, 1 anquankongjian.com, 1 @@ -12170,7 +12151,6 @@ antalyaduvarkagidi.com.tr, 1 antalyaescmagazin.tk, 1 antalyaescortyaren.tk, 1 -antalyaetkinlikleri.com, 1 antalyahomes.com, 1 antalyamasajsalonu.gq, 1 antanavagefarbiarz.com, 1 @@ -12230,6 +12210,7 @@ anthonymineo.com, 0 anthonymrugacz.com, 1 anthonymrugacz.net, 1 +anthonystephan.com, 1 anthonytimbers.com, 1 anthonytoday.com, 1 anthonytutorials.tk, 1 @@ -12271,7 +12252,6 @@ anticipating.tk, 1 anticonceptieportaal.nl, 0 anticorruption.tk, 1 -anticoruptie.md, 1 antics.tk, 1 antidepressants.tk, 1 antidopamine.com, 1 @@ -12310,7 +12290,6 @@ antikvariat22.cz, 1 antikvarshop.tk, 1 antiled.by, 1 -antilight.com, 1 antimateri.com, 0 antimaterie.tk, 1 antimilitaristasmadrid.org, 1 @@ -12327,7 +12306,6 @@ antique-pedalcars.ch, 1 antiquecenter.gq, 1 antiquefirearms.tk, 1 -antiquemotorcycle.org, 1 antiquesinvestorsest.ga, 1 antireklams.tk, 1 antirepressionbayarea.com, 1 @@ -12400,11 +12378,12 @@ antragsservice-anerkennung-indeutschland.de, 1 antragsserviceanerkennungindeutschland.de, 1 antraxx.ee, 1 +antreq.cloud, 1 antrimcountymi.gov, 1 antrimnh.gov, 1 -antrodiulisse.eu, 0 antroposofica.com.br, 1 antropoteosofija.lt, 1 +antruwa.com, 1 ants-and-me.ml, 1 ants-carte-grise.fr, 1 antsa.cc, 1 @@ -12479,6 +12458,7 @@ anyprime.net, 1 anyquestions.govt.nz, 1 anyradio.ga, 1 +anyrisk.ru, 1 anyrose.ga, 1 anyrow.ai, 1 anysale.ga, 1 @@ -12495,7 +12475,6 @@ anytots.com, 1 anyuta-mebel.tk, 1 anyverse.co.il, 1 -anywayanyday.com, 1 anywhereworks.com, 1 anz.co.nz, 1 anzappl.org, 1 @@ -12521,7 +12500,6 @@ aoe9.com, 1 aoemobilehub.com, 1 aoeuaoeu.com, 1 -aofusa.me, 1 aofusa.net, 1 aogph.org, 1 aoicprobationil.gov, 1 @@ -12546,11 +12524,11 @@ aos-1.com, 1 aosc.kz, 1 aosclan.tk, 1 -aoshiya.com, 1 aosoracafe.com, 1 aostacarnavals.it, 1 aostia.com, 1 aostia.net, 1 +aostia.org, 1 aotearoafreepress.com, 1 aotearoaleaks.org, 0 aotech.tw, 1 @@ -12565,17 +12543,11 @@ ap.icu, 1 ap.nic.in, 1 ap000.cc, 1 -ap0000.cc, 1 ap111.cc, 1 ap1111.cc, 1 ap2.ch, 1 ap2222.cc, 1 ap314.com, 1 -ap3333.cc, 1 -ap5555.cc, 1 -ap6666.cc, 1 -ap7777.cc, 1 -ap8888.cc, 1 ap9999.cc, 1 apa-canal.ro, 1 apache-portal.com, 1 @@ -12618,6 +12590,7 @@ apcmc.pt, 1 apcomputersciencetutoring.com, 1 apcoworldwide.com, 1 +apcw.org, 1 apdfawl.com, 0 apdigital.tech, 1 apdportal.com, 1 @@ -12636,6 +12609,7 @@ apeleg.no, 1 apelsin.ml, 1 apem.com, 1 +aperainst.com, 1 apercloud.es, 1 aperioadvice.ga, 1 aperiomoney.ga, 1 @@ -12694,6 +12668,7 @@ api.org.tr, 1 api.recurly.com, 1 api.saxo, 1 +api.spa, 1 api.tr, 1 api2cart.com, 1 api42.ch, 1 @@ -12767,11 +12742,9 @@ aplusdownload.com, 1 aplusfactoring.com, 1 aplusteachingresources.com.au, 1 -aply.plus, 1 apmdd.org, 1 apmhealth.com, 1 apmtsales.com, 1 -apn-dz.org, 1 apn-einstellungen.de, 1 apnagujarkhan.tk, 1 apnakhattak.tk, 1 @@ -12844,7 +12817,6 @@ apostasolida.com, 1 apostillelondon.com, 1 apostrophe.pl, 1 -apothecarydouglasville.com, 1 apotheek-ict.nl, 1 apotheekvanwacht.be, 1 apothekeonline.tk, 1 @@ -12855,13 +12827,13 @@ app-alp-cp-boost-model.azurewebsites.net, 1 app-at.work, 1 app-ausnovusportal-uat-ae.azurewebsites.net, 1 -app-cinveninfostream-qa.azurewebsites.net, 1 app-colissimo.fr, 1 app-control-fcu.de, 1 app-finops-cspcustos.azurewebsites.net, 1 app-internalapps-v1-uat-crd-hd.azurewebsites.net, 1 app-novusportal-uat-ae.azurewebsites.net, 1 app-online.cloud, 1 +app-scope.com, 1 app-sharepoint-v1-pro-crd-hd.azurewebsites.net, 1 app.do, 1 app.lookout.com, 1 @@ -12879,7 +12851,6 @@ apparatrechose.tk, 1 apparatus.ga, 1 apparelfashionwiki.com, 1 -apparelmark.com, 1 apparelmusic.com, 1 apparelnbags.com, 1 apparo.com, 1 @@ -12920,6 +12891,7 @@ appiancloud.com, 1 appiancloud.us, 1 appify.org, 1 +appifycommerce.com, 1 appimlab.it, 1 appingrove.com.au, 1 appinplace.com.au, 1 @@ -12992,11 +12964,10 @@ apply.eu, 1 apply55gx.com, 1 applybe.com, 1 -applydirect.org, 1 applyforme.me, 1 -applyglide.com, 1 applythis.net, 1 applytofaceblog.com, 1 +applywithblueprint.com, 1 appmania.cf, 1 appmania.gq, 1 appmedia.tk, 1 @@ -13025,7 +12996,7 @@ approbo.com, 1 approve.me, 1 approvedbynemko.com, 1 -approvedcashmax.com, 1 +approvedcashmax.com, 0 approvedlawyersers.ga, 1 approveme.com, 1 approxiomresearch.com, 1 @@ -13063,7 +13034,6 @@ apptoutou.com, 1 apptrace.com, 1 appuals.com, 1 -appub.co.jp, 1 appugo.tk, 1 appui-de-fenetre.fr, 0 appuntamento.it, 1 @@ -13079,7 +13049,6 @@ aprendadesign.com, 1 aprendaviaweb.com.br, 1 aprende.com, 1 -aprendealvuelo.com, 1 aprendejainternet.tk, 1 aprendele.com, 1 aprenderalemanonline.com.ar, 1 @@ -13103,7 +13072,7 @@ aprofunda.art.br, 1 aprogramozo.hu, 1 apropoaalst.be, 1 -apropont.hu, 0 +apropont.hu, 1 apropotv.ro, 0 apropotv.tk, 1 aprovatotal.com.br, 1 @@ -13152,7 +13121,7 @@ apuestalegalchile.com, 1 apunkt.dk, 1 apur.org, 1 -apuvalinetekniikka.fi, 1 +apuvalinetekniikka.fi, 0 apuyou.io, 0 apv-ollon.ch, 1 apviz.io, 1 @@ -13194,7 +13163,6 @@ aquadrom.cz, 1 aquadx.cn, 1 aquadx.net.cn, 1 -aquae-jewels.com, 1 aquafeed.com, 1 aquafilm.cf, 1 aquafirm.com, 1 @@ -13226,8 +13194,8 @@ aquarel-games.tk, 1 aquarel.tk, 1 aquarelleren.tk, 1 -aquarestaurantobx.com, 1 aquarillon.fr, 1 +aquarium-architect.com, 1 aquarium-supplement.net, 1 aquariumassist.com, 1 aquariumhobby.tk, 1 @@ -13268,7 +13236,6 @@ ar-vernet.fr, 1 ar.al, 1 araadvocats.net, 1 -arab-drama.tv, 1 arab-romance.tk, 1 arab1info.cf, 1 arabakiralama.name.tr, 1 @@ -13283,6 +13250,7 @@ arabi-online.net, 1 arabia-news.gq, 1 arabian-gulf.tk, 1 +arabic-for-nerds.com, 1 arabic-shirts.com, 1 arabicbayan.tk, 1 arabictranslation.tk, 1 @@ -13351,7 +13319,6 @@ araxis.com, 1 araya.ga, 1 araya.social, 1 -arazbana.ir, 1 arbaiten.tk, 1 arbautocare.com, 1 arbavere.ee, 1 @@ -13414,7 +13381,6 @@ arcanetides.com, 1 arcarwegrow.pl, 1 arcbouncycastles.co.uk, 1 -arcenotas.com, 1 arcese.com, 1 arcgpw.org, 1 arch.cat, 1 @@ -13518,6 +13484,7 @@ arcskoru.com, 1 arcthelad.com, 1 arctic-charge.tk, 1 +arctic-store.com, 1 arctic.ca, 1 arcticfox.email, 0 arcticfoxes.net, 1 @@ -13541,6 +13508,7 @@ ardakannews.tk, 1 ardania.de, 1 ardaninmutfagi.com, 1 +ardaproject.org, 1 ardeal24.ro, 1 ardeche-guide.com, 1 ardennes.com, 1 @@ -13605,7 +13573,6 @@ arendburgers.nl, 1 arenguseire.ee, 1 arenicave.am, 1 -arenlor.com, 1 arenlor.info, 1 arenns.com, 1 arensinnrettingar.is, 1 @@ -13614,6 +13581,7 @@ areproduktioqn.tk, 1 areqgaming.com, 1 ares-bi.com, 1 +ares.systems, 1 ares.watch, 1 aresico.cz, 1 aresproject.org, 1 @@ -13625,12 +13593,13 @@ aretemusic.tk, 1 areteortho.com.sg, 1 arethsu.se, 1 +arette64.fr, 1 arevonenergy.com, 0 arexsigorta.com.tr, 1 arezzonotizie.it, 1 -arezzoportugal.com, 1 arfulus.com, 1 arfycat.com, 1 +arga.mn, 1 argama-nature.com, 1 arganaderm.ch, 0 arganwinkel.nl, 1 @@ -13664,6 +13633,7 @@ argovpay.com, 1 argovpn.com, 1 args.tech, 1 +argshq.com, 1 argumentative-essay.gq, 1 argumentplus.ru, 1 argus01.bg, 1 @@ -13671,7 +13641,6 @@ argyrouminas.digital, 1 argyrouminas.eu, 1 arhan.sh, 1 -arheh.com, 1 arhgrille.com, 1 arhipka.tk, 1 arhitectura.ru, 1 @@ -13690,13 +13659,13 @@ ariaman.tk, 1 arian.io, 1 ariana.wtf, 1 +arianesoaresarquitetura.com.br, 1 ariashii.tk, 1 -ariaswithatwistreturns.com, 1 aribicara.tk, 1 aricabus.tk, 1 aricaluchalibre.tk, 1 -aridhia.com, 1 aridhia.io, 1 +aridis.com, 1 ariebassie.nl, 1 arielasher.cf, 1 arielhr.ca, 1 @@ -13746,7 +13715,6 @@ arirex.me, 1 aris.io, 1 arisaka.tk, 1 -ariseconference.org.nz, 1 arisevendor.net, 1 arisgate.com, 1 arishastyle.tk, 1 @@ -13758,7 +13726,6 @@ ariston-center.gq, 1 aristotle.tk, 1 arithmetic.ga, 1 -arithmetica.at, 1 arithmetica.xyz, 1 aritworld.tk, 1 arivioo.com, 1 @@ -13798,9 +13765,8 @@ arkansastitlesearch.com, 1 arkazys.com, 1 arkcapitaltrading.com, 1 -arkdev.fr, 0 arkenstone.ml, 1 -arkentosh.com, 1 +arkentosh.com, 0 arkforum.de, 1 arkfoundationrepair.com, 0 arkhamasylum.tk, 1 @@ -13808,7 +13774,9 @@ arkhangelsk.cf, 1 arkhangelsk.gq, 1 arkhangelsk.tk, 1 +arkhecreative.com, 1 arkholmevillage.ml, 1 +arkhub.com, 1 arkhvoid.xyz, 1 arkin.nl, 1 arkion.ai, 1 @@ -13822,6 +13790,7 @@ arkoris.net, 1 arks.cards, 1 arktci.com, 1 +arktos.bzh, 1 arkutinofamilyresort.com, 1 arlatools.com, 1 arle.moe, 1 @@ -13886,17 +13855,17 @@ arminpech.de, 1 armo.sk, 1 armond.tk, 1 -armorcoatings.net, 1 armorcommercialroofing.com, 1 armorsoft.fr, 1 armorynode.net, 1 armourfloorsnd.com, 1 armourroofinc.com, 1 +armp-asso.fr, 1 armsco.fr, 1 armsdr.com, 1 armsteadproject.org, 0 -armstrong.com.mx, 1 -armstrongremovals.com.au, 0 +armstrong.com.mx, 0 +armstrongmurray.co.nz, 1 armtopnews.tk, 1 army-technology.com, 1 army.ca, 1 @@ -13957,6 +13926,7 @@ arockets.ru, 1 arod.tk, 1 arofabric.com, 1 +arogent.com, 1 arogov.com, 1 arolariu.ro, 1 aroma-therapy.tk, 1 @@ -13980,7 +13950,6 @@ aroofing.net, 1 aroonchande.com, 0 arooshi.website, 1 -arose.io, 1 arosoft.se, 1 arounddeal.com, 1 aroundtheclock.ca, 1 @@ -14065,7 +14034,7 @@ arshidazarine.tk, 1 arshina.su, 0 arshistorica.it, 1 -arsindecor.com, 1 +arsindecor.com, 0 arsingh.com, 1 arsjuridica.com, 1 arsk1.com, 1 @@ -14073,7 +14042,6 @@ arslonga.ovh, 1 arsmagazine.tk, 1 arsmedica.ch, 1 -arsmedika.ru, 1 arsmundi.de, 1 arssalva.fr, 1 arstechni.ca, 1 @@ -14109,9 +14077,9 @@ artadagroup.com, 1 artakids.tk, 1 artamin.net, 1 +artandabout.com.au, 1 artandiplawfirm.com, 1 artane.gq, 1 -artapardaz.com, 1 artapisserie.fr, 1 artaurium.com, 0 artbalsam.com, 1 @@ -14202,7 +14170,6 @@ arthurcox.com, 1 arthurdejong.org, 1 arthurdev.cf, 1 -arthurhouse.com, 1 arthurlaw.ca, 1 arthurlewis.me, 1 arthuro.ca, 1 @@ -14210,8 +14177,9 @@ arthurweder.ch, 1 arti-group.ml, 1 arti-islam.tk, 1 -artibirteknikbilisim.com, 1 +artibirteknikbilisim.com, 0 articaexports.com, 1 +article-scientifique.fr, 1 articlebyte.ga, 1 articlefr.cf, 1 articlepub.ga, 1 @@ -14244,6 +14212,7 @@ artigoagency.com, 1 artikel5ev.de, 1 artikel9.com, 1 +artiliance.nl, 1 artinfo.tk, 1 artioml.net, 1 artionet.ch, 1 @@ -14307,6 +14276,7 @@ artofzoo.com, 1 artolaros.nl, 1 artomalu.tk, 1 +artome.fi, 1 artomili.com, 1 artor.ro, 1 artouch.com, 1 @@ -14315,7 +14285,6 @@ artplaneta-leto.by, 1 artprize.ru, 1 artprojectsforkids.org, 0 -artpsd.com, 0 artransparency.gov, 1 artrapid.com, 1 artratio.co.uk, 1 @@ -14330,6 +14299,7 @@ artscanvas.org, 1 artshouse.com.au, 1 artsinbushwick.org, 1 +artsmithhub.com, 1 artsongcolorado.org, 1 artspac.es, 0 artspark.tk, 1 @@ -14357,8 +14327,8 @@ artvizual.com, 1 artwar.tk, 1 artweby.cz, 1 -artwhale.ph, 1 artwhoredistro.tk, 1 +artwork-space.com, 1 artworks.gd, 1 artworksthatlookgood.com, 0 arty.name, 1 @@ -14410,7 +14380,6 @@ arytmicznie.pl, 1 arz-florian.tk, 1 arz-online.ml, 1 -arzdigital.com, 1 arzeshyabi-dar-alman.info, 1 arzinfo.pw, 1 arzmercury.tk, 1 @@ -14469,7 +14438,6 @@ asansol.tk, 1 asantosdev.com, 1 asanuma-clinic.jp, 1 -asap-advice.com.au, 1 asap-chiptuningfiles.com, 1 asap-utilities.com, 1 asap.gov, 1 @@ -14491,9 +14459,10 @@ asbestos-awareness.ml, 1 asbestosthedarkarts.com, 1 asbf-rambouillet.fr, 1 -asbhive.edu.my, 0 +asbhive.edu.my, 1 asburyparkreporter.com, 1 asbweb.org, 1 +asc.es, 1 ascamo.tk, 1 ascannes-non-officiel.tk, 1 ascar.us, 1 @@ -14504,7 +14473,6 @@ ascensiongt.com, 1 ascensionnyc.org, 1 ascensionparishla.gov, 1 -ascensionvillageapartments.com, 1 ascensori.biz, 1 ascentgaragedoors.com.au, 1 ascgathering.com, 1 @@ -14549,10 +14517,12 @@ asesoresdelcaribe.com, 1 asesoresvaro.com, 1 asesorialigorred.es, 1 +asesoriavalledor.es, 1 asesuisa.com, 1 aset.fi, 1 asexualitat.cat, 1 asfaleianet.gr, 1 +asfaliapp.com, 1 asfalteros.cz, 1 asfalti.it, 1 asfalti.milano.it, 1 @@ -14567,7 +14537,6 @@ asgnqpc.com, 1 ashantiperu.org, 1 ashargrosirparfum.com, 1 -asharq.com, 1 ashastalent.com, 0 ashbee.buzz, 1 ashburnconsulting.com, 1 @@ -14588,14 +14557,12 @@ asher.dog, 1 asherosborne.com, 1 asheroto.com, 1 -asherrit.com, 1 ashersec.com, 1 ashersgrp.com, 1 ashesdiamonds.com, 1 ashesheriff.gov, 1 ashevillemenshealth.com, 1 ashfak.tk, 1 -ashfar.com, 1 ashgroveclinic.com.au, 1 ashgw.me, 0 ashiba-kagu.com, 1 @@ -14617,7 +14584,6 @@ ashleythouret.com, 1 ashlingonline.com, 1 ashmore.gov, 1 -ashotofadrenaline.net, 1 ashraful-islam.ml, 1 ashtabulacountyprosecutoroh.gov, 1 ashtar.tk, 1 @@ -14717,6 +14683,7 @@ askjan.org, 1 askkaren.gov, 1 asklea.ai, 1 +asklib.ai, 1 askmany.ai, 1 askme-events.vip, 0 askme-fast.tk, 1 @@ -14738,7 +14705,6 @@ aslabs.com.br, 1 aslanadam.com, 1 aslansbookkeeping.com, 1 -aslansigorta.net, 1 aslanzone.shop, 1 aslia.no, 1 asliceofny.com, 1 @@ -14748,12 +14714,12 @@ asm13.org, 1 asm802.com, 1 asm802.es, 1 +asmat.fr, 1 asmbsurvey.com, 1 asmdz.com, 1 asmeets.nl, 1 asmess.com, 1 asmgroup.rs, 1 -asminternational.org, 1 asmlmarathoneindhoven.nl, 1 asmobox.ga, 1 asmood.net, 1 @@ -14782,6 +14748,7 @@ asouthernplumber.com, 1 asoziales-netzwerk.net, 1 asp-progress.tk, 1 +asp.asti.it, 1 asp.net, 0 aspacedesignstudio.com, 1 aspaceib.org, 1 @@ -14807,6 +14774,7 @@ aspirateur-univers.com, 1 aspiration.marketing, 1 aspire-dev2.com, 1 +aspireapp.com, 1 aspirecig.bg, 1 aspirefostering.com, 1 aspirehub.ai, 1 @@ -14830,14 +14798,12 @@ asps.biz, 1 aspviress.gq, 1 asqnw.com, 1 -asqofmashdoda.com, 1 asr.cloud, 1 asr.rocks, 1 asr.solar, 1 asr9k.de, 1 asra.gr, 1 asral7.com, 1 -asrar-b2b.com, 1 asremanoto.tk, 1 asresidencebg.com, 1 asri.org, 1 @@ -14846,14 +14812,12 @@ asrtechnology.tk, 1 assaabloy-partnerportal.com, 1 assaabloygaragedoors.ca, 1 -assabilbirkacem.com, 1 assai.com.br, 1 assamarket.com, 1 assamtenders.gov.in, 1 assamtodayexpress.com, 1 assanti.com, 1 assassinasian.tk, 1 -assault1892.boats, 1 asscast.org, 1 assdecoeur.org, 1 assecuro.com.ua, 1 @@ -14935,6 +14899,7 @@ assurance-bet.fr, 1 assurance-emprunteur.bzh, 1 assurances-brg.com, 1 +assurbackup.com, 1 assure-axis.com, 1 assured.se, 0 assuredallies.com, 1 @@ -14954,7 +14919,6 @@ astano.tk, 1 astanor.com, 1 astaoffshore.com.au, 1 -astar.network, 1 astarabolivia.com.bo, 1 astaraday.com, 1 astarconcierge.com, 1 @@ -14969,6 +14933,7 @@ astellaria.ee, 1 astengox.com, 1 astenretail.com, 1 +aster.cx, 1 astera-led.com, 1 astera.com, 0 asterhu.com, 1 @@ -14986,7 +14951,6 @@ asthowen.com, 1 asthowen.fr, 1 astiamministrazioni.it, 1 -asticom.com.ph, 1 asticon.de, 1 asticonnectedservices.com, 1 astier-consulting.com, 1 @@ -15007,7 +14971,6 @@ astqx.com, 1 astraai.com, 1 astraalivankila.net, 0 -astraelle.space, 1 astraeusio.com, 1 astrakhan-gorod.ga, 1 astrakhan-news.net, 1 @@ -15090,6 +15053,7 @@ astucewebmaster.com, 1 astuna.de, 1 astur.de, 1 +astur.education, 1 astur.school, 1 astur.travel, 1 astutetm.com, 1 @@ -15127,7 +15091,7 @@ asylinfo.no, 1 asylum-sanctorium.com, 1 asylumguild.tk, 1 -asymmetric.pro, 1 +asymmetric.pro, 0 asynchrono.cf, 1 asyncura.com, 1 asyotec.es, 1 @@ -15139,6 +15103,7 @@ at.search.yahoo.com, 0 at2-architecten.be, 1 at5.nl, 1 +at52.de, 1 atabas.com.tr, 1 atabekandco.com, 1 ataber.pw, 1 @@ -15154,6 +15119,7 @@ atakac.com, 1 atakac.net, 1 atakanbal.com, 1 +atakanzen.com, 1 atalandportal.com, 1 atalantapsicologia.es, 1 atallo.es, 1 @@ -15165,7 +15131,7 @@ ataton.ch, 0 atayatirim.com.tr, 1 atayia.com, 1 -atbtaxi.com, 0 +atbtaxi.com, 1 atc-fr.com, 1 atc.cuneo.it, 1 atc.io, 0 @@ -15209,6 +15175,7 @@ atelierkuni.jp, 1 ateliernaruby.cz, 1 atelierquersin.fr, 1 +atelierrandweg.ch, 1 atelierssud.swiss, 1 atelieru-stuttgart.de, 1 atelierua.com, 1 @@ -15272,13 +15239,14 @@ athensvt.gov, 1 athentipps.de, 1 atherosense.ga, 1 +athleteschoicemassage.ca, 1 athleticstore.bg, 1 athlin.de, 1 athome-nextcloud.ddns.net, 1 -athomedeco.fr, 1 athomerealtyonline.com, 1 athoris.net, 1 athritisexplained.com, 1 +athyx.com, 1 atiawa.com, 1 atide.cf, 1 atidict.top, 1 @@ -15334,6 +15302,7 @@ atlanticcityexperience.org, 1 atlanticcityweekly.com, 1 atlanticcountynj.gov, 1 +atlanticcourier.net, 1 atlanticdatastream.ca, 1 atlanticdermatologyandlaser.co.za, 1 atlanticfcu.com, 1 @@ -15348,7 +15317,6 @@ atlantischild.hu, 1 atlantisdx.de, 1 atlantisgold.bg, 1 -atlantistowingservice.com, 1 atlantiswaterproofing.com, 0 atlantium.tk, 1 atlares.de, 1 @@ -15389,10 +15357,12 @@ atletico-guacuano.tk, 1 atletismomacotera.tk, 1 atlios.io, 1 +atlix.co.uk, 1 atlom.com, 1 atm-bur.ru, 1 atm-erasmus.com, 1 atm.net, 1 +atma.biz.id, 1 atmalta.com, 1 atmelook.com, 1 atmetalwork.com, 1 @@ -15418,7 +15388,6 @@ atmoz.tk, 1 atmseminar.org, 1 atmydesk.tech, 1 -atnis.com, 1 atnorth.is, 1 atnteam.tk, 1 atobtransfer.com, 1 @@ -15427,7 +15396,8 @@ atoka.io, 1 atolm.net, 1 atom-editor.cc, 1 -atombase.org, 1 +atombase.org, 0 +atomdollar.com, 1 atomglimpses.cn, 1 atomic-bounce.com, 1 atomic.radio, 1 @@ -15451,7 +15421,6 @@ atorcidabrasileira.com.br, 1 atovelin.gq, 1 atovelin.tk, 1 -atoz-gc.com, 1 atozeventrentalsofpa.com, 1 atp-autoteile.de, 1 atplonline.co, 1 @@ -15624,7 +15593,7 @@ audiolegendsny.com, 1 audiolot.com, 1 audioman.co.uk, 1 -audiomedica.com, 1 +audiomedica.com, 0 audiomind.tk, 1 audiomir.tk, 1 audion.cc, 1 @@ -15632,7 +15601,6 @@ audioonepro.com, 1 audioonly.stream, 1 audiophiledirectory.com, 1 -audioplugin.deals, 1 audiorental.net, 1 audios.tk, 1 audioscenic.co.uk, 1 @@ -15642,6 +15610,7 @@ audiosite.net, 1 audioslave.tk, 1 audiotrace.tk, 1 +audiovegas.com, 1 audiovisionelectronica.com.ar, 1 audiovisualmurciano.tk, 1 audisto.com, 1 @@ -15649,7 +15618,7 @@ audit.ovh, 1 audit.tw, 1 audit4seo.ru, 1 -auditeorganum.cz, 1 +auditguard.ru, 1 audithunt.com, 1 auditingfirm.tk, 1 audition-radio.tk, 1 @@ -15677,6 +15646,7 @@ aufwachzeit.at, 1 aufwachzeit.com, 1 aufwecken.dynu.net, 1 +augehost.com, 1 augenlaser-chemnitz.de, 1 augenlaser-dresden.de, 1 augenlaserzentrum-dresden.com, 1 @@ -15730,7 +15700,7 @@ aumisc.com, 1 aumonerie-lacatho.fr, 1 aumpram.org, 1 -auntiesnorkel.com, 1 +auntiesnorkel.com, 0 auntmia.com, 1 aunto.xyz, 1 aup.edu, 1 @@ -15756,6 +15726,7 @@ auraliafirst.com, 1 auraliamusic.com, 1 auralinna.blog, 0 +auramenta.com, 1 auramur.fr, 1 aurantis.it, 1 aurantis.nl, 1 @@ -15784,6 +15755,7 @@ aurigaservicesapp.co.uk, 1 auriko-games.de, 1 auristelasaavedra.tk, 1 +aurmine.com, 1 aurnik.com, 1 auroa.dk, 1 aurobindodash.tk, 1 @@ -15801,16 +15773,15 @@ aurory.io, 1 auroz.video, 1 aurtho.com, 1 -aurum.com.br, 1 aurumkoins.tk, 1 ausat.net, 1 -ausbeauty.ca, 1 ausbilden-wir-machen-mit.de, 1 ausbilderplattform.com, 1 ausbilderplattform.de, 1 ausbilderportal.com, 1 ausbildung-rbg.de, 1 ausbildungplus.de, 1 +ausbrightfacilities.com.au, 1 ausbusinessregister.com.au, 1 auscanalliancecorp.com, 1 auscube.tk, 1 @@ -15854,6 +15825,7 @@ aussiestoresonline.com, 0 austagencies.com.au, 1 austbrokers.com.au, 1 +austcm.com.au, 1 austenplumbing.com, 1 austercita.tk, 1 austickcarremoval.com.au, 1 @@ -15941,6 +15913,7 @@ authorizedcourttranscriptionists.ca, 1 authorizedcourttranscriptionists.com, 1 authorjjcruzbooks.com, 1 +authorly.tools, 1 authress.io, 1 authsrv.nl.eu.org, 1 autism-explained.com, 1 @@ -15978,7 +15951,6 @@ auto10dacte.com, 1 auto2019.net, 1 auto365haiphong.com, 1 -autoaddz.com, 1 autoambulanza.it, 1 autoambulanzaprivata.roma.it, 1 autoamericas.show, 1 @@ -16000,6 +15972,7 @@ autobot.com.ua, 1 autobourcier.com, 1 autobraga.ru, 0 +autobudget.money, 1 autobus.roma.it, 1 autobuseros4ever.tk, 1 autobusesonline.tk, 1 @@ -16067,6 +16040,7 @@ autohunt.ga, 1 autohut.ca, 1 autohuttruckcenter.ca, 1 +autohysi.com, 1 autoi.ch, 1 autoindustriya.com, 1 autoinfa.tk, 1 @@ -16085,7 +16059,6 @@ autoledky.sk, 1 autolet.tk, 1 autoline.link, 1 -autologix.io, 1 automa.biz, 1 automaatic.com, 1 automagischeberegening.nl, 1 @@ -16290,7 +16263,6 @@ autopocket.co, 1 autopopaccidentrepair.co.uk, 1 autoportal.tk, 1 -autopot.nl, 1 autopril.com, 1 autoproductai.com, 1 autoprogconsortium.ga, 1 @@ -16308,14 +16280,12 @@ autoreview.ml, 1 autoricambisanmauro.it, 1 autorijschooldehaas.nl, 0 -autorijschooljohanbos.nl, 1 autorijschoolrichardschut.nl, 1 autorizaciones.com, 1 autos-mertens.com, 1 autos-motos.fr, 1 autosalesmachine.net, 1 autosalone.roma.it, 1 -autosan-vykup.ru, 1 autosbodyest.ga, 1 autoschade-mosman.nl, 1 autoschadevdberg.tk, 1 @@ -16400,13 +16370,12 @@ aux-arts-de-la-table.com, 1 aux-penelope.com, 1 aux-scape.tk, 1 -aux8.ru, 1 auxbrinstresses.fr, 1 auxessenceselfiques.fr, 1 auxilion.de, 1 auxilius.be, 1 auxion.net, 1 -auxite.io, 1 +auxite.io, 0 auxmode.com, 1 auzeau.fr, 1 av-autoparts.gr, 1 @@ -16491,6 +16460,7 @@ avaralar.tk, 1 avarcom.tk, 1 avarie.ru, 1 +avarinis.com, 1 avariya.tk, 1 avastantivirus.ro, 1 avasu.com, 1 @@ -16529,6 +16499,7 @@ avenir-now.ch, 1 avenir-now.com, 1 avenir-now.de, 1 +avenirtravel.co.id, 1 avensurereviews.com, 1 aventabarbados.com, 1 aventajamaica.com, 1 @@ -16554,6 +16525,7 @@ avestabegravningsbyra.se, 1 avestagames.tk, 1 avevad.com, 1 +avexa.az, 1 avexis.com, 1 avexon.com, 1 avexongroup.com, 1 @@ -16593,7 +16565,6 @@ aviationstrategy.aero, 1 aviationzone.tk, 1 aviatorhampshire.com, 1 -avibirds.com, 1 avicena.al, 1 aviciibook.ru, 1 aviconverter.tk, 1 @@ -16636,7 +16607,6 @@ aviv-group.at, 1 avivanuestroscorazones.com, 1 avivaplasticsurgery.com, 1 -avivglobal.com, 1 aviweisfogelinfo.org, 1 avland.me, 1 avlasov.tk, 1 @@ -16648,9 +16618,9 @@ avn-buses.tk, 1 avnet.ws, 1 avninternational.tk, 1 -avnue.bio, 1 -avnue.music, 1 -avnue.to, 1 +avnue.bio, 0 +avnue.music, 0 +avnue.to, 0 avoandco.com, 1 avocad.studio, 1 avocadooo.stream, 1 @@ -16678,6 +16648,7 @@ avoiding-complexity.de, 1 avoids-troops.gq, 1 avoinna24.fi, 1 +avoir.no, 1 avolutionsoftware.com, 1 avondaleestatesga.gov, 1 avonindiana.gov, 1 @@ -16698,7 +16669,9 @@ avriro.com, 1 avrora-nov.ru, 1 avroramine.tk, 1 +avs-email.com, 1 avs.be, 1 +avscongres.mu, 1 avsd01.com, 1 avstack.io, 1 avstudio.ai, 1 @@ -16746,7 +16719,7 @@ avvocatoinlinea.it, 1 avvoka.com, 0 avweb.tk, 1 -aw.gov.pl, 1 +aw.gov.pl, 0 aw.net, 1 awac.com, 1 awake-in.com, 1 @@ -16761,7 +16734,6 @@ award.ga, 1 awardfares.com, 1 awardsbox.com, 1 -awardshub.com, 1 awardsuite.com, 1 aware.org.sg, 0 awarego.com, 1 @@ -16775,7 +16747,6 @@ awaro.net, 1 awaua.nl, 0 awawa.cf, 1 -awawawawawawawawawawawawawawawawawawawawawawawawawawawawawawaw.gay, 1 awaybot.com, 1 awaygroundguide.com, 1 awayword.cf, 1 @@ -16791,6 +16762,7 @@ awesomeindie.com, 1 awesomelifedeals.today, 1 awesomeperfumes.com, 1 +awesomeprivatetours.com, 1 awesomesheep48.ca, 1 awesomesit.es, 0 awet.info, 1 @@ -16807,6 +16779,7 @@ awo-bremen.de, 1 awo-sh.de, 1 awoau.com.au, 1 +awoui.com, 1 awqaf.gov.ae, 1 awrcourtreporter.com, 1 awrcourtreporters.com, 1 @@ -16829,6 +16802,7 @@ awxg.com, 1 awxg.eu.org, 1 ax-it.eu, 1 +ax-news.com, 1 ax.ax, 1 ax.mk, 1 ax4health.nl, 1 @@ -16836,6 +16810,7 @@ axa.de, 1 axarobd.com, 1 axavalon.tk, 1 +axcessezy.com.au, 1 axchap.ir, 1 axcient.com, 1 axe.io, 1 @@ -16849,7 +16824,7 @@ axeldavid.fr, 1 axeles.com, 1 axelglobe.com, 1 -axelhired.com, 1 +axelhired.com, 0 axeligence.com, 1 axelname.ru, 1 axelr.me, 1 @@ -16940,6 +16915,7 @@ axxeptinq.tk, 1 axxial.tk, 1 axya.co, 1 +axyi.ru, 1 axyl.cloud, 1 axzq.com, 1 ay-net.jp, 1 @@ -16960,6 +16936,7 @@ aydinhaberleri.tk, 1 aye.sh, 1 ayedot.com, 1 +ayedu.ai, 1 ayehigh.com, 1 ayersanaheim.com, 1 ayerscoronaeast.com, 1 @@ -16988,7 +16965,6 @@ aymhome.top, 0 ayodraws.com, 1 ayon-games.tk, 1 -ayosante.com, 1 ayothemes.com, 1 ayotteshackelford.com, 1 ayresalpine.com, 1 @@ -17076,7 +17052,9 @@ ayuntamientoazua.gob.do, 1 ayuntamientobocachica.gob.do, 1 ayur-veda.tk, 1 +ayurauto.com.co, 1 ayurprice.com, 1 +ayurprice.nl, 1 ayurveda-france.com, 0 ayvalikgezgini.com, 1 ayvensbank.nl, 1 @@ -17108,7 +17086,6 @@ azarus.ch, 1 azarweb.tk, 1 azauditor.gov, 1 -azbuka-bp.com.ua, 1 azbuka-bp.ru, 0 azbuka-kharkov.com.ua, 1 azcensus2020.gov, 1 @@ -17166,7 +17143,6 @@ azorin.tk, 1 azort.com, 1 azotobacter.nl, 1 -azoulaygroup.org, 1 azovgroup.com, 1 azplayersclub.com, 0 azpousivmechu.cz, 1 @@ -17175,7 +17151,6 @@ azredistricting.gov, 1 azrevolutionizingckd.com, 1 azrhymes.com, 1 -azs-nw.ru, 1 azsalud.gov, 1 azsec.biz, 1 azshop.ro, 1 @@ -17236,6 +17211,7 @@ b-digital.cf, 1 b-digital.ga, 1 b-digital.gq, 1 +b-drive.be, 1 b-freerobux.ga, 1 b-honey.gr, 1 b-institute.ml, 1 @@ -17268,7 +17244,7 @@ b1c1l1.com, 1 b1drivers.com, 1 b1ggi.ovh, 1 -b1nary0.com.ar, 1 +b1nary0.com.ar, 0 b1nzy-pinged.me, 1 b1r0d4l0m.com, 1 b1rd.tk, 1 @@ -17276,7 +17252,6 @@ b2b-nestle.com.br, 1 b2bazun.com, 1 b2bchiemihara.com, 1 -b2be.com, 1 b2bimmo.ch, 0 b2bindustrial.in, 1 b2binpay.com, 0 @@ -17411,6 +17386,7 @@ baams.tk, 1 baang.eu, 1 baaradvies.nl, 0 +baardagaam.com, 1 baas-becking.biology.utah.edu, 1 baas-sabiogroup.com, 1 baas.agency, 1 @@ -17466,6 +17442,7 @@ babolsar.tk, 1 baboo.com.br, 1 babsbibs.com, 1 +babuccu.com, 1 baburhat.tk, 1 babursahvizeofisi.com, 1 babushkin-mir.tk, 1 @@ -17479,7 +17456,6 @@ babybed.tk, 1 babyboom.pl, 1 babyboomer.org, 1 -babyboomer.ro, 1 babybuddah.ga, 1 babybug.ru, 1 babybunnypictures.tk, 1 @@ -17526,12 +17502,14 @@ babyzen.tk, 1 babyzoet.com, 1 bac-fiches.tk, 1 +bacahealthinsurancesolutions.com, 1 bacanal-intruder.tk, 1 bacaneriahlg.com, 1 bacanora.tk, 1 bacardi.cf, 1 bacardicola.tk, 1 bacarnal.com, 1 +bacasoftware.com, 1 baccarat.tk, 1 bacchus.report, 1 baccredomatic.voyage, 1 @@ -17558,6 +17536,7 @@ bachmannyachts.com, 1 bachmatt-baar.ch, 1 bachngocsach.com.vn, 1 +bachoodesign.com, 1 bachphoto.com, 1 bachweid-baar.ch, 1 baciu.ch, 0 @@ -17566,7 +17545,6 @@ back-streets.tk, 1 back-yard.tk, 1 back0.com, 1 -back2health.pl, 1 backabc.de, 1 backbay.nl, 1 backd00red.org, 1 @@ -17632,7 +17610,7 @@ baconismagic.ca, 0 baconsultores.co, 1 bacoux.com, 1 -bacq.pro, 1 +bacoyo.com, 1 bacri.eu, 1 bacteriakit.com, 1 bactrim-antibiotic.gq, 1 @@ -17675,7 +17653,6 @@ badge.rs, 1 badgeboundprep.com, 1 badgerherald.com, 1 -badgeron.io, 1 badges.fedoraproject.org, 1 badges.stg.fedoraproject.org, 1 badgetree.com, 1 @@ -17756,6 +17733,7 @@ bagelbrands.com, 1 bagelsbakery.com, 0 bagenfelt.se, 1 +bagera.bg, 1 baggy.me.uk, 1 bagheera.me.uk, 1 baghtelecom.net, 1 @@ -17848,7 +17826,6 @@ baixarbluray.tk, 1 baixarvideosgratis.com.br, 1 baiyangliu.com, 0 -baiyunbrake.com, 1 baizer.ch, 1 bajacalifornia.tk, 1 bajalotodo.tk, 1 @@ -17878,7 +17855,7 @@ bakeneko.academy, 1 bakenekoacademy.com, 1 baker-street.tk, 1 -bakerandfarmer.com.au, 1 +bakerandfarmer.com.au, 0 bakercity.gov, 1 bakercitypd.gov, 1 bakercommunications.com, 1 @@ -17889,7 +17866,7 @@ bakersafari.co, 1 bakersboutiquegj.com, 1 bakersfieldhomeoffer.com, 1 -bakesy.shop, 1 +bakesy.shop, 0 bakeup.be, 1 bakibal.com, 1 bakingbydonna.com, 1 @@ -17948,7 +17925,6 @@ balboa.org.uk, 1 balbus.tk, 1 balca.ga, 1 -balcaonet.com.br, 0 balcony.cf, 1 baldinger.tk, 1 baldolinitraslochiroma.it, 1 @@ -18060,7 +18036,7 @@ bamboorose.com, 1 bamboostage.com, 1 bambooviews.com, 1 -bambora.com, 0 +bambora.com, 1 bambrick.com.au, 0 bambuitalia.it, 1 bambukshop.ml, 1 @@ -18073,9 +18049,9 @@ bamily.rocks, 1 baming.com, 1 bammatta.ch, 1 +bammecommerse.com, 1 bampers.tk, 1 bamprofits.com, 1 -bampt3.com, 1 ban-list.gq, 1 banabarka.tk, 1 banafsheh.net, 1 @@ -18118,7 +18094,6 @@ bandaronline.ml, 1 bandarqonline.ga, 1 bandarqonline.ml, 1 -bandaumnikov.ru, 1 bandbattle.tk, 1 bandbelievo.tk, 1 bandbwestport.com, 1 @@ -18174,14 +18149,12 @@ banglahotstory.tk, 1 banglargolpo.tk, 1 banglatec.tk, 1 -banglets.com, 1 bangogolufsen.is, 1 bangphai.com, 1 bangsparks.com, 1 bangujero.tk, 1 banham.co.uk, 0 banham.com, 1 -banhphongtomquangtran.com, 1 bani-hashem.tk, 1 banimarket.by, 0 banja-kulasi.ga, 1 @@ -18200,10 +18173,9 @@ bankasubeleri.tk, 1 bankbranchlocator.com, 1 bankcib.com, 1 -bankconverter.co.uk, 1 +bankconverter.co.uk, 0 bankcustomer.gov, 1 bankcustomerassistance.gov, 1 -bankee.us, 1 bankenconfigurator.nl, 1 banker.vn, 1 bankera.com, 1 @@ -18323,7 +18295,6 @@ barao.tk, 1 barataeletrica.tk, 1 baratzegrowshop.com, 1 -baravalle.com, 1 baraxolka.ga, 1 baraxolka.ml, 1 barbar.codes, 1 @@ -18356,7 +18327,7 @@ barbu.family, 1 barburas.com, 1 barca-movie.jp, 1 -barcamp.koeln, 1 +barcare.org, 1 barcare.org.au, 1 barcelonapremiummini.es, 1 barcelonawinewalk.com, 1 @@ -18446,8 +18417,6 @@ barnesvilleohio.gov, 1 barneveldcentrum.nl, 1 barney-media.com, 1 -barneydavey.com, 1 -barnflix.net, 1 barnhomega.com, 1 barnman.de, 1 barnumiidev.com, 1 @@ -18530,11 +18499,9 @@ bartholf.nu, 1 bartlamboo.nl, 1 bartlettil.gov, 1 -bartoccini.me, 1 bartolomebellido.com, 1 bartonmohealth.gov, 1 bartowcountyga.gov, 1 -barttorvik.com, 1 bartula.de, 1 bartvandamme.tk, 1 baruch.me, 1 @@ -18575,8 +18542,10 @@ basecore.co, 1 based.gr, 1 based.win, 1 +basedmta.fans, 1 basedoll.cn, 1 basedonline.nl, 1 +basedpeps.com, 1 baseerapp.com, 1 baseerat-academy.com, 1 basel-gynaecology.com, 0 @@ -18594,7 +18563,6 @@ basenio.de, 1 baseresources.com.au, 1 baserverz.ga, 1 -basetherm.com, 1 basetruck.cn, 1 basevtc.fr, 1 baseweb.design, 1 @@ -18613,6 +18581,7 @@ bashstreetband.co.uk, 1 bashtel.tk, 1 bashyconsulting.se, 1 +basiangulo.com, 1 basic.is, 1 basic.space, 1 basicapparel.de, 1 @@ -18639,8 +18608,8 @@ basisdata.nl, 1 basisonline.nl, 1 basisonlinefiles.nl, 1 -basisschoolhundelgem.be, 1 basisvaardigheden.nl, 1 +basitechnologies.com, 1 basitplan.com, 1 basket-sint-truiden.tk, 1 basketball-malavan.tk, 1 @@ -18680,12 +18649,11 @@ bastakka.eu, 0 bastanet.tk, 1 bastardator.tk, 1 -bastelpingu.cc, 1 +bastelpingu.cc, 0 bastelstu.be, 1 basteltips.tk, 1 bastelwelt.ch, 1 bastelzauberwelt.de, 1 -bastenhorst.de, 0 bastian-fluegel.de, 1 bastille.net, 1 bastillebsd.org, 1 @@ -18758,7 +18726,6 @@ bathost.net, 1 bathrobes.tk, 1 bathroomremodelinggeorgia.com, 1 -bathroomrenovationswollongong.com, 1 bathroomsinkcabinet.tk, 1 bathscobensraker.ga, 1 bati-alu.fr, 1 @@ -18865,6 +18832,7 @@ baum-gruenpflege.de, 1 baumamont.net, 1 baumamont.ru, 1 +baumamont.su, 1 baumaniswildfire.ca, 1 baumannfabrice.com, 1 baumansound.com, 1 @@ -18943,7 +18911,6 @@ bayreuth-wilhelmine.de, 1 bayridgesupplies.net, 1 bayscollisionrepairs.co.nz, 1 -bayshore.ca, 1 baysidementalhealth.com, 1 baysidephotography.ga, 1 bayt.com, 1 @@ -18960,7 +18927,6 @@ bazaarcompass.com, 1 bazaart.com, 1 bazaart.me, 1 -bazaclub.ru, 0 bazahub.club, 1 bazait.com, 1 bazaleev.ru, 1 @@ -19020,9 +18986,8 @@ bbg.org, 1 bbgeschenke.ch, 0 bbhsolutions.com, 1 -bbhtt.space, 1 bbimarketing.com, 1 -bbinsure.com, 1 +bbinsure.com, 0 bbiny.edu, 1 bbk365m.com, 1 bbk365t.com, 1 @@ -19042,13 +19007,14 @@ bbox.org, 1 bbp.ng, 1 bbpnas.win, 1 -bbqenbites.nl, 1 +bbpsydney.com, 1 bbqstars.com, 1 bbrassart.fr, 1 bbrigittae.hu, 1 bbrmonza.it, 1 bbs-buchholz.com, 1 bbs-buchholz.eu, 1 +bbs.it.com, 1 bbschat.tk, 1 bbsec.xyz, 1 bbt.com.vn, 1 @@ -19066,9 +19032,9 @@ bbxy.buzz, 1 bc-bd.org, 0 bc-news.ru, 1 +bc-schweiz.ch, 1 bca-service.de, 1 bcaf.uk, 1 -bcalabsokc.com, 1 bcalles.dk, 1 bcalles.eu, 1 bcallesen.dk, 1 @@ -19112,8 +19078,6 @@ bcoverart.com, 1 bcpc-ccgpfcheminots.com, 1 bcrnews.tk, 1 -bcroan.com, 1 -bcrook.com, 1 bcrt.sh, 1 bcrypt.online, 1 bcs-talk.com, 1 @@ -19175,6 +19139,7 @@ bdtc.com.bd, 1 bdtd.nl, 1 bdtechnews.tk, 1 +bdvg.org, 1 bdxmedia.cloud, 1 be-craft.de, 1 be-free.gq, 1 @@ -19219,7 +19184,6 @@ beaconcart.com, 1 beacondb.net, 1 beaconfed.org, 1 -beacongaragedoors.com, 0 beaconhealthoptions.com, 1 beaconinvesting.com, 1 beaconny.gov, 1 @@ -19253,8 +19217,9 @@ beamleaks.com, 1 bean-jam.jp, 1 beanbot.party, 1 +beanbox.com, 1 beanboygames.com, 1 -beancount.io, 1 +beanieshow.co.uk, 1 beanilla.com, 1 beanjuice.me, 1 beanshencr.com, 1 @@ -19317,6 +19282,7 @@ beatsnbits.nl, 1 beatsta.tk, 1 beatthebastards.tk, 1 +beatthescam.com, 1 beatthestreet.me, 1 beatuprobot.net, 1 beatzone.tk, 1 @@ -19344,8 +19310,8 @@ beauty-blog.gq, 1 beauty-form.ir, 1 beauty-haircare.tk, 1 -beauty-salon-lino.com, 1 beauty-schools.com, 1 +beauty-shots.de, 1 beauty-stories.tk, 1 beauty-style.ml, 1 beauty-town.tk, 1 @@ -19355,7 +19321,6 @@ beauty24.de, 1 beauty2home.net, 1 beauty77.ch, 1 -beautyalev.de, 1 beautyandboutique.tk, 1 beautyandthebeast.tk, 1 beautyanna.ga, 1 @@ -19376,9 +19341,11 @@ beautyindistress.tk, 1 beautyisfine.tk, 1 beautylodge.ro, 1 +beautynfacts.com, 1 beautyoverture.com, 1 beautyqlick.com, 1 beautyschool.od.ua, 1 +beautyshots-hamburg.de, 1 beautyspot.tk, 1 beautytechpro.ro, 1 beautytherapies.gr, 1 @@ -19511,6 +19478,7 @@ bedatadriven.com, 1 bedb2-snowflake.com, 1 bedb2.com, 1 +bedbugmanual.org, 1 beddenscout24.nl, 1 beddingexperts.com, 1 bede.fr, 1 @@ -19545,6 +19513,7 @@ bedrocksoftware.co.uk, 1 bedrockstreaming.com, 1 bedrukt.nl, 1 +bedskill.com, 1 bedste-datingsites.dk, 1 bedstecasinobonusser.dk, 1 bedtco.com, 1 @@ -19560,7 +19529,6 @@ beebom.com, 1 beebruh.bid, 1 beebuy.online, 1 -beebuycoin.com, 1 beecambio.com.br, 1 beecare.ch, 1 beechwoodindustrial.com, 1 @@ -19608,6 +19576,7 @@ beer-sheva.city, 1 beerbruhs.com, 0 beercast.co.uk, 1 +beeready.buzz, 1 beeremovaljohannesburg.co.za, 1 beeremovalpretoria.co.za, 1 beeremovalspretoria.co.za, 1 @@ -19651,7 +19620,6 @@ beezkneezcastles.co.uk, 1 beeznest.com, 1 befantasy.tk, 1 -befaster.fit, 1 beffeet.com, 1 befoodsafe.gov, 1 before-and-after.ro, 1 @@ -19685,7 +19653,6 @@ begravningsbolaget.one, 1 begravningsbyra-stockholm.se, 1 begravningsbyrahuddinge.se, 1 -begravningsbyranhumana.se, 1 begravningsbyrauppsala.com, 1 begravningspaket.com, 1 begravningspaket.se, 1 @@ -19705,7 +19672,6 @@ behealthoncologia.com, 1 behealthyeveryday.eu, 1 behealthyoga.com, 1 -beheeronline.nl, 1 behemoth.cf, 1 beherebethefuture.nl, 1 beherit.pl, 1 @@ -19727,7 +19693,6 @@ beijinglug.club, 1 beijingwonderunion.com, 1 beimchristoph.de, 1 -beinad.com, 1 beinchrist.ca, 1 beinghuman.tk, 1 beinghumanpsychotherapy.com.au, 0 @@ -19747,7 +19712,7 @@ bejbinek.cz, 1 bejo.kz, 0 bejofa.de, 1 -bekabazar.cz, 1 +bekabazar.cz, 0 bekaha.de, 1 bekam.my, 1 bekeltetes.hu, 1 @@ -19842,6 +19807,7 @@ believeinyourmind.com, 1 belifeinsurance.net, 1 beliishko.tk, 1 +belindacoaching.com, 1 belindaweb.tk, 1 belinks.tk, 1 belinsky.tk, 1 @@ -19877,7 +19843,6 @@ bellebakes.blog, 1 bellebaum.eu, 1 bellecarmen.tk, 1 -bellehorizon.co.za, 1 bellenews.com, 1 bellenundballern.de, 1 belleplaineiowa.gov, 1 @@ -19931,7 +19896,6 @@ beltanelabrosse.tk, 1 beltar.nl, 1 beltman-shipping.tk, 1 -beltramifashion.be, 1 beltsystemu.com, 1 belugadev.ml, 1 belvaros-lipotvaros.hu, 1 @@ -19942,7 +19906,6 @@ belvilla.nl, 1 belvitajoreggelt.hu, 1 belvo.com, 1 -belvoirbouncycastles.co.uk, 1 belwederczykow.eu, 1 belyoapp.com, 1 belzhd.com, 1 @@ -19956,7 +19919,6 @@ bembergestatewines.com, 1 bemergroup.com, 1 bemindful.life, 1 -bemnaturalmente.online, 1 bempensadoconsul.com.br, 1 bemsa-gent.be, 1 bemsoft.pl, 1 @@ -19979,6 +19941,7 @@ benatherton.com, 0 benatskezrkadla.sk, 1 benavides.xyz, 1 +benayasoft.com, 1 benazir-reaction.tk, 1 benbalter.com, 1 benbozsa.ca, 1 @@ -19987,7 +19950,6 @@ benceskorka.com, 1 bencheetham.me.uk, 1 benchling.com, 1 -benchmark-dental.com, 0 benchmark-ip.com, 1 benchmark.ge, 1 benchmarkmonument.com, 1 @@ -19997,7 +19959,7 @@ bencrump.com, 1 bendahmane.fr, 1 bendd.me, 1 -bende.com.au, 0 +bende.com.au, 1 bendechrai.com, 0 bender.ga, 1 benderssportsandspirits.com, 0 @@ -20110,6 +20072,7 @@ bennettsbouncycastlehire.co.uk, 1 bennettshire.co.uk, 1 benni1.eu, 1 +bennie.com, 0 bennierobinson.com, 1 benningen.de, 1 benningtonne.gov, 1 @@ -20140,6 +20103,7 @@ bensonhotel.com, 1 bensonvermont.gov, 1 benstevinson.com, 1 +bensvpn.me, 1 bensvriend.tk, 1 bent-nails.com, 1 bentallgreenoak.com, 0 @@ -20197,6 +20161,7 @@ beraten-entwickeln-steuern.de, 1 beratungswelt.dvag, 1 berbatov.ga, 1 +berbayar.com, 1 berbec.net, 1 berbervandenberg.tk, 1 berchtesgaden-hilft.de, 1 @@ -20204,14 +20169,14 @@ berdbath.com, 1 berdu.id, 1 berdyansk-news.ru, 1 +bereaamorim.com, 1 bereaplumber.co.za, 1 bereelcorporation.com, 1 bereginy.com.ua, 1 bereginya-lada.ru, 1 -beregite-zdorovje.ru, 1 beregusha.com, 1 bereikdenbosch.nl, 1 -berekenen.nl, 1 +berekenen.nl, 0 berekenhet.nl, 1 berend.tk, 1 beresbalazs.tk, 1 @@ -20226,6 +20191,7 @@ bergencountyclerk.gov, 1 bergencountynj.gov, 1 bergenfieldnj.gov, 1 +bergenson.nl, 1 bergerandgreen.com, 1 berget.ai, 1 berget.cloud, 1 @@ -20263,7 +20229,6 @@ berksbulls.com, 1 berkshire.com, 1 berkshiredairy.com, 1 -berkshireesupply.com, 0 berksholocaustmuseum.org, 1 berksmilitaryhistorymuseum.org, 1 berkspa.gov, 1 @@ -20424,6 +20389,7 @@ berwickpa.gov, 1 berz.one, 1 berzkalne.co.uk, 1 +besa-bueroservice.de, 1 besant.de, 1 besarfe.com, 0 besatas.com, 1 @@ -20441,7 +20407,6 @@ besiconstruct.be, 1 besidemetal.tk, 1 besikta.se, 1 -besinspain.es, 1 beskar.pro, 1 besked.it, 1 besmartautomation.com, 1 @@ -20464,6 +20429,7 @@ besslavnye-ublyudki.tk, 1 bessmertie.ml, 1 best-accounting-schools.com, 1 +best-ai.news, 1 best-art-colleges.com, 1 best-book.gq, 1 best-business-colleges.com, 1 @@ -20534,14 +20500,13 @@ bestcms.tk, 1 bestcockalierpups.com, 1 bestcockapoos.com, 1 -bestcreditcards.biz, 1 bestcreditcards.me, 1 bestcreditcards.news, 1 bestcreditcards.tv, 1 -bestcriminallawyerinsingapore.com, 1 bestdatingsite.ml, 1 bestdatingsite.tk, 1 bestdeal-umzug.de, 1 +bestdealer.it, 1 bestdlsites2.tk, 1 bestdslrcameras.tk, 1 bestearningsource.com, 1 @@ -20780,14 +20745,13 @@ bestratedremovals.co.uk, 1 bestratedtransport.com.au, 1 bestrating-hengelo.nl, 1 -bestrcparts.com, 1 +bestrcparts.com, 0 bestreleases.tk, 1 bestremote.io, 1 bestrongandhomosexual.top, 1 bestroofinginkansascity.com, 1 bestsatoshifaucet.ga, 1 bestsavesnow.shop, 1 -bestsavingscoupon.com, 1 bestsextoys.com, 1 bestsheepadoodles.com, 1 bestshopping.ga, 1 @@ -20806,6 +20770,7 @@ besttrannytube.com, 1 besttraveluk.ga, 1 bestvape.ie, 1 +bestviolin.com, 1 bestvpnrating.com, 1 bestway-disposal.com, 1 bestwebcams.ga, 1 @@ -20836,7 +20801,6 @@ bet166ww.com, 1 bet166yy.com, 1 bet333123.com, 1 -bet333222.com, 1 bet333345.com, 0 bet333444.com, 1 bet333678.com, 1 @@ -21033,13 +20997,11 @@ bettaline.com.au, 1 bettashoerepairs.com.au, 1 bettendorf.gov, 1 -bettenhaus-schlafoase.de, 1 better.com, 1 better.fyi, 1 betterbaseball.com, 1 betterbedding.com, 1 betterboards.net, 1 -betterbuiltbasements.com, 1 betterbuiltkitchensandbathrooms.com, 1 bettercleaningcompany.co.uk, 1 bettercommunication.org.uk, 1 @@ -21062,7 +21024,6 @@ betteroffed.com, 1 betterphonestone.com, 1 betterphonestone.net, 1 -betterprojects.de, 1 betterscience.org, 1 betterscore.net, 1 bettersecurity.co, 1 @@ -21087,9 +21048,11 @@ bettingonaverage.com, 1 bettingphilippines.online, 1 bettolinokitchen.com, 0 +bettwanzenweg.de, 1 bettyblue.tk, 1 bettysseafoodshack.com, 1 betulashop.ch, 1 +betuntd.ca, 1 betus.tk, 1 between.sh, 1 betweenbuns.com.br, 1 @@ -21114,6 +21077,7 @@ betwinnernigeria.com, 1 betwinnerperu.com, 1 betwinnerportugal.com, 1 +betyoucanwin.com, 1 betz-family.de, 1 betza.online, 1 betzgmbh.de, 1 @@ -21123,6 +21087,7 @@ beulen.email, 1 beulen.link, 1 beulen.pro, 1 +beunschuur.nl, 1 beurettes-en-chaleur.tk, 1 beursbever.be, 1 beus.ink, 1 @@ -21157,7 +21122,6 @@ bevinco2020.com, 1 bevinsco.org, 1 beviu.com, 1 -bevmoir.com, 1 bevnut.com, 1 bevrijdingsmuseum.nl, 1 bewaredevapi.azurewebsites.net, 1 @@ -21287,7 +21251,6 @@ bg-1xbet.com, 1 bg-sexologia.com, 1 bg2kuj.com, 1 -bg9jue.com, 1 bga.de, 1 bgacaldeiras.com.br, 1 bgbaby.net, 1 @@ -21300,7 +21263,7 @@ bgetfuel.co.uk, 1 bgfalconmedia.com, 1 bgfashion.net, 1 -bgfr.net, 1 +bgfr.net, 0 bggcapital.com, 1 bgharwoodbuilders.co.nz, 1 bghddevelopment.com, 1 @@ -21328,10 +21291,10 @@ bhacit.com, 0 bhameshwarigraphics.com, 1 bharam.be, 1 +bharat-connect.com, 1 bharat-media.tk, 1 bharat.in, 1 bharatanatyam-dancer.tk, 1 -bharatbillpay.com, 1 bharath-g.in, 1 bharatskills.gov.in, 1 bharatsofttech.com, 1 @@ -21357,10 +21320,12 @@ bhrc.wa.gov.au, 1 bhrenovations.com, 0 bhserralheria.com.br, 1 +bhsportal.help, 1 bhsportugal.org, 1 bhtechconnection.com, 0 bhtelecom.ba, 1 bhub.tk, 1 +bhudoy.com, 1 bhulakkad.com, 1 bhuntr.com, 1 bhuttae.com, 1 @@ -21395,7 +21360,6 @@ biantai.cf, 1 biantai.ml, 1 bianyanan.xyz, 1 -bianys.org, 0 biaoxiong.com, 1 biaozi.cf, 1 biaozi.ml, 1 @@ -21410,12 +21374,12 @@ bibb-service.de, 1 bibb.de, 1 bibbvoice.com, 1 +bibby.cloud, 1 biber-bike.de, 1 biberonshop.bg, 1 bibet365.com, 1 bibi-xxx.com, 1 bibica.net, 1 -bibicarrington.com, 1 bibisaintifik.com, 1 bibit.id, 1 bibitbunga.com, 1 @@ -21443,7 +21407,6 @@ biblico.tk, 1 biblicom.org, 1 biblinfo.com, 1 -biblio.ch, 1 bibliobaldur.tk, 1 biblioblog.fr, 1 bibliobus.ch, 1 @@ -21513,7 +21476,6 @@ biehlsoft.info, 1 bielefailed.de, 1 bielemenklen.tk, 1 -bielenda.ua, 1 bielik.io, 0 bielskoclinic.pl, 1 bieltech.com.br, 1 @@ -21522,8 +21484,8 @@ bien-etre-sante.info, 1 bienbailao.com, 1 biene.rocks, 1 +bieneit.de, 1 bienenfreunde.tk, 1 -bienenkonigin.site, 1 bienertplus50.de, 1 bienestarinmobiliarioyaliadas.com, 1 bienhacerlimpiezas.es, 1 @@ -21574,7 +21536,6 @@ big-office.lviv.ua, 1 big-orange.com.ua, 1 big-papa.tk, 1 -big-radio.net, 1 big-tits-video.ru, 1 big-travel.tk, 1 big.one, 1 @@ -21604,7 +21565,6 @@ bigbendsentinel.com, 0 bigbenny.tk, 1 bigbit.tk, 1 -bigblockmotors.ru, 1 bigblue.academy, 1 bigblue.co.il, 1 bigbluecomputers.tk, 1 @@ -21644,6 +21604,7 @@ bigeasygrille.com, 0 bigelkconstruction.com, 1 bigfamily24.de, 1 +bigfamilybigprizes.com.au, 1 bigfreebet.com, 1 bigfreebielist.tk, 1 bigfurryfestival.com, 1 @@ -21723,6 +21684,7 @@ bigskylifestylerealestate.com, 0 bigskymontanalandforsale.com, 1 bigspark.it, 1 +bigspawn.com, 1 bigspinningwheel.com, 1 bigstonecounty.gov, 1 bigstr.com, 1 @@ -21744,6 +21706,7 @@ bigwest.org, 1 bigwicks.co.uk, 1 bigzoo.com.br, 1 +bihada-shohousen.com, 1 biharujala.com, 1 bijlesbart.nl, 1 bijlesportal.nl, 1 @@ -21774,7 +21737,6 @@ bikesandbits.tk, 1 bikesdirect.com, 1 bikesguider.com, 1 -bikeshopitalia.com, 1 bikestream.tk, 1 bikesupermarket.it, 1 biketalk.ga, 1 @@ -21831,6 +21793,7 @@ biliti.pl, 1 bility.fr, 1 biliwind.com, 1 +biljettmonster.se, 1 bilke.org, 0 bilkhidma.com, 1 bilkovita.bg, 1 @@ -21865,6 +21828,7 @@ billhei.org, 1 billiamsworld.com, 1 billiardmaster.com.ua, 1 +billiardshub.org, 1 billiebikes.com, 1 billigastehemsidan.se, 1 billigbegravning.com, 1 @@ -21890,15 +21854,16 @@ billoberst.com, 1 billogram.com, 1 billpro.com.au, 1 +billsberries.com, 1 billsteinberg.ca, 1 billusherwood.com, 1 billview.com.au, 1 billy.pictures, 1 billybluerecords.com, 1 billybob.tk, 1 -billycroan.com, 1 billyjamrecords.com, 1 billykwok.me, 1 +billymedia.co.uk, 1 billywig.stream, 1 billywr.com, 1 bilmodel.dk, 1 @@ -21912,7 +21877,6 @@ bimbpress.com, 1 bimedis.com, 1 bimilogo.it, 1 -bimmerguide.de, 1 bimmerlabs.com, 1 bimoge.tk, 1 bimstream.cloud, 1 @@ -21968,6 +21932,7 @@ bingebooks.com, 1 binghamcountyid.gov, 1 binghamid.gov, 1 +bingo-ticket.de, 1 bingo-wear.com, 1 bingo9.net, 1 bingoblue.com, 1 @@ -21988,12 +21953,12 @@ biniciliksepeti.com, 1 biniou.net, 1 binkanhada.biz, 1 -binkconsulting.be, 1 binkert-treuhand.ch, 1 binmile.com, 1 binnacle.mx, 1 binnenmeer.de, 1 binoculars.ga, 1 +binomial.network, 1 binoqlo.com, 1 binpress.com, 1 binsec.no, 1 @@ -22064,13 +22029,11 @@ biogeist.de, 1 biogen.com, 0 biogen.de, 0 -biogenius.ca, 1 biogeosciences-discuss.net, 1 biogeosciences.net, 1 biogiardinaggio.it, 1 biographyseriesers.ga, 1 biographyseriesest.ga, 1 -biohackingclinic.com.ua, 1 biohappiness.com, 1 bioharmony.ca, 0 biohazardland.tk, 1 @@ -22089,6 +22052,7 @@ biokemonline.com, 1 bioknowme.com, 1 bioknowme.health, 1 +biokoeduca.com, 1 biokoxomodding.tk, 1 biolack.cf, 1 biolact.tk, 1 @@ -22112,11 +22076,9 @@ biologis.ch, 1 biology-colleges.com, 1 biologymusicvideos.com, 1 -biomasscore.com, 1 biomassinfo.jp, 1 biomechanics.tk, 1 biomechanoid.tk, 1 -biomed-hospital.ch, 1 biomed-sparepart.com, 1 biomedsciinstrum.org, 1 biomee.com, 1 @@ -22231,7 +22193,7 @@ birobidzhan-news.net, 1 birod.fr, 1 birone.tk, 1 -bironthemes.com, 1 +bironthemes.com, 0 birosuli.hu, 1 birouldeimagine.ro, 1 birow.com, 1 @@ -22286,6 +22248,7 @@ bisnisonlinecerdas.tk, 1 biso.ga, 1 bisoga.ga, 1 +bisport.net, 1 bisq.chat, 1 bisq.wiki, 1 bisrockloverclan.tk, 1 @@ -22310,7 +22273,6 @@ bitazza.com, 1 bitbank.cc, 1 bitbank.cf, 1 -bitbattles.net, 1 bitbincomputers.com, 1 bitbonus.cf, 1 bitbonusss.tk, 1 @@ -22371,10 +22333,10 @@ bitcoinheaders.org, 1 bitcoinindy.com, 1 bitcoinissafe.com, 1 +bitcoinku.sh, 1 bitcoinkurs.news, 1 bitcoinkurs.world, 1 bitcoinmotionpro.com, 1 -bitcoinnews.guru, 1 bitcoinnews.world, 1 bitcoinnotbombs.com, 1 bitcoinseed.net, 1 @@ -22417,7 +22379,6 @@ bitgarant.tk, 1 bitgo.com, 1 bithawk.ch, 1 -bithero.com, 1 bititrain.com, 1 bitix.tk, 1 bitjunkiehosting.com, 1 @@ -22526,7 +22487,6 @@ biz-seecrets.gq, 1 biz1.sk, 1 biz4x.com, 0 -bizapps.lv, 1 bizarnijaponsko.cz, 1 bizarrefuture.cf, 1 bizbelarus.tk, 1 @@ -22745,7 +22705,6 @@ bkpm.tj, 1 bkpsdmkku.id, 1 bksites.tk, 1 -bksysdev.com, 1 bkt.to, 1 bl-builder.tk, 1 bl0ck.org, 1 @@ -22827,6 +22786,7 @@ blackchristmas.tk, 1 blackchrome.com.au, 1 blackco.ga, 1 +blackcoin.nl, 1 blackcountrymusicband.co.uk, 1 blackdown.de, 1 blackeaglenet.tk, 1 @@ -22856,7 +22816,6 @@ blackhawknews.com, 1 blackhawktyre.com.sg, 1 blackheads.tk, 1 -blackhelicopters.net, 1 blackhillsinfosec.com, 1 blackhistorymonth.gov, 1 blackhorsedistillery.co.za, 1 @@ -22898,6 +22857,7 @@ blackpooltransport.com, 1 blackportal.tk, 1 blackpurl.com, 1 +blackrelay.network, 1 blackridgeasset.com, 1 blackriverfalls.tk, 1 blackriverfallswi.gov, 1 @@ -22922,7 +22882,6 @@ blackspider.tk, 1 blacksprut.pro, 1 blackstonepress.tk, 1 -blackstonetubrefinishers.ca, 1 blackstrapsecurity.com, 1 blackstudio.fr, 1 blackstump.xyz, 1 @@ -22947,6 +22906,7 @@ blackwaterlounge.com, 1 blackwaterutilities.tk, 1 blackwidow.tk, 1 +blackwire.cl, 1 blackwire.tk, 1 blackwoodrugby.tk, 1 blackwoodseventcenter.com, 1 @@ -22985,6 +22945,7 @@ blakekhan.com, 1 blakeminer.com, 1 blakenichols.com, 1 +blakepatrimoine.com, 1 blakescrepes.com, 1 blakesigal.com, 1 blakesite.com, 1 @@ -23100,6 +23061,7 @@ blessrank.com, 1 blesssemijoiasoficial.com.br, 1 bleta.io, 1 +bletinsurance.com, 1 bletvip.com, 1 bleu-roy.com, 1 bleuwire.com, 1 @@ -23159,6 +23121,7 @@ blio.tk, 1 blisko.co, 1 blissbox.com, 1 +blisscyber.com, 1 blissdrive.com, 0 blissfieldmichigan.gov, 1 blissfulsmile.com, 1 @@ -23204,7 +23167,6 @@ blobfolio.com, 1 blobfox.coffee, 1 blobs.gg, 1 -blocfintech.com, 1 bloch.sh, 1 block-planet.xyz, 1 block.xyz, 1 @@ -23259,7 +23221,6 @@ blogaid.net, 1 bloganchoi.com, 1 blogaram.tk, 1 -blogarts.net, 1 blogbookcassiopee.fr, 1 blogbooker.com, 1 blogcosmeticsurgeon.ga, 1 @@ -23316,6 +23277,7 @@ blogstar.tk, 1 blogtechnologiczny.pl, 1 blogtheque.com, 1 +bloguedegeek.net, 1 bloguerrilla.it, 1 blogvadim.ga, 1 blogverdict.com, 1 @@ -23328,6 +23290,8 @@ bloms.de, 1 blomsbegravning.se, 1 blonde-hexe.net, 1 +blondeangels.com, 1 +bloo.pw, 1 bloob.io, 1 bloobasket.com, 1 bloobirds.com, 1 @@ -23348,7 +23312,7 @@ bloodybiz-news.tk, 1 bloodycraft.ml, 1 bloodyhawks.tk, 1 -bloom-track.com, 1 +bloom-track.com, 0 bloom.study, 1 bloomberg.com, 0 bloomberglp.com, 0 @@ -23442,7 +23406,6 @@ blueheronbio.com, 1 bluehillme.gov, 1 bluehr.ph, 1 -blueice.xin, 1 blueimp.net, 1 blueinc.com.au, 1 blueisafety.com, 1 @@ -23454,7 +23417,6 @@ bluelighter.tk, 1 bluelily.ga, 1 bluelime.it, 1 -blueline-dental.com, 1 bluemail24.com, 0 bluemango-studios.com, 1 bluemat.org, 1 @@ -23502,7 +23464,6 @@ blueskywebdesign.net, 1 bluesnews.tk, 1 bluesoap.com.au, 1 -bluespace.com.ng, 1 bluespace.ng, 1 bluespaceenvironments.com, 1 bluespirit.com, 1 @@ -23555,14 +23516,12 @@ blummedia.de, 1 blundell.wedding, 1 bluntandsnakes.com, 1 -bluntpark.com, 1 bluprintoncology.com, 1 bluproducts.com.es, 1 bluquist.com, 1 blur.io, 1 bluraynebridal.com, 1 blurbhack.com, 1 -blurfuse.com, 1 blurringexistence.net, 1 blurt.cf, 1 blushandbasheventco.com, 1 @@ -23583,6 +23542,7 @@ blw-eschwege.de, 1 blw.moe, 0 blyat.science, 1 +blyskotka.com, 1 blyth.me.uk, 1 blythwood.com, 1 bm-academy.fr, 1 @@ -23630,13 +23590,14 @@ bmyjacks.net, 1 bmzm.nl, 0 bnb-buddy.nl, 1 -bnbaitrader.com, 1 bnbhome.com, 1 bnboy.cn, 1 +bnbscheduler.com, 1 bnbsinflatablehire.co.uk, 1 bnc.sh, 1 bncoerplus.com, 1 bncollege.com, 1 +bncreatives.com, 1 bnct.us, 1 bnd.house, 1 bndestem.nl, 1 @@ -23714,13 +23675,15 @@ bobancoamigo.com, 1 bobaobei.net, 1 bobaobei.org, 1 +bobatoo.co.uk, 1 bobbehrendsroofing.com, 1 bobbielee.co.uk, 1 bobbyfischer.tk, 1 bobbyhardman.co.uk, 1 +bobbylondon.co.uk, 1 +bobbylondon.uk, 1 bobbyoriginal.tk, 1 bobbyrobinson.tk, 1 -bobbysdancewear.com, 1 bobcat-lead.com, 1 bobcat.com, 1 bobcoffee.com.br, 1 @@ -23823,7 +23786,7 @@ bof.fo, 1 bofashion.site, 1 boffin.tk, 1 -bofplus.de, 1 +bofplus.de, 0 bogatyizhenih.tk, 1 bogdanbiris.com, 1 bogdanepureanu.ro, 1 @@ -23845,6 +23808,7 @@ bohemiantooers.ga, 1 bohramt.de, 1 bohrenundderclubofgore.de, 1 +bohumfit.ai, 1 bohyn.cz, 1 boikhor.com, 0 boilesen.com, 0 @@ -23857,6 +23821,7 @@ boira.tk, 1 boisebirthdoula.com, 1 boisehomeoffers.com, 1 +boisemurdermystery.com, 1 boissy-la-riviere.fr, 1 boizeau.fr, 1 bojan.tk, 1 @@ -23921,6 +23886,8 @@ bolivin.ga, 1 bolkobe.ddns.net, 1 bollardstreet.com, 1 +bollervilla.de, 1 +bollette.it, 1 bollyfusion.com, 1 bollyraj.com, 1 bollywolly.be, 1 @@ -23948,6 +23915,7 @@ boltmobile.ca, 1 bolton-consulting.org, 1 boltonct.gov, 1 +boltr.ai, 1 boltup.ai, 0 boltz.exchange, 1 boluhaberleri.tk, 1 @@ -23981,6 +23949,7 @@ bomheroes.com, 1 bomnegocioveiculosrs.com.br, 1 bomnet.tk, 1 +bompralevar.com.br, 1 bompus.com, 1 bon-appetit-wesel.de, 1 bonaccordpestcontrol.co.uk, 1 @@ -24063,7 +24032,6 @@ bonito.pl, 1 bonitrust.com, 1 bonjour-ratp.fr, 1 -bonjour.cm, 1 bonjourimmo.tv, 1 bonjourmademoiselle.fr, 1 bonk.pw, 1 @@ -24127,7 +24095,7 @@ book-online.tk, 1 book-sites.cf, 1 bookameeting.se, 1 -bookbazar.co.in, 1 +bookbazar.co.in, 0 bookcabaurangabad.com, 1 bookcheapairline.com, 1 bookcreator.com, 1 @@ -24238,7 +24206,6 @@ booshka.ga, 1 boosinflatablegames.co.uk, 1 boosmanpoolservice.com, 1 -boost-collective.com, 0 boost-it-solutions.nl, 1 boost.ink, 1 boostdesign.tk, 1 @@ -24251,20 +24218,19 @@ boot-berlin.de, 1 bootcampkatwijk.nl, 1 boothillcasino.com, 1 -booths.cyou, 1 boothukathalu.in, 1 bootlabs.net, 1 +bootrading.com, 1 boots-shop.tk, 1 bootsa.ga, 1 bootsa.tk, 1 bootspraxis.com, 1 -bootstrapcollab.com, 0 bootsverleih-buch-balduinstein.de, 1 bootsverleih-buch.de, 1 bootswinter.tk, 1 bootytube.net, 1 boozinyan.com, 1 -boraarat.com, 1 +boraarat.com, 0 boraboraphotos.com, 1 boracay.tk, 1 borafalardeguito.com, 1 @@ -24384,8 +24350,8 @@ boschhirtshals.dk, 1 boschveldtuin.nl, 1 boscobelwi.gov, 1 +boscobygotycka.com, 1 bosconation.tk, 1 -boscosmarket.com, 1 boscq.fr, 1 boscrowan.co.uk, 1 bosdubica.tk, 1 @@ -24421,6 +24387,7 @@ bostonfast.com, 1 bostonheartdiagnostics.com, 1 bostonmedicalgroup.com, 1 +bostonmurdermystery.com, 1 bostonstoneinjurylawyers.com, 1 bostonstonelaw.com, 1 bostonstylepizzapa.com, 1 @@ -24430,6 +24397,7 @@ bot-manager.pl, 1 bot.country, 1 botabota.ca, 1 +botanapp.com, 1 botanical.house, 1 botanicalinstitute.org, 1 botanicoved.com, 1 @@ -24453,7 +24421,6 @@ botmanager.pl, 1 botmedia.cf, 1 botnam.com, 1 -botoes-primor.pt, 1 botoks.tk, 1 botosani24.ro, 1 botox.bz, 1 @@ -24466,9 +24433,12 @@ botstack.host, 1 botsuite.pro, 1 botticelli.tk, 1 +bottino.cloud, 1 bottinquebec.com, 1 bottke.berlin, 1 +bottlehuntohio.com, 1 bottlerockshuttles.com, 1 +bottom.pub, 1 bottom9clothing.com, 1 bottomfeedings.tk, 1 bou.cloud, 1 @@ -24612,11 +24582,9 @@ bourse-aux-jouets.org, 0 bourse-aux-vetements.org, 0 bourse-puericulture.org, 0 -bourtalm.fr, 1 bousai-stock.jp, 1 boutique-box-internet.fr, 0 boutique-opinioes.pt, 1 -boutiquedecanetas.com.br, 1 boutiquedelhogar.cl, 1 boutiquedoartista.com.br, 1 boutiqueguenaelleverdin.com, 1 @@ -24625,7 +24593,6 @@ boutiquesette.bg, 1 boutoncoupdepoing.fr, 1 bouvier-des-flanders.com, 1 -bouwbedrijfdesmet.be, 1 bouwbedrijfjstam.nl, 1 bouwbedrijfkorstanje.nl, 1 bouwbedrijfvandepoll.nl, 1 @@ -24747,14 +24714,13 @@ bplm.digital, 1 bplm.science, 1 bpm.com, 1 -bpnet.work, 1 +bpnet.work, 0 bpo.ovh, 1 bpointsaas.it, 1 bpol-forum.de, 1 bpowell.net, 1 bppulsefleet.com, 1 bpscexamprep.com, 1 -bpsdev.org.uk, 1 bpsis.fr, 1 bpvgoncalves.com, 1 bpvr.ddns.net, 1 @@ -24763,10 +24729,10 @@ bpx.global, 1 bq1.me, 1 bq8.me, 1 -bqgw8.com, 0 bqool.com, 1 bqp.io, 0 bqtoolbox.com, 1 +bqurtas.com, 1 br-1xbet.com, 1 br-hq.net, 1 br-miyamoto.spdns.org, 1 @@ -24774,9 +24740,11 @@ br.to, 1 br1334shop.com.br, 1 br3in.nl, 0 +br4mm3ns.de, 1 br7.ru, 1 br8.pl, 1 -bra-horapparat.se, 1 +bra-horapparat.se, 0 +bra360.com, 1 braathe.no, 1 brabant.nl, 1 brabantia.com, 1 @@ -24802,7 +24770,6 @@ bradfordcountypa.gov, 1 bradfordhottubhire.co.uk, 1 bradfordwoods.gov, 1 -bradhazel.com, 0 bradholland.net, 1 bradler.net, 0 bradleybeeming.com, 1 @@ -24864,6 +24831,7 @@ brainstew.tk, 1 brainstorm-audit.bg, 1 brainstormproductions.tk, 1 +brainstormtbilisi.com, 1 brainstreams.ca, 1 braintensive.com, 1 braintonus.tk, 1 @@ -24906,8 +24874,6 @@ branchtobox.com, 1 branchtrack.com, 1 brand-design.studio, 1 -brand.contact, 1 -brand.site, 1 brandabaski.tk, 1 brandbastion.com, 1 brandbook.io, 1 @@ -24915,7 +24881,6 @@ brandcodestyle.com, 0 brande.ai, 1 brandefense.io, 1 -brandenbauer.com, 1 brandenburgertheater.de, 1 brandeps.com, 1 brandfactory.ml, 1 @@ -24929,7 +24894,6 @@ brandmonkey.dk, 0 brandmovers.co, 1 brandmrwijchen.nl, 1 -brandnaked.nl, 1 brandnucreations.com, 1 brando753.xyz, 1 brandon-manilow.tk, 1 @@ -24985,7 +24949,6 @@ branw.xyz, 0 branzell.kim, 1 brard.it, 1 -brascast.com, 1 brasco.tk, 1 brasdir.com, 1 brashear.me, 1 @@ -25008,6 +24971,7 @@ braslet-bianshi.tk, 1 braspetdf.com.br, 1 brass.host, 1 +brassallseafood.com.au, 1 brassbandwarmond.tk, 1 brasshow.com.br, 1 brasspipedreams.org, 1 @@ -25145,7 +25109,6 @@ bredband.fi, 1 breechdepot.com, 1 breederpodcast.com, 1 -breen.com.br, 1 breentwp.gov, 1 breet.io, 1 breethe.com, 1 @@ -25154,7 +25117,6 @@ breezyapp.hu, 1 breezypointmn.gov, 1 breffa.pl, 1 -brefy.com, 1 brege.org, 1 breger.fr, 1 bregnedal.dk, 1 @@ -25279,6 +25241,8 @@ briarcliffmanor.gov, 1 briarproject.org, 1 bribesdereel.net, 1 +bricecrevits.com, 1 +brichacek.cz, 1 brickaddicts.com, 1 brickadia.com, 1 brickell.com, 1 @@ -25290,6 +25254,7 @@ brickrodeo.com, 1 bricks-clicks.com, 1 bricksandmotor.co.uk, 1 +bricktrack.au, 1 brickweb.co.uk, 1 brickwerks.io, 1 bricmon.com, 1 @@ -25330,6 +25295,7 @@ bridgescourtreporting.com, 1 bridgesem.com, 1 bridgesofcolorado.gov, 1 +bridgespider.com, 1 bridgestudios.com, 1 bridgesync.io, 0 bridgethailand28chidlom.com, 1 @@ -25342,6 +25308,7 @@ brie.tech, 1 briefassistant.com, 1 briefbiz-news.tk, 1 +briefedmedia.com, 1 briefingsdirect.com, 1 briefly.ru, 1 briefs.in.th, 1 @@ -25367,6 +25334,7 @@ brightfuturemadebyme.com, 1 brighthandsmd.com, 1 brighthope-nwl.org.uk, 0 +brightideasdesign.store, 1 brightideaspromotional.co.uk, 1 brightmachines.com, 1 brightmovers.com, 1 @@ -25412,7 +25380,6 @@ brinavkuhni.com, 1 brinca.com, 1 brindabantheatre.tk, 1 -brindesgrafica.com.br, 1 brindisireport.it, 1 brindocorp.tk, 1 bring-heaven.com, 1 @@ -25423,7 +25390,7 @@ bringonbusiness.com, 1 brinker.com, 1 brinkhaven.gov, 1 -brinkhu.is, 1 +brinkhu.is, 0 brinksurl.com, 1 brinksurls.com, 1 brinokidzonline.tk, 1 @@ -25436,7 +25403,6 @@ brioukraine.store, 1 brisamar8.de, 1 brisbanecashforcars.com.au, 1 -brisbanelogistics.com.au, 1 brisbanerecordbar.com.au, 1 brisignshop.com.au, 1 briskteaching.com, 1 @@ -25455,7 +25421,6 @@ britannia-jewellery.co.uk, 1 britannia.no, 1 britanniapandi.com, 1 -british-assessment.co.uk, 1 britishairlinesflights.com, 1 britishantiquefurniture.co.uk, 1 britishbee.org.uk, 1 @@ -25495,7 +25460,6 @@ brixxonline.nl, 0 brixzer.com, 1 brizawen.com, 1 -brizzly.ro, 1 brizzybites.com.au, 1 brk-t.com, 1 brk-t.org, 1 @@ -25511,7 +25475,7 @@ brmsalescommunity.com, 1 brn.by, 1 brn.is, 0 -brnchost.com, 1 +brnchost.com, 0 brndn.io, 1 brngal.sk, 1 brnogame.com, 1 @@ -25522,6 +25486,7 @@ brnohra.online, 1 brnr.link, 1 brntn.me, 1 +brnxtravel.com, 1 broad-path.com, 1 broadax.ml, 1 broadbandchoices.co.uk, 1 @@ -25580,7 +25545,6 @@ brokenbowokpd.gov, 1 brokencityllc.ga, 1 brokendollsmuseum.com, 1 -brokenelectronics.com, 1 brokenhands.io, 1 brokenlinkchecker.live, 1 brokenminds.tk, 1 @@ -25616,6 +25580,7 @@ bromonetwork.com, 1 brompton-cocktail.com, 1 bronco-atodogalope.tk, 1 +brondsholm.dk, 1 bronevichok.ru, 1 bronsonsmarketplace.com, 1 brontech.com, 1 @@ -25643,6 +25608,7 @@ brooksideas.ga, 1 brookskolb.com, 1 brookstonelc.com, 1 +brookstownductcleaning.com, 1 brookvillepoliceny.gov, 1 brookz.nl, 1 broomcastle.com, 1 @@ -25653,10 +25619,10 @@ broomecountyny.gov, 1 broomorchard.com, 0 broomstickhub.com, 1 +broraonline.com, 1 brosay-legko.ml, 1 brossmanit.com, 1 brother.com.hk, 1 -brotherboo.ca, 1 brothers.tw, 1 brothersinbeetles.tk, 1 brottsfiltret.tk, 1 @@ -25672,6 +25638,7 @@ brown-bros.ca, 1 brown-jones.com, 1 brownacres.nz, 1 +brownandsonsphotobooth.com, 1 brownandsonsphotography.com, 1 brownavto-news.tk, 1 brownbagdinner.org, 1 @@ -25696,6 +25663,7 @@ browntowncountryclub.com, 0 brownvillenebraska.gov, 1 brownwoodnews.cf, 1 +browpix.com, 1 browsbybecca.ca, 1 browse-china.com, 1 browselog.com, 1 @@ -25709,6 +25677,7 @@ brq.com, 1 brr.fyi, 1 brrr.fr, 1 +brsktjez.us, 1 brsvcs.in, 1 brtve.tk, 1 bru6.de, 1 @@ -25743,7 +25712,6 @@ bruidstaarten.tk, 1 bruinmail.nl, 1 bruitparif.fr, 1 -brujobros.com, 1 bruk2fa.no, 1 brukalai.lt, 1 brulen.com, 1 @@ -25875,10 +25843,8 @@ bse-pictures.de, 1 bsee.gov, 1 bserved.de, 0 -bseuc.eu, 1 bsf-knowledgecity.com, 1 bsfamily.tr, 1 -bsg-mag.ro, 1 bsg.ro, 1 bsgamanet.ro, 1 bsgcredit.com, 1 @@ -25898,6 +25864,7 @@ bslinguistics.co.uk, 1 bslnow.co.uk, 1 bslnowsigns.co.uk, 1 +bsmartrisk.com, 1 bsmsl.com, 1 bsn.cloud, 0 bsnb.com, 1 @@ -25950,6 +25917,7 @@ btcp.space, 1 btcpool.co.uk, 1 btcpop.co, 1 +btcprivate.de, 1 btcrit.com, 1 btcwip.com, 1 btd.be, 1 @@ -26072,13 +26040,13 @@ buda.com, 1 budapest.zone, 1 budapestairport.tk, 1 -budapestairporttaxi.net, 0 -budapestairporttocity.com, 0 -budapestairporttransfer.biz, 0 -budapestairporttransfer.org, 0 +budapestairporttaxi.net, 1 +budapestairporttocity.com, 1 +budapestairporttransfer.biz, 1 +budapestairporttransfer.org, 1 budapestgraphics.hu, 1 budapestjazzclub.hu, 1 -budapesttaxi.co.uk, 0 +budapesttaxi.co.uk, 1 budapesttaxi.de, 0 budapesttaxi.fr, 0 budapesttaxi.nl, 0 @@ -26127,6 +26095,7 @@ budgetlovers.nl, 1 budgetrf.tk, 1 budgetscan.nl, 1 +budgewoihp.com.au, 1 budgie.lol, 1 budiarto.id, 1 budilnik.ml, 1 @@ -26142,6 +26111,7 @@ budsforbuddies.com, 1 budsmelim.ee, 1 budtraffic.net, 1 +buduh.ai, 1 buecherheldenchemnitz.de, 1 buejagt.dk, 1 bueltge.de, 1 @@ -26174,7 +26144,7 @@ buffalodrycleanerest.ga, 1 buffalogaptx.gov, 1 buffalohomerepairs.com, 1 -buffalonews.com, 1 +buffalomurdermysterydinner.com, 1 buffaloturf.com.au, 0 buffalowypd.gov, 1 buffbarbell.com, 1 @@ -26198,6 +26168,7 @@ bugburn.com.br, 1 bugbyebye.com, 1 bugcrowd.com, 0 +buge.ddns.net, 1 bugfender.com, 1 bugfuzz.com, 1 buggiano.com, 1 @@ -26251,6 +26222,7 @@ buildkite.com, 0 buildmate.ml, 1 buildmorebuslanes.com, 1 +buildmyplayset.com, 1 buildnews.tk, 1 buildpc.net, 1 buildplan.org, 1 @@ -26276,7 +26248,6 @@ builtinvacuum.com, 1 builtmaven.com, 1 builtory.my, 1 -builtvisible.com, 1 buirey.com, 1 buirey.fr, 1 buissonchardin.fr, 1 @@ -26300,7 +26271,6 @@ bulagro.bg, 1 bulagro.com, 1 bulario.com, 1 -bularmas.com, 1 bulatlat.com, 1 bulatlat.org, 1 bulavki.tk, 1 @@ -26440,6 +26410,7 @@ buphachat.com, 1 bupropion.com, 1 bupropionhclsr.ga, 1 +buqu.eu.org, 1 buquesdeguerra.tk, 1 bur-werbung.de, 1 buraksercanercin.co, 1 @@ -26489,7 +26460,6 @@ burgstetten.de, 1 burgueros.com.br, 0 burhan-autosattlerei.de, 1 -buricloud.fr, 1 burina.net, 1 burishops.com, 1 burke.services, 1 @@ -26501,7 +26471,6 @@ burlapsac.ca, 1 burlesonconstructioninc.com, 1 burlesontx.gov, 1 -burlingameparentsclub.org, 1 burlingtoncentre.ca, 1 burlingtoncoatfactory.com, 1 burma-we-care.tk, 1 @@ -26606,6 +26575,7 @@ bush41library.gov, 1 bushcraftfriends.com, 1 busheyrangersfc.co.uk, 1 +bushfaller-academy.com, 1 bushfirerecovery.gov.au, 1 bushingsandbars.com, 1 bushland.tk, 1 @@ -26627,7 +26597,6 @@ business.gov, 0 business.medbank.com.mt, 1 business4all.gr, 1 -business4beginners.co.uk, 1 business808.com, 1 businessactivities.tk, 1 businessadaptive.ga, 1 @@ -26940,7 +26909,7 @@ butlerdisposal.com, 1 butlins.com, 1 butongshidai.com, 1 -butorkarpitos.com, 0 +butorkarpitos.com, 1 butorkatalog.hu, 1 butorvasarlas.hu, 1 butowka.tk, 1 @@ -27052,6 +27021,7 @@ buyessayscheap.com, 1 buyfluoxetineonline.gq, 1 buyganodermacoffeeonline.com, 1 +buygit.com, 1 buygoldreview.com, 1 buyharpoon.com, 1 buyhydrochlorothiazide.ml, 1 @@ -27172,6 +27142,7 @@ bwanglab.com, 1 bwashing.tk, 1 bwcscorecard.org, 1 +bwd-oms.site, 1 bwdstrategic.com, 0 bwdtravelguides.com, 1 bwell.bg, 1 @@ -27207,6 +27178,7 @@ bwpequity.com, 1 bwpfinancialplans.com, 1 bws16.de, 1 +bwtr.ai, 1 bx-n.de, 1 bx49.cc, 1 bxdj3.com, 1 @@ -27230,6 +27202,7 @@ bybym.ml, 1 bycafeonline.com, 1 bycorefi.com, 1 +bydd.studio, 1 bydik.com, 1 bydisk.com, 0 bydleno.cz, 1 @@ -27260,7 +27233,6 @@ byjus.com, 1 byjuschennai.com, 1 byken.cn, 1 -byll.de, 1 byluthier.com, 1 bylz.me, 1 bymike.co, 1 @@ -27275,6 +27247,7 @@ bypass-link.ga, 1 bypassgfw.tk, 1 bypetula.cz, 1 +byproxy.se, 1 byr.nl, 1 byraje.com, 1 byrddogpaving.com, 1 @@ -27293,6 +27266,7 @@ byte-lab.tk, 1 byte.nl, 1 byte128.com, 0 +bytebarker.com, 1 bytebase26.top, 1 bytebin.org, 1 bytebiter.io, 1 @@ -27320,6 +27294,7 @@ byteorbit.com, 1 bytepen.com, 1 bytepoint-software.nl, 1 +byteridge.com, 1 bytes.fyi, 1 bytesec.net, 1 bytesflow.com, 1 @@ -27345,6 +27320,11 @@ byzhihuo.com, 1 bz2.pl, 1 bzbet365.com, 1 +bzf-fragen.de, 1 +bzf-fragenkatalog.de, 1 +bzf-kurs.de, 1 +bzf-lernen.de, 1 +bzf-simulator.de, 1 bzh.tf, 1 bzhserv.ovh, 1 bzhub.bid, 1 @@ -27373,6 +27353,7 @@ c-rpg.eu, 1 c-rtx.com, 1 c-sagaseru.com, 1 +c-sandin.com, 1 c-solarcity.com, 1 c-tec.nl, 1 c-three.jp, 1 @@ -27402,7 +27383,6 @@ c19ivermectin.org, 1 c19ivm.org, 1 c19probiotics.com, 1 -c19proxalutamide.com, 0 c19study.com, 1 c19sv.com, 1 c19vitamind.com, 1 @@ -27410,7 +27390,6 @@ c2athletics.com, 1 c2cdn.xyz, 1 c2cporn.com, 1 -c2fhq.com, 1 c2fo.com, 1 c2lab.net, 1 c2o2.xyz, 1 @@ -27439,6 +27418,7 @@ c6729.co, 1 c6957.co, 1 c7dn.com, 1 +c7n.ch, 1 c7ra.com, 1 c82365.com, 1 c86255.com, 1 @@ -27448,7 +27428,6 @@ c9n.xyz, 1 c9up.com, 1 ca-canovelles.tk, 1 -ca-els.com, 1 ca-immobilier.fr, 1 ca-key.de, 1 ca.gparent.org, 1 @@ -27546,9 +27525,9 @@ cachesheriff.gov, 1 cachetur.no, 1 cacic.dev.br, 1 -caciquecigars.com.br, 1 cackette.com, 0 cacko.tk, 1 +cacmid.ca, 1 cacnews.org, 1 cacnverslavingszorg.nl, 1 cacombos.com, 1 @@ -27622,7 +27601,6 @@ caedea.net, 1 caek.net, 1 caelandrayer.ca, 1 -caelithlabs.com, 1 caerdav.com, 1 caesar.me.uk, 1 caesar.today, 1 @@ -27640,7 +27618,6 @@ cafe-hamlet.fr, 1 cafe-musica.org, 1 cafe-pauline.de, 1 -cafe-service.ru, 0 cafeah.com, 1 cafeamazon.tk, 1 cafeamore.com.br, 1 @@ -27686,6 +27663,7 @@ caffeinemc.net, 1 caffelatte.tk, 1 cafferata.tk, 1 +caffero.com, 1 caffewasyl.pl, 1 cafirexos.com, 1 cafled.org, 1 @@ -27724,6 +27702,7 @@ caiodorosario.com, 1 caipai.fm, 1 caiqueparrot.com, 1 +cairngormcustoms.co.uk, 1 cairnterrier.com.br, 1 cairoflo.com, 1 cairohost.ml, 1 @@ -27773,7 +27752,6 @@ cakir.info.tr, 1 cakko.ml, 1 caknowledge.com, 1 -caktivestudios.co.uk, 1 cal-cal.com, 1 cal-pacpainting.com, 1 cal.goip.de, 1 @@ -27811,6 +27789,7 @@ calcioweb.eu, 1 calcoolator.pl, 1 calcsoft.tk, 1 +calcstructcost.com, 1 calcsub.net, 1 calculadora-de-derivadas.com, 1 calculadora-de-integrales.com, 1 @@ -27818,7 +27797,6 @@ calculadoratrabalhista.com, 1 calculafin.com.br, 1 calcularis.ch, 1 -calculate-vat.uk, 1 calculate.co.kr, 1 calculates.org, 1 calculatetoday.com, 1 @@ -27843,7 +27821,6 @@ caldervets.co.uk, 1 caldetes.cat, 1 caldoletto.com, 1 -caldwell.com, 1 caldwellcosdmo.gov, 1 caleaders.cf, 1 caleatoxic.org, 1 @@ -27863,6 +27840,7 @@ calendriergn.ch, 1 calendriergratuit.fr, 1 calendriers10.com, 1 +caleos.fr, 1 caletka.cz, 1 calgaryconstructionjobs.com, 0 calgarydermatologisters.ga, 1 @@ -27899,7 +27877,7 @@ californiaonlinedivorce.com, 0 californiapa.gov, 1 californiapayroll.com, 1 -californiaschools.us, 1 +californiaschools.us, 0 californiatitlesearch.com, 1 californiavalues.cf, 1 calim.com.ar, 0 @@ -27927,8 +27905,7 @@ callbell.eu, 1 callcenterdeluxecalls.nl, 1 callcentrehelper.com, 1 -callcriteria.com, 1 -calldeedee.com, 1 +callcriteria.com, 0 callear.org, 1 callerstrom.se, 1 callertech.com, 1 @@ -27945,6 +27922,7 @@ callinangroup.net, 1 callinsdecor.com.br, 1 callipeg.com, 1 +calljacob.com, 1 callmewatkins.com, 1 callmewhatever.com, 1 callmewhatever.de, 1 @@ -28005,9 +27983,9 @@ camaradecomerciosiguatepeque.hn, 1 camaras.uno, 1 camaraux.com.br, 0 -camargoprime.com.br, 1 camarilla.tk, 1 camaronazo.com, 1 +camarottigrupo.com.br, 1 camarzanadetera.tk, 1 camashop.de, 1 camazoon.com, 0 @@ -28077,6 +28055,7 @@ camfire.family, 1 camfire.school, 1 camfire.team, 1 +camflow.ai, 1 camgirl-info.net, 1 camgirl.ga, 1 camgo.org, 1 @@ -28146,7 +28125,6 @@ camping-dulac-dordogne.com, 1 camping-fleur-oleron.com, 1 camping-seilershof.de, 1 -camping-trentino.it, 1 camping.it, 1 campingbuffs.com, 1 campingcarlovers.com, 1 @@ -28328,6 +28306,7 @@ candlelightchallenge.tk, 1 candlemakingexplained.com, 1 candlepro.cf, 1 +candlescope.de, 1 candogiveguide.org, 1 candt.gr, 1 candy-pop.tk, 1 @@ -28457,6 +28436,7 @@ canterburynh.gov, 1 canters.tk, 1 cantillons.com, 1 +cantonbeachhp.com.au, 1 cantongroup.com, 1 cantonmi.gov, 1 cantonmopolice.gov, 1 @@ -28496,8 +28476,10 @@ cap50.be, 1 cap73.fr, 1 cap75.com, 1 +capa-language.com, 1 capcut.cn, 1 cape.blue, 1 +capeable.ai, 1 capeannvacations.com, 1 capebretonpiper.com, 1 capecanaveral.gov, 1 @@ -28628,7 +28610,6 @@ captainsonic.com, 1 captainsunshine.tk, 1 captavio.com, 1 -captchafox.com, 1 captech.pe, 1 captello.com, 1 captify.ca, 1 @@ -28664,6 +28645,7 @@ caraccidentlawyersaltlake.com, 1 caraccidentslawyer.tk, 1 caraccio.li, 1 +caracciolo-olivenoel.de, 1 caracterizacion.tk, 1 caradaftarakun.ga, 1 caragame.id, 1 @@ -28695,6 +28677,7 @@ carbeso.co.network, 1 carbeso.site, 1 carbgrent.com, 1 +carblank.org, 1 carbon-project.org, 1 carbon12.org, 1 carbon12.software, 1 @@ -28734,7 +28717,6 @@ cardanalysisers.ga, 1 cardano.eco, 1 cardano.org, 1 -cardanoupdates.com, 1 cardboard.inc, 1 cardbouns.tk, 1 cardcaptorsakura.jp, 1 @@ -28779,7 +28761,6 @@ cardozovargas.com, 1 cardozovargas.me, 1 cardozovargas.net, 1 -cardozovargas.one, 1 cardozovargas.org, 1 cardozovargas.pro, 1 cardozovargas.vip, 1 @@ -28833,7 +28814,6 @@ carefu.link, 1 carefy.ph, 1 caregility.com, 1 -caregoportal.com, 1 carehomejob.co.uk, 1 carehospitals.com, 1 careium.co.uk, 1 @@ -28880,7 +28860,6 @@ caribank.org, 1 caribbean-tekton.com, 1 caribbeanbottlerstt.com, 1 -caribbeancinemas.com, 1 caribuku.tk, 1 caricature.fr, 0 caricatureavenue.com, 1 @@ -28946,6 +28925,7 @@ carlolander.se, 1 carlons.cf, 1 carlos-moreira.com, 1 +carlos.ls, 1 carlosabarbamd.com, 0 carlosbronze.com.br, 0 carloscar.co, 1 @@ -28966,16 +28946,9 @@ carlospiga.fr, 1 carlostaibo.com, 1 carlosvelezmarketing.com, 1 -carlot-j.com, 1 carlowsouthernreliefroad.ie, 1 carls-fallout-4-guide.com, 1 carlsbadluxuryhotels.ga, 1 -carlshamnbageri.com, 1 -carlshamnbageri.se, 1 -carlshamnmejeri.com, 1 -carlshamnmejeri.se, 1 -carlshamnsvaxtrike.se, 1 -carlshamnvaxtrike.se, 1 carlsonfonder.se, 1 carlsonsw.com, 1 carlstammerjohn.com, 1 @@ -29155,6 +29128,7 @@ carsreborn.com, 1 carstar.com.ua, 1 carsuk.org, 1 +carsuki.com, 1 carsurance.net, 1 carsworld.cf, 1 cartadeviajes.cl, 1 @@ -29175,6 +29149,8 @@ cartcardoso.pt, 1 cartegrise.com, 1 cartegrise.xyz, 1 +cartel.fan, 1 +cartelera.co, 1 carteles.tk, 1 cartelesparaimprimir.com, 1 cartelloni.roma.it, 1 @@ -29188,12 +29164,13 @@ cartertonscouts.org.nz, 1 cartes-voyance.fr, 1 cartesfrance.fr, 1 +cartesian.ch, 0 cartesy.de, 1 cartfilm.tk, 1 cartft.com, 1 -carthage-il.com, 1 carthagecement.com.tn, 1 carthagesavings.com, 1 +cartical.de, 1 cartierplan.ga, 0 cartographiepremiereligne.ca, 1 cartoleriabotticelli.it, 1 @@ -29285,7 +29262,6 @@ casalopez.tk, 1 casalorea.mx, 1 casalunchbreak.de, 1 -casamariano.es, 1 casamentos.com.br, 1 casamentos.pt, 1 casamerced.org, 1 @@ -29400,10 +29376,9 @@ casgp.com, 0 cash-bot.tk, 1 cash-generator.tk, 1 -cash.app, 1 -cash.me, 1 +cash.app, 0 +cash.me, 0 cash.nyc, 1 -cash1loans.com, 1 cashamerican.tk, 1 cashati.com, 1 cashbackcow.us, 1 @@ -29411,7 +29386,6 @@ cashblog.ga, 1 cashbook.co.tz, 1 cashbot.sk, 1 -cashbox.hu, 0 cashcode.ga, 1 cashcoin.tk, 1 cashconverters.co.uk, 1 @@ -29419,6 +29393,7 @@ cashconverters.com.au, 1 cashdo.co.il, 1 cashdrop.ga, 1 +cashewcapital.my, 1 cashewmanufacturers.com, 1 cashflowdiary.com, 0 cashflowstrategist.com, 0 @@ -29581,6 +29556,7 @@ casinoonline39.com, 1 casinopiloot.com, 1 casinoportugal.pt, 1 +casinopromote.com, 1 casinoreal.com, 1 casinoreviews.nl, 1 casinorewards.info, 1 @@ -29613,7 +29589,6 @@ casinotop10.net, 1 casinotopplistan.com, 1 casinotopsonline.com, 1 -casinoudenrofus.com, 1 casinovendors.com, 1 casinozondercruks.nl, 1 casinozonderregistratie.net, 1 @@ -29708,6 +29683,7 @@ castles-in-the-sky.co.uk, 1 castleswa.com.au, 1 castlevaniaspain.tk, 1 +castloop.de, 1 castmagic.io, 0 castor-it.com, 1 castor-it.nl, 1 @@ -29752,6 +29728,8 @@ catalogueau.com, 0 catalojic.tk, 1 catalonia.tk, 1 +cataloniaceramica.com, 1 +cataloniaceramica.es, 1 catalyseurs-territoriaux.org, 1 catalyst-ecommerce.com, 1 catalystapp.co, 1 @@ -29825,7 +29803,7 @@ catherinemurrayphoto.com, 1 catholic-colleges.com, 1 catholic8964.org, 1 -catholiccaretas.org.au, 1 +catholiccaretas.org.au, 0 catholicgallery.org, 1 catholicjobs.com, 1 catholicnewstt.com, 1 @@ -29869,7 +29847,6 @@ catnetworks.co.jp, 1 catnmeow.com, 1 catphysics.com, 1 -catpic.xyz, 1 catplay.tk, 1 catpowered.net, 1 catprincess.com.tw, 1 @@ -29899,7 +29876,6 @@ catus.moe, 1 catvibers.me, 1 catvsmice.com, 1 -catwilliford.com, 1 catworlds.com, 1 catylist.com, 1 catz-productions.tk, 1 @@ -29935,7 +29911,6 @@ cavemax.com, 1 caver-caspex.cloud, 1 caversino.com, 1 -cavisson.com, 1 cavistenancy.fr, 1 cavsconnect.com, 1 cavuno.com, 1 @@ -29997,7 +29972,6 @@ cbmc.store, 1 cbmconnect.com, 1 cbmusa.com, 1 -cbmvn.com, 1 cbnegocial.com.br, 1 cboard.ml, 1 cboard.net, 1 @@ -30006,7 +29980,6 @@ cbozarks.com, 1 cbpridecenter.org, 0 cbr-xml-daily.ru, 1 -cbrbuildingrepairs.com.au, 1 cbrobot.net, 1 cbrsecurity.be, 1 cbs-engineering.com, 1 @@ -30082,6 +30055,7 @@ ccgmc.org.au, 1 ccgx.de, 1 cchat.de, 1 +cchp.com.au, 1 cchsthevoice.org, 1 cci.org.co, 1 ccigi.org, 1 @@ -30091,6 +30065,7 @@ cckguava.com, 1 ccl776o.tk, 0 cclasabana.com.co, 1 +cclaw.com.do, 1 ccloyaltyclub.md, 1 ccmclassic.com, 1 ccmg.com, 1 @@ -30145,7 +30120,6 @@ ccwebdevelopment.com, 1 ccxperience.com, 1 cd-shopware.de, 1 -cd-sport.com, 1 cd.net.tr, 1 cd.search.yahoo.com, 0 cd34.com, 1 @@ -30203,6 +30177,7 @@ cdnsys.net, 1 cdnto.com, 1 cdnya.com, 1 +cdo.com.ph, 1 cdo.gov, 1 cdocs.ml, 1 cdom.de, 1 @@ -30221,6 +30196,7 @@ cdseditora.com.br, 1 cdsf.tk, 1 cdsfinancial.ca, 1 +cdsshelving.com, 1 cdsvisibility.com, 1 cdt.cz, 1 cdt.org, 0 @@ -30230,7 +30206,6 @@ cdusapps.eu.org, 1 cduspages.eu.org, 1 cdvl.org, 1 -cdxy.me, 1 cdyl.freeboxos.fr, 1 ce-agentur.de, 0 ce-christian-era.com, 1 @@ -30254,6 +30229,7 @@ cecame.ch, 1 cecamericas.com, 1 ceceliahealth.com, 1 +cechiyyw.com, 1 ceciledekock.tk, 1 cecilga.gov, 1 cecilia-online.nl, 1 @@ -30266,6 +30242,7 @@ ced-services.nl, 1 ceda-fi.tk, 1 cedac.org, 1 +cedarair.ca, 1 cedarcityut.gov, 1 cedarcountyne.gov, 1 cedarcoveassistedliving.com, 1 @@ -30345,6 +30322,7 @@ celebrityscope.net, 1 celebritysrit.tk, 1 celebritytopnews.tk, 1 +celec.io, 1 celectricos.com, 1 celectro-pro.com, 1 celendo.ga, 1 @@ -30362,6 +30340,7 @@ celexa365.tk, 1 celiac.com, 1 celigo.com, 1 +celinacondo.co, 1 celinaohiopd.gov, 1 celine-patisserie.fr, 1 celinecity.com, 1 @@ -30458,6 +30437,7 @@ centexlegal.com, 1 centextlegal.com, 1 centextlitigationservices.com, 1 +centigen.ai, 0 centillionss.com, 1 centimark.com, 1 centio.bg, 1 @@ -30467,7 +30447,6 @@ central-apartman.tk, 1 central-lascarisdeli.com, 1 central4.me, 1 -centralbb.com, 1 centralbetsers.ga, 1 centralbetsest.ga, 1 centralcityjuniorkindergarten.com, 1 @@ -30530,6 +30509,7 @@ centroestetico.it, 1 centrofotostudija.lt, 1 centrofugi-pipeti-elta90.com, 1 +centrointegraldetiroides.mx, 1 centrokiri.cl, 1 centrolavoro.org, 1 centromedico.tk, 1 @@ -30549,6 +30529,7 @@ centrumvrijwilligerswerkhethogeland.nl, 1 centruvechisv.ro, 1 centsay.io, 0 +centschat.com, 1 centsi.io, 1 centsiwallet.com, 1 centura.de, 1 @@ -30577,7 +30558,6 @@ centurystudios.com, 1 ceomanipur.nic.in, 1 ceomonthlyest.ga, 1 -cepalabs.cl, 1 cephalexin.ga, 1 cephalexincapsules.ml, 1 cephalexincapsules.tk, 1 @@ -30601,8 +30581,8 @@ cerberusftp.com, 1 cerbos.cloud, 1 cerbottana.duckdns.org, 1 +cerbul.ro, 1 cercanos.co, 1 -cercidiana.pt, 0 cercle-duclos.fr, 1 cercle-helvetia.ch, 0 cercrid.fr, 1 @@ -30621,7 +30601,6 @@ cerena-silver.ru, 0 ceres-corp.org, 0 cerezacomunicacion.com, 1 -cerfapp.fr, 1 cerfid.com.pe, 1 cerinrosario.com.ar, 1 ceris.com, 1 @@ -30656,6 +30635,7 @@ certaintelligence.com, 1 certaireland.ie, 1 certaqa.com, 1 +certbar.com, 1 certcenter.com, 0 certd.cn, 1 certdog.eu, 1 @@ -30708,6 +30688,7 @@ cervejista.com, 1 cervek.me, 1 cervellomorto.tk, 1 +cervenacara.cz, 1 cerveny.ch, 1 cervenyjezek.eu, 1 cervera.cat, 1 @@ -30735,7 +30716,6 @@ ceskydj.cz, 1 ceslasvegasnews.com, 1 cesobaly.cz, 1 -cesonia.io, 0 cespedes.fr, 1 cestasdepresente.com.br, 1 cestasedelicias.com.br, 1 @@ -30786,7 +30766,6 @@ cfa.gov, 1 cfaimpact.com, 1 cfan.space, 1 -cfany.org, 1 cfasync.ga, 1 cfbenchmarks.com, 1 cfc-stmoritz.com, 1 @@ -30845,7 +30824,6 @@ cgalvin.com, 1 cgan.pw, 1 cgbassurances.ch, 0 -cgbf.org, 1 cgbh3.gq, 1 cgbproduction.tk, 1 cgbunch.com, 1 @@ -30867,7 +30845,6 @@ cgpcollective.com, 1 cgpe.com, 1 cgplumbing.com, 1 -cgplumbingservice.com, 0 cgps.ch, 1 cgsmart.com, 1 cgstprayagraj.gov.in, 1 @@ -30955,7 +30932,6 @@ challenge.gov, 1 challengerinvestors.tk, 1 challenges.gov, 1 -challengeskins.com, 1 chalons-agglo.fr, 1 chalonsenchampagne.fr, 1 chalov.ml, 1 @@ -31023,7 +30999,7 @@ changemywifipassword.com, 1 changenow.io, 1 changeofownershipsmog.com, 1 -changeplan.co, 1 +changeplan.co, 0 changesfor.life, 1 changethislater.com, 1 changetowellness.com, 1 @@ -31066,6 +31042,7 @@ chaosfield.at, 0 chaosme.su, 1 chaospott.de, 1 +chaospress.org, 1 chaosprocess.com, 1 chaoticevil.tk, 1 chaoticgamers.net, 1 @@ -31089,6 +31066,7 @@ chapiteauxduleman.fr, 1 chapleau.ca, 1 chapstick.life, 1 +chapterscout.com, 1 chaqueteros.tk, 1 char.press, 1 charcoal-gray.com, 1 @@ -31104,6 +31082,7 @@ chargehound.com, 1 chargeincluded.eu, 1 chargeover.com, 0 +chargepeer.com, 1 chargevz.com, 1 chargifi.com, 1 chariot.works, 1 @@ -31189,6 +31168,7 @@ charmcitytech.com, 1 charming-powers.tk, 1 charmingarsehole.tk, 1 +charminglyepic.com, 1 charmingsaul.com, 1 charnego.tk, 1 charnwoodkitchens.co.uk, 1 @@ -31209,7 +31189,6 @@ chartsy.de, 1 charuga.com.au, 1 charuni.ru, 0 -charwaha.com, 1 chasalin.nl, 1 chascrazycreations.com, 1 chase.co.nz, 1 @@ -31217,7 +31196,6 @@ chasebenefits.com, 1 chasecountyne.gov, 1 chasetrails.co.uk, 1 -chaseyoursky.com, 1 chaskafire.gov, 1 chaskamn.gov, 1 chaskapolice.gov, 1 @@ -31269,6 +31247,7 @@ chatfreespeech.com, 1 chatgen.ai, 1 chatgpt.com, 1 +chatgptext.com, 1 chatgptv.net, 1 chatgptwith.me, 1 chatgtd.net, 1 @@ -31283,7 +31262,6 @@ chatline.ga, 1 chatline.ml, 1 chatlol.org, 1 -chatloupe.org, 1 chatmaus.ml, 1 chatnederland.eu, 1 chatomg.com, 1 @@ -31365,7 +31343,6 @@ cheapexpenseers.ga, 1 cheapexpenseest.ga, 1 cheapfareto.com, 1 -cheapflightatlanta.com, 1 cheapflightla.com, 1 cheapflightmexico.com, 1 cheapflightsengland.com, 1 @@ -31375,6 +31352,7 @@ cheaplasix.tk, 1 cheaplookers.ga, 1 cheaplookest.ga, 1 +cheapmedicineshop.com, 1 cheapmessengersers.ga, 1 cheapmessengersest.cf, 1 cheapmessengersest.ga, 1 @@ -31390,7 +31368,6 @@ cheapsslsecurity.com.au, 1 cheapsyrupers.ga, 1 cheaptadalafil.tk, 1 -cheapticketsfrom.com, 1 cheaptucsoners.ga, 1 cheaptucsonest.ga, 1 cheapvaltrex.ml, 1 @@ -31459,21 +31436,19 @@ checkmypsoriasis.com, 1 checknetworks.com.au, 1 checkngo.com, 1 +checko.id, 1 checkout.google.com, 1 checkoutexpert.com, 1 checkpagos.com, 1 checkpointgtm.com, 1 checkpqc.com, 1 -checkprograms.com, 1 -checkprograms.net, 1 -checkr.com, 0 +checkr.com, 1 checkra.in, 1 checkras.tk, 1 checkrente.nl, 1 checkreview.in, 1 checkrz.com, 1 checksfleet.com, 1 -checksoft.net, 1 checkspf.net, 1 checktheworth.com, 1 checktls.nl, 1 @@ -31493,6 +31468,7 @@ cheese-storeroom.tk, 1 cheeseemergency.co.uk, 1 cheesefusion.com, 1 +cheeseinabox.nl, 1 cheesy.gay, 1 cheeth.am, 1 cheetham.me.uk, 1 @@ -31508,6 +31484,7 @@ cheflindseyfarr.com, 1 chefloretta.com, 1 chefnardulli.com, 1 +chefneux.com, 1 chefpablito.tk, 1 chefshooba.com, 1 chefsuccess.com, 1 @@ -31586,6 +31563,7 @@ chenx221.xyz, 1 chenx2210.xyz, 1 chenyin.work, 1 +cheqiu.com, 1 chequea.pe, 1 chequeado.com, 1 chequeo.de, 1 @@ -31637,6 +31615,7 @@ cheshirex.com, 0 chesolar.cz, 1 chess.katowice.pl, 1 +chessmates.in, 1 chesspoint.ch, 1 chessustron.pl, 1 chessveterinary.co.uk, 1 @@ -31692,7 +31671,6 @@ chicagoconcretecleaning.com, 1 chicagoillinois.gq, 1 chicagomaroon.com, 1 -chicagomurdermysterydinner.com, 1 chicagopowercleaning.com, 1 chicagopowerwashing.net, 1 chicagopowerwashingservices.com, 1 @@ -31819,8 +31797,10 @@ china-ru.ru, 1 china.gs, 1 chinabank.ph, 1 +chinacake.com, 1 chinacdn.org, 1 chinacheers.com, 1 +chinacolour.com, 1 chinadream404.com, 1 chinafree.online, 1 chinafree.site, 1 @@ -31830,10 +31810,12 @@ chinaicpower.org, 0 chinaindexfund.cn, 1 chinainluxury.com, 1 -chinajingkun.com, 1 -chinalosers.com, 1 +chinamemo.com, 1 +chinamotorsarmenia.am, 1 chinaoptionsfund.cn, 1 +chinaql.com, 1 chinasearch.tk, 1 +chinaseminar.com, 1 chinastory.tk, 1 chinasucksass.com, 1 chinati.org, 1 @@ -31857,9 +31839,6 @@ chinookmt.gov, 1 chinookwebdesign.ca, 1 chinovalleyaz.gov, 1 -chinplugins.com, 1 -chinplugins.net, 1 -chinplugins.xyz, 1 chintai.io, 1 chintaparthi.tk, 1 chintaparthihome.tk, 1 @@ -31930,6 +31909,7 @@ chkserv.com, 1 chksite.com, 1 chl.la, 1 +chlamyssoftware.com, 1 chlapidarium.cz, 1 chliine.ch, 1 chllly.de, 1 @@ -31946,6 +31926,7 @@ chmielarz.it, 1 chmurakotori.ml, 1 chnbilling.com, 1 +chngold.com, 1 chnj.gov, 1 chobd.ck.ua, 1 chobitool.com, 1 @@ -31955,6 +31936,7 @@ choco-championship.jp, 1 choco.run, 1 chocoband.cf, 1 +chocobon.co, 1 chocodecor.com.br, 1 chocoladeverkopers.nl, 1 chocolat-lp2.com, 1 @@ -31982,7 +31964,7 @@ choice-design.com.tw, 1 choiceautoloan.com, 1 choicemutual.com, 1 -choiceuniontown.org, 1 +choiceowners.info, 1 choirofbeirut.cf, 1 choisirmoneau.blog, 1 chokladfantasi.net, 1 @@ -32023,6 +32005,7 @@ chordu.com, 1 choregate.io, 1 choreographytogo.com, 1 +choretracking.com, 1 chorkley.co.uk, 1 chorkley.com, 1 chorkley.me, 1 @@ -32074,7 +32057,6 @@ chrisgieger.com, 1 chrisirwin.ca, 1 chrisjean.com, 1 -chriskthomas.com, 1 chrisliebaer.de, 1 chrisliebear.de, 1 chrisluen.com, 1 @@ -32148,11 +32130,12 @@ christianmorales.tk, 1 christianmuseumtours.com, 1 christianoliff.com, 0 -christianotero.co, 1 +christianotero.co, 0 christianplumbingservices.com, 1 christianr.me, 1 christianrasch.de, 1 christianreimold.de, 1 +christiansandin.com, 1 christiansayswords.com, 1 christiansburgva.gov, 1 christiansciencevancouverwa.org, 1 @@ -32172,6 +32155,7 @@ christine-kraemer.de, 0 christineandcie.fr, 1 christineglaeser.de, 1 +christinehoffmann.de, 1 christineprayon.de, 1 christmasdesigners.com, 1 christmasinelmhurst.org, 1 @@ -32218,10 +32202,7 @@ christophkreileder.com, 1 christophsackl.de, 1 christreformedchurchdfw.org, 1 -christthegoodshepherd.org, 1 christthekingparish.net, 1 -christtheredeemer.us, 1 -christtheshepherdvineland.org, 1 christusbruderschaft.de, 1 christwaycounseling.com, 1 christysstampingspot.com, 1 @@ -32361,11 +32342,9 @@ churchmetrics.com, 1 churchofchrist.tk, 1 churchofhispresence.org.uk, 1 -churchofsaintbenedict.com, 1 churchofsmyrna.com, 1 churchofsmyrna.org, 1 churchplaza.com, 1 -churchssja.org, 1 churchsuite.com, 1 churchthemes.com, 1 churchwebcanada.ca, 1 @@ -32386,7 +32365,7 @@ chytris.cf, 1 chytris.cz, 1 chziq.com, 1 -ci-fo.org, 0 +ci-fo.org, 1 ci-suite.com, 1 ci.com.br, 1 cia-gaming.de, 1 @@ -32428,13 +32407,11 @@ cibercheck.com, 1 cibergenios.com, 1 cibernicola.es, 1 -ciberseguridad-online.com, 1 cibopdx.com, 0 cibran.nl, 1 cic.hk, 1 cica.es, 1 cicavkleci.cz, 1 -ciceksohbet.com, 1 cicektasbeton.com, 1 cicero.oslo.no, 1 ciceron.cloud, 1 @@ -32448,7 +32425,6 @@ ciclosis.com, 1 cidaut.es, 1 cidcca.com, 1 -cideaassociation.com, 1 cidercms.org, 1 cidersus.com.ec, 1 cidikit.tk, 1 @@ -32479,7 +32455,6 @@ cign.nl, 1 cigniti.com, 1 cignium.com, 1 -cigotracker.com, 1 cihanbagdatli.com, 1 cihanmedya.ga, 1 cihar.com, 1 @@ -32496,6 +32471,8 @@ cim.se, 1 cima-alfa.com, 1 cima-idf.fr, 1 +cimarronesqro.com, 1 +cimarronesqueretarooficial.com, 1 cimbalino.org, 1 cimballa.com, 1 cimerek.hu, 1 @@ -32512,7 +32489,6 @@ cincinnaticabinetpainter.com, 1 cincinnaticasinonight.com, 1 cincinnatijapanesechurch.com, 1 -cincoautoinsurance.com, 1 cincy.gov, 1 cinderstravels.com, 1 cindey.io, 1 @@ -32530,6 +32506,7 @@ cinegore.tk, 1 cinejour.com, 1 cinelandia.tk, 1 +cinelova.com, 1 cinema-rulem.tk, 1 cinemaclub.co, 1 cinemadistrict.it, 1 @@ -32574,9 +32551,9 @@ cinqueportsvets.co.uk, 1 cins.rs, 1 cinsels.com, 1 -cinshine.nl, 1 cintamanilingerie.co.uk, 1 cinthia.tk, 1 +cio-spirit.de, 1 cio.gov, 1 ciobusinessworld.com, 1 cionir.fr, 1 @@ -32589,6 +32566,7 @@ cipher.team, 1 cipherboy.com, 1 cipherfunk.com, 1 +cipherhud.com, 1 cipherlist.eu, 0 ciphermail.com, 1 ciphersuite.info, 1 @@ -32612,6 +32590,7 @@ cipy.com, 1 cir.is, 1 cira.email, 1 +cirano.qc.ca, 1 cirasul.com, 1 cirasync.com, 1 circle-people.com, 1 @@ -32633,7 +32612,6 @@ circuitcityelectricaladelaide.com.au, 1 circuitclerkmarioncountyms.gov, 1 circular-economy.earth, 1 -circularcityfundingguide.eu, 0 circulardesignstandard.com, 1 circulardesignstandard.org, 1 circulosocial77.com, 1 @@ -32653,7 +32631,6 @@ cirroenergy.com, 1 cirrusrays.com, 1 cirugiaesteticalarrarte.es, 1 -cirugiaplasticasanluis.com, 1 cirugiatotal.com, 1 cirurgiabariatricabrasil.com, 1 cirurgiaplasticaembh.com, 1 @@ -32727,7 +32704,6 @@ citizen-shield.com, 1 citizen428.net, 1 citizenewatch.tk, 1 -citizenit.ro, 1 citizenkevin.com, 0 citizens.pt, 1 citizenscience.gov, 1 @@ -32756,9 +32732,11 @@ city-home.tk, 1 city-journal.org, 1 city-online.tk, 1 +city-switch.com.au, 1 city-walks.info, 1 city.kharkov.ua, 1 cityam.com, 1 +cityartsydney.com, 1 cityboost073.nl, 1 citycalculator.ml, 1 citycarremovals.com.au, 1 @@ -32944,7 +32922,6 @@ citytel.ga, 1 citytireservice.com, 1 citytoday.it, 1 -citytourgirls.com, 1 citytower-kwt.com, 1 citytrainerdenbosch.nl, 1 cityuproject.com, 1 @@ -32993,8 +32970,12 @@ civiltoday.com, 1 civilvirus.tk, 1 civitasmavencore.com, 1 +civitystore.com, 1 civmob.com, 1 cixbrasil.com, 1 +cixon.com.br, 1 +cixon.io, 1 +cixon.us, 1 cizgikod.ga, 1 cizz.uk, 1 cizzuk.net, 1 @@ -33125,6 +33106,7 @@ clanmacbran.tk, 1 clann-an-dhragain-uaine.co.uk, 1 clanrose.org.uk, 1 +clansocket.com, 1 clansty.com, 1 clantemplates.tk, 1 clanto.shop, 1 @@ -33143,8 +33125,10 @@ clarasegura.tk, 1 clare3dx.com, 1 claremontca.gov, 1 +claremontmurdermystery.com, 1 claremontyachtclub.org.au, 1 clarendonvt.gov, 1 +clarenhealth.com, 1 clarerose.com, 1 claresderibota.tk, 1 claretandbluearmy.tk, 1 @@ -33161,7 +33145,6 @@ claritician.com, 1 claritin.gq, 1 claritin.ml, 1 -clarityforspas.com, 1 clarityhome.ca, 1 claritypy.com, 1 clarivore.org, 1 @@ -33182,7 +33165,6 @@ clarknationalaccounts.com, 1 clarkpacific.com.au, 1 clarksburgma.gov, 1 -clarksmeathouse.com, 0 clarkstatecontract.com, 1 clarkstown.gov, 1 clarksvilletn.gov, 1 @@ -33208,7 +33190,6 @@ class.com.au, 1 class66.tk, 1 classbasic.com, 0 -classbasics.com, 0 classdesignhome.com, 1 classdojo.com, 1 classic-diva.cf, 1 @@ -33272,6 +33253,7 @@ claudearpi.net, 1 claudeleveille.com, 0 claudenougaro.fr, 1 +claudette.me, 1 claudia-halfter.de, 1 claudia-makeup.com, 1 claudiahalfter.de, 1 @@ -33292,7 +33274,6 @@ claveframework.org, 1 clavit4.zone, 1 clawedfrogs.tk, 1 -clawington.com, 0 clawnews.de, 1 claycountyne.gov, 1 clayelections.gov, 1 @@ -33356,7 +33337,6 @@ cleantec.show, 1 cleanuri.com, 1 cleanway.dk, 1 -cleanwithspot.com, 1 clear-eyes.se, 1 clear.ai, 1 clearanceguard.nl, 1 @@ -33406,7 +33386,6 @@ clearviewinstitute.com, 1 clearviewok.gov, 1 clearviewwealthprojector.com.au, 1 -clearvoice.com, 1 clearvoice1.com, 1 clearvoiceu.com, 0 clearwateragency.com.au, 0 @@ -33434,6 +33413,7 @@ clementlodge.co.uk, 1 clementluck.com, 1 clementsfamily.co, 1 +clemonlaw.com, 1 clemta.com, 1 clendeninwv.gov, 1 cleo-energy.com, 1 @@ -33506,6 +33486,7 @@ clgp.jp, 1 clgraphix.com, 1 cli.bot, 1 +clial.com, 1 clic-music.com, 1 clica.net, 1 click-7979.com, 1 @@ -33514,6 +33495,7 @@ click2leads.co.uk, 1 click4click.ga, 1 clickandclaim.me, 1 +clickapro.com, 1 clickarmy.com, 1 clickatell.com, 1 clickbizhub.com, 1 @@ -33610,6 +33592,7 @@ climbinghouse.com, 1 climbingmounttoubkal.com, 1 climeradar.com, 1 +clinara.pro, 1 clincalcpro.com, 1 clinchcountyga.gov, 1 clindamycin-150mg.ga, 1 @@ -33655,6 +33638,7 @@ clinicelham.com, 1 clinicgrid.co.uk, 1 clinichq.com, 1 +clinicmillennium.by, 1 clinicortinascali.com, 1 clinicos.cl, 1 cliniko.com, 1 @@ -33809,8 +33793,8 @@ cloudcaprice.net, 1 cloudcastles.xyz, 1 cloudcert.org, 1 -cloudchampagne.com, 1 cloudcloudcloud.cloud, 1 +cloudcore.at, 1 cloudcraftmc.de, 1 clouddaten.de, 1 clouddesk.co.uk, 1 @@ -33843,7 +33827,6 @@ cloudgray.com.au, 1 cloudhero.ai, 1 cloudia.org, 1 -cloudigy.es, 1 cloudily.com, 1 cloudimprovedtest.com, 1 cloudinfinit.com, 1 @@ -33856,7 +33839,6 @@ cloudmanagedbuilding.com, 1 cloudmanagedbuildings.com, 1 cloudmarathi.work, 1 -cloudmarket.com.br, 0 cloudmigrator365.com, 1 cloudmoney.tk, 1 cloudmyhome.site, 1 @@ -33881,6 +33863,7 @@ cloudrepo.io, 1 cloudrexx.com, 1 cloudrive.cf, 1 +cloudsasystems.com, 1 cloudscaper.com, 1 cloudscribe.com, 1 cloudse.co.uk, 1 @@ -33969,7 +33952,6 @@ cluadmin.de, 1 club-adulti.ro, 1 club-creole.com, 1 -club-dieta.ru, 1 club-dresses.cf, 1 club-duomo.com, 1 club-eclipse.tk, 1 @@ -33983,6 +33965,7 @@ club-reduc.com, 1 club-slow.jp, 1 club-soul.tk, 1 +club-tool.nl, 1 club.zj.cn, 1 club1.fr, 1 clubanimal.cl, 1 @@ -34025,7 +34008,6 @@ clubetravel.com.pt, 1 clubetravel.net, 1 clubetravel.org, 1 -clubexpress.com, 1 clubfactory.ml, 1 clubfailed.tk, 1 clubfatass.com, 1 @@ -34082,6 +34064,7 @@ cluin.org, 1 cluj.help, 1 cluj24.ro, 1 +clun.top, 1 clurinternational.com, 1 clush.pw, 1 cluster.biz.tr, 1 @@ -34115,7 +34098,6 @@ cmbs.loans, 1 cmc.pt, 0 cmcjanuary.in, 1 -cmcm.lu, 1 cmcp.org, 1 cmcressy.ch, 1 cmd2021acm.com, 1 @@ -34132,6 +34114,7 @@ cmlex.com, 1 cmlignon.ch, 1 cmmcinfo.org, 1 +cmn-digital.com, 1 cmn-group.com, 0 cmn-groupe.com, 0 cmngroup.com, 0 @@ -34158,6 +34141,7 @@ cmsasia.co, 1 cmsbestpractice.com, 1 cmscompany.de, 1 +cmscontracts.com, 1 cmsdca.gov, 1 cmsdestek.com, 1 cmsec.de, 1 @@ -34202,7 +34186,6 @@ cnetion.com, 1 cnetw.xyz, 1 cnews.ru, 1 -cng.com.au, 1 cngf.com, 1 cni-certing.it, 1 cni.net.id, 1 @@ -34218,8 +34201,6 @@ cnom.fr, 1 cnopera.com, 1 cnp.ovh, 1 -cnpjplatform.com.br, 1 -cnpkg.org, 1 cnpy.gdn, 1 cnsbordercellatlas.org, 1 cnslub.ru, 1 @@ -34247,6 +34228,7 @@ co2fr.ee, 0 co3app.com, 1 coa.gov.ph, 1 +coach-360.com, 1 coach-enligne.fr, 1 coachablebyabel.nl, 1 coachbakery.com, 1 @@ -34316,7 +34298,6 @@ coca-colasip.com, 1 cocaine.ninja, 1 cocaine.wiki, 1 -cocalc.com, 1 cocamarmaquinas.com.br, 1 cocareonline.com, 1 coccinellaskitchen.com, 1 @@ -34355,7 +34336,6 @@ coco-line.ch, 1 cocoa-job.jp, 1 cocoafl.gov, 1 -cocoanka.ir, 1 cocobollo-sallanches.com, 1 cocobrother.ddnss.de, 1 cocodroid.com, 1 @@ -34478,6 +34458,7 @@ codeon.ch, 1 codeops.com.tr, 1 codeparva.com, 1 +codepause.com, 1 codepen.com, 1 codepen.io, 1 codephusion.com, 1 @@ -34538,6 +34519,7 @@ codevo.org, 1 codevo.ws, 1 codewaifu.com, 1 +codewave.com, 1 codewild.de, 1 codewing.de, 1 codewitchbella.com, 0 @@ -34547,11 +34529,11 @@ codewizards.co.za, 1 codewrecks.com, 1 codex.online, 1 -codex.rocks, 1 codexdigital.com, 1 codexio.in, 1 codezeno.com.au, 1 codice-rosso.net, 1 +codice.uy, 1 codicecer.it, 1 codicicer.it, 1 codifi.com, 1 @@ -34600,6 +34582,7 @@ coens.me.uk, 1 coentropic.com, 1 coequals.tk, 1 +coeur-info.fr, 1 cofense.at, 1 coffa.gov, 1 coffee-break.cc, 1 @@ -34616,6 +34599,7 @@ coffeecomputers.net, 1 coffeeholic.tk, 1 coffeehousewriters.com, 1 +coffeeis.me, 1 coffeeitaliano.com, 1 coffeesense.coffee, 1 coffeestain.ltd, 1 @@ -34663,7 +34647,9 @@ cohassetma.gov, 1 cohassetpolicema.gov, 1 cohere.io, 1 +coherenceenergylabs.com, 1 cohob.de, 1 +cohort.fit, 1 cohortis.io, 1 coicompass.com, 1 coiffbot.fr, 1 @@ -34687,7 +34673,6 @@ coinclickz.fun, 1 coincoele.com.br, 1 coincoin.eu.org, 1 -coindra.de, 1 coinerstash.com, 1 coingate.com, 1 coinhako.com, 1 @@ -34808,7 +34793,6 @@ colivevalues.com, 1 collab.ddnss.org, 1 collab.inc, 1 -collabora-office.com, 1 collabora.ca, 0 collabora.co.kr, 1 collabora.co.uk, 1 @@ -34844,7 +34828,6 @@ collectiegelderland.nl, 1 collectif-laicite-yallah.be, 1 collectifpinceoreilles.com, 1 -collectiontardivel.com, 1 collectionvillasstmartin.com, 1 collective-conciousness.monster, 1 collective-incubator.de, 1 @@ -34961,6 +34944,7 @@ colorblindfilms.com, 1 colorblindprogramming.com, 1 colorbrightongreen.org, 1 +colordetector.click, 1 colorectalpractice.com, 1 colorfularchive.eu.org, 1 colorfulcloud.eu.org, 1 @@ -35070,7 +35054,6 @@ combos-2020.tk, 1 combustion.tk, 1 comcenter.com, 1 -comchezmeme.com, 1 comcirrus.com, 1 comcol.nl, 1 comdirect.de, 1 @@ -35102,6 +35085,7 @@ comercialmattos.com, 1 comercialroxana.com, 1 comercialtrading.eu, 1 +comerciogallego.es, 1 comeros.be, 1 comestoarra.com, 1 comet-pct.com, 1 @@ -35142,6 +35126,7 @@ comicsans.tk, 0 comicsanshouse.ddns.net, 1 comicslate.org, 1 +comicspal.info, 1 comicspornos.com, 1 comicspornoxxx.com, 1 comicwiki.dk, 1 @@ -35203,6 +35188,7 @@ commissionagenda.com, 1 commissionaires.ca, 1 commissioner.tk, 1 +commitcontrol.com, 1 commitsandrebases.com, 1 commloan.com, 1 commodore64.ca, 1 @@ -35252,7 +35238,6 @@ communitymanager.com.au, 1 communitymanager.net.au, 1 communitymembership.com.au, 1 -communityparentsinc.com, 1 communityportal.com.au, 1 communitypowernh.gov, 1 communitypreventionpartnership.org, 1 @@ -35282,7 +35267,6 @@ comosediceesto.com, 1 comoseduzir.net, 1 comosefazisto.com.br, 1 -comosehace.online, 1 comosio.de, 1 comovenderpelowhatsapp.com.br, 1 comoviajarcontumascota.com, 1 @@ -35303,6 +35287,7 @@ companyaneksta.tk, 1 companyintranet.au, 1 companyintranet.com.au, 1 +companyon.ch, 1 companywebcast.com, 0 compaoffers.com, 1 comparamejor.com, 1 @@ -35320,7 +35305,6 @@ comparetheproject.com, 1 comparewatch.com, 1 compareweddinginsurance.org.uk, 1 -compartirtrenmesaave.com, 1 compass-dwh.dk, 1 compass-security.com, 1 compassbest.com, 1 @@ -35365,6 +35349,7 @@ complex-organization.com, 1 complexart.ro, 1 complexcoral.ro, 1 +complexity.fm, 1 complexsystems.fail, 1 compliance-risk.com, 1 compliance-systeme.de, 1 @@ -35384,6 +35369,8 @@ complifast.com.au, 1 complifast.net.au, 1 compliment.cf, 1 +compliville.co.uk, 1 +compliville.com, 1 complt.xyz, 1 complyadvantage.com, 1 complycarehealth.com, 1 @@ -35413,7 +35400,6 @@ comprehensiveihc.com, 1 compress.cafe, 1 compressor.io, 1 -comprevia.com, 1 comprising.de, 1 comprocanal.com, 1 comprofacil.es, 1 @@ -35496,12 +35482,10 @@ comtois.hk, 1 comumlab.org, 1 comunal.co, 0 -comune.palermo.it, 1 comunic.io, 1 comunicat.global, 1 comunicazionenellaristorazione.it, 1 comunidadmontepinar.es, 1 -comunidadreparando.com, 1 comunidadvegetariana.com, 1 comunilife.org, 1 comuniondelucia.com, 1 @@ -35532,7 +35516,6 @@ concept4photography.com, 1 concept5.co.il, 1 conceptec.de, 1 -conceptfoundation.org, 1 conceptluxury.it, 1 conceptual.ga, 1 concern.cloud, 1 @@ -35562,12 +35545,10 @@ concord.sh, 1 concordance.bible, 1 concordvoice.chat, 1 -concrefy.com, 1 concretedreamsoftexas.com, 1 concretehermit.com, 0 concretemachines.be, 1 concretepressurewashing.com, 1 -concreterepairatlanta.com, 0 concreterepairconcreteleveling.com, 1 concreterstoowoomba.com, 1 concreterswollongong.com, 1 @@ -35605,6 +35586,7 @@ conexionok.com, 1 conexionvegana.com, 1 conexo.cloud, 1 +conexo.ro, 1 conexreport.com, 1 coney.tk, 1 conf.bid, 1 @@ -35661,6 +35643,7 @@ confluents.fr, 1 conformat.com, 1 conformax.com.br, 1 +conformidoc.com.br, 1 conformist.jp, 1 conformitykills.tk, 1 confort-bebe.fr, 1 @@ -35682,6 +35665,8 @@ congmc.com, 1 congnghe.so, 1 congoproject.tk, 1 +congres-jnrl.fr, 1 +congres-medecine-interne-oi.com, 1 congresistas-ap.tk, 1 congresodelospueblos.org, 1 congressmankirk.com, 1 @@ -35748,7 +35733,7 @@ conneropticals.ga, 1 connexall.com, 1 connexas.eu, 1 -connexdevices.co.za, 1 +connexelectrical.com.au, 1 connexio.digital, 1 connext.de, 1 connextglobal.com, 1 @@ -35819,6 +35804,7 @@ conservation-careers.com, 1 conservationfreedivers.com, 1 conservationgeography.com, 1 +consideratesystems.com, 1 consiglidisalute.com, 1 consilegy.com, 1 consiliarioltd.com, 1 @@ -35834,7 +35820,6 @@ consolezone.tk, 1 consommation-locale.fr, 1 consonare.de, 1 -consoom.soy, 1 consorcioeisa.com, 1 consorcionacionalideal.com.br, 1 consorciotec.com, 1 @@ -35850,6 +35835,7 @@ constansl.com, 1 constant-rough.de, 1 constant.ga, 1 +constantin.engineering, 1 constantinocontabilidade.com, 1 constantinschreiber.me, 1 constcorrect.com, 1 @@ -35876,6 +35862,7 @@ constructionprohabitat.com, 1 constructionskillstest.com, 1 constructoraisaba.com, 1 +constructqa.co.nz, 1 construguia.co, 1 construim.cat, 1 construred.tk, 1 @@ -35949,17 +35936,15 @@ contactbadger.com, 1 contactelus88.fr, 1 contactsrl.it, 1 -contactstay.com, 1 contadorespublicos.co, 1 contailor.de, 1 containeroncloud.com, 1 contalbi.pt, 1 contaminatie.nl, 1 contango.xyz, 1 -contato.vip, 1 +contato.vip, 0 contebia.ai, 1 contecgmbh.com, 1 -contee.eu, 1 contegy.com, 1 contempfleury.com, 1 contemplativeeducation.org, 1 @@ -35973,6 +35958,7 @@ contentvaultapp.com, 1 contermis.com, 1 contestreviewest.ga, 1 +conteudovisual.com.br, 1 contextcapture.ai, 1 contextolog.cf, 1 conti-profitlink.co.uk, 1 @@ -36055,6 +36041,7 @@ convair.net.au, 1 convecteurs.net, 1 convenantencheck.nl, 1 +conveniate.com, 1 convergence.fi, 1 convergencela.com, 1 convergent.cc, 1 @@ -36127,6 +36114,7 @@ cooks.house, 1 cooks.ly, 1 cooksite.tk, 1 +cooktimeguide.com, 1 cooktiva.com, 1 cooktoprepairaustin.com, 1 cookwithmanali.com, 1 @@ -36176,7 +36164,9 @@ coop-land.ru, 0 coopcityinfo.com, 1 coopcoa.pt, 1 +coopcratechickens.com, 1 coopemep.live, 0 +cooper.llc, 1 cooperacionsuiza.pe, 1 cooperativecogohio.gov, 1 coopercity.gov, 1 @@ -36197,6 +36187,7 @@ coosbayor.gov, 1 cooscountynh.gov, 1 cooscountyor.gov, 1 +cop-oi.com, 1 copa.cf, 1 copabarena.tk, 1 copacabanafc.tk, 1 @@ -36210,6 +36201,7 @@ copedeportes.tk, 1 copewithschoolnyc.com, 1 cophumouraustralia.com, 1 +copiadorasdelcentro.com.ar, 1 copie-sjop.nl, 1 copiisiparinti.ro, 1 copilotgps.com, 1 @@ -36373,6 +36365,7 @@ cork.finance, 1 cork.tech, 1 cork.technology, 1 +corkandcurve.com, 1 corkcityfc.tk, 1 corker.biz, 1 corkflow.fr, 1 @@ -36394,7 +36387,7 @@ cornercircle.co.uk, 1 cornergarage.coop, 0 cornerstone.photography, 1 -cornerstone.rocks, 1 +cornerstone.rocks, 0 cornerstonebuildingbrands.com, 1 cornerstonenorthwest.com, 1 cornerstoneondemand.com, 1 @@ -36411,7 +36404,6 @@ cornut.fr, 1 cornwallct.gov, 1 cornwallda.co.uk, 0 -cornwallseawaynews.com, 1 coroadeflores.pt, 1 coroas10.tk, 1 coroimagen.tk, 1 @@ -36512,13 +36504,12 @@ cortealcastello.it, 1 cortege.cf, 1 cortemadera.gov, 1 -cortep.fr, 1 +cortep.fr, 0 cortestesisat.net, 1 cortex-development.de, 1 cortex-tickets.de, 1 cortexedi.com, 1 cortexei.nz, 1 -cortexsage.com, 1 cortezco.gov, 1 cortezsanitation.gov, 1 corthouts.pl, 1 @@ -36606,7 +36597,7 @@ cosmowords.games, 1 cosmoz.ga, 1 cosmundi.de, 1 -cosmv.org, 1 +cosmv.org, 0 cosni.co, 1 cosos.gov, 1 cosplaygif.com, 1 @@ -36702,7 +36693,6 @@ counterenlol.com, 1 counterespionage.com, 1 countermats.com, 1 -countermats.net, 1 countermentors.com, 1 countertopapothecary.com, 1 countertrade.com, 0 @@ -36821,6 +36811,7 @@ cov.com, 1 covar.com.co, 1 cove.chat, 1 +covebitcoinwallet.com, 1 covenantalpha.com, 1 covenco.com, 1 coventa.cl, 1 @@ -36892,6 +36883,7 @@ coworking-space.tk, 1 coxcapitalmanagement.com, 1 coxhealthfoundation.com, 1 +coxswain.ro, 1 coxxs.moe, 1 coya.tw, 1 coyo.tl, 1 @@ -36906,9 +36898,7 @@ cozma.fr, 1 cozmoapp.com, 1 cozmoyachts.com, 1 -cozo.me, 0 coztacukrzyca.pl, 1 -cozumelflight.com, 1 cozumelisparadise.com, 1 cozyeggdesigns.com, 1 cozyfarms.in, 1 @@ -37013,11 +37003,6 @@ cr333.cc, 1 cr3333.cc, 1 cr444.cc, 1 -cr4444.cc, 1 -cr5555.cc, 1 -cr6666.cc, 1 -cr777.cc, 1 -cr7777.cc, 1 cr9499.com, 1 cr9999.cc, 1 cra-bank.com, 1 @@ -37067,10 +37052,11 @@ cradleaccounting.com, 0 cradleofaviation.org, 1 cradletocareer.org.uk, 1 +craevidence.com, 1 craft-beer.life, 1 craft-me-in.com, 1 craft.eu.org, 1 -craftadda.com, 1 +craftagent.ai, 1 craftandbuild.de, 1 craftbyhand.com, 1 craftcenter.ca, 1 @@ -37093,6 +37079,7 @@ craftmachinec.com, 1 craftmeow.com, 1 craftmeow.support, 1 +craftops.de, 1 craftottawa.ca, 1 craftshiponline.tk, 1 craftsmandruggets.com, 1 @@ -37100,7 +37087,7 @@ crafttalk.tk, 1 craftwarehouse.com, 1 craftwmcp.xyz, 1 -craftychameleonbar.com, 0 +craftychameleonbar.com, 1 craftycove.store, 1 craftydev.design, 1 craftyguy.net, 1 @@ -37154,9 +37141,6 @@ cratedb.cloud, 1 cratedb.net, 1 crates-io.cn, 1 -cratexcalgary.com, 1 -cratexedm.com, 1 -cratexind.com, 1 cratitadelicioasa.ro, 1 cratss.co.uk, 1 cravingtoquit.com, 1 @@ -37270,7 +37254,6 @@ createcpanama.com, 1 creategyx.ga, 1 createinvoices.net, 1 -createit.com, 1 createitwithcottage.com, 1 creately.com, 1 createstoke.com, 1 @@ -37333,6 +37316,7 @@ creativo.biz, 1 creatix.tk, 1 creatomatic.co.uk, 1 +creator-guard.com, 1 creatormetrics.io, 1 creatorrm.com, 1 creators.direct, 1 @@ -37357,6 +37341,7 @@ credfacilbeneficios.com.br, 1 credia.pro, 1 crediblemeds.org, 1 +credifamilia.com, 1 credify.tech, 1 credigo.io, 1 credin.com.tr, 1 @@ -37367,9 +37352,11 @@ creditcardbalancetransferoffers.com, 1 creditcardgenerator.money, 1 creditcheckup.com, 1 -creditcorponline.com, 0 +creditcorponline.com, 1 creditenonstop.ro, 1 crediteurope.ru, 1 +crediteuropeleasing.ru, 1 +creditfair.in, 1 creditif.tk, 1 creditkarma.ca, 1 creditkarma.com, 1 @@ -37377,6 +37364,7 @@ creditnonstop.ro, 1 creditocofidis.it, 1 creditoconsolidado.pt, 1 +creditogestor.com, 1 creditopessoal.pt, 1 creditor.ga, 1 creditor.tk, 1 @@ -37394,6 +37382,7 @@ creditxpert.com, 1 crednox.com, 1 credo.science, 1 +credo.systems, 1 credostar.com, 1 creekcountyonline.com, 1 creekie.me, 1 @@ -37405,7 +37394,6 @@ creep.tk, 1 creepycraft.nl, 1 creepynuts.com, 1 -creepypastas.com, 1 creepystories.tk, 1 creer-mon-business-plan.fr, 1 creer-une-boutique-en-ligne.com, 1 @@ -37413,7 +37401,7 @@ creerunblog.net, 1 creformadosbdp.pt, 1 crei.cat, 1 -crej.com, 1 +crelands.com, 1 cremalleradenuria.tk, 1 crematory.tk, 1 cremedigital.com, 1 @@ -37452,6 +37440,7 @@ creus.jp, 1 creusalp.ch, 0 crevil.de, 1 +crevio.de, 1 crew.moe, 1 crewnetwork.com, 1 crewplanner.com, 1 @@ -37473,7 +37462,6 @@ criaraposta.com.br, 1 crias.fr, 1 cribboker.net, 1 -cribcore.com, 1 cric-grenoble.info, 1 cricheroes.in, 1 cricketarena.ml, 1 @@ -37515,7 +37503,6 @@ criminallawyerjobdescription.ga, 1 criminallawyerjobdescription.gq, 1 criminallawyerjobdescription.ml, 1 -criminallawyersingapore.com, 1 criminalminds.tk, 1 criminalnote.tk, 1 criminalskin.tk, 1 @@ -37601,6 +37588,7 @@ criticcoos.tk, 1 criticizetheworld.tk, 1 critiker.com, 1 +critiqa.app, 1 critiquejeu.info, 1 critiquejeu.org, 1 critsci.net, 1 @@ -37613,6 +37601,7 @@ crl-aus.com, 0 crl-autos.com, 1 crlna.com, 1 +crm-58market.cl, 1 crm-dialog.com, 1 crm-gestion-relation-client.com, 1 crm.onlime.ch, 0 @@ -37629,10 +37618,8 @@ crmplace.com, 1 crmservice.fi, 1 crmtaxi.ml, 1 -crn.li, 1 crnajobsite.com, 1 crnalab.net, 1 -crnsecure.com, 1 croachlife.com, 1 croatia.hr, 1 crobeauty.com, 1 @@ -37653,7 +37640,6 @@ crohns-disease.org.uk, 0 croissancelocal.fr, 1 croissant.casa, 1 -cromartycamping.com, 1 cromavista.tk, 1 cromefire.myds.me, 1 cromosceltavigo.tk, 1 @@ -37707,7 +37693,6 @@ crossclassify.com, 1 crosscom.ch, 1 crossconnected.co.uk, 1 -crossdesign.com.au, 1 crossdresscontest.com, 1 crossedwires.net, 0 crossfireintegration.com, 1 @@ -37863,7 +37848,6 @@ crypto-gaming.tk, 1 crypto-iptv.online, 1 crypto-replay.com, 1 -crypto-trade.org, 0 crypto-wiki.tk, 1 crypto.bzh, 1 crypto.gov, 1 @@ -38065,7 +38049,6 @@ csgo.ac.cn, 1 csgo.net, 1 csgo.su, 1 -csgobans.com, 1 csgoempire.com, 1 csgoempire.gg, 1 csgofile.tk, 1 @@ -38106,9 +38089,9 @@ csowt.gq, 1 csp-tohoku.co.jp, 1 csp.wa.edu.au, 1 -cspasp.com, 1 csper.io, 1 cspeti.hu, 1 +cspilote.fr, 1 csportneuf.qc.ca, 1 csreturn.com.au, 1 csrin.org, 1 @@ -38193,6 +38176,7 @@ ctonovenkogo.tk, 1 ctoresms.com, 1 ctosnnsa.org, 1 +ctp.eu, 1 ctpa.com, 1 ctpe.info, 1 ctpe.net, 1 @@ -38212,8 +38196,7 @@ ctsu.org, 1 cttso.gov, 1 ctu.cz, 1 -ctul.net, 1 -ctwsolicitors.co.uk, 1 +ctwsolicitors.co.uk, 0 ctx.build, 1 ctyrisinkneri.cz, 1 cu247secure.ie, 1 @@ -38278,7 +38261,6 @@ cubrebocas.tk, 1 cubsbestteaminbaseball.com, 1 cubsradio.tk, 1 -cubukmeydani.com, 1 cubunscop.com, 1 cubyhome.com, 1 cuc-hospice.com, 1 @@ -38311,12 +38293,12 @@ cufoon.com, 1 cuhadardokuma.com, 1 cuhawaii.com, 1 +cuidadodesalud.gov, 1 cuidadosamente.com, 1 cuidahogar.cl, 1 cuio.net, 1 cuir-lipari.fr, 1 cuisine-centrale17.fr, 1 -cuisine-ultime.fr, 1 cuisineburst.com, 1 cuisineforhealing.com, 1 cuisineforhealing.org, 1 @@ -38339,7 +38321,6 @@ culpoilu.tk, 1 cult.games, 1 cultivariable.com, 1 -cultiverspro.es, 1 cultofperf.org.uk, 1 cultrix.co.uk, 1 cultrixdigital.co.uk, 1 @@ -38360,6 +38341,7 @@ culture15.co.uk, 1 culture15.com, 1 culture15.io, 1 +culturecartel.de, 1 cultureetsoft.tk, 1 culturelivresque.fr, 1 culturerain.com, 1 @@ -38377,7 +38359,6 @@ cumberlandcountypa.gov, 1 cumberlanddairy.com, 1 cumberlandrivertales.com, 1 -cumberlink.com, 1 cumbiaperuana.tk, 1 cumbreamazonica.tk, 1 cumfiesta.com, 1 @@ -38404,12 +38385,11 @@ cuoc.org.uk, 1 cuocsongso.net, 1 cuone.org, 1 -cuongthach.com, 0 +cuongthach.com, 1 cuongthach.net, 1 cuorec3.co.jp, 1 cuoredesigns.tk, 1 cuorineri.tk, 1 -cupabonita.com, 1 cupcake.io, 1 cupcake.pt, 1 cupcakestatus.com, 1 @@ -38420,6 +38400,7 @@ cupertino.gov, 1 cupie.tk, 1 cupoane-reducere.net, 1 +cupodzi.com, 1 cupom.net, 1 cupomia.com.br, 1 cuponesmasdescuentos.tk, 1 @@ -38441,6 +38422,8 @@ curatednews.xyz, 1 curatednow.ca, 1 curationist.org, 1 +curatiow.pl, 1 +curb.social, 1 curbhe.ro, 1 curbsandstoops.com, 1 curbsoftware.com, 1 @@ -38479,6 +38462,7 @@ curly-hair-extentions.tk, 1 curlybracket.co.uk, 1 curlyhumanhairextensions.tk, 1 +curren.cy, 1 currency-one.com, 1 currency-strength.com, 1 currency-toolkit.com, 1 @@ -38492,12 +38476,12 @@ currentbitcoin.news, 1 currentchaos.tk, 1 currenteurope.eu, 1 -currenthaus.com, 0 currentlystreaming.com, 1 currycountynm.gov, 1 currycountyor.gov, 1 currynissanmaparts.com, 1 currytech.cn, 1 +cursed-empire.airforce, 1 cursedpine.studio, 1 cursillosdezaragoza.tk, 1 cursoalia.com, 0 @@ -38674,7 +38658,6 @@ cvwrfut.gov, 1 cw-bw.de, 0 cw.center, 1 -cwa-online.nl, 1 cwaclub.tk, 1 cwaga.me, 1 cwage.com, 0 @@ -38834,7 +38817,6 @@ cyberguardian.consulting, 1 cyberhaus.ch, 1 cyberhipsters.nl, 1 -cyberhost.uk, 1 cyberinfraarmor.com, 1 cyberintro.fr, 1 cyberis.com, 1 @@ -38845,6 +38827,7 @@ cyberjake.xyz, 1 cyberkey.cz, 1 cyberkeypoint.com, 1 +cyberkov.com, 1 cyberlaracom.fr, 1 cyberlaw.be, 1 cyberlin.org, 1 @@ -38852,7 +38835,6 @@ cyberlinx.com.au, 1 cyberlocos.tk, 1 cyberlounge.ga, 1 -cyberlux.cz, 1 cyberlympics.org, 1 cybermall.ga, 1 cybermaniac.tk, 1 @@ -38865,6 +38847,7 @@ cybermoov.eu, 1 cybermotives.com, 1 cybern.tk, 1 +cybernativetech.com, 1 cybernetworkglobal.com, 1 cyberneurix.com, 1 cybernews.com, 1 @@ -38934,13 +38917,13 @@ cybersound.tk, 1 cyberspect.io, 1 cyberspot-ci.net, 1 +cyberstrike.se, 1 cyberstrikerz.tech, 1 cybersummitusa.com, 1 cybersystem.io, 1 cybertalents.com, 1 cyberteam.info, 1 cybertechnics.lk, 1 -cyberthreatintelligencenetwork.com, 1 cyberti.work, 1 cybertinus.nl, 1 cybertip.cz, 1 @@ -38952,6 +38935,7 @@ cybertronics.tk, 1 cybertu.be, 1 cyberupgrade.net, 0 +cybervaillance.fr, 1 cyberwandelendetakjes.tk, 1 cyberwebeyeos.com, 0 cyberweightloss.com, 1 @@ -38991,7 +38975,6 @@ cyclonemetals.com, 1 cycode.com, 1 cycognito.com, 1 -cycomm.ro, 1 cyconet.org, 1 cydefend.pro, 1 cydetec.com, 1 @@ -39215,10 +39198,12 @@ da42foripad.com, 1 da4colorado.gov, 1 daaje-und-andre.de, 1 +daakhla.org, 1 daanbanaan.tk, 1 daanial.tk, 1 daath.hu, 1 daaxit.com, 1 +daba.eu.org, 1 dabai.cf, 1 dabai.ga, 1 dabai.ml, 1 @@ -39398,7 +39383,6 @@ dailynk.com, 1 dailynorthern.com, 1 dailynorthwestern.com, 1 -dailyotovinfast.com.vn, 1 dailypop.ru, 1 dailypost.ng, 1 dailyprogress.com, 1 @@ -39411,6 +39395,7 @@ dailysportfan.com, 1 dailytrip.de, 1 dailyusbusiness.tk, 1 +dailyvpn.com, 1 dailywealth.com, 1 dailywork.ga, 1 daimenu.com, 1 @@ -39418,6 +39403,7 @@ dairikab.go.id, 1 dairy.com.sg, 1 dairydata.ie, 1 +dairyfreerecipe.com, 1 dairygold.ie, 1 dairygoldagri.ie, 1 dairymaiddairy.com, 1 @@ -39515,6 +39501,7 @@ daltonmi.gov, 1 daltonohio.gov, 1 daltons.tk, 1 +daluju123.com, 1 dalux.com, 0 dalycity.gov, 1 dalycreditcorp.com, 1 @@ -39524,6 +39511,7 @@ damaged.org, 1 damak.cz, 1 daman.tools, 1 +damanlu.com, 1 damantools.ru, 1 damarsarkilar.tk, 1 damassimo.bg, 1 @@ -39544,12 +39532,10 @@ damiengobron.com, 1 damiengrosphotographe.fr, 1 damienoreilly.org, 1 -damienvdk.com, 1 damifph.com, 1 damirsystems.com, 1 damjanovic.work, 1 damlakartal.com, 1 -dammekens.be, 1 dammers.io, 1 dammu.tk, 1 damnation.tk, 1 @@ -39566,7 +39552,6 @@ dampoo.com, 1 damsafety.co.nz, 1 damscheid.de, 1 -damt.io, 1 damuhan.tk, 1 damuliene.lt, 1 damvdolg.gq, 1 @@ -39578,6 +39563,7 @@ dan.me.uk, 1 dan124.com, 1 dana-hilliot.tk, 1 +danacuan.id, 1 danadameson.tk, 1 danads.com, 1 danalpay.com, 1 @@ -39633,7 +39619,6 @@ daneshtools.tk, 1 danfromit.co.uk, 1 danfromit.com, 1 -dangarjim.com, 1 dangeredwolf.net, 1 dangerscience.com, 1 dangersolutions.com.au, 1 @@ -39663,7 +39648,6 @@ daniel-san.de, 1 daniel-stahl.net, 1 daniel-topalov.ga, 1 -daniel.pp.ua, 1 daniel.priv.no, 1 daniel.sb, 1 daniela-klaus.de, 1 @@ -39722,6 +39706,7 @@ daniella.io, 1 danielle-picchetti.com, 1 daniellelazier.com, 1 +daniellerui.com, 1 danielleskosky.com, 1 daniellespringer.tk, 1 daniellesteel.com, 1 @@ -39730,7 +39715,6 @@ danielmcarpio.es, 1 danielmicay.ca, 1 danielmicay.com, 1 -danielmorales917.com, 1 danielmorell.com, 1 danielmorilla.com, 1 danielmostertman.com, 1 @@ -39794,7 +39778,6 @@ dannemora.tk, 1 dannhanks.com, 1 dannicholas.net, 1 -danniellealbrechtdesigns.com, 1 dannon.com, 1 danny-rohde.de, 1 danny.fm, 1 @@ -39823,7 +39806,6 @@ danq.me, 1 danramer.tk, 1 dansage.co, 0 -dansasphaltmaintenance.com, 0 dansaunders.me, 1 danselibre.org, 1 dansemacabre.tk, 1 @@ -39882,6 +39864,7 @@ dapursolo.tk, 1 dar-agro.com.ua, 1 daracokorilo.com, 1 +daraldjinn.com, 1 daralex.ro, 1 daralfajr.site, 1 daramad-telegram.ga, 1 @@ -39891,7 +39874,6 @@ darc.pro, 1 darci.tech, 1 darckfast.com, 1 -darcybergen.co, 0 darcyinspired.com, 1 darcymarshall.com, 1 dare.deals, 1 @@ -39917,6 +39899,7 @@ darientownwi.gov, 1 darienvillagewi.gov, 1 dario.gq, 1 +dariojacksonsmith.com, 1 darioturchetti.me, 1 darioush.com, 0 dariusheghbali.tk, 1 @@ -40004,6 +39987,7 @@ darksideprod.tk, 1 darksignsgame.tk, 1 darksilver.nl, 1 +darkskyhosting.com, 1 darkskymap.com, 1 darkskymd.org, 1 darksomah.com, 1 @@ -40049,6 +40033,7 @@ dartcarrousel.tk, 1 dartergroup.com, 1 dartijan.com, 1 +dartinc.io, 1 dartmold.com, 1 dartmoor-railway-association.org, 1 dartmouth-health.org, 1 @@ -40059,6 +40044,7 @@ dartydiscount.fr, 1 daruks.com, 1 darululum.ga, 1 +darumoji.com, 1 darwinapps.com, 1 darwinkel.net, 1 darwinovyceny.cz, 1 @@ -40100,6 +40086,7 @@ dashdrive.net, 1 dashice.com, 1 dashipping.com, 1 +dashixys.com, 1 dashlane.com, 1 dashofmedia.com, 1 dashofting.com, 1 @@ -40107,8 +40094,11 @@ dashwebconsulting.com, 1 dasignsource.com, 1 dasinternetluegt.at, 1 +dasistdeineip.ch, 1 +dasistdeineip.de, 1 daskirschhaus.com, 1 dasler.eu, 1 +dasmailarchiv.ch, 1 dasolindustrialpark.tk, 1 dastchin.live, 1 dastelefonbuch.de, 1 @@ -40119,11 +40109,11 @@ data-bot.xyz, 1 data-detox.de, 1 data-dock.top, 1 +data-dynamics.io, 1 data-exchange.tk, 1 data-fortress.ca, 1 data-fortress.com, 1 data-joule.com, 1 -data-jt.de, 1 data-loader.com, 1 data-mail.tk, 1 data-mining.co.uk, 1 @@ -40157,9 +40147,11 @@ datablender.nl, 1 databridge360.com, 0 databutlr.com, 1 +databygeorge.com, 1 datacad.com, 1 datacalle.com, 1 datacandy.com, 0 +datacats.vip, 1 datacave.is, 1 datacenter-online.com, 1 datacenter.news, 1 @@ -40194,6 +40186,7 @@ datadriven101.tech, 1 datadus.at, 0 datadyne.technology, 1 +dataebro.es, 1 dataentry.top, 1 datafactory.co.za, 1 datafinland.com, 1 @@ -40234,6 +40227,7 @@ datapun.ch, 1 datarails.com, 1 dataregister.info, 1 +datarepositorytatr.in, 1 datarobot.com, 1 dataroom-online.org, 1 dataroom.hu, 1 @@ -40309,7 +40303,6 @@ datenschutz-isny.de, 1 datenschutz-leutkirch.de, 1 datenschutz-luebbecke.de, 1 -datenschutz-notizen.de, 1 datenschutz-oberschwaben.de, 1 datenschutz-ravensburg.de, 1 datenschutz-recht-medizin.de, 1 @@ -40406,7 +40399,6 @@ davepullig.co.uk, 1 daveredfern.com, 1 daveroverts.nl, 0 -davesasphalt.com, 0 davesplace.tk, 1 davetempleton.com, 1 davewallerphotography.com, 1 @@ -40433,9 +40425,7 @@ davidaskew.uk, 1 davidbach.com, 1 davidbaechtold.ch, 1 -davidbennettgallowayiii.com, 0 davidbindel.com, 1 -davidbovino.com, 0 davidbranco.me, 1 davidbrito.tech, 1 davidbyrne.tk, 1 @@ -40454,14 +40444,12 @@ davidfarland.com, 1 davidforward.net, 1 davidg.cc, 1 -davidgarymorrison.com, 0 davidgarza.me, 1 davidgilroy.net, 1 davidgreig.uk, 1 davidgroup.co.id, 1 davidgroup.org, 1 davidgrudl.com, 1 -davidhastingseckerd.com, 0 davidho.org, 1 davidhowellstudio.com, 1 davidhurl.net, 1 @@ -40523,6 +40511,7 @@ davidstuff.net, 1 davidsun.info, 1 davidsun.name, 1 +davidtaborik.cz, 1 davidtangux.com, 1 davidtiffany.com, 1 davidvilla.tk, 1 @@ -40563,7 +40552,6 @@ davypropper.com, 1 dawaai.pk, 1 daware.io, 1 -dawei.help, 1 dawg.eu, 1 dawgs.ga, 1 dawidpotocki.com, 1 @@ -40606,7 +40594,6 @@ daycontactlens.com, 1 daycubrem.com, 1 daydream.is, 1 -daydream.team, 1 dayesh.tk, 1 dayfloorcoveringinstallation.com, 1 daygametraining.com, 1 @@ -40767,12 +40754,11 @@ dcmarvelunited.com, 1 dcmcleanair.com, 1 dcmediahosting.com, 1 -dcmeventmanagement.com, 1 +dcmeventmanagement.com, 0 dcmt.co, 1 dcnews.jp, 1 dco.sg, 1 dcod.ch, 1 -dcparts.com.br, 1 dcpf.online, 1 dcpower.eu, 1 dcpro.pt, 1 @@ -40848,7 +40834,6 @@ ddsdiscounts.com, 1 ddy.tw, 1 de-basiliek.tk, 1 -de-cors.com.ua, 1 de-google-ify.org, 1 de-groot.it, 1 de-kramers.nl, 1 @@ -40936,12 +40921,11 @@ dealsavesnow.shop, 1 dealsforonline.com, 1 dealsfromheaven.com, 1 -dealsinaz.com, 1 dealsmagnet.com, 1 dealsomart.com, 1 -dealsposted.com, 1 dealspotr.com, 0 dealstreet.fr, 1 +dealvolger.nl, 1 dealzbook.ae, 1 dealzbook.bh, 1 dealzbook.com, 1 @@ -40966,12 +40950,10 @@ dearfrannypodcast.com, 1 dearktiel.nl, 1 dearpeople.eu, 1 -deasserstadsloop.nl, 1 deasy-store.com, 1 death-notices.co.uk, 1 death.social, 1 deathberry.ddns.net, 1 -deathbits.com, 1 deathbychilisauce.com, 1 deathclub.eu, 1 deathcult.fun, 1 @@ -41023,10 +41005,9 @@ debita.fi, 1 debita.org, 1 debitterballetjes.tk, 1 -deblender.shop, 1 deblier.dynv6.net, 1 +deblijedoos.nl, 1 deblocking.ga, 1 -deboekaniers.be, 1 deboo.info, 1 debora-singkreis.de, 1 deborahkaty.tk, 1 @@ -41066,7 +41047,6 @@ decal-times.com, 1 decalquai.ch, 0 decamidea.it, 1 -decanthouse.com, 1 decathlon.ca, 1 decathlon.co.il, 1 decathlon.com.co, 1 @@ -41139,14 +41119,12 @@ decorativecosmetics.tk, 1 decorator.uk, 1 decoratore.roma.it, 1 -decorehomes.com, 0 decorestilo.com.br, 1 decorlux.bg, 1 decormiernissanparts.com, 1 decorno.tk, 1 decorpol-renovation.fr, 1 decorsolucionesgraficas.es, 1 -decorumcomics.com, 1 decory.com, 1 decoshop.bg, 1 decosoftware.com, 1 @@ -41176,7 +41154,6 @@ dedmoroz.gq, 1 dedmorozrzn.ru, 0 dedoho.pw, 1 -dedoles.pl, 1 dedurpsidioten.tk, 1 dedyk.gq, 1 dee.pe, 1 @@ -41232,8 +41209,8 @@ deepwoodshop.com, 1 deerf0x.com, 1 deerfieldbeachhistoricalsociety.com, 0 -deerfieldknoll.com, 1 deeringnh.gov, 1 +deerinnyala.com, 1 deerlycke.tk, 1 deerparksecondary.org, 1 def-pos.ru, 1 @@ -41250,12 +41227,12 @@ defeestridders.tk, 1 defelo.de, 1 defelo.ml, 1 -defence.pk, 1 defencemilcis2022.com.au, 1 defend2.org, 1 defendanimals.com, 1 defendarm.com, 1 defenestrazionedipra.ga, 1 +defensegenerator.com, 1 defenseorchestrator.com, 1 defenseweapon.tk, 1 defensie.tk, 1 @@ -41284,6 +41261,7 @@ defisolutions.ch, 0 defispot.com, 1 defistablecoin.ai, 1 +defkey.com, 1 deflumeriker.com, 1 defmarks.com, 1 defme.eu, 1 @@ -41459,7 +41437,6 @@ delftstudy.nl, 1 delhi.edu, 1 delhicleanairforum.tk, 1 -delhitourism.gov.in, 1 delhitownshipmi.gov, 1 deli-fuzoku.jp, 1 deliacreates.com, 1 @@ -41511,7 +41488,7 @@ delphia.com, 1 delphibasics.tk, 1 delphiday.it, 1 -delphify.ai, 1 +delphify.ai, 0 delphij.net, 1 delphinarabic.tk, 1 delphine-maurin-architecte.fr, 1 @@ -41525,8 +41502,6 @@ delsnab.ru, 1 delsolphotography.com, 1 delsun.bg, 1 -delta-4.software, 1 -delta-barth.de, 1 delta-data.ch, 1 delta-elektronika.nl, 1 delta-games.tk, 1 @@ -41571,7 +41546,6 @@ deltaworkssecurity.com, 1 deltaworkssecurity.nl, 1 deltax.ai, 1 -deltia.ai, 0 delugerpg.com, 1 delunee.co, 1 deluxe-bot.tk, 1 @@ -41633,12 +41607,12 @@ demo-awl.com, 1 demo-ferma.ga, 1 demo.swedbank.se, 1 +demoband.com, 1 democracy-news.tk, 1 democracy.cf, 1 democracyfund.org, 1 democracyineurope.eu, 1 democracylive.com, 1 -democratherald.com, 1 democratie.tk, 1 democraziaineuropa.eu, 1 demografia.tk, 1 @@ -41689,6 +41663,7 @@ denbosch-ontwikkelen.nl, 1 denboschdataweek.nl, 1 denboschinontwikkeling.nl, 1 +denboschopdekaart.nl, 1 denboschtimemachine.eu, 1 denboschtimemachine.nl, 1 dencel.lv, 1 @@ -41727,6 +41702,7 @@ denimtoday.com, 1 denis-pommier.com, 1 denisaadolfova.com, 1 +denisdental.com, 1 denisdimoski.tk, 1 deniseeisenhauer.de, 1 denisesdanceacademy.com, 1 @@ -41749,7 +41725,6 @@ denizlihaberleri.tk, 1 denizlisohbet.tk, 1 denizuydur.nl, 1 -denk-it.be, 0 denker.tk, 1 denkerstube.net, 1 denkit.com, 1 @@ -41787,7 +41762,6 @@ denovocorp.com, 1 denshub.com, 1 densocean.net, 1 -dent-academ.ru, 1 dent-yamamoto.com, 1 dent.uy, 1 denta-ua.com, 1 @@ -41853,7 +41827,6 @@ denverfootballofficials.com, 1 denvericmi.gov, 1 denverilluminations.com, 1 -denvermurdermystery.com, 1 denvernews.ml, 1 denverroot.com, 1 denvillenj.gov, 1 @@ -41879,6 +41852,7 @@ depagecms.net, 1 depapboeren.tk, 1 departamentoslosolivos.tk, 1 +departementzorg.be, 1 departmentofdefense.tk, 1 departmentofoncology.com, 1 departureboard.io, 1 @@ -41910,6 +41884,7 @@ depleteduranium.tk, 1 deplorablesdaily.com, 1 deploynix.io, 1 +deployowl.com, 1 depo-lab.com, 1 depo-on-demand.com, 1 depo-one.com, 1 @@ -41918,7 +41893,6 @@ depoalabama.com, 1 depokcity.tk, 1 depolab.com, 1 -depolauncher.cf, 1 depone.net, 0 depoondemand.com, 1 depoone.com, 1 @@ -41956,6 +41930,7 @@ deps.co, 1 deps.com.br, 1 dept56ers.com, 1 +depthsignal.io, 1 depthsofdepravity.tk, 1 depuberteit.tk, 1 depuratore.it, 1 @@ -42005,7 +41980,6 @@ derhil.de, 1 deriheruhotel.com, 1 derincocuk.com, 1 -derinforge.com, 1 derinforge.com.au, 1 derinsular.tk, 1 derivative-calculator.net, 1 @@ -42103,7 +42077,7 @@ desertgrove.com, 1 deserti.tk, 1 desertlinealuminium.com, 1 -desertmedaesthetics.com, 1 +desertlinegroup.com, 1 desertnaturals.me, 1 desertofoldies.tk, 1 desertsounds.org, 1 @@ -42149,6 +42123,8 @@ designdecoration.info, 1 designdecorativ.ro, 1 designdirective.ca, 1 +designedbyanthony.com, 1 +designedbyanthony.online, 1 designengineering.com, 1 designer-drug.com, 1 designerfabricsforless.com, 1 @@ -42192,6 +42168,7 @@ desire-host.tk, 1 desireeburch.com, 1 desireeburch.net, 1 +desirefans.fr, 1 desirememory.cf, 1 desirenet.ro, 1 desish.cf, 1 @@ -42214,10 +42191,10 @@ desna.tk, 1 desonnemannen.tk, 1 despachomariscal.com, 1 +despachomexico.com, 1 despairsray.jp, 1 despedidas-madrid.com, 1 desperate.solutions, 1 -desperatesailors.com, 1 despertarcomluz.com, 1 despertarparavida.org, 1 desplainesil.gov, 1 @@ -42259,6 +42236,7 @@ destroysilence.ga, 1 destroysilence.gq, 1 destroysilence.ml, 1 +destroyyourspir.it, 1 destruction-chenilles-processionnaires.com, 1 destruction-frelon-asiatique.com, 1 destructive-revolution.tk, 1 @@ -42272,7 +42250,6 @@ deswaffelaars.tk, 1 desy.tk, 1 desyatnichenko.ml, 1 -desygner.com, 1 desynced.rocks, 1 det-blev-ingen-cd.se, 1 det-te.ch, 1 @@ -42287,6 +42264,7 @@ detecte.ch, 0 detectefuite.ch, 0 detection-canine-punaise-paris.com, 1 +detectorip.ro, 1 detectro.cc, 1 detectzestack.com, 1 deteken.be, 1 @@ -42340,7 +42318,6 @@ deurs.fr, 1 deurwaardersveilingen.nl, 1 deusarodrigues.com.br, 1 -deuskai.com, 1 deustech-media.tk, 1 deustech.tk, 1 deutsche-finanzagentur.de, 1 @@ -42348,6 +42325,7 @@ deutschebusiness.com, 0 deutscheibank.com, 1 deutscher-bericht.de, 1 +deutscher-cloud-desktop.de, 1 deutscherquidditchbund.de, 1 deutsches-schutzportal.de, 1 deutschland-dsl.de, 1 @@ -42362,6 +42340,7 @@ dev-dojo.jp, 1 dev-gutools.co.uk, 1 dev-lab.net.pl, 1 +dev-lincolnmouraimoveis.cloud, 1 dev-ll-portal-app-euw.azurewebsites.net, 1 dev-mail.net, 1 dev-mates.com, 1 @@ -42434,7 +42413,6 @@ develops.co.il, 1 develoself.ga, 1 develotica.com, 1 -develoupe.com, 1 develust.com, 1 develux.net, 1 devendradox.ml, 1 @@ -42525,7 +42503,7 @@ devpod.sh, 0 devpost.com, 1 devpp.com.br, 1 -devprocure.com, 1 +devprocure.com, 0 devpsy.info, 1 devragu.com, 1 devrekarti.com, 1 @@ -42542,7 +42520,6 @@ devslash.net, 1 devsrvr.ru, 1 devstarops.com, 1 -devstats.net, 1 devstores.io, 1 devstroke.io, 1 devsurveyorcloud.com, 1 @@ -42638,7 +42615,6 @@ dfwmv.us, 1 dfwmv.vote, 1 dfwork.lt, 1 -dfwrvroofmasters.com, 1 dfwwp.com, 1 dfyn.network, 1 dfzone.tk, 1 @@ -42660,7 +42636,7 @@ dg1298.com, 0 dg1jp-test.com, 1 dgaccess.com, 1 -dgahealth.com, 1 +dgahealth.com, 0 dgangsta.net, 1 dgap.org, 0 dgcoks.gov, 1 @@ -42732,12 +42708,12 @@ dhayalan.com, 1 dhaynes.xyz, 1 dhde.de, 1 -dhdk7.com, 1 dhdmdkd.com, 1 dheart.net, 1 dhelixnet.de, 1 dhemant.de, 1 dhhs.gov, 1 +dhihvaa.mv, 1 dhirendrayadav.com, 1 dhit.pl, 1 dhl-smart.ch, 1 @@ -42815,10 +42791,10 @@ diamantovaburza.cz, 1 diamond-hairstyle.dk, 1 diamond-reporting.com, 1 +diamond-strip.ru, 1 diamondbluffwi.gov, 1 -diamondcarpetcleaning.co.uk, 1 -diamonddelivers.com, 1 diamondforms.net, 1 +diamondgoldcompany.com, 1 diamondgoldmarkcity.cf, 1 diamondgrid.ga, 1 diamondinterestcoffee.com, 1 @@ -42899,7 +42875,6 @@ dicelab.co.uk, 1 dicemer.com, 1 dicesites.com, 1 -diceworld.fr, 1 dicgaming.net, 1 dichanho.com, 1 dichvudangkygiayphep.com, 1 @@ -42966,9 +42941,9 @@ didiwinata.my.id, 1 didsomeoneclone.me, 1 didtrumpopengovernmentyet.com, 1 +die-auftragssucher.de, 1 die-besten-weisheiten.de, 1 die-borts.ch, 1 -die-cms-manufaktur.de, 1 die-gruenen-teufel.de, 1 die-herrenschneider.com, 1 die-kalletaler.de, 1 @@ -42981,7 +42956,6 @@ die-sinlosen.de, 1 die-smartwatch.de, 1 die-speisekammer-reutlingen.de, 1 -die-sterntaufe.de, 1 die-tastenkombination.de, 1 die-testagenten.de, 1 die.de, 1 @@ -43033,7 +43007,6 @@ diemattels.at, 1 diemperu.com, 1 dienaturbinderei.at, 1 -dienchaninstitute.com, 1 diengiolachoa.com, 1 dienkenijboer.nl, 1 dienmattroichonthanh.com, 1 @@ -43079,7 +43052,7 @@ dietolog.gq, 1 dietpi.com, 1 dietrich-bonhoeffer.net, 1 -dietrich.cx, 0 +dietrich.cx, 1 diettribe.food, 1 diettribe.nz, 1 dieumfrage.com, 1 @@ -43087,11 +43060,11 @@ dievturi.lv, 1 dieztv.es, 1 diezukunft.at, 1 -difc.ae, 0 diferenca.com, 1 diferenciador.com, 1 differentgirleveryday.ml, 1 differenziare.it, 1 +diffflow.com, 1 difficulty.ga, 1 diffnow.com, 1 diflucangeneric.ml, 1 @@ -43115,6 +43088,7 @@ digi-typ.fi, 1 digi-typa.fi, 1 digi.hosting, 1 +digi.tn, 1 digiaika.com, 1 digiaika.fi, 1 digiarc.net, 1 @@ -43165,7 +43139,6 @@ digiparse.com, 1 digipartindex.ch, 1 digipitch.com, 1 -digipost.no, 1 digirechnung.de, 1 digireg.in, 1 digirig.net, 1 @@ -43230,6 +43203,7 @@ digitalcardmanager.com, 1 digitalcash.cf, 1 digitalcashpalace.com, 1 +digitalcave.uk, 1 digitalch.ng, 1 digitalcheck.com, 1 digitalchefs.nl, 1 @@ -43243,8 +43217,8 @@ digitalcomponents.de, 1 digitalcompudev.biz, 1 digitalconcrete.co.uk, 1 +digitalconnect.cr, 1 digitalcourage.de, 1 -digitalcrafter.eu, 1 digitalcraftmarketing.co.uk, 1 digitalcrisis.com, 1 digitalcrisis.us, 1 @@ -43267,6 +43241,7 @@ digitaleducationarea.tk, 1 digitaleducationpro.tk, 1 digitalehandtekeningen.nl, 1 +digitalemenomale.it, 1 digitaleplus.fr, 1 digitalerror.net, 1 digitaletelevisie.tk, 1 @@ -43276,7 +43251,6 @@ digitalezukunft-hagen.de, 1 digitalezukunft.nrw, 1 digitalfoodbook.com, 1 -digitalfortress.tech, 1 digitalfoster.org, 0 digitalfury.co.uk, 1 digitalgate.dk, 1 @@ -43287,6 +43261,7 @@ digitalhabitat.io, 1 digitalhack.ro, 1 digitalhands.tk, 1 +digitalheals.com, 1 digitalhealth.gov.au, 0 digitalheart.tk, 1 digitalhit.com, 1 @@ -43298,6 +43273,7 @@ digitalinberlin.de, 1 digitalinclusionframework.co.uk, 1 digitalistan.tk, 1 +digitalixhub.com, 1 digitalizer.my.id, 1 digitalizzazioneverona.it, 0 digitalkashmir.ml, 1 @@ -43337,7 +43313,8 @@ digitalprivacy.diy, 1 digitalproduct.ga, 1 digitalproductivity.online, 1 -digitalprojects.com.au, 1 +digitalprojects.com.au, 0 +digitalprozesspartner.de, 1 digitalrealitybbs.com, 1 digitalreborn.com, 1 digitalredshirts.com, 0 @@ -43353,7 +43330,6 @@ digitalsphere.tk, 1 digitalsuply.com.br, 1 digitalsupporter.ml, 1 -digitalsurge.io, 1 digitaltbyra.no, 1 digitaltcertifikat.dk, 1 digitaltco.co.uk, 1 @@ -43366,7 +43342,6 @@ digitalware.co.bw, 1 digitalwasteland.net, 0 digitalworkplaceforum.com.br, 1 -digitalzenworks.com, 1 digitalzylinder-shop.com, 1 digite.com, 1 digitec.ch, 1 @@ -43438,7 +43413,7 @@ dilation.party, 1 dild.loan, 1 dildoexperten.se, 1 -dilekcelab.com.tr, 1 +dilekcelab.com.tr, 0 dilfed.com, 1 dilibel.be, 1 diligence.cloud, 1 @@ -43461,10 +43436,12 @@ dimaweb.tk, 1 dimdata.com, 1 dime-staging.com, 1 +dimeko.asia, 1 dimension-foot.com, 1 dimension-pc.com, 1 dimensionjapon.tk, 1 dimensions-ohs.com, 1 +dimensionsliving.com, 0 dimensionweb.tk, 1 dimesanmedical.com, 1 dimesitegusto.com, 1 @@ -43553,6 +43530,7 @@ diogocapela.com, 1 diogof.pt, 1 diogofmedeiros.com, 1 +diogovieira.eu, 1 dionera.com, 1 dionhardy.com, 1 dionverbeke.com, 1 @@ -43570,7 +43548,6 @@ dipanopaulista.com.br, 1 dipanshuparashar.ml, 1 dipietro.id.au, 1 -dipling.de, 1 diplom-ru.tk, 1 diplomatiegabon.ga, 1 diplomaverify.com, 1 @@ -43585,7 +43562,6 @@ dipsis.kz, 1 dipsis.ru, 1 dipsy.fi, 1 -dipsytroller.com, 1 dipuleon.es, 1 dipuma.com, 1 dir2epub.com, 1 @@ -43608,9 +43584,7 @@ directcouriers.com.au, 1 directdawai.com, 1 directfinance.cz, 1 -directhelicopter.com, 1 directhomeremodelinginc.com, 1 -directinspectionskc.com, 1 direction.lv, 1 directions.ee, 1 directions.fi, 1 @@ -43640,10 +43614,6 @@ directorydisc.ga, 1 directoryworld.tk, 1 directpaydayloansonline.ga, 1 -directright.ca, 1 -directright.com, 1 -directright.net, 1 -directrightcartage.com, 1 directstreet.tk, 1 directsupplyinc.com, 1 directtwo.solutions, 1 @@ -43664,6 +43634,7 @@ dirko.net, 0 dirksencenter.org, 1 dirkwolf.de, 0 +dirndl-tracht-tradition.de, 1 dirot7.co.il, 1 dirsyncpro.org, 1 dirt-street.tk, 1 @@ -43695,9 +43666,9 @@ dirunreddy.tk, 1 dis-tract.com, 1 disability.gov, 1 -disabilityinsurance.io, 1 disabilitynetwork.co.uk, 0 disabilityscoop.com, 1 +disabilitytaxcredits.ca, 1 disabled-world.com, 1 disabledpersons-railcard.co.uk, 1 disableipv4.se, 1 @@ -43798,7 +43769,6 @@ discussionner.com, 1 discuzturkiye.tk, 1 disengaged.tk, 1 -disenialia.com, 1 disenian.com, 1 disenowebakus.net, 1 disenowebgalicia.tk, 1 @@ -43908,6 +43878,7 @@ disparada.com.br, 1 dispatched.tk, 1 displaycalibration.de, 1 +displaymetric.de, 1 displaynote.com, 1 displayrd.com, 1 displux.de, 1 @@ -43935,9 +43906,7 @@ distempered.tk, 1 disti.com, 1 distilleren.tk, 1 -distillnote.com, 1 distinctdesign2009.com, 1 -distinctiveremodeling.com, 1 distinguishedlegal.com, 1 distinguishedprisoner.com, 1 disto.tk, 1 @@ -43971,7 +43940,6 @@ districtcourtislamabad.tk, 1 distrigenosa.tk, 1 distrikia.com.co, 0 -distrilogservices.com, 1 distrito10.cl, 1 distritoae.com, 1 distritotres.tk, 1 @@ -44010,7 +43978,6 @@ diveanalytics.com, 1 divegearexpress.com, 1 divegearexpress.net, 1 -diveidc.com, 1 diveleasia.tk, 1 divelement.ro, 1 divelyon.fr, 1 @@ -44052,8 +44019,6 @@ divineangel.tk, 1 divinedecay.tk, 1 divinefeminineyoga.com, 1 -divinemercyparishvld.com, 1 -divinemercyparishvlds.com, 1 divinepathretreat.com, 1 divineprovidenceorphanage.org, 1 divinerooms.com, 1 @@ -44206,6 +44171,7 @@ djfilms.tk, 1 djfunkyju.de, 1 djgarcia.tk, 1 +djgeneral.com.au, 1 djh-nordmark.de, 1 djh.gg, 1 djharun.tk, 1 @@ -44217,6 +44183,7 @@ djhvidal.com, 1 djhypnoticstate.tk, 1 djichtus.tk, 1 +djinnettonique.com, 1 djinstinct.tk, 1 djipanov.com, 1 djjab.com, 1 @@ -44300,6 +44267,9 @@ djtiago.tk, 1 djtourist.tk, 1 djtrebol.cl, 1 +dju.ga, 1 +djuga.de, 1 +djuga.org, 1 djurensvanner.tk, 1 djurklinikenangelholm.se, 1 djuz-buz.com, 1 @@ -44320,6 +44290,7 @@ dk1818.cc, 1 dk7.com, 1 dk7.vip, 1 +dkayumov.ru, 1 dkcoks.gov, 1 dkcomputers.com.au, 1 dkdigital.tk, 1 @@ -44358,6 +44329,7 @@ dl5dt.net, 1 dlabs.codes, 1 dlaces.it, 1 +dlaferm.pl, 1 dlagos.com, 1 dlandroid24.com, 1 dlangbajn.com, 1 @@ -44394,7 +44366,6 @@ dls.farm, 1 dlslab.com, 1 dlslab.org, 1 -dlsmdportal.com, 1 dlsolutions-inc.com, 1 dlt.green, 1 dlttrading.com, 1 @@ -44495,7 +44466,6 @@ dmoj.ca, 1 dmosk.ru, 1 dmoz.v.ua, 1 -dmparish.com, 1 dmr446.fr, 1 dms-technik.de, 1 dmsbg.com, 1 @@ -44558,7 +44528,6 @@ dnbung.no, 1 dnbvietnam.com, 1 dnc.org.nz, 1 -dnd.camp, 1 dndblog.tk, 1 dnddobbelstenen.nl, 1 dndtools.net, 1 @@ -44614,7 +44583,6 @@ dnslow.me, 1 dnslytics.com, 1 dnsman.se, 1 -dnsmate.net, 1 dnsmonitor.com, 1 dnsnox.com, 1 dnspod.ml, 1 @@ -44645,6 +44613,7 @@ doalo.fr, 1 doanhai.tk, 1 doanhnghiep.vn, 1 +doarsport.eu, 1 doaxacatours.com, 1 dob46.mazowsze.pl, 1 dobavki.club, 1 @@ -44682,6 +44651,7 @@ doc.python.org, 1 doc8643.com, 1 docabo.ch, 1 +docbb.de, 1 docbox.ch, 1 docbrown.dk, 1 docbyte.com, 1 @@ -44691,6 +44661,7 @@ docendo.es, 1 docesinesqueciveis.com.br, 1 docesmartini.com.br, 1 +docetlegal.com.au, 1 docfliq.com, 0 docguide.com, 1 docha.tk, 1 @@ -44704,6 +44675,7 @@ dockeryarmory.com, 1 docketai.com, 1 dockflow.com, 1 +dockoontz.com, 1 dockstarter.com, 1 dockstore.org, 1 dockysearch.com, 1 @@ -44724,6 +44696,7 @@ docs.google.com, 1 docs.python.org, 1 docs.tw, 1 +docsebikes.com, 1 docsend.com, 1 docserver1.co.uk, 1 docsity.com, 1 @@ -44735,8 +44708,9 @@ doctaforum-events.org, 1 doctalyassist.com, 1 docte.ch, 1 +docteur360.com.dz, 1 docteurjacquel.fr, 1 -docteurqui.fr, 0 +docteurqui.fr, 1 doctoblog.fr, 1 doctorapuestas.pe, 1 doctorbini.com, 1 @@ -44774,8 +44748,8 @@ docugate.cloud, 1 docugatetest.cloud, 1 doculyte.com, 1 +documail.fr, 1 documaniatv.com, 1 -document360.com, 1 documentat.ga, 1 documentations-sociales.com, 1 documentationsite.net, 1 @@ -44819,7 +44793,7 @@ dodgecountyne.gov, 1 dodgevillewi.gov, 1 dodi-alhelo.tk, 1 -dodi-repacks.site, 1 +dodi.in.th, 1 dodiedods.fr, 1 dodies.lv, 1 dodikod.tk, 1 @@ -44865,6 +44839,7 @@ dogcratereview.info, 1 dogday.tk, 1 dogdayafternoons.biz, 1 +dogdex.com.br, 1 doge-fa.tk, 1 dogear.ch, 0 dogecdn.wtf, 1 @@ -44889,6 +44864,7 @@ dogma2000.tk, 1 dogmagic.tk, 1 dogmazic.net, 1 +dogodki.today, 1 dogofwar.tk, 1 dogownersacademy.com, 1 dogprograms.net, 1 @@ -44916,7 +44892,6 @@ doineedanmdm.com, 1 doinwp.com, 1 doist.com, 1 -doit-intl.com, 1 doit.com, 1 doitauto.de, 1 doitforcancer.com, 1 @@ -44930,6 +44905,7 @@ dojki.gq, 1 dojocasts.com, 1 dojodigital.co.uk, 1 +dojoon.ly, 1 dojozendebourges.fr, 1 dokangold.com, 1 dokcar.com.br, 1 @@ -45060,6 +45036,7 @@ domains.lt, 1 domainscope.com, 1 domainsearchindia.com, 1 +domainsecuritycheck.de, 1 domainsecurityinfo.com, 1 domainsecurityscanner.com, 1 domainservice.cf, 1 @@ -45102,6 +45079,7 @@ domian.cz, 1 dominanta-law.com, 1 dominationgame.co.uk, 1 +dominatuunox.com, 1 dominctheroofguy.com, 1 domindev.com, 1 dominguezchannelclaims.com, 1 @@ -45144,6 +45122,7 @@ dominoz.tk, 1 dominuslucis.nl, 0 domisafonov.net, 1 +domisafonova.net, 1 domitori.tk, 1 domizx.de, 1 domjh.com, 1 @@ -45160,7 +45139,6 @@ domostroydon.ru, 1 domostroyrf.ru, 1 domotech.bg, 1 -domotek.pl, 1 domovik-magz.tk, 1 domovitae.io, 1 domowe-potrawy.pl, 1 @@ -45259,6 +45237,7 @@ donnabrothers.com, 1 donnabuswell.com, 1 donnachie.net, 1 +donnaevansgroup.com, 1 donnahay.com.au, 1 donnanovak.com, 1 donnapepe.tk, 1 @@ -45288,7 +45267,6 @@ donsgroupattire.com, 1 dont.re, 1 dont.watch, 1 -dontaerayford.co, 0 dontarriva.org.uk, 1 dontasktoask.com, 1 dontbeevil.com, 1 @@ -45342,6 +45320,7 @@ doodle.com, 1 doodlegames.tk, 1 doodletips.com, 1 +doofer.site, 1 doogbot.com, 1 doogej.nl, 1 doolac.com, 1 @@ -45351,7 +45330,6 @@ doomtech.net, 1 doonvalleytrail.co.uk, 1 doooooops.com, 1 -doop.im, 1 doorchaser.tk, 1 doorcountycoffee.com, 1 doordash.blue, 1 @@ -45428,6 +45406,7 @@ dormkitty.com, 1 dornesolutions.co.za, 1 dorogaminina.tk, 1 +doroob.work, 1 dorotaorlowska.pl, 1 dorotheahilti.com, 0 dorothylaity.com, 1 @@ -45504,11 +45483,12 @@ dotesports.com, 1 dotfile.tk, 1 dotgov.gov, 1 +dothaneagle.com, 1 dotheevolution.tk, 1 dothegangnamstyle.tk, 1 +dotjack.hr, 1 dotjesper.com, 1 dotjs.party, 1 -dotker.com, 1 dotkniseandroida.cz, 1 dotkod.pl, 1 dotlab.net, 1 @@ -45519,6 +45499,7 @@ dotlimino.tk, 1 dotnetfoundation.org, 0 dotnetsandbox.ca, 1 +dotnot.solutions, 1 dotovh.ovh, 1 dotphoto.com, 1 dotplex.com, 1 @@ -45534,6 +45515,7 @@ dotsiam.co.th, 1 dotsiam.com, 1 dotsiam.in.th, 1 +dotsimpel.nl, 1 dotsmarketdelivers.com, 1 dotsmesh.com, 1 dotsys.jp, 1 @@ -45560,6 +45542,7 @@ doubledees.co.ke, 1 doubledranch.tk, 1 doublefun.net, 1 +doublehighc.top, 1 doublemars.com, 1 doubleness.gq, 1 doublepotion.com, 1 @@ -45592,7 +45575,6 @@ douglascuddletoy.com, 1 douglascustodio.com.br, 1 douglasfinishing.com, 1 -douglasgreenberg.org, 0 douglasmi.gov, 1 douglasresende.tk, 1 douglassimons.com, 1 @@ -45603,6 +45585,7 @@ doujinrepublic.com, 1 doujinshi.info, 1 doukhobor.org, 1 +doulapaid.com, 1 dourowineselection.pt, 1 douyin.com, 1 douyinec.com, 1 @@ -45613,7 +45596,6 @@ douzer.industries, 1 douzer.network, 1 douzer.ninja, 1 -dovamzallag.com, 0 dovanow.com, 1 dovebuttare.it, 1 doveconviene.it, 1 @@ -45621,7 +45603,6 @@ dovemoe.com, 1 dovenzorgmalawi.nl, 1 doverma.gov, 1 -dovermotion.com, 1 doverye.tk, 1 doveskyger.site, 1 doveskyger.tk, 1 @@ -45640,6 +45621,7 @@ downalarm.cz, 1 downalarm.sk, 1 downandouts.tk, 1 +downarea.com, 1 downer.email, 1 downer.info, 1 downestan.ga, 1 @@ -45687,6 +45669,7 @@ doxa.tk, 1 doxal.ro, 1 doxascope.com, 1 +doxatalentevents.com, 1 doxepin1.gq, 1 doxepinonline.gq, 1 doxford-engine.com, 1 @@ -45716,6 +45699,7 @@ dp-clan.tk, 1 dp.cx, 1 dp7.ro, 1 +dp900-lab.com, 1 dpantry.com, 1 dpantry.com.pk, 1 dpantry.pk, 1 @@ -45747,6 +45731,7 @@ dpnt.re, 1 dpoairport.au, 1 dpoairport.com.au, 1 +dpoas.co.il, 1 dpobjetivo.com.br, 1 dpos.info, 1 dposit.com, 1 @@ -45758,6 +45743,7 @@ dprb.biz, 1 dpress24.it, 1 dps.srl, 1 +dpservicesrl.it, 1 dpsg-hohenlinden.de, 1 dpsg-radolfzell.de, 1 dpsmassage.nl, 1 @@ -45788,13 +45774,14 @@ dr-tsanova.com, 1 dr-vlasak.cz, 1 dr-www.de, 1 -dr.com.tr, 0 +dr.com.tr, 1 dr.mg, 1 dr2dr.ca, 1 draabe-nyt.dk, 1 draadloos-besturen.nl, 1 draadloze-noodstop.nl, 1 draagmerriecentrale.nl, 1 +draandreagarrido.com.br, 1 drabbin.com, 1 drabim.org, 1 dracheisolation.tk, 1 @@ -45803,11 +45790,10 @@ dracollectors.com, 1 draconiusgo.com, 1 dracoon.team, 1 -dracula.city, 1 drademirel.com, 1 draericapinheiro.com, 1 -drafatimagarcia.com, 1 draftguru.com.au, 1 +draftresumes.com, 1 dragcave.net, 1 dragdrop.fi, 1 dragdroplearning.com, 1 @@ -45868,6 +45854,7 @@ drainwllc.com, 1 drak.tk, 1 drakakorp.eu, 1 +drakbarian.org, 1 drake.partners, 1 drakeallegrini.com, 1 drakecommercial.com, 1 @@ -45899,10 +45886,10 @@ drankenzo.nl, 1 drantonov.bg, 1 drap-pa.org, 1 +drap.app.br, 0 drapeauxdespays.fr, 1 draper.wtf, 1 draperutah.gov, 1 -drapetra.com.br, 1 drardiving.com, 1 dras.hu, 1 drasocalzado.com, 1 @@ -45980,6 +45967,7 @@ dreambed.com, 1 dreamboxpro.com, 1 dreamcartransport.be, 1 +dreamcash.xyz, 1 dreamcast-world.tk, 1 dreamcatchers-events.com, 1 dreamconnect.org, 1 @@ -45992,6 +45980,7 @@ dreamflux.ai, 1 dreamforcetv.pro, 1 dreamforge.red, 1 +dreamhomesource.com, 1 dreamhostremixer.com, 1 dreamimd.com, 1 dreaminds.de, 1 @@ -46011,8 +46000,9 @@ dreammeaningnow.com, 1 dreamms.gg, 1 dreamofice.cn, 1 -dreamoza.com, 1 +dreamoza.com, 0 dreampages.tk, 1 +dreamplanthrive.au, 1 dreamqueen.tk, 1 dreamreality.tk, 1 dreams-2-reality.com, 1 @@ -46070,7 +46060,6 @@ dresdner-kaffeeroesterei.de, 1 dresdner-mandelstollen.de, 0 dresdner-wohnung.de, 1 -dreso.com, 1 dress-cons.com, 1 dressabelle.tk, 1 dressdiversions.com, 1 @@ -46096,10 +46085,12 @@ drfuhrman.com, 1 drgabrielschmitt.com, 1 drgcomunicazione.it, 1 +drgermanlopezvalencia.com, 1 drgn.li, 1 drgn.no, 1 drgolshani.com, 1 drguyfacialplastics.com, 1 +drhajali.com, 1 drhathazi.hu, 1 drheibel.com, 1 drhildebrand.net, 1 @@ -46107,7 +46098,7 @@ drhouserepairs.com, 1 drianpublishing.tk, 1 dribbble.com, 1 -dribl.online, 1 +dribbeltoernooi.nl, 1 drica.tk, 1 dricka.tk, 1 driesjtuver.nl, 1 @@ -46200,7 +46191,7 @@ drivinginstruction.tk, 1 drivingschoolnearmelbourne.com.au, 1 drivio.co.uk, 1 -drivio.uk, 1 +drivio.uk, 0 drivya.be, 1 drivya.com, 1 driwch.tk, 1 @@ -46238,6 +46229,7 @@ drmaniplastics.com, 1 drmarciopsiquiatra.com.br, 1 drmarwanbaroud.com, 1 +drmaxim.ro, 1 drmichaelwong.com, 1 drmiltenbergermd.com, 1 drminchev.com, 1 @@ -46246,6 +46238,7 @@ drmtransit.com, 1 drmvl.org, 1 drnatura.fr, 1 +drnicktung.com, 1 drobina.top, 1 drobny-app.work, 1 drogaleste.com.br, 1 @@ -46255,6 +46248,7 @@ droidandy.com, 1 droidapp.nl, 1 droidguide.ga, 1 +droidhere.com, 1 droidtrix.ga, 1 droidwars.tk, 1 droidwiki.de, 1 @@ -46279,6 +46273,7 @@ dronepanorama.nl, 1 dronepilotgeorgia.com, 1 dronepit.dk, 1 +drones.bg, 1 droneshield.com.br, 1 droneson.com.br, 1 dronesquadcoptersales.ga, 1 @@ -46287,6 +46282,7 @@ dronix.tk, 1 droomhuis-in-zuid-holland-kopen.nl, 1 drop-zone.tk, 1 +dropaposty.com, 1 dropbox.com, 1 dropboxer.net, 1 dropchat.cf, 1 @@ -46297,7 +46293,6 @@ droperplus.com, 1 dropeverythingrecords.com, 1 dropfile.ai, 1 -droply.host, 1 dropmb.com, 1 droppia.io, 1 dropscapital.com, 1 @@ -46308,6 +46303,8 @@ dropshipp.site, 1 dropshippers.gq, 1 dropsite.com.au, 1 +dropsofpeace.com, 1 +dropyfile.net, 1 dropzone.ai, 1 droso.dk, 0 drosophila.tk, 1 @@ -46340,7 +46337,6 @@ drsom.com, 1 drsoul.band, 1 drstephanieteotia.com, 1 -drsteveart.com, 1 drsturgeonfreitas.com, 1 drsurvey.com, 1 drt.org.nz, 1 @@ -46365,7 +46361,7 @@ druganddevicelawblog.com, 1 drugdiscoverynews.com, 1 drugfreeworkplaces.com, 1 -druglandscape.com, 1 +druglandscape.com, 0 drugpositive.org, 1 drugpromosers.ga, 1 drugrehabjohannesburg.co.za, 1 @@ -46421,12 +46417,10 @@ dryskin.gq, 1 dryskin.ml, 1 dryskin.tk, 1 -drywall.com.co, 1 drywallresponse.gov, 1 dryzgov.tk, 1 drzhnn.com, 1 drziyayavuz.com, 1 -ds-bv.nl, 1 ds-infocenter.de, 1 ds-networks.at, 1 ds-networks.de, 1 @@ -46455,10 +46449,12 @@ dsds-ltd.com, 0 dse-assessments.co.uk, 0 dse.com.bd, 1 +dseapp.co.uk, 1 dsebd.org, 1 dsecure.me, 1 dseg.org, 1 dset.com.tr, 1 +dsfnews.com, 1 dsfzsq.com, 1 dsg.ac.cn, 1 dsg.gd.cn, 1 @@ -46472,6 +46468,7 @@ dsimonitor.online, 1 dsiteam.in, 1 dsjbvba.be, 1 +dsjwang.com, 1 dskhome.bg, 0 dskrecords.tk, 1 dslz.tk, 1 @@ -46484,7 +46481,7 @@ dso-izlake.si, 1 dsobook.club, 1 dsol.hu, 1 -dsosbelasek.cz, 1 +dsosbelasek.cz, 0 dsouzamusic.com, 1 dsp-wiki.com, 1 dspace.pl, 1 @@ -46509,6 +46506,7 @@ dsungkur.com, 1 dsv-gruppe.de, 1 dsv-salesmanager.de, 1 +dswenda.com, 1 dsy4567.cf, 1 dsy4567.icu, 1 dsysav.com, 1 @@ -46528,7 +46526,7 @@ dtbw.eu, 1 dtbw.net, 1 dtbw.org, 1 -dtconcierge.eu, 1 +dtconcierge.eu, 0 dtconsoles.tk, 1 dtctv.us, 1 dtdi.com, 1 @@ -46566,7 +46564,7 @@ dtune.me, 1 dtvizlab.lt, 1 dtx.sk, 1 -du.co, 1 +du.co, 0 dual-aspect.com, 1 dual-universe.ga, 1 dual.pw, 0 @@ -46581,6 +46579,7 @@ duanre.tk, 1 duanything.com, 1 duarteeleiteconsultoria.com.br, 1 +duashpi.al, 1 dubachinn.com, 1 dubai-realestate.space, 1 dubaiaward.link, 1 @@ -46634,6 +46633,7 @@ ducite.ga, 1 ducius.net, 1 duck.tel, 1 +duckandyou.tours, 1 duckbase.com, 1 duckblade.com, 0 duckcorp.org, 1 @@ -46666,6 +46666,7 @@ duelingaces.com, 1 duellin.tv, 1 duelsow.eu, 1 +duely.in, 1 duenas.cat, 1 duepuntozero.tk, 1 duerlund-falkenberg.dk, 1 @@ -46675,6 +46676,7 @@ duesseldorf.tk, 1 duesseldorferheineburschenschaft.tk, 1 duesterhus.eu, 1 +duetzer.de, 1 duewestsc.gov, 1 duffau.net, 1 duffdignity.tk, 1 @@ -46725,7 +46727,7 @@ dulei.si, 1 duleos.com.br, 1 dulmagedentalarts.ca, 1 -duloc.space, 1 +duloc.space, 0 duloxetinbestellen.gq, 1 duloxetine.gq, 1 dulux.co.nz, 1 @@ -46784,6 +46786,7 @@ dunmanelectric.com, 0 dunmanpoolandspa.com, 1 dunneworthy.com, 1 +dunningguard.com, 1 dunningtonaudio.co.uk, 1 dunsel.dedyn.io, 1 dunstrath.com, 0 @@ -46796,6 +46799,7 @@ duoduocha.com, 0 duofynance.com.br, 1 duohao.xyz, 1 +duokey.com, 1 duolife.us, 1 duoluodeyu.com, 1 duonganhtuan.com, 1 @@ -46816,13 +46820,11 @@ dupoin.com, 1 dupree.pe, 1 dupuis.xyz, 1 -duquess.com.br, 1 duquoinil.gov, 1 dura.si, 1 durabletravailler.tk, 1 duracell.com, 1 duracfilm.cz, 1 -durad.in.rs, 1 durad.xyz, 1 duraes.pt, 0 durakinesis.tk, 1 @@ -46855,7 +46857,6 @@ durtk.com, 1 durust.ai, 1 durvalpereira.com.br, 0 -durys.be, 1 dusara.co, 1 duschdichtungsprofile.de, 1 dushu.cat, 1 @@ -46870,7 +46871,6 @@ dust4you.tk, 1 dustbox.tk, 1 dustinbrett.com, 1 -dustindecker.com, 1 dustinpurdy.com, 1 dustjacket.one, 1 dustman.tk, 1 @@ -46931,8 +46931,8 @@ duvalelections.gov, 1 duvalo.eu, 1 duvalo.info, 1 -duvalo.net, 1 duvalo.sk, 1 +duvergermacarons.com, 1 duvernay-asphalte.ca, 1 duvessa.tk, 1 duxbow.de, 1 @@ -46961,7 +46961,6 @@ dvdmusic.ga, 1 dvdrein.net, 1 dvds.casa, 1 -dveretti.com, 0 dveri-lugansk.tk, 1 dvgsites.com, 1 dvipadmin.com, 1 @@ -46970,7 +46969,6 @@ dvn.pt, 1 dvor.ml, 1 dvorek-karlin.cz, 1 -dvorekkarlin.cz, 1 dvoretsvramoni.ru, 1 dvorupotocnych.sk, 1 dvotx.org, 1 @@ -46985,6 +46983,7 @@ dw9.cn, 1 dwaire.com, 0 dwarf.com.tw, 1 +dwarkin.com, 1 dwavgs888.store, 1 dweilorkest-frederikshaven.tk, 1 dwgeneralcontractors.com, 1 @@ -46992,6 +46991,7 @@ dwienzek.de, 1 dwightd.com, 1 dwightgunning.com, 1 +dwik.xyz, 1 dwiminneapolislawyer.com, 1 dwnld.me, 1 dwood.store, 1 @@ -47039,6 +47039,7 @@ dyedurham.com.au, 1 dyedurhamterrain.com, 1 dyethin.com, 1 +dygangw.com, 1 dyingflame.tk, 1 dyjak.cloud, 1 dykb5.com, 1 @@ -47054,6 +47055,7 @@ dylankatz.com, 1 dylanlogan.xyz, 1 dylansevier.com, 1 +dylansparks.com, 1 dylanspcrepairs.com, 1 dylantjames.com, 1 dylantjb.com, 1 @@ -47062,7 +47064,6 @@ dylanwolff.com, 1 dylmye.me, 1 dylnuge.com, 1 -dym.asia, 1 dym2012.com, 1 dym2013.com, 1 dym2014.com, 1 @@ -47110,6 +47111,7 @@ dynamicyou.co.uk, 1 dynamis-partner.fr, 1 dynamis.tk, 1 +dynamisgroup.com.au, 1 dynamitejobs.com, 1 dynamix-tec.com, 1 dynamize.solutions, 0 @@ -47129,6 +47131,7 @@ dynosend.com, 1 dynsoundmax.tk, 1 dynx.pl, 1 +dyode.com, 1 dyor.io, 1 dypromed.com, 1 dyrenesverden.no, 1 @@ -47138,15 +47141,18 @@ dysautonomia-postsyndrome.com, 1 dyscalculia-blog.com, 1 dysco.tk, 1 +dysgeusia.com, 1 dysgucymraeg.cymru, 1 dyslexicfish.com, 1 dyslexicfish.net, 1 dyslexicfish.org, 1 dysnomia.studio, 1 dysthymia.com, 1 +dytiant.com, 1 dyuimovochka.tk, 1 dyykkarit.tk, 1 dyyn.de, 1 +dz-heritage.com, 1 dz-hip.ag, 1 dz-hip.biz, 1 dz-hip.com, 1 @@ -47237,7 +47243,6 @@ dzsibi.com, 1 dzsula.hu, 1 dzu.fund, 1 -dzunglapablo.pl, 1 dzus.tk, 1 dzworld.com, 1 dzyszla.pl, 1 @@ -47270,7 +47275,6 @@ e-colle.info, 1 e-collectis.fr, 1 e-commerce.news, 1 -e-copys.com, 1 e-coretvasa.cz, 1 e-cottage.com.br, 1 e-cut.ir, 1 @@ -47340,8 +47344,6 @@ e-massage.tk, 1 e-matras.ua, 1 e-medicines.tk, 1 -e-modusvivendi.com, 1 -e-monteur.nl, 1 e-mutation.com, 1 e-nail.tk, 1 e-name.tk, 1 @@ -47443,7 +47445,7 @@ e2epartners.org, 1 e2essentialelements.com, 1 e2feed.com, 1 -e2i.com.sg, 1 +e2i.com.sg, 0 e2net.social, 1 e30.ee, 1 e30gruppe.com, 1 @@ -47662,6 +47664,7 @@ eastportcorp.tk, 1 eastprovidenceri.gov, 1 eastroadbeverages.com, 1 +eastroadretailpark.com, 1 easts.org.uk, 1 eastshare.ml, 1 eastside.tk, 1 @@ -47790,6 +47793,7 @@ easytokill.tk, 1 easytrackghana.com, 1 easytube.ga, 1 +easyunion.com, 1 easywebhosting.tk, 1 easyweenies.com, 1 easywin.ml, 1 @@ -47813,7 +47817,6 @@ eatingreorder.com, 1 eatmebudapest.hu, 1 eatmportal.eu, 1 -eaton-daitron.jp, 1 eaton-works.com, 1 eatonbrowncountywi.gov, 1 eatouteatwell.com, 1 @@ -47899,6 +47902,7 @@ ebics.cz, 1 ebics.hu, 1 ebics.sk, 1 +ebiene.com, 1 ebike-connect.com, 1 ebikeanswers.com, 1 ebikemod.de, 1 @@ -47913,9 +47917,7 @@ ebki-nsn.gov, 1 eblan.gq, 1 eblandscaping.com.au, 1 -eblesoft.org, 1 eblog.cf, 1 -eblog.ink, 0 ebmeester.nl, 1 ebola-hosting.cz, 1 ebolacharts.ga, 1 @@ -47983,7 +47985,6 @@ ecbahia.com, 1 ecbs.org, 1 ecbt.co.il, 1 -ecc.co.id, 1 eccan.scot, 0 eccc.pl, 1 ecchidreams.com, 1 @@ -48007,7 +48008,6 @@ ecfunstalls.com, 1 ecgclic.fr, 1 echarity.ae, 1 -echbay.com, 1 echelon.pl, 1 echelonag.com, 1 echi.pw, 1 @@ -48048,7 +48048,6 @@ echs.top, 1 echt.ga, 1 echtcache.ga, 1 -echtebbq.nl, 1 echternach-immobilien.de, 1 echtes-hutzelbrot.de, 1 echx.nl, 1 @@ -48057,17 +48056,17 @@ eciso.io, 1 ecity.hu, 1 eck.cologne, 1 +eckankar-texas.org, 1 eckel-edv.de, 1 eckel-kieser-gbr.de, 1 eckel.co, 1 eckerl.org, 1 -eckersondesign.com, 1 +eckersondesign.com, 0 eckfordtownshipmi.gov, 1 eckler.ca, 1 eckotech.fr, 1 eckstein.tech, 1 eclectic-al.gov, 1 -eclecticbeaver.com, 1 eclectiv.com, 1 eclip.se, 1 eclipse-foundation.ca, 1 @@ -48086,11 +48085,10 @@ eclipseservicehub.com, 1 eclipsesource.com, 1 eclipsestatus.io, 1 -eclipsesuite.com, 1 -eclir.com, 1 eclixo.com, 1 ecmx.eu, 1 ecnetworker.com, 1 +eco-balans.com, 1 eco-care.gr, 1 eco-derattizzazione.it, 1 eco-nyashky.com.ua, 1 @@ -48165,7 +48163,6 @@ ecolint.ch, 1 ecologeek.tk, 1 ecologiapolitica.info, 1 -ecologic-france.com, 1 ecologica.it, 1 ecologistasenaccion.org, 1 ecologiya.tk, 1 @@ -48192,10 +48189,10 @@ ecomsight.com, 0 ecomuuu.com, 1 ecomvivid.com, 1 -ecomweb.ro, 0 econativa.pt, 1 econcept.li, 1 econclubny.org, 1 +econet.org.in, 1 econfia.cf, 1 econmarketingdigital.com, 1 economia.cl, 1 @@ -48236,7 +48233,6 @@ ecosoftconsult.com, 0 ecosta.fi, 0 ecostarfoam.com, 1 -ecostruxureit.com, 1 ecosuds.co.uk, 1 ecosuds.uk, 1 ecosurfsupply.com, 1 @@ -48294,6 +48290,7 @@ ecunewexperience.com, 1 ecup.mx, 1 ecupcafe.com, 0 +ecuxpres.com, 1 ecv.fr, 1 ecvma.fr, 1 ecvtd.gov, 1 @@ -48341,7 +48338,6 @@ eddriesen.tk, 1 eddsworld.tk, 1 eddygangloff.com, 1 -eddyn.net, 0 eddysystem.tk, 1 eddyworld.tk, 1 edeals.com.co, 1 @@ -48349,7 +48345,6 @@ ededdeddy.tk, 1 edegembicycleclub.tk, 1 edegulkoyu.tk, 1 -edeka-peper.de, 1 edel-suff.de, 1 edel.ee, 1 edelson.com, 1 @@ -48376,6 +48371,7 @@ ederevx.us, 1 edeseschoolvereniging.nl, 1 edesignau.com, 1 +edetax.com, 1 edevletkapisi.org, 1 edfdentalcenter.tk, 1 edfenergy.com, 1 @@ -48383,6 +48379,7 @@ edfoc.org.uk, 1 edg.nl, 1 edgar.mx, 1 +edgar.pics, 1 edgarbollow.com, 1 edgarcountyillinois.gov, 1 edgarphotography.net, 1 @@ -48391,6 +48388,7 @@ edgarwi.gov, 1 edgarz.tk, 1 edge-cloud.net, 1 +edgeaistack.ai, 1 edgeconnectnj.net, 1 edgecustomersportal.com, 1 edgeinvestments.estate, 1 @@ -48450,8 +48448,10 @@ edited.nl, 1 edited.pl, 1 editflow.org, 1 +edith-thellmann.com, 1 edithlouw.tk, 1 edithouse.dk, 1 +editiel.mu, 1 edition-sonblom.de, 0 editions-campanile.fr, 1 editions-metailie.com, 1 @@ -48561,7 +48561,6 @@ educationportal.tk, 1 educationstatistic.tk, 1 educationstudent.tk, 1 -educationsupport.org.uk, 0 educationtechblog.com, 1 educationtopics.tk, 1 educationtree.tk, 1 @@ -48626,7 +48625,9 @@ edv-lehrgang.de, 1 edvan.com.br, 1 edvberger.com, 1 +edvdienstleistungen.info, 1 edvgarbe.de, 1 +edvgo.de, 1 edvision.ga, 1 edvmesstec.de, 1 edward-tagle.tk, 1 @@ -48673,9 +48674,10 @@ eef.com.pe, 1 eegaming.org, 1 eegaming.tk, 1 +eehaa.com.au, 1 eeia.com, 1 eeiletudiant.com, 1 -eek.nz, 1 +eek.nz, 0 eekelen.net, 1 eelabs.eu, 1 eelcapone.nl, 1 @@ -48686,7 +48688,7 @@ een.com, 1 eenfotowaard.nl, 1 eentweevijf.be, 1 -eenvxing.com, 1 +eenvxing.com, 0 eenzwolle.nl, 1 eeqj.com, 1 eer.cz, 1 @@ -48726,7 +48728,6 @@ eferro.ca, 1 efesan.com.tr, 1 efeso.co.nz, 1 -efeso.nz, 1 efeso.org.nz, 1 efeso4mayor.co.nz, 1 efeso4mayor.nz, 1 @@ -48738,6 +48739,7 @@ efesoformayor.nz, 1 efesoformayor.org.nz, 1 eff.org, 1 +effabrics.nl, 1 effdocs.com, 1 effe.ch, 0 effecotto.it, 1 @@ -48803,6 +48805,7 @@ eftelingcraft.net, 1 efterfest.tk, 1 eftotoekspertizbalikesir.com, 1 +eftsure.co.za, 1 efutbol.tk, 1 efxclipse.org, 1 efxsports.com, 1 @@ -48814,13 +48817,13 @@ egais.ml, 1 egal24.de, 1 egarden.it, 1 +egary.org, 1 egb.at, 0 egbc.ca, 1 egbert.net, 1 egbertsen.tk, 1 egc.ink, 1 egdsk.ru, 1 -egegesh.ru, 1 egehem.se, 1 egenya.cl, 0 egeozcan.com, 0 @@ -48861,6 +48864,7 @@ eggrolls.ml, 1 egh.ir, 1 egiftified.com, 1 +egiftify.com, 1 egilopaseryh.tk, 1 egins.tk, 1 egipet-tiz.tk, 1 @@ -48925,15 +48929,16 @@ eharmony.ca, 1 eharmony.com, 1 ehazi.hu, 1 -ehbo-woenselnoord.nl, 1 ehbsecuritydavy.be, 1 ehcommerce.com, 1 +ehe-ring-verloren.de, 1 ehealth.gov.au, 1 ehealth.kg, 1 eheberg.com, 1 eheberg.fr, 1 eheliche-disziplin.schule, 1 eheringe-shop24.de, 1 +eheringe-verloren.de, 1 eheya.net, 1 ehgi.nl, 1 ehgn.nl, 1 @@ -48942,6 +48947,7 @@ ehlers-net.de, 1 ehlersdanlos.dk, 1 ehlersdanlos.tk, 1 +ehliyetcrm.com, 1 ehliyetsinavsorulari.org, 1 ehne.de, 1 ehome.im, 1 @@ -49002,9 +49008,11 @@ eigpropertyauctions.co.uk, 1 eihaikyo.com, 1 eiji.fr, 1 +eijil.com, 0 eijkenboombuma.nl, 1 eijo.saarland, 1 eijsink.nl, 1 +eikenbergsecurity.com, 1 eikenskaden.tk, 1 eikipedia.org, 1 eiklandenergy.com, 1 @@ -49029,7 +49037,7 @@ einfach-fitz.at, 1 einfach-was-eigenes.com, 1 einfach-was-eigenes.de, 1 -einfachkiss.at, 1 +einfachkiss.at, 0 einfachwaseigenes.de, 1 einheizpreis.de, 1 einhorn.space, 1 @@ -49075,9 +49083,11 @@ eitt.pl, 1 eivanec.com, 1 eivavolleyball.com, 1 +eiwe.me, 1 eiyoushi-shigoto.com, 1 ej.gov, 1 ej.uz, 1 +ejarellano.com, 1 ejcabinets.com, 1 ejderrapgott.de, 1 ejdv-anmeldung.de, 1 @@ -49120,6 +49130,7 @@ ekalisch.de, 1 ekamfoundationmumbai.org, 0 ekamus.tk, 1 +ekapveri.com, 1 ekatalendra.com, 1 ekaterinagolubovich.exposed, 1 ekati.ru, 1 @@ -49147,7 +49158,6 @@ ekmo.cz, 1 eknotec.co, 1 eko69.pl, 1 -ekoazyl.pl, 1 ekobudisantoso.net, 1 ekocleaningllc.com, 1 ekoclin.com, 1 @@ -49172,7 +49182,6 @@ ekpj.jp, 1 ekranoplan-lun.ru, 1 ekranos.me, 1 -ekransystem.com, 1 ekre.club, 1 ekron.at, 1 eks.news, 1 @@ -49191,6 +49200,7 @@ el-akses.com, 1 el-cell.com, 1 el-d.in, 1 +el-group07.bg, 1 el-hossari.com, 1 el-jefe.me, 1 el-masri.bg, 1 @@ -49226,6 +49236,7 @@ elartedelapaz.org, 1 elarum.com, 1 elasten.eu, 1 +elastic.co, 1 elastiekschieten.tk, 1 elatinoamericano.tk, 1 elauricielo.tk, 1 @@ -49243,6 +49254,7 @@ elbelehmbau.de, 1 elbersdometechniek.tk, 1 elbetech.net, 1 +elbflorace.de, 1 elbiaadmin.sk, 1 elbiahosting.sk, 1 elbir.tk, 1 @@ -49267,7 +49279,6 @@ elcient.com, 1 elcigaro.bg, 1 elcin.tk, 1 -elcinaesthetics.com, 1 elcofrecolecciones.com, 1 elcom.au, 1 elcom.com.au, 1 @@ -49307,7 +49318,6 @@ elderplan.org, 1 elderreviews.gq, 1 elderscrolls.tk, 1 -eldershope.com, 1 eldersindia.com, 1 eldhestar.is, 1 eldiario.net, 1 @@ -49358,7 +49368,6 @@ electricalwestlakevillage.com, 1 electricannihilation.tk, 1 electricbeast.co, 1 -electriccoin.co, 1 electricfencealberton.co.za, 1 electricfencelonehill.co.za, 1 electricfencingpinetown.co.za, 1 @@ -49384,6 +49393,7 @@ electrico.tk, 1 electricpower.tk, 1 electricpulp.com, 1 +electrics01.com, 1 electricwokstore.com, 1 electriczone.tk, 1 electrocad.ch, 1 @@ -49416,6 +49426,7 @@ electronicshelpcare.net, 1 electronicssrit.tk, 1 electronictucuman.com, 1 +electronicworldusa.com, 1 electroniko.cf, 1 electronis.ru, 1 electronmag.tk, 1 @@ -49436,7 +49447,7 @@ elegance-lingerie.com, 1 elegance-sm.com, 1 elegance96.tk, 1 -elegancecement.com, 1 +elegancecement.com, 0 elegansia-piscine.fr, 1 elegant-design.tk, 1 elegant-techno.com, 1 @@ -49449,6 +49460,10 @@ eleganza.ga, 1 elejordemarketingconsultancy.com, 1 elekner.tk, 1 +eleks.ch, 1 +eleks.de, 1 +eleks.ua, 1 +eleks.uk, 1 elekta.com, 1 elektiriklidireksiyontamiri.com, 1 elektiriktasarruf.tk, 1 @@ -49488,7 +49503,7 @@ elektrometz.de, 1 elektromicrosystems.pl, 1 elektromobil-zubehoer.de, 1 -elektromosev.cz, 1 +elektromosev.cz, 0 elektromotor.tk, 1 elektronickakancelar.cz, 1 elektroniksigarasehri1.com, 1 @@ -49521,6 +49536,7 @@ elemenik.com, 1 elemenop.tk, 1 element-ppf.com, 1 +element14.cn, 1 elementair.co.nz, 1 elemental-photography.co.uk, 1 elemental.software, 1 @@ -49535,6 +49551,7 @@ elementarewatson.it, 1 elementarium.cf, 1 elementarium.ga, 1 +elementary.training, 1 elementarythegame.com, 1 elementblend.com, 1 elementbookings.com, 1 @@ -49586,8 +49603,9 @@ elephants.tk, 1 elephanttrust.org, 1 elephpant.cz, 1 -eleplant.fi, 1 +eleplant.fi, 0 elepover.com, 1 +eles.com.br, 1 elesconditedelola.com, 1 elestoque.org, 1 eletem.org, 1 @@ -49820,8 +49838,6 @@ elkocountynv.gov, 1 elkodaily.com, 1 elkovplus.cz, 1 -elkpointmasonry.com, 0 -elks-1719.org, 1 elkvalley-nsn.gov, 1 ell-net.tokyo, 1 ella-kwikmed.com, 0 @@ -49883,7 +49899,6 @@ ellyscakes.com, 1 ellyson.io, 1 ellytic.com, 1 -ellyzaki.com, 1 elm-dental.com, 1 elma.id, 1 elmaci.net, 1 @@ -49894,6 +49909,7 @@ elmejordance.tk, 1 elmenreich.tk, 1 elmerboroughnj.gov, 1 +elmes.group, 1 elmesgroup.com, 1 elmeson.tk, 1 elmion.cloud, 1 @@ -49927,6 +49943,7 @@ eloranta.eu, 1 elorbe.com, 1 elorrieta.eus, 1 +elorynsoft.com, 1 elosconstrutora.com.br, 1 elosoavila.tk, 1 elovip.com.br, 1 @@ -49941,10 +49958,8 @@ elpcnc.com, 1 elpellejodelabreva.tk, 1 elperdigon.tk, 1 -elperfil.pe, 1 elperiodicodelaenergia.com, 1 elpincho.tk, 1 -elplugins.xyz, 1 elpo.net, 1 elpradopaloalto.com, 1 elpreciosostud.com, 1 @@ -50055,6 +50070,7 @@ emaicopy.com.tw, 1 email-pipeline.xyz, 1 email-verifier.tk, 1 +email.eu, 1 email.it, 1 email.repair, 0 email24.cf, 1 @@ -50100,11 +50116,11 @@ emarhotel.bg, 1 emarketingmatters.com, 1 emas-beja.pt, 1 +emate.cloud, 1 ematravelmorocco.com, 1 emavending.club, 1 emavok.eu, 1 emazrin.tk, 1 -emazzanti.net, 1 emba.au, 1 embaleo.com, 1 embaleo.es, 1 @@ -50121,10 +50137,8 @@ embellir-kyujin.com, 1 embellishop.com, 1 ember-is.gay, 1 -ember.co, 1 ember.dedyn.io, 1 emberit.com, 1 -emberlife.com, 1 embersolutions.uk, 1 embibe.com, 0 emblemhealth.com, 1 @@ -50182,7 +50196,6 @@ emergency-federal-register.gov, 1 emergencycommand.us, 1 emergencydental.me, 1 -emergencydentists.dental, 1 emergencydispatch.org, 1 emergencynewcastle.com.au, 1 emergencyportal.tk, 1 @@ -50284,6 +50297,7 @@ emmedicom.tk, 1 emmepole.tk, 1 emmerdale.me.uk, 1 +emmersenkuipen.nl, 1 emmetcountyia.gov, 1 emmilein.com, 1 emmiwelentain.com, 1 @@ -50383,7 +50397,6 @@ emporiumbeverages.com, 1 empost.eu, 1 empower.ae, 1 -empoweraces.com, 1 empowerdb.com, 1 empowerdxlab.com, 1 empowered-decision.com.au, 1 @@ -50453,11 +50466,10 @@ emuser.tk, 1 emusicuz.tk, 1 emvoiceapp.com, 1 -emw3.com, 1 +emwagh.com, 1 emxvn.co.za, 1 emy.sh, 1 emyr.net, 1 -emyself.org, 1 emystars.tk, 1 emz.im, 1 emzi0767.com, 1 @@ -50506,6 +50518,7 @@ enclavecairns.com.au, 1 encloud-gs.com, 1 encode.host, 1 +encodegroup.co.uk, 1 encontra-me.org, 1 encontracarros.pt, 1 encontreumagp.com, 1 @@ -50641,6 +50654,9 @@ enelxway.it, 1 enemybase.tk, 1 enemyterritory.tk, 1 +eneproyectos.com, 1 +eneproyectos.com.mx, 1 +eneproyectos.mx, 1 energaia.de, 1 energetic-root-medicine.net, 1 energetica.ga, 1 @@ -50664,6 +50680,7 @@ energise.co.nz, 1 energnist.dk, 1 energo.eng.br, 0 +energoproff.com, 1 energozrouti.cz, 0 energy-drink-magazin.de, 1 energy-fm.tk, 1 @@ -50690,6 +50707,7 @@ energygroup.gq, 1 energygroup.tk, 1 energyguru.tk, 1 +energyhistory.eu, 1 energyhomeservice.ca, 1 energyhybrid.ga, 1 energylab.com.ua, 1 @@ -50710,6 +50728,7 @@ energytrust.tk, 1 energyuse.net, 1 energywisdom.tk, 1 +enerhubapp.com, 1 enerity.eu, 1 enerity.io, 1 enerjiveri.com, 1 @@ -50864,6 +50883,7 @@ enizioshop.com, 1 enji-sendai.com, 1 enjieding.com, 1 +enjin.cloud, 1 enjin.zone, 1 enjoy-drive.com, 1 enjoybeer.dk, 1 @@ -50896,12 +50916,14 @@ enlyft.com, 0 enmedia.eu, 1 enmowe.co.ke, 1 +enmowe.com, 1 enmowe.tech, 1 ennekoops.nl, 1 enno.mom, 0 ennori.jp, 1 ennova.com, 0 ennovationtech.eu, 1 +enoch.ai, 1 enodais.gr, 1 enofmusic.com, 1 enoisdaturma.tk, 1 @@ -50987,7 +51009,6 @@ entdeckertouren.com, 1 enteente.com, 1 entelodont-laboratory.cz, 1 -ententaxi.de, 1 enter.co, 1 enteratesoria.tk, 1 enterclaim.com, 1 @@ -51034,6 +51055,8 @@ entrepreneurialopensource.org, 1 entrepreneurmuslima.com, 1 entrepreneurnight.com, 1 +entrepreneurresources.com, 1 +entreprise-courtois-88.fr, 1 entreprise-innovante.fr, 1 entreprise-ravalement-facade.paris, 1 entreprises.gouv.fr, 1 @@ -51047,7 +51070,6 @@ entretienvmc.com, 1 entretienvmcpro.fr, 1 entrevistadesucesso.ga, 1 -entrezdansladanse.fr, 1 entropy.su, 1 entruempelung-berlin.de, 1 entrup.io, 1 @@ -51146,6 +51168,7 @@ envirotivity.com, 1 envirowastemanagement.com, 1 envisionitagency.com, 1 +envisionitplatforms.com, 1 envisionmedicalgroup.com, 0 envisionsproperty.com, 1 envisolarvind.tk, 1 @@ -51166,6 +51189,7 @@ enwikipedia.tk, 1 enwillyado.tk, 1 enwo.io, 1 +enwp.org, 1 enxadahost.com, 1 enxight.com, 1 enzedonline.com, 1 @@ -51197,13 +51221,13 @@ eop.gov, 1 eopac.net, 1 eoperth.com.au, 1 +eoril.com, 1 eos-utvalget.no, 0 eosagonline.ru, 1 eosguru.ru, 1 eosol.services, 1 eostar.ro, 1 eov.org.tr, 1 -eov2.com, 1 ep-cortex.com, 1 ep-medical-care.de, 1 ep-plus.jp, 1 @@ -51220,7 +51244,7 @@ epawnatl.com, 1 epay.bg, 1 epaygateway.net, 1 -epcomputacion.com.ar, 1 +epcomputacion.com.ar, 0 epcos.com, 1 epcos.de, 1 epcwd-ca.gov, 1 @@ -51288,7 +51312,7 @@ epistas.de, 1 epistemes.org, 1 epitesti.ro, 1 -epitesztervezes.hu, 0 +epitesztervezes.hu, 1 epiteugma.com, 1 epizentrum.work, 1 epizentrum.works, 1 @@ -51321,7 +51345,6 @@ eppingnh.gov, 1 epracawpolsce.pl, 1 eprdco.gov, 1 -epressrelease.org, 1 eprezto.com, 1 eprice.it, 1 eprimego.com, 1 @@ -51343,9 +51366,11 @@ epstechclub.ca, 1 eptg.hu, 0 eptirgotajs.lv, 1 +eptools.nl, 1 epu-crestois.fr, 1 epubreader.net, 1 epubreader.org, 1 +epulz.io, 1 epvd.tk, 1 epweb.pro, 1 epworthmedicalfoundation.org.au, 1 @@ -51400,10 +51425,12 @@ equipsys.net, 1 equisa-verpackung.com, 1 equisecu.com, 1 +equisoft.com, 1 equitable-igwm.com, 1 equitablehealthycities.org, 1 equitazionepertutti.it, 1 equiteoavocat.fr, 1 +equiton.com, 1 equitybank.com, 1 equityelevate.com, 1 equityloupe.ru, 1 @@ -51420,7 +51447,6 @@ erandymoreira.ga, 1 erandymoreira.gq, 1 erandymoreira.ml, 1 -erapotensia.com, 1 erasmo.info, 1 erasmusantoine.tk, 1 erasmusbari.tk, 1 @@ -51442,7 +51468,6 @@ erciyesspor.tk, 1 erclab.kr, 1 erclaim.com, 1 -erctra.com, 1 erda.gov, 1 erdecoshop.de, 0 erdekesseg.com, 0 @@ -51541,6 +51566,7 @@ erik-stomp.de, 1 erik.dedyn.io, 1 erik1erik1.com, 1 +erika-lukovicova.cz, 1 erikaepedro.ga, 1 erikdslater.com, 1 erikheemskerk.nl, 1 @@ -51558,13 +51584,14 @@ eringmaguire.com, 1 erinias.net, 1 erinmyers.us, 1 +erisa.uk, 1 erisinfo.com, 1 eristajanmutka.com, 1 eritiaprivacidad.com, 0 erito.com, 1 eritonetwork.com, 1 eritopremium.com, 1 -erium.fr, 1 +erium.fr, 0 erkenntniswen.de, 1 erkiss.club, 1 erkiss.live, 1 @@ -51600,13 +51627,14 @@ erolmobilya.com, 1 eromanga.com, 1 eron.info, 1 +eroneva.com, 1 eros.com, 1 erosads.com, 1 erosbeautyandwellness.com, 0 eroscomixitalia.tk, 1 +erosescort.org, 1 erosmowy.pl, 1 erosofia.tk, 1 -erosveneziani.cz, 1 erosvet.cz, 1 eroticjuggs.com, 1 eroticmassagevegas.com, 1 @@ -51620,6 +51648,7 @@ erozine.jp, 0 erp-systems.ovh, 1 erpcargo.com, 0 +erpclaw.ai, 1 erpcloud.systems, 1 erpelstolz.at, 1 erperium.com, 1 @@ -51634,7 +51663,6 @@ errietta.me, 1 errlytics.com, 1 errolmarkland.com, 1 -errolstambler.com, 1 erronort.com, 1 error.fail, 1 error.org, 1 @@ -51675,6 +51703,7 @@ erudicia.uk, 1 erudikum.cz, 1 erudio-usluge.hr, 1 +erudite.news, 1 ervaarjapan.nl, 1 ervirmaison.tk, 1 erwanlepape.com, 1 @@ -51707,9 +51736,9 @@ esafetyfirst.com, 1 esagente.com, 1 esajokinen.net, 1 -esalinity.com, 0 esame-di-professione-cinestetica.ch, 1 esamsur.tk, 1 +esannews.com, 1 esasafe.com, 1 esatn.gov, 1 esautotech.com.au, 1 @@ -51735,7 +51764,6 @@ escala24x7.com, 0 escalando.tk, 1 escale-communication.bzh, 0 -escalesensorielle.com, 1 escambiacountyal.gov, 1 escampers.com, 1 escanabatownshipmi.gov, 1 @@ -51762,7 +51790,6 @@ escolaconquer.com.br, 1 escoladejudo.com.br, 1 escoladepilota.tk, 1 -escoladofuturo.com.br, 1 escolanacionaldejudo.com.br, 1 escom.me, 1 escomaritime.com, 1 @@ -51814,6 +51841,7 @@ eseances.ch, 1 esecuredata.com, 1 esemtia.com, 1 +esenkuruyemis.com, 1 esentri.com, 1 eservices-greece.com, 1 eservices-mccat.gov.bf, 1 @@ -51848,7 +51876,6 @@ esiedu.com, 1 esiga.mx, 1 esign.sh, 1 -esignandpay.net, 1 esignering.se, 1 esigtorg.ru, 0 esike.hu, 1 @@ -51857,10 +51884,10 @@ esilverstone.pl, 1 esim-urlaub.de, 0 esim.io, 1 +esim365.ru, 1 esimplr.com, 1 esimvoyage.fr, 1 esimy.net, 1 -esiptvpro-max.com, 1 esitc-paris.fr, 1 esite.ch, 1 esj.org, 1 @@ -51947,6 +51974,7 @@ espeleogel.tk, 1 espen.cz, 1 espenandersen.no, 1 +espeo.eu, 1 esperanceetvie.ca, 1 esperantio.tk, 1 esperanto.co, 1 @@ -51963,7 +51991,9 @@ espoonkumi.fi, 0 esport-agency.fr, 1 esporters.today, 1 +esports.info.bd, 1 esportsbattles.ga, 1 +esportslens.com, 1 espower.com.sg, 1 espra.com, 1 espresine.lt, 1 @@ -52018,7 +52048,6 @@ essendi.de, 1 essenglish.org, 1 essentialinteriors.ga, 1 -essentialoils.nl, 1 essentialsource.net, 1 essentialsspa.ca, 1 essentiapura.com, 1 @@ -52043,16 +52072,15 @@ esslym.com, 1 essnet.co.jp, 1 essoduke.org, 1 -essonneinfo.fr, 1 essplusmed.org, 1 essr.org.uk, 1 esss.co, 1 -esss.com, 1 essteebee.ch, 0 esswp.com, 1 est-it.de, 1 estableco.com, 1 establo.pro, 1 +estabueno.com, 1 estacio.br, 1 estacionautobusesubeda.es, 1 estada.ch, 1 @@ -52062,7 +52090,6 @@ estallidodigital.cl, 1 estanciasgauchas.com.br, 1 estate360.co.tz, 1 -estatebud.com, 1 estateczech-eu.ru, 1 estateradar.rs, 1 estcequemonordinateurestallume.fr, 1 @@ -52071,6 +52098,7 @@ este-services.de, 1 esteban-abadahs.tk, 1 esteladigital.com, 1 +estelarix.com, 1 estellaequipment.com, 1 esteniomexico.com, 1 esteria.eu, 0 @@ -52110,6 +52138,7 @@ estopero.tk, 1 estopwatch.net, 1 estorgio.com, 1 +estrabota.com, 1 estradatech.org, 1 estradiolbestellen.gq, 1 estrasol.com.mx, 1 @@ -52128,6 +52157,7 @@ estudantetorcedor.com.br, 1 estudiantes.xyz, 1 estudiantesdecanarias.org, 1 +estudiants.org, 1 estudiarparaser.com, 1 estudiaryaprenderingles.com, 1 estudiemosvirtualmente.com, 1 @@ -52219,7 +52249,6 @@ eternl.io, 1 eternodevir.com, 1 etestyonline.tk, 1 -etf.nu, 1 etf2l.org, 1 etfacta.com, 0 etfcentral.com, 1 @@ -52244,8 +52273,6 @@ etherdream.com, 1 ethereal-skies.tk, 1 etherealcollapse.tk, 1 -ethereumnews.best, 1 -ethereumnews.live, 1 ethereumnews.site, 1 ethergeist.de, 1 etheria-software.tk, 1 @@ -52302,7 +52329,6 @@ etindustries.com, 1 etiqa.tk, 1 etiquetaswithlove.com, 1 -etisalat.af, 1 etitlelien.net, 1 etke.cc, 1 etlab.in, 1 @@ -52472,8 +52498,10 @@ euracraft.fr, 1 eurapack-gmbh.de, 1 eurapia.net, 1 +eurapp.eu, 1 eurasierwelpen.tk, 1 eurbanos.tk, 1 +eurecat.org, 1 eurekaca.gov, 1 eurekagames.tk, 1 eurekahomeappliances.com, 1 @@ -52537,13 +52565,13 @@ eurolink.tk, 1 eurolocarno.es, 1 eurologix.com, 1 -euroloo.com, 1 euroluxgradnja.rs, 1 euromalha.com.br, 1 euroman.ga, 1 euromat.org, 1 eurometal.net, 1 euromexde.com, 1 +euromontres.com, 1 euromuseumcoins.com, 1 euronic.fi, 1 eurookna.tk, 1 @@ -52596,7 +52624,6 @@ europesummary.com, 1 europetraveler.tk, 1 europetravelservice.co.uk, 1 -europoint.uk, 1 europop.com, 1 euroquis.nl, 1 euroroad17.dk, 1 @@ -52620,6 +52647,7 @@ eurovision-romania.tk, 1 eurovision.ie, 1 eurozhartleys.com, 1 +eurozhartleys.com.au, 1 eurseo.com, 1 euruni.edu, 1 eusalesman.hu, 1 @@ -52694,13 +52722,13 @@ evanlee.my, 1 evanreev.es, 1 evanscourtreporters.com, 1 +evanserver.org, 1 evanspoliceny.gov, 1 evanstonnow.com, 0 evansville-wy.gov, 1 evansvillewi.gov, 1 evantageglobal.com, 1 evanter.hu, 1 -evantynan.com, 0 evanwang0.com, 1 evaolson.se, 1 evaria-network.fr, 1 @@ -52722,7 +52750,7 @@ eve-ua.com, 1 eve.tax, 1 eve0s.com, 1 -eveaz.com, 0 +eveaz.com, 1 evec.in, 1 eveco-mebel.ga, 1 evedanjailbreak.com, 1 @@ -52730,7 +52758,6 @@ eveil-et-savoirs.com, 1 evelethpd.gov, 1 evelienstormzangcoach.nl, 1 -evelienuitvaartverzorging.nl, 1 evelienzorgt.nl, 1 evelin.tk, 1 evelinalondon.nhs.uk, 1 @@ -52797,6 +52824,7 @@ eventosformativos.tk, 1 eventosmag.com.br, 1 eventospremium.es, 0 +eventosvillagrand.com, 1 eventpark.cz, 1 eventpay.jp, 1 eventplanner.be, 1 @@ -52819,13 +52847,11 @@ eveonline.com, 1 ever.sale, 0 ever4cats.de, 1 -everacommerce.com, 1 everaerts.eu, 1 everand.com, 1 everberg.tk, 1 everchanging.de, 1 evercheck.com, 1 -evercred.com, 1 everdivemarine.com, 1 everestbankltd.com, 1 everettduiattorneys.com, 1 @@ -52845,10 +52871,11 @@ evergreenlangladewi.gov, 1 evergreenpeo.com, 1 evergreenproclean.com, 1 +evergreenrockford.com, 1 evergreenservice.net, 1 everhome.cloud, 1 everichspice.com, 1 -everifile.com, 1 +everifile.com, 0 everify.gov, 1 everisland.com, 1 everitoken.io, 1 @@ -52893,6 +52920,7 @@ everydollar.com, 1 everyex.com, 1 everyeye.it, 1 +everygame.gg, 1 everykidoutdoors.gov, 1 everyoneadmins.tk, 1 everysaving.ae, 1 @@ -52903,7 +52931,6 @@ everysaving.ie, 1 everysaving.sg, 1 everysk.com, 1 -everystudent.bg, 1 everystudent.com.tw, 1 everysync.co.jp, 1 everything-as-code.com, 1 @@ -52915,7 +52942,6 @@ everythinginoneblog.gq, 1 everythinglidia.com, 1 everythingusb.com, 1 -everythingweb.site, 1 everytrycounts.gov, 1 everyveterancountsohio.gov, 1 eveshaiwu.com, 1 @@ -52962,6 +52988,7 @@ evkitdigital.com.br, 1 evl.one, 1 evlconsulting.com.au, 1 +evlenmekisteyenerkekler.com, 1 evlilikilan.com, 1 evlqa1sp1tzb05zo-reoo0vhj9a1t5pousfudnkg.com, 0 evlv.energy, 1 @@ -52993,9 +53020,11 @@ evolutionmining.com, 1 evolutionmuaythai.com, 1 evolutionosteopathy.co.uk, 0 +evolutionpinball.com, 1 evolutive-records.tk, 1 evolutlabs.com, 1 evoluxion.co, 1 +evolv.es, 1 evolve-analytics.co.uk, 1 evolve.com, 1 evolveagency.gr, 1 @@ -53046,6 +53075,7 @@ ewanto.de, 1 ewarranty.by, 1 ewasterj.com, 1 +ewastra.com, 1 ewatchers.org, 1 ewaycorp.com, 1 eweb.org, 1 @@ -53092,7 +53122,6 @@ exactrealty.no, 1 exactrealty.us, 1 exactverify.com, 1 -exadel.com, 1 exaduosport.fr, 1 exagoni.com, 1 exagoni.com.au, 1 @@ -53112,6 +53141,8 @@ examlab.net, 1 examone.com, 1 exampaperarchive.com, 1 +example-llm.com, 1 +example-llm.de, 1 example.ng, 1 exampleessays.com, 1 examroll.fr, 1 @@ -53157,6 +53188,7 @@ excellentrencontrer.tk, 1 excellentsurferers.ga, 1 excellentsurferest.ga, 1 +excellia.pro, 1 excellingleaders.nl, 1 excelpedia.net, 1 excelsamurai.com, 1 @@ -53166,7 +53198,6 @@ exceptionalservers.com, 1 exceptionalservices.us, 1 exceptionalstack.com, 1 -exceptionnotfound.net, 1 excess-baggage.com, 1 excessive-software.tk, 1 exchange-api.com, 1 @@ -53249,6 +53280,7 @@ exiletattoo.net, 1 exiletower.tk, 1 exip.ga, 1 +exiqo.ai, 1 exira.com, 1 exist.ru, 1 exito-e.com, 1 @@ -53261,6 +53293,7 @@ exmoe.com, 1 exo-chanyeol.tk, 1 exoatlas.com, 1 +exocet.consulting, 1 exodiac.ph, 1 exodium.tk, 1 exodus-net.pl, 1 @@ -53306,6 +53339,7 @@ expatinpoland.com, 1 expatmortgage.uk, 1 expatriate.pl, 0 +expave.com.br, 1 expe.voyage, 1 expectful.com, 0 expectingplus.com, 1 @@ -53322,6 +53356,7 @@ expeditionnow.co, 1 expeditors.com, 1 expelliarmus.tk, 1 +expensebrain.de, 1 expensify.com, 1 expensivejewelsest.ga, 1 exper.gr, 1 @@ -53348,6 +53383,7 @@ experta.bg, 1 expertairductcleaninghouston.com, 1 expertbrand.pl, 1 +expertccw.com, 1 expertcen.ru, 1 expertclub.tk, 1 expertcomics.ca, 1 @@ -53383,6 +53419,7 @@ explicamente.pt, 1 explode.tk, 1 explodie.org, 1 +exploit-db.com, 1 exploit.cz, 0 exploit.party, 1 exploited.cz, 1 @@ -53438,7 +53475,6 @@ expopodium.com, 1 expoprime.tk, 1 expopro24.ru, 1 -exporta.cz, 1 exportbrazil.org, 1 exportfinance.gov.au, 1 exportonline.gov.au, 1 @@ -53475,7 +53511,6 @@ expressfm.eu, 1 expressglobal.co.kr, 1 expresshosting.org, 1 -expresshsp.com, 1 expressinfo.cz, 1 expressinfo.sk, 1 expressinsurance.com.au, 1 @@ -53544,7 +53579,6 @@ extractly-dev.com, 1 extractly-test.com, 1 extractly.ai, 1 -extractoracentral.com, 1 extradiely.sk, 1 extradienst.at, 1 extraeasycash.com, 1 @@ -53599,6 +53633,7 @@ exxpozed.eu, 1 exzibit.net, 1 eyasc.nl, 1 +eydi.net, 1 eye-clan.com, 1 eye-move.nl, 1 eye-vet.co.uk, 1 @@ -53667,7 +53702,6 @@ ezmob.com, 1 ezmoddingz.tk, 1 eznetworks.com.br, 0 -ezo.io, 1 ezochat.com, 1 ezopus.com, 1 ezorgportaal.nl, 1 @@ -53675,6 +53709,7 @@ ezsavers.ga, 1 ezsaversers.ga, 1 ezsaversest.ga, 1 +ezschoolapps.com, 1 ezscrapbooksest.ga, 1 ezshopper.co.uk, 1 ezsun.co, 1 @@ -53688,9 +53723,8 @@ ezzarware.nl, 1 ezzhole.net, 1 f-401.com, 1 -f-almeida.group, 1 f-centre.ru, 1 -f-droid.org, 0 +f-droid.org, 1 f-mall.jp, 1 f-sato-jcp.jp, 1 f-sulzmann.de, 1 @@ -53707,7 +53741,6 @@ f1-onlineliga.com, 1 f1bigpicture.com, 1 f1classement.com, 0 -f1collection.com, 1 f1ex.org, 1 f1fever.co.uk, 1 f1fever.net, 1 @@ -53726,7 +53759,6 @@ f2pool.com, 1 f2vc.com, 1 f36533.com, 1 -f3franklin.com, 1 f3m.pt, 0 f3r.xyz, 1 f42.net, 1 @@ -53810,7 +53842,7 @@ fabianbeiner.de, 0 fabianbertona.com, 1 fabianegli.ch, 1 -fabianfranke.de, 1 +fabianfranke.de, 0 fabianni.tk, 1 fabiano.law, 1 fabickcat.com, 1 @@ -53851,11 +53883,12 @@ fabriciokleinadvocacia.com.br, 1 fabriciomoreira.ga, 1 fabrik.de, 1 -fabrika-himchistki.ru, 1 +fabrika-himchistki.ru, 0 fabrika-jaluzi.ru, 1 fabrikafilmes.com.br, 1 fabrikhane.com, 1 fabriknet.de, 1 +fabriknutrition.com, 1 fabriku.com, 1 fabrilec.tk, 1 fabrinet.co.th, 1 @@ -53864,7 +53897,7 @@ fabriziorocca.it, 1 fabriziorocca.tk, 1 fabriziotarizzo.org, 1 -fabse.net, 0 +fabse.net, 1 fabseal.de, 1 fabslabour.uk, 1 fabtechexpo.com, 1 @@ -53969,7 +54002,6 @@ factor.cc, 0 factor10.com, 1 factorchave.com, 1 -factorio.tools, 1 factoriobin.com, 1 factoriotools.com, 1 factorit.fr, 1 @@ -53985,7 +54017,6 @@ factua.nl, 1 factum-info.net, 0 factuon.com, 1 -facturama.pt, 1 facturare.online, 1 factureenlinea.com, 0 facturx-pret.fr, 1 @@ -54030,6 +54061,7 @@ faeriebabe.com, 1 faeriecakes.be, 1 faeservice.eu, 1 +faestudiantes.org, 1 faetasia.com, 1 faeton.tk, 1 fafarishoptrading.com, 1 @@ -54067,6 +54099,7 @@ faimdevoyages.com, 1 faimmobiliare.it, 1 fainlogistics.com, 1 +faionic.de, 1 fair-fish-database.net, 1 fair-fish.net, 1 fairan.ir, 1 @@ -54129,9 +54162,7 @@ fairystar.com.tw, 1 fairyth.tk, 1 faisaliya.net, 0 -faisalyusra.my.id, 1 faisia.tk, 1 -faith-for-life.com, 1 faithadvisorers.ga, 1 faithadvisorest.ga, 1 faithbulletin.tk, 1 @@ -54142,7 +54173,6 @@ faithfulroad.org, 1 faithleaks.org, 0 faithnc.gov, 1 -faixaazul.com, 1 faizan.net, 1 faizanullah.com, 1 faizveri.com, 1 @@ -54192,7 +54222,6 @@ falbros.com, 1 falce.in, 1 falchion.tk, 1 -falck.dk, 1 falcom.co.jp, 1 falcom.shop, 1 falcon.io, 1 @@ -54251,7 +54280,6 @@ fam-roos.com, 1 fam-stemmer.de, 0 famacweb.no, 1 -famainfo.com.br, 1 famcloud.de, 1 famdouma.nl, 1 famelack.com, 1 @@ -54328,7 +54356,7 @@ famonitor.com, 1 famosas.cf, 1 famous-models.tk, 1 -famous-smoke.com, 1 +famous-smoke.com, 0 famousandfaded.com, 1 famousbirthdays.com, 1 famousbob.com, 1 @@ -54387,6 +54415,7 @@ fanosak.tk, 1 fanqia.ng, 1 fanqienovel.com, 1 +fanqieysw.com, 1 fans-darkangel.tk, 1 fans-lily-allen.tk, 1 fansale.de, 1 @@ -54428,7 +54457,6 @@ fantasyfoot.tk, 1 fantasyforever.tk, 1 fantasypartyrental.com, 0 -fantasyprojections.com, 1 fantasysports.tk, 1 fantasysportsnews.org, 1 fantgames.com, 1 @@ -54439,6 +54467,7 @@ fanuc-stanok.ru, 1 fanufacture.shop, 1 fanvue.com, 1 +fanvy.ai, 1 fanyue123.tk, 1 fanzapers.ga, 1 fanzhe.com, 1 @@ -54463,6 +54492,7 @@ faradome.ws, 1 faradrive.ir, 1 farafaratodonuevoleon.com, 1 +farahsolutions.ae, 1 farallonesrentacar.com, 1 faraloda.tk, 1 faraonplay5.com, 1 @@ -54481,9 +54511,9 @@ fareast.ga, 1 fareast.gq, 1 fareast.tk, 1 +fareastframes.com, 1 fareinternational.com, 1 farenheit.net, 1 -faresair.com, 1 faresfrom.com, 1 fareto.com, 1 fareuntrasloco.it, 1 @@ -54491,6 +54521,7 @@ fareye.com, 1 fareyeconnect.com, 1 farfallapets.com.br, 1 +farfield.studio, 1 farfor.tk, 1 farhadexchange.com, 1 farhandanish.tk, 1 @@ -54520,11 +54551,9 @@ farmakon.tk, 1 farmalink.pe, 1 farmarrays.com, 1 -farmasimahaganesha.ac.id, 1 farmauna.com, 1 farmaweb.be, 1 farmbureauinsurance-mi.com, 1 -farmcloud.fr, 1 farmer-miniaturen.tk, 1 farmerbrossamples.com, 1 farmerfairness.gov, 1 @@ -54532,11 +54561,13 @@ farmerschilemarket.com, 1 farmersfridge.com, 0 farmersgirlkitchen.co.uk, 1 +farmflow.co.nz, 1 farmforte.com, 1 farmhouse.com.my, 1 farmhouse.com.sg, 1 farming.co.uk, 1 farmingtonlaxwi.gov, 1 +farmio.io, 1 farmmaximizer.com, 1 farmmonitor.africa, 1 farmocracy.in, 1 @@ -54683,7 +54714,6 @@ fast-silver.tk, 1 fast.ly, 1 fast4ever.tk, 1 -fast9.net, 1 fastable.net, 1 fastamundi.com, 1 fastandtuning.tk, 1 @@ -54765,6 +54795,7 @@ fastvelocityest.ga, 1 fastvisit.tk, 1 fastworx.com, 1 +faszima.ch, 1 faszination-fankurve.de, 1 fatal-beauty.tk, 1 fatal.ga, 1 @@ -54783,7 +54814,6 @@ fathom.one, 1 faticaftan.com, 1 fatidique.com, 1 -fatig.com, 1 fatiguesyndrome.com, 1 fatihingemisi.com, 1 fatimamoldes.com.br, 1 @@ -54816,6 +54846,7 @@ faunathreads.com, 1 faunatrek.com, 1 faus-moliner.com, 1 +faustodiiorio.com, 1 fautchen.eu, 1 fauteuil-bebe.fr, 1 fauv.art, 1 @@ -54920,7 +54951,6 @@ fcblueboys.be, 1 fcbrasov.tk, 1 fcc.gov, 1 -fcc.org.ru, 1 fccaracciolo-solution.tk, 1 fccarbon.com, 0 fccchina.org, 1 @@ -54930,6 +54960,7 @@ fcdemuis.tk, 1 fcdenhaag-holi.tk, 1 fcdordrecht.tk, 1 +fcfelectricalbrisbane.com.au, 1 fcforum.net, 1 fcgmd.gov, 1 fcht.fr, 1 @@ -54953,7 +54984,6 @@ fcts.ml, 1 fcyz.work, 1 fd.gov, 1 -fdab.se, 1 fdalawboston.com, 1 fdaregs.com, 1 fdereplace.tk, 1 @@ -54968,7 +54998,6 @@ fdkm.eu, 1 fdlibre.eu, 1 fdlp.gov, 1 -fdltcc.edu, 1 fdm.ro, 1 fdms.gov, 1 fdnsc.net, 0 @@ -55166,6 +55195,7 @@ fehrm.gov, 1 feibiaowang.com, 0 feiertage-ferien.com, 1 +feifanysw.com, 1 feignandfolly.tk, 1 feiki.tk, 1 feikuai.tv, 0 @@ -55234,6 +55264,7 @@ felixvelarde.com, 0 felixweb.tk, 1 feliz.tk, 1 +fellows.cz, 1 felonymath.com, 1 felonymath.net, 1 felonymath.org, 1 @@ -55373,7 +55404,6 @@ fermastore.cf, 1 fermastore.tk, 1 fermateh.com.ua, 1 -fermemarineau.com, 1 fermentcerealesbio.fr, 1 fermenteana.com, 1 fermier-mag.ro, 1 @@ -55400,6 +55430,7 @@ ferociousmass.tk, 1 feross.net, 1 feross.org, 1 +ferox.cc, 1 ferozes.com.br, 1 ferrada.org, 0 ferrari.com, 1 @@ -55415,7 +55446,7 @@ ferrgames.com, 1 ferrgrowth.com, 1 ferriday.gov, 1 -ferrikomm.de, 1 +ferrikomm.de, 0 ferrin.tk, 1 ferrisfox.me, 1 ferriswheelofficial.us, 1 @@ -55464,7 +55495,7 @@ festivaldimouamaroussiou.gr, 1 festivalfumo.tk, 1 festivalisztalbano.it, 1 -festivaljapon.com, 1 +festivaljapon.com, 0 festivallusitanodocirco.pt, 1 festivalofthefleeces.au, 1 festivalofthefleeces.com.au, 0 @@ -55501,7 +55532,7 @@ fetrabuv.com, 1 fettbrot.tk, 1 fettburger.com, 1 -fettings.com, 1 +fettrechner.com, 1 feudalisten.de, 1 feudaltactics.com, 1 feudias.com, 1 @@ -55572,7 +55603,6 @@ ffi.lol, 1 ffiec.gov, 1 ffis.me, 0 -ffl123.com, 1 ffn-connect.de, 1 ffnm.org, 1 ffoodtrucks.fr, 1 @@ -55600,7 +55630,6 @@ fh-erfurt.de, 1 fh-mittelstand.de, 1 fh-photographie.art, 1 -fh.spb.ru, 0 fh169.cc, 1 fh6lfwyn.com, 1 fh70.com, 0 @@ -55619,8 +55648,6 @@ fhfaoig.gov, 1 fhi.nl, 1 fhinds.co.uk, 0 -fhjituan-zh.com, 1 -fhjt-apac.com, 1 fhkheating.com.au, 1 fhm.duckdns.org, 1 fhmkh.cn, 1 @@ -55629,7 +55656,6 @@ fhsroyalbanner.com, 1 fhsseniormens.club, 1 fhv-waldhausen.de, 1 -fhzhs.com, 1 fi.google.com, 1 fi.se, 1 fi.search.yahoo.com, 0 @@ -55656,6 +55682,7 @@ fichajes.com, 1 ficharjmd.es, 1 fichier-pdf.fr, 0 +fichtefreunde.de, 1 fickfreundinnen.net, 1 fickweiler.nl, 1 ficlab.com, 1 @@ -55671,7 +55698,6 @@ fidelis-it.net, 0 fidelity-services.com, 1 fidelity.co.jp, 1 -fidelitybankonline.com, 1 fidelityhomestead.com, 1 fidelitysound.es, 1 fidelytics.io, 1 @@ -55730,6 +55756,19 @@ fiff.de, 0 fifpro.org, 0 fifr.nl, 1 +fifthocean.ae, 1 +fifthocean.ai, 1 +fifthocean.co.uk, 1 +fifthocean.de, 1 +fifthocean.eu, 1 +fifthocean.inc, 1 +fifthocean.it, 1 +fifthocean.me, 1 +fifthocean.pl, 1 +fifthocean.shop, 1 +fifthocean.store, 1 +fifthocean.uk, 1 +fifthocean.us, 1 fifthwall.com, 0 fiftygame.com, 1 fiftynorth.eu, 1 @@ -55791,11 +55830,11 @@ filcosplay.tk, 1 file-cloud.eu, 1 file.doctor, 1 -file.gd, 1 file24.tk, 1 filebin.net, 1 filebox.one, 1 filecopa.com, 1 +filedesc.com, 1 filedir.com, 0 filedoom.ml, 1 filehash.de, 1 @@ -55951,7 +55990,6 @@ financeinterface.tk, 1 financejobs.ch, 1 financenews.tk, 1 -financepre.com, 1 financestead.com, 1 financetool.de, 1 financetwenty.com, 1 @@ -56001,7 +56039,6 @@ finchnest.co.uk, 1 fincities.tk, 1 fincura.com, 1 -find2career.com, 1 findahelpline.com, 1 findahero.com.au, 1 findairconditioningers.ga, 1 @@ -56013,7 +56050,6 @@ findautoloan.ml, 1 findbalancedliving.com, 1 findblockchaingames.com, 1 -findbugs.net, 1 findby.co.kr, 1 findcanary.com, 1 findcasinos.net, 1 @@ -56021,10 +56057,10 @@ findcep.com, 0 finddecisionsest.ga, 1 findedeinencoach.net, 1 -finderrors.net, 1 findete.tk, 1 findeth.io, 1 findfaults.net, 1 +findfriends.cc, 1 findheim.at, 0 findinggenius.com, 1 findingimagesers.ga, 1 @@ -56055,7 +56091,6 @@ findsingledating.ml, 1 findstorenearme.ca, 1 findstorenearme.co.uk, 1 -findstorenearme.us, 1 findsupport.gov, 1 findthatnude.com, 1 findthatthing.shop, 1 @@ -56093,6 +56128,7 @@ finex.by, 1 finexity.com, 1 finexo.ch, 1 +finexplained.com, 1 finfleet.id, 1 finform.ch, 1 finfowe.com, 1 @@ -56167,8 +56203,6 @@ finverse.com, 0 finwarriors.tk, 1 finwe.info, 1 -finzy.com, 1 -fionahengartner.ch, 1 fionamcbride.com, 1 fionna.io, 1 fiore31.fr, 1 @@ -56176,10 +56210,10 @@ fiorenzaperfumhome.com.br, 1 fioriepiante.info, 1 fioristionline.net, 1 -fiosgenomics.com, 1 fipackaging.com, 1 fipo.life, 1 fipq.tk, 1 +fiqus.eu, 1 fir.ch, 1 firabruixes.cat, 1 firatcakir.com.tr, 1 @@ -56234,7 +56268,6 @@ fireplex.co.uk, 1 fireportal.cz, 1 fireportal.sk, 1 -firerabbit.com, 1 fireradio.tk, 1 firerain.me, 1 fireservicerota.co.uk, 1 @@ -56277,7 +56310,6 @@ firmfoundationsconsulting.com, 0 firmkernel.tk, 1 firmo90.com, 1 -firmsdata.com, 1 firmtracer.com, 1 firmware.science, 1 firobe.fr, 1 @@ -56350,6 +56382,7 @@ firstnetwork.cf, 1 firstorion.com, 0 firstottawa.com, 1 +firstpensioncustodian.com, 1 firstphilec.com, 1 firstplace.ga, 1 firstpoint.com.tr, 1 @@ -56389,7 +56422,6 @@ fisciences.com, 1 fiscoeconti.it, 1 fisera.cz, 1 -fish-consult.com, 1 fish-hook.ru, 0 fish-n-chips.uk, 1 fish.lgbt, 1 @@ -56436,6 +56468,7 @@ fiskalloy.com, 1 fiskaly.com, 1 fiskarsinlaituri.fi, 1 +fiskebors.no, 1 fisophi.com, 1 fispan.com, 1 fisso.com, 1 @@ -56471,6 +56504,7 @@ fitfoodrecipe.com, 1 fitforever.com, 1 fitforyourlife.org, 1 +fithere.ai, 1 fitikafo.com, 1 fitinfo.pl, 1 fitint.ro, 1 @@ -56502,7 +56536,6 @@ fitrecepty.info, 1 fitspring.com, 1 fitssey.com, 1 -fitt-together.co.uk, 1 fittar.eu, 1 fittherapy.biz, 0 fittipaldijr.com, 1 @@ -56511,6 +56544,7 @@ fitvermogen.nl, 1 fitxxxsandy.net, 1 fitz-family.com, 1 +fitzroyit.com, 1 fitzsim.org, 1 fitzwilliamhotelbelfast.com, 1 fiu.ee, 0 @@ -56553,6 +56587,7 @@ fixingscrews.co.uk, 1 fixitrange.com, 1 fixm.aero, 1 +fixmetiz.ru, 1 fixmobile.online, 1 fixmybrokenscreen.co.uk, 1 fixmyvisit.com, 1 @@ -56615,6 +56650,7 @@ fjordbank.lt, 1 fjordboge.dk, 1 fjordenpaard.tk, 1 +fjordfire.com, 1 fjordrykkur.is, 1 fjsb.com, 1 fjugstad.com, 1 @@ -56752,16 +56788,15 @@ flatheadelectric.com, 1 flathome.co.jp, 1 flaticons.net, 1 -flatlandchurch.com, 0 flatmail.net, 1 flatmail.pl, 1 flatmatehub.com.au, 1 flatpackmates.co.uk, 1 flatplanet.tk, 1 flatrate.com, 0 -flatreviews.co.nz, 1 flatrocktentpark.com.au, 1 flatrooms-chiemgau.de, 1 +flatsearchpro.com, 1 flatsomestudio.ir, 1 flatsurfers.eu, 1 flattie.cz, 1 @@ -56769,7 +56804,6 @@ flatwoodsky.gov, 1 flauschig.net, 1 flavelappliances.com, 1 -flavienbonvin.com, 1 flavinha.tk, 1 flaviohipnoseclinica.com.br, 1 flavioperrone.net, 1 @@ -56815,7 +56849,7 @@ fleetlinkatlascopco.com, 1 fleetofhope.tk, 1 fleetone.com.au, 1 -fleetpal.io, 1 +fleetpal.io, 0 fleetserviceoftulsa.com, 1 fleetssl.com, 1 fleettools.tk, 1 @@ -56825,7 +56859,6 @@ fleischer-garten.de, 1 fleischkaes.de, 1 fleki.hu, 1 -flekkefjordvo.no, 0 flemberg.com, 1 fleming.de, 1 flemingmccullagh.com, 1 @@ -56862,14 +56895,11 @@ flexdanmark.dk, 1 flexdesign.fr, 1 flexdrukker.nl, 1 -flexex.io, 1 flexfone.dk, 1 flexforcemonkey.com, 1 -flexgs.ca, 1 -flexgs.net, 1 flexhyp.de, 1 flexi-dance.pl, 1 -flexi-scale.com.my, 1 +flexi-scale.com.my, 0 flexi.org, 1 flexiblenetflow.com, 1 flexibsd.com, 1 @@ -56892,9 +56922,11 @@ flextrade.com, 1 flextrades.com, 1 flextribly.xyz, 1 +flextripalerts.com, 1 flextudo.com, 1 flexundfix.de, 1 flexworkhero.de, 1 +flexxedapp.com, 1 flexzon.com, 1 flfamily.org, 1 flfl.de, 1 @@ -56921,7 +56953,6 @@ flightdiary.cf, 1 flightdiary.ga, 1 flightdiary.gq, 1 -flightfrankfurt.com, 1 flighthonolulu.com, 1 flighthub-sms.com, 1 flightjackets.tk, 1 @@ -56932,7 +56963,6 @@ flightschoolcandidates.gov, 1 flightschoolxxi.com, 1 flightstimes.com, 1 -flightti.com, 1 flightticketsto.com, 1 flightzero.cf, 1 fliino.com, 1 @@ -56956,6 +56986,7 @@ flipin.ga, 1 flipmusic.tk, 1 flipneus.net, 1 +flipocos.com, 1 flipos.be, 0 flipperkast.tk, 1 flippers-leuven.be, 1 @@ -57061,7 +57092,7 @@ florenciasabio.com, 1 florentinraud.net, 1 floresastrid.tk, 1 -floresdoprado.com.br, 1 +floresdoprado.com.br, 0 floreseartes.com.br, 1 floreseflores.pt, 1 floresvilleedc.org, 0 @@ -57098,11 +57129,10 @@ floridagulfyacht.com, 1 floridahealthcareconnections.gov, 1 floridaimigracao.com, 1 -floridaindependent.com, 1 floridaplasticsurgery.com, 1 floridaroofdesign.com, 1 floridarrc.com, 1 -floridaschools.us, 1 +floridaschools.us, 0 floridastadium.ga, 1 floridastadiumers.ga, 1 floridastadiumest.ga, 1 @@ -57147,6 +57177,7 @@ flowcrypt.com, 1 flowctory.com, 1 flowdise.com, 1 +flowdonia.com, 1 flower-market.dp.ua, 1 flower5.org, 1 flowercare.tk, 1 @@ -57174,7 +57205,6 @@ flowgate.net, 1 flowgo.tk, 1 flowheater.net, 1 -flowhopper.com, 1 flowhunt.io, 1 flowingdata.com, 1 flowinity.com, 1 @@ -57189,6 +57219,7 @@ flownty.com, 0 flowoodpolice.gov, 1 flowreplicator.com, 1 +flowrish.ai, 1 flowsales.online, 1 flowsave-staging.nl, 1 flowsave.nl, 1 @@ -57257,7 +57288,6 @@ fluteandpianoteaching.co.uk, 1 flutedrinks.com, 1 flutterwave.com, 1 -fluui.com.br, 1 fluuxly.com, 1 flux360.net, 1 fluxforge.com, 1 @@ -57287,7 +57317,6 @@ flyer.tools, 1 flyerdatabase.tk, 1 flyerim.com, 1 -flyfifer.co.uk, 1 flyforpoints.com, 1 flyforsinkelse.dk, 1 flyforsinkelser.no, 1 @@ -57296,6 +57325,7 @@ flygon.pink, 1 flyhd.fr, 1 flyhealthy.gov, 1 +flyhood.net, 1 flying-angels.tk, 1 flyingangels.cf, 1 flyingbasicsest.ga, 1 @@ -57319,6 +57349,7 @@ flylvia.com, 1 flymfr.com, 1 flymns.fr, 1 +flyn.to, 1 flynn.io, 1 flynowpaylater.com, 1 flynumber.com, 1 @@ -57430,7 +57461,6 @@ foamular.com, 1 fobzeroline.com, 1 focal.nl, 1 -focalforest.com, 1 focalpoint.tk, 1 focanamoda.com.br, 1 focanocliente.com.br, 1 @@ -57448,7 +57478,6 @@ focusproductions.tk, 1 focusreferrals.co.uk, 1 focustec.tk, 1 -focusti.com.br, 1 focustuningclub.tk, 1 fodder.ga, 1 foe-sniper.com, 1 @@ -57491,6 +57520,7 @@ foliagefriend.com, 1 foliencenter24.com, 1 folio.no, 1 +foliovision.com, 1 foljeton.dk, 0 folk.as, 1 folk.tk, 1 @@ -57533,8 +57563,8 @@ fondationwiggli.ch, 1 fondazione-menarini.com, 1 fondbaikal.ml, 1 -fonds-dieter.be, 1 fondsnieuws.nl, 1 +fondsvermittler.com, 1 fondzee.cz, 1 fonemisitme.com, 1 foneria.com.tr, 0 @@ -57652,7 +57682,6 @@ foodlist.net, 1 foodloader.net, 1 foodloco.ga, 1 -foodlover.restaurant, 1 foodlucky.ga, 1 foodmatche.ga, 1 foodmeasure.ga, 1 @@ -57691,7 +57720,6 @@ foodrhino.ga, 1 foodrings.ga, 1 foodrips.com, 1 -foods.pe, 1 foodsafety.gov, 1 foodsafetyjobs.gov, 1 foodsafetyworkinggroup.gov, 1 @@ -57718,6 +57746,7 @@ foodtrekker.tk, 1 foodtruck.ai, 1 foodtruckconnections.com, 1 +foodtruckcopains.fr, 1 foodtrucksnorthwest.com, 1 foodtummy.com, 1 foodurban.ga, 1 @@ -57771,7 +57800,7 @@ footwear-catalogue.tk, 1 footytalk.tk, 1 foow30a.com, 1 -foqal.io, 1 +foqal.io, 0 for-mary.com, 1 for-testing.tk, 1 for.care, 1 @@ -57810,7 +57839,6 @@ fordpartsgiant.com, 1 fordpartsprime.com, 1 fordsbranch.church, 0 -fordservicetraining.com, 1 fordshop.by, 0 fordtrac.com.br, 1 foreammatti.fi, 1 @@ -57821,7 +57849,6 @@ forefront.dental, 1 forefrontcloud.com, 1 foreign-language-colleges.com, 1 -foreignaffairsmotorsports.com, 1 foreignassistance.gov, 1 forem.com, 0 foremail.tk, 1 @@ -57848,6 +57875,7 @@ forest-house-hotel.com.ua, 1 forest-remote-control.com, 1 forest-soft.xyz, 1 +forest360.nz, 1 forestale.online, 1 forestall.io, 1 forestcermegresik.com, 1 @@ -57900,13 +57928,13 @@ forge.cn, 1 forge.my.id, 1 forge.st, 1 +forgedshield.com, 1 forgemedia.io, 1 forgetfulmomma.com, 1 forgetme.ga, 1 forgetme.gq, 1 forgetme.tk, 1 -forgetmenot.care, 1 -forgetwp.com, 1 +forgetmenot.care, 0 forgive.com.tw, 1 forgivemefather.com, 1 forgotten-legends.org, 1 @@ -57923,16 +57951,19 @@ forkfeeds.com, 1 forkid.com, 1 forkknifeswoon.com, 1 +forklabs.cc, 1 forklift.name.tr, 1 forklifttire.com, 1 forksales.com, 1 forkurd.ml, 1 forlitoday.it, 1 +form-a-tread.com, 1 form100.de, 1 formacionprofesionalpanama.org, 1 formacourtage.fr, 1 formador.tk, 1 formafantasma.com, 1 +formafracta.com, 1 formalgrammar.tk, 1 formalistgallery.com, 1 formalize.com, 1 @@ -57952,7 +57983,6 @@ formation-intergeneration.com, 1 formation-russe-paris.com, 1 formation.ai, 1 -formation.tech, 1 formationaumagnetisme.fr, 1 formationgit.com, 1 formationgit.fr, 1 @@ -57963,7 +57993,6 @@ forme.nl, 1 formeras.com, 1 formeras.tr, 1 -formidium.com, 1 formingequipment.tk, 1 formini.dz, 1 formio.nl, 1 @@ -57984,6 +58013,7 @@ formulacionquimica.com, 1 formulastudent.de, 1 formulatedby.com, 1 +formulateszt.hu, 1 formulaveevictoria.com.au, 1 formweb.de, 1 formyourcorp.com, 1 @@ -58036,7 +58066,6 @@ forstprodukte.de, 1 forsure.tk, 1 forsyth.cc, 1 -forsythco.com, 1 forsythcountync.gov, 1 forsythmo.gov, 1 forsyththeatre.com, 1 @@ -58074,7 +58103,6 @@ fortipartner.uk, 1 fortis174.ru, 1 fortisadhesives.com.au, 1 -fortisadversis.com, 1 fortisinc.com, 1 fortissimusbellator.pt, 1 fortmatic.com, 1 @@ -58094,7 +58122,7 @@ fortresslinux.com, 1 fortresslinux.nl, 1 fortresslinux.org, 1 -fortricks.in, 1 +fortricks.in, 0 fortscratchley.com.au, 1 fortuna-apotheke-lahnstein.de, 1 fortuna-loessnitz.de, 1 @@ -58202,7 +58230,7 @@ foto-bilder.ch, 1 foto-forum.tk, 1 foto-gallery.tk, 1 -foto-huwi.ch, 1 +foto-huwi.ch, 0 foto-janvanaefst.nl, 1 foto-leitner.com, 1 foto-leitner.de, 1 @@ -58233,6 +58261,7 @@ fotografi.com, 1 fotografiadellalucerossa.com, 1 fotografiamakro.pl, 1 +fotografie-presets.nl, 1 fotografies.tk, 1 fotografija.tk, 1 fotografoivanalmeida.com.br, 1 @@ -58248,9 +58277,9 @@ fotolectura.tk, 1 fotoleitner.com, 1 fotoleitner.de, 1 -fotoloji.art, 1 fotomodel.cf, 1 fotomodels.tk, 1 +fotonbolivia.com.bo, 1 fotonippon.com, 1 fotontechnik.pl, 1 fotonza.ru, 1 @@ -58259,7 +58288,6 @@ fotopro.tk, 1 fotorecull.tk, 1 fotosquares.com, 1 -fotostravestisbr.com, 1 fotostudio-leitner.com, 1 fotostudio-leitner.de, 1 fotostudio-schweiz.ch, 1 @@ -58282,6 +58310,8 @@ foucheplumbers.com, 1 foudufafa.de, 0 fougereettralala.fr, 1 +found.center, 1 +found.com, 1 foundationalucc.com, 1 foundationassure.com, 0 foundationmaintenance.com, 1 @@ -58317,7 +58347,6 @@ fourgo.it, 1 fourjaw.com, 1 fourmidabel.tk, 1 -fourmies.fr, 1 fournaise.info, 1 fournarisopenday.com, 1 fournisseur-energie.com, 0 @@ -58389,7 +58418,6 @@ fpasca.com, 1 fpc.gov, 1 fpcdn.io, 1 -fpcorporatefinance.eu, 1 fpcslidell.org, 1 fpds.gov, 1 fpersona.com, 1 @@ -58430,7 +58458,6 @@ fracasados.tk, 1 frack.nl, 0 fractalink.com, 1 -fraction-calculations.com, 1 fractionalseo.net, 0 fracturedperspective.com, 1 fraeuleinmeerbackt.de, 1 @@ -58514,7 +58541,6 @@ framedog.tk, 1 framegame.ch, 1 framemo.org, 1 -framenails.fr, 1 framer.ai, 1 framer.com, 1 framer.live, 1 @@ -58537,12 +58563,10 @@ france-chien.fr, 1 france-news.cf, 1 france-orchidees.org, 1 -france-serres.com, 1 france-volontaires.org, 1 franceactivetravel.cf, 1 franceactivetravel.ml, 1 francebattery.com, 1 -francecourses.fr, 1 francedebosselage.com, 1 francelab.hu, 1 francelight.fr, 1 @@ -58574,6 +58598,7 @@ franciscadelasllagasvirtual.com, 1 franciscasacarneiro.pt, 1 franciscoeduardocruz.tk, 1 +franciscojoubert.com, 1 franciscojperez.com, 1 franciscolapa.eu, 0 franciscoperezyoma.com, 0 @@ -58586,7 +58611,6 @@ francois-occasions.be, 1 francoiscarrier.com, 1 francoise-janssens.be, 1 -francoisharvey.ca, 1 francoislaude.fr, 1 francoislepage.com, 0 franconia.space, 1 @@ -58599,7 +58623,7 @@ frandroid.com, 1 frandymvp.tk, 1 franekerweer.tk, 1 -franfoto.com, 1 +franfoto.com, 0 frangallegodorado.es, 1 frangipane.tk, 1 frank-america.com, 1 @@ -58661,7 +58685,6 @@ frankwei.xyz, 0 frankyan.com, 1 frankychen.net, 1 -frankydo.com, 1 franmerino.tk, 1 franqois.id, 1 franqois.my.id, 1 @@ -58699,7 +58722,6 @@ fraserandneave.net, 1 fraserandneave.sg, 1 fraserengineco.com, 1 -frasermurray.scot, 1 frasesconemocion.com, 1 frasesdodia.com, 1 frasesparaface.com.br, 1 @@ -58743,6 +58765,7 @@ frc.us.com, 1 frccsgo.tk, 1 frcdr.org, 1 +frdl.ch, 1 freak-show.tk, 1 freak-team.tk, 1 freak-waves.de, 1 @@ -58858,7 +58881,7 @@ freebettingreviews.com, 1 freebiofuels.ga, 1 freebiofuelsers.ga, 1 -freebirdairlines.com, 0 +freebirdairlines.com, 1 freebit.ch, 1 freebookdomain.tk, 1 freebookslibrary.gq, 1 @@ -58893,6 +58916,8 @@ freedom24.com, 1 freedom35.org, 0 freedomains4all.tk, 1 +freedomarchitects.co.uk, 1 +freedomcore.io, 1 freedomcourtreporting.com, 1 freedomcourtreporting.link, 1 freedomdiver.org, 1 @@ -58923,6 +58948,7 @@ freeebooksblog.com, 1 freeenglishhelp.com, 1 freefallproductions.tk, 1 +freefemale.com, 1 freefilesync.org, 1 freefincal.com, 1 freeflightstoitaly.ngo, 1 @@ -58943,11 +58969,10 @@ freekiki.com, 1 freelance-webdesign.co.uk, 1 freelance.barcelona, 1 -freelance.boutique, 0 +freelance.boutique, 1 freelance.nl, 1 freelanceerp.com, 1 freelanceessaywriters.com, 1 -freelancehunt.com, 1 freelancerim.ml, 1 freelanceunited.co.uk, 1 freelancewebprogrammer.com, 1 @@ -58972,7 +58997,7 @@ freemotion.tk, 1 freemovieonline.ga, 1 freenarcissisttest.com, 1 -freenato.com, 1 +freenato.com, 0 freenet.com.ng, 1 freenetflow.com, 1 freenetproject.org, 1 @@ -59020,6 +59045,7 @@ freeride-dragobrat.com, 1 freeroughporn.com, 1 freerun.cn, 0 +freesarah.com, 1 freesat.cn, 1 freeschematest.com, 1 freeschool.cf, 1 @@ -59101,6 +59127,7 @@ freightcalc.eu, 1 freightcenter.com, 1 freightinsightservice.com, 1 +freightmycar.com, 1 freightscore.net, 1 freikirchebergen.de, 1 freiraum-plus.com, 1 @@ -59202,6 +59229,7 @@ freundinnen-urlaub.de, 0 freundinnenausflug.de, 0 freundlieb.ch, 1 +frexio.ca, 1 freyapearls.com.au, 1 frgal.cz, 1 fribourgviking.net, 1 @@ -59398,6 +59426,7 @@ frontline6.com, 0 frontlinepolicies.com, 1 frontmymail.com, 1 +frontofthehouse.com, 1 frontrouge.fr, 1 froogo.co.uk, 1 frosinonetoday.it, 1 @@ -59411,7 +59440,6 @@ frostland.pro, 1 frostland.su, 1 frostleap.com, 1 -frostplatform.com, 1 frostprotection.co.uk, 1 frostwarning.com, 1 frostwolf.tk, 1 @@ -59523,7 +59551,6 @@ fsg.one, 1 fsinf.at, 1 fsk.fo, 0 -fsk.fr, 1 fsky.info, 1 fsma.org.pl, 1 fsma.pl, 1 @@ -59574,21 +59601,21 @@ ftczech.com, 1 ftczech.cz, 1 fte-automotive.com, 1 -ftek.com, 1 +ftek.com, 0 ftfgroup.us, 1 ftg-ru.ga, 1 ftgeufyihreufheriofeuozirgrgd.tk, 1 ftgho.com, 1 fthat.link, 1 +fthina.gr, 1 ftl-gaming.tk, 1 ftl13.com, 1 ftlparksprojects.com, 1 ftm.wiki, 1 ftmc.tk, 1 ftng.se, 1 -ftntour.com.tw, 1 +ftntour.com.tw, 0 ftoffice.serveexchange.com, 1 -ftplumbing.com.au, 1 ftpmovement.tk, 1 ftpporto.com, 1 ftptest.net, 1 @@ -59596,6 +59623,7 @@ ftrfnd.me, 1 ftri.co.jp, 1 ftth.eu.org, 0 +ftthfcassistant.pt, 1 ftv.re, 1 ftworthhousekeeper.com, 1 ftx.io, 1 @@ -59611,11 +59639,11 @@ fu666.de, 1 fu898.top, 1 fuantaishenhaimuli.net, 1 -fuarix.com, 1 fucajz.cz, 1 fuchs-informatik.de, 1 fuchsnet.ch, 1 fuciam.com.co, 1 +fuck-af.de, 1 fuck-your-false-positive.de, 1 fuck.it, 1 fuckar.ch, 1 @@ -59633,7 +59661,6 @@ fuckup.dk, 1 fuckwhatyouthink.tk, 1 fuckxiaozhan.com, 0 -fuckxichina.com, 1 fuckyou.monster, 1 fuckyoupaypal.me, 1 fuddittu.tk, 1 @@ -59664,6 +59691,8 @@ fuerzaazul.tk, 1 fufu.dance, 1 fugaku.cloud, 1 +fuge-manden.dk, 1 +fuge-specialisten.dk, 1 fuglar.tk, 1 fugle.de, 1 fuglede.dk, 1 @@ -59692,7 +59721,6 @@ fuku-fashion.nl, 1 fukuda-systems.com, 1 fukui-dc.com, 1 -fukuiedu.com, 1 fukuko.biz, 1 fukuko.xyz, 1 fukumoto.tokyo, 1 @@ -59742,6 +59770,7 @@ fullstackliving.com, 1 fulltextarchive.com, 1 fulltxt.ml, 1 +fullxp.cl, 1 fully-covered.tk, 1 fully-hair.tk, 1 fullzest.com, 1 @@ -59755,6 +59784,7 @@ fumantwo.com, 1 fumblers.ca, 1 fumerolles.ch, 0 +fumertue.net, 1 fumify.tk, 1 fumilink.com, 1 fun-baby.ru, 1 @@ -59790,7 +59820,6 @@ fundacionoleoductovivo.org, 1 fundacionpaideia.com.ar, 1 fundacionsiempreadelante.org, 1 -fundacionsilverina.org, 1 fundacjamatkiewy.pl, 1 fundacjatreenity.pl, 1 fundaekhaya.co.za, 1 @@ -59800,6 +59829,7 @@ fundayltd.com, 1 fundbiz.co.uk, 1 fundcapitalnow.com, 1 +fundcompare.co.nz, 1 fundedschools.ml, 1 fundelva.com, 1 fundera.com, 1 @@ -59810,12 +59840,12 @@ fundingpartner.dk, 1 fundingpartner.no, 1 fundingpartner.se, 1 -fundinvestmenttools.com, 1 fundky.com, 1 fundkyapp.com, 1 fundmatellc.com, 1 fundort.ch, 0 fundraiseup.com, 1 +fundregistry.org, 1 funds.ddns.net, 1 fundsincourt.vic.gov.au, 1 fundwave.com, 1 @@ -59825,7 +59855,6 @@ funeralshowers.ga, 1 funeralshowest.ga, 1 funerare-cazacu.com, 1 -funerare24.ro, 1 funfactorleeds.co.uk, 1 funfacts.cz, 1 funfm.tk, 1 @@ -59913,7 +59942,6 @@ funkturm-messeberlin.de, 1 funky-emulation.net, 1 funkydealz.no, 1 -funkyfishbone.nl, 1 funkyflo.tk, 1 funkysims.tk, 1 funkystride.com, 1 @@ -59997,7 +60025,7 @@ furik.me, 1 furisode-sendai.com, 1 furiya.tk, 1 -furkanahsap.com, 0 +furkanahsap.com, 1 furkankose.ml, 1 furkanmudanyali.com, 1 furkid.org, 1 @@ -60019,7 +60047,6 @@ furnishedproperty.com.au, 1 furnishmyhome.ca, 1 furniture-for-home.tk, 1 -furniture-warehouse.co.za, 1 furnitureconcept.co.uk, 1 furnitureforlife.com, 1 furnitureplustt.com, 1 @@ -60039,10 +60066,12 @@ furry.cool, 1 furry.dk, 1 furry.gay, 1 +furry.loan, 1 furrycdn.org, 1 furrycon.top, 1 furrycraft.ga, 1 furryfandomclub.cn, 0 +furrymail.com, 1 furrytech.network, 1 furrytrashsmash.com, 1 furrytrashsmash2.com, 1 @@ -60083,10 +60112,10 @@ fusestudio.net, 1 fuseyahoken.com, 1 fushee.com, 1 -fushimidc.com, 1 fusi.tk, 1 fusico.be, 1 fusico.digital, 1 +fusion-consulting.com, 1 fusionapps.com, 1 fusionapps.net, 1 fusionarmenia.tk, 1 @@ -60117,6 +60146,7 @@ fut21gen.com, 1 futa.agency, 1 futa.wiki, 1 +futacockinside.me, 1 futalis.de, 1 futarara.ga, 1 futaritomo.tk, 1 @@ -60152,6 +60182,7 @@ future-telecom.com, 1 futureappin.com.au, 1 futureaudiographics.com, 0 +futurecalls.com, 1 futurechallenges.org, 1 futurecharcoal.com, 1 futurefitcollab.org, 1 @@ -60241,7 +60272,6 @@ fwtewm.com, 1 fwtpic.com, 1 fwup.org, 1 -fwupd.org, 1 fx-rating.com, 1 fx-w.io, 1 fx.to, 1 @@ -60280,6 +60310,7 @@ fxvdd.com, 1 fxvdigital.com, 1 fxwebstudio.com.au, 0 +fydo.cloud, 1 fyers.in, 1 fyfywka.com, 1 fyllehack.se, 1 @@ -60292,7 +60323,6 @@ fyndiq.se, 1 fyndloggan.se, 1 fyndus.de, 1 -fyntun.eu, 1 fyol.pw, 1 fyou.co, 1 fyp-aiman.com, 1 @@ -60410,6 +60440,7 @@ gabodesign.tk, 1 gaborg.hu, 1 gabraham.tk, 1 +gabriel-forensics.com, 1 gabriel.to, 1 gabrielaebruno.cf, 1 gabrielafriasfanclub.tk, 1 @@ -60492,7 +60523,6 @@ gafisa.com.br, 1 gaflooring.com, 1 gag101.com, 1 -gaganenterprises.in, 0 gagarin.ga, 1 gagecountyne.gov, 1 gagekroljic.com, 1 @@ -60531,6 +60561,7 @@ gala.im, 1 gala.kiev.ua, 0 galact.tk, 1 +galacticdigital.agency, 1 galaksidot.tk, 1 galaktika-znakomstv.tk, 1 galaltosalento.it, 1 @@ -60568,6 +60599,7 @@ galaxysweeper.com, 1 galaxytracker.tk, 1 galefacialplastics.com, 1 +galeira.com, 1 galenguyer.com, 1 galenreasoner.com, 1 galenzoski.com, 1 @@ -60745,7 +60777,6 @@ gameloft.ga, 1 gamelok.ga, 1 gamemakers.tk, 1 -gamenetwork.pl, 1 gamenew.tk, 1 gameofbooks.de, 1 gameonespirit.tk, 1 @@ -60768,7 +60799,6 @@ gamereactor.asia, 1 gamereactor.cn, 1 gamereactor.de, 1 -gamereactor.dk, 1 gamereactor.es, 1 gamereactor.eu, 1 gamereactor.fi, 1 @@ -60821,7 +60851,6 @@ gamesplanet.com, 1 gamesplanet.tk, 1 gamesputnik.ru, 1 -gamestand.net, 1 gamester.tv, 1 gamestic.nl, 1 gamesunited.tk, 1 @@ -60844,11 +60873,13 @@ gamindustri.fr, 1 gaming-club.tk, 1 gaming-dice.tk, 1 +gaming-gilde.org, 1 gaming-life.tk, 1 gaming-news.tk, 1 gaming-online.tk, 1 gaming.cz, 1 gamingaktier.com, 1 +gamingalmanac.com, 1 gamingat.work, 1 gamingboard.eu, 1 gamingdirectory.com, 1 @@ -60885,7 +60916,6 @@ gammaknife.com, 1 gammaphibeta.tk, 1 gammonvillage.com, 1 -gamoloco.com, 0 gamrenovation.ca, 1 gamtosgidas.lt, 1 gan.wtf, 1 @@ -60932,6 +60962,7 @@ gaojianli.tk, 1 gaojue.art, 1 gaon.network, 1 +gaoqirun.com, 1 gaos.org, 1 gaozih.com, 1 gap150.jp, 1 @@ -60946,7 +60977,6 @@ garage15.com.ua, 1 garagechief.com, 1 garagedejan.ch, 1 -garagedoorflorida.com, 0 garagedoorpartsuk.co.uk, 1 garagedoorrepaircedarhilltx.com, 1 garagedoorrepairs-sanantonio.com, 1 @@ -60956,7 +60986,6 @@ garagemhermetica.org, 1 garagen-crew.de, 1 garagenet.com, 1 -garageworks.in, 1 garanteasy.com, 1 garantieabschluss.de, 1 garantikoza.org, 1 @@ -61026,12 +61055,10 @@ garnetgrid.com, 1 garnetnv.com, 1 garnishandglaze.com, 1 -garnix-openair.de, 1 garnuch-immo.de, 1 garnuchbau.de, 1 garo.email, 1 garo.ninja, 1 -garo.services, 1 garochristian.us, 1 garona.ru, 1 garotadeestilo.tk, 1 @@ -61092,7 +61119,6 @@ gasbarkenora.com, 1 gasenergy.kz, 1 gasesdelaguajira.com, 1 -gasestepiesa.ro, 1 gasfitermaipu.cl, 1 gasherde.tk, 1 gashtline.ir, 1 @@ -61116,6 +61142,7 @@ gassycat.uk, 1 gassyukumenkyoguide.com, 1 gastarbajter.tk, 1 +gastechmexico.net, 1 gastepress.com, 1 gastfamilie.de, 1 gasthausbauernhof.ch, 1 @@ -61157,6 +61184,8 @@ gatestoaesgaard.tk, 1 gatetoadventures.com, 1 gatewayfurniture.com, 1 +gatewayku.id, 1 +gatewayku79.id, 1 gatewaylink.co.jp, 1 gatewayplanning.org, 1 gatewaytire.com, 1 @@ -61178,7 +61207,6 @@ gaudeamus-folklor.cz, 1 gaudeamuschoir.tk, 1 gaudere.co.jp, 1 -gaudernconstruction.com, 0 gaudi-renove.com, 1 gaumenverfuehrer.de, 1 gauravswarnkar.com, 1 @@ -61243,6 +61271,7 @@ gazbit.ru, 1 gazbonicacidmc.ga, 1 gazeta-n1.ru, 1 +gazetar.eu, 1 gazetaswietojanska.org, 1 gazete.org, 1 gazetefutbol.de, 1 @@ -61292,6 +61321,7 @@ gbpics.to, 1 gbpicshd.com, 1 gbquotes.com, 1 +gbrand.com.au, 1 gbronka.com, 1 gbrx.com, 0 gbs.com.ua, 1 @@ -61315,7 +61345,6 @@ gcgroup.io, 1 gchp.ie, 0 gchq.wtf, 1 -gcja22.me, 1 gclegal.com.au, 0 gcmrc.gov, 1 gcmsnotesrequest.ca, 1 @@ -61333,6 +61362,7 @@ gcs-ventures.com, 1 gcscheats.com, 1 gcschool.tk, 1 +gcscomputer.com.au, 1 gcsm-qc.ca, 1 gcso.gov, 1 gcstats.org, 1 @@ -61353,7 +61383,6 @@ gddzqg.com, 1 gdesemena.ru, 1 gdf.is, 1 -gdh.digital, 1 gdhinc.com, 1 gdhzcgs.com, 0 gdit.com, 1 @@ -61371,7 +61400,6 @@ gdufe.top, 1 gdwtowbars.com, 1 gdz.tv, 1 -gdz4you.com, 1 ge1.me, 0 ge3k.net, 1 gea-waldviertler.at, 1 @@ -61417,14 +61445,13 @@ geborgen-wachsen.de, 1 gebrauchtwagen-neuautos.de, 1 gebrianvs.cz, 1 -gebruikershandleiding.com, 1 gebrvoit.de, 1 gebzehaliyikama.net, 1 gecbunlari.com, 1 gecem.org, 1 gechr.io, 1 geckler-ee.de, 0 -geckosurfschool.com, 0 +geckosurfschool.com, 1 geckowithahat.com, 1 geco-lab.it, 1 geco.com, 1 @@ -61496,7 +61523,7 @@ geekzuprepairs.com, 1 geelaeden.de, 1 geele.co.th, 1 -geely.ci, 0 +geely.ci, 1 geelyuzbekistan.uz, 1 geemprestimos.com, 1 geen.gp, 1 @@ -61509,9 +61536,10 @@ geetoo.com, 1 geetooholding.com, 1 gefaessmedizin-rapperswil.ch, 1 -gefmo.pl, 1 +gefmo.pl, 0 gefolge.org, 1 gegeco.ch, 0 +gegel-intimates.com, 1 gegevensdelen.nl, 1 gego-bergen.de, 1 gehenna2035.com, 1 @@ -61525,6 +61553,7 @@ gehrke.nrw, 1 gehsicht.de, 1 geico.com, 1 +geicogroup.com, 1 geigerequipment.com, 0 geigr.de, 1 geilefrauen.pics, 1 @@ -61591,7 +61620,6 @@ gemailt.net, 1 gemaskeerd.nl, 1 gematik.de, 1 -gemawardian.com, 1 gemax-online.de, 1 gembet99.com, 1 gemdirt.com, 1 @@ -61762,6 +61790,7 @@ genhome.eu, 1 genia-life.de, 1 genialacaopremiada.com.br, 1 +genicap.com, 1 genie.tk, 1 genieall.com, 1 genii-lab.com, 1 @@ -61804,9 +61833,6 @@ genomereference.org, 1 genomesoft.systems, 1 genometrik.de, 1 -genomic-surveillance.com, 1 -genomic-surveillance.net, 1 -genomic-surveillance.org, 1 genoog.com, 1 genoplot.com, 1 genorma.com, 1 @@ -61815,7 +61841,6 @@ genovatoday.it, 1 genoveve.de, 1 genpathdiagnostics.com, 1 -genroe.com, 1 gensenwedding.jp, 1 genshiken-itb.org, 0 gensi.pro, 1 @@ -61826,6 +61851,7 @@ gensokyo.re, 1 gensolarenergy.com, 1 gensonline.eu, 1 +gentagroup.com, 1 gentapps.com, 1 gentcdn.com, 1 gentcityofmusic.be, 1 @@ -61842,7 +61868,6 @@ gentleearcare.co.uk, 1 gentleentuit.be, 1 gentlent.blog, 1 -gentlent.cn, 1 gentlent.co, 1 gentlent.com, 1 gentlent.eu, 1 @@ -61896,11 +61921,11 @@ geodecoder.com, 1 geodesign.tk, 1 geodesist-msk.ru, 1 +geodeziepp.cz, 1 geodnet.com, 1 geoenvironconsult.ga, 1 geoewidencja.pl, 1 geofabrika.ru, 1 -geofaith.com, 1 geoffmyers.com, 1 geoffreynathan.com, 1 geoffreyrichard.com, 1 @@ -61924,6 +61949,7 @@ geokeys.cf, 1 geolex.tk, 1 geolite.info, 1 +geologicgarden.fr, 1 geologist.tk, 1 geology-schools.com, 1 geolonia.com, 1 @@ -61960,7 +61986,6 @@ georgebrighton.co.uk, 1 georgeclaghorn.com, 1 georgeclooney.tk, 1 -georgecolgrove.com, 1 georgecushen.com, 1 georgedesign.ch, 1 georgegachara.tk, 1 @@ -62010,6 +62035,8 @@ georglauterbach.com, 1 georglauterbach.de, 1 georgmayer.eu, 1 +geos-kaisers.de, 1 +geos-restaurant.de, 1 geosales.tk, 1 geosci-model-dev-discuss.net, 1 geosci-model-dev.net, 1 @@ -62020,6 +62047,7 @@ geospecialsers.ga, 1 geostems.com, 1 geostrategia.fr, 1 +geosync.pl, 1 geotabgov.us, 1 geoteach.org, 1 geotec-weilrod.de, 1 @@ -62045,7 +62073,6 @@ geraintwhite.co.uk, 1 gerald-zojer.com, 1 geraldpeters.com, 1 -geraleks.ru, 1 geralyntaylor.com, 1 geranium.dk, 1 gerard-klooster.net, 1 @@ -62136,7 +62163,6 @@ gesentorno.tk, 1 gesetz.tk, 1 gesetzguide.be, 1 -gesica.cloud, 1 gesida-seimc.org, 1 gesmav-trier.de, 1 gesnerfigueiredo.com.br, 1 @@ -62144,7 +62170,7 @@ gesolarinverter.com, 1 gespasa.az, 1 gessettirotti.it, 1 -gestalt.gallery, 0 +gestalt.gallery, 1 gestaoboa.com.br, 1 gestaoclub.com.br, 1 gestcoelho.com, 1 @@ -62168,7 +62194,8 @@ get-asterisk.ru, 1 get-baaam.com, 1 get-file.eu, 1 -get-maurice.com, 1 +get-it.uk, 1 +get-maurice.com, 0 get-my-report.com, 1 get-quick-bits-fast-2018.pw, 1 get-refer.com, 1 @@ -62215,7 +62242,6 @@ getcarina.com, 1 getcaselaw.com, 1 getcerta.com, 1 -getchainvault.com, 1 getchip.cc, 1 getclarity.life, 0 getcleanworx.co.uk, 1 @@ -62244,6 +62270,7 @@ geteducation.tk, 1 geteduroam.no, 1 getelectronics.tk, 1 +getelpis.co, 1 getemsal.com, 1 getescrowest.ga, 1 getevidenceers.ga, 1 @@ -62253,8 +62280,10 @@ getfitbee.com, 1 getfitwithkip.com, 1 getflorence.co.uk, 0 +getfogproof.com, 1 getfreeelectricity.tk, 1 getfreeltc.ml, 1 +getfrontfoot.ai, 1 getgeek.dk, 1 getgeek.ee, 1 getgeek.es, 1 @@ -62284,6 +62313,7 @@ getjerry.com, 1 getjms.com, 1 getkeyport.com, 1 +getkeyup.com, 1 getkleend.com, 1 getlaminas.org, 1 getlantern.org, 0 @@ -62331,10 +62361,10 @@ getpeachy.org, 1 getpet.lt, 1 getplus.com.au, 1 +getpool.co.il, 1 getpro.plumbing, 1 getprohealth.com, 1 getpromo.cf, 1 -getpsolid.com, 1 getpublii.com, 1 getraenke-hoffmann.de, 1 getready2dance.tk, 1 @@ -62356,6 +62386,7 @@ getsilknow.com, 1 getsimone.online, 1 getsiteowl.com, 1 +getslotty.ru, 1 getsmartcue.com, 1 getsmartlife.in, 1 getsmileapi.com, 1 @@ -62367,6 +62398,7 @@ getstepa.com, 1 getstream.io, 1 getstudyhub.org, 1 +getsure.org, 1 getswadeshi.com, 1 getsweep.com, 1 gett-group.com, 0 @@ -62394,11 +62426,11 @@ getupdat.es, 1 getupwakeclub.com, 1 getvalidate.com, 1 -getvantage.co, 1 getvdownloader.com, 1 getvendorhub.com, 1 getwashed.net, 1 getwatchy.com, 1 +getwebsitecost.com, 1 getwemap.com, 1 getwork.tk, 1 getworkshopmanuals.com, 1 @@ -62487,6 +62519,7 @@ gfycat.com, 1 gg.ax, 1 gg.co.uk, 1 +gg.world, 1 gg2.com.br, 1 gg5197.co, 1 gg6729.co, 1 @@ -62495,7 +62528,7 @@ gg9397.com, 1 gg9728.co, 1 ggb.world, 1 -ggchamber.com, 1 +ggchamber.com, 0 ggchic.com, 1 ggddrenthe.nl, 1 ggdrop.com, 1 @@ -62672,6 +62705,7 @@ gierds.de, 1 gieschke.de, 1 giesela.io, 1 +giesima.fr, 1 giessehomesanvito.it, 1 gif-avatars.com, 1 giff.com.mx, 1 @@ -62688,7 +62722,7 @@ giftfavorite.tk, 1 giftfocus.com, 1 giftgujarat.in, 1 -gifthealth.com, 1 +gifthealth.com, 0 giftlist.guru, 0 giftnix.com, 1 giftntake.com.au, 1 @@ -62848,6 +62882,8 @@ giornaledicardiologia.it, 1 giornalidea.it, 1 giornalisportivi.online, 1 +giosafe.de, 1 +giotv.org, 1 giovannarossi.tk, 1 giovannibattistadagnino.eu, 1 giovannipiscicelli.cz, 1 @@ -62869,7 +62905,6 @@ giraffes.org, 1 girafficthemes.com, 1 giramas.com.co, 1 -gircimediterranee.fr, 1 giresunhaberleri.tk, 1 giri.co, 1 girishkumar.tk, 1 @@ -62904,7 +62939,6 @@ girlsnightin.org.au, 1 girlsnitein.com.au, 1 girlz.jp, 1 -girlzdreem.com, 1 giro.hu, 1 girolabs.com, 1 gironde-tourisme.fr, 1 @@ -62913,7 +62947,6 @@ girskii.com, 1 girtby.net, 1 gis.ee, 1 -gisa.gv.at, 1 gisac.org, 1 gisauto.ru, 1 gisbornecabs.com.au, 1 @@ -62954,6 +62987,7 @@ githubapp.com, 1 githubengineering.com, 1 giti.com.sg, 1 +gitlogy.com, 1 gitns.com, 1 gitns.dev, 1 gitns.io, 1 @@ -62978,6 +63012,7 @@ givaudan.com, 1 give.net, 1 give2charity.co, 1 +givealign.com, 1 giveasquare.com, 1 giveasquare.net, 1 giveasquare.org, 1 @@ -63001,6 +63036,7 @@ givery.cz, 1 givery.sk, 1 givesunlight.com, 1 +givetech.ai, 1 givetolincoln.com, 1 giveuselife.org, 1 givewithclick.com, 1 @@ -63049,6 +63085,7 @@ gkmusicindia.tk, 1 gknews.tk, 1 gkoenig-innenausbau.de, 1 +gkr.sh, 1 gkralik.eu, 1 gkstyle.net, 0 gku-winterling.de, 1 @@ -63136,7 +63173,6 @@ glasssculpture.org, 1 glasstechnics.be, 1 glassworld.tk, 1 -glaston.com, 1 glastonledburyshire-on-severn-gov.uk, 1 glaswerk-mellenbach.de, 1 glaswolsite.tk, 1 @@ -63180,11 +63216,9 @@ glendoracleantrucktesting.com, 1 glenlennoxvision.com, 1 glenloabbeyhotel.ie, 1 -glenmarieproperties.com, 0 glenmarkpharma.sk, 1 glenmorewisconsin.gov, 1 glennfitzpatrick.com, 1 -glennhamers.nl, 1 glenntrede.com, 0 glennvillega.gov, 1 glennwilson.co.uk, 1 @@ -63247,7 +63281,6 @@ globalacademicgroup.com, 1 globalaccountservice.com, 1 globalairt.com, 1 -globalamend.com, 0 globalanahtar.com.tr, 1 globalbankingandfinance.com, 1 globalbridge-japan.com, 1 @@ -63358,7 +63391,6 @@ globaltix.com, 1 globaltoner.gr, 1 globaltranslation.es, 1 -globaltratores.com.br, 1 globaltravel.cf, 1 globaltravel.ga, 1 globaltravel.tk, 1 @@ -63394,11 +63426,13 @@ globeprotocol.nl, 1 globeprotocolecosystem.nl, 1 globereservationsest.ga, 1 +globetoday.net, 1 globetotting.com, 1 globetrotting.au, 1 globetrotting.co, 1 globifytalent.com, 1 globit.com.tr, 1 +globiwan.com, 1 globoasiatico.com.ph, 1 globologic.com, 1 globotech.be, 0 @@ -63425,6 +63459,7 @@ gloryofloveband.tk, 1 gloryofmusic.tk, 1 gloryrise.tk, 1 +glorysite.com, 1 glorystar.ml, 1 glosiko.cn, 1 glosiko.com.cn, 1 @@ -63453,14 +63488,12 @@ glpreparation.com, 1 glreit.com, 1 glsauto.com, 1 -gltjp.com, 1 glue.tk, 1 gluechapter.ga, 1 glueck-im-norden.de, 1 gluecksgriff-taschen.de, 1 glueckskindter.de, 0 gluecksmomente.boutique, 1 -gluek.info, 1 glueup.com, 1 gluglu.jp, 1 gluit.de, 1 @@ -63489,7 +63522,6 @@ gm-assicurazioni.it, 1 gm-net.jp, 1 gm.search.yahoo.com, 0 -gm207.com, 0 gm5.com.br, 1 gmaetk.com, 1 gmail, 1 @@ -63509,6 +63541,7 @@ gmdsc.gov, 1 gmdu.net, 1 gmgard.com, 1 +gmgconsult.com, 1 gmgcyouth.org, 1 gmhdrivingschool.co.uk, 1 gmhostingservices.co.uk, 1 @@ -63554,7 +63587,6 @@ gnd.sk, 1 gndforeurope.com, 1 gnezdo.tk, 1 -gnfb.be, 1 gnfrazier.me, 1 gnhub.org, 1 gnida.tk, 1 @@ -63608,7 +63640,6 @@ go.microsoft.com, 1 go.ne, 1 go2.uz, 1 -go2alhambra.com, 1 go2archive.nl, 1 go2mob.tk, 1 go2sh.de, 1 @@ -63660,7 +63691,6 @@ gochinesename.com, 1 gociicii.com, 1 gocivilairpatrol.com, 1 -gock.ceo, 1 gock.systems, 1 gockelsee.de, 1 gockhuatsuky.tk, 1 @@ -63674,10 +63704,10 @@ gocornwallbus.co.uk, 1 gocpa.space, 1 god-clan.hu, 1 +god4all.com, 1 godalivetpalandet.tk, 1 godall.tk, 1 godan.tech, 1 -godanriver.com, 1 godark.uk, 1 godating.tk, 1 godaxen.tv, 1 @@ -63705,7 +63735,6 @@ godoter.cn, 1 godoza.tk, 1 godrealms.com, 0 -godreamcast.com, 1 godrive.ga, 1 godruoyi.com, 1 godsmercybookshop.com, 1 @@ -63827,6 +63856,7 @@ gold-fm.ml, 1 gold-mosaic.ru, 1 gold.my, 1 +gold99999.com, 1 goldankauf1875.at, 1 goldband.tk, 1 goldbar.com.hk, 1 @@ -63843,7 +63873,6 @@ golden-earring.nl, 1 golden-kamuy.com, 1 golden-sea.tk, 1 -golden.com.iq, 1 goldenage.tk, 1 goldenagefoundation.tk, 1 goldenbadger.de, 0 @@ -63871,9 +63900,11 @@ goldenoaksgolfclub.com, 1 goldenpi.com, 1 goldenplate.com.sg, 1 +goldenpredictions.com, 1 goldenpreference.com, 1 goldenravengifts.com, 1 goldenretrieverspets.com, 1 +goldenroast.com.au, 1 goldenruleemail.com, 1 goldenshiny.com, 1 goldenstatetrailers.com, 1 @@ -63909,6 +63940,7 @@ goldpreisfinder.at, 1 goldratex.com, 1 goldregen.net, 1 +goldring-verloren.de, 1 goldround.com, 1 goldrushenergy.com, 1 goldschmiede-suessenguth.de, 1 @@ -63934,7 +63966,6 @@ golf-course-database.com, 1 golf-supplies.tk, 1 golf-werbeartikel.de, 1 -golfandfashion.dk, 0 golfasian.com, 1 golfbeautyers.ga, 1 golfbeautyest.ga, 1 @@ -63964,9 +63995,11 @@ golfshirtsjohannesburg.co.za, 1 golfshirtwholesalejohannesburg.co.za, 1 golftournamentgifts.tk, 1 +golftradr.com, 1 golfturkey.com, 1 goliamo-vranovo.com, 1 golikes.ml, 1 +golind.com, 1 golink.co, 0 golkowreporters.com, 1 golnet.hu, 0 @@ -64029,7 +64062,6 @@ gonoodle.com, 1 gonortheast.co.uk, 1 gontagro.com.ua, 1 -gontter.com, 1 gonulyoluturizm.com.tr, 1 gonumber.ga, 1 gonvarri.com, 1 @@ -64065,6 +64097,7 @@ goodfoodrussia.com, 1 goodfundsgateway.com, 1 goodgame.ruhr, 1 +goodgamingcollective.com, 1 goodhealthgateway.com, 1 goodhuecountymn.gov, 1 goodiesnet.ca, 0 @@ -64093,6 +64126,7 @@ goodsex4all.com.br, 1 goodsey.com, 1 goodshepherdmv.com, 1 +goodshop.md, 1 goodshuffle.com, 1 goodsite.ga, 1 goodspeaker.tk, 1 @@ -64106,6 +64140,7 @@ goodtotell.nl, 1 goodtrader.tk, 1 goodtrip.kr, 1 +goodviolin.com, 1 goodway.tv, 1 goodwillbusiness.org, 1 goodwillindy.org, 1 @@ -64162,6 +64197,7 @@ gophoto.it, 1 gophouse.org, 1 gopigment.com, 1 +gopitchin.com, 1 gopkg.link, 1 gopnikman.cf, 1 gopornovideo.com, 1 @@ -64199,8 +64235,6 @@ gordowebdesign.com, 1 gordvorets.tk, 1 gordyf.com, 1 -gorebayairport.ca, 1 -gorebayairport.com, 1 gorebrothers.com, 1 goreperry.com, 1 gorepriest.tk, 1 @@ -64245,23 +64279,22 @@ gosarh.tk, 1 gosarhiv.tk, 1 goscg.com, 1 -gosch.de, 1 +goseafari.com, 1 gosekku.com, 1 gosemo.com, 1 +gosfordfoundationtrust.org.au, 1 goshawkdb.io, 1 goshiba.pl, 1 goshin-group.co.jp, 1 -goshippingcargo.com, 1 goshop.pl, 1 goshopnow.co.za, 1 goshrink.ca, 1 gosifa.com, 1 gosifan.com, 0 goskey.ru, 1 -goskills.com, 1 +goskills.com, 0 gosling-gov.tk, 1 gosling-mod.tk, 1 -gosms.ai, 1 gosolockpicks.com, 1 gospelcologne.de, 1 gospeldesign.tk, 1 @@ -64303,12 +64336,12 @@ gotene.se, 1 gotepisodes.tk, 1 gotforumers.ga, 1 -gotgeeks.nl, 1 gotgenes.com, 0 gothailand.cf, 1 gothamcateringnyc.com, 1 gotherecheaply.com, 1 gothic-world.tk, 1 +gothicdisco.com, 1 gothiclandscape.com, 1 gothicmarketing.tk, 1 gothicsite.tk, 1 @@ -64349,6 +64382,7 @@ gotstreamingers.ga, 1 gotstubs.com, 1 gott-it.dk, 1 +gottagotoilets.com, 1 gottasketchemall.com, 1 gottcar.com, 1 gottfridsberg.org, 1 @@ -64372,7 +64406,6 @@ gourmetspalencia.com, 1 gourmetstars.cz, 1 gourmetvitamins.ga, 1 -gourmetwitch.org, 1 gousto.co.uk, 1 goutsmits-tegelwerken.nl, 1 gouwdata.nl, 0 @@ -64480,18 +64513,22 @@ gpstrackersaustralia.com, 1 gpsvideocanada.com, 1 gpswebsoft.ml, 1 +gpt-registry.com, 1 gpt4.me, 1 gpthub.gg, 1 gptunnel.kz, 1 gptunnel.ru, 1 gpu.nu, 1 +gpuopen.com, 1 gpupods.cloud, 1 gpuserver.kz, 1 +gpwaconference.com, 1 gpwatimes.org, 1 gpwih.com, 1 gpwmd-portal.org, 1 gpz500s.tk, 1 gq-magazine.co.uk, 1 +gr.pn, 0 gr.search.yahoo.com, 0 gr4vy.com, 1 gra-gcc.com, 1 @@ -64519,13 +64556,13 @@ gracedonors.co.uk, 1 gracedonors.co.za, 1 gracedonors.com, 1 +gracegore.org, 1 graceharborapps.net, 1 gracelawoffice.com, 1 graceradio.tk, 1 gracereminder.com, 1 gracethrufaith.com, 1 gracetini.com, 1 -grachten.museum, 1 gracia-club.tk, 1 graciasmarvin.tk, 1 gracieuniversity.com, 1 @@ -64538,13 +64575,14 @@ gradient9.com, 1 gradienthosting.co.uk, 1 gradients.org, 1 -gradinacufluturi.ro, 1 +gradinarit.com, 1 gradingcontractornc.com, 1 gradintel.com, 1 gradle.com, 1 gradle.org, 1 grads360.org, 1 graduados.tk, 1 +graduateoutcomes.ac.uk, 1 graduatewriter.com, 1 graduationsupplies.com.au, 1 gradyhunt.com, 1 @@ -64586,9 +64624,8 @@ grahambaggett.com, 1 grahambaker.ca, 1 grahamcarruthers.co.za, 1 -grahamcluley.com, 1 +grahamcluley.com, 0 grahamedgecombe.com, 1 -grahamfamilydentalwy.com, 0 grahamleeonline.com, 1 grahamsmith.tech, 1 grahamstevenson.me.uk, 1 @@ -64641,13 +64678,11 @@ grandcapital.cn, 1 grandcapital.id, 1 grandcapital.net, 1 -grandcapital.ru, 1 grandchene.ch, 0 grandchutewi.gov, 1 grandcountydronepilot.com, 1 grande-rock.tk, 1 grande.coffee, 1 -grandeapp.com, 1 grandesmaisons.fr, 1 grandfallscamp.com, 1 grandfieldok.gov, 1 @@ -64674,6 +64709,7 @@ grandprixradio.be, 1 grandprixradio.nl, 1 grandrapidsmn.gov, 1 +grandrapidsmurdermystery.com, 1 grandrapidswi.gov, 1 grandstarcourier.ml, 1 grandstrandbride.com, 1 @@ -64698,6 +64734,7 @@ granitehillcapital.com, 1 granitestateproductions.tk, 1 granitko.ru, 1 +granjaoga.com, 1 grannynude.tv, 1 grannypussy.net, 1 grannypussy.tv, 1 @@ -64713,6 +64750,7 @@ gransfors354.com, 1 granstor.com, 0 granstrom.tk, 1 +gransvilla.no, 1 grantadvisor.org, 1 grantcountyne.gov, 1 grantcountynm.gov, 1 @@ -64731,6 +64769,7 @@ grapee.jp, 1 grapeintentions.com, 1 grapevine.is, 1 +graph-paper.io, 1 graph.org, 1 graphe.gq, 1 graphene.software, 1 @@ -64773,7 +64812,7 @@ grassau.com, 1 grassberry.in, 1 grasshoppervape.com, 1 -grasski.net, 0 +grasski.net, 1 grasslaketownship.gov, 1 grasspromo.com, 1 grassroots.org.nz, 1 @@ -64795,6 +64834,7 @@ grattan.co.uk, 1 gratuitweb.tk, 1 graumeier.de, 1 +graureiher.com, 1 gravat.ar, 1 gravatar.com, 1 graveconcerns.uk, 1 @@ -64819,7 +64859,6 @@ gravitlauncher.ml, 1 graviton.work, 1 gravity-inc.net, 1 -gravityformspdfextended.com, 1 gravitygolf.xyz, 1 gravityinvestments.com, 1 gravitylab.fr, 0 @@ -64841,7 +64880,6 @@ graymatter.ch, 1 graymatter.news, 1 grayowlworks.com, 1 -grayphics.com, 1 grayrectangle.com, 1 graysantiques.com, 1 grayslakeadvisors.com, 1 @@ -64849,7 +64887,6 @@ grayson.sh, 1 graysonsmith.co.uk, 1 grayspace.design, 1 -grayspepper.com, 1 graysquare.com, 1 graystoneconsulting.co, 1 grayville-il.gov, 1 @@ -64893,7 +64930,6 @@ greathillpartners.com, 1 greatlakesdatastream.ca, 1 greatlakesden.net, 1 -greatlakesstone.com, 1 greatlakestechdiving.com, 1 greatlearning.in, 1 greatlifeinsurancegroup.com, 1 @@ -64966,6 +65002,7 @@ greenburghny.gov, 1 greencapital.gent, 1 greencarbon.kr, 1 +greencastlesoap.com, 1 greencbd.com, 1 greencocktail.ga, 1 greencoconutresort.cf, 1 @@ -65104,6 +65141,7 @@ greetingcdsest.ga, 1 greg-gaar.com, 1 greg.red, 1 +gregaftayev.com, 1 gregans.ie, 1 gregbrimble.com, 1 gregdenneylaw.com, 1 @@ -65121,6 +65159,7 @@ grego.pt, 1 gregoirow.be, 1 gregorians.org, 0 +gregorio.io, 1 gregory-kramer.fr, 1 gregory-thibault.com, 1 gregorydorrifourt.fr, 1 @@ -65131,7 +65170,6 @@ gregorymade.com, 1 gregoryrealestategroup.com, 1 gregorywiest.com, 1 -gregpierson.com, 0 gregproffit.com, 1 greizer.tk, 1 grekiskagudar.tk, 1 @@ -65222,6 +65260,8 @@ griesser2.de, 1 griffin.com, 1 griffinguthrie.com, 1 +griffinpm.com.au, 1 +griffinportfolio.com.au, 1 griffinsrfc.tk, 1 griffithobs.org, 1 griffonwise.com, 1 @@ -65264,7 +65304,6 @@ gripencrossfit.cf, 1 gripencrossfit.gq, 1 gripnijmegen.rip, 1 -gripopit.nl, 1 gripsealwaterproofing.com.au, 1 gripvol.nl, 1 gripwenab.cf, 1 @@ -65284,7 +65323,6 @@ grocerytv.com, 1 grochow.cloudns.org, 1 grockradio.ga, 1 -grocock.me.uk, 1 grocy.info, 1 groda.art, 1 groeigenoten.online, 1 @@ -65308,11 +65346,8 @@ gromasikov.tk, 1 gromman.com, 1 gromovphotography.tk, 1 -grondius.com, 1 -grondwerkencooreman.be, 1 groningerkustvaart.tk, 1 gronngronn.no, 1 -groomershop.ru, 0 groomlake.tk, 1 groomscroft.co.uk, 1 groomscroft.com, 1 @@ -65370,6 +65405,7 @@ groupe-goddi.com, 1 groupe-optimum.com, 1 groupe-seche.com, 1 +groupe228.com, 1 groupeaccedia.biz, 1 groupeaccedia.com, 1 groupeaccedia.fr, 1 @@ -65378,7 +65414,6 @@ groupeaccedia.org, 1 groupecjl.com, 1 groupeconseilera.com, 1 -groupeconseilia.fr, 1 groupeconseilringuet.ca, 1 groupeconseilringuet.com, 1 groupegus.com, 1 @@ -65422,7 +65457,6 @@ growatiopex.com, 1 growbydata.com, 1 growbyrabbit.com, 1 -growcredit.com, 1 growebmarketing.com, 0 growery.org, 1 growglam.com, 1 @@ -65498,6 +65532,7 @@ grundlage.fi, 1 grundlagen-computer.de, 1 grundrauschen-publishing.de, 1 +grundrauschen.pub, 1 grundschulratgeber.de, 1 grundskoleboken.ga, 1 grundskoleboken.gq, 1 @@ -65606,6 +65641,7 @@ gsd.id, 1 gsded.com, 1 gsdigitalcookie.com, 1 +gse.events, 1 gservera.com, 1 gsfreak.pt, 1 gshoes.bg, 1 @@ -65656,7 +65692,7 @@ gtagames.nl, 1 gtalenders.ca, 0 gtanalytics.com, 1 -gtapg.net, 1 +gtapg.net, 0 gtb-nsn.gov, 1 gtbeyes.com, 1 gtc-ltd.eu, 1 @@ -65719,10 +65755,11 @@ guadeloupe.net, 1 guadix.es, 1 guajars.cl, 1 -gualanexteriorremodeling.com, 1 guamcourts.gov, 1 guanggaonet.com, 1 +guanggunyyw.com, 1 guangjiangk.com, 1 +guangyy.com, 1 guanquan.com, 1 guanwangquanji.com, 1 guanxiong.com, 1 @@ -65835,6 +65872,7 @@ guhei.net, 1 guhenry3.tk, 1 guhsdaz.org, 1 +gui.do, 1 guiaconsejosescolares.org, 1 guiadelautoconsumosolar.es, 1 guiadoeco.com.br, 1 @@ -65857,7 +65895,9 @@ guidaev.com, 1 guidanceetbienetre.com, 1 guidanceflammejumelle.com, 1 +guidareinitalia.it, 1 guidaturisticavigevano.it, 1 +guide-deblock.com, 1 guide-ecole.ch, 0 guide-peche-cantal.com, 0 guide-scpi.fr, 1 @@ -65940,6 +65980,7 @@ guj.nic.in, 1 gujarat.tk, 1 guki.me, 1 +gula.com.bo, 1 gulabovski.ga, 1 gulcinulutuna.com, 1 guldhaug.org, 1 @@ -66008,7 +66049,6 @@ guoman.com, 1 guoxiufe.ng, 1 guoxiufeng.com, 1 -guoyanfood.com.cn, 1 guozeyu.com, 1 guptadeepak.com, 1 gupy.io, 1 @@ -66057,7 +66097,6 @@ gustarfsberg.tk, 1 gustavapp.com, 1 gustavo-lima.ml, 1 -gustavomolina.com, 1 gustavovelasco.ml, 1 gustavscelmins.tk, 1 gustaw.net.pl, 1 @@ -66088,6 +66127,7 @@ gutscheingeiz.de, 1 gutscheinpony.de, 1 gutsfire.com, 1 +gutstein.ch, 1 gutsyhr.com, 1 gutterbus.com, 1 guttercleaningcardiff.co.uk, 1 @@ -66104,7 +66144,7 @@ guuru.ru, 1 guus-thijssen.nl, 1 guvernalternativa.ro, 1 -guwowo.com, 1 +guwowo.com, 0 guybecklesart.com, 1 guykokken.tk, 1 guypearce.co.uk, 1 @@ -66244,7 +66284,6 @@ gyoza.beer, 1 gypsiebylouise.com, 1 gypso-sendai.com, 1 -gypsybloom.co.uk, 1 gypsyreel.com, 1 gyptazy.ch, 1 gyswc.co.kr, 1 @@ -66360,6 +66399,7 @@ habbzohotel.tk, 1 habedieeh.re, 1 habeeba.tk, 1 +habemusbouzas.es, 1 habenafilm.cz, 1 haber.biz, 1 haber.law, 1 @@ -66376,6 +66416,7 @@ habersitesikur.tk, 1 haberton.com, 1 habesha.bet, 1 +habfix.com.br, 1 habibbank.com, 1 habibifit.com, 1 habilcondominios.com.br, 0 @@ -66403,6 +66444,7 @@ hachettepartworks.com, 1 hacialahuelgafeminista.org, 1 hacibekir.com, 1 +haciendadeizamal.com, 1 haciendasantacruz.com, 1 hacifadilogullari.com.tr, 1 hacihusrevyikim.tk, 1 @@ -66467,6 +66509,7 @@ hackfwd.com, 1 hackgunny.tk, 1 hackhouse.sh, 1 +hackimpott.de, 1 hackingcult.de, 1 hackingdh.com, 1 hackingdumpdrive.org, 1 @@ -66485,7 +66528,6 @@ hackrigs.com, 1 hackrisk.io, 1 hacksecu.re, 1 -hacksnation.com, 1 hacksouth.africa, 1 hackthat.tk, 1 hackthehacker.ml, 1 @@ -66526,6 +66568,7 @@ hadotifpc.in, 1 hadouken.tk, 1 hadow.fr, 1 +hadrianpark.co.uk, 1 hadrienbbt.fr, 1 hadroncms.com, 1 hadrons.org, 1 @@ -66554,6 +66597,8 @@ haflingers.tk, 1 hafniatimes.com, 1 hafrito.com, 1 +haftech.fr, 1 +hafzan.com, 1 hag27.com, 1 hagalaz-design.de, 1 hagbergmedia.se, 1 @@ -66577,13 +66622,14 @@ hahapo.com, 1 hahnbowersock.com, 1 hahnbowersock.net, 1 -haiati.com, 1 +haiati.com, 0 haibara-ai.cn, 1 haiduc.tk, 1 haifaworld.tk, 1 haifengz.com, 0 haigle.com, 1 haiglerliving.com, 1 +haihaimi.com, 1 haihuan.com, 1 haikunap.hu, 1 haileybury.com.au, 1 @@ -66592,7 +66638,6 @@ haimablog.ooo, 1 hainanstar.cc, 1 haineshilton.com, 1 -hair-care-guide.com, 1 hair-carekit.tk, 1 hair-dressing.tk, 1 hair-extension.tk, 1 @@ -66723,7 +66768,7 @@ halilova.tk, 1 halilweb.tk, 1 halilyagcioglu.tk, 1 -halimjr.com, 0 +halimjr.com, 1 halkbank.mk, 1 halkegitimkurs.com, 1 halkoyu.org, 1 @@ -66735,13 +66780,13 @@ hallcopainting.com, 1 halle.online, 1 hallelujahsoftware.com, 1 -halleplaces.de, 1 hallettxn.com, 1 halli.tk, 1 halliday.work, 1 halligan.tk, 1 halligladen.de, 1 hallmanmemorials.net, 1 +hallo-imran-wie-geht-es-dir.alwaysdata.net, 1 halloffameapartments.com, 1 hallofoddities.tk, 1 hallofworlds.online, 1 @@ -66778,13 +66823,11 @@ halseyor.gov, 1 halt.org, 1 halterner-tc.de, 1 -halteverbot-beantragen-berlin.de, 1 halteverbot-wesel.de, 1 halv.me, 1 halvalla.tk, 1 halyul.com, 1 halzine.xyz, 1 -ham.community, 1 ham.study, 1 hamacho-kyudo.com, 1 hamarimarriage.tk, 1 @@ -66792,7 +66835,6 @@ hamaslul.com, 1 hamave.nl, 0 hambook.org, 1 -hambot.fr, 1 hamburg1.de, 1 hamburger-umzuege.de, 1 hamburger-wirtschaft.de, 1 @@ -66824,6 +66866,7 @@ hamishandtebany.com, 1 hamking.tk, 1 hamkorbank.uz, 1 +hamlet.com.pt, 1 hamletstudio.tk, 1 hamlineoracle.com, 1 hamlintownshipeatonco.gov, 1 @@ -66841,6 +66884,7 @@ hammerstorm.ga, 1 hammertonbarbados.com, 1 hammondwi.gov, 1 +hamnotspam.com, 1 hamoominim.tk, 1 hampl.tv, 1 hampshiretechservices.co.uk, 1 @@ -66913,7 +66957,6 @@ handigehannie.nl, 1 handinhandhrd.eu, 0 handler.lv, 1 -handlerparts.com, 1 handlerparts.de, 1 handlerparts.fi, 1 handlerparts.fr, 1 @@ -66978,7 +67021,7 @@ haniasitek.com, 1 haniha.com, 1 haningeventilation.se, 1 -hanis.org, 1 +hanis.org, 0 hanisirfan.cf, 1 hanjl.com, 1 hanjuapp.com, 1 @@ -67105,7 +67148,6 @@ happycrashest.ga, 1 happycustomer360.pt, 1 happydad.tk, 1 -happydays.cat, 1 happydoghosting.net, 1 happydoq.ch, 0 happydota.ga, 1 @@ -67133,6 +67175,7 @@ happymondayclub.com, 1 happymoney.com, 1 happymothersday.tk, 1 +happynewguitarday.com, 1 happynight.tk, 1 happypawsjournal.com, 1 happypixeldesigns.com, 1 @@ -67222,6 +67265,7 @@ hardis-group.com, 0 hardjump.tk, 1 hardknocksacademy.org, 1 +hardman.me.uk, 1 hardmc.ru, 1 hardmetal.tk, 1 hardnet.cz, 1 @@ -67252,6 +67296,7 @@ hardwarelogin.rocks, 1 hardwareschotte.de, 1 hardwarezone.com, 1 +hardwario.studio, 1 hardwick-ma.gov, 1 hardwickvt.gov, 1 hardworm.tk, 1 @@ -67267,7 +67312,6 @@ hariharnagar.tk, 1 hariji.tk, 1 haringtwpmi.gov, 1 -harirhtc.com, 1 harishgoyal.tk, 1 harithaayurveda.com, 1 haritsa.co.id, 1 @@ -67383,10 +67427,13 @@ hartig-hirsch.de, 1 hartlep.email, 1 hartleycountytx.gov, 1 +hartleys.com.au, 1 hartlieb.me, 1 hartmancpa.com, 1 hartmann-hartmann.eu, 1 +hartmann.art, 1 hartmannindustries.com, 1 +hartmannsoft.com, 1 hartonfilm.com, 1 hartsfieldrock.tk, 1 hartslagnu.nl, 1 @@ -67445,6 +67492,7 @@ hashemian.com, 1 hashes.com, 1 hashes.org, 1 +hashflops.com, 1 hashi.dk, 0 hashi.icu, 1 hashi.sbs, 1 @@ -67455,7 +67503,7 @@ hashish.net, 1 hashiura.jp, 1 hashmart.io, 1 -hashnode.com, 1 +hashnode.com, 0 hashplex.com, 1 hashru.nl, 1 hashsters.com, 1 @@ -67516,11 +67564,10 @@ hatraters.ga, 1 hatratest.ga, 1 hats-land.com, 1 -hatsnet.io, 0 +hatsnet.io, 1 hatsthings.com, 1 hatsuharu.tk, 1 hatsukoi-seikotsu.com, 1 -hattayoichi.com, 1 hatter.in, 1 hatter.ink, 1 hatter.me, 1 @@ -67528,6 +67575,7 @@ hatterjiang.org, 1 hattori-hanzo.tk, 1 hattricksites.tk, 1 +hatzaga.co.il, 1 hatzbs.ch, 1 hau-cs-graduates.com, 0 haubrechts-peinture.be, 1 @@ -67555,6 +67603,7 @@ haushaltsaufloesung-zentrum.de, 1 haushenne.de, 1 haushub.org, 1 +hauslkv.fi, 1 hausmeister-website.de, 1 hauspie.fr, 1 hausresidential.com.au, 1 @@ -67582,7 +67631,6 @@ havasutacohacienda.com, 1 have-it.tk, 1 haveabounce.co.uk, 1 -havedicewillsave.com, 1 haveforeningen-enghaven.dk, 1 haveg.ru, 1 haveibeenpwned.be, 1 @@ -67594,7 +67642,6 @@ havenhandscare.co.uk, 1 havenquilters.com, 1 haventoday.org, 0 -haverford.com, 1 havernbenefits.com, 1 havetherelationshipyouwant.com, 0 havi-engel.de, 1 @@ -67617,6 +67664,7 @@ hawaindustrial.com, 1 hawat.cz, 1 hawawa.kr, 1 +hawesandcurtis.co.uk, 1 hawickvets.co.uk, 1 hawit-steuerberatung.de, 1 hawit-steuerberatung.support, 1 @@ -67761,7 +67809,6 @@ hcstrache.at, 1 hctegelhandel.tk, 1 hctr002.tk, 1 -hcv.cz, 1 hcv.ind.in, 1 hcvp.com.pt, 1 hcwels.at, 1 @@ -68053,6 +68100,7 @@ healthlightning.ga, 1 healthlincoln.tk, 1 healthloco.ga, 1 +healthlombardy.it, 1 healthlongwood.tk, 1 healthlowprice.ga, 1 healthlucky.ga, 1 @@ -68235,6 +68283,7 @@ heap.zone, 1 heapsofheaven.com, 1 hear.com, 1 +hearchina.com, 1 heardcountyathletics.com, 1 hearfool.cc, 1 hearhere.io, 1 @@ -68255,7 +68304,7 @@ hearthstonedesignbuild.com, 1 hearthstonehungary.hu, 0 hearthustlebrands.com, 1 -heartlandbiomed.com, 1 +heartlab.me, 1 heartlandcocacola.com, 1 heartlandcu.com, 1 heartlandmosaic.com, 1 @@ -68409,6 +68458,7 @@ heheparty.com, 1 heheparty.net, 1 heheparty.org, 1 +hehn-hnd.de, 1 hehn.de, 1 hehome.xyz, 0 heiaheia.com, 1 @@ -68455,6 +68505,7 @@ heiliger-gral.info, 1 heilpflanzenmagie.de, 1 heilpraktiker-maxdorf.de, 1 +heimat-am-schluessel.de, 1 heimatverein-eitensheim.de, 1 heimbach-eifel.de, 1 heimbiotop.de, 1 @@ -68515,6 +68566,7 @@ heldtech.services, 1 heldundsexgott.de, 1 helebce.tk, 1 +heleha.com, 1 helemduruth.com, 1 helena-loos.de, 1 helena.care, 1 @@ -68526,6 +68578,7 @@ helendoe.uk, 1 helenekurtz.com, 0 helenelefauconnier.com, 1 +heleneriu.fr, 1 helenevanwunnik.tk, 1 helenkellersimulator.org, 1 helenmarie.ie, 1 @@ -68598,6 +68651,7 @@ helkyn.org, 1 hell.rodeo, 1 hell.sh, 1 +hellasceramics.com, 1 hellband.tk, 1 hellblade.tk, 1 hellblast.tk, 1 @@ -68619,6 +68673,7 @@ hellobarestore.com, 1 hellobee.com, 1 hellobetter.de, 1 +hellobird.cc, 0 hellobrian.me, 1 hellocash.business, 1 hellocat.cf, 1 @@ -68633,6 +68688,7 @@ helloindia.tk, 1 hellokashmir.tk, 1 hellolove.sg, 1 +hellomaggie.com.au, 1 hellomathilde.com, 1 hellomonet.com, 1 hellomookie.com, 1 @@ -68690,7 +68746,6 @@ heloe-wintergaerten.de, 1 heloisamarra.com, 1 helonic.com, 1 -help-en-ontwikkel-jezelf.nl, 1 help-me.today, 1 help207.me, 1 help360.com, 1 @@ -68786,6 +68841,7 @@ hengelsportjansenlommel.tk, 1 henke-home.eu, 1 henker.net, 1 +henkferreira.co.za, 1 henkibeer.com, 1 henko-consulting.com, 1 henkpille.tk, 1 @@ -68846,7 +68902,7 @@ henryishax.com, 1 henryluker.com, 1 henrymercado.tk, 1 -henrymintzberg.nl, 1 +henrymintzberg.nl, 0 henryocallaghan.com, 1 henryst.nyc, 1 henryveraonline.com, 1 @@ -68888,6 +68944,7 @@ her123.win, 1 herald-review.com, 1 herald.ga, 1 +heraldcourier.com, 1 heraldik-wiki.de, 1 heraldmakassar.com, 1 heratnews.tk, 1 @@ -68945,7 +69002,6 @@ herez.fr, 0 hergaenergy.com, 1 hergeandtintin.tk, 1 -herhost.live, 1 herila.ml, 1 heringer.tk, 1 heritageinvestigativegroup.com, 1 @@ -68977,7 +69033,6 @@ hermesawards.com, 1 hermesoft.at, 1 hermessenger.fr, 1 -hermetas.org, 1 hermetien.tk, 1 hermietkreeft.site, 0 herminghaus24.de, 1 @@ -68986,6 +69041,7 @@ hermocom.com, 1 hermonmaine.gov, 1 hermosaseagirt.com, 1 +hermoso.ai, 1 hernandovotes.gov, 1 hernanracciatti.com, 1 hernanygerman.tk, 1 @@ -68995,6 +69051,7 @@ herniaclinic.com.sg, 1 herniasingapore.sg, 1 hernikgames.tk, 1 +hero-servers.com, 1 heroblog.info, 1 herocentral.de, 1 heroco.xyz, 1 @@ -69136,7 +69193,6 @@ hexane.cf, 1 hexanyaudio.com, 1 hexapiper.com, 1 -hexapt.com, 1 hexashore.tn, 1 hexasoft.com.my, 1 hexatech.gq, 1 @@ -69174,6 +69230,7 @@ hexstream.xyz, 1 hexstreamsoft.com, 1 hexure.com, 1 +hexworld.eu, 1 hexxagon.com, 1 hey-staging.com, 1 hey.ad, 1 @@ -69187,14 +69244,15 @@ heydenbluth.de, 1 heydorff.duckdns.org, 1 heydottore.com, 1 -heydudd.com, 1 heyete.com, 1 heyfiesta.com, 1 heyfranky.com, 1 heyghost.io, 1 +heygravity.eu, 1 heyitsfree.net, 1 heyjoecoffee.com, 1 heyjoflyer.win, 1 +heykairos.de, 1 heylogin.com, 1 heyomg.com, 1 heyplay.eu.org, 1 @@ -69245,6 +69303,7 @@ hgwld.com, 1 hgyo.me, 1 hgyoseo.com, 1 +hh-autos.com, 1 hh-host.de, 1 hh-massage.de, 1 hh-medic.com, 1 @@ -69343,7 +69402,6 @@ hidrolimpiadorasprofesionales.org, 1 hidromar.es, 1 hidroshoping.com.br, 1 -hidupbisadiatur.com, 1 hie.global, 1 hieisuki.ga, 1 hielscher.com, 1 @@ -69355,6 +69413,7 @@ hietbrink.tk, 1 hietegerrekes.tk, 1 hieucd.com, 1 +hif.com.au, 1 hif.red, 1 hif88.com, 1 hifala.de, 1 @@ -69367,7 +69426,7 @@ hifly.aero, 1 hifund.co.il, 1 hig.gov, 1 -higentexpo.com, 1 +higginsroofing.com.au, 1 higgsboson.tk, 1 high-field.biz, 1 high-flying.co.uk, 1 @@ -69397,6 +69456,7 @@ higherpress.org, 1 highftp.tk, 1 highgateworks.co.uk, 1 +highgroundclinic.com, 1 highheeltamia.com, 1 highhippy.com, 1 highintegrity.tk, 1 @@ -69450,9 +69510,9 @@ highwaytohoell.de, 1 highwayzen.org, 1 highworldnet.ga, 1 -higilopocht.li, 0 higsegeirl.com, 1 higueras.tk, 1 +hihello.com, 1 hiig.edu.ee, 1 hiii.au, 1 hiitrepublic.com.au, 1 @@ -69520,6 +69580,7 @@ hillsvilleva.gov, 1 hilltopcellar.com, 1 hilltopsurgicalhospital.ga, 1 +hilltopviewsonline.com, 1 hilnu.com, 1 hilomrm.com, 1 hilunetan.tk, 1 @@ -69538,7 +69599,6 @@ himiku.com, 1 himj.de, 1 himnosycanticos.org, 1 -himopt.com.ua, 1 himpler.com, 0 himprom.com, 1 hin10.com, 1 @@ -69548,6 +69608,7 @@ hinckleymn.gov, 1 hindenburgring.com, 1 hindenburgring.de, 1 +hindeo.io, 1 hindibaba.tk, 1 hindikibindi.tk, 1 hindimeseekhe.tk, 1 @@ -69574,7 +69635,6 @@ hiorth.tk, 1 hip-happy.nl, 1 hip-hop.ovh, 1 -hiparish.org, 1 hipcircles.tk, 1 hipecompany.tk, 1 hiper-humor.tk, 1 @@ -69599,6 +69659,7 @@ hippogriffhaven.net, 1 hippohealthcare.in, 1 hippolini-herold.de, 1 +hiprax.com, 1 hiprosun.com, 1 hips.com, 1 hipstermamaproductions.com, 1 @@ -69625,7 +69686,6 @@ hirel.gq, 1 hireshield.com, 1 hiretoby.com, 1 -hireup.cloud, 1 hirevets.gov, 1 hirevo.eu, 1 hirewiz.tk, 1 @@ -69638,7 +69698,6 @@ hirisejanitorial.com, 0 hirism.com, 1 hirnstiftung.org, 1 -hirocoffee.com, 1 hiromi-dental.tokyo, 1 hiromi.eu.org, 1 hiromuogawa.com, 1 @@ -69656,7 +69715,7 @@ hirwill.com, 1 his.ad, 1 his.com, 1 -hisamatcha.com, 0 +hisamatcha.com, 1 hisax.de, 1 hiseplast.com.br, 0 hispadent.com.do, 1 @@ -69671,7 +69730,6 @@ hisregistries.org, 1 hisscentralen.se, 1 hissgruppen.com, 1 -hissoconsultores.com, 1 hist-geo-space-sci.net, 1 histalek.de, 0 histhist.ru, 1 @@ -69770,6 +69828,7 @@ hived.be, 1 hivekey.eu, 1 hivelocity.net, 1 +hivemanager.io, 1 hivemind.org, 1 hivemindsystems.com, 1 hiveopolis.eu, 1 @@ -69793,7 +69852,7 @@ hj2375.com, 0 hj3586.com, 0 hj3639.com, 0 -hj555.cc, 1 +hj555.cc, 0 hj556.cc, 1 hj6298.com, 0 hj6929.com, 0 @@ -69834,6 +69893,8 @@ hkengage.gov.hk, 1 hkgix.net, 1 hkl-gruppe.de, 1 +hkm-webdesign.ca, 1 +hkm-webdesign.com, 1 hkmap.co, 1 hkmap.com, 1 hkmap.net, 1 @@ -69843,6 +69904,7 @@ hkno.it, 1 hkoreatv.gq, 1 hkp-usa.com, 1 +hkr-raumausstattung.de, 1 hkr.at, 1 hks.pw, 1 hksapientia.org, 1 @@ -69867,6 +69929,7 @@ hlib.com.my, 1 hlidani-tornado.cz, 1 hlinformatics.nl, 1 +hliuma.org, 1 hllr.xyz, 1 hlm.network, 1 hlm.support, 1 @@ -69880,7 +69943,6 @@ hlsblog.com, 1 hlsjgw.com, 1 hlsmandarincentre.com, 1 -hlsquality.com, 1 hlstory.tk, 1 hltdos.com, 1 hltk.fi, 1 @@ -69897,6 +69959,7 @@ hmarchat.tk, 1 hmbana.org, 1 hmcdj.cn, 1 +hmdqr.me, 1 hmeonot.org.il, 1 hmforces-railcard.co.uk, 1 hmg-benelux-shop.com, 1 @@ -69924,6 +69987,7 @@ hno-arzt-thomitzek.de, 1 hno-norderstedt.de, 1 hnojik.cz, 1 +hnrimprov.com, 1 hnrk.io, 1 hnsseed.com, 1 hntuin.nl, 1 @@ -69931,7 +69995,6 @@ hny.co, 1 hnyp.hu, 1 ho10.pl, 1 -hoaas.no, 1 hoahop.tk, 1 hoanghaiauto.vn, 1 hoangvangioi.com, 1 @@ -70104,6 +70167,7 @@ holdperson.tk, 1 holebedeljek.hu, 1 holeboom.com, 1 +holeboxmusic.com, 1 holeinthesky.no, 1 holgapanama.tk, 1 holger-schwarze.de, 1 @@ -70205,15 +70269,12 @@ holundersberg.de, 1 holvonix.com, 1 holychaos.tk, 1 -holycrosscatholics.org, 1 -holycrossphl.org, 1 holycrossrockporttx.org, 1 holycrossverobeach.org, 1 holydevils.tk, 1 holydragoon.jp, 1 holydumplings.net, 1 holyfamilyrussell.org, 1 -holyghost-church.org, 1 holygrove.tk, 1 holyhiphopdatabase.com, 1 holyoake.org.au, 1 @@ -70221,7 +70282,6 @@ holyrosary.com.au, 1 holyscriptur.es, 1 holysmart.top, 1 -holyspiritpalmyra.com, 1 holyspiritweb.org, 1 holyszko.com, 0 holytransaction.com, 1 @@ -70283,6 +70343,7 @@ homebuilder.tk, 1 homebutton.tk, 1 homecache.ga, 1 +homecareguardian.io, 1 homecaster.ga, 1 homecatch.ga, 1 homecharte.ga, 1 @@ -70460,6 +70521,7 @@ homekiss.ga, 1 homekitdaily.de, 1 homelab.farm, 1 +homelab.im, 1 homelabquotes.com, 1 homelandsecurity.gov, 1 homelandtt.com, 1 @@ -70528,6 +70590,7 @@ homerequest.ga, 1 homerex.ga, 1 homero.tk, 1 +homeruninsurance.com, 1 homesafedryerventsac.com, 1 homesbyayres.com, 1 homeschoolinkorea.tk, 1 @@ -70537,6 +70600,7 @@ homeserver-kp.de, 1 homesforaustralia.ga, 1 homeshow.ml, 1 +homesite.pw, 1 homeslong.net, 1 homesnap.com, 1 homesonic.ga, 1 @@ -70570,8 +70634,9 @@ homewinner.ga, 1 homewish.ga, 1 homewoodpathfinder.com, 1 +homewoodworkplans.com, 1 homeworld.ga, 1 -homexmortgage.com, 1 +homexmortgage.com, 0 homexpressdirect.com, 1 homey.guide, 1 homeyou.com, 1 @@ -70603,6 +70668,7 @@ homygo.eu, 1 homyremedies.com, 1 honatec.tech, 1 +honda.in, 1 honda2wheelerparts.com, 1 honda2wheelersindia.com, 1 honda2wheelersindia.in, 1 @@ -70671,6 +70737,7 @@ honolulubws.gov, 1 honorpackages.com, 1 honovere.de, 1 +hontoir.eu, 1 honu.ng, 1 hoo.lt, 0 hooapp.lt, 1 @@ -70693,13 +70760,13 @@ hookedoncraftswaterford.ie, 1 hookedupelectrictexas.com, 1 hookercountyne.gov, 1 +hooknova.fr, 1 hooli1.com, 1 hooliapp.com, 1 hoolibit.com, 1 hooliganka.tk, 1 hooliganz.tk, 1 hoon.tk, 1 -hoonhub.com, 1 hoooc.com, 1 hooolic.com, 1 hoop.la, 1 @@ -70709,6 +70776,7 @@ hoopertechnicalsolutions.com, 1 hooprelief.tk, 1 hoops-inc.com, 1 +hoorareviews.com, 1 hoorr.com, 1 hoos.cf, 1 hoosa.de, 1 @@ -70745,7 +70813,6 @@ hoppe-sts.com, 1 hoppinjohn.org, 0 hoppy.com, 1 -hoppygo.com, 1 hops-and-ashes.de, 1 hopscotchmodel.com, 1 hopsmaus-shop.de, 1 @@ -70766,7 +70833,7 @@ horclan.tk, 1 hord.ca, 1 horde-entertainment.tk, 1 -hordisfamilyagency.com, 1 +hordisfamilyagency.com, 0 horeca.pk, 1 horecastaff.com.ua, 1 horecatiger.eu, 1 @@ -70819,6 +70886,7 @@ horoscopo.ml, 1 horotoday.tk, 1 horovod.im, 1 +horowitz.law, 1 horozo.com, 1 horrell.ca, 1 horrendous-servers.com, 1 @@ -70901,8 +70969,8 @@ host.ax, 1 host1oc.eu.org, 1 host24.com.pk, 1 -host2be.com, 0 -host2do.com, 0 +host2be.com, 1 +host2do.com, 1 host365.fi, 1 hostadvice.com, 1 hostadz.com, 1 @@ -70989,16 +71057,18 @@ hostpoint-static.ch, 1 hostpoint.ch, 1 hostreputation.com, 1 +hostrev.io, 1 hostripples.in, 1 hosts.cf, 0 hostup.se, 0 hostwinds.com, 1 hostx.lk, 1 +hostynet.com, 1 +hostynet.fr, 1 hosuronline.com, 1 hosuto.nl, 1 hot-and-new.gr, 1 hot-games.gq, 1 -hot-horse.si, 1 hot-models.tk, 1 hot-sex-photos.com, 1 hot-shots-photos.com, 1 @@ -71013,6 +71083,7 @@ hotbeats.tk, 1 hotbella.net, 1 hotblondepussy.com, 1 +hotbrains.com.br, 1 hotbustymoms.com, 1 hotcandlestick.com, 1 hotcars.com, 1 @@ -71025,6 +71096,7 @@ hotdates18.fi, 1 hotdishes.tk, 1 hotdoc.com.au, 1 +hotdocsjm.com, 1 hotdogwheel.tk, 1 hotdresses.ga, 1 hote-inox.ro, 1 @@ -71032,11 +71104,9 @@ hoteimode.net, 1 hotel-4-stelle.it, 1 hotel-altabadia.com, 1 -hotel-alte-schleiferei.de, 1 hotel-arabba.net, 1 hotel-bella-muerte.tk, 1 hotel-bolzano.org, 1 -hotel-bruneck.net, 1 hotel-brunico.net, 1 hotel-du-parc-allevard.fr, 1 hotel-fleuralp.it, 1 @@ -71084,6 +71154,7 @@ hotelitalia.tk, 1 hotelite.tk, 1 hotelizalde.com, 1 +hoteljason.sk, 1 hotelkeihan.co.jp, 1 hotelkentavar.com, 1 hotellamm.it, 1 @@ -71098,7 +71169,6 @@ hotelpenzance.com, 1 hotelplanner.com, 1 hotelplazataranto.com, 1 -hotelponcowinatan.com, 1 hotelpromo.codes, 1 hotelreis.com.br, 1 hotelrepublicsd.com, 1 @@ -71132,6 +71202,7 @@ hotelvillafiorita.com, 1 hotelvisegrad.hu, 1 hotelwestplonsk.pl, 1 +hotelwoodstock.ie, 1 hotelylangylang.com, 1 hotelylangylang.fr, 1 hotelylangylang.re, 1 @@ -71140,6 +71211,7 @@ hotevi.com, 1 hotfallingdevil.vip, 1 hotfiesta.ml, 1 +hotgames.rw, 1 hotgirl.tv, 1 hotglue.me, 1 hothardware.com, 1 @@ -71203,7 +71275,6 @@ hottie.at, 1 hotting.nl, 1 hottoys.tk, 1 -hottubstadskanaal.com, 1 hotvehs.com, 1 hotwaterspecialist.com.au, 1 hotwhois.com, 1 @@ -71270,6 +71341,7 @@ housingloan.jp, 1 housingokc.gov, 1 housr.in, 1 +houston-nannies.com, 1 houston-probate-law.com, 1 houstonaudubon.org, 1 houstonauthorizedrepair.com, 1 @@ -71309,6 +71381,7 @@ houzz.se, 1 hovala.tk, 1 hovelaar.nl, 1 +hovenierjordivermeer.nl, 1 hovewest.no, 1 hovset.net, 1 how-things-work-science-projects.com, 1 @@ -71360,6 +71433,7 @@ howsecureismypassword.net, 1 howsmyssl.com, 1 howsmytls.com, 1 +howtelevision.co.jp, 1 howto-connect.com, 1 howto-outlook.com, 0 howtobehealthy.tk, 1 @@ -71395,6 +71469,7 @@ hoychivilcoy.tk, 1 hoyer-group.com, 1 hoyerfamilysaffron.com, 1 +hoyonkim.com, 1 hoyosdelespino.tk, 1 hoz-pack.com.ua, 1 hoz.land, 1 @@ -71420,8 +71495,6 @@ hp4444.cc, 1 hp555.cc, 1 hp5555.cc, 1 -hp6666.cc, 1 -hp7777.cc, 1 hp8888.cc, 1 hpage.com, 1 hpbn.co, 1 @@ -71450,7 +71523,6 @@ hqsy.net, 1 hqteas.com, 1 hqtrannytube.com, 1 -hquest.pro.br, 1 hqwebhosting.tk, 0 hqy.moe, 1 hqy2000.com, 1 @@ -71487,10 +71559,10 @@ hrd-sec.com, 1 hrdinaadcera.cz, 1 hrdns.de, 1 -hreflang.info, 1 hrej.eu, 1 hrejterzy.com, 1 hrgt.eu, 1 +hrimcenter.org, 1 hristijanspirovski.tk, 1 hristiyan.com.tr, 1 hriveralaw.com, 1 @@ -71536,7 +71608,6 @@ hry.cz, 1 hrzblt.eu, 1 hs-flensburg.de, 1 -hs-group.net, 1 hs-hire.co.uk, 1 hs-mainz.de, 1 hs-shrewsbury.co.uk, 1 @@ -71567,7 +71638,6 @@ hsn-tsn.com, 1 hsn.com, 1 hsog.tk, 1 -hsorganics.pk, 1 hsp-software.de, 1 hsr.gov, 1 hsreformas.es, 1 @@ -71585,8 +71655,8 @@ hstspreload.org, 1 hstudio.tk, 1 hsutilitiesms.gov, 1 -hsvwilnis.nl, 1 hsx.com, 1 +hsys.eu, 1 hszemi.de, 1 ht.mk, 1 htaccessbook.com, 1 @@ -71729,6 +71799,7 @@ huaxinba.com, 1 huaxueba.com, 1 huayme.com, 1 +huayuys.com, 1 hub24.com.au, 1 hub385.com, 1 hubanero.cz, 1 @@ -71751,9 +71822,8 @@ hubermanlab.com, 1 huberts.com, 1 hubfluence.io, 1 -hubilo.com, 1 hublaagram.ml, 1 -hubmark.co, 1 +hubmark.co, 0 hubnet.fr, 1 hubok.net, 1 hubora.com, 1 @@ -71795,7 +71865,6 @@ huehnerartikel.de, 1 hueiyeh.com, 1 huelgajusticiaextremadura.tk, 1 -huemanpesolutions.com, 1 huemeyraophelia.com, 1 huemul.studio, 1 huengsberg.com, 1 @@ -71816,7 +71885,6 @@ hugebeasters.ga, 1 hugebeastest.ga, 1 hugetits.tv, 1 -huggies.com, 1 huggies.com.au, 1 huggovie.sk, 1 huggy.moe, 1 @@ -71848,6 +71916,7 @@ huguesaufray.com, 1 huhao.tk, 1 huhu.cf, 1 +huhukan.com, 1 huibrotladen.com, 1 huiketang.com, 1 huiles-et-olives.fr, 1 @@ -71941,6 +72010,7 @@ humara.tk, 1 humass.nl, 1 humaya.com.mx, 1 +humayadigital.com, 1 humbaur.com, 1 humbermaritimecollege.ac.uk, 1 humbertoschoenwald.com, 1 @@ -71948,7 +72018,6 @@ humblebee.be, 1 humblebee.bg, 1 humblebee.ch, 1 -humblebee.co.uk, 1 humblebee.dk, 1 humblebee.es, 1 humblebee.foundation, 1 @@ -72004,6 +72073,7 @@ humuluslupulus.de, 1 humus.tk, 1 huna.viajes, 1 +hunabglobalinstitute.org, 1 hund.io, 1 hund.ml, 1 hundamosantena3.tk, 1 @@ -72038,6 +72108,7 @@ hunhold.it, 1 hunhold.net, 1 hunhold.org, 1 +hunique.ai, 1 hunngard.com, 1 hunqz.com, 1 hunstoncanoeclub.co.uk, 1 @@ -72164,6 +72235,7 @@ hvhercules.tk, 1 hvhindia.in, 1 hvllucinvtion.tk, 1 +hvnn.nl, 1 hvorschool.tk, 1 hvr.co.il, 1 hvr.world, 1 @@ -72176,7 +72248,6 @@ hwag-pb.de, 1 hwasung.com.vn, 1 hwc.com.mx, 1 -hwchronicle.com, 1 hwe.nz, 1 hwehealthiertogether.nhs.uk, 1 hwinfo.tk, 1 @@ -72184,9 +72255,9 @@ hwr-barsinghausen.de, 1 hwsw.io, 1 hwvv.nl, 1 +hwyingyuan.com, 1 hx-sun.com, 1 hx53.de, 1 -hx678.cc, 1 hx77.cc, 0 hxbank.com, 1 hxcrr.cn, 1 @@ -72280,7 +72351,7 @@ hyland.com, 1 hylandhills.gov, 1 hylians.com, 1 -hymn.com, 1 +hylkethiry.com, 1 hymnal.net, 1 hymnsandverses.com, 1 hync.io, 1 @@ -72303,7 +72374,6 @@ hyperblast-universe.tk, 1 hyperbolecomics.com, 1 hyperbolic-mayonnaise-interceptor.ovh, 1 -hypercritical.co, 1 hyperd.sh, 1 hyperdesign.com, 1 hyperdiscipline.xyz, 1 @@ -72436,9 +72506,11 @@ i-buy-caravans.net, 1 i-click.com, 0 i-cyber.gov.ua, 1 +i-dienst.nl, 1 i-experts.nl, 1 i-fastnet.net, 1 i-forum.ga, 1 +i-gamingnews.com, 1 i-house.gq, 1 i-hoz.ru, 1 i-lab.ml, 1 @@ -72451,6 +72523,7 @@ i-make.fr, 1 i-med.com.au, 1 i-net.pe, 1 +i-nter.net, 1 i-office.com.vn, 1 i-on.by, 0 i-pinged-everyone.today, 1 @@ -72466,8 +72539,9 @@ i-sprint.com, 1 i-tm.com.tw, 1 i-tools.ru, 1 +i-unija.lt, 1 i-verbi.it, 1 -i-vignette.com, 1 +i-vignette.com, 0 i-volve.net, 1 i-voting.pl, 1 i.vg, 1 @@ -72522,7 +72596,6 @@ iafd.com, 0 iafda.org, 1 iafisgroup.com, 1 -iafss2023.com, 1 iageengineering.net, 1 iagsecured.com, 1 iainsimms.co.uk, 1 @@ -72577,6 +72650,7 @@ ianmooreis.me, 1 ianmoriarty.com.au, 1 ianonavy.com, 1 +ianonthespectrum.com, 1 ianpayne.com, 1 ianphd.com, 0 ianproject.org, 1 @@ -72618,7 +72692,6 @@ ibalam.ai, 1 iban.com, 1 ibaoger.com, 1 -ibaset.com, 1 ibavaro.com, 1 ibb.co, 1 ibb.co.com, 1 @@ -72626,10 +72699,12 @@ ibc.com, 1 ibcfinancial.com, 1 ibcmed.com, 1 +ibcsistemas.com, 1 ibdmdb.org, 1 ibe.de, 1 ibec.ie, 1 ibec.int, 1 +ibechamel.com, 1 ibeep.com, 0 ibells.ru, 1 ibemember3.com, 1 @@ -72689,8 +72764,6 @@ ibtnetwork.org, 1 ibtx.com, 1 ibug.io, 1 -ibuildings.com, 1 -ibuildings.nl, 1 ibuki.run, 1 ibuluxe.com, 1 ibuprofens.gq, 1 @@ -72710,7 +72783,6 @@ icanseeyou.tk, 1 icap.my, 1 icardistry.com, 1 -icarsoft-france.fr, 1 icas-nsn.gov, 1 icasas.mx, 1 icasnetwork.com, 1 @@ -72895,9 +72967,7 @@ ictradar.com, 0 icts.gov, 1 icttindia.org, 0 -ictv1.com, 1 ictwebsolution.nl, 1 -icubix.ru, 1 icuc.social, 0 iculture.nl, 1 icustomboxes.com, 1 @@ -72933,7 +73003,6 @@ idahofarmbureauinsurance.com, 1 idahohde.org, 0 idahohealth.tk, 1 -idahomushroomclub.org, 1 idahotitlesearch.com, 1 idaich.com, 1 idanie.cf, 1 @@ -72949,7 +73018,7 @@ idc-business.be, 0 idc.gov.ly, 1 idc.yn.cn, 1 -idc95.com, 0 +idcomgroup.vn, 1 idcrushermachine.ga, 1 idcwr.com, 1 iddaatahmin11.com, 1 @@ -72981,7 +73050,6 @@ idealize.ml, 1 idealmature.com, 1 idealmilf.com, 1 -idealnastrona.pl, 1 idealni-hypoteka.cz, 1 idealog.id, 1 idealsegurancaeletronica.com.br, 1 @@ -72998,9 +73066,7 @@ ideascollide.com, 1 ideasdigitales2025.es, 1 ideasenfoto.com, 0 -ideasforonline.com, 1 ideashop.com, 1 -ideasinlab.com, 1 ideasledgrowth.com, 1 ideasroom.eu.org, 1 ideatrade.com.pl, 1 @@ -73035,7 +73101,6 @@ identeco.de, 1 identifytag.com, 1 identigraf.center, 1 -identigy.com, 1 identikpkh.com, 1 identity-hash.online, 1 identity-project.com, 1 @@ -73079,7 +73144,7 @@ idlxb.com, 1 idmanagement.gov, 1 idmaster.ml, 1 -idmc-gcfsm.org, 0 +idmc-gcfsm.org, 1 idmmovers.com, 1 idmod.org, 1 idndomain.tk, 1 @@ -73129,6 +73194,7 @@ ieap.it, 1 iear.be, 1 iear.nl, 1 +ieburela.com, 1 iec-telecom.com, 1 iedc.ie, 1 iedereenaanzet.nl, 1 @@ -73220,6 +73286,7 @@ ifriend.tk, 1 ifsaalemi.tk, 1 ifsac.org, 1 +ifsciq.in, 1 ifsh.me, 1 ift.cx, 1 ift.de, 1 @@ -73240,6 +73307,7 @@ igaming.express, 1 igamingaffiliateprograms.com, 1 igamingdirectory.com, 1 +igamingnews.com, 1 igamingnyheder.dk, 1 igamingpocketdirectory.com, 1 igamingsuppliers.com, 1 @@ -73375,6 +73443,7 @@ ihersua.xyz, 1 ihk-muenchen.de, 1 ihk-onlinewahl2021.de, 1 +ihkk.net, 1 ihls.world, 0 ihm.is, 1 ihmc.us, 1 @@ -73445,7 +73514,6 @@ ij.rs, 1 ijceo.org, 1 ijdc.org.in, 1 -ijianli.cn, 1 ijji.tv, 1 ijk.nl, 1 ijmondlijn.nl, 1 @@ -73453,6 +73521,7 @@ ijnokmpl.cf, 1 ijonis.com, 1 ijpmediagroup.com, 1 +ijpress.com, 1 ijsbaanwitten.nl, 1 ijsblokjesvormen.nl, 1 ijsclubtilburg.nl, 1 @@ -73473,7 +73542,6 @@ ikbenrichie.nl, 0 ikeacareers.co.uk, 1 ikebuku.ro, 1 -ikecosta.com, 1 ikedaquotes.org, 1 ikenmeyer.com, 1 ikenmeyer.eu, 1 @@ -73487,7 +73555,6 @@ ikigai-driver.fr, 1 ikimo9.com, 1 ikinogo.com, 0 -ikinogo.zone, 1 ikinokori-marketing.com, 1 ikipedia.org, 1 ikisser.de, 1 @@ -73549,7 +73616,6 @@ ilconiglioblu.it, 1 ilcorrieredellacitta.com, 1 ilcourthelp.gov, 1 -ilctucson.com, 1 ildan.ai, 1 ildepu.tk, 1 ildisagio.tk, 1 @@ -73617,7 +73683,7 @@ illinoiscaselaw.com, 1 illinoiscourtscommission.gov, 1 illinoishealth.tk, 1 -illinoisschools.us, 1 +illinoisschools.us, 0 illinoistitlesearch.com, 1 illiweb.com, 1 illjinx.info, 1 @@ -73676,6 +73742,7 @@ ilpiacenza.it, 1 ilpuntomagazine.it, 1 ilpuntosano.it, 1 +ilro.cloud, 1 ilrovescio.info, 1 ils-savaient.fr, 1 ils.lt, 1 @@ -73711,6 +73778,7 @@ im-in.space, 1 im-internet-geld-verdienen.tk, 1 im-menuiserie.fr, 1 +im-razmakh.ru, 1 im-s.net, 1 im-schlachthof.de, 1 im4h.de, 1 @@ -73734,6 +73802,7 @@ imageproductions.ga, 1 imagequix.com, 1 imagerecall.tk, 1 +imageresizer.co.in, 1 imagetostl.com, 1 imageurs.com, 1 imagevillage.ir, 1 @@ -73758,6 +73827,7 @@ imaginethissound.com, 1 imagingstudio.co.uk, 0 imagisphe.re, 1 +imagynex.com, 1 imajjeans.com, 1 imakash.gq, 1 imamenu.com, 1 @@ -73794,7 +73864,6 @@ imbushuo.net, 1 imcadom.com, 1 imck.ml, 1 -imcsi.cn, 1 imdaadapp.com, 1 imdb, 1 imdb-pro.com, 1 @@ -73831,7 +73900,6 @@ imgmodels.com, 0 imgo.ga, 1 imgo.tk, 1 -imgossip.com, 1 imgossip.net, 1 imgup.co, 1 imguploaden.nl, 1 @@ -73841,7 +73909,6 @@ imi-rhapsody.eu, 0 imibo.com, 1 imicroscope.tk, 1 -imidge.com.ua, 1 imigrate.me, 1 imin.co, 1 iming.fr, 1 @@ -73852,6 +73919,7 @@ imisto.net, 1 imitationjewelry.tk, 1 imitza.com, 0 +imizicyber.com, 1 imjason.hk, 1 imjo.in, 1 imjosepho.lol, 1 @@ -73864,7 +73932,6 @@ imlbp.com, 1 imlbp.eu.org, 0 imlec.net, 1 -imlhx.com, 1 imlinan.cn, 1 imlinan.info, 1 imlinan.net, 1 @@ -73947,7 +74014,7 @@ immobilierlibourne.com, 1 immobilo.de, 1 immobilvende.it, 1 -immochrysalide.be, 1 +immochrysalide.be, 0 immocompar.com, 1 immoel101.com, 1 immoexpress.ag, 1 @@ -74221,7 +74288,6 @@ in-tiv.eu, 1 in-tiv.pl, 1 in-touchsg.com, 1 -in-ua.com, 1 in.search.yahoo.com, 0 in2core.com, 1 in6.to, 1 @@ -74248,7 +74314,6 @@ inavegas.com, 1 inawe.life, 1 inawisdom.com, 0 -inbetweenathome.nl, 1 inbitcoin.it, 1 inblank.tk, 1 inbound.tk, 1 @@ -74258,7 +74323,10 @@ inboxen.org, 0 inboxmonster.com, 1 inboxsms.tk, 1 +inboxtive.com, 1 inboxxme.com, 1 +inboxy.net, 1 +incaferca.com, 1 incarceratedwombats.com, 1 incarter.ga, 1 incaweb10.es, 1 @@ -74321,13 +74389,13 @@ incomewithdraw.tk, 1 incomfinance.tk, 1 incommon.io, 1 +incompitentsstudeos.com, 1 inconkz.com, 1 inconsciente.tk, 1 incontactmetjezelf.nl, 1 inconvietnam.vn, 1 incore.com, 1 incorp.ph, 1 -incorporatedstyle.com, 1 incorporatega.com, 1 incowrimo.org, 1 incpak.com, 1 @@ -74382,7 +74450,6 @@ index-education.com, 1 index-education.net, 1 index-games.com, 1 -index.co.cr, 1 index.law, 1 index4g.com, 1 indexacapital.com, 1 @@ -74410,6 +74477,7 @@ indianahealth.tk, 1 indianajail.gov, 1 indianapolismet.org, 1 +indianapolismurdermystery.com, 1 indianapolisnews.ml, 1 indianapolispsychologistsers.ga, 1 indianapolispsychologistsest.ga, 1 @@ -74432,8 +74500,8 @@ indiankart.nl, 1 indianlakepa.gov, 1 indianmasala4u.tk, 1 +indianmrr.com, 1 indianporn2.xxx, 1 -indianrelaypodcast.com, 0 indianriver.gov, 1 indiantechhunter.tk, 1 indianvirginhumanhair.tk, 1 @@ -74453,6 +74521,7 @@ indicana.pl, 1 indicatifs.fr, 1 indicelectronics.com, 1 +indichosts.net, 1 indicia.nl, 1 indico.tk, 1 indicodata.ai, 1 @@ -74506,7 +74575,6 @@ indoetis-surneli.ga, 1 indoface.ga, 1 indofountain.tk, 1 -indogenius.org, 1 indogermantrade.de, 1 indoidnews.ga, 1 indonesiatrip.tk, 1 @@ -74521,6 +74589,7 @@ indovance.com, 1 indovinabank.com.vn, 1 indovision.tk, 1 +indowater.org, 1 indramas.tk, 1 indramdhani.net, 1 indranesia.tk, 1 @@ -74528,6 +74597,7 @@ indretningmedplanter.dk, 1 indst.eu, 1 indstocks.com, 1 +indtrd.com, 1 indtwpmi.gov, 1 inductiveautomation.com, 1 induehorse.co.uk, 1 @@ -74538,12 +74608,10 @@ indusfastremit-us.com, 1 indushospital.org.pk, 1 indust.me, 1 -industechinnova.com, 1 industreegroupstadium.com.au, 1 industreiler.com.br, 1 industriadelfuturo.com, 1 industriafranchini.com, 1 -industriagraficabrasileira.com.br, 1 industrial-remote-control.com, 1 industrial-ventilation.eu, 1 industrialai.au, 1 @@ -74555,7 +74623,6 @@ industriascruz.co, 1 industrydecarbonization.com, 1 industryoutlaws.tk, 1 -industryskillsaustralia.org.au, 0 indyandmeskincare.com.au, 1 indybay.org, 1 indymassagebangkok.com, 1 @@ -74579,6 +74646,7 @@ inetuser.tk, 1 inetworking.it, 1 ineuron.ai, 1 +ineverbe.online, 1 inevitavelbrasil.com.br, 1 inevo.com, 1 inevo.no, 1 @@ -74614,6 +74682,7 @@ inficom.org, 1 infidel.org, 1 infidels.org, 1 +infiderm.fr, 1 infidia.tk, 1 infiernoalgecireno.tk, 1 infihow.com, 1 @@ -74635,7 +74704,6 @@ infinitiofaugustaparts.com, 1 infinitiofmarinparts.com, 1 infinitipartsdeal.com, 1 -infinitiresearch.com, 1 infinitisoftware.net, 1 infinitium.com, 1 infinito.tk, 1 @@ -74647,6 +74715,7 @@ infinitybc.se, 1 infinitybooksindia.in, 1 infinityels.com, 1 +infinityend.de, 1 infinityfaces.tk, 1 infinityfx.co, 1 infinitylikes.fr, 1 @@ -74736,7 +74805,6 @@ infocrypto.pl, 1 infocus.company, 0 infocusvr.net, 1 -infodatamed.cloud, 1 infoderechopenal.es, 1 infodis.com, 1 infoduv.fr, 1 @@ -74747,11 +74815,13 @@ infofp.tk, 1 infogai.tk, 1 infogamesports.tk, 1 +infogasolina.pt, 1 infogate.ga, 1 infogram.com, 1 infogress.tk, 1 infogroups.ml, 1 -infogym.net, 1 +infoguardtech.ru, 1 +infogym.net, 0 infoiinfo.tk, 1 infoindia.tk, 1 infoiptv.tk, 1 @@ -74769,7 +74839,6 @@ infomax.gr, 1 infomega.fr, 1 infomexico.tk, 1 -infomikulcice.cz, 1 infomind.pl, 1 infomineresearch.com, 1 infomir.eu, 1 @@ -74782,6 +74851,7 @@ infopedia.tk, 1 infopercept.com, 0 infopreneur.blog, 1 +infoprolearning.com, 1 infopulse.com, 1 infopumpkin.com, 1 infopuntzorg.nl, 0 @@ -74838,7 +74908,6 @@ infoschool.ml, 1 infosec-tools.de, 1 infosec.exchange, 0 -infosec.md, 1 infosec.sk, 1 infosecchicago.com, 1 infosecdecompress.com, 1 @@ -74850,7 +74919,6 @@ infoserp.net.pe, 1 infoshield.sa, 1 infosol.cl, 1 -infosolution.biz, 0 infosoph.org, 0 infostack.store, 1 infostor.com, 1 @@ -74886,7 +74954,6 @@ infradive.com, 1 infraedifice.com, 1 infraenlinea.com, 1 -infrafor.us, 1 infragardnational.org, 1 infralicht.nl, 1 infraloon.com, 1 @@ -74930,7 +74997,6 @@ ingegnereambientale.tk, 1 ingemmologie.com, 1 ingenesis.com, 1 -ingeni.ink, 1 ingeniasas.com, 1 ingenieure-website.de, 1 ingenious-development.tk, 1 @@ -74944,6 +75010,7 @@ ingersolltwpmi.gov, 1 inges-kattehjem.dk, 1 ingeseratlantica.es, 1 +ingesta.net, 1 ingestion.life, 1 ingevorderd.nl, 0 ingfreelancer.com, 1 @@ -74983,7 +75050,6 @@ inhere.cf, 1 inherentgroup.com, 1 inherfeet.ml, 1 -inhomedesign.ro, 1 inhouseents.co.uk, 1 inhousehr.nl, 1 inhuurdeskleeuwarden.nl, 1 @@ -75018,7 +75084,6 @@ injust.me, 1 injust.ml, 1 injust.tk, 1 -inkacut.com, 1 inkandlise.com, 1 inkandtonerni.co.uk, 1 inkblogdb.com, 1 @@ -75056,11 +75121,11 @@ inl.gov, 1 inl.int, 1 inlandwaterwaylistings.com, 1 +inletangler.com, 1 inlimiters.ga, 1 inlimitest.ga, 1 inline-online.tk, 1 inline-sport.cz, 1 -inlineim.com, 1 inlineskates.tk, 1 inlink.ee, 1 inlink.eu, 1 @@ -75095,6 +75160,7 @@ inmusicfestival.com, 1 inmyhead.tk, 1 inn-skin.ru, 1 +innaresting.net, 1 innari.it, 1 innatepotatoes.com, 1 innatocol.com, 1 @@ -75174,7 +75240,6 @@ innsaimonitor.com, 1 innsalzachsingles.de, 1 innvisiondesign.net, 1 -innway.pl, 1 inoa8.com, 1 inoapps.com, 0 inoio.de, 1 @@ -75261,13 +75326,14 @@ insertface.com, 1 inshapenutrition.com.br, 1 inshared.nl, 1 +inshoezz.by, 1 inshop.hu, 1 insiberia.tk, 1 inside-m2m.de, 1 inside-the-outside.com, 1 insideastronomy.tk, 1 insidebeach.com.br, 1 -insidebedroom.com, 0 +insidebedroom.com, 1 insideevs.com, 1 insideevs.de, 1 insidegnss.com, 1 @@ -75291,11 +75357,10 @@ insightfulpsychics.com, 1 insighti.com, 1 insightone.ma, 1 -insightrestoration247.com, 1 insights.solutions, 1 insightsoftware.com, 1 insightsvt.com, 1 -insighttv.com, 1 +insighttv.com, 0 insignis.in, 1 insinuator.net, 1 insisypheprod.fr, 1 @@ -75313,21 +75378,22 @@ insomniasec.com, 0 insource.org, 1 inspaceindustrial.com, 1 +inspect-solutions.com, 1 inspectia.io, 1 inspiraenterprise.com, 1 inspirationallight.com, 1 inspirationalstories.com, 1 inspirationalstories.tk, 1 inspirator.blog, 1 -inspirax.pl, 1 inspire-av.com, 1 inspired-builds.co.uk, 0 inspired-creations.co.za, 1 inspired-lua.org, 1 +inspired-medical.com, 1 inspiredbyannefrank.com, 1 inspiredbyfrustration.com, 1 inspiredcaresolutions.com, 1 -inspiredelements.co.uk, 1 +inspiredelements.co.uk, 0 inspiredentalwellness.com, 1 inspiredexperiences.co.uk, 1 inspiredhousewife.com, 1 @@ -75340,13 +75406,11 @@ inspiresurgery.com, 1 inspiringhandsmassage.com, 1 inspiringtips.com, 1 -inspirithealth.ca, 1 insportline.bg, 1 insportline.cz, 1 insportline.de, 1 insportline.eu, 1 insportline.hu, 1 -insportline.lt, 1 insportline.si, 1 insportline.sk, 1 inspreeveryone.ga, 1 @@ -75430,6 +75494,7 @@ instocktho.cc, 1 instride.com, 1 instructorcarders.ga, 1 +instructorgo.co.uk, 1 instrukci.tk, 1 instrumart.ru, 0 instrumentalevening.tk, 1 @@ -75472,6 +75537,7 @@ insuredcloud.ga, 1 insurekidsnow.gov, 1 insuremycar.ru, 1 +insuremycottage.ca, 1 insureon.com, 1 insurethebox.tk, 1 insurgence.org, 1 @@ -75512,7 +75578,6 @@ integr8t.net, 1 integra-belgium.be, 1 integraalwelzijn.nl, 0 -integrafin.co.uk, 1 integrahealth.com.mx, 1 integral-calculator.com, 1 integral-calculator.ru, 1 @@ -75563,6 +75628,7 @@ intellar.agency, 1 intellect-ls.com, 0 intellecta.is, 1 +intellectiscloudai.com, 1 intellective.us, 1 intellectmoney.ru, 1 intelledox.com, 1 @@ -75576,9 +75642,9 @@ intellicyb.com, 1 intellify.me, 1 intelligence-explosion.com, 1 -intelligence-privee.com, 1 intelligentglo.fi, 1 intelligentgo.org, 1 +intelligentit.io, 0 intelligentnegotiator.com, 0 intelligentrics.com, 1 intelligentwaves.com, 1 @@ -75588,7 +75654,6 @@ intellimax.ir, 1 intellinetixvibration.com, 1 intellio.pl, 1 -intellisoft.io, 1 intellitonic.com, 1 intellium.io, 1 intelly.kr, 1 @@ -75696,7 +75761,6 @@ interleasing.co.nz, 1 interleasing.com.au, 1 interlecwa.com, 1 -interlijn.nl, 1 interlingvo.biz, 1 interlink-jp.com, 1 interlinked.us, 1 @@ -75721,7 +75785,6 @@ internat-sourdun.fr, 1 international-books.org, 1 international-friends.net, 1 -international-lisp-conference.org, 1 international.cn.eu.org, 1 international.expert, 0 internationalairlinestickets.com, 1 @@ -75805,6 +75868,7 @@ interplex.com, 1 interpol.gov, 1 interprete.tk, 1 +interpretek.com, 1 interratrade.gr, 1 interregtesimnext.eu, 1 interruptmedia.com, 1 @@ -75922,7 +75986,7 @@ intrum-credit-information-ws.ch, 1 intstyle.com.ua, 1 intsurfing.com, 1 -intuitionmedicineonline.org, 1 +intuitionlegal.com.au, 1 intuitlearn.com, 1 intux.be, 0 intvonline.com, 1 @@ -75953,6 +76017,7 @@ invantive.net, 1 invantive.nl, 1 invantive.org, 1 +invariant.cn, 1 invariax.com, 1 invata-ma.ro, 1 invenio.software, 1 @@ -76007,7 +76072,6 @@ investigatemalware.com, 1 investigatii.md, 1 investigatingmalware.com, 1 -investigator-007.com, 1 investigatore.it, 1 investigatore.milano.it, 1 investigatore.roma.it, 1 @@ -76063,6 +76127,7 @@ invicti.com, 1 invictuscustodia.com, 1 invidis.de, 1 +invincible-xi.com, 1 invino.md, 1 invisia.com.br, 1 invisible-college.com, 1 @@ -76094,6 +76159,7 @@ involic.com, 1 involve.asia, 1 invoro.eu, 1 +invroost.com, 1 invuite.com, 1 invuite.com.au, 1 invytee.eu, 1 @@ -76139,7 +76205,6 @@ iolabs.io, 1 iolcalc.ru, 1 ioliver.co.uk, 1 -iololi.com, 1 iolpodcast.com, 1 iombank.com, 1 iomed.es, 1 @@ -76193,7 +76258,6 @@ iotaker.jp, 1 iotanodes.org, 1 iotekha.tv, 1 -iotfen.com, 1 iotflowers.com, 1 iotjenik.eu, 1 iotmu.com, 1 @@ -76259,7 +76323,6 @@ iparkki.com, 1 ipaustralia.gov.au, 1 ipay2day.com, 1 -ipbox.eu.org, 1 ipcc-wg3.gov, 1 ipcim.com, 1 ipclabs.tk, 1 @@ -76272,6 +76335,7 @@ ipdfreedom.me, 1 ipdgroup.com.au, 1 ipdistrimart.com, 1 +ipdvonline.com.br, 1 ipelint.com, 1 ipemcomodoro.com.ar, 1 iperconnessi.it, 1 @@ -76323,6 +76387,7 @@ ipms.nl, 1 ipmscorp.com, 1 ipmsdeutschland.de, 1 +ipn.cloud, 1 ipnoze.com, 1 ipnrt.net, 1 ipo.inf.br, 1 @@ -76367,7 +76432,6 @@ ipssl.li, 1 ipstoragesolutions.com, 1 ipsubscription.store, 1 -ipsubtv.com, 1 ipsum.dk, 0 ipswichgrammar.com, 1 ipt.za.com, 1 @@ -76458,6 +76522,7 @@ iranpedia.tk, 1 iranrebate.com, 1 iranturkey.info, 1 +iranvpn.com, 1 iranwiki.ovh, 1 iraq2u.tk, 1 iraq4u.tk, 1 @@ -76540,6 +76605,7 @@ irisdesideratum.com, 1 irisdupau.nl, 1 irisfansite.tk, 1 +irisflowerhotel.com, 1 irish.radio, 1 irishdancing.tk, 1 irishdenetwork.org, 1 @@ -76677,7 +76743,6 @@ isabellehogarth.co.uk, 1 isabellzaloof.ga, 1 isabellzaloof.gq, 1 -isabelvalfer.com, 1 isacyberinsure.com, 1 isacybersecurity.com, 1 isadamlari.tk, 1 @@ -76704,19 +76769,18 @@ isbndirect.com, 0 isbul.net, 1 isc.org, 0 +isc.training, 1 isc2.org, 0 isc2estoniachapter.ee, 1 isca-apologetics.org, 1 ischool.co.jp, 1 +iscode.id, 1 iscontrol.com.mx, 1 -iscoolentertainment.com, 1 iscribblesolutions.com, 1 iscultas.pp.ua, 1 isdecolaop.nl, 1 isdn.jp, 1 isdown.cz, 1 -isecjobs.com, 1 -isecrets.se, 1 isecurenet.in, 1 iseecure.be, 1 iseegallery.com, 1 @@ -76743,7 +76807,6 @@ ishapita.com, 1 ishaqzakavi.com, 1 ishet.al, 1 -ishigurodo.com, 1 ishiharaken.com, 1 ishii.de, 1 ishikawadc.jp, 1 @@ -76755,7 +76818,6 @@ isi-ev.de, 1 isidor.co, 1 isidrocamachodiaz.es, 1 -isif.ie, 1 isiklitabela.tk, 1 isikon.net, 1 isil.fi, 1 @@ -76773,6 +76835,7 @@ isitnuclearwaryet.com, 1 isitrest.info, 1 isitshotime.com, 1 +isiwebapp.com, 1 iska.plus, 0 iskanderbroere.nl, 1 iskaron.de, 1 @@ -76833,7 +76896,6 @@ islandwidelandsurveyors.com, 1 islasvirgenes.org, 1 islatortuga.eu, 1 -islcustomsbrokers.com, 1 islekyapi.com, 1 islelamotte.gov, 1 islensktlambakjot.is, 1 @@ -76857,6 +76919,7 @@ ismywebsitepenalized.com, 1 isn.cz, 1 isn.education, 1 +isnadf.org, 0 isnatgram.com, 1 isnot.ai, 1 iso27001.dk, 1 @@ -76882,7 +76945,7 @@ isolta.lv, 1 isolta.se, 1 isolvedhcm.com, 1 -isongrp.com, 1 +isomate.io, 1 isonsecure.com, 0 isontechnologies.com, 1 isopres.de, 1 @@ -76956,7 +77019,7 @@ issuerconsulting.com, 1 issues.email, 1 issuetrak.com, 1 -issundries.com, 1 +issundries.com, 0 issww.top, 1 ist-analys.com, 1 ist-analyse.com, 1 @@ -77036,6 +77099,7 @@ it-beratung-berger.com, 1 it-blog.cf, 1 it-boss.ro, 1 +it-ccs.de, 1 it-com.ga, 1 it-connect.fr, 1 it-cooking.com, 1 @@ -77047,10 +77111,12 @@ it-jobbank.dk, 1 it-lehnert.de, 1 it-maker.eu, 1 +it-nachtschicht.de, 1 it-ngo.com, 1 it-novosti.tk, 1 it-perm.tk, 1 it-rotter.de, 1 +it-safely.de, 1 it-seems-to.work, 1 it-service24.com, 1 it-specialist.com.ua, 1 @@ -77082,6 +77148,7 @@ italentado.ml, 1 italgold.it, 1 italia-facile.ru, 1 +italiacheamo.com, 1 italiaeconomy.it, 1 italiainvestigazioni.com, 1 italiale.tk, 1 @@ -77224,6 +77291,7 @@ itineris.co.uk, 1 itinero.xyz, 1 itinnovations.biz, 1 +itintel.pro, 1 itioc10.tk, 1 itis.gov, 1 itis4u.ch, 1 @@ -77257,6 +77325,7 @@ itoezichtprotocol.com, 1 itoezichtprotocol.nl, 1 itoma.tech, 1 +itoms.in, 1 itondersteuning.eu, 1 itonthedot.com, 1 itopsintelligence.com, 1 @@ -77309,7 +77378,6 @@ itsalan.tk, 1 itsallmath.org, 1 itsanicedoor.co.uk, 1 -itsapetthang.com, 1 itsaw.de, 1 itsayardlife.com, 1 itsayorki.de, 1 @@ -77383,6 +77451,7 @@ itt-us.com, 1 ittgame.tk, 1 ittreservations.com, 1 +ittuann.com, 1 ittykins.com, 1 itunesgiftcard.in.th, 1 itunisoftgroup.uz, 1 @@ -77420,7 +77489,6 @@ itzamnaxelahomestay.tk, 1 itzap.com.au, 1 itzer.de, 1 -itzgeek.com, 1 itzine.ru, 1 itzkavin.tk, 1 itzlive.tk, 1 @@ -77536,7 +77604,6 @@ iw-elan.de, 1 iw.net.sa, 1 iwaass.at, 1 -iwaidental.jp, 1 iwalton.com, 1 iwant.cz, 1 iwantexchange.com, 1 @@ -77555,7 +77622,6 @@ iwatchcops.org, 1 iwatchrepair.co.uk, 1 iwate-shien-r5.com, 1 -iwatt.sk, 1 iwch.tk, 1 iwd.gc.ca, 1 iwebdna.com, 0 @@ -77570,6 +77636,7 @@ iwill.tr, 1 iwl.me, 1 iwmf.ir, 1 +iwonchuu.nl, 1 iwonder.tw, 1 iwp.ch, 1 iwsgroup.com, 1 @@ -77585,8 +77652,8 @@ ixg.llc, 1 ixiacom.com, 1 ixigua.com, 1 -iximiuz.com, 1 ixingchen.org.cn, 0 +ixir.ai, 1 ixit.cz, 1 ixn.com, 1 ixnfo.com, 1 @@ -77663,12 +77730,13 @@ izumi-hirodental.com, 1 izumi-ryokan.com, 1 izumrudniy.tk, 1 +izuree.com, 1 izvorul-bucovinei.ro, 1 izxxs.com, 1 izxxs.net, 1 izxzw.net, 1 -izyvape.cz, 1 izzardink.com, 1 +izzat.me, 1 izzqz.me, 1 izzy.is, 1 izzy.kiwi, 1 @@ -77699,7 +77767,6 @@ j15h.nu, 1 j15k.com, 1 j2.co.za, 1 -j2ee.cz, 1 j2software.co.za, 1 j3.cn, 1 j32663.com, 1 @@ -77851,12 +77918,14 @@ jacksonvilleal.gov, 1 jacksonvillebeach.gov, 1 jacksonvillega.gov, 1 +jacksonvillemurdermystery.com, 1 jackspub.net, 1 jackstone.tk, 1 jacksutton.info, 1 jacktor.com, 1 jackvaley.com, 1 jackwarren.info, 1 +jackwinhui.com, 1 jackwu.net, 1 jackylawless.net, 1 jackyliao.me, 1 @@ -77923,7 +77992,6 @@ jags.tk, 1 jagspecialisters.ga, 1 jagspecialistest.ga, 1 -jagsttalschule.de, 1 jaguar-network.com, 1 jaguar-print.ru, 1 jaguarkuda.com, 1 @@ -77944,6 +78012,7 @@ jailfoodest.ga, 1 jailstorm.ml, 1 jaimeayala.com, 1 +jaimecosteiraaguilar.com, 1 jainnatory.ca, 1 jainnotary.ca, 1 jaion.tech, 1 @@ -77952,7 +78021,6 @@ jairsinho.me, 1 jaisiam.co.th, 1 jaispirit.com, 1 -jaiswalfertility.com, 1 jaiyun.tk, 1 jajce.tk, 1 jajojababy.com, 1 @@ -78075,6 +78143,7 @@ jameswarp.com, 1 jameswhite.tech, 1 jamesxu.com, 1 +jamexlogistics.com, 1 jamfm.tk, 1 jamhost.org, 1 jamiajournal.com, 1 @@ -78082,7 +78151,6 @@ jamie.cymru, 1 jamie.wales, 1 jamieb.org, 1 -jamiebamberfan.com, 1 jamiecreates3d.com.au, 1 jamiehansonyoga.com, 1 jamiejones.cymru, 1 @@ -78108,6 +78176,7 @@ jammy4312.me, 1 jamonesrute.com, 1 jamonsilva.com, 1 +jampedals.com, 1 jamrulidze.com, 1 jamstack.icu, 1 jamstallt.se, 1 @@ -78123,7 +78192,6 @@ jan-hill.com, 1 jan-melcher.de, 1 jan-reiss.de, 1 -jan-rieger.de, 0 jan-roenspies.de, 1 jan-von.de, 1 jan.so, 1 @@ -78199,6 +78267,7 @@ janterpstra.eu, 1 janthemiraclehunter.com, 1 jantinaboelens.nl, 1 +janu.photography, 1 janu.services, 1 janu.software, 1 january.com, 1 @@ -78214,6 +78283,7 @@ janwern.com, 1 janwillhaus.de, 1 jao-collection.com, 1 +jaol-industry.com, 1 jaot.info, 1 japan-academy-prize.jp, 1 japan-forum.nl, 1 @@ -78251,6 +78321,7 @@ japonyol.net, 1 japornpics-video.com, 1 japow.tw, 1 +japowater.com, 1 jappleng.com, 1 japreviu.com, 1 jaquelin.tk, 1 @@ -78266,7 +78337,6 @@ jardineras.online, 1 jardinesimperiales.com, 1 jardinesmonumentalescarrizales.com, 1 -jardinparaisodeleden.com, 1 jardins-loisirs.com, 1 jareddaley.com, 1 jaredeberle.org, 1 @@ -78276,6 +78346,7 @@ jaredratcliff.com, 1 jaredstevenson.com, 1 jarett-lee.com, 1 +jargatours.com, 1 jarigvandaag.nl, 1 jariiivanainen.net, 1 jaris.blog, 1 @@ -78325,6 +78396,8 @@ jashinchan.cn, 1 jasik.xyz, 0 jasl.works, 1 +jasm1nii.xyz, 1 +jasmin-schuemann.de, 1 jasminedirectory.com, 1 jasminefields.net, 1 jasminka.cz, 1 @@ -78335,7 +78408,6 @@ jason-isaacs.tk, 1 jason.red, 1 jasonamorrow.com, 0 -jasoncoopermd.com, 1 jasoncosper.com, 1 jasoncs.eu.org, 1 jasonf.com, 1 @@ -78363,7 +78435,7 @@ jaspercrookes.com, 1 jasperhugo.com, 1 jasperhuttenmedia.com, 1 -jaspernbrouwer.nl, 1 +jaspernbrouwer.nl, 0 jasperpatterson.me, 1 jaspersreef.com, 1 jaspertn.gov, 1 @@ -78390,7 +78462,6 @@ javabot.ml, 1 javabrains.io, 1 javacakegames.com, 1 -javachinna.com, 1 javaexpert.tk, 1 javafiles.tk, 1 javafluers.ga, 1 @@ -78411,7 +78482,6 @@ javierflorescastillero.es, 0 javiergddw.com, 1 javierjurado.tk, 1 -javierlorente.es, 1 javiermascherano.tk, 1 javiersanchez.tk, 1 javitron.tk, 1 @@ -78420,6 +78490,7 @@ javorina.tk, 1 javsin.top, 1 javsod.top, 1 +jawaidkarim.com, 1 jawairetreat.com, 1 jawbuddy.com, 1 jawharati.tk, 1 @@ -78458,6 +78529,7 @@ jayxon.com, 1 jayxu.com, 1 jazerxx.com, 1 +jazmeen.com, 1 jazminguaramato.com, 1 jazz-alliance.com, 1 jazz-alliance.org, 1 @@ -78479,7 +78551,6 @@ jazzyvsart.com, 1 jb-pixel.tk, 1 jb138.cc, 1 -jbarzoutfitters.com, 0 jbbd.fr, 1 jbbdev.com, 1 jbc88.cc, 1 @@ -78502,7 +78573,6 @@ jbradaric.me, 1 jbs-jardins.ch, 0 jbshop.ie, 1 -jbsoftware.ca, 1 jbsoluciones.co, 1 jbt-stl.com, 1 jbuquet.eu, 1 @@ -78607,10 +78677,10 @@ jdhouse.com.br, 1 jdjamescorp.com, 1 jdjohnsonmedia.com, 1 +jdk.de, 1 jdlt.co.uk, 1 jdm.elk.pl, 1 jdm.pl, 1 -jdmarketinggroup.com, 1 jdmicro.com, 1 jdoi.pw, 1 jdon.com, 1 @@ -78668,6 +78738,7 @@ jeansstyle.tk, 1 jeanstastytreats.co.za, 1 jeayalar.com, 1 +jebat.online, 1 jebbari.com, 0 jecho.cn, 1 jecjacshop.com, 1 @@ -78712,7 +78783,6 @@ jeff-dom.ovh, 1 jeff.win, 1 jeffbuswell.com, 1 -jeffcasavant.com, 0 jeffcom911co.gov, 1 jeffcullenartistry.com, 1 jeffdaviscountyga.gov, 1 @@ -78795,7 +78865,6 @@ jemezsprings-nm.gov, 1 jemnezymy.com, 1 jemoreng.tk, 1 -jemputan-karyawan.site, 1 jems-il.gov, 1 jena-fans-aurich.tk, 1 jena.de, 1 @@ -78845,14 +78914,19 @@ jennythebaker.com, 1 jeno.cf, 1 jenolson.net, 1 +jens-hartmann.net, 1 jens-prangenberg.de, 1 jens.hk, 1 jensdesmeyter.be, 1 +jensenphoto.net, 1 +jenshartmannadvisory.com, 1 +jenshartmannphoto.com, 1 jenskliewer.de, 1 jensrex.dk, 1 jents.ro, 1 jeoffrey-sanchez.ovh, 1 jeon.cf, 0 +jeongjay.com, 1 jepa.si, 1 jepcraft.ddns.net, 1 jeproteste.info, 1 @@ -78866,8 +78940,6 @@ jeremy-gautier.com, 1 jeremy.hu, 1 jeremybentham.com, 1 -jeremyberman.co, 0 -jeremybermanput-in-bay.com, 0 jeremybloomfield.co.uk, 0 jeremyburgos.com, 1 jeremyc.ca, 0 @@ -78909,6 +78981,7 @@ jerseycountyclerk-il.gov, 1 jerseyeva.org, 1 jerseyink.net, 1 +jerseylvi2013.org, 1 jerseyoic.org, 1 jerusalem.estate, 1 jerusalempersonals.ml, 1 @@ -78949,6 +79022,7 @@ jessicapiva.com, 1 jessicasmith3d.com, 1 jessicharlie.com, 1 +jessie-studio.cz, 1 jessieabraham.tk, 1 jessiecharlie.com, 1 jessihod.com, 1 @@ -78962,7 +79036,7 @@ jestyc.com, 1 jesucristo.ga, 1 jesuisadmin.fr, 1 -jesuisunpapageek.fr, 1 +jesuisunpapageek.fr, 0 jesuiszen.fr, 1 jesus-rock.tk, 1 jesuscalls.com, 1 @@ -78999,6 +79073,7 @@ jetson.tk, 1 jetstudio.ch, 0 jettenjachtbouw.eu, 1 +jettrendy.com, 1 jettshome.org, 1 jetular.com, 1 jetular.net, 1 @@ -79011,6 +79086,7 @@ jeugdbrandweerbladel.tk, 1 jeugdclubjia.tk, 1 jeugdharmonie-geluwe.tk, 1 +jeugdhulpnob.nl, 1 jeugdkans.nl, 1 jeugdzorgnederland.nl, 1 jeurissen.co, 1 @@ -79020,6 +79096,7 @@ jeveaux.company, 1 jevel-mag.tk, 1 jevem.cn, 1 +jeverifie.fr, 1 jeveuxchoisir.fr, 1 jevisite.ca, 1 jevremovic.org, 1 @@ -79032,7 +79109,6 @@ jewelry-directories.tk, 1 jewelrycoverers.ga, 1 jewelryodm.com, 1 -jewelryshowcasedepot.com, 1 jewishboston.com, 1 jewishjourneys.org, 1 jewishmusic.tk, 1 @@ -79043,7 +79119,6 @@ jey-line.de, 1 jezebelsromance.com, 1 jezero.tk, 1 -jezura.cz, 1 jezzicat.org, 1 jf-igrejanovadosobral.pt, 1 jf-madalena.tk, 1 @@ -79068,7 +79143,6 @@ jfreitag.de, 1 jfsonline.org, 1 jftn.nl, 1 -jfuturist.com, 1 jfvaccountants.nl, 1 jfwoodenoil.com, 1 jfy.is, 1 @@ -79212,7 +79286,6 @@ jilio.net, 1 jilking.ga, 1 jillamy.com, 1 -jillianmichaels.com, 1 jilljoe.com, 1 jillvirus.tk, 1 jillynmalone.studio, 1 @@ -79285,6 +79358,7 @@ jinma.site, 1 jino.gq, 1 jinritemai.com, 1 +jinriys.com, 1 jinshabu.net, 1 jinspace.net, 1 jintaiyang123.org, 1 @@ -79385,19 +79459,19 @@ jlifeoc.com, 1 jliu.xyz, 1 jlmirall.es, 1 -jlmunn.com, 1 jlobbinsphoto.com, 1 jloh.co, 1 jloh.codes, 1 +jlopezdesigner.jewelry, 1 jlot.org, 1 jlpn.eu, 1 jlpn.nl, 1 jlponsetto.com, 1 -jlqwer.com, 1 jlr-luxembourg.com, 1 jls.idv.tw, 1 jlsdesignservices.com, 1 jlsolutionpro.com, 1 +jlsun.site, 1 jltcsecuritygroup.com, 1 jlulug.org, 1 jlwagner.net, 1 @@ -79512,7 +79586,6 @@ jobassadeurs.fr, 1 jobbnorge.no, 1 jobbradar.ai, 1 -jobbs.se, 1 jobbsafari.no, 0 jobbsafari.se, 0 jobcenter.tk, 1 @@ -79541,6 +79614,7 @@ jobnmadu.com, 1 joboutlook.gov.au, 1 jobphoning.com, 1 +jobpracticetests.com, 1 jobrs.edu.iq, 1 jobrus.ga, 1 jobrus.ml, 1 @@ -79557,7 +79631,6 @@ jobsconnected.com, 1 jobscore.com, 1 jobseeker.com, 1 -jobseekeritalia.it, 1 jobsindemedia.nl, 1 jobsineachstate.com, 1 jobsingulf.com, 1 @@ -79577,7 +79650,6 @@ jobytoys.cl, 1 jobzcorner.tk, 1 jocata.com, 1 -jocelynjenkins.com, 1 jock2go.eu, 1 jockbusuttil.co.uk, 1 jockbusuttil.com, 1 @@ -79685,6 +79757,7 @@ johnagreager.com, 1 johnangellgrant.com, 1 johnathanhasty.com, 1 +johnbaldry.com, 1 johnball.co, 1 johnbeil.com, 1 johnbelthoff.com, 1 @@ -79722,7 +79795,6 @@ johnmcc.net, 1 johnmcintosh.pro, 1 johnmichel.org, 1 -johnmillerdesign.com, 1 johnmirenda.com, 1 johnmurray.com, 1 johnnies-place.org, 1 @@ -79749,6 +79821,7 @@ johnscottcbe.com, 1 johnshopkinssolutions.com, 1 johnson.tj, 1 +johnsoncitylegal.com, 1 johnsoncowy.gov, 1 johnsongenealogy.net, 1 johnsonho.net, 1 @@ -79770,17 +79843,16 @@ johny.tv, 1 johnyytb.be, 1 joho.se, 1 -johub.de, 1 johutha.ch, 1 johutha.com, 1 johutha.me, 1 joi-dhl.ch, 0 join-aomori.jp, 1 join-stories.com, 1 -join.com, 1 joinamericacorps.gov, 1 joinamericorps.gov, 1 joincahoot.com, 1 +joincited.ai, 1 joinclyde.com, 1 joindns4.eu, 1 joinentre.com, 1 @@ -79834,7 +79906,7 @@ jolr.ru, 1 jom.tj, 1 jomagus.de, 1 -jomblee.com, 1 +jomblee.com, 0 jomibe.de, 1 jomipsa.com, 1 jomjohor.my, 1 @@ -79869,7 +79941,6 @@ jonaswitmer.ch, 1 jonatan.gq, 1 jonathan-apps.com, 1 -jonathanamoia.co, 0 jonathanbalsiger.com, 1 jonathancarter.org, 1 jonathancorbin.io, 1 @@ -79966,8 +80037,9 @@ joomla-leipzig.com, 1 joomla-spezialist.de, 0 joomla-ua.org, 1 +joomla.fr, 1 joomladeveloper.ru, 1 -joomlaguru.pl, 0 +joomlaguru.pl, 1 joona.pw, 1 joorshin.ir, 1 joostdeheer.nl, 1 @@ -80003,7 +80075,6 @@ jordibelgraver.email, 1 jordibelgraver.eu, 1 jordibelgraver.xyz, 1 -jordioller.com, 1 jordjord.com, 1 jordywozniak.com, 1 jorexenterprise.com, 1 @@ -80043,7 +80114,7 @@ josefinagrau.tk, 1 josefjanosec.com, 1 joseflegal.com, 1 -josefranca.pt, 1 +josefranca.pt, 0 joseguerra.es, 1 josejesusortiz.com, 1 josejorques.tk, 1 @@ -80089,6 +80160,7 @@ joshs.photos, 1 joshschmelzle.com, 1 joshspage.ltd.uk, 1 +joshspage.uk, 1 joshthewanderer.com, 1 joshu.am, 1 joshua-kuepper.de, 1 @@ -80131,16 +80203,18 @@ jourbook.cf, 1 jourdain.pro, 1 jourdespa.fr, 1 +jourjcouture.com, 1 journal-officiel.ga, 1 journaldufumeur.ch, 1 journales.com, 1 journalgameers.ga, 1 journalgameest.ga, 1 +journalify.media, 1 +journalify.tech, 1 journalism-schools.com, 1 journalism.org, 1 journaliste.tk, 1 journalisticapp.com, 1 -journalnow.com, 1 journals.ru, 1 journalstar.com, 1 journaltimes.com, 1 @@ -80172,6 +80246,7 @@ jowm-jo.com, 1 joworld.net, 0 joy-iq.com, 1 +joy-jesus.de, 1 joy-ride.yokohama, 1 joy.co.ua, 1 joy.szkola.pl, 1 @@ -80267,7 +80342,6 @@ jrc.cz, 1 jrc9.ca, 0 jrchaseify.xyz, 1 -jrcmo.com, 1 jreb.nl, 1 jredmond.io, 1 jreiff.de, 1 @@ -80276,6 +80350,7 @@ jrflorian.com, 1 jrfortune.com, 1 jriffe.com, 1 +jriveja.com, 1 jrjuristen.nl, 0 jrkangsfootball.org, 1 jrlopezoficial.com, 1 @@ -80342,7 +80417,7 @@ jslots.dk, 1 jsme.cz, 1 jsme.fun, 1 -jsn.one, 1 +jsnexus.co.uk, 1 jsnfwlr.com, 0 jso-crescendo.ch, 1 json.id, 1 @@ -80351,6 +80426,7 @@ jsourcery.com, 1 jsp-cloud.de, 1 jsphys.org.cn, 1 +jspiels.com, 1 jsproxy.tk, 0 jsre-kinki.jp, 1 jss6868.cc, 1 @@ -80469,6 +80545,7 @@ juergenspecht.de, 1 juergmeier.ch, 1 jufem.tk, 1 +jufengys.com, 1 juffalow.com, 1 juffrouwtoertjes.be, 1 juflynt.nl, 1 @@ -80490,6 +80567,8 @@ juicipattiesfranchising.com, 1 juicycrones.org.uk, 1 juicydesigns.co.za, 1 +jujids.com, 1 +jujiw.com, 1 jujutsuoulu.fi, 1 jujuygrafico.com.ar, 1 jukebox-manuals.tk, 1 @@ -80599,7 +80678,6 @@ jumpandjivechildrensparties.co.uk, 1 jumparoundbouncycastles.co.uk, 1 jumparty.co.uk, 1 -jumpcloud.com, 1 jumpeasy.com.au, 1 jumperke.be, 1 jumperweb.tk, 1 @@ -80630,8 +80708,6 @@ junebo.se, 1 juneereccentre.com.au, 1 junefolkhogskola.se, 1 -juneis.pet, 1 -juneiscute.pet, 1 junethack.net, 1 junetrucking.com, 1 junews.it, 1 @@ -80692,6 +80768,7 @@ junyangz.com, 1 junyu33.me, 0 juozasveza.lt, 1 +jupianku.com, 1 jupiteram.com, 1 juppy.tk, 1 jura-reiseschutz.de, 1 @@ -80725,7 +80802,9 @@ juristique.us, 1 jurjendevries.com, 0 jurkomp.ru, 1 +jurma.site, 1 jurnalfm.md, 1 +juroslab.com, 1 jurposluga.tk, 1 jurquestion.tk, 1 jurriaan.ninja, 1 @@ -80750,7 +80829,6 @@ just-pools.co.za, 1 just-style.com, 1 just-vet-and-drive.fr, 0 -just-webdesign-berlin.de, 1 just.nl, 1 just3preety.com, 1 justacoupleofclarkes.co.uk, 1 @@ -80794,7 +80872,6 @@ justgiving.io, 1 justgiving.nl, 1 justgiving.services, 1 -justgrin.ca, 1 justguard.be, 1 justice-rains-from-above.tk, 1 justice.gc.ca, 1 @@ -80813,6 +80890,7 @@ justinribeiro.com, 1 justinritter.de, 1 justinstandring.com, 1 +justinsurancesvcs.com, 1 justixia.xyz, 1 justjackstuff.com, 1 justknigi.gq, 1 @@ -80824,7 +80902,6 @@ justnajoua.tk, 1 justneworleans.com, 1 justninja.com, 1 -justnu.se, 0 justoneevent.com, 1 justor.ru, 1 justpaste.it, 1 @@ -80838,6 +80915,7 @@ justsfa.net, 1 justsfa.org, 1 justshare.tk, 1 +justsquid.com, 1 juststone.net.au, 1 justthepill.com, 1 justwatermark.com, 1 @@ -80872,6 +80950,8 @@ jvdhqr.tech, 1 jvega.me, 1 jvetter.net, 1 +jvex.de, 1 +jvhek.com, 1 jvhellemond.nl, 1 jvianes.ddns.net, 1 jvlfinance.cz, 1 @@ -80897,7 +80977,6 @@ jwhite.network, 1 jwilsson.com, 0 jwla.in, 1 -jwmmarketing.com, 1 jwod.gov, 1 jwolt-lx.com, 1 jwplay.ml, 1 @@ -80907,7 +80986,7 @@ jwz.org, 1 jxc.fr, 1 jxcad.com.cn, 1 -jxcjwlgs.com, 1 +jxcjwlgs.com, 0 jxdsp.com, 1 jxl.tf, 1 jxltom.com, 1 @@ -80916,6 +80995,7 @@ jybrid.com, 1 jyoba.co.jp, 1 jyprj.com, 0 +jyrahealth.com, 1 jystewart.net, 1 jytvu.cn, 1 jyvaskylantykkimies.fi, 1 @@ -81034,6 +81114,7 @@ ka4ka.cf, 1 ka4ka.ml, 1 kaag-it.com, 1 +kaagaz.co, 1 kaagenbraassem.nl, 1 kaalberry.com, 0 kaamoscreations.com, 1 @@ -81164,6 +81245,7 @@ kaibaunderwear.com.ar, 1 kaibinyang.com, 1 kaibinyang.tk, 1 +kaiche.com, 1 kaido-app.com, 1 kaidoblogi.eu, 1 kaigojj.com, 1 @@ -81178,6 +81260,7 @@ kaimi.io, 1 kainelaw.com, 1 kainetsoft.com, 1 +kainosgidas.lt, 1 kainz.be, 1 kaiod.tk, 1 kaioken.bar, 1 @@ -81282,10 +81365,13 @@ kalender.goip.de, 1 kalender10.com, 1 kalerne.tk, 1 +kaleus.xyz, 1 kalfeher.com, 1 kalhotkomat.cz, 1 kalhufvudet.se, 1 +kalia-events.com, 1 kaliaa.fi, 1 +kaliacode.com, 1 kalian.cz, 1 kaliartistry.com, 1 kaliboairport.tk, 1 @@ -81306,7 +81392,6 @@ kalisch.eu, 1 kalisiconstructionltd.co.uk, 1 kalisilat.tk, 1 -kalk-shop.nl, 1 kalkaskavillagemi.gov, 1 kalkkloof.co.za, 1 kalkulacka-havarijni.cz, 1 @@ -81324,6 +81409,7 @@ kalmykia-news.net, 1 kalmykia.cf, 1 kalmykia.tk, 1 +kalogeropoulos-st.com, 1 kalohan.tk, 1 kaloix.de, 1 kalolina.com, 1 @@ -81335,6 +81421,7 @@ kalsbouncies.com, 1 kaltenbrunner.it, 1 kalterersee.ch, 1 +kaltmiete.com, 1 kaluga-news.net, 1 kaluga.cf, 1 kaluga.gq, 1 @@ -81352,8 +81439,8 @@ kamagrajel.org, 1 kamalame.co, 1 kamandula.tk, 1 -kamanja.io, 1 kamareddine.tk, 1 +kamascend.com, 1 kamasutra-training.gq, 1 kamata-shinkyu-seikotsu.jp, 1 kamataryo.com, 1 @@ -81383,7 +81470,6 @@ kamikatse.net, 1 kamikatzerl.net, 1 kamikazeweb.tk, 1 -kamilabasta.pl, 1 kamildrozd.tk, 1 kamilla.ml, 1 kamilmagdziak.pl, 1 @@ -81499,6 +81585,7 @@ kanitha.sk, 1 kankaimataji.com, 1 kankakeecountyclerk.gov, 1 +kankanwuys.com, 1 kankerpannekoek.nl, 1 kankfn.com, 1 kankimaru.com, 1 @@ -81550,7 +81637,6 @@ kaosintesta.tk, 1 kap-kirche.de, 1 kap.pe, 1 -kapa7.com, 1 kapadia.org, 1 kapageridis.com, 1 kapakinig.org, 1 @@ -81566,6 +81652,7 @@ kaplanco.com, 1 kaplanprofessional.edu.au, 1 kaplatzis.com, 1 +kapler.family, 1 kaplonrealty.com, 1 kapmer.fr, 1 kappamuepsilon.org, 1 @@ -81580,7 +81667,6 @@ kaproseo.com, 1 kapsalonlinds.nl, 1 kapseli.net, 1 -kapsouro-ksimeromata.eu, 1 kaptamedia.com, 1 kapui.net, 1 kapukoaldizkaria.tk, 1 @@ -81690,6 +81776,7 @@ karloskontana.tk, 1 karlov.tk, 1 karlproctor.co.uk, 1 +karlschwarzenberg.de, 1 karlsen.fr, 1 karlsen.org, 1 karlskronajk.tk, 1 @@ -81700,6 +81787,7 @@ karmaful.de, 0 karmapafoundation.eu, 1 karmaspa.se, 0 +karmastaff.com, 1 karmatrend.cf, 1 karmelava.tk, 1 karmil.tk, 1 @@ -81729,7 +81817,6 @@ karriharju.tk, 1 karrot.world, 1 karryfishing.com, 1 -karsiyakacilingir.biz.tr, 1 karsofsystems.com, 1 karsta.de, 1 karstenhelmbold.de, 1 @@ -81745,6 +81832,7 @@ kartapay.co.uk, 1 kartar.net, 0 kartawarta.com, 1 +kartek.com, 1 kartel.org.uk, 1 kartenplanet.ch, 1 kartikmohta.com, 1 @@ -81770,6 +81858,7 @@ kasc.finance, 1 kasei.im, 1 kaserne-basel.ch, 1 +kasero.co, 1 kaseyhopkins.com, 1 kashable.com, 1 kashbet.net, 1 @@ -81805,7 +81894,6 @@ kasperstad.dk, 1 kasplacement.com, 1 kass-media.com, 1 -kassa.at, 1 kassa.com, 1 kasselwasser.de, 1 kassemmal.at, 1 @@ -81880,6 +81968,7 @@ kathardt.de, 1 katherineandkegan.love, 1 katherineswynford.tk, 1 +kathleenamillar.com, 1 kathleendeisher.com, 1 kathmandupost.com, 1 kathrin-maren-enders.de, 1 @@ -81892,6 +81981,7 @@ kathyisawesome.com, 0 kati-raumplaner.de, 1 kati0.com, 1 +katia-belam.com, 1 katiebenson.tk, 1 katiechai.xyz, 1 katiepears.net, 1 @@ -81918,8 +82008,6 @@ katsiavarasorthopedics.gr, 1 katsuandhisfriends.com, 1 katsunet.com, 1 -kattelans.de, 1 -kattelans.eu, 1 kattelus.tk, 1 kattens.tk, 1 katteryn.com, 1 @@ -81985,7 +82073,6 @@ kay.la, 1 kay.moe, 1 kay.nz, 1 -kayabyd.lk, 1 kayakaventura.tk, 1 kayakcastro.tk, 1 kayakpolouniversidades.tk, 1 @@ -82000,7 +82087,7 @@ kayleen.net, 1 kaylielaw.com, 1 kayon.cf, 1 -kayphi.com, 1 +kayphi.com, 0 kayseri.bel.tr, 1 kayserihaberleri.tk, 1 kaysville.gov, 1 @@ -82065,7 +82152,6 @@ kbcr.gov, 1 kbdy2.com, 1 kbet168.com, 1 -kbhfuge.dk, 1 kbit.dk, 1 kbizoom.com, 1 kbleventhire.co.uk, 1 @@ -82075,6 +82161,7 @@ kbst.se, 0 kbtairmont.com, 1 kbtit.jp, 1 +kbys1.com, 1 kbz.fr, 1 kc-holzfaeller.de, 1 kc-leeuwarden.tk, 1 @@ -82113,6 +82200,7 @@ kcsonline.biz, 1 kcsordparticipation.org, 1 kcsprayfoam.com, 1 +kctechav.com, 1 kcucs.com, 1 kd-event.de, 1 kd.net.nz, 1 @@ -82127,6 +82215,7 @@ kdizain.ru, 1 kdk.com.my, 1 kdlogistics.co, 1 +kdm.ac, 1 kdm.pw, 1 kdn-dc.com, 1 kdo-vola.cz, 1 @@ -82135,6 +82224,7 @@ kdoslavi.cz, 1 kdproduction.cz, 1 kdramaholic.com, 1 +kdrcoding.com, 0 kdrive.tk, 1 kdt-lille.com, 1 kduggan.net, 1 @@ -82149,6 +82239,7 @@ keane.space, 1 keaneokelley.com, 1 keaneyinsurance.ie, 1 +keano.de, 1 kearneycountyne.gov, 1 kearneyhub.com, 1 kearnyaz.gov, 1 @@ -82187,7 +82278,6 @@ keeforcecloud.com, 1 keekee.tk, 1 keekmix.nl, 1 -keelandlong.com, 1 keeley.net, 1 keeleysam.com, 1 keelove.net, 1 @@ -82203,6 +82293,7 @@ keep.moe, 1 keepa.com, 1 keepagree.gq, 1 +keepavalue.com, 1 keeperapp.com, 1 keeperhub.com, 1 keepersecurity.ca, 1 @@ -82211,6 +82302,8 @@ keepersecurity.eu, 1 keepersecurity.jp, 1 keepersecurity.us, 1 +keepface.ai, 1 +keepface.com, 1 keepiteasy.eu, 1 keepitsecure24.com, 1 keepleft.gr, 1 @@ -82237,9 +82330,7 @@ keigakusha.co.jp, 1 keigel2001.net, 1 keiji0501.com, 1 -keiju.ee, 1 -keiju.fi, 1 -keijuriini.fi, 1 +keiju.ee, 0 keikadreamland.fun, 1 keil-web.de, 1 keilab.io, 1 @@ -82345,12 +82436,12 @@ kemerovo.ml, 1 kemerovo.tk, 1 kemerovo42.tk, 1 +kemeskisystems.com, 1 kemet.co.uk, 1 kemetboutiquehotel.com, 1 kemhan.go.id, 1 kemian.de, 1 kemifilani.ng, 1 -kemikon.com, 1 kemnacarwash.com, 1 kemono.cr, 1 kemono.in.th, 1 @@ -82393,7 +82484,6 @@ kenedytx.gov, 1 kenedytxedc.gov, 1 kenesh.kg, 1 -kenforeman.com, 1 kengcoder.com, 1 kengoyamamoto.com, 1 kenhhomestay.com, 1 @@ -82484,7 +82574,6 @@ kerebro.com, 1 keritial.eu.org, 1 kerjoo.com, 1 -kerkdienststream.nl, 1 kerkeslager.com, 1 kerkida.net, 1 kermadec.com, 1 @@ -82571,7 +82660,6 @@ ketv.com, 1 ketzer.tk, 1 keukenhof.nl, 1 -keukenkraanwinkel.nl, 1 keukenstudio.tk, 1 keurigbestprice.tk, 1 keuvelaar.nl, 1 @@ -82636,7 +82724,6 @@ key-tracker.de, 1 key.sa, 1 key4.com.ua, 1 -keyabode.eu, 1 keyacademy.bg, 1 keyandswirl.com, 1 keybase.io, 1 @@ -82647,7 +82734,6 @@ keybored.co, 1 keycat.de, 1 keycdn.com, 1 -keycenter.com.br, 1 keycodingjohannesburg.co.za, 1 keydelay.tk, 1 keydifferencemedia.com, 1 @@ -82660,7 +82746,6 @@ keyi-zou.com, 1 keyihao.cn, 1 keyinfo.io, 1 -keykong.io, 1 keylength.com, 1 keyloop.com, 0 keymaster.lookout.com, 0 @@ -82674,7 +82759,7 @@ keyrana.com, 1 keys.fedoraproject.org, 1 keyscore.me, 1 -keysersoze.be, 1 +keysersoze.be, 0 keyserver.sexy, 0 keyservice247.nl, 1 keysix.com, 1 @@ -82692,6 +82777,7 @@ keytomylime.com, 1 keytomyq.com, 1 keytracer.com, 1 +keytransact.com, 1 keyua.org, 1 keyworth-meadow.tk, 1 keziah.de, 1 @@ -82720,6 +82806,7 @@ kfoundation.org, 1 kfv-kiel.de, 1 kfvullnetari-uck.tk, 1 +kfwyy.com, 1 kfz-hantschel.de, 1 kfz-premiumteile24.de, 1 kfz-sachverstand.de, 1 @@ -82753,6 +82840,7 @@ khabar24.tk, 1 khabarasia.com, 1 khabarovsk-news.net, 1 +khacdauth.com, 1 khachhangvietnam.tk, 1 khadishalatina.com, 1 khakasiya.ml, 1 @@ -82775,6 +82863,7 @@ khalilicollections.org, 1 khaliqsyed.com, 1 khalti.com, 1 +khangzhie.io, 1 khanh.id, 1 khankandi.tk, 1 khanovaskola.cz, 1 @@ -82818,6 +82907,7 @@ khoury-dulla.ch, 0 khouryalexandre.com, 0 khoxuongchothuegiare.vn, 1 +khprop.com, 1 khramtsov.org, 1 khro.me, 1 khs1994.com, 1 @@ -82888,7 +82978,6 @@ kidderminster.ac.uk, 1 kiddies.tk, 1 kiddieskingdom.tk, 1 -kiddocom.org, 1 kiddyboom.ua, 1 kiddyland.co.jp, 1 kidfitseries.com.au, 1 @@ -82933,6 +83022,7 @@ kidwater4ut.gov, 1 kidzonet.io, 1 kidzpartiesllp.co.uk, 1 +kidzsibz.com, 1 kidzsmile.co.uk, 1 kidzwhizz.com, 1 kiebel.de, 1 @@ -82943,7 +83033,6 @@ kiekebooo.nl, 1 kiekin.org, 1 kiekko.pro, 1 -kielakowie.com, 1 kielervorderladerverein.de, 1 kielux.de, 1 kielwi.gov, 1 @@ -82973,6 +83062,7 @@ kiezlerovi.cz, 1 kif.rocks, 1 kiffmarks.com, 1 +kiffor.com, 1 kifid.nl, 1 kigermap.cn, 1 kigermap.com, 1 @@ -83018,7 +83108,6 @@ kilkennyaccountingservices.ie, 1 kilkennycoco.ie, 1 kilkimzaibu.tk, 1 -kill-the-newsletter.com, 1 killallsudoers.cloud, 1 killaraapartments.com.au, 1 killarnee.org, 1 @@ -83071,6 +83160,7 @@ kimdumaine.com, 1 kimerald.tk, 1 kimherala.xyz, 1 +kimhoyon.com, 1 kimicar.de, 1 kimino-school.com, 1 kimitang.com, 1 @@ -83086,6 +83176,7 @@ kimootoko.net, 0 kimotodental.com, 1 kimotrip.com, 1 +kimoun.com, 1 kimphattai.vn, 1 kimsesizlereumutol.tk, 1 kimstallwood.com, 1 @@ -83152,13 +83243,13 @@ kinderopvangthuis.nl, 1 kinderosteopathie-osteopathie.de, 1 kinderpneumologie.ch, 1 +kindersoldaten.com, 1 kindertagespflege-rasselbande-halle.de, 1 kinderzorg.tk, 1 kindesfreude.ch, 1 kindfotografie.nl, 1 kindle, 1 kindler-design.ch, 1 -kindlezs.com, 1 kindmedsaz.com, 1 kindredcode.com, 1 kindredcode.net, 1 @@ -83208,7 +83299,6 @@ kingfisherhallacademy.org.uk, 1 kingforever.io, 1 kingiescastles.co.uk, 1 -kingkongxo.com, 1 kinglier.ga, 1 kingliey.ga, 1 kinglyscholars.org.ng, 1 @@ -83245,14 +83335,14 @@ kingstonsoftware.de, 1 kingstream.uk, 1 kingsvetcentre.com, 1 -kingsvilletexas.com, 1 kingtech8.tk, 1 kingtreasure.com, 1 -kingwaybagger.de, 1 +kingtreasures.com, 1 kingyard.com, 1 kingyo-bowl.com, 1 kinherit.co.uk, 1 kini24.ru, 1 +kinichi.com, 1 kinison.com, 1 kinjerboerebroelof.tk, 1 kink.bio, 1 @@ -83262,11 +83352,13 @@ kinkorainvestments.com, 1 kinkorainvestments.com.au, 1 kinksecrets.ga, 1 +kinksim.com, 1 kinky-books.com, 1 kinkyinlaws.com, 1 kinkyspa.com, 1 kinkywood.com, 1 kinlakestars.com, 1 +kinnapa.or.tz, 1 kinnect.media, 1 kinnerfisch.cn, 1 kinnettmemorial.org, 1 @@ -83313,6 +83405,8 @@ kinschots.eu, 1 kinsei.jp, 1 kinshipcareers.com, 1 +kinshukacharya.com, 1 +kinsugi.ai, 1 kintanalodge.fr, 1 kintawifi.com, 1 kintell.com, 0 @@ -83404,6 +83498,7 @@ kirstenbos.ca, 1 kirstenwillner.de, 1 kirstygreenwoodartist.ga, 1 +kirthidiamonds.com, 1 kirtlandforcesupport.us, 1 kirtlandfss.tv, 1 kirwandigital.com, 1 @@ -83473,10 +83568,10 @@ kitdro.com, 1 kite-surf.tk, 1 kite-surfen.tk, 1 -kite-uhn.com, 1 kiteboard-selbstbau.tk, 1 kitebowl.ru, 1 kitenation.com, 1 +kiternet.ru, 1 kiterocket.com, 1 kiteschoolamsterdam.nl, 1 kiteschooledam.nl, 1 @@ -83500,7 +83595,6 @@ kitspersonal.tk, 1 kitsplumbingandheating.com, 1 kitsuna.eu, 1 -kitsunei.com, 1 kitta.tk, 1 kittatinny5.org, 1 kittcom.gov, 1 @@ -83536,6 +83630,7 @@ kiwanoprint.com, 1 kiwee.eu, 1 kiweeagentur.de, 1 +kiwi.ki, 1 kiwibird.tokyo, 1 kiwideo.ro, 1 kiwiflowershop.com.ua, 1 @@ -83550,6 +83645,7 @@ kizetroniko.tk, 1 kizkulesi.tk, 1 kizomba.info, 1 +kizoralabs.com, 1 kiztarafi.net, 1 kizuna.com.py, 1 kizunaai.eu.org, 1 @@ -83605,7 +83701,6 @@ kkk209.com, 0 kkkkk.click, 1 kklb.de, 1 -kkm911.ru, 1 kkmzt.com, 1 kkn.moe, 1 kknapredak-rubin.tk, 1 @@ -83628,12 +83723,13 @@ kladson.com, 1 kladzdor.ga, 1 kladzdor.tk, 1 +klairkine.fr, 1 klamath911.gov, 1 klamathrestoration.gov, 1 klamathtribalhealth.gov, 1 klanggut.at, 1 -klanklichaam.be, 1 klapib.ee, 1 +klaps.space, 1 klapsinakis.gr, 1 klapty.com, 1 klares-licht.de, 1 @@ -83699,6 +83795,8 @@ kleinhaneveld.tk, 1 kleinhapl.com, 0 kleinhelena.dynv6.net, 1 +kleinkind-welt.de, 1 +kleinlich.com, 1 kleinmechaniek.nl, 1 kleinreich.de, 1 kleins-hutorok.de, 1 @@ -83729,7 +83827,6 @@ kleuro.nl, 1 klev.tk, 1 klevatech.co.za, 1 -klever.com.mk, 0 kleverltd.ru, 1 klevos.ro, 1 kli.is, 0 @@ -83750,6 +83847,7 @@ klimaatadaptatienederland.nl, 1 klimaatkids.be, 1 klimaatklaar.nl, 1 +klimaatkrachtig.nl, 1 klimacamp-sterkraderwald.de, 1 klimafakten.de, 1 klimakomplekt.com, 1 @@ -83769,7 +83867,6 @@ klingenberg-instruments.de, 1 klingenberg.works, 1 klingenundmesser.com, 1 -klingit.com, 1 klinik-db.de, 1 klinik-fuer-aesthetische-zahnheilkunde.de, 1 klinikac.co.id, 0 @@ -83804,8 +83901,9 @@ klokkenluidersvg.nl, 1 kloop.kg, 1 klop.info, 1 +klorpy.com, 1 +klorpy.com.br, 1 klos-kremperler.at, 1 -klose-besser.com, 1 klose.family, 1 klosetestumgebungnextcloud.de, 1 klosko.net, 1 @@ -83846,7 +83944,6 @@ kmch.com, 1 kmdarkmaster.tk, 1 kmdevelop.com, 1 -kmecnc.com, 1 kmhesaplama.com, 1 kmk.hu, 1 kmk.poznan.pl, 1 @@ -83870,6 +83967,7 @@ kn40la.com, 1 kn4ivj.com, 1 kn4ola.com, 1 +kn4rql.radio, 1 kn6olc.org, 1 knab-networks.com, 0 knabden.co.za, 1 @@ -83885,7 +83983,6 @@ knarred.co.uk, 1 knarred.site, 1 knashaug.com, 1 -knauf.com, 1 knauss-family.com, 1 knautiluz.net, 0 knb.nl, 1 @@ -83901,6 +83998,7 @@ kneli.co.il, 1 knep.me, 0 kneppe.me, 1 +knetmon.com, 1 knetterbak.nl, 1 kngk-transavto.ru, 1 knhchula.com, 1 @@ -83943,6 +84041,7 @@ knivesandblades.co.uk, 1 kniwweler.com, 1 knize.tech, 1 +kniznice.cz, 1 knjazevac.tk, 1 knkv.nl, 1 knmv.nl, 1 @@ -83980,6 +84079,7 @@ knowthebus.gq, 1 knowunity.com, 1 knowunity.de, 1 +knowyourbeans.coffee, 1 knowyourday.ai, 1 knowyourrunway.com, 1 knowyourteam.com, 1 @@ -84001,6 +84101,7 @@ knugen.nu, 1 knulla.me, 1 knulle.me, 1 +knurlmastering.com, 1 knurps.de, 1 knutas.de, 1 knuterikskare.no, 1 @@ -84081,6 +84182,7 @@ kodafritt.se, 1 kodak-ism.com, 1 kodama-dorayaki.co.jp, 1 +kodand.com, 1 kodar.tk, 1 kodden.com.br, 1 kode-it.de, 1 @@ -84101,7 +84203,6 @@ kodomocorona.com, 1 koe.hn, 1 koebbes.de, 1 -koeeusa.org, 1 koef.nl, 1 koehlhoff.de, 1 koehn-consulting.com, 1 @@ -84143,6 +84244,7 @@ kohana.fi, 1 kohlchan.net, 1 kohlchan.top, 1 +kohlmajer.de, 1 kohlpharma.com, 1 kohparadise.com, 1 koidulag.edu.ee, 1 @@ -84161,9 +84263,9 @@ kokenmetesther.nl, 1 koketteriet.se, 0 kokk.loan, 1 +koklonya.com, 1 kokoiroworks.com, 1 kokomo.com.au, 1 -kokomoislandfiji.com, 1 kokomoprivateisland.com, 1 kokomoresorts.com, 1 kokona.ch, 1 @@ -84224,6 +84326,7 @@ kolotsainaskoto.tk, 1 kolpingsfamilie-vechta-maria-frieden.de, 1 kolrami.com, 1 +kolsto.no, 1 koltozzbe.hu, 1 kolue.com, 1 koluke.co, 1 @@ -84275,12 +84378,14 @@ komp-plus.tk, 1 komp247.pl, 1 kompaniya-vasya.tk, 1 +komparoo.es, 1 komplekt.gq, 1 komplet.sk, 1 komplexlysimple.com, 0 kompliant.nu, 1 kompotik.tk, 1 komputer-net.tk, 1 +kompymascotas.com, 1 komsija.tk, 1 komsomolka.works, 1 komun.me, 1 @@ -84343,9 +84448,10 @@ konfuzius-institut-ruhr.de, 1 kong.ink, 1 kongar.org, 1 +kongexp.com, 1 kongjie.cf, 1 kongjie.ml, 1 -kongress-hostessen.de, 1 +konglei.com, 1 kongressband.de, 1 koniag-gs.com, 1 konijnen-knaagdieren.tk, 1 @@ -84375,7 +84481,6 @@ konsol.pro, 1 konspiracnipohadky.cz, 1 konst.se, 1 -konstantinlichtenwald.com, 0 konstanz.tk, 1 konstitucia.com, 1 konstnarer.com, 1 @@ -84397,6 +84502,7 @@ kontaxis.org, 1 konte.pro, 1 kontent.ai, 1 +kontikifinland.fi, 1 kontikiindustries.tk, 1 kontikimedia.com, 1 kontist.com, 1 @@ -84433,6 +84539,7 @@ koodimasin.ee, 1 koodimasin.eu, 1 kooer.org, 1 +kooikerlogistiek.nl, 1 kooky.org, 1 kooli.ee, 1 koolisw.tk, 1 @@ -84455,6 +84562,7 @@ koowde.nl, 1 kooxdiving.com, 1 koozal.de, 1 +kop-ssb.com, 1 kopany.tk, 1 koparrestaurant.is, 1 kopatych.tk, 1 @@ -84541,7 +84649,6 @@ korst.tk, 1 korstanjebouw.nl, 1 korstanjetimmerwerken.nl, 1 -korsvloeren.nl, 1 kortarsmagyarfesto.tk, 1 kortgebyr.dk, 1 korttipeli.com, 1 @@ -84556,7 +84663,6 @@ koshercutleryest.ga, 1 koshereducationers.ga, 1 koshereducationest.ga, 1 -kosherfoodreviews.com, 1 kosherjava.com, 1 kosherlunchers.ga, 1 kosherlunchest.ga, 1 @@ -84580,6 +84686,7 @@ koso.me, 1 kosovitolinks.tk, 1 kosovo.gq, 1 +kosovotravels.com, 1 kost-magazin.de, 1 kostarikanamiru.cz, 1 kostavro.eu, 1 @@ -84651,12 +84758,14 @@ kouwenhoven.xyz, 1 kouyanoyojinbo.com, 1 kov.space, 1 +kova-studio.fr, 1 kovachica.tk, 1 kovacia.com, 1 kovaldo.ru, 1 -kovelai.com, 0 +kovelai.com, 1 +kovil.ai, 1 kovnsk.net, 1 -kovrik-tm.com.ua, 1 +kovrik-tm.com.ua, 0 kovroedov.ru, 1 kovtron.com, 1 kovu.dog, 1 @@ -84691,12 +84800,9 @@ kp-opt.ru, 1 kp0808.cc, 1 kp0809.com, 1 -kp1111.cc, 1 -kp2222.cc, 0 -kp3333.cc, 1 -kp4444.cc, 0 +kp2222.cc, 1 +kp4444.cc, 1 kp45.ru, 1 -kp6666.cc, 1 kp7777.cc, 0 kpfanworld.com, 1 kpinvest.eu, 1 @@ -84828,8 +84934,8 @@ krbzh.ch, 1 krc.link, 1 krch.tk, 1 -krd93.ru, 1 krdekam.com, 1 +krealabs.fr, 1 kreanoid-clientportal-aus-dev.azurewebsites.net, 1 kreanoredact-portal-aus-dev.azurewebsites.net, 1 krearv.com, 1 @@ -84853,6 +84959,7 @@ kredit-ohne-schufa.de, 1 kredit24.de, 0 kredita.dk, 1 +kreditano.ro, 1 kreditkarta.ml, 1 kreditkarten123.de, 1 kreditkoll.nu, 1 @@ -84860,7 +84967,6 @@ kreditor.gq, 1 kreditovnet.tk, 1 kreditzirkus.de, 1 -krednal.ru, 1 kredytybezprowizji24.pl, 1 kredytzen.pl, 0 kredz.com.br, 1 @@ -84931,7 +85037,6 @@ krisp.ai, 1 krisp.kz, 1 krispeinture.be, 1 -krispykremesa.com, 1 krispymods.com, 1 krisstarkey.co.uk, 1 krist.club, 1 @@ -84942,7 +85047,6 @@ kristiescholten.com, 1 kristiineautorent.ee, 1 kristina-lari.ru, 1 -kristinaolsen.net, 1 kristineskitchenblog.com, 1 kristjanrang.eu, 0 kristofba.ch, 1 @@ -84978,6 +85082,7 @@ kroldata.com, 1 kroliczki.tk, 1 kroll.tk, 1 +krollsr.nl, 1 krolowarodzin.pl, 1 kromamoveis.com.br, 1 kromati.co, 1 @@ -85011,13 +85116,10 @@ krrt.io, 1 krs.cloud, 1 krsaustralia.com.au, 1 -krserv.de, 1 krstarica.com, 1 krsvrs.nl, 1 krti.com.ua, 1 -krtl.eu.org, 1 krtl.net, 1 -krtl.top, 1 krubik.tk, 1 kruchefssensors.azurewebsites.net, 0 kruchheartbeatdev.azurewebsites.net, 1 @@ -85131,7 +85233,7 @@ ks8218.com, 0 ks8225.com, 1 ks8265.com, 1 -ks8266.com, 1 +ks8266.com, 0 ks8278.com, 1 ks8915.com, 1 ks9122.com, 1 @@ -85174,7 +85276,9 @@ ksiegarniabk.pl, 1 ksiga.org, 1 ksiopea.com, 1 +ksj.lv, 1 ksk-raduga.tk, 1 +ksklar.de, 1 ksleg.gov, 1 kslegislature.gov, 1 kslpa.gov, 1 @@ -85242,9 +85346,6 @@ kuaishou.cf, 1 kuaitiyu.org, 1 kualitatem.com, 1 -kualo.co.uk, 1 -kualo.com, 1 -kualo.in, 1 kuario.com, 1 kuartelgeneral.com, 1 kuba-erlebnisreisen.de, 1 @@ -85252,9 +85353,12 @@ kuba222.com, 1 kubabrussel.be, 1 kubacabra.cz, 0 +kubady.com, 1 kubady2.com, 1 +kubady9.com, 1 kubalok.de, 1 kubanitoscali.com, 1 +kubays.com, 1 kubeofficebooth.com, 1 kubequest.online, 1 kuberkaitseliit.ee, 1 @@ -85283,7 +85387,6 @@ kuchennyhit.pl, 1 kuchugury.ru, 1 kuchynak.cz, 1 -kucku.com, 1 kucnibudzet.com, 1 kucukdunya.com, 1 kucukkaymakli.tk, 1 @@ -85315,11 +85418,11 @@ kuixiaoran.cn, 1 kujalichildrenscentre.or.ke, 1 kukal.cz, 1 +kukanilea.de, 1 kukei.eu, 1 kukeri-karlovo.tk, 1 kuketz-blog.de, 1 kuketz-security.de, 1 -kukiulpindo.com, 1 kukuklok.com, 1 kukuma.tk, 1 kukutza.tk, 1 @@ -85337,6 +85440,7 @@ kulinarnykoneser.pl, 1 kultham.ml, 1 kulthist.tk, 1 +kultmeister.com, 1 kultmobil.se, 1 kultur-vor-ort.com, 1 kultur-werkstatt-wulfen.tk, 1 @@ -85395,11 +85499,13 @@ kunsthandel-augustus-rex.de, 1 kunstler.net, 1 kunstmuseum-moritzburg.de, 1 +kunststaub.fm, 1 kunststoffzaun-berlin.de, 1 kunstundkulturradioschoepfwerk.tk, 1 kunstundphysik.de, 1 kunstundunrat.de, 0 kunugi-inc.com, 1 +kunyit.com, 1 kunynapoddaszu.pl, 1 kunystop.pl, 1 kunze-medien.de, 0 @@ -85414,7 +85520,6 @@ kupid.com, 1 kupinska.pl, 1 kupipled.cf, 1 -kupisafe.com, 1 kupislivki.tk, 1 kupitmtz.gq, 1 kupitraktor.gq, 1 @@ -85534,6 +85639,7 @@ kuudere.moe, 1 kuukkanen.net, 1 kuunlamaailm.ee, 1 +kuvikloans.com, 1 kuwago.io, 1 kuwatsuru-dc.jp, 1 kuzbass-pwl.ru, 1 @@ -85636,6 +85742,7 @@ kyber.consulting, 1 kyber.network, 1 kyberguard.de, 1 +kyberhelp.cz, 1 kyberhub.com, 1 kyberna.xyz, 1 kyberpoint.com, 1 @@ -85666,7 +85773,6 @@ kyj76.com, 1 kyke.tech, 1 kykernel.com, 1 -kylacoin.com, 1 kylacoin.eu.org, 1 kyle-s.com, 1 kyle.place, 0 @@ -85750,6 +85856,7 @@ l041s.fr, 1 l0re.com, 1 l17r.eu, 1 +l1dof.com, 1 l1qu1d.net, 1 l214.com, 1 l2dragonland.tk, 1 @@ -85784,6 +85891,7 @@ la-casa.tk, 1 la-dameblanche.fr, 1 la-grande-jaugue.fr, 1 +la-kaz-a-velo.fr, 1 la-laitonnerie.com, 1 la-maison-neuve.com, 1 la-paco.tk, 1 @@ -85866,7 +85974,6 @@ laborbluesest.ga, 1 labordude.com, 1 laborriquita.tk, 1 -labortogether.com, 1 labottegafinedistillates.it, 1 labouncycastlehire.co.uk, 1 labour.co.nz, 1 @@ -85930,7 +86037,6 @@ lachispadetucuriosidad.es, 1 lachlan-harris.com, 1 lachlanb.me, 1 -lachner.cloud, 1 lachowicz.link, 1 lachyoga-schwieberdingen.de, 1 laciana.tk, 1 @@ -85942,7 +86048,6 @@ lackinflaveis.com.br, 1 lacledeslan.com, 1 lacledeslan.org, 1 -laclefdigitale.fr, 1 laclub.org, 1 lacnesidlo.sk, 1 lacoast.gov, 1 @@ -85951,6 +86056,7 @@ laconcepcion.tk, 1 laconciergeriedusoleil.fr, 1 laconiapdnh.gov, 1 +laconsultingcorp.com, 1 lacontrevoie.fr, 1 lacoquette.gr, 1 lacorteimoveis.com.br, 1 @@ -85960,6 +86066,7 @@ lacragamerpanel.ml, 1 lacrimosa.tk, 1 lacrinum.com, 1 +lacroix-corp.fr, 1 lacrosselocatorers.ga, 1 lacrosselocatorest.ga, 1 lacrossemortgageers.ga, 1 @@ -85967,7 +86074,6 @@ lacrossetribune.com, 1 lacrossewi.gov, 1 lacroy.com.br, 1 -lactisguard.com, 1 lacuartaorden.tk, 1 lacuisine.tk, 1 lacyc3.eu, 1 @@ -86082,7 +86188,6 @@ lafelguera.net, 1 lafermegourmande.fr, 1 laferreteriaonline.es, 1 -laffacake.com, 1 laffer.tk, 1 laffgaff.com, 1 lafika.ddns.net, 1 @@ -86114,7 +86219,6 @@ lagera-m-residence.com, 1 lagerauftrag.info, 0 laget.se, 1 -laghiinitalia.com, 1 lagier.xyz, 1 lagin.cz, 1 laginghanda.gov.ph, 1 @@ -86179,8 +86283,8 @@ lajnaserial.cz, 1 lajusta.tk, 1 lakabina.tk, 1 -lakashirdetes.com, 0 -lakashirdetesek.com, 0 +lakashirdetes.com, 1 +lakashirdetesek.com, 1 lakatnik.org, 1 lakatos.tk, 1 lakatosalex.hu, 1 @@ -86200,7 +86304,6 @@ lakedeltonwi.gov, 1 lakeelmo.gov, 1 lakefs.cloud, 1 -lakegenevanews.net, 1 lakegenevapiercompany.com, 1 lakehavasuhouserentals.com, 1 lakelafayettemo.gov, 1 @@ -86270,11 +86373,11 @@ lalumiere.org, 1 lalunedangkor.com, 0 lama-corp.space, 1 -lamac.ae, 1 lamafioso.com, 1 lamai-crochets.fr, 1 lamaisoncandle.co, 1 lamaisoncandle.com, 1 +lamaisondesrecettes.com, 1 lamaisondufort.fr, 1 lamaisonfantastique.fr, 1 lamalapalabra.tk, 1 @@ -86296,12 +86399,12 @@ lambdanachrichten.at, 1 lambdaof.xyz, 1 lambeaucreditunion.com, 1 -lambertshealthcare.co.uk, 1 lambertvillehistoricalsociety.org, 1 lambertz.xyz, 1 lamblogs.com, 1 lamboo.be, 1 lamborghi.ni, 1 +lambourn.info, 1 lambtonconveyor.com, 1 lamchannang.com, 1 lamclam.site, 1 @@ -86318,6 +86421,7 @@ lamet-kher.tk, 1 lameusame.be, 1 lamialiguria.it, 1 +lamigoshevora.pt, 1 laminado.com, 1 laminar.work, 1 laminine.info, 1 @@ -86335,6 +86439,7 @@ lamparassevilla.com, 1 lampbooks.gq, 1 lampco.com, 1 +lamper-design.nl, 1 lampertheimer-zeitung.de, 1 lamplightvideo.com, 1 lampposthomeschool.com, 1 @@ -86342,7 +86447,7 @@ lampreylabs.com, 1 lampsh.ml, 1 lampungrayanews.com, 1 -lamsa.com.mx, 1 +lamsa.com.mx, 0 lamsa.tk, 1 lamscommunity.org, 1 lamudi.ga, 1 @@ -86364,7 +86469,6 @@ lanaturedaure.com, 1 lanausea.tk, 1 lanbroa.eu, 1 -lancashire.gov.uk, 1 lancashirebeekeepers.org.uk, 1 lancashirecca.org.uk, 1 lancaster-archive.com, 1 @@ -86406,12 +86510,11 @@ landforsale.co.il, 1 landfrauen-hermetschwil.ch, 1 landglide.com, 1 -landgoeddorrebeek.be, 1 landgorilla.com, 1 +landhaus-strausberg.de, 1 landica.net, 1 landinfo.no, 1 landireporters.com, 1 -landisit.com, 1 landkind.com, 0 landkreis-augsburg.de, 1 landlimited.com, 1 @@ -86439,7 +86542,6 @@ landscaping.ga, 1 landscaping.gq, 1 landscapingdesignpro.com, 1 -landscapingipswich.com, 1 landscapingrepairers.ga, 1 landscovecoastalretreats.co.uk, 1 landsearch.com, 1 @@ -86457,7 +86559,6 @@ landzicht.tk, 1 lane.computer, 1 lanefinder.com, 1 -lanehealth.com, 0 lanet.tv, 1 lanetix.com, 1 langadeduero.tk, 1 @@ -86515,6 +86616,7 @@ lanselot.com, 1 lansenou.com, 1 lansilesia.tf, 1 +lansingmurdermystery.com, 1 lansingtwpmi.gov, 1 lansingvotes.gov, 1 lansociety.org, 1 @@ -86535,17 +86637,18 @@ lanzarote.com, 1 lao.dog, 0 laobayy.com, 1 -laoconsulting.com, 1 laoctavadireccion.tk, 1 laodongkynghi.info, 1 laohei.org, 0 laohuangba.com, 1 +laohys.com, 1 laolaweb.tk, 1 laoliang.ml, 1 laonawatersewerwi.gov, 1 laonawi.gov, 1 laorg.studio, 1 laorquestadelamemoria.tk, 1 +laorthos.com, 1 laostiaradio.tk, 1 laotravoz.tk, 1 laozhengxing.com, 0 @@ -86553,7 +86656,6 @@ lap3.nl, 1 lapageamelkor.org, 1 lapaginadejuanjo.tk, 1 -lapakmaboy.com, 1 lapaksulawesi.tk, 1 lapakus.com, 1 laparcela.tk, 1 @@ -86627,7 +86729,9 @@ laramuredesmots.fr, 1 laranjada.org, 1 larasm.tk, 1 +larattalabs.com, 1 laravel.software, 1 +laravel42.com, 1 laravelcommunity.asia, 1 larawoodarts.com, 1 larax.tk, 1 @@ -86635,7 +86739,6 @@ larcaenviro.com, 1 larch.gq, 1 larche.org.pl, 1 -larchitetto.it, 1 larchlab.com, 1 larchmontbuzz.com, 1 larchmontny.gov, 1 @@ -86692,7 +86795,6 @@ lars-mense.de, 1 lars-mielke.de, 1 lars-preussner.info, 1 -lars.cloud, 1 lars.moi, 1 lars.software, 1 larsartmann.com, 1 @@ -86706,7 +86808,6 @@ larsm.org, 1 larsmuller.nl, 1 larsnittve.tk, 1 -larss.eng.br, 1 larsvontrier.tk, 1 lartduportrait.fr, 1 lartdysa.com, 1 @@ -86885,6 +86986,9 @@ latka.tk, 1 latnetwork.com, 1 latoken.com, 1 +latomus.co.uk, 1 +latomus.com, 1 +latomus.uk, 1 latoquedor.com, 1 latorrecastropol.es, 1 latortilleria.eu, 1 @@ -86968,7 +87072,6 @@ laurentianlanes.com, 1 lauresta.lt, 1 lauretta.io, 0 -lauriane-garcia.avocat.fr, 1 lauriemo.gov, 1 laurieshieldsdesign.com, 1 laurikari.net, 1 @@ -86980,15 +87083,17 @@ lauruslabs.com, 1 lausannedentiste.ch, 0 lausannelovers.ch, 0 -lausitz-digital.com, 1 laut.digital, 1 lautsprecherforum.eu, 1 lauxincost.cf, 1 +lauyan.com, 1 lauzon-hitter.com, 1 lava.moe, 1 lavabit.com, 1 lavabit.no, 1 lavadodesalascdmx.mx, 1 +lavadron.com, 1 +lavaexpresscartagena.com, 1 lavaggio.it, 1 lavaggista.it, 1 lavaldostana.es, 1 @@ -87002,6 +87107,7 @@ lavaquitacheese.com, 1 lavarex.co.jp, 1 lavasing.eu.org, 1 +lavatrom.com, 1 lavavetri.it, 1 lavdiazofficial.tk, 1 laveg.edu.ee, 1 @@ -87036,7 +87142,6 @@ law-clinic-kiel.de, 1 law-colleges.com, 1 law-peters.de, 1 -law-profile.com, 1 law.co.il, 1 law22.com, 0 lawabidingcactus.com, 1 @@ -87057,7 +87162,6 @@ lawhery.com, 1 lawinform.com.au, 1 lawinorder.au, 1 -lawinorder.com, 1 lawinorder.com.au, 1 lawinordercom.au, 1 lawlessenglish.com, 1 @@ -87124,9 +87228,11 @@ layalli.bg, 1 layazc.com, 1 laycock.org.uk, 1 +laycockstreettheatre.com.au, 1 layer.it, 1 layermesh.net, 1 layernext.ai, 1 +layerqu.com, 1 layers.media, 1 layflamso.tk, 1 laylo.io, 1 @@ -87134,6 +87240,7 @@ laymans911.info, 1 layoutsatzunddruck.de, 1 layover-legends.com, 1 +layrd.design, 1 layt.org, 1 layxw.com, 1 lazada.pk, 1 @@ -87148,7 +87255,7 @@ lazerus.net, 1 lazerus.pw, 1 lazibeach.tk, 1 -lazionews.eu, 1 +lazionews.eu, 0 lazionews24.com, 1 lazistance.com, 1 lazo.futbol, 1 @@ -87162,6 +87269,7 @@ lazyempire.site, 1 lazyhelp.com, 1 lazyhomer.pl, 1 +lazylizardai.com, 1 lazynap.com, 1 lazysoftware.fr, 1 lazytapir.com, 1 @@ -87232,13 +87340,11 @@ lc873.com, 0 lc875.com, 0 lc897.com, 1 -lc8c.com, 1 lc8guidance.com, 1 lc9108.com, 1 lc9852.com, 1 lc9899.com, 1 lc9900.com, 1 -lc9910.com, 1 lc9920.com, 1 lc9930.com, 1 lc9940.com, 1 @@ -87372,6 +87478,7 @@ leadplus.com.au, 1 leadplusdev.com.au, 1 leadquest.nl, 1 +leadsapp.ai, 1 leadsbridge.com, 1 leadsformoney.tk, 1 leadsolutions.com.br, 1 @@ -87450,6 +87557,7 @@ learncoding.tk, 1 learndirt.com, 1 learndoj.gov, 1 +learnearnscale.com, 1 learnedhacker.com, 1 learnerdriving.com, 1 learnfastify.com, 1 @@ -87474,7 +87582,6 @@ learnspanishinandalusia.com, 1 learntamil.tk, 1 learnthetruth.tk, 1 -learntobeonline.com, 1 learntofly.tk, 1 learntosurfcaparica.com, 1 learntosurflisbon.com, 1 @@ -87590,7 +87697,6 @@ lectronz.com, 1 lecturaweb.tk, 1 lecul.site, 1 -led-sk.ru, 1 led.xyz, 0 leda.tv, 1 ledburyvets.co.uk, 1 @@ -87788,6 +87894,7 @@ legalpicker.ga, 1 legalpickup.ga, 1 legalplatinum.ga, 1 +legalprecision.ai, 1 legalpremier.ga, 1 legalprestige.ga, 1 legalpro.tk, 1 @@ -87810,7 +87917,6 @@ legalsrit.tk, 1 legalsustain.ga, 1 legalthunder.ga, 1 -legaltings.com, 1 legaltip.eu, 1 legaltreasure.ga, 1 legalunique.ga, 1 @@ -87895,6 +88001,7 @@ lehvyn.org, 0 leia.cc, 1 leibniz-gymnasium-altdorf.de, 1 +leibniz-imn.de, 1 leibniz-trifft.de, 1 leibniztrifft.de, 1 leicabiosystems.com, 1 @@ -87906,9 +88013,9 @@ leics.com, 1 leideninternationalreview.com, 1 leier.ml, 1 -leighannorsi.com, 0 leighneithardt.com, 1 leignier.org, 1 +leikstund.org, 1 leilaarias.com.br, 1 leilaelu.com.br, 1 leilakaleva.fi, 1 @@ -87940,7 +88047,7 @@ lejaimesteticaspa.com, 1 lejardindesmesanges.fr, 1 lejlax.com, 1 -lejournaldublog.com, 0 +lejournaldublog.com, 1 lekarkabajkopisarka.pl, 1 lekarz-wizyty.pl, 1 lekasedgar.com, 1 @@ -88064,6 +88171,7 @@ lennybacon.com, 1 lennybruce.tk, 1 lennyendewespen.tk, 1 +lennyobez.com, 1 leno-it.fr, 0 lenoblpech.ru, 1 lenoirnc.gov, 1 @@ -88135,6 +88243,7 @@ leonardoholguin.com, 1 leonardospada.it, 1 leonardostart.tk, 1 +leonardovalori.com, 1 leonardovarella.com.br, 1 leonardtheologicalcollege.com, 1 leonauto.de, 1 @@ -88142,7 +88251,6 @@ leonbuitendam.nl, 1 leoncss.ml, 1 leongalin.tk, 1 -leonhooijer.nl, 0 leonidas-dovido.tk, 1 leoniepur-porn.com, 1 leonieslonging.org, 1 @@ -88170,7 +88278,6 @@ leotrepp.org, 1 leovanna.co.uk, 1 lep.gov, 1 -lepalierjuridique.com, 1 lepartiecomemoracoes.com.br, 1 lepat.es, 1 lepatch.jp, 1 @@ -88199,12 +88306,14 @@ lequocthai.com, 1 ler3.com, 1 lerameau.fr, 1 +lerhumatologue.fr, 1 lerika.tk, 1 lerisloisdesbaquets.fr, 1 lerks.blog, 1 lerku.com, 1 lerm.nl, 1 lermer.nl, 1 +lermf.org, 1 lernenamsee.ch, 1 lernerspersonalinjury.ca, 0 lernorteuropa.com, 1 @@ -88247,6 +88356,7 @@ lesborgestv.cat, 1 lesbrillantsdaristide.com, 1 lescabanesduloupbleu.com, 1 +leschampions.uk, 1 lescharmesdebailly.com, 1 lescommunes.com, 1 lescomptoirsdepierrot.com, 1 @@ -88279,6 +88389,7 @@ leslie.horse, 1 lesliedegroot.nl, 1 lesliewong.us, 1 +leslinq.com, 1 lesmajuscules.fr, 1 lesmatinesdheres.fr, 1 lesmills-redirect-test.azurewebsites.net, 1 @@ -88315,6 +88426,7 @@ lestravauxduparticulier.fr, 1 lestrokeofgenius.com, 1 lestudiopecot.fr, 1 +lesvacances.info, 1 lesvertsmaroc.tk, 1 lesy.eu, 1 lesycr.cz, 1 @@ -88325,6 +88437,7 @@ letavo.co.uk, 1 letchikleha.tk, 1 letdownloads.tk, 1 +lete.ee, 1 letec.be, 1 leteckedarky.cz, 1 letemps.ch, 1 @@ -88346,6 +88459,7 @@ leto12.xyz, 0 letocar.com, 1 letocraft.cz, 1 +letoiledunord.ca, 1 letominor.com, 1 letopise.com, 1 letourneaudistributeur.com, 1 @@ -88365,6 +88479,7 @@ letsbrandholding.com, 1 letsbrandholding.nl, 1 letscahoot.net, 1 +letscleanlaundry.in, 1 letsclimact.com, 1 letscom.it, 1 letscrackit.ml, 1 @@ -88379,6 +88494,8 @@ letsflyinto.space, 1 letsgame.nl, 1 letsgo.icu, 1 +letsgocasino.com, 1 +letsgocasino.net, 1 letsgowhilewereyoung.com, 1 letsight.com, 1 letsknow.ga, 1 @@ -88408,7 +88525,7 @@ lettrefrancophile.ga, 1 lettres-motivation.net, 1 lettucegeek.com, 1 -lettucestudios.net, 1 +lettucestudios.net, 0 letturaveloce.tk, 1 letushelpev.org, 1 letustravel.tk, 1 @@ -88426,6 +88543,7 @@ leukert.org, 1 leuldeaur.ro, 1 leulu.com, 1 +leumascc.com, 1 leuname.co.uk, 1 leundt.com, 1 leusemiamusic.tk, 1 @@ -88438,7 +88556,6 @@ levanscatering.com, 1 levantage.tk, 1 levaquin750.ga, 1 -levarc.de, 1 levati.name, 1 leveeroadstudio.com, 1 level-assist.com, 1 @@ -88503,12 +88620,12 @@ leweslivingstreets.tk, 1 lewiatan.opole.pl, 1 lewig.net, 1 -lewis-sharp.com, 1 lewisborony.gov, 1 lewisboropd.gov, 1 lewiscollard.com, 1 lewiscountyny.gov, 1 lewiscountytn.gov, 1 +lewisjgibson.com, 1 lewisjuggins.co.uk, 1 lewismcyoutube.uk, 1 lewistonutah.gov, 1 @@ -88516,6 +88633,7 @@ lewt.me, 1 lex-legal.com.ua, 1 lex18.com, 1 +lexaidxb.com, 1 lexapro-price.ga, 1 lexautoservice.nl, 1 lexblogplatform.com, 1 @@ -88634,6 +88752,7 @@ lgtrees.co.uk, 1 lgv-france.com, 0 lgworld.cz, 1 +lgzyj.com, 1 lhajn.cz, 1 lhakustik.se, 1 lhconsult.tk, 0 @@ -88645,6 +88764,7 @@ lhost.su, 1 lhp-creation.fr, 1 lhpk.no, 1 +lhr.wiki, 1 lhsbudget.com, 1 lhsdoi.com, 1 lhsj28.com, 1 @@ -88684,6 +88804,7 @@ lianka.eu, 1 lianka.pl, 1 lianka.uk, 1 +lianseng.com, 1 liantao.com, 1 lianwen.kim, 1 liaozheqi.cn, 1 @@ -88696,7 +88817,6 @@ libapps.net, 0 libauth.com, 1 libbitcoin.org, 1 -libble.eu, 1 libcal.com, 1 libcal.net, 1 libchat.com, 1 @@ -88736,6 +88856,7 @@ libertas-tech.com, 1 liberte-toujours.tk, 1 libertino.tk, 1 +libertiny.com, 1 libertis.ga, 1 liberty-city.tk, 1 liberty-host.tk, 1 @@ -88781,7 +88902,6 @@ libractes.tk, 1 libraideos.tk, 1 librairiezbookstore.com, 1 -libramedia.ru, 1 libranet.eu, 1 libraproje.com, 1 librariansteach.com, 1 @@ -88796,7 +88916,6 @@ librarytapes.tk, 1 librarytools.com, 1 libravatar.org, 1 -librazy.org, 1 libre-innovation.org, 1 libre.cr, 1 libre.net.au, 1 @@ -88886,6 +89005,7 @@ lide.eu, 1 lidel.org, 1 lidepla.com, 1 +lider24.eu, 1 lidernaturascarlettbados.com, 1 liderok.tk, 1 liderzyprawa.pl, 1 @@ -88922,7 +89042,7 @@ liegveld.nl, 1 liella.me, 1 liemen.net, 1 -liena.be, 0 +liena.be, 1 lienhuyghebaert.tk, 1 lier.link, 1 lier.tk, 1 @@ -88961,7 +89081,6 @@ lifecoresystems.com, 1 lifecraft.cf, 1 lifecreator.cn, 1 -lifecycle-gmbh.com, 1 lifedrops.com.au, 1 lifegoesonsojustsmile.tk, 1 lifehacker.com, 1 @@ -88982,6 +89101,7 @@ lifekiss.ru, 1 lifelabltd.com, 1 lifelessandcalm.com, 1 +lifeline-iq.com, 1 lifelineanimal.org, 1 lifelinespublishing.com, 1 lifelinesupport.org, 1 @@ -89012,6 +89132,7 @@ lifeslice.online, 1 lifeslonglist.com, 1 lifesoccer.tk, 1 +lifespan-solutions.com, 1 lifestorage.com, 0 lifestyle.bg, 1 lifestyle7788.com, 1 @@ -89063,6 +89184,7 @@ lighthouseglobal.com, 1 lighthouseguild.org, 0 lighthousepointfl.gov, 1 +lightingmasterlc.com, 1 lightingpacificpalisades.com, 1 lightman.cz, 1 lightme.us, 1 @@ -89132,7 +89254,6 @@ likecrabwalkslowly.ml, 1 liked.hu, 1 likefast.tk, 1 -likegeeks.com, 1 likehifi.de, 1 likenewhearing.com.au, 1 likenosis.com, 1 @@ -89177,7 +89298,6 @@ lilize.de, 1 lillalisa.tk, 1 lille.ml, 1 -lillet.com, 1 lillieprivat.org, 1 lilly-lil.net, 1 lilly-lil.org, 1 @@ -89188,13 +89308,12 @@ lilstarry.com, 1 lilth.moe, 1 liltv.media, 1 -liluna.nl, 0 +liluna.nl, 1 lily-bearing.com, 1 lily-inn.com, 1 lily-luv.com, 1 lily.flowers, 1 lilyallenlife.ga, 1 -lilyandpeabody.com, 1 lilylasvegas.com, 1 lilypad.gg, 1 lilypadspa.net, 1 @@ -89210,6 +89329,7 @@ limap.ch, 1 limatownshipmi.gov, 1 limawi.io, 1 +limbachinc.com, 1 limbaido.tk, 1 limberg.me, 1 limbo-online.tk, 1 @@ -89293,10 +89413,11 @@ lincolncountysheriffok.gov, 1 lincolncountytn.gov, 1 lincolncountywy.gov, 1 -lincolnfinewines.com, 1 lincolnil.gov, 1 lincolnimps.tk, 1 lincolnmoneyman.com, 1 +lincolnmouraimoveis.com, 1 +lincolnmouraimoveis.com.br, 1 lincolnparkpressurewashing.com, 1 lincolnri.gov, 1 lincolnshirefdil.gov, 1 @@ -89313,7 +89434,6 @@ lindanblog.com, 1 lindaolsson.com, 0 lindapark.com, 1 -lindazi.com, 1 linden-nj.gov, 1 linden.tk, 1 lindenfd-nj.gov, 1 @@ -89346,7 +89466,6 @@ lindung.pp.ua, 1 line.biz, 1 line.co.nz, 0 -linea-nova.be, 1 lineacreative.com, 1 lineaesse5.it, 1 lineage2.es, 1 @@ -89426,6 +89545,7 @@ linkbong.tk, 1 linkbooks.ga, 1 linkborn.com, 1 +linkboxai.com, 1 linkcat.tk, 1 linkcodegenerator.com, 1 linkdesign.tk, 1 @@ -89457,11 +89577,12 @@ linkoncn.com, 1 linkopia.com, 1 linkopingventilation.se, 1 +linkphra.se, 1 linkportal.tk, 1 linkposts.tk, 1 linkprivate.de, 1 linkrehberi.tk, 1 -linkriver.io, 0 +linkriver.io, 1 linkroll.cf, 1 links22.com, 1 linksafe.ga, 1 @@ -89476,7 +89597,7 @@ linksol-inc.com, 1 linksonar.io, 1 linkspace.tk, 1 -linkss.express, 1 +linkstations.com, 1 linkstellar.com, 1 linktgo.com, 1 linkthis.me, 1 @@ -89546,11 +89667,14 @@ linss.org, 1 linss.org.cn, 1 linssindustries.com, 1 +lintenritueel.com, 1 linu.gq, 1 +linuos.com, 1 linusdrop.tips, 1 linuslagerhjelm.se, 1 linusruckstuhl.ch, 1 linussblanket.com, 1 +linuwih.co.id, 1 linux-admin-california.com, 1 linux-admin.tk, 1 linux-audit.com, 1 @@ -89632,6 +89756,7 @@ lionsclubgeraardsbergen.be, 1 lionsk.tk, 1 lionsroarnews.com, 1 +liora.capital, 1 lioraaja.com, 1 liorggi.ga, 1 lip.pt, 1 @@ -89729,7 +89854,6 @@ lisloi.be, 1 lisnail.gr, 1 lisowski-photography.com, 1 -lisp.org, 1 lispeechtherapy.com, 1 lissabon.tk, 1 lissabonsite.tk, 1 @@ -89738,6 +89862,7 @@ lisslonglegs.com, 1 lissongallery.com, 1 list-company.net, 1 +list.sg, 1 list1.tk, 1 listach.tk, 1 listahu.org, 1 @@ -89795,7 +89920,7 @@ lite-1x9264112.top, 1 lite-chat.tk, 1 liteanalytics.com, 1 -liteawa.com, 1 +liteawa.com, 0 litebattre.com, 1 litebit.de, 1 litebit.eu, 1 @@ -89835,7 +89960,6 @@ litkicks.com, 1 litnetwork.org, 1 litolin.tk, 1 -litorallimpo.com.br, 1 litoslab.nl, 1 litportal.gq, 1 litteraturkanonen.se, 1 @@ -89848,6 +89972,7 @@ little.recipes, 1 littlebar.tk, 1 littlebestfriend.de, 1 +littlebible.net, 1 littlebig.co, 1 littlebigthings.be, 1 littlebirds.cf, 1 @@ -89875,7 +90000,9 @@ littlehide.gq, 1 littlehoop.edu, 1 littleireland.co.uk, 1 +littlejandbigcuz.com.au, 1 littlejunglebg.com, 1 +littlelotsonline.com, 1 littlelucifercafe.tk, 1 littlemaple.tk, 1 littlemaster.tk, 1 @@ -89897,6 +90024,7 @@ littlesilvernj.gov, 1 littlesk.in, 1 littleskin.cn, 1 +littlesmileflower.com, 1 littlesouls.ml, 1 littlestars.bg, 1 littlesteve.es, 1 @@ -90019,7 +90147,6 @@ livepornguide.com, 1 livequote.info, 1 liveregistratie.nl, 1 -liverfoundation.org, 1 liverkids.tk, 1 livermoreca.gov, 1 livermorefireco.gov, 1 @@ -90072,7 +90199,7 @@ livingstonebuilding.co.nz, 1 livingstontx.gov, 1 livingthetech.com, 1 -livingtoxfree.com, 1 +livingtoxfree.com, 0 livingwithchange.org, 1 livinkitchen.tk, 1 livive.com, 1 @@ -90085,6 +90212,7 @@ livornonellarete.tk, 1 livornoportopulitoaps.org, 1 livornotoday.it, 1 +livoti-safety.ch, 1 livrariacoad.com.br, 1 livrariaideak.com.br, 1 livresetmanuscrits.com, 1 @@ -90129,7 +90257,7 @@ ljdesign.be, 1 ljekarne-plantak.hr, 1 ljesports.com, 1 -ljpc-hosting.nl, 0 +ljpc-hosting.nl, 1 ljs.io, 1 ljskatt.com, 1 ljskatt.no, 1 @@ -90138,8 +90266,8 @@ ljusdalsnaprapatklinik.se, 1 ljusnarsberg.se, 1 ljw.me, 1 -lk-hardware.cz, 0 lk1.bid, 1 +lkbcyber.com, 1 lkbk.uk, 1 lkff.nl, 1 lkhrs.com, 1 @@ -90251,7 +90379,6 @@ loadhourly.tk, 1 loading.se, 1 loadme.ml, 1 -loadninja.com, 1 loador.com, 1 loadover.me, 1 loadwallet.com, 1 @@ -90318,6 +90445,7 @@ locallandscape.services, 1 locallawfirms.com, 1 locallhost.me, 1 +locallinkgalway.ie, 1 locallures.com, 1 localmonero.co, 1 localnetwork.nz, 1 @@ -90347,6 +90475,7 @@ locas.me, 1 locatecellphone.gq, 1 location-appartement-dakar.com, 1 +location-clementguy.fr, 1 location-fichier-email.com, 1 location-vacances-campello.com, 1 location-vacances-croatie.tk, 1 @@ -90498,6 +90627,7 @@ logevou-immobilier.tk, 1 logfile.at, 1 logfile.ch, 1 +logflylog.com, 1 logfro.de, 1 logfurnitureplace.com, 1 logic-nest.net, 1 @@ -90542,6 +90672,7 @@ logingate.hu, 1 loginsecure.eu, 1 loginsoft.com, 1 +logintoo.com, 1 loginwithhn.com, 1 logipdv.pt, 1 logipic.at, 1 @@ -90549,6 +90680,8 @@ logismn.gov, 1 logisparte.com, 1 logisplus.ca, 1 +logistica.it, 1 +logisticschina.com, 1 logitel.de, 1 logitheque.com, 1 logitheque.tk, 1 @@ -90632,7 +90765,6 @@ lojadosomautomotivo.com.br, 1 lojaestacaosaopedro.com.br, 1 lojafilipaper.com.br, 1 -lojaflordelaranjeira.com.br, 1 lojagravataria.com.br, 1 lojahaus.com.br, 1 lojahbk.com.br, 1 @@ -90663,6 +90795,7 @@ lojistaguarani.com.br, 1 lojix.com, 0 lojj.pt, 1 +lokaltravel.com, 1 lokan.id, 1 loket.nl, 1 lokinet.org, 1 @@ -90674,14 +90807,12 @@ lola.by, 1 lolacandy.com, 1 lolalacita.net, 1 -lolaseuropeancafe.com, 1 lolbird.tk, 1 lolcats.cat, 1 lolchat.tk, 1 lolcloud.ru, 1 lolcorp.pl, 1 lolcosplay.ga, 1 -lolcow.farm, 1 loldudes.com, 1 lolfunny.tk, 1 loli.art, 1 @@ -90725,7 +90856,6 @@ lolivpn.com, 1 lolkmal.myaddr.io, 1 lolkmal.myaddr.tools, 1 -lolkot.ru, 1 lollipopo69.net, 1 lollypop.tk, 1 lollysmalls.com, 1 @@ -90745,7 +90875,6 @@ lomat.com, 1 lomayko.ml, 1 lombard.co.uk, 1 -lombard.ie, 1 lombardicompanies.com, 1 lomex.tk, 1 lomgo.cf, 1 @@ -90760,7 +90889,7 @@ lomuarredi.com, 1 lomza.tk, 1 lon-so.com, 1 -lona.io, 1 +lona.io, 0 lonasdigital.com, 1 lonavla.tk, 1 lonca.co, 1 @@ -90768,6 +90897,7 @@ london-mafia.tk, 1 london-transfers.com, 1 london-wealth.com, 1 +londonc.co.uk, 1 londondampspecialists.com, 1 londonderrynh.gov, 1 londonderrynhfire.gov, 1 @@ -90778,6 +90908,7 @@ londonhealthcare.tk, 1 londonjob.tk, 1 londonkan.jp, 1 +londonlondon.uk, 1 londonmoneyman.com, 1 londonnorthwesternrailway.co.uk, 1 londonpropertymatch.com, 1 @@ -90787,7 +90918,7 @@ londontwpmi.gov, 1 londonukbasedvipcloseprotectionbodyguardservices.com, 1 londonvetspecialists.vet, 1 -londonwomensclinic.com, 1 +londonwomensclinic.com, 0 lone-wolf.tk, 1 lonecesitope.com, 1 loneline.ss, 1 @@ -90813,8 +90944,7 @@ long0898.com, 1 long0976.com, 1 long0999.com, 1 -long266.com, 1 -long68.net, 0 +long266.com, 0 long688.com, 0 long8032.com, 1 longb.com.br, 1 @@ -90826,6 +90956,7 @@ longchampgirls.tk, 1 longcountyga.gov, 1 longenyc.com, 1 +longerwords.com, 1 longest.tk, 1 longestday.org.au, 1 longevita.co.uk, 1 @@ -90872,6 +91003,7 @@ lonza.ch, 1 lonzagroup.net, 1 loober.tk, 1 +loodgietervuister.nl, 1 looj.in, 1 look-books.tk, 1 look-info.tk, 1 @@ -90897,7 +91029,7 @@ loomi.tv, 1 loomis.center, 1 loonbedrijfdenboer.nl, 1 -loonbio.com, 1 +loonbio.com, 0 loonindex.be, 1 loop.com, 0 loop.us, 1 @@ -90910,14 +91042,13 @@ loopingz.com, 1 loopkey.com.br, 0 loopool.tk, 1 +loopsclt.com, 1 looseleafsecurity.com, 1 lootboy.com, 1 lootboy.de, 1 lootdog.io, 1 loothole.com, 1 lootlemon.com, 1 -lootrix.live, 1 -loots.eu, 1 lootstudios.com, 0 loottitan.com, 1 lopata.cloud, 1 @@ -91068,6 +91199,7 @@ lost-bit.tk, 1 lost-illusions.tk, 1 lost-perdidos-hiatus.tk, 1 +lost-ring.de, 1 lostandfound.mu, 1 lostandfoundmember.com, 1 lostandfoundsoftware.com, 1 @@ -91103,6 +91235,8 @@ lostwithielu3a.org.uk, 1 lostwood.com, 1 lostwoods.tk, 1 +losuria.com, 1 +losuria.de, 1 losvestidosdeana.com, 1 losviajesdequimyelena.com, 1 losyandex.tk, 1 @@ -91110,6 +91244,7 @@ lot100cocoaland.com, 1 lotc.cc, 1 loteamentoabertocapivari.com.br, 1 +loteamentoecasa.com.br, 1 lotekk.gq, 1 lotereiki.tk, 1 loteriasdominicana.com.do, 1 @@ -91123,11 +91258,12 @@ lotnews.net, 1 lotnonline.net, 1 lotnonline.nl, 1 -loto-king.com, 1 lotoperu.com, 1 lotos-ag.ch, 1 lotrarts.com, 1 lotrsketch.com, 1 +lotse-it.de, 1 +lotsynergy.com, 1 lottcarey.org, 1 lotteo.com, 1 lotterycodex.com, 1 @@ -91150,6 +91286,7 @@ lotusbook247.com, 1 lotuselise.tk, 1 lotushouse.bg, 1 +lotuspsychiatryandwellness.com, 1 lotusweb.tk, 1 lotuswebsolutions.tk, 1 lotw.de, 0 @@ -91183,7 +91320,6 @@ louisianalifesciences.gov, 1 louisianamo.gov, 1 louisiananetzero.gov, 1 -louisianarecoveryauthority.org, 1 louisianarural.gov, 1 louisianassbci.gov, 1 louisianatitlesearch.com, 1 @@ -91210,6 +91346,7 @@ lousingchaphu.com, 1 lousoyolos.fr, 1 loutro.tk, 1 +loutz.net, 1 louwlemmer.com, 1 louwpost.nl, 1 louyu.cc, 0 @@ -91273,7 +91410,6 @@ lovelyshop.mx, 1 lovelytimes.net, 1 lovemachinenyc.com, 1 -lovemanagementaccounts.co.uk, 1 lovememories.cf, 1 lovemen.cc, 1 lovemiku.info, 1 @@ -91284,6 +91420,8 @@ lovenet.tk, 1 loveni.me, 1 lovenwishes.com, 1 +loveourlivinglakes.com.au, 1 +loveourlivinglakes.net, 1 loveplanets.tk, 1 lovepolicy.com, 1 lover-bg.com, 1 @@ -91349,7 +91487,6 @@ lowriderz.tk, 1 lowsec.space, 1 lowtempind.com, 1 -lowthiandesign.com, 1 lowvarates.com, 1 loyaliplaw.com, 1 loyaltech.ch, 1 @@ -91365,7 +91502,6 @@ loyverse.town, 1 lozhka-mernaya.tk, 1 lp-support.nl, 0 -lp177.fr, 1 lpcd-lafla.gov, 1 lpcdops-lafla.gov, 1 lpchemicalsolution.tk, 1 @@ -91447,7 +91583,6 @@ lspdonline.gq, 1 lspl.pl, 1 lsquared.com, 1 -lsrm.org, 1 lstma.com, 1 lstu.tk, 1 lsupg.com, 1 @@ -91473,7 +91608,6 @@ ltime.ml, 1 ltlec.cn, 1 ltlec.com, 0 -ltlec.net, 1 ltlec.services, 1 ltls.org, 1 ltmetro.com, 1 @@ -91483,9 +91617,7 @@ ltonews.com, 1 ltransferts.com, 1 ltrickett.com, 1 -ltxhost.org, 1 lty.best, 1 -lty.name, 0 lty.space, 1 ltycode.org, 1 lu.search.yahoo.com, 0 @@ -91658,6 +91790,7 @@ lugansk-news.ru, 1 lugaresturisticosdeguatemala.ga, 1 luggagent.com, 1 +lugh-group.com, 1 lugimax.com, 1 luginbuehl.be, 1 luginbuehl.eu, 1 @@ -91675,9 +91808,10 @@ luisanalopilatogrecia.tk, 1 luisaviles.tk, 1 luisbacher.tk, 1 +luisdanielmusik.com, 1 luisfreire.ml, 1 luisillo.tk, 1 -luisjosesaldana.com, 1 +luisjosesaldana.com, 0 luismandiola.com, 1 luismiguelcolombia.tk, 1 luisnavarrosl.tk, 1 @@ -91686,7 +91820,6 @@ luisv.me, 1 luisvmf.com, 1 luisvmf.tk, 1 -luisyr.com, 1 luiza.ga, 1 luje.eu, 1 luje.net, 1 @@ -91761,6 +91894,7 @@ luluexchange.com, 1 lulugold.ba, 1 luluwoldtravel.com, 1 +luma.ly, 1 lumaesthetic.co.uk, 1 lumafestival.com, 1 lumalux.it, 1 @@ -91778,6 +91912,7 @@ lumenproduct.com, 1 lumentell.us, 1 lumer.tech, 1 +lumero.nl, 1 lumi.com, 1 lumi.pw, 1 lumidatasolutions.com, 1 @@ -91815,8 +91950,6 @@ lunaazulestudio.com, 1 lunaburner.ml, 1 lunaclan.tk, 1 -lunaclo.eu, 1 -lunaclo.nl, 1 lunacraft.ga, 1 lunadea.tk, 1 lunagrill.com, 1 @@ -91824,11 +91957,11 @@ lunakit.org, 1 lunalove.de, 1 lunalya.de, 1 +lunamantra.com, 1 lunanova.moe, 1 lunaonline.tk, 1 lunapps.com, 1 lunar6.ch, 0 -lunarcomunidad.com, 1 lunares.pl, 1 lunarflake.com, 1 lunarhost.cf, 1 @@ -91860,7 +91993,6 @@ lungta.pro, 1 lunguflorin.ro, 1 lungustefan.ro, 1 -luniak.net, 1 lunight.ml, 1 lunite.net, 1 lunite.tk, 1 @@ -91874,6 +92006,7 @@ lunulanails.nl, 1 luo.bo, 1 luobo8.com, 1 +luoboysw.com, 1 luoe.cloud, 1 luoe.me, 1 luoh.cc, 1 @@ -91940,14 +92073,12 @@ lustkar.com, 1 lustrecloud.art, 1 lusynth.com, 0 -lutarym-romane.de, 1 luteijn.biz, 1 luteijn.cloud, 1 luteijn.email, 1 lutendo.com, 1 lutesite.tk, 1 lutherus.tk, 1 -lutify.me, 1 lutoma.org, 1 lutricia.tk, 1 lutruwita.com, 1 @@ -91975,10 +92106,10 @@ luxarchive.tk, 1 luxarymodels.com, 1 luxaterra.com, 1 +luxcapital.com, 1 luxden.com, 1 luxdn.com, 1 luxe-in.gr, 1 -luxe.digital, 1 luxebadkameraccessoires.nl, 1 luxedentalfl.com, 1 luxegram.co, 1 @@ -92017,7 +92148,6 @@ luxuryandexecutivetravel.co.uk, 1 luxuryapartmentscostablanca.nl, 1 luxurydress.tk, 1 -luxuryfashion.hu, 1 luxurygifts.tk, 1 luxuryhome.co.id, 1 luxuryhomefloripa.com, 1 @@ -92030,6 +92160,7 @@ luxuryislandtrips.com, 1 luxurynsight.net, 0 luxuryportal.net, 0 +luxuryrentalsmadrid.com, 1 luxuryspeed.tk, 1 luxurystays.in, 1 luxurythatlasts.com, 1 @@ -92099,7 +92230,6 @@ lyam.fr, 1 lyap-lyandiya.ga, 1 lyax.be, 1 -lybelul.com, 1 lycaonsec.com, 1 lyceum.lk, 1 lychankiet.name.vn, 0 @@ -92163,7 +92293,6 @@ lyonrestoration.com, 1 lyonsbytes.com, 1 lyontwp-higginsmi.gov, 1 -lyoproform.fr, 1 lyradhealth.com, 0 lyrae.de, 1 lyram2m.com.br, 1 @@ -92183,9 +92312,7 @@ lyscnd.com, 1 lysel.net, 1 lysergion.com, 1 -lysethcreation.com, 1 lyst.co.uk, 1 -lyteclinic.com, 0 lytho.com, 1 lytkins.ru, 1 lyubov-sovmestimost.cf, 1 @@ -92260,6 +92387,7 @@ m1r2.com, 1 m23cal.eu, 1 m24o.net, 1 +m2am.fr, 1 m2designer.com.br, 1 m2epro.com, 0 m2i-api.com, 1 @@ -92274,7 +92402,6 @@ m36533.com, 1 m3rck.ch, 1 m42-gmbh.de, 1 -m426.ch, 1 m4g.ru, 1 m4ma.com, 1 m4rcus.de, 1 @@ -92329,7 +92456,6 @@ maat.pt, 1 maatimpact.com, 1 maatt.ch, 1 -maatt.fr, 1 maatwerkopruimcoaching.nl, 1 maatwerkzorgcoaching.nl, 1 maavaishnowsewatrust.com, 1 @@ -92349,6 +92475,7 @@ mabrav.ro, 1 mabusalah.tk, 1 mac-i-tea.ch, 0 +mac.ao, 1 macabeo.bio, 1 macailabritton.com, 1 macalha.com, 1 @@ -92430,12 +92557,11 @@ macley.nl, 1 macmahon.com.au, 1 macna.com.sa, 0 -macnemo.de, 1 +macnemo.de, 0 macnetwork.eu, 0 macnetwork.fr, 0 macnetwork.net, 0 macnews.org, 1 -maco.org.uk, 1 macompta.fr, 1 macon-newsroom.com, 1 maconcountymo.gov, 1 @@ -92451,7 +92577,6 @@ macpaw.com, 1 macperformanceguide.com, 1 macpress.com.br, 1 -macquariesolar.com, 1 macreosolutions.com, 1 macroad.com, 1 macrobills.com, 1 @@ -92484,6 +92609,7 @@ madasocialmedia.org, 1 madbean.com, 1 madbicicletas.com, 1 +madbin.com, 1 madbouncycastles.co.uk, 1 madcloud.io, 1 madcosao.gov, 1 @@ -92575,12 +92701,9 @@ madori-jewelry.com, 1 madori-jewelry.de, 1 madori-jewels.ch, 1 -madori-jewels.cn, 1 madori-jewels.com, 1 madori-jewels.de, 1 -madori.cn, 1 madorijewellery.ch, 1 -madorijewellery.cn, 1 madorijewellery.com, 1 madorijewellery.de, 1 madorijewelry.ch, 1 @@ -92650,6 +92773,7 @@ maewongaming.tk, 1 maff.co.uk, 1 maffole.com, 1 +mafhomhub.com, 1 mafia-web.tk, 1 mafiaclan.tk, 1 mafiaclub.ml, 1 @@ -92715,7 +92839,6 @@ mager.org, 1 magescobd.com, 1 magesy.blog, 1 -magesypro.com, 0 magewell.nl, 1 maggianos.com, 1 maggie-shaw.co.uk, 0 @@ -92839,7 +92962,6 @@ magnoliawi.gov, 1 magnoric.com, 1 magnosautos.ng, 1 -magnumsol.ru, 1 magnunbaterias.com.br, 1 magnusfulton.com, 1 magnusj.net, 1 @@ -92872,6 +92994,7 @@ mahalux.cz, 1 mahalux.de, 1 mahalux.eu, 1 +maharashtrian.com, 1 maharishikaa.org, 1 mahaskacountyia.gov, 1 mahatenders.gov.in, 1 @@ -92885,6 +93008,7 @@ mahealthsurveys.gov, 1 maherhost.uk, 1 maheshbabuphotography.tk, 1 +maheshkumarbh.com, 1 maheshpur.tk, 1 maheshpurnews24.tk, 1 maheshwaran.tk, 1 @@ -92906,6 +93030,7 @@ mahou-sanmiguel.com, 1 mahsaalert.com, 1 mahtabichat.ml, 1 +mahuaysw.com, 1 mahurivaishya.com, 1 mai.ru, 1 maiaimobiliare.ro, 1 @@ -93008,7 +93133,7 @@ mailon.ga, 1 mailosaur.com, 1 mailpass.ml, 1 -mailplus.com.au, 1 +mailplus.com.au, 0 mailsac.com, 1 mailsec.se, 1 mailsend.ml, 1 @@ -93046,7 +93171,6 @@ mainstreetauto.com, 1 maintainyourwebsite.help, 1 maintenance-traceur-hp.fr, 1 -mainzelmaennchen.net, 0 mainzer-allerlei.de, 1 maioresemelhores.com, 1 mair.best, 1 @@ -93073,7 +93197,6 @@ maison-auriat.fr, 1 maison-du-mineur.com, 1 maison-eureka.fr, 1 -maison2com-event.fr, 1 maisondelafigue.com, 1 maisondepax.com, 1 maisondidon.com, 1 @@ -93081,8 +93204,6 @@ maisonmere.group, 1 maisonrouge-musee.fr, 1 maisonsaintfort.fr, 1 -maisonsantocchia.com, 1 -maisonsantocchia.fr, 1 maisonsdenfrance-cls.fr, 1 maisonstpaul.fr, 1 maisonwow.fr, 1 @@ -93126,7 +93247,6 @@ majnooncomputer.net, 1 majolka.com, 1 majorcore.com, 1 -majorhifi.com, 1 majplast.pl, 1 majstorov.info, 1 majstorov.rs, 1 @@ -93157,8 +93277,9 @@ makeevkanews.ru, 1 makeit-so.de, 0 makeitpopadvertising.com, 1 -makeitredi.com, 1 +makeitredi.com, 0 makeitright.ca, 1 +makeitrun.ai, 1 makeitshort.ml, 1 makeitsimple.pt, 1 makejustice.work, 1 @@ -93187,7 +93308,6 @@ makermiles.org, 1 makersempire.com, 1 makerspace-gt.de, 1 -makertown.jp, 1 makesenseofdata.co.uk, 1 maketheconnection.net, 1 makeupevelinua.cf, 1 @@ -93233,12 +93353,11 @@ maksport.ml, 1 maksutov.tk, 1 maktoob.search.yahoo.com, 0 -makuisa.fi, 1 makulatura.cf, 1 makumuru.com, 1 makuonline.tk, 1 makuquina.tk, 1 -makura.fun, 1 +makura.fun, 0 malabarismo.tk, 1 malachiteauth.com, 1 maladie-autoimmune.fr, 1 @@ -93370,6 +93489,7 @@ maltaultrastifo.tk, 1 malte.gg, 1 maltegegner.de, 0 +malthe.cc, 1 malu.style, 1 malvinas-falklands.tk, 1 malvy.kiev.ua, 1 @@ -93440,6 +93560,7 @@ mana.wiki, 1 manab-it.com, 1 manabi.international, 1 +manach.net, 1 manaenergija.lv, 1 manage.cm, 1 manage.com, 0 @@ -93502,7 +93623,6 @@ manekin.ml, 1 manelbenlloch.com, 1 maneql.co.jp, 1 -maneql.info, 1 manere.eu, 1 manesht.ir, 1 manforums.com, 1 @@ -93533,12 +93653,14 @@ mangelot-hosting.nl, 1 mangeur-de-cigogne.tk, 1 mangga.cloud, 1 +mangguody.com, 1 mangio.co.uk, 1 mangnhuapvc.com.vn, 1 mango-zajm.gq, 1 mango3d.io, 1 mango888.com, 1 mangochill.com, 1 +mangomfb.com, 1 mangoservers.tk, 1 mangotwoke.co.uk, 1 mangrum.net, 1 @@ -93565,6 +93687,7 @@ manicur-salon.tk, 1 manicuradegel.es, 1 manif-est.info, 1 +manifest-app.org, 1 manifest.ly, 1 manikinuk.tk, 1 manikyan.com, 1 @@ -93573,6 +93696,7 @@ manilatoday.net, 1 manimalosteo.com, 1 manimatter.ch, 1 +manimoonhaus.com, 1 maniorpedi.com, 1 manisahaberleri.tk, 1 manitasavila.com, 1 @@ -93581,16 +93705,12 @@ maniththakur.com, 1 manito.kr, 0 manitoba.ca, 1 -manitoulinairport.ca, 1 -manitoulinairport.com, 1 -manitoulinglobalforwarding.ca, 1 manitoulinglobalforwarding.co, 1 manitoulinglobalforwarding.com, 1 manitoulinglobalforwarding.mx, 1 manitoulingolf.com, 0 manitoulinusedequipment.ca, 1 manitoulinusedequipment.com, 1 -manitoulinwarehousing.com, 1 manitouspringsco.gov, 1 manitowoccountywi.gov, 1 manitowocwi.gov, 1 @@ -93699,9 +93819,9 @@ manumagnum.com, 1 manupgrade.com, 1 manuscript.com, 1 -manuscriptlink.com, 1 manusiasosial.tk, 1 manusje-van-alles.nl, 1 +manustalk.ca, 1 manutenzionecaldaie.it, 1 manutenzionegiardini.it, 1 manutenzionestabili.it, 1 @@ -93763,12 +93883,14 @@ mapausenaturelle.fr, 1 mapavoto.com, 1 mapblender.com, 1 +mapc.ro, 1 mapchange.org, 1 mapdap.com, 1 mapduce.com, 1 mapdump.com, 1 mapgear.nl, 0 mapillary.com, 1 +mapitcontrol.com, 1 maplebgm.cc, 1 maplegrove.cf, 1 maplegrovetownshipmi.gov, 1 @@ -93776,7 +93898,6 @@ mapleholland.tk, 1 maplehome.tk, 1 maplehousehomeinvestors.com, 1 -maplemountainquiltretreat.com, 0 maples.com, 1 mapletime.com, 1 mapletokyo.top, 1 @@ -93793,6 +93914,7 @@ mapsindoors.com, 1 mapsly.com, 1 mapstack.org, 1 +mapsubway.com, 1 maptician.com, 1 mapuut.net, 1 mapy.com, 1 @@ -93836,7 +93958,6 @@ marazul.tk, 1 marbas.com.tr, 1 marbellaclub.com, 1 -marbellaoptic.ro, 1 marbermedical.com, 1 marble.com, 1 marblecapitallp.com, 1 @@ -93881,6 +94002,7 @@ marcelofernandez.tk, 1 marcelpreuss.de, 1 marcelsiegert.com, 1 +marcelwaldvogel.ch, 1 marcelwiedemeier.com, 1 marcelwolf.coach, 1 marcenariaembh.com.br, 1 @@ -93935,7 +94057,6 @@ marcus-mueller.info, 1 marcus-scheffler.com, 1 marcus.pw, 0 -marcusb.org, 1 marcusberley.com, 1 marcusbreda.com.br, 1 marcusburghardt.tk, 1 @@ -94008,7 +94129,6 @@ mariahcareyvenezuela.tk, 1 mariahilft.com, 1 mariaisabel.tk, 1 -mariaisabelperfumaria.com.br, 1 mariakiniorska.com, 1 marialopez.tk, 1 mariamahmoudi.com, 1 @@ -94053,7 +94173,6 @@ marik.net.br, 1 marikafranke.de, 1 marikbrest.com, 1 -mariliabaraldi.com.br, 1 marillatownshipmi.gov, 1 marilower.tk, 1 marilsnijders.nl, 1 @@ -94147,7 +94266,6 @@ mark-dietzer.de, 1 mark-semmler.de, 1 mark1998.com, 1 -markandrewtrewitt.com, 0 markant-online.de, 1 markantalyamasajsalonu-bayanmasoz-cim.cf, 1 markco.fi, 1 @@ -94171,6 +94289,8 @@ marketcavalli.it, 1 marketcrypto.id, 1 marketdocs.io, 1 +marketfairvalue.com, 1 +marketflowjo.com, 1 marketforce.com, 1 marketgarden.tk, 1 marketgrid.ml, 1 @@ -94180,6 +94300,7 @@ marketing-advertising.eu, 1 marketing-boerse.de, 1 marketing-extender.com, 1 +marketing-tools.info, 1 marketing1-0-1.com, 1 marketing4trends.com, 1 marketinganalytics.africa, 1 @@ -94194,7 +94315,6 @@ marketingdivergent.com, 1 marketingdominante.com.br, 1 marketingmd.com, 1 -marketingo.digital, 1 marketingpalace.tk, 1 marketingstrategy.gq, 1 marketingtrendnews.com, 1 @@ -94206,7 +94326,7 @@ marketizare.ro, 1 marketkarma.com, 1 marketking.ga, 1 -marketlocal.ly, 0 +marketmesh.ng, 1 marketmotion.com.au, 1 marketnews.com, 0 marketone.com, 1 @@ -94217,7 +94337,6 @@ marketsnerd.com, 1 marketsosyali.tk, 1 marketvalue.gq, 1 -marketvolume.com, 1 marketyourcup.com, 1 markfietje.eu, 1 markfisher.photo, 1 @@ -94336,6 +94455,7 @@ marocweb.tk, 1 maroebeni.tk, 1 marolu.one, 1 +maromrussia.ru, 1 maroochydorecentre.com, 1 maroochydorecitycenter.com, 1 maroochydorecitycenter.com.au, 1 @@ -94357,7 +94477,6 @@ marquimanagement.com, 1 marquisepools.com, 1 marrakechairporttransfer.com, 1 -marrakechauxiliaire.com, 1 marrakechcitycarhire.com, 1 marrakechtourexpert.com, 1 marredesefairebaladersurlenet.com, 1 @@ -94369,6 +94488,7 @@ marrickvilleapartments.com.au, 1 marronniergate.com, 0 marropax.com, 1 +marrowtype.org, 1 marryfox.net, 1 marrymeroy.co.il, 1 mars-infos.org, 1 @@ -94467,7 +94587,7 @@ martinhalresidences.com, 1 martinhaunschmid.com, 0 martinho.tk, 1 -martinihof.com, 1 +martinindustrie.com, 1 martinishotpodcast.com, 1 martinkunc.tk, 1 martinkus.eu, 1 @@ -94492,7 +94612,7 @@ martinsvillebulletin.com, 1 martinsvilleva.gov, 1 martinus.cafe, 1 -martinvalen.com, 1 +martinvaculik.com, 1 martinverkerkonline.tk, 1 martinvillalba.com, 1 martinvillalba.com.ar, 0 @@ -94537,6 +94657,7 @@ marvinelsen.com, 1 marvingazibaric.io, 1 marvinkeller.de, 0 +marvinmoney.com, 1 marvinxyz.de, 1 marvnet.cf, 1 marvnet.design, 1 @@ -94636,7 +94757,6 @@ masinaspalat.info, 1 masinky.tk, 1 masiorama.it, 1 -masjidalbayyinah.org, 1 masjidalnoorwairarapa.co.nz, 1 mask-skin.tk, 1 maskamuse.com, 1 @@ -94702,6 +94822,7 @@ massconsultores.com, 1 masse.org, 1 masseyrack.com, 1 +masshelpline.com, 1 masshost.tk, 1 masshpc.gov, 1 massimo.com.my, 1 @@ -94736,7 +94857,6 @@ masterassignmentwriter.com, 1 mastercardpac.com, 1 mastercareplus-demo.com, 1 -mastercareplus-staging.com, 1 mastercareplus-uat.com, 1 mastercareplus.com, 1 mastercontrolgov.com, 1 @@ -94771,7 +94891,6 @@ masterscast.com, 1 masterservices.org, 1 mastershvacparts.com, 1 -mastersindatascience.org, 1 mastersinesl.org, 1 mastersofscale.com, 1 mastersplace.tk, 1 @@ -94786,6 +94905,7 @@ mastervision.tk, 1 masterwank.com, 1 masterwayhealth.com, 1 +masterymartialarts.org, 1 mastiffingles.com.br, 1 mastips.cl, 1 mastodon-poradnik.pl, 1 @@ -94835,6 +94955,7 @@ matchlive.ga, 1 matchmove.com, 0 matchmycourse.com, 1 +matchnights.live, 1 matchory.com, 1 matconnolley.com, 1 mate.academy, 1 @@ -94921,6 +95042,7 @@ mathnet.ru, 1 mathome.spdns.org, 1 maths.network, 1 +mathscibuddy.co.za, 1 mathsource.ga, 1 mathspace.co, 1 mathux.org, 1 @@ -94928,7 +95050,7 @@ mati.gq, 1 mati.lol, 0 mati.tk, 1 -matiasarredondo.com, 1 +matias-emanuel.shop, 1 matiasbrunacci.com, 1 matiaskorhonen.fi, 1 maticz.com, 1 @@ -95034,7 +95156,6 @@ mattga.ca, 1 mattgemmell.com, 1 mattgoddardphotography.co.uk, 1 -mattgodwin.com, 1 matthew-carson.info, 1 matthewaker.com, 1 matthewbarnesmusic.com, 1 @@ -95213,6 +95334,7 @@ mavro.cf, 1 mavro.ga, 1 mavro.gq, 1 +mavtg.com, 1 mawidabp.com, 1 mawo.olkusz.pl, 1 mawrex.tech, 1 @@ -95257,6 +95379,7 @@ maxcash.com, 1 maxchan.info, 1 maxchernoff.ca, 1 +maxchip.mk, 1 maxclean.ml, 1 maxcleaning.be, 1 maxcomfohvac.com, 1 @@ -95267,6 +95390,7 @@ maxdespachante.com.br, 1 maxdilon.com, 1 maxedgymequipment.com, 1 +maxforms.com, 1 maxgamez.tk, 1 maxh.me.uk, 1 maxh.name, 1 @@ -95287,7 +95411,6 @@ maximalsparen.com, 0 maximanet.tk, 1 maximdeboiserie.be, 1 -maximdens.be, 1 maximeferon.fr, 1 maximegagnon.io, 1 maximemalfoy.com, 1 @@ -95305,7 +95428,6 @@ maximovel.com.br, 1 maximovie.eu, 1 maxims-travel.com, 1 -maximschinese.com.hk, 1 maximumcontrol.nl, 1 maximumphysiotherapy.com, 1 maximusrose.com, 0 @@ -95321,6 +95443,7 @@ maxko-hosting.com, 1 maxko.org, 1 maxlaumeister.com, 1 +maxlauter.com, 1 maxley.yachts, 1 maxmabyte.com, 1 maxmanus.ga, 1 @@ -95347,8 +95470,9 @@ maxroganov.tk, 1 maxs.com, 1 maxsavesnow.shop, 1 -maxschleiffer.com, 1 maxschroeder.eu, 1 +maxsi.dk, 1 +maxsi.org, 1 maxtire.com, 1 maxtransport.az, 1 maxtruxa.com, 1 @@ -95366,6 +95490,7 @@ maxwellcity.cf, 1 maxwellcity.ga, 1 maxwellcity.ml, 1 +maxxnet.ec, 1 may-online.com, 1 mayaacadebee.com, 1 mayamaibach.org, 1 @@ -95376,6 +95501,7 @@ mayaramasala.com, 1 mayaroconstituency.org, 1 mayashoefke.tk, 1 +mayastandard.com, 1 maybankjobs.com, 1 maybemore.net, 1 maybeonline.de, 1 @@ -95391,6 +95517,7 @@ mayersoncreative.com, 1 mayfairlakes.org, 1 mayfairlimo.eu, 1 +mayfairturkishkebabcuisine.com, 1 mayfairwecare.com, 1 mayfieldheightsohio.gov, 1 mayflowerbocawina.tk, 1 @@ -95417,6 +95544,7 @@ mayurifag.ru, 1 maywood-il.gov, 1 mayx.eu.org, 1 +mazapette.com, 1 mazartdesign.tk, 1 mazavto.ml, 1 mazda-mps.de, 1 @@ -95477,16 +95605,13 @@ mble.mg, 1 mbm-law.net, 1 mbmassageterapi.se, 1 -mbocentre.com, 1 mbong.kr, 1 mbpskill.co.id, 1 mbr-net.de, 1 mbr.moe, 1 mbr.pw, 1 mbrd.de, 1 -mbrental.fr, 1 mbrjun.cn, 1 -mbsec.net, 1 mbsunu.com, 1 mbsync4supply.com, 1 mbt-constructions.co.uk, 1 @@ -95513,6 +95638,7 @@ mcagon.tk, 1 mcahm.eu.org, 1 mcan.sh, 1 +mcandido.it, 1 mcaps-mn.gov, 1 mcavallo.com, 1 mcaz.nl, 1 @@ -95554,7 +95680,6 @@ mcdonalds.design, 1 mcdowellcountyncboe.gov, 1 mcdowellcountywv.gov, 1 -mcdowellnews.com, 1 mcdsg.net, 1 mcduff.ga, 1 mce.eu, 1 @@ -95566,7 +95691,6 @@ mcelebi.net, 1 mcelhanney.com, 1 mcemyigit.com.tr, 1 -mcenhancement.com, 1 mcescher.com, 1 mceyedol.tk, 1 mcfallout.ru, 0 @@ -95576,6 +95700,7 @@ mcfreedom.eu, 1 mcg4loans.com, 1 mcgaccountancy.co.uk, 1 +mcgate.cn, 1 mcgavocknissanwichitaparts.com, 1 mcgee.red, 1 mcgill.ca, 1 @@ -95712,6 +95837,7 @@ md-progressistes.fr, 1 md-service.net, 1 md28.in, 1 +md5check.com, 1 mda.gov.br, 1 mdaemon.de, 1 mdaemon.tips, 1 @@ -95788,6 +95914,14 @@ meadowmere.com, 1 meadowviewfarms.org, 1 meadvillems.gov, 1 +mealai.ai, 1 +mealai.cloud, 1 +mealai.eu, 1 +mealai.fr, 1 +mealai.info, 1 +mealai.online, 1 +mealai.shop, 1 +mealai.tech, 1 mealcast.ml, 1 mealnuzzle.com, 1 mealpedant.com, 1 @@ -95834,7 +95968,7 @@ mebtall.ru, 1 mebus.biz, 1 mec0371.com, 0 -mec0372.com, 1 +mec0372.com, 0 mec0378.com, 1 mec0395.com, 1 mec0415.com, 1 @@ -95959,7 +96093,7 @@ meccrcog-oh.gov, 1 mecenat-cassous.com, 1 meceware.com, 1 -mechafightclub.com, 1 +mechafightclub.com, 0 mechainics.com, 1 mechanical.tk, 1 mechanics-schools.com, 1 @@ -95982,6 +96116,7 @@ med-line.cf, 1 med-metrix.com, 0 med-nagoya-neurosurgery.jp, 1 +med-otzyv.ru, 1 med-spravca.ml, 1 med-tech-career.com, 1 med.aid.pl, 1 @@ -96020,6 +96155,7 @@ medeem.gov.ae, 1 medefield.com, 0 medeinos.lt, 0 +medeirosinternacional.com.br, 1 medelement.com, 1 medellinencanciones.tk, 1 medex.health, 1 @@ -96158,6 +96294,7 @@ medicalupholsteryservices.com, 1 medicalys-tunisie.com, 0 medicare-providers.net, 1 +medicare.gov, 1 medicareadvantage.com, 1 medicareclinic.tk, 1 medicarecoveragefinder.com, 1 @@ -96172,7 +96309,6 @@ medicimaging.com, 1 medicina-interventionala.ro, 1 medicina-news.tk, 1 -medicinae.solutions, 1 medicinaesolutions.com, 1 medicinaesolutions.com.br, 1 medicine.com, 1 @@ -96186,6 +96322,7 @@ medicompany.tk, 1 medictools.de, 1 medicus.ai, 0 +medicusforme.co.za, 1 medidata.co.nz, 1 medidordehumedad.online, 1 mediengestalter-website.de, 1 @@ -96194,7 +96331,6 @@ medienweite.de, 1 mediex.com.br, 1 medifit.si, 1 -medifocal.com, 1 medifoto.tk, 1 medify.id, 1 medigap-quote.net, 1 @@ -96275,7 +96411,6 @@ medstatix.co, 1 medsync.nl, 1 medtalents.ch, 1 -medtankers.management, 0 medtech-jp.net, 1 medtechedge.com.au, 1 medtehnika.ua, 1 @@ -96297,7 +96432,6 @@ medycznyangielski.pl, 1 medyotan.ga, 1 medzinenews.com, 0 -meedia.me, 1 meefushop.xyz, 1 meek.ml, 1 meekhak.com, 1 @@ -96325,6 +96459,7 @@ meetcleo.com, 1 meetfranz.com, 1 meetfriends.tk, 1 +meetgail.com, 1 meetgeek.ai, 0 meeting-server.ml, 1 meetingsurvivors.org, 1 @@ -96347,7 +96482,6 @@ meeztech.com, 1 meeztertom.nl, 1 mefai.io, 1 -mefano.com, 1 meffrepatrimoine.com, 1 meg-a-bounce.co.uk, 1 mega-aukcion.ru, 1 @@ -96355,7 +96489,6 @@ mega-feeling.de, 1 mega-jeans.ru, 1 mega-microstories.com, 1 -mega-raeumung.de, 1 mega.co.nz, 1 mega.io, 0 mega.nz, 1 @@ -96369,7 +96502,6 @@ megacek.cz, 1 megacompany.cz, 1 megadesignecv.com.br, 1 -megadimensao.com.br, 1 megaelettrostimolatore.com, 1 megafilez.tk, 1 megaflix.nl, 1 @@ -96423,6 +96555,7 @@ megasunsunglasses.bg, 1 megateam.tk, 1 megatom.net.br, 1 +megatyaga.com.ua, 1 megatyumen.ru, 1 megauction.tk, 1 megavasoc.com.ar, 1 @@ -96430,6 +96563,8 @@ megawatt.news, 1 megawebsite.tk, 1 megaxchange.cash, 1 +megaxchange.com, 1 +megaxchange.org, 1 megayachts.world, 1 megazigzag.com, 1 megbarretto.com.br, 1 @@ -96448,6 +96583,7 @@ mego-tracer.de, 1 mego.cloud, 1 mego.gmbh, 1 +megobroba.ge, 1 megotracer.de, 1 megseyephotography.com, 1 megsimone.com, 1 @@ -96506,6 +96642,7 @@ meimeilio.com, 1 meimeistartup.com, 1 mein-betriebsrat.digital, 1 +mein-callboy.com, 1 mein-domizil.at, 1 mein-es1.de, 1 mein-gehalt.at, 1 @@ -96593,7 +96730,6 @@ mek.technology, 1 mekajen.com, 1 mekaleskirit.tk, 1 -mekanika.com.my, 1 mekanismo.tk, 1 mekatro.tech, 1 mekatronika.tk, 1 @@ -96656,6 +96792,7 @@ melbournecopywriter.com.au, 1 melbournecosmeticdentists.com, 1 melbournehousesitters.com, 1 +melbournepersonalfitness.com.au, 1 melcher.it, 1 melchizedek-forum.de, 1 melcom.co.za, 1 @@ -96737,13 +96874,14 @@ melpomene.me, 1 melrosemichaels.net, 1 melrosewi.gov, 1 -melsungenonline.com, 1 +melsungenonline.com, 0 meltdownresearch.com, 1 melted.me, 1 melusine.eu, 1 melvinsfrance.tk, 1 melyssamonroy.com, 1 mema.recipes, 1 +memberapp.pro, 1 memberbaz.ml, 1 memberclicks.net, 1 memberplushq.com, 1 @@ -96785,6 +96923,7 @@ memorablewords.org, 1 memoriaacademy.com, 1 memorial.com.tr, 1 +memorialguardianlondon.co.uk, 1 memorialwalk.com.au, 1 memoriaseternizadas.com.br, 1 memories-factory.pt, 0 @@ -96807,7 +96946,7 @@ men-costumes.tk, 1 men.com, 1 menabo.com, 1 -menanam.net, 1 +menanam.net, 0 menandsny.gov, 1 menaraannonces.com, 1 menardcountyil.gov, 1 @@ -96847,9 +96986,11 @@ menashawi.gov, 1 menazimkhan.tk, 1 menddie.com, 1 +mendekor.my.id, 1 mendekuitxua.tk, 1 mendel.tk, 1 menden.com, 1 +mendespicoito.pt, 1 mendipbouncycastles.co.uk, 1 mendix-apps.com, 1 mendmemassage.com, 1 @@ -96901,6 +97042,7 @@ menomineemi.gov, 1 menos-group.com, 1 menotag.com, 1 +menotifica.com.br, 1 mens-qzin.jp, 1 mens-watch.tk, 1 mensagemaniversario.com.br, 1 @@ -96948,7 +97090,6 @@ mentor-fit.com, 1 mentor.gov, 1 mentor.ist, 1 -mentorcliq.com, 1 mentoringauchan.es, 1 mentorzografos.gr, 1 menucost.com, 1 @@ -97045,6 +97186,7 @@ mercanpos.com, 1 mercans.co, 1 mercans.com, 1 +mercateer.com, 1 mercatino-olomouc.cz, 0 mercatinomusicale.com, 1 mercatoday.com, 1 @@ -97089,9 +97231,9 @@ merelaager.ee, 1 merelskleertjes.tk, 1 merenbach.com, 1 -merendonacademy.com, 1 merenita.eu, 1 merenita.net, 1 +mereuaproapepentrucopii.ro, 1 merezha.ua, 1 mergegroup.com.au, 1 mergellina.tk, 1 @@ -97107,6 +97249,7 @@ meridianrivesud.com, 1 meridianstore.com.br, 1 merikserver.tk, 1 +merion.com.au, 1 merisia.ca, 1 merisratings.com, 1 meritadvisor.com, 1 @@ -97117,12 +97260,12 @@ merittexas.com, 1 meritus.com.au, 1 merituscu.net, 1 +meritverified.org, 1 meritxellbautista.com, 1 merkatal.com, 1 merkattumaa.tk, 1 merkchest.tk, 1 merke.tk, 1 -merkel.me, 1 merklin.gq, 1 merkury.pro, 1 merlenorman.com, 1 @@ -97134,7 +97277,6 @@ merlinsmagic.tk, 1 merlinsoap.com, 1 merloaded.rocks, 1 -mermaidmyths.com, 1 mernau.co, 1 merojob.com, 1 merorme.com, 1 @@ -97178,9 +97320,8 @@ mescaline.com, 1 mescaline.org, 1 mescaline.wiki, 1 -mesdagh.be, 1 mesec.cz, 1 -meseest.hu, 1 +mesedi.ai, 1 mesele.com.tr, 1 mesh.gov, 1 meshboard.ai, 1 @@ -97193,9 +97334,9 @@ meshintranet.com, 1 meshlib.io, 1 meshnet.nl, 1 +meshup.net, 1 mesjumelles.fr, 1 meskiukas.tk, 1 -meslekkursu.com, 1 mesmer.tk, 1 mesmerus.net, 1 mesnumeriques.fr, 1 @@ -97290,6 +97431,7 @@ metalhouse.tk, 1 metaljournal.tk, 1 metallbau-gehr.de, 1 +metalldetektor-hilfe.de, 1 metallheads.tk, 1 metallictrading.ga, 1 metalliran.tk, 1 @@ -97305,6 +97447,7 @@ metalnight.tk, 1 metalnivrati-iasenko.com, 1 metalochimice.ro, 1 +metalpackage.com, 1 metalpesado.tk, 1 metalrip.com, 1 metalsoviet.tk, 1 @@ -97380,6 +97523,7 @@ meter.md, 1 meterhost.com, 1 metformin365.tk, 1 +method-app.ru, 1 method.com, 0 method64.com, 1 methoddemo.com, 0 @@ -97423,6 +97567,7 @@ metro-detroit.com, 1 metro-vet.co.uk, 1 metro-web.net, 1 +metro.exchange, 1 metro2dev.com, 1 metroarchive.jp, 1 metrobank.com.ph, 1 @@ -97447,6 +97592,7 @@ metron-eging.com, 1 metron-networks.com, 1 metron-online.com, 1 +metron.ai, 1 metronidazolee.gq, 1 metronik.it, 1 metronome.ga, 1 @@ -97504,6 +97650,7 @@ meuscabeloscacheados.com.br, 1 meuscuidadospessoais.com, 1 meusextosentido.com, 1 +meusonze.com.br, 1 meusucesso.com, 1 meutia.net, 1 mevea.com, 1 @@ -97576,12 +97723,12 @@ mfmarquesantos.pt, 1 mfmd.pt, 1 mfoda-eg.com, 1 -mforum.com.au, 1 mfrepair.com, 1 mft.global, 1 mfxer.com, 1 mfxm.fr, 1 mfyy123.com, 1 +mg5webapp.com, 1 mgabehaviortherapy.com, 1 mgaconsulting.org.uk, 1 mgae.com, 0 @@ -97591,12 +97738,7 @@ mgcs.org, 1 mgdecor.co.uk, 1 mgdigitalmarketing.com.au, 1 -mgf.mx, 1 mgfashion.ae, 1 -mgfgroup.ca, 1 -mgfgroup.com, 1 -mgfgroup.mx, 1 -mgfgroup.us, 1 mggs.org, 1 mghiorzi.com.ar, 0 mgi.gov, 1 @@ -97611,6 +97753,7 @@ mgm-constructeur.com, 1 mgm-slipac.de, 1 mgmeet.com, 1 +mgmt.tr, 1 mgmultiservicessrl.it, 1 mgo-ostenfelde.tk, 1 mgoeppl.uk, 1 @@ -97637,6 +97780,7 @@ mhatlaw.com, 1 mhc.ab.ca, 1 mhcdesignstudio.com, 0 +mhd-btp.com, 1 mhdit.de, 1 mhealthspot.com, 1 mheistermann.de, 1 @@ -97652,12 +97796,14 @@ mhi.web.id, 1 mhiler.com, 1 mhilger.de, 1 +mhinvest.com, 1 mhjuma.com, 1 mhmchauffeurs.co.uk, 1 mhmfoundationrepair.com, 1 mhonline.fr, 1 mhp.net, 1 mhparena-stuttgart.de, 1 +mhpgroup.com, 1 mhtdesign.net, 1 mhuig.top, 1 mhurologytriad.org, 1 @@ -97711,6 +97857,7 @@ miamifl.homes, 1 miamiopenmri.com, 1 mianbao.ga, 1 +mianbaowdy.com, 1 miankamran.tk, 1 mianra.ddns.net, 1 miaoft.com, 0 @@ -97760,7 +97907,7 @@ michael-r.ddns.net, 1 michael-r.dynv6.net, 1 michael-schefczyk.de, 1 -michael-schilling.de, 1 +michael-schilling.de, 0 michael-simon.de, 1 michael-steinhauer.eu, 1 michael-willner.de, 1 @@ -97803,6 +97950,7 @@ michaeln.net, 1 michaelolson.blog, 1 michaelolson.io, 1 +michaelpace.com, 1 michaelpelletterie.it, 1 michaelpfrommer.de, 1 michaelpfrommer.pub, 1 @@ -97923,6 +98071,7 @@ microferma.site, 1 microgates.net, 1 microgroove.jp, 1 +microhabit.at, 1 microhydrony.org, 1 microinstrument.com.ua, 1 microlinkpc.com, 1 @@ -97933,6 +98082,7 @@ micromaid.cf, 1 micromata.de, 1 micromicro.cc, 1 +micronfts.com, 1 micronotfound.gq, 1 micropigmentacaobh.com.br, 1 micropigmentadordesucesso.com, 1 @@ -98057,7 +98207,6 @@ mig81.com, 1 migg.it, 1 miggy.org, 1 -migherworld.com, 1 mighit.ml, 1 mightyfive.tk, 1 mightygadget.com, 1 @@ -98085,7 +98234,6 @@ miguel.pw, 1 miguelaestrada.com, 1 miguelalonso.tk, 1 -miguelangeljulvez.com, 1 migueldemoura.com, 1 migueldominguez.ch, 0 miguelgfierro.com, 0 @@ -98113,7 +98261,7 @@ mihsislander.org, 1 mihu233.com.cn, 1 miih-kiosk.com, 1 -miihawk.com, 0 +miihawk.com, 1 miikun95.net, 1 miimhort.com, 1 miisy.com, 1 @@ -98355,6 +98503,7 @@ milchplus.de, 1 milchweg.com, 1 milcrofton.gov, 1 +mildnode.com, 1 mile6.com, 1 milehighfcu.org, 1 milehighmedia.com, 1 @@ -98373,7 +98522,6 @@ milesforwomenshealth.org, 1 milesguard.ch, 1 milesquaretechnologygroup.com, 1 -milestonehotel.com, 1 milestoneinternet.com, 1 milestonemachine.com, 1 miletic.net, 1 @@ -98396,6 +98544,7 @@ milieuland.com, 1 milieuzones.nl, 1 miliodemendralejo.tk, 1 +milionchvilek.cz, 1 milionzamilion.cz, 1 militaria.hu, 1 military-equipment.tk, 1 @@ -98404,7 +98553,7 @@ militaryfetish.tk, 1 militaryonesource.mil, 1 militarysrit.tk, 1 -militer.id, 1 +militer.id, 0 miliumnet.tk, 1 milivcounty.gov, 1 milk.com.sg, 1 @@ -98444,7 +98593,6 @@ miller-fukuda.pl, 1 miller-shop.cf, 1 milleralarms.co.uk, 1 -millerandfasselaw.com, 0 millerandzois.com, 1 millercountyga.gov, 1 millercountymo.gov, 1 @@ -98472,6 +98620,7 @@ millix.com, 1 millnet.cloud, 1 millonario.tk, 1 +millpay.io, 1 millscountyiowa.gov, 1 millscountytx.gov, 1 millsymills.com, 1 @@ -98483,10 +98632,11 @@ milobaker.co.uk, 1 milomedia.net, 1 milosguide.dk, 1 +milosmijic.com, 1 milovich.ca, 1 -milpilots.com, 1 milpitas.gov, 1 milr.dk, 1 +milt.hm, 1 milthm.cn, 1 milthm.com, 1 miltonbaby.co.uk, 1 @@ -98524,7 +98674,6 @@ mimonia.ga, 1 mimonia.gq, 1 mimorin.tk, 1 -mimovrste.com, 1 mimoza.tk, 1 mimscellaneous.com, 1 mimumimu.net, 1 @@ -98573,6 +98722,7 @@ mindcoding.ro, 1 mindcortex.ai, 1 mindcraft.ga, 1 +minddiak.hu, 1 minddistortion.tk, 1 minddrive.cf, 1 mindeasy.co.nz, 1 @@ -98585,13 +98735,11 @@ mindfactory.de, 1 mindflowmarketing.com, 0 mindfront.ai, 1 -mindfront.engineering, 1 mindfully.com, 0 mindfulnessjourney.ca, 1 mindfulslumber.com, 1 mindfultherapies.org, 1 mindgard.co.uk, 1 -mindgtc.com, 1 mindhope.in, 1 mindingourway.com, 1 mindjack.xyz, 1 @@ -98667,7 +98815,6 @@ minelucky.net, 1 minepack.net, 1 mineprime.ru, 1 -mineralhottub.com, 1 mineralnibani.bg, 1 mineraluterapeutai.lt, 1 minered.org, 0 @@ -98680,7 +98827,6 @@ minervapark.gov, 1 mines-stetienne.fr, 1 minesouls.fr, 1 -minestealth.xyz, 1 minestory.cf, 1 minesweepergame.de, 1 minetracker.dk, 1 @@ -98710,10 +98856,8 @@ mini-piraten.de, 1 mini-rock-festival.de, 1 mini-trader.co.uk, 1 -mini-zoo.club, 1 mini2.fi, 1 mini927moon.com, 1 -minia.cl, 1 minialbums.ga, 1 miniapp.global, 1 miniatomium.tk, 1 @@ -98768,6 +98912,8 @@ mining-technology.com, 1 mining.diamonds, 1 miningclub.info, 1 +miningmavensmp.com, 1 +miningreturns.com, 1 miningsurveys.com, 1 miningtronics.com, 0 minintendo.tk, 1 @@ -98795,7 +98941,7 @@ minivaro.de, 1 miniverse.social, 1 minivideoadapterssales.tk, 1 -minix.jp, 1 +minix.jp, 0 minjusticia.gob.cl, 1 mink-coat.tk, 1 minka.net.bo, 1 @@ -98844,6 +98990,7 @@ minsmukkekalender.dk, 1 minsterbank.com, 1 mint-frauen-bw.de, 1 +mint66.com, 1 mintal.is, 1 mintblau.com, 1 mintbuilder.com, 1 @@ -98914,6 +99061,7 @@ mir-tiktak.tk, 1 mir-torgovli.tk, 1 mir.do, 1 +mir.pe, 1 mir24.tk, 1 mira-dashboard.it, 1 mira.fun, 1 @@ -98937,6 +99085,7 @@ miraizu-recruit.com, 1 miraizu.jp, 1 mirakl.com, 0 +miralqir.ro, 1 miramanga.org, 1 miramar-bournemouth.com, 1 miramar.ca, 1 @@ -99000,7 +99149,6 @@ mirtentov.ru, 1 mirtouf.fr, 1 mirumhongkong.com, 1 -mirvac.com, 1 mirvolgograda.ml, 1 mirwild.cf, 1 mirwild.gq, 1 @@ -99094,6 +99242,7 @@ misstika-bijoux.com, 1 misstress.cf, 1 missuniverse.tk, 1 +missuo.me, 1 missworldinfo.tk, 1 missycosmeticos.com.br, 1 missycraindance.com, 1 @@ -99190,12 +99339,12 @@ mitometals.lv, 0 mitotalplay.com.mx, 1 mitragacor.org, 1 +mitrainfosarana.co.id, 1 mitranlogistik.com, 1 mitraseo.tk, 1 mitratech.com.br, 1 mitrax.com.br, 1 mitre-bedford.org, 1 -mitre10.com.au, 0 mitrecaasd.org, 1 mitremai.org, 1 mitrostudios.com, 1 @@ -99236,7 +99385,6 @@ miui-germany.de, 1 miukimodafeminina.com, 1 mividasecreta.tk, 1 -mivisus.com, 1 mivm.cn, 1 mivne.co.il, 1 mivzak.im, 1 @@ -99319,7 +99467,6 @@ mjacobson.net, 1 mjallal.sa, 1 mjanja.ch, 1 -mjasm.org, 1 mjbrevelations.com, 1 mjbtechtips.com, 1 mjc-psicologa.com, 1 @@ -99393,6 +99540,7 @@ mkjl.ml, 0 mkjoyeria.cl, 0 mkk.de, 1 +mkk.legal, 1 mkkcrafts.com, 1 mkkkrc.ru, 1 mklenterprisesacademy.com, 1 @@ -99429,6 +99577,7 @@ mkw.st, 1 mkws.sh, 1 ml-brand.com, 1 +ml-engineering.nl, 1 ml.tax, 1 ml246.me, 0 mlada-moda.cz, 1 @@ -99440,6 +99589,7 @@ mlcfinvest.in, 1 mlclaw.com, 1 mlcnfriends.com, 1 +mlcoa.org, 1 mlcrosoftonlline.cz, 1 mlcrosoftonlline.ml, 1 mlelieveld.com, 0 @@ -99453,6 +99603,7 @@ mli-interface-api-test.azurewebsites.net, 1 mlii.net, 1 mlirb.com, 1 +mljukaku.com, 1 mlk.sd, 1 mlkday.gov, 1 mlle-margot.com, 1 @@ -99498,7 +99649,6 @@ mmanews24.com, 1 mmapiws.com, 1 mmaps.ddns.net, 1 -mmaps.org, 1 mmarising.com, 1 mmarkovitz.co.uk, 1 mmarnitz.de, 1 @@ -99540,6 +99690,7 @@ mms.is, 1 mmsindustries.com, 1 mmsl.cz, 1 +mmsteam.uk, 1 mmstick.tk, 1 mmstudio.tk, 1 mmtfurnituredesigns.co.uk, 1 @@ -99577,6 +99728,7 @@ mniopenresearch.org, 1 mnium.de, 1 mnjg123.de, 1 +mnmedia.io, 1 mnmt.no, 1 mnnknz.de, 1 mno.family, 1 @@ -99664,9 +99816,9 @@ mobilelaby.com, 1 mobilelinkusa.com, 1 mobilelobbyers.ga, 1 +mobilelog.me, 1 mobilemechanicdenver.org, 1 mobilemedicaldiagnostics.ie, 1 -mobileminds.se, 1 mobileone.com.my, 1 mobilepartner.tk, 1 mobiler-handel.de, 1 @@ -99754,9 +99906,8 @@ mockers.tk, 1 mockif.com, 1 mocknen.net, 1 -mocksvillenc.org, 1 mocleirigh.ie, 1 -mocomoco.jp, 1 +mocomoco.jp, 0 moctezuma.ai, 1 mod.af, 0 mod.gov.lb, 1 @@ -99788,7 +99939,7 @@ modapk.link, 1 modasexy.it, 1 modav.org, 1 -modax.ua, 0 +modax.ua, 1 modbom.com.tw, 1 modcover.com, 1 modd.com.au, 1 @@ -99867,9 +100018,11 @@ modestoca.gov, 1 modetalente.com, 1 modetrends.tk, 1 +modfor.org, 1 modgamer.gq, 1 modgnews.com, 1 modhearinghelp.co.uk, 1 +modicollege.com, 1 modicum.studio, 1 modified.games, 1 modineaviation.com, 1 @@ -99890,6 +100043,7 @@ module.ru, 0 modulebaan.tk, 1 modulex-gmbh.de, 1 +modulex.com, 1 modulo.ee, 1 modulos.com.au, 1 modulos.engineer, 1 @@ -99906,6 +100060,7 @@ modzcenter.es, 1 moe.best, 0 moe.blog, 0 +moe.sb, 1 moe.tools, 1 moe4sale.in, 1 moebeltaxi-berlin.com, 1 @@ -99929,7 +100084,6 @@ moelten.org, 1 moenew.us, 1 moenjodaro.tk, 1 -moensnatuursteen.be, 1 moenviron.com, 1 moerugomi.com, 1 moesborg.dk, 1 @@ -99941,6 +100095,7 @@ moexian.org, 1 moeyy.tech, 1 mof.gov.ws, 0 +mofarennen.com, 1 mofbinsurance.com, 1 mofibo.dk, 1 mofo.com, 1 @@ -100064,6 +100219,7 @@ molaclothing.pt, 0 mold-tech.com, 1 mold.world, 1 +molddesigner.com, 1 moldova-online.ml, 1 moldovanka.tk, 1 moldovawall.tk, 1 @@ -100087,6 +100243,7 @@ mollyblooms.tk, 1 mollyjayne.com, 1 mollyringworm.tk, 1 +mollyspub.fr, 1 mollysun.net, 1 molodost.ga, 1 molodost.gq, 1 @@ -100111,7 +100268,6 @@ momentum-tech.ca, 1 momentum.photos, 1 momentumcoach.se, 1 -momentumcomfortgear.com, 1 momentumdash.com, 1 momentummarketers.ga, 1 momi-chura.com, 1 @@ -100133,6 +100289,8 @@ momobako.com, 1 momochrome.online, 1 momondersteuning.nl, 1 +momou.ch, 1 +momovahed.com, 1 moms.com, 1 momsagainstcooties.com, 1 momsbangteens.com, 1 @@ -100394,10 +100552,7 @@ montack.de, 1 montagetravel.com, 1 montagnainitalia.com, 1 -montagne-vacances.com, 1 montagneyaya.net, 1 -montagnicimes.com, 1 -montaguehotel.com, 1 montajtamirmobilya.com, 1 montala.com, 1 montalvofarret.xyz, 1 @@ -100413,6 +100568,7 @@ montcalmcountymi.gov, 1 montclairca.gov, 1 montco.today, 1 +monte-cristo.net, 1 montebelloca.gov, 1 montecitoproperties.com, 1 montehermoso.tk, 1 @@ -100469,7 +100625,6 @@ montronix.com, 1 montsaintaignan.fr, 1 montuan.com.br, 1 -montybennett.co, 0 montychristie.com, 1 monukiosk.com, 1 monumental.build, 1 @@ -100491,7 +100646,7 @@ moodfoods.com, 1 moodgym.com.au, 1 moodgym.de, 1 -moodiempf.com, 1 +moodiempf.com, 0 moodifiers.com, 0 moodle.gq, 1 moodle.servebbs.com, 1 @@ -100515,13 +100670,14 @@ moonboys.de, 1 moonbyte.at, 0 moonchart.co.uk, 1 +moondasha.com, 1 moondoor.tk, 1 +moondroo.com, 1 moondrop.org, 1 moondsee.de, 1 moonfist.eu, 1 moonflux.com, 1 moonfreak.tk, 1 -moonglancecareer.com, 1 moonhaa.com.br, 1 moonhalo.io, 1 mooninvoice.com, 1 @@ -100536,7 +100692,7 @@ moonlighttheatre.tk, 1 moonlit.cloud, 1 moonlit.games, 1 -moonmelo.com, 1 +moononline.nl, 1 moonpay.com, 0 moonpay.io, 1 moonproject.io, 1 @@ -100560,7 +100716,6 @@ mooock.com, 1 mooreandsmalley.co.uk, 0 mooreautoglass.com, 1 -moorelife.cn, 1 mooremi.gov, 1 mooremillerinvestmentgroup.ca, 1 mooresvilletribune.com, 1 @@ -100570,6 +100725,7 @@ mooring.social, 1 moormiles.com, 1 moorparkexteriorlighting.com, 1 +moorr.com.au, 1 moorstay.com, 1 moort.be, 1 moosic.co, 1 @@ -100633,7 +100789,6 @@ morecreativelife.com, 1 morediets.net, 1 moreeducation.tk, 1 -morehopefoundations.org.uk, 1 morellilaw.com, 1 moremindsbetter.com, 1 morenadacentral.tk, 1 @@ -100645,6 +100800,7 @@ moresw.com, 1 moretesting.tk, 1 morethanabed.org, 1 +morethancareer.de, 1 morethancode.be, 1 morethandigital.info, 1 moretti.camp, 1 @@ -100720,6 +100876,7 @@ morpheusdata.com, 1 morpheusmobile.com, 0 morpheusrisk.com, 1 +morphilab.com, 1 morphisec-utp.com, 1 morphitattachments.com.au, 1 morphysm.co, 1 @@ -100811,7 +100968,7 @@ mosquito-sklep.pl, 1 mosquitojoe.com, 1 mosr.sk, 1 -mossad.gov.il, 0 +mossad.gov.il, 1 mossan.net, 1 mosshi.be, 1 mossipanama.com, 1 @@ -100866,7 +101023,7 @@ motichi.cf, 1 motifstudio.com.ua, 1 motilladelpalancar.net, 1 -motion-tm.de, 1 +motion-tm.de, 0 motional.com, 1 motiondata-vector.at, 1 motiondeveloper.com, 1 @@ -100890,6 +101047,7 @@ motobrasilferramentas.com.br, 1 motochileneta.tk, 1 motoclubentresemana.tk, 1 +motoclubhub.com, 1 motoclubrker.tk, 1 motoconcho.do, 1 motocorner.ro, 1 @@ -100990,6 +101148,7 @@ mounimaharaj.tk, 1 mouniresidences.com, 1 mount.ovh, 1 +mountain-bike-morocco.com, 1 mountain-retreat-center.com, 1 mountain-rock.ru, 1 mountainbatchers.de, 1 @@ -100999,13 +101158,13 @@ mountaingrovemo.gov, 1 mountainprotocol.com, 1 mountainsandmist.com, 1 +mountainscalling.me, 1 mountainspiritinn.com, 1 mountainspringsrentals.ca, 1 mountainstage.org, 1 mountainutilities.eu, 1 mountainvalleygrowers.com, 1 mountainviewgrand.com, 1 -mountainvistaretirement.com, 0 mountairymd.gov, 1 mountbatten.cz, 1 mountbrowneguestcottage.ga, 1 @@ -101054,7 +101213,6 @@ moveitmoveitmovers.com, 0 moveltix.net, 1 movemais.com, 1 -movember.com, 0 moveme.ca, 0 movementforgood.com, 1 movementsodom.tk, 1 @@ -101217,6 +101375,7 @@ mpornoindir.tk, 1 mpowr.com, 1 mpps.it, 1 +mpre.com.vn, 1 mprep.info, 1 mprsco.eu, 1 mps-fobportal.co.uk, 1 @@ -101332,6 +101491,7 @@ mrkapowski.com, 0 mrknee.gr, 1 mrlc.gov, 1 +mrleijen.com, 1 mrliu.me, 1 mrlove.tk, 1 mrmad.com.tw, 1 @@ -101433,6 +101593,7 @@ msganka.jp, 1 msgkiki.com, 1 msgloop.com, 1 +msgroupitaly.com, 1 msgru.com, 1 msgs.ee, 1 msgtrust.com, 1 @@ -101444,6 +101605,7 @@ msi.com, 1 msiegmund.com, 1 msieursvp.fr, 1 +msifs.com, 1 msig-thai.com, 1 msinc.ru, 1 msisupplyinc.com, 1 @@ -101568,7 +101730,6 @@ mtelizabeth.com, 1 mtex.net.ua, 1 mtf.party, 1 -mtf.rip, 1 mtf.wiki, 1 mtfgnettoyage.fr, 1 mtg-drafter.com, 1 @@ -101583,7 +101744,6 @@ mtinz.com, 1 mtirc.co, 1 mtjoytwppa.gov, 1 -mtlabs.jp, 1 mtlconcerts.com, 1 mtlegnews.gov, 1 mtltransport.com, 1 @@ -101609,6 +101769,7 @@ mtredistricting.gov, 1 mtrx.tech, 1 mtsafe.gov, 1 +mtsoft.lt, 1 mtsoftware.com.au, 1 mtstandard.com, 1 mtthwbrd.com, 1 @@ -101622,7 +101783,6 @@ mtz80-mtz82.gq, 1 mtzbelarus.gq, 1 mtzfederico.com, 1 -mtzy.me, 1 mu-sigma.com, 1 mu-venezuela.tk, 1 mu-wi.gov, 1 @@ -101649,6 +101809,7 @@ muchohentai.com, 1 muchoruidoacademy.com, 1 muchotrolley.tk, 1 +muchtv.com, 1 muckingabout.eu, 1 muckleshoot.gov, 1 muckrack.com, 1 @@ -101699,6 +101860,7 @@ muganworld.com, 1 mugdost.com, 1 mugen-kairou.art, 1 +muglabacatemizlik.com, 1 mugrabyhostel.tk, 1 mugsocks.com.au, 1 muguangzhan.com, 1 @@ -101758,6 +101920,7 @@ mulej.net, 1 mulgravelaw.co.uk, 1 mulheres18.com, 1 +mulholland.ai, 1 muling.lu, 1 mulk.hopto.org, 1 mullens-usedcars.be, 1 @@ -101790,6 +101953,7 @@ multigoldigital.com.ar, 1 multigura.com, 1 multihobby.tk, 1 +multihog.com, 1 multikalender.de, 0 multikemasplastindo.com, 1 multilevelmarketing.cf, 1 @@ -101812,7 +101976,10 @@ multiplier-effect.org, 1 multiplies.tk, 1 multiply.co.za, 1 +multipotential-labo.com, 1 multipuntos.ml, 1 +multiqris.id, 1 +multiqris65.id, 1 multirep.ch, 0 multiroom-streaming.de, 1 multischool.tk, 1 @@ -101844,6 +102011,7 @@ mumbairoleplay.tk, 1 mumble.be, 1 muminkoykiran.com, 1 +muminphone.com, 1 mummatters.com.au, 1 mummyandmephotography.com, 1 mumolabs.com, 1 @@ -101911,6 +102079,7 @@ muntajati-om.com, 0 munteanumonica.ro, 1 muntproever.nl, 1 +muntstuk.com, 1 munzlocal10.org.nz, 1 muoivancauhoivisao.com, 1 muonmarketing.com, 1 @@ -101935,9 +102104,6 @@ murciaprocuradores.tk, 1 murderbysound.servebeer.com, 1 murdercube.com, 1 -murdermysterydinnerlongbeach.com, 1 -murdermysterydinnernewyorkcity.com, 1 -murdermysterydinnerorangecounty.com, 1 murena.io, 1 murer-specialisten.dk, 1 murfreesboroar.gov, 1 @@ -101983,7 +102149,6 @@ musasionline.com, 1 musaslush.com, 1 muscatinecountyiowa.gov, 1 -muscatinejournal.com, 1 musch.uno, 1 muscle-home.fr, 1 muscle-tg.com, 1 @@ -102001,7 +102166,6 @@ museclef.com, 1 musecomunicazione.it, 1 musedash.moe, 1 -museebombardier.com, 1 museeducolombier.fr, 1 museepab.fr, 1 musehelix.com, 1 @@ -102050,7 +102214,6 @@ musicboxx.cz, 1 musicbreeze.be, 1 musicbymelanie.dk, 1 -musicc.net, 1 musicchris.de, 1 musicfactory.ml, 1 musicfestivalsuite.com, 1 @@ -102092,8 +102255,6 @@ musicwelltech.es, 1 musicwide.net, 1 musigama.tk, 1 -musik-produktiv.com, 1 -musik-produktiv.de, 1 musik-reitemann.de, 1 musiker.tk, 1 musikhaus-korn.de, 1 @@ -102123,6 +102284,7 @@ muslimah.boutique, 1 muslimbanter.co.za, 1 muslimmarriage.cf, 1 +muslimnest.co.uk, 1 muslimsoul.cf, 1 muslimsoul.ga, 1 muslimsoul.gq, 1 @@ -102162,6 +102324,7 @@ mutantmonkey.in, 1 mutantmonkey.info, 1 mutantmonkey.sexy, 1 +mutelyou.co, 1 mutex.co.za, 1 mutex.ru, 1 muthai.in.th, 1 @@ -102191,12 +102354,12 @@ muv.co.uk, 1 muvy.tube, 1 muwi.tk, 1 +muxicloudy.de, 1 muxup.com, 1 muy.ooo, 1 muydelgada.com, 1 muyinternetsante.tk, 1 muyuanku.com, 1 -muz2u.ru, 1 muzdv.ru, 1 muzenzacrianca.tk, 1 muzeumkomiksu.eu, 0 @@ -102255,7 +102418,6 @@ mvzstartpagina.tk, 1 mw-power.ru, 1 mw.search.yahoo.com, 0 -mwahyunz.id, 0 mwai.edu.ph, 1 mwamitours.com, 1 mwancloud.com, 1 @@ -102360,6 +102522,7 @@ my-stories.ml, 1 my-story.ml, 1 my-stuff-online.com, 1 +my-super-academia.com, 1 my-town.tk, 1 my-tunisia.tk, 1 my-visualforce.com, 1 @@ -102370,12 +102533,14 @@ my-woodcraft.com, 1 my.cat, 1 my.com.my, 1 -my.onlime.ch, 0 +my.onlime.ch, 1 my.tiaa.org, 1 my.urown.cloud, 1 my.usa.gov, 1 +my143.link, 1 my1health.com, 1 my1login.com, 1 +my2pmclub.com, 1 my4g.net, 1 my4thtelco.com.sg, 1 my4thtelco.sg, 1 @@ -102437,7 +102602,7 @@ mybestbooks.gq, 1 mybestteam.tk, 1 mybetterlife.blog, 1 -mybicc.org, 1 +mybicc.org, 0 mybieo.com, 1 mybigletters.com, 1 mybillie.com, 1 @@ -102469,14 +102634,12 @@ mybusinessgrant.com.au, 1 mybusinessgrants.com.au, 1 mybzz.com, 1 -mycafebarista.com, 1 mycaffee.ir, 1 mycake.me, 1 mycam.gq, 1 mycandylove.com, 1 mycardplace.com, 1 mycarecorner.net, 1 -mycarecost.net, 1 mycarwashers.com, 1 mycase.com, 0 mycase.com.ua, 1 @@ -102511,6 +102674,7 @@ mycloudkey.net, 1 mycloudsaas.com, 1 mycloudsoftware.com.br, 1 +mycodera.com, 1 mycodes.com.au, 1 mycoding.id, 1 mycoding.net, 1 @@ -102540,7 +102704,6 @@ mycontrolmonitor.com, 1 mycopa.com, 1 mycounterstrike.ru, 1 -mycountylink.com, 1 mycreativeshotsblog.com, 1 mycreditcardcenter.com, 1 mycreditjunkie.com, 1 @@ -102631,7 +102794,7 @@ myers.house, 1 myersaggregates.co.uk, 1 myersbuildingsupplies.co.uk, 1 -myersgroup.co.uk, 1 +myersgroup.co.uk, 0 myersgroup.link, 1 myersking.com, 1 myersselectroofing.com, 1 @@ -102658,6 +102821,7 @@ myfield.one, 1 myfile.gq, 1 myfinance.co.nz, 1 +myfinancedept.ai, 1 myfinx.bh, 1 myfirenet.com, 0 myfirstcallmedical.com, 1 @@ -102694,6 +102858,7 @@ mygameconsole.tk, 1 mygaming.news, 1 mygardendays.com, 1 +mygarito.com, 1 mygate.at, 0 mygaysitges.com, 1 mygd.org, 1 @@ -102737,7 +102902,7 @@ myhealthchecked.com, 0 myhealthcheckup.ca, 1 myhealthsquad.ca, 1 -myhealthyday.com, 1 +myheino.de, 1 myhell-anonim.tk, 1 myhelo.com, 1 myheritage.com, 1 @@ -102800,13 +102965,12 @@ mykonos-island.tk, 1 mykontool.de, 1 mykoreankitchen.com, 1 -mykukun.com, 1 +mykukun.com, 0 mykurgan.tk, 1 mykursumlija.tk, 1 mykvb.com, 1 mylabaih.com, 1 mylacera.gov, 1 -myladychat.com, 1 mylastchapter.tk, 1 mylawer.ga, 1 myld.be, 1 @@ -102834,7 +102998,6 @@ mylocality.shop, 1 mylocalpro.biz, 1 mylocraft.tk, 1 -mylofamily.com, 1 myloft.xyz, 1 myloneworkers.com, 1 mylosscontrolservices.com, 1 @@ -102856,9 +103019,8 @@ mymartinbeckeropenhab.de, 1 mymartinbeckeropenhab.eu, 1 mymartinhalchiado.com, 1 -mymartinhalresidences.com, 1 mymaternalmind.com, 1 -mymb.pm, 1 +mymatrixdestiny.com, 1 mymcc.gift, 1 mymdtaxes.gov, 1 mymed.de, 1 @@ -102877,6 +103039,7 @@ mymodernoffice.co.uk, 1 mymojo.com, 1 mymoneycoin.ml, 1 +mymonitor365.com, 1 mymoranguito.com, 1 mymoretrip.com, 0 mymotor.nl, 1 @@ -102915,6 +103078,7 @@ mynetiz.com, 1 mynetpay.be, 1 mynetworkingbuddy.com, 1 +mynewcert.com, 1 mynewhorizons.shop, 1 mynewspaper.net, 1 mynext.events, 1 @@ -102992,7 +103156,6 @@ myple.io, 1 mypodseu.com, 1 mypogljad.tk, 1 -mypolicy.ch, 1 myportal.ga, 1 myposters.tk, 1 mypowerserg.ca, 1 @@ -103019,7 +103182,6 @@ myraytech.net, 0 myreadingmanga.info, 1 myrealestateautomation.com, 1 -myred.net, 1 myredfoxlabs.com, 1 myref.net, 1 myreferral.systems, 1 @@ -103084,6 +103246,7 @@ myrom.tk, 1 myrotvorets.center, 1 myroyaa.com, 1 +myrsi.org, 1 myrtillus.ch, 1 myrunningcalendar.com, 1 myruststats.com, 1 @@ -103114,7 +103277,6 @@ myschools.nyc, 1 mysciencecloset.com, 1 myseat.io, 1 -myseatime.com, 1 mysecretstylist.ga, 1 mysecurityevent.de, 0 myseo.ga, 1 @@ -103175,7 +103337,6 @@ mysticrealm.tk, 1 mysticscannabis.ca, 1 mysticsenses.pt, 1 -mystiko.eu, 1 mystinkefinger.de, 1 mystock911.com, 1 mystocks.africa, 1 @@ -103194,7 +103355,7 @@ mystudymap.tk, 1 mystygage.de, 1 mystylion.com, 1 -mysuperiorgarage.com, 1 +mysuperiorgarage.com, 0 mysupplements.ga, 1 mysurfhostel.com, 0 mysurveysolutions.com, 1 @@ -103204,7 +103365,7 @@ mysympleloan.com, 1 mytana.com, 1 mytaratata.com, 1 -mytaxbridge.co.uk, 1 +mytaxbridge.co.uk, 0 mytaxindia.com, 1 mytc.fr, 1 mytea.life, 1 @@ -103220,6 +103381,7 @@ mythicca.org, 1 mythicdelirium.com, 1 mythreesonshvac.com, 1 +mythub.xyz, 1 mytime.fr, 1 mytime.gl, 1 mytimer.tk, 1 @@ -103238,7 +103400,7 @@ mytrialist.org, 1 mytrinity.com.ua, 1 mytroc.pro, 1 -mytruecare.org, 1 +mytruecare.org, 0 mytrustadviser.com, 1 mytty.net, 1 mytu.cloud, 1 @@ -103268,7 +103430,6 @@ myvet.ie, 1 myvi.gov, 1 myviewboard.com, 1 -myvirtualserver.com, 0 myvitalspro.com, 0 myvologda.tk, 1 myvotect.gov, 1 @@ -103298,8 +103459,6 @@ mywoodbridgedentist.com, 1 myworkboard.com, 1 myworkfromhome.ml, 1 -myworkplaceperks.ca, 1 -myworkplaceperks.com, 1 myworldbbs.tk, 1 myworth.com.au, 1 mywrecklawyer.com, 1 @@ -103330,9 +103489,9 @@ mzak.pro, 1 mzakariya.com, 1 mzback.cc, 1 +mzbs.pl, 1 mzcdn.cc, 1 mzcsgo.top, 1 -mzdy.cc, 1 mzdy.in, 1 mzflirt.de, 1 mzg.fan, 1 @@ -103389,6 +103548,7 @@ n4zm.com, 1 n5197.co, 1 n61roscommon.ie, 1 +n64.cc, 1 n6729.co, 1 n6957.co, 1 n7.education, 0 @@ -103423,6 +103583,7 @@ naaronstoe.nl, 1 nab-services.ml, 1 nabard.xyz, 1 +nabble.org, 1 nabc.au, 1 nabchelny-news.ru, 1 nabeer.ga, 1 @@ -103475,7 +103636,6 @@ nacres.tk, 1 nacsonline.tk, 1 nacu.com.np, 1 -nacua.org, 1 nacudeck.com, 0 naculus.com, 1 nacyklo.cz, 1 @@ -103520,6 +103680,7 @@ naga-wedding.tk, 1 naga.gq, 1 nagaragem.com.br, 1 +nagareyash.com, 1 nagashi.ma, 1 nagato.tk, 1 nagaya.biz, 1 @@ -103541,11 +103702,15 @@ nagyandras.com, 1 nagyandras.eu, 1 nagyandras.net, 1 +nagyelena.hu, 1 +nagyelenaolivia.hu, 1 +nagyingrid.hu, 1 nah.nz, 1 nah.re, 1 naharro.fr, 1 naheulcraft.be, 1 nahman.tk, 1 +nahook.com, 1 nahouw.net, 1 nahrag.tk, 1 nahs-classof1972.com, 1 @@ -103586,7 +103751,6 @@ najany.se, 1 najarkadeh.com, 1 najbezpieczniejsze.pl, 1 -najdou.cz, 1 naji-astier.com, 1 najprzepis.pl, 1 najrecept.sk, 1 @@ -103608,7 +103772,6 @@ nakazawa-iin.com, 1 naked.pics, 1 nakedalarmclock.me, 1 -nakedfacts.co.uk, 0 nakedgirls247.xxx, 1 nakedinkas.com, 1 nakedmaturepics.com, 1 @@ -103688,9 +103851,10 @@ namevirus.net, 1 namevirus.org, 1 nami.bo, 1 -nami.trade, 1 namikawatetsuji.jp, 1 +nammacombat.com, 1 nammti.uz, 1 +namoid.in, 1 namoro.com.pt, 1 nampa.gov, 1 nampapolice.gov, 1 @@ -103826,6 +103990,7 @@ naquebec.tk, 1 nar.cards, 1 nar0.com, 1 +nara-taiki.info, 1 nara.gov, 1 naraboty.ga, 1 narada.com.ua, 1 @@ -103955,6 +104120,7 @@ nasscom.in, 1 nassconorfolk.com, 1 nasserdkhalili.com, 1 +nast.ro, 1 nast.tk, 1 nastationztv.com, 1 nastjenka.tk, 1 @@ -103975,10 +104141,8 @@ natalia-venezuela.tk, 1 natalia.ovh, 1 nataliapearl.com, 1 -natalie.mu, 1 nataliealba.net, 1 nataliehershlag.tk, 1 -nataliiawines.com.ua, 1 nataliyabag.com, 1 natalsentido.com, 1 natanaelys.com, 1 @@ -103998,6 +104162,7 @@ natchezss.com, 1 nate.sh, 1 nateandxtina.wedding, 1 +natedryer.com, 1 nateev.fr, 1 nategreen.org, 0 natelefon.tk, 1 @@ -104047,7 +104212,6 @@ nationalbanken.dk, 1 nationalbankhelp.gov, 1 nationalbanknet.gov, 1 -nationalbluebadge.com, 1 nationalcement.com, 1 nationalchillies.in, 1 nationalcontractorlicenseagency.com, 1 @@ -104063,7 +104227,6 @@ nationalfuse.com, 1 nationalgangcenter.gov, 1 nationalhomequotes.com, 1 -nationalinjuryadvocates.com, 1 nationalmall.gov, 1 nationalmap.gov, 1 nationalmattressday.com, 1 @@ -104109,7 +104272,6 @@ natives-team.ch, 0 nativestate.co, 1 nativitychurchnj.org, 1 -nativitynj.org, 1 nativitytv.ps, 1 natland.org.uk, 1 natlec.ch, 1 @@ -104167,7 +104329,6 @@ naturelife.bg, 1 naturelk.org, 1 naturesain.fr, 0 -naturesbest.co.uk, 1 natureschoicewellness.com, 1 natureshealthandbody.com, 1 naturesinfusions.com.au, 1 @@ -104200,13 +104361,14 @@ naufalpanjwani.com, 1 naughty.audio, 1 naughtydog.com, 1 +naujaera.com, 1 naukri.com, 1 naundorf.it, 1 nauris.fi, 1 nauseainthemorning.ml, 1 nausempreendimentos.com, 1 nausicaahotel.it, 1 -nauss.edu.sa, 1 +nauss.edu.sa, 0 naut.ca, 1 nautadutilh.com, 1 nautholl.is, 1 @@ -104218,8 +104380,10 @@ nautilusoceanica.com, 1 nautsch.de, 0 nauz-art.com, 1 +nav.at, 1 +nav.co, 1 nav.no, 1 -nava.org, 1 +nav.ro, 1 navadebejar.tk, 1 navajasdesupervivencia.es, 1 navajocountysheriff.gov, 1 @@ -104229,6 +104393,7 @@ navan.com, 1 navaneethnagesh.com, 1 navarashtra.com, 1 +navarraaluminio.com, 1 navarrete.tk, 1 navasdelpinar.com, 1 navasoft.com.tr, 1 @@ -104238,6 +104403,7 @@ navegarea.tk, 1 naveka.ga, 1 navenlle.com, 1 +navia-cruise.com, 1 naviate.com, 1 navicater.com, 1 navidarian.tk, 1 @@ -104253,6 +104419,7 @@ naviodata.io, 1 navita.com.br, 1 naviteq.eu, 1 +navivision.net, 1 navkor.tk, 1 navlnachekg.cz, 1 navneetsingh.co, 1 @@ -104276,6 +104443,7 @@ naxcivan.tk, 1 nayakaaerial.com, 1 nayanaas.com, 1 +nayaone.com, 1 nayapakistan.tk, 1 naydenovlaw.com, 1 nayefalebrahim.com, 1 @@ -104346,8 +104514,8 @@ nbb.com, 1 nbc.com.tr, 1 nbc26.com, 1 -nbccf.org, 1 nbeuk.com, 1 +nbexecutivesolutions.com, 1 nbf.ae, 1 nbfl.gov, 1 nbgrp.org, 1 @@ -104379,6 +104547,7 @@ ncastillo.xyz, 1 ncat.cafe, 1 ncat.tokyo, 1 +ncatech.me, 1 ncatregister.com, 1 ncauditor.gov, 1 ncbham.be, 1 @@ -104433,11 +104602,13 @@ nclf.net, 0 ncli-design.com, 1 ncloud.freeddns.org, 1 +nclpagamentos.com.br, 1 ncmedicaidplan.gov, 1 ncmedicaidplans.gov, 1 ncmms.gov, 1 ncncs.com, 1 ncommenuptial.tk, 1 +ncompasstrac.com, 1 ncosc.gov, 1 ncpc.gov, 1 ncpimd001.spdns.de, 1 @@ -104452,6 +104623,7 @@ ncsccs.com, 1 ncshp.gov, 1 ncsis.gov, 1 +ncsl.or.kr, 1 ncsparta.gov, 1 ncswboard.gov, 1 nctm.org, 1 @@ -104499,7 +104671,8 @@ ndphs.org, 1 ndplumbingboard.gov, 1 ndpta.com, 1 -ndq.be, 1 +ndq.be, 0 +ndr.world, 1 ndrew.me, 1 nds-online.ru, 1 ndscreening.com, 1 @@ -104513,7 +104686,6 @@ ne.ax, 1 nea.gov, 1 nealemorison.com, 1 -nealsmead.com, 0 neanderthalia.tk, 1 neapi.com, 1 nearbees.de, 1 @@ -104521,7 +104693,6 @@ nearby.in.th, 1 nearform.com, 0 nearlist.com, 1 -nearnorthcustoms.com, 1 nearnorthmassage.com, 1 neartothesky.com, 1 neatful.eu.org, 1 @@ -104614,6 +104785,7 @@ needrom.com, 1 needsth.top, 0 needstobe.pet, 1 +needtowatch.net, 1 neeerd.org, 1 neel.ch, 1 neelen-gym.nl, 1 @@ -104643,13 +104815,13 @@ nefizhome.com, 1 nefro-cme.de, 1 nefthy.de, 1 -neftis.es, 1 neg9.org, 0 negabarit.tk, 1 negai.moe, 0 negativecrestinegratuite.tk, 1 negativecurvature.net, 1 negativeentropy.org, 1 +negativelacomanda.ro, 1 negativex.gq, 1 neglected.space, 1 neglecteddiseases.gov, 1 @@ -104658,7 +104830,6 @@ negocios-imatore.com, 1 negociosparaoptimistas.com, 1 negociosurbanos.net, 1 -negoya-shokai.info, 1 negozimoda.it, 1 negoziointimo.com, 1 negr.gay, 1 @@ -104863,6 +105034,7 @@ neonigma.tk, 1 neonknight.ch, 1 neonnova.ca, 1 +neonpublic.ai, 1 neons.org, 1 neontemple.net, 1 neontri.com, 1 @@ -104911,7 +105083,7 @@ nepartypas.tk, 1 nepellion.org, 1 nepezzano13.com, 1 -neph.social, 1 +nepfi.com, 1 nephelae.eu, 1 nephology.net.au, 1 nephrogo.com, 1 @@ -104998,7 +105170,7 @@ neshura.me, 1 neshura.net, 1 neskins.com, 1 -nesma.com, 1 +nesma.com, 0 nesolabs.de, 1 nespim.tk, 1 nessaesthetics.com, 1 @@ -105052,6 +105224,7 @@ netcake.in, 1 netcapital.com, 1 netcat.ovh, 1 +netcattle.com, 1 netcd.tk, 1 netcenteret.tk, 1 netco-group.de, 1 @@ -105091,6 +105264,7 @@ netfiles.de, 1 netfilter.cc, 1 netfirmtextile.com, 1 +netflixgc.club, 1 netflowanalysissolution.com, 1 netflowanalysissolutions.com, 1 netflowcalculator.com, 1 @@ -105100,11 +105274,12 @@ netflowtoday.com, 1 netflowtrafficanalysis.net, 1 netfog.de, 1 -netfolio.pt, 1 netforall.tk, 1 +netfortress.co.il, 1 netfoundry.io, 1 netfreedom.tk, 1 netfs.pl, 1 +netfuture.ch, 1 netgazeti.ge, 1 netgenetiqs.de, 1 netgotowka.pl, 1 @@ -105118,7 +105293,6 @@ nethealth.cf, 1 nethealth.ga, 1 nethealth.tk, 1 -netherite.gg, 1 netherlands.nl.eu.org, 1 netherlandsmission.org, 1 netherlandstypography.nl, 1 @@ -105178,11 +105352,11 @@ netracks.ga, 1 netradyne.com, 1 netraising.com, 1 +netralex.com, 1 netravix.com, 1 netrecruituk.co.uk, 1 netresec.com, 1 netreviews.tk, 1 -netriders.academy, 1 netrift.uk, 1 netrino.be, 1 netrino.info, 1 @@ -105228,6 +105402,7 @@ nettiruletti.tk, 1 nettletonms.gov, 1 nettleweb.com, 1 +nettools.fi, 1 nettools.link, 1 nettoptangida.com, 1 nettoyage-apres-deces-crime.fr, 1 @@ -105322,7 +105497,6 @@ netzwerk-lq.net, 1 netzwerk-sozialliberal.de, 1 netzwerkwerk.de, 1 -netzwolf.info, 1 neuber-it.de, 1 neuber.uno, 1 neubr.de, 1 @@ -105357,7 +105531,6 @@ neurido.net, 1 neurobiology.wiki, 1 neurobirds.com, 1 -neurocia.com.br, 1 neurocny.cloud, 1 neurococi.org, 1 neurococi.ro, 0 @@ -105382,9 +105555,11 @@ neuropsicologiaperin.com.br, 1 neuropsiperches.com, 1 neuropsychologisthouston.com, 0 +neurosugi.com, 1 neuroticosanonimos.tk, 1 neurotransconcept.com, 0 neurotransmitter.net, 1 +neurovatic.ai, 1 neurovicellc.com, 0 neurozentrum-barsinghausen.de, 1 neurozentrum-zentralschweiz.ch, 1 @@ -105409,6 +105584,7 @@ nevadaconservativenews.com, 1 nevadacountyca.gov, 1 nevadacourtcases.com, 1 +nevadadmvtracker.com, 1 nevadagopelecteds.org, 1 nevadahovremoval.com, 1 nevadaimmigrantspending.com, 1 @@ -105459,6 +105635,7 @@ new-boiler-prices.co.uk, 1 new-flyer-institute.com, 1 new-flyer.co, 1 +new-home-owner.online, 1 new-mexico-sexcams.com, 1 new-pornvideos.com, 1 new-smile.cf, 1 @@ -105491,6 +105668,7 @@ newaygocountymi.gov, 1 newbabylon.tk, 1 newbackup.ml, 1 +newbadhabit.com, 1 newbasemedia.us, 1 newberlinwi.gov, 1 newberrycounty.gov, 1 @@ -105535,6 +105713,7 @@ newcold.com, 1 newcoldhelsingborg.se, 1 newcombny.gov, 1 +newcometals.com, 1 newconcept.tk, 1 newconceptelec.be, 1 newcreamforface.com, 1 @@ -105550,6 +105729,7 @@ newdoor.estate, 1 newdreamsnashamuktikendra.com, 1 newdriver.com.br, 1 +newdronesandquadcopters.com, 1 newdurhamnh.gov, 1 newedgeink.ca, 1 newelliottwaverule.org, 1 @@ -105559,6 +105739,7 @@ newenglandfiberglasswindows.com, 1 newenglandradioforum.tk, 1 newenglandtek.com, 1 +newerabook.com, 1 newexpo.pro, 1 newfacialbeautycream.com, 1 newfairfieldct.gov, 1 @@ -105585,8 +105766,10 @@ newgrowbook.com, 0 newgrowthpress.com, 1 newguidance.ch, 0 +newhade.ddns.net, 1 newhampshiretitlesearch.com, 1 newhamyoungbloods.co.uk, 1 +newhavenmurdermystery.com, 1 newhavenshiami.gov, 1 newholland.tk, 1 newhomedesign.tk, 1 @@ -105604,6 +105787,7 @@ newjerseytitlesearch.com, 1 newjerseyvideography.com, 1 newkaliningrad.ru, 1 +newlands-fasteners.com.au, 1 newledger.io, 1 newlegalsteroid.com, 1 newlifefund.org, 1 @@ -105652,7 +105836,7 @@ newportri.gov, 1 newposts.ru, 1 newpraguemn.gov, 1 -newprairiepress.org, 1 +newprairiepress.org, 0 newpress24.tk, 1 newquilters.com, 1 newreleases.io, 1 @@ -105660,7 +105844,6 @@ newreligiousmovements.org, 1 newrichlandmn.gov, 1 newrochellearts.org, 1 -newruf.com, 1 news-and-blogs.tk, 1 news-balashiha.ru, 1 news-berdyansk.ru, 1 @@ -105718,7 +105901,6 @@ newschannel5.com, 1 newscheck.tk, 1 newschool.ie, 1 -newscroll.ru, 1 newscultural.tk, 1 newsdiff.eu, 1 newsdiff.nl, 1 @@ -105736,6 +105918,7 @@ newshome.tk, 1 newshorehamri.gov, 1 newshour.media, 1 +newsibly.nz, 1 newsig.com, 1 newsignature.com, 0 newsinformer.ga, 1 @@ -105758,7 +105941,6 @@ newspower.ir, 1 newsprinters.co.uk, 1 newspro.io, 1 -newspsychology.com, 1 newsquare.biz, 1 newsrostov.ru, 1 newstangerang.com, 1 @@ -105815,7 +105997,7 @@ newyorkpub.com.br, 1 newyorkreporting.com, 1 newyorkrp.tk, 1 -newyorkschools.us, 1 +newyorkschools.us, 0 newyorktitlesearch.com, 1 newzashitnik.tk, 1 newzealandadventure.tk, 1 @@ -105825,6 +106007,7 @@ newzvilla.ga, 1 nex.io, 1 nex.li, 1 +nexa-c.com, 1 nexacu.com.au, 1 nexadevs.com, 1 nexafuze.com, 1 @@ -105858,6 +106041,7 @@ nexlyrai.uk, 1 nexocap.cl, 1 nexon.com.au, 1 +nexopd.com, 1 nexrbx.com, 1 nexril.net, 0 nexs.gg, 1 @@ -105938,12 +106122,14 @@ nextvision.pt, 1 nextwab.com, 1 nextworldcoding.ga, 1 +nextxidentity-dev.azurewebsites.net, 1 nextzen.com.bd, 1 nexus, 1 nexus-crm.co.uk, 0 nexus-start.de, 1 nexus-vienna.at, 1 nexusagentsystems.com, 1 +nexusbilisim.com, 1 nexusbridgebrokers.com, 1 nexusconvert.com.br, 1 nexuscore.systems, 1 @@ -105985,6 +106171,9 @@ nfcweb.de, 1 nffiredistrictoh.gov, 1 nffs.cf, 1 +nfgc.me, 1 +nfgc.net, 1 +nfgc.tv, 1 nfgonlineuk.tk, 1 nfhsraiderwire.com, 1 nfi.parts, 1 @@ -106022,12 +106211,11 @@ ng-musique.com, 1 ng-stroy.bg, 1 ng.edu.ee, 1 -ngappliances.co.uk, 1 +ngappliances.co.uk, 0 ngarate.com, 1 ngatikoata.com, 1 ngatikuri.tk, 1 ngawa-avocat-paris.fr, 1 -ngbilling.com.br, 1 ngbs.fun, 1 ngc.gov, 0 ngclearing.com, 1 @@ -106037,7 +106225,6 @@ nggukbo9lbfadcf5.gq, 1 nghe.net, 1 nghien4banh.com, 1 -nghiengacha.com, 1 ngiemboon.net, 1 nginx.io, 1 nginxtest.ml, 1 @@ -106097,12 +106284,12 @@ nhbp.gov, 1 nhccnews.org, 1 nhdecoration.fr, 1 +nhdsd.xyz, 1 nhdsilentheroes.org, 1 nhg.nl, 1 nhheaf.org, 1 nhjvillalmanzo.tk, 1 nhlocalgrocer.com, 1 -nhnature.org, 1 nhnieuws.nl, 1 nhnz.tv, 1 nho.do, 1 @@ -106182,6 +106369,7 @@ nic.youtube, 1 nic.zip, 1 nica.org.sg, 1 +nicadestino.com, 1 nicaieri.ro, 1 nicanordic.com, 1 nicastrosalvatore.tk, 1 @@ -106192,6 +106380,7 @@ nice-links.tk, 1 nice-school.com.ua, 1 nice-sound.com, 1 +nice.ch, 1 niceb5y.net, 0 niceceo.com, 0 nicecockb.ro, 1 @@ -106206,6 +106395,7 @@ nicesurf.tk, 1 nicetits.pics, 1 nicevillefl.gov, 1 +niceviolin.com, 1 nicgoa.nic.in, 1 nicheosala.info, 1 nicheosala.tk, 1 @@ -106305,6 +106495,7 @@ nicolasiung.me, 0 nicolasjpsanchez.com, 1 nicolasmeric.ovh, 1 +nicolasortiz.com, 1 nicolasprovost.tk, 1 nicolaszambetti.ch, 1 nicolaus.sk, 1 @@ -106402,6 +106593,7 @@ niffler.software, 1 niflheimr.es, 1 niftiestsoftware.com, 1 +nifty.travel, 1 niftyninjamarketing.com, 1 nifume.com, 1 niga.tk, 1 @@ -106409,6 +106601,7 @@ nigdeescort.tk, 1 nigel-aves-photography.com, 1 nigelfreake.eu, 1 +nigellasativa.info, 1 nigelpentland.co.uk, 1 nigelpentland.net, 1 nigelsnotebook.com, 1 @@ -106416,7 +106609,6 @@ nigelwrightgroup.com, 1 nigeriaimagefoundation.org, 1 nigeriaportal.tk, 1 -nigeriasolarmarket.com.ng, 1 niggo.eu, 0 night-life.club, 1 night-pleasure.com, 1 @@ -106428,14 +106620,13 @@ nightblue.ml, 1 nightblue.tk, 1 nightbox.cf, 1 -nightboxllc.com, 1 +nightboxllc.com, 0 nightcitynews.info, 1 nightclassifieds.com, 1 nightdreamer.me, 1 nightfirecat.com, 1 nighthawks.tk, 1 nighthawkstrategies.com, 1 -nightingalebabyconcierge.com, 1 nightingalescareathome.com, 1 nightinvasion.org, 1 nightkiss66.org, 1 @@ -106453,6 +106644,7 @@ nightscapes.tk, 1 nightscout.cloud, 1 nightscout.sk, 1 +nightshiftsec.ai, 1 nightsi.de, 1 nightskyalerts.com, 1 nightsnack.cf, 1 @@ -106548,11 +106740,9 @@ nikolajmackowski.dk, 1 nikolasbradshaw.com, 1 nikolayiliev.bg, 1 +nikoldziub.fr, 1 +nikolenkoclinic.com, 1 nikon-photocontest.com, 1 -nikoniko-dental-izumichuo.jp, 1 -nikoniko-dental-izumigaoka.jp, 1 -nikoniko-dental-nakamozu.jp, 1 -nikoniko-dental-premium.jp, 1 nikoniko-dental-support.jp, 1 nikonimgsupport.com, 1 nikonlibrary.co.uk, 1 @@ -106570,7 +106760,6 @@ niksys.net, 1 nikz.in, 1 nil.as, 1 -nil.com, 1 nil.mx, 1 niledevelopmentseg.com, 1 nileempire.com, 1 @@ -106636,6 +106825,7 @@ ninetyninestreet.co.nz, 1 ninetyseven.tk, 1 ninetysixsc.gov, 1 +nineveh.ai, 1 ninex.org, 1 ninfora.com, 1 ning.bo, 1 @@ -106643,7 +106833,6 @@ niniko.tk, 1 ninja-corner.tk, 1 ninja.it, 1 -ninjacomputing.com, 1 ninjamagic.tk, 1 ninjaremap.com, 1 ninjaseo.es, 1 @@ -106652,6 +106841,7 @@ ninkt.com, 1 ninmegam.gq, 1 ninofink.com, 1 +ninolegal.com, 1 ninoo.nl, 1 ninov.bg, 1 ninovayazilim.com, 1 @@ -106681,7 +106871,6 @@ nipponsteelwelding-thai.co.th, 1 nippynet.tk, 1 niprojmidialysis.com, 1 -niprojmimedical.com, 1 niprojmipharma.com, 1 nirada.info, 1 nirbhayamc.com, 1 @@ -106706,7 +106895,7 @@ nishimebistro.cz, 1 nishinokana.com, 1 nishisbma.com, 1 -nishiwaki-shonaifoods.com, 1 +nishiwaki-shonaifoods.com, 0 nishiyama-shoten.com, 1 nisomnia.com, 1 nispakshawaj.com, 1 @@ -106753,9 +106942,9 @@ nix.org.ua, 0 nix13.xyz, 1 nixcore.gq, 1 +nixi.eu.org, 1 nixie.fashion, 1 nixonlibrary.gov, 1 -nixpare.com, 1 nixplus.tk, 1 nixrepair.nl, 1 nixsub.tk, 1 @@ -106796,6 +106985,7 @@ njfog.org, 1 njhq.org, 1 njilc.com, 1 +njitaenterprise.com, 1 njj0121.com, 1 njjfeducationcenter.com, 1 njleg.gov, 1 @@ -106804,7 +106994,6 @@ njmihia.gov, 1 njngroup.org, 1 njoyn.com, 1 -njpc.org, 1 njpjanssen.nl, 1 njpranksters.tk, 1 njrealtor.com, 1 @@ -106847,6 +107036,7 @@ nl3ehv.nl, 1 nla.no, 0 nlap.ca, 0 +nlazarov.com, 1 nlead.gov, 1 nlgr.de, 1 nlindt.com, 1 @@ -106885,7 +107075,7 @@ nmleatherleague.com, 1 nmmd.co.uk, 1 nmmlp.org, 1 -nmn.hu, 0 +nmn.hu, 1 nmontag.com, 1 nmosknews.ru, 1 nmoss.com, 1 @@ -106962,6 +107152,7 @@ noagendahr.org, 1 noahjacobson.com, 1 noahmodas.com.br, 1 +noahnature.hu, 1 noahs.com, 1 noahsaso.com, 1 noajoder.ch, 1 @@ -107002,7 +107193,6 @@ nobz.com.br, 0 noc.best, 1 noc.wang, 1 -nocapplugins.xyz, 1 noccie.com, 1 nochedecine.com, 1 nocheslargas.com, 1 @@ -107107,6 +107297,7 @@ noithatphangia.net, 1 noj.ac, 0 nojihata.com, 0 +nojjj.com, 1 nojok.es, 1 nojoumstudio.live, 1 nojum.tk, 1 @@ -107119,7 +107310,6 @@ noktadedektor.com, 1 noktadetectors.com.br, 1 nokton.com, 1 -noktron.de, 1 nokya.tk, 1 nokzedoc.tv, 1 nolanpoe.me, 1 @@ -107220,6 +107410,7 @@ noom.com, 1 noon-entertainments.com, 1 noonan.family, 1 +noonbarbari.xyz, 1 nooneshere.co.uk, 1 noop.ch, 1 noop.com.au, 1 @@ -107255,6 +107446,7 @@ norad.sytes.net, 1 norada.com, 1 noradevot.com, 1 +norahheadhp.com.au, 1 norala.tk, 1 noralku.net, 1 norazpublicservice.gov, 1 @@ -107339,7 +107531,6 @@ noripon.blog, 1 noris-color.de, 1 noriskit.nl, 1 -noritakechina.com, 1 norlink.ca, 1 normaculta.com.br, 1 normalady.com, 0 @@ -107350,7 +107541,6 @@ normalporter.tk, 1 normalsecurity.com, 1 norman-preusser-gmbh.de, 1 -norman-schmidt.de, 1 normanbauer.com, 1 normandgascon.com, 1 normandie-bienetre.com, 1 @@ -107359,7 +107549,7 @@ normanemark.com, 1 normity.nl, 1 norml.fr, 1 -nornes.xyz, 1 +normsun-cpa.com, 1 noroi24.com, 1 noroutine.com, 1 noroutine.me, 1 @@ -107465,6 +107655,7 @@ northsidecaravansrepairsandspares.com, 1 northsideeventsindy.com, 1 northstack.pt, 1 +northstarasset.com, 1 northstarcommunitytrust.org, 1 northstarcommunitytrust.org.uk, 1 northstaredit.org.uk, 1 @@ -107516,6 +107707,7 @@ nosetup.tk, 1 noseware-apps.de, 1 nosfermiers.com, 1 +nosial.net, 1 nosinmiperro.tk, 1 nosite.co.za, 1 nosleepforrobots.com, 1 @@ -107550,7 +107742,6 @@ not-binary.org, 1 not4me.ga, 1 not4me.tk, 1 -nota.moe, 1 notabubble.com, 1 notabug.eu, 1 notabug.org, 1 @@ -107581,9 +107772,10 @@ notary-tx.com, 1 notary24.ru, 1 notarypublic.co.nz, 1 +notbir.com.tr, 1 notbot.es, 1 notby.net, 1 -notcanadianlabour.ca, 1 +notcanadianlabour.ca, 0 notcompletelycorrect.com, 1 notcurses.com, 1 notdankmemer.lol, 1 @@ -107611,7 +107803,7 @@ notesforpebble.com, 1 noteshare.net, 1 noteskeeper.ru, 1 -notesnap.org, 1 +notesnap.org, 0 notetube.ai, 1 notfunny.tk, 1 notgerman.com, 1 @@ -107700,6 +107892,7 @@ nouragha.com, 1 nourishandnestle.com, 1 nourishbyfrida.com, 1 +nourishnv.org, 1 noussommesluniversite.org, 1 nousyukum.com, 1 nouveauhosting.com.au, 1 @@ -107730,9 +107923,10 @@ novalnet.de, 1 novamont.com, 1 novanetwork.ml, 1 +novania.fr, 1 novanice.net, 1 novanta.pl, 1 -novantaphotonics.com, 1 +novantaphotonics.com, 0 novaofcalifornia.com, 0 novaprac.com, 1 novaquantum.com, 1 @@ -107752,6 +107946,7 @@ novaya.media, 1 novaya.no, 1 novayagazeta.ee, 1 +novayagazeta.eu, 1 novayagazeta.ru, 1 novayazemlya.tk, 1 noveaspi.sk, 1 @@ -107775,7 +107970,7 @@ novelvyretraite.fr, 1 novema.jp, 1 novenopiso.tk, 1 -noventiq.co.uk, 1 +noventiq.nl, 1 novezamky.tk, 1 novgorod-news.net, 1 novgorod24.tk, 1 @@ -107788,7 +107983,6 @@ novickoe.ml, 1 novikey.com, 1 novilaw.com, 1 -novilidery.com, 1 novilist.hr, 1 novindustria.pt, 1 novinertes.pt, 1 @@ -107842,7 +108036,6 @@ novu.com, 1 novum.is, 1 novumclinic.pl, 1 -novumnet.com.br, 1 novurania.com, 0 novusnews.co.uk, 1 novusnews.de, 1 @@ -107865,7 +108058,6 @@ nowbb.tk, 1 nowdoc.co.kr, 1 nowebsite.tk, 1 -nowecor.de, 1 noweigh.co.uk, 1 nowhere.dk, 1 nowincluded.com, 1 @@ -108000,6 +108192,7 @@ nsenmf.com, 1 nsep.gov, 1 nsf-journal.hr, 1 +nsf.gov, 1 nsfw.dk, 1 nsfw.sx, 1 nsfwph.com, 1 @@ -108011,6 +108204,7 @@ nsine.be, 1 nsinternational.com, 1 nsinternational.nl, 1 +nsjbi.com, 1 nsjbio.com, 1 nskarate.tk, 1 nsknox.net, 1 @@ -108135,6 +108329,7 @@ nucleuspanel.com, 1 nucoplus.com, 1 nudaveritas.tk, 1 +nudeai.com, 1 nudeandfresh.tk, 1 nudegirlphotos.com, 1 nudegirls.tv, 1 @@ -108173,16 +108368,17 @@ nuhs.sg, 1 nuipogoda.ru, 1 nuitec.com.br, 1 -nujek.id, 1 nuke-masters.tk, 1 nukeiso.ml, 1 nukeportal.ml, 1 nukeportal.tk, 1 nukeshop.tk, 1 +nuklear.io, 1 nukleoti.de, 1 nukta.com.pk, 1 nukta.pk, 1 nul20.nl, 1 +nuldag.dk, 1 null-d.com, 1 null-life.com, 1 nullam.tech, 1 @@ -108207,15 +108403,16 @@ nully.xyz, 1 nullzwo.at, 1 nulsc.biz, 1 +numafilm.ro, 1 numancia.tk, 1 numarasorgulama.tel, 1 numaxion.fr, 1 number.academy, 1 number.com.br, 1 number.me, 1 -number80shop.com, 0 numbercult.net, 1 numberspiral.pt, 1 +numbertowords.in, 1 numberzero.org, 1 numbots.com, 1 numedes.com, 1 @@ -108244,7 +108441,6 @@ nummernschild.de, 1 numo.co, 1 numxl.com, 1 -nun.gl, 1 nunesgh.com, 1 nunesgh.org, 1 nunnenmacher.net, 0 @@ -108321,6 +108517,7 @@ nutriflex.co.za, 1 nutrifyyourself.com, 1 nutrijets.com, 1 +nutrikozak.pl, 1 nutrineyfelipe.com, 1 nutripure.fr, 1 nutrisabela.com.br, 1 @@ -108355,8 +108552,9 @@ nuvotheagency.com, 1 nuvpad.com, 1 nuvto.me, 1 +nuvvo.org, 1 nuwave.com, 0 -nux.jp, 1 +nux.jp, 0 nuxer.fr, 1 nuzhenkredit.ga, 1 nuzhenkredit.gq, 1 @@ -108375,7 +108573,6 @@ nvdemstracker.com, 1 nvdps.gov, 1 nvdxs.com, 1 -nve-qatar.com, 1 nvest.co.za, 1 nvestel.co.za, 1 nvestholdings.co.za, 1 @@ -108391,6 +108588,7 @@ nvigate.gov, 1 nvio.mx, 1 nvkc.nl, 0 +nvkgoudsmederij.nl, 1 nvl-game.tokyo, 1 nvleg.gov, 1 nvlifeinsurance.info, 1 @@ -108432,6 +108630,8 @@ nwrp.eu, 1 nwshell.com, 1 nwspecialists.com, 1 +nwstudios.dk, 1 +nwstudios.se, 1 nwtoys.com, 1 nwtparks.ca, 0 nwtrb.gov, 1 @@ -108484,6 +108684,7 @@ nycgangland.com, 1 nycoyote.org, 1 nycpac.net, 0 +nycris.com, 1 nycstyleboutique.com, 1 nycu.moe, 1 nycuf.org, 1 @@ -108681,6 +108882,7 @@ oakshield.nl, 1 oakslim.com, 1 oaktreelodge.org.uk, 1 +oakvalleyhealth.ca, 1 oakwood-park.tk, 1 oanamancu.com, 1 oandgpr.com, 1 @@ -108809,7 +109011,6 @@ obscur.us, 1 obscureware.xyz, 1 observatoire-des-partenariats.fr, 1 -observatoriociudad.org, 1 observer.com, 1 obsessedwithknives.ru, 1 obsessivecompulsiveexplained.com, 1 @@ -108822,7 +109023,6 @@ obss.tech, 1 obstgarten.berlin, 1 obsuzhday.com, 1 -obtainhigh.com, 1 obtima.org, 1 obuchowicz.pl, 1 obuhov.ml, 1 @@ -108844,6 +109044,7 @@ ocabj.net, 1 ocacnews.net, 1 ocadefusion.fr, 1 +ocafezito.com.br, 1 ocaladepositionreporter.com, 1 ocalafl.gov, 1 ocalapd.gov, 1 @@ -108936,7 +109137,6 @@ ochioneta.es, 1 ochk.org, 1 ochki-linzi.tk, 1 -ochobeatsmedia.net, 1 ochranaprirody.cz, 1 ochrepoint.com.au, 1 ochsenfeld-fotografie.de, 1 @@ -109030,6 +109230,7 @@ octopus.party, 0 octopusadvisors.com, 1 octopusbi.com, 1 +octopustranscript.nl, 1 octothorpe.club, 1 octothorpe.ninja, 1 octothorped.com, 1 @@ -109045,6 +109246,7 @@ ocvote.gov, 1 ocwr.gov, 1 ocydias.tk, 1 +oda-group.co.jp, 1 odabasi.ch, 1 odabilocal.com, 1 odatakao.com, 1 @@ -109072,7 +109274,6 @@ oddtime.net, 1 oddtx.org, 1 ode.red, 0 -odebouchage.fr, 1 odejdamoda.tk, 1 odensc.com, 1 odensc.me, 1 @@ -109101,6 +109302,7 @@ odmap.org, 1 odnostranichnik.tk, 1 odo-pro.ru, 1 +odonto365.com.br, 1 odontologiawilliampizarro.com, 1 odoo.co.th, 1 odoppelto.de, 1 @@ -109179,6 +109381,7 @@ ofelia.tk, 1 ofenbau-melle.de, 1 ofertasadsl.com, 1 +ofertasinternet.com, 1 ofertastop.es, 1 ofertemutare.ro, 1 ofertolino.fr, 1 @@ -109192,6 +109395,7 @@ offbeatbits.com, 0 offbyinfinity.com, 1 offcasesstore.com, 1 +offcenit.no, 1 offenekommune.de, 1 offenes-deutschland.de, 1 offensity.com, 1 @@ -109208,7 +109412,6 @@ offersavesnow.shop, 1 offerview.fr, 1 offgamers.com, 1 -offgrid.hr, 1 office, 1 office-aslabo.com, 1 office-basilique.notaires.fr, 1 @@ -109218,7 +109421,6 @@ office-dolmetscher-scharnagl.de, 1 office-furniture-direct.co.uk, 1 office-house.tk, 1 -office-learning.ir, 1 office-mizutani.jp, 1 office-op.tk, 1 office-ruru.com, 1 @@ -109275,6 +109477,8 @@ offshoretravelsest.ga, 1 offshorewindwatchdog.com, 1 offside.org, 1 +offsiteassured.com, 1 +offsiteassured.net, 1 offspringmexico.tk, 1 offspringzero.tk, 1 offthegridnews.com, 1 @@ -109284,6 +109488,7 @@ offworld.com, 1 ofggolf.com, 1 ofi.com, 0 +ofia.gov, 1 oficios.cl, 1 oficoex.es, 1 oficomercr.com, 0 @@ -109352,7 +109557,6 @@ ogyaa.jp, 0 oh14.de, 1 oh64.moe, 1 -ohackermascarado.org, 1 ohai.is, 1 ohai.social, 1 ohai.su, 1 @@ -109457,6 +109661,7 @@ okaidi.fr, 1 okaidi.ro, 1 okaidi.si, 1 +okamed.com.br, 1 okami-no-tochi.com, 1 okamotodent.com, 1 okamotoshika.tottori.jp, 1 @@ -109522,13 +109727,14 @@ okotelecom.ml, 1 okpo.tk, 1 okqubit.net, 1 -okr.pub, 1 okrexperten.de, 1 okrodrigo.com, 1 oksafe-t.org, 1 oksanakazakova.tk, 1 oksentiuk.pp.ua, 1 +oksigenia.club, 1 oksigenia.com, 1 +oksigenia.es, 1 okskoleni.cz, 1 oksystem.cz, 1 oktava.tk, 1 @@ -109645,7 +109851,6 @@ oldtoystuff.com, 1 oldvaliken.tk, 1 oldvps.com, 0 -olea.pk, 1 oleading.com.cn, 1 olearysec.com, 1 olecich.cz, 1 @@ -109658,6 +109863,7 @@ oleksandr-petrusenko.com, 1 oleksii.name, 0 olemon.eu.org, 1 +olen.fi, 1 olenergies.com, 1 olennolla.fi, 1 olennolla.net, 1 @@ -109693,6 +109899,7 @@ olimpicmoradebre.tk, 1 olimplask.pl, 1 olimpoao.tk, 1 +olimpostr.com, 1 olingermr.com, 1 olinux.fr, 1 oliode.tk, 1 @@ -109721,9 +109928,11 @@ oliverlanguages.com, 1 olivernaraki.com, 1 oliverniebuhr.de, 1 +oliverschmid.ca, 1 oliverspringer.eu, 1 oliverswindles.com, 0 oliverwenz.de, 1 +olivet.com, 1 olivetchurch.org.uk, 0 olivetownship-mi.gov, 1 olivetti.it, 1 @@ -109740,7 +109949,6 @@ oliviervaillancourt.com, 1 olivinehoney.com.au, 1 olivlabs.com, 1 -oljyakatemia.fi, 1 ollerom.com, 1 ollerom.nl, 1 ollie.io, 1 @@ -109758,8 +109966,6 @@ ollornog.de, 1 olltechjob.com, 1 olmari.fi, 1 -olmc-nutley.org, 1 -olmcjc.com, 1 olmet.pl, 1 olmik.net, 1 olmsted.io, 1 @@ -109782,6 +109988,7 @@ olson.at, 1 olson25.org, 0 olsonproperties.com, 1 +olstar.fr, 1 oltrecsd.com, 1 oluchiedmundmusic.com, 1 oludeniz.tk, 1 @@ -109826,8 +110033,10 @@ omangrid.com, 1 omanhr.cf, 1 omanpost.om, 1 +omanschoolfinder.com, 1 omapcorreduriadeseguros.es, 1 omar-webdesign.de, 1 +omaression.com, 1 omarflorist.com, 1 omarhussien.tk, 1 omarov.tk, 1 @@ -109881,13 +110090,13 @@ omid16b.com, 1 omidfan.ir, 0 omiltem.net, 1 -omind.ai, 1 omintmais.azurewebsites.net, 0 omipicon.io, 1 omkarpathak.in, 1 omlpar.gov, 1 omm.com, 1 omn.cc, 1 +omne.foundation, 1 omnel.ml, 1 omnergy.au, 1 omnergy.com.au, 1 @@ -109921,9 +110130,11 @@ omniga.de, 1 omniklasa.pl, 1 omnilert.net, 1 +omnilog.my.id, 1 omnirealm.tech, 1 omnirecherche.nl, 1 omniscimus.net, 0 +omnisec.dk, 1 omnisiens.se, 1 omnissimmo.fr, 1 omnitaxhelp.com, 1 @@ -109933,6 +110144,7 @@ omniterm.com, 1 omnitrattore.it, 1 omnits.pro, 1 +omnivect.fr, 1 omny.info, 1 omolines.tv, 1 omoo.co, 0 @@ -109983,7 +110195,6 @@ onaccount.co.nz, 1 onai.es, 1 onairshop.fr, 1 -onarto.com, 1 onatech.com.ph, 1 onavstack.net, 1 onawaymi.com, 1 @@ -110025,7 +110236,6 @@ ondrakutil.cz, 1 ondrej.org, 1 ondrejvasicek.cz, 1 -one-acleaning.com, 1 one-clue.com, 1 one-cozmic.com, 1 one-dot.de, 1 @@ -110090,6 +110300,7 @@ onefile.tk, 1 onefinitee.in, 1 onefish.cc, 1 +oneflow.cz, 1 onefocusapp.com, 1 onefootprint.com, 1 onefortyone.com, 1 @@ -110116,6 +110327,7 @@ onelifenutrition.co.uk, 1 onemail.co.uk, 1 onemap.sg, 0 +onemillionbidets.com, 1 oneminute.io, 0 onemobility-group.com, 1 onemodel.com.au, 1 @@ -110123,7 +110335,6 @@ onemonthcamera.tk, 1 onemoonmedia.de, 1 onenetcdn.com, 1 -onenetwork.com, 1 onenetwork.io, 1 onenightwild.com, 1 oneofthetwo.com, 0 @@ -110137,6 +110348,7 @@ onepeloton.co.uk, 0 onepeloton.com, 0 onepersona.io, 1 +onepiece.cl, 1 oneplanet.com, 1 oneplaykh.com, 1 onepluscamps.com, 0 @@ -110205,6 +110417,7 @@ ongelukvandaag.nl, 1 ongewenstretour.nl, 1 ongiaenegogoa.com, 1 +onglucas.com, 1 ongoal.gr, 1 ongoved.com, 1 onguard.co, 0 @@ -110302,7 +110515,7 @@ onlinecashloanz.com, 0 onlinecasino.amsterdam, 1 onlinecasinoerdk.com, 1 -onlinecasinofriend.com, 1 +onlinecasinofriend.com, 0 onlinecasinoground.nl, 1 onlinecasinoknowhow.com, 1 onlinecasinoselite.org, 1 @@ -110329,12 +110542,12 @@ onlinegallery.cf, 1 onlinegames4free.tk, 1 onlinegamesforgirls.tk, 1 +onlinegifting.com, 1 onlineglassesreview.com, 1 onlinegv.ch, 1 onlinehashfollow.com, 1 onlinehsa.com, 1 onlinehypermarket.ru, 1 -onlineindia.tech, 1 onlineinfo.freesite.host, 1 onlineinfographic.com, 1 onlineinsurancetips.ga, 1 @@ -110443,6 +110656,7 @@ onmaps.de, 1 onmaru.com, 1 onmyside.com, 1 +onmyweb.fr, 1 onnatuurlijk.tk, 1 onnee.ch, 1 onnia.ai, 1 @@ -110470,6 +110684,7 @@ onsemediagroup.ml, 1 onsenlaichelesdoigts.be, 1 onsetupdates.com, 1 +onsight247.com, 1 onsinscrit.com, 1 onsite4u.de, 1 onsitespeedometer.com, 1 @@ -110561,13 +110776,12 @@ oooir.ru, 1 ooonja.de, 1 oooo.loan, 1 -ooooo.cz, 1 ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.ooo, 1 ooove.ru, 1 oopsfamily.com, 1 oorbellen.nl, 1 oortcast.com, 1 -oorulogix.com, 1 +oorulogix.com, 0 oositk.tk, 1 oosm.org, 1 oosolutions.nl, 1 @@ -110578,6 +110792,7 @@ opaatct.com, 1 opaco.tk, 1 opadaily.com, 1 +opalaesthetics.uk, 1 opale-concept.com, 1 opalesurfcasting.net, 1 opalhunter.at, 1 @@ -110663,7 +110878,6 @@ opencircuit.nl, 1 opencity.spb.ru, 1 opencl.aw, 1 -openclima.com, 1 openclub24.ru, 1 opencode.cloud, 1 openconf.uk, 1 @@ -110707,6 +110921,7 @@ openkat.nl, 1 openkim.org, 1 openkvk.nl, 1 +openlearning.com, 1 openlink.com, 1 openlitecache.com, 1 openluchtmuseum.nl, 1 @@ -110778,6 +110993,7 @@ openvan.camp, 1 openverse.com, 0 openvision.tk, 1 +openvngames.site, 1 openvz.org, 1 openwaveguide.de, 1 openweb.nl, 1 @@ -110810,11 +111026,13 @@ operatorcnc.pl, 1 operatoresanitario.it, 1 operatorlabs.ai, 1 +operatormark.com, 1 operaunica.tk, 1 -operd.gob.do, 1 operebem.com.br, 1 +operette-beinwil.ch, 1 operhive.com, 1 opernball.com, 1 +operweave.com, 1 opforintel.com, 1 opgani7.info, 1 ophelia-escort.de, 1 @@ -110849,7 +111067,6 @@ oplata-vklike.tk, 1 oplata.uz, 1 oplium.com, 0 -oplop.appspot.com, 1 opm.gov, 1 opmaakonderscheidingen.nl, 1 opnx.dk, 1 @@ -110871,6 +111088,7 @@ oppekepe.org, 0 oppixel.com, 1 opportune-it.uk, 1 +opportunita.org, 1 opportunity.de, 1 opportunity.ng, 1 opportunityfund.eu, 0 @@ -110890,6 +111108,7 @@ opramachine.com, 1 opraser.cz, 1 opravdovekoucovani.cz, 0 +opravweb.cz, 1 opravygramofonu.cz, 1 oprekin.com, 1 opritten-en-terrassen.be, 1 @@ -110902,6 +111121,7 @@ ops.com.pl, 1 opsecx.com, 1 opsholders.com, 0 +opsight.online, 1 opsiocloud.com, 1 opskins.tk, 1 opskiwi.work, 1 @@ -110930,13 +111150,12 @@ opticamasvision.com, 1 opticasocialvision.com, 1 opticiansri.org, 1 -opticmarine.com, 1 -opticode.co.il, 0 +opticode.co.il, 1 opticsexplorer.com, 1 opticstore.com.ua, 1 optiekzien.nl, 0 optigear.nl, 1 -optigon.no, 1 +optigon.no, 0 optik-sehstern.de, 0 optik-tamara.de, 1 optik-trosdorff.de, 1 @@ -111012,6 +111231,7 @@ optmos.at, 1 optoconn.com, 1 optogenics.com, 1 +optohealth.ai, 1 optolamp.com.br, 1 optome.com, 1 optometry.org, 0 @@ -111021,7 +111241,6 @@ optrust.com, 1 optumsecurity.com, 1 opture.ch, 1 -optykgill.pl, 1 optymyze.com, 1 opulentdivision.com, 0 opus-codium.fr, 1 @@ -111064,9 +111283,9 @@ orange-spa.com, 1 orange.bf, 1 orange.legal, 1 -orange.md, 1 orangeacademy.cz, 1 orangeappalam.com, 1 +orangecarrier.com, 1 orangecityfl.gov, 1 orangecorners.com, 1 orangefinanse.com.pl, 1 @@ -111104,7 +111323,7 @@ oranweb.tk, 1 orap.de, 1 orarend.com, 1 -oratoriobedizzolecalvagese.it, 1 +oravys.com, 1 oraz.tk, 1 orazen.it, 1 orbaden.com, 1 @@ -111122,7 +111341,9 @@ orbitforum.ga, 1 orbitmoonalpha.com, 1 orbitpro.co, 1 +orbitpsa.com, 1 orbits.ga, 1 +orbitscores.com, 1 orbitum.fr, 1 orbsl.com, 1 orca-software.com, 1 @@ -111217,7 +111438,6 @@ orenohatake.com, 1 orensport.tk, 1 oreo.rocks, 1 -oreosis.com, 1 oreshinya.xyz, 1 orestadit.dk, 1 oreto.de, 0 @@ -111260,6 +111480,7 @@ organspende-register.de, 1 orgasmium.com, 1 orged.de, 1 +orgsyn.in, 1 orgtech.ga, 1 orgyporngroup.com, 1 orhagen.no, 1 @@ -111284,7 +111505,7 @@ origemtemperos.com.br, 1 origenix.ai, 1 origent.com, 1 -origina.com, 1 +origina.com, 0 originahl-scripts.com, 1 original-christstollen.com, 1 original-christstollen.de, 1 @@ -111293,7 +111514,6 @@ originalescaro.tk, 1 originalmamaspizza.com, 1 originalmusicstream.tk, 1 -originalniknihy.cz, 0 originalpharmacygrup.ml, 1 originalreading.com, 1 originaltee.uk, 1 @@ -111363,6 +111583,7 @@ orocojuco.com, 1 oroconews.com.br, 1 orodelsalento.com, 0 +oroeditions.com, 1 orologeria.roma.it, 1 orologi.roma.it, 1 oronomn.gov, 1 @@ -111464,12 +111685,11 @@ osamatoon.ml, 1 osandp.com, 1 osankj.tk, 1 -osano.ai, 1 osano.com, 1 osano.id, 1 osarahealth.com, 1 osateam.tk, 1 -osawatomieks.org, 1 +osatolye.com, 1 osb-alliance.de, 1 osbap.com, 1 osbeck.com, 1 @@ -111487,6 +111707,7 @@ oscarr.nl, 1 oscars-web.tk, 1 oscarsalas.tk, 1 +oscarsinthevalley.com.au, 1 oscarsmovienews.com, 1 oscarspatiobar.com, 1 oscarvk.ch, 1 @@ -111521,6 +111742,7 @@ osetiya.gq, 1 osetiya.ml, 1 osez-l-odyssee.fr, 1 +osflip.com, 1 osfpmsa.org, 1 osgcloud.co.uk, 1 osgi.org, 1 @@ -111594,6 +111816,7 @@ ospsuchoraczek.pl, 1 osrdmo.gov, 1 osrs.wiki, 1 +osrsclanfinder.com, 1 osrsmap.net, 1 osrsplugins.xyz, 1 oss.zone, 1 @@ -111615,6 +111838,7 @@ ostechnix.com, 1 ostek.tk, 1 osteolaclusaz.com, 0 +osteopathe-steffie.fr, 1 osteopathe-voisine.com, 1 osteopatiaymasaje.com, 1 osteriadelponte.tk, 1 @@ -111637,6 +111861,7 @@ ostrovseocitra.gq, 1 ostrovseocitra.ml, 1 ostseebad-sellin.de, 1 +osttopst.online, 1 osuarez3.com, 1 osumi.co, 1 osun.eu, 1 @@ -111656,6 +111881,7 @@ osworx.net, 1 ot-honfleur.fr, 1 ot-vinta.tk, 1 +ot.id, 1 otaikajang.org, 1 otako.pl, 1 otakubox.de, 1 @@ -111698,7 +111924,6 @@ otomauto.com, 1 otomekaito.xyz, 1 otomny.fr, 1 -otomobilforumu.com, 1 otonity.com, 1 otoplastik.ml, 1 otoplenie-ufa.ml, 1 @@ -111743,6 +111968,7 @@ ottogroup.com, 1 ottokrake.ba, 1 ottomanbedsuk.tk, 1 +ottometer.com, 1 ottorinoferilli.com, 1 otuts.eu, 1 otvaracie-hodiny.sk, 1 @@ -111777,6 +112003,8 @@ our-little-secret.tk, 1 our-store.ml, 1 ourai.ws, 1 +ouransishen.cn, 1 +ouransishen.com, 1 ourayco.gov, 1 ourchoice2016.com, 1 ourcloud.at, 1 @@ -111794,12 +112022,9 @@ ourindiana.gov, 1 ourkidsourcall.com, 1 ourkidsourcall.com.au, 1 -ourladymountcarmel.net, 1 ourladymtcarmel.org, 0 ourladyofcalvary.org, 1 -ourladyoftheassumptionchurch.org, 1 ourladyqop.org, 0 -ourladyqueenofmartyrs.org, 1 ourlink.tk, 1 ourlittlejoys.com, 1 ourlocality.org, 1 @@ -111877,14 +112102,15 @@ outlookbythebay.com, 1 outlooktransfer.com, 1 outnow.ch, 1 +outofdespair.org, 1 outofservice.com, 1 outofthefog.net, 1 outplay.ai, 1 outplayhq.com, 1 outplnr.fr, 1 outpost.network, 1 -outreach.studio, 1 outrider.ai, 1 +outro.is, 1 outshinesolutions.nl, 1 outsize.tk, 1 outskirt-clans.com, 1 @@ -111908,6 +112134,7 @@ ovalle.tk, 1 ovallevirtual.tk, 1 ovarit.rip, 1 +ovarixia.fr, 1 ovasys.eu, 1 ovationhand.com, 0 ovaz.gov, 1 @@ -111984,8 +112211,9 @@ ovez.ga, 1 ovhcdn.pw, 1 oviasport.com, 1 -ovidro.pt, 1 +ovidro.pt, 0 oviser.ml, 1 +ovisito.com, 1 ovisy.com, 1 ovladim.az, 1 ovmgroup.eu, 1 @@ -112007,6 +112235,7 @@ ovvy.net, 0 ow.gr, 1 ow.ls, 1 +owater.org, 1 owatonna.gov, 1 owatonnagrows.gov, 1 owdeutschland.org, 1 @@ -112119,9 +112348,9 @@ oxos.com, 1 oxotscovid.com, 1 oxq.io, 1 +oxsyntax.io, 1 oxt.co, 1 oxxengarde.de, 1 -oxyadvertising.com, 1 oxydac.com, 1 oxydrate.com, 1 oxygames.tk, 1 @@ -112153,7 +112382,6 @@ oyoshi.com.my, 1 oyosoft.net, 1 oyr79.tk, 1 -oysterboxhotel.com, 1 oysterlink.com, 1 oysterworldwide.com, 1 oytic.com, 1 @@ -112368,7 +112596,6 @@ pacificdatastream.ca, 1 pacificdomes.com, 1 pacificgateway.com, 0 -pacificlife.my.id, 1 pacifico.com.pe, 1 pacificocooler.com, 1 pacificpalisadeselectric.com, 1 @@ -112422,10 +112649,9 @@ pacogarcia.tk, 1 pacogorzados.tk, 1 pacot.es, 1 -pacounderhill.com, 1 +pacounderhill.com, 0 pacpost.live, 1 pact2017.nl, 1 -pacteo.com, 1 pactf-flag-4boxdpa21ogonzkcrs9p.com, 1 pactf.com, 1 pactnetwork.com.au, 1 @@ -112444,6 +112670,7 @@ paddle.net, 1 paddy.rocks, 1 padellix.com, 1 +paderpositas.de, 1 padichota.tk, 1 padis-store.com, 1 padisahbilisim.tk, 1 @@ -112451,6 +112678,7 @@ padovaoggi.it, 1 padpilot.co, 1 padpilotai.com, 1 +padredigital.com.br, 1 padremiguel.pt, 1 padshah.tk, 1 padu.cz, 1 @@ -112538,7 +112766,7 @@ pagure.io, 1 pagure.org, 1 pahadee.coffee, 1 -pahadistreet.in, 1 +pahadistreet.in, 0 pahe.win, 1 pahealthbilling.com, 1 pahira.gq, 1 @@ -112631,7 +112859,6 @@ pakmedia.tk, 1 pakostane-apartments.tk, 1 pakpak.tk, 1 -pakremit.com, 1 paks.hu, 0 paksui-ne.tk, 1 pakun.org, 1 @@ -112654,6 +112881,7 @@ palavalbasket.it, 1 palavaslesflots.com, 1 palavatv.com, 1 +palaver.tech, 1 palawan.jp, 0 palazzo.work, 1 palazzodellasalute.it, 1 @@ -112674,7 +112902,7 @@ paleoself.com, 1 paleospirit.com, 1 paleosquawk.com, 1 -palermo-plovdiv.com, 1 +palermo-plovdiv.com, 0 palermoantagonista.tk, 1 palermofc.com, 1 palermofilmfestival.tk, 1 @@ -112802,6 +113030,7 @@ pancake-world.com, 1 panchajanyafashions.com, 1 panchaminteriors.com, 1 +panchodominguez.com, 1 panda-bg.com, 1 panda-community.com, 1 panda-craft.tk, 1 @@ -112846,7 +113075,6 @@ panduan-hamil.tk, 1 pandymic.com, 1 pandys.org, 1 -panel-protv.com, 1 panel-stroy.cf, 1 panelbear.com, 1 paneldewelopera.pl, 1 @@ -112907,7 +113135,6 @@ panoramica.tk, 1 panoramique.tk, 1 panoramiquesorganya.tk, 1 -panoramixbycallens.eu, 1 panorays.com, 1 panotur360.com, 1 panpsychism.com, 1 @@ -112950,7 +113177,6 @@ pao.moe, 1 paocaibang.net, 1 paoderiomaior.pt, 1 -paolodapul.net, 0 paolodemichele.it, 0 paolomargari.tk, 1 paolomarzano.com, 1 @@ -112968,6 +113194,7 @@ papadoccaffe.pt, 1 papago-taiwan.com, 1 papaimama.ru, 1 +papaisoft.com, 1 papajohns.com.ec, 1 papajohns.jo, 1 papakarlohas.ru, 1 @@ -113007,6 +113234,7 @@ papi.com, 1 papieri.dental, 1 papierniak.net, 1 +papierniczy.eu, 1 papierowyrycerz.pl, 1 papillomatest.com, 1 papillon-events.be, 1 @@ -113041,7 +113269,6 @@ paradigma-med.ru, 1 paradigmas.tk, 1 paradigmreporting.com, 1 -paradigmworldmarketing.com, 1 paradiscapacitados.site, 1 paradise-engineer.com, 1 paradise-engineering.com, 1 @@ -113132,6 +113359,7 @@ pardeshanna.com, 1 pardypanda.com, 1 parea-osterode.de, 1 +pareachat.com, 1 paredesdecoura.pt, 1 paregion13.gov, 1 parejaideal.es, 1 @@ -113139,7 +113367,6 @@ paremedical.au, 1 paremvasi.net, 1 parentassociation.com.au, 1 -parentdrive.com, 1 parenteimoveis.com.br, 1 parenthaven.com, 1 parentingplaydough.tk, 1 @@ -113207,7 +113434,6 @@ parismo.gov, 1 parisportif.tv, 1 parisshop.com.tr, 1 -parissportifs.com, 1 pariu.online, 1 parizhanka.tk, 1 park.gd, 1 @@ -113263,6 +113489,7 @@ parkhotelgroup.com, 1 parkinggaragepressurewashingchicago.com, 1 parkinginparis.fr, 1 +parkingland.com, 1 parkingparisnord.fr, 1 parkinsons.tk, 1 parkmycloud.com, 1 @@ -113274,7 +113501,7 @@ parkr.io, 0 parkshark.io, 1 parksi.top, 1 -parksinta.com, 1 +parksinta.com, 0 parkstonegp.com, 0 parkstreet.com, 1 parktownpatrols.co.za, 1 @@ -113332,7 +113559,6 @@ parsdev.com, 0 parsec.app, 1 parsemail.org, 1 -parsemeet.com, 1 parsepipe.com, 1 parser.name, 1 parser.nu, 1 @@ -113344,9 +113570,11 @@ parsonsfamilyhomes.com, 1 parsonspdks.gov, 1 parsuv.ir, 1 +parta.io, 1 partadvantage.com, 1 partage.ovh, 1 partaiperindo.com, 1 +partall.no, 1 parteaga.com, 1 parteaga.net, 1 partechshaker.com, 1 @@ -113355,6 +113583,7 @@ partenza.co, 1 parthkolekar.me, 1 parthuisot.fr, 1 +particella.info, 1 particle-vision.ch, 1 particles.cf, 1 partido-libertario.tk, 1 @@ -113394,8 +113623,8 @@ partofthequeue.ga, 1 partofthequeue.gq, 1 partofthequeue.ml, 1 +parts4444.pl, 1 parts4phone.com, 0 -partsandmotorcycles.com, 1 partsandscore.com, 1 partsavto.tk, 1 partsbase.com, 1 @@ -113441,7 +113670,6 @@ partyzone.ie, 1 paru-design.com, 1 parupu.com, 1 -parvaneh.fr, 1 parxanalytics.com, 1 parxsolutions.com, 1 parys.org, 1 @@ -113503,7 +113731,6 @@ passion-billard.fr, 1 passion-net.fr, 1 passionatefoodie.co.uk, 1 -passionatehvaclv.com, 1 passionatelife.com.au, 1 passiondesigns.web.id, 1 passionecavalli.it, 1 @@ -113511,7 +113738,6 @@ passionmag.fr, 1 passionpictures.eu, 1 passions-art.com, 1 -passiton.com, 1 passive-work.gq, 1 passivebook.com, 1 passivehousecal.org, 1 @@ -113539,7 +113765,6 @@ passware.com, 1 passwd.one, 1 password-checker.de, 1 -password.codes, 0 password.consulting, 1 password.town, 1 passwordass.org, 1 @@ -113573,7 +113798,6 @@ pasteros.io, 1 pasteworks.com, 1 pasticceria.milano.it, 1 -pasticcerialorenzetti.com, 1 pasticceriaveneziana.ga, 1 pastillased.gq, 1 pastinfluences.com.au, 1 @@ -113624,6 +113848,7 @@ patersonpdnj.gov, 1 patguzmanconstruction.com, 1 pathai.com, 1 +pathenergy.cl, 1 pathfinder.ceo, 1 pathfinderbank.com, 1 pathfindercut.com, 1 @@ -113676,7 +113901,10 @@ patriciakraken.at, 1 patriciaramos.pt, 1 patriciaroy.co, 1 +patrick-consulting.de, 1 +patrick-freelancer.de, 1 patrick-omland.eu, 1 +patrick-pentester.de, 1 patrick-robrecht.de, 0 patrick.dark.name, 1 patrick.my-gateway.de, 1 @@ -113697,7 +113925,6 @@ patrickpeeters.com, 1 patrickryanturner.com, 1 patrickveluwenkamp.com, 1 -patricoliveiraplombiercourbevoie.fr, 1 patrikjohan.cf, 1 patrikjohan.ga, 1 patrikjohan.gq, 1 @@ -113705,6 +113932,7 @@ patriksima.cz, 1 patrikx3.com, 1 patrimoine-neuwiller.fr, 0 +patrimon.ai, 1 patrimoniumtouraine.com, 1 patriotbearingsupply.com, 1 patriotcs.tk, 1 @@ -113867,6 +114095,7 @@ paw.cloud, 1 paw.net.pl, 1 paw.pt, 1 +paw2tail.me, 1 pawafuru.com, 0 pawapuro.ga, 1 pawapuro.tk, 1 @@ -113879,7 +114108,6 @@ pawelurbanski.com, 1 pawgearlab.com, 1 pawilony-modulowe.pl, 1 -pawjob.us, 1 pawket.cn, 1 pawleyclub.com, 1 pawneecountyne.gov, 1 @@ -113896,6 +114124,7 @@ pawsru.org, 1 pawtraitcaptures.com.au, 1 paxata.com, 1 +paxcp.com, 1 paxerahealth.com, 1 paxhouse.net, 1 paxwinkel.nl, 1 @@ -113932,7 +114161,6 @@ pay.lawyer, 1 pay.luxury, 1 pay.marketing, 1 -pay.mg, 0 pay.parts, 1 pay.photography, 1 pay.photos, 1 @@ -114013,6 +114241,7 @@ paymentportaldevopslocal.io, 1 paymentportalstaging.io, 1 payments.google.com, 1 +paymentstherapist.com, 1 paymeservice.com, 1 paymongo.help, 1 paymore.org, 1 @@ -114042,13 +114271,14 @@ paypo.pl, 1 paypod.org, 1 paypro.nl, 1 +payprobe.io, 1 payps.ru, 1 payrewards.com, 1 payroll-outsourcing.com.au, 1 payroll.ch, 0 payroll.myftp.org, 1 payrollaustralia.au, 1 -payrollbridge.co.uk, 1 +payrollbridge.co.uk, 0 payrollconstructionservices.com, 1 payrollhr.be, 1 payrolloutsourcing.com.au, 1 @@ -114090,6 +114320,7 @@ pb.ax, 0 pbaby.com, 1 pback.se, 1 +pband.ch, 1 pbbm.com.ph, 1 pbc.gov, 1 pbcables.tk, 1 @@ -114114,6 +114345,7 @@ pbr.so, 1 pbraunschdash.com, 1 pbrb.gov, 1 +pbrotator.com, 1 pbrumby.com, 1 pbsrmoto.com.au, 1 pbsuite.com, 1 @@ -114154,6 +114386,7 @@ pcc.iq, 1 pccc.co.za, 1 pccdal.gov, 1 +pccom-verden.de, 1 pccomc.tk, 1 pcdcarehub.com, 1 pcdekegel.nl, 1 @@ -114223,7 +114456,7 @@ pcsoft.fr, 1 pcsolutionsofwillis.ga, 1 pcsolutionsofwillis.gq, 1 -pcstoronto.ca, 1 +pcstoronto.ca, 0 pcsuniverse.ga, 1 pcsx2.net, 1 pctelecom.cf, 1 @@ -114255,6 +114488,7 @@ pdcs.nl, 1 pderas.com, 1 pdesinc.org, 1 +pdf-apps.com, 1 pdf-archive.com, 0 pdf-reader.ru, 1 pdf-tool.fr, 1 @@ -114373,6 +114607,7 @@ pecmd.net, 1 pecs.com, 1 pectusbar.com, 1 +pecuniawallet.com, 1 ped-bike.de, 1 peda.net, 1 pedagoplume.fr, 1 @@ -114409,7 +114644,7 @@ pedrosaurus.com, 1 pedrosillo-delosaires.tk, 1 pedrotimoteo.com, 1 -peekabooboudoir.com, 1 +peekabooboudoir.com, 0 peekascan.com, 1 peekier.com, 1 peekit.ai, 1 @@ -114420,7 +114655,6 @@ peene.be, 1 peenee.in.th, 1 peenor.xyz, 1 -peep.gq, 1 peeptalk.dk, 1 peeqback.com, 1 peer.travel, 1 @@ -114453,6 +114687,7 @@ peergrowth.net, 1 peerjs.com, 1 peername.com, 1 +peerpush.com, 1 peerreviewcongress.org, 1 peers-liste.de, 1 peers.cloud, 1 @@ -114466,7 +114701,6 @@ peerweb.com, 1 peerwebdc.tk, 1 peetah.com, 0 -peetersport.ee, 1 peew.de, 1 peewee-design.tk, 1 pefile.tk, 1 @@ -114533,12 +114767,10 @@ pelmeni.cf, 1 pelmeniuralskie.tk, 1 pelo.tk, 1 -peloduro.cl, 1 pelopoplot.com, 0 pelosanimais.org, 1 peloton-technologies.com, 1 pelsu.fi, 1 -pelsu.se, 1 peluche-animaux.fr, 1 peluche.tk, 1 peluqueriacanina.tk, 1 @@ -114547,7 +114779,6 @@ pemagrid.org, 1 pemangkin.my, 1 pemasalem.com, 1 -pembiayaanbpkb.com, 1 pembinewi.gov, 1 pemborongbangunan.id, 1 pembrokenc.gov, 1 @@ -114589,7 +114820,6 @@ penguingogo.com, 1 penguinos.tk, 1 penguinrandomhousegrupoeditorial.com, 1 -penguins.ca, 1 penguinshome.tk, 1 penguinvillage.info, 1 penholder.ga, 1 @@ -114622,6 +114852,7 @@ penopoly.ml, 1 penopoly.tk, 1 penosa.ga, 1 +penpals.buzz, 1 penpalworld.com, 1 penril.net, 1 penrite.pl, 1 @@ -114658,6 +114889,7 @@ pensiunea-maria.tk, 1 pensiunea-paco.ro, 1 pensiunealido.ro, 1 +pensumvirtual.tech, 1 pentagon-area.tk, 1 pentagram.cf, 1 pentagram.me, 1 @@ -114739,7 +114971,6 @@ pepeandaimes.com.br, 1 pepechkov.com, 1 pepechkova.com, 1 -pepecoinnews.com, 1 pepeelektro.sk, 1 pepegym.cz, 1 pepemodelismo.com.br, 1 @@ -114766,7 +114997,6 @@ pequenosbichos.com.br, 1 pequenosfavoritos.com.br, 0 per-olsson.se, 1 -peraavcilar.com, 0 perala.me, 1 peraparker.cz, 1 perberestja.gq, 1 @@ -114810,8 +115040,9 @@ perfect-carstyle.de, 1 perfect-dream.tk, 1 perfect-privacy.com, 1 +perfect-seo.com, 1 perfect-seo.com.ua, 1 -perfect-servers.com, 1 +perfect-servers.com, 0 perfect-tour.ro, 1 perfect8.com.tw, 1 perfectaparasols.com, 1 @@ -114850,8 +115081,10 @@ perfmed.ro, 1 perforazioni.it, 1 performance-advertising.de, 1 +performance-factors.com, 1 performance.gov, 1 performancehealth.com, 0 +performancemap.de, 1 performancematters.ie, 1 performancerh.fr, 1 performancerunningsolutions.com, 1 @@ -114913,7 +115146,7 @@ perma-batteries.com, 1 permaculture.cf, 1 permaditya.my.id, 1 -permajack.com, 1 +permagard.co.uk, 1 permajackstlouis.com, 1 permak.com.tr, 1 permak.tk, 1 @@ -114930,7 +115163,6 @@ permasealwaterproofing.com, 1 permaset.com.au, 1 permeance108.com, 1 -permian-elec.com, 0 permis-a-points-bordeaux.com, 1 permis-a-points-montpellier.com, 1 permis-apoints.com, 1 @@ -115035,10 +115267,11 @@ persson.me, 1 perssonsgarn.se, 1 persuader-reports.gov, 1 -persuasionmatters.com, 1 +persuasionmatters.com, 0 perthdayhospital.com.au, 1 perthhillsarmadale.com.au, 1 perthpainspecialists.com.au, 0 +perthshireholidaycottages.co.uk, 1 perthunicyclists.tk, 1 perthweekend.com.au, 1 pertiller.tech, 1 @@ -115146,6 +115379,7 @@ petdesigning.ga, 1 petdir.ga, 1 petdish.ga, 1 +petdogexpert.com, 1 petdollar.ga, 1 petech.ro, 1 petelew.is, 1 @@ -115158,7 +115392,6 @@ peter.org.ua, 1 peterackermans.tk, 1 peterandjoelle.co.uk, 1 -peterannawedding.us, 1 peterarcherbeyondvision.com, 0 peterbarrett.ca, 1 peterbischof.at, 1 @@ -115180,7 +115413,6 @@ peterhuetz.com, 1 peterjin.org, 1 peterjohnson.io, 1 -peterkleinsouthcarolina.com, 0 peterkotula.tk, 1 peterkshultz.com, 0 peterkuma.net, 1 @@ -115222,7 +115454,6 @@ petherwick.com, 1 peticion.tk, 1 petimagine.ga, 1 -petinsurancequotes.com, 1 petit-archer.com, 1 petit-bebe.fr, 1 petitbleu.fr, 1 @@ -115304,7 +115535,6 @@ petsdeners.ga, 1 petsdenest.ga, 1 petsfilled.us, 1 -petsidi.com, 1 petskb.com, 1 petsmartcorporate.com, 0 petsnapshot.ga, 1 @@ -115401,6 +115631,7 @@ pfonboarding.org, 1 pfp.com.au, 1 pfp.works, 1 +pfpmaker.ai, 1 pfr.email, 1 pfr.fyi, 1 pfr.wtf, 1 @@ -115422,7 +115653,6 @@ pggm.nl, 0 pgh-art.com, 1 pgi-data.com, 1 -pgica.org, 1 pgilbert.ca, 0 pgit.at, 1 pgklaw.com.au, 1 @@ -115511,7 +115741,6 @@ pharmasyncest.ga, 1 pharmatender.cl, 1 pharmgkb.org, 1 -pharmica.uk, 1 pharos.tn, 1 pharosconsulting.com, 1 pharosiq.com, 1 @@ -115521,6 +115750,7 @@ pharynx.nl, 1 phase3.co.uk, 1 phase4electric.com, 1 +phases.ai, 1 phastidio.net, 1 phatblackbooty.com, 1 phattea.tk, 1 @@ -115566,7 +115796,7 @@ phil.to, 1 phil.tw, 1 philadelphia.com.mx, 1 -philafound.org, 1 +philair.ch, 1 philandson.com, 1 philarmonic-abaza.tk, 1 philasd.org, 1 @@ -115643,6 +115873,7 @@ philosophyofatheism.com, 1 philphonic.de, 1 philpropertygroup.com, 0 +philratings.ph, 1 philrights.org, 1 phils1990.com, 1 philward.io, 1 @@ -115739,7 +115970,6 @@ phosagro.ru, 0 phosforum.ga, 1 phosphorus.io, 1 -photiplans.fr, 1 photistic.org, 1 photo-booth.ro, 1 photo-design.ml, 1 @@ -115827,6 +116057,7 @@ photune.net, 1 phoxden.net, 1 php.watch, 1 +php8developer.com, 1 phpadmin666.com, 1 phpbb-tutorials.cf, 1 phpcraft.de, 1 @@ -115838,6 +116069,7 @@ phpkoru.com, 1 phpliteadmin.org, 1 phpmyadmin.net, 1 +phpmyfaq.com, 1 phpmynewsletter.com, 1 phpnuke-guatemala.tk, 1 phpprime.com, 1 @@ -115919,6 +116151,7 @@ physiobalance.nl, 1 physiobrite.tk, 1 physioclinickenya.com, 1 +physiointel.com, 1 physiomeproject.org, 1 physionova-badenstedt.de, 1 physiopraxisteam.de, 1 @@ -115967,6 +116200,7 @@ pianopronto.com, 1 pianoschmitz.de, 1 pianotuning.cn, 0 +pianyuanji.com, 1 piaohong.tk, 1 piaohuaw.com, 1 piapia.com, 1 @@ -115989,9 +116223,9 @@ pic2map.com, 1 pic2pat.com, 1 pic2pat.nl, 1 -picante.today, 1 picapollochino.tk, 1 picarones.es, 1 +picaso-systems.com, 1 picasoft.net, 1 picatavocat.fr, 1 picatom.com, 1 @@ -116023,7 +116257,9 @@ picklaptop.com, 1 pickle-publishing.com, 1 pickleballzone.com, 1 -pickleland.com, 1 +pickleland.com, 0 +pickleloonies.com, 1 +picklerickle.com, 1 picklinik.id, 0 pickmysoap.gr, 1 picknetworkiscoming.sg, 1 @@ -116034,7 +116270,6 @@ pickswapest.ga, 1 picksygirl.com, 1 picktablet.com, 1 -pickulsky.com, 1 pickup-transporte.de, 1 pickupenc.ru, 1 picloudedge.com, 1 @@ -116077,6 +116312,7 @@ picturingjordan.com, 1 picus.io, 1 picveo.com, 1 +pidansports.com, 1 pidelo-peru.com, 1 pidgi.net, 1 pidjipi.com, 1 @@ -116121,12 +116357,14 @@ pieropuschiavo.it, 1 pierre-denoblens.net, 1 pierre-schmitz.com, 1 +pierrearnaud.com, 1 pierreborgmann.de, 1 pierrejeansuau.fr, 1 pierreloizeau.com, 1 pierreterrien.fr, 1 pierrevieville.fr, 0 pierreyvesdick.fr, 1 +pierrot-bg.com, 1 pierson.tk, 1 pierstone.com, 1 pierugo.ch, 1 @@ -116154,6 +116392,7 @@ pigeons-rings.com, 1 pigfox.com, 1 pigment.com, 1 +pigmentcollective.com, 1 pigop.com, 1 pigsbytebooks.org, 0 pigslv.com, 1 @@ -116207,10 +116446,12 @@ piliszek.net, 1 pillar.fi, 1 pillargrc.com, 1 +pillarsecurity.io, 1 pillowcast.net, 1 pillowexpertsers.ga, 1 pillowexpertsest.ga, 1 pillser.com, 1 +piloane.co.za, 1 pilot-colleges.com, 1 pilot-gps.africa, 1 pilot-pen.com.tw, 1 @@ -116298,7 +116539,6 @@ pinfong.com, 1 ping-books.cf, 1 ping6.it, 1 -pingas.org, 1 pingcrew.kr, 1 pingmap.ru, 1 pingnp.me, 0 @@ -116313,9 +116553,9 @@ pinhadigital.com, 1 pinigseu.xyz, 1 pinimg.com, 1 +pininfarina.it, 1 pink-check.school, 1 pink-panther.tk, 1 -pink.nl, 0 pinkadventuretours.com, 1 pinkband.tk, 1 pinkbaummer.com.br, 1 @@ -116329,6 +116569,7 @@ pinklittlenotebook.com, 0 pinkmango.travel, 0 pinkoffice.com, 1 +pinkoi.com, 1 pinkpearl.tk, 1 pinkpop.nl, 1 pinkpussy.tv, 1 @@ -116419,6 +116660,7 @@ pinyonpass.org, 1 pioneer-car.eu, 1 pioneer-football.org, 1 +pioneer-mea.com, 1 pioneer.eu, 0 pioneerbible.org, 1 pioneercredit.com.au, 1 @@ -116431,8 +116673,6 @@ pionplex.de, 1 piotrandpawel.pl, 1 piovan.com, 1 -pip-maker.com, 1 -piparitaikina.fi, 1 pipeclub.tk, 1 pipecon.ch, 1 piped.video, 1 @@ -116501,6 +116741,7 @@ pisf.in, 1 pishgamiran.tk, 1 pisitsolutions.com, 1 +pisjak.eu, 1 pisk.loan, 1 pisni.net, 1 pisquettes.fr, 1 @@ -116657,6 +116898,7 @@ pixshop.fr, 1 pixstudio.ai, 1 pixtar.ae, 1 +pixtrava.com, 1 pixxxels.cc, 1 pixyhive.com, 1 pixyship.com, 1 @@ -116703,6 +116945,7 @@ pjsk.eu.org, 1 pjv.co.id, 1 pjweb.co.uk, 1 +pk-edu.pl, 1 pk-master.tk, 1 pk-soft.tk, 1 pk.search.yahoo.com, 0 @@ -116770,7 +117013,6 @@ plaingreenloans.com, 1 plainjs.com, 1 plainlanguage.gov, 1 -plainoltrailers.com, 1 plainsboronj.gov, 1 plainsgeorgia.gov, 1 plainsoftware.org, 1 @@ -116795,6 +117037,7 @@ plan4kick.de, 1 planable.io, 1 planafy.com, 1 +planandplay.app, 1 planatus.com, 1 planbase.com, 1 planchasvertical.es, 1 @@ -116859,7 +117102,7 @@ planetradio.tk, 1 planetromeo.com, 1 planetromeofoundation.org, 1 -planetscale.com, 1 +planetscale.com, 0 planetstimes.com, 1 planettimer.com, 1 planetun.mobi, 1 @@ -116888,7 +117131,6 @@ planmemberpartners.com, 1 planned-cities.com, 1 plannedlink.com, 1 -plannedparenthooddirect.org, 1 plannerap.com, 1 planning.center, 1 planning.construction, 1 @@ -116901,7 +117143,6 @@ planresto.com, 1 planriean.com, 1 planshetnik.tk, 1 -plant-gift.jp, 1 plantarportugal.org, 1 plantastique.ch, 0 plantationsnicholas.com, 1 @@ -116977,7 +117218,6 @@ plates971.com, 1 platform-med.org, 1 platform2020prague.com, 1 -platforma.nu, 1 platforma2020praha.cz, 1 platformadmin.com, 1 platformcon.com, 0 @@ -116986,6 +117226,7 @@ plathome.co.jp, 1 platiniumreciclados.com, 1 platiniumvapes.com, 1 +platinnetz.com, 1 platinnetz.de, 1 platinum1.ru, 1 platinumalertsers.ga, 1 @@ -117008,6 +117249,7 @@ platpoint.com, 1 platsairfryer.fr, 1 platspuhtaks.ee, 1 +platteauramen.be, 1 plattecountymovotes.gov, 1 platten-nach-mass.de, 1 plattenair.tk, 1 @@ -117025,6 +117267,7 @@ plausibility.cloud, 1 plaut.sk, 1 plavdoma.com.ua, 1 +plavnik.shop, 1 plavormind.tk, 1 play, 1 play-best-games.com, 1 @@ -117097,7 +117340,6 @@ playsnake.org, 1 playsoftware.tk, 1 playspinsamurai.com, 1 -playsportal.com, 1 playsprout.industries, 1 playstation-network.ga, 1 playstationplus.es, 1 @@ -117143,7 +117385,6 @@ pleasure.box, 1 pleasured.tk, 1 pleasureplanetbrothel.com.au, 1 -pleb.cc, 1 plebeian.com.tw, 1 plebret.com, 1 pleer.ru, 1 @@ -117200,6 +117441,7 @@ plissee-experte.de, 1 plitu.de, 1 plitvicefotoprint.hr, 1 +pliuz.com, 1 plixer.net, 1 pllivres.cf, 1 plniconplus.co.id, 1 @@ -117244,7 +117486,6 @@ plugra.com, 1 plugshare.com, 1 pluimveeplanner.nl, 1 -plumair-ve.com, 1 plumb.build, 1 plumber-in-boksburg.co.za, 1 plumber-in-sandton.co.za, 1 @@ -117262,10 +117503,10 @@ plumbingmidrand.co.za, 1 plumbingshop.tk, 1 plumbingupdates.com, 1 -plumbware.co.uk, 1 plumcreekwinery.com, 1 plumlakewi.gov, 1 plumlocosoft.com, 1 +plumpaper.com, 1 plumperthumbs.com, 1 plumpie.net, 0 plumplm.com, 1 @@ -117279,6 +117520,7 @@ plurilock.com, 1 pluriumint.com, 1 plus-project.co.uk, 1 +plus-que-pro.fr, 1 plus.ai, 0 plus.google.com, 1 plus.sandbox.google.com, 1 @@ -117319,6 +117561,7 @@ plzen.fun, 1 plzh4x.me, 1 pm-22711.space, 1 +pm-a.cz, 1 pm-onboarding-external-dev.azurewebsites.net, 1 pm-partners-management-dev.azurewebsites.net, 1 pm-schilderwerk.nl, 1 @@ -117334,7 +117577,6 @@ pma-iss.com, 1 pma-tools.de, 1 pmalaty.com, 1 -pmapac.com, 1 pmarbeid.nl, 1 pmarques.info, 1 pmbet.vip, 1 @@ -117384,6 +117626,7 @@ pn.id.lv, 1 pnakosoft.com.au, 1 pnbholdings.com, 1 +pnclassaction.com, 1 pneu01.fr, 1 pneu74.fr, 1 pneuhaus-lemp.ch, 1 @@ -117398,7 +117641,6 @@ png.am, 1 png.tf, 1 pngfr.com, 1 -pnggrid.com, 1 pnimmobilier.ch, 0 pnl.ro, 1 pnnl.gov, 1 @@ -117542,6 +117784,7 @@ pocketoption.com, 1 pocketoption.cz, 1 pocketoption.ru, 1 +pocketseo.ai, 1 pocketspotter.co.uk, 1 pocketsquare.jp, 1 pockettradesman.com, 1 @@ -117593,6 +117836,7 @@ podersul.com, 1 podia.com.gr, 0 podia.gq, 1 +podictive.com, 1 podigniters.com, 1 podis.ro, 1 podivilov.com, 1 @@ -117648,6 +117892,7 @@ poezja.art, 1 poezja.com.pl, 1 poezjagala.pl, 1 +pogedecapital.com, 1 pogera.com, 0 poggensee.it, 1 pogi.ee, 1 @@ -117655,6 +117900,7 @@ pogodavolgograd.tk, 1 pogodok.tk, 1 pogomate.com, 0 +pogoprompt.ai, 1 pogotowie-komputerowe.tk, 1 pogotowiekomputeroweolsztyn.pl, 1 pogrebeniq-sofia.com, 1 @@ -117681,7 +117927,6 @@ pointhost.de, 1 pointiswunderland.de, 1 pointless.one, 1 -pointmaquininha.com, 0 pointnull.com, 1 pointpalace.tk, 1 pointparfait.fr, 1 @@ -117752,6 +117997,7 @@ pokerventure.ga, 1 pokerventureers.ga, 1 pokerventureest.ga, 1 +pokerzone.com, 1 poki.com, 1 pokiesworld.com, 1 pokl.cz, 1 @@ -117886,7 +118132,6 @@ politik-bei-uns.de, 1 politikainavigator.hu, 1 politisor.com, 1 -politizen.org, 1 politnews5.tk, 1 politraq.ca, 1 politraq.com, 1 @@ -117943,6 +118188,7 @@ poltsamaa.edu.ee, 1 poltsamaalasteaed.edu.ee, 1 polvoagencia.com.br, 1 +polvoz.com, 1 poly-glot.ai, 1 polyatomic.ai, 1 polycoise.com, 1 @@ -117975,7 +118221,6 @@ pomate.cc, 1 pomba.pl, 1 pombalhome.duckdns.org, 1 -pombas.net, 1 pomdoc.com, 1 pomelo-paradigm.com, 1 pomelo.la, 1 @@ -118045,6 +118290,7 @@ poohcottage.co.uk, 1 pooi.me, 1 pookhaarden.nl, 1 +pookienettoyage.fr, 1 pookl.com, 1 pool-selber-bauen.de, 1 poolcalculator.net, 0 @@ -118055,6 +118301,7 @@ poolsonline.tk, 1 poolspa.es, 1 pooltools.net, 1 +poolvilla-margarita.net, 1 poon.io, 1 poonawallafincorp.com, 1 poopa.loan, 1 @@ -118068,6 +118315,7 @@ popadvertisementers.ga, 1 popadvertisementest.ga, 1 popcarte.com, 1 +popcat.ru, 1 popcore.com, 1 popcorncult.ru, 1 popcornfx.com, 1 @@ -118206,7 +118454,6 @@ pornhun.xyz, 1 pornimg.net, 1 porniwi.com, 1 -pornkaizen.com, 1 pornline.sex, 1 pornloupe.com, 1 pornmega.net, 1 @@ -118223,7 +118470,6 @@ pornomens.be, 1 pornomovies.mobi, 1 pornomovieshd.com, 1 -pornopark.nl, 1 pornopica.com, 1 pornopica.com.br, 1 pornoplus.fr, 1 @@ -118248,7 +118494,6 @@ porplemontage.com, 1 porroserver.tk, 1 pors-sw.cz, 1 -porsche356registry.org, 1 porschen.fr, 1 port-of-rome.org, 1 port-xchange.com, 1 @@ -118279,6 +118524,7 @@ portal.tirol.gv.at, 0 portaladictos.tk, 1 portalampgroep.nl, 1 +portalbitv2.cloud, 1 portalcarriers.com, 1 portalceara.com, 1 portalchecknetwork.com, 1 @@ -118344,7 +118590,8 @@ portlandcrystalcompany.com, 1 portlandparamount.com, 1 portmeirion.co.uk, 0 -portoccd.org, 1 +portmelbournephysiotherapist.com.au, 1 +portoccd.org, 0 portofala.pt, 1 portofbellingham.gov, 1 portofcc.com, 1 @@ -118381,6 +118628,7 @@ portugalsko.net, 1 portuma.com, 1 portusidades.com.pt, 1 +portusltd.com, 1 portvaletickets.com, 1 portwadeglampingdomes.ca, 1 portwashingtonwi.gov, 1 @@ -118450,6 +118698,7 @@ post.tf, 1 post4me.at, 1 postalco.de, 1 +postallai.site, 0 postandfly.com, 1 postback.io, 0 postbanken.no, 1 @@ -118487,6 +118736,7 @@ postimages.org, 1 postimg.cc, 1 postimpact.com.au, 1 +postkamer.nl, 1 postkassetrimmen.no, 1 postlakeswi.gov, 1 postling.com, 1 @@ -118648,7 +118898,6 @@ powercod.tk, 1 powercolor.com, 1 powercomputers.nl, 1 -powerconcept.be, 1 powercounty.gov, 1 powercv.ro, 1 powerdepo.com, 1 @@ -118677,7 +118926,6 @@ powerpilot.co.za, 1 powerplay.xyz, 0 powerplayer.tk, 1 -powerroo.com.au, 1 powerscif.com, 1 powerscourt.tk, 1 powerserg.ca, 1 @@ -118706,7 +118954,6 @@ powershaper.io, 1 powershellmagic.com, 1 powersmithsolar.com, 1 -powersport.lt, 1 powersportos.com, 1 powersrealtygrp.com, 1 powerstreet.cloud, 1 @@ -118726,6 +118973,7 @@ powerwheels.tk, 1 powerwithpeople.com, 1 powerzonewrestling.tk, 1 +powiat.kolobrzeg.pl, 1 powiatkrasnicki.pl, 1 powmobilegrooming.com, 1 poxiao.net, 1 @@ -118781,7 +119029,6 @@ pplsvc.com, 1 pplusp.dk, 1 ppmhpm.com, 1 -ppmlocal.com, 1 ppmoon.com, 1 ppms.gov, 1 ppooii.com, 1 @@ -118818,6 +119065,7 @@ prabhasakshi.com, 1 prabirghosh.tk, 1 prac.to, 1 +praca-karkonosze.pl, 1 prachiiimohite.tk, 1 prachtigparijs.nl, 1 pracovita.pl, 1 @@ -118831,7 +119079,6 @@ practicallyunhackable.com, 1 practicalmamawellness.com, 1 practicalneurology.com, 1 -practicavial.com, 1 practicepanther.com, 1 practicepath.com, 1 practiso.io, 1 @@ -118844,6 +119091,7 @@ pradeepagrawal.com, 1 pradersystems.ch, 1 pradmin.ru, 1 +pradnik.pl, 1 prado.it, 1 pradohalcones.com, 1 pradotv.com, 1 @@ -118871,7 +119119,6 @@ praguepersonaltrainers.cz, 1 praguepsychology.cz, 1 praha-9.eu, 1 -praha-kominictvi.cz, 1 praha.tk, 1 praha6.cz, 1 prahavsprachy.cz, 1 @@ -118889,6 +119136,7 @@ praktijkbeoordelen.nl, 1 praktijkdata.nl, 1 praktijkevolve.nl, 1 +praktijkgezondvoormij.nl, 1 praktijkmarula.nl, 1 praktijkpassepartout.nl, 1 praktijkportal.nl, 1 @@ -118920,7 +119168,6 @@ prateep.io, 1 pratelloshop.tk, 1 pratemarkets.com, 1 -prathambooks.org, 1 pratia.com, 0 pratic.it, 1 praticienmedecinechinoise.be, 1 @@ -118931,7 +119178,6 @@ pratosirunin.ga, 1 pratyu.sh, 1 prauxilium.com, 1 -prava24.com, 1 pravac.de, 1 pravagolosa.cf, 1 pravagolosa.ga, 1 @@ -118963,7 +119209,6 @@ praxis-kjpt.de, 1 praxis-liebner.de, 0 praxis-oranienburg.de, 1 -praxis-psychotherapie-kassel.de, 1 praxis-rufer.ch, 1 praxis-sorg-sam.ch, 0 praxis-suchtmedizin.ch, 1 @@ -118992,7 +119237,6 @@ pre-commit.com, 1 pre-renewal.com, 1 preadmit.com.au, 1 -preapps.com, 1 precambridge.tk, 1 precaria.org, 1 precedecaritas.com.br, 1 @@ -119030,12 +119274,14 @@ predatorworld.tk, 1 predication.ch, 1 predictduel.com, 1 +predictive.global, 1 predictz.com, 1 predilife.com, 1 predivo.ch, 1 predmetnyj-fotograf.by, 1 prednisolone1.gq, 1 predoiu.ro, 1 +predsfan.com, 1 predskazanie.cf, 1 predskazanie.ml, 1 predskazanie.tk, 1 @@ -119046,6 +119292,7 @@ preezy.de, 1 pref.oita.jp, 1 prefabricadosdelcaribe.com, 1 +prefabrik-ev.com, 1 prefect.cloud, 1 prefect.io, 0 prefereal.com, 1 @@ -119054,7 +119301,6 @@ preference.ga, 1 preferredathlete.com, 1 preferredinsights.co, 1 -preferredservice.ca, 1 prefix.eu, 1 prefontaine.name, 1 pregen.tk, 1 @@ -119088,7 +119334,6 @@ premazon.com, 1 premdev.co.uk, 1 preme.name, 1 -premier-dream.co, 1 premier-mt.uk, 1 premier-pallets.com, 1 premier-stores.co.uk, 1 @@ -119160,7 +119405,6 @@ preparedparents.org, 1 prepareforthesat.com, 1 preparetheword.com, 1 -prepfba.com, 1 preply.com, 1 prepping.com, 0 prepr.io, 1 @@ -119183,6 +119427,7 @@ presentationmedia.com, 0 presentationsteknik.org, 1 presentsofmind.com.au, 1 +presenza.nl, 1 preservationdatabase.org, 1 preserve-project.eu, 1 preserveart.org, 1 @@ -119250,11 +119495,10 @@ prestashow.pl, 1 prestatest.tk, 1 prestatyn-scala.info, 1 -prestatynflowershow.co.uk, 1 +prestatynflowershow.co.uk, 0 prestige-car-location.ch, 0 prestigebouncycastles.co.uk, 1 prestigecarkeys.com, 1 -prestigecarspedia.com, 1 prestigecd.com.au, 1 prestigeeventshire.co.uk, 1 prestigegaragedoorservices.com, 1 @@ -119264,8 +119508,10 @@ prestigelegalgroup.com.au, 1 prestigesigns.net, 1 prestigesoundandlight.co.uk, 1 +prestigo-chauffeur.com, 1 prestoinventario.com, 1 prestonadamscountywi.gov, 1 +prestonandassociates.com.au, 1 prestonmn.gov, 1 prestopermits.com, 1 prestudenta.sk, 1 @@ -119298,6 +119544,9 @@ pretzelx.com, 1 preums.co, 1 preussner-grafik-design.de, 1 +preuvesetpratiques.com, 1 +preuvesetpratiques.fr, 1 +prevailventurecapital.com, 1 prevajalska-agencija.si, 1 prevascloud.com, 1 prevencia.net, 0 @@ -119328,6 +119577,7 @@ prg.rs, 1 pri.email, 1 priam.ai, 1 +pribecy.com, 1 pribehyzlednice.cz, 1 price.com.hk, 1 priceaccesshire.com.au, 1 @@ -119342,6 +119592,7 @@ pricelesspics.tk, 1 pricelistforbxmodules.ga, 1 pricelooper.com, 0 +pricelyzer.com, 1 pricepropharmacy.com, 1 priceri.com, 1 pricesavesnow.shop, 1 @@ -119424,6 +119675,7 @@ primebenefitgrp.com, 1 primecapsslim.com.br, 1 primechasedata.com, 1 +primechef.com.mx, 1 primecredit.com, 1 primecursos.com.br, 1 primed.io, 1 @@ -119467,6 +119719,7 @@ princehenrycentre.com.au, 1 princelishan.com, 1 princelishan.com.tw, 1 +princelundgren.com, 1 princemathew.tk, 1 princemolak.ga, 1 princeruperthotel.co.uk, 1 @@ -119505,6 +119758,7 @@ printablemapaz.com, 1 printablemapforyou.com, 1 printandgo.fr, 1 +printaxis.fr, 1 printbase.cz, 0 printbigjournal.tk, 1 printeknologies.com, 1 @@ -119576,7 +119830,6 @@ priumnozhenie2024.ru, 0 priv.au, 1 priv.gc.ca, 1 -priv.im, 1 privace.ch, 1 privacy-pc.com, 1 privacy-web.tk, 1 @@ -119587,7 +119840,6 @@ privacy.ax, 1 privacy.gov.ph, 1 privacy.pm, 1 -privacybydesign.foundation, 1 privacycentermqt.com, 1 privacychick.com, 1 privacychick.io, 1 @@ -119598,7 +119850,6 @@ privacyfenceanddeckllc.com, 1 privacyforpatriots.com, 1 privacyget.tk, 1 -privacyguidance.com, 1 privacyguides.net, 1 privacyguides.org, 1 privacyinternational.org, 1 @@ -119608,7 +119859,6 @@ privacyredirect.com, 1 privacysavvy.com, 1 privacyscore.org, 1 -privacysecuritybrainiacs.com, 1 privacystatement.tk, 1 privacysvcs.net, 1 privacyweek.at, 1 @@ -119637,6 +119887,7 @@ privatedata.tk, 1 privatedns.uk, 1 privatedrive.co, 1 +privateer.pro, 1 privateger.me, 1 privategiant.com, 1 privatehd.to, 1 @@ -119644,7 +119895,6 @@ privateideas.de, 1 privateinvestigatoredu.org, 1 privatejosh.cf, 1 -privatemidwives.com, 1 privatemillionaire.com, 1 privatemusic.stream, 1 privatenebula.eu, 1 @@ -119675,6 +119925,7 @@ privorot.cf, 1 privtell.com, 1 privw.com, 1 +privwarden.org, 1 privy-staging.com, 1 privy.com, 0 privylabs.com, 0 @@ -119744,6 +119995,7 @@ pro8-eservices.net, 1 pro98.nl, 1 proacao.cloud, 1 +proacompany.es, 1 proacousticsusa.com, 1 proact-it.co.uk, 1 proactivenews.ml, 1 @@ -119789,6 +120041,7 @@ procad.ie, 1 procadsys.co.nz, 1 procalc.be, 0 +procanvasser.com, 1 procarmanuals.com, 1 procarservices.com, 1 procatinator.com, 1 @@ -119806,6 +120059,7 @@ prochainephase.com, 1 procharter.com, 1 proclaiminteractive.com, 1 +proclick-digital.com, 1 proclock.com, 1 procoach.com.br, 1 procode.gq, 1 @@ -119825,7 +120079,6 @@ proctorio.com, 1 proctorio.net, 1 proculair.com, 1 -proculair.nl, 1 proculairworkers.com, 1 procurant.com, 1 procurelia.com, 1 @@ -119961,6 +120214,7 @@ profitero.com, 1 profitinta.pt, 1 profitmiracle.tk, 1 +profitrally.ru, 1 profitsunraveled.com, 1 profitwithpurposepodcast.com, 1 profmatheus.com, 1 @@ -119990,7 +120244,6 @@ progas-diva.de, 1 progas.de, 1 progaudio.be, 1 -progenaisolutions.com, 1 progenda.be, 1 proger.ga, 1 proger.ml, 1 @@ -120042,6 +120295,7 @@ progresja.com, 1 progress-linux.org, 1 progress.photos, 1 +progressive.com.mt, 1 progressivecfo.co.nz, 1 progressivedie.net, 1 progressivestreetdance.tk, 1 @@ -120223,7 +120477,6 @@ promotennis.ch, 1 promoteroute.com, 1 promotioncentre.co.uk, 1 -promotiongeeks.com, 0 promotionnissanauto.com, 1 promotionvillanakarin.com, 1 promotor.ro, 1 @@ -120238,6 +120491,7 @@ promushroom.com, 1 promwad.com, 0 pron4ik.gq, 1 +pronalazenjevode.com, 1 pronandi.tk, 1 pronikoho.cz, 1 pronolmo.com, 1 @@ -120262,6 +120516,7 @@ proofwiki.org, 1 proon.org, 1 proos.nl, 1 +prooved.xyz, 1 prop365.com, 1 propaganda.love, 1 propagandablog.de, 0 @@ -120270,6 +120525,7 @@ propanesale.cf, 1 propbot.com, 1 propcashflow.my, 1 +propdev-os.com, 1 propecia.ml, 1 propelate.com, 1 propeld.com.au, 1 @@ -120324,6 +120580,7 @@ propublica.org, 1 propulc.com, 1 proressources.ca, 1 +prorigem.com, 1 proris.com, 0 prorodeohalloffame.com, 1 prosafilosofica.com.br, 0 @@ -120344,9 +120601,7 @@ proslimdiets.com, 1 prosocialmachines.com, 1 prosoft.com.es, 1 -prospa.digital, 1 prospectky.gov, 1 -prospecto.com.au, 1 prospecto.ee, 1 prospecto.hr, 1 prospecto.lt, 1 @@ -120365,6 +120620,7 @@ prosportovani.cz, 1 prossur.fr, 1 prostaffplumbing.com, 1 +prostakles.lt, 1 prostatecellatlas.org, 1 prostavropol.cf, 1 prostecheat.xyz, 1 @@ -120410,12 +120666,15 @@ protectasecurity.pe, 1 protected-forms.com, 1 protecthambleton.org.uk, 1 +protection-maison.fr, 1 protection-plexi.com, 1 protection-plexi.fr, 1 protection.ga, 1 protectionformula.com.ua, 1 +protectionoftheenvironmenttrust.org.au, 1 protective-claim.com, 1 protectiveinsurance.com, 1 +protectoraircare.com.au, 1 protectsaladokids.org, 1 protectwrap.ml, 1 protege.moi, 1 @@ -120443,6 +120702,7 @@ protium.co.in, 1 proto.io, 1 protobetatest.com, 1 +protocol-s.com, 1 protocolwealthllc.com, 1 protogenbrainbooster.tk, 1 protogrid.com, 1 @@ -120495,13 +120755,13 @@ provide-vr2006-1plc.de, 1 provide-your-image.de, 1 providencecmc.com, 1 +providencemurdermystery.com, 1 providenceut.gov, 1 providenthousing.com, 1 providential.be, 1 providerlijst.ml, 1 providesys.cl, 1 providmedical.com.ua, 1 -provigis.com, 0 provincialrubber.co.uk, 1 provinciaotlavoro.it, 1 provinstyper.com, 1 @@ -120704,6 +120964,7 @@ pslf.gov, 1 pslgroup.com, 1 psm.org.ph, 1 +psmoduly.cz, 1 psmpl.com, 1 psncarddelivery.com, 1 psncardplus.be, 1 @@ -120783,6 +121044,7 @@ psychologos.life, 1 psychologue-a-paris.com, 1 psychologue-grenoble.org, 1 +psychologueboutant.fr, 1 psychologydegreeguide.org, 1 psychologyforasafeclimate.org, 0 psychologytests.tk, 1 @@ -120936,7 +121198,6 @@ publicgmrs.org, 1 publichealth.cf, 1 publichealth.gq, 1 -publichealthdegrees.org, 1 publicintegrity.org, 1 publicintelligence.net, 1 publicitar.tk, 1 @@ -120955,7 +121216,6 @@ publictrustonline.co.nz, 1 publicvoid.ga, 1 publicwhip.org.uk, 1 -publii.io, 1 publik.ml, 1 publikum.net, 1 publimepa.it, 0 @@ -121014,6 +121274,7 @@ puka.edu.ee, 1 pul-ingenieure.de, 1 pula-site.tk, 1 +pulb.at, 1 pulci.it, 1 pulcinella.tk, 1 pulinkai.eu.org, 1 @@ -121102,7 +121363,6 @@ puntaprop.com, 0 puntcunts.com, 1 puntocroce.tk, 1 -puntoestadodemexico.com, 1 puntogommevenegono.it, 1 puntonium.hu, 1 puntopropiedad.com, 1 @@ -121110,7 +121370,6 @@ pup-riley.gay, 1 pup.systems, 1 pupboss.com, 1 -pupbrain.zone, 1 pupilgauge.com, 1 pupok.cf, 1 pupok.gq, 1 @@ -121120,9 +121379,7 @@ puppyanddogcare.com, 1 puppyfinder.com, 1 puppyfish.com, 1 -puppygirl.ceo, 1 puppygirl.tokyo, 1 -puppygock.ceo, 1 puppykennel.tk, 1 puppyporch.com, 1 pupsehr.com, 1 @@ -121149,7 +121406,6 @@ pure2life.nl, 0 pureandroid.com, 1 purear.com.br, 1 -pureart.co.jp, 1 pureart.jp, 1 pureatmospherellc.com, 1 pureaudioplayer.ru, 1 @@ -121162,7 +121418,7 @@ puredisinfection.com, 1 purefarminggame.com, 1 purefoot.jp, 1 -pureholisticwellness.com, 1 +pureholisticwellness.com, 0 purekrea.com, 1 purelife.photography, 1 pureliferx.com, 1 @@ -121185,7 +121441,6 @@ purewaterguide.net, 1 purewealth.cloud, 1 purfaction.nl, 1 -puricare.com.sg, 1 purinaexpress.com, 0 puritanas.tk, 1 puritas.lk, 1 @@ -121240,7 +121495,6 @@ puryearlaw.com, 1 pusan.ac.kr, 1 pusatinkubatorbayi.com, 0 -pusatkemandiriananak.com, 1 pusatlicense.com, 1 pusatlojistik.com, 1 pusatrail.com, 1 @@ -121356,7 +121610,7 @@ pwclegal.de, 1 pwcva.gov, 1 pwd.az, 1 -pwd.hu, 0 +pwd.hu, 1 pwd.vc, 1 pwdsafe.com, 0 pwe.vision, 1 @@ -121411,7 +121665,7 @@ pyhello.world, 1 pyjiaoyi.cc, 1 pyjy.org, 0 -pylad.se, 1 +pylastra.com, 1 pylon.bot, 1 pymescentro.net, 1 pymestari.com, 1 @@ -121446,6 +121700,7 @@ pytradebot.com.br, 1 pywikibot.org, 1 pyxalis.com, 0 +pyxidafishtavern.com, 1 pyxisfreelance.au, 1 pyxisfreelance.co, 1 pyxisfreelance.com.au, 1 @@ -121509,6 +121764,7 @@ qalpuch.cc, 1 qanatnews.tk, 1 qani.me, 1 +qant.au, 1 qao.qld.gov.au, 1 qaq.cloud, 1 qaq.icu, 0 @@ -121559,6 +121815,7 @@ qcuarto.com.py, 0 qdabogados.com, 1 qde.com, 1 +qde.net, 1 qde.org, 1 qde.social, 1 qdep.net, 1 @@ -121584,6 +121841,7 @@ qfes.qld.gov.au, 1 qfig.au, 1 qfixinfo.com, 1 +qfreeze.com, 1 qgblog.org, 0 qgdesavenjoueurs.fr, 1 qgiv.com, 1 @@ -121594,7 +121852,6 @@ qhdc.com.au, 1 qhdcams.com.au, 1 qhost.cf, 1 -qhse-professionals.nl, 1 qi-focus.nl, 1 qi.iq, 1 qiai.cf, 1 @@ -121615,11 +121872,12 @@ qifu.me, 1 qifu.org.cn, 1 qigehl.com, 0 -qihalu.com, 1 qihl.gg, 1 qike.tk, 1 -qikio.com.au, 1 +qikio.com.au, 0 +qiko.ai, 1 qiksource.com, 1 +qima.eu.org, 1 qimingbu.com, 1 qimingceming.com, 1 qin.moe, 1 @@ -121630,6 +121888,7 @@ qinglingyu.cn, 1 qingly.me, 1 qingniantuzhai.com, 1 +qingpingguoyy.com, 1 qingran.net, 1 qingshanasd.cn, 1 qinlili.bid, 1 @@ -121645,6 +121904,7 @@ qitano.com, 1 qitmeir.com, 1 qiu.moe, 0 +qiuche.com, 1 qiuwenbaike.cn, 1 qiwi.be, 1 qixi.biz, 0 @@ -121742,6 +122002,7 @@ qr.gp, 1 qr.mba, 1 qr.sb, 0 +qr0.ch, 1 qr1.at, 1 qraa.qld.gov.au, 1 qrara.net, 1 @@ -121816,6 +122077,7 @@ quai.ly, 1 quail.ink, 1 quaily.com, 1 +quaisr.com, 1 quakekare.com, 1 quakeroaksfarm.org, 1 quaketips.ga, 1 @@ -121927,7 +122189,6 @@ quarantine-system.com, 0 quarep.org, 1 quaric.org, 1 -quarim.cz, 1 quark.com.pl, 1 quark.house, 1 quark.waw.pl, 1 @@ -121965,6 +122226,7 @@ qubhockey.tk, 1 qubit.capital, 1 qubitoss.com, 1 +qubitropy.com, 1 qubitsandbytes.co.uk, 1 qubotondo.it, 1 qubyte.codes, 1 @@ -121974,6 +122236,7 @@ quebeccats.com, 1 quebecdogs.com, 1 quebecsolidaire.net, 1 +quebrandoasalgemas.com.br, 1 quecheeclub.com, 1 quecom.eu, 1 queencasino.live, 1 @@ -122015,6 +122278,7 @@ queerwerk.com, 1 queerwerk.eu, 1 queerwerk.nl, 1 +quehaydetras.com, 1 queirozmiotto.adv.br, 1 quel-dj.com, 1 quelbusinesschoisir.com, 1 @@ -122041,9 +122305,11 @@ quermes.net, 1 quernon.fr, 0 querocalcular.com.br, 1 +queroumacor.com.br, 1 query-massage.com, 0 queryguard.net, 1 quesecelebra.info, 1 +quest-crusaders.de, 1 quest-on-demand.com, 1 quest3.co, 1 quest3.co.uk, 1 @@ -122066,14 +122332,12 @@ questionyu.com, 0 questofaidance.tk, 1 questoj.cn, 1 -questsocial.it, 1 questsys.com, 1 questthree.com, 1 quetiapine.life, 1 quetico.tk, 1 queuebuster.co, 1 queup.net, 1 -queverenespana.org, 1 quevisiongrafica.com, 1 quezoncity.ml, 1 quforce.org, 1 @@ -122105,6 +122369,7 @@ quicklinks.tk, 1 quicklinkz.tk, 1 quickmath.com, 1 +quicknametags.com, 1 quicknode.com, 1 quicko.com, 0 quickq.nu, 1 @@ -122113,10 +122378,10 @@ quicksell.store, 1 quickshops.ga, 1 quicksit.io, 1 -quickstart.co.za, 1 quicksupply.com, 1 quicksus.com, 1 quicktapstudios.com, 1 +quicktax.ac, 1 quicktaxandcreditsolutions.com, 1 quicktaxinmessina.tk, 1 quicktricks.net, 1 @@ -122129,11 +122394,9 @@ quidax.com, 1 quidlo.com, 1 quieoltre.it, 1 -quiero.news, 1 quieroserdoula.es, 1 quierosermercedario.tk, 1 quierosersanta.tk, 1 -quierounregalo.com, 1 quiescence.eu, 1 quiescent.gq, 1 quiet-downloads.tk, 1 @@ -122197,6 +122460,7 @@ quiqurl.com, 1 quiqurls.com, 1 quire.io, 1 +quiropraxia.info, 1 quisildenafil.gq, 1 quitri.tk, 1 quitwithzero.com, 1 @@ -122215,6 +122479,7 @@ quizzard.ga, 1 quizzard.tk, 1 quizzen.tk, 1 +qukanysw.com, 1 qul.link, 1 qulix.by, 1 qulix.ch, 1 @@ -122260,7 +122525,6 @@ qusi.cf, 1 qusi.ml, 1 qussaikhuli.tk, 1 -quto.ru, 1 qutrade.io, 1 quuck.nl, 0 quuz.org, 1 @@ -122328,6 +122592,7 @@ r-rwebdesign.com, 1 r-s.one, 1 r-sec.se, 1 +r-t-b.fr, 1 r-t-n.tk, 1 r-term.pl, 1 r.gl, 1 @@ -122339,7 +122604,7 @@ r00tsandwings.com, 1 r0t.co, 1 r102.ch, 1 -r17.co.id, 1 +r17.co.id, 0 r1a.eu, 1 r1ch.net, 1 r1concepts.com, 1 @@ -122353,7 +122618,6 @@ r36533.com, 1 r3bl.blog, 1 r3dh4ck.ml, 1 -r3gi.cz, 1 r3nt.de, 1 r40.us, 1 r4fo.com, 1 @@ -122428,6 +122692,7 @@ racasdecachorro.org, 1 raccoltadifferenziata.it, 1 raccoltarifiuti.milano.it, 1 +raccoontrace.com, 1 raceandecology.ca, 1 racedrop.tk, 1 racelandky.gov, 1 @@ -122445,7 +122710,7 @@ rachelsbouncycastles.co.uk, 1 rachelsfindings.com, 1 racheltinniswood.ie, 1 -rachelwatkins.co.nz, 1 +rachelwatkins.co.nz, 0 rachidmoroccotours.com, 1 rachnacollege.tk, 1 racialmisclassification.org, 1 @@ -122501,6 +122766,7 @@ radarfacturi.ro, 1 radarfirst.com, 1 radarimoveisdeleilao.com.br, 1 +radarpin.me, 1 radarstationery.com, 0 radartatska.se, 0 radartek.com, 1 @@ -122511,7 +122777,6 @@ radcepojisteni.cz, 1 radchakan.com, 1 radcliffky.gov, 1 -radcloud.de, 1 radconinc.net, 1 raddeluxe.com, 1 radechefonne.it, 1 @@ -122527,7 +122792,6 @@ radialplus.tk, 1 radiantenergy.tk, 1 radiationtherapy.tk, 1 -radiatorendiscounter.nl, 1 radical.co, 1 radicaldream.tk, 1 radicalfuture.tk, 1 @@ -122638,7 +122902,6 @@ radioilusion.es, 1 radioilusiones.tk, 1 radioiman.net, 1 -radioj.fr, 0 radiojackienorth.tk, 1 radiojeneverstoker.tk, 1 radioklara.org, 1 @@ -122771,6 +123034,7 @@ radzimowice.pl, 1 raeder-test.azurewebsites.net, 1 raeven.nl, 1 +raevius.com, 1 raewardfresh.co.nz, 1 raf.org, 1 rafaelangelfg.tk, 1 @@ -122791,7 +123055,6 @@ raft.pub, 1 raftingbali.net, 1 rafvorsselmans.com, 1 -rafy.com.br, 1 rag-deutsche-steinkohle.de, 1 rag.de, 1 ragazzi-music.de, 1 @@ -122832,7 +123095,6 @@ raiceshebreas.org, 1 raicesplantas.com, 1 raid-runners.fr, 1 -raidbrasdunord.com, 1 raiden.network, 1 raidensnakesden.co.uk, 1 raidensnakesden.com, 1 @@ -122946,7 +123208,6 @@ raiseeducationtrust.org, 1 raiseproof.ai, 1 raisetheyouth.co.uk, 1 -raiseyoursales.co.uk, 1 raiseyoursales.de, 1 raiseyoursales.pl, 1 raisingresilientreaders.com, 1 @@ -122955,7 +123216,6 @@ raistrick.it, 1 raitza.de, 1 raj.nic.in, 1 -rajabherfehdoost.com, 1 rajabpour.com, 1 rajaealhoceima.tk, 1 rajafashion.tk, 1 @@ -122980,7 +123240,6 @@ rajudhoni.ga, 1 rak-business-service.com, 1 rakennuspeli.com, 1 -rakeprofit.com, 1 rakeshkaryana.com, 1 raketa.travel, 1 raketaholst.com.ua, 1 @@ -122999,8 +123258,6 @@ raku-lab.jp, 1 raku.bzh, 1 raku.land, 1 -rakudo.org, 1 -rakugokai.net, 1 rakuvisa.com, 1 ralaoui.me, 1 raleighadultmedicine.com, 1 @@ -123026,6 +123283,9 @@ rallyfotosaswin.tk, 1 rallynavigator.com, 1 rallyon-staging.click, 1 +rallytext.app, 1 +rallytext.org, 1 +rallytext42.com, 1 rallytrophy.tk, 1 ralphdeal.com, 1 raltha.com, 1 @@ -123053,6 +123313,8 @@ ramialghanmi.sa, 1 ramib.ch, 1 ramieres.cf, 1 +ramirez-vazquez.com, 1 +ramirezvazquez.store, 1 ramirito.tk, 1 ramkot.tk, 1 raml.org, 1 @@ -123119,7 +123381,6 @@ random-project.com, 1 random-samplings.org, 1 random.org, 1 -randomactsofkindness.org, 1 randomads.net, 1 randomadversary.com, 1 randomarticle.ml, 1 @@ -123213,6 +123474,9 @@ ranyeh.co, 1 ranyeh.com, 1 ranzbak.nl, 1 +rao.cc, 1 +raochra.com, 1 +raodyw.com, 1 raoliveoil.ga, 1 raomed.com.ar, 1 raonpick.com, 1 @@ -123231,6 +123495,8 @@ raphaeladdile.com, 1 raphaelcasazza.ch, 0 raphaelmoura.ddns.net, 1 +raphaelschmid.com, 1 +raphaelschmid.eu, 1 raphaelschneider.de, 1 raphrfg.com, 1 rapidapp.io, 1 @@ -123244,7 +123510,7 @@ rapidooo.fr, 1 rapidpolkdumpsterrental.com, 1 rapidrepair.in, 1 -rapidscale.net, 1 +rapidscale.net, 0 rapidseo.net, 0 rapidshit.net, 1 rapidspike.com, 1 @@ -123287,7 +123553,6 @@ raryosu.info, 1 rasa.com, 0 rasa.my, 1 -rasadnikcvecaperic.rs, 0 rasagiline.com, 1 rasaja.com, 1 rasalhekma.properties, 1 @@ -123362,7 +123627,6 @@ rathmann-couture.de, 0 rathorian.fr, 1 rathsallaghhouseonline.com, 1 -ratingostar.com, 1 ratingsfinder.com, 1 ratinq.co, 1 ratiocinat.ga, 1 @@ -123568,7 +123832,6 @@ rca2015.ru, 1 rcbanger.tk, 1 rccars.info, 1 -rccbpo.com, 1 rcclub.com, 1 rccofeaston.org, 1 rccom.ru, 1 @@ -123582,7 +123845,6 @@ rcelectronica.com, 1 rcfl.gov, 1 rcflood.gov, 1 -rcforex.com, 1 rcgoncalves.pt, 1 rchavez.site, 1 rchrdsn.uk, 1 @@ -123590,6 +123852,7 @@ rcips.ky, 1 rclaundrywebsvcs.com, 1 rclawnmowers.com, 1 +rclickenbrock.us, 1 rclsm.net, 1 rcmlinx.com, 1 rcmodelflying.tk, 1 @@ -123623,6 +123886,7 @@ rdb.vote, 1 rdc-metalworks.com, 1 rdcdesign.com, 1 +rdcodex.com, 1 rddjapan.info, 1 rded.nl, 1 rdesigner.tk, 1 @@ -123675,14 +123939,16 @@ rdto.io, 1 rdv-cni.fr, 1 rdv-coquin-rapide.fr, 1 -rdvobras.pt, 1 +rdvobras.pt, 0 rdwh.tech, 0 rdwz.one, 1 +rdz-ima.de, 1 rdzenie.pl, 1 re-arranged.tk, 1 re-autentic.ro, 1 re-engines.com, 1 re-expo.ru, 1 +re-leased.com, 1 re-presented.de, 1 re-security.com, 1 re-tyre.com, 1 @@ -123690,7 +123956,7 @@ reach-on.de, 1 reach.gov, 1 reach.gov.sg, 0 -reachdigital.com.au, 1 +reachdigital.com.au, 0 reachfree.com, 1 reachhead.com, 1 reachingapp.com, 1 @@ -123703,6 +123969,7 @@ reaconverter.com, 1 reacteev.com, 1 reactionindex.com, 1 +reactivatebilbao.com, 1 reactive-load.ai, 1 reactive-load.com, 1 reactive-press.com, 1 @@ -123791,12 +124058,11 @@ realestatemaryland.tk, 1 realestateofnewmexico.com, 0 realestatesales.gov, 1 -realestatestagingassociation.com, 1 realestatetennessee.net, 1 realestatewebnews.tk, 1 realestodo.com, 0 realfreedom.city, 0 -realgarant-shop.de, 1 +realgarant-shop.de, 0 realgiulianova.it, 1 realhelpcompany.ga, 1 realhorsegirls.net, 1 @@ -123804,6 +124070,7 @@ realidad.tk, 1 realincest.tv, 1 realinsurance.com.au, 1 +realitycheckproject.com, 1 realitycrazy.com, 1 realitydudes.com, 1 realitydudesnetwork.com, 1 @@ -123817,6 +124084,7 @@ realizarse-japan.com, 1 realizegov.com, 1 realkeywords.ga, 1 +reall.uk, 1 realliance.net, 1 reallife-it.de, 1 reallifeforums.com, 0 @@ -123835,8 +124103,10 @@ realmake.com, 1 realmaturetube.com, 1 realmixwell.tk, 1 +realmjoin.com, 0 realmofespionage.xyz, 1 realmoney.games, 1 +realnba.com, 1 realneo.me, 1 realnet.tk, 1 realno-money.tk, 1 @@ -123847,6 +124117,7 @@ realpython.com, 1 realrapfans.tk, 1 realschule-rain.de, 1 +realsecuritycamera.com, 1 realtechreviews.com, 1 realtime-chart.info, 1 realtimenetworks.com, 1 @@ -123889,6 +124160,7 @@ rebase.com.br, 1 rebase.com.tr, 1 rebatekey.com, 1 +rebdavis.com, 1 rebecamode.ch, 1 rebecca.blackfriday, 1 rebeccawendlandt.com, 1 @@ -123915,8 +124187,10 @@ rebirthlongboard.co.th, 1 rebizzield.com, 1 rebo.ai, 1 +rebodsj.com, 1 rebondchezsoi.com, 1 rebonus.com, 1 +rebonus.es, 1 reboot.it.com, 1 reboxetine.com, 1 rebrandly.com, 1 @@ -123927,7 +124201,6 @@ rebuildcostcalc.com, 1 rebull.fr, 1 rebus.support, 1 -rebusfarm.net, 1 reby.cf, 1 reby.tk, 1 rec.gov, 1 @@ -123965,7 +124238,6 @@ recht.us, 1 rechten-konsens-brechen.tk, 1 rechtenliteratuurleiden.nl, 0 -rechtsanwalt-loesener.de, 1 rechtsanwalt-slotty.de, 1 rechtsanwaltdrach.de, 1 rechtsbijstand.nl, 1 @@ -123976,7 +124248,6 @@ recifal-must.com, 1 recifaliste.fr, 1 recipea.com, 1 -recipekensaku.com, 1 recipesbyjaz.com, 1 recipeslist.tk, 1 recipesmadeeasy.co.uk, 1 @@ -123996,6 +124267,7 @@ reclaimmysparkle.com, 1 reclamejagers.nl, 1 reclamewereldsmp.eu, 1 +reclee.com, 1 reclinerfactory.com, 1 reclusiam.net, 1 recmon.hu, 1 @@ -124004,9 +124276,6 @@ recoilbox.com, 1 recolic.cc, 1 recolic.net, 1 -recollect.co.nz, 1 -recollect.net.au, 1 -recollectcms.com, 1 recollection.fr, 1 recollective.com, 1 recolor.ml, 1 @@ -124033,7 +124302,6 @@ recraftventures.com, 1 recreatiewoningverzekeringen.nl, 1 recriereciclagem.com.br, 1 -recruit.net, 1 recruiterbox.com, 1 recruiting.ai, 1 recruitpediacorp.com, 1 @@ -124098,13 +124366,14 @@ redass.me, 1 redaxo.org, 1 redballoonsecurity.com, 1 +redbasi.com, 1 redbeardplumbing.net, 0 +redbridgecyber.com.au, 1 redcabbage.tk, 1 redcanary.co, 1 redcandycane.tk, 1 redcapital.cl, 1 redcardinal.tk, 1 -redcarnationhotels.com, 1 redcarpetmonday.com, 1 redcatrampageforum.com, 1 redcedar.gov, 1 @@ -124136,7 +124405,6 @@ rede-reim.de, 1 rede-t.com, 1 redearsliderturtles.com, 1 -rededca.com, 1 rededecuidadores.pt, 1 redeemerlutheranschoolkokomo.org, 1 redeemmovie.com, 1 @@ -124149,6 +124417,7 @@ redenvelope.co, 1 rederastreio.com, 1 redes-neuronales.tk, 1 +redesim.ru, 1 redeyecare.com, 1 redeyeguatemala.tk, 1 redeyenetworks.com, 1 @@ -124161,7 +124430,6 @@ redfox-media.net, 1 redfox-media.org, 1 redfoxmarketiing.com, 1 -redfoxwebdesign.com.au, 1 redfrogbeach.com, 0 redgatesoftware.co.uk, 1 redgeek.cf, 1 @@ -124174,7 +124442,6 @@ redhandedsecurity.com.au, 1 redhead.id.au, 1 redheeler.com.br, 1 -redhill.world, 1 redhillboardriders.tk, 1 redhookchallenge.org, 1 redhookny.gov, 1 @@ -124240,10 +124507,10 @@ rednex.tk, 1 rednsx.org, 0 rednumberone.com, 1 +redoakgroup.org, 1 redoikos.org, 1 redondo.gov, 1 redot.com, 1 -redoxoperations.com, 1 redpandacoding.net, 1 redpandamap.com, 1 redparrotstudios.tk, 1 @@ -124255,6 +124522,7 @@ redq.now.sh, 1 redrafting.ga, 1 redragon.co.za, 1 +redravelyn.com, 1 redraven.studio, 1 redrealm.tk, 1 redrescue.com, 1 @@ -124276,6 +124544,7 @@ redskullstuff.gq, 1 redslipper.ai, 1 redsolutor.gq, 1 +redspecter.ai, 1 redstack.tk, 1 redstarcaucus.org, 1 redstarline.be, 1 @@ -124418,7 +124687,6 @@ refpaffkansb.top, 1 refpajqhsd.top, 1 refpakrtsb.top, 1 -refpalqtdn.top, 1 refpanjoke.com, 1 refpaqutiu.top, 1 refparrknf.top, 1 @@ -124489,6 +124757,7 @@ regeneo.cz, 1 regenpfeifer.net, 1 regensburg-repariert.de, 1 +regensburg.today, 1 regent.ac.za, 1 regentchair.com, 1 regentmovies.tk, 1 @@ -124557,6 +124826,7 @@ registre.quebec, 1 registrierung.tk, 1 registroparteviajeros.com, 1 +registroviajero.com, 1 registry.google, 1 registry.quebec, 1 registryplus.net, 1 @@ -124569,7 +124839,7 @@ regospel.tk, 1 regpacks.com, 1 regraph.de, 1 -regrep.eu, 1 +regrep.eu, 0 regression.tk, 1 regressplattform.ch, 1 regtech.tk, 1 @@ -124722,7 +124992,7 @@ reksadanapanin.co.id, 0 rekurasi.com, 1 rekursion.at, 1 -rekurve.co, 0 +rekurve.co, 1 rekvia.no, 1 relainstitute.com, 1 relais-laguiole.com, 1 @@ -124737,6 +125007,7 @@ relations-business.com, 1 relationsatwork.net, 1 relationsproblem.nu, 1 +relativitymc.org, 1 relatosypoesias.tk, 1 relawan24jam-magetan.pp.ua, 1 relaxdata.eu, 1 @@ -124814,7 +125085,6 @@ remax.at, 1 remaxelite.co.il, 1 remaxtop.co.il, 1 -remayah.com, 1 rembish.org, 1 remedi.tokyo, 1 remediohalkiparaladiabetes.org, 1 @@ -124845,13 +125115,12 @@ remimorin.fr, 1 reminda.com, 0 reminded.tk, 1 -remino.net, 1 remira.com, 1 remissan.com, 1 remissionclinic.com, 0 remix64.com, 1 remixdesu.com, 1 -remkodekeijzer.nl, 1 +remkodekeijzer.nl, 0 remmik.com, 1 remminhdang.com, 1 remo.health, 1 @@ -124893,7 +125162,6 @@ remoteshack.cf, 1 remoteshack.ml, 1 remoteworkingpal.com, 1 -remotish.com, 1 removalcellulite.com, 1 removalsandstoragex.com, 1 removalsmanandvan.org, 1 @@ -124905,6 +125173,7 @@ remsoft.com.br, 1 remuneracions.cat, 1 remwhile.com, 1 +remy-app.com, 1 remyb.me, 1 remyphotography.fr, 1 remyroguevolution.tk, 1 @@ -124923,6 +125192,7 @@ renato-strassmann.info, 1 renato.enf.br, 1 renaudmuller.fr, 1 +renaultbryanston.co.za, 1 renaultclubticino.ch, 0 renaultduster.co.za, 1 renaultparow.co.za, 1 @@ -124939,6 +125209,7 @@ renderstack.io, 1 renderworld.tk, 1 renderzone.tk, 1 +rendez-move.com, 1 rendez-vous.gq, 1 rendezvous-cafe.co.uk, 1 rendify.fr, 1 @@ -124955,7 +125226,6 @@ renecoignard.net, 1 renecoignard.org, 1 renecoignard.ru, 1 -renehsz.com, 1 renekoot.nl, 0 renem.net, 0 reneploetz.de, 1 @@ -125055,6 +125325,7 @@ rentbrowser.com, 1 rentcafe.co.uk, 1 rentegral.com, 1 +rentenantrag-hilfe-leipzig.de, 1 renteriq.com.au, 1 rentex.com, 0 rentfaster.ca, 1 @@ -125079,6 +125350,7 @@ renusson.com, 1 renut.com.np, 1 renverse.co, 1 +renviapatch.com, 1 renvillecountymn.gov, 1 renvisegrad.hu, 1 renwerks.com, 1 @@ -125087,12 +125359,14 @@ reo.gov, 0 reoccupyportugal.com, 1 reox.at, 1 +rep4.eu, 1 repaircafe-hanau.de, 1 repairdriveshafts.tk, 1 repairingmobile.tk, 1 repairit.support, 1 repairland.gr, 1 repairlinkshop.com, 1 +repairmate.com.au, 1 repairtly.com, 0 repairtoolbox.com, 1 repaper.org, 1 @@ -125117,7 +125391,6 @@ repat.de, 1 repaxan.com, 1 repay.com, 1 -repdom.net, 1 repeat.gg, 1 repeatresponse.com.au, 1 repertuarim.com.tr, 1 @@ -125126,8 +125399,6 @@ repinger.my.id, 1 repintadoautomotriz.com, 1 repl.ga, 1 -replacebase.com, 1 -replacebase.eu, 1 replacedbyrobot.info, 0 replacementrate.ga, 1 replay.ga, 1 @@ -125138,6 +125409,7 @@ replici.net, 1 replikatelefon.tk, 1 repliksword.com, 1 +reply24.pro, 1 replyflow.help, 1 repobox.jp, 1 repology.org, 1 @@ -125182,7 +125454,6 @@ reprogramador.es, 1 reprogramming-predators.com, 1 reprogrammingpredators.com, 1 -reprook.com, 1 reprorights.gov, 1 reprotech.com, 0 repsltd.co.uk, 1 @@ -125193,7 +125464,6 @@ reptilescan.com, 1 republic.gg, 1 republic.gr, 1 -republica.gt, 1 republicafederal.tk, 1 republicanleader.gov, 1 republicanwhip.gov, 1 @@ -125232,6 +125502,7 @@ rescms-secure.com, 1 rescuemycar.com, 1 rescuenode.com, 1 +rescueon.site, 1 rescuepcrepairs.com, 1 rescuer.gq, 1 rescuer.org.ua, 1 @@ -125255,6 +125526,7 @@ reseau007.tk, 1 resellerprogram.ga, 1 resellrefreshrepeat.com, 1 +resensor.io, 1 reserva-agora.pt, 1 reservadecitasonline.com, 1 reservaelcortijosuitehouse.com, 1 @@ -125263,6 +125535,7 @@ reservetonshift.com, 1 reservevaparks.com, 1 reservilaisliitto.fi, 1 +reservly.cz, 1 reset-ready.com, 1 reset12.co.uk, 1 resettogether.com.au, 1 @@ -125346,7 +125619,6 @@ respectmyprivacy.nl, 1 respecttheflame.com, 1 respiradores.tk, 1 -respiraiapp.com, 1 respiranto.de, 1 respiratortest.com, 1 respire-yoga.fr, 1 @@ -125368,6 +125640,7 @@ responsecode.nl, 1 responsible-disclosure.nl, 1 responsive.io, 0 +responsivemiracle.com, 1 responsivepaper.com, 1 respostas.com.br, 1 respublica.cl, 1 @@ -125375,12 +125648,12 @@ ressourcesindivior.com, 1 ressourcesleopharma.fr, 1 ressupply.com, 1 +ressybg.eu, 1 rest-in-moscow.tk, 1 resta.ga, 1 restacity.com, 1 restad.org, 1 restars-logistics.com, 1 -restart-brno.cz, 1 restartperm.ml, 1 restauraceumichala.cz, 1 restaurant-bambusgarten.berlin, 1 @@ -125439,7 +125712,6 @@ resultscx.com, 1 resultsdate.news, 1 resultsyoudeserve.com, 1 -resume4dummies.com, 1 resumecompanion.com, 1 resumegenius.com, 1 resumegets.com, 1 @@ -125447,7 +125719,6 @@ resumehelp.io, 1 resumelibros.tk, 1 resumenlatinoamericano.org, 1 -resumeprime.com, 1 resumeprofessionalwriters.com, 1 resumerabbit.com, 1 resumes.vegas, 1 @@ -125470,6 +125741,7 @@ retaildisplaystands.com.au, 1 retailer-plattform.de, 1 retailerapp.info, 1 +retailflowpos.com, 1 retailing.cf, 1 retailmarket.net, 1 retailnext.net, 1 @@ -125502,6 +125774,8 @@ retirementincomeplanninggroup.com, 1 retireoften.com, 1 retireyourpassword.org, 1 +retiring-dentist.co.uk, 1 +retiringifa.co.uk, 1 retmig.dk, 1 reto.ch, 0 reto.io, 1 @@ -125550,7 +125824,6 @@ retrotubesporn.com, 1 retrovideospiele.com, 1 retroworld.tk, 1 -retroworldshop.com, 1 retseptykaboli.cf, 1 rettar.net, 1 rette-ein-kinderleben.de, 1 @@ -125563,6 +125836,7 @@ reucon.com, 1 reueljohnk.com, 1 reulitz.de, 0 +reumacerto.com.br, 1 reunifyr.com, 1 reunion.tk, 1 reup.cash, 1 @@ -125575,10 +125849,12 @@ reuter.de, 0 reuterhall.se, 1 rev-crew.info, 1 +rev2it.co.za, 1 reval.com, 1 revalidatiekennisnet.nl, 1 revaloriza.cf, 1 revampdigital.co.nz, 0 +revamplinks.com, 1 revandtorque.com, 1 revanops.io, 1 revapost.fr, 1 @@ -125614,13 +125890,18 @@ revgen.life, 1 review.jp, 1 review247.ga, 1 +reviewattorneyretainer.com, 1 +reviewcasino.com, 1 reviewcave.co.uk, 1 reviewchecker.nl, 1 +reviewcourtfiling.com, 1 +reviewcourtorder.com, 1 reviewdetector.ml, 1 reviewengin.com, 1 reviewgeek.com, 1 reviewheaven.ml, 1 reviewku.id, 1 +reviewlegalbill.com, 1 reviewmi.co.uk, 1 reviews.anime.my, 0 reviewsonline.ml, 1 @@ -125649,7 +125930,6 @@ revista-atalaya.ml, 1 revistabifrontal.com, 1 revistacocina.tk, 1 -revistadelibros.com, 1 revistaespecies.ga, 1 revistafal.com, 1 revistaligustinus.tk, 1 @@ -125738,6 +126018,8 @@ reyesfernando.com, 1 reyesholdings.com, 1 reyeswraps.com, 1 +reyher.de, 1 +reyingdy.com, 1 reykjavikshuttle.is, 1 reykjaviktipps.de, 1 reykjaviktips.com, 1 @@ -125749,7 +126031,6 @@ rezbs.com, 1 rezendemultimarcas.com.br, 1 rezept-planer.de, 1 -rezett.com, 1 rezidencezdanice.cz, 1 rezio.io, 1 rezistor.tk, 1 @@ -125782,6 +126063,7 @@ rfs-zbpe.net, 1 rfstag.com, 1 rfxanalyst.com, 1 +rg2i.net, 1 rga.cl, 1 rgacomputacion.cl, 1 rgapi.net, 1 @@ -125835,6 +126117,9 @@ rhetthenckel.com, 1 rheumatoidarthritis.net, 1 rhev.in, 1 +rhevox.com, 1 +rhevox.eu, 1 +rhevox.nl, 1 rhforum.tk, 1 rhfs.tk, 1 rhhd.gov, 1 @@ -125932,8 +126217,6 @@ ricelasvegas.com, 1 ricelife.ch, 1 ricettedellanonna.net, 1 -ricettesemplicieveloci.altervista.org, 1 -rich-good.com, 0 richadams.me, 1 richandsteph.co.uk, 1 richandsteph.uk, 1 @@ -125971,11 +126254,13 @@ richardstyrepower.com.au, 1 richardvanhooijdonk.com, 1 richecommecresus.com, 1 +richedmonds.co.uk, 1 richel-group.fr, 1 richerenches.fr, 1 richeyweb.com, 1 richfieldadamscowi.gov, 1 richfieldsean.org, 1 +richfocus.ru, 1 richie.cloud, 0 richie.fi, 0 richie.pm, 1 @@ -125990,6 +126275,7 @@ richies.uk, 1 richiesroom.com, 1 richieste.it, 1 +richkeyacademy.my, 1 richlandcenterwi.gov, 1 richlandcountyoh.gov, 1 richlandcountywi.gov, 1 @@ -125997,8 +126283,6 @@ richlewis.com, 0 richlj.net, 1 richlogic.blog, 1 -richmix.org.uk, 1 -richmond.com, 1 richmondca.gov, 1 richmondcountync.gov, 1 richmondla.gov, 1 @@ -126034,6 +126318,7 @@ rico.ovh, 1 ricochet.com, 1 ricochet.im, 1 +ricoh.com.au, 1 ricos.co.jp, 1 ricos.jp, 1 ricotrebol.com, 1 @@ -126069,7 +126354,6 @@ ridho.id, 1 ridingoklahoma.com, 1 ridingthemagic.uk, 1 -ridingthetigerpro.com, 1 rido.ml, 1 ridw.org, 1 riebe.eu, 1 @@ -126117,7 +126401,6 @@ rightnetworks.com, 1 rightofboom.com, 1 rightoffs.com, 1 -rightpatient.com, 1 rightreview.co.uk, 1 rights.ninja, 1 rightschool.cf, 1 @@ -126135,12 +126418,9 @@ rigly.uk, 1 rigonidiasiago-ar.com, 1 rigonidiasiago-usa.com, 1 -rigonidiasiago.com, 1 rigonidiasiago.de, 1 rigonidiasiago.es, 1 rigonidiasiago.fr, 1 -rigonidiasiago.international, 1 -rigonidiasiago.it, 1 rigonidiasiago.nl, 1 rigonidiasiago.pl, 1 rigpolice.com, 1 @@ -126206,6 +126486,22 @@ rinconwaterca.gov, 1 rindepo.com, 1 rineke.art, 1 +ring-auf-norderney-verloren.de, 1 +ring-auf-spielplatz-verloren.de, 1 +ring-auf-usedom-verloren.de, 1 +ring-im-harz-verloren.de, 1 +ring-im-schnee-verloren.de, 1 +ring-im-see-verloren.de, 1 +ring-in-der-nordsee-verloren.de, 1 +ring-lost.de, 1 +ring-retter.de, 1 +ring-verloren-am-strand.de, 1 +ring-verloren-berlin.de, 1 +ring-verloren-bremen.de, 1 +ring-verloren-hamburg.de, 1 +ring-verloren-hannover.de, 1 +ring-verloren-muenchen.de, 1 +ring-verloren.eu, 1 ring.com, 1 ring2.de, 1 ringelfee.de, 1 @@ -126213,6 +126509,8 @@ ringeriksbanen.net, 1 ringgitplus.com, 1 ringgoldtownship.gov, 1 +ringimgartenverloren.de, 1 +ringjaeger.de, 1 ringlightstudios.com, 1 ringmybell.tk, 1 ringneckparakeets.com, 1 @@ -126245,10 +126543,11 @@ riosoils.com, 1 riotplus.com, 1 ripadores.tk, 1 +ripalsindianstreetfood.com.au, 1 ripcorddesign.com, 1 ripcordsandbox.com, 1 ripcurl.tk, 1 -ripenapps.com, 1 +ripenapps.com, 0 ripetizioni.roma.it, 1 ripin.org, 1 ripit.co, 1 @@ -126261,9 +126560,7 @@ ripple-prime.com, 1 ripplecraft.cn, 1 ripplematch.com, 0 -ripplenews.club, 1 ripplenews.io, 1 -ripplenews.live, 1 ripplenews.news, 1 ripplenews.world, 1 rippleproduction.com.tr, 1 @@ -126320,7 +126617,7 @@ riskiq.com, 0 riskledger.com, 1 riskmitigation.ch, 1 -riskxchange.co, 1 +riskxchange.co, 0 risky.services, 1 riskymeals.com, 1 risman.tk, 1 @@ -126385,9 +126682,13 @@ rivalsa.cn, 1 rivalsa.net, 1 rivalta.design, 1 -rivalyse.fr, 1 +rivalyse.com, 1 rivastation.de, 1 riveal.fr, 1 +riven.cloud, 1 +riven.com.ee, 1 +riven.ee, 1 +riven.io, 1 rivenmains.com, 1 river-rest.com, 1 river.com, 1 @@ -126416,6 +126717,7 @@ riversmeet.co.uk, 1 riversova.com, 1 riverspromo.com, 1 +riverstonewillow.com, 1 riverton.se, 1 rivertv.ca, 1 riverviewcamp.com, 1 @@ -126479,7 +126781,6 @@ rl-informatique.fr, 1 rlalique.com, 1 rlan.eu.org, 1 -rland.ph, 1 rleeden.servehttp.com, 1 rllinsure.com, 0 rlmud.tk, 1 @@ -126510,7 +126811,6 @@ rmj4u.com, 1 rmkdirect.com, 1 rml-liege.be, 1 -rmlcowboystore.com, 1 rmly.win, 1 rmm-i.com, 1 rmmanfredi.com, 1 @@ -126518,6 +126818,7 @@ rmoe.top, 1 rmol.tk, 1 rmp-gebaeudedienste.de, 1 +rmpbuilders.com.au, 1 rmrcapitalinc.com, 1 rmrig.org, 1 rmrserralheria.com.br, 1 @@ -126558,6 +126859,7 @@ roadkeeper.ai, 1 roadkillcustoms.com, 1 roadlamp.com, 1 +roadless.org, 1 roadpaint.pt, 1 roadshow.co.nz, 1 roadshow.com.au, 1 @@ -126578,6 +126880,7 @@ roanoke.com, 1 roaringforkfire.gov, 1 roaster.ga, 1 +roastmyurl.com, 1 roastrepublic.de, 1 rob006.net, 1 robandjanine.com, 1 @@ -126602,7 +126905,6 @@ robert-ewert.tk, 1 robert-wiek-transporte.de, 1 robertbln.com, 1 -robertbo.es, 1 robertcmason.com, 1 robertcspies.de, 1 robertg.me, 1 @@ -126622,7 +126924,6 @@ robertoggarcia.tk, 1 robertopazeller.ch, 1 robertoullan.tk, 1 -robertreeveslaw.com, 1 robertrijnders.nl, 1 robertsfinejewelers.com, 1 robertsjoneslaw.com, 0 @@ -126664,7 +126965,6 @@ robintimmers.nl, 0 robinvanpersie.tk, 1 robinvdmarkt.nl, 1 -robinvieregge.de, 1 robinwill.de, 1 robinwinslow.uk, 1 robinzorg.nl, 1 @@ -126689,6 +126989,7 @@ robot-invest.cf, 1 robot-invest.ml, 1 robot.car, 1 +robotai.trade, 1 robotattack.org, 1 robotbattle.tk, 1 robotcoral.de, 1 @@ -126737,6 +127038,7 @@ rochcloud.cf, 1 rochediagram.com, 1 rochesterglobal.com, 1 +rochestermurdermystery.com, 1 rochesternh.gov, 1 rochestertwpil.gov, 1 rochesterwi.gov, 1 @@ -126776,11 +127078,10 @@ rocketmulejunkremoval.com, 1 rocketnet.ml, 1 rocketpin.com, 1 -rocketr.net, 1 rocketrubber.com, 1 rocketsciencerealty.com, 1 +rocketsword.net, 1 rocketsworld.tk, 1 -rockettube.com, 0 rockfallsil.gov, 1 rockfax.com, 1 rockfordnetworks.com, 1 @@ -126872,11 +127173,11 @@ rodrigocarvalho.blog.br, 1 rodrigodematos.tk, 1 rodrigosa.lu, 1 +rodrigotome.es, 1 rodriguezmontero.com, 1 roeckx.be, 1 roedesonline.nl, 1 roefja.com, 0 -roehrbein.de, 1 roelenscitynews.ml, 1 roelfs.org, 1 roelhollander.eu, 1 @@ -126891,6 +127192,7 @@ roesberg.com, 1 roestkonsept.no, 1 rofena.org, 1 +rofiibnu.com, 1 rofl.com.ua, 1 rofrank.space, 1 rogacevo.tk, 1 @@ -126907,6 +127209,7 @@ rogerec.me, 1 rogerfages-peinture.fr, 1 rogerhub.com, 1 +rogeriodocarmo.com, 1 rogerkunz.ch, 1 rogerriendeau.ca, 1 rogersbh.org, 1 @@ -126970,7 +127273,6 @@ rolandog.com, 1 rolandok.gov, 1 rolandoredi.com, 1 -rolandoshvac.com, 1 rolandozarate.tk, 1 rolandsgrocery.com, 1 rolandszabo.com, 1 @@ -126988,6 +127290,7 @@ roll9.com, 1 rollachamber.org, 1 rollacity.gov, 1 +rollandruck.com, 1 rollatorweb.nl, 1 rolledout.info, 1 rollerderbycollection.ga, 1 @@ -127063,11 +127366,12 @@ romasko.ml, 1 romastantra.com, 1 romatoday.it, 1 -romatours.pt, 1 +romatours.pt, 0 romatrip.it, 1 rombarte.pl, 1 romcom.info, 1 rome-airport.net, 1 +rome.team, 1 rome.tools, 1 romea.cz, 1 romediatori.com, 1 @@ -127197,7 +127501,6 @@ rootedtolast.org, 1 rootedwellnessot.com, 1 rooter.group, 1 -rootergroupinc.ca, 1 rootingpalace.tk, 1 rootlair.com, 1 rootless.ga, 1 @@ -127212,11 +127515,14 @@ rootroo.com, 1 roots-example-project.com, 0 roots.io, 1 +roots.photography, 1 rootsandrain.com, 1 rootsbar.fr, 0 +rootshell.is, 1 rootsinmadrid.tk, 1 rootsland.de, 1 rootsland.net, 1 +rootslandscapingct.com, 1 rootsmusicmanagement.tk, 1 rootstation.de, 1 rootsweb.com, 1 @@ -127251,7 +127557,6 @@ rosbiznes.tk, 1 rosclar.com, 0 roscommontownshipmi.gov, 1 -rosconf.ru, 1 roscopro.com, 1 rosdpk.ru, 1 rosdver.ru, 1 @@ -127260,6 +127565,7 @@ rosebikes.nl, 1 rosebudcountysheriffmt.gov, 1 rosecoaudit.com, 1 +rosedenellandudno.co.uk, 0 rosegardencottage.co.uk, 1 rosehishop.com, 1 rosehosting.reviews, 1 @@ -127272,10 +127578,10 @@ rosemountmn.gov, 1 rosenberg-fansite.tk, 1 rosenberggard.se, 1 +rosenheim.news, 1 rosenheimsingles.de, 1 rosenkavalier.tk, 1 rosenkeller.org, 1 -rosensrauk.com, 1 roseparkhouse.com, 1 roses-eternelles.fr, 1 rosesanderslaw.com, 1 @@ -127313,6 +127619,7 @@ rosscountyohiocasa.gov, 1 rosscountyohiocourts.gov, 1 rosscountyohiotaxlist.gov, 1 +rosselot.cl, 1 rossen.be, 1 rosser.no, 1 rosset.me, 1 @@ -127367,11 +127674,13 @@ rotaville.com, 1 rotayazilim.net, 1 roteam.tk, 1 +rotehuegels.com, 1 roteiros.online, 1 rotek.at, 0 roten.email, 1 rotential.com, 1 rotespotsdam.tk, 1 +rothblueprint.com, 1 rothbruederlein.tk, 1 rothco.com, 1 rothirsch.org, 1 @@ -127408,6 +127717,7 @@ roulettestar.com, 1 roulinfo.ch, 0 roullier.com, 1 +roulottetinihau.com, 1 roundaboutweb.net, 1 roundandbrown.com, 1 roundball.tk, 1 @@ -127446,7 +127756,6 @@ rovin.tk, 1 rovino.es, 1 rovno-news.ru, 1 -rowan.fyi, 1 rowancasting.ie, 1 rowancounty911.com, 1 rowancounty911.org, 1 @@ -127479,7 +127788,6 @@ royal-flowers.dp.ua, 1 royal-knights.tk, 1 royal-life.tk, 1 -royal-rangers.de, 1 royal.io, 1 royal71.com, 0 royal806.com, 0 @@ -127493,10 +127801,8 @@ royal876.com, 0 royal877.com, 0 royal88.com, 1 -royal880.com, 0 royal8822.com, 0 royal885.com, 0 -royal886.com, 0 royal896.com, 0 royal898.com, 0 royal929.com, 0 @@ -127511,7 +127817,6 @@ royalchallengers.com, 1 royalchess100.com, 1 royalcitystudios.ca, 1 -royalcitytaxi.ca, 1 royalcrowns.tk, 1 royaldarts.tk, 1 royaleafrica.com, 1 @@ -127537,7 +127842,6 @@ royalpanda.com, 1 royalrace.tk, 1 royalreporting.ca, 1 -royalsblue.com, 1 royalsleeping.com, 1 royalstockaysaintgeorges.be, 1 royalstylefit.com, 1 @@ -127581,6 +127885,7 @@ rozwod.wloclawek.pl, 1 rp-megapolis.tk, 1 rp-murk.tk, 1 +rpa-h.com, 1 rpa.gov, 1 rpadonline.com, 1 rpatechnologies.es, 1 @@ -127608,7 +127913,7 @@ rprp.co.uk, 1 rprusa.net, 1 rps-auto.com, 1 -rpschultz.de, 1 +rpschultz.de, 0 rpts.edu, 1 rpus.co, 1 rpy.xyz, 1 @@ -127675,6 +127980,7 @@ rsgnl.fr, 1 rsgx.com, 1 rshvacdesigns.com, 1 +rsicarelli.com, 1 rsingermd.com, 0 rsl-hilden.de, 1 rsl.gd, 1 @@ -127682,11 +127988,14 @@ rsldb.com, 1 rslnd.com, 1 rslonline.com, 1 +rsltools.fr, 1 rsm-computer.de, 1 rsm-intern.de, 1 rsml.co.uk, 1 rsng.com, 1 +rsoberlandconsulting.de, 1 rspevents.ro, 1 +rsrewards.com.au, 1 rsridentassist.com, 1 rsrnd.org, 1 rsruralrevendas.com.br, 1 @@ -127727,6 +128036,7 @@ rtate.se, 1 rtc-connect.com, 1 rtc-israel.com, 1 +rtcs.au, 1 rtcyber.com, 1 rtde.life, 1 rtde.live, 1 @@ -127799,7 +128109,6 @@ ru251.tk, 1 ruageek.com, 1 ruanbiao.com, 1 -ruangangkasa.com, 0 ruanglaptop.com, 1 ruanwen168.com, 1 rubashki-opt.ml, 1 @@ -127826,7 +128135,6 @@ rubens.cloud, 0 rubensalgado.com, 1 rubenschulz.nl, 1 -rubenshotel.com, 1 rubenshuis.be, 1 rubenslikkarchive.com, 1 rubensteinphotography.com, 1 @@ -127840,7 +128148,6 @@ rubidium.se, 1 rubik.tk, 1 rubika.com.ua, 1 -rubinamillinery.com, 1 rubinchyk.tk, 1 rubinnadlan.co.il, 1 rubirubli.tk, 1 @@ -127865,6 +128172,7 @@ rubyquincunx.org, 1 rubyrelay.com, 1 rubystore.ga, 1 +ruceprycodmedii.cz, 1 rucheentreprise.fr, 1 ruchka-mashinka.gq, 1 rucinski.ch, 1 @@ -127891,6 +128199,7 @@ rudy.ga, 1 rudymendoza.tk, 1 rue-de-la-vieille.fr, 1 +ruebenfeldt.com, 1 ruebli-kurier.ch, 1 rueckert-gymnasium-blog.de, 1 rueckgr.at, 1 @@ -128011,7 +128320,6 @@ rundom.co, 1 rundu.ml, 1 rundum-service-omh.de, 1 -rundumberlin-classic.de, 1 rundumcolumn.xyz, 1 runebet.com, 1 runeblog.ru, 1 @@ -128039,7 +128347,6 @@ runmyprocess.com, 0 runmyqubit.com, 1 runmyqubit.de, 1 -runmyvillage.com, 1 runnerslab.com, 1 running-tiger.ch, 1 running-tiger.cn, 1 @@ -128062,6 +128369,7 @@ ruobiyi.com, 0 ruobr.ru, 1 ruonavaara.fi, 1 +ruorder.cloud, 1 ruoskachile.tk, 1 rupeek.com, 1 rupeespeaks.tk, 1 @@ -128131,6 +128439,7 @@ rusorg.de, 1 rusposuda.cf, 1 russ-portal.tk, 1 +russalo.com, 1 russandol.eu, 1 russchooljordan.tk, 1 russell-ar.gov, 1 @@ -128229,6 +128538,7 @@ rutorrent.net, 1 ruttenadvocaat.be, 1 ruttentuttels.nl, 1 +rutur.co, 1 ruud-online.tk, 1 ruudkoot.nl, 1 ruvoip.net, 1 @@ -128267,7 +128577,6 @@ rwandalicious.com, 0 rway.pro, 1 rwb.charity, 1 -rwbstuff.com, 1 rwgamernl.ml, 1 rwglaw.com, 1 rwhapdentalservicesreport.net, 1 @@ -128310,7 +128619,6 @@ ryanjohnstone.com, 1 ryankearney.com, 0 ryankilfedder.com, 1 -ryanlibre.com, 1 ryanonfire.tk, 1 ryanparman.com, 1 ryanrichardwalker.com, 1 @@ -128323,6 +128631,7 @@ rybalku.ru, 1 rybarski.com, 1 rybinsk.ga, 1 +rybnikmedercina.sk, 1 rybnitsa.cf, 1 rybnitsa.ga, 1 rybnitsa.gq, 1 @@ -128521,6 +128830,7 @@ saba-shop.tk, 1 sabachat.tk, 1 sabahattin-gucukoglu.com, 1 +sabai.forum, 1 sabaland.tk, 1 sabanco.com.br, 1 sabapark.org, 1 @@ -128549,7 +128859,6 @@ sable.gq, 1 sabo.co.in, 1 saborcaribe.tk, 1 -saboresdamontanha.com.br, 1 sabranie.com, 1 sabriburhanoglu.com, 1 sabrina-auer.tk, 1 @@ -128603,7 +128912,6 @@ sacred-knights.net, 1 sacredart-murals.co.uk, 1 sacredheart-cliftonheights.net, 1 -sacredheartbath.org, 1 sacredheartmission.org, 1 sacredmessages.net, 1 sacredsecondhandbooks.com.au, 1 @@ -128612,11 +128920,11 @@ sacscoc.org, 1 sacwellness.com, 1 sadalestikls.lv, 1 +sadaqat.pk, 1 sadecegundem.net, 1 sadeedos.systems, 1 sadeem.space, 1 sadesign.co.uk, 1 -sadev.co.za, 1 sadhana.cz, 1 sadiejanehair.com, 1 sadiestavern.cf, 1 @@ -128631,7 +128939,6 @@ sadjawebsolutions.com, 1 sadkodesign.com.ua, 1 sadmansh.com, 1 -sadnagroup.com, 1 sadou.co.kr, 1 sadou.kyoto.jp, 0 sadoun.com, 1 @@ -128658,7 +128965,6 @@ safalfasalonline.in, 1 safar.sk, 1 safarilaw.com, 1 -safaris-uganda.com, 1 safarisop.com, 1 safatech.me, 1 safc.tk, 1 @@ -128676,6 +128982,7 @@ safeathomeohio.gov, 1 safebase.io, 1 safebaseinc.com, 1 +safebits.ch, 1 safeboard.ml, 1 safeboxx.id, 1 safebus.io, 1 @@ -128719,10 +129026,10 @@ safeo.fr, 1 safeocs.gov, 1 safepassvpn.com, 0 +safepayil.com, 1 safepdfsign.com, 1 safeplayground.net, 0 safer-software.tk, 1 -safera.com, 1 safercar.gov, 1 saferequest.net, 1 saferfederalworkforce.gov, 1 @@ -128796,10 +129103,12 @@ sagauae.com, 1 sagefitness.store, 0 sagegardens.ca, 0 +sageit.in, 1 sageitinc.com, 1 sagenec.com, 1 sagenesykkel.com, 1 sageseeds.info, 1 +sagesolutionsllc.net, 1 sagessesmodernes.com, 1 sagetel.ga, 1 sageth.com, 1 @@ -128848,7 +129157,7 @@ sahkotyot.eu, 1 sahlcollection.com, 1 sahovski.com, 1 -sahpa.co.za, 1 +sahpa.co.za, 0 sai.be, 1 sai.com.in, 1 saiber.com, 1 @@ -128888,6 +129197,7 @@ sailwind.codes, 1 sailyun.cc, 1 saimedia.net, 0 +saimelectrical.uk, 1 sainaracademy.com, 1 sainetworks.net, 1 sainokuni-eng.jp, 1 @@ -128898,6 +129208,7 @@ saint-bernard-gouesch.fr, 1 saint-clan.tk, 1 saint-cyril.com, 1 +saint-laurent-it-solutions.com, 1 saint-luke.net, 1 saint-peterburg.tk, 1 saint-petersburg.cf, 1 @@ -128913,7 +129224,6 @@ saintereso.tk, 1 sainteugenechurch.net, 1 sainteugeneschurch.com, 1 -saintfrancescabrini.net, 1 saintgabrielparish.org, 1 sainth.de, 0 sainthedwig-saintmary.org, 1 @@ -128934,7 +129244,6 @@ saintpetersburg.gq, 1 saintpetersburg.ml, 1 saintpius.net, 1 -saintpolycarp.org, 1 saintseiya-temple.tk, 1 saintspicious.de, 1 saintsrobotics.com, 0 @@ -129006,10 +129315,11 @@ sakurapalace.tk, 1 sakurapink.top, 0 sakuraspanj.com, 1 +sala.com.ar, 1 saladgo.id, 1 saladin.vn, 1 +salahnos.com.ar, 1 salairebrutnet.ch, 1 -salalfoundation.ca, 0 salamanders.tk, 1 salamence.tk, 1 salamkisan.com, 1 @@ -129017,7 +129327,9 @@ salampolyclinic.om, 1 salamzibaei.com, 1 salariominimo.com.co, 1 +salaris.ro, 1 salaryfinance.com, 1 +salarytax.uk, 1 salas.cf, 1 salas.tk, 1 salasbanquetes.cl, 1 @@ -129121,6 +129433,7 @@ salmaghanim.com, 1 salman.agency, 1 salmanravoof.com, 1 +salmanshafi.net, 1 salmelainenwalter.tk, 1 salminencrane.tk, 1 salmo-rybak.ru, 1 @@ -129133,6 +129446,7 @@ salnet.wf, 1 salo.fi, 1 salomeateliernails.com, 1 +salomon.ro, 1 salomonsports.co.il, 1 salomus.fi, 1 salon-de-patchouli.com, 1 @@ -129150,11 +129464,11 @@ salonboothuren.amsterdam, 1 saloncosmeticasibiu.ro, 1 salone-mio.com, 1 +saloneslantana.com, 1 salonestella.it, 1 saloni.com, 1 salonia.it, 1 saloniestate.ml, 1 -salonist.io, 1 salonivenera.com, 1 salonkaufmann.it, 1 salonmarjon.nl, 1 @@ -129190,7 +129504,6 @@ salttherapyoregon.com, 1 saltus.ga, 1 saltydogpaddle.org, 1 -saltykai.com, 1 salud-paratodos.com, 1 saludakeuring.nl, 1 saludcarbajal.com, 1 @@ -129229,6 +129542,7 @@ sam-wells.be, 1 sam.ad, 1 sam.gov, 1 +sam002.net, 1 sam66.cc, 1 sam88.cc, 1 samabest.tk, 1 @@ -129256,7 +129570,6 @@ sambot22.tk, 1 sambuchanan.tk, 1 sambull.org, 1 -samcantwell.au, 1 samcera.gov, 1 samcla.us, 1 samclarke.com, 1 @@ -129267,7 +129580,6 @@ samdev.io, 1 samedamci.com, 1 samedayglendoracleantruckcheck.com, 1 -samedis.care, 1 samegoal.com, 1 samegoal.org, 1 samehzidan.com, 1 @@ -129306,7 +129618,7 @@ samina.com, 1 samir-software.tk, 1 samiratv.tk, 1 -samisallinen.fi, 1 +samisallinen.fi, 0 samishnation.gov, 1 samisoft.ir, 1 samiysok.cf, 1 @@ -129340,7 +129652,7 @@ samoylyk.net, 0 samozdraw.ga, 1 sampaguide.com, 1 -sampath.lk, 1 +sampath.lk, 0 sampati.com.br, 1 sampatjewelers.com, 1 samplechapterpodcast.com, 1 @@ -129350,7 +129662,7 @@ sampsoncountync.gov, 1 sampsonplumbing.com, 0 samquick.me.uk, 1 -samsara.nl, 1 +samsara.nl, 0 samscollection.in, 1 samsebe.ml, 1 samsebe.tk, 1 @@ -129393,6 +129705,7 @@ samwu.tw, 1 samy.rip, 1 samyang.tk, 1 +samyogsanjel.com.np, 1 san-cassiano.com, 1 san-leonardo.com, 1 san-vigilio-marebbe.net, 1 @@ -129433,6 +129746,8 @@ sanctio.tk, 1 sanctisgroup.com, 1 sanctum.geek.nz, 0 +sanctumel.com, 1 +sanctumsecops.us, 0 sanctus-de.tk, 1 sanctus.co.uk, 1 sanctus.io, 1 @@ -129441,8 +129756,6 @@ sand66.cc, 1 sandag.gov, 1 sandairephotography.com, 1 -sandbar.ai, 0 -sandbar.money, 1 sandbox-simplevisa.net, 1 sandbox.i.ng, 1 sandbox.mydigipass.com, 0 @@ -129578,6 +129891,7 @@ sanjuanchamelco.tk, 1 sanjuancountywa.gov, 1 sanjuandeabajo.tk, 1 +sankasafaris.com, 1 sanketsu.ml, 0 sanki.tk, 1 sankt-kassian.com, 1 @@ -129616,12 +129930,12 @@ sanpham-balea.org, 1 sanplusplus.ru, 1 sanpure.in, 1 -sanqinyinshi.com.cn, 1 sanrafaelvigo.org, 1 sanraizu.top, 1 sanroque.es, 1 sans-hotel.com, 1 sans-papiers.ch, 1 +sansable.com, 1 sansairyu-kuyoukai.com, 1 sansdb.io, 0 sansdict.ml, 1 @@ -129732,6 +130046,7 @@ sap-inc.co.jp, 1 sapac.es, 1 sapafolumuxu.tk, 1 +sapakim.com, 1 sapaship.ru, 1 sapdabblers.com, 1 saphi.re, 1 @@ -129758,7 +130073,6 @@ sapphireblinds.com.au, 0 sapphireblue.me, 1 sapphireservicesga.com, 1 -sapporet.es, 1 sapporo-asaichi.com, 1 sapporo.coop, 1 sapporo.ga, 1 @@ -129812,7 +130126,7 @@ sararoylance.com, 1 saraskins.space, 1 saraskins.work, 1 -sarasotadentistry.com, 1 +sarasotadentistry.com, 0 sarastan.com, 1 saratogasprings-ut.gov, 1 saratogawi.gov, 1 @@ -129962,7 +130276,9 @@ satlantis.tk, 1 satoplet.cz, 1 satopletova.cz, 1 +satoshidata.ai, 1 satoshinumbers.com, 1 +satoshis.watch, 1 satoshistep.com, 1 satowa-network.eu, 0 satpersian.tk, 1 @@ -129996,7 +130312,7 @@ saucesmaster.com, 1 sauco.io, 1 saudecoluna.com, 1 -saudedigitalnews.com.br, 1 +saudedigitalnews.com.br, 0 saudenoclique.com.br, 1 saudia.com, 1 saudiairlines.com, 1 @@ -130064,6 +130380,7 @@ save-me-aachen.eu, 1 save-me-koeln.de, 1 save-spb.ru, 1 +save.ch, 1 save.gov, 1 saveaward.gov, 1 savebees.org, 1 @@ -130075,6 +130392,7 @@ savemyleads.com, 1 savemylicence.co.uk, 1 saveolga.tk, 1 +saveoncraft.com, 1 saveora.com, 1 saveora.shop, 1 savepapajohns.com, 1 @@ -130116,12 +130434,12 @@ savoystyle.com, 1 savransafari.com, 1 savrn.com, 1 +savunmasanayii.org, 1 savushkin.tk, 1 savvice.com.ph, 1 savvycleaner.com, 1 savvydevelopment.com, 1 -sawadeegolf.com, 1 -sawan.com.pk, 1 +sawan.com.pk, 0 sawansasaram.ml, 1 sawayaka-hitachilaw.jp, 1 sawiday.at, 1 @@ -130164,7 +130482,7 @@ sayeghonline.com, 0 sayehsazan.ir, 1 sayers.group, 0 -sayfr.com, 0 +sayfr.com, 1 sayhanabi.eu.org, 1 sayhelloderm.com, 1 sayhi.com, 1 @@ -130178,7 +130496,6 @@ sayyoyo.com, 1 saz-it.de, 1 saz.sh, 1 -sazan-clinic.jp, 1 saznworld.com, 1 sazuz.cz, 1 sb-group.dk, 1 @@ -130260,7 +130577,6 @@ sc019.com, 0 sc2labs.com, 1 sc2pte.eu, 1 -sc88.trade, 1 sca-webdesign.be, 1 scadalliance.org, 1 scadanews.net, 1 @@ -130330,6 +130646,7 @@ scantower.io, 1 scanutracker.com, 1 scanyachat.cf, 1 +scanysis.one, 1 scape.pt, 1 scape.sg, 1 scapin.dk, 1 @@ -130357,13 +130674,13 @@ scatsbouncingcastles.ie, 1 scatterd.im, 1 scatteredcode.net, 1 +scatterinstrumentsonline.com, 1 scatterscasino.com, 1 scatterwin.net, 1 scattopro.it, 1 scavalentenx.duckdns.org, 1 scavenged.ga, 1 scayle.com, 1 -scbdh.org, 1 scbodner.com, 1 scc-aircompressors.com, 1 sccan.scot, 1 @@ -130423,6 +130740,10 @@ schattenwolf-tattoo.de, 1 schattka.com, 1 schatzibaers.de, 1 +schatzsuche-tv.de, 1 +schatzsuchertv.de, 1 +schatzsuchetv.de, 1 +schatztv.de, 1 schauergroup.com, 1 schaumburg-dachundwand.de, 1 schaumburgil.gov, 1 @@ -130588,6 +130909,7 @@ schody-rozycki.pl, 1 schoenheitsop.com, 1 schoenstatt-fathers.link, 1 +schoenstatt-fathers.us, 1 schoenstatt.link, 1 schoental.de, 1 schoepski.de, 1 @@ -130620,7 +130942,6 @@ scholtensupport.nl, 0 scholven.marketing, 1 scholz-kallies.de, 1 -schonstedt.com, 1 school-22.tk, 1 school-27-lpr.tk, 1 school-33.tk, 1 @@ -130646,12 +130967,11 @@ schoolcafe.com, 1 schoolcash.net, 1 schoolcashonline.com, 1 +schoolchoiceni.co.uk, 1 schoolchoices.org, 1 schoolcounselor.org, 1 schoolcrafttownshipmi.gov, 1 -schooldatasquad.com, 1 schooldismissalmanager.com, 1 -schooldistrictopioidrecoverygrants.com, 1 schooleducationharyana.gov.in, 1 schoolheads.ph, 1 schoolhouse.world, 1 @@ -130773,13 +131093,13 @@ schweriner-kletterwald.de, 1 schwerkraftlabor.de, 1 schwertkriege.de, 1 -schwertshop.de, 1 schwesterseiten.com, 1 schweyer-marti.ch, 1 schwienbacher-karl.it, 1 schwifty.cloud, 1 schwiha.de, 1 schwimmschule-kleine-fische.de, 1 +schwimmspass.schule, 1 schwinabart.com, 1 schworak.com, 0 schwub.de, 1 @@ -130882,7 +131202,6 @@ scoffable.com, 1 scognasoftware.it, 1 scolacdn.com, 1 -scoliosisinstitute.com, 1 scom.org.uk, 1 scommessenonaams.com, 1 sconecloud.com, 1 @@ -130900,6 +131219,7 @@ scooterhelmkopen.nl, 1 scooterinaustralia.tk, 1 scootermalagarental.com, 1 +scooterrentalsrilanka.com, 1 scooters.co.uk, 1 scootersbonaire.com, 1 scooterservis.com, 1 @@ -130915,6 +131235,7 @@ scorch.me, 1 scorchers.tk, 1 scorebet24.com, 1 +scorecidades.com.br, 1 scoresabermemes.com, 1 scoreup.pl, 1 scorifya.com, 1 @@ -130965,7 +131286,6 @@ scottsboropdal.gov, 1 scottsdalegunclub.com, 1 scottseditaacting.com, 1 -scottshorter.com.au, 1 scottspainting.com, 1 scottsvalley.gov, 1 scottsvilleva.gov, 1 @@ -130977,6 +131297,7 @@ scout-korting.tk, 1 scoutbee.io, 0 scoutcopilot.com, 1 +scoutender.com, 1 scouteridano.tk, 1 scouting-kontiki.nl, 1 scouting-urmond.nl, 1 @@ -130993,13 +131314,13 @@ scoutsanbartolome.tk, 1 scoutsanpieropatti.tk, 1 scoutsdeldesierto.tk, 1 -scp-rustenholz-trens.notaires.fr, 1 scpe.eu.org, 1 scpocahontas.nl, 1 scpower.sg, 1 scpsecretlab.com, 1 scpsecretlab.pl, 1 scpsecretlaboratory.com, 1 +scpsl.pl, 1 scpsl.ru, 1 scpslgame.com, 1 scpslgame.pl, 1 @@ -131012,7 +131333,6 @@ scrantonmma.com, 1 scrap.photos, 1 scrap.tf, 1 -scrapautobuyer.com, 1 scrapbookdecorations.ga, 1 scrapbot.cl, 1 scrapcarbrampton.ca, 1 @@ -131052,6 +131372,7 @@ scribbler.monster, 1 scribbler.tk, 1 scribd.com, 1 +scribemutual.com, 1 scripo-bay.com, 1 scrippsnews.com, 1 script-sign.com, 1 @@ -131101,9 +131422,9 @@ scubadiving.news, 1 scubahirefiji.com, 1 scubaland.hu, 1 -scubly.com, 1 scul.net, 1 scullionandco.com, 1 +sculptclub.nl, 1 sculpteo.com, 1 sculptor.com, 1 sculpturesworldwide.tk, 1 @@ -131137,7 +131458,6 @@ sdaconsole.io, 1 sdadashboard.io, 1 sdaniel55.com, 1 -sdap.io, 1 sdarcc.gov, 1 sdarot.tw, 1 sdayman.com, 1 @@ -131169,10 +131489,10 @@ sditinsanutama.sch.id, 1 sdkco.net, 1 sdl.co.at, 1 +sdmcenter.org, 1 sdmed.com, 1 sdmetrofire.gov, 1 sdmmp.com, 1 -sdmuhammadiyah3smd.com, 1 sdn.cz, 1 sdn3wonocoyo.sch.id, 1 sdns.fr, 1 @@ -131227,6 +131547,7 @@ sealart.pl, 1 sealaw.com, 1 sealbaker.com, 1 +sealdrop.io, 1 sealifeguide.com, 1 sealink.co.nz, 1 sealofbiliteracy.org, 1 @@ -131281,7 +131602,6 @@ searchforbeer.com, 1 searchforjohn.com, 1 searchfox.org, 1 -searchgurus.ca, 1 searchmore.dk, 1 searchpartners.dk, 1 searchperfumes.ga, 1 @@ -131298,7 +131618,6 @@ searx.nu, 1 searx.org, 1 searx.space, 1 -searx.stream, 1 searxng.cf, 1 searxng.com, 1 seashkey.com, 1 @@ -131454,7 +131773,7 @@ secretbase.cf, 1 secretbusiness.tk, 1 secretdeals.ga, 1 -secretenergy.com, 1 +secretenergy.com, 0 secretimports.com.br, 1 secretmap.ml, 1 secretmolodosti.ga, 1 @@ -131497,8 +131816,8 @@ sectv.com, 1 secudoc.nl, 1 secularweb.org, 1 +seculia.co.jp, 1 seculynx.com, 1 -secumailer.nl, 0 secundity.com, 1 secundity.nl, 1 secunm.org, 1 @@ -131523,6 +131842,7 @@ securebuildingaccess.com, 1 securecheck360.com, 1 securecloud.nz, 1 +secureconnect.global, 1 securecrypto.ai, 1 secured-login.net, 1 secured.vote, 1 @@ -131562,7 +131882,6 @@ securewarp.com, 1 securewebcomputing.com, 1 secureyourerp.nl, 1 -securi-tay.co.uk, 1 securify.nl, 1 securimail.ch, 1 securis360.com, 1 @@ -131610,6 +131929,7 @@ securitytalent.nl, 1 securitytalk.pl, 1 securitytestfan.gov, 1 +securitytrackr.com, 1 securitytrails.com, 1 securityvulns.com, 1 securityvulns.ru, 1 @@ -131681,6 +132001,7 @@ seejay.me, 1 seekicon.com, 1 seekingalpha.com, 1 +seekitfirst.com, 1 seeks.ru, 1 seeksupply.ga, 1 seelengloeckchen.de, 1 @@ -131716,7 +132037,6 @@ sef.co.za, 1 sefan.ru, 1 sefaratvisa.com, 1 -sefareshpardeh.com, 0 seferleri.net, 1 sefinek.net, 1 sefirot.jp, 1 @@ -131748,6 +132068,7 @@ segurdatacr.com, 1 segurico.cz, 1 seguridadconsumidor.gov, 1 +seguridadoncor.com, 1 seguridadsistem.tech, 1 seguridadsistemtienda.tech, 1 seguro360.pt, 1 @@ -131825,14 +132146,12 @@ sekifusha.com, 1 sekisonn.com, 1 sekkom.com, 1 -sekoia.io, 1 sekoya.org, 1 sekreti-biznesa.cf, 1 seks-znakomstva.tk, 1 sekshikayeler.tk, 1 sektor-news.tk, 1 sektor.ro, 1 -sektorgaza.su, 1 sekundadosetki.pl, 1 sekurak.pl, 1 sekuremerchants.com, 1 @@ -131937,12 +132256,12 @@ sellorbuy.uk, 1 sellorbuy.us, 1 sellphotos.tk, 1 +sellpoint.ar, 1 sellsmartwatches.tk, 1 selltobpp.com, 1 selltoec.com, 1 selltogaprime.com, 1 selltothousandhills.com, 1 -selltous.com.au, 1 sellusdtindubai.com, 1 sellwithsquare.com, 1 selma.com, 1 @@ -131966,12 +132285,10 @@ selwyn.cc, 1 sema4.ai, 1 semacode.com, 1 -semaf.at, 1 semaflex.it, 1 semagna.gratis, 1 semaine-cevenole.fr, 1 semalogic.com, 1 -semalt.net, 1 semanarioaqui.tk, 1 semantic-systems.com, 1 semantics.ga, 1 @@ -132068,6 +132385,7 @@ sendaiouji.com, 1 sendaone.com, 1 sendbird.com, 1 +sendbriefs.com, 1 sendcredit.com, 1 sendengo.com, 1 sender.net, 1 @@ -132116,11 +132434,12 @@ seniormanager.cz, 1 seniornavigator.org, 1 seniorpremium.pl, 1 -seniorsupportservicesohio.com, 1 +seniorserenite.be, 1 seniortailwaggers.com, 1 senioxtreme.it, 1 senitix.com, 1 senkals.one, 1 +senly.ai, 1 senmoni-online.jp, 1 senneeeraerts.be, 1 sennik.tk, 1 @@ -132153,6 +132472,8 @@ sensiblelanecounty.tk, 1 sensiblepcsupport.co.uk, 1 sensical.net, 0 +sensoblock.com, 1 +sensoboost.com, 1 sensofar.com, 0 sensoft-int.com, 1 sensoft-int.net, 1 @@ -132203,7 +132524,6 @@ senvion.in, 1 senzaparole.de, 1 senzei.tk, 1 -senzoripresiune.com, 1 seo-analyse.com, 1 seo-blog12.tk, 1 seo-dr-it.com, 1 @@ -132227,7 +132547,6 @@ seo-stuttgart.com, 1 seo-url.tk, 1 seo.ai, 1 -seo.consulting, 1 seo.london, 1 seo.pe, 0 seo.services, 1 @@ -132255,6 +132574,7 @@ seodrug.tk, 1 seoefectivo.com, 1 seoetico.com, 1 +seofetcher.com, 1 seoforyou.nl, 1 seogeek.nl, 1 seoghoer.dk, 1 @@ -132263,7 +132583,6 @@ seohost.pl, 1 seohouston.com, 1 seoified.com, 1 -seoinc.com, 1 seojaguar.tk, 1 seokatka.tk, 1 seolabuitest.azurewebsites.net, 1 @@ -132276,6 +132595,7 @@ seolord.cf, 1 seomag.tk, 1 seomap.ir, 1 +seomaster.live, 1 seomaton.com, 1 seomaton.org, 1 seomaxion.com, 1 @@ -132300,7 +132620,6 @@ seos.ga, 1 seoscan.ga, 1 seoschmiede.at, 1 -seoscribe.net, 1 seosearch.org, 1 seosecret.id, 1 seoserfing.tk, 1 @@ -132345,7 +132664,6 @@ separate.ly, 1 sepenggal.info, 1 sepio.systems, 1 -sepiocyber.com, 1 seplatenergy.com, 1 sepmgroupec.com, 1 seprobot.cc, 0 @@ -132371,18 +132689,20 @@ sequachee.com, 1 sequatchiecounty-tn.gov, 1 sequatchiecountytn.gov, 1 -sequenceconsulting.com, 1 sequencediagram.org, 1 sequencing.com, 1 sequentialtech.com, 1 +sequentra.net, 1 sequentraqa.com, 1 sequitur.tech, 1 +sequre.ch, 1 ser-it.pl, 1 sera.jp, 1 serafimtech.io, 1 serail.biz.id, 1 seraimu.me, 1 seraku.co.jp, 1 +serambitiffin.my, 1 seraph.tokyo, 1 serasa.com.br, 1 serasaexperian.com.br, 1 @@ -132461,11 +132781,13 @@ seriesdatv.pt, 1 seriesfeed.com, 0 seriesgratis.tk, 1 +serieslove.com, 1 serifize.com, 1 serifosguide.dk, 1 serifu.org, 1 seriouss.am, 1 serioussam.ml, 1 +seritisolutions.co.za, 1 serizon.net, 1 serkanyarbas.com.tr, 1 serkozh.me, 1 @@ -132481,6 +132803,7 @@ serpentsway.com, 1 serpes.nz, 1 serphost.ml, 1 +serponado.org, 1 serptoolsuite.com, 1 serpuhof.ru, 0 serradiesel.com.br, 1 @@ -132497,7 +132820,6 @@ sertaobom.eco.br, 1 sertaovivo.tk, 1 sertasimmons.com, 1 -sertec.com.mx, 1 sertim.tk, 1 serval-concept.com, 1 serval-formation.com, 1 @@ -132544,7 +132866,7 @@ serverdragon.site, 1 serveretail.com, 1 serverhost.no, 1 -serverhuis.nl, 0 +serverhuis.nl, 1 serverhunter.com, 1 serverion.ga, 1 serverka.tk, 1 @@ -132554,9 +132876,9 @@ serverlog.net, 1 serverlounge.eu, 1 serverninja.tk, 1 -serveroffline.net, 1 serverpedia.de, 1 -serverscan.com, 0 +serverscan.com, 1 +serversiding.xyz, 1 serversify.host, 1 serversify.net, 0 serverstatus.tk, 1 @@ -132602,6 +132924,7 @@ servicemanagerpro.com, 1 servicemasterbyzaba.com, 1 servicemembers.gov, 1 +servicenmore.com, 1 servicenow.com, 1 servicepclaptop.com, 1 servicepuntsportenbewegen.nl, 1 @@ -132622,6 +132945,7 @@ serviciomigraciones.cl, 1 serviciosdeti.gq, 1 serviciosfncs.com, 1 +serviciosfreelance.net, 1 servicioskoinonia.org, 1 serviciosprevisionfuneraria.com, 1 serviciotecnicoencomputacion.com.ve, 0 @@ -132711,7 +133035,6 @@ setabun.or.jp, 1 seteampty.net, 1 setenforce.one, 1 -setesat.com.br, 1 setevik.tk, 1 setform.surf, 1 setgmt.com, 1 @@ -132735,6 +133058,7 @@ setof88.com, 1 setphaserstostun.org, 0 setpointmedical.com, 1 +setsport.es, 1 settberg.de, 1 settembre.com, 1 setterirlandes.com.br, 1 @@ -132742,6 +133066,7 @@ settle.gg, 1 settleapp.co, 1 settleinestonia.ee, 1 +settlementguru.co.in, 1 settlers2.net, 1 settlingin.ga, 1 setuid.io, 1 @@ -132780,6 +133105,7 @@ seventwentynine.com, 1 seventymania.de, 1 severac.org, 1 +severancecalc.net, 1 severarts.hu, 1 severine-trousselard.com, 1 severing.cf, 1 @@ -132796,6 +133122,7 @@ sevlaser.com, 1 sevocomm.com, 1 sevsey.ru, 1 +sewagedata.co.uk, 1 sewardcountyne.gov, 1 sewatec.com, 1 sewavillamurah.tk, 1 @@ -132901,6 +133228,7 @@ seyr.it, 1 seyr.me, 1 seyv.io, 1 +seyyidoglukuyumculuk.com, 1 sezane.com, 1 seznam-clasic.cz, 1 seznam-classic.cz, 1 @@ -132950,6 +133278,7 @@ sf-kayh.de, 1 sf-kladow.de, 1 sf3223.com, 1 +sfa.gov.sg, 1 sfaparish.org, 1 sfarc.ml, 1 sfat.llc, 1 @@ -132966,6 +133295,7 @@ sfdlsource.tk, 1 sfee.cl, 1 sfelections.gov, 1 +sfera360.es, 1 sferastudios.com, 1 sferstl.de, 1 sffaddon.com, 1 @@ -133140,6 +133470,7 @@ shahidflix.ml, 1 shahidhashmi.net, 1 shahinihariandchopsticks.com, 1 +shahisignaturebanquets.com, 1 shahpurjat.xyz, 1 shahriar.ca, 1 shahriar.email, 1 @@ -133200,11 +133531,9 @@ shanehartman.net, 1 shaneparker.tk, 1 shanerichards.tk, 1 -shanetully.com, 1 shanevandermeer.com, 1 shanewadleigh.com, 1 shanghaiair.com, 1 -shanghaimineral.com, 0 shangobud.com, 1 shangren.lu, 1 shangyu.com.tw, 1 @@ -133260,6 +133589,8 @@ sharedgoals.co, 1 sharedhealthmb.ca, 1 sharedhost.de, 0 +sharedreview.com, 1 +shareduct.com, 1 shareforcelegal.com, 1 sharefox.eu, 0 sharefunfacts.com, 1 @@ -133271,7 +133602,6 @@ sharelivelocation.com, 1 sharemania.tk, 1 sharemessage.net, 1 -sharenexus.at, 1 sharenexus.net, 1 sharenotes.tk, 1 sharenz.com, 0 @@ -133365,6 +133695,7 @@ shawnee-nsn.gov, 1 shawneeohio.gov, 1 shawngvs.com, 1 +shawnhillary.my, 1 shawnhogan.com, 1 shawnleetttt.cyou, 0 shawnow.com, 1 @@ -133406,10 +133737,10 @@ sheepfriends.com, 1 sheeprock.tk, 1 sheepsound.tk, 1 -sheerchain.com, 1 sheet.host, 1 sheetengine.net, 1 sheetflowpro.com, 1 +sheetmetalworkers397.com, 1 sheezy.art, 1 sheezy.blog, 1 sheezy.games, 1 @@ -133427,6 +133758,7 @@ sheilasdrivingschool.com, 1 sheilasign.ch, 1 shek.zone, 1 +shelashedu.com, 1 shelburnepdvt.org, 1 shelbycounty-il.gov, 1 sheldon.sk, 1 @@ -133480,6 +133812,7 @@ shengrenyu.com, 1 shengxinfu.com, 1 shengyi.art, 1 +shenmaysw.com, 1 shentengtu.idv.tw, 1 sheo-tech.fr, 1 shepherdsfriendly.co.uk, 1 @@ -133514,17 +133847,19 @@ shertogenbosch-ontwikkelen.nl, 1 shertogenboschcentraal.nl, 1 shertogenboschinontwikkeling.nl, 1 +shertogenboschopdekaart.nl, 1 shertogenboschtimemachine.nl, 1 sherules.com, 1 shervinbeauty.com, 1 shervinsafineh.com, 1 shesherownceo.com, 1 -shespeakssport.co.za, 0 +shespeakssport.co.za, 1 shethbox.com, 1 shevans.com, 1 shevet-achim.tk, 1 sheweek.ml, 1 shewillcheat.com, 1 +sheybeauty.studio, 1 shft.cl, 1 shgf.de, 1 shgt.jp, 1 @@ -133551,6 +133886,7 @@ shielder.it, 1 shieldnet.tk, 1 shieldnsheath.com, 1 +shieldome.com, 1 shields.house, 1 shieldsair.com, 1 shieldshed.com, 1 @@ -133562,14 +133898,15 @@ shift-record.com, 1 shift-to.co.jp, 1 shiftbucket.com, 1 +shiftcore.com.au, 1 shiftcrypto.ch, 1 shiftcrypto.shop, 1 shiftcrypto.support, 1 shiftdelete.net, 1 shiftdevices.com, 1 shifters.ch, 1 -shifthappens.to, 1 shifti.ng, 1 +shiftia.fr, 1 shiftj.is, 1 shiftkey.com, 1 shiftkey.pl, 1 @@ -133609,7 +133946,6 @@ shinbukan-katorishintoryu.org, 1 shindocuba.tk, 1 shine.studio, 0 -shineads.in, 1 shineiberia.tv, 1 shineindiarktutorial.ml, 1 shineleds.ga, 1 @@ -133719,7 +134055,7 @@ shivenjoshi.com, 1 shiwa-shop.ml, 1 shiwu.com, 1 -shixunet.net, 0 +shixunet.net, 1 shiyouqkl.com, 1 shiyutech.com, 1 shizoworld.de, 1 @@ -133737,6 +134073,7 @@ shkololo.gq, 1 shkololo.ml, 1 shkololo.tk, 1 +shlang-vial.ru, 1 shlang.tk, 1 shlemenkov.by, 1 shlmag.com, 1 @@ -133757,7 +134094,6 @@ shnuff.co.uk, 1 sho-furtwangen.de, 1 sho-ji.jp, 1 -shoalcreekoutfitters.com, 0 shochikubai.tk, 1 shochufes.jp, 1 shockbs.com, 1 @@ -133809,7 +134145,6 @@ shop-slivki.tk, 1 shop4d.com, 1 shop4im.com, 1 -shop4you.de, 1 shopadvies.nl, 1 shopapi.cz, 1 shopatkei.com, 1 @@ -133837,7 +134172,7 @@ shopfully.com.au, 1 shopgoodwill.com, 1 shopharborside.com, 1 -shophisway.com, 1 +shophisway.com, 0 shopholidayfoodsonline.com, 1 shophumm.com, 1 shophumm.com.au, 1 @@ -133852,6 +134187,7 @@ shopintra.net, 1 shopipersia.com, 1 shopipixel.com, 1 +shopit2me.de, 1 shopiteca.com, 1 shopjyf.com, 1 shopkeyfoodmaspeth.com, 1 @@ -133861,7 +134197,7 @@ shopliquordirect.com, 1 shoplogcap.com, 1 shoplus.com.tw, 1 -shoplyft.co.za, 1 +shoplyft.co.za, 0 shopmalinka.cf, 1 shopmaxilife.com.ph, 1 shopmontrose.com, 1 @@ -133874,7 +134210,6 @@ shopperexpertss.com, 1 shoppersdepuertorico.com, 1 shoppies.tk, 1 -shopping-cart-migration.com, 1 shopping-il.org.il, 1 shoppingabundant.ga, 1 shoppinganchor.ga, 1 @@ -134064,7 +134399,6 @@ shorshield.com, 1 short-games.gq, 1 short-term-plans.com, 1 -short.io, 1 shortaudition.com, 1 shortaudition.net, 1 shortaudition.tv, 1 @@ -134073,7 +134407,6 @@ shortbridge.design, 1 shortcircuit-online.tk, 1 shortcut-link.ga, 1 -shortcut.com, 1 shortcut.pw, 1 shortcutable.com, 1 shorted.one, 1 @@ -134088,6 +134421,7 @@ shorttandemrepeats.com, 1 shortwave.com, 1 shortwave.tk, 1 +shortyoururl.net, 1 shoruihokan.com, 1 shory.sa, 1 shoshonecityid.gov, 1 @@ -134101,6 +134435,7 @@ shotsbyferry.nl, 1 shotsleeve.com, 1 shou.si, 1 +shoubyy.com, 1 shoudanren.jp, 1 shouldbetaught.com, 1 shoulderandelbowspecialist.com.au, 1 @@ -134111,7 +134446,6 @@ shouldtest.eu, 1 shouldtest.net, 1 shouldtest.org, 1 -shouohkai-dental.com, 1 shoveltoss.com, 0 shovonhasan.com, 0 shovrimshtika.org, 1 @@ -134286,7 +134620,6 @@ siai.cf, 1 siai.gq, 1 sialis.tk, 1 -sialtv.pk, 1 siamdevsqua.re, 1 siamdevsquare.com, 1 siaminterhost.com, 1 @@ -134310,7 +134643,6 @@ siberianhealth.com, 1 siberianhuskypets.com, 1 siberiaserver.ga, 1 -siberkulupler.com, 1 sibernet.tk, 1 sibfk.org, 1 sibfl.gov, 1 @@ -134368,6 +134700,7 @@ sidemount-tauchen.com, 1 sideofburritos.com, 1 sideofburritos.social, 1 +sideplane.ai, 1 sidepodcast.com, 1 sidepodcastdaily.com, 1 sidepodcastextra.com, 1 @@ -134378,7 +134711,6 @@ sidhbalibaba.com, 1 sidi-smotri.ru, 1 sidianbank.co.ke, 1 -sidik.web.id, 1 sidingsmedia.com, 1 sidiprojects.us, 1 sidirokastro.ga, 1 @@ -134472,6 +134804,7 @@ sigilcore.com, 1 sigint.pw, 0 sigio.nl, 1 +sigix.ca, 1 sigma-apartments.com, 1 sigma-lozenets.com, 1 sigma957.net, 1 @@ -134516,12 +134849,14 @@ signaturecrs.com, 1 signaturedallas.com, 0 signatureplants.co.nz, 1 +signatureprivatetours.com, 1 signaturereport.org, 1 signaturerx.co.uk, 1 signaturesmilesstudio.com, 1 signaturestylesmm.com, 1 signaturewindowstexas.com, 1 signcreative.de, 1 +signeen.com, 1 signeen.net, 1 signere.com, 1 signetfm.com, 1 @@ -134545,7 +134880,6 @@ signrequest.com, 1 signrightsigns.co.uk, 1 signs4vehicles.co.uk, 1 -signsatelier.com, 1 signsdance.uk, 1 signsforhope.org, 1 signsny.com, 1 @@ -134568,6 +134902,8 @@ siguza.net, 1 sigvik.ru, 1 sihealth.es, 1 +sihha.ai, 1 +sihuysw.com, 1 sihy.uk, 1 siika.solutions, 1 siikaflix.tv, 1 @@ -134579,6 +134915,7 @@ sikaranbrotherhood.tk, 1 sikayetvar.com, 0 sike.org, 1 +sikesch.de, 1 sikevux.se, 1 sikhmissionarysociety.org, 1 sikkasoft.com, 1 @@ -134591,7 +134928,7 @@ silagra.ml, 1 silalesa.ml, 1 silasborowy.de, 1 -silatdefense.fr, 1 +silatdefense.fr, 0 silbercloud.com, 1 silberkiste.com, 1 silbermann.ch, 1 @@ -134599,6 +134936,7 @@ sildenafilcitrate.cf, 1 sildenafilcitrate100mg.ga, 1 sile.edu.sg, 1 +silenceisacrime.org, 1 silenci.cz, 1 silent-clean.de, 1 silent.se, 1 @@ -134615,11 +134953,10 @@ silesianus.pl, 1 silestoneusa.com, 1 silhak-automation.de, 1 -silhouette-api.com, 1 silicateillusion.org, 1 +siliconharbor.in, 1 siliconheartlandohio.gov, 1 siliconlightworks.com, 1 -siliconlowcode.com, 1 siliconvalley.center, 1 silicosis.org.au, 1 silina.tk, 1 @@ -134779,6 +135116,8 @@ simark.ca, 1 simart.cf, 1 simaspava.com.tr, 1 +simba2121.com, 1 +simbafund.com, 1 simbiat.eu, 1 simbiat.net, 1 simbiat.org, 1 @@ -134792,10 +135131,7 @@ simcongroup.ir, 1 simdex.org, 1 simdip.com.tr, 1 -sime.am, 1 -simeam-frank.de, 1 simeam.cloud, 1 -simeam.de, 1 simelek.com, 1 simen.co, 1 simenak.com, 1 @@ -134818,6 +135154,7 @@ simkin.tk, 1 simkova-reality.cz, 1 simlog.tk, 1 +simmaxi.io, 1 simmonsbedstore.com, 1 simmonsvoice.com, 1 simmtech.cloud, 1 @@ -134835,6 +135172,7 @@ simonbondo.dk, 1 simoncommunity.org.uk, 0 simoncotsworth.com, 1 +simone-deyzel.com, 1 simone.pl, 1 simone.sh, 1 simoneicolaro.online, 1 @@ -134843,7 +135181,6 @@ simonewebdesign.it, 1 simonfischer.info, 1 simonhirscher.de, 1 -simonhogben.com, 0 simonita.cz, 1 simonkjellberg.com, 1 simonmaddox.com, 1 @@ -134873,7 +135210,7 @@ simpelkoken.net, 1 simpelkoken.nl, 1 simpelkoken.org, 1 -simpelkredit.dk, 1 +simpelkredit.dk, 0 simpeo.org, 1 simphony.cz, 1 simple-perfect.tk, 1 @@ -134899,6 +135236,7 @@ simplehrtime.com, 1 simpleinout.com, 1 simpleit.services, 1 +simplekamai.com, 1 simpleline.studio, 1 simplelinux.tk, 1 simplelist.ga, 1 @@ -134942,6 +135280,7 @@ simplifiedbackoffice.com, 1 simplifiedbusinessmarketing.com, 1 simplifiedlaws.com, 1 +simplifiedmedia.net, 1 simplifixed.com, 1 simplifyem.com, 1 simplifylivelove.com, 1 @@ -134967,10 +135306,9 @@ simplydonelegal.com, 1 simplydonot.com, 1 simplydonut.com, 1 -simplydrivennapasonoma.com, 1 simplyfitapp.com, 1 simplyfitperth.com.au, 1 -simplyfixit.co.uk, 1 +simplyfixit.co.uk, 0 simplyfuture.net, 1 simplyhelen.de, 0 simplyjet.tk, 1 @@ -135092,9 +135430,6 @@ sinfully.tk, 1 singaporeccc.org.sg, 1 singaporeconventionweek.sg, 1 -singaporecriminaldefencelawyer.com, 1 -singaporedivorcelawyer.com, 1 -singaporefamilylawyer.com, 1 singaporepsa.com, 1 singaporetoptentravel.com, 1 singaporewebdesign.tk, 1 @@ -135116,6 +135451,7 @@ singlenine.gq, 1 singles-aus-hamburg.de, 1 singles-berlin.de, 1 +singleton.solutions, 1 singleuse.link, 1 singluten.tk, 1 singolf.com, 1 @@ -135128,6 +135464,7 @@ sinibaldi.me, 1 sinistragiovanile.tk, 1 sinkaray.com, 1 +sinkaryatirim.com.tr, 1 sinkholerepairsflorida.com, 1 sinkip.com, 1 sinklaw.com, 1 @@ -135140,11 +135477,9 @@ sinnvoll-online.de, 1 sinnvoll-online.info, 1 sino.com, 1 -sinobrake.com, 1 sinobrake.org, 1 -sinobrake.ru, 1 sinoexpo.com, 1 -sinog.si, 1 +sinog.si, 0 sinoiptv.com, 0 sinok.tk, 1 sinomerch.com, 1 @@ -135175,6 +135510,7 @@ sinterama.biz, 1 sinterklaas-spelletjes.nl, 1 sinterklaasnet.tk, 1 +sintofy.com, 1 sintsationeel.nl, 1 sinuate.gq, 1 sinuel.ai, 1 @@ -135209,7 +135545,6 @@ sipyuru.com, 1 sipyuru.lk, 1 siqi.wang, 1 -sir-hack-a-lot.nl, 1 sir.social, 1 sirakov.tk, 1 siralyvisegrad.hu, 1 @@ -135235,7 +135570,6 @@ sirg.fr, 1 siri.cc, 1 siria.tk, 1 -siris.nl, 1 sirius-se.hu, 1 sirius.su, 1 siriuspro.pl, 1 @@ -135248,6 +135582,7 @@ sirovatka.tk, 1 sirplus.com.ar, 1 sirpsycho.tk, 1 +sirram.cloud, 1 sirram.de, 1 sirupybartonik.cz, 1 sirvio.eu, 1 @@ -135271,7 +135606,7 @@ sirzech.my.id, 1 sis.gov.uk, 1 sisadmin21.tk, 1 -sisap.com, 0 +sisap.com, 1 sisat.com.au, 1 siscompbolivia.tk, 1 sisconmed.com.br, 1 @@ -135357,7 +135692,6 @@ sitelinks.ga, 1 sitelinks.ml, 1 sitelint.com, 1 -sitemai.eu, 1 sitemap.solutions, 1 sitemaxiphilippe.ch, 1 sitemydesk.fr, 1 @@ -135365,6 +135699,7 @@ sitepex.com, 1 siteplug.com, 1 sitepokupok.ru, 1 +sitepravo.ru, 1 siteprobe.live, 1 siterank.cf, 1 siterank.gq, 1 @@ -135376,7 +135711,9 @@ sites2rencontre.fr, 1 sitesara.com, 1 sitesdesign.tk, 1 +siteserver.nl, 1 sitesforward.com, 1 +sitesimple.io, 1 sitestudio.tk, 1 sitesweb.gq, 1 sitetalk.tk, 1 @@ -135417,6 +135754,7 @@ siwa.cf, 1 siwiki.rs, 1 siwyd.com, 1 +six-ai.de, 1 six.ee, 1 sixam.co.jp, 1 sixcolors.lu, 1 @@ -135465,7 +135803,7 @@ sjid.co.uk, 1 sjleisure.co.uk, 1 sjlrc.com, 1 -sjm-hamburg.de, 1 +sjm-hamburg.de, 0 sjoelen.tk, 1 sjoelsport.nl, 1 sjok.pl, 1 @@ -135483,15 +135821,14 @@ sjrcommercialfinance.co.uk, 1 sjs.org.hk, 1 sjtpo.org, 1 +sjudicael.top, 1 sjuhawknews.com, 1 sjukom.net, 1 sjwheel.net, 1 -sk-ii.com, 1 sk.tl, 1 sk4y.net, 1 skaala.com, 1 skaalen.com, 1 -skaapkraalonline.co.za, 1 skabour.co.uk, 1 skachat-programmylini.ga, 1 skachat-shablon-rezyume-na-angliyskom-yazyk.tk, 1 @@ -135525,6 +135862,7 @@ skatesins.ch, 1 skatesliide.tk, 1 skateswagger.com, 1 +skating-coach.com, 1 skatingchina.com, 1 skatteankestyrelsen.dk, 1 skattebo.media, 1 @@ -135578,7 +135916,6 @@ skhron.com.ua, 1 skhron.eu, 1 skhron.org, 1 -ski-planet.com, 1 skialpyjakvino.cz, 1 skiaustria.at, 1 skibbereencomhaltas.tk, 1 @@ -135622,6 +135959,7 @@ skillogic.com, 1 skillonnet.com, 1 skillotour.in, 1 +skillpro.my, 1 skills2serve.org, 0 skillsboffin.com, 1 skillsenhancementtexas.gov, 1 @@ -135650,7 +135988,6 @@ skinfoodpeachcotton.tk, 1 sking.io, 1 skinlogic.org, 1 -skinlords.com, 1 skinmarket.co, 1 skinmingle.com, 1 skinmodo.com, 1 @@ -135710,6 +136047,7 @@ sklo24.com.ua, 1 skloposud.com, 1 sklotechnik.cz, 1 +sklypas.com, 1 skm.dk, 1 skmedia.ga, 1 skmsport.com, 1 @@ -135732,6 +136070,7 @@ skolfederation.se, 1 skolid.se, 1 skolkavazka.cz, 1 +skolkollen.com, 1 skolni-system.eu, 1 skolnieks.lv, 1 skolniweby.cz, 0 @@ -135749,7 +136088,6 @@ skoropolnolunie.gq, 1 skorovsud.ru, 1 skorpil.cz, 1 -skorstensfolket.se, 1 skorzew.ski, 1 skoskav.org, 1 skotobaza.tk, 1 @@ -135892,7 +136230,6 @@ skyltmax.se, 1 skymail.de, 1 skymass.xyz, 1 -skyminds.net, 1 skymkmk.com, 1 skymonk.tk, 1 skynamo.com, 0 @@ -136011,15 +136348,16 @@ slapcommunications.com, 1 slapen17.nl, 1 slaps.be, 1 +slash.lu, 1 slash64.co.uk, 1 slash64.uk, 1 slashbits.no, 1 slashcam.de, 1 -slashdigit.com, 1 slashnroses.com, 1 slashnroses.nl, 1 slashorg.net, 1 slashrepeat.com, 1 +slashsynthex.com, 1 slaskieradio.pl, 1 slate.fr, 1 slate.to, 1 @@ -136046,6 +136384,7 @@ slavnineznami.cz, 1 slavyansk-news.ru, 1 slaws.io, 1 +slay.tools, 1 slayden.com, 0 slayersonline.net, 1 slbbiromaru.sch.id, 1 @@ -136078,10 +136417,10 @@ sleepo.ga, 1 sleeps.jp, 0 sleepsaround.ga, 1 -sleepshop.be, 1 sleepstar.co.uk, 1 sleepstar.fr, 1 sleeptrain.com, 1 +sleepyedge.com, 1 sleepyhollowcc.org, 1 sleepys.com, 1 sleepys.net, 1 @@ -136107,7 +136446,6 @@ slgcdn.com, 1 slhn.org, 1 sli.do, 1 -slice.global, 1 slicedpies.com, 1 sliceone.com, 1 slicticka.cz, 1 @@ -136115,7 +136453,6 @@ slidebatch.com, 1 slidefiftyfamily.tk, 1 slidefy.com.br, 1 -slidemembers.com, 1 slideproducts.com, 1 slides.zone, 1 slideshare.net, 1 @@ -136184,6 +136521,7 @@ slodkiflirt.pl, 1 sloeproeienalmere.nl, 0 sloepverhuur-roggebroek.nl, 1 +slofluffcon.org, 1 slogan.tk, 1 slogancreator.com.au, 1 slogiker.si, 1 @@ -136335,6 +136673,7 @@ smaltimentorifiuti.roma.it, 1 smaltimentorifiuti.veneto.it, 1 smaltimentorifiuti.verona.it, 1 +smaltireamianto.it, 1 smaltirecalcinacci.roma.it, 1 smaltireraee.it, 1 sman2solok.sch.id, 1 @@ -136351,7 +136690,6 @@ smarpshare.com, 1 smarriti.it, 1 smart-bezpeka.com, 1 -smart-broker.ru, 1 smart-caq.com, 1 smart-dianza.ga, 1 smart-house.bg, 1 @@ -136368,6 +136706,7 @@ smart-vilp.com, 1 smart-wind.ru, 1 smart-zona.tk, 1 +smart11.ai, 1 smartacademy.ge, 1 smartagilesolution.com, 1 smartandcom.ch, 1 @@ -136404,7 +136743,6 @@ smartdigital.ga, 1 smarteco.tk, 1 smartenspaces.com, 1 -smarters-protv.com, 1 smarterskies.gov, 1 smartersoft-integra.com, 1 smartersoft.io, 1 @@ -136432,27 +136770,25 @@ smarthis.com, 1 smarthomegeldermalsen.nl, 1 smarthrms.com, 1 -smarthus-elektro.no, 1 smartick.com.do, 1 smartiflix.com, 1 smartius.it, 1 smartjoin.style, 1 smartland.com, 1 smartlandapartments.com, 1 -smartlandconstruction.com, 1 -smartlandenergy.com, 1 +smartlandenergy.com, 0 smartleads.tk, 1 smartliferd.ml, 1 smartlinecomputers.nl, 1 smartlink.sk, 1 smartlist.ga, 0 -smartloanhacks.com, 1 smartlogiq.com, 1 smartlogiq.info, 1 smartlogreturns.com, 1 smartlogstock.com, 1 smartlogtower.com, 1 smartlooks.es, 1 +smartmail.io, 1 smartmail24.de, 1 smartme.pl, 1 smartmeal.ru, 1 @@ -136467,6 +136803,7 @@ smartnews-smri.com, 1 smartnoob.de, 1 smartnotify.ca, 1 +smartok.no, 1 smartology.net, 1 smartoneclub.com, 1 smartools.pro, 1 @@ -136487,7 +136824,6 @@ smartproductguide.com, 1 smartpti.net, 1 smartrak.co.nz, 1 -smartrak.com, 1 smartrecruiters.com, 1 smartreportviewer.com, 1 smartrequest.com, 1 @@ -136495,6 +136831,7 @@ smartroboticwelding.com, 1 smartroutes.ie, 1 smartroutes.io, 1 +smartsecures.com, 1 smartservices.nl, 0 smartshiftme.com, 1 smartshoppers.es, 1 @@ -136508,7 +136845,6 @@ smartstvari.si, 1 smartsupply.global, 1 smartthursday.hu, 1 -smarttins.com, 0 smarturbanproperties.com.au, 1 smartvalor.com, 1 smartview.cloud, 1 @@ -136537,6 +136873,7 @@ smashingmagazine.com, 1 smashnl.tk, 1 smashrecyclers.ca, 0 +smashteam.org, 1 smatzone.in, 1 smavesto.de, 0 smb-analytics.pw, 1 @@ -136548,7 +136885,7 @@ smbcmanubank.com, 1 smbi-gelblasterhq.com.au, 1 smcacre.gov, 1 -smcconsulting.be, 1 +smcconsulting.be, 0 smcj.xyz, 1 smcpneumatics.com, 1 smcvote.gov, 1 @@ -136589,12 +136926,10 @@ smiilliin.com, 1 smiilliin.site, 1 smikom.ru, 1 -smile-peace4.com, 1 smile-shika-fujii.com, 1 smileback.co.uk, 1 smilebert.at, 1 smilecenterturkey.com, 1 -smilecliniq.com, 0 smilecon.cf, 1 smiledirectsales.com, 1 smiledoctors.com, 1 @@ -136607,7 +136942,6 @@ smileykylie.com, 0 smileys-emojis.com, 1 smileytechguy.com, 1 -smilingcfo.co.uk, 1 smilingdogyoga.com, 1 smilingmiao.com, 1 smilolink.com, 1 @@ -136634,7 +136968,6 @@ smithf.red, 1 smithikakart.in, 1 smithmont.com, 1 -smithmountainlake.com, 1 smithsonian.gov, 1 smithsstational-fpd.gov, 1 smithsstational.gov, 1 @@ -136657,7 +136990,6 @@ smmarab.com, 1 smmcab.ru, 1 smmedia.cz, 1 -smmedya.com, 1 smmgods.net, 1 smmlaba.io, 1 smmog.tk, 1 @@ -136690,7 +137022,6 @@ smokingtapes.ga, 1 smokybay.is, 1 smokymountaingames.org, 1 -smokyshores.radio, 0 smol.cool, 1 smolbotbot.com, 1 smolensk-i.ru, 1 @@ -136738,12 +137069,14 @@ smsalvand.tk, 1 smsappointment.com, 0 smsben.com, 0 +smsenlinea.com, 1 smsg-dev.ch, 0 smshub.com, 1 smsinger.com, 1 smsk.email, 1 smskeywords.co.uk, 0 smskmail.com, 1 +smslaserfab.com, 1 smsnic.com, 0 smssalesforce.online, 1 smstec.ru, 1 @@ -136765,6 +137098,7 @@ smucraiova.ro, 1 smudailycampus.com, 1 smudge.ai, 1 +smuncensored.com, 1 smurffi.net, 1 smurl.tk, 1 smutfactor.com, 1 @@ -136776,16 +137110,16 @@ smys.uk, 1 smzero.com.br, 1 sn0int.com, 1 -sn3.io, 1 snab-land.ru, 1 snab-ural.ga, 1 -snabbacash.no, 1 snaboitiz.com, 1 snacdata.com, 1 snack-online.com, 1 snackbartaapje.com, 1 snackbesteld.nl, 1 snackbyincome.sg, 1 +snackchezjoe.com, 1 +snackchezlito.com, 1 snackly.online, 1 snackmindful.com, 1 snacktakos.gr, 1 @@ -136809,6 +137143,7 @@ snapbuy.shop, 1 snapbuzz.tk, 1 snapewife.com, 1 +snapfairs.com, 1 snapfinance.com, 1 snapintegrations.net, 1 snapkit.com, 1 @@ -136823,7 +137158,6 @@ snarf.in, 1 snatch-note.tk, 1 snatertlc.it, 1 -snatti.com, 1 snazel.ae, 1 snazel.co.il, 1 snazel.co.uk, 1 @@ -136841,6 +137175,7 @@ snea-kers.tk, 1 sneak.berlin, 1 sneakercrib.co.za, 1 +sneakergangusa.com, 1 sneakers-sports.tk, 1 sneakers88.it, 1 sneakersmexs.com, 1 @@ -136859,7 +137194,6 @@ snel.com, 1 snelbv.nl, 0 snellius.tk, 1 -snelshops.nl, 1 snelwebshop.nl, 0 snelwegzen.nl, 1 snem.tk, 1 @@ -136903,6 +137237,7 @@ snlianshang.com, 1 snnwes.de, 1 sno-tek.net, 1 +snookalook.com, 1 snooker.tk, 1 snoonet.org, 1 snoot.club, 1 @@ -137002,7 +137337,6 @@ sobadecor.rs, 1 sobakasite.tk, 1 sobaki.tk, 1 -sobakoh-nyc.com, 1 sobaudon.f5.si, 1 sobchak.ga, 1 sobieray.dyndns.org, 1 @@ -137029,11 +137363,11 @@ soci.ml, 1 sociability.dk, 0 social-class.ga, 1 +social-dash.com, 1 social-directory-list.tk, 1 social-engineering.tk, 1 social-line.tk, 1 social-media-strategy.org.uk, 1 -social-net.ir, 1 social-network.tk, 1 social-work-colleges.com, 1 social-work.tk, 1 @@ -137087,9 +137421,9 @@ socialresponsibility.nl, 1 socials.gq, 1 socialsecurity.gov, 0 +socialskillscenter.com, 1 socialstandards.com, 1 socialstrata.com, 1 -socialstyrelsen.gl, 1 socialsurvivalist.net, 1 socialtactics.cf, 1 socialtactics.ga, 1 @@ -137115,6 +137449,7 @@ societe-chablaisienne-de-revetements.com, 1 societe-chablaisienne-de-revetements.fr, 1 societe-france-irlande.com, 1 +societeccc.fr, 1 societedescompagnons.fr, 1 societyofbur-q-ua.tk, 1 societyparty.ga, 1 @@ -137163,6 +137498,7 @@ soderparr.com, 1 sodexam.pro, 1 sodi.nl, 1 +sodiprave.com, 1 sodirace.com, 0 sodo.top, 1 sodo969.org, 1 @@ -137191,6 +137527,7 @@ sofaware.eu, 1 sofcloud.org, 1 sofdwi.gov, 1 +sofee.ai, 1 soff.se, 1 soffit.com, 1 sofiadigital.com, 1 @@ -137212,6 +137549,7 @@ soft-resets.com, 1 soft-search-system.tk, 1 soft.taipei, 1 +soft.xyz, 1 soft41.ru, 1 softambulance.com, 1 softandbouncy.co.uk, 1 @@ -137339,7 +137677,6 @@ sol-negro.tk, 1 sol.de, 1 sol24.net, 1 -sol4.ch, 1 sola.re, 1 sola.security, 1 solaland.co.uk, 1 @@ -137352,6 +137689,7 @@ solanocounty.gov, 1 solanowonen.nl, 1 solar-projects.eu, 1 +solar-x.ca, 1 solarace.tk, 1 solaradventures.icu, 1 solarafrica.com, 1 @@ -137360,6 +137698,7 @@ solarandenergyspecialists.com, 1 solarbattery.ga, 1 solarbyluminous.com, 1 +solarchief.com.au, 1 solarcia.com.br, 0 solareagricola.it, 1 solaredition.com, 1 @@ -137370,7 +137709,7 @@ solarhome.tk, 1 solariilacheie.ro, 1 solarisbank.de, 1 -solarisgroup.com, 0 +solarisgroup.com, 1 solarity.coop, 1 solarium.gov, 1 solarium.milano.it, 1 @@ -137387,6 +137726,7 @@ solartek.cf, 1 solartek.ga, 1 solartek.gq, 1 +solarthermalworld.com, 1 solartrackerapp.com, 1 solartravel.tk, 1 solarwave.tk, 1 @@ -137414,6 +137754,7 @@ soleil33.net, 1 solemare-hotel.it, 1 solencell.com.tr, 1 +soleno-energie.com, 1 solentbubblesandbounce.co.uk, 1 soleur.ai, 1 solfegiator.ch, 0 @@ -137440,7 +137781,6 @@ solidpurenonsense.tk, 1 solidray.co.jp, 1 solidshield.com, 1 -solidsite.co.uk, 1 solidsteel.tk, 1 solidtes.com, 1 solidtuesday.com, 1 @@ -137492,6 +137832,7 @@ solomonsklash.io, 1 soloparati.cf, 1 soloprivacidad.com, 1 +soloproaudio.com, 1 soloproductos.top, 1 soloroboto.com, 0 solosesso.tk, 1 @@ -137510,9 +137851,9 @@ solucion.gq, 1 solucionesmarva.com, 1 solucionesmk.online, 1 -solucionesremotas.cl, 1 solucionet.com, 1 solucionupsperu.com, 1 +solucoesdesenvolvimento.com.br, 1 solumgb.co.uk, 1 solunet.com.ar, 1 solut.ai, 1 @@ -137543,18 +137884,19 @@ solvegia.com, 1 solveigbrown.com, 1 solviejo.tk, 1 -solvin.com, 1 solviq.com, 1 solware.co.uk, 1 solwaveovens.com, 1 solweb.co.uk, 1 solworks.eu, 1 solxsys.com, 0 +soma-opt.com.br, 1 somaar.tk, 1 somaini.li, 1 somaliaonline.com, 1 somalilandtalk.tk, 1 somautomotivobr.com.br, 1 +somavida.me, 1 someapi.de, 1 somedial.ch, 1 somedomain.tk, 1 @@ -137594,7 +137936,6 @@ sommerrodelbahn-gutach.de, 1 somnam.tk, 1 somni.one, 1 -somnoterapia.com, 1 somnus.com, 1 somogyivar.hu, 1 somosanna.hu, 1 @@ -137607,7 +137948,6 @@ somostumarketing.com, 1 somosweb.cf, 1 somovie.com, 1 -sompo-intl.com, 1 sompo.com.br, 1 somsak.de, 1 somspiritualcenterla.org, 1 @@ -137635,7 +137975,7 @@ sonarhmx01.serveftp.org, 1 sonarhmx02.serveftp.org, 1 sonarops.it, 1 -sonarsource.com, 1 +sonarsource.com, 0 sonavankova.cz, 1 sonaza.com, 1 sonaza.fi, 1 @@ -137676,6 +138016,7 @@ sonicdx.com.au, 1 soniclink.tk, 1 sonicsaas.com, 1 +sonicsempire.com, 1 sonicshop.tk, 1 sonicwanderer.tk, 1 sonicworld.tk, 1 @@ -137692,6 +138033,7 @@ sonkamusic.tk, 1 sonlapc.vn, 1 sonmark.ru, 1 +sonneimgepaeck.at, 1 sonnendeal.ml, 1 sonnendeal.tk, 1 sonnenta.de, 1 @@ -137760,6 +138102,7 @@ sophos.net, 1 sophosapps.com, 1 sophoswm.com, 1 +sopht.com, 1 sopht.li, 1 sophus.com.br, 1 sopilov.tk, 1 @@ -137876,6 +138219,7 @@ sotadb.info, 1 sotaltamer.it, 1 sotar.us, 1 +sotareceipts.com, 1 soter-controller.com, 1 soterdev.com, 1 sotieg.fr, 1 @@ -137884,7 +138228,6 @@ sotnyk.ml, 1 sotoasobi.net, 1 sotocine.tk, 1 -sotoimport.com, 1 sotolar.com, 1 sotonlgbt.org.uk, 1 sotool.dk, 1 @@ -137902,7 +138245,6 @@ soufastnet.com.br, 1 souga.eu.org, 1 sougou.com, 1 -souked.com, 1 soukka-seura.fi, 1 soukodou.jp, 1 soul-of-style.com, 1 @@ -137997,7 +138339,6 @@ soupleyoga.com, 1 souqfriday.com, 1 sour.is, 1 -souravbhor.com, 1 souravbhor.gq, 1 souravbhor.ml, 1 source-clan.tk, 1 @@ -138012,6 +138353,7 @@ sourcecode.love, 1 sourcecode.tw, 1 sourcecredit.ng, 1 +sourcedkit.com, 1 sourcegraph.com, 1 sourcehut.cn, 1 sourcehut.net, 1 @@ -138024,6 +138366,7 @@ sourraundweb.tk, 1 sourse.co, 1 sous-surveillance.net, 0 +sousops.com, 1 sousvideways.com, 1 southadamswaterco.gov, 1 southambouncycastle.co.uk, 1 @@ -138046,7 +138389,7 @@ southcarolinatitlesearch.com, 1 southcarolinavideoconference.com, 1 southcarolinavideodepositions.com, 1 -southcentral.edu, 1 +southcoastcalmbirth.com.au, 1 southcoastlocksmiths.com.au, 0 southdakotahealth.tk, 1 southdakotanet.tk, 1 @@ -138084,6 +138427,7 @@ southmarengo.com, 1 southmarengoal.gov, 1 southmelbourne.apartments, 1 +southmelbournepersonaltrainers.com, 1 southmill.com, 1 southmilwaukee.gov, 1 southmorangtownhouses.com.au, 1 @@ -138093,7 +138437,6 @@ southportland.gov, 1 southportpersonaltrainers.com, 1 southridgeservices.com, 1 -southrock.com, 1 southsands.com, 1 southshoreautowash.com, 1 southside-crew.com, 1 @@ -138135,6 +138478,7 @@ sovereigngroup.com, 1 sovereignpcs.com, 0 sovereigntyacademy.net, 1 +soverin.com, 1 soverin.net, 1 sovest.ml, 1 sovetiogorodniku.info, 1 @@ -138150,6 +138494,7 @@ sovremenik.tk, 1 sovryn.com, 1 sovtech.tk, 1 +sovuna.com, 1 sovxoz.gq, 1 sowero.de, 1 sowget.com, 1 @@ -138157,7 +138502,6 @@ sowhatresearch.com.au, 1 sowlocaloh.com, 1 sowncloud.de, 1 -sowsmallgarden.com, 1 sowtarabiya.com, 1 soxfirst.com, 1 soychef.today, 1 @@ -138190,7 +138534,6 @@ sp-consulting.ch, 1 sp-magic.de, 1 sp-moebel.net, 1 -sp-ms.com, 1 sp-pn.com, 1 sp-sites.com.au, 1 sp-stm.ru, 1 @@ -138205,7 +138548,6 @@ spaccamuro.it, 1 space-art.tk, 1 space-combat.tk, 1 -space-for.business, 1 space-inc.co.jp, 1 space-it.de, 1 space-mining.cf, 1 @@ -138238,7 +138580,6 @@ spacehost.de, 1 spaceint.fr, 1 spacekeat.com, 1 -spacelabs.io, 1 spacelabshealthcare.com, 1 spacelandpark.ga, 1 spacelift.io, 1 @@ -138285,7 +138626,6 @@ spaltron.net, 1 spamasaurus.com, 1 spamdrain.com, 1 -spamedica.com.co, 1 spamhunter360.gq, 1 spammable.com, 1 spamnuke.ddns.net, 1 @@ -138317,6 +138657,7 @@ spanishfortal.gov, 1 spanishnewsarticles.tk, 1 spanishnow.tk, 1 +spankdong.com, 1 spankmonster.com, 1 spankwirepremium.com, 1 spanmass-portal.org, 1 @@ -138340,6 +138681,7 @@ spare.no, 1 spare.se, 1 sparefoot.com, 1 +sparella.de, 1 sparendirekt.at, 0 spargrancanaria.es, 1 sparkandglass.com, 1 @@ -138361,7 +138703,6 @@ sparklingice.com, 1 sparklingimageholidaylights.com, 1 sparklingloungecampiglio.it, 1 -sparkmaids.com, 1 sparknestcrafts.com, 1 sparkplug.tk, 1 sparkpluguniversity.com, 1 @@ -138439,7 +138780,6 @@ speak.software, 1 speakeasy.co, 1 speakermatch.com, 1 -speakersassociates.com, 1 speakersbusiness.com, 1 speakersden.tk, 1 speakertwpmi.gov, 1 @@ -138448,6 +138788,7 @@ speakol.com, 1 speakup.ae, 1 speakup.click, 1 +speakzoai.co.in, 1 spear.ga, 1 speargames.net, 1 spec-antikor.by, 1 @@ -138483,7 +138824,6 @@ speciesism.com, 1 specificenergy.com, 1 speciosapro.com, 1 -specitec.com, 1 speckbacher-schuetzen.at, 1 speckle.systems, 0 specks.tk, 1 @@ -138496,7 +138836,6 @@ spectodesign.com, 1 spectrafox.com, 1 spectralink.com, 1 -spectralvpn.xyz, 1 spectre-network.tk, 1 spectrocoin.com, 1 spectrosoftware.de, 1 @@ -138511,7 +138850,6 @@ speechdrop.net, 1 speechgenerator.co, 1 speechmore.ml, 1 -speechpathologymastersprograms.com, 1 speed-bonus.tk, 1 speed-strike.tk, 1 speed.tk, 1 @@ -138585,6 +138923,7 @@ spenny.tf, 1 spensix-pekalongan.tk, 1 spentra.com, 1 +speqd.com, 1 sperformance.shop, 1 sperkmoda.cz, 1 spermdonation.com, 1 @@ -138602,6 +138941,7 @@ speww.com, 1 speybooks.com, 1 speycaster.net, 1 +spezieri.com, 1 speztech.ru, 1 spf.gov.sg, 1 spheraes-amc.it, 1 @@ -138634,6 +138974,7 @@ spicydog.org, 1 spicydog.tk, 1 spicymatch.com, 1 +spicyswingers.com, 1 spicywombat.com, 1 spicyz.io, 1 spidercrabs.tk, 1 @@ -138651,6 +138992,7 @@ spidertechpromotions.com, 1 spiderworking.com, 1 spidometr.ml, 1 +spidyops.com, 1 spie-wirliebenkabel.de, 1 spiegel-deutschland.de, 1 spiegelglass-gc.com, 1 @@ -138681,6 +139023,7 @@ spillefuglen.com, 1 spillforum.no, 1 spillhost.no, 1 +spillways.org, 1 spilnoagency.com.ua, 1 spilnu.dk, 1 spiludennemid.com, 1 @@ -138708,6 +139051,7 @@ spinsamurai11.com, 1 spinsamurai15.com, 1 spinsamurai2.com, 1 +spinsamurai20.com, 1 spinsamurai30.com, 1 spinsamurai4.com, 1 spinsamurai5.com, 1 @@ -138737,7 +139081,7 @@ spiritbionic.ro, 1 spiritdesigns.tk, 1 spiritedengineers.tk, 1 -spiritindia.com, 1 +spiritindia.com, 0 spiritlakehealthcenter.com, 1 spiritous.cf, 1 spiritscorp.ddns.net, 1 @@ -138779,7 +139123,6 @@ sploitus.com, 1 splorge.cloud, 0 splorge.website, 1 -splotchify.com, 1 splytech.io, 1 spm-servis.tk, 1 spmax.design, 1 @@ -138811,6 +139154,7 @@ spookhost.xyz, 1 spookquest.com, 1 spooks.ga, 1 +spooky.hk, 1 spookyinternet.com, 1 spookysrv.com, 1 spoonkeyworks.com, 1 @@ -138943,7 +139287,6 @@ sportztalk.com, 1 spot-cleaner.tk, 1 spot-pro.jp, 1 -spotblue.com, 1 spotguard.de, 0 spotifycodes.com, 1 spotifyfreetrial.co.uk, 1 @@ -138955,6 +139298,7 @@ spotlightsphere.com, 1 spotme.fit, 1 spotmefit.com, 1 +spotnewsgetpaid.com, 1 spotonlive.dk, 1 spotonphoto.co.nz, 1 spotpetins.com, 1 @@ -139061,6 +139405,7 @@ spritmonitor.de, 1 spritsail.io, 1 sprizzy.com, 1 +sprnt.ai, 1 sprocktech.com, 1 sprogress.uz, 1 sprossen-keimlinge.de, 1 @@ -139081,6 +139426,7 @@ sprueche-zur-hochzeit.de, 1 sprueche-zur-konfirmation.de, 1 sprutech.de, 1 +sprytax.com, 1 sps-lehrgang.de, 1 spscommerce.com, 1 spseiostrava.cz, 1 @@ -139213,7 +139559,6 @@ squirtingpussygirl.com, 1 squirtqueen.org, 1 sqxb0.ga, 1 -sr-33.com, 1 sr-f.tk, 1 sr.ht, 1 sr88.co.uk, 1 @@ -139280,7 +139625,6 @@ srivarada.co.uk, 1 srix.ml, 1 srkarra.com, 1 -srkb.net, 1 srlconsult.ro, 1 srle.tk, 1 srmdn.com, 1 @@ -139296,7 +139640,6 @@ sroma.tk, 1 sron.nl, 1 srorisksolutions.tk, 1 -sros.fi, 1 sroturkey.tk, 1 srp.gov, 1 srpcleanenergy.org, 1 @@ -139317,6 +139660,7 @@ sruthisjewellery.com, 1 srv-4g-test.fr, 1 srv-home.fr, 1 +srv-sandbox.net, 1 srv.com.ru, 1 srvhome.sk, 1 srvonfire.com, 1 @@ -139340,7 +139684,6 @@ ss9297.co, 1 ss9397.com, 1 ss9728.co, 1 -ssa.co.ir, 1 ssa.gov, 0 ssaarevents.tk, 1 ssab.gov, 1 @@ -139407,7 +139750,6 @@ sslpoint.com, 1 ssls.cz, 1 sslsecureproxy.com, 1 -sslsurvey.de, 1 ssltrus.com.cn, 1 ssm-techmarketing.tk, 1 ssmato.me, 1 @@ -139420,6 +139762,8 @@ ssmrca.ca, 1 ssmwebportal.tk, 1 ssnetwork.jp, 1 +ssnj.org, 1 +sso.com.br, 1 ssprod.tk, 1 sspu.ml, 1 ssqq.com, 1 @@ -139501,7 +139845,7 @@ stadionmanager.com, 1 stadionwelt-business.de, 1 stadionwelt.de, 1 -stadlwirt.at, 1 +stadlwirt.at, 0 stadm.com, 1 stads-hertogenbosch.nl, 1 stadsarchief.nl, 1 @@ -139535,6 +139879,7 @@ stageirites.fr, 1 stageirites.org, 1 stagemaster.cz, 1 +stageready.com, 1 stagewalker.no, 1 staging-amag.com, 1 staging-amber.com, 1 @@ -139568,6 +139913,7 @@ staked.us, 1 stakedate.com, 0 stakeholders.ca, 1 +stakematrixai.com, 1 stakingjobs.com, 1 stako.jp, 1 stakotec.de, 1 @@ -139579,6 +139925,7 @@ stalevski.tk, 1 stalgeraardsbergen.tk, 1 stalin.tk, 1 +stalk.cloud, 1 stalker-eyes.ga, 1 stalker-shop.com, 1 stalker-source.tk, 1 @@ -139586,7 +139933,6 @@ stalkr.net, 1 stall-frei.de, 1 stallardjw.me, 1 -stallbesuch.de, 1 stallionsnow.com, 1 stallone.pl, 1 stalphonsusks.org, 1 @@ -139604,9 +139950,9 @@ stammering.ga, 1 stammtisch-bauwagen.tk, 1 stammtisch.domains, 1 -stamonicapawnshopinc.com, 1 stamonicatourandtravel.com, 1 stampd.io, 1 +stamped.world, 1 stampederadon.com, 1 stamperdle.com, 1 stampinggroundky.gov, 1 @@ -139635,6 +139981,7 @@ standardlifters.com, 1 standardmetrics.io, 1 standardnotes.com, 1 +standardreference.fr, 1 standards.bible, 1 standards.gov, 1 standardsexplained.com, 1 @@ -139681,7 +140028,7 @@ stanslabs.xyz, 1 stansweather.net, 1 stantabler.com, 0 -stanthony-hightstown.net, 1 +stanton-humphreys.com, 1 stantonca.gov, 1 stantoncountyne.gov, 1 stanwoodwa.gov, 1 @@ -139692,6 +140039,7 @@ star-citizen.wiki, 1 star-clean.it, 1 star-life.tk, 1 +star-one.co.uk, 1 star.watch, 1 starase.com, 0 starasocks.bg, 1 @@ -139753,12 +140101,14 @@ starkvilleurgentcareclinic.com, 1 starlight.qpon, 1 starlightcinema.co.nz, 1 +starlighterp.com, 1 starlim.co.in, 1 starlincuesta.gq, 1 starline.ru, 1 starlingdb.org, 1 starlinks.tk, 1 starlinkz.tk, 1 +starlit.gg, 1 starlux.cz, 1 starlynr.sk, 1 starman.agency, 1 @@ -139767,6 +140117,7 @@ starnoraelizabethfitzpatrick.com, 1 starnum.com.tw, 1 staroch.name, 1 +staroknih.sk, 1 starorusing.com, 0 starover.tk, 1 starpeak.org, 1 @@ -139820,7 +140171,6 @@ starti.com.ua, 1 startingblockdigital.com, 1 startingyourbusiness.com, 1 -startinnov.com, 1 startit.bot, 1 startlab.sk, 1 startlap.es, 1 @@ -139842,7 +140192,7 @@ startup-stack.tech, 1 startupbros.com, 1 startupchile.org, 1 -startuphakksecurity.com, 1 +startuphakksecurity.com, 0 startupislandtaiwan.com, 1 startupislandtaiwan.net, 1 startupmadeira.eu, 1 @@ -139862,6 +140212,7 @@ startupum.ru, 1 startw.cf, 1 startwithcompassion.com, 1 +startwithidentity.com, 1 startwithpieter.com, 1 starvizyon.com, 1 starwarschronology.com, 1 @@ -139872,6 +140223,7 @@ starworksglobal.com, 1 starx.ink, 1 staryuk.com, 1 +stash.trade, 1 stashbase.org, 1 stashcast.org, 1 stashlocal.com, 1 @@ -139928,7 +140280,6 @@ stationnement-angouleme.com, 1 stationnement-stdizier.fr, 1 stationnement-villeurbanne.fr, 1 -statisbet.com, 1 statista.com, 1 statistik-online.org, 1 statistik-seminare.de, 1 @@ -139944,6 +140295,7 @@ statsnet.co, 1 statspolicy.gov, 1 statsrun.com, 1 +stattio.io, 1 stattram.fr, 1 statueofliberty.org, 1 status.events, 1 @@ -139994,7 +140346,6 @@ stb-timmler.de, 1 stb.gov, 1 stbarnabashealthsystem.com, 1 -stbartholomewmanchester.org, 1 stbernardnk.org, 1 stbk.link, 1 stbl.org, 1 @@ -140056,7 +140407,6 @@ steamid.net, 1 steamirontested.com, 1 steamkeyget.ga, 1 -steamlevelmarket.com, 1 steamold.com, 0 steampoweredlawngnome.com, 1 steampress.io, 1 @@ -140102,11 +140452,9 @@ steering-wheel.tk, 1 steeve-legal-photographie.fr, 1 steevels.nl, 1 -stefaanoyen.be, 1 stefamedia.com, 1 stefan-bayer.eu, 1 stefan-henning.de, 1 -stefan-joachim.de, 1 stefan-karstens.de, 1 stefan-rothe.ch, 1 stefan-schlueter.de, 1 @@ -140184,6 +140532,7 @@ stellarosa-clinic.net, 1 stellarpurr.me, 1 stellartraderacademy.co.uk, 1 +stellatoshouse.gr, 1 stelleninserate.de, 0 stellenvisite.de, 1 steller.co, 1 @@ -140212,6 +140561,7 @@ stemderbomen.tk, 1 stemgirls.co.za, 1 stemklank.tk, 1 +stemkunst.nl, 1 stemlabadvanced.pt, 1 stemoplinks.nl, 1 stempelfarben.de, 1 @@ -140254,7 +140604,6 @@ stephanoptiek.nl, 1 stephen-oliver-art.co.uk, 1 stephenbakalian.com, 1 -stephencashman.com, 0 stephencorp.com, 1 stephencreilly.com, 1 stephengeorgetransfer.com, 1 @@ -140352,6 +140701,7 @@ stevebanks.info, 1 steveborba.com, 1 stevebuck.tk, 1 +stevebunn.us, 1 stevecostar.com, 1 stevedoggett.com, 1 stevegellerhomes.com, 0 @@ -140373,7 +140723,6 @@ stevengrech.com, 1 stevenjacobs.be, 1 stevenjacobs.eu, 1 -stevenkendypierre.com, 1 stevenkobes.com, 1 stevenmdriving.co.uk, 1 stevenroddis.com, 1 @@ -140397,7 +140746,6 @@ steveseaheyecentre.com, 1 steveshauntedyard.com, 1 stevetalbot.com, 1 -stevethots.com, 1 stevewillshaulage.co.uk, 1 stevezheng.cf, 1 stevezheng.tk, 1 @@ -140416,7 +140764,6 @@ stg-0-con.com, 1 stg-logistic.com, 1 stg-tideplatform.uk, 1 -stgabrielstowepa.org, 1 stgb.org, 1 stgeorgegolfing.com, 1 stgeorgehub.com, 1 @@ -140430,7 +140777,6 @@ sthelen.eu, 1 sthelensoregon.gov, 1 sthelier.je, 1 -sthenryrc.org, 1 sthetix.info, 1 sthpr.gr, 1 sthreemarketing.com, 1 @@ -140503,8 +140849,6 @@ stillwatermn.gov, 1 stillwatertownshipmn.gov, 1 stillwell.me, 1 -stillwhite.com, 1 -stillwhite.com.au, 1 stilmobil.se, 1 stilnaya-odezhda.tk, 1 stilory.com, 1 @@ -140513,7 +140857,7 @@ stiltsoft.com, 1 stimaging.com, 1 stimex.bg, 1 -stimmelpa.com, 1 +stimmelpa.com, 0 stimmgabel.lu, 1 stimpatico.com, 1 stimula.com, 1 @@ -140543,7 +140887,6 @@ stjohnin.com, 0 stjohnin.gov, 1 stjohnks.gov, 1 -stjohnpa.org, 1 stjohnsc.com, 1 stjohnskids.com, 1 stjohnsmi.gov, 1 @@ -140553,7 +140896,6 @@ stjosephdemarest.org, 1 stjosephmo.gov, 1 stjosephri.org, 1 -stjosephspringcity.com, 1 stjosephtownship.com, 1 stjscatholicchurch.org, 1 stjude-ettekkar.tk, 1 @@ -140576,7 +140918,6 @@ stlouisstabilizing.com, 1 stlpassports.com, 1 stlpoolattendants.com, 1 -stltacticals.com, 1 stlu.de, 1 stlucieclerk.gov, 1 stluciesheriff.gov, 1 @@ -140584,8 +140925,6 @@ stlueke.de, 1 stlukenh.org, 1 stlukesbrandon.org, 1 -stma.is, 1 -stmargs.us, 0 stmariagoretti.net, 1 stmarkcharlotte.org, 1 stmarkseagirt.com, 0 @@ -140623,7 +140962,6 @@ stockbrain.co.jp, 0 stockbridge-ma.gov, 1 stockbridgevt.gov, 1 -stockfree.download, 1 stockgraphicdesigns.com, 1 stockholm-ventilation.se, 1 stockholm.ga, 1 @@ -140631,8 +140969,8 @@ stockholmpride.org, 1 stockholmventilation.nu, 1 stockilluminati.com, 1 +stockintelli.com, 1 stockmarketltd.co.uk, 1 -stockmarkettoday.news, 1 stockmeta.jp, 1 stockntech.net, 1 stockpile.com, 1 @@ -140644,6 +140982,7 @@ stockslam.ga, 1 stocksnews.tk, 1 stockspy.ru, 1 +stockstraderservice.com, 1 stockstuck.com, 1 stockt-shirtdesigns.com, 1 stocktonbeach.com, 1 @@ -140673,8 +141012,10 @@ stoicatedy.ovh, 1 stoicnotaries.com, 1 stoicus.com.br, 1 +stoinov.com, 1 stoiximatikesetairies.tv, 1 stoiximaweb.gr, 1 +stojimezaprezidentem.cz, 1 stokl.com.au, 0 stokrotkadelikatesy.pl, 1 stolarka.tk, 1 @@ -140690,6 +141031,7 @@ stolpe.tk, 1 stolpe5674.tk, 1 stolpersteine-dithmarschen.tk, 1 +stolpersteine-homosexuelle.de, 1 stolpi.is, 0 stoltz-it.de, 1 stom-pushkino.ru, 1 @@ -140704,11 +141046,10 @@ stomatologiya.ml, 1 stomproced.ro, 1 stomt.com, 1 -stone-guru.co.uk, 1 stone-mail.org, 1 stone-support.de, 1 +stone.ru, 1 stonebriarpropertyinspections.com, 1 -stonebridge-systems.org, 1 stonechat.de, 1 stonecoldguarantee.com, 1 stonecoldlaw.com, 1 @@ -140832,6 +141173,7 @@ storeplus.ml, 1 storesonline.fr, 1 storestdigital.com, 1 +storetondigital.com, 1 storex.storage, 1 storgaarddieu.com, 1 storiadellarte.com, 1 @@ -140850,12 +141192,12 @@ storm-news.tk, 1 stormairsoft.tk, 1 stormberry.as, 1 +stormberry.eu, 1 stormberry.no, 1 stormbev.com, 1 stormboost.cz, 1 stormchile.cl, 1 stormdamages.claims, 1 -stormenergygh.com, 0 stormerauto.ae, 1 stormestudios.tk, 1 stormfest.tk, 1 @@ -140952,6 +141294,7 @@ strahovanienet.tk, 1 straightbeam.com, 1 straightcurlyhair.tk, 1 +straightforwardsql.com, 1 straightlinetutoring.com, 1 strail-english.jp, 1 straitsresearch.com, 1 @@ -140987,6 +141330,7 @@ strangemusicinc.com, 1 strangeonline.tk, 1 strangers-team.fr, 1 +strangerthingsintrocreator.com, 1 strangerthingsmerch.co, 1 strangestfacts.cf, 1 strangevip.com, 1 @@ -140995,7 +141339,7 @@ strangeworksinc.com, 1 strangeworldmerch.com, 1 strangeworldmerchandising.com, 1 -straniero.net, 0 +straniero.net, 1 strankahrvatskogprava.tk, 1 straphael-holyangels.com, 1 strappazzon.xyz, 1 @@ -141045,12 +141389,11 @@ stratowalk.de, 1 stratreg.com, 1 strattera.ga, 1 -strattonapps.com, 1 strattonhats.com, 1 stratum0.org, 1 +stratumitservices.com, 1 stratuscloud.group, 1 stratuscloudconsulting.net, 1 -stratuspayments.net, 1 straubs.eu, 1 strauss-advisor.de, 1 strauss.tirol, 1 @@ -141073,6 +141416,7 @@ stray-soul.com, 0 straydio.co.uk, 1 straykidsjapan.com, 1 +straylight-tech.com, 1 straylight.tk, 1 straysky.com, 1 strcat.ga, 1 @@ -141111,6 +141455,7 @@ streamlinedprocesses.com, 1 streamliner.fr, 1 streamlineverify.com, 1 +streamlocator.com, 1 streammusic.cz, 1 streamnetlibrary.org, 1 streamnetwork.cz, 1 @@ -141127,6 +141472,7 @@ streamvi.com, 1 streamvideo.cz, 1 streamwizard.de, 1 +streamxvault.online, 1 streamz.be, 1 streamzilla.com, 1 streathamfoodfestival.com, 1 @@ -141221,6 +141567,7 @@ stripperweb.club, 1 striptizer.tk, 1 stritai.ru, 1 +strivapay.com, 1 strivestudio.com.mx, 1 strixmusic.com, 1 strizh.com.ua, 1 @@ -141235,7 +141582,6 @@ stroeder.com, 1 stroeder.de, 1 stroeerdigital.de, 1 -strofantyna.pl, 1 stroginopk.ga, 1 strogov.me, 1 strogova.me, 1 @@ -141284,6 +141630,7 @@ stronypiotra.pl, 1 stronywww-lodz.pl, 1 strooming.nl, 0 +stroople.com, 1 stroopwafel.ch, 1 stropek.eu, 1 strophicmusic.com, 1 @@ -141336,7 +141683,6 @@ stuartbell.co.uk, 1 stuartbell.uk, 1 stuartcrawford.co.nz, 1 -stuartcrawford.nz, 1 stuarteggerton.com, 1 stuarteglin.com, 0 stuartfl.gov, 1 @@ -141415,6 +141761,7 @@ studio-fotografico.ru, 1 studio-gama.pl, 1 studio-impress.com, 1 +studio-linde.de, 1 studio-mir.tk, 1 studio-n.pl, 1 studio-one.ru, 1 @@ -141427,8 +141774,10 @@ studio8builders.com, 1 studio91.tk, 1 studioabq.com, 0 +studioalbor.com, 1 studioamoureus.nl, 1 studioandrew.tk, 1 +studioapogee.it, 1 studioat55.com, 1 studioavvocato.milano.it, 1 studioavvocato.roma.it, 1 @@ -141466,12 +141815,12 @@ studionerisabatini.it, 1 studionorwood.com, 1 studionowystyl.pl, 1 +studionur.com.tr, 1 studioocasp.com.br, 1 studiopanamaitalia.com, 1 studiopirrate.com, 1 studiopoen.com.br, 1 studiorachunkowe.pl, 1 -studiords.com, 1 studiosaulnier.synology.me, 1 studioshiftup.net, 1 studiosql.ml, 1 @@ -141527,6 +141876,7 @@ stuermer.me, 1 stuetzredli.ch, 1 stufen-los.de, 1 +stuffedmonkeywebdesign.com, 1 stuffi.fr, 1 stuffiwouldbuy.com, 0 stuhrs.dk, 1 @@ -141560,6 +141910,7 @@ stupidstatetricks.com, 1 stupidthoughts.tk, 1 stupino-stroy.cf, 1 +stureg.com, 1 sturents.com, 1 sturfee.com, 1 sturgeonbaywi.gov, 1 @@ -141700,6 +142051,8 @@ substances.be, 1 substitutealert.com, 1 substore.co.il, 1 +substrate.com, 1 +substratecdn.com, 1 substratesystem.com, 0 substruct.co.uk, 1 subteacher.co.il, 1 @@ -141722,7 +142075,6 @@ subzero-wolf.co.in, 1 success.pp.ua, 1 successbox.vn, 1 -successclap.com, 1 successclicker.tk, 1 successdeliv.com, 1 successemails.ml, 1 @@ -141757,12 +142109,14 @@ sudametrica.tk, 1 sudanell.tk, 1 sudanindependent.com, 0 +sudanindependent.net, 1 sudaraka.org, 0 suddenlysavvy.com, 1 sudeleycastle.co.uk, 1 sudetytour.cz, 1 sudoash.com, 1 sudocat.me, 1 +sudoji.io, 1 sudoku-insight.tk, 1 sudoku.org.ua, 1 sudokuaday.com, 1 @@ -141890,6 +142244,7 @@ sulemanquotes.tk, 1 suleri.tk, 1 sulfegate.org, 1 +sulimankhan.pro, 1 sulkmen.tk, 1 sullivancontractingct.com, 1 sullivancountypa.gov, 1 @@ -141900,7 +142255,6 @@ sultanismyname.com, 1 sultanrecords.com, 1 sultans.tk, 1 -sultengterkini.id, 1 sulytics-tool.com, 1 sum-atm.com, 1 sum1.tk, 1 @@ -141975,7 +142329,6 @@ summitcustomsbrokers.com, 1 summitdentistry.nl, 1 summiteyekc.com, 1 -summitlighthousela.org, 1 summitms.gov, 1 summitoralsurgerymt.com, 1 summitviewbaptistchurch.com, 1 @@ -141998,6 +142351,7 @@ sun-beach.com.ua, 1 sun-host.ml, 1 sun-lounge.be, 1 +sun-n-sand.com, 1 sun-studio.tk, 1 sun-wellness-online.com.vn, 0 sun1218.com, 1 @@ -142007,6 +142361,7 @@ sun1378.com, 1 sun668.asia, 1 sun668.co, 1 +sunandsagecleaningco.com, 1 sunbirdgrove.com, 1 sunbit.com, 1 sunblind.tk, 1 @@ -142035,14 +142390,13 @@ suncoastrebuilding.com, 1 suncomegrain.ga, 1 suncrypto.in, 1 +sundadigi.com, 1 sundalandia.pp.ua, 1 sunday.pm, 1 sundayfundayjapan.com, 1 sundaysky.com, 1 sundaytansa.com, 1 -sunderland.ac.uk, 0 sunderlandmoneyman.com, 1 -sundeskole.no, 0 sundhedsdatastyrelsen.dk, 1 sundhedsvejen.dk, 1 sundiel.tk, 1 @@ -142077,10 +142431,6 @@ sunme-jp.com, 1 sunmeiren.com, 1 sunn.ie, 1 -sunnuntaileivonta.fi, 1 -sunnuntaimargariini.fi, 1 -sunnuntaipaasiainen.fi, 1 -sunnuntaipiirakka.fi, 1 sunnuslight.com, 1 sunny.co.uk, 1 sunnyhome.tk, 1 @@ -142115,6 +142465,7 @@ sunsafe.se, 1 sunsandvoids.systems, 1 sunsdesign.net, 1 +sunsetconcrete.ca, 1 sunsetfire.de, 1 sunsetmusic.tk, 1 sunsetnelson.com, 1 @@ -142147,7 +142498,6 @@ sunsunjewelry.org, 1 suntechnologies.com, 1 sunticschool.org, 1 -suntrion.com, 1 suntropez-shop.it, 1 sunwayestates.com, 1 sunwaymedical.com, 1 @@ -142225,6 +142575,8 @@ superbowlkneel.com, 1 superbugs.nl, 1 superbuy.com.tw, 1 +supercable.co.cr, 1 +supercable.cr, 1 supercalorias.com, 1 supercarpets.ru, 1 supercarrot.tk, 1 @@ -142236,6 +142588,7 @@ supercentenarian.com, 1 supercharged.co.uk, 1 superchargers.pt, 1 +superchiu.org, 1 superchopsticks.com, 1 supercinebattle.fr, 1 supercontent.cf, 1 @@ -142247,7 +142600,6 @@ superdaddy.club, 1 superdeals.cf, 1 superdevtools.com, 1 -superdogsphotos.com, 1 superdolly.cf, 1 superdolly.ga, 1 superdolly.gq, 1 @@ -142277,7 +142629,7 @@ superhappiness.com, 1 superherofactory.hu, 1 superhits.gq, 1 -superhomes.my, 1 +superhost.com.tn, 1 superhumanendurance.ga, 1 superhyp.de, 1 superidea.in, 1 @@ -142318,7 +142670,7 @@ supermedia.cool, 1 supermeitw.com, 1 supermen.com.tr, 1 -supermenu.io, 1 +supermenu.io, 0 supermercadosdia.com.ar, 1 supermercato24.it, 1 supermil.ch, 1 @@ -142377,13 +142729,15 @@ suplery.com, 1 suplindex.com, 1 supmil.net, 1 +supora.io, 1 suppdeals.eu, 1 +suppdoc.io, 1 suppernova.com, 0 supplement.cf, 1 supplementaanbiedingen.nl, 1 supplementalconditions.com, 1 supplementpolice.tk, 1 -supplhi.com, 1 +supplhi.com, 0 suppliersession2021.com, 1 supplies24.at, 1 supplies24.es, 1 @@ -142409,11 +142763,13 @@ supportsave.com, 1 supportyourapp.com, 1 suppos-net.tk, 1 +suppsselect.com, 1 supra-dvdx.com, 1 supra.tf, 1 supraelco.com, 1 supranova.ai, 1 suprax365.tk, 1 +suprdeck.com, 1 suprem.biz, 0 suprem.ch, 0 supremaa.com, 1 @@ -142426,6 +142782,7 @@ suprfi.com, 1 suprintbot.xyz, 0 supriville.com.br, 1 +suprmart.in, 1 supropionegocio.tk, 1 suprwedr.com, 1 supweb.ovh, 0 @@ -142438,8 +142795,9 @@ surasak.tk, 1 suraya.online, 1 sure-it.de, 1 -surebets.bet, 1 +surebets.bet, 0 surecloud.com, 0 +sureelai.com, 1 surefit-oms.com, 1 surefleet.com.au, 1 suregriparms.com, 1 @@ -142462,10 +142820,10 @@ surfenergy.tk, 1 surfersconnect.net, 1 surfersparadisepersonaltrainers.com, 1 -surfingshare.com, 0 surfkath.de, 1 surflessonslisbon.com, 1 surfly.com, 1 +surfnice.com, 1 surfocal.net, 1 surfoleon.tk, 1 surfseo.ml, 1 @@ -142475,7 +142833,6 @@ surgeholdinggroup.com, 1 surgeongeneral.gov, 1 surgicalassociates.sg, 1 -surgicalassociateswny.com, 0 surgicalresourcesgroup.com, 1 surgiscribe.co, 1 surgoinsvilletn.gov, 1 @@ -142549,7 +142906,6 @@ sushi-tabetai.ddns.net, 1 sushi.roma.it, 1 sushifrick.de, 1 -sushiginzaonoderala.com, 1 sushikatze.de, 1 sushilmedicos.tk, 1 susiepetty.com, 1 @@ -142571,6 +142927,7 @@ sustainability.gov, 1 sustainabilityknowledgegroup.com, 1 sustainabilitysociety.hk, 1 +sustainabledestinationpartnership.com.au, 1 sustainablefibre.org, 1 sustainableux.com, 1 sustainableweb.dk, 1 @@ -142584,6 +142941,7 @@ sustainimum.org, 1 sustainoss.org, 1 sustanacoolingpartners.com, 1 +sustance.com, 1 sustc.ac.cn, 1 susthx.com, 1 susumulus.ml, 1 @@ -142603,6 +142961,7 @@ sutterfamilylaw.com, 1 suttonbank.com, 1 suttonplace.com, 1 +suuq-s.com, 1 suurhelsinki.cf, 1 suuria.de, 1 suurimjulgus.ee, 1 @@ -142610,7 +142969,6 @@ suvacollections.com.br, 1 suvalor.com, 1 suvidhaapay.com, 1 -suvirink.lt, 1 suvisioninc.com, 1 suwan-organic-farmstay.com, 1 suwanneecountyfl.gov, 1 @@ -142687,6 +143045,7 @@ svendgram.com, 1 svendubbeld.nl, 1 sveneckelmann.de, 1 +svengali.club, 1 svenjaundchristian.de, 1 svenljunga.se, 1 svenmuller.com, 1 @@ -142759,7 +143118,7 @@ svolby.cz, 1 svorcikova.cz, 1 svorkmofotball.tk, 1 -svoya-energy.com.ua, 1 +svoyaaptechka.ru, 1 svportalframe.com, 1 svrtech.com.tr, 1 svrx.one, 1 @@ -142768,7 +143127,6 @@ svsewerut.gov, 1 svsg.co, 1 svswebmarketing.com, 1 -svtemplemn.org, 1 svtl.ch, 1 svtr.de, 1 svtv.org, 1 @@ -142781,13 +143139,13 @@ sw33tp34.com, 1 swa-il.gov, 1 swaa.life, 1 +swabia.com, 1 swabifoundation.tk, 1 swac.org, 1 swacash.com, 1 swacu.org, 1 swag.pw, 1 swagat.tk, 1 -swagger.io, 1 swagger.london, 1 swaglab.rocks, 1 swaglookbook.com, 1 @@ -142872,7 +143230,6 @@ sweetfleet.io, 1 sweetgood.de, 1 sweetgracemarket.com, 1 -sweethawk.com, 1 sweethearts.tk, 1 sweetheartvideo.com, 1 sweethomesnohomishrenovations.com, 1 @@ -142901,6 +143258,7 @@ swelife.se, 1 swellnote.com, 1 swentr.site, 1 +swequity.vn, 1 swerve-media-testbed-03.co.uk, 1 swet.com.ua, 1 swetrust.com, 1 @@ -142911,6 +143269,7 @@ swi.sytes.net, 1 swid.co.uk, 1 swieckapolska.pl, 1 +swietawgorach.pl, 1 swiezastrona.pl, 0 swift-cut.com, 1 swift-cut.de, 1 @@ -142928,6 +143287,7 @@ swifteh.net, 1 swifteq.com, 1 swiftgram.ml, 1 +swifties.co.il, 1 swiftirc.net, 1 swiftmod.net, 1 swiftmodcdn.net, 1 @@ -142949,6 +143309,7 @@ swim.aero, 1 swimhome.es, 1 swimlane.com, 1 +swimmena.com, 1 swimmingpoolaccidentattorney.net, 1 swimmingpoolpumpsbassonia.co.za, 1 swimpool.co.il, 1 @@ -142962,6 +143323,7 @@ swineson.me, 1 swing-belleville.de, 0 swing.berlin, 1 +swingcompleto.com, 1 swingdancehome.com, 1 swingerclub.in, 1 swingers.com.pt, 1 @@ -142975,7 +143337,6 @@ swireshipping.com, 1 swish-ict.com, 1 swishmail.com, 1 -swiss-export-compliance.com, 1 swiss-spectator.ch, 1 swiss-vanilla.ch, 1 swiss-vanilla.com, 1 @@ -143000,7 +143361,6 @@ swisshex.net, 1 swisshub.io, 1 swissinternationalva.com, 1 -swisslinux.org, 1 swissmakers.ch, 1 swissmodular.com, 1 swissneutral.net, 1 @@ -143014,7 +143374,6 @@ swissvanilla.com, 1 swisswebhelp.ch, 1 swissxperts.ch, 1 -switch-trader.com, 1 switch.pt, 1 switch2osm.org, 1 switchassur.fr, 1 @@ -143047,7 +143406,6 @@ swopre-appgallop.azurewebsites.net, 1 swordfeng.xyz, 1 swordfighting.net, 1 -swordhealth.com, 0 swordpop.cf, 1 swordpop.gq, 1 sworkit.com, 1 @@ -143080,12 +143438,12 @@ sx3.no, 1 sx6729.com, 1 sx8.ovh, 1 -sxilm.com, 0 sxistolithos.gr, 1 -sxls.com, 1 -sxyql.de, 0 +sxls.com, 0 +sxyql.de, 1 sy-anduril.de, 1 sy24.ru, 1 +syac.net.co, 1 syaeful12ips.tk, 1 syage.notaires.fr, 1 syakeapps.net, 1 @@ -143145,6 +143503,7 @@ sylviamartinez.com, 1 sylviemifsud.fr, 1 sylvite.ca, 1 +sylwesterwgorach.pl, 1 sylwiart.pl, 1 sylwiaspychala.pl, 1 sym01.com, 1 @@ -143224,6 +143583,7 @@ syncspace.live, 1 synctera.com, 1 syncurity.nl, 1 +synd.pro, 1 synder.com, 1 synderapp.com, 1 syndigo.com, 1 @@ -143264,14 +143624,14 @@ synthax.codes, 1 synthesis.cafe, 1 synthesis.ru, 1 -syntheticgrasscentralcoast.com, 1 +synthesq.com, 1 syntheticgrassliving.com.au, 1 synthetis.com, 1 synthezis.tk, 1 synthforge.io, 1 synthgularity.net, 1 synthiam.com, 1 -synthpop.ai, 0 +synthpop.ai, 1 syntia.tk, 1 syntric.io, 1 syntriqhealth.com, 1 @@ -143293,6 +143653,7 @@ syquel-systems.de, 1 syquest.com, 1 syr.gov, 1 +syracusemurdermystery.com, 1 syracuseut.gov, 1 syret.at, 1 syret.ch, 1 @@ -143315,6 +143676,7 @@ sysadminslife.com, 1 sysadvisors.pl, 1 sysaid.com, 1 +sysand.com, 1 sysbert.de, 1 syscap.co.uk, 1 syscap.com, 1 @@ -143336,6 +143698,9 @@ sysmanagement.it, 1 sysmike.de, 1 sysmike.net, 1 +sysneo.app.br, 1 +sysneolabs.com, 1 +sysneolabs.com.br, 1 sysnet.com.sg, 1 sysnet.cz, 1 sysoons.com, 1 @@ -143385,7 +143750,6 @@ systemsinblue.tk, 1 systemtoto.ml, 1 systemvoices.info, 1 -systemysportowe.pl, 1 systemzeit.info, 1 systoolbox.net, 1 syswap.fr, 1 @@ -143458,7 +143822,6 @@ szs-arbeitssicherheit.de, 1 szsyidc.cf, 1 szsyidc.top, 1 -szszymankiewicz.pl, 1 sztfh.hu, 1 sztoriboljeles.hu, 1 sztreasure.com, 1 @@ -143472,6 +143835,7 @@ szybkaekipa.pl, 1 szybkiebieganie.pl, 1 szymczak.at, 1 +szymonskulimowski.com, 1 szyndler.ch, 1 szyszkowitz.at, 1 szzcs.com, 1 @@ -143484,14 +143848,12 @@ t-lorenz.com, 1 t-m.me, 1 t-moon.hr, 1 -t-network.nl, 1 t-op1.com, 1 t-op26.com, 1 t-op6.com, 1 t-op7.com, 1 t-op8.com, 1 t-op9.com, 1 -t-res.net, 1 t-shirt-template.com, 1 t-shirty.tk, 1 t-wirth.de, 1 @@ -143518,6 +143880,7 @@ t2000laserpointers.com, 1 t22.uk, 1 t23a.eu, 1 +t3.ie, 1 t33.eu, 1 t36533.com, 1 t3concrete.my, 1 @@ -143573,7 +143936,6 @@ ta-hiroshi.jp, 1 ta-maison.fr, 1 ta-server.nl, 1 -ta-soest.nl, 1 ta3.sk, 1 taabe.net, 1 taajir-uat.azurewebsites.net, 1 @@ -143623,6 +143985,7 @@ tableau.lt, 1 tabledown.ga, 1 tabledusud.nl, 1 +tablejourney.com, 1 tableres.com, 1 tablerocksbestrealtors.com, 1 tablesoccer.pt, 1 @@ -143648,6 +144011,7 @@ tabpanelwidget.com, 1 tabrizbiology.tk, 1 tabserectilecheap.com, 1 +tabsy.co, 1 tabu-bodywear.ch, 1 tabular.tools, 1 tabulartools.com, 1 @@ -143656,7 +144020,6 @@ tac-performance.net, 1 tac-sys.net, 1 tacay.co, 1 -tachito.net, 1 tachonetbg.com, 1 tachoplus.pl, 1 tachoplusweb.com, 1 @@ -143680,6 +144043,8 @@ tacotown.tk, 1 tacticalavocado.com, 1 tacticalsquare.com, 1 +tacticalunicorn.eu, 1 +tacticalunicorn.us, 1 tacticalvote.co.uk, 1 tactile.love, 1 tactportal.com, 1 @@ -143691,6 +144056,7 @@ tadashiku.jp, 1 tadaweb.com, 1 tadawulstocks.com, 1 +taddo.ro, 1 tadj-mahalat.com, 1 tadjiki.tk, 1 tadjikistan.tk, 1 @@ -143749,6 +144115,7 @@ taguette.fr, 1 tagungsstaette-usedom.de, 0 tagungsstaette-zinnowitz.de, 0 +tagviden.dk, 1 tahacinkilic.com, 1 tahaluf.ai, 1 tahaonline.tk, 1 @@ -143756,6 +144123,7 @@ tahitiodoo.com, 1 tahititourisme.com, 1 tahititourisme.fr, 1 +tahitiwebsites.com, 1 tahlequah.gov, 1 tahlilsonuclari.site, 1 tahnee.tk, 1 @@ -143769,6 +144137,7 @@ taichi-jade.com, 1 taichidiscovery.com, 1 taidu.news, 1 +taidynamics.com.ar, 1 taieki.nl, 1 taiga-aikidojo.tk, 1 taigalaloca.net, 1 @@ -143782,6 +144151,7 @@ taildb.com, 1 tailor.com.br, 1 tailorbrands.com, 1 +tailorhive.com, 1 tailoring.tk, 1 tailpage.org, 1 tailport.org, 1 @@ -143790,6 +144160,7 @@ tailseed.org, 1 tailsfromvetschool.com, 1 tailsteak.tk, 1 +tailtest.com, 1 tailwindapp.com, 1 tailwindrg.com, 1 tainiesonline.tk, 1 @@ -143798,6 +144169,7 @@ taipei2025.com, 1 taipei2038.com, 1 taipy.ru, 1 +tair-ai.net, 1 taisendeshimaru.org, 1 taitlinstudio.com, 1 taito-ryukyu.com, 1 @@ -143807,6 +144179,7 @@ taiwanbible.com.tw, 1 taiwanhotspring.net, 1 taiwaniacapital.com, 1 +taiwanprize.com, 1 taiwantechtrek.tk, 1 taiway.com, 1 taiyo-eg.com, 1 @@ -143823,7 +144196,6 @@ tajniy-smisl.tk, 1 tajnyodtah.sk, 1 tajra.store, 1 -tajrobe.wiki, 1 tajtowereg.com, 1 tak.gov, 1 tak.io, 1 @@ -143869,12 +144241,13 @@ taketecnologia.com.br, 1 takethatspainfanclub.tk, 1 taketheai.com, 1 -takeuchi-naika.com, 1 takeyourpic.co.uk, 1 +takeyourskills.com, 1 takezo.tk, 1 taki.sh, 1 taki.sk, 1 takiguchi-shika1515.jp, 1 +takimap.com, 1 takinet.kr, 1 takipavm.com, 1 takipcikutusu.com, 1 @@ -143906,6 +144279,7 @@ talbottimber.co.uk, 1 taldia.es, 1 taleatherworks.com, 1 +talen-ia.com, 1 talendipank.ee, 1 talensahub.com, 1 talent-safari.com, 1 @@ -143922,12 +144296,14 @@ talentimpuls.de, 1 talentio.com, 1 talentlms.com, 1 +talentmanagementny.com, 1 talentmill.co, 1 talentoday.com, 1 talentplatform.ca, 1 talentplatform.com, 1 talentplatform.eu, 1 talentplatform.us, 1 +talentscx.com, 1 talentsplit.com, 1 talentuar.com, 1 talentwall.io, 1 @@ -143968,6 +144344,7 @@ talktwincities.com, 1 talkx.de, 1 tallac.tk, 1 +tallahasseemurdermystery.com, 1 tallahatchiecountysheriffofficems.gov, 1 tallcraft.com, 1 tallcraft.net, 1 @@ -144103,7 +144480,7 @@ tangerangkota.go.id, 1 tangiblesnft.com, 1 tangier.tk, 1 -tangiertours.ma, 1 +tangiertours.ma, 0 tangipahoa.gov, 1 tanglepatterns.com, 1 tango-cats.de, 1 @@ -144239,7 +144616,6 @@ tarasevich.by, 1 taravancil.com, 0 tarbsong.ml, 1 -tarcode.ru, 1 tardics.com, 1 tardis.cloud, 1 tardis.io, 1 @@ -144326,6 +144702,7 @@ tasefiling.gov, 1 tasfil.com, 1 tashicell.com, 1 +taskade.com, 1 taskdifferent.com, 1 taskforce.eu, 1 taskhorizon.audio, 1 @@ -144370,7 +144747,6 @@ tataristan.tk, 1 tatarland.tk, 1 tatarsecurity.ir, 1 -tataru.it, 1 tatarworld.tk, 1 tatary.cf, 1 tatary.tk, 1 @@ -144445,6 +144821,7 @@ tavat.xyz, 1 tavda.info, 1 tavelbutiken.com, 0 +tavernafantastica.com, 1 taverne.tk, 1 taverns.tk, 1 tavex.bg, 1 @@ -144481,6 +144858,8 @@ taxborn.com, 1 taxcertificationform.com, 1 taxcertificationportal.com, 1 +taxcloud.de, 1 +taxcomplianceagent.com, 1 taxcure.com, 1 taxdispute.win, 1 taxfunder.co.uk, 1 @@ -144496,7 +144875,6 @@ taxi-edessas.gr, 1 taxi-itheorie.ch, 1 taxi-legroux.com, 1 -taxi-meridian.ru, 1 taxi-puck.pl, 1 taxi-tienen.com, 1 taxi-zakaz.ml, 1 @@ -144507,13 +144885,13 @@ taxibelgrade.com, 1 taxibiz.ga, 1 taxibruxelles24.be, 0 -taxibudapest.com, 0 -taxibudapest.de, 0 -taxibudapest.fr, 0 -taxibudapest.nl, 0 +taxibudapest.com, 1 +taxibudapest.de, 1 +taxibudapest.fr, 1 +taxibudapest.nl, 1 taxicollectif.ch, 0 taxid-k.be, 1 -taxihungary.com, 0 +taxihungary.com, 1 taxikraken.tk, 1 taximarcaminha.com, 1 taximinvody.ml, 1 @@ -144602,7 +144980,6 @@ tbsunday.tk, 1 tbtech.cz, 1 tbuchloh.de, 1 -tbun.de, 1 tbunews.com, 1 tbunews.info, 1 tbwa.com, 1 @@ -144629,6 +145006,7 @@ tcdn.tech, 1 tcdww.cn, 1 tcf.org, 1 +tcfmentor.com, 1 tcg.cards, 1 tcgbridge.com, 1 tcgc-adms.com, 1 @@ -144647,7 +145025,7 @@ tchoukball.ch, 0 tchouktchouk-baroum.fr, 1 tci-style.pl, 1 -tci-thaijo.org, 0 +tci-thaijo.org, 1 tci-thailand.org, 1 tciit.pl, 1 tcj.ir, 1 @@ -144663,7 +145041,6 @@ tcpdata.com, 1 tcpride.org, 1 tcproducer.xyz, 1 -tcptun.com, 1 tcr-ees.com, 1 tcrecord.org, 1 tcrid.com, 1 @@ -144766,6 +145143,7 @@ team-a.tk, 1 team-aaa.tk, 1 team-apollo.tk, 1 +team-arun.com, 1 team-atomic.tk, 1 team-azerty.com, 1 team-bbd.com, 1 @@ -144872,7 +145250,6 @@ teamskillevolution.com, 1 teamsomeday.tk, 1 teamstarbugs.de, 1 -teamsterhomeadvantage.com, 1 teamstersvip.com, 1 teamstersvipair.com, 1 teamsudan.cf, 1 @@ -144942,7 +145319,7 @@ tecfidera.com, 0 tecfleet.com, 1 tech-box.fr, 1 -tech-brew.xyz, 1 +tech-brew.xyz, 0 tech-clips.com, 0 tech-courses.com, 1 tech-dempaz.com, 1 @@ -144965,7 +145342,6 @@ tech3araby.com, 1 tech4founders.co, 1 tech4greece.gr, 1 -tech506.com, 1 techangel.tk, 1 techanit.de, 1 techarab.ga, 1 @@ -144974,10 +145350,11 @@ techarchive.tk, 1 techarkansas.tk, 1 techask.it, 1 +techatrium.com, 1 techbelife.com, 1 -techbitdigital.com, 1 techbrawl.org, 1 techbridge.jp, 1 +techbridgejo.com, 1 techbuz.net, 1 techcavern.ml, 1 techcentral.ml, 1 @@ -145064,6 +145441,7 @@ techlit.pk, 1 techlovers.com, 1 techlr.de, 1 +techmaart.lu, 1 techmagazine.tk, 1 techmagick.com, 1 techmahindrafoundation.org, 1 @@ -145073,7 +145451,7 @@ techmatters.org, 1 techmayhem.net, 1 techmeout.io, 1 -techmind.vc, 1 +techmind.vc, 0 techmindme.com, 1 technamin.com, 1 technavio.com, 1 @@ -145094,6 +145472,7 @@ technicaltrainer.co.za, 1 technicalustad.com, 1 technician.academy, 1 +technician.cn, 1 technikerle.at, 1 technikforum-backnang.de, 1 technikoma.com, 1 @@ -145118,7 +145497,7 @@ technodisaster.com, 1 technodom.eu, 1 technogies.cf, 1 -technogps.com, 1 +technogps.com, 0 technogrand.gq, 1 technoholod.tk, 1 technohonks.tk, 1 @@ -145202,6 +145581,7 @@ techrbun.com, 1 techreportforall.tk, 1 techrevolution.lt, 1 +techrevolutionit.com, 1 techrules.com, 1 techs.cf, 1 techsat.tk, 1 @@ -145210,6 +145590,7 @@ techseo.pro, 1 techseoexperts.com, 1 techseofreelancer.com, 1 +techserenityit.com, 1 techserve.ml, 1 techsharetx.gov, 1 techshift.eu, 1 @@ -145241,8 +145622,10 @@ techvoice.tk, 1 techwalker.cf, 1 techwallet.tk, 1 +techwasterecycling.com, 1 techwestsolutions.com.au, 1 techwilk.com, 1 +techwilla.com, 1 techwin.systems, 1 techwise.nl, 1 techwisegroup.com, 1 @@ -145333,7 +145716,6 @@ tedroche.com, 1 tedscoffeecompany.com, 1 tedsdivingsystem.com, 1 -tedsears.net, 1 tedstevensarcticcenter.org, 1 tedt.org, 1 tedulearning.com, 1 @@ -145378,6 +145760,7 @@ teenwolfturkey.tk, 1 teenworlds.tk, 1 teenxxx-tube.com, 1 +teenyard.com, 1 teenytinyhomes.com.au, 1 teepak.ml, 1 teerapatde.online, 1 @@ -145418,7 +145801,6 @@ tehnomagija.tk, 1 tehplace.club, 1 tehpod.com.ua, 1 -tehrabbitt.com, 0 tehrankey.ir, 1 teia.art, 1 teichroeb.net, 1 @@ -145530,10 +145912,11 @@ telecommande-express.com, 1 telecommunications.cf, 1 telecommutejobs.com, 1 +telecomsat.cl, 1 telecomwestland.nl, 1 teledatos.tk, 1 teledhil.eu, 1 -teleflow.net, 0 +teleflow.net, 1 telefon.report, 1 telefonabonnement.dk, 1 telefoncek.si, 1 @@ -145546,7 +145929,6 @@ telefoonabonnement.nl, 1 telefoonsex.net, 1 telefunk.tk, 1 -telefusion.de, 1 teleg.one, 1 telega.gq, 1 telegashop.cf, 1 @@ -145561,6 +145943,7 @@ telehealthventures.com, 0 telekollektiv.org, 1 telekom-mms.com, 1 +telekom.de, 1 telekomiker.tk, 1 telelog.ml, 1 telema.tk, 1 @@ -145594,7 +145977,6 @@ telesoftware.tk, 1 telesonicengineering.com.my, 1 telesport.com, 1 -telestepina.ru, 1 telesys.de, 1 teletaxe.fr, 1 teleteen.org, 1 @@ -145607,7 +145989,6 @@ televisioncontests.ga, 1 televisionesendirecto.tk, 1 televisionsrit.tk, 1 -televisionstats.com, 1 televize-seznam-cz.cz, 1 televize-seznam.cz, 1 televize-seznamcz.cz, 1 @@ -145642,11 +146023,11 @@ tellme.bio, 1 tellme.tk, 1 tellusaboutus.com, 1 -tellusr.com, 0 telly.site, 1 tellygames.com, 1 tellyourtale.com, 1 telnet.dk, 1 +telohagopor.com, 1 telokchki.ga, 1 telokchki.ml, 1 teloo.pl, 1 @@ -145664,6 +146045,7 @@ temertysimcentre.com, 1 temirgaliev.tk, 1 temis.nl, 1 +temis.online, 1 temizlik.ml, 1 teml.in, 1 temnacepel.cz, 1 @@ -145694,7 +146076,6 @@ templeoverheaddoors.com, 1 templete.tk, 1 tempmail.ninja, 1 -tempo.co, 1 tempocams.com, 1 tempocams.net, 1 tempocams.org, 1 @@ -145722,7 +146103,6 @@ tenacityworks.com, 1 tenangjiwaku.tk, 1 tenantacademy.co.za, 1 -tenantcloud.com, 1 tenantoptions.com.au, 1 tenanttraining.co.za, 1 tenarya.com, 1 @@ -145803,6 +146183,7 @@ tenshokudo.com, 1 tenshokufair.jp, 1 tensor.trade, 0 +tensorfoundry.io, 1 tensure.io, 1 tent.io, 1 tentacle.monster, 1 @@ -145844,7 +146225,6 @@ teplo-unit.ru, 1 teplomash24.ru, 1 teplotehnik.tk, 1 -teplovizor.info, 1 tepokbulubdg.my.id, 1 teppelin.fr, 1 teppichpracker.at, 1 @@ -145945,6 +146325,7 @@ terracycle.ca, 1 terracycle.com, 1 terracycle.nl, 1 +terrademojuba.com.br, 1 terraesencial.com, 1 terrafinanz.de, 1 terrafinastore.com, 1 @@ -145955,7 +146336,6 @@ terralemon.nl, 1 terralogic.com, 1 terramineira.com.br, 1 -terrancetalkstravel.com, 1 terraneesens.fr, 1 terranimo.re, 1 terranostra-gardenhotel.com, 1 @@ -145980,6 +146360,7 @@ terremoto.com.br, 1 terrenal.tk, 1 terrenasparadise.com, 1 +terrenosparainvertir.com, 1 terresmagiques.com, 0 terrestream.com, 1 terrimcaleerphotography.com, 1 @@ -145996,6 +146377,7 @@ terrty.net, 1 terryburton.co.uk, 1 terrycho.net, 1 +terrynazon.com, 1 terryoconnor.org, 1 terryturnipseed.com, 0 ters.ga, 1 @@ -146016,7 +146398,6 @@ teselta.com, 1 teseo.kz, 1 tesheating.com, 1 -teshuzi.com, 1 tesil.am, 1 teskalabs.com, 1 tesla-fire.com, 1 @@ -146029,11 +146410,13 @@ teslaslovakia.sk, 1 teslasuit.io, 1 teslavykup.sk, 1 +teslegacy.com.br, 1 tesorion.nl, 1 tespent.cn, 1 tessierashpool.de, 1 tessla.org, 1 test-eligibilite-isolation.com, 1 +test-ipv6.se, 1 test-iq.gq, 1 test-my.tk, 1 test-na-beremennost.tk, 1 @@ -146043,7 +146426,6 @@ test-regressplattform.ch, 1 test-school.ml, 1 test-sdbidentity.nl, 1 -test-software.net, 1 test-textbooks.com, 1 test-verz.online, 1 test.de, 1 @@ -146056,6 +146438,7 @@ testable.org, 1 testadren.com, 1 testadron.com, 1 +testaniconsulting.com, 1 testantidrogarapidi.it, 1 testapfnxg.com, 1 testazdes.gov, 1 @@ -146116,7 +146499,6 @@ testpornsite.com, 1 testprep.online, 1 testprepinsight.com, 1 -testprograms.net, 1 testpsicotecnicos.com.es, 1 testq.se, 1 testrack.com, 1 @@ -146147,6 +146529,7 @@ tetherqr.com, 1 tetonas.tk, 1 tetonka.ch, 1 +tetoonline.com, 1 tetorix.gq, 1 tetovaweb.tk, 1 tetovo.tk, 1 @@ -146170,7 +146553,6 @@ teunmulder.tk, 1 teunstuinposters.nl, 1 teusink.eu, 1 -teuto.com.br, 1 teuton.io, 1 teutonia-grossenlueder.de, 1 teutonia08.de, 1 @@ -146204,11 +146586,9 @@ texaspaversoutdoorliving.com, 1 texasprosgaragedoors.com, 1 texasready.gov, 1 -texasschools.us, 1 +texasschools.us, 0 texasteam.tk, 1 texastitlesearch.com, 1 -texasturfcourts.com, 1 -texasvolunteerattorneys.org, 1 texaswinetrail.com, 1 texby.com, 1 texdot.gov, 1 @@ -146313,7 +146693,6 @@ tgb.org.uk, 1 tgcfabian.nl, 1 tgcgrain.com, 1 -tgchambers.com, 1 tgexport.eu, 1 tghez.net, 1 tgirl.uk, 1 @@ -146340,6 +146719,7 @@ th-fanlist.tk, 1 th.am, 1 th.search.yahoo.com, 0 +tha.sh, 1 thablubb.de, 1 thackba.de, 1 thackert.myfirewall.org, 1 @@ -146373,7 +146753,6 @@ thaipolyester.com, 1 thaiportal.gq, 1 thais.tk, 1 -thaislots.online, 1 thaisurveys.com, 1 thaiunion.com, 1 thaiwatsadu.com, 1 @@ -146400,6 +146779,7 @@ thammysen.vn, 1 thanatoid.net, 1 thancon.com, 1 +thangle.me, 1 thanhnhua.vn, 1 thanhtrungmobile.vn, 1 thankspenny.com, 0 @@ -146414,6 +146794,7 @@ thatch.ai, 0 thatchhealth.com, 1 thatchickkrys.com, 1 +thatcomms.net, 1 thatdaria.com, 1 thatferret.blog, 1 thatmy.com, 1 @@ -146436,6 +146817,7 @@ the-asset.de, 1 the-azad.com, 1 the-bearded-bear.com, 1 +the-bearded-bear.fr, 1 the-big-bang-theory.com, 1 the-brandidentity.com, 1 the-burtons.xyz, 1 @@ -146469,6 +146851,7 @@ the-pequod.com, 1 the-photographer-directory.com, 1 the-red.pp.ua, 1 +the-resistance-game.com, 1 the-scientist.com, 1 the-spellcaster.com, 1 the-spoonfeed.club, 1 @@ -146498,7 +146881,6 @@ theactuary.ninja, 1 theadamsonchronicle.tk, 1 theaddresses.com, 1 -theadelaideshow.com.au, 1 theadpharm.com, 0 theads.agency, 1 theads.net, 1 @@ -146513,6 +146895,7 @@ theaim.ca, 1 theaiqms.com, 1 theajwatson.com, 1 +theakandco.com, 1 thealbionrooms.live, 1 thealchemistatelier.com, 1 theallmanteam.com, 0 @@ -146602,9 +146985,11 @@ thebasicstudio.com, 1 thebatesstudent.com, 1 thebathroomexchange.ga, 1 +thebatlab.com, 1 thebatt.com, 1 thebaytalland.com, 1 thebcm.co.uk, 1 +thebeardedbear.fr, 1 thebearofai.com, 1 thebeatyard.nl, 0 thebeautifuledge.com, 1 @@ -146654,7 +147039,6 @@ theblackboard.gr, 1 theblackcat.ga, 1 theblackravens.com, 1 -theblaqcat.com, 1 theblink.com, 1 theblisters.tk, 1 theblock.co, 1 @@ -146665,7 +147049,6 @@ theblue.tk, 1 thebluebanner.net, 1 thebluered.net, 0 -theblueroofcottage.ca, 1 thebluewindowdesigns.com, 1 theboard.tk, 1 theboardroomsubi.com.au, 1 @@ -146690,10 +147073,12 @@ theboysrepublic.tk, 1 thebracelife.com, 1 thebrag.com, 1 +thebrainbus.fm, 1 thebrainfactory.eu, 1 thebraininitiative.gov, 1 thebrainwash.tk, 1 thebranddesign.gq, 1 +thebreaker.co.il, 1 thebrewingtonfamily.net, 1 thebridalcollection.com, 1 thebridalstudioutah.com, 1 @@ -146705,13 +147090,13 @@ thebroadcastknowledge.com, 1 thebrochuredesign.com, 1 thebrookeb.com, 1 -thebrookfinance.com, 1 thebryancarwash.com, 1 thebss.tk, 1 thebubblycarwash.com, 1 thebucklandreligion.tk, 1 thebudgetsavvybride.com, 1 thebuffalotavern.com, 1 +thebugandbee.com, 1 thebugmanfraservalley.com, 1 thebulletin.io, 1 thebunny.zone, 1 @@ -146735,7 +147120,6 @@ thecapital.pl, 1 thecardcloset.com, 1 thecarddesign.com, 1 -thecaregiverfoundation.org, 1 thecarletonian.com, 1 thecarolingconnection.com, 1 thecarpenters.tk, 1 @@ -146766,13 +147150,11 @@ thecherryship.ch, 0 thechfdietitian.com, 1 thechicanos.tk, 1 -thechinaguide.com, 1 thechoice.tk, 1 thechosenones.tk, 1 thechurchofallfaiths.org, 1 thecirclevoice.org, 1 theciso.com, 0 -thecitizen.support, 1 thecitycook.com, 1 thecityscene.com, 0 thecitywarehouse.clothing, 1 @@ -146801,6 +147183,7 @@ thecondemned.tk, 1 theconsultant.jp, 1 theconsultingpeople.tk, 1 +theconsumerdaily.co, 1 thecontractnetwork.com, 1 theconversation.com, 1 theconveyer.org, 1 @@ -146819,15 +147202,18 @@ thecraftingstrider.net, 1 thecrazybrains.tk, 1 thecrazyones.hopto.org, 0 -thecrazytravel.com, 1 +thecrazytravel.com, 0 thecrcconnection.com, 1 thecrew-exchange.com, 1 thecrimson.tk, 1 thecrimsonwhite.com, 1 thecrite.com, 1 +thecriticalpathgroup.com, 1 thecronosgroup.com, 1 +thecrownclinic.com, 1 thecskr.in, 1 thecstick.com, 1 +thectic.nl, 1 thecultureclubhouse.com, 1 thecup.us, 1 thecureplainsong.tk, 1 @@ -146875,15 +147261,16 @@ thediamondapp.com, 1 thedickinsonian.com, 1 thedietsolutionprog.tk, 1 +thedigitalhighway.com.au, 1 thedigitalparadox.tk, 1 thediligentwoman.com, 1 thedinnerdetective.com, 1 +thedinney.co.uk, 1 thediscforum.tk, 1 thediscovine.com, 1 thedistance.co.uk, 0 thedistrict.network, 1 thediyvibe.com, 1 -thedjhookup.com, 1 thedoc.eu.org, 1 thedocumentrefinery.com, 1 thedonaldarchive.tk, 1 @@ -146900,6 +147287,7 @@ thedronechart.com, 1 thedroneely.com, 1 thedronevortex.com, 1 +thedrylab.com, 1 theduchessbudapest.com, 1 thedudeabides.shop, 1 thedumpsterrentaltoday.com, 1 @@ -146907,9 +147295,11 @@ thedysfunctionalangel.ga, 1 thedysfunctionalangel.gq, 1 thedysfunctionalangel.ml, 1 +theeagle.com, 1 theeastcoastkitchen.com, 1 theebookkeepers.co.za, 1 theeducatoronline.com, 1 +theedwardspractice.com, 1 theeffingyogablog.com, 1 theegyptblog.tk, 1 theeifactory.com, 1 @@ -146986,6 +147376,7 @@ thefoxmagazine.com, 1 thefragranceshop.ca, 1 thefranchiseking.com, 1 +thefranklinnewspost.com, 1 thefreebay.tk, 1 thefreelancebroker.com, 1 thefreemail.com, 1 @@ -147033,6 +147424,7 @@ theghostlytavern.com, 1 thegiantsdream.tk, 1 thegigr.org, 1 +thegildedthistle.com, 1 thegilliesclub.com, 1 thegillnetter.com, 1 thegingersnapbaker.co.za, 1 @@ -147065,7 +147457,6 @@ thegravelride.bike, 1 thegreatdecay.tk, 1 thegreatgonzo.uk, 1 -thegreatplains.com, 1 thegreatsouthernburgerco.ga, 1 thegreendigest.com, 1 thegreenfields.se, 1 @@ -147141,7 +147532,6 @@ thehowlinwolfcafe.ga, 1 thehudsonindependent.com, 1 thehumanizer.tk, 1 -thehumanjoint.com, 1 thehumorist.tk, 1 thehustle.co, 1 thei.rs, 1 @@ -147183,6 +147573,7 @@ thejewelhut.co.uk, 1 thejewisheye.com, 1 thejkdrebel.com, 1 +thejobhack.com, 1 thejobhackers.org, 1 thejoneshub.com, 1 thejonsey.com, 0 @@ -147194,7 +147585,7 @@ thekenyatimes.com, 1 thekev.in, 1 thekickassvirtualassistant.nl, 1 -thekidszone.in, 1 +thekildaregroup.com, 1 thekillertoxin.de, 1 theking.bg, 1 thekirkwoodcall.com, 1 @@ -147208,10 +147599,11 @@ theknockoutchampionship.com, 1 theknowitguy.com, 0 thekochampionship.com, 1 +thekodaichronicle.com, 1 thekolye.com, 1 thekonsulthub.tk, 1 thekosheriphone.com, 1 -thekosherphone.com, 1 +thekosherphone.com, 0 thekuwayama.net, 1 thelakedistrict.tk, 1 thelancergroup.com, 0 @@ -147236,6 +147628,7 @@ theleaksbay.com, 1 thelearninggardener.com, 1 theleasebureau.com.au, 1 +theleasinglawyer.com.au, 1 theleaves.tk, 1 thelegacymovement.com, 1 thelegionshirley.co.uk, 1 @@ -147243,7 +147636,6 @@ thelemonlawcalifornia.com, 0 thelencystore.com, 1 theleonlawfirm.com, 1 -thelevelsfinancial.co.uk, 1 theleveluplabs.org, 1 thelewispartnership.co.uk, 1 thelibertinephilosophy.ga, 1 @@ -147267,6 +147659,7 @@ thelogicstudio.nz, 1 thelonelyones.co.uk, 1 thelonious.nl, 1 +thelookahead.app, 1 theloop.ai, 1 thelordofthewing.cf, 1 thelordofthewing.ga, 1 @@ -147294,8 +147687,10 @@ themanhoodinstitute.com, 1 themaniaks.tk, 1 themarchcharge.com.au, 1 +themarkagency.com.au, 1 themarkup.org, 1 themarshallproject.org, 1 +themartec.com, 1 themassageguy.capetown, 1 themaster.tk, 1 themasterplan.com.au, 1 @@ -147306,6 +147701,7 @@ themavericklab.com, 1 themaxfoundation.org, 1 themeapps.ga, 1 +themeasure.net, 1 themeccagroupllc.com, 1 themediaframe.com, 1 themedictips.com, 1 @@ -147340,11 +147736,6 @@ themissionman.com, 1 themizellbrothers.tk, 1 themlmsuccessnow.tk, 1 -themo.app, 1 -themo.dev, 1 -themo.group, 1 -themo.host, 1 -themo.studio, 1 themobileinterview.com, 1 themodel.ie, 1 themodernderm.com, 1 @@ -147354,6 +147745,7 @@ themoneyconverter.com, 1 themonthly.com.au, 1 themorningpodcast.tk, 1 +themoroccoway.com, 1 themortgagereports.com, 1 themostexpensiveworkofart.com, 1 themoto.company, 1 @@ -147395,6 +147787,7 @@ thenewissue.tk, 1 thenewsmill.com, 1 thenewtoy.net, 1 +thenexablack.com, 1 thenexwork.com, 1 thenftlawyer.ca, 1 thenichecast.com, 1 @@ -147427,10 +147820,10 @@ theocrazzolara.tk, 1 theodorahome.co, 1 theodorahome.com.br, 1 -theodoreroosevelt.org, 1 theofficecleaningbros.com.au, 1 theoffsetbinary.co.in, 1 theofleck.com, 0 +theogfx.com, 1 theokouzelis.com, 1 theoldbrewhouse.info, 1 theoldinn.com, 1 @@ -147444,7 +147837,6 @@ theonethaimassage.de, 1 theonikage.tk, 1 theonlineclarion.com, 1 -theonyxzone.com, 1 theoosmetalart.nl, 1 theopaczek.com, 1 theopentrade.com, 1 @@ -147480,6 +147872,7 @@ thepaffy.de, 0 thepaleodiettips.tk, 1 thepalmettopanther.com, 1 +thepalmsshoppingvillage.com.au, 1 thepandacustom.com, 1 thepantry.pk, 1 theparachafamily.tk, 1 @@ -147499,12 +147892,11 @@ thepdx.eu.org, 1 thepearlpost.com, 1 thepearlrb.com, 1 -thepeerreview-iwca.org, 1 thepenguinconspiracy.tk, 1 thepenguinstudio.com, 1 thepenmuse.net, 1 thepennyjar.com, 1 -theperformanceblog.com, 1 +thepepwave.com, 1 theperfumespot.com, 1 theperfumestore.bg, 1 thepetgal.com, 0 @@ -147538,6 +147930,7 @@ thepokerbank.com, 1 thepokerforum.com, 1 thepokerpeople.com, 1 +thepolestudionextdoor.co.nz, 1 thepoliticsofpesticides.com, 1 thepool.tk, 1 thepopcornfactory.com, 1 @@ -147563,6 +147956,7 @@ theproject.bg, 1 theproject.cf, 1 theprojectfactory.com.au, 1 +theprojectstack.com, 1 theprojectx.tk, 1 thepromenadeshopsatsauconvalley.com, 1 theprospectordaily.com, 1 @@ -147593,7 +147987,7 @@ therandombits.com, 1 therap-up.fr, 1 therapedicpremier.com, 1 -therapeute-emdr.fr, 1 +therapeute-emdr.fr, 0 therapeutic-tech.com, 1 therapeuticresources.com, 1 therapeuticsaccelerator.org, 1 @@ -147610,11 +148004,13 @@ therapysearch.com, 1 therapyservices.co.nz, 1 therapysxm.com, 0 +therapywithariana.com, 1 therapyworks.com, 0 therasmusgt.tk, 1 therasmusperu.tk, 1 theravada.tk, 1 theraviso.de, 1 +therbdigroup.com, 1 thereachagency.com, 1 thereader-movie.com, 1 thereadingresidence.com, 1 @@ -147657,7 +148053,7 @@ therigy.net, 1 theriverspecialist.com, 1 therlyn.info, 1 -thermacon.com.au, 0 +thermacon.com.au, 1 thermalbad-therme.de, 1 thermalitowsca.gov, 1 thermentausch-gwhs.at, 1 @@ -147708,7 +148104,6 @@ thesatriantoshow.tk, 1 thesaturdaypaper.com.au, 1 thescarlet.org, 1 -thesceneawards.com, 1 thescienceexplorer.com, 1 thescienceofdeduction.tk, 1 thesciencesurvey.com, 1 @@ -147755,7 +148150,6 @@ thesimplewebcompany.com, 1 thesimpsonian.com, 1 thesimsbrasil.tk, 1 -thesingaporelawyer.com, 1 thesingular.com, 1 thesinhalanews.lk, 1 thesipher.tk, 1 @@ -147838,6 +148232,7 @@ theteaguemovie.tk, 1 thetebodifference.com, 1 thetechdude.ga, 1 +thetechhandyman.ca, 1 thetemplebarpub.com, 1 theterramarket.com, 1 thetfordtwpmi.gov, 1 @@ -147875,12 +148270,12 @@ thetreeradio.com, 1 thetrendspotter.net, 1 thetropics.tk, 1 +thetrueaddress.com, 1 thetrulycharming.com, 0 thetrustai.com, 1 thetruthaboutcreditcards.com, 1 thetruthabouthemp.com, 1 thetruthaboutrealty.com, 1 -thetubecopenhagen.com, 1 thetuxkeeper.de, 0 thetvtraveler.com, 1 thetwelvethirtyclub.com, 0 @@ -147903,8 +148298,6 @@ theupslady.cf, 1 theupslady.ga, 1 theus-traiteur.fr, 1 -theuucc.org, 0 -thevacuumpouch.co.uk, 1 thevalleybucketeers.tk, 1 thevalleys.band, 1 thevalueofarchitecture.com, 1 @@ -147961,9 +148354,8 @@ thewellbeingarchitect.ie, 1 thewest.tk, 1 thewhiteboxxx.com, 1 -thewhitedog9487.xyz, 1 thewhitehorses.tk, 1 -thewhitneypaige.com, 1 +thewhitneypaige.com, 0 thewhitonline.com, 1 thewhy.dk, 1 thewichitan.com, 1 @@ -148107,10 +148499,10 @@ thinkingliberty.com, 1 thinkingnull.com, 0 thinkittech.com, 1 -thinklogistics.com, 1 thinkmarkets.asia, 1 thinkmarkets.com, 1 thinko.it, 1 +thinkoffer.com, 1 thinkon.com, 1 thinkopps.co.uk, 1 thinkprocedural.com, 1 @@ -148203,6 +148595,7 @@ thomaseyck.com, 1 thomasfoster.co, 1 thomasgriffin.io, 1 +thomashalbedl.com, 1 thomashunter.name, 0 thomasjankowski.com, 1 thomaskaviani.be, 1 @@ -148275,7 +148668,6 @@ thpay.com, 0 thprd.gov, 1 thr-kurd.tk, 1 -thrallingpenguin.com, 1 threadabead.com, 1 threadingbuildingblocks.org, 1 threadingcentral.com, 1 @@ -148332,7 +148724,6 @@ threedpro.me, 1 threefantasy.com, 1 threefisheswebdesign.com, 1 -threefoldtransformations.com, 1 threefours.net, 0 threelayerhoodies.co.za, 1 threelayers.co.za, 1 @@ -148356,9 +148747,9 @@ threewire.com, 0 threexxx.ch, 1 threv.net, 1 +thrifle.com, 1 thriftdiving.com, 1 thriftstore.gr, 1 -thriftywp.com, 1 thrillernyc.com, 0 thrillkill.tk, 1 thrillng.com, 1 @@ -148395,12 +148786,10 @@ thugcityrecords.tk, 1 thuisindenbosch.nl, 1 thuisinshertogenbosch.nl, 1 -thuisverplegingvandermeiren.be, 1 thuiswinkel.org, 1 thumbnail-download.com, 1 thumbnails.jp, 1 thumbsupcandy.com, 1 -thumbtack.com, 1 thumbzilla.com, 1 thummer.net, 1 thunder-samp.com, 1 @@ -148437,7 +148826,6 @@ thymesavorpdx.com, 1 thyroidheadnecksurgery.com, 1 thyroidsurgery.com.sg, 1 -ti-aiuto.io, 1 ti-bill.ca, 1 ti-coast.com, 1 ti-js.com, 1 @@ -148484,6 +148872,7 @@ tiarap.org, 1 tiaria.id, 1 tiaskipin.tk, 1 +tiazon-extra.ru, 1 tib.org, 1 tib1.com, 1 tibabeach.com, 1 @@ -148577,9 +148966,9 @@ tidimension.tk, 1 tidit.nl, 1 tidlook.co.il, 1 -tidningenbalans.se, 1 +tidningenbalans.se, 0 tidningenskriva.se, 1 -tidy.chat, 1 +tidy.chat, 0 tidych.at, 1 tidycustoms.net, 1 tidydiary.com, 1 @@ -148614,11 +149003,11 @@ tiepao.cn, 1 tier5industries.com, 1 tierarzt-karlsruhe-durlach.de, 1 -tierarztpraxis-illerwinkel.de, 1 tieredaccess.com, 1 tierfaszienation.de, 1 tiergear.com.au, 1 tierneurologie-leipzig.de, 1 +tiernos.com, 1 tierparadies-muhrielle.org, 1 tierra-indomables.tk, 1 tierracenter.com, 1 @@ -148626,7 +149015,6 @@ tierrahost.com, 1 tierraprohibida.net, 1 tierschutz-niederrhein.de, 1 -tiersigma.com, 1 tiertreff24.de, 1 tiestech.net, 1 tiestofan.tk, 1 @@ -148652,7 +149040,6 @@ tifosy.com, 1 tiftonga.gov, 1 tiga-design.com, 1 -tigalbranding.com, 1 tigercart.shop, 1 tigerconnect.com, 1 tigercraft.org, 1 @@ -148696,8 +149083,8 @@ tijanilawal.com, 1 tijden.nu, 1 tijdvoorgeschiedenis.nl, 1 -tijerascreek.com, 0 tijerasnm.gov, 1 +tijhuis-tuinen.nl, 1 tijo.ch, 1 tik.edu.ee, 1 tik.porn, 1 @@ -148720,7 +149107,7 @@ tikun.tk, 1 tikuter.me, 1 tilcra.de, 1 -tilda.bio, 1 +tilda.bio, 0 tildavps.com, 1 tilde.green, 1 tilde.institute, 1 @@ -148821,6 +149208,7 @@ timeengraver.hu, 1 timefor.tk, 1 timeglass.de, 1 +timeking.nl, 1 timelapsetv.tk, 1 timeless-hairstyles.com, 1 timeless-photostudio.com, 1 @@ -148843,6 +149231,7 @@ timeoutdoors.com, 1 timepassengers.tk, 1 timeprison.tk, 1 +timepro.cloud, 1 timepro.sk, 1 timerace.ml, 1 timeroll.ml, 1 @@ -148886,7 +149275,9 @@ timilion.tk, 1 timing.com.br, 1 timjk.de, 0 +timkatz.com, 1 timknipper.com, 1 +timm-fensterbau.de, 1 timm404.de, 1 timmcclure.ca, 1 timmdek.co.za, 1 @@ -148946,7 +149337,6 @@ tinastouchmassage.com, 1 tindallriley.co.uk, 1 tinderphotos.ga, 1 -tineb.be, 1 tinevogel.dk, 1 tinf.de, 1 tinf15b4.de, 1 @@ -148980,6 +149370,7 @@ tinneke.tk, 1 tinnhanhvietnam.tk, 1 tino-dtb.de, 1 +tint.edu.in, 1 tintamas.tk, 1 tinte24.de, 1 tintenfix.net, 1 @@ -148988,8 +149379,6 @@ tintuonmobile.tk, 1 tinturanaturale.it, 1 tiny-house.ro, 1 -tiny-houses.de, 1 -tiny-img.com, 1 tiny-tattoos.tk, 1 tiny.ee, 1 tiny777.com, 1 @@ -149001,7 +149390,6 @@ tinyemily.com, 1 tinyfont.cf, 1 tinyfont.ml, 1 -tinygo.net, 1 tinyguitars.tk, 1 tinyhomeworld.com, 1 tinyhousebarat.com, 1 @@ -149009,6 +149397,7 @@ tinyhousefinance.com.au, 1 tinylan.com, 1 tinylink.cf, 1 +tinylivingapartments.com, 1 tinylotta.com, 1 tinypixels-app.com, 1 tinyproxy.cf, 1 @@ -149021,7 +149410,6 @@ tinz.eu, 1 tio.run, 1 tiogacountyny.gov, 1 -tiogatours.nl, 0 tiolou.com.br, 1 tipberlin.com, 1 tipi.jp, 1 @@ -149071,6 +149459,7 @@ tirflesia.it, 1 tirgar.org, 1 tirgul-vertiujeni.tk, 1 +tirhani.com, 1 tirion.network, 0 tirion.org, 0 tirionnetwork.de, 1 @@ -149144,7 +149533,7 @@ tivido.nl, 1 tivit-chill.partners, 1 tivit-focus-partners.com, 1 -tiwilandcouncil.com, 1 +tiwilandcouncil.com, 0 tixeconsulting.com, 1 tixel.com, 1 tixfun.com, 1 @@ -149172,12 +149561,12 @@ tju.me, 1 tjupt.org, 1 tjurun.ga, 0 -tjxxzy.com, 1 tjzzz.com, 1 tk-its.net, 1 tk-its.org, 1 tk2net.com, 1 tk3ka.ru, 1 +tka24.my.id, 1 tkacz.pro, 1 tkafinearts.net, 1 tkanemoto.com, 0 @@ -149188,7 +149577,6 @@ tkcm.online, 1 tkd-itf.tk, 1 tkddn.com, 1 -tkglobalexperts.co.za, 1 tkhirianov.tk, 1 tkhsurgery.com, 1 tkic.com.au, 1 @@ -149207,6 +149595,7 @@ tl.gg, 1 tlach.cz, 1 tlaedu.org, 1 +tlaloc.sh, 1 tlca.org, 1 tlchospitality.com, 1 tlcinteriors.com.au, 1 @@ -149241,7 +149630,6 @@ tlsnerd.com, 1 tlsrobot.se, 1 tlumaczenie.com, 1 -tlvflights.com, 1 tlvgraffiti.co.il, 1 tlyphed.net, 1 tlys.de, 1 @@ -149267,7 +149655,6 @@ tmbergtmberg.gq, 1 tmbergtmberg.ml, 1 tmbergtmberg.tk, 1 -tmbpublicite.com, 1 tmbservis.cz, 1 tmc-consulting.com, 1 tmc.com.mt, 1 @@ -149402,6 +149789,7 @@ tobiaswiese.work, 1 tobiefornerod.ch, 1 tobiichi3227.ddns.net, 1 +tobiiro.com, 1 tobinc.ddnss.de, 1 tobis.cloud, 1 tobnm.gov, 1 @@ -149489,7 +149877,6 @@ toernup.eu, 1 toerschaatsenknsb.nl, 1 toetsplatform.be, 1 -toeverynation.com, 1 tofa-koeln.de, 1 tofilmhub.com, 1 tofliving.nl, 1 @@ -149509,7 +149896,7 @@ toh25unblocked.tk, 1 tohevn.tk, 1 toho-tk.com, 1 -tohofc.co.jp, 1 +tohofc.co.jp, 0 tohoku-fukushi.com, 1 tohu.ca, 1 toila.best, 1 @@ -149581,7 +149968,6 @@ tokyotimeline.com, 1 tokyu-hoken.co.jp, 0 tolartx.gov, 1 -tolas.lt, 1 toldos-en-stock.es, 1 toldos-lagavia.com, 1 toldoscaldense.com.br, 1 @@ -149785,6 +150171,7 @@ tonegidoarchief.nl, 1 toneknowledge.com, 1 tonemadison.com, 0 +tonemash.com, 1 toneofchoice.se, 1 toner24.at, 1 toner24.co.uk, 1 @@ -149837,7 +150224,7 @@ tony-foster.co.uk, 1 tony-millard.com, 1 tonyadamsmba.com, 1 -tonyandskye.com, 1 +tonyandskye.com, 0 tonyarcieri.com, 1 tonydaquin.com, 1 tonyfanningphotography.co.uk, 1 @@ -149868,6 +150255,7 @@ tookan.tech, 1 tookhan.tk, 1 tool.lu, 1 +toolbox.computer, 1 toolbox.ninja, 0 toolboxsoftware.tk, 1 toolbuddy.online, 1 @@ -149877,6 +150265,7 @@ toolip.gr, 1 toolkits.design, 1 toolminer.com, 1 +toolpry.com, 1 toolroomrecords.com, 1 tools-services.com.co, 1 tools.pro, 1 @@ -150170,7 +150559,6 @@ topvpn.pl, 1 topwin.la, 1 topwindows-eg.com, 1 -topwipers.com, 1 topwonders.tk, 1 topworkplaces.com, 1 topwowamazing.com, 1 @@ -150220,7 +150608,6 @@ tormox.ml, 1 tornada-cz.cz, 1 tornadica.by, 1 -tornado-map.de, 1 tornado.by, 1 tornadoarchiv.ml, 1 tornadoautos.com, 1 @@ -150259,7 +150646,6 @@ torrecilladelaabadesa.tk, 1 torreconta.pt, 1 torrededonmiguel.tk, 1 -torrelorenzo.com, 0 torremarsalou.com, 1 torrent.fedoraproject.org, 1 torrent.is, 1 @@ -150334,7 +150720,6 @@ totalcarcheck.co.uk, 1 totalcare.co.nz, 1 totalchecklist.com, 0 -totalcontrols.eu, 1 totaleaseventures.co.ke, 1 totalemaildelivery.com, 1 totalenergies.ca, 1 @@ -150358,6 +150743,7 @@ totallegal.com, 1 totally-dakota.tk, 1 totallyjessica.tk, 1 +totallylegit.online, 1 totallylegitimatehosting.ru, 1 totallynotaserver.com, 1 totallyrace.tk, 1 @@ -150411,7 +150797,6 @@ touchmark.tk, 1 touchoflife.in, 1 touchspeak.nl, 0 -touchstoneelectrical.com, 1 touchstoneenergy.co.uk, 1 touchtable.nl, 0 touchweb.be, 1 @@ -150447,11 +150832,10 @@ tourdebouw.nl, 1 tourdefore.com, 1 tourdeltalento.org, 1 -tourdewestwoud.nl, 1 -toureiffel.paris, 1 tourgest.net, 1 touringinmorocco.com, 1 tourism-exegetai.tk, 1 +tourismcentralcoast.com, 1 tourisme-castillonpujols.fr, 1 tourisme-dordogne-paysfoyen.com, 1 tourisme-fronsadais.com, 1 @@ -150543,7 +150927,6 @@ towersstreet.com, 1 towertheatre.org, 1 towessi.tk, 1 -towing-waco.com, 1 towingmoore.com, 1 towingnashvilletn.com, 1 town-night.jp, 1 @@ -150786,6 +151169,7 @@ townofwrightstownwi.gov, 1 townofwyomingwi.gov, 1 townresults.ga, 1 +townscorereport.com, 1 townsendhotel.com, 1 townshendvt.gov, 1 townshipoflower.org, 1 @@ -150830,6 +151214,7 @@ tozawa.site, 1 tp-genie.com, 1 tpa.or.th, 0 +tpa.st, 1 tpala-pg.fr, 1 tpark.jp, 1 tpatja.dev, 1 @@ -150858,13 +151243,12 @@ tppleague.me, 0 tpr.hk, 1 tpress.tk, 1 -tprk.pl, 1 tpro.rocks, 1 tproger.ru, 1 tps.co.nz, 1 tpsdriversgroup.ca, 1 tpsgroup.ca, 1 -tptlive.ee, 1 +tpsite.in, 1 tptq-arabic.com, 1 tpu-ltd.co.uk, 1 tpue.de, 1 @@ -150892,12 +151276,15 @@ trace-electricity.com, 1 trace.guru, 1 trace.moe, 1 +trace.observer, 1 trace2race.com, 1 tracebit.com, 1 tracecompass.com, 1 traceflix.com, 1 tracefour.com, 1 +tracefuse.ai, 1 traceheatinguk.co.uk, 1 +tracehelm.io, 1 tracelight.io, 0 tracer.gg, 1 tracercdn.com, 1 @@ -150928,7 +151315,6 @@ trackerx.ga, 1 trackeye.dk, 1 trackfocusdirect.com, 1 -trackhs.com, 1 trackify.tk, 1 tracking-adac-wtb.de, 1 tracking-app.tk, 1 @@ -150958,7 +151344,7 @@ tractor-pulling.tk, 1 tractorpumps.com, 1 tracxn.com, 1 -tracxtms.com, 1 +tracxtms.com, 0 tracyhaze.net, 1 tracymarinophotography.com, 1 tracyrobbinsking.com, 1 @@ -150970,6 +151356,7 @@ trade-foods.com, 1 trade-platform.tk, 1 trade-wires.co.uk, 1 +trade.aero, 1 trade.gov, 1 trade.mn, 1 trade247.exchange, 1 @@ -150981,7 +151368,6 @@ tradecommander.duckdns.org, 1 tradedesk.co.za, 0 tradeeasy.com, 1 -tradefxp.com, 1 tradeintocash.com, 1 tradeiq.ch, 1 tradeledger.io, 1 @@ -151020,6 +151406,7 @@ tradinews.fr, 1 trading-academy.cf, 1 tradingcenter.it, 1 +tradingclubai.com, 1 tradingcomputers.com, 1 tradingfacile.eu, 1 tradingfuturos.es, 1 @@ -151054,7 +151441,7 @@ trafficjunky.com, 1 trafficlaundering.com, 1 trafficmafia.net, 1 -trafficmanager.com, 0 +trafficmanager.com, 1 trafficmanager.xxx, 1 trafficmgr.cn, 1 trafficmgr.net, 1 @@ -151090,7 +151477,7 @@ trailforks.com, 1 trailheadlines.com, 0 traillcountynd.gov, 1 -trailofbits.com, 1 +trailofbits.com, 0 trailrider.tk, 1 trailrunbern.ch, 1 trails-end.com, 0 @@ -151121,6 +151508,7 @@ trainocate.co.kr, 1 trainocate.com, 1 trainoclock.com, 1 +trainparis.fr, 1 trainplaza.nl, 1 trains.sexy, 1 trainsnmore.tv, 1 @@ -151151,9 +151539,9 @@ trakteren.tk, 1 traktor-troubadour.tk, 1 tralalashow.tk, 1 -tralios.de, 1 tramadol.ga, 1 tramadolhcl.ga, 1 +tramajornalismo.com.br, 1 tramclub-basel.ch, 1 tramikshop.ml, 1 tramitelegal.com.ar, 1 @@ -151201,7 +151589,7 @@ transcend.org, 1 transcend.pk, 1 transcendconsultoriarh.com.br, 1 -transcendentmotherfuckingwebsite.com, 1 +transcendentmotherfuckingwebsite.com, 0 transcendmotor.sg, 1 transcendretirement.net, 1 transchroma.com, 0 @@ -151216,6 +151604,7 @@ transcriptcenter.us, 1 transcriptcentre.com, 1 transcriptservices.org, 1 +transdatelecom.com, 1 transdev.blog, 1 transdevbus.co.uk, 1 transdyne.com, 1 @@ -151226,7 +151615,7 @@ transfer.pw, 1 transferagent.co, 1 transferbags.com, 1 -transferbudapestairport.com, 0 +transferbudapestairport.com, 1 transferd.ru, 0 transfergo.com, 1 transferir.pt, 1 @@ -151244,7 +151633,6 @@ transformation.tf, 1 transformationsnetzwerk-muensterland.de, 1 transformersmmdb.tk, 1 -transformyourmarketing.com, 1 transforumation.com, 1 transfunnel.io, 1 transfurrmation.town, 1 @@ -151270,6 +151658,7 @@ transinbeeld.nl, 1 transit.my.id, 1 transitables.tk, 1 +transitem.cat, 1 transition-care.com, 1 transitllc.ru, 1 transito.tk, 1 @@ -151306,6 +151695,7 @@ transon.tk, 1 transpak-cn.com, 0 transparansijakarta.online, 1 +transparencia.gob.es, 1 transparency.cf, 1 transparency.gov.au, 1 transparencyinadmissions.org, 1 @@ -151319,6 +151709,7 @@ transportdebateauxmp.ca, 1 transportelanzarote.com, 1 transporterlock.com, 0 +transportesegurofnm.com, 1 transportforireland.ie, 1 transporticonline.com, 1 transportnews.tk, 1 @@ -151339,12 +151730,12 @@ transtur.tk, 1 transvault.com, 1 transwank.com, 1 +transwest.com.au, 1 transwestern.com, 1 transylvaniasweets.com, 1 trantrongtri.info, 1 tranvia.info, 1 tranzact.net, 1 -tranzguard.com, 1 tranzron.ga, 1 trapay.net, 1 trapezegroup.de, 1 @@ -151392,6 +151783,7 @@ trattamenti.biz, 1 trattamento-cotto.it, 1 trattamentocotto.roma.it, 1 +trattoria-marano.de, 1 trauerbegleitung-kudla.de, 1 trauertexte.info, 1 traum-und-verantwortung.de, 1 @@ -151410,6 +151802,7 @@ travel-rus-club.tk, 1 travel-smarter.com, 1 travel-to-cuba.tk, 1 +travel-to-morocco-tours.com, 1 travel-trek.tk, 1 travel.earth, 1 travel101.tk, 1 @@ -151573,6 +151966,8 @@ travelwithbender.com, 1 travelzoneshop.com, 1 traverse.com.ua, 1 +travexis-connect.com, 1 +travexis.de, 1 travin.tk, 1 travis.nl, 1 traviscoesd1tx.gov, 1 @@ -151594,8 +151989,6 @@ traza.cl, 1 trazodoneonline.tk, 1 trazodononline.gq, 1 -trazpraca.ninja, 1 -trazpracaclub.com.br, 1 trazs.com, 1 trbanka.com, 1 trbn.me, 1 @@ -151608,6 +152001,7 @@ treadwellgordon.co.nz, 0 treaslockbox.gov, 1 treasure-dragon.com, 1 +treasure-hunter.info, 1 treasureboxgreetings.com, 1 treasureboxhomes.org, 1 treasurecoastconnector.com, 1 @@ -151626,6 +152020,7 @@ treborintl.com, 1 trecebits.com, 1 trechnex.com, 1 +trecobox.com.br, 1 tredicom.com, 1 tredto.com, 1 tree-pe.com, 1 @@ -151659,6 +152054,7 @@ trekamdienstag.de, 1 trekbible.com, 1 trekfanfiction.net, 1 +trekgalactic.org, 1 trekintel.com, 1 trekkerterreur.nl, 1 trekkertirannie.nl, 1 @@ -151734,7 +152130,7 @@ tresmagi.org, 1 tresmaistres.com.br, 1 tresor.it, 1 -tresorit.com, 1 +tresorit.com, 0 tresork.com, 1 tresoro.at, 1 tresoro.de, 1 @@ -151745,7 +152141,7 @@ treurtransport.tk, 1 trevea.fi, 1 trevisotoday.it, 1 -trevo-lotofacil.com.br, 0 +trevo-lotofacil.com.br, 1 trevorblondeel.com, 1 trevorfox.com, 1 trevorkay.tk, 1 @@ -151753,6 +152149,7 @@ trevorwong.ca, 1 trevsanders.co.uk, 1 treworgeycottages.com, 1 +trex-group.com, 1 trexedia.com, 1 trexglobal.com, 1 trexlist.com, 1 @@ -151793,6 +152190,7 @@ triangletv.rs, 1 trianglewaverecords.tk, 1 triathlon.org, 1 +trib.com, 1 tribac.de, 1 tribaldos.com, 0 tribaljusticeandsafety.gov, 1 @@ -151807,7 +152205,6 @@ tribesbeekeepersassociation.com, 1 tribesofneurot.tk, 1 tribetrails.com, 1 -tribetribune.com, 1 tribetron.com, 1 tribinary.tk, 1 tribistovo.tk, 1 @@ -151855,6 +152252,7 @@ triefenbach.eu, 1 triesteprima.it, 1 trieuvy.com, 1 +trifence.ch, 1 trifiro.it, 1 trigardon-rg.de, 1 trigate.io, 1 @@ -151931,7 +152329,7 @@ triollo-rural.tk, 1 triomedspa.com, 1 triomoda.com.br, 1 -trionyx.ph, 1 +trionyx.ph, 0 triop.se, 1 triopsys.nl, 1 triozon.hu, 1 @@ -151961,7 +152359,6 @@ triplofy.com, 1 tripmakery.com, 1 tripod-statement.org, 1 -tripoli.org, 1 tripolinews.tk, 1 tripomanija.tk, 1 tripozo.com, 1 @@ -151982,6 +152379,7 @@ trisolaris.co.uk, 1 trisomie21-normandie.org, 1 tristack.tech, 1 +tristan.cv, 1 tristan.moe, 1 tristanfarkas.one, 1 tristanhall.com, 1 @@ -152010,6 +152408,7 @@ triz.co.uk, 0 trizettoprovider.com, 1 trjct.online, 1 +trjyyw.com, 1 trkhosting.ga, 1 trkmakine.com.tr, 1 trkpuls.tk, 1 @@ -152072,7 +152471,6 @@ tronlaserarena.cz, 1 tronmeo.com, 1 tronnews.co, 1 -tronnews.me, 1 tronnews.news, 1 tronox.com, 1 troomcafe.com, 1 @@ -152123,14 +152521,17 @@ trouvons.org, 1 trouw.nl, 1 trouwrijk.nl, 1 +trovadoor.com, 1 trovaprezzi.it, 1 trovas.ch, 1 trovata.io, 1 trove.com, 1 trowbridgegallery.com, 1 troxal.com, 1 +troxy.io, 1 troy.tech, 1 troyanos.uy, 1 +troyattorney.com, 1 troyfawkes.com, 1 troyflexpay.com, 1 troyhunt.com, 1 @@ -152138,6 +152539,7 @@ troyhuntsucks.com, 1 troyjanda.com, 1 troykao.com, 1 +troymurdermystery.com, 1 troypolicemo.gov, 1 troyroanephotography.com, 1 troystruckandequipment.com, 1 @@ -152191,6 +152593,8 @@ trueasia.ga, 1 truebluebay.com, 1 truebluelending.net, 1 +trueboard.org, 1 +truecalling.ai, 1 truecar.co.il, 1 trueccu.com, 1 truechangepublishing.com, 0 @@ -152198,6 +152602,8 @@ truechimer.com, 1 truecircumcision.tk, 1 trueclarity.io, 1 +truecopy.com, 1 +truecopy.in, 1 truecrypt.org, 1 truedarkness.tk, 1 trueduality.net, 1 @@ -152248,7 +152654,6 @@ truereligionjeanstore.tk, 1 truerizm.ru, 1 trueseeing.com, 1 -truesmithjewelers.com, 1 truessl.shop, 1 truesteamachievements.com, 1 truestor.com, 1 @@ -152260,6 +152665,7 @@ truework.com, 1 truffaoaffidabile.com, 1 truffe.uk, 1 +truffle.co.id, 1 trufflemonkey.co.uk, 1 trufi-association.org, 1 truhlarstvi-fise.cz, 1 @@ -152269,7 +152675,7 @@ trukra.com, 1 trulock.tk, 1 trulycharmed.tk, 1 -trulyhardseltzer.com, 1 +trulyhardseltzer.com, 0 trulypakistan.net, 1 trumag-international.com, 1 trumanlibrary.gov, 1 @@ -152299,13 +152705,14 @@ trusifan.tk, 1 trusitio.com, 1 truskmedia.tk, 1 -trussgenius.com, 1 trussville.gov, 1 +trust-arabia.net, 1 trust-btc.ml, 1 trust.zone, 1 trustarte.com, 1 trustarts.org, 1 trustauth.cn, 1 +trustbook.it, 1 trustboundarysystems.com, 1 trustcert.net, 1 trustcert.org, 1 @@ -152328,6 +152735,7 @@ trustnet.co.il, 0 trustnxt.com, 1 trustology.io, 1 +trustpoint.nz, 1 trustpoint.one, 0 trustradi.us, 1 trustreview.tk, 1 @@ -152349,6 +152757,7 @@ truthmessages.pw, 1 truthsayer.tk, 1 truthsocial.com, 1 +truthua.com, 1 trutrip.co, 1 truugo.com, 1 truvayangin.tk, 1 @@ -152365,8 +152774,8 @@ trvatan.com, 1 trveri.com, 1 trw-reseller.com, 1 -trxnews.today, 1 try-upguard.com, 1 +try.direct, 1 try2hack.it, 1 tryasteel.com, 1 trybabyschoice.com, 1 @@ -152387,7 +152796,6 @@ tryitonline.net, 1 tryjeeves.com, 1 tryk.tk, 1 -tryknow.com, 1 trymegadrol.com, 1 tryndraze.com, 0 trynewjobs.com, 1 @@ -152410,13 +152818,13 @@ tryti.me, 1 trytivi.com, 1 trytn.com, 1 +trytrimi.com, 1 trywesayyes.com, 1 trz.cz, 1 ts-farm.ru, 1 ts-pro-consulting.de, 1 ts-projects.tk, 1 ts-public.tk, 1 -ts-scherer.com, 1 ts3-legenda.tech, 1 ts3.ink, 0 ts3frei.eu, 1 @@ -152441,7 +152849,7 @@ tsbraz.com.br, 1 tsc.gov, 1 tscampus.online, 1 -tscherning.dk, 1 +tscgtmkernel.com, 1 tsdweb.com, 1 tsedryk.ca, 1 tsehaybank.com.et, 1 @@ -152456,7 +152864,7 @@ tsgbit.net, 1 tshirtgenerator.ga, 1 tshirtmemoryquilts.com, 0 -tshirtsangola.co.za, 1 +tshirts.joburg, 1 tshirtsbotswana.co.za, 1 tshirtscapetown.com, 1 tshirtsforsale.co.za, 1 @@ -152476,7 +152884,6 @@ tsigaradiko.com, 1 tsimg.space, 1 tsiolakisfurs.com, 1 -tsironis-olivenoel.de, 1 tsishipping.com, 1 tsja.tk, 1 tsk.ovh, 1 @@ -152535,6 +152942,7 @@ tsv-hittfeld.de, 0 tswg.gov, 1 tswinvest.com, 1 +tsworldtech.com, 1 tsxxlangel.com, 1 tsybanov.com, 1 tt-aepfingen.tk, 1 @@ -152555,7 +152963,6 @@ ttb.gov, 0 ttb.me, 1 ttbonline.gov, 1 -ttc-me.com, 1 ttcak.ddns.net, 1 ttcf.ca, 1 ttchan.org, 1 @@ -152579,14 +152986,12 @@ ttr-home.com, 1 ttr3.eu, 1 ttrade.ga, 1 -tts-assessments.com, 1 ttshapn.org, 1 ttshnurses.org, 1 ttspttsp.com, 1 ttsteel.co, 1 ttsvisas.com, 1 ttswp.com, 1 -ttt-networks.com, 1 tttfic.com, 1 ttug.co.uk, 1 ttunda.com, 1 @@ -152595,6 +153000,7 @@ tty.space, 1 tty1.net, 1 ttyystudio.com, 1 +ttyyuan.com, 1 tu-com.es, 1 tu-muenchen.de, 1 tu6.pm, 1 @@ -152646,11 +153052,9 @@ tudorbotezatu.com, 1 tudorproject.org, 1 tudorrosesamplerguild.com, 1 -tudosobreroca.com, 1 tudou.tw, 1 tudoxwallprinter.com, 1 tueplay.host, 1 -tuercenter.de, 1 tueri.eu, 1 tuerkei-immobilien.tk, 1 tuespr.com, 1 @@ -152668,9 +153072,11 @@ tugether.at, 1 tugi.cz, 1 tugnut.tk, 1 +tuhistoriaenpapel.com, 1 tuimpulso.eu, 1 tuinaportugal.com, 1 tuincentrumhardenberg.com, 1 +tuinenhullebroek.be, 1 tuinenvermeiren.be, 1 tuingereedschappen.net, 0 tuinhout-compleet.nl, 1 @@ -152683,6 +153089,7 @@ tuk-tam.bg, 1 tukan.fr, 1 tukan.hu, 1 +tukango.com, 1 tukangroup.com, 1 tukanorecon.com, 1 tukiart.tk, 1 @@ -152845,6 +153252,7 @@ turgut46.tk, 1 turikslab.tk, 1 turing.bio, 0 +turingmag.com, 1 turisbrasil.com, 1 turisbrasil.com.br, 1 turiscar.pt, 1 @@ -152923,7 +153331,6 @@ turnet.tk, 1 turnierplanung.com, 1 turnkey-ips.com, 0 -turnkeycybersecurityandprivacysolutions.com, 1 turnningpoint.xyz, 1 turnoffmonitor.com, 1 turnoffthelights.com, 1 @@ -152968,11 +153375,11 @@ tushita.info, 1 tusi.co, 1 tusmedicamentos.com, 1 -tusociofinanciero.com, 1 tussenuur.tk, 1 tustin.tk, 1 tustinsmile.com, 1 tusuri.tk, 1 +tusvitaminas.com, 1 tut-kino.tk, 1 tuta.com, 1 tuta.io, 1 @@ -152982,7 +153389,6 @@ tutanota.com, 1 tutanota.de, 1 tutao.de, 1 -tutarot.club, 1 tutdevki.tk, 1 tuteego.com, 1 tutelevisoronline.com, 1 @@ -153018,6 +153424,7 @@ tuttohackintoshcydiajailbreak.org, 1 tuttonotizie.eu, 1 tuttoperlestetica.com, 1 +tuttosemplice.com, 1 tutu.ro, 1 tutucos.com, 1 tutudaju.com, 1 @@ -153114,7 +153521,6 @@ tvmatchen.nu, 1 tvmatsit.com, 1 tvmice.tk, 1 -tvmounting-houston.com, 1 tvnr.be, 1 tvoedelo.ml, 1 tvoia-dietka.tk, 1 @@ -153182,7 +153588,7 @@ twelve-inch-classics.tk, 1 twelvecolonies.tk, 1 twem.ddns.net, 1 -twentyrising.com, 1 +twentyrising.com, 0 twentyrising.de, 1 twentytwogroup.com.au, 1 twerk.tk, 1 @@ -153272,6 +153678,7 @@ twohuo.com, 1 twojapogoda.pl, 1 twojfaktum.pl, 1 +twojsylwester.eu, 1 twoksteaks.com, 1 twolinesmedia.eu, 1 twolittlefleas.co.uk, 1 @@ -153287,14 +153694,12 @@ twopipes.org, 1 tworaz.net, 1 twoseven.xyz, 1 -twospirits.org, 1 twotcast.com, 1 twotogether-railcard.co.uk, 1 twotravel.world, 1 twr.org, 1 twsconsult.de, 1 twslots.online, 1 -twtf.org.uk, 1 twtr.email, 1 twwd.de, 1 twzrd.xyz, 1 @@ -153302,7 +153707,7 @@ txblackbeltacademy.com, 1 txbooster.com, 1 txdesignremodel.com, 1 -txferretrescue.org, 1 +txferretrescue.org, 0 txfnews.com, 1 txguess.com, 1 txhb.gov, 1 @@ -153340,15 +153745,12 @@ ty965.com, 1 tyan.com, 1 tybox.ca, 1 -tyc001.cc, 0 -tyc009.cc, 0 tycaa.org, 1 tycho-station.net, 1 tycho.org, 1 tycho.tk, 1 tycom.at, 1 tycyc88.com, 1 -tyentitaly.com, 1 tyger-mind.com, 1 tygner.com, 1 tygochrum.se, 0 @@ -153462,7 +153864,6 @@ tzcdn.nl, 1 tzchz.pp.ua, 1 tzdn.gq, 1 -tzeribi.fr, 1 tzimisce.com, 1 tzinsurance.com, 1 tziyona.net, 1 @@ -153551,12 +153952,12 @@ uanews.tk, 1 uap-archives.com, 1 uapp.win, 1 -uaprava.com, 1 uareferat.tk, 1 uartpastelpaper.com, 1 uasaumur.com, 1 uash.tk, 1 uasidekick.com, 1 +uasisolutions.com, 1 uasonics.tk, 1 uat-mypfp.co.uk, 1 uateach.tk, 1 @@ -153645,6 +154046,7 @@ ucheba.gq, 1 ucheba.tk, 1 uchicagomedicine.org, 0 +uchuu.online, 1 ucibt.com, 1 ucinvest.com.au, 0 ucix.fr, 1 @@ -153669,12 +154071,14 @@ ucsooregon.gov, 1 uct.cc, 1 uctarna.online, 1 +uctcorp.com, 1 ucware.com, 1 ucybodyinc.com, 1 uczciweit.pl, 1 uczciwestrony.pl, 1 udahni.com, 1 udbina.tk, 1 +udbudsagent.dk, 1 uddataplus.dk, 1 uddate-linthdcp-567app.com, 1 uddi.ng, 1 @@ -153686,6 +154090,7 @@ udeca.org, 1 udeca.org.es, 1 udeca.xyz, 1 +udemad.org, 1 udemons.be, 1 udenit.de, 0 udenlandske-casinoer.dk, 1 @@ -153749,13 +154154,12 @@ ufologiaweb.tk, 1 ufone.net, 1 ufos.tk, 1 -ufplanets.com, 1 ufst.dk, 1 ug.edu.ec, 1 ug.gg, 1 ugarte-zestoa.com, 1 ugbusiness.com, 1 -ugd.ro, 1 +ugd.ro, 0 ugeek.tk, 1 ugfzc3dvcmq6.com, 1 uggedal.com, 1 @@ -153881,7 +154285,6 @@ ukraineoversight.gov, 1 ukrainians.ch, 1 ukrainianwall.com, 1 -ukrainisch-uebersetzer.berlin, 1 ukrainskie-konstrukcii.com.ua, 1 ukrajinski-novyny.cz, 1 ukrajinskinovyny.cz, 1 @@ -153940,7 +154343,6 @@ ulsters.cf, 1 ulstersheriffny.gov, 1 ultahost.com, 1 -ultalabtests.com, 1 ultency.com, 1 ultima-ratio.at, 1 ultimasearch.com, 1 @@ -153958,6 +154360,7 @@ ultimatehalo.tk, 1 ultimatelifesupport.ga, 1 ultimatemapping.tk, 1 +ultimatemotherfuckingwebsite.com, 1 ultimateoptimizer.com, 1 ultimatepaleoguide.com, 1 ultimateparts.nl, 1 @@ -153976,6 +154379,7 @@ ultracompanygc.com, 1 ultracoupon.net, 1 ultradoc.net, 1 +ultrafan.dk, 1 ultrafine.cf, 1 ultrahang-maganrendeles.hu, 1 ultrakbd.com, 1 @@ -153998,6 +154402,7 @@ ultravip.com.br, 1 ultreya.tk, 1 ultrixus.rocks, 1 +ultronweb.ch, 1 ultsociety.com, 1 uludag16.com.tr, 1 ulupono.com, 1 @@ -154042,8 +154447,9 @@ umeligence.cz, 1 umenlisam.com, 1 umetro.ru, 1 -umhcc.org.au, 1 +umi.ac.id, 1 umindup.com, 1 +umine.com, 1 umirt.com, 1 umisonoda.com, 1 umitribe.gov, 1 @@ -154082,7 +154488,6 @@ unacasitadepapel.com, 1 unaffectedsound.tk, 1 unai-yus.tk, 1 -unaidesarrolladorweb.com, 1 unalma.com, 1 unanaciounaseleccio.tk, 1 unanalog.com, 1 @@ -154111,6 +154516,7 @@ unboundgravel.com, 1 unboundmoney.com, 1 unboundplanet.com, 1 +unboundsolutions.cz, 1 unboxed.cf, 1 unboxinspector.com, 1 uncarcerated.org, 1 @@ -154125,7 +154531,9 @@ unclaimedtreasure.com, 1 unclebens-specials.gr, 1 unco.red, 1 +uncoded.ch, 1 uncorporate.cf, 1 +uncorrelatedfinance.com, 1 uncut.wtf, 1 uncuteyes.tk, 1 uncuttype.wtf, 1 @@ -154213,6 +154621,7 @@ ungedient.de, 1 ungeek.fr, 1 ungestepourlamer.org, 1 +ungetsu.net, 1 unghie.com, 1 ungnyo.org, 1 ungolianth.tk, 1 @@ -154302,7 +154711,6 @@ unigamity.com, 1 unihostbrasil.com.br, 1 unik-seo.com, 1 -unik.bg, 1 unikbio.com, 1 unike.tech, 1 unikimages.com, 1 @@ -154335,7 +154743,6 @@ unioncountyncelections.gov, 1 unioncountyor.gov, 1 unioncountyweedcontrol.org, 1 -unioncr.uk, 1 uniondeterapeutas.com, 1 unionems.com, 1 unionflpa.gov, 1 @@ -154450,8 +154857,8 @@ universal-credit.com, 1 universal-mail.ml, 1 universal-progress.com, 1 -universal-tutorial.com, 1 universalbackground.com, 1 +universalbcs.com, 1 universalcircus.tk, 1 universalecology.tk, 1 universalhouse.it, 1 @@ -154480,6 +154887,7 @@ universevision.com, 0 universidadedotenis.com.br, 1 universidadperu.com, 1 +universiteincele.com, 1 universitepourlavie.tk, 1 universitesegou.ml, 1 universitetsforlaget.no, 1 @@ -154532,6 +154940,7 @@ unko.cz, 1 unkrn.com, 1 unleashfido.com, 1 +unlimcall.com, 1 unlimit.com, 1 unlimitedconference.id, 1 unlimiteddsl.ga, 1 @@ -154567,7 +154976,6 @@ unobravo.com, 1 unobrindes.com.br, 1 unoccupyabq.org, 1 -unocha.org, 1 unofficialbpb.tk, 1 unomodels.com, 1 unoodostoques.tk, 1 @@ -154607,13 +155015,13 @@ unric.org, 1 unrwa.org, 1 uns.com, 1 -unsafeexambrowser.com, 1 unsaflok.com, 1 unseeliefilms.com, 1 unseeliepress.com, 1 unser-barsinghausen.de, 1 unser-gartenforum.de, 1 unsigcrazy.art, 1 +unsitemap.com, 1 unsourirealecole.fr, 1 unstable.systems, 1 unstablewormhole.ltd, 1 @@ -154624,7 +155032,6 @@ unstoppableever.com.br, 1 unstoppableunits.com, 1 unsu.link, 1 -unsubscrieb.fyi, 1 unsupervised.ca, 1 untarget.ai, 1 unterfrauner.it, 1 @@ -154701,13 +155108,13 @@ upcloud.cz, 1 upcwifikeys.com, 1 upcycleandcompany.com, 0 -upd.ch, 1 upd.jp, 1 updata.com, 1 update-linthdcp-567app1.com, 1 updatecli.io, 1 updating.social, 1 updefense.io, 1 +updn.no, 1 updoze.com, 1 upengo.com, 1 upestudios.tk, 1 @@ -154723,7 +155130,6 @@ upgeradores.com.br, 1 upgrade.com, 1 upgradeguru.de, 1 -upgradeit.dk, 1 upgradejelaptop.nl, 1 upgradejepc.nl, 1 upgradeloans.com, 1 @@ -154736,7 +155142,6 @@ upguard.in, 1 upguard.org, 1 upguardinc.com, 1 -uphold-15-party.com, 1 upholsterydesign.com.au, 1 uphost.be, 1 uphshrine.net, 1 @@ -154773,6 +155178,7 @@ uppercloud.cf, 1 upperglass.co.uk, 1 uppergroup.co.za, 1 +upperhunterlibraries.net.au, 1 upperinc.com, 1 upperskagittribe-nsn.gov, 1 uppfinnarenc.tk, 1 @@ -154809,11 +155215,13 @@ uprooting.co.uk, 1 upropay.com, 1 upschreven.blog, 0 +upsetalert.ca, 1 upsettunnel.com, 1 upshurda.com, 1 upsilonsigmaphi.us, 1 upskill.cl, 1 upskilllearning.ml, 1 +upskilltechph.com, 1 upskirtmania.tk, 1 upsocial.ga, 1 upstaff.com, 1 @@ -154821,6 +155229,7 @@ upstart.com, 1 upstream-project.eu, 1 upstream.auto, 1 +upswap.io, 1 upsweptcreative.com, 1 uptakedigital.com.au, 1 uptech.biz.id, 1 @@ -154847,7 +155256,6 @@ uq1k.com, 1 uqr.me, 1 uqschool.com, 1 -uquid.com, 1 uquidcoin.com, 1 ur-lauber.de, 1 ur.nl, 1 @@ -154884,7 +155292,6 @@ urbanail.gov, 1 urbanarcana.tk, 1 urbanartisan.cf, 1 -urbanbageecha.com, 0 urbanbikeweamr.ga, 1 urbanbooks.tk, 1 urbancoyoteresearch.com, 0 @@ -154900,7 +155307,6 @@ urbangardening.ga, 1 urbangymfirenze.com, 1 urbanhabitats.org, 1 -urbanhome.jp.net, 1 urbanhost.tk, 1 urbanhotbed.eu, 1 urbanhub.lt, 1 @@ -154974,6 +155380,7 @@ urkraftundkind.de, 1 url.fm, 1 url.rw, 0 +url3c.fr, 1 urlakite.com, 1 urlaub-busreisen.de, 1 urlaub-fuerteventura.info, 1 @@ -155018,7 +155425,7 @@ urologypractice.sg, 1 urologywi.com, 1 uronlinestreams.ga, 1 -urosevesprave.rs, 1 +urosevesprave.rs, 0 urotek.my, 1 uroute.co, 1 urrestarazuserranoabogados.com, 1 @@ -155027,6 +155434,7 @@ urspringer.com, 1 urspringer.de, 1 urstore.ga, 1 +ursula-artphotography.com, 1 ursula-gadalka.tk, 1 ursulafotografie.nl, 1 ursulahadasch.de, 1 @@ -155065,7 +155473,6 @@ usadirectory.tk, 1 usadocnetwork.com, 1 usaestaonline.com, 1 -usaeuc.com, 1 usage.be, 1 usagi-ku.ga, 1 usagm.gov, 1 @@ -155101,7 +155508,6 @@ usb-4u.com, 1 usbcompatible.com, 1 usbevents.co.uk, 1 -usbmakers.com, 1 usbr.gov, 1 usc-software-ug.de, 1 uscc.gov, 1 @@ -155126,6 +155532,8 @@ usds.gov, 1 usdstandard.com, 1 usdt0.to, 1 +use1.net, 1 +useauteur.com, 1 usebosin.gq, 1 usebubbles.com, 1 usecarscout.com, 1 @@ -155134,7 +155542,6 @@ used255.xyz, 1 useful-thing.ru, 1 usefulinsight.com, 1 -usefultravelsite.com, 1 useguestlist.com, 1 usehalo.com, 1 useloom.com, 1 @@ -155228,6 +155635,8 @@ uspsoig.gov, 1 usrspace.at, 1 uss-atlas.de, 1 +uss-sequoia.com, 1 +ussee.org, 1 ussemiquincentennial.gov, 1 ussfcu.org, 1 ussm.gov, 1 @@ -155310,7 +155719,7 @@ utilitarianism.org, 1 utilitarianism.uk, 1 utilitarismo.com, 1 -utilitiesconstructionsettlement.com, 1 +utilitiesconstructionsettlement.com, 0 utilitronium-shockwave.com, 1 utilitronium.com, 1 utilizaciya.com, 1 @@ -155334,7 +155743,6 @@ utopicestudios.com, 1 utopique.net, 1 utopyaforum.tk, 1 -utp.edu.pe, 1 utrantor.org, 1 utrymningsplaner.se, 1 uttama.ga, 1 @@ -155515,6 +155923,7 @@ vaamflytt.se, 0 vaan-arbeidsrecht.nl, 1 vaanivarta.com, 1 +vaar.pp.ua, 1 vaaraniemi.se, 1 vaartjesboten.nl, 1 vaartuighuren.nl, 1 @@ -155569,7 +155978,6 @@ vadoo.tv, 1 vadosware.io, 1 vadras.rs, 1 -vadstudio.md, 1 vadstudio.site, 1 vaeksthjulet.net, 1 vael.town, 1 @@ -155634,6 +156042,7 @@ valdecaballeros.tk, 1 valdega.org, 1 valdelcubo.tk, 1 +valderos.co.uk, 1 valdifunes.com, 1 valdor2.com, 1 valdres.tk, 1 @@ -155669,7 +156078,6 @@ valentinstag.ga, 1 valentinstag.ml, 1 valentinvesa.ro, 1 -valentinziel.de, 1 valeo.pl, 1 valerian.tk, 1 valeriansaliou.name, 1 @@ -155677,6 +156085,7 @@ valerielittlewood.uk, 1 valeriymaleev.com, 1 valeryvenom.net, 1 +valescarodrigues.com.br, 1 valetez.com, 0 valeuraenergy.com, 1 valgagym.ee, 1 @@ -155684,6 +156093,7 @@ valhallastrengthsthbne.com.au, 1 valia.health, 1 valiakhmetov.tk, 1 +valiant-os.com, 1 valiant-staging.com, 1 valiant.finance, 1 valiantprep.org, 1 @@ -155783,6 +156193,7 @@ value.gd, 1 value4coins.com, 1 valueaddedonline.com, 1 +valueengine.de, 1 valuemax.com.sg, 1 valuemetric.gr, 1 valuemomentum.com, 1 @@ -155795,7 +156206,6 @@ valueplanet.cz, 1 valueplanet.net, 1 valueresearchonline.com, 1 -values.com, 1 valueseed.net, 1 valuetree.in, 1 valuewayllc.com, 1 @@ -155806,7 +156216,6 @@ valuta-tools.nl, 1 valuuttamuunnin.com, 1 valvulasvaneo.com, 1 -valyrsec.com, 1 vam-podarok.tk, 1 vam3.com, 1 vamaplatform.com, 1 @@ -155884,6 +156293,7 @@ vandommelenart.com, 0 vandor.sx, 1 vandortgroep.nl, 1 +vandortools.com, 1 vandratuulepark.ee, 1 vandrielschoenen.nl, 1 vandyhacks.org, 1 @@ -155903,7 +156313,6 @@ vanheede.com, 1 vanhelsing.ml, 1 vanhelsing.tk, 1 -vanherle-dakdichting.be, 1 vanhoudt-usedcars.be, 1 vanhoutte.be, 0 vanhove.biz, 1 @@ -155942,6 +156351,7 @@ vantru.is, 1 vanuithartenziel.nl, 1 vanvanlines.com, 1 +vanweenenbouwbedrijf.nl, 1 vanwertcountyohio.gov, 1 vanwijngaardentegelzetters.nl, 1 vanwoensei.xyz, 1 @@ -155951,17 +156361,14 @@ vanwunnik.com, 1 vanya.ac, 1 vanya.as, 1 -vanya.cl, 1 vanya.click, 1 vanya.ec, 1 -vanya.gs, 1 vanya.hn, 1 vanya.im, 1 vanya.is, 1 vanya.men, 1 vanya.ph, 1 vanya.sc, 1 -vanya.sh, 1 vanyasem.ru, 1 vanyavpn.ac, 1 vanyavpn.ag, 1 @@ -155989,7 +156396,6 @@ vapecom-shop.com, 1 vapecraftinc.com, 0 vapecrunch.com, 1 -vapeexperts.com, 1 vapehousebh.com, 1 vapehouseksa.com, 1 vapeking.co.za, 1 @@ -156013,7 +156419,9 @@ vara.se, 1 varaani.tk, 1 varalaval.com, 1 +varaus.fi, 1 varcare.jp, 1 +varco.co.nz, 1 varda.nl, 1 vardenafilhcl.gq, 1 varela-electricite.fr, 1 @@ -156075,6 +156483,7 @@ vashidverivikna.com.ua, 1 vashmatrass.ru, 1 vashprazdnik.tk, 1 +vasi.ro, 1 vasilev.wtf, 1 vasilevo.tk, 1 vasilijeojdanic.ml, 1 @@ -156090,6 +156499,7 @@ vastgoedcert.nl, 1 vastgoedfaculteit.be, 1 vastu.co.il, 1 +vasuni.com, 1 vasya-com.tk, 1 vasya-odyag.tk, 1 vasyaka.cf, 1 @@ -156130,8 +156540,10 @@ vaultguard.sh, 1 vaultify.club, 1 vaultlabs1226.com, 1 +vaultlessmail.com, 1 vaultoy.com, 1 vaultproject.io, 0 +vaultree.com, 1 vaults.me, 1 vaur.fr, 1 vaurio.tk, 1 @@ -156142,6 +156554,7 @@ vawic4retailers.org, 1 vawlt.io, 1 vaxbook.com, 1 +vaxowave.co.za, 1 vaxowave.com, 1 vayaport.com, 1 vayaprecio.es, 1 @@ -156155,12 +156568,12 @@ vbeem.com, 0 vbelgorode.tk, 1 vbetcn.com, 1 +vbl.co.th, 1 vbql.me, 1 vbquiz.ir, 1 vbsoft.cz, 1 vbulletin.forum, 1 vburyatii.ml, 1 -vbwinery.com, 1 vc-dealer.jp, 1 vc.enf.br, 1 vc123.xyz, 0 @@ -156194,7 +156607,6 @@ vcraftaudio.com, 1 vcross.cf, 1 vcs-steuern.de, 1 -vcsafrica.com, 1 vcsjones.codes, 1 vcsjones.com, 1 vcsource.tk, 1 @@ -156206,7 +156618,7 @@ vdagestan.tk, 1 vdalabs.com, 1 vdbongard.com, 1 -vdc.re, 0 +vdc.re, 1 vddruckwerk.de, 1 vdele.mobi, 1 vdheyden.net, 0 @@ -156269,8 +156681,10 @@ vedettesdeparis.fr, 1 vedev.io, 1 vedicmatching.com, 1 +vedik.com.br, 1 vedma-praktik.com, 1 vedom.ru, 1 +vedos.cz, 1 vedran-zulin.from.hr, 1 veeam.com, 1 veebiaken.ee, 1 @@ -156334,6 +156748,7 @@ vehicledocs.ie, 1 vehicleenquiry.service.gov.uk, 1 vehiclehistory.gov, 1 +vehicleinforcheck.com, 1 vehicleinfozone.com, 1 vehiclematsuk.com, 0 vehicletax.service.gov.uk, 1 @@ -156391,6 +156806,8 @@ velonustraduction.com, 1 velopinion.fr, 1 velor-x-trike.com, 1 +velora-argentina.com, 1 +velora.pet, 1 velorete.com, 1 veloroute.hamburg, 1 velos-ae.gr, 1 @@ -156407,11 +156824,14 @@ veloztaxi.com, 1 velpak21.com, 1 velpay.io, 1 +velsa.io, 1 velthuysemulder.nl, 1 +veltiqa.cl, 1 veltoratrade.com, 1 veltrissolutions.com, 1 veltrixlabs.tech, 1 velu.cc, 1 +veluma.world, 1 velutina.ovh, 1 veluwegroenonderhoud.nl, 1 veluwerally2002.tk, 1 @@ -156426,8 +156846,8 @@ velvpay.com, 1 velyn.my.id, 1 vema-bg.com, 1 +vemag.de, 1 vemm-reunion.org, 1 -vemtambem.com, 1 venacifuentes.tk, 1 venali.tk, 1 venangocountypa.gov, 1 @@ -156445,6 +156865,7 @@ vendela.tk, 1 vendermicasarapido.com.mx, 1 vendi.it, 1 +vendiamotempo.com, 1 vendingmachines.tk, 1 vendingsierra.com, 1 vendiot.com, 1 @@ -156457,12 +156878,12 @@ vendoo.co, 1 vendor-finance.uk, 1 vendoraudit.org, 1 +vendorbaju.com, 1 vendorconnect.nyc, 1 vendordiagram.com, 1 vendordiagram.eu, 1 vendordiagram.net, 1 vendordiagram.org, 1 -vendorful.com, 1 vendorleasing.uk, 1 vendorpedia.com, 1 vendre-tout.com, 1 @@ -156519,11 +156940,9 @@ venndordiagram.eu, 1 venndordiagram.net, 1 venndordiagram.org, 1 -venndy.com, 1 vennet.fr, 1 vennprime.com, 1 venomxsecurity.com, 1 -venotion.net, 0 venstar.com, 1 ventajasdesventajas.com, 1 ventana.kz, 1 @@ -156576,15 +156995,18 @@ venturacourtreporting.com, 1 venturavwparts.com, 1 venturebanners.co.uk, 1 +venturebeast.tech, 1 venturepointe.com, 1 ventures.lgbt, 1 ventureslgbt.com, 1 +venturi.systems, 1 venturum.com, 1 venturum.de, 1 venturum.eu, 1 venturum.net, 1 ventuseo.com, 1 ventusnavigation.com, 1 +venueiq.life, 1 venuescanner.com, 1 venuescanner.net, 1 venurse.net, 1 @@ -156600,6 +157022,8 @@ ver-me.com, 1 ver.ma, 0 vera-1.ru, 1 +veracruzadegas.com.br, 1 +veracyber.fr, 1 verae.tk, 1 verafin.com, 1 verakoubova.net, 1 @@ -156615,7 +157039,6 @@ verascityscience.com, 1 verasoie.fr, 1 verata.co, 0 -veratlas.com, 1 veraxiss.me, 1 verbacxss.it, 1 verbatimreporting.com, 1 @@ -156624,7 +157047,6 @@ verbier-lechable.com, 1 verbierfestival.com, 0 verboom.co.nz, 1 -verboon.info, 1 verbundkredit.ag, 1 verbundkredit.biz, 1 verbundkredit.com, 1 @@ -156638,6 +157060,7 @@ vercel.email, 1 vercel.org, 1 vercel.sh, 1 +vercoes.co.nz, 1 vercountyil.gov, 1 verdant.works, 1 verdantcommerce.co.nz, 1 @@ -156665,7 +157088,6 @@ vergesense.com, 1 vergessen.cn, 1 vergezogt.nl, 1 -vergiakademisi.org, 1 vergihesaplayici.com, 1 vergilevhasi.com.tr, 1 vergraal.tk, 1 @@ -156677,6 +157099,7 @@ veri2.com, 1 veriage.io, 1 veribound.com, 1 +verid.cc, 1 verif-docs.com, 1 verifalia.com, 1 verificajudicial.com, 1 @@ -156698,6 +157121,11 @@ verifyyourip.com, 1 verikom.kiev.ua, 1 verindra.ga, 1 +verinity.app, 1 +verinity.at, 1 +verinity.ch, 1 +verinity.de, 1 +verinity.io, 1 veriomed.com, 1 veripages.com, 1 veripn.com, 1 @@ -156707,6 +157135,7 @@ verisresidential.com, 1 veritablescreening.com, 1 veritafineviolins.com, 1 +veritap.ai, 1 veritas-data.de, 1 veritashomeschoolers.org, 1 veritaslab.co, 1 @@ -156752,6 +157181,8 @@ verliefde-jongens.nl, 1 verlocke.de, 1 verloja.com, 1 +verloren-ehering.de, 1 +verloren.info, 1 verloskundigcentrumraak.nl, 1 verloskundigenkrimpen.nl, 1 vermaeckbouw.nl, 1 @@ -156760,6 +157191,7 @@ vermageringsdieetpillen.tk, 1 vermellcollection.com, 1 vermilionsheriff.gov, 1 +vermish.com, 1 vermogeninkaart.nl, 1 vermont.builders, 1 vermontvilletownshipmi.gov, 1 @@ -156780,13 +157212,13 @@ veroncloud.com, 1 veronic.hu, 1 veronicasuperguide.nl, 1 +veroo.com.br, 1 veropharm.ru, 1 veroraai.com, 1 veros-volejbal.tk, 1 veros.com, 1 verrame.no, 1 verry.org, 1 -versa-networks.com, 0 versagercloud.de, 1 versahub.com, 1 versaillestourisme.fr, 1 @@ -156810,6 +157242,7 @@ versicherungen-werner-hahn.de, 1 versicherungsmakler-in-flensburg.de, 1 versium.net, 1 +versologie.cz, 1 verspai.de, 1 versprite.com, 1 verstaanwiskunde.co.za, 1 @@ -156821,6 +157254,7 @@ versus-projects.com, 1 versusforum.tk, 1 vert.website, 1 +vertaflow.io, 1 vertanex.com, 1 vertaxaccountants.co.uk, 1 vertebrates.com, 1 @@ -156836,6 +157270,7 @@ vertexlife.ml, 1 vertexlife.tk, 1 vertexsmb.com, 1 +vertexstrategy.io, 1 vertexventures.co.il, 0 vertexventures.sg, 0 vertexvps.com, 1 @@ -156970,7 +157405,6 @@ vetlanda.se, 1 vetnet.info, 1 vetocaller.com, 1 -vetofish.com, 1 vetosh.kz, 1 vetosh.tk, 1 vetpraxis.de, 1 @@ -156999,11 +157433,12 @@ veverusak.cz, 1 vevidocs.de, 1 vevioz.biz.id, 1 -vevioz.com, 0 +vevioz.com, 1 vevioz.my.id, 1 vevioz.web.id, 1 vex.ch, 1 vexavium.com, 1 +vexazera.com, 1 vexgym.com.br, 1 vexingdreams.com, 1 vezirkopru.bel.tr, 1 @@ -157025,6 +157460,7 @@ vg-resource.com, 1 vg43.pt, 1 vgatest.nl, 1 +vgbassoonist.com, 1 vgbf.tk, 1 vgbmusicstore.com, 1 vgcheat.com, 1 @@ -157102,6 +157538,7 @@ vibesstudiobd.com, 1 vibgyyor.com, 1 vibioh.fr, 1 +vibiscoitos.com, 1 vibraagenciadigital.com.br, 1 vibramycin100mg.tk, 1 vibrastrait.com, 1 @@ -157203,6 +157640,7 @@ vicyu.com, 1 vidacalendaria.pt, 1 vidaliala.gov, 1 +vidancy.com, 1 vidanuevaparaelmundo.org, 0 vidaparalela.tk, 1 vidapositiva.tk, 1 @@ -157250,7 +157688,6 @@ videoless.video, 1 videoload.co, 1 videomagic.ai, 1 -videomail.io, 1 videomaker.it, 1 videomaniya.ml, 1 videomarketermastery.com, 1 @@ -157286,7 +157723,6 @@ viditour-golf.nl, 1 viditour-zorg.nl, 1 vidkovaomara.si, 1 -vidlen.com, 1 vidlen.ru, 1 vidlyoficial.com, 1 vidmount.com, 1 @@ -157333,7 +157769,6 @@ viega.sk, 1 viega.us, 1 viekelis.lt, 1 -vielfalt.link, 1 vielleserin.de, 1 vielskerserier.dk, 1 viemeister.com, 1 @@ -157409,6 +157844,7 @@ vigilo.cf, 1 vigilo.ga, 1 vigl.biz, 1 +viglafort.com, 1 vigliano.com, 1 vigneshwar.me, 1 vignette.eco, 1 @@ -157455,7 +157891,6 @@ viko.ai, 1 viko.co.uk, 1 vikramkulkarni.com, 1 -vikrantkakad.in, 1 viksbergshr.se, 1 viktorch.in, 1 viktorchin.online, 1 @@ -157479,6 +157914,7 @@ vilafloridacapivari.com.br, 1 vilafrancaeagles.tk, 1 vilamarija.tk, 1 +vilameluna.com, 1 vilamoura-car-hire.com, 1 vilans.nl, 1 vilantice.cz, 1 @@ -157493,12 +157929,6 @@ vildlaithailand.gq, 1 vildlaithailand.tk, 1 vilettecouvreur.fr, 1 -vilgain.at, 1 -vilgain.de, 1 -vilgain.hu, 1 -vilgain.it, 1 -vilgain.pl, 1 -vilgain.ro, 1 vilhe.com, 1 vilhe.fi, 1 vilife.tk, 1 @@ -157509,6 +157939,7 @@ villa-gockel.de, 1 villa-olivari.it, 1 villa-toscana.berlin, 1 +villaazaharcatral.com, 1 villablancaluarca.es, 1 villablino.tk, 1 villaboavida.nl, 0 @@ -157600,6 +158031,7 @@ villagevetcattery.co.uk, 1 villagockel.de, 1 villahistoria.ml, 1 +villahunt.co, 1 villainsclothing.com.au, 1 villakiralik.com, 1 villalmanzo.tk, 1 @@ -157702,7 +158134,6 @@ vindafrid.nu, 1 vindafrid.se, 1 vindelicum.eu, 1 -vindeurgent.ro, 0 vindipoker.dk, 1 vindnu.dk, 1 vinduesgrossisten.dk, 1 @@ -157717,6 +158148,7 @@ vineyardscartersville.com, 1 vingaardshus.dk, 1 vingt.me, 1 +vingtconsulting.com, 1 vingtsuncoach.tk, 1 vingugaas.ee, 0 vinhodosommelier.com.br, 1 @@ -157795,7 +158227,6 @@ vip21bit.com, 1 vip4553.com, 1 vip45bet365.com, 0 -vip5414.com, 1 vip6132.com, 1 vipaairportsp3.gov, 1 vipbox.city, 1 @@ -157840,7 +158271,7 @@ vipspinsamurai1.com, 1 vipspinsamurai11.com, 1 vipstat.pl, 1 -viptransfer.pt, 1 +viptoolkit.com, 1 viptravel.tk, 1 vipturismo-europa.com, 1 viptvnow.com, 1 @@ -157929,6 +158360,7 @@ virtualcomputer.ml, 1 virtualdesign.tk, 1 virtualdesignmedia.com, 1 +virtualfairwaysne.co.uk, 1 virtualgayhd.com, 1 virtualgovernance.tk, 1 virtualife.tk, 1 @@ -157957,7 +158389,6 @@ virtualvaults.com, 0 virtualx.de, 1 virtubox.net, 1 -virtubox.xyz, 1 virtubroker.com.mx, 1 virtueturkey.ga, 1 virtuology.com, 0 @@ -157965,7 +158396,6 @@ virturl.de, 1 virtus-group.com, 1 virtus.institute, 1 -virtussecuritysac.com.pe, 1 virty.cz, 1 virus.pm, 1 virusah1n1.com, 1 @@ -157975,11 +158405,13 @@ vis2real.de, 1 visa-master.tk, 1 visacentre.pk, 1 +visacross.com, 1 visaforest.com, 1 visafruit.com, 1 visalia.gov, 1 visaliafarmersmarket.com, 0 visalogy.com, 1 +visamx.info, 1 visaop.com, 1 visapourailleurs.fr, 0 visapro.com, 1 @@ -158006,6 +158438,7 @@ viseomail.fr, 1 viseotools.fr, 1 viseotop.fr, 1 +viserno.com, 1 viseum.co.uk, 1 visforvaccinated.gov, 1 vishenka.tk, 1 @@ -158016,6 +158449,7 @@ vishvam.cloud, 1 vishwashantiyoga.com, 1 visibilitygurus.com, 1 +visibilitypulse.online, 1 visiblethoughts.co.uk, 1 visicctv.com, 1 visio.org, 0 @@ -158041,7 +158475,7 @@ visionnissancanandaiguaparts.com, 1 visionnocturne.tk, 1 visionpeak.net, 1 -visionr.com, 0 +visionr.com, 1 visionsloveseducators.com, 1 visiontaiwan.info, 1 visionthroughknowledge.com, 1 @@ -158057,7 +158491,6 @@ visit-sanbenedettodeltronto.it, 1 visit-thailand.tk, 1 visit-us.com, 1 -visit.natal.br, 1 visit1000islands.com, 1 visitabudhabi.ae, 1 visitationbvm.net, 1 @@ -158066,6 +158499,7 @@ visitbelfast.com, 0 visitbinghamton.org, 1 visitcambridgeshirefens.org, 1 +visitcentralcoast.com.au, 1 visitcentralnewyork.com, 1 visitcmafest.com, 1 visitcolumbusga.com, 1 @@ -158090,6 +158524,7 @@ visitorsguide.is, 1 visitosalnes.com, 1 visitpembrokenc.com, 1 +visitqonos.com, 1 visits.ga, 1 visits.tk, 1 visitsalo.fi, 1 @@ -158138,7 +158573,9 @@ visualizing.info, 1 visualmarketingdeals.com, 1 visualmasters.nl, 1 +visualprod.fr, 1 visualtec.host, 1 +visualwebnovel.com, 1 visudira.com, 1 visunext.de, 1 visuri.de, 1 @@ -158151,6 +158588,7 @@ vitabrillanti.com, 0 vitaclinicliverpool.co.uk, 1 vitacore.ru, 1 +vitaflows.de, 1 vitafybrands.de, 1 vitahook.pw, 1 vitahost.ml, 1 @@ -158215,6 +158653,7 @@ vitaya.bg, 1 vitechteam.com, 0 vitekvirtualsolutions.com, 1 +viteleaf.com, 1 viteoscrm.ch, 0 viteragro.com.br, 0 viterbio.com, 1 @@ -158234,12 +158673,15 @@ vitralart.es, 1 vitrerieagathoise.com, 1 vitrier-cologny.ch, 1 +vitrier-genthod.ch, 1 vitrier-morges.ch, 1 vitrier-vernier.ch, 1 +vitrier-versoix.ch, 1 vitriercarouge.ch, 1 vitriernyon.ch, 1 vitriersuisse.ch, 1 vitrinachasov.cf, 1 +vitriumoticas.com.br, 1 vitromex.tk, 1 vitsearch.link, 1 vitto.tk, 1 @@ -158293,6 +158735,7 @@ vivavogue.de, 1 vivavox.es, 1 vivavox.tk, 1 +vivawebs.com, 1 vive.com, 1 vive.link, 1 vivearts.com, 1 @@ -158301,6 +158744,7 @@ vivekparekh.ca, 1 vivekselvakumar.ga, 1 vivelawir.eu, 1 +vivelo.live, 1 vivemedialab.com, 1 vivemercadosaludable.com, 1 vivemontecarlo.tk, 1 @@ -158322,8 +158766,8 @@ vivianargiriou.gr, 0 vivianlms.ga, 1 vivianmaier.cn, 1 +vivianya.com, 1 vivichannel.tk, 1 -vivid-academy.com, 1 vivide.re, 1 vividinflatables.co.uk, 1 vividseats.com, 1 @@ -158364,6 +158808,7 @@ viznet.tv, 1 vizyonpara.com, 1 vizzarragrup.com, 1 +vja.studio, 1 vjeff.com, 1 vjk.dk, 1 vjn.ee, 1 @@ -158427,17 +158872,15 @@ vkusercontent.ru, 1 vkusniy.shop, 1 vkusnyashka.tk, 1 -vkustradicii.com.ua, 1 vkusvill.ru, 1 vkut.me, 1 vl.cloudns.cc, 1 -vl9.de, 1 +vl9.de, 0 vlaamsegemeenschap.tk, 1 vlaamsetollers.tk, 1 vlaardingen-enzo.tk, 1 vlaardingen.nl, 1 vlachoshome.com, 1 -vladday.ru, 1 vladgazeta.gq, 1 vladikavkaz-city.tk, 1 vladikavkaz-news.net, 1 @@ -158462,7 +158905,6 @@ vladreview.com, 1 vlads.blog, 1 vladsfads.com, 1 -vladwm.com, 0 vlaggen-landen.nl, 1 vlak.hr, 1 vlakem.net, 1 @@ -158518,9 +158960,7 @@ vmotic.com, 1 vmpf.nl, 1 vmsengineering.com, 1 -vmst.io, 1 vmsunergy.com, 1 -vmsurgery.org, 1 vmtowing.com, 1 vmttitlesearch.com, 1 vmug.pl, 1 @@ -158553,7 +158993,6 @@ vns3780.com, 1 vns5020.com, 0 vns5353.com, 0 -vns5656.com, 1 vns5858.vip, 1 vns5959.com, 0 vns6262.com, 0 @@ -158572,14 +159011,17 @@ vnumngr.com, 1 vnxf.vn, 1 vnya.loan, 1 +vnyxit.com, 1 voanaboa.pt, 1 voapt.by, 1 voatz.com, 1 +vobila.dedyn.io, 1 vocaband.com, 1 vocably.de, 1 vocalcoach.com, 1 vocaloid.my, 1 vocalviews.com, 1 +vocare.com.au, 1 vocationaujourdhui.fr, 1 vocationnetwork.org, 1 vocomo.de, 1 @@ -158621,7 +159063,6 @@ vogel-verhuizingen.nl, 1 vogelbus.ch, 1 vogelwereld.tk, 1 -vogler.name, 1 vogt.sh, 1 vogue.co.uk, 1 vogue.cz, 0 @@ -158638,6 +159079,7 @@ voicedialogueinternational.com, 1 voicehotkey.com, 1 voicemaker.in, 1 +voicemoat.com, 1 voicenation.com, 1 voiceofcricket.tk, 1 voiceofmp.com, 1 @@ -158672,7 +159114,6 @@ voigt-owschlag.de, 1 voigtarchitects.co.uk, 1 voileux.org, 1 -voimix.ee, 1 voinikoo.ee, 1 voinuocsago.com, 1 voinuocthienmy.com, 1 @@ -158702,6 +159143,7 @@ volatile.pw, 1 volatilesystems.org, 1 volatilethunk.com, 1 +volatility.farm, 1 volatiliza.ga, 1 volatimer.com, 1 volcain.io, 1 @@ -158728,7 +159170,7 @@ volebnykompas.sk, 1 volg.ar, 1 volgar.name, 1 -volgares.ru, 1 +volgares.ru, 0 volgavibes.ru, 0 volgograd-34.tk, 1 volgograd-news.net, 1 @@ -158737,6 +159179,7 @@ volha.tk, 1 volichat.com, 1 volin.tk, 1 +volitiontech.ai, 1 volk.ga, 1 volk.gq, 1 volker-gropp.de, 1 @@ -158904,6 +159347,7 @@ voprosnik.gq, 1 voprosownet.tk, 1 voquent.com, 1 +voragoal.com, 1 vorandor.com, 1 vorbis.cz, 1 vorbrodt.blog, 1 @@ -159022,6 +159466,7 @@ votrepolice.ch, 0 votrespace.ca, 1 votrevoyagedenoces.fr, 1 +vouchers.ly, 1 vouchers4u.com, 1 vought-vip.com, 1 vous-etre-utile-ceidf.fr, 1 @@ -159048,6 +159493,7 @@ voxengo.com, 1 voxfa.com, 1 voxio.nl, 1 +voxmachina.audio, 1 voxpopuli.com, 1 voxreach.com.au, 1 voxturba.com, 1 @@ -159081,7 +159527,7 @@ vozhatik.cf, 1 vozhuo.cf, 1 vozolmarketim.com, 1 -vp-arc.org, 0 +vozpop.com.br, 1 vp.ls, 1 vparilke.su, 1 vpbuilds.com, 1 @@ -159118,7 +159564,6 @@ vps.tg, 1 vpsao.org, 1 vpsboard.com, 1 -vpsbudget.com, 1 vpsdream.dk, 1 vpsgongyi.com, 0 vpsji.com, 1 @@ -159237,7 +159682,6 @@ vrallart.com, 1 vramoni.ru, 1 vran.ga, 1 -vranckaertsitsolutions.be, 1 vrandopulo.ru, 1 vratix.com, 0 vravi.tech, 1 @@ -159267,6 +159711,7 @@ vresonline.gr, 1 vresportal.co.uk, 1 vrfoodchannel.com, 1 +vrfy.lol, 1 vrg-gruppe.de, 1 vrg.de, 1 vrh.net.au, 1 @@ -159313,6 +159758,7 @@ vroad.org, 1 vroedvrouwella.be, 1 vron.house, 1 +vroomeat.fr, 1 vroomvroomvroom.co.nz, 1 vros.co.id, 1 vrostove.tk, 1 @@ -159402,6 +159848,7 @@ vshop.ir, 1 vsl-defi.ch, 0 vsl.de, 1 +vslilienfeld.ac.at, 1 vsmsk.ru, 1 vsnfoto.com, 1 vsoflavors.com, 1 @@ -159418,7 +159865,6 @@ vssnederland.nl, 1 vstavropole.tk, 1 vstrikovaci-lisy.cz, 1 -vsure.com.au, 1 vsx.ch, 1 vsz.me, 1 vszp.sk, 1 @@ -159431,6 +159877,7 @@ vtech.com, 1 vtechda.com, 1 vtechhealthcare.com, 1 +vtechkids.com, 1 vtechsoln.in, 1 vtechsolution.com, 1 vtescebu.com, 1 @@ -159449,12 +159896,12 @@ vtuber-schedule.info, 1 vtubes.tokyo, 1 vtupro.com, 1 -vtvnetwork.org, 1 vtwonen.be, 1 vtwonen.nl, 1 vubgenerali.sk, 1 vue-sur-mer.com, 1 vuelacaruru.com, 1 +vuelolabs.com, 1 vueworks.com, 1 vugt.me, 1 vuirnaim.com, 1 @@ -159469,7 +159916,6 @@ vulgar-teens.tk, 1 vulkan-russia-pro.com, 1 vulkan-russia.vip, 1 -vulkan.org, 1 vulkanplatinum-klub.com, 1 vulkanprotektor.rs, 1 vulkanruhe.com, 1 @@ -159488,6 +159934,7 @@ vulpix.uk, 1 vultrhxl.com, 1 vulva.observer, 1 +vulva.photos, 1 vumerity.com, 0 vunn.com, 1 vuojolahti.fi, 0 @@ -159539,7 +159986,6 @@ vwforum.ro, 1 vwfs.ru, 1 vwfsfcp.com, 1 -vwfsrentacar.co.uk, 1 vwh-kunden.de, 1 vwittich.de, 1 vwo.com, 1 @@ -159657,6 +160103,7 @@ w4b.in, 1 w4eg.de, 1 w4g-security.com, 1 +w4kst.org, 1 w4nvu.org, 1 w4solutions.de, 1 w4tec.de, 1 @@ -159722,6 +160169,7 @@ wackyblackie.eu.org, 1 wackyblackie.ml, 1 wackys.com, 1 +wacotrib.com, 1 wacsports.com, 1 waddenzee.nl, 1 wade.gdn, 0 @@ -159742,6 +160190,7 @@ wafflemakers.ca, 1 waflow.com.br, 1 wafreight.com, 1 +wagawise.com, 1 wage-feeg.gc.ca, 1 wagener-gmbh.com, 1 wageproof.com, 1 @@ -159794,10 +160243,10 @@ waiwei.ml, 1 waixingrenfuli.vip, 0 wajtc.com, 1 -wak.io, 1 wakastream.cc, 1 wakatime.com, 1 wakaya.ma, 1 +wake.com.tw, 1 wake.gov, 1 wakecounty.gov, 1 wakecountynorthcarolina.ml, 1 @@ -159810,10 +160259,12 @@ waketrace.xyz, 1 waketurbulencereport.eu, 1 wakeup-media.de, 1 +wakeup2121.org, 1 wakeupeire.com, 1 wakeupworld.ml, 1 wakeworks.io, 1 waki-ci.com, 1 +wakilii.org, 1 wakinglighting.com, 0 wakixpregnancyregistry.com, 1 wakka.moe, 1 @@ -159825,7 +160276,6 @@ wakullavotes.gov, 1 wakuwakustudyworld.co.jp, 0 walaamohamed.com, 1 -walax.com, 1 waldenvt.gov, 1 waldenwritingcenter.ml, 1 waldfescht.de, 1 @@ -159901,7 +160351,6 @@ walls.io, 0 wallsauce.com, 1 wallsbreaker.top, 1 -wallstreetmojo.com, 0 wallstreporting.com, 1 walltech.tk, 1 walltime.info, 1 @@ -159941,6 +160390,7 @@ waltontrust.org, 1 waltthirion.com, 1 walutomat.pl, 1 +walzemdata.com, 1 wam-tech.com, 1 wamdajo.com, 1 wamia.wa.gov.au, 1 @@ -160138,6 +160588,7 @@ warrock-es.tk, 1 warrs.com, 1 wars.aw, 1 +wars.cat, 1 warsawtravelers.pl, 1 warschild.org, 1 warsh.moe, 1 @@ -160160,6 +160611,7 @@ warwick.institute, 1 warwickbucks.gov, 1 warworld.ml, 1 +was-logistics.com, 1 was.ch, 1 wasagrafiska.se, 1 wasatchcounty.gov, 1 @@ -160208,7 +160660,6 @@ washingtonwatchdog.org, 1 washitavalleybank.com, 1 washoecounty.gov, 1 -washroomcubicles.co.uk, 1 washtenaw.gov, 1 washup.tk, 1 wasilewskicourtreporting.com, 1 @@ -160227,11 +160678,9 @@ waste.domains, 1 waste.gov, 1 wasteindustrytraining.com, 1 -wastelinq.com, 1 wasteoilcollection.co.nz, 1 wastewaterservicesltd.co.uk, 0 wastewise.com, 0 -wastrel.ch, 1 wasunserwartet.de, 1 wasys.com.br, 1 wat.sh, 1 @@ -160256,14 +160705,15 @@ watchersrealm.tk, 1 watches-of-switzerland.co.uk, 1 watchexpo.ru, 1 +watchfaces.co, 1 watchfinder.ae, 0 watchfinder.at, 0 watchfinder.au, 0 watchfinder.be, 0 watchfinder.bg, 0 watchfinder.ch, 0 -watchfinder.co.uk, 1 -watchfinder.com, 1 +watchfinder.co.uk, 0 +watchfinder.com, 0 watchfinder.com.de, 0 watchfinder.cy, 0 watchfinder.cz, 0 @@ -160296,6 +160746,7 @@ watchful.net, 1 watchgeneration.fr, 1 watchmagazine.cz, 1 +watchmanwire.com, 1 watchmedia.ru, 1 watchmoviesgallery.com, 1 watchparts-and-tools-okayama.co.jp, 1 @@ -160378,6 +160829,7 @@ waterwatcherseducation.com.au, 1 waterworkscondos.com, 1 watestsite.ovh, 1 +watfordcyclehub.org.uk, 1 watfordjc.uk, 1 watgroeitwaar.com, 1 watgroeitwaar.eu, 1 @@ -160398,6 +160850,7 @@ watto29.co.jp, 1 wattpad.com, 1 wattstrading.co.uk, 1 +wattuu.nl, 1 watvindtnederland.com, 1 watzijnmijnkerntalenten.nl, 1 wau.edu, 1 @@ -160437,7 +160890,7 @@ wavor.nl, 1 wavor.site, 1 wavorweb.com, 1 -wavu.be, 1 +wavu.be, 0 wavycat.me, 1 waw-werbeagentur.de, 1 wawak.pl, 1 @@ -160453,13 +160906,12 @@ wayaberolodge.com, 1 waybinary.com, 1 waycoolmail.tk, 1 -waycraze.com, 1 waycrossga.gov, 1 wayfairertravel.com, 0 wayfarium.com, 1 wayflyer.com, 1 wayizi.com, 0 -waymobetta.com, 1 +waymo.com, 1 wayna-tech.com, 1 waynecochran.net, 1 waynecountyil.gov, 1 @@ -160489,6 +160941,7 @@ wazaap.be, 1 waze.com, 1 wazefaher.tk, 1 +wazeibra.com, 1 wazuh.com, 1 wazzap.tk, 1 wb-cw.tech, 1 @@ -160506,7 +160959,6 @@ wbeme2.com, 1 wbenoordoostpolder.nl, 1 wbfisheries.in, 1 -wbg.li, 1 wbldc.in, 1 wblinks.com, 1 wbmonitor.de, 1 @@ -160541,6 +160993,9 @@ wccbi.org, 1 wccsports.com, 1 wccu.coop, 1 +wccu.creditunion, 1 +wccu.finance, 1 +wccu.financial, 1 wcei.com.au, 1 wcema-ok.gov, 1 wcfauth.de, 1 @@ -160551,7 +161006,7 @@ wcools.tk, 1 wcpo.com, 1 wcrca.org, 0 -wcreativestudio.com, 1 +wcreativestudio.com, 0 wcru.one, 1 wcrwd.it, 1 wcs.rs, 1 @@ -160631,6 +161086,7 @@ wearehackerone.com, 1 weareher.com, 1 weareincognito.org, 1 +weareindata.com, 1 wearejh.com, 1 wearemojo.com, 1 wearemoso.nl, 1 @@ -160651,6 +161107,7 @@ wearewp.pro, 1 wearit.tk, 1 wearitout.com.au, 1 +wearpave.dog, 1 wearvintage.ml, 1 wearwolf.tk, 1 weasyl.com, 1 @@ -160742,6 +161199,7 @@ web3enabler.com, 1 web3firewall.xyz, 1 web3mantra.com, 1 +web3trackers.com, 1 web404.net, 1 web74.ga, 1 web76.tk, 1 @@ -160822,6 +161280,7 @@ webcatchers.nl, 0 webce.com, 1 webce.de, 1 +webcertificate.com, 1 webchangedetector.com, 1 webcheck.pt, 1 webcheckout.net, 1 @@ -160988,6 +161447,8 @@ weblax.fr, 0 weblead.vip, 1 weblegion.tk, 1 +webli.com.br, 1 +webli.cx, 1 weblian.ml, 1 webliberty.ru, 1 weblibrary.cf, 1 @@ -161038,12 +161499,12 @@ webnestify.cloud, 1 webnetmail4u.com, 1 webnexty.com, 1 +webnorth.com, 1 webo.agency, 1 webo.pl, 1 weboflies.tk, 1 webofthingsmarwane.xyz, 1 weboke.nl, 1 -weboperater.rs, 1 weboth.fr, 1 webowell.fr, 0 webp.tf, 1 @@ -161074,7 +161535,6 @@ webquests.tk, 1 webradio-maroc.tk, 1 webrage.net, 1 -webrand.com, 1 webranko.tk, 1 webrebels.org, 0 webregie.de, 1 @@ -161129,7 +161589,6 @@ websitepromotion.ml, 1 websiterent.ca, 1 websites4business.ca, 1 -websitesbyfrank.ca, 1 websitesbymark.co.uk, 0 websitesbywordpress.com, 1 websitesdallas.com, 1 @@ -161147,7 +161606,6 @@ webspider.tk, 1 webspotter.nl, 1 webssupport.ga, 1 -webstackdefense.com, 1 webstaff.xyz, 1 webstar.tk, 1 webstarsltd.com, 1 @@ -161224,7 +161682,6 @@ weccode.com, 1 wechange.de, 1 wecleanbins.com, 1 -wecoach.gg, 0 wecobble.com, 1 wecodify.nl, 1 wecprojects.ca, 1 @@ -161288,7 +161745,6 @@ weed.ren, 1 weedgranadagrowshop.com, 1 weedlife.com, 1 -weedworthy.com, 1 weefriendskids.com, 1 week-numbers.org, 1 weekdone.com, 1 @@ -161317,7 +161773,6 @@ wefazemos.com.br, 0 wefitboilers.com, 1 wefixmd.com, 1 -wefixpdf.com, 1 wefloridafinancial.com, 1 weforgood.org.tw, 1 wefound.com.tw, 1 @@ -161388,7 +161843,6 @@ weirdorks.net, 1 weirdorks.org, 1 weirdorks.social, 1 -weirdserver.com, 1 weis.bz, 1 weispfenning.net, 1 weiss-sophrologie.fr, 1 @@ -161426,10 +161880,10 @@ weld.gov, 1 weldersnet.tk, 1 weldynz.co.nz, 1 -welfareness.icu, 1 welivetogether.com, 1 welkomins-hertogenbosch.nl, 1 welkominshertogenbosch.nl, 1 +well-rhythm.com, 1 well.bayern, 1 wella-download-center.de, 1 wellbalancedhealth.ie, 1 @@ -161437,6 +161891,7 @@ wellbeing360.com.au, 1 wellbutrinxlgeneric.cf, 1 wellcarehealthsurvey.com, 1 +wellcet.com, 1 wellcomemdhealth.com, 1 welldoc.com, 0 welldocinc.com, 1 @@ -161448,6 +161903,7 @@ wellfieldhomes.co.uk, 1 wellgora.com, 1 wellgreece.com, 1 +wellhopefamily.co.uk, 1 wellington.govt.nz, 1 wellist.com, 0 wellman3drealty.com, 1 @@ -161460,8 +161916,8 @@ wellness-spa-suedtirol.com, 1 wellnessandco.com.au, 1 wellnesscheck.net, 1 -wellnesscoaches.org, 1 wellnesscreatives.com, 1 +wellnesshotel.guide, 1 wellnessmassage-eitorf.de, 1 wellnesstravelhub.com, 1 wellnesszone.com, 1 @@ -161476,6 +161932,7 @@ wellstonok.gov, 1 wellthpicks.com, 1 wellthy.com, 1 +welltrack.com.au, 1 wellzapness.com, 1 welmo.fr, 1 welom.tk, 1 @@ -161492,6 +161949,7 @@ welpo.me, 1 welsh-dictionary.ac.uk, 1 welshccf.org.uk, 1 +welshcoffee.com, 1 welshterrier.tk, 1 welshyak.tk, 1 welspunindia.com, 1 @@ -161516,7 +161974,6 @@ wemissyou.tk, 1 wenanmao.com, 1 wenceslas.org.uk, 1 -wenchieh.com, 1 wend.academy, 1 wendelluguetto.com.br, 1 wender.media, 1 @@ -161556,6 +162013,7 @@ weple.gq, 1 wepowder.com, 1 weprenup.com, 1 +werank.work, 1 werbe-markt.de, 1 werbe-sonnenbrillen.de, 0 werbeagentur-website.de, 1 @@ -161580,7 +162038,6 @@ werken-bij-inwork.nl, 1 werken-in-de-techniek.nl, 1 werkenbijbakkerbedrijfswagens.nl, 1 -werkenbijblokker.nl, 1 werkenbijbrabantsedelta.nl, 1 werkenbijbuvo.nl, 1 werkenbijdata4.nl, 1 @@ -161622,7 +162079,9 @@ wes-electronic.de, 1 wesaveit.de, 1 wesecom.com, 1 +wesender.nl, 1 weserv.nl, 1 +weserve.pro, 1 weservice.pro, 1 weserwebworks.de, 1 weshopy.com, 1 @@ -161656,12 +162115,12 @@ westburlingtoniowa.gov, 1 westburne.ca, 1 westburyfestival.org.uk, 1 +westbycu.org, 1 westcartilafdnc.gov, 1 westcentralaor.org, 1 westcentralmls.com, 1 westchester-il.gov, 1 westchesteranxietytreatment.com, 1 -westchesterwine.com, 1 westcoastaggregate.com, 1 westcoastcastles.com, 1 westcoastdrones.net, 1 @@ -161683,7 +162142,6 @@ westernpadermatologist.com, 1 westernparts.com, 0 westernriversidecog.gov, 1 -westernskydental.com, 0 westernwaterca.gov, 1 westerwald-esport.de, 1 westexec.com, 1 @@ -161728,6 +162186,7 @@ westonreed.com, 1 westoveral.gov, 1 westoverwv.gov, 1 +westoz.com.au, 1 westozfunds.com.au, 1 westpack.com, 1 westparkestates.co.uk, 1 @@ -161738,7 +162197,6 @@ westporthoney.com, 1 westportisland.gov, 1 westportok.gov, 1 -westreet-store.com, 1 westsalemwi.gov, 1 westsidechildrenstherapy.com, 1 westsidepackaging.com.au, 1 @@ -161798,6 +162256,7 @@ wexller.com, 1 weyerstall1880.de, 1 weygers.be, 1 +weyug.com, 1 wf-bigsky-master.appspot.com, 1 wf-demo-eu.appspot.com, 1 wf-demo-hrd.appspot.com, 1 @@ -161861,6 +162320,7 @@ whampoa.com, 1 whanau.org, 0 whapn.sg, 1 +wharfevalleywindows.co.uk, 1 wharfwise.com, 1 what-do-kittens-need-to-eat.tk, 1 what-does-kittens-need.ml, 1 @@ -161950,7 +162410,7 @@ wheelycool.tech, 1 wheelycoolgear.com, 1 wheelyking.tk, 1 -when-release.ru, 1 +when-release.ru, 0 when.fm, 0 when2watch.live, 1 whengirlsplay.com, 1 @@ -161983,11 +162443,14 @@ whichgender.today, 1 whichphish.com, 1 whichwasfirst.com, 1 +whichwaythewindblows.com, 1 whieda-plovdiv.com, 1 whiff-of-grape.ca, 0 whigfieldspain.tk, 1 whil.com, 1 +whilet.ru, 1 whilsttraveling.com, 1 +whimate.com, 1 whimsies.org, 1 whimsylens.ai, 1 whing.org, 1 @@ -162007,6 +162470,7 @@ whisky.money, 1 whiskydb.de, 1 whiskydrivers.tk, 1 +whiskyhunter.net, 1 whiskymy.com, 1 whiskyshop.com.my, 1 whiskyshop.my, 1 @@ -162138,6 +162602,7 @@ whm.gc.ca, 1 whnpa.org, 1 who-calledme.com, 1 +who-i-am.net, 1 who.pm, 0 whoagirls.com, 1 whoagirls.net, 0 @@ -162150,6 +162615,7 @@ whodiduexpect.com, 1 whois.az, 1 whoisamitsingh.com, 1 +whoiscoming.io, 1 whoiscuter.ml, 1 whoiscutest.ml, 1 whoisgeni.us, 1 @@ -162181,7 +162647,6 @@ whorepresentsme.us, 1 whosapeach.tk, 1 whosememeisthis.com, 1 -whosneo.com, 1 whosoldmyemail.ca, 1 whosoldmyemail.com, 1 whosyourdaddy.ml, 1 @@ -162218,7 +162683,6 @@ wiazarymt.pl, 1 wibbe.link, 1 wiberg.nu, 1 -wibrido.com, 1 wibu.moe, 1 wicamb.com, 1 wicca-witchcraft.com, 1 @@ -162227,8 +162691,8 @@ wiche.edu, 1 wichm.de, 1 wichtel-lager.de, 1 -wichtel-umzuege.de, 1 wickedsick.tk, 1 +wickedstocks.com, 1 wickedvibes.tk, 1 wickersmith.com, 1 wickerwoman.com, 0 @@ -162261,7 +162725,6 @@ widner.xyz, 1 widoj.gov, 1 widowsquad.com, 1 -widsl.de, 1 widum.ru, 1 widwap.net, 1 widzenia.pl, 1 @@ -162291,7 +162754,6 @@ wifi-hack.com, 0 wifi-names.com, 1 wifi-ooe.at, 1 -wifi.com.vn, 1 wifi.id, 1 wificonnect.cc, 1 wifidjelfa.com, 1 @@ -162554,6 +163016,7 @@ wildfortune4.io, 1 wildfortune44.io, 1 wildfortune5.io, 1 +wildfortune6.io, 1 wildfortune8.io, 1 wildfortune9.io, 1 wildfurloweenwest.org, 1 @@ -162665,9 +163128,10 @@ willowink.com.au, 1 willowparktx.gov, 1 willowpassdentalcare.com, 1 -willowpf.com, 1 willows.uk.net, 1 +willpatrick.co.uk, 1 wills.co.tt, 1 +willsafe.org.uk, 1 willsey.cloud, 1 willship.co.nz, 0 willsigal.com, 1 @@ -162678,7 +163142,6 @@ willtc.co.uk, 1 willtc.uk, 1 willturner.tk, 1 -willvision.com, 0 willwoodworth.com, 1 willywangstory.com.tw, 1 willywangstory.org, 1 @@ -162706,7 +163169,6 @@ wimasons.foundation, 1 wimbledon.com, 0 wimbledon.org, 1 -wimlanphen.nl, 1 wimmer-informatik.eu, 1 wimmer-musik.eu, 1 wimmer-software.de, 1 @@ -162723,6 +163185,7 @@ win.ch, 1 win11.ren, 1 win21bit.com, 1 +win2chill.com, 1 win5analysis.net, 1 win7stylebuilder.com, 0 win7tips.tk, 1 @@ -162752,6 +163215,7 @@ windaero.com, 1 windandweather.com, 1 windedvertigo.com, 1 +windesheim-student-result-system-test-001.azurewebsites.net, 1 windforme.com, 1 windgucker.de, 1 windhamct.gov, 1 @@ -162780,12 +163244,12 @@ windr.win, 1 windrainflood.com, 1 windrawwin.com, 1 -windriverpediatrics.com, 0 windrunner.se, 1 windscribe.com, 1 windsock-app.com, 1 windsor.ai, 1 windsor.co.th, 1 +windsor.ie, 1 windsorelectricalservice.com, 1 windsorhoteis.com, 1 windsorite.ca, 1 @@ -162850,6 +163314,7 @@ wingstop.fr, 1 winhelp21.tk, 1 winhistory-forum.net, 1 +winibis.de, 1 winit.ie, 1 winkelcentrumputten.nl, 1 winkelmanaz.gov, 1 @@ -162921,7 +163386,6 @@ winthrythsrealm.com, 1 wintodoor.com, 1 winull.de, 1 -winup.org, 1 winvio.com, 1 winwildfortune.io, 1 winwitharval.co.uk, 1 @@ -162930,17 +163394,14 @@ winzero.tk, 1 winzong.cn, 1 winzong.net, 1 -wiocha.pl, 1 wip-tideplatform.uk, 1 wipa.tk, 1 wipayfinancial.com, 1 wipeoutracing.tk, 1 -wiphcai.ca, 1 wipp.bayern, 1 wippie.se, 1 wippler.at, 1 wippy.tk, 1 -wiproccs.com, 1 wir-jugendhilfe.de, 0 wir-machen-druck.de, 1 wir-pflegen-zuhause.at, 1 @@ -162997,6 +163458,7 @@ wirtgen-group.com, 1 wirtgen.de, 1 wirtschaftsberater-website.de, 1 +wirtschaftsinformatik-it.de, 1 wis.no, 1 wisak.me, 1 wisal.org, 1 @@ -163052,16 +163514,9 @@ wishlist.net, 1 wishlog.fun, 1 wishmail.cf, 1 -wiska.cn, 1 -wiska.co.kr, 1 -wiska.co.uk, 1 -wiska.com, 1 -wiska.com.br, 1 -wiska.es, 1 -wiska.in, 1 -wiska.lat, 1 wiskundeonderzoek.tk, 1 -wism.io, 1 +wism.io, 0 +wismolabs.com, 1 wisn.com, 1 wisnaes.com, 1 wisniewskamakeup.pl, 1 @@ -163087,7 +163542,7 @@ witcher-rz.com, 1 witcher.tk, 1 witchhunt.tk, 1 -witchsrocksurfcamp.com, 1 +witchsrocksurfcamp.com, 0 witchthicktits.tk, 1 witez.net, 1 witgoedexpert.com, 1 @@ -163110,7 +163565,6 @@ withkarann.com, 1 withoutessence.io, 1 withoutlovenotcount.ru, 1 -withpersona.com, 1 withprocess.com, 1 withsunglasses.co.uk, 1 withthegrid.com, 1 @@ -163217,7 +163671,7 @@ wmar2news.com, 1 wmasphaltservices.com, 1 wmataoig.gov, 1 -wmcuk.net, 1 +wmcuk.net, 0 wmcurrency.exchange, 1 wmcurrency.online, 1 wmcurrency.uk, 1 @@ -163262,7 +163716,7 @@ woadzs.com, 1 woah.how, 1 woai.cf, 1 -woaiuhd.com, 1 +woaiuhd.com, 0 woba.cf, 1 woba.ml, 1 wobako.pl, 1 @@ -163294,11 +163748,12 @@ wogame.works, 1 woge.cf, 1 woge.ml, 1 +woglutheran.org, 1 woh.org, 0 woheni.de, 1 wohlgefuehl-massagen.de, 1 wohlpa.de, 0 -wohnbau-mobilitaet.ch, 1 +wohnbau-mobilitaet.ch, 0 wohnberatung-wien.at, 1 wohnfrisch.de, 1 wohnsitz-ausland.com, 1 @@ -163313,7 +163768,6 @@ wohnungsbaukredit.net, 1 wohnungsbaukredit.org, 1 wohnungsmarktbeobachtung.de, 1 -wohnzimmer-koch.de, 1 woi.vision, 1 wojart.pl, 1 wojciechowka.pl, 1 @@ -163343,7 +163797,6 @@ wolfflabs.com, 1 wolffolins.com, 1 wolffproperties.com, 0 -wolfgang-kerschbaumer.at, 1 wolfgang-kerschbaumer.com, 1 wolfgang-kerschbaumer.net, 1 wolfgang-kloke.de, 1 @@ -163429,7 +163882,6 @@ wonderfulworldofwalliams.tk, 1 wonderhive.org, 1 wonderhost.info, 1 -wonderkind.de, 1 wonderlab.ml, 1 wonderland-server.net, 1 wonderleaks.gq, 1 @@ -163529,6 +163981,7 @@ woohooyeah.nl, 1 wookstar.com, 1 woolcollection.com, 1 +woolfitsolutions.com, 1 woolfplumbing.com.au, 1 woolyss.com, 1 woomu.me, 1 @@ -163539,7 +163992,7 @@ woongjininc.com, 1 woonplein.tk, 1 woontegelwinkel.nl, 1 -woonverkoop.be, 1 +woonwaarde-advies.nl, 1 woop.co.nz, 1 woopie.com, 0 woopiq.com, 0 @@ -163556,13 +164009,16 @@ wootware.co.za, 1 woovi.com, 1 wopnin.fyi, 1 +wopr.systems, 1 wops.cc, 1 woralelandia.com, 1 worcade.com, 1 worcesterbouncycastlehire.co.uk, 1 worcesterbouncycastles.co.uk, 1 worcestercu.com, 1 +worcesterdivers.com, 1 worcestermd.gov, 1 +worcestermurdermystery.com, 1 worcesterpethydrotherapy.com, 1 worcestervets.co.uk, 1 worcestervetsreferrals.com, 1 @@ -163571,6 +164027,7 @@ wordbits.net, 0 wordcounter.net, 1 wordfast.com, 1 +wordhasitmedia.com, 1 wordmon.net, 1 wordmon.site, 1 wordnietvindbaar.nl, 1 @@ -163606,7 +164063,6 @@ workaholics.tk, 1 workandwanderlust.blog, 1 workaround.run, 1 -workat.tech, 1 workatclever.com, 1 workatclever.us, 1 workatclevyr.us, 1 @@ -163629,6 +164085,7 @@ workerselforganisation.ga, 1 workersframe.ch, 1 workflowy.com, 1 +workforcedevelopment.co.nz, 1 workforwarriors.org, 1 workfromhomebusinessopportunities.cf, 1 workfromhomebusinessopportunities.tk, 1 @@ -163649,6 +164106,7 @@ workinestonia.com, 0 working-group-cloudsecurityalliance.org, 1 workingclassmedia.com, 1 +workingflo.com, 1 workinghardinit.work, 1 workingmachine.info, 1 workingpapers.biz, 1 @@ -163657,14 +164115,12 @@ workingtalent.nl, 1 workinit.com.au, 1 workinitiatives.com.au, 1 -workinnorway.no, 1 workiva.com, 1 workjustice.com.au, 0 worklinepc.com, 1 worklizard.com, 1 workmax.com, 1 workmaxidenta.lt, 1 -workmeter.com, 1 workology.com, 1 workona.com, 1 workonclimate.org, 1 @@ -163677,6 +164133,7 @@ workreveal.biz, 1 works-ginan.jp, 1 works.studio, 1 +worksbydd.com, 1 worksheets-to-print.com, 1 workshop-assets.com, 1 workshop-email-content.com, 1 @@ -163700,7 +164157,6 @@ workvision.net, 1 workwithdata.com, 1 workwithusaid.gov, 1 -workzly.in, 1 world-backgammon-association.com, 1 world-citizen-report.com, 1 world-creator.se, 1 @@ -163713,6 +164169,7 @@ world-politics.tk, 1 world-selena.tk, 1 world-tanks.tk, 1 +world.org, 1 worldarmy.tk, 1 worldatwork.org, 1 worldbelow.tk, 1 @@ -163781,6 +164238,8 @@ worldlanguage.tk, 1 worldline.com, 1 worldluxuryhome.tk, 1 +worldmaparabic.com, 1 +worldmappdf.com, 1 worldmarathons.tk, 1 worldnewsinbox.ga, 1 worldnewsphoto.tk, 1 @@ -163825,7 +164284,7 @@ worldvisa.tk, 1 worldwallstreet.tk, 1 worldwar2collector.tk, 1 -worldwidecounsel.net, 1 +worldwidecounsel.net, 0 worldwidescience.org, 1 worldwinesweb.be, 1 worldwitness.org, 1 @@ -163878,9 +164337,8 @@ wound-doc.co.uk, 1 wouter.site, 1 wouterbruijning.nl, 1 +woutercodeert.nl, 1 wouterkobes.nl, 1 -wouterpetri.com, 1 -wouterpetri.xyz, 1 wouterslop.com, 1 wouterslop.eu, 1 wouterslop.nl, 1 @@ -163928,7 +164386,7 @@ wozwaardeloket.nl, 1 wozwebdesign.com.br, 1 wp-assistance.fr, 1 -wp-blog.co.kr, 1 +wp-blog.co.kr, 0 wp-bundle.co, 0 wp-cloud.fi, 0 wp-creativ.de, 1 @@ -163974,6 +164432,7 @@ wpginvest.com, 1 wpglossy.com, 1 wpguvenlik.com, 1 +wphelp247.com, 1 wphelpwithhomework.tk, 1 wphost.nl, 1 wphosting.ovh, 1 @@ -163996,7 +164455,7 @@ wpnews.ml, 1 wpnews.tk, 1 wpnovice.tk, 1 -wpocs.com, 1 +wpocs.com, 0 wpoptimalizace.cz, 1 wppbki1.com, 1 wprank.net, 1 @@ -164017,6 +164476,7 @@ wpsne.com.au, 1 wpspeedcare.com, 1 wpspeedking.com, 1 +wpspeedspecialist.com, 1 wpstaq.com, 1 wpsupportlab.com, 1 wptests.tk, 1 @@ -164044,7 +164504,6 @@ wrc-results.com, 1 wrd48.net, 1 wrdcfiles.ca, 1 -wrdf.org, 0 wreckadvisors.com, 1 wrecked.cf, 1 wrecked.tk, 1 @@ -164066,7 +164525,6 @@ wrightcountymo911.gov, 1 wrighthassall.co.uk, 1 wrightsecurity.co, 1 -wrightslawfirm.com, 0 wrighttownshipottawami.gov, 1 wrighttownshippa.gov, 1 wringer.ga, 1 @@ -164077,6 +164535,7 @@ writeandedit-for-you.com, 1 writeaword.tk, 1 writebrigade.com, 1 +writeclifford.com, 1 writememos.com, 1 writemyessay.today, 1 writemyessays.com, 1 @@ -164155,7 +164614,6 @@ wssinfo.org, 1 wsspalluto.de, 1 wssv.ch, 0 -wstein.org, 1 wstore.co.id, 0 wsug.gq, 1 wsv-pfeffingen.de, 1 @@ -164184,6 +164642,7 @@ wubuwu.com, 1 wuchipc.com, 1 wuchoamoveis.com.br, 1 +wudangkungfu.com, 0 wuellenweber.net, 1 wuerfel.wf, 1 wuerfelmail.de, 1 @@ -164225,6 +164684,7 @@ wunderbarespolen.de, 1 wunderkarten.de, 0 wunderlist.com, 1 +wundernas.ch, 1 wundertraining.com.au, 1 wundi.net, 1 wunschpreisauto.de, 1 @@ -164241,6 +164701,7 @@ wusu.tk, 1 wuxian.ml, 0 wuyepc.com, 1 +wuyeyingy.com, 1 wuyifan.ga, 1 wuyuan.io, 1 wuziqian211.top, 0 @@ -164401,7 +164862,6 @@ www.vino.com, 0 www.wordpress.com, 0 www.zdnet.com, 1 -www68277.com, 1 wwwclan.tk, 1 wwweb.be, 1 wwwebdesignstudios.com, 1 @@ -164494,13 +164954,13 @@ wzutti.com, 0 wzxaini9.com, 0 wzyboy.org, 1 -x-6.pl, 1 x-76.eu, 1 x-breezen.asia, 1 x-change.ro, 1 x-charge.uk, 1 x-electronica.com, 1 x-files.tk, 1 +x-iweb.ru, 1 x-kamera.de, 1 x-lan.be, 1 x-mas-lounge.cafe, 1 @@ -164547,8 +165007,6 @@ x6729.co, 1 x6957.co, 1 x7719.com, 0 -x77jj.com, 1 -x77nn.com, 1 x7blog.com, 1 x81vv.com, 1 x90.im, 1 @@ -164579,16 +165037,19 @@ xanadu.ai, 1 xanalys.org, 1 xanderbron.tech, 1 +xanderw.xyz, 1 xanedu.com, 1 xanthipolis.gr, 1 xanthopoulos.me, 1 xants.de, 1 xanyl.de, 1 xanzhu.com, 1 +xapivault.com, 1 xarangallomangallo.tk, 1 xarcmastering.com, 1 xareltohcp.com, 1 xarmenta.tk, 1 +xarxaestudiants.org, 1 xarxalia.com, 1 xatr0z.org, 0 xauzit.com, 0 @@ -164607,7 +165068,7 @@ xb008.com, 1 xb053.com, 1 xb056.com, 1 -xb1001.com, 1 +xb1001.com, 0 xb2002.com, 1 xb3888.com, 1 xb6008.com, 1 @@ -164732,7 +165193,6 @@ xconnect.net, 1 xcontest.org, 1 xcountant.com, 1 -xcraftsumulator.ru, 1 xcspy.org, 1 xcw8886.net, 0 xcw8888.net, 0 @@ -164749,13 +165209,14 @@ xdcam-user.com, 1 xdemvyhcp.com, 1 xdgesports.com, 1 -xdkino.online, 1 +xdkino.online, 0 xdlab.co, 1 xdos.io, 1 xdreamserver.com, 1 xdtag.com, 1 xdty.org, 1 xduce.com, 1 +xecutely.com, 1 xeditpro.com, 1 xeerpa.com, 1 xeforce.com, 1 @@ -164775,6 +165236,7 @@ xenicalonline.gq, 1 xenicalorlistat.tk, 1 xenicalpills.tk, 1 +xenlook.com, 1 xenocide.tk, 1 xenomorph.tk, 1 xenomorphtimeline.com, 1 @@ -164813,6 +165275,7 @@ xfantasy.su, 1 xfcy.me, 1 xfd3.de, 1 +xferworx.com, 1 xfiles.wiki, 1 xfinityapparel.com, 1 xfirma.pl, 1 @@ -164882,6 +165345,7 @@ xiaoshijt.com, 1 xiaowangshen.com, 1 xiaoxia.li, 1 +xiaoxiaoyyw.com, 1 xiashu8.com, 1 xiaxuejin.cn, 1 xiazhanjian.com, 0 @@ -165025,6 +165489,7 @@ xingai.ml, 1 xinghan-textile.com, 1 xinghe.cc, 1 +xingmuyy.com, 1 xingtu.cn, 1 xingyu1993.cn, 1 xinlandm.com, 1 @@ -165038,15 +165503,14 @@ xinrengui.eu.org, 1 xinrui.com, 1 xinxeta.es, 1 -xinxiaofei.net.cn, 1 xinyazhang.com, 1 xinyezx.com, 1 xinyitour.tw, 1 xio.moe, 1 -xion.nu, 1 xiphwork.de, 1 xiqonline.com, 1 xishiduliu.com, 1 +xistoh.com, 1 xitin.tk, 1 xiufe.ng, 1 xiufeng.de, 1 @@ -165074,7 +165538,6 @@ xkww3n.cyou, 1 xkwy2018.cn, 1 xkwy2018.com, 1 -xkylee.com, 1 xl-porn.com, 1 xl3v3r.com, 1 xlan.be, 1 @@ -165193,6 +165656,7 @@ xn--2sxs9ol7o.com, 1 xn--32-mlcqsin.xn--p1ai, 1 xn--36-dlcdun7abo4a.xn--p1ai, 1 +xn--39-glcdfqyg0di5h8a.xn--p1ai, 1 xn--3bt625flzps8a.com, 0 xn--3btta.xn--fiqs8s, 1 xn--3btta.xn--fiqz9s, 1 @@ -165268,7 +165732,6 @@ xn--80adydmce.com, 1 xn--80ae2ajalfi0r.xn--90a3ac, 1 xn--80ae7bafe4d.tk, 1 -xn--80aebbkaqx6at.xn--p1ai, 1 xn--80aejhvi0at.xn--90ais, 1 xn--80aejljbfwxn.xn--p1ai, 1 xn--80aejrjysc.xn--p1ai, 1 @@ -165367,7 +165830,6 @@ xn--c5wy5c025b.cn, 1 xn--c5wy5c025b.xn--fiqs8s, 1 xn--c5wy5c025b.xn--fiqz9s, 1 -xn--carlshamnsvxtrike-0qb.se, 1 xn--cartofidelidade-nkb.online, 1 xn--cck4ax91r.com, 1 xn--cck7f515h.com, 1 @@ -165437,6 +165899,7 @@ xn--eluprastinsulti-3kb.ee, 1 xn--entreprise-dmolition-m2b.be, 1 xn--erban-e9b.ro, 1 +xn--ermlin-rtav8d.com, 1 xn--ertvg-pra.no, 1 xn--et8h.cf, 0 xn--ettbttreinternet-ynb.se, 1 @@ -165460,6 +165923,7 @@ xn--frderer-n2a.de, 1 xn--fs5ak3f.com, 1 xn--g1abhqbgs.xn--p1ai, 1 +xn--gebrder-lange-zob.de, 1 xn--gfrr-7qa.li, 1 xn--gfrrli-yxa.ch, 1 xn--ggle-qoaa.com, 1 @@ -165501,6 +165965,7 @@ xn--itts1a.xn--fiqz9s, 1 xn--j1aadfcccbbtv7j.xn--p1ai, 1 xn--j1afcdm4f.xn--p1ai, 1 +xn--j1ahie.xn--80adxhks, 1 xn--j1aoca.xn--p1ai, 1 xn--j4h.cf, 1 xn--j8se.com, 1 @@ -165513,10 +165978,12 @@ xn--keditr-0xa.biz, 1 xn--kferkind-0za.ch, 1 xn--kinsthetik-s5a.ch, 1 +xn--kirpjarasa-kaunas-1hc.lt, 1 xn--kkcon-fwab.nz, 1 xn--kl-oja.is, 1 xn--klmek-0sa.com, 1 xn--klschs-wxa.de, 1 +xn--klyv21c.com, 1 xn--kocaeliyazlm-b5bb.com, 1 xn--kpfer-jua.de, 1 xn--ksse-5qa.fi, 1 @@ -165531,7 +165998,6 @@ xn--labanskllermark-ftb.se, 1 xn--lbaa.ws, 1 xn--lfv405c.com, 1 -xn--ljyakatemia-qfb.fi, 1 xn--lk1a.moe, 1 xn--ll-yka.de, 1 xn--lna-2000-9za.nu, 1 @@ -165540,6 +166006,7 @@ xn--losolivareos-jhb.com, 1 xn--love-un4c7e0d4a.com, 1 xn--lrepenger-g3a.no, 1 +xn--lrinanduil-67a0g.com, 1 xn--lti-3qa.lv, 1 xn--lzs398g.xn--fiqs8s, 1 xn--lzs398g.xn--fiqz9s, 1 @@ -165576,9 +166043,7 @@ xn--monvlogratuit-ehb.fr, 1 xn--morrhret-e0a.se, 1 xn--mrtelfuger-0cb.dk, 1 -xn--mxac.net, 1 xn--myrepublc-x5a.net, 1 -xn--naade-dta.com, 1 xn--nbetcieczane-4ib.gen.tr, 1 xn--ncentfit-11a.com, 1 xn--ncentft-yyag.com, 1 @@ -165630,6 +166095,8 @@ xn--rdiger-kuhlmann-zvb.de, 1 xn--registriertesexualstraftter-ykc.de, 1 xn--rih.ml, 1 +xn--ring-in-mnchen-verloren-kpc.de, 1 +xn--ringjger-4za.de, 1 xn--rl-wka.ch, 1 xn--roselire-60a.ch, 0 xn--roselire-60a.com, 0 @@ -165697,10 +166164,12 @@ xn--vck8crc010pu14e.biz, 1 xn--vck8crcu789ajtaj92eura.xyz, 1 xn--ventilationrebro-wwb.nu, 1 -xn--ventilationrebro-wwb.se, 1 +xn--ventilationrebro-wwb.se, 0 xn--ventilationsrengringstockholm-v5c.se, 1 +xn--ventilationsrengringuppsala-4yc.se, 1 xn--ventilationsrengringvsters-0hc6a69b.nu, 1 xn--ventilationsrengringvsters-0hc6a69b.se, 1 +xn--ventilationvsters-1qbx.nu, 1 xn--vhqd939aoqhf4c785d.cn, 1 xn--vhqd939aoqhf4c785d.com, 1 xn--vihrekeino-u5a.fi, 1 @@ -165718,7 +166187,6 @@ xn--w22a.jp, 1 xn--wagistoowe-g0b.pl, 1 xn--wby9t.xyz, 0 -xn--wcs69oyudj44b.xyz, 1 xn--whakamtt-m7a57hba.org.nz, 1 xn--wiateko-rjb3t.eu, 1 xn--wl2bi7gm5t.com, 1 @@ -165809,10 +166277,11 @@ xpaldev.com, 1 xparts.com.tr, 1 xpd.se, 1 +xpdshn.org, 1 xpendustries.com, 1 xpenology-fr.net, 1 +xpensepal.com, 1 xperiacode.com, 1 -xperiorapps.nl, 1 xpertairtx.com, 1 xpertairwaco.com, 1 xpertcenter.ch, 0 @@ -165825,7 +166294,6 @@ xpj909.com, 1 xpj909.me, 1 xpj909.vip, 0 -xplace.com, 1 xplo.it, 1 xploredome.pl, 1 xploredundee.com, 1 @@ -165835,6 +166303,7 @@ xponance.com, 1 xportxpert.com, 1 xpreflect.co.uk, 1 +xpresiva.com, 1 xpressive.ca, 1 xpressmagazine.org, 1 xps-auto.com, 1 @@ -165898,6 +166367,7 @@ xt.om, 1 xt177.com, 1 xt71uc.top, 1 +xtaboo3d.com, 1 xtarget.ru, 1 xtdowner.com, 1 xtec.eu.org, 1 @@ -166066,6 +166536,7 @@ xxx-cam.stream, 1 xxx-fiction.com, 0 xxx-gays.com, 1 +xxx69.site, 1 xxxarabgirls.com, 1 xxxbunker.com, 1 xxxcammers.com, 1 @@ -166103,7 +166574,6 @@ xylimelts.com.au, 1 xyloefarmoges.gr, 0 xylos.nl, 1 -xynta.ch, 1 xynta.com, 0 xyquadrat.ch, 1 xyrem.com, 1 @@ -166190,14 +166660,12 @@ y89c.com, 1 y89c.net, 1 y89ccc.com, 0 -y89d.com, 1 y89d.net, 1 y89dd.com, 1 y89ddd.com, 1 y89e.net, 1 y89ee.com, 1 y89eee.com, 1 -y89f.com, 1 y89f.net, 1 y89fff.com, 0 y89g.net, 1 @@ -166205,7 +166673,6 @@ y89h.net, 1 y89hh.com, 1 y89hhh.com, 0 -y89i.com, 0 y89i.net, 1 y89ii.com, 1 y89iii.com, 1 @@ -166218,9 +166685,8 @@ y89ll.com, 1 y89m.com, 1 y89n.com, 1 -y89q.com, 0 y89r.com, 0 -y89t.com, 0 +y89t.com, 1 y89u.com, 0 y89v.com, 1 y89ww.com, 0 @@ -166238,7 +166704,6 @@ yaaw.de, 1 yaay.com.br, 1 yaay.today, 1 -yaazhtech.com, 1 yabbr.com.au, 1 yabbr.io, 1 yabit.org.tw, 1 @@ -166256,7 +166721,6 @@ yachtbuyer.com, 1 yachtcharterfleet.com, 1 yachtchartersllc.com, 1 -yachtcrafter.com, 1 yachting-home.com, 1 yachtlettering.com, 1 yachtmarket.com.ua, 1 @@ -166310,6 +166774,7 @@ yakutsk-city.tk, 1 yakutsk-news.net, 1 yakutsk.ml, 1 +yalacoder.com, 1 yalamanchili.com, 1 yalb.tech, 1 yalecleaners.com, 1 @@ -166331,7 +166796,6 @@ yamanobe-taro.jp, 1 yamasa-kanten.com, 1 yamatonetwork.com, 1 -yamazaki-automotive.co.jp, 1 yamei1.com, 1 yamei8.com, 1 yamei8866.com, 1 @@ -166342,7 +166806,6 @@ yamunaexpresswayplot.com, 1 yan.edu.gr, 1 yan.gg, 1 -yan.lt, 1 yan.net.cn, 1 yan.sg, 1 yan3321.com, 1 @@ -166403,7 +166866,7 @@ yapan666.com, 1 yapan77.com, 1 yapan777.com, 1 -yapan888.com, 1 +yapan888.com, 0 yapan9.com, 1 yapanwang.com, 1 yapaytech.com, 1 @@ -166426,11 +166889,12 @@ yaren-it.de, 1 yaren.it, 1 yarlesac.com, 1 -yarmarka-megamarket.ru, 1 +yarmarka-megamarket.ru, 0 yarnandy.com, 1 yarno.com.au, 1 yarogneva.ru, 1 yarokuk.com, 1 +yarora.com, 1 yaroslavia.eu.org, 1 yaroslavl-news.net, 1 yaroslavova.tk, 1 @@ -166448,16 +166912,12 @@ yaseen.ae, 1 yaseiblog.org, 1 yaseminuzumcu.com, 1 -yash.com, 1 yashima-shika.com, 1 yashinstore.com, 1 -yasic.net, 1 yasikish.com, 1 yasinatalko.com, 1 yasking.org, 1 -yaslihastabakici.com, 1 yasmeencreative.com, 1 -yasmin-apartments.cz, 1 yasmin.ml, 1 yasminbashirovasf.com, 0 yasminebelattar.com, 1 @@ -166511,18 +166971,18 @@ yaymaker.com, 1 yayou.ag, 1 yazichestvo.tk, 1 +yazigi.org, 1 yazik.ga, 1 yazilim.tk, 1 yba-lier.tk, 1 ybexalev.ga, 1 -ybos.nl, 1 ybr.ch, 1 ybr.com, 1 ybresson.com, 1 ybrfrance.fr, 1 ybscareers.co.uk, 1 ybsj.net, 1 -ybti.net, 0 +ybti.net, 1 ybvip789.com, 0 ybzhao.com, 1 yc1820.com, 1 @@ -166548,12 +167008,10 @@ ydsbookstore.com, 1 ydskursuankara.net, 1 ydspublishing.com, 1 -ydyy99.com, 1 ydyydy.ml, 1 yeadonboroughpa.gov, 1 yearinviewcalendars.com, 1 yearli.com, 1 -yearning.gay, 1 yeartracker.ga, 1 yebkw.com, 1 yebshotel.de, 1 @@ -166564,6 +167022,7 @@ yeechie.nl, 1 yeecord.com, 1 yeecord.tk, 1 +yeex.io, 1 yeil.org, 1 yekaterinburg-city.tk, 1 yellcosheriffar.gov, 1 @@ -166634,7 +167093,6 @@ yenbainet.tk, 1 yengec.co, 1 yenhughes.law, 1 -yeniasir.com.tr, 1 yennhi.co, 1 yenpape.com, 1 yenphat.vn, 1 @@ -166650,6 +167108,7 @@ yes-money.cf, 1 yes-money.ga, 1 yes-money.gq, 1 +yes.pet, 1 yesapp.tk, 1 yesasia.com, 1 yescareer.ga, 1 @@ -166699,13 +167158,11 @@ yezhong.ml, 1 yezi.ga, 1 yezishurb.site, 1 -yf128.cc, 0 yfh.me, 1 yg-crew.eu, 1 yggdar.ga, 1 yggdrasildice.com, 1 ygm.org.uk, 1 -yh-tekent.nl, 1 yh12366.com, 1 yh64678.com, 1 yh66689.com, 1 @@ -166730,7 +167187,6 @@ yiai.gq, 1 yiai.ml, 1 yiai.tk, 1 -yianniswine.com, 1 yiannopoulos.edu.gr, 1 yibaoweilong.top, 1 yibin0831.com, 0 @@ -166765,12 +167221,15 @@ ying299.com, 1 ying299.net, 1 yingatech.com, 1 -yinghezhinan.com, 1 +yinghezhinan.com, 0 +yingjidaow.com, 1 +yingkudao.com, 1 yingkuyun.com, 1 yinglinda.love, 1 yingmei.jp, 1 yingshu.hopto.org, 1 yingyuzxw.com, 1 +yingzhanji.com, 1 yingzi.ml, 1 yinlei.org, 1 yinmingyang.cn, 1 @@ -166782,7 +167241,6 @@ yishoufu.com.cn, 1 yisrime.link, 1 yisrime.xyz, 1 -yitian.me, 1 yiu-on.li, 1 yiuon.li, 1 yiyuanzhong.com, 1 @@ -166797,6 +167255,7 @@ ykb.click, 1 ykc.com, 1 ykj.ca, 1 +ykkamericas.com, 1 ykkasia.com, 1 ykkdl.com.cn, 1 ykkim.com, 1 @@ -166820,15 +167279,14 @@ ymcapkc.org, 1 ymeadows.com, 1 ymg-allergy.jp, 1 -ymlsport.pe, 1 ymm18.com, 1 -ymoah.nl, 1 ymos.com.tw, 1 ymoz.com, 1 ymtsonline.org, 1 ymy.moe, 1 ymy.zone, 1 yn.org.nz, 1 +ynex.com.br, 1 ynode.com, 1 ynon.co.il, 1 yo-digital.ga, 1 @@ -166856,6 +167314,7 @@ yoga-zentrum-narayani.de, 1 yoga.is-an-engineer.com, 1 yogaangels.ga, 1 +yogachina.com, 1 yogaeastwest.com, 1 yogaecology.org, 1 yogagadgets.ga, 1 @@ -166911,6 +167370,7 @@ yomeuno.com, 1 yon.co.il, 0 yonalink.com, 0 +yondervast.ai, 1 yoneda-paint.com, 1 yongbin.org, 1 yongkang-clinic.com.tw, 1 @@ -166927,7 +167387,7 @@ yoonas.com, 1 yooneunhye.com, 0 yooooex.com, 1 -yoopies.fr, 1 +yoopies.fr, 0 yopers.com, 0 yopmail.com, 1 yopmail.net, 1 @@ -166968,6 +167428,7 @@ yosakoinight.com, 1 yosbeda.com, 1 yosefsa.xyz, 1 +yosemite.life, 1 yosemo.de, 1 yosheenetwork.fr, 1 yoshibaworks.com, 1 @@ -166988,7 +167449,7 @@ yoto.at, 0 yotpinx.com, 0 yotta-zetta.com, 1 -yottaes.com, 1 +yottaes.com, 0 yottahash.net, 1 you-working.ru, 1 you.bo, 0 @@ -167082,7 +167543,6 @@ youniq.ga, 1 younl.net, 1 youpark.no, 1 -youpickfarms.org, 1 your-admin.com, 1 your-computer-is-a-hero.tk, 1 your-fitness-coach.ch, 1 @@ -167090,7 +167550,6 @@ your-greece.ga, 1 your-idc.tk, 1 your-kurs.tk, 1 -your-melody.ru, 0 your-money.info, 1 your-out.com, 1 your-restorer.ru, 0 @@ -167111,7 +167570,6 @@ yourbreakfast.tk, 1 yourbristolsomerset.wedding, 1 yourbusiness.ml, 1 -yourbusiness.technology, 1 yourbusinessblueprint.com, 1 yourcareerhost.com, 1 yourcheshiremerseyside.wedding, 1 @@ -167120,7 +167578,6 @@ yourcomputer.expert, 1 yourcomputer.tk, 1 yourconscious.life, 1 -yourcopywriter.it, 1 yourcrypto.tax, 1 yourdailyalerts.net, 1 yourdailyhealthcare.tk, 1 @@ -167143,7 +167600,6 @@ yourfandom.ddns.net, 1 yourfood.cz, 1 yourforceserver.com, 1 -yourforcesupport.com, 1 yourforcesupport.events, 1 yourforcesupport.me, 1 yourforcesupport.net, 1 @@ -167164,9 +167620,7 @@ yourhawkesburyyoursay.com.au, 1 yourhearingnetwork.com, 1 yourhertsbeds.wedding, 1 -yourhotel.world, 1 yourhrworld.com, 1 -yourhumandesign.ch, 1 yourkent.wedding, 1 yourkit.com, 1 yourkrabivilla.com, 1 @@ -167194,7 +167648,7 @@ yourpalstore.com, 1 yourpersonalfoodnesscoach.nl, 1 yourpersonalfrance.com, 1 -yourphotoscanned.com, 1 +yourphotoscanned.com, 0 yourplanet.eu.org, 1 yoursaypenrith.com.au, 1 yourschoolportal.au, 1 @@ -167202,7 +167656,6 @@ yourschoolportal.com.au, 1 yoursfunny.top, 1 yoursightmatters.com, 1 -yourskin.nl, 0 yoursmartcity.com.au, 1 yoursmartfirm.au, 1 yoursmartfirm.com, 1 @@ -167227,7 +167680,6 @@ yourtests.tk, 1 yourticketbooking.com, 1 yourtourdesk.com, 0 -yourtwojugs.com, 1 youruseragent.info, 1 yourvirtualgm.com.au, 1 yourwatchdesign.co.uk, 1 @@ -167269,7 +167721,7 @@ youtube.com, 1 youtubekids.com, 1 youtubelet.com, 1 -youtuberis.lt, 0 +youtuberis.lt, 1 youtuberus.tk, 1 youwillnever.be, 1 youyuan.rocks, 1 @@ -167299,7 +167751,7 @@ yqagizev.tk, 1 yqmhz.com, 1 yr-labo.jp, 1 -yr.com.au, 1 +yr.com.au, 0 yr.sa, 1 yr166166.com, 1 yrausquin.com, 0 @@ -167313,10 +167765,8 @@ ys.gr, 1 ys96.org, 1 ys99ys.com, 1 -yscc.cc, 1 ysearc.tk, 1 ysfridge.com, 1 -ysicorp.com, 1 yslxxhome.com, 1 ysmedia.jp, 1 ysmihvamse.bg, 1 @@ -167470,6 +167920,7 @@ yurigui.com, 1 yurihi.net, 1 yurikirin.me, 1 +yuriko.org, 1 yuriland.xyz, 1 yurimoens.be, 1 yurinet.org, 1 @@ -167557,6 +168008,7 @@ yyr.im, 1 yyrss.com, 1 yyshew.com, 1 +yyu0378.xyz, 1 yyy116.com, 1 yyy608.com, 1 yyyy.xyz, 1 @@ -167595,7 +168047,6 @@ z2.fi, 1 z2a4.com, 1 z36533.com, 1 -z3r0101.com, 1 z3s.nl, 1 z3s.pl, 1 z3u5.net, 1 @@ -167650,7 +168101,6 @@ z8226.com, 0 z8232.com, 0 z82365.com, 1 -z830.net, 1 z8817.com, 0 z8851.com, 0 z8865.com, 1 @@ -167660,6 +168110,7 @@ z95.jp, 1 z9728.co, 1 z99944x.xyz, 1 +za-rina.com, 1 za.search.yahoo.com, 0 zaafinancial.com, 1 zaalleatherwear.nl, 1 @@ -167764,6 +168215,7 @@ zaimvkredit4.ml, 1 zain-hasan.ml, 1 zainzinger.org, 1 +zaixianyy.com, 1 zaizaia.cc, 1 zajc.eu.org, 1 zajc.tel, 1 @@ -167864,7 +168316,6 @@ zanotti.io, 1 zanquan.net, 1 zanshin-sailing.com, 1 -zanshinkankarate.com, 1 zanthed.xyz, 1 zanthra.com, 1 zanzariere.roma.it, 1 @@ -167881,8 +168332,9 @@ zaoren.gq, 1 zaoren.ml, 1 zaoren.tk, 1 -zap-mag.ru, 1 +zaozaozhu.com, 1 zap51.in, 1 +zapaccess.io, 1 zapad-s.ru, 1 zapamini.ml, 1 zapaska.tk, 1 @@ -168010,6 +168462,7 @@ zcarot.com, 1 zcarrot.com, 1 zcb.fr, 1 +zcbmirex.com.pl, 1 zcdtk.com, 1 zcode-digital-solutions.fr, 1 zcode.tk, 1 @@ -168050,7 +168503,7 @@ zd796.com, 1 zd803.com, 1 zd805.com, 1 -zd8826.com, 1 +zd8826.com, 0 zd8838.com, 1 zd8839.com, 1 zd8858.com, 1 @@ -168104,7 +168557,6 @@ zebbra.ro, 1 zeblog.tk, 1 zebra-serwis.pl, 1 -zebrabyte.co.uk, 0 zebrabyte.ro, 1 zebraguide.com, 1 zebravinken.tk, 1 @@ -168132,7 +168584,6 @@ zeet.tk, 1 zeetoppers.nl, 1 zefir.fr, 1 -zefort.com, 1 zegazte.org, 1 zegels-danst.tk, 1 zegluje.net, 1 @@ -168203,9 +168654,9 @@ zemlyaki.ml, 1 zemlyaki.tk, 1 zemows.industries, 1 -zen-garden.org, 1 zen-solutions.io, 1 zen-zone.tk, 1 +zenarion.ch, 1 zenassociates.com, 1 zenbalans.nl, 1 zenbox.pl, 1 @@ -168270,6 +168721,7 @@ zentouch.gq, 1 zentoy.club, 1 zentrains.de, 1 +zentricspro.com, 1 zentrumfuerchemie.de, 1 zentrumhub.com, 1 zentrysport.biz, 1 @@ -168285,6 +168737,7 @@ zephyretcoraline.com, 1 zepig.nl, 1 zeplin.io, 1 +zepnrae.com, 1 zeppelflix.de, 1 zeppelin.ml, 1 zepter.cf, 1 @@ -168341,6 +168794,7 @@ zeroq.cl, 1 zeroscaler.io, 1 zerosector.io, 1 +zeroserver.tools, 1 zeroseteatacado.com.br, 1 zerotolerance.me, 1 zerotoleranceclan.tk, 1 @@ -168393,10 +168847,10 @@ zeusembroidery.com.au, 1 zeuseye.pl, 1 zeusindia.tk, 1 +zeusln.com, 1 zeva-mundial.co.uk, 1 zevelev.net, 1 zevenbergenbos.tk, 1 -zevrobroker.com, 1 zewtie.com, 1 zeydoo.com, 1 zeyoking.com, 1 @@ -168408,7 +168862,6 @@ zfj.hk, 1 zfj.la, 1 zfj.lu, 0 -zfly.me, 1 zforex.com, 1 zfpconsulting.cz, 1 zfpsystems.com, 1 @@ -168436,9 +168889,10 @@ zhanghao.me, 0 zhangjet.com, 1 zhangjing.space, 1 +zhangjintian.com, 1 zhanglizhi.ml, 1 zhangmenglong.cn, 1 -zhangpeng.ai, 1 +zhangmengqiao.com, 1 zhangwendao.com, 1 zhangyiming.tech, 1 zhanwei.me, 1 @@ -168459,6 +168913,7 @@ zhceres.com, 1 zhcexo.com, 1 zhdun.tk, 1 +zhekoujie.com, 1 zhelanie.ml, 1 zheldor-dance.ga, 1 zheldorinform.ga, 1 @@ -168480,7 +168935,7 @@ zhiku8.com, 1 zhikuan.com, 1 zhima.io, 1 -zhimajk.com, 1 +zhimajk.com, 0 zhimingwang.org, 1 zhina.wiki, 1 zhinood.com, 1 @@ -168544,6 +168999,7 @@ ziemlichzackig.de, 1 ziffdigital.com, 1 zifoapptest.com, 1 +zifranode.cl, 1 ziftone.com, 1 zigao.info, 1 zigarn.com, 1 @@ -168592,6 +169048,7 @@ zimo.fr, 1 zimperium.com, 0 zimpler.com, 1 +zimpligo.com, 1 zimt.gay, 1 zinabnews.tk, 1 zinchenko.gq, 1 @@ -168627,6 +169084,7 @@ ziphealthy.com, 1 zipjobs.com, 1 zipmedia.eu, 1 +zipper.travel, 1 zippie.tk, 1 zippingus.com, 1 zippo-days.me, 0 @@ -168634,6 +169092,7 @@ zipre.co, 1 ziprecruiter.com, 1 zipschedules.com, 1 +zipzapzoemiami.com, 1 ziqijiang.com, 0 zir-online.com, 1 zir.com.ua, 1 @@ -168658,10 +169117,12 @@ zitzhen.cn, 1 ziua.net, 0 zivava.ge, 1 +zivocs.com, 1 zivot.org, 1 zivotbezkrutosti.cz, 1 zivotsdietou.cz, 1 zivotvluxusu.cz, 1 +ziwaryx.com, 1 zixiao.wang, 1 ziz.exchange, 0 ziz.nl, 1 @@ -168682,7 +169143,6 @@ zkb-philanthropie-stiftung.ch, 1 zkb.ch, 1 zkb.co.uk, 1 -zkbitcoin.com, 1 zking.ga, 1 zklcdc.top, 0 zko.pub, 1 @@ -168703,14 +169163,11 @@ zl2020.com, 1 zl2020.vip, 1 zl2121.com, 1 -zl2727.com, 0 zl2929.com, 1 zl2toy.com, 1 zl335.com, 1 zl3737.com, 1 zl4231.com, 1 -zl4290.com, 0 -zl5151.com, 0 zl6161.com, 1 zl6868.com, 1 zl7070.com, 1 @@ -168747,6 +169204,7 @@ zluri.com, 1 zlypi.com, 1 zman.co.il, 1 +zmanimmap.com, 1 zmarta.org, 1 zmcyclefitness.com, 1 zmeya.tk, 1 @@ -168811,6 +169269,7 @@ zoepolitics.gq, 1 zoepolitics.ml, 1 zoetanxuanyo.com, 1 +zoeticoach.com, 1 zoeweston.com, 1 zoeyvid.de, 1 zoflora.co.uk, 1 @@ -168906,13 +169365,12 @@ zolotie-ptichki.tk, 1 zolotistyi-kofe.gq, 1 zolotoioasis.ml, 1 -zolotoy-standart.com.ua, 0 +zolotoy-standart.com.ua, 1 zolotoyscorpion.ru, 1 zolsec.com, 1 zoltanmatanyi.com, 1 zolucky.com, 1 zolushka-1950.tk, 1 -zolw.info, 1 zom.bi, 1 zomatonics.com, 1 zomatree.live, 1 @@ -168944,6 +169402,7 @@ zonaquimica.tk, 1 zonarumbera.tk, 1 zonatelevision.tk, 1 +zonchat.fr, 1 zondervanacademic.com, 1 zone-de-confiance.fr, 1 zone-hack.tk, 1 @@ -168986,7 +169445,6 @@ zoogbook.ml, 1 zoohl.com, 1 zooish.net, 1 -zook.pw, 1 zook.systems, 1 zook.tk, 1 zookids.uy, 1 @@ -169016,6 +169474,7 @@ zoowiki.us, 1 zooxdata.com, 1 zopa.com, 1 +zoplax.in, 1 zorasvobodova.cz, 1 zorgbeurs.nl, 1 zorgclustertool.nl, 1 @@ -169038,6 +169497,7 @@ zorro.management, 1 zorte.net, 1 zorzorfm.ml, 1 +zosimos.ca, 1 zoske.it, 1 zotan.email, 1 zotan.network, 1 @@ -169096,7 +169556,6 @@ zrkr.de, 1 zrniecka-pre-sny.sk, 1 zrnieckapresny.sk, 1 -zrodla.org, 1 zrooke.com, 1 zrozenipriserek.cz, 1 zrs-meissen.de, 1 @@ -169155,6 +169614,7 @@ zuhausejobs.com, 1 zuhauserealestate.com, 1 zuhur2021.tk, 1 +zuiai.me, 1 zuiai.tv, 1 zuid-willemspark.nl, 1 zuiderlokaal.nl, 1 @@ -169202,7 +169662,6 @@ zurl.co, 1 zurl.to, 1 zurmas-design.tk, 1 -zurt.com.br, 1 zuru.ml, 1 zuru.tk, 1 zusammen-grossartig.de, 1 @@ -169250,7 +169709,6 @@ zwollemag.nl, 1 zwollemagazine.nl, 1 zwrotzalot.pl, 1 -zwy.ch, 0 zwyr157wwiu6eior.com, 1 zwz.cz, 1 zx-club.de, 1 @@ -169309,7 +169767,7 @@ zzadmin.de, 1 zzcc.de, 0 zzcc.loan, 1 -zzekj.net, 1 +zzekj.net, 0 zzf.red, 1 zzops.eu, 1 zzops.net, 1 diff -Nru thunderbird-140.12.0esr/security/manager/tools/log_list.json thunderbird-140.13.0esr/security/manager/tools/log_list.json --- thunderbird-140.12.0esr/security/manager/tools/log_list.json 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/security/manager/tools/log_list.json 2026-07-21 21:33:02.000000000 +0000 @@ -1,6 +1,6 @@ { - "version": "85.101", - "log_list_timestamp": "2026-06-07T14:18:55Z", + "version": "88.3", + "log_list_timestamp": "2026-07-12T13:38:06Z", "operators": [ { "name": "Google", @@ -9,22 +9,6 @@ ], "logs": [ { - "description": "Google 'Argon2026h1' log", - "log_id": "DleUvPOuqT4zGyyZB7P3kN+bwj1xMiXdIaklrGHFTiE=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEB/we6GOO/xwxivy4HhkrYFAAPo6e2nc346Wo2o2U+GvoPWSPJz91s/xrEvA3Bk9kWHUUXVZS5morFEzsgdHqPg==", - "url": "https://ct.googleapis.com/logs/us1/argon2026h1/", - "mmd": 86400, - "state": { - "usable": { - "timestamp": "2024-09-30T22:19:27Z" - } - }, - "temporal_interval": { - "start_inclusive": "2026-01-01T00:00:00Z", - "end_exclusive": "2026-07-01T00:00:00Z" - } - }, - { "description": "Google 'Argon2026h2' log", "log_id": "1219ENGn9XfCx+lf1wC/+YLJM1pl4dCzAXMXwMjFaXc=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKjpni/66DIYrSlGK6Rf+e6F2c/28ZUvDJ79N81+gyimAESAyeNZ++TRgjHWg9TVQnKHTSU0T1TtqDupFnSQTIg==", @@ -57,22 +41,6 @@ } }, { - "description": "Google 'Xenon2026h1' log", - "log_id": "lpdkv1VYl633Q4doNwhCd+nwOtX2pPM2bkakPw/KqcY=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOh/Iu87VkEc0ysoBBCchHOIpPZK7kUXHWj6l1PIS5ujmQ7rze8I4r/wjigVW6wMKMMxjbNk8vvV7lLqU07+ITA==", - "url": "https://ct.googleapis.com/logs/eu1/xenon2026h1/", - "mmd": 86400, - "state": { - "usable": { - "timestamp": "2024-09-30T22:19:27Z" - } - }, - "temporal_interval": { - "start_inclusive": "2026-01-01T00:00:00Z", - "end_exclusive": "2026-07-01T00:00:00Z" - } - }, - { "description": "Google 'Xenon2026h2' log", "log_id": "2AlVO5RPev/IFhlvlE+Fq7D4/F6HVSYPFdEucrtFSxQ=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE5Xd4lXEos5XJpcx6TOgyA5Z7/C4duaTbQ6C9aXL5Rbqaw+mW1XDnDX7JlRUninIwZYZDU9wRRBhJmCVopzwFvw==", @@ -105,7 +73,110 @@ } } ], - "tiled_logs": [] + "tiled_logs": [ + { + "description": "Google 'ParcelYard2026h2' log", + "log_id": "utuIpG+cr6QJDoLlk1bbbni0pT9YLbCBl5UkLym2jJg=", + "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEP2H56bHx6pPm5mCku6PFpeRuA5Ux0gs8iwXIVhvVdbojs0pPwZqLtlIEoJNbjxMEePTYo/qDW85AjhMJITlavA==", + "submission_url": "https://parcelyard2026h2.prod.certificate.transparency.goog/", + "monitoring_url": "https://storage.googleapis.com/parcelyard2026h2.prod.certificate.transparency.goog/", + "mmd": 60, + "state": { + "qualified": { + "timestamp": "2026-06-19T19:00:00Z" + } + }, + "temporal_interval": { + "start_inclusive": "2026-07-01T00:00:00Z", + "end_exclusive": "2027-01-01T00:00:00Z" + } + }, + { + "description": "Google 'ParcelYard2027h1' log", + "log_id": "HIl0B+YBCgEpO7Z439ejaM6xjMpSHcyk04bkoy5bXQQ=", + "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEX7i7gYwmBxpiLXAlM/VLk4BFzspJRmZA86iReO7NVRlwGL1KWb/Dv5DRXJNBZd+9uREkNUTee5yBy2dRdRGa0w==", + "submission_url": "https://parcelyard2027h1.prod.certificate.transparency.goog/", + "monitoring_url": "https://storage.googleapis.com/parcelyard2027h1.prod.certificate.transparency.goog/", + "mmd": 60, + "state": { + "qualified": { + "timestamp": "2026-06-19T19:00:00Z" + } + }, + "temporal_interval": { + "start_inclusive": "2027-01-01T00:00:00Z", + "end_exclusive": "2027-07-01T00:00:00Z" + } + }, + { + "description": "Google 'ParcelYard2027h2' log", + "log_id": "aYS3IzyydLLRRn2l4EDXH+upCiHniGU3Srn5vPhocjc=", + "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+CTFsoroxXi53eLT+x2T4gsMKOcqzYEhqSLjyF6uVfdgF8yBeyA2cDWsu6nmhKGhqyoohwLh3PPgXdltfPP3BA==", + "submission_url": "https://parcelyard2027h2.prod.certificate.transparency.goog/", + "monitoring_url": "https://storage.googleapis.com/parcelyard2027h2.prod.certificate.transparency.goog/", + "mmd": 60, + "state": { + "qualified": { + "timestamp": "2026-06-19T19:00:00Z" + } + }, + "temporal_interval": { + "start_inclusive": "2027-07-01T00:00:00Z", + "end_exclusive": "2028-01-01T00:00:00Z" + } + }, + { + "description": "Google 'PlumbersArms2026h2' log", + "log_id": "IPBfqqOkkvxqwUjMM6ICNhhrSfqpfmuzkk+yXsNrHDU=", + "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAERcKG6mGyrCTtzkWBNT51LFFsM1lZ3ZPSIoXgVilDtnY0dyhwKSX7jomkXvdyqWr8DOP3HA6I6kzmREX5wpUvug==", + "submission_url": "https://plumbersarms2026h2.prod.certificate.transparency.goog/", + "monitoring_url": "https://storage.googleapis.com/plumbersarms2026h2.prod.certificate.transparency.goog/", + "mmd": 60, + "state": { + "qualified": { + "timestamp": "2026-06-19T19:00:00Z" + } + }, + "temporal_interval": { + "start_inclusive": "2026-07-01T00:00:00Z", + "end_exclusive": "2027-01-01T00:00:00Z" + } + }, + { + "description": "Google 'PlumbersArms2027h1' log", + "log_id": "X/nA+6QtrHjOZELrGazggaKb1OL7U68MYzB55QWCBMk=", + "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAKYYdjIeQwDP0RIY9mhAVntX5s2ObMc2F6u8cELSbhvavljWD/OesJZHUtqQjBXE5Ekbpiq6nchmaVnEHHpJmw==", + "submission_url": "https://plumbersarms2027h1.prod.certificate.transparency.goog/", + "monitoring_url": "https://storage.googleapis.com/plumbersarms2027h1.prod.certificate.transparency.goog/", + "mmd": 60, + "state": { + "qualified": { + "timestamp": "2026-06-19T19:00:00Z" + } + }, + "temporal_interval": { + "start_inclusive": "2027-01-01T00:00:00Z", + "end_exclusive": "2027-07-01T00:00:00Z" + } + }, + { + "description": "Google 'PlumbersArms2027h2' log", + "log_id": "M3qex8rmqQSLdS8tk65+SyqQLSG0lxKdg+J5x1PJL4w=", + "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHCu5hooSXlk8FAiSkoWiZJ5G9GzCiJhj3eoJ9p3F3ZzV2QgcgxWWI9f75vnFgygju+baK11dsf3bXHAo/+TL/Q==", + "submission_url": "https://plumbersarms2027h2.prod.certificate.transparency.goog/", + "monitoring_url": "https://storage.googleapis.com/plumbersarms2027h2.prod.certificate.transparency.goog/", + "mmd": 60, + "state": { + "qualified": { + "timestamp": "2026-06-19T19:00:00Z" + } + }, + "temporal_interval": { + "start_inclusive": "2027-07-01T00:00:00Z", + "end_exclusive": "2028-01-01T00:00:00Z" + } + } + ] }, { "name": "Cloudflare", @@ -155,22 +226,6 @@ ], "logs": [ { - "description": "DigiCert 'Wyvern2026h1'", - "log_id": "ZBHEbKQS7KeJHKICLgC8q08oB9QeNSer6v7VA8l9zfA=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7Lw0OeKajbeZepHxBXJS2pOJXToHi5ntgKUW2nMhIOuGlofFxtkXum65TBNY1dGD+HrfHge8Fc3ASs0qMXEHVQ==", - "url": "https://wyvern.ct.digicert.com/2026h1/", - "mmd": 86400, - "state": { - "usable": { - "timestamp": "2024-11-08T00:00:00Z" - } - }, - "temporal_interval": { - "start_inclusive": "2026-01-01T00:00:00Z", - "end_exclusive": "2026-07-01T00:00:00Z" - } - }, - { "description": "DigiCert 'Wyvern2026h2'", "log_id": "wjF+V0UZo0XufzjespBB68fCIVoiv3/Vta12mtkOUs0=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEenPbSvLeT+zhFBu+pqk8IbhFEs16iCaRIFb1STLDdWzL6XwTdTWcbOzxMTzB3puME5K3rT0PoZyPSM50JxgjmQ==", @@ -219,22 +274,6 @@ } }, { - "description": "DigiCert 'Sphinx2026h1'", - "log_id": "SZybad4dfOz8Nt7Nh2SmuFuvCoeAGdFVUvvp6ynd+MM=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEq4S++DyHokIlmmacritS51r5IRsZA6UH4kYLH4pefGyu/xl3huh7/O5rNk/yvMOeBQKaCAG1SSM1xNNQK1Hp9A==", - "url": "https://sphinx.ct.digicert.com/2026h1/", - "mmd": 86400, - "state": { - "usable": { - "timestamp": "2024-11-08T00:00:00Z" - } - }, - "temporal_interval": { - "start_inclusive": "2026-01-01T00:00:00Z", - "end_exclusive": "2026-07-01T00:00:00Z" - } - }, - { "description": "DigiCert 'Sphinx2026h2'", "log_id": "lE5Dh/rswe+B8xkkJqgYZQHH0184AgE/cmd9VTcuGdg=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEquD0JkRQT/2inuaA4HC1sc6UpfiXgURVQmQcInmnZFnTiZMhZvsJgWAfYlU0OIykOC6slQzr7U9kvEVC9wZ6zQ==", @@ -292,26 +331,6 @@ ], "logs": [ { - "description": "Sectigo 'Mammoth2026h1'", - "log_id": "JS+Uwisp6W6fQRpyBytpXFtS/5epDSVAu/zcUexN7gs=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnssMilHMiuILzoXmr00x2xtqTP2weWuZl8Bd+25FUB1iqsafm2sFPaKrK12Im1Ao4p5YpaX6+eP6FSXjFBMyxA==", - "url": "https://mammoth2026h1.ct.sectigo.com/", - "mmd": 86400, - "state": { - "readonly": { - "timestamp": "2025-09-18T17:20:00Z", - "final_tree_head": { - "sha256_root_hash": "N7bqzTXnPktVFG8/h3gi5pcuxCo+mfWyv+XlIIS4cEU=", - "tree_size": 65240567 - } - } - }, - "temporal_interval": { - "start_inclusive": "2026-01-01T00:00:00Z", - "end_exclusive": "2026-07-01T00:00:00Z" - } - }, - { "description": "Sectigo 'Mammoth2026h2'", "log_id": "lLHBirDQV8R74KwEDh8svI3DdXJ7yVHyClJhJoY7pzw=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7INh8te0u+TkO+vIY3WYz2GQYxQ9XyLfdLpQp1ibaX3mY4lt2ddRhD/4AtjI/8KXceV+J/VysY8kJ1cKDXTAtg==", @@ -332,26 +351,6 @@ } }, { - "description": "Sectigo 'Sabre2026h1'", - "log_id": "VmzVo3a+g9/jQrZ1xJwjJJinabrDgsurSaOHfZqzLQE=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhCa8Nr3YjTyHnuAQr82U2de5UYA0fvdYXHPq6wmTuBB7kJx9x82WQ+1TbpUhRmdR8N62yZ6q4oBtziWBNNdqYA==", - "url": "https://sabre2026h1.ct.sectigo.com/", - "mmd": 86400, - "state": { - "readonly": { - "timestamp": "2025-09-18T17:20:00Z", - "final_tree_head": { - "sha256_root_hash": "ONxslVVBTXcSuBVlFOVDuNQoTCdDNLCRVHoHfNLMZfo=", - "tree_size": 88744201 - } - } - }, - "temporal_interval": { - "start_inclusive": "2026-01-01T00:00:00Z", - "end_exclusive": "2026-07-01T00:00:00Z" - } - }, - { "description": "Sectigo 'Sabre2026h2'", "log_id": "H1bRq5RwSkHdP+r99GmTVTAsFDG/5hNGCJ//rnldzC8=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzjXK7DkHgtp3J4bk8n7F3Djym6mrjKfA7YMePmobwPCVVroyM0x1fAkH6eE+ZTVj8Em+ctGqna99CMS0jVk9cw==", @@ -372,22 +371,6 @@ } }, { - "description": "Sectigo 'Elephant2026h1'", - "log_id": "0W6ppWgHfmY1oD83pd28A6U8QRIU1IgY9ekxsyPLlQQ=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEU0lqnPHoXuU9Fc9dJv1HQZCvssJfvxLsirwVQ/fkFyUqeu4inwPKikeT4DGyyWWH4NR/DCJa2bAumHrXJdAcaQ==", - "url": "https://elephant2026h1.ct.sectigo.com/", - "mmd": 86400, - "state": { - "usable": { - "timestamp": "2025-07-22T01:33:20Z" - } - }, - "temporal_interval": { - "start_inclusive": "2026-01-01T00:00:00Z", - "end_exclusive": "2026-07-01T00:00:00Z" - } - }, - { "description": "Sectigo 'Elephant2026h2'", "log_id": "r2eIO1ewTt2Pptl+9i6o64EKx3Fg8CReVdYML+eFhzo=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEO/t4Uwkoou78zkCchh9tfAKbIUJmbOoUAb8szD8StnnHFKAVY5kq1Ljs8YD7CfzdD7xcVjmQYpbtNUhxRMRtmA==", @@ -436,22 +419,6 @@ } }, { - "description": "Sectigo 'Tiger2026h1'", - "log_id": "FoMtq/CpJQ8P8DqlRf/Iv8gj0IdL9gQpJ/jnHzMT9fo=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE73eDJyszDbzsWcgI0nbtU0+y11gQWjNjS/RSO5P4hOSFE+pPrDCtfNPHe6dq7/XQYwOFt9Feb8TwQW+mqXN5xg==", - "url": "https://tiger2026h1.ct.sectigo.com/", - "mmd": 86400, - "state": { - "usable": { - "timestamp": "2025-09-18T23:00:00Z" - } - }, - "temporal_interval": { - "start_inclusive": "2026-01-01T00:00:00Z", - "end_exclusive": "2026-07-01T00:00:00Z" - } - }, - { "description": "Sectigo 'Tiger2026h2'", "log_id": "yKPEf8ezrbk1awE/anoSbeM6TkOlxkb5l605dZkdz5o=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfJFUD/FRkonvZIA9ZT1J3yvA4EpSp3innbIVpMTDR1oCe5vguapheQ7wYiWaCES1EL1B+2BEC+P5bUfwF44lnA==", @@ -543,23 +510,6 @@ ], "tiled_logs": [ { - "description": "Let's Encrypt 'Sycamore2026h1'", - "log_id": "pcl4kl1XRheChw3YiWYLXFVki30AQPLsB2hR0YhpGfc=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfEEe0JZknA91/c6eNl1aexgeKzuGQUMvRCXPXg9L227O5I4Pi++Abcpq6qxlVUKPYafAJelAnMfGzv3lHCc8gA==", - "submission_url": "https://log.sycamore.ct.letsencrypt.org/2026h1/", - "monitoring_url": "https://mon.sycamore.ct.letsencrypt.org/2026h1/", - "mmd": 60, - "state": { - "usable": { - "timestamp": "2025-11-27T03:00:00Z" - } - }, - "temporal_interval": { - "start_inclusive": "2025-12-18T00:00:00Z", - "end_exclusive": "2026-06-18T00:00:00Z" - } - }, - { "description": "Let's Encrypt 'Sycamore2026h2'", "log_id": "bP5QGUOoXqkWvFLRM+TcyR7xQRx9JYQg0XOAnhgY6zo=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwR1FtiiMbpvxR+sIeiZ5JSCIDIdTAPh7OrpdchcrCcyNVDvNUq358pqJx2qdyrOI+EjGxZ7UiPcN3bL3Q99FqA==", @@ -611,23 +561,6 @@ } }, { - "description": "Let's Encrypt 'Willow2026h1'", - "log_id": "4yON8o2iiOCq4Kzw+pDJhfC2v/XSpSewAfwcRFjEtug=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEtpFyulwgy1+u+wYQ37lbV+HsPFNYoi4sy6dZP662N/Z/usdNi4+Q3RLES1RY2PNk7zL/7VPSn3JERMPu/s4e4A==", - "submission_url": "https://log.willow.ct.letsencrypt.org/2026h1/", - "monitoring_url": "https://mon.willow.ct.letsencrypt.org/2026h1/", - "mmd": 60, - "state": { - "usable": { - "timestamp": "2025-11-27T03:00:00Z" - } - }, - "temporal_interval": { - "start_inclusive": "2025-12-17T00:00:00Z", - "end_exclusive": "2026-06-17T00:00:00Z" - } - }, - { "description": "Let's Encrypt 'Willow2026h2'", "log_id": "qCbL4wrGNRJGUz/gZfFPGdluGQgTxB3ZbXkAsxI8VSc=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEp8wH8R6zfM+UhsQq5un+lPdNTDkzcgkWLi1DwyqU6T00mtP5/CuGjvpw4mIz89I6KV5ZvhRHt5ZTF6qe24pqiA==", @@ -780,23 +713,6 @@ ], "tiled_logs": [ { - "description": "Geomys 'Tuscolo2026h1'", - "log_id": "cX6V88I4im2x44RJPTHhWqliCHYtQgDgBQzQZ7WmYeI=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEflxzMg2Ajjg7h1+ZIvQ9LV6yFvdj6uRi9YbvtRnSCgS2SamkH56WcPRaBTRYARPDIr5JwLqgJAVA/NvDxdJXOw==", - "submission_url": "https://tuscolo2026h1.sunlight.geomys.org/", - "monitoring_url": "https://tuscolo2026h1.skylight.geomys.org/", - "mmd": 60, - "state": { - "usable": { - "timestamp": "2025-08-31T07:00:00Z" - } - }, - "temporal_interval": { - "start_inclusive": "2026-01-01T00:00:00Z", - "end_exclusive": "2026-07-01T00:00:00Z" - } - }, - { "description": "Geomys 'Tuscolo2026h2'", "log_id": "Rq+GPTs+5Z+ld96oJF02sNntIqIj9GF3QSKUUu6VUF8=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaA6P0i7JTsd9XfzF1/76avRWA3XXI4NStsFO/aFtBp6SY7olDEMiPSFSxGzFQjKA1r9vgG/oFQwurlWMy9FQNw==", @@ -874,23 +790,6 @@ ], "tiled_logs": [ { - "description": "IPng Networks 'Halloumi2026h1'", - "log_id": "fz035/iSPY5xZb6w0+q+5yoivkbAy4TEFtTkuYJky8I=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzdcnGwRjm2ZoA68JFZKfoM4cOPPG2fr0iR72p3XanznOlw57HJ9RlYRNt75gIMIKgB1r0dxY5Jojq1m8uobYjg==", - "submission_url": "https://halloumi2026h1.log.ct.ipng.ch/", - "monitoring_url": "https://halloumi2026h1.mon.ct.ipng.ch/", - "mmd": 60, - "state": { - "usable": { - "timestamp": "2025-12-17T18:30:00Z" - } - }, - "temporal_interval": { - "start_inclusive": "2026-01-01T00:00:00Z", - "end_exclusive": "2026-07-01T00:00:00Z" - } - }, - { "description": "IPng Networks 'Halloumi2026h2a'", "log_id": "JuNkblhpISO8ND9HJDWbN5LNJFqI2BXTkzP9mRirRyM=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEiGh4zMsdukTgrdk9iPIwz9OfU9TQVi4Mxufpmnlrzv3ivJcxVhrST4XQSeQoF5LlFVIU6PL4IzrYl12BUWn9rQ==", @@ -942,23 +841,6 @@ } }, { - "description": "IPng Networks 'Gouda2026h1'", - "log_id": "GoudaUpXmMiZoMqIvfSPwLRWYMzDYA0fcfRp/8fRrKM=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAER6wvqVwhf5isuCtwSfNjTOrqwZg0vZuIMP7xk8fPmJfaFZCte1ptQiqNhRMCtqIgJvDcJyjkGVI8i44vxL877A==", - "submission_url": "https://gouda2026h1.log.ct.ipng.ch/", - "monitoring_url": "https://gouda2026h1.mon.ct.ipng.ch/", - "mmd": 60, - "state": { - "usable": { - "timestamp": "2025-11-27T03:00:00Z" - } - }, - "temporal_interval": { - "start_inclusive": "2026-01-01T00:00:00Z", - "end_exclusive": "2026-07-01T00:00:00Z" - } - }, - { "description": "IPng Networks 'Gouda2026h2'", "log_id": "Goudaw/+v4G0eTnG0jEKhtbRAtTwRuIYLJ3jX14mJe8=", "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjayczmhUMNftWy6VjvYXcTUEpvL8LIAKcYcxrxx5xxQGZEVvhnZeCnXVlsMWhq1h9J55eZfQWM/dqIr6GmoN9Q==", diff -Nru thunderbird-140.12.0esr/services/settings/dumps/blocklists/addons-bloomfilters.json thunderbird-140.13.0esr/services/settings/dumps/blocklists/addons-bloomfilters.json --- thunderbird-140.12.0esr/services/settings/dumps/blocklists/addons-bloomfilters.json 2026-06-13 03:48:04.000000000 +0000 +++ thunderbird-140.13.0esr/services/settings/dumps/blocklists/addons-bloomfilters.json 2026-07-21 21:33:03.000000000 +0000 @@ -5,6 +5,8112 @@ "blocked": [], "unblocked": [], "softblocked": [ + "ytdlp-extension@your-domain.com:3.0.1", + "deepaudit@deepaudit.ai:1.1", + "deepaudit@deepaudit.ai:1.2", + "{0ba73a43-8bbb-481b-af51-ddaf27dfac89}:0.2", + "{8f049cf9-1963-4428-bd9d-d8cac3a8e8f8}:2.0.0", + "{8f049cf9-1963-4428-bd9d-d8cac3a8e8f8}:2.0.1", + "dc-sidebar-blocker@local:2.2.0", + "{d4361314-4430-4865-97b3-ea6c90584ead}:0.2", + "navigateintentmarks@example.com:1.3", + "navigateintentmarks@example.com:1.5", + "navigateintentmarks@example.com:1.6", + "navigateintentmarks@example.com:1.7", + "navigateintentmarks@example.com:1.8", + "navigateintentmarks@example.com:1.9", + "@sendtoqnapplusplus:2.60", + "{014d0bac-dd06-4e96-b7c1-41ad0d208c07}:1.0", + "one-click-auto-fill@example.com:1.1", + "favory@sp4ce.pw:5.0.9", + "xproxy@local:1.1.3" + ] + }, + "schema": 1783903011546, + "key_format": "{guid}:{version}", + "stash_time": 1783924509917, + "id": "d05d554a-4b72-4742-9520-73a6d40877fc", + "last_modified": 1783924608518 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "poe-wiki-search-continued@yohpra:2.0.0", + "poe-wiki-search-continued@yohpra:2.0.1", + "{c0146dcf-00b4-4c2f-9675-cd6c09aba512}:0.5.2", + "gerador-edital-rtf-v2025@exemplo.com:1.0", + "gerador-edital-rtf-v2025@exemplo.com:1.1", + "{f7a771fe-6667-4124-a6d7-25d9fe3ba90a}:1.0.0", + "{915b94f6-f3d1-474a-86b9-af4f2f8aa4fc}:1.4.8", + "{915b94f6-f3d1-474a-86b9-af4f2f8aa4fc}:1.4.9", + "{915b94f6-f3d1-474a-86b9-af4f2f8aa4fc}:1.5.0", + "{915b94f6-f3d1-474a-86b9-af4f2f8aa4fc}:1.5.1", + "{ac8c60bf-3e85-44dd-b454-0be7f219ed3f}:1.0.0", + "{ac8c60bf-3e85-44dd-b454-0be7f219ed3f}:1.0.1", + "ctfuker@yadavnikhil03:2.1", + "lebonfiltre@extension:1.4.0", + "ai-image-helper@extension:1.2.1", + "ai-image-helper@extension:1.2.2", + "{24266bb4-208b-4214-b397-0f4db5f23d25}:0.2", + "p-stream-fixed@local:1.3.5", + "bandai-connect@tdgr.org:1.1.4" + ] + }, + "schema": 1783881410744, + "key_format": "{guid}:{version}", + "stash_time": 1783902909463, + "id": "ccc2b18c-aebb-4909-92a3-57095e353959", + "last_modified": 1783903011232 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "extension@subtext.site:1.0.10", + "extension@subtext.site:1.0.11", + "extension@subtext.site:1.0.12", + "{e2cd5411-07d0-43c5-b67a-69c5585e18c0}:0.1", + "opensocial@example.com:4.4", + "opensocial@example.com:4.5", + "tiktok-like-logger@example.com:2.9", + "tiktok-like-logger@example.com:2.10", + "@giseo-helpr:1.0", + "tiktok-like-logger@example.com:2.13", + "tiktok-like-logger@example.com:2.11", + "tiktok-like-logger@example.com:2.8", + "tiktok-like-logger@example.com:2.7", + "youtube-long-feed-scoreboard-341@dlema32.local:3.4.1", + "page-highlighter-16ccbbef@example.com:1.0.0", + "safe-page-highlighter@example.com:1.0.0", + "tiktok-like-logger@example.com:2.14", + "tiktok-like-logger@example.com:2.15", + "tiktok-like-logger@example.com:2.16", + "deepjump-h2@deepjump.ai:1.4", + "brows@egeguclu.dev:3.0.2", + "censortracker@avatardd:20.7.7", + "tiktok-like-logger@example.com:2.17", + "{e31bc53b-3675-49f2-903c-05fe58cc9021}:0.1.2", + "{e31bc53b-3675-49f2-903c-05fe58cc9021}:0.1.3", + "{e31bc53b-3675-49f2-903c-05fe58cc9021}:0.1.4", + "{e31bc53b-3675-49f2-903c-05fe58cc9021}:0.1.5", + "{e31bc53b-3675-49f2-903c-05fe58cc9021}:0.1.7", + "{e31bc53b-3675-49f2-903c-05fe58cc9021}:0.1.8", + "{e31bc53b-3675-49f2-903c-05fe58cc9021}:0.1.9", + "twitch-live-monitor@konichu.local:1.0.4", + "meme-index-processor@cooplabs.net:1.0.0", + "tiktok-like-logger@example.com:2.18", + "lm-civitai-extension-free@local:0.5.0", + "last-mile-assistant@alwatani:1.4", + "last-mile-assistant@alwatani:1.6", + "last-mile-assistant@alwatani:1.7", + "last-mile-assistant@alwatani:1.8", + "last-mile-assistant@alwatani:1.9", + "tokopedia-tab-switcher@masdenco24.local:1.0" + ] + }, + "schema": 1783859793995, + "key_format": "{guid}:{version}", + "stash_time": 1783881321342, + "id": "7e0bf85b-bb68-4c1f-a486-4fbda1ffb003", + "last_modified": 1783881410507 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{5c3132c4-72c1-4f63-a9e2-faf7dedebe19}:241029.1", + "missav-optimizer-v2@example.com:1.0.6", + "missav-optimizer-v2@example.com:1.0.7", + "missav-optimizer-v2@example.com:1.0.8", + "missav-optimizer-v2@example.com:1.0.9", + "sankaku-complex-beta-addons@hk4.dev:0.1.1", + "sankaku-complex-beta-addons@hk4.dev:0.2.0", + "sankaku-complex-beta-addons@hk4.dev:0.2.1", + "@madebyme-addonmv3exp1:1.1", + "@madebyme-addonmv3exp:1.1", + "@madebyme-addon:1.0", + "{55968812-d8ec-407e-87ab-f7e6e34d333f}:1.0", + "tab-alt-arrow-switcher@rakennus:1.0", + "tab-alt-arrow-switcher@rakennus:1.1", + "tab-alt-arrow-switcher@rakennus:1.2", + "supervisior@extension.local:0.0.1", + "web-summary-translator-mvp@example.local:0.2.8", + "web-summary-translator-mvp@example.local:0.2.9", + "web-summary-translator-mvp@example.local:0.2.10", + "web-summary-translator-mvp@example.local:0.2.11", + "web-summary-translator-mvp@example.local:0.2.12", + "{5f856aaa-b6e8-41e1-ad71-6191357a012e}:1.5", + "glicocontrol-leitura@example.local:0.1.2", + "garrysextension@example.org:1.0" + ] + }, + "schema": 1783838203532, + "key_format": "{guid}:{version}", + "stash_time": 1783859705795, + "id": "25d2ae65-6888-404e-8ef6-7dd70ddcc136", + "last_modified": 1783859793765 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "roi-reader-view@local:7.1.9", + "roi-reader-view@local:7.1.8", + "roi-reader-view@local:7.1.7", + "roi-reader-view@local:7.2.1", + "roi-reader-view@local:7.1.6", + "roi-reader-view@local:7.1.4", + "roi-reader-view@local:7.1.3", + "roi-reader-view@local:7.1.2", + "roi-reader-view@local:7.1.1", + "lexivore@prickettjw.github.io:0.0.1", + "tiktok-like-logger@example.com:1.1", + "Android@bravenhancer.com:26.1.0", + "enhancer@goldenfox.com:26.1.3", + "{05a62da0-a346-4c01-9a99-6b2582d40111}:0.1", + "tiktok-like-logger@example.com:1.2", + "tiktok-like-logger@example.com:1.3", + "tiktok-like-logger@example.com:1.4", + "tiktok-like-logger@example.com:1.5", + "tiktok-like-logger@example.com:1.6", + "tiktok-like-logger@example.com:1.7", + "tiktok-like-logger@example.com:2.2", + "tiktok-like-logger@example.com:2.3", + "tiktok-like-logger@example.com:2.4", + "tiktok-like-logger@example.com:2.5", + "rfp-darkmode@locall.net:1.3", + "leetcode-tracker@jeffreygbeho.dev:1.9.2", + "my-speed-dial@doloni-17:1.0", + "workflow01@remakr1.com:2.0", + "workflow01@remakr1.com:5.3.3", + "tiktok-like-logger@example.com:2.6", + "{1a0b059f-6598-4ecb-a0d5-d522beee23aa}:1.15", + "{150955eb-0f0a-4ec2-b0ee-0fbec4daee51}:1.1", + "{afbe59d3-7a62-4041-bfc2-8704b82cef82}:1.1", + "{8ae9bb96-9fa1-4125-b93f-80224a03c6bf}:1.12", + "{c6b6cd84-02e3-4d96-a0f6-b60e36fbc7e3}:1.13", + "{39d42bd4-4c0c-4edd-a973-f83b95d44ef4}:1.14" + ] + }, + "schema": 1783816602682, + "key_format": "{guid}:{version}", + "stash_time": 1783838108067, + "id": "6e6e5217-5b17-4896-b96c-d460cd7f040a", + "last_modified": 1783838203207 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "roi-reader-view@local:7.3.1", + "roi-reader-view@local:6.3.4", + "roi-reader-view@local:6.3.3", + "roi-reader-view@local:6.7.0", + "roi-reader-view@local:8.3.0", + "roi-reader-view@local:9.3.6", + "roi-reader-view@local:9.3.5", + "roi-reader-view@local:9.3.0", + "roi-reader-view@local:6.3.0", + "roi-reader-view@local:6.5.1", + "roi-reader-view@local:7.1.5", + "korean-immersion@example.local:1.0.0", + "alexdata@gmail.com:3.6", + "alexdata@gmail.com:3.6.1", + "alexdata@gmail.com:3.6.3", + "alexdata@gmail.com:3.6.4", + "alexdata@gmail.com:3.6.5" + ] + }, + "schema": 1783794987885, + "key_format": "{guid}:{version}", + "stash_time": 1783816507035, + "id": "f149825d-fca6-494c-b8e0-5d6d4890c255", + "last_modified": 1783816602440 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "yunitab@czy001:1.0", + "extension@subtext.site:1.0.6", + "extension@subtext.site:1.0.7", + "extension@subtext.site:1.0.8", + "extension@subtext.site:1.0.9", + "ebay-sold-high-to-low@dlema32.local:1.0.0", + "addons.mozilla.org.agodo@passmail.net:1.0", + "image-downloader-firefox@example.com:0.0.1", + "orderhistoryplus@microcenter.local:0.4", + "orderhistoryplus@microcenter.local:0.5", + "twlr2-1-iixisii-exten@gmail.com:1.0.0", + "xproxy@local:1.1.1", + "@youtube-video-timestamper:1.0", + "@youtube-video-timestamper:1.1", + "amazon-highest-review-sorter@dlema32.local:1.0.0", + "xianyu-goofish-assistant@gloqqa:1.0.24", + "xianyu-goofish-assistant@gloqqa:1.0.22", + "reddit-link-expander@local.extension:1.0.0", + "youtube-force-authuser@local.ext:1.0", + "youtube-force-authuser@local.ext:1.0.1", + "youtube-force-authuser@local.ext:2.0.0", + "favory@sp4ce.pw:5.0.8", + "favory@sp4ce.pw:5.0.7", + "favory@sp4ce.pw:5.0.6.1", + "youtube-ban-page-bypass@local.ext:3.0.1", + "youtube-ban-page-bypass@local.ext:3.0.0", + "fabric-decoder@example.local:1.5.4", + "fangen@zaryo.github.io:0.2.0", + "horizontabs@example.com:1.1", + "domeyes-local@peacepharm.org:5.1.0", + "domeyes-local@peacepharm.org:5.1.1", + "domeyes-local@peacepharm.org:5.2.0", + "domeyes-local@peacepharm.org:5.2.1", + "domeyes-local@peacepharm.org:5.2.2", + "domeyes-local@peacepharm.org:5.2.3", + "searchoptimizer@gemini:1.2", + "archivum@kowalskipiotr.pl:1.1.26070516" + ] + }, + "schema": 1783773405162, + "key_format": "{guid}:{version}", + "stash_time": 1783794906520, + "id": "1f5d431e-1cd9-4254-84ea-2dc9572862ba", + "last_modified": 1783794987456 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "melike@example.com:1.1.1", + "{9444f7bd-9e00-46f9-b15e-53dbefd778da}:1.0", + "{b0b161c8-6a1f-40fe-9fa6-cc817f19301e}:2", + "{b0b161c8-6a1f-40fe-9fa6-cc817f19301e}:1.1", + "{b0b161c8-6a1f-40fe-9fa6-cc817f19301e}:2.2", + "{b0b161c8-6a1f-40fe-9fa6-cc817f19301e}:2.3", + "{b0b161c8-6a1f-40fe-9fa6-cc817f19301e}:3.0", + "tabby-tab-export@local.dev:1.0.0", + "tabby-tab-export@local.dev:1.0.1", + "{b0b161c8-6a1f-40fe-9fa6-cc817f19301e}:3.2", + "{b0b161c8-6a1f-40fe-9fa6-cc817f19301e}:2.1", + "twitch-pinned-streamers@addon.local:1.5.8", + "twitch-pinned-streamers@addon.local:1.5.7", + "{0abe13ac-dc4a-42b8-bf2d-a1754d1896b9}:1.0", + "ai-usage-monitor-6d4b29fc0ef84f219c88084f329d5d82@example.com:1.0.0", + "coolcollege-2x-speed@local:1.0.10", + "coolcollege-2x-speed@local:1.0.9", + "coolcollege-2x-speed@local:1.0.8", + "coolcollege-2x-speed@local:1.0.7", + "coolcollege-2x-speed@local:1.0.6", + "spiegel-archive@chris.local:3.0", + "i.pro.linux@yandex.ru_qwen:1.0", + "reddit-comment-magnifier-882851d6-32ef-45f8-b0ad-b0413c880d77@extensions.local:1.0.0", + "FlagTrace@github.qinxs:1.0.13", + "reviewrank-pro@dlema32.local:1.0.0", + "ebay-refurbished-ranker@dlema32.local:1.0.1" + ] + }, + "schema": 1783751801550, + "key_format": "{guid}:{version}", + "stash_time": 1783773308036, + "id": "1dd767bf-1f63-42aa-9321-6141460a20b7", + "last_modified": 1783773404798 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{2b27807a-392a-4b91-8320-d52c7d50b225}:1.0", + "{2b27807a-392a-4b91-8320-d52c7d50b225}:2.0", + "udemy-tts@rndomhack.com:1.0.0", + "udemy-tts@rndomhack.com:1.0.1", + "udemy-tts@rndomhack.com:1.0.2", + "flowread@myhelp.vip:0.9.21", + "internet-blocker@carlos.dev:2.0", + "internet-blocker@carlos.dev:1.0", + "deepaudit@deepaudit.ai:1.0", + "internet-blocker@carlos.dev:2.1", + "internet-blocker@carlos.dev:2.2", + "{948c55c8-acf3-4adc-ac2f-1beaf6a12b4a}:2.4", + "{5bee1199-cffa-4b44-894a-cb3179372db5}:1.0.0", + "tagged-bookmarking@aggravating.local:0.4.3.1", + "whatsapp-translator-firefox@local:1.0.4", + "cookie-extractor@your-custom-name.com:1.0", + "vms-slot-checker@italyvms.local:1.2.3", + "vms-slot-checker@italyvms.local:1.2.4", + "searchhopper@pipstar:2.4.2", + "melike@example.com:1.0", + "melike@example.com:1.1.0" + ] + }, + "schema": 1783730184983, + "key_format": "{guid}:{version}", + "stash_time": 1783751707160, + "id": "59b94ed1-664c-4bc2-9d4d-86aeb03757b6", + "last_modified": 1783751801283 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{0c242045-8f67-4251-bdf4-1a3b8e72c83c}:1.0", + "{c541b6c7-3162-4d2b-98f9-4d6cb077d2fa}:1.0.2", + "{0c242045-8f67-4251-bdf4-1a3b8e72c83c}:1.1", + "support-xumm3@gmail.com:1.0.3", + "GoogleSearch@NewTab:1.5", + "jira-deda-tools@deda-next.it:26.194.0", + "twitch-tools@addons.nobbybollocks:1.0.4", + "watched-marker-multi@opencode:1.2", + "penguin-tools@local:3.2", + "penguin-tools@local:4.0", + "penguin-tools@local:4.1", + "penguin-tools@local:4.3", + "{56c0bc58-a03a-4e3a-abec-d6c94dfe9660}:1.0", + "reddit-triple-text@local.extension:1.0.0", + "bewerberportal-addon@rwth-aachen.de:1.5", + "{a2156984-bed9-4851-b725-554e2be12921}:1.0", + "{a2156984-bed9-4851-b725-554e2be12921}:1.1", + "{a2156984-bed9-4851-b725-554e2be12921}:1.1.1", + "{a2156984-bed9-4851-b725-554e2be12921}:1.1.2", + "{a2156984-bed9-4851-b725-554e2be12921}:1.2", + "{a2156984-bed9-4851-b725-554e2be12921}:1.3", + "{a2156984-bed9-4851-b725-554e2be12921}:1.4", + "{a2156984-bed9-4851-b725-554e2be12921}:1.5", + "{a2156984-bed9-4851-b725-554e2be12921}:6.0.1", + "GoogleSearch@NewTab:1.6", + "GoogleSearch@NewTab:1.7", + "{caeb485e-8070-4520-8262-8ef288a3e35f}:5.22.1" + ] + }, + "schema": 1783708592190, + "key_format": "{guid}:{version}", + "stash_time": 1783730105799, + "id": "b30cda38-421d-4133-bec4-893c4766aaeb", + "last_modified": 1783730184718 + }, + { + "stash": { + "blocked": [ + "auto-website-opener@example.com:1.1", + "auto-website-opener@example.com:1.2", + "auto-website-opener@example.com:7.9" + ], + "unblocked": [], + "softblocked": [ + "vocab-decks@btushq.local:1.0.0", + "vocab-decks@btushq.local:1.1.0", + "searchhopper@pipstar:2.4", + "GoogleSearch@NewTab:1.4", + "vk-styles-clean@local:2.0.9.1", + "remplisseur-concours@leo.local:2.1", + "helveg@nextron-systems.com:0.0.6", + "textsnap@gomoot.com:1.1.0", + "cbf-overlay@Dimitrios.gr:10.6", + "magnolia@12.34:4.3.9.3", + "newtab-groups@local.extension:1.0.0", + "{dfa4e416-fd67-48fe-8fd2-52bf66d41c43}:1.0", + "support-jug-ag1@gmail.com:1.0.1", + "{d273b844-a448-4ecc-8d75-293a33928fad}:1.0.91", + "{d273b844-a448-4ecc-8d75-293a33928fad}:1.0.92", + "{d273b844-a448-4ecc-8d75-293a33928fad}:1.0.93", + "{d273b844-a448-4ecc-8d75-293a33928fad}:1.0.94", + "{d273b844-a448-4ecc-8d75-293a33928fad}:1.0.95", + "{d273b844-a448-4ecc-8d75-293a33928fad}:1.0.96", + "tempo-decorrido@extensao.local:1.0", + "majamikunil@gmail.com:1.0", + "majamikunil@gmail.com:1.0.1", + "remplisseur-concours@leo.local:2.0", + "remplisseur-concours@leo.local:2.2", + "{cb3a6a06-e55d-491e-a71d-7143d7a32cc9}:1.4.0", + "{cb3a6a06-e55d-491e-a71d-7143d7a32cc9}:711.0.1", + "{682dcb27-b8a1-4e06-a7ea-d9b855fd925a}:1.0", + "twitch-proxy@me.de:1.3.0", + "twitch-proxy@me.de:1.0", + "twitch-proxy@me.de:1.0.1", + "twitch-proxy@me.de:1.0.2", + "twitch-proxy@me.de:1.0.3", + "twitch-proxy@me.de:1.0.4", + "speed-dial@georg.local:1.1.4", + "speed-dial@georg.local:1.1.5", + "speed-dial@georg.local:1.1.6", + "twitch-live-ext@deine-domain.de:1.1", + "twitch-live-ext@deine-domain.de:1.2", + "twitch-live-ext@deine-domain.de:1.3", + "twitch-live-ext@deine-domain.de:1.3.1", + "twitch-live-ext@deine-domain.de:1.3.2", + "youtube-ultrawide-auto-zoom@example.local:1.0", + "youtube-ultrawide-auto-zoom@example.local:1.1", + "youtube-ultrawide-auto-zoom@example.local:1.2", + "youtube-ultrawide-auto-zoom@example.local:1.3", + "amazon-internal-script-extension@pydikond.amazon.com:3.6.0", + "atlas-bridge-2@ip-api.local:0.1.5", + "atlas-bridge-2@ip-api.local:0.1.9", + "ff-unlisted@cluerate.qa:0.2.22", + "ff-unlisted@cluerate.qa:0.2.88", + "ff-unlisted@cluerate.qa:0.2.87", + "ff-unlisted@cluerate.qa:0.2.85", + "ff-unlisted@cluerate.qa:0.2.84", + "ff-unlisted@cluerate.qa:0.2.83", + "ff-unlisted@cluerate.qa:0.2.82", + "ff-unlisted@cluerate.qa:0.2.81", + "ff-unlisted@cluerate.qa:0.2.80", + "ff-unlisted@cluerate.qa:0.2.76", + "ff-unlisted@cluerate.qa:0.2.68", + "ff-unlisted@cluerate.qa:0.2.67", + "ff-unlisted@cluerate.qa:0.2.63", + "ff-unlisted@cluerate.qa:0.2.55", + "ff-unlisted@cluerate.qa:0.2.54", + "ff-unlisted@cluerate.qa:0.2.53", + "ff-unlisted@cluerate.qa:0.2.52", + "ff-unlisted@cluerate.qa:0.2.51", + "ff-unlisted@cluerate.qa:0.2.49", + "ff-unlisted@cluerate.qa:0.2.48", + "ff-unlisted@cluerate.qa:0.2.47", + "ff-unlisted@cluerate.qa:0.2.46", + "ff-unlisted@cluerate.qa:0.2.45", + "ff-unlisted@cluerate.qa:0.2.44", + "ff-unlisted@cluerate.qa:0.2.43", + "ff-unlisted@cluerate.qa:0.2.42", + "ff-unlisted@cluerate.qa:0.2.40", + "ff-unlisted@cluerate.qa:0.2.29", + "ff-unlisted@cluerate.qa:0.2.28", + "ff-unlisted@cluerate.qa:0.2.27", + "ff-unlisted@cluerate.qa:0.2.26", + "ff-unlisted@cluerate.qa:0.2.25", + "ff-unlisted@cluerate.qa:0.2.89", + "ff-unlisted@cluerate.qa:0.2.90", + "ff-unlisted@cluerate.qa:0.2.94", + "ff-unlisted@cluerate.qa:0.2.96", + "ff-unlisted@cluerate.qa:0.2.99", + "ff-unlisted@cluerate.qa:0.3.6", + "ff-unlisted@cluerate.qa:0.3.12", + "ff-unlisted@cluerate.qa:0.3.14", + "ff-unlisted@cluerate.qa:0.3.15", + "ff-unlisted@cluerate.qa:0.3.16", + "ff-unlisted@cluerate.qa:0.3.18", + "ff-unlisted@cluerate.qa:0.3.19", + "ff-unlisted@cluerate.qa:0.3.27", + "ff-unlisted@cluerate.qa:0.3.30", + "ff-unlisted@cluerate.qa:0.3.32", + "ff-unlisted@cluerate.qa:0.3.34", + "ff-unlisted@cluerate.qa:0.3.35", + "discord-token-saver@yourdomain.com:2.0", + "generator-folders@portable:1.0.0", + "kolorowanie-folderow@portable:1.1", + "kolorowanie-folderow@portable:1.2", + "profile-filter@guillaumegruber:1.0" + ] + }, + "schema": 1783687003440, + "key_format": "{guid}:{version}", + "stash_time": 1783708506432, + "id": "fd47bd96-2e70-4043-8519-12f78b030f34", + "last_modified": 1783708592038 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "firefox-ext@cluerate.com:0.3.87", + "firefox-ext@cluerate.com:0.3.81", + "firefox-ext@cluerate.com:0.3.86", + "firefox-ext@cluerate.com:0.3.88", + "ff-unlisted@cluerate.qa:0.3.85", + "ff-unlisted@cluerate.qa:0.3.84", + "ff-unlisted@cluerate.qa:0.3.83", + "ff-unlisted@cluerate.qa:0.3.80", + "ff-unlisted@cluerate.qa:0.3.79", + "ff-unlisted@cluerate.qa:0.3.77", + "ff-unlisted@cluerate.qa:0.3.75", + "ff-unlisted@cluerate.qa:0.3.73", + "ff-unlisted@cluerate.qa:0.3.71", + "ff-unlisted@cluerate.qa:0.3.69", + "ff-unlisted@cluerate.qa:0.3.66", + "ff-unlisted@cluerate.qa:0.3.64", + "ff-unlisted@cluerate.qa:0.3.62", + "ff-unlisted@cluerate.qa:0.3.61", + "ff-unlisted@cluerate.qa:0.3.57", + "ff-unlisted@cluerate.qa:0.3.48", + "ff-unlisted@cluerate.qa:0.3.46", + "pdc-site-bridge@local:3.20", + "pdc-site-bridge@local:3.21", + "pad2-helper@pad2.local:4.4", + "pad2-helper@pad2.local:4.3", + "pad2-helper@pad2.local:4.9", + "aisee@aisee.live:1.2.5", + "aisee@aisee.live:1.2.6", + "ksushilrmt@gmail.com:1.0.0", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.5.2", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.5.1", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.5.3", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.5.5", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.6.0", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.6.9", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.7.4", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.7.5", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.7.6", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.7.7", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.8.0", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.12.0", + "{f8395332-7a3a-4be9-ab87-84adfee56cc4}:1.1.21.0", + "pad2-helper@pad2.local:4.6", + "pad2-helper@pad2.local:4.5", + "GoogleSearch@NewTab:1.2", + "GoogleSearch@NewTab:1.3", + "focus-tab-groups@local:1.0.0", + "focus-tab-groups@local:1.0.1", + "focus-tab-groups@local:1.0.2", + "focus-tab-groups@local:1.0.3", + "focus-tab-groups@local:1.0.4", + "focus-tab-groups@local:1.0.5", + "focus-tab-groups@local:1.0.6", + "focus-tab-groups@local:1.0.7", + "focus-tab-groups@local:1.0.8", + "focus-tab-groups@local:1.0.9", + "focus-tab-groups@local:1.0.10", + "focus-tab-groups@local:1.2.1", + "focus-tab-groups@local:1.2.2", + "focus-tab-groups@local:1.2.3", + "focus-tab-groups@local:1.2.4", + "{6f3a1b2c-8d4e-4f5a-9b6c-1e2d3f4a5b6c}:1", + "twitch-proxy@me.de:1.2.3", + "twitch-proxy@me.de:1.2.5", + "twitch-proxy@me.de:1.2.4", + "twitch-proxy@me.de:1.2.6", + "twitch-proxy@me.de:1.2.7", + "twitch-proxy@me.de:1.2.8", + "my-local-extension@example.com:1.0", + "my-local-extension@example.com:1.0.1.1", + "my-local-extension@example.com:1.0.1.2", + "re-start@frozenkelp.vip:1.6.1", + "my-zoom-victory@local.addon:1.0", + "commit-timeline@bitdefender.local:1.0.0", + "commit-timeline@bitdefender.local:2.0.2", + "{85f5e526-6402-4307-bb3a-d06d3b7aaefd}:1.0" + ] + }, + "schema": 1783665391464, + "key_format": "{guid}:{version}", + "stash_time": 1783686908348, + "id": "52d10236-9434-4cf1-ba63-b858509a4adf", + "last_modified": 1783687003218 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "linkedin-sphere-capture@frankeundschwarz.de:0.2.0", + "caveman-firefox-zen@getcaveman.dev:1.2.0", + "health-capsule-doctor-assistant-gn@yuxin:2.1", + "pdc-site-bridge@local:3.1.5", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:5.3.5", + "pdc-site-bridge@local:3.1.6", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:5.3.6", + "ilnb-toolbar@ilnb.uscourts.gov:1.4", + "ilnb-toolbar@ilnb.uscourts.gov:1.6", + "itsimonsec2@gmail.com:2.1.2", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:5.3.7", + "itsimonsec@gmail.com:2.1.2", + "firefox-ext@cluerate.com:0.3.43", + "firefox-ext@cluerate.com:0.3.51", + "firefox-ext@cluerate.com:0.3.56", + "firefox-ext@cluerate.com:0.3.63", + "firefox-ext@cluerate.com:0.3.65", + "firefox-ext@cluerate.com:0.3.70", + "firefox-ext@cluerate.com:0.3.72", + "firefox-ext@cluerate.com:0.3.74", + "firefox-ext@cluerate.com:0.3.76", + "firefox-ext@cluerate.com:0.3.78", + "firefox-ext@cluerate.com:0.3.82", + "pdc-site-bridge@local:3.1.8", + "design-inspector-f19402aa235a579e@example.com:1.0.0", + "copylinktext@7f1dfc8e-8b17-4dc4-a3f1-5e0ac5b72fa5.com:1.0.0", + "search@7f1dfc8e-8b17-4dc4-a3f1-5e0ac5b72fa5.com:1.0", + "search@7f1dfc8e-8b17-4dc4-a3f1-5e0ac5b72fa5.com:1.1.0", + "pdc-site-bridge@local:3.1.7", + "pdc-site-bridge@local:3.19", + "{b1470a98-3fcd-47c0-8e98-d3a3f3766628}:1.0", + "itsimonsec@gmail.com:3.0.0", + "flagswap@flagswap.dev:0.2.0" + ] + }, + "schema": 1783643791432, + "key_format": "{guid}:{version}", + "stash_time": 1783665307087, + "id": "1948f277-0738-4393-a2c5-90ca3a2842cb", + "last_modified": 1783665391200 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "zzororo@xmousse.com:1.1.0", + "amazon-tracker@fabian.local:0.6.1", + "{bfceca2e-83a4-4eea-9865-71fd6963ea8d}:1.0", + "{9d7aa7b3-8214-40b4-96d2-a10154debdca}:0.10.0", + "hangar-xplorer-community@alyxone:1.0.119", + "hangar-xplorer-community@alyxone:1.0.120", + "hangar-xplorer-community@alyxone:1.0.121", + "hangar-xplorer-community@alyxone:1.0.122", + "sapsum@hostpoint.ch:0.0.0", + "sapsum@hostpoint.ch:0.0.1", + "sapsum@hostpoint.ch:0.0.2", + "sapsum@hostpoint.ch:0.0.3", + "sapsum@hostpoint.ch:0.0.4", + "sapsum@hostpoint.ch:0.9.3", + "sapsum@hostpoint.ch:0.9.4", + "sapsum@hostpoint.ch:0.9.5", + "sapsum@hostpoint.ch:0.9.6", + "sapsum@hostpoint.ch:0.9.7", + "amazon-tracker@fabian.local:0.7.0", + "{38f73884-d10b-4f26-a7c2-4711c4a40b76}:2.3.0", + "{38f73884-d10b-4f26-a7c2-4711c4a40b76}:2.3.1", + "roi-reader-view@local:9.7.2", + "bmiphmgeefijkfhdljnphjjkgffbhhpa@chrome-store-foxified--782130464:2.6.0", + "ggolfgbegefeeoocgjbmkembbncoadlb@chrome-store-foxified--782130464:13.39", + "fgoenlfbfnofepaodjepdhkoepoogedb@chrome-store-foxified--782130464:1.2", + "llpahfhchhlfdigfpeimeagojnkgeice@chrome-store-foxified-1471939747:4.0", + "bekdnjncnmgahgpcnbigleflagaodibf@chrome-store-foxified--782130464:4.5.3", + "epejdmjgfibjaffbmojllapapjejipkh@chrome-store-foxified--782130464:2.2.4", + "lkbkfblojdaocdljndhaopfglpmboeki@chrome-store-foxified--782130464:5.5", + "hbdpomandigafcibbmofojjchbcdagbl@chrome-store-foxified--782130464:3.10", + "cdoinklelehcpndgmcddkkdhibpoglnk@chrome-store-foxified--782130464:3.1", + "bohapeiooecafommnlaiccilacgmkaoc@chrome-store-foxified-1471939747:2.4", + "ljipkdpcjbmhkdjjmbbaggebcednbbme@chrome-store-foxified-1471939747:0.1.3", + "dfoegpibjpjpchgmjnmomelfnclbijnm@chrome-store-foxified-1471939747:1.0.7", + "pioclpoplcdbaefihamjohnefbikjilc@chrome-store-foxified-1471939747:6.12", + "all-mangas-reader@ryuu3rs.dev:0.7.1", + "pdc-site-bridge@local:3.0.9", + "pdc-site-bridge@local:3.1.0", + "adon-proxy-helper@adonmediagroup.io:2.0.1", + "adon-proxy-helper@adonmediagroup.io:1.0.2", + "amazon-tracker@fabian.local:0.8.0", + "{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e9}:0.6.7", + "pdc-site-bridge@local:3.1.1", + "watched-marker-multi@opencode:1.1", + "watched-marker-multi@opencode:1.0", + "total-bookmarks-webext@opencode.local:1.0", + "@elvenar-helper-extension:8.6.2", + "pdc-site-bridge@local:3.1.4" + ] + }, + "schema": 1783622191530, + "key_format": "{guid}:{version}", + "stash_time": 1783643706106, + "id": "39c8e3ee-2b98-488c-83e2-59885eae09e3", + "last_modified": 1783643791125 + }, + { + "stash": { + "blocked": [ + "{97664243-9da4-487a-b318-664b9c9dd2a2}:0.2", + "{97664243-9da4-487a-b318-664b9c9dd2a2}:6.1.0", + "{97664243-9da4-487a-b318-664b9c9dd2a2}:6.1.1" + ], + "unblocked": [], + "softblocked": [ + "xianyu-goofish-assistant@gloqqa:1.0.21", + "autologin-skku-private-9821@my-addon-domain.local:0.0", + "{9fe44206-7d13-46cf-ba15-b3e663025dcc}:1.0.5", + "{9fe44206-7d13-46cf-ba15-b3e663025dcc}:1.0.6", + "macroforge@macroforge.dev:0.0.40", + "{b6721929-e3ec-4cdc-964a-cb38904adf24}:0.0.42", + "{b6721929-e3ec-4cdc-964a-cb38904adf24}:0.0.41", + "{b6721929-e3ec-4cdc-964a-cb38904adf24}:0.0.37", + "ozon-sku-uploader@qq2743553675.gmail.com:0.3.4", + "roi-reader-view@local:2.7.0", + "notes@dblv.com:1.0", + "notes@dblv.com:1.1", + "notes@dblv.com:1.2", + "notes@dblv.com:1.3", + "animetracker-gaspard@myself.com:1.2", + "odoo-iap@odoo.com:1.1", + "odoo-iap@odoo.com:1.0", + "videospeed@igrigorik.com:0.10.2", + "zendesk-userscripts@limango.com:0.2.0", + "bpaas-to-bbps@bloomberg.net:0.1.1", + "yanpaneltakvim@kendi-mailin-veya-adiniz.com:1.0", + "metricly@addon.local:3.0.3", + "{90a91e61-25f6-4d81-beb9-58c9418307a0}:0.1.0", + "offlinepass@offlinepass.local:1.1.0", + "{7a4048a8-0482-4fac-b392-a7d340990199}:0.1.3", + "{a581066c-2ca5-4217-87b1-d54718c243f5}:0.1.4", + "{0f434925-4209-4d37-ac1b-f7ceb194b5f8}:2.0.0", + "{0f434925-4209-4d37-ac1b-f7ceb194b5f8}:1.8.7", + "{e1bcf334-e5d3-4d25-9164-cc9273aa9946}:1.7.7", + "{95774d80-9858-4dc2-89fd-b0822edb09f3}:1.7.1", + "{95774d80-9858-4dc2-89fd-b0822edb09f3}:2.1.2", + "{0f434925-4209-4d37-ac1b-f7ceb194b5f8}:2.0.6", + "{e1bcf334-e5d3-4d25-9164-cc9273aa9946}:2.1.0", + "pouch-web-extension@lucashmsilva.com:1.2.0" + ] + }, + "schema": 1783600597303, + "key_format": "{guid}:{version}", + "stash_time": 1783622107170, + "id": "78bff104-843a-4ea2-b5fa-bef73fe14645", + "last_modified": 1783622191171 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "spfx-helper@example.com:1.0.3", + "ws-interceptor@example.com:1.2.0", + "pdc-site-bridge@local:3.0.6", + "{68d35953-0f5a-4f7f-b2fc-9ba2902f4dc2}:1.0", + "{d9fcf8c5-c567-41de-ae49-a27d72e91ef4}:1.0", + "movie-tracker-yourname@myself.com:1.0.0", + "video-touch-controller@local.extension:1.0", + "video-touch-controller@local.extension:1.1", + "video-touch-controller@local.extension:1.3", + "video-touch-controller@local.extension:1.4", + "video-touch-controller@local.extension:1.5", + "video-touch-controller@local.extension:1.6", + "video-touch-controller@local.extension:1.7", + "auto-screenshot-reader@local.dev:1.0", + "offlinepass@offlinepass.local:1.0.0", + "xianyu-goofish-assistant@gloqqa:1.0.20", + "waves-newtab@mantvydas.local:1.3", + "waves-newtab@mantvydas.local:1.2", + "dhl-tourpruefung@pflaum.de:11.0.0", + "waves-newtab@mantvydas.local:1.4", + "FlagTrace@github.qinxs:1.0.12", + "FlagTrace@github.qinxs:1.0.11", + "xfollowpro-sidebar@abulut-v766:7.6.7", + "xfollowpro-popup@abulut-v766:7.6.7", + "xfollowpro-popup@a-bulut-2026:7.6.5", + "lexis-ai-cert-evaluator@lexisnexis.at:0.1.8", + "lexis-ai-cert-evaluator@lexisnexis.at:0.1.9", + "lexis-ai-cert-evaluator@lexisnexis.at:0.1.10", + "lexis-ai-cert-evaluator@lexisnexis.at:0.1.11", + "lexis-ai-cert-evaluator@lexisnexis.at:0.1.12", + "lexis-ai-cert-evaluator@lexisnexis.at:0.1.13", + "{9fe44206-7d13-46cf-ba15-b3e663025dcc}:1.0", + "{9fe44206-7d13-46cf-ba15-b3e663025dcc}:1.0.1", + "{9fe44206-7d13-46cf-ba15-b3e663025dcc}:1.0.2", + "{9fe44206-7d13-46cf-ba15-b3e663025dcc}:1.0.3", + "{9fe44206-7d13-46cf-ba15-b3e663025dcc}:1.0.4" + ] + }, + "schema": 1783578986661, + "key_format": "{guid}:{version}", + "stash_time": 1783600507539, + "id": "aecc5e65-a977-424e-8488-5b4967493f88", + "last_modified": 1783600597041 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "pdc-site-bridge@local:2.8.0", + "pdc-site-bridge@local:2.9.1", + "this-is-john-testing@dealer.com:90.1.1", + "this-is-john-testing@dealer.com:90.1.2", + "GoogleSearch@NewTab:1.1", + "pdc-site-bridge@local:2.9.3", + "storygraphenhancementtoolsdev@gmail.com:4.3.1", + "pdc-site-bridge@local:2.9.4", + "{2081c29f-d698-4e87-b857-2b208dc02b5a}:1.0", + "{2081c29f-d698-4e87-b857-2b208dc02b5a}:2.0", + "pdc-site-bridge@local:2.9.5", + "pdc-site-bridge@local:2.9.6", + "{099ac8f0-6274-4d40-9cea-76f8c960d2be}:1.0", + "{a906fe56-1a81-4f98-9f88-18083748123c}:1.0", + "{fa322f54-1978-4413-9f9c-a642c1375cca}:1.0", + "pdc-site-bridge@local:2.9.8", + "pdc-site-bridge@local:2.9.9", + "pdc-site-bridge@local:3.0.0", + "inbound-tracker@martepro.amazon.com:6.3.0", + "pdc-site-bridge@local:3.0.1", + "consent-agent@example.com:0.1.0", + "consent-agent@example.com:0.1.1", + "web-to-word-converter@local:1.0", + "fill-helper-ext@local.wzk.dev:2026.6.30", + "pdc-site-bridge@local:3.0.3", + "{227332ba-ecd0-411f-ab19-ed7108451c95}:0.1.3", + "darkmode-scheduler@example.com:1.0", + "pdc-site-bridge@local:3.0.5" + ] + }, + "schema": 1783557411570, + "key_format": "{guid}:{version}", + "stash_time": 1783578906011, + "id": "a8357fbe-980e-489d-ac3d-8fb6a6990faf", + "last_modified": 1783578986332 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "twitch-proxy@me.de:1.0.11", + "twitch-proxy@me.de:1.0.10", + "twitch-proxy@me.de:1.0.9", + "twitch-proxy@me.de:1.0.8", + "twitch-proxy@me.de:1.2.2", + "twitch-proxy@me.de:1.2.1", + "twitch-proxy@me.de:1.2", + "ai-agent@firefox.addon:4.2.1", + "ehentai-redirect@example.com:1.0", + "ai-agent@firefox.addon:4.2.2", + "seo-suite@firefox.addon:4.3.0", + "better-brightspace@tyrus.user:1.1.0", + "{303828fb-5eed-4bd9-8c63-4548bf9c9665}:1.6.5", + "{303828fb-5eed-4bd9-8c63-4548bf9c9665}:1.6.1", + "{303828fb-5eed-4bd9-8c63-4548bf9c9665}:1.6.6", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.39", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.38", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.37", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.28", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.40", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.41", + "{b6721929-e3ec-4cdc-964a-cb38904adf24}:0.0.19" + ] + }, + "schema": 1783535816688, + "key_format": "{guid}:{version}", + "stash_time": 1783557309706, + "id": "41994743-b285-4437-b302-f8de342985b4", + "last_modified": 1783557411300 + }, + { + "stash": { + "blocked": [ + "bolt-scan-bolt@protools.co:9.18.6" + ], + "unblocked": [], + "softblocked": [ + "roblox-local-editor-v2@local:2.0.1", + "wocazureffextension@gmail.com:1.2", + "ytdlp_host@gernot.local:1.0", + "ytdlp_host@gernot.local:1.0.1", + "mix@mozilla.mozilla:0.70", + "mix@mozilla.mozilla:0.71", + "mix@mozilla.mozilla:0.72", + "mix@mozilla.mozilla:0.73", + "mix@mozilla.mozilla:0.74", + "mix@mozilla.mozilla:0.75", + "mix@mozilla.mozilla:0.76", + "mix@mozilla.mozilla:0.77", + "mix@mozilla.mozilla:0.78", + "mix@mozilla.mozilla:0.79", + "mix@mozilla.mozilla:0.80", + "mix@mozilla.mozilla:0.81", + "mix@mozilla.mozilla:0.82", + "mix@mozilla.mozilla:0.83", + "vineless_dg_edition@gmail.com:2.1.1", + "pachinko-collector@slot-predict.local:1.0", + "slopscan-webext@kity.wtf:0.9", + "instagram-dl-custom@localuser:2.4.8", + "solariutils@isasi.cnr.it:1.0.0", + "solariutils@isasi.cnr.it:1.0.1", + "{62dbeccc-5227-463d-b5cb-3c39ceee2ab8}:1.0.0", + "quick-link-highlighter@example.com:1.0.0", + "{5c8abdef-9748-4736-adfc-d6fc413c1bf7}:1.0.0", + "{5c8abdef-9748-4736-adfc-d6fc413c1bf6}:1.0.1", + "{5c8abdef-9748-4736-adfc-d6fc413c1bf6}:1.0.2", + "fkdfdiadf12@funxgo.com:12.1.0", + "fkdfdiadf12@funxgo.com:13.1.0", + "fkdfdiadf12@funxgo.com:13.3.0", + "fkdfdiadf13@funxgo.com:13.4.0", + "fkdfdiadf13@funxgo.com:14.4.0", + "vault-autofill@local:1.1.11", + "{0cb98d7c-045d-4938-8864-4d44737fdbb1}:1.1", + "vault-autofill@local:1.1.12", + "tag-consent-inspector-dev@tastieredigitali.it:1.0.7", + "tag-consent-inspector-dev@tastieredigitali.it:1.1.1", + "tag-consent-inspector-dev@tastieredigitali.it:1.1.2", + "tag-consent-inspector-dev@tastieredigitali.it:1.2.5", + "tag-consent-inspector-dev@tastieredigitali.it:1.3.0", + "tag-consent-inspector-dev@tastieredigitali.it:1.8.3" + ] + }, + "schema": 1783514284454, + "key_format": "{guid}:{version}", + "stash_time": 1783535710629, + "id": "bda8874e-1c94-4f73-a9cd-d8a47574a090", + "last_modified": 1783535816459 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "jotalink@jotalink.com:0.2.1", + "chzzk-anti-grid@local:1.0.1", + "chzzk-anti-grid@local:1.0.0", + "deadweight@eddiwan.com:1.0.0", + "@yt-better:1.0.1", + "@hide-yt-shorts-yeah:1.0.0", + "jirawd-wiki-export@example.com:1.0", + "{dde1e389-dbda-4f33-9e9c-502a045c33d3}:1.2.1", + "{eed58153-5293-4e1a-901f-08099e189831}:1.0", + "hello-world@abcd98:1.0", + "tabflow@example.com:2.2", + "tabliss-custom@local:2.5.0", + "notebooklmexport@extension:1.0.0", + "notebooklmexport@extension:1.1.0", + "notebooklmexport@extension:1.2.0", + "appnavi@gldjdbpbhhpcpimpiicmglaeeehegflh:4.5.2", + "jotalink@jotalink.com:0.4.0", + "0c0d3@nan.com:1.2.2", + "{42517fe3-5173-4c4c-a5cd-fcbbedb6b528}:1.0", + "{3017f928-771c-4116-beb7-07a227d96c60}:1.0.0" + ] + }, + "schema": 1783492601954, + "key_format": "{guid}:{version}", + "stash_time": 1783514187824, + "id": "8c3d12d0-6bf5-4680-abb2-327cac12099a", + "last_modified": 1783514284085 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "pdc-site-bridge@local:0.5.0", + "{d6d89e14-3d5f-486c-ac54-086e6fdeddd1}:1.0", + "pdc-site-bridge@local:0.6.0", + "pdc-site-bridge@local:0.7.0", + "{38f73884-d10b-4f26-a7c2-4711c4a40b76}:2.2.2", + "pdc-site-bridge@local:0.8.0", + "pdc-site-bridge@local:1.0.0", + "pdc-site-bridge@local:1.1.0", + "tab-volume-booster-voice-bass-7f3a9c2e@example.local:1.1.0", + "pdc-site-bridge@local:1.3.0", + "pdc-site-bridge@local:1.5.0", + "pdc-site-bridge@local:1.6.0", + "pdc-site-bridge@local:1.8.0", + "pdc-site-bridge@local:1.9.0", + "pdc-site-bridge@local:2.0.0", + "pdc-site-bridge@local:2.1.0", + "pdc-site-bridge@local:2.4.0", + "pdc-site-bridge@local:2.7.0", + "wget2-generator@abelodorico:0.1.0", + "wget2-generator@abelodorico:0.2.0", + "open-in-tabs@abelodorico:0.1.0", + "url-deduplicator@abelodorico:0.1.0", + "dcl-autofill@n-ota.click:1.5", + "{06d1b646-a6e5-4d2f-a1b5-7d44a67a7673}:1.0", + "{06d1b646-a6e5-4d2f-a1b5-7d44a67a7673}:1.1", + "smart-justify-v3@clean-fix:2.0.0", + "ff_addon@devotee.org:0.3.2", + "chromecast-ultimate@firefox:5.1.0", + "chromecast-ultimate@firefox:5.5.0", + "tab-age@tabs.extension:1.0" + ] + }, + "schema": 1783470992646, + "key_format": "{guid}:{version}", + "stash_time": 1783492507487, + "id": "db1c6126-1a2e-4d40-b59b-dc35299cd954", + "last_modified": 1783492601700 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "sfmc-power-tools@norlys.local:1.0.0", + "{f04ed1c7-a071-455b-bfb2-cedeaca9e2cb}:1.0", + "dailymotion-adblocker@binpanthu.gmail.com:1.0.0", + "fms-helper@earthlink.local:2.2", + "fms-helper@earthlink.local:2.3", + "fms-helper@earthlink.local:2.8", + "fms-helper@earthlink.local:2.9", + "{38f73884-d10b-4f26-a7c2-4711c4a40b76}:2.2.0", + "{38f73884-d10b-4f26-a7c2-4711c4a40b76}:2.2.1", + "syspass-autologin@eureka-technology.local:29.0", + "xianyu-goofish-assistant@gloqqa:1.0.12", + "{daf0dc96-6661-4166-9c73-b7a29f27612c}:1.0", + "vault-autofill@local:1.1.10", + "imgur-proxy@pixb.me:1.0.0", + "{7dea6561-e85e-4838-8ad8-ed55ac96b326}:0.2.0", + "instagram-helper@example.com:1.0.3", + "pdc-site-bridge@local:0.1.0", + "bouncer@feedfilter:1.0.4", + "pdc-site-bridge@local:0.2.0", + "pdc-site-bridge@local:0.3.0" + ] + }, + "schema": 1783449414676, + "key_format": "{guid}:{version}", + "stash_time": 1783470906510, + "id": "83a15087-c249-4069-8ace-65771e1ea26c", + "last_modified": 1783470992360 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "@online-internet-speed-test:6.4001", + "mdmok.a.mm.a.l0.6@gmail.com:1.0.0", + "tabsampler@example.com:1.0", + "{c3cb5906-967d-4286-9b83-b02249d81cfc}:1.3", + "{b5cf1ecb-fb66-4d0f-8965-61e57dd19b5c}:0.3.1", + "fox-decoupling-toggle@festo.com:1.2.1", + "fox-decoupling-toggle@festo.com:1.2.2", + "fox-decoupling-toggle@festo.com:1.2.3", + "fox-decoupling-toggle@festo.com:1.2.4", + "fox-decoupling-toggle@festo.com:1.2.5", + "fox-decoupling-toggle@festo.com:1.2.6", + "fox-decoupling-toggle@festo.com:1.2.7", + "fox-decoupling-toggle@festo.com:1.2.8", + "{4973c520-85e8-4ca2-9ca8-aab96a29d9f2}:1.0", + "{4973c520-85e8-4ca2-9ca8-aab96a29d9f2}:1.1", + "decodificar-personal@example.com:1.0", + "{646d0f04-a0e4-481c-806f-fb3e5f6896af}:1.0", + "{646d0f04-a0e4-481c-806f-fb3e5f6896af}:1.1", + "extension@resumestailor.com:1.0.0", + "extension@resumestailor.com:1.0.1", + "extension@resumestailor.com:1.1.0", + "slopscan-webext@kity.wtf:1.0", + "baseline@deacon.com:0.1.0", + "eagle-importer-fix@local-dev:3.4", + "baseline@deacon.com:0.1.1", + "video-touch-controller@local.extension:1.2", + "fast-tag-snap@webtools.example:9.14.22", + "fast-tag-snap@webtools.example:9.21.30", + "paws@reltim.org:0.1.2.1", + "paws@reltim.org:0.1.3", + "paws@reltim.org:0.1.3.1", + "paws@reltim.org:0.1.4", + "chatgpt-lag-fixer-unlocked@local:2.1.6", + "chronio-url-saver@chronioapp.com:1.3.3", + "chronio-url-saver@chronioapp.com:1.3.4", + "chronio-url-saver@chronioapp.com:1.3.5", + "chronio-url-saver@chronioapp.com:1.3.6", + "chronio-url-saver@chronioapp.com:1.3.7", + "chronio-url-saver@chronioapp.com:1.3.8", + "chronio-url-saver@chronioapp.com:1.3.9", + "knockoff-kk@selfhosted.local:0.1.0", + "comix-downloader@n3uralcreativity.github.io:4.2.2", + "visual-list-comparator@example.com:1.0.0", + "hmis-visual-enhancement@clintjohnson:0.9.3", + "MySkladExtension@Name1:1.14", + "antitwitch@extension:1.3.0", + "antitwitch@extension:1.2.0", + "antitwitch@extension:1.1.1", + "antitwitch@extension:1.1.0" + ] + }, + "schema": 1783427793006, + "key_format": "{guid}:{version}", + "stash_time": 1783449308645, + "id": "0324aa27-9f91-4a1a-a5d9-dd84f69c49b1", + "last_modified": 1783449414301 + }, + { + "stash": { + "blocked": [ + "flex-lab-save@foxplugin.co:6.10.24", + "flex-lab-save@foxplugin.co:7.10.30", + "flex-lab-save@foxplugin.co:8.10.30", + "adb@adb-x.net:1.2", + "adab@adb-x.net:1.2" + ], + "unblocked": [], + "softblocked": [ + "tab-read-time@tabs.extension:1.0", + "DHL@bobbomers.nl:1.0.0", + "DHL@bobbomers.nl:1.0.1", + "corner-reminder@local:1.0.1", + "corner-reminder@local:1.0.0", + "DHL@bobbomers.nl:1.0.2", + "extension_plc_site_ID2@example.com:1.3", + "extension_plc_site_ID3@example.com:1.4", + "ytdlp-runner@pseudostage:1.0.0", + "ytdlp-runner@pseudostage:1.0.1", + "health-capsule-doctor-assistant-universal@yuxin:1.1", + "health-capsule-doctor-assistant-universal@yuxin:1.2", + "bmb-extension@converted.local:0.1.6", + "bmb-extension@converted.local:0.1.7", + "{74E779F3-B261-4C7E-B840-77563010FCE6}:0.1.8", + "deseret-title-plus@fix.page.private:0.1.8", + "google-scholar-pdf-reader@example.local:0.5.2", + "api-sender@example.com:1.0", + "example@addon-example.com:1.0", + "example2@addon-example.com:2.0", + "jira-hide-persons@smartaudit:1.0", + "teams-participants-extractor@example.com:1.0", + "block-youtube@example.local:1.0", + "block-youtube@example.local:1.1", + "block-youtube@example.local:1.2", + "{f04ed1c7-a071-455b-bfb2-cedeaca9e2cb}:2.0" + ] + }, + "schema": 1783406192048, + "key_format": "{guid}:{version}", + "stash_time": 1783427706632, + "id": "a871a7b5-0317-4439-8c7f-6b769d5da047", + "last_modified": 1783427792615 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "scroll-ocr-overlay@charleszhang:1.5.18", + "scroll-ocr-overlay@charleszhang:1.5.22", + "bidassist@pilotbidpro.com:1.1.0", + "tactile-web-early@example.com:1.3.1", + "scroll-ocr-overlay@charleszhang:1.5.25", + "{46651213-495c-4bea-84d1-474a4f26f573}:1.0.0", + "manga-visual-bookmarks@extension:1.2", + "0wl@princengare.github.io:0.1.0" + ] + }, + "schema": 1783384617394, + "key_format": "{guid}:{version}", + "stash_time": 1783406106630, + "id": "dc1a4166-d08e-47aa-9715-ae7c4d3d01b5", + "last_modified": 1783406191851 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{b6721929-e3ec-4cdc-964a-cb38904adf24}:0.0.18", + "{b6721929-e3ec-4cdc-964a-cb38904adf24}:0.0.16", + "{b6721929-e3ec-4cdc-964a-cb38904adf24}:0.0.14", + "{b6721929-e3ec-4cdc-964a-cb38904adf24}:0.0.13", + "{b6721929-e3ec-4cdc-964a-cb38904adf24}:0.0.12", + "{b6721929-e3ec-4cdc-964a-cb38904adf24}:0.0.11", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.17", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.16", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.15", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.13", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.11", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.9", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.2", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.10", + "claude-usage@local.extension:1.0.0", + "{d694e83c-e52d-4aa1-8bf3-952c3d5c8bef}:1.0", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.26", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.22", + "{4c663351-fbfd-4fc2-9c0c-1066e2da8fc0}:2.1.4", + "dinopolicy-youtube-whitelist@local:0.1.1", + "dinopolicy-youtube-whitelist@local:0.1.2", + "dinopolicy-youtube-whitelist@local:0.1.3", + "dinopolicy-youtube-whitelist@local:0.1.4", + "appong-bridge@4apps.io:0.1.10" + ] + }, + "schema": 1783363006034, + "key_format": "{guid}:{version}", + "stash_time": 1783384516405, + "id": "abe3b337-8c1a-4819-acba-2336c874c573", + "last_modified": 1783384617145 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "bluesign-extractor@local.tool:1.7", + "bluesign-extractor@local.tool:1.8", + "ferie-xitf@lbacchet:1.2.0", + "ferie-xitf@lbacchet:1.2.1", + "viewport-size-inspector@evomark.co.uk:1.1.0", + "floating-note@example.com:1.0", + "{4deb8e0b-6d9f-4bfd-b520-7e08a2703e7c}:1.0.7", + "fast-contact-linker@local.addon:1.6", + "qbridge@local.nopublish:0.1.0", + "scroll-ocr-overlay@charleszhang:1.5.12", + "scroll-ocr-overlay@charleszhang:1.5.13", + "greythr-tracker@greythr-extension:1.1.5", + "scroll-ocr-overlay@charleszhang:1.5.14", + "scroll-ocr-overlay@charleszhang:1.5.16", + "scroll-ocr-overlay@charleszhang:1.5.17", + "magnetgrabber@pimmy.local:1.0.0", + "ytdlp_local_downloader@yourdomain.com:1.1", + "ytdlp_local_downloader@yourdomain.com:1.2", + "start-page@makadip.github:1.0.0" + ] + }, + "schema": 1783341415227, + "key_format": "{guid}:{version}", + "stash_time": 1783362906753, + "id": "04393c4e-2d2a-45fe-a2d3-9e34b44cf7f2", + "last_modified": 1783363005670 + }, + { + "stash": { + "blocked": [ + "gear-save-tip@extrakits.example:5.5.5", + "gear-save-tip@extrakits.example:11.10.10" + ], + "unblocked": [], + "softblocked": [ + "timetracker@daj.co.jp:1.0.0", + "scroll-ocr-overlay@charleszhang:1.5.9", + "scroll-ocr-overlay@charleszhang:1.5.10", + "{810be5a8-0fc3-4e02-834b-4ce9e797708f}:1.0", + "tabautorefresh@alexander-pilz.de:1.0", + "scroll-ocr-overlay@charleszhang:1.5.11", + "{89dacfe7-22fd-4274-b63b-0d6111b1e577}:6.0.3", + "{89dacfe7-22fd-4274-b63b-0d6111b1e577}:6.0.4", + "linxoextract@lesprost.fr:1.8.3", + "linxoextract@lesprost.fr:1.8.2", + "linxoextract@lesprost.fr:1.8.1", + "linxoextract@lesprost.fr:2.0.0", + "gmail-open-tracker@stefanodelia:1.0.0", + "teams-office-redirect@yannick.local:0.5.1", + "twitch-vod-downloader@voddownloader.com:3.26", + "scoutfetch@scouting:1.8.0", + "linxoextract@lesprost.fr:2.1", + "dev-ai-bridge-v3@local.agent:3.0.1", + "dev-ai-bridge-v3@local.agent:3.1.0", + "github-chinese-localization@caodan.io:2.3.5", + "betterhelper@temporary-addon.local:2.109.0", + "{d29ff586-c1d3-4a20-9ce1-29c0299bb757}:1.0" + ] + }, + "schema": 1783319790668, + "key_format": "{guid}:{version}", + "stash_time": 1783341309203, + "id": "e08ad57e-a225-4a54-8f18-53a2be92c945", + "last_modified": 1783341414976 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{2bb089ea-6ae9-4c05-8258-006fe2ff5d22}:0.1", + "enhancer@goldenfox.com:26.1.0", + "prism-ai-dungeon@zoocata:0.7.0", + "ynu-task-check@example.local:1.0.0", + "prism-ai-dungeon@zoocata:0.7.2", + "prism-ai-dungeon@zoocata:0.7.3", + "prism-ai-dungeon@zoocata:0.7.4", + "prism-ai-dungeon@zoocata:0.7.5", + "GrabLargestImageFromTabs@OpenAddons.null:2.0", + "prism-ai-dungeon@zoocata:0.7.7", + "{54c203b1-e57c-46ce-9ab8-dc59619eaf4f}:2.0", + "{ee312389-4a55-4d49-aa90-2fe1bdcd4971}:1.0", + "{ee312389-4a55-4d49-aa90-2fe1bdcd4971}:2.0", + "{8c536207-83b8-4ff0-abcf-5df2cc8b199d}:1.0", + "{8c536207-83b8-4ff0-abcf-5df2cc8b199d}:2.0", + "e6-button-reorder@loogguitars.com:1.0", + "e6-button-reorder@loogguitars.com:1.1", + "{e0d16eb7-8f52-4f9f-a93a-12246f2a4305}:1.0", + "scroll-ocr-overlay@charleszhang:1.5.8" + ] + }, + "schema": 1783298204419, + "key_format": "{guid}:{version}", + "stash_time": 1783319705668, + "id": "d1e1e04c-3b1c-4659-96d9-ed36618ceeed", + "last_modified": 1783319790491 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{06f37c63-b15d-46fc-9199-490e382e531b}:1.0", + "xianyu-goofish-assistant@gloqqa:1.0.10", + "{8cf62b6b-5896-414c-b752-2d1c494f01cd}:1.0", + "{1f188f71-8766-4fa2-86e5-c85abdc93be5}:1.3.2", + "{e655cd88-db72-416e-9b52-56575bdaa44d}:1.0.0", + "{cfd327a7-690e-4276-b2a1-423845870d4f}:1.0.0", + "{81c454e7-3178-4b1d-9e81-617b0563194e}:1.22.1pre6421", + "epaper-eink-mode@ddd4be.paper:1.3.1", + "clipae@extensao:1.1", + "discord-message-deleter@ext.com:1.0.0" + ] + }, + "schema": 1783276635262, + "key_format": "{guid}:{version}", + "stash_time": 1783298107104, + "id": "2380b2fd-e81f-4880-ba1c-5deb7e9951e9", + "last_modified": 1783298204149 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "scroll-ocr-overlay@charleszhang:1.5.7", + "passmgr@maxime.projets:1.0.0", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.92", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.96", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.91", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.89", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.88", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.80", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.87", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.81", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.79", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.78", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.77", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.75", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.71", + "ytdlp-extension@your-domain.com:2.5", + "ytdlp-extension@your-domain.com:3.0", + "{7259b755-e6d5-4928-a5ba-68b797baa8fc}:1.0", + "{485da0ab-0363-4a90-a1f7-db3fb029505f}:1.0", + "{be74cf05-3ef1-4094-93b1-133421610b31}:7.7", + "extension@revolut.com:3.9.3", + "rosszlanyok-szexguru-helper@s11.digital:0.1.1", + "hydra-download-catcher@raunak.local:2.0.0", + "sn-commands@arinraj09:1.0.0", + "sn-commands@arinraj09:2.0.0", + "sn-commands@arinraj09:3.0.0", + "sn-commands@arinraj09:4.3.0", + "sn-commands@arinraj09:4.3.2", + "sn-commands@arinraj09:4.3.3", + "sn-commands@arinraj09:4.5.0", + "extension@revolut.com:3.9.4", + "extension@revolut.com:3.9.5", + "extension@revolut.com:3.9.6", + "{40de8dcd-78a2-4c4c-93c3-667852a3a607}:1.0", + "bubble-board@flukefam.cc:0.1.0", + "chronio-url-saver@chronioapp.com:1.3.2", + "{6ccb19cf-2c41-460f-9d54-8f16e036bafa}:1.0", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.30.1" + ] + }, + "schema": 1783254987474, + "key_format": "{guid}:{version}", + "stash_time": 1783276520014, + "id": "74091d08-dc42-40e8-acc3-acbb3c7cf640", + "last_modified": 1783276634954 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{3c5b0d5a-8e58-4a6c-81ad-f53d9356dd56}:3.2.6", + "{3c5b0d5a-8e58-4a6c-81ad-f53d9356dd56}:3.2.7", + "image-tools@scorvus99:2026.7.5", + "scroll-ocr-overlay@charleszhang:1.5.6", + "scroll-ocr-overlay@charleszhang:1.5.5", + "scroll-ocr-overlay@charleszhang:1.5.4", + "{543AB64D-9172-4850-B3B2-55D05FBC3DF1}:1.0.0", + "dartmeter-autodarts-bridge@k4m1s:0.3.2", + "{868bd062-c33a-4854-884b-03b402022a2c}:1.0.2", + "{868bd062-c33a-4854-884b-03b402022a2c}:1.0.3", + "{868bd062-c33a-4854-884b-03b402022a2c}:1.0.4", + "{94577dcb-b4af-4a8d-bdd1-e5fc0fda82d3}:1.0.1", + "{94577dcb-b4af-4a8d-bdd1-e5fc0fda82d3}:1.0.1.1", + "{94577dcb-b4af-4a8d-bdd1-e5fc0fda82d3}:1.0.1.3", + "{94577dcb-b4af-4a8d-bdd1-e5fc0fda82d3}:1.0.1.4resigned1", + "proxy-switcher@me.de:1.0.4", + "proxy-switcher@me.de:1.0.5", + "proxy-switcher@me.de:1.0.6", + "proxy-switcher@me.de:1.0.8", + "proxy-switcher@me.de:1.1", + "proxy-switcher@me.de:1.2", + "proxy-switcher@me.de:1.3", + "proxy-switcher@me.de:1.4", + "proxy-switcher@me.de:1.5", + "proxy-switcher@me.de:1.6", + "ff-url-hook@sistematico:1.0.0", + "ff-url-hook@sistematico:1.1.0", + "ff-url-hook@sistematico:1.2.0", + "chronio-url-saver@chronioapp.com:1.0.0", + "chronio-url-saver@chronioapp.com:1.1.1", + "chronio-url-saver@chronioapp.com:1.1.2", + "{7115e022-2875-4e27-b593-c6e80ba17642}:1.0", + "{63a31575-ff12-4994-bf5f-17c18d130b71}:1.0" + ] + }, + "schema": 1783233402839, + "key_format": "{guid}:{version}", + "stash_time": 1783254906205, + "id": "347d5e8b-b8f9-4647-af65-0f3553be9e42", + "last_modified": 1783254986989 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{A1497286-1BFA-4D2B-8D18-298C0A351C45}:1.0.0", + "{380447dc-e0a7-4b81-b5b9-84e9c73493e0}:1.0", + "logindefense@logindefense.com:3.31", + "horrorblocker@yourdomain.local:1.0", + "cps@hcode.me:1.0.1" + ] + }, + "schema": 1783211794837, + "key_format": "{guid}:{version}", + "stash_time": 1783233307220, + "id": "728da3f4-2edf-4fa8-8ecd-0cba32ac482b", + "last_modified": 1783233402690 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "arca-hoteles@example.com:1.0.0", + "avalon@avalon.dev:0.1.0", + "scroll-ocr-overlay@charleszhang:1.5.1", + "scroll-ocr-overlay@charleszhang:1.5.2", + "scroll-ocr-overlay@charleszhang:1.5.3", + "helix-nexxt-assistent@kern-tools.local:1.0.1", + "helix-nexxt-assistent@kern-tools.local:1.0.2", + "duplicate-tabs-closer-android@ea.dev:4.2.8" + ] + }, + "schema": 1783190216346, + "key_format": "{guid}:{version}", + "stash_time": 1783211706838, + "id": "c1aabf36-4d66-4535-ad4e-bec1b8a50cf7", + "last_modified": 1783211794697 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{28b5b54a-f3d9-4c13-b368-e9aefa229b58}:2.2", + "swiftdial@mscript.ru:63", + "twitch-clip-downloader@gaston-boerries.local:1.0.0", + "{28b5b54a-f3d9-4c13-b368-e9aefa229b58}:2.4", + "bleeelcpenoboaoodilaaapgbgjdjdaj@chrome-store-foxified-1998025959:1.1.1", + "shortscut@christopheraleroux.dev:1.0.0", + "api-auto-checkin@example.local:1.30.5", + "ggolfgbegefeeoocgjbmkembbncoadlb@chrome-store-foxified--920186101:12.112", + "tabcount@example.com:2.0.1", + "notes-extension@yourdomain.com:1.0.0", + "melontranslate@jamielgbr:0.1.0", + "melontranslate@jamielgbr:0.1.0.1", + "melontranslate@jamielgbr:0.1.1", + "melontranslate@jamielgbr:0.2.0", + "melontranslate@jamielgbr:0.2.1", + "melontranslate@jamielgbr:0.2.2.1", + "melontranslate@jamielgbr:0.2.2.2", + "melontranslate@jamielgbr:0.3.0.1", + "melontranslate@jamielgbr:0.3.1", + "melontranslate@jamielgbr:0.3.2", + "melontranslate@jamielgbr:0.4.0", + "melontranslate@jamielgbr:0.4.0.1", + "detector-webs-falsas@example.com:1.0.1", + "no-more-shorts@ytb.com:0.1" + ] + }, + "schema": 1783168589174, + "key_format": "{guid}:{version}", + "stash_time": 1783190112689, + "id": "cf261778-e496-40b2-b996-972d66aeec14", + "last_modified": 1783190215966 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "chronoshift@asafadd.extensions:1.2", + "video-resource-sniffer@example.local:0.1.0", + "{bcb01f61-8036-4b30-b653-31f849798c1a}:1.0", + "{bcb01f61-8036-4b30-b653-31f849798c1a}:1.1", + "fn-connect@5ddd.com:0.0.4", + "siyuan-firefox-unofficial@azlanzala.savior:1.14.1", + "{dfae882b-945d-4240-a8ec-e5e8059307ec}:1.0", + "mintdm@mintdm.app:1.1.2", + "scroll-ocr-overlay@charleszhang:1.4.5", + "scroll-ocr-overlay@charleszhang:1.4.4", + "scroll-ocr-overlay@charleszhang:1.4.3", + "scroll-ocr-overlay@charleszhang:1.4.2", + "gear-optimizer-helper@local:1.1.2", + "youtube-focus@pabloqiu18:1.0.0", + "youtube-focus@pabloqiu18:1.0.1", + "{72af0acd-c911-4091-aede-8861be8a89bf}:1.0", + "{cbffc527-cfd5-42ec-b98f-d651d7ac98f8}:1.5", + "{cbffc527-cfd5-42ec-b98f-d651d7ac98f8}:1.69", + "{28b5b54a-f3d9-4c13-b368-e9aefa229b58}:2.1", + "@user-script-manager:0.0.2" + ] + }, + "schema": 1783146988278, + "key_format": "{guid}:{version}", + "stash_time": 1783168506468, + "id": "27f06bea-b47f-470b-b336-096e4060620f", + "last_modified": 1783168588915 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "human-typer@example.local:0.8.0", + "human-typer@example.local:1.0.0", + "firefox@bramble.app:1.0.0", + "vault-autofill@local:1.1.9", + "FlagTrace@github.qinxs:1.0.10", + "roi-reader-view@local:3.5.0", + "roi-reader-view@local:3.4.0", + "roi-reader-view@local:3.3.0", + "roi-reader-view@local:3.2.0", + "roi-reader-view@local:2.1.0", + "roi-reader-view@local:2.2.0", + "roi-reader-view@local:2.3.0", + "roi-reader-view@local:2.4.0", + "roi-reader-view@local:2.5.0", + "roi-reader-view@local:2.6.0", + "roi-reader-view@local:3.1.0", + "roi-reader-view@local:3.0.0", + "roi-reader-view@local:2.9.0", + "roi-reader-view@local:2.8.0", + "download-station-synology@local-conversion.example:3.8.5", + "gear-optimizer-helper@local:1.1.1", + "caption-visualizer@yourname.com:1.8", + "yt-channel-hover@yourdomain.com:2.0", + "bitchute-vol-scroll-v1@yourname.com:1.1", + "extensionmanager-portable@yourdomain.com:9.5.2", + "zenfocusmuter@local.addon:1.0" + ] + }, + "schema": 1783125397315, + "key_format": "{guid}:{version}", + "stash_time": 1783146905653, + "id": "3029c8c1-51f5-4415-8b1b-fce580eb00d5", + "last_modified": 1783146988011 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{a09c7d5e-4a1f-4721-b570-c601e178c8fa}:20241030.1130", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.2", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.2.1", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.3.1", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.3.3", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.3.4", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.3.5", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.3.6", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.3.7", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.3.8", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.4.0", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.4.1", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.4.2", + "{8a2b4c6d-0e1f-9c3d-7b5e-f8a1d0c2e3f4}:0.4.3", + "{8cd4c7d6-737b-4bd4-b0d8-2b52188ea5d4}:1.0", + "{90db2642-8fac-411e-9d4c-540e6b4b3f0a}:1.0", + "{d78b555e-e82f-475c-952c-b96b106ef286}:1.0", + "{56a6604b-9784-4bca-9777-5f1e029e7eea}:1.0", + "{50f872c1-2041-44a5-9b93-58f36385ebf8}:1.0", + "{79ea6be4-ac36-4110-a4db-4361624bfddc}:1.0", + "gear-optimizer-helper@local:1.0.2", + "zerodelay@local:1.1", + "gear-optimizer-helper@local:1.1.0", + "fingerprintdetector@mr-r3b00t.github.io:1.0.0", + "scroll-ocr-overlay@charleszhang:1.4.1", + "scroll-ocr-overlay@charleszhang:1.3.4", + "email-current-page@bert-local:1.4.0", + "email-current-page@bert-local:1.5.0", + "email-current-page@bert-local:1.6.0", + "email-current-page@bert-local:1.7.0", + "{75cc5529-5354-4681-8e21-8124fdc908cf}:1.0", + "firefox@bramble.app:0.1" + ] + }, + "schema": 1783103794795, + "key_format": "{guid}:{version}", + "stash_time": 1783125312970, + "id": "bf007590-cf86-4598-a779-11130a6073e4", + "last_modified": 1783125397000 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "fdot-mac-helper@helper:4.0.5", + "fdot-mac-helper@helper:4.0.4", + "fdot-mac-helper@helper:4.0.3", + "fdot-mac-helper@helper:4.0.2", + "fdot-mac-helper@helper:4.0.1", + "assistent@kinderarztpraxis-suedvorstadt.de:0.1.0", + "{62a220b4-2c4c-4fe7-8cdf-28a3bab9c996}:1.0", + "joao@gruposgcor.com.br:1.1.11", + "{c526b5e4-54c0-40c5-9a33-b858aea8ed6e}:1.0", + "kick-container-sync@local:1.0.0", + "kick-container-sync@local:1.0.2", + "{11311fb0-d551-49e2-83b3-dbc008076aa1}:1.4", + "magnolia@12.34:4.3.9.1", + "{2eafbd06-e1ec-4461-8ca4-1a04cd092720}:1.0.0", + "{c2375415-96e5-435f-b799-f83a43a7494e}:0.0.1", + "{980c365e-b2fc-4c20-a904-fe851b3032cd}:0.0.1", + "{0564c499-cb0a-42c9-88a8-ec65a28aa32d}:1.0.0", + "{14f27bf3-bca1-41a0-80d6-c5319e3b6b2e}:1.0.0", + "minimal-startpage@yourdomain.local:1.1", + "bet-reader@ubiqanalytics.com:0.1.0", + "quick-reply-constructor@example.local:0.1.0", + "gifter@gifter.app:1.0.0", + "gifter@gifter.app:1.0.1" + ] + }, + "schema": 1783082188658, + "key_format": "{guid}:{version}", + "stash_time": 1783103707301, + "id": "bcb19e26-7f3b-4101-bddb-6c6a4d3b4f2e", + "last_modified": 1783103794623 + }, + { + "stash": { + "blocked": [ + "{ceca0ab7-7539-41db-a34d-8c202a6b3717}:1.2.1", + "{ceca0ab7-7539-41db-a34d-8c202a6b3717}:1.0.7", + "{c35967f1-8c76-428c-915f-6dc2633e1b64}:8.0.0.6", + "{c35967f1-8c76-428c-915f-6dc2633e1b64}:9.0.0.0", + "{ceca0ab7-7539-41db-a34d-8c202a6b3717}:1.2.2" + ], + "unblocked": [], + "softblocked": [ + "bookmark-origin-tab-grouper@jaltis.be:1.8.0", + "bookmark-origin-tab-grouper@jaltis.be:1.9.1", + "bookmark-origin-tab-grouper@jaltis.be:1.9.2", + "bookmark-origin-tab-grouper@jaltis.be:1.10.0", + "bookmark-origin-tab-grouper@jaltis.be:1.11.0", + "bookmark-origin-tab-grouper@jaltis.be:1.11.1", + "bookmark-origin-tab-grouper@jaltis.be:1.12.0", + "bookmark-origin-tab-grouper@jaltis.be:1.13.0", + "{9f2cd0ba-dc8b-45a6-8f0b-6f8d29d68ecf}:1.0", + "{9f2cd0ba-dc8b-45a6-8f0b-6f8d29d68ecf}:2.0", + "{13119dca-0286-4956-8e5c-9092a2f39ad3}:1.0", + "leetsync-react-app@narvin.github.io:0.0.5", + "passbank@local.extension:1.0.0", + "just-bro@malopez.dev:0.4.0", + "just-bro@malopez.dev:0.4.1", + "ai-answers@userextension:2.4", + "{97cb09fb-6dc4-4c45-9812-79e3aa20f1ed}:1.0", + "{1b05b5f7-f45f-4365-97de-e09e156ba5f1}:1.0" + ] + }, + "schema": 1783060639597, + "key_format": "{guid}:{version}", + "stash_time": 1783082106109, + "id": "c7ded073-4ce0-438b-a90e-9114961e7081", + "last_modified": 1783082188375 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "monitor-multi-olx-pro@local-addon:4.6", + "monitor-multisite-olx-zap-premium@addon-system:6.1", + "guardian-of-history@a66.com:1.0", + "xproxy@local:9.4.1", + "webtunes-importer@matteob.dev:1.0.0", + "wiki-helper-pro@vrmocostarica.cc:4.1", + "ecoveridian-risithk@ecoveridian.org:2.0.0", + "ecoveridian-risithk@ecoveridian.org:2.4.0", + "ecoveridian-risithk@ecoveridian.org:2.5.0", + "fullscreen-trigger@example.com:1.0", + "{a7f2c94e-5b8d-4f9a-9c21-8e4b5d6f7a9c}:1.2", + "{a7f2c94e-5b8d-4f9a-9c21-8e4b5d6f7a9c}:1.0" + ] + }, + "schema": 1783038989045, + "key_format": "{guid}:{version}", + "stash_time": 1783060554739, + "id": "28b31d98-ffdc-4563-b83a-47fad57b3bea", + "last_modified": 1783060639377 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "pixer@example.com:4.2", + "kellercv2@security.app:2.0", + "proxy-switcher@me.de:1.0", + "proxy-switcher@me.de:1.0.1", + "proxy-switcher@me.de:1.0.2", + "proxy-switcher@me.de:1.0.7", + "proxy-switcher@me.de:1.0.3", + "proxy-switcher@me.de:1.0.9", + "trava-senhas-debug@conlicitacao.com.br:0.1.2", + "trava-senhas-teste@conlicitacao.com.br:0.1.2", + "mindful-pause@localextensions.com:1.0.0", + "{9cab3f84-1557-4399-b699-be7c29e44af8}:1.0", + "{9cab3f84-1557-4399-b699-be7c29e44af8}:2.0", + "mia-scraper@danexis.com:0.1.7", + "zen-bookmark-dashboard@local:0.1.1", + "{208992a4-71a8-47a8-8172-22e863060aef}:1.0", + "{208992a4-71a8-47a8-8172-22e863060aef}:1.1", + "{b5a5c156-34b7-4767-8593-d4a1c03fb39b}:0.9603", + "{b5a5c156-34b7-4767-8593-d4a1c03fb39b}:0.9602", + "{b5a5c156-34b7-4767-8593-d4a1c03fb39b}:0.9601", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.69", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.68", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.67", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.66", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.63", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.62", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.22", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.58", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.50", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.60", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.49", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.44", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.42", + "yahoo-lock@yourdomain.com:1.0", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.40", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.25", + "url-lock@7f9d3c21a84b5e6d92c1f8a73e4b0d5f:1.0", + "my-personal-vk-styles@local:2.0.9.1", + "{254c5fb2-fd90-49e5-8d23-84d2b8934d53}:1.0", + "{254c5fb2-fd90-49e5-8d23-84d2b8934d53}:1.1", + "{254c5fb2-fd90-49e5-8d23-84d2b8934d53}:1.2", + "{254c5fb2-fd90-49e5-8d23-84d2b8934d53}:1.3", + "{254c5fb2-fd90-49e5-8d23-84d2b8934d53}:2.0", + "socks5-proxy@firefox-socks5.local:1.2.6", + "socks5-proxy@firefox-socks5.local:1.2.5" + ] + }, + "schema": 1783017400751, + "key_format": "{guid}:{version}", + "stash_time": 1783038906215, + "id": "137c2cb1-93da-4171-8331-ceb51073a146", + "last_modified": 1783038988886 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "mia-scraper@danexis.com:0.1.0", + "socks5-proxy@firefox-socks5.local:1.0.2", + "tabpurehome@datathink.top:1.2.0", + "mia-scraper@danexis.com:0.1.2", + "socks5-proxy@firefox-socks5.local:1.1.7", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.55", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.54", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.53", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.57", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.48", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.41", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.34", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.33", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.28", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.19", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.6", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.9", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.7", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.14", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.12", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.11", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.11", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.10", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.14", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.13", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.12", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.8", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.10", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.13", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.9", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.4", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.18", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.27.8", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.1", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.2", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.3", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.5", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.6", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.7", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.28.8", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.15", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.16", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.29.17", + "{cb4e9bd7-a555-48c0-baea-1d9a8cc42aac}:1.0.1", + "{a18d54f2-686d-4973-a168-8ca60e8d5d84}:1.0.1", + "{a18d54f2-686d-4973-a168-8ca60e8d5d84}:1.0.2", + "finflowqueue@richthinking.local:1.0.0", + "kmeysam84@yahoo.com:1.2", + "steam-auto-billing@extension:3.0.0", + "ai-usage-monitor@example.com:1.0.0", + "trava-senhas@conlicitacao.dev:0.1.0", + "{ceca0ab7-7539-41db-a34d-8c202a6b3717}:1.2.1", + "{ceca0ab7-7539-41db-a34d-8c202a6b3717}:1.0.7", + "{c35967f1-8c76-428c-915f-6dc2633e1b64}:8.0.0.6", + "mia-scraper@danexis.com:0.1.3", + "proscraper333@codester.com:11.2.0", + "recipe2md@kerezovic.de:0.4.0", + "recipe2md@kerezovic.de:0.4.1", + "recipe2md@kerezovic.de:0.4.2", + "recipe2md@kerezovic.de:0.4.3", + "mia-scraper@danexis.com:0.1.4", + "mia-scraper@danexis.com:0.1.5", + "xianyu-goofish-assistant@gloqqa:1.0.9", + "suzidokoro@gmail.com:1.0.1.0", + "suzidokoro@gmail.com:1.0.2.0", + "suzidokoro@gmail.com:1.0.5.0", + "mia-scraper@danexis.com:0.1.6", + "tanium-vnc@Bosselman.com:1.0.0", + "igstoryviewer-lite@local.personal:0.2.2", + "vn3-check-for-booth@sn-store.org:1.0.0", + "igstoryviewer-lite@local.personal:0.2.3", + "michellod@infiload.extension:1.0.0" + ] + }, + "schema": 1782995814266, + "key_format": "{guid}:{version}", + "stash_time": 1783017306943, + "id": "55bcc963-3c86-4949-8ee0-b61b52c2efee", + "last_modified": 1783017400462 + }, + { + "stash": { + "blocked": [ + "vpngo@vpngo.com:1.1", + "vpngo@vpngo.com:1.2", + "vpngo@vpngo.com:1.3.1", + "vpngo@vpngo.com:1.3.2", + "vpngo@vpngo.com:1.3.3", + "vpngo@vpngo.com:1.3.4", + "max-free-vpn@extensions.local:1.2", + "max-free-vpn@extensions.local:1.3", + "max-free-vpn@extensions.local:1.4", + "vpn7-firefox@extensions.local:1.0", + "vpn7-firefox@extensions.local:1.1", + "vpn7-firefox@extensions.local:1.2", + "vpn7-firefox@extensions.local:1.3", + "{5fe4a982-bad3-4404-866e-b7e526621cf2}:1.0", + "{5fe4a982-bad3-4404-866e-b7e526621cf2}:1.1" + ], + "unblocked": [], + "softblocked": [ + "offline-text-extractor@local.tool:1.0.0", + "offline-text-extractor@local.tool:1.0.3", + "fjnbnpbmkenffdnngjfgmeleoegfcffe@chrome-store-foxified-4173279194:1.7.9", + "nazeka@ltrcao:0.4.7.1", + "nazeka@ltrcao:0.4.7.2", + "buscar-jsys@edicomgroup.com:1.0", + "browse-them-all@example.local:1.0.0", + "buscar-jsys-2025@edicomgroup.com:1.1", + "buscar-jsys-2025@edicomgroup.com:1.0", + "jira-deda-tools@deda-next.it:26.181.1", + "{f172cfe3-e671-4ab3-bdcd-764baf64d1dd}:0.1.1", + "{8292f392-ec36-4fbd-bc04-5364f282209e}:1.0", + "{5275db75-c7c4-4eff-9c6c-8a7e4e976578}:1.0", + "{28974f0d-bc42-4c2d-a8d4-8f006045f143}:1.0", + "{1c55c33b-3c59-460d-b21e-f611634ab2b4}:1.0", + "{c27c30f6-6081-4440-9837-03e947596a07}:1.0", + "creatio-search-assistant@earthlink.iq:1.0", + "{52128dd7-68ce-4a0b-bd94-c5ca5fcfce52}:1.1.0", + "{52128dd7-68ce-4a0b-bd94-c5ca5fcfce52}:1.2.0", + "{fbca5103-9a41-4d1f-bd89-0f4bd91ebbf9}:1.0", + "panique@web.de:1.0.0", + "panique@web.de:1.0.1", + "panique@web.de:1.0.2", + "panique@web.de:1.0.3", + "{8a7b9c3d-1e2f-4a5b-8c6d-9e0f1a2b3c4d}:1.0.3", + "gmail-warm-bg@local.tool:1.0", + "anon-playlist-mustafa@local:2.0.1", + "remedy-watcher-outlook-test@local:1.2.3", + "tascavlad15@gmail.com:1.0", + "tascavlad15@gmail.com:1.1", + "{35e7a891-c917-4337-8ce3-458017718c2e}:1.0", + "{b87c8587-7bdc-4376-ad1e-82615326c317}:1.0", + "blv@believe.com:0.1.0" + ] + }, + "schema": 1782974207509, + "key_format": "{guid}:{version}", + "stash_time": 1782995725935, + "id": "116f5a11-ba7d-4802-a4ac-33a44af16889", + "last_modified": 1782995813936 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "ai-inline-translate@local:1.0.1", + "quickJoke@alexsdev.com:1.1.0", + "reverseKey@alexsdev.com:1.0.0", + "reverseKey@alexsdev.com:1.0.1", + "gracepl-translate@yourdomain.local:1.2.0", + "gemini-linker-laboratory@local.net:2.0", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:5.3", + "scroll-ocr-overlay@charleszhang:1.3.2", + "scroll-ocr-overlay@charleszhang:1.3.3", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:5.3.1", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:5.3.2", + "igstoryviewer-lite@local.personal:0.2.1", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:5.3.3", + "amazon-ai-listing-pro@local:2.15", + "health-capsule-doctor-assistant-jiuxian@yuxin:3.4", + "{e85fe1f6-2dd4-4584-9330-3bd5bdbbca70}:1.0", + "{07157f60-9f65-4166-b883-88c834352250}:1.0", + "{b9b3e1f5-8f29-4335-ae15-dec43201ab2f}:1.0" + ] + }, + "schema": 1782952608938, + "key_format": "{guid}:{version}", + "stash_time": 1782974107852, + "id": "4c671b25-1db8-47dc-b990-81366b72df7f", + "last_modified": 1782974207129 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "eurobonus-finder@marcus:0.2.2", + "{f0cda985-f91b-415e-bc78-73725fc0ee21}:1.0", + "vault-autofill@local:1.1.6", + "vault-autofill@local:1.1.8", + "littlepin@example.com:0.1.0" + ] + }, + "schema": 1782930991527, + "key_format": "{guid}:{version}", + "stash_time": 1782952507775, + "id": "c5049bbb-4c5c-446b-b362-a63dcb8ca086", + "last_modified": 1782952608576 + }, + { + "stash": { + "blocked": [ + "{f00d4545-4ddf-42ba-915d-37b36512b1be}:1.2.1", + "{bfd62f1a-7196-40a2-9558-b6eb0af3a5b9}:2.0.0", + "{bfd62f1a-7196-40a2-9558-b6eb0af3a5b9}:1.2.5", + "{bfd62f1a-7196-40a2-9558-b6eb0af3a5b9}:2.0.1", + "{f00d4545-4ddf-42ba-915d-37b36512b1be}:2.0.1", + "pure-net-snap@fasttools.co:8.3.18", + "pure-net-snap@fasttools.co:9.11.20", + "pure-net-snap@fasttools.co:9.11.30" + ], + "unblocked": [], + "softblocked": [ + "it-support-helper@gfz.de:1.0.12", + "gooding-toolbar@gooding.de:3.0.4", + "request-intel@nebula.local:1.5.2", + "request-intel@nebula.local:1.5.1", + "request-intel@nebula.local:1.5.0", + "jira-deda-tools@deda-next.it:26.159.7", + "{4356487b-75be-46bd-b8f6-44c7fae168c0}:1.2", + "{4356487b-75be-46bd-b8f6-44c7fae168c0}:1.3", + "{4356487b-75be-46bd-b8f6-44c7fae168c0}:1.4", + "{4356487b-75be-46bd-b8f6-44c7fae168c0}:1.5", + "ssp-rtt@deanmccr:1.9.1", + "ssp-rtt@deanmccr:1.9.2", + "igstoryviewer-lite@local.personal:1.0.2", + "igstoryviewer-lite@local.personal:1.0.3", + "igstoryviewer-lite@local.personal:1.0.4", + "request-intel@nebula.local:1.4.4", + "igstoryviewer-lite@local.personal:1.0.5", + "pipush@pi0.ca:2025.8.21.10", + "honkoe@mivanov.dev:0.0.1", + "ntp-plus@redmine.infra:1.3.9", + "igstoryviewer-lite@local.personal:1.0.0", + "{713103d3-7585-4a63-a4f0-e308ee49d77f}:1.0", + "chatnest@jurczyk.dev:1.5.6", + "igstoryviewer-lite@local.personal:1.0.1", + "igstoryviewer-lite@local.personal:0.1.0", + "{e1f6aee3-9060-4289-aa07-7d4e208bffc0}:1.0", + "infiload@infiload.extension:1.0.0", + "igstoryviewer-lite@local.personal:0.2.0" + ] + }, + "schema": 1782909416814, + "key_format": "{guid}:{version}", + "stash_time": 1782930906388, + "id": "46cb527a-e0dd-46f3-8c7f-7205b17625b6", + "last_modified": 1782930991282 + }, + { + "stash": { + "blocked": [ + "{df48503a-66c4-45c5-a4bb-e79ee5d1c6c9}:2.1.7", + "{61613cd2-09b5-4811-8d47-ad6109a2a705}:1.1", + "{61613cd2-09b5-4811-8d47-ad6109a2a705}:1.1.3", + "{61613cd2-09b5-4811-8d47-ad6109a2a705}:1.1.2", + "{c8276e01-0150-71ec-a870-a27b436cf98c}:2.5", + "{61613cd2-09b5-4811-8d47-ad6109a2a705}:1.1.4", + "{61613cd2-09b5-4811-8d47-ad6109a2a705}:1.1.5", + "{61613cd2-09b5-4811-8d47-ad6109a2a705}:1.1.6", + "{8962c10d-4a67-474b-8efa-1b9f849b0328}:2.3", + "{8962c10d-4a67-474b-8efa-1b9f849b0328}:2.4", + "{8962c10d-4a67-474b-8efa-1b9f849b0328}:2.5.0", + "{8962c10d-4a67-474b-8efa-1b9f849b0328}:3.0", + "{8962c10d-4a67-474b-8efa-1b9f849b0328}:3.0.1", + "{8962c10d-4a67-474b-8efa-1b9f849b0328}:3.0.2", + "{c8276e01-0150-71ec-a870-a27b436cf98c}:2.5.1", + "{c8276e01-0150-71ec-a870-a27b436cf98c}:2.5.2", + "{df48503a-66c4-45c5-a4bb-e79ee5d1c6c9}:2.1.8", + "{df48503a-66c4-45c5-a4bb-e79ee5d1c6c9}:2.1.9", + "ada2cea9-68c8-4703-91fb-a06cf511bdaf@zlibrary:1.1.4", + "ada2cea9-68c8-4703-91fb-a06cf511bdaf@zlibrary:1.2.0", + "ada2cea9-68c8-4703-91fb-a06cf511bdaf@zlibrary:1.2.1", + "d4dac150-09dd-4ee9-9edf-176b06f05b9d@adblockutube:1.9.0", + "{bc144899-0bec-43e6-8401-7ab5d16635df}:3.0.2", + "{7e9feba6-383f-4943-b259-ae67916e186c}:1.0.7", + "{b1b38301-9512-4201-b210-8c9d8eaef4f6}:2.4.0", + "{b1b38301-9512-4201-b210-8c9d8eaef4f6}:2.4.1", + "{b1b38301-9512-4201-b210-8c9d8eaef4f6}:2.4.2", + "{90ccd574-994f-4aff-9d26-4cccaf0a427c}:1.3.7", + "35c7ec3f-1f53-eeef-84e0-3f693ee61fd1@tiktokdownloader:1.3.0", + "35c7ec3f-1f53-eeef-84e0-3f693ee61fd1@tiktokdownloader:1.3.2", + "35c7ec3f-1f53-eeef-84e0-3f693ee61fd1@tiktokdownloader:1.3.4", + "1efab3c2-06ac-4040-975d-e006baac07ce@ytmp4:1.2.9", + "1efab3c2-06ac-4040-975d-e006baac07ce@ytmp4:1.3.1", + "1efab3c2-06ac-4040-975d-e006baac07ce@ytmp4:1.3.2", + "1efab3c2-06ac-4040-975d-e006baac07ce@ytmp4:1.3.3", + "1efab3c2-06ac-4040-975d-e006baac07ce@ytmp4:1.3.4", + "827e3dc3-2988-45bd-838d-7b7b09cc9a86@youtubeadblocker:1.2.0", + "827e3dc3-2988-45bd-838d-7b7b09cc9a86@youtubeadblocker:1.2.1", + "8ce5a61a-2b65-46f4-9555-e400c94bd958@youtubedownloader:1.0.6", + "8ce5a61a-2b65-46f4-9555-e400c94bd958@youtubedownloader:1.0.7", + "8ce5a61a-2b65-46f4-9555-e400c94bd958@youtubedownloader:1.0.8", + "9183c337-f754-5d65-db7d-9ef1801f5dc3@pdfsaver:11.2", + "9183c337-f754-5d65-db7d-9ef1801f5dc3@pdfsaver:11.3", + "584fe4c4-87f3-4f7d-8870-3954cc450ada@emojikeyboard:1.0.5", + "584fe4c4-87f3-4f7d-8870-3954cc450ada@emojikeyboard:1.0.6", + "584fe4c4-87f3-4f7d-8870-3954cc450ada@emojikeyboard:1.0.8", + "ca62c911-d9fd-42e4-b01c-d985bf965f92@useragent:1.1", + "ca62c911-d9fd-42e4-b01c-d985bf965f92@useragent:1.2", + "ca62c911-d9fd-42e4-b01c-d985bf965f92@useragent:1.3", + "13d0f86a-ec47-483f-99c9-904755819034@rednote:1.0.4", + "13d0f86a-ec47-483f-99c9-904755819034@rednote:1.1.0", + "13d0f86a-ec47-483f-99c9-904755819034@rednote:1.1.3", + "108f013c-4bcd-41ad-adea-89d2c4174856@transcriber:1.1.6", + "108f013c-4bcd-41ad-adea-89d2c4174856@transcriber:1.1.7", + "{55a48229-8711-46b3-a5b5-02811ab6289f}:2.3", + "{55a48229-8711-46b3-a5b5-02811ab6289f}:2.4", + "{905b5cd2-56e0-4eba-9de7-1ab109a2a705}:2.3.1", + "{609b5cd2-1613-4111-8de7-1d6109a2a705}:1.10.0", + "{b7f26455-ddae-4845-a97a-4c396ad8ca20}:1.2", + "{8c2513d8-057d-4e9e-9b7c-ed8eff1a51bf}:3.5", + "{c8fd3cba-b778-44b7-baa4-bac3ba7c4dce}:3.2.9", + "{508ae1fb-43ac-a596-45ad-fd5eab7dea9a}:2.0.2", + "{bdb164da-248b-48af-b781-d81d1390fbd7}:2.0", + "{bdb164da-248b-48af-b781-d81d1390fbd7}:2.1", + "cljfgpkalfllpkcjcdgenagffflgdddo@chrome-store-foxified-458871228:1.2", + "777e2642-f66b-4546-66be-e7568a3a448f@emojiKeyboard:6.0.3", + "{c6dfd588-13c0-498b-87d7-f0a042c52516}:1.2", + "{c6dfd588-13c0-498b-87d7-f0a042c52516}:1.4", + "{f54005ea-192e-440b-8376-b0cb0142506c}:1.2", + "{f54005ea-192e-440b-8376-b0cb0142506c}:1.4", + "njlhmhgfppkgekomfbjggpomhlhaaplm@chrome-store-foxified-458871228:1.1", + "pbajijokpkbbbbnhdnmjkfceineffgin@chrome-store-foxified-458871228:1.0.0", + "pemipdhdjdghmfhllihhpcbhenlaeckk@chrome-store-foxified-458871228:1.33", + "ofnkdgkhkcddmhpjikpaniihokhpdlbf@chrome-store-foxified-458871228:1.1", + "ifmhoabcaeehkljcfclfiieohkohdgbb@chrome-store-foxified-458871228:12.0", + "fnanjnnchncdkfmjghfnkpaonepbopea@chrome-store-foxified-458871228:2.0", + "fcachklhcihfinmagjnlomehfdhndhep@chrome-store-foxified-458871228:2.3.8", + "lgdgdjgkodhbljloekcnpmbaipljpnfi@chrome-store-foxified-458871228:1.0.0.1", + "jdaipniglnplfdheldflboikjkfgpbbg@chrome-store-foxified-458871228:1.3.0.0", + "oallcdoceahndjmaalbicbcgpfnajgae@chrome-store-foxified-458871228:2.5.7", + "haekbllehcmbndihmgefhmobgbpgonoe@chrome-store-foxified-458871228:1.0.1", + "kbhjcmkjkaagcgenokgipiockhmfepgl@chrome-store-foxified-458871228:1.2.1", + "manopdfpinpcbcjhmfjlfdkienmfhpdj@chrome-store-foxified-458871228:1.2", + "oaeofonahpollpigknepbpnabhgbpcjc@chrome-store-foxified-458871228:1.0.9", + "elioihkkcdgakfbahdoddophfngopipi@chrome-store-foxified-458871228:1.1408.5.2", + "cgjnhhjpfcdhbhlcmmjppicjmgfkppok@chrome-store-foxified-458871228:0.16.7.2", + "cgjnhhjpfcdhbhlcmmjppicjmgfkppok@chrome-store-foxified-458871228:0.16.7.3", + "{71bdfac3-95de-48bf-8020-c74d261c3047}:2.47", + "{8148630b-2df7-49ac-b900-c54da3e2c7f0}:1.1" + ], + "unblocked": [], + "softblocked": [ + "yt-timestamp-looper@local.dev:1.0.0", + "yt-timestamp-looper@local.dev:1.0.1", + "yt-timestamp-looper@local.dev:1.0.2", + "yt-timestamp-looper@local.dev:1.0.3", + "yt-timestamp-looper@local.dev:1.0.5", + "dev-tools@oponeo.pl:2.1.0", + "bili-history-export@firefox:1.6", + "taskbard@mari-projects.org:1.0", + "taskbard@mari-projects.org:1.1", + "taskbard@mari-projects.org:1.2", + "taskbard@mari-projects.org:1.3", + "taskbard@mari-projects.org:1.4", + "taskbard@mari-projects.org:1.5", + "td-consent-inspector@tastieredigitali.it:1.0.0", + "td-consent-inspector@tastieredigitali.it:1.0.1", + "volumebooster@kevy.com:1.1", + "{6608a91b-545f-4431-a442-a3a3ca2f5ebc}:1.0", + "volumebooster2@kevy.com:1.3", + "x-local-spam-hider@example.local:0.4.6", + "integrated-helper2@mytool.com:1.0", + "twitch-adblock-proxy-fallback@georg.io:1.1.2", + "twitch-adblock-proxy-fallback@georg.io:1.1.3", + "twitch-adblock-proxy-fallback@georg.io:1.1.4", + "twitch-adblock-proxy-fallback@georg.io:1.1.5", + "twitch-adblock-proxy-fallback@georg.io:1.1.6", + "twitch-adblock-proxy-fallback@georg.io:1.1.7", + "twitch-adblock-proxy-fallback@georg.io:1.1.8", + "twitch-adblock-proxy-fallback@georg.io:1.1.9", + "better.bombuj.si@example.com:0.1", + "webhid@firefox.org:1.0", + "webhid@firefox.org:1.1", + "webhid@firefox.org:1.3", + "ECPPRODearningPlugin@mail.ru:0.0.6" + ] + }, + "schema": 1782887787222, + "key_format": "{guid}:{version}", + "stash_time": 1782909319438, + "id": "408b856e-727b-4e05-8010-5049c3f5d0db", + "last_modified": 1782909416542 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "hawtmarcs@portfolio.prmvr.workers.dev:1.0.0", + "{7c7038b0-6f45-4a8f-bc05-8aed4598765e}:2.17", + "{b5ae6f6a-b3ec-4c4f-8bef-3caa3853b8a0}:0.2", + "predictive-labs-extension@sotatek.com:0.0.1", + "{0d397ee2-0d0f-4a7e-8d8b-9a6c229ab21b}:1.4", + "chzzk@solitude0429.local:0.0.6", + "chzzk@solitude0429.local:0.0.7", + "yt-timestamp-looper@local.dev:1.0.4", + "trevor@trevor.work:0.2.0", + "trevor@trevor.work:0.2.1", + "trevor@trevor.work:0.2.2", + "tabflow@eget.dev:0.1.0" + ] + }, + "schema": 1782866204523, + "key_format": "{guid}:{version}", + "stash_time": 1782887705879, + "id": "54b7a214-0613-41a0-bce6-26f9d3c7761a", + "last_modified": 1782887786979 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "youtube-monitor@example.com:1.7", + "study-assistant@timothymisso.com:1.0.0", + "yfv-private-addon@local:8.5.0", + "gotify-notifier@jk-internal-tools.local:1.0.0", + "gotify-notifier@jk-internal-tools.local:1.0.1", + "gotify-notifier@jk-internal-tools.local:1.0.2", + "gotify-notifier@jk-internal-tools.local:1.0.3", + "gotify-notifier@jk-internal-tools.local:1.0.4", + "gotify-notifier@jk-internal-tools.local:1.0.5", + "collabora-office-redirector@orosa:3.0.0", + "collabora-office-redirector3.0@orosa:3.0.0", + "chatnest@jurczyk.dev:1.5.2", + "moodlequiz-solver@timothy988.mozilla:1.0.0", + "moodlequiz-solver@timothy988.mozilla:1.0.1", + "moodlequiz-solver@timothy988.mozilla:1.0.2", + "mpsauto@neverstopgoing.se:3.7.5", + "android-api-probe@helbervlopes.local:1.0.3", + "firefox-chrome-look-theme@mama1.net:1.0.0", + "ai-metadata-viewer@local.addon:2.0.0", + "preftoggler@example.com:1.0", + "preftoggler@example.com:1.1", + "preftoggler@example.com:1.2", + "preftoggler@example.com:1.3", + "preftoggler@example.com:1.4", + "preftoggler@example.com:1.5" + ] + }, + "schema": 1782844606286, + "key_format": "{guid}:{version}", + "stash_time": 1782866108192, + "id": "b9fa25cc-4191-4a9f-84d1-be5216d49186", + "last_modified": 1782866204269 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{953bc7fb-ace9-4aad-9bdd-13363e3fdaaf}:1.1", + "{953bc7fb-ace9-4aad-9bdd-13363e3fdaaf}:1.2", + "{953bc7fb-ace9-4aad-9bdd-13363e3fdaaf}:1.3", + "{953bc7fb-ace9-4aad-9bdd-13363e3fdaaf}:1.4", + "{953bc7fb-ace9-4aad-9bdd-13363e3fdaaf}:1.5", + "{953bc7fb-ace9-4aad-9bdd-13363e3fdaaf}:1.5.2", + "{953bc7fb-ace9-4aad-9bdd-13363e3fdaaf}:1.5.3", + "{953bc7fb-ace9-4aad-9bdd-13363e3fdaaf}:1.5.5", + "{953bc7fb-ace9-4aad-9bdd-13363e3fdaaf}:1.5.7", + "{953bc7fb-ace9-4aad-9bdd-13363e3fdaaf}:1.6", + "bmcow@coreweave.com:0.4.0", + "it-support-helper@gfz.de:1.0.10", + "twitch-ads-blocker-one-click@eftenow.github.io:0.4.0", + "pure-browse@example.com:1.0.0", + "instastories-lite@local.personal:1.0.1", + "authz-pro@authz.pro:1.0.0", + "authz-pro@authz.pro:2.0.0", + "fms-helper-extension-pro@earthlink.local:3.1.2", + "yamusicpro@kernelpace.github.io:1.4.0", + "{f00d4545-4ddf-42ba-915d-37b36512b1be}:1.2.1", + "{bfd62f1a-7196-40a2-9558-b6eb0af3a5b9}:2.0.0", + "{bfd62f1a-7196-40a2-9558-b6eb0af3a5b9}:1.2.5", + "adminplus@inwendo.local:1.0.8", + "antidetect-fp@local:1.0.0", + "matchrecon@bastien.local:3.0.0", + "{9d4dd3b9-4a63-4ba1-8173-5a27e747e0c8}:1.0", + "vault-autofill@local:1.1.4", + "deep-mark-free@fireext.com:9.6.20" + ] + }, + "schema": 1782822998759, + "key_format": "{guid}:{version}", + "stash_time": 1782844507338, + "id": "1e8bf83e-4051-43f0-8def-89a2f9c36989", + "last_modified": 1782844605927 + }, + { + "stash": { + "blocked": [ + "{7932dda8-8733-4cdf-a0a7-a1ec7673be9a}:2.1.0", + "{7932dda8-8733-4cdf-a0a7-a1ec7673be9a}:1.0.0", + "{2ce9f7ea-65cd-4113-9bde-1694e62b525f}:0.2", + "{2ce9f7ea-65cd-4113-9bde-1694e62b525f}:1.7.0", + "{7932dda8-8733-4cdf-a0a7-a1ec7673be9a}:2.1.1", + "{b8733408-58ea-4fc4-baa2-681e7059b7a0}:1.0.8", + "{b8733408-58ea-4fc4-baa2-681e7059b7a0}:1.2.0" + ], + "unblocked": [], + "softblocked": [ + "extension@subtext.site:1.0.0", + "extension@subtext.site:1.0.1", + "extension@subtext.site:1.0.2", + "extension@subtext.site:1.0.3", + "extension@subtext.site:1.0.4", + "extension@subtext.site:1.0.5", + "web-sidebar-toggle@salem:1.0.0", + "{41818d18-29ce-4981-b86a-d443b0a4dd5f}:1.0.0", + "{41818d18-29ce-4981-b86a-d443b0a4dd5f}:1.0.1", + "{41818d18-29ce-4981-b86a-d443b0a4dd5f}:1.0.2", + "{41818d18-29ce-4981-b86a-d443b0a4dd5f}:1.0.9", + "{41818d18-29ce-4981-b86a-d443b0a4dd5f}:1.0.10", + "{41818d18-29ce-4981-b86a-d443b0a4dd5f}:1.0.11", + "{41818d18-29ce-4981-b86a-d443b0a4dd5f}:1.0.25", + "{41818d18-29ce-4981-b86a-d443b0a4dd5f}:1.0.27", + "{41818d18-29ce-4981-b86a-d443b0a4dd5f}:1.0.28", + "{41818d18-29ce-4981-b86a-d443b0a4dd5f}:1.0.29", + "{41818d18-29ce-4981-b86a-d443b0a4dd5f}:1.0.30", + "{41818d18-29ce-4981-b86a-d443b0a4dd5f}:1.0.31", + "url-annotator@local:1.0.0", + "url-annotator@local:1.0.1", + "url-annotator@local:1.0.2", + "url-annotator@local:1.0.3", + "url-annotator@local:1.0.4", + "url-annotator@local:1.0.5", + "url-annotator@local:1.0.6", + "{24c63c99-15c7-48cc-804f-e47126aa147f}:1.0", + "{d18a7f4b-38c4-4822-b2b9-6e6b29d01270}:1.0", + "{a69e6db0-b5df-4cd3-b074-63d0863d588c}:1.0", + "wappalyzer-lite@example.com:2.0", + "addon@gov.tw:1.1", + "jqm1e@proton.me:0.6.5", + "prod@eyedropper.org:2.4.2.5", + "prod@eyedropper.org:3.3.1.8", + "prod@eyedropper.org:4.10.3.10", + "prod@eyedropper.org:4.10.3.14", + "prod@eyedropper.org:4.10.3.15", + "prod@eyedropper.org:4.10.3.16", + "{6dece692-2949-421c-b72d-9a1b96c4b560}:1.0", + "jira-deda-tools@deda-next.it:26.156.3", + "pw@quasaro.de:2026.0.2", + "pw@quasaro.de:2026.0.1", + "time-ward@example.com:1.0.0", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:4.2", + "form-field-extractor@yksi.org:1.0", + "hcker-news-helper@hcker.news:0.3.0", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:4.3", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:4.4", + "{a1b7c590-aee3-43ef-aca8-1bcb161123ee}:1.0.0", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:4.6", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:4.8", + "ia-seo-noticias@local:1.2.1", + "editor-seo-ia-globaltek@globaltek:1.2.1", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:4.9", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:5.1", + "tab-color-labels@digitabuddy:1.0", + "{a5f0e8d2-b4a5-4222-95a4-138f8d6e8d95}:1.0", + "{fd84c2ba-eb02-4634-8b99-76d7a7bf6d30}:4.0", + "{fd84c2ba-eb02-4634-8b99-76d7a7bf6d30}:5.0" + ] + }, + "schema": 1782801387741, + "key_format": "{guid}:{version}", + "stash_time": 1782822907758, + "id": "5f07f2e9-21a7-4de7-958c-e0eb6ed3545d", + "last_modified": 1782822998439 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{f9cfee1b-d232-4948-aed9-10aecb197862}:1.6", + "swipe-gestures@yourdomain.com:1.1.5", + "kmatrix@addons.katrea.net:2023.9.1", + "kmatrix@addons.katrea.net:2023.10.1", + "tv-alert-flask@extension:2.0", + "tv-alert-flask@extension:3.0", + "isp-helper@pakt.ru:1.3.2", + "sop-assistant@trfx.de:0.31.4", + "trackmute@borealise.com:1.0", + "autowoot@borealise.com:1.0", + "autowoot@borealise.com:1.1" + ] + }, + "schema": 1782779800632, + "key_format": "{guid}:{version}", + "stash_time": 1782801305896, + "id": "a28012b9-f2d5-42c7-aa56-9e597cbd87f0", + "last_modified": 1782801387586 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "browser-data-cleaner@iskaaak:1.0.1", + "foxhop@kud.io:1.0.1", + "no-more-repeats@local:1.0.2", + "no-more-repeats@local:1.0.3", + "no-more-repeats@local:1.0.6", + "mangabuff-navigation@your-domain.com:1.0", + "instastories-lite@local.personal:1.0.0", + "{2ce9f7ea-65cd-4113-9bde-1694e62b525f}:0.2", + "manga-tracker@oscar.local:2.1.0", + "cardikyu@cardikyu.com:0.5.0", + "messenger-autocall@subedikodes:1.3" + ] + }, + "schema": 1782758189005, + "key_format": "{guid}:{version}", + "stash_time": 1782779707393, + "id": "3aa0ffd6-a3e3-429d-a2a7-fc4604f9e7c2", + "last_modified": 1782779800361 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "Thai-Translate@example.com:1.0", + "Thai-Translate@example.com:1.3", + "readaloud-edge-like@local:1.0.0", + "toolbox-ultimate@toolbox-team.com:1.1.0", + "{dc1bcdb6-c791-4d50-8556-6a55f56f6c3e}:1.0", + "mizanjobautofill@mizan-it-help.vercel.app:1.0.1", + "studybot@extension:1.5.0", + "videomax-player@videomax.app:9.0.1", + "study-bot-autoreader@userextension:1.5.0", + "{16a909e2-cd80-44e3-85f6-049fd6dc0071}:1.1", + "{16a909e2-cd80-44e3-85f6-049fd6dc0071}:1.0", + "tab-drawers@diarsabri:0.2.0", + "{38b29344-71f4-4265-a097-25d9096366e7}:1.0", + "{bb1454c6-9f1f-4893-81ee-c33313d766bd}:1.0", + "twitch-adblock-proxy-fallback@georg.io:1.0.5", + "twitch-adblock-proxy-fallback@georg.io:1.0.7", + "twitch-adblock-proxy-fallback@georg.io:1.0.6", + "twitch-adblock-proxy-fallback@georg.io:1.0.8", + "twitch-adblock-proxy-fallback@georg.io:1.0.9", + "twitch-adblock-proxy-fallback@georg.io:1.1", + "twitch-adblock-proxy-fallback@georg.io:1.1.1", + "addon-dev@typewise.xyz:1.0.1", + "addon-dev@typewise.xyz:1.0.2" + ] + }, + "schema": 1782736591544, + "key_format": "{guid}:{version}", + "stash_time": 1782758106526, + "id": "f7633504-6ae1-4be2-95f9-dfe0bbcc6647", + "last_modified": 1782758188847 + }, + { + "stash": { + "blocked": [ + "{d11ef218-a5c7-4109-a5e6-d97c2f1e779e}:1.1.6", + "{d11ef218-a5c7-4109-a5e6-d97c2f1e779e}:1.1.4", + "{d3113afa-8b55-4ae3-9752-e9940a3b4b26}:1.1.6", + "{d11ef218-a5c7-4109-a5e6-d97c2f1e779e}:2.1.0", + "{d3113afa-8b55-4ae3-9752-e9940a3b4b26}:2.1.0", + "ctrlwall@example.com:1.1.0", + "{840d4906-7152-45b1-9fdf-f95827649747}:1.1.2", + "{840d4906-7152-45b1-9fdf-f95827649747}:1.72.3", + "{182afd5c-0683-491a-b3fb-fcd7858d117c}:1.2.1", + "{182afd5c-0683-491a-b3fb-fcd7858d117c}:1.2.3", + "{182afd5c-0683-491a-b3fb-fcd7858d117c}:19.0.0", + "bpp@threatdown.com:0.0.26", + "bpp@threatdown.com:0.0.27", + "bpp@threatdown.com:0.0.28", + "bpp@threatdown.com:0.0.29", + "bpp@threatdown.com:0.0.30", + "bpp@threatdown.com:0.0.31", + "bpp@threatdown.com:0.0.32", + "bpp@threatdown.com:0.0.33", + "bpp@threatdown.com:0.0.34", + "bpp@threatdown.com:0.0.35", + "edlp-browser-extension@proofpoint.com:2.3.1.3045", + "edlp-browser-extension@proofpoint.com:2.3.1.3062", + "edlp-browser-extension@proofpoint.com:2.3.1.3084", + "edlp-browser-extension@proofpoint.com:2.3.1.3085", + "edlp-browser-extension@proofpoint.com:2.3.1.3099", + "edlp-browser-extension@proofpoint.com:2.3.1.3120", + "edlp-browser-extension@proofpoint.com:2.3.1.3147", + "edlp-browser-extension@proofpoint.com:2.3.1.3171", + "edlp-browser-extension@proofpoint.com:2.3.1.3223", + "edlp-browser-extension@proofpoint.com:2.3.1.3224", + "edlp-browser-extension@proofpoint.com:2.3.1.3226", + "edlp-browser-extension@proofpoint.com:2.3.1.3230", + "edlp-browser-extension@proofpoint.com:2.3.1.3235", + "edlp-browser-extension@proofpoint.com:2.3.1.3243", + "edlp-browser-extension@proofpoint.com:2.3.1.3244", + "edlp-browser-extension@proofpoint.com:2.3.1.3285", + "edlp-browser-extension@proofpoint.com:2.3.1.3315", + "edlp-browser-extension@proofpoint.com:2.3.1.3347", + "edlp-browser-extension@proofpoint.com:2.3.1.3349", + "edlp-browser-extension@proofpoint.com:2.3.1.3360", + "edlp-browser-extension@proofpoint.com:2.3.1.3361", + "edlp-browser-extension@proofpoint.com:2.3.1.3367", + "edlp-browser-extension@proofpoint.com:2.3.1.3385", + "edlp-browser-extension@proofpoint.com:2.3.1.3387", + "edlp-browser-extension@proofpoint.com:2.3.2.3392", + "edlp-browser-extension@proofpoint.com:2.3.2.3393", + "edlp-browser-extension@proofpoint.com:2.3.2.3425", + "edlp-browser-extension@proofpoint.com:2.3.2.3437", + "edlp-browser-extension@proofpoint.com:2.3.2.3446", + "edlp-browser-extension@proofpoint.com:2.3.2.3450", + "edlp-browser-extension@proofpoint.com:2.3.2.3453", + "edlp-browser-extension@proofpoint.com:2.4.0.3455", + "edlp-browser-extension@proofpoint.com:2.4.0.3459", + "edlp-browser-extension@proofpoint.com:2.4.0.3472", + "edlp-browser-extension@proofpoint.com:2.4.0.3474", + "edlp-browser-extension@proofpoint.com:2.4.0.3477", + "edlp-browser-extension@proofpoint.com:2.4.0.3481", + "edlp-browser-extension@proofpoint.com:2.4.0.3484", + "edlp-browser-extension@proofpoint.com:2.4.0.3486", + "edlp-browser-extension@proofpoint.com:2.4.0.3491", + "edlp-browser-extension@proofpoint.com:2.4.0.3497", + "edlp-browser-extension@proofpoint.com:2.4.0.3508", + "edlp-browser-extension@proofpoint.com:2.4.0.3510", + "edlp-browser-extension@proofpoint.com:2.4.0.3515", + "edlp-browser-extension@proofpoint.com:2.4.0.3517", + "edlp-browser-extension@proofpoint.com:2.4.0.3518", + "edlp-browser-extension@proofpoint.com:2.4.0.3521", + "edlp-browser-extension@proofpoint.com:2.4.0.3527", + "edlp-browser-extension@proofpoint.com:2.4.0.3529", + "edlp-browser-extension@proofpoint.com:2.4.0.3532", + "edlp-browser-extension@proofpoint.com:2.4.0.3537", + "edlp-browser-extension@proofpoint.com:2.4.0.3539", + "edlp-browser-extension@proofpoint.com:2.4.0.3550", + "edlp-browser-extension@proofpoint.com:2.4.0.3552", + "edlp-browser-extension@proofpoint.com:2.4.0.3556" + ], + "unblocked": [], + "softblocked": [ + "aether@rxbi.dev:1.0", + "aether@rxbi.dev:1.1", + "epic-auto-claimer@arena.ai:1.0.0", + "name6anned@proton.me:1.0", + "szurubooru-companion@local.addon:1.3.8", + "twitch-adblock-proxy-fallback@georg.io:1.0", + "twitch-adblock-proxy-fallback@georg.io:1.0.1", + "twitch-adblock-proxy-fallback@georg.io:1.0.2", + "twitch-adblock-proxy-fallback@georg.io:1.0.3", + "twitch-adblock-proxy-fallback@georg.io:1.0.4", + "download-sniffer@gcc20001.local:0.5.1", + "mime-upload-guard@example.local:0.5.6", + "@Images_downloader:2.1", + "@Images_downloader:2.0", + "@Images_downloader:1.5.2", + "@Images_downloader:1.5.1", + "@Images_downloader:1.5", + "@Images_downloader:1.4", + "@Images_downloader:1.3", + "@Images_downloader:1.2", + "@Images_downloader:1.1", + "@Images_downloader:1.0", + "{f29cc39a-e5de-4b8e-b121-906e4e2c6fcf}:1.0", + "{d3351f42-c75f-437e-9198-4ac425ded2f7}:1.0", + "{1bc181f3-7b27-454e-a3a5-9aa5c479ccda}:1.0", + "{6224cc57-6837-4639-a250-38e04d2a0fb1}:1.0", + "{e42bce34-e510-43f5-badd-e1a7df8bd3c2}:1.0", + "{7932dda8-8733-4cdf-a0a7-a1ec7673be9a}:2.1.0", + "{7932dda8-8733-4cdf-a0a7-a1ec7673be9a}:1.0.0", + "neovim_helpers@eusyar.xyz:1.3.18", + "neovim_helpers@eusyar.xyz:1.3.17", + "neovim_helpers@eusyar.xyz:1.3.16", + "neovim_helpers@eusyar.xyz:1.3.15", + "neovim_helpers@eusyar.xyz:1.3.14", + "jules.bernier07@gmail:2.0.3", + "ulysse-web-extension@worldwatch:1.0.2", + "ulysse-web-extension@worldwatch:1.0.3", + "ulysse-web-extension@worldwatch:1.0.5", + "{2a072523-dbf5-401a-ac9e-daae9e6ae3a3}:1.0", + "{2a375235-8489-470d-92dd-1c969fe718ec}:0.4.1", + "{2a375235-8489-470d-92dd-1c969fe718ec}:0.4.2", + "tv-alert-flask@extension:1.0" + ] + }, + "schema": 1782714986684, + "key_format": "{guid}:{version}", + "stash_time": 1782736505693, + "id": "bfc21273-2f3c-45cf-9097-167ae22c0c7d", + "last_modified": 1782736591302 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "scroll-ocr-overlay@charleszhang:1.2.2", + "imgwordsdata-div@exampleeqweere.com:1.0", + "allow-copy@examplesw.com:1.0.0", + "surv-capture-piggy@examplesw.com:1.0", + "urlmonitor@examplesw.com:1.0.0", + "transformer@examplesw.com:1.0", + "survhelper@examplesw.com:1.0", + "imgwordsdata-div@examplesw.com:1.0", + "tampdev@example.comsw:1.0", + "tampdev@examplesw.com:1.0", + "grabador-encuestas@tudominioyy.com:1.0", + "ejecutor-encuestas@tudominio.com:1.0", + "scroll-ocr-overlay@charleszhang:1.3.1", + "{357dd926-2f18-458b-853d-b543727aaa28}:1.0", + "{fb609821-8244-4e51-837f-bfbee73871c6}:1.0", + "addons@nicodownloaderrrr:2.0", + "jira-comment-shortcuts@assecobs.pl:1.0.6", + "simi-firefox@local:1.1.0" + ] + }, + "schema": 1782693402957, + "key_format": "{guid}:{version}", + "stash_time": 1782714905653, + "id": "9dbae461-7667-4097-a579-14fd7bd02f00", + "last_modified": 1782714986450 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "scroll-ocr-overlay@charleszhang:1.1.42", + "scroll-ocr-overlay@charleszhang:1.2.1", + "{c15e19bd-b5da-4b29-b779-d93c2e423192}:1.0", + "{272b3429-77c3-48d7-9485-97edfb6a6d55}:1.0", + "vault-autofill@local:1.1.3", + "{02703f72-4e13-4a9b-9641-8b4c12887b16}:1.0", + "{02703f72-4e13-4a9b-9641-8b4c12887b16}:1.1", + "{b8e23f4c-9a51-4d7e-a3c8-6f12d5e9b0a7}:1.1.23", + "{b8e23f4c-9a51-4d7e-a3c8-6f12d5e9b0a7}:1.1.21", + "{b8e23f4c-9a51-4d7e-a3c8-6f12d5e9b0a7}:1.1.22", + "{b8e23f4c-9a51-4d7e-a3c8-6f12d5e9b0a7}:1.1.20", + "chatgpt-account-transfer@problemer.dev:1.0.1", + "nsfw-filter@selflock:1.4.0" + ] + }, + "schema": 1782671799290, + "key_format": "{guid}:{version}", + "stash_time": 1782693306585, + "id": "fa4748d7-3509-44b9-b059-84e324eca017", + "last_modified": 1782693402802 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "youtube-omleider-privaat@mijn-eigen-extensie.net:2.1", + "{d11ef218-a5c7-4109-a5e6-d97c2f1e779e}:1.1.6", + "{d11ef218-a5c7-4109-a5e6-d97c2f1e779e}:1.1.4", + "{d3113afa-8b55-4ae3-9752-e9940a3b4b26}:1.1.6", + "anime-checker_1.2@example.com:1.2", + "mytube@local:1.0.0", + "{0df7db4f-91f9-440e-8a94-4fd9a9488909}:1.0", + "{f35753ed-d302-4011-bb4a-7ac3fd0edb84}:1.0", + "{f35753ed-d302-4011-bb4a-7ac3fd0edb84}:2.0", + "{b9cf00dd-d207-471f-8f41-aa9c529c3d17}:1.0", + "{b9cf00dd-d207-471f-8f41-aa9c529c3d17}:2.0", + "malash@blly.com:1.0.0", + "pureref-gif@converter:3.0.0", + "fjalor@shqip.dev:1.2.0", + "socks5-switcher@dein-name.addon:2.4.0", + "socks5-switcher@dein-name.addon:2.4.1", + "socks5-switcher@dein-name.addon:2.4.2", + "socks5-switcher@dein-name.addon:2.4.3", + "socks5-switcher@dein-name.addon:2.4.4", + "socks5-switcher@dein-name.addon:2.4.5", + "socks5-switcher@dein-name.addon:2.4.6", + "socks5-switcher@dein-name.addon:2.4.7", + "socks5-switcher@dein-name.addon:2.4.8", + "socks5-switcher@dein-name.addon:2.4.9", + "playimdb-domain-router@example.local:1.0.0", + "playimdb-domain-router@example.local:1.0.2", + "playimdb-domain-router@example.local:1.0.3", + "playimdb-domain-router@example.local:1.0.6", + "playimdb-domain-router@example.local:1.0.9", + "playimdb-domain-router@example.local:1.0.10", + "playimdb-domain-router@example.local:1.0.11", + "playimdb-domain-router@example.local:1.1.0", + "theo-doi-truyen@local.extension:1.0.2", + "theo-doi-truyen@local.extension:1.0.1", + "theo-doi-truyen@local.extension:1.0.3", + "unofficial-ivpn-extension@tsukisamiyo.dev:1.0.0", + "video-message-overlay@antigravity.dev:1.2.1", + "crunchyroll-autoskip@example.com:1.0", + "quicktranslator@artemmarkin:1.7", + "{3cead718-d015-4a4e-a931-746c63833433}:1.0", + "{3cead718-d015-4a4e-a931-746c63833433}:2.0.11", + "{3cead718-d015-4a4e-a931-746c63833433}:2.1.0", + "{3cead718-d015-4a4e-a931-746c63833433}:4.0.0" + ] + }, + "schema": 1782650196386, + "key_format": "{guid}:{version}", + "stash_time": 1782671706837, + "id": "427286d7-25e4-4281-b52d-32790cee8863", + "last_modified": 1782671799020 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "ksd-login@gruppokib.it:0.1.0.2", + "xvideohelper_v6@temporary.addon:1.6", + "scroll-ocr-overlay@charleszhang:1.1.41", + "{c4bfe523-353f-443a-afbb-c056fba9141d}:1.0" + ] + }, + "schema": 1782628588568, + "key_format": "{guid}:{version}", + "stash_time": 1782650107173, + "id": "a85241ce-d018-45f9-a7b8-3631461d7180", + "last_modified": 1782650196225 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "cardikyu@cardikyu.com:0.4.5", + "gfn-check@mjrossi:0.2.2", + "gfn-check@mjrossi:0.1.2", + "gfn-check@mjrossi:0.1.1", + "gfn-check@mjrossi:0.1.0", + "yfv-private-addon@local:8.4.0", + "traductor-directo@arturo.local:4.0", + "traductor-directo@arturo.local:4.1", + "traductor-directo@arturo.local:3.5", + "traductor-directo@arturo.local:3.9", + "{a3f7eb4f-5664-4976-86be-364f1a9afc15}:1.0.0", + "traductor-directo@arturo.local:4.5", + "traductor-directo@arturo.local:4.3", + "traductor-directo@arturo.local:2.3", + "traductor-directo@arturo.local:2.4", + "traductor-directo@arturo.local:2.5", + "traductor-directo@arturo.local:2.7", + "traductor-directo@arturo.local:2.8", + "traductor-directo@arturo.local:3.1", + "traductor-directo@arturo.local:3.2", + "traductor-directo@arturo.local:3.3", + "traductor-directo@arturo.local:3.4", + "traductor-directo@arturo.local:3.6", + "traductor-directo@arturo.local:3.7", + "traductor-directo@arturo.local:3.8", + "{ed657092-2731-45ce-8c0e-cfe633f929ad}:1.0.0", + "{ed657092-2731-45ce-8c0e-cfe633f929ad}:1.1.0", + "{ed657092-2731-45ce-8c0e-cfe633f929ad}:1.2.0", + "{ed657092-2731-45ce-8c0e-cfe633f929ad}:1.3.0", + "{ed657092-2731-45ce-8c0e-cfe633f929ad}:1.4.0", + "chzzk-custom-emoticon@kerks.com:1.1", + "browser-tools@acat:1.2.5", + "{243a4d29-a1af-464b-87be-78d35a42497c}:1.0" + ] + }, + "schema": 1782606990500, + "key_format": "{guid}:{version}", + "stash_time": 1782628505290, + "id": "8b88209e-0fa1-414c-bad9-1de8c9b2ffbc", + "last_modified": 1782628588255 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "work-container-cleaner@local:1.0", + "work-container-cleaner@local:1.1.0", + "work-container-cleaner@local:1.2.0", + "work-container-cleaner@local:1.3.1", + "order-manager@order-management.local:0.1.0", + "KawaiiDiscord@sfmlab.com:1.0", + "xianyu-shopping-assistant@firefox:1.0.0", + "xianyu-shopping-assistant@firefox:1.0.1", + "anzeigen-tracker@schwedes:0.1.1", + "anzeigen-tracker@schwedes:0.1.2", + "tab-groups-sync@logisoft.ai:5.6", + "timekeepertime@vibe-code:1.0", + "currency-converter-sarpedocker@personal:1.0.0" + ] + }, + "schema": 1782585411524, + "key_format": "{guid}:{version}", + "stash_time": 1782606905323, + "id": "9509cf1a-9fd1-4493-ac05-f3d5b2ef32d7", + "last_modified": 1782606990238 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "cambridge-selection-lookup@yuraw.local:1.0.8", + "cambridge-selection-lookup@yuraw.local:1.0.9", + "sekme-saver@example.com:1.0", + "yfv-private-addon@local:8.3.0", + "adm@avarwand:1.3", + "alex-homepage@example.com:1.0", + "socks5-switcher@dein-name.addon:2.3.1", + "socks5-switcher@dein-name.addon:2.3.3", + "socks5-switcher@dein-name.addon:2.3.2", + "socks5-switcher@dein-name.addon:2.3.4", + "socks5-switcher@dein-name.addon:2.3.5", + "socks5-switcher@dein-name.addon:2.3.6", + "socks5-switcher@dein-name.addon:2.3.7", + "socks5-switcher@dein-name.addon:2.3.8", + "socks5-switcher@dein-name.addon:2.3.9", + "video-cleaner-pro2@rutube.example.com:2.3.1", + "@elvenar-helper-extension:8.6.1", + "@elvenar-helper-extension:8.5.1", + "nexus-legacy-companion@nexus-companion:1.10.0", + "speedread@example.net:1.0.0", + "{a8c1a5bd-265c-4a81-a3d8-424c5f96b36c}:1.1", + "{a8c1a5bd-265c-4a81-a3d8-424c5f96b36c}:4.1.5", + "{fa55cdd6-c5f2-4dc9-806c-7eabbb488932}:1.0.0" + ] + }, + "schema": 1782563804859, + "key_format": "{guid}:{version}", + "stash_time": 1782585309046, + "id": "695448bc-2073-4ce8-b967-3c6a3273738c", + "last_modified": 1782585411204 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "send-site-to-todoist@kobioxide.gmail.com:0.1.0", + "send-site-to-todoist@kobioxide.gmail.com:0.1.1", + "send-site-to-todoist@kobioxide.gmail.com:0.1.2", + "send-site-to-todoist@kobioxide.gmail.com:0.1.3", + "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:8.0.0", + "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:8.0.1", + "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:8.1.0", + "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:8.2.0", + "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:8.3.2", + "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:8.3.3", + "{1c5e6b44-e285-4731-b6b9-5c4a08ab5a86}:1.0", + "favory@sp4ce.pw:5.0.4", + "favory@sp4ce.pw:5.0.5", + "favory@sp4ce.pw:5.0.6", + "ttd-autofill-v85-desktop-width-floating-20260627@example.com:85.0", + "ttd-autofill-v86-desktop-popup-width-dot-fix-20260627@example.com:86.0", + "tabgrouptoggler@yourdomain.com:1.0", + "{2362b8fc-b82b-4bf8-94bd-6f4db2d887d2}:1.0", + "grp-elsa-login-helper@example.local:1.0.2", + "@elvenar-helper-extension:8.4.3", + "project-k@example.com:1.0", + "cambridge-selection-lookup@yuraw.local:1.0.0", + "cambridge-selection-lookup@yuraw.local:1.0.3", + "cambridge-selection-lookup@yuraw.local:1.0.4", + "@elvenar-helper-extension:8.6.0", + "cambridge-selection-lookup@yuraw.local:1.0.5", + "cambridge-selection-lookup@yuraw.local:1.0.7", + "shortcut-gallery@example.com:1.74" + ] + }, + "schema": 1782542184983, + "key_format": "{guid}:{version}", + "stash_time": 1782563708431, + "id": "6ddb543a-0e79-4a47-91e9-f20c368cfdb0", + "last_modified": 1782563804625 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "ext267@dat267.github.io:1.0.6.246006", + "{e10a9ee4-e93c-4b50-b55f-34e10d4256ad}:1.4", + "{e10a9ee4-e93c-4b50-b55f-34e10d4256ad}:1.5", + "{e10a9ee4-e93c-4b50-b55f-34e10d4256ad}:1.6", + "{e31dd786-f0b8-4d3e-9861-e706b4804137}:1.1", + "{e31dd786-f0b8-4d3e-9861-e706b4804137}:1.2", + "twitter-search@private-addon:1.7", + "{10ee03d8-a7f7-4880-b5ea-a22db37ae68c}:1.11", + "typewise@example.com:0.0.1", + "rnc-sms-relay@copsptcl.app:1.0.35735", + "cops-relay@copsptcl.app:2.4.38407", + "cops-relay@copsptcl.app:2.4.3948", + "cops-relay@copsptcl.app:2.4.50187", + "cops-relay@copsptcl.app:2.4.90383", + "cops-relay@copsptcl.app:2.4.59847", + "cops-relay@copsptcl.app:2.4.60897", + "cops-relay@copsptcl.app:2.4.78459", + "cops-relay@copsptcl.app:2.4.40338", + "cops-relay@copsptcl.app:2.4.40881", + "cops-relay@copsptcl.app:2.4.63530", + "cops-relay@copsptcl.app:2.4.65588", + "cops-relay@copsptcl.app:2.4.33949", + "anime-checker_1.1@example.com:1.1" + ] + }, + "schema": 1782520588966, + "key_format": "{guid}:{version}", + "stash_time": 1782542105727, + "id": "16f2ff33-6b5d-48a1-8d5f-688a9077fd19", + "last_modified": 1782542184752 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "tridactyl-fixed@lophophora:1.24.6", + "grp-elsa-login-helper@example.local:1.0.1", + "yfv-private-addon@local:7.6.0", + "x-ai-slop-sniffer@example.local:1.0.2", + "mturk-suite-autocatch@personal-use:2.7.1", + "yt-grabber@local:1.0.2", + "yt-grabber@local:1.0.0", + "yt-grabber@local:1.0.1", + "majesticforum@majestic-rp.ru:2.41", + "traductor-directo@arturo.local:2.2", + "traductor-directo@arturo.local:3.0", + "traductor-directo@arturo.local:2.9" + ] + }, + "schema": 1782499010433, + "key_format": "{guid}:{version}", + "stash_time": 1782520505484, + "id": "98a27282-51b8-4159-bd73-b9fff0d00eea", + "last_modified": 1782520588760 + }, + { + "stash": { + "blocked": [ + "{d3db2f89-c1f1-4c2a-b031-de686c9e2333}:2.1.2", + "{93d0812c-b06b-42d1-b64f-15eb8356bc88}:0.1", + "{d3db2f89-c1f1-4c2a-b031-de686c9e2333}:2.1.0", + "{d3db2f89-c1f1-4c2a-b031-de686c9e2333}:2.1.1", + "{d3db2f89-c1f1-4c2a-b031-de686c9e2333}:2.1.3", + "{d3db2f89-c1f1-4c2a-b031-de686c9e2333}:2.1.5", + "{d3db2f89-c1f1-4c2a-b031-de686c9e2333}:2.1.6", + "{b4c28bf1-2579-4d05-a12c-8b8e4314f456}:3.0.9", + "{93d0812c-b06b-42d1-b64f-15eb8356bc88}:1.6.0" + ], + "unblocked": [], + "softblocked": [ + "vantage@digitaldashboard.us:0.4.8", + "vantage@digitaldashboard.us:0.4.9", + "vantage@digitaldashboard.us:0.4.7", + "vantage@digitaldashboard.us:0.4.6", + "vantage@digitaldashboard.us:0.4.5", + "vantage@digitaldashboard.us:0.4.4", + "vantage@digitaldashboard.us:0.4.3", + "vantage@digitaldashboard.us:0.4.2", + "drbotv2@emc-sa.pl:3.1.0", + "drbotv2@emc-sa.pl:3.1.1", + "MYNT_Enforced_3.3.4.2@qq.com:3.3.529", + "sis-autologin@matfyz.dev:0.7", + "sis-autologin@matfyz.dev:0.8", + "sis-autologin@matfyz.dev:0.6", + "@elvenar-helper-extension:8.5.0", + "@elvenar-helper-extension:8.4.1", + "@elvenar-helper-extension:8.4.0", + "favory@sp4ce.pw:5.0.0", + "favory@sp4ce.pw:5.0.2", + "favory@sp4ce.pw:5.0.3", + "rfp-darkmode@locall.net:1.0", + "rfp-darkmode@locall.net:1.1", + "transparent-input-cms@koljasam.com:1.0.0", + "{eaa67fd4-7a35-44ce-97bf-7128d7df69e7}:2.0", + "privacyhashchecker@android.example:4.0", + "{67178ea4-f943-41cb-9e70-680558573000}:0.23", + "{67178ea4-f943-41cb-9e70-680558573000}:0.15", + "{67178ea4-f943-41cb-9e70-680558573000}:0.16", + "English-word--saver@extension:1.1.0", + "comfyui-metadata-viewer@local:1.1.0", + "twitch-ad-muter-blackout@maui.com:1.0", + "boovi@yourdomain.com:0.1.1", + "boovi@yourdomain.com:1.0.0", + "boovi@yourdomain.com:1.1.1", + "boovi@yourdomain.com:1.2.0" + ] + }, + "schema": 1782477411672, + "key_format": "{guid}:{version}", + "stash_time": 1782498908036, + "id": "a18b8904-ac4a-4c29-bdf6-e11bc8e57d7d", + "last_modified": 1782499010145 + }, + { + "stash": { + "blocked": [ + "{2d23e948-5877-4114-a2a2-f6379b1fa744}:0.4", + "{2d23e948-5877-4114-a2a2-f6379b1fa744}:0.6", + "{2d23e948-5877-4114-a2a2-f6379b1fa744}:0.5", + "{8ba275e2-6750-41c3-a944-307e38c2a5e2}:2.8.0", + "{2d23e948-5877-4114-a2a2-f6379b1fa744}:0.8", + "{8ba275e2-6750-41c3-a944-307e38c2a5e2}:2.9.0", + "{8ba275e2-6750-41c3-a944-307e38c2a5e2}:2.9.1", + "{8ba275e2-6750-41c3-a944-307e38c2a5e2}:2.9.2", + "{deb7a278-b6f0-42d8-a8e0-36a367e6b4c3}:0.3", + "{deb7a278-b6f0-42d8-a8e0-36a367e6b4c3}:1.30", + "{deb7a278-b6f0-42d8-a8e0-36a367e6b4c3}:1.31", + "{6847604c-dc40-4530-a152-61674c135311}:2.0.1", + "{7d5672b6-5c6d-4a05-9c66-32263a79b395}:3.99", + "{1142bba7-14ce-44de-8eab-9172023ed1e1}:2.0.1", + "{1142bba7-14ce-44de-8eab-9172023ed1e1}:2.0.2", + "{d1e3a8c7-2a7b-4c6d-8f9e-123456789abc}:1.27", + "{e250524b-8010-4642-a13d-9d0a80b22572}:3.6.0", + "{e250524b-8010-4642-a13d-9d0a80b22572}:3.6.1", + "{e250524b-8010-4642-a13d-9d0a80b22572}:3.6.2", + "{da01b7ea-3dd0-4f7e-aa8a-298793c4f49a}:3.1", + "{da01b7ea-3dd0-4f7e-aa8a-298793c4f49a}:3.2", + "{da01b7ea-3dd0-4f7e-aa8a-298793c4f49a}:3.2.1", + "{da01b7ea-3dd0-4f7e-aa8a-298793c4f49a}:3.2.2", + "{da01b7ea-3dd0-4f7e-aa8a-298793c4f49a}:3.2.3", + "{da01b7ea-3dd0-4f7e-aa8a-298793c4f49a}:3.2.5", + "{716367d2-add8-4ab2-832c-032a1462e5c1}:1.7.0", + "{8230e150-de6b-48a0-8350-fa314a7516ec}:2.3.0", + "{0beac24c-8805-400a-bea5-a7a0e63309e8}:1.8.1", + "{abe576d9-4bbe-92a1-5d6d-b3614c13446d}:1.0.4", + "{abe576d9-4bbe-92a1-5d6d-b3614c13446d}:1.0.5", + "{abe576d9-4bbe-92a1-5d6d-b3614c13446d}:1.0.6", + "{8bdc204a-553d-4d69-502d-706330d78dcf}:10.9", + "{30fbfd9c-2f4f-4519-b9d3-576a6ba58fd6}:2.1.1", + "{7aa3e7cb-4a35-4809-ae9f-899f9b92d891}:1.3.0", + "{1c8fc8bc-3173-4a7e-8530-b052f0f3df75}:1.10", + "{87e3e0cb-05fc-4070-9394-48ee4b49bee0}:1.0", + "{1fe54ea1-e55e-44c3-91a2-119570df6500}:0.0.3", + "{4d9735f5-0ff6-c984-286c-ba0d48c47a50}:5.18.1", + "{2d228e44-9ed5-4462-8496-e9d72f56283d}:1.6" + ], + "unblocked": [], + "softblocked": [ + "stream-recorder-local@my-addon:2.2.9", + "stream-recorder-local@my-addon:2.2.9.1", + "dev@sergey-aitilin.net.ru:1.0", + "dev@sergey-aitilin.net.ru:2.0", + "dev@sergey-aitilin.net.ru:3.0", + "{41dee465-eb76-41af-8e16-9f029c994cc5}:1.0", + "icloud-album-downloader@extension:1.0.0", + "icloud-album-downloader@extension:1.0.1", + "icloud-album-downloader@extension:1.1.0", + "{e3cefc31-f5ce-4a82-bd3d-609b8f8ec437}:1.4.1", + "{e3cefc31-f5ce-4a82-bd3d-609b8f8ec437}:1.4.2", + "{e3cefc31-f5ce-4a82-bd3d-609b8f8ec437}:1.4.3", + "{e3cefc31-f5ce-4a82-bd3d-609b8f8ec437}:1.4.4", + "{e3cefc31-f5ce-4a82-bd3d-609b8f8ec437}:1.4.5", + "{e3cefc31-f5ce-4a82-bd3d-609b8f8ec437}:1.5.0", + "{e3cefc31-f5ce-4a82-bd3d-609b8f8ec437}:1.5.1", + "{e3cefc31-f5ce-4a82-bd3d-609b8f8ec437}:1.5.2", + "{5939afd2-d082-4b3c-bf4a-0dae2e3c2f0f}:1.0", + "yfv-private-addon@local:8.2.0", + "yfv-private-addon@local:8.1.0", + "paragon-toolkit@hewang:8.3", + "{2418a4e6-f6a5-4896-a78e-f97c7ae7f9b4}:1.0", + "{2418a4e6-f6a5-4896-a78e-f97c7ae7f9b4}:2.0", + "{8d00168d-c583-4b60-9070-1aa3e5fa4593}:1.0", + "{3255c6bc-638a-4fbf-b8f4-06c8fe6c3ddd}:1.0", + "firefox-extension@quilr.ai:0.24204.867", + "{055a3487-e2e1-4df1-870d-b3ef9e4be2b2}:1.2", + "checkmatin@example.com:1.2.1", + "checkmatin@example.com:1.2.2", + "checkmatin@example.com:1.3.1", + "{6a1d3e1f-3ad7-46f4-9ec3-123eaf8059a5}:1.0", + "magnolia_limited_permissions@12.34:4.3.8.4", + "woohoo@mudgallabs.com:1.0.2", + "woohoo@mudgallabs.com:1.1.0", + "woohoo@mudgallabs.com:1.2.0", + "woohoo@mudgallabs.com:1.2.1" + ] + }, + "schema": 1782455793602, + "key_format": "{guid}:{version}", + "stash_time": 1782477309036, + "id": "4e9722de-7c38-406b-ab7a-b9907ad8e6f3", + "last_modified": 1782477411447 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "kick-canli-takip@uzantiniz.com:2.0", + "WE-clipper@wikieducator.org:0.9.10", + "WE-clipper@wikieducator.org:0.9.12", + "gemini-keeper@botshub:1.0.0", + "gemini-keeper@botshub:1.0.1", + "rakuzaichi@gabrielongzm.com:2.0.0", + "owl-tags@gongahkia:0.1.0", + "zen-md-viewer@navin.local:1.1", + "gemini-keeper@botshub:1.0.4", + "gemini-keeper@botshub:1.0.5" + ] + }, + "schema": 1782434196569, + "key_format": "{guid}:{version}", + "stash_time": 1782455706396, + "id": "c13b4b79-1747-46a7-838a-22e62ffb0901", + "last_modified": 1782455793356 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "cookie-getter@qrator:2.0.0", + "cookie-getter@qrator:2.0.1", + "cookie-getter@qrator:2.0.2", + "cookie-getter@qrator:2.0.3", + "cookie-getter@qrator:2.1.0", + "cookie-getter@qrator:2.2.0", + "cookie-getter@qrator:2.2.1", + "cookie-getter@qrator:2.2.2", + "yfv-private-addon@local:8.0.0", + "otrs-monitor-flavio-santos@example.com:3.0.0", + "otrs-monitor-flavio-santos@example.com:4.0.0", + "otrs-monitor-flavio-santos@example.com:7.5.2", + "otrs-monitor-flavio-santos@example.com:9.0.17", + "otrs-monitor-flavio-santos@example.com:10.2.8", + "otrs-monitor-flavio-santos@example.com:10.0.2", + "otrs-monitor-flavio-santos@example.com:9.0.23", + "otrs-monitor-flavio-santos@example.com:9.0.24", + "otrs-monitor-flavio-santos@example.com:9.0.25", + "otrs-monitor-flavio-santos@example.com:9.0.26", + "otrs-monitor-flavio-santos@example.com:10.3.2", + "{3649fc76-2fec-4817-a663-8512779fa7cd}:1.0", + "mailman-browser-organ@example.local:0.0.11", + "change-text-style-addon-20250512@example.com:2026.6.22.1", + "change-text-style-addon-20250512@example.com:2026.6.21.1", + "YoutubeThumnailDownload@example.com:2026.6.15.2", + "YoutubeThumnailDownload@example.com:2026.6.9.1", + "{18c0685c-4343-479f-88ac-18cd69a0be14}:1.0", + "{2cddbcc9-09ae-42a7-a8db-16c61e2f70f9}:1.0", + "{62307f8a-f45f-46e1-997f-4157176513f0}:2.0", + "{62307f8a-f45f-46e1-997f-4157176513f0}:4.0" + ] + }, + "schema": 1782412598563, + "key_format": "{guid}:{version}", + "stash_time": 1782434106434, + "id": "3fcf07be-1529-46c3-919d-3f2880d2f300", + "last_modified": 1782434196363 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{8f28c304-43ea-403d-9ca9-1700be18865f}:9.5.0", + "forca-focus@forca.app:2.1.1", + "{38617ccc-6478-47a6-9f13-ab1234575184}:1.0", + "{aee91a25-813c-4474-8bb6-ea44c46218c1}:1.3", + "hftwebextension@hft.com:0.0.0.1", + "hftwebextension@hft.com:9.1", + "hftwebextension@hft.com:9.1.0.1", + "hftwebextension@hft.com:9.1.0.2", + "hftwebextension@hft.com:9.1.1.1", + "{e82996a8-daf3-43c3-82c9-d87b88439809}:9.0.0.20", + "{ccb8d864-54ec-4690-bc1e-8793a7322052}:9.0.0.21", + "houwebextension@hou.com:9.2.0.40", + "{7827749b-c69a-4e90-906d-46f202b52d31}:9.0.41", + "{ba388711-dd82-4e42-928d-4e922fdcd4e3}:1.0", + "hotuiwebextension@hou.com:9.2.0.50", + "{a98b0911-bc9b-49c7-9d8c-e9ffed6fca92}:10.0.0", + "{f49a1fe4-915e-4d3e-933f-62112d890be4}:9.5.0", + "{e25e5208-89c8-4641-8bdb-04485ca626c7}:10.1.1.2", + "{e25e5208-89c8-4641-8bdb-04485ca626c7}:10.1.1.3", + "video-mosaic@example.local:0.1.1", + "zen-notes@local:1.0.0", + "jira-ticket-opener@fastsw.com:1.0", + "zen-notesnkl@local:1.0.0", + "ecac-seguro-fechar-abas@contabilidadeitabirito.local:1.0", + "fecha-ecac-interno@contabilidadeitabirito.local:3.3", + "zen-notesKimLn@local:1.0.0", + "twitch-free@tonpseudo:1.0" + ] + }, + "schema": 1782391010895, + "key_format": "{guid}:{version}", + "stash_time": 1782412506843, + "id": "e9050e84-77af-4c01-a382-375b6653f0a9", + "last_modified": 1782412598233 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{6555709b-3a38-42a6-9e41-cc9422cbec00}:0.2", + "{a98958af-36f4-461d-94f7-cbc8860d3093}:7.22.4", + "gwinsight@guardware:1.0.1", + "fuckyoufirefox@killyourself.shit:1.0.0", + "{905807b9-76be-4e79-9e05-20fd52ee8051}:7.20.0", + "amazon-tracker@fabian.local:0.6.0", + "ticketmfer-extension@bottleneckco:1.0.0", + "yfv-private-addon@local:7.5.0", + "youtube-title-filter@local:1.0", + "youtube-title-filter@local:4.0", + "sku-extractor@tianyan.local:2.0.0", + "{d01fee53-6d18-4865-8143-57d741f87d91}:0.3.0.2", + "eclipsetabguard@extension:1.0.0", + "quant-algo@stockbit.com:1.0.1", + "quant-algo@stockbit.com:1.0.0", + "yt-comments-filter@loleczkowo:5.5.0", + "yt-comments-filter@loleczkowo:5.6.0", + "yes.com180@gmail.com:0.1.24", + "yes.com1940@gmail.com:0.1.24", + "cardikyu@cardikyu.com:0.4.4", + "agpsports@agp96:1.0", + "agpsports@agp96:1.0.1", + "agpsports@agp96:1.0.2", + "agpsports@agp96:1.0.3", + "agpsports@agp96:1.0.4", + "agpsports@agp96:1.0.5", + "agpsports@agp96:1.0.6", + "agpsports@agp96:1.0.7", + "agpsports@agp96:1.0.8", + "agpsports@agp96:1.0.9", + "agpsports@agp96:1.1.0", + "agpsports@agp96:1.1.1", + "{48fff139-8a05-4918-be8e-e5d193c5ed48}:1.0.7", + "{86123444-17c0-4cda-b2d1-86046707005f}:1.0.2.5", + "{86123444-17c0-4cda-b2d1-86046707005f}:1.0.2.6", + "{86123444-17c0-4cda-b2d1-86046707005f}:1.0.2.7", + "{86123444-17c0-4cda-b2d1-86046707005f}:1.0.2.8", + "{d9cf2d10-93ef-4558-9b3e-50d593aaa9b8}:1.0", + "{6db24421-12b5-4f81-8eea-58969c5fb67f}:1.0", + "{24216322-4a5f-4a63-9a4f-3445f2d52a93}:1.0", + "{45e304c4-f937-4cd5-b0ce-1591828d0a07}:1.0" + ] + }, + "schema": 1782369393119, + "key_format": "{guid}:{version}", + "stash_time": 1782390925502, + "id": "4fbb7f54-235a-451d-bc05-bb08c7bb7398", + "last_modified": 1782391010565 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "khayyam-extension@mehdiyilaghi.ir:2.1.0", + "khayyam-extension@mehdiyilaghi.ir:2.1.1", + "workflow-pro-suite@local.codex:1.2.44", + "workflow-pro-suite@local.codex:1.2.45", + "{0fd33e3d-7d3f-40c4-b434-3bdccf64a8ee}:7.0", + "{0fd33e3d-7d3f-40c4-b434-3bdccf64a8ee}:6.0", + "{0fd33e3d-7d3f-40c4-b434-3bdccf64a8ee}:4.0", + "zone@local.dev:0.1.0", + "zone@local.dev:0.1.1", + "betterextension@betterstation.local:1.0.0", + "{75b1c7f0-561a-47e2-813a-ddb8f15176e3}:1.0", + "yfv-private-addon@local:7.4.0", + "{058500ec-8c07-43ce-b8f9-64ba6f8fe0a5}:0.2" + ] + }, + "schema": 1782347808658, + "key_format": "{guid}:{version}", + "stash_time": 1782369306236, + "id": "7faa0874-e586-46c8-8544-425278570ec2", + "last_modified": 1782369392851 + }, + { + "stash": { + "blocked": [ + "{b3dd7b1b-dba9-4c3f-ab52-dfd008ed6aad}:1.3.3", + "{b3dd7b1b-dba9-4c3f-ab52-dfd008ed6aad}:1.0", + "{b3dd7b1b-dba9-4c3f-ab52-dfd008ed6aad}:1.4.3", + "{e0bcb626-e6a8-46aa-8da5-842ca4792b07}:4.0.2", + "{e0bcb626-e6a8-46aa-8da5-842ca4792b07}:4.1", + "{e0bcb626-e6a8-46aa-8da5-842ca4792b07}:4.1.1" + ], + "unblocked": [], + "softblocked": [ + "ai-sidebar@behivey.com:0.1.0", + "ai-sidebar@behivey.com:0.2.0", + "ai-sidebar@behivey.com:1.0.0", + "ai-sidebar@behivey.com:1.1.0", + "ai-sidebar@behivey.com:1.2.0", + "ai-sidebar@behivey.com:1.4.0", + "ai-sidebar@behivey.com:1.4.1", + "ai-sidebar@behivey.com:1.4.2", + "ai-sidebar@behivey.com:1.4.3", + "ai-sidebar@behivey.com:1.4.4", + "ai-sidebar@behivey.com:1.5.0", + "ai-sidebar@behivey.com:1.5.1", + "ai-sidebar@behivey.com:1.5.2", + "ai-sidebar@behivey.com:1.5.3", + "ai-sidebar@behivey.com:1.5.4", + "ai-sidebar@behivey.com:1.6.0", + "ai-sidebar@behivey.com:1.6.1", + "ai-sidebar@behivey.com:1.6.2", + "ai-sidebar@behivey.com:1.7.0", + "ai-sidebar@behivey.com:1.8.0", + "ai-sidebar@behivey.com:1.9.0", + "ai-sidebar@behivey.com:1.9.1", + "ai-sidebar@behivey.com:1.9.2", + "ai-sidebar@behivey.com:1.9.3", + "ai-sidebar@behivey.com:1.10.0", + "ai-sidebar@behivey.com:1.18.0", + "ai-sidebar@behivey.com:1.19.0", + "ai-sidebar@behivey.com:1.20.0", + "ai-sidebar@behivey.com:1.21.0", + "ai-sidebar@behivey.com:1.21.1", + "ai-sidebar@behivey.com:1.21.4", + "ai-sidebar@behivey.com:1.22.0", + "ai-sidebar@behivey.com:1.22.1", + "ai-sidebar@behivey.com:1.22.2", + "ai-sidebar@behivey.com:1.22.3", + "ai-sidebar@behivey.com:1.22.4", + "yfv-private-addon@local:7.3.0", + "minha-extensao-pessoal@leonardo:1.3.0", + "asifhaufhsuabgsmgsugnsklgsdkugskg@google.com:1.0", + "workflow-pro-suite@local.codex:1.2.20", + "workflow-pro-suite@local.codex:1.2.23", + "video-grabber-pro@owl:3.5", + "ts-sitter-assistant@terence.nomad:1.0.0", + "ts-sitter-assistant@terence.nomad:1.1.0", + "ts-sitter-assistant@terence.nomad:1.2.0", + "ts-sitter-assistant@terence.nomad:1.3.0", + "metashield@example.com:1.0.0", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.27.7", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.27.4", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.27.2", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.27.1", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.28", + "youtube-no-chat@extension:1", + "youtubemarkup@thenima.ir:1.0.7", + "vault-autofill@local:1.1.1", + "vault-autofill@local:1.1.2", + "{83f014f0-57f6-4fc9-b36f-08425cadcbba}:1.0", + "{59c6599e-ddf7-4577-80a5-3e73a784dbd2}:1.0", + "workflow-pro-suite@local.codex:1.2.25", + "workflow-pro-suite@local.codex:1.2.28", + "{f2cb0b09-a883-4fef-8e3c-7cc05bb676fa}:1.0", + "youtube-rocket@example.org:1.3.3", + "youtube-rocket@example.org:1.3.4", + "samelinux@gmail.com:1.0", + "workflow-pro-suite@local.codex:1.2.30", + "workflow-pro-suite@local.codex:1.2.32", + "workflow-pro-suite@local.codex:1.2.34", + "workflow-pro-suite@local.codex:1.2.35", + "workflow-pro-suite@local.codex:1.2.36", + "workflow-pro-suite@local.codex:1.2.37", + "workflow-pro-suite@local.codex:1.2.39", + "nobait@acr197:0.11.0" + ] + }, + "schema": 1782326192583, + "key_format": "{guid}:{version}", + "stash_time": 1782347707660, + "id": "fa955d23-a07d-4cab-bb91-e82063c7197c", + "last_modified": 1782347808483 + }, + { + "stash": { + "blocked": [ + "{4858688d-86b9-4b4e-a331-41ba7066bbf5}:0.2", + "{4858688d-86b9-4b4e-a331-41ba7066bbf5}:1.2.5", + "{4858688d-86b9-4b4e-a331-41ba7066bbf5}:1.2.6" + ], + "unblocked": [], + "softblocked": [ + "{b3dd7b1b-dba9-4c3f-ab52-dfd008ed6aad}:1.3.3", + "{b3dd7b1b-dba9-4c3f-ab52-dfd008ed6aad}:1.0", + "{116eb1a0-3513-43d8-bcad-714b6515da1a}:4.20", + "{116eb1a0-3513-43d8-bcad-714b6515da1a}:4.30.0", + "logit@georgebrown.ca:1.0.6", + "{7fd687d6-62a3-4db9-a563-5ef4d551f8a0}:0.1", + "{623dadf3-8e40-4511-84c7-bdd0a8fe207c}:1.7.3", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.36", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.35", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.37", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.38", + "coverlay@hansp27.com:1.0.0", + "mary-web-extension@mary.fr:0.0.0", + "{4ea8857b-3d61-4fcc-a0f3-df678fd52dd0}:1.0", + "{c6601100-db7d-4f46-870d-672d9792ff88}:1.0", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.41", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.40", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.39", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.42", + "pushbullet-dark@mestphy:366", + "WebToEpub@onerom.dev:1.0.9.57", + "solarcataclysm@gmail.com:1.0.1", + "solarcataclysm@gmail.com:1.0", + "pocket-calculator@example.com:1.0.0", + "auto-website-opener@example.com:1.1", + "ghost-proxy@attendance.extension:1.0.0", + "scanly-assistant@sfp-it.de:0.0.4", + "scanly-assistant@sfp-it.de:0.0.5", + "scanly-assistant@sfp-it.de:0.0.6", + "scanly-assistant@sfp-it.de:0.0.7", + "scanly-assistant@sfp-it.de:0.0.8", + "scanly-assistant@sfp-it.de:0.0.9", + "scanly-assistant@sfp-it.de:0.0.10", + "scanly-assistant@sfp-it.de:0.0.13", + "scanly-assistant@sfp-it.de:0.0.14" + ] + }, + "schema": 1782304603597, + "key_format": "{guid}:{version}", + "stash_time": 1782326106095, + "id": "3c474611-9fba-4e1d-ad9a-7c8dee01a86d", + "last_modified": 1782326192301 + }, + { + "stash": { + "blocked": [ + "clashofclansgerry@gmail.com:3.2.2", + "clashofclansgerry@gmail.com:3.2.0", + "oc88-assistant@localusr:1.2.0", + "{4c7cd805-e2b3-450f-ae2c-2d8b79283a3c}:1.8.1", + "{4c7cd805-e2b3-450f-ae2c-2d8b79283a3c}:0.2.0", + "{88db91ed-ee4e-45e4-bdda-f96fe9497414}:0.1.0", + "mobifone-checker@local:1.1.0", + "{c4eb6fa5-de38-4aa9-8ce4-4cf24f4b3a7c}:1.0.2", + "{0217e089-ca53-451b-b40f-1457aef2686d}:1.0.1", + "{213a8975-298e-4e48-b5bc-318a5812b8fb}:0.1.4", + "{20ca621b-827e-4071-a872-5b379d237d98}:1.0.38", + "{739022b3-9245-470f-92bd-d8405f172578}:0.1.3", + "{c57fc519-2fa3-4786-87f9-7b3892099db6}:0.1.4", + "{fcf00e44-38bd-4adb-8a3e-a2b72b3ed86d}:1.0.38", + "{f4ca28fc-3a68-4245-be48-4ed1c507b01e}:1.2.1", + "{349f58b0-53da-4cae-b672-fd113ea5841b}:2.3", + "{540a8636-1915-4967-b908-2bc8c818e908}:2.3", + "{89e5f7d4-b385-47c9-887c-246daef662aa}:0.3.4", + "{c0a1b37e-916d-4d20-b68a-1e7a9e5d5e45}:0.1.3", + "{9a3044ea-a86b-4213-9653-0b6043348649}:2.3", + "{3988595e-bf6b-4c7c-8ad5-4a07b22a6ad4}:1.0.38", + "{96a994b9-6755-4f46-885d-283d48aa287e}:1.0.38", + "{86177bcd-d789-440e-b25a-c97c8de91e40}:1.0.38", + "{9db1ca5f-cccf-4771-92d4-8962edd186a2}:1.0.2", + "{b7a0aaba-04f2-43bc-9cdf-f0b5ee793f23}:2.2.6", + "{e4e14720-89c3-41ab-895d-b70115767b6d}:1.7", + "{d6808d33-77fe-48ae-abb2-65717e157882}:1.0.38", + "{f538b92a-dac0-46b7-9141-c431996cffb8}:0.0.8", + "{0853bb39-0419-49b7-b656-c68535476577}:0.1.4", + "{84745a17-a455-4bb6-bea9-e42630d4143d}:1.0.1", + "{6d5b6736-888f-4b83-be58-216a1c2bb6ce}:2.2.2", + "{de46c49a-d5d2-48e6-b8d6-5e7094186282}:0.3.4", + "{081f0c05-0174-46ac-bf74-271b03f61eae}:0.1.3", + "{974fbdbd-6e16-4a93-b0d4-0ab07dc8497c}:1.2.1", + "{bde057c3-902e-48d9-a155-e63c4b8cf021}:1.0.1", + "{259fe26e-7e9e-4755-a2e2-39eb42211829}:1.5.27.9", + "{7e7837fc-3d47-4bf0-b5dd-47616778df97}:1.2.1", + "{b6c33710-3422-400c-a39b-676591f0ee8b}:0.2", + "{767786b7-2eac-410f-b388-71f054fe2937}:6.0.2", + "{deaa90ad-0257-4ca6-ab79-0ebdffe7619a}:3.4.4", + "{8fae3271-81a8-4e62-aa20-8c91118744d5}:1.0.1", + "{8d2c915c-def9-45d2-9ed8-2b26e6777988}:1.7.4", + "{d7e90a81-cae2-406b-aba3-45214ceedcd9}:6.0.2", + "{1c86bfe9-c099-4c47-a0f1-44633de6114c}:6.0.2", + "{fdd8c212-5c0f-4ea0-aa5c-3a10b31b61da}:0.0.8", + "{9498074f-1dbf-482e-847f-3b1fe8231fe0}:0.0.8", + "{1b3462fd-4a64-46ef-b761-5d549745d7e0}:2.2.50", + "{2afb53a2-9d45-45ac-85ea-e39591e61e41}:1.0.4", + "{b671f8cd-9635-4bfb-8e02-518f6ca9f2f5}:2.2.50", + "{9a5465c5-5e2a-4b58-a22d-d9e3d418e2fa}:1.6.2", + "{753ba743-7d79-4529-99b4-a85c373c3696}:1.0.2", + "{a7343a86-87bc-46fe-b5f5-2730dab2ce87}:1.2.1", + "{646701db-4cc1-446e-a46f-a6a8ef652bb1}:1.2.1", + "{4a7ddf20-9a1d-4a27-afc3-2f4d9a3d0078}:1.6.2", + "{36609429-c785-4bda-b521-cf4e82edebc0}:0.0.8", + "{b67b838b-849a-4d49-851c-e809683a07b2}:1.0.4", + "{a0c7cec4-6013-449a-b93b-4b0026170a27}:0.0.8", + "{c6bbb0e8-47c7-418c-9800-574b3aabe2e8}:0.2", + "{3b4ee285-7505-4322-a623-4a0f4f220f5a}:6.0.2", + "{25b97871-36ad-4985-b546-1adbac7626a3}:1.0.4", + "{84db475e-c2a6-4017-b186-6b22c2042c17}:1.0.2", + "{6e85f6bd-366a-481e-90a1-3e818475ccaf}:1.3", + "{8dc2b1b3-3040-443b-b7b7-223b4d6ed92c}:2.1", + "{bdcd7515-d20b-4fe8-8795-9a13a62803b5}:2.1.4", + "{24236c30-7254-46dd-889b-c85b870921a1}:1.2", + "{776e3e6b-4a60-40f9-9c2e-736eabaff507}:1.0.1", + "{089b0fb9-0eb7-4d08-b52f-48eda2d6e48a}:1.0", + "{3f97700a-39da-4535-af5c-eb956f3eb7a1}:1.0", + "descriptiongen@example.com:1.0", + "{2e5451bc-e83b-4f3f-8d0d-a7964f0f67d1}:1.0", + "{cef2cfbb-e10c-4891-895a-cbff93637924}:4.1.2", + "{233975b0-2ea0-4a3c-80b5-43ff0ae1ecbb}:1.0", + "{e05415b0-21cf-4f91-a091-523c7e959e05}:1.0", + "{21547a83-b614-4d7a-904a-0b27b92405f2}:1.0.2", + "{aa97cded-6dbc-4612-be0a-b9df6d34af17}:1.23", + "{edd47046-ad91-4b44-bd70-aaa3b0993563}:0.4", + "pallaskuepperpr133@gmail.com:1.0", + "danellalotznc4388@gmail.com:1.0", + "{96dc3101-69b3-4f27-af2b-64e27a8ddc48}:2.0", + "{3bcd18ca-fd43-4936-8e9c-a9edc787ae52}:0.4.1", + "instameme-creator@example.com:1.0", + "{9445e6b2-148a-44e5-bf0d-d144d9983ce5}:1.0", + "{8165c489-f13e-4f9e-90ea-923d8a232a78}:1.2.1", + "{ce5b5bb9-0f87-448d-9926-4f739755c1bb}:1.0.0", + "{1311c64c-6232-41fc-86e2-994112a4e201}:1.0", + "{e048e95a-6f2a-43df-9dac-fe1e97a65323}:1.0.0", + "{4f8e10ec-4f2c-43c4-be3b-b9f75a43d13c}:1.5.3", + "{bcab1dea-7d00-4c3f-989f-9ecde685c626}:1.0.14", + "{662cf4d5-99cd-4c2a-ad01-57d5e37ca66c}:1.0", + "{d6d562c3-7e40-4cf6-bd02-3841b121622c}:0.1.3", + "{c50de862-a763-48f8-95e4-81dd3e568603}:0.1.1", + "{ab72822e-2ead-4ee5-a6f1-1023d78fa130}:0.3.1", + "{3da8c314-177b-4b3a-9566-883db91f4f49}:1.0.6", + "{1856dc44-2e34-4e6f-93fc-e4bec0c54437}:1.1.0", + "{05d71db0-8c40-4850-8e01-0b2838ba8af0}:1.0", + "lsl-to-kes@example.com:1.0", + "{4447547c-0ad3-43b4-b063-aa14e2f6bb22}:3.18.0", + "{49f12380-d939-4123-be45-00b5e540c629}:20.3.0", + "{b89ecc16-1879-4310-98c1-5788cb7b26bd}:1.0.0.16", + "{f16a2ac3-e480-4470-9996-ea895f583efd}:1.0.0.9", + "{d0da3d23-48d8-47ad-96dd-7e47b23db1b0}:2.2", + "{56c88245-634c-4975-874a-88d28216ba70}:0.0.13", + "{92c4a0ac-8ce0-4d97-8be6-69480c8ed0d1}:1.1", + "{ea0cadfb-2fae-4dcc-bc0c-fb4f9efc3d50}:0.1.2", + "{1c90c89f-0fb0-49dd-9297-a8a2ddbe1f7a}:1.6.2", + "{f1518d85-3956-4794-8994-dc6dfa367c2c}:1.0.2", + "{f8c3a240-c103-4af8-98e6-5e9bca6ca6c4}:1.2.1", + "{12ded541-9891-4d7d-b077-3a5163ef4d11}:0.0.8", + "{6d9ceb1d-bf88-4860-a79b-e38b5ce3d60e}:0.0.8", + "{8e9be701-d9c4-40df-b63e-a1a443cad105}:1.0.2", + "{e166ac13-432e-4ed6-8497-19fb11e10706}:1.0.4", + "{d823344b-9f7c-434b-97d4-06a529ff7f78}:2.2.50", + "{d6687993-f5bc-4f5d-8537-6a456424ba59}:0.0.8", + "{0a02ffa9-2626-4f49-b5a8-5fc067c426f9}:0.0.8", + "{1bbfa08e-8b86-4e43-9d07-d7bfa2435fb4}:1.2.1", + "{d377e696-1976-4a7b-b475-dddda5870c27}:1.2.1", + "{4e6e21eb-b48d-42b2-898b-cd836d176083}:1.0.2", + "pulsedoct-addon@dongphutien.com:1.0", + "{c64faada-f5a7-470a-b018-178266d18726}:0.0.8", + "{c17700c7-a06a-4770-a32e-a729f5d2ff4b}:1.6.2", + "{8a7d0f55-850f-4d26-adc5-478f30dfb584}:1.0.4", + "{d7d1552f-c9cc-4863-b5db-1af6aee26f30}:1.6.2", + "{027cdb52-de92-4f3f-9147-c8003b0af8b6}:0.0.8", + "{2e344c60-5360-42f5-9299-eefba6d3e640}:0.0.8", + "{8639e37a-a129-44c4-9709-9672ea02507d}:1.0.2", + "{eb4d1b51-5775-4c00-91eb-47c79e724eea}:1.0.4", + "{cb6fcf91-15ac-4bb7-a979-1a2fbc74ddc2}:1.2.1", + "{1b7084de-123b-4726-b5a8-96ddc083a50e}:2.2.50", + "{e00437b1-7d6b-4820-8d07-1c21d2e635a9}:2.2.50", + "{b8f84fd1-ea7f-4beb-b3c1-bc833943ae44}:1.0.2", + "{b739260b-c316-4b16-99d2-38ec817aa1fc}:1.2.1", + "{bc1350be-5f6f-449c-b226-72e0f1b4edaf}:1.0.38", + "{3b931f1e-0570-4eca-9c50-64fc13563923}:2.2.2", + "{b45be5b8-dcde-467d-bfc5-9ceac635e186}:1.6.1", + "{ecdb4b03-fff8-4e39-9f92-ab544f5522ff}:1.2.1", + "{79ee9907-a8dd-4014-9f24-7d1e931d47f4}:0.0.8", + "{4cbec184-c96e-41e2-982b-e95df0522050}:1.0.1", + "{85d9d2ef-1967-4811-893e-c76d88a225f4}:1.1.1", + "{7d0eb3e6-65be-435d-a071-2df02d124aef}:2.3", + "{8c5fa46f-f166-47de-be53-1659d9f81978}:0.1.4", + "{946ec045-845e-49dc-bee5-a58b24f72a1d}:0.0.8", + "{13de4e1c-8210-4162-bf2e-2deb4c2172dd}:2.3", + "{8bb70715-b5b8-4e94-b67c-768f24a387a0}:0.2", + "{8fd06850-91c8-485a-9963-af837acb5775}:2.3", + "{14fddce1-d857-4a54-b4a1-0347ad061806}:2.2.6", + "{8b595943-5d86-4684-9c29-d018060677ec}:2.3", + "{8563d59d-d895-4453-89b9-ae1d61ed9451}:1.6.1", + "{8ad2d2bf-7c6d-484c-a881-3b747ad8649f}:3.4.4", + "{3e1d3bc6-59ed-4c2e-8c76-b0d7ed851d76}:1.6.2", + "{0bb8a5be-29de-47c5-9017-766c715044e0}:2.2.6", + "{9f654bbc-f88a-496a-a89f-ff9cdfbb73f1}:1.0.1", + "{044ea4c0-23ba-4f8e-902b-777f694fa4a6}:6.0.2", + "{b27b92a4-705d-420b-9115-28d0e3bc93ea}:1.0", + "{c5cf453b-df2b-4ba9-ab58-04b783932711}:3.4.4", + "{e18d3259-a875-4ab8-99ac-7ae72e9644c6}:3.4.4", + "{d5d25fa7-e18f-486e-b865-8be4ccceefbb}:1.1.1", + "{93f8be92-a601-42d9-a76f-81fbddb52b41}:2.3", + "{f418c5a9-fa27-4a16-9a83-46be59277227}:2.2.6", + "{8c710c12-b7d2-4471-94d1-19ba563c12ec}:0.2", + "{1d5da3dc-1f4e-4f6e-a17e-71d263999c9f}:1.0.4", + "{53dfd1fd-bfbc-44d8-ae12-812f6133b4ef}:1.1", + "{9d65caec-1697-420d-98ed-2fece041cfd2}:1.0.38", + "{03d84fb5-cf02-414f-9c93-082cc1b3c94d}:1.3", + "{d033da3e-2f9e-454d-b8d4-a5e69c53385e}:1.3", + "quick-site-notes@example.com:1.0.0", + "{2be878fd-69a7-4247-af3c-d7a8b1ede74d}:1.0", + "{5b1ca850-405b-42ba-8798-9811a10a2e01}:1.0", + "{05d7402f-8f2f-4ce1-8ee8-66f0955fc0fb}:2.2.50", + "{5dd0b8d2-c2f4-40b4-8949-68929808c523}:5.0", + "{f720c549-c028-470c-8fe0-2b12b6e63ea8}:4.1", + "{4845885c-96b2-41d7-baaa-fc416203a008}:0.7.1", + "{7f80f864-010f-440e-98d8-57295a5fa759}:1.0", + "toggle-dark-mode@example.com:1.0", + "{2ce7df96-558d-4c2c-8d88-68606ebbe8cc}:1.2.15", + "{fec75230-01eb-445a-9ac3-d6404e66885f}:1.0", + "{e3b31cff-afcc-41a7-9092-2bad6be2ab83}:1.0", + "{29e33f68-32ea-4ab1-a728-d8762d379058}:1.0.1", + "{ac179a28-8ae5-49d1-921b-1f335bf92c11}:1.2", + "{2edf88e2-cd9c-483a-93fa-b860a851ca40}:1.1", + "{2adda421-c0e9-4122-b97e-99555a4aac22}:5.4", + "{136fa9aa-48b9-4b33-acd5-2bef5f7e9b23}:1.2.0", + "{8e83ea10-16fe-41ca-8b1d-77869a6ccda0}:1.0.10", + "{490454b5-b6b5-4205-82fc-99b10e7de6a2}:1.0", + "{68a107b3-0272-4d10-a03d-5896804de838}:1.0", + "{718c561a-e521-440c-ae98-adfc87fa0d3e}:1.0", + "{80de3c96-c842-44b9-b0c1-1037665401f7}:1.0.0", + "{5c135ec4-5451-4281-bc72-1a7aa2de01a1}:0.0.1", + "{72297abc-d172-4cb4-ae75-817df61d088d}:1.3", + "{a51c401b-5d66-45d9-b664-845ea650f087}:1.0", + "{1be89299-b909-4a0e-b95e-18641e08a40e}:1.0", + "{2c9eb2fc-da8b-44bf-8082-3129bd24a28c}:1.0", + "{718b3292-fed5-48eb-8692-c906ce215167}:1.0", + "{a84eb343-0eeb-495d-9395-3994df615235}:1.0", + "{a8340b77-b58a-4b5c-9715-61c2e5006eea}:1.0", + "{fa9bb82f-9e4a-41ee-b1ca-e1e022ceb625}:1.0", + "{972098c1-ef3b-4d4f-8917-577d3e8b3a6b}:1.0", + "{5a563824-9af8-4f10-bf13-c2bce81132e7}:1.0", + "hoegisa0171@outlook.com:1.0", + "zacekmaxi2626@outlook.com:1.0", + "mickivens4888@outlook.com:1.0", + "koranbruns1145@outlook.com:1.0", + "dalisvary7221@outlook.com:1.0", + "durrterri2389@outlook.com:1.0", + "cindavadim0627@outlook.com:1.0", + "shigcatto6436@outlook.com:1.0", + "zanzeshedd8631@outlook.com:1.0", + "zvemhg26349j@outlook.com:1.0", + "{88698d91-d3f5-4c58-9219-df674fc73a99}:1.0", + "{f06ceced-91df-4881-87b8-73ec92f63edc}:1.0", + "{3591e2c1-7222-4a1e-ba97-69006bcd7e46}:1.0", + "map-bookmark@example.com:1.0", + "time-tracker@example.com:1.0", + "language-helper@example.com:1.0", + "{75148a3c-bfbf-4ae2-bd92-10122aa21327}:1.0", + "reader-mode-auto@example.com:1.0", + "{2401df8a-47fd-481c-9b49-9332a51932fd}:1.0", + "{319ad461-2bbe-434f-8173-0b2f5b16912d}:1.0", + "{61af0488-ac69-4c9a-b057-4774308649dd}:1.0", + "{decc638b-f92d-402a-ab49-c2bef04cbd0a}:1.0", + "{e779c73a-1114-4481-9435-57b221ce1d68}:1.5.2", + "{5067225d-158f-442c-8fee-14332cba154c}:1.1.1", + "{16581eea-1371-4c95-856d-c9cec4628b90}:1.0", + "{cead4bb0-5c6d-4ca7-ba52-ec5d168aa6e0}:1.0", + "{ee15b964-9c24-4017-9a09-bbeb2969bb9f}:1.0", + "{3088a70d-92d9-4c22-88d7-77ba3a111c17}:1.2", + "{1cd6d29e-9ec7-4a1d-b7c0-8df7e05c10e1}:1.0", + "{5098dce7-bce8-404d-94ed-4e14841397d4}:0.0.2", + "{d27b1208-3050-4e7b-a0cb-c44fad52fb96}:2.0.0", + "{85a1c644-1651-481b-a619-286c6f9ba0c0}:1.0", + "{4cd9d202-ed2a-46c4-ab2e-9df8c10aa00a}:0.1", + "{784dd756-6e8f-472c-8f3f-dd9eeb892afa}:1.0", + "{8b941172-de06-4ac1-9243-4e6e1db92b02}:1.0", + "{7b7d5c68-788b-469b-81fe-9752efdc67f1}:1.4.2", + "{70ef53bc-4063-41a3-9cb0-288eb7fa99b1}:0.2.0", + "{403faee6-10de-4e9b-acd5-f8b1ac77229b}:1.0.0.7", + "{08b3cbb5-22e9-4073-87d5-c4835ddf85c3}:1.0", + "{dcf7ea9d-0628-44b1-81e8-63b6c8f594ff}:1.9", + "{3db88f4f-677d-46cf-8cad-85d25ed6c37a}:1.0.1", + "lingualinkpolyglot@example.com:1.0", + "{1d22c3aa-17bb-4d6f-9f98-73f94ef4ac7a}:0.0.1", + "{99936aee-61b6-4419-b76c-d4d6384351ab}:1.0.15", + "{829590b0-658e-4409-8232-0b5f402b9c7a}:1.0", + "{b2850d74-0729-472c-a6ae-b31ed69f9e4a}:1.0", + "timekeeper@example.com:1.0", + "{780bda16-e998-4e70-a1a8-b05d9fe138d5}:1.0", + "{e0c99fbd-b152-4c59-b8c2-4df34a2281a7}:1.0", + "{3f4cd502-47a4-4e5f-9add-0ec15fc2b2ea}:1.0", + "{d350865a-afa9-4a5a-a723-248700681ec7}:1.0", + "{45154fcc-95d4-4db3-845d-ac398d12c761}:1.0", + "{305e880b-14de-4d5b-905f-a0a282e5c028}:1.0", + "{70b2b3e2-bb75-459f-9c7d-c9e16ba1c36c}:1.0", + "{e9c779ca-b0be-4de9-bc34-5a088a4cb76f}:1.0", + "{286b831a-3348-434f-b68f-26079ca6912b}:1.0", + "{3ffd3320-cd9e-4128-bedb-84c610d3ef58}:1.0", + "{6eb1b4c3-1f8e-49c9-a87b-d912318daa81}:1.0", + "{51195485-3aae-420d-a5dd-351d36d5a659}:1.0", + "{b9e80807-03b0-494f-8b54-6831cf2b3687}:1.0", + "{61df6a9b-a47d-44a6-a287-99f361af2fe6}:1.0", + "{d6453e87-9c99-4947-9dff-b7a005e4595b}:1.0", + "{d7bec38e-8696-4b1b-9bad-e0b5d0f25e3a}:1.2.6", + "{336c841b-bca3-49f0-92dd-2586b83de8f0}:3.7.3", + "{4a43a543-2b50-4168-90ee-0d00a26922af}:1.0", + "{8b7ec326-f8a2-4e50-872d-e3d734cc6ca8}:0.3", + "{e6602f26-03a6-4ee2-919a-aa9edcb20d33}:2.4.1", + "{6db0391e-485a-4bd1-bff9-49a881f7f426}:1.0", + "{f88a6b91-0f23-4fac-8ee9-1d254624758a}:1.0", + "{7997b480-4d16-478a-a700-063485bf9d86}:1.0", + "{0f0cc1bb-c2f2-4ccf-ad73-7ccfa2b63b7f}:1.0", + "{8cd79cab-45a1-4021-adcb-ec31dd06a942}:1.0", + "{bb13e854-179a-4447-b0f4-79926817d491}:1.0", + "{b18814a7-00fe-4e23-8d52-1ad95b9c1d8b}:0.0.7", + "{ad145d38-3883-4970-bb11-703b30e1ad1f}:2.0", + "{e2e4fc65-4728-4d13-8e0d-466f8347560f}:1.1.0", + "{69fb889d-4798-476f-a51e-065d348571e0}:1.0.0", + "{9fff5cbc-e9b5-45ce-bacf-b0a685a5fa8e}:4.6.1", + "{92bb6f12-95aa-4a1f-965a-3de2e0400db6}:1.0", + "{c0782e0f-a4ac-4a31-b435-9744366b4e05}:1.0", + "{71fda3ce-8dee-48e3-8d16-900a8e415a3c}:2.4", + "{3d7a6c7e-e989-42b4-9e05-061a86d47a90}:1.2.4", + "{724ee941-45dd-4dc3-abf6-fae5d1fc3007}:0.1.2", + "{b7ea3db9-fdeb-42bb-90f8-71a9e25b5d35}:2.0.8", + "{bda466d7-77c9-42c5-8d7e-4f5f8e6bebb3}:1.0.1", + "{ff0f0ead-aadd-4fab-b705-d6c11b3ce9e5}:0.8.1", + "{78a92715-e6a1-48dc-8074-cf7f132d3887}:2.2", + "{b0c773df-06be-4f53-bbb7-370628c453a5}:1.0", + "{14b63b1e-388a-4633-8dff-285327d79157}:0.9.3.2", + "{f194db12-09c3-4b85-aad6-0876b3ad1822}:2.0", + "{177fb958-baa2-4f9a-91b7-627b78b28592}:1.1.2", + "{86386225-02eb-434c-bf50-df8a0e9e3aac}:1.1", + "{c94208b0-9ae6-4cd6-8aa2-002271de09c4}:1.3.19", + "{361f1382-9e97-4b58-95a5-336f1887a8c6}:4.0.0", + "{4faee922-24df-4db5-8385-73341e83a038}:1.0", + "{77b2ae39-67b7-4f0c-a262-96357e44c69d}:1.1", + "{413341ff-40be-479e-b4b4-c70d92423f6b}:2.11.7", + "{a57d73a8-12e2-48ad-ba06-51e52b30272a}:1.0", + "{a2363242-965e-11ee-b9d1-0242ac120002}:1.0", + "{4921bfc0-9f11-462d-b763-d9dfc8955996}:0.1", + "{11b56c26-7d36-4123-8171-4c45e169f71e}:1.0", + "dkk-to-fjd@example.com:1.0", + "kmf-to-xcd@example.com:1.0", + "{bc2006b7-972c-4155-9024-4407ab675c17}:170185295", + "{fedbf205-f54b-498c-820d-5a7c0238b010}:170085295", + "{bc1e08ba-85e7-11ee-b9d1-0242ac120002}:1.0", + "{a2eb0a8a-5859-4baf-a73b-ebed8ba4ab2e}:1.0", + "{eaeb2915-65db-4597-9763-4e241a2ba899}:1", + "{6e65a265-a523-132e-1ba8-9a6543216552}:1.0", + "{af812d75-dd6b-4d47-832a-62d9e7f884e3}:4.0.6.0", + "{906177cf-3cf5-4b6f-a89d-ef90f05a4b5d}:1.0", + "{4d2d0b41-f0f0-43f6-bfb3-cf1981f14f0b}:1.0", + "{e5133f8d-eeeb-4de4-a082-c3e9ec367662}:1.0.6", + "{86325ed8-bdde-4ca0-b613-b8275762e0ff}:0.8.1", + "{992fbab3-76c7-4a29-b69f-432bed9dfdc6}:1.1", + "{11601bbd-7527-4079-9a12-ba18fc61af47}:1.0", + "{1e872157-4df3-4480-9a71-15ae9579b976}:2.2", + "{5b0dbd04-0d67-4f10-886d-695a272a7f20}:1.0.1", + "{994e3170-152b-4e5f-883f-57265b85aaa7}:0.8.1", + "{ff713733-aa5c-4663-a309-bc83b9775242}:0.1.1", + "{5ea38287-1ae8-4fce-ba13-20f796a1718b}:1.4", + "{2a615a97-45a4-4c81-8f14-4d2c3cb40bfa}:1.1", + "{6ff10675-399f-47cb-bf27-bdc6ee7e2a92}:2.0.0", + "{f034f303-e4be-4b27-9f8a-5fb389b7496e}:1.2", + "{acb39c5b-24de-4555-925b-731586a9a086}:0.1.1", + "{810891ff-21d5-4234-8605-020c1640282b}:0.6a", + "{d58fa730-969e-41f9-a63c-24a2ac25fdf8}:1.0.3", + "{63f5302f-ec19-4846-886f-e39c09304748}:1.0", + "{8c78d14b-7b30-4952-9224-0eec11656fad}:0.1.0", + "{42ec1b93-6581-4822-8b01-4ffbdbb5ca6a}:0.1.0", + "{054981f3-ad40-492d-b28b-85490693e77d}:1.2", + "{81ac4560-98f6-456f-ae4f-0f34a83fd016}:1.1", + "{87fdb8fc-3c74-44a2-b0e8-ff289760a3a5}:1.3", + "{2c34c640-6c3e-433b-9bae-cf3ff4188663}:1.2", + "{58d9e6b5-d28d-4bcd-a617-14162ae0d3ba}:1.0.2", + "{4277cdf5-ee2a-4fa4-bc79-dd0a288ce0c3}:1.0", + "{96f3f2b6-a1ab-4483-8ac1-fb0a462e6424}:1.0", + "{603b9b84-2d9c-4850-bb1b-365594729632}:1.0.1", + "{7b56b39f-7a42-4773-aef0-b7ea0264c979}:1.0.1", + "{2024f33a-1cd1-477a-9b00-a72c1ba6a027}:1.0.1", + "{36a3c45b-21a3-4b03-b07e-bc41ecbbfa45}:0.62", + "{563e5995-cc23-4710-bbda-8b850be8ff82}:0.62", + "{2fb45fcb-ebdd-48f1-ac34-c13ff046ff91}:0.62", + "{fb55b9f9-0d3f-44be-9c2d-88261bc87be4}:1.0", + "{203a4109-4dc9-4499-ac4c-8e47f280834a}:1.0", + "{6ddb27c6-df92-4ad7-854d-fabeaa5739d6}:1.0", + "{147a3847-82e8-4341-87b0-8151a978c8b5}:1.0", + "{cadaf499-ef44-41c9-b349-ed568626fc31}:0.8.1", + "{80839915-5047-4d3f-a79d-603772cf94b9}:2.0", + "{4da3b1d8-86d4-4920-9c9a-135a6ef5a109}:1.0", + "{b992f447-423c-48fa-b44a-51e5c034a7b2}:1.0", + "{6673ea5a-c9ee-4c89-b94d-8efbf1109049}:1.1", + "{4a5535f1-b1a9-44a5-81df-462464d898fb}:1.3", + "{0ec1344e-1f55-43c6-8362-f7ee9096db97}:1.3", + "{f73b455c-3a37-41f7-a84b-0ee055669a2f}:1.2", + "{fcaa886d-1382-4ca9-b729-48e25db03334}:1.0", + "oc88-assistant@localusr:0.6.0", + "readingmodeaura@example.com:1.0", + "cosmicdustflow@example.com:1.0", + "sirius-black-quotes@example.com:1.0.0", + "ironshell-addon@dongphutien.com:1.0", + "d19479ffa1123dec12a3d1f97652bff9da333490@extension.com:1.0.0", + "{97086462-e435-4f99-bec5-eea36e8f54e4}:1.0.1", + "close-friends-quotes@example.com:1.0.0", + "page-info-helper@example.com:1.0.0", + "page-word-count@example.com:1.0.0", + "image-highlighter@example.com:1.0.0", + "highlight-saver@example.com:1.0.0", + "quick-helper@example.com:1.0.1", + "quick-text-highlighter@example.com:1.0.1", + "{70205c9e-9c85-4cde-89d3-64f9d667cd8b}:2.0.3", + "{c7348757-f353-49fd-9433-74688f8e5972}:1.9.6", + "{5abf7819-e836-42e1-9553-c5da26953049}:1.0.1.5", + "{95b83100-f0c6-4b62-b3fa-7c1b2c0af68e}:3.1.11", + "{d81dc2fa-b6f1-4112-b65f-f5f52468f1e8}:1.6", + "{fc3703ad-0ac2-4602-9019-9609e6484c91}:1.2.78", + "{b8bbcea3-7187-4dd3-8183-be1c7a4d7216}:1.2.3", + "{909fc3a6-a88a-4f99-9c58-661317e3d226}:1.1", + "{75802d51-8bc6-4038-b5c9-a2e49b6ea28a}:0.1.10", + "{69291c5b-bf91-4068-808d-b1f84f64e5c9}:1.6", + "{4ab3ca79-e7c5-4d58-bf37-d09335003d44}:1.6.16", + "{33eec846-b438-4a82-a4d8-26a3f2a0be62}:1.1.0.2", + "{f669002c-bb5d-4356-9583-42190cf0357c}:0.2.6", + "{246ac5ce-0365-422a-821d-5eaf3bc9c7c9}:1.0.5", + "{b793209c-1433-4056-8810-1c34d6c5c56b}:1.0", + "{09e97390-610b-4c2c-8dc9-ec986be2cc15}:1.0", + "{8b0d75d3-66fc-4209-a519-4478df2b8578}:1.0", + "{f3cc80d8-ee1e-426b-992a-2d8223ca6b42}:1.0", + "{d800e217-9062-4299-bea0-736d0db2c1fb}:1.0", + "tab-memory-saver@example.com:1.0", + "{31b8af3d-ae50-4560-878b-50f098fedacd}:1.0", + "{7f099da7-6de7-4807-ac44-9107fc1a0ee9}:1.1.0", + "{af82c77d-e2ca-4784-b151-43655a31f30d}:2.4.1", + "{8c0af265-2d1d-4700-aa18-5389655401cb}:1.0", + "{88b0a4fc-df77-4dfb-a8c4-2b80a1c94e22}:1.0", + "{64756a4c-5010-4699-87db-04cdfee37cad}:1.0", + "{8dd7bc6c-0751-4ace-9804-8d215732d7f9}:1.0", + "{49a83fb0-d5a1-44f1-a3eb-5c185191d187}:1.0", + "{952eda4d-8f5d-45d3-8c81-3d065d2b5f7a}:1.0", + "{a48d8333-0293-4a19-861f-b1a309c68a9a}:1.0", + "{b43a4631-dc87-42d9-b77e-8e5fd5f2a8a1}:0.1.5", + "{cea81df6-229d-4427-801a-4961166bd9d2}:64.63.7", + "{bae173dd-ca2f-403b-b4a9-f3e2f71723c4}:2.0.2", + "{08a2df55-e49a-48a7-a0f5-316a3093d70f}:2021.7.9", + "{7015705f-1691-42f0-a14b-cb83e056d69d}:0.8.0", + "{0aeab4fc-7613-45cc-8b54-e4a17f00e10a}:1.1", + "{4c2e819e-5ffe-4447-8baf-2a3c6a656003}:1.2", + "{14f778ff-d440-4b9e-80fc-a9fdc0bc60e8}:1.8.2", + "{971b5f74-90e7-4c8f-8a54-344f3c115cc5}:1.0.9", + "{db70d158-e872-4829-a75a-eedd35c26b61}:11.5.4", + "1234j1234ik12n34kn@oschepkov.ru:2.0", + "1234j1234ik12n34kn@oschepkov.ru:2.1", + "{55f59856-f016-41ed-bee9-de6d322e4ea3}:0.9.0", + "{6e4468af-efc0-4adf-adbc-fc530e2b478a}:1.9.1", + "{54eed942-fb41-4c80-b3d8-b928dd308fcf}:1.4", + "{027328fc-da0d-1b06-aada-28db297f3b8c}:1.2.9", + "aa2emi7555@gmail.com:1.10.5", + "rajadewa@gw.com:1.0.1", + "rajadewa@gw.com:1.0.2", + "rajadewa@gw.com:1.0.3", + "rajadewa@gw.com:1.0.4", + "rajadewa@gw.com:1.0.5", + "rajadewa@gw.com:1.0.6", + "rajadewa@gw.com:1.0.7", + "rajadewa@gw.com:1.0.8", + "rajadewa@gw.com:1.0.9", + "rajadewa@gw.com:1.1.0", + "rajadewa@gw.com:1.1.1", + "rajadewa@gw.com:1.1.2", + "rajadewa@gw.com:1.1.3", + "rajadewa@gw.com:1.1.4", + "rajadewa@gw.com:1.1.5", + "rajadewa@gw.com:1.1.6", + "rajadewa@gw.com:1.1.7", + "rajadewa@gw.com:1.1.8", + "rajadewa@gw.com:1.1.9", + "rajadewa@gw.com:1.2.0", + "rajadewa@gw.com:1.2.1", + "rajadewa@gw.com:1.2.2", + "rajadewa@gw.com:1.2.3", + "rajadewa@gw.com:1.2.4", + "rajadewa@gw.com:1.2.5", + "rajadewa@gw.com:1.2.6", + "rajadewa@gw.com:1.2.7", + "rajadewa@gw.com:1.2.8", + "{d56b84d3-16f1-4557-958a-b1d617b4d410}:0.3.6", + "{ffdc3cf1-e8bc-41bd-ba09-2cf893ad16ee}:0.4", + "{fa286165-2241-4474-8d5c-5beb76efd4b5}:1.0", + "{2918fcbe-95de-4145-9fc8-d23423a07b30}:0.5", + "{304b461f-29fc-464b-8b02-0d34e0b093fc}:1.0", + "{2a39b184-b8ba-4742-91d2-859033062462}:1.0", + "linkharvester@example.com:1.0", + "{e4183187-2b7d-4768-b3d2-f2bc633b5292}:1.0", + "{3d0c864e-55e2-4bd2-894c-28fc4a563ea0}:1.0", + "{86379956-5b67-400f-a5a1-4224091e81ab}:1.0", + "{94bb426c-46c2-49eb-987a-60c35a268426}:1.0", + "{869f318c-2cfa-4e52-af8d-9e4bd058badf}:1.0", + "{6bb21b92-7629-471b-848a-b3afac16f477}:1.0", + "{f906feb6-778b-4660-a75c-e22462be35f1}:1.0", + "{1261b094-7fe9-48a4-afc1-f23134cc28c9}:1.0", + "{14c7f1e4-1487-457f-bbac-0c1942cc7fd9}:0.4.1", + "{a292e03d-b34c-43bf-b3ac-2b9dd65a7c74}:1.0", + "{06510704-6c3b-4539-b12d-6c09ad19b704}:2.0", + "{cfa3b508-8c2f-4fbd-a934-990b5a2eed8b}:1.0.0", + "{5f3dac6a-159e-416b-aa54-1e864c46aea5}:1.0.4", + "{e1eb817f-850a-48b2-97e0-6fa1df26fc0b}:1.0", + "{9244b61e-07e1-4bb5-bbe6-52d72891612f}:0.9.3", + "{e4db92bc-3213-593d-bd9e-5ff2afc76da7}:1.4.45", + "image-picka@eight07.blogspot.com:0.17.0", + "{be620f31-d903-4885-a71c-ce35b3131052}:1.0.14", + "joao.buchholz49@gmail.com:1.4", + "{fc4bfc34-7ab7-420b-a96e-367f7477e840}:1.0.6", + "{68d0951b-3895-49f8-bb87-7897d2cc680c}:2.0", + "{657b0d75-79b4-4a36-a620-0c30e9edaa55}:1.0.0.9", + "{909be173-d62d-45b1-bb4a-963105538355}:1.3.19", + "{920fe4ca-6802-4e77-b3f8-0c753a2ffd29}:1.0", + "{85c82ae1-1fef-40b3-b1ad-facc41f324b8}:0.1.1", + "{7e705ab4-f7c3-44b8-b049-b417695cf911}:1.0.0.11", + "{eaa4a190-922c-4dbd-b023-d3716b0d7250}:1.0.2", + "{8f6f22b3-cbaf-48d7-99f5-ca3d0b1d47eb}:1.7", + "{82ed9405-e262-40e8-8381-8c6cd6667fa0}:2.4", + "{149a082f-b89a-4f2a-9e42-3fa486c7de19}:1.2.6", + "{c414c5f0-ad15-418f-9443-8efe14d9feed}:2.2", + "{b9b05a61-7dc9-448d-8fcf-7a531f93230b}:1.0", + "clashofclansgerry@gmail.com:3.2.1", + "clashofclansgerry@gmail.com:3.2.3", + "clashofclansgerry@gmail.com:3.2.4", + "clashofclansgerry@gmail.com:3.2.5", + "{670b4f02-8e45-45b7-a4d5-36789b19c284}:1.7.4", + "Saitapuhdefining@gmail.com:1.0", + "Saitapuheroes@gmail.com:1.0", + "{f66d7c75-ee55-475a-9355-fa0d2322ca9c}:2.2.50", + "luffypreviensense@gmail.com:1.0", + "monkeyluffygains@gmail.com:1.0", + "ve88.name.jin@amo:1.0", + "bu88.name.jin@amo:1.0", + "98b7da5fd5b5646b42c8d12c3d6593d25038ae69@extension.com:1.0.0", + "softpapertexture@example.com:1.0", + "minimaldarkcalm@example.com:1.0", + "softcontrastworkspace@example.com:1.0", + "blur-enhancer@local-addon:1.0", + "addon-4f2be083b63a4be9bf798d3531ba5ff6@moregen.com:1.0", + "ironmark-addon@dongphutien.com:1.0", + "{46eca58a-ad33-4b26-83d0-add13086da52}:1.0.2", + "albus-dumbledore-quotes@example.com:1.0.0", + "88betgrcom@amo:1.0", + "win678@jp.net:1.0", + "clearpath-addon@dongphutien.com:1.0", + "softchakraglow@example.com:1.0", + "888vi.tv@addons.mozilla.org:1.0.0", + "hm88.co.com@extension:1.0.0", + "zenflow-addon@dongphutien.com:1.0", + "softaura-addon@dongphutien.com:1.0", + "monoxpro-addon@dongphutien.com:1.0", + "{a73ccb49-8206-47b0-99e6-73166a3f86ce}:2.2.50", + "690549dd08d71e0f65435476428d7d1fd3481641@extension.com:1.0.0", + "new_unique_email_writer_1c1b70da@example.com:1.0", + "{4363f4ef-ab88-4ac9-bbfd-985d3c5f3427}:1.0.4", + "{902b7f3b-4371-4468-ad95-7cec461e1c7a}:1.6.1", + "one-hundred-years-of-solitude-quotes@example.com:1.0.0", + "pride-prejudice-quotes@example.com:1.0.0", + "le-petit-prince-quotes@example.com:1.0.0", + "gone-with-the-wind-quotes@example.com:1.0.0", + "{0100df22-f7bb-4c0e-af74-7b2fffc2f43d}:1.6.1", + "auto13-theme@example.com:1.0", + "{01517389-d592-4c31-bb05-fdc46272cdc0}:0.0.8", + "{0af41f07-6e38-4fa1-a9f9-0a0c2add7009}:1.0.2", + "funny-loving-kids-quotes@example.com:1.0.0", + "@vfi-ufeso-cit4hq:1.0", + "@vjgxpe-wua-sxp7bx:1.0", + "@snkyow-iyzvow-twprp-biew9b:1.0", + "@rqc-xtg-qa8a5c:1.0", + "@osn-aktvit-iptj5k:1.0", + "@htrtks-czzyww-gkw-aucw-riix3k:1.0", + "{e0b22c31-9e1b-4c2f-8d67-2a65b7b93f11}:1.3", + "new-day-energy-quotes@example.com:1.0.0", + "random-humor-quotes@example.com:1.0.0", + "amazing-memories@example.com:1.0.0", + "flirty-crush-quotes@example.com:1.0.0", + "quick-page-notes@rg.example:1.0.0", + "quick-notes-d4f07ae4-6902-4b62-8336-2aa3231cd5f5@example.com:1.0.3", + "page-helper@example.com:1.0.0", + "link-counter@example.com:1.0.0", + "{9a46da8b-91e3-475b-bc1e-1219bf129e47}:1.0.0", + "trendycaptions@example.com:1.0.0", + "broken-heart-quotes@example.com:1.0.0", + "goodwishesquotes@example.com:1.0.0", + "specialblessings@example.com:1.0.0", + "goodwordsquotes@example.com:1.0.0", + "{841474e5-19f1-40fc-8c82-974a43f854fc}:1.0", + "{bfc97fde-7206-4dd2-914b-c2349f615f90}:1.0", + "{0ef42514-0ffc-4019-b402-bbf2900b27d7}:1.0", + "{a86227d0-0473-4097-bc6f-17c7505450ad}:1.0", + "{8745f77d-891c-4226-bbf0-0e6c90d5379b}:1.0", + "{fb064397-df3d-40f4-89d9-ffff8cbfcd92}:1.0", + "{c602a37f-9eab-40a5-b643-cceceff90132}:1.0", + "{7a0ed0bb-dc7e-4ffa-a1f3-cd0a2f7ffe59}:2.3.9", + "addon@pepito.com:1.0", + "addon@pepito.com:1.2", + "addon@pepito.com:1.3", + "{64a5fb85-63a5-46ff-8fa7-cdd5242ed9e2}:1.0", + "{49aa8e5f-f9d6-4556-a981-120b048e8636}:1.4", + "{9e20b5a3-725a-4908-83a1-8d0d029a6d75}:1.6.1", + "{d1d8e39a-47bf-4d92-bae5-d148e990d041}:1.0.1", + "{b162a470-9b23-4f39-8c2e-81db577eabc6}:0.1.1", + "{5b33620d-3944-45be-bcfa-4f1e33e3176b}:1.0", + "{8d5ee4a8-e511-4a31-9336-df9c7a27de44}:1.0", + "{443f7782-3f45-447e-82fc-1ac800037fb0}:1.0", + "{b8cc5459-2f1d-434c-95a2-fcf8c261d464}:1.0", + "{3d032c19-3805-496b-8ec9-51f7daea8f44}:1.0", + "{16b4a65b-eb91-4da2-99a5-efbdd7c987bc}:1.0", + "{a7bc596a-816d-4aa4-80e0-e357864d5209}:1.3.19", + "{866ed953-3acc-481d-a44b-5d59621675c1}:1.7", + "{4153a487-f9c0-4831-8f0f-4b58f9fd5729}:1.0.2", + "{f66e8141-7e3d-4ad3-934b-f229d223346f}:1.0", + "{d2466fc5-dfc7-40d8-87b9-d917975c2a92}:1.0.0.7", + "joao.buchholz12@gmail.com:1.4", + "{25c29c91-fa5e-44bd-8af5-1c75a70e9946}:2.2", + "{b59fe48c-aee6-4d30-8d0e-e3ab73c3d591}:1.69", + "{a561e7df-33b4-4914-8c0a-50bbcb18f93a}:1.9", + "{c6bfd208-bf8f-48ad-88bf-2d6b51333e23}:1.5", + "{5215ccf3-5ba7-4449-8692-bb67b6e6466c}:1.8", + "{3a6f4679-f854-4c08-b926-27825da55d16}:1.0", + "{24db1f6a-f96d-4e23-b46a-bc4f6a6cb661}:1.0", + "{6fe6349c-2846-4b10-b159-fe7d6bd91729}:1.0", + "work-shield@example.com:1.0.0", + "clarity-mode@example.com:1.0.0", + "{8b788e65-b887-4ae8-ace9-afcb44523b82}:1.0", + "{c624289f-62c3-4c03-bc8c-51ba445499e5}:1.0.0", + "{497e9f79-7f33-46cd-a084-3d12b2f17d8b}:1.0.3", + "{843a5c97-b309-4c4b-ad80-932648c91e8e}:1.0.5", + "{8f9095c6-6324-473c-b41a-4bacce8f396f}:1.0.1", + "{92320978-c80e-40cf-b34b-07401d572bd5}:3.1.0", + "{ec2c613f-c2b1-44ca-bc8c-750d7b6987c2}:2.3.5", + "{14b1f7aa-4b3f-4ecb-8029-b514d1381a33}:1.2.6", + "{cb24c2be-4a46-42a4-b679-4ba3c9ab3f53}:0.1", + "{22853d7b-a858-410c-839f-e08537b819e9}:1.0", + "{d7478e54-9fe7-4f1d-b097-04182fe338c9}:1.0", + "{2f6c7bd7-b4a7-4567-8254-85d15dd86d80}:1.0", + "{819edef6-b62f-43a0-aab1-3fc9cf3e413b}:1.0", + "{60d4076d-9ad3-49fd-9a04-e5bad6ac69cf}:1.0.3", + "{9be96407-df90-490d-a84f-501364edf141}:1.7.4", + "{5b19ef9f-87ac-4b54-b9c7-a8303344d6f5}:1.0", + "{95450671-6200-4ae5-b677-9a3d217a2f76}:1.0", + "{665f1121-610c-4328-976f-1022cac11917}:1.0", + "{f5aa73c3-e16e-4e38-8226-8a5384da1591}:1.0", + "{5daadb9c-d53a-4f7e-ae26-d7621753f6f3}:1.0", + "{a93182f2-9291-4d09-9cc5-40eabcb9a904}:1.0", + "{209261a0-7f40-47c2-8ccf-91b548c2e933}:1.0", + "{c4031fc2-12de-4dbd-86bb-7346240f3241}:1.0", + "{8dde4868-a46a-460a-87a9-2c5739702324}:1.0", + "{83c9eb3f-f5ef-4ecd-aaa1-4c36cc85d7bb}:1.0", + "{e3d84981-6105-4a18-a360-264dde2f733f}:1.0", + "{7eaffbee-9caf-4620-8734-d6fe35148e96}:1.0", + "{9b5037c7-81cc-42f2-99a1-029037a30e0a}:1.0", + "{7b4262e6-c8c0-4a10-9897-cd1f8aba2216}:1.0", + "{b6f7a098-be38-43ba-b7d7-0de9b40bdaec}:1.0", + "{d5e64928-13f9-4bb1-bd3a-d6e3cec0efb4}:1.0", + "{f3e2a5c4-808a-45d6-beb1-751c26902a10}:1.0", + "{4d0e1581-87ee-4d6f-828a-9cf62db6ed26}:1.0", + "{1e060fbe-bd5a-4461-b15a-a169cf7f8415}:1.0", + "{63d737d9-06ee-4b77-845e-ff4b142ebad3}:1.0", + "{bd3036ec-cedb-4ec5-976c-6f728f759b38}:1.0", + "{1536db8f-d75f-47d3-8e12-bfde267e2e4b}:1.0", + "{c2ce722b-2f71-4608-8dfa-f2c306693385}:1.0", + "{6c1fde34-067d-44d1-8a23-8f7d2ad20a05}:1.0", + "{5a7ce2cc-0eb8-4ebe-a871-35902f172b01}:1.0", + "{068658ef-d4bb-4c2b-9853-55dadf0c5cbc}:1.0", + "{436ad640-51e1-4d01-b858-da6eee86c71f}:1.0", + "{dad8a012-3b5f-4ceb-ae9d-8b17bf9d69c7}:2.2.50", + "{7040076f-1687-4e3a-afd4-3957b24bcaa2}:0.2", + "{31a7042d-df26-45d3-9609-12cce137858d}:1.0", + "{35ec0f57-b402-472d-8c23-46f62c684d02}:1.0", + "review-collector@example.com:1.0", + "{ca389098-c05d-4312-ab1e-cf6f6de8b6b6}:1.0", + "{56e677cf-c91b-4881-9702-5fabf34e6692}:1.0", + "quick-definition@example.com:1.0", + "{0cfa2d9a-00ce-46e0-aadc-019ef6ce13cd}:1.0", + "price-comparison@example.com:1.0", + "quickreply@example.com:1.0", + "{7d50ffdb-b750-4e4c-a72a-e1806dfd5070}:1.0", + "{af2e7a66-2d55-4536-a7d5-f5043f67cee9}:1.0", + "{0d6af807-50e0-41e7-9b1a-6875987c0793}:1.0", + "{abbc5e4a-b8d2-4226-a7de-19abb80c0c2a}:1.0", + "{80d64efa-0834-4e38-8954-9afa64c2d88d}:1.0", + "{80b61f59-3122-4b84-9b50-30f7f8d624cd}:1.0", + "{a652efeb-4a39-4424-9350-85874a47103d}:1.0", + "{89859bde-e69e-442d-9303-960c649b28a5}:1.0", + "{b903bdd2-7bab-4547-bd96-8af3d9ed359f}:1.0", + "{0708b259-91d8-49cf-bad1-c357d0d35836}:1.0", + "{dabbc18f-8808-4c69-8a1f-e54adf6fceb4}:1.0", + "{4bd7fd3b-ce18-40d8-aef9-5b62af07d1e4}:1.0", + "{835c1e3b-5269-444a-a81f-5d9207aeaee5}:1.0", + "{49b787df-5e33-4735-9567-459af7ba943a}:1.0", + "{f02df790-93a5-440d-a9ed-06df4b8b96f4}:1.0", + "{57b54c7e-ee07-4946-89f1-992419666411}:1.0", + "{756294c2-ac57-4cb3-9c60-973e8f9635a3}:1.0", + "{c243d68f-f11e-4393-b5c5-8b704ae1e7e6}:1.0", + "{d37d3105-784d-4923-b21d-02ea2a8b8d94}:1.0", + "{a098bf68-2b87-4efc-b4fe-9d75b2ac34cf}:3.0.36", + "news-summary-ai@example.com:1.0", + "{ff4b6bdc-f972-4593-8c61-90383fb76f5e}:1.8.1", + "{87728dd9-51d0-4e15-93a7-75b8b4ccd214}:1.2.5", + "{12e87b86-5752-4b74-8260-654d82928fee}:1.0", + "{edd47591-dcd4-4c33-bfb0-cd7e2ad37c19}:1.0", + "montanalynejb2415@gmail.com:1.0", + "yvesservicezn9159@gmail.com:1.0", + "guillaumepailleki4877@gmail.com:1.0", + "brandeenevejq6092@gmail.com:1.0", + "{c0257452-ac3b-4d2f-9b73-f586992f9bb9}:3.0.6", + "{657621f9-a03f-4d12-b65f-461cc4a118be}:1.0", + "personalized-card@example.com:1.1", + "{767a1979-7cf5-473e-afce-e78e5bafffa5}:0.3", + "{69feb2c8-90ad-407f-8dce-5de98bc437ed}:1.0.0", + "{52f8eec4-cc7c-4c56-98e6-0d7f07e72329}:0.1.26", + "{8c0527a9-ac8e-44f2-a68c-2a2f4868e3a7}:1.4.3", + "{c521a801-122d-48c8-9317-f00d3fc1a988}:1.0.0", + "darkpatternguardian@example.com:1.0", + "{c89bde48-cfeb-4dae-b173-d1dd0d21045d}:1.0", + "{0ee6c0dd-5449-4e34-b86e-7887478e1252}:0.0.1", + "{12202009-d68a-4ad4-a0a5-f35ed6638e6f}:1.0", + "{edba8461-1e5b-4c73-ad95-f74a9b5d953b}:2.0", + "{898f4cc3-51cc-4c17-a531-20395a4fea53}:1.0", + "privasearch-switcher@gmail.com:1.0", + "geoquerypro@gmail.com:1.0", + "{c6fd5270-a9d5-4e37-8cb9-fafe20525861}:1.0", + "{60278f12-94af-4c48-881c-02422f3aa3e9}:1.3", + "{9c66d84d-a1c6-4a24-9af0-da720f35c801}:1.0", + "{d99ced4a-e12f-420e-b2ce-06d64782d329}:1.1", + "{26ea2472-2b0f-4a70-aeea-d261107e04cb}:1.0", + "apitester@nexustech.com:1.0", + "{7e9a8c8a-360c-4a68-80b7-94eb71549249}:1.0", + "{8a113f9a-db9c-439f-8e69-f034b4199a9b}:1.0", + "{48220612-6ce1-4791-aafd-9e3d8a8ad7bb}:1.0", + "{24793452-499a-43c2-a460-2c8fc4caec5a}:1.0", + "{efce726f-e61f-4371-bef7-54c15c7a31c7}:1.0", + "{e611f54d-2d2d-4cf2-b7c2-fdd573248b67}:1.0", + "{f7d1352d-751d-42cf-ac55-fbbb1760e8e2}:1.0", + "{7f10eed0-a4c1-4e80-9450-d8c6b03fc640}:1.0", + "{af94c83a-7960-435c-aceb-b7ffcf9b0ac7}:1.0", + "{278e19cc-1c7b-472e-8a1d-a6ac2dd34bb0}:1.0", + "{4c598532-1242-4f3d-b227-8bd6b0ce8c6c}:1.0", + "{c6cad09f-f658-48d7-b62d-ccbfb10451a3}:1.0", + "{58afcb6e-9a48-4a62-ad59-4b8a88623c3f}:1.0", + "{9a08ca95-16a8-4676-a33e-728534b56a46}:1.0", + "{a8ad0d75-f93b-40fc-931a-10d966555eaa}:1.0", + "{6defe8a3-72ae-41a8-a414-17949b7ad612}:1.0", + "{0ec7382c-aa51-4677-95a6-5755fe99db79}:1.0", + "{acfce300-f983-4d14-a041-b7539f8b54e8}:1.0", + "{305dd6d2-d09c-4f6e-bf06-3d61f7f36556}:1.0", + "{066ca8c4-eee5-4306-8e15-10b51dbc3c42}:1.0", + "{c84ef4e9-5a69-401c-9baa-eb621d080d98}:1.0", + "{47030dfa-3657-468d-a637-8461052d460e}:1.0", + "{64d998a1-d76b-481f-9bf8-58773269a116}:1.0", + "{05b54f2b-fcee-4045-8b2d-9150e1f21e67}:1.0", + "{bfcb65fb-e5d7-4f2d-b053-f3eb590a8059}:1.0", + "wai_aria_landmarks_checker_extension@gmail.com:1.0", + "open_graph_protocol_injector_extension@gmail.com:1.0", + "{938b3469-85da-4420-89f8-cc8b8d5695af}:1.3", + "{6ef8aee6-b063-444a-8151-8420bb4ac408}:1.2", + "{7b6d742e-11a4-4246-bc1a-8e16415c0209}:2.2", + "{89b421a1-066f-4ae0-95c3-7a365312d477}:1.0", + "{a45a2c08-54da-4f4b-bfca-e6c6b23c4371}:1.0", + "{cd223078-84e7-434d-bfa5-4359976e10d1}:1.0", + "{d84c969c-11f0-476a-aa99-95bd377eb904}:1.0", + "{6fc8e9d3-1929-4992-80fb-b5439c5a8a54}:1.0", + "{33472fcb-912b-4484-aae3-6196f30086d3}:1.0", + "{b3b2cd61-4bbf-4b45-af54-a4e23c794fa9}:1.0", + "{161e2513-2548-4203-9187-9eabc248de87}:1.0", + "{a62c9fcb-4e83-4ac5-b7b2-9f6bc9efea0d}:1.0", + "{46980f80-545c-4970-a3bc-f65cc96dae66}:1.0.2.1", + "{13cc90a1-0bd3-4f1c-a505-a177b99efaff}:1.0.0", + "{df44832c-c75b-4a57-8467-2ecb4f0232a1}:1.4.2", + "{6351596f-1e89-4d10-ab15-e84fda02f55c}:1.0", + "{cee4d527-445c-4cf3-b0c9-ce3e0b634dbf}:1.0", + "{22b2ef53-7e87-4ea5-a4ae-432543286745}:1.0", + "{2464c2b8-6550-4710-9dd9-6b858df8d70d}:1.0", + "{c625f78c-1e0d-49e5-8e09-3f5d442f896d}:1.0", + "{f85db48f-92b8-4e39-9306-53e20c53f7b2}:1.0.0.7", + "{57418ece-4fd6-4ca7-9a95-f7d6915b429d}:1.0.0.7", + "{dcb4e33e-239f-4606-834c-cc71983d67c2}:1.4.3", + "{9d87f3d3-c8f2-4dac-8a1c-9cdd007ae45a}:1.1", + "{def8daca-e814-40f1-8f18-ceaf6fa862da}:4.2", + "{07bb6b81-c1ed-459c-95b5-06b88e2bd2ec}:1.2.3", + "{c645cd1e-b5e2-4d82-aba2-4ec7f230d50f}:1.0", + "{874b72c5-43ec-4e07-a724-4281029fda02}:2.0", + "{0e113344-b10c-4b11-9814-fbbab9ba80a6}:2.0", + "{474e0b1b-722a-4c03-99fa-19c3ee75b5e5}:2.0", + "{ea0695cb-ae86-42a3-b047-4a31fe8ac810}:2.0", + "{6e6a4d74-504a-4b9e-83b1-9e333dd69fcd}:2.0", + "{2cbae9f3-ba29-40ff-8b75-ebb6b57405a6}:1.0", + "{4a92a95b-c376-41ba-9cd4-f0738f841c2a}:1.0", + "{3d705843-8e4b-4f49-a3ac-25e723bd62c7}:1.0", + "{6263d184-6064-4751-8f66-87bed5289e13}:1.0", + "{41e6c2de-9c04-49f9-ad90-11d671ef5ffa}:1.0", + "{1c034f89-0c20-4697-bafb-9ab640ff21f3}:1.0", + "{e26cafd0-578c-49ab-aad5-5fbde5cfc3db}:1.0", + "{7f675737-66f0-498d-98ba-e199b55fd167}:1.0", + "{dc8e4b6c-7ea2-4175-b16a-5e288d79f148}:1.0", + "{a3bdd257-f3cf-4d44-8f52-6d23942fe36e}:1.0", + "{358337d5-84e9-4f97-95b5-3fdf95905609}:1.0", + "xssfiller@your_domain.cn:1.0.0", + "{b7374412-a214-4402-93e2-eb1a810ccd08}:1.0", + "{ab656620-5953-4859-8129-afa7d976d7fb}:1.0", + "{c7e77064-d979-4807-aa8e-68cc5ef56a5f}:1.0", + "{eba94368-658d-40e1-84ff-f12ae63eee14}:1.0", + "{09715b52-0f28-4f17-a117-69e37a14c0c5}:0.1.1", + "javascript_lint_checker_extension@gmail.com:1.0", + "{9c1a4bfd-d4ad-467b-877d-eb00f517768f}:1.0", + "{fa1a319b-a4ca-4c78-8b02-c13ed6a53887}:1.0", + "{61f73890-6d03-45de-b13e-1965e6384147}:1.0", + "{84f83dfc-8f61-4922-bc56-32db31239883}:1.0", + "{f0b308a7-d957-49e0-9ebd-effd0ee5439a}:1.0", + "{a617e4fe-edac-43b8-a67e-5ef505fbb9d9}:1.0", + "{c228d908-7ddf-4e44-ac59-886e0f31d213}:1.0", + "{46618177-ee02-4387-ad4d-6316b87b717a}:1.0.1", + "{b17ada91-ad67-4d9a-876c-dc234fb54852}:4.0.0", + "{706fda18-ebeb-4af4-bd7d-18636ba9f6f4}:11.0.0", + "popup-tab@eight16.blogspot.com:0.3.1", + "{e707dfea-88d1-407e-9610-f0ff731d0e86}:1.0", + "{4a60be0b-ce73-489e-a6e8-62efdb6368c9}:2.0", + "{ad4b5fca-ae73-4c32-a76c-fc4bf6a4737f}:2.0", + "{a6ee7630-9f83-48ee-9d6c-336d839643f7}:1.0", + "{89827127-c9e1-4367-adc5-aedabad6d949}:1.0", + "{abec9df3-04ce-435a-b4b3-70fdf7a294e9}:1.0", + "{14c3498d-3e91-4e91-8234-6e6dbb5f31ab}:2.0", + "{b92716c8-fa46-43f0-9cb2-8777ea1a5f5b}:2.12.0", + "{0a7689d2-4e56-4097-87d3-707a15aefe93}:2.11.7", + "{49aa8e5f-f9d6-4556-a981-123b048e8636}:1.4", + "{49aa8e5f-f9d6-4556-a881-110b048e8636}:1.4", + "{ca3ded4b-50a2-4cd6-972d-7739059e7405}:1.0", + "{16dec8d2-5cc3-40a8-b7aa-054aadce4153}:1.0", + "{65f1ae1d-d18b-44f6-887d-ee1c06baea7e}:11.0.0", + "popup-tab@eight11.blogspot.com:0.3.1", + "{d4f180c7-a8d6-4c32-8a89-8df094f1f19b}:2.11.7", + "{f6c0af71-6871-43a2-9dd5-199f2810c1a0}:1.0", + "{a914a123-c580-4275-92e6-634e4b2ef053}:1.0", + "{77456086-83f4-401e-b9b5-5ca308d4e6e5}:11.0.0", + "{c3ed3de5-bdce-4d7e-b698-9599c0abe2c3}:0.9.3", + "{8d115245-d2ca-48ca-8c19-12ccd8888f4a}:1.0", + "{9bb27cc9-8710-4dac-97eb-3e13ec5b5a67}:1.0.6", + "joao.buchholz52@gmail.com:1.4", + "{836142c4-c38e-4dec-a291-878723443186}:4.0.0", + "{b11b94b7-f5cc-403b-a04c-ee82e9d886b0}:1.0", + "{324da91c-cc53-41f4-ba29-9670c0c36524}:1.0", + "{0dc09725-03da-4023-95d4-f9b1f57d4bff}:1.6", + "{296ae9dd-d66f-497e-bc48-81db1a4086c5}:11.0.0", + "{531906d3-e22f-4a6c-a102-7167b88a1a63}:1.22.44", + "{fec86070-0bb0-43e8-a0ff-0ee23254a3aa}:3.2.5", + "{00bca2fe-6d6e-4342-8ad1-9a628a0ae159}:1.9.6", + "{15d85ad3-263a-445f-9670-2aabf8b70ec6}:2.2.7", + "{4ad80c8e-658a-4331-87c5-3e859c7d32a4}:4.4.5", + "{b0407ee4-2ff5-40f8-a36b-167df82ab74e}:1.6.1", + "{239c01ca-86cd-4eff-aaa4-1f804b78416a}:1.0.0", + "{a942f36b-f801-4e15-9255-61403d4990cb}:1.4.1", + "{b56b69b7-8326-4379-b036-ae0ad53b9275}:2.0", + "{6c30236b-6dc0-42cd-b3f3-17abfb0894a0}:1.7", + "{cbcdd771-fd4d-4826-b266-c0677ac144fa}:1.0", + "{15bb5488-1d0d-4c39-b737-59431a41132a}:1.0", + "{9ceb12ba-9619-48cd-866b-42179a0e0748}:1.0.0", + "{9cf0ae5d-2138-43c2-aa0b-116ea317da30}:0.3.0", + "{c5a20e0a-2d89-4d1c-a193-aa69fc3097f2}:1.7", + "{7b30b584-eac0-4c30-8526-e7ee1517bd29}:1.0", + "{6b758107-2a35-4133-a4b0-20b2d87ef601}:3.1", + "{b0f5aeb6-7231-4ab9-8c31-1d180a004618}:0.0.6", + "{d972a261-93a4-4267-93b0-706911997aaa}:0.8.0", + "{b54325b7-1311-4c56-b80c-be22608dd243}:1.3.19", + "{924d521e-233e-4fd5-90bc-5ac1a9909aa2}:1.4", + "{47b2ed84-c9e4-4d30-8282-43d9a5cde4d5}:0.1.2", + "{79287d26-535b-48ea-92f9-f91da6feba67}:3.1.1", + "{b87aa4c1-55b7-4a05-bd18-e957772abf15}:1.3", + "{e2c1078d-654c-4e3d-a616-595a8f24c0a4}:0.7", + "{58098109-5f09-49a9-89b4-1e13d8d11c68}:0.0.1", + "{0293adb1-e193-4eb8-97bd-664129c79259}:1.1.4", + "{f1a53185-21c9-4975-9fc1-93f044a67eab}:0.4.9", + "{2e90bf1b-9880-4dda-bd0a-fec5e7adfc92}:0.0.1", + "{bb55c22f-ee70-409d-af26-e218bb6e25c6}:0.0.0.12", + "{2b6cc302-ac5b-47f8-986c-ea8ebe1bf068}:0.1.3", + "{c4163293-b368-44b1-90bb-084534c4b55c}:1.6.1", + "{2ccb13f1-4188-4140-a3d3-1d7fff14da47}:1.0", + "{14a0663e-b050-4170-8b38-f9e1fdb66e1c}:0.9.2", + "{2d46154b-f412-4635-af54-003d11a4f9bd}:1.1", + "{f3b3ae87-643b-43b5-abef-e4f24be643f3}:0.1.0", + "{f092e45f-1c92-49b9-aa74-2d8dd8688a58}:0.1", + "{11df577b-14da-4a44-8414-0f4320448d7f}:1.1", + "{ce1ae512-942d-45a7-9248-ba52cbbc50dd}:1.0", + "{6bf89f99-d19e-4e53-b048-37728dbd57a1}:1.0", + "{e5821d34-15d9-462e-8de1-508b57dbb8af}:0.1", + "{de9cb030-1e4b-4a20-98bf-313fdade2e6e}:1.1", + "{8cce9c88-6b96-4ff3-a243-27567dfa887f}:1.0", + "{00a2c228-5437-4482-96f9-34b403b3e4e5}:1.0", + "{1051bd68-32a3-4bfe-be6e-79fc1d21cdd5}:0.1", + "{9002740b-b1c6-41c9-a0ea-b75b7a8783ef}:1.1", + "{30c6887b-2279-4aef-b7c1-ce7673533925}:1.0", + "{0102b6b6-628d-4993-8ff7-d2dd8912c0aa}:1.0", + "{bf848dfb-add1-49ff-8c5c-8d2827ca0fa3}:1.0", + "{26ffa806-451d-499b-8f82-88d17a15227c}:1.0", + "{37890641-e66f-400d-88cd-e759e8f6fd6c}:1.0", + "{f374fd72-bf90-4a66-8105-49e400b9e644}:0.1.3", + "{bd6462eb-55c0-4413-a032-c33ea7e5072e}:1.0", + "{a509d5d9-0fc4-4d97-8c67-eeb8fc8430d6}:1.0", + "{e611cb3b-0eb3-48d0-81be-4db7831641cc}:2.11.7", + "{248b649c-e8bc-4846-854e-4486c33c750e}:1.3.19", + "{0e31c352-d73f-4f1f-a537-27698a14f1a1}:1.0", + "{f884a170-6571-4358-b18e-e4ffe9dba56c}:1.0.6", + "{b0f6c9ca-b8d0-4048-8fc1-2cd5c4d75f89}:2.12.0", + "{961dcfa2-8a24-4ed1-93d7-3dad7d9cb2e0}:1.0", + "{bce5b994-0dab-451a-b0b2-06bf9b5bd043}:1.3.19", + "{464eca3b-0166-4acc-a0c9-2f302bff98dd}:1.0", + "{5ed8dc75-5d6b-4e23-ad57-9b6f7a9f8782}:1.0", + "{4e1c1ec0-bf87-4aa2-a039-641d9f9445d8}:2.11.7", + "displayelementinfo@gmail.com:1.0", + "{309a53c0-8854-410c-8c4d-2dd00cc5210f}:2.9.7", + "{e3d9c028-7ed8-4083-8b42-9fc6c505b70f}:1.9.8", + "{9ebe65f1-ec90-45e9-bb30-32adfc80f567}:2.9.5", + "{7e6f9857-7e8b-4b66-a9f4-5240fdeb7ce8}:2.3.4", + "{2d82c23a-5bc9-4cf9-908d-a8e42aee210b}:1.0", + "{bed6daff-1765-48fb-95bc-8ce4d0a5c378}:1.5.1", + "{b5cb4942-df19-4345-b995-df637b14fab3}:2.1.0", + "{805f00e5-bbd8-48a7-92b3-115f3c160dd7}:1.0.1", + "{1a7409cc-b80f-403b-b24e-b9c9fc6fbf72}:2.2", + "{a44557b9-0a5c-40d8-ac36-4014763b6f58}:0.8.1", + "{c2ef7f18-89d0-4003-a9ef-f990edef26dd}:1.0.1", + "{39b24e1e-0df0-4a0e-b873-1bbbb08fa38e}:0.8.1", + "{0ef2bc52-bbdc-4f65-9991-400ac8405c16}:2.2", + "{13a3e31e-9dfe-40c6-be7a-e02fe288a7eb}:1.0", + "{c4059ca4-39ef-4ee9-82f7-696a45098029}:1.0.6", + "{ec31234f-7ce9-4be4-8f1f-c0b6ccd4dc33}:1.0", + "{32dabe5e-3fec-4c1f-be4d-a07c513d00b6}:1.0", + "{c6dfd1fa-f9d2-4b17-89d9-29f982e4f32a}:2.2", + "{3e46c697-9473-4ae2-bb6d-880e3b304588}:1.0", + "{fefe58f3-9721-4a72-bdd7-a86a83b00b5c}:1.0.2", + "{02f45d2f-f578-495a-b9e6-7a5383d7685c}:1.5.1", + "{a4a419e9-6b49-490a-a1fe-8f4b23e4e2d0}:0.3.4", + "{7ea086e1-34ba-468f-b394-34986012821b}:2.12.0", + "{d305300b-2625-4501-a350-cbe625a55c4c}:1.3.19", + "{7606b245-48b2-4d2a-ae0b-a7df6d8a3d16}:1.9", + "{608e2aea-41c8-46b3-a713-a4a502204ef5}:1.5.1", + "hoangnh11@f88.vn:1.0.0", + "hoangnh11@f88.vn:1.1.0", + "hoangnh11@f88.vn:1.1.1", + "{d18f09bf-74ad-4ffe-8d08-66831df1e106}:1.0", + "{98e0ce72-f59a-4ee8-986a-d321e2a38b17}:1.0", + "{0c1fa23f-4f8c-47a3-adaa-bde5ba0366a2}:1.5.1", + "jid1-WF1v8esuNM9pRg24@jetpack:1.1.2", + "d035aec14c44d78b62659bace07f3568cff5bdb6@example.org:1.0", + "{4db11336-8e28-4f4c-881d-3da2673583e0}:1.5.1", + "{0366594f-f2f4-466e-8743-d9e5f72b5f9d}:1.3.19", + "{7917c4c9-c063-437a-9d29-16dc968789ff}:1.0.4.4", + "{480d513b-113b-4d24-8ebc-8f4da4ee6c04}:2.12.0", + "btn-to-bam@example.com:1.0", + "{2f4bd5c9-c03e-4a2f-b2b8-996794c80731}:1.0", + "{e708c001-68b1-469c-939c-e61a4b1e1377}:1.0", + "{69a7be76-e4d1-480c-b55a-d38b149f1d3c}:1.0.5", + "{5cad0a29-f36a-4fcd-b9fc-1016546326d9}:1.5.1", + "joao.buchholz23@gmail.com:1.4", + "{eff8a7c9-930b-4e1c-8fd4-38f01d41019f}:1.3.19", + "gtq-to-hkd@example.com:1.0", + "{91bb505c-6e90-4e76-aaee-a8ed61fd1b46}:1.5.1", + "eur-to-fkp@example.com:1.0", + "{d4f37ea1-c22f-4efe-869f-2fa4945f7990}:2.11.7", + "{da762788-3172-42ac-8fdc-6021a7758a24}:1.0", + "{b1edb95a-8c4d-11ee-b9d1-0242ac120002}:1.0", + "{1e35e542-d981-474e-8bd7-9a6539638745}:169456994", + "{ed476e26-df95-4d70-9026-86f1934e7729}:170085321", + "{a59d4b1c-5e60-451e-929c-9f6abffc1db4}:4.0.0", + "{9942c0f3-cf2a-4550-82e1-4a415000dc44}:2.12.0", + "{5a332a9f-3324-45cd-a3d9-9241d1bcf217}:1.0.6", + "{5aa6e084-8821-11ee-b9d1-0242ac120002}:1.0", + "{8e56e542-d981-474e-8bd7-9a6532622986}:169456994", + "{965d2bf5-d57d-47af-a458-4f707453c946}:169965603", + "{2b70730f-b182-4831-9d5f-98d9caa7a10b}:1.0", + "{2fe40e7a-823c-11ee-b962-0242ac120002}:1", + "{6d65a266-d573-132e-1bd7-9a6573216472}:1.0", + "{16fcbf26-19c3-42f4-a75e-3e3c0c1689e7}:1.0.6", + "{6e78a282-d923-172e-1bd6-9b6543214432}:1.0", + "{63f4644d-c871-4e92-8e4e-20ceb99185ce}:2.12.0", + "{6b55b252-b553-152a-1bd5-9a6543255435}:1.0", + "{6a77b267-c573-732d-1ad7-9b6773216488}:1.0", + "{7e71a13c-6027-4aa0-a138-5fd88b82563d}:1.0.5", + "{6a65b232-d523-188e-2ae8-9b6543886432}:1.0", + "{6e68e268-d523-182e-1bd8-9a6583218938}:1.0", + "{6e59e281-d434-932e-3bd4-9a7448993478}:1.0", + "{6782daba-8109-47da-9aa6-40c05587a3ad}:1.0.6", + "{6e37e092-d213-922e-2bd7-9a8218998432}:1.0", + "{6e37e362-d543-142e-1bd7-9a6218766432}:1.0", + "{6e37e542-d981-474e-8bd7-9a6532622123}:169456994", + "{6e37e542-d981-474e-8bd7-9a6532622060}:169456994", + "{00e9c1ab-ce4c-4581-86d4-a22f0f155632}:1.3.19", + "{6e34e242-d981-474e-8bd7-9a6532634322}:1.0", + "{9e3fc7b6-c883-4964-876f-e2d9415bb7f9}:1.7", + "{0a085bb0-6265-46fd-98e5-ecc1b59c521b}:4.0.0", + "{1a37e642-e991-354e-8bd7-786532622562}:169456995", + "{75b9e443-2884-43ca-9289-21fa8adf5865}:2.1", + "{9d16248f-0449-4859-86e2-9f0946422ffb}:1", + "{f2b2e562-66e2-4089-beda-b4f37d02af5d}:1.2", + "{01b0c1d2-d3a1-49ed-b229-6eaa19013b63}:1.3", + "{d5f8924a-c72d-4b49-a368-b7d6c483215c}:1.3", + "{ce026add-0838-467e-ad1d-780b8460c09a}:2.5", + "{b8e73d9b-8a60-4385-b760-0c72b71e5f20}:1.3", + "{f1396de4-6fa0-4acc-bea3-26170206cb63}:1.8", + "{8c2a1ce1-79f0-4888-b391-bcee7549e988}:1.0.3", + "{d6eefad5-45b8-40aa-b1bc-d0b1520f8483}:2.6", + "{13da688d-4b50-43f8-9bd4-dc9fa7792274}:1.8", + "{c8936752-f806-4591-9e8a-38d2864d6ddb}:1.68", + "{d9f53b31-3f4d-42e5-8704-aaa2db5bd9b2}:1.9", + "{e8cb0313-6be7-46a3-8111-0e7ef399e3db}:2.4", + "{e4d8a085-4716-47c1-8552-db4bf962a818}:1.67", + "{8ba279de-baef-45f6-9193-bc4cf61e004b}:0.8", + "{d81d32ee-b50b-4b49-b030-668ab990f2fe}:1.7", + "{00ccf921-d1cb-4b11-94cb-c61dc36339e6}:2.3.1", + "{8568c573-4393-4f61-9c80-a711bf34e95f}:1.3", + "{84797e90-0ed2-4d06-97ca-e4f3c7c0a9a7}:1.0", + "{b9ca1d19-2e1e-46cb-b0e6-96eab4303f52}:1.0", + "{55f7dffd-928c-4c55-ba4b-a6e0e4db5e77}:0.6", + "pressure-unit-converter@example.com:1.0", + "{fd560fd8-fb5e-4a53-bb30-5e6477118513}:0.0.4", + "{e408a065-66bf-40d0-8739-73a14928fbe2}:1.2", + "{a90b4392-0461-45eb-b693-956362c42b81}:1.0", + "{38e542f3-d899-4cab-a605-200566758f40}:1.1", + "{a24b8846-3b79-48d0-87fb-24e21417d3d4}:2.0.0", + "{c7daf2e3-a8f6-4b59-91ce-ae3e6412520e}:1.0", + "{ab3d417f-e409-4c41-a3a6-602c8d8a8116}:1.0", + "{74bc2aca-1b3e-438a-923f-f0cf2dea25c9}:1.0", + "{8ad73e50-40aa-4ea3-921a-ebf87a1cb11f}:1.2", + "{2db5bb0a-ff0e-4e33-a5b6-41d497a1ad47}:1.10", + "{b4ba9b3d-3586-4176-8959-518384b5e0fa}:1.0", + "{ae8cdd03-2ecf-492a-9e24-9cb503d60765}:1.0", + "{e4d7c1b7-18c3-4adc-b0a4-c606ad8bf21f}:1.2", + "{9a1fced8-a727-432e-9e4d-be2c1d72e8c2}:1.1.5", + "{93b0e509-12d3-4812-8e11-98cd76c12f2a}:0.62", + "{4f945c04-bda0-4143-b301-037ca98f0412}:2.7", + "{fe3f73b2-d427-4f15-9411-977f3a35f898}:1.0", + "Code88RDWA@code88.asia:1.0", + "Luffbebattles@gmail.com:1.0", + "Luffbevaluesyg@gmail.com:1.0", + "{55ee08a6-eb44-4911-9c88-1f743fa811ad}:1.0", + "{56279366-c6b9-447f-a528-8a7be45126cb}:1.7", + "ff88-test@antigravity.ai:1.0.0", + "calmlightwash@example.com:1.0", + "net88brcom@amo:1.0", + "gem88gbnet@amo:1.0", + "88vvtv@amo:1.0", + "nhacaiuu88ch@amo:1.0", + "win678locker@amo:1.0", + "tv88.uk.net@addon.local:1.0.0", + "tg88cocom@addon.local:1.0.0", + "tg88.ad@addon.local:1.0.2", + "slot365world@addons.mozilla.org:1.0.0", + "qq88-utility-v101@local:1.0.1", + "hm88ad@addons.mozilla.org:1.0.0", + "39jpnet@addons.mozilla.org:1.0.0", + "c404dbb2b6473c0be5e00d8cd3cab54bcea2e30e@extension.com:1.0.0", + "94b2e60f8d194b47d38e449924012de123a007b1@extension.com:1.0.0", + "{eb035910-31e2-44c6-9f54-70cbbafa1faa}:1.6.1", + "{02835a38-78da-44b3-89e4-7b6fd8dd269e}:1.6.1", + "{4f800790-00e1-4e63-bb8b-349d6eb5d0c2}:2.2.6", + "speedfill@example.com:1.0", + "extracto@example.com:1.0.0", + "auto12-theme@example.com:1.0", + "auto11-theme@example.com:1.0", + "auto9-theme@example.com:1.0", + "{8d9178cc-e6ec-4bf4-aea1-de3665dc4b29}:2.2.50", + "@djn-rtbl-tvao-bfr-xjx99x:1.0", + "{805adda0-6817-40ab-ae44-cabf01478ea6}:2.2.2", + "{db944808-b0b8-4741-adc2-2b02962d98a9}:0.0.3", + "{2005a4ba-f36b-405e-90e0-d0d3162deda5}:1.0.38", + "{9b2a45d7-8c1f-41e0-97de-2d3cfb8a624f}:1.3", + "{c17e3b94-6a42-4ef9-b1d8-5f84a6c9e3bb}:1.3", + "{f83b6e24-1b5d-4d97-bc3a-0c7af2d68a22}:1.3", + "{a4d19f52-7c8e-49f3-91ab-8e2c5c7349d0}:1.3", + "focus-mode-6cfba09e-3c03-42d7-8bf4-7efd02a5a5ad@example.com:1.0.0", + "{7e6245dc-7038-4e3e-9489-9e57e0c2bee2}:2.0.0", + "{3c2a2b7e-7b77-4f19-9669-5f3b6d9a8cbf}:1.0.0", + "leader@teamseo4.com:1.0", + "{6725b0a5-7791-46a9-9225-6eb6c2a91d88}:1.0.7", + "{315ae94d-e248-4049-a56e-92bb6385bb35}:1.6.1", + "{065c035b-c209-4bc0-b4d8-c9c5c4589ab8}:1.0.3", + "{a4c4b6f0-8db7-4dfe-b11d-8e9ed0cd237c}:0.2", + "{de353dce-ebf7-4f04-97bd-2ce5c42f2baf}:1.1.1", + "{7d134911-f49d-478c-b219-7072c64b8307}:1.1", + "{2d947ce0-c829-4aed-9390-a4500d0646eb}:1.0.7", + "selected-text-searcher1@gmail.com:1.48", + "{4fa09439-98a0-4ae5-8d1c-fa03d5b54a1c}:1.0", + "{17e8b3e1-c1c0-4ca5-a4bf-0dcc5b9d3720}:1.0", + "{dcdc61ec-eb24-4d8f-81f9-fd8c68d5e36d}:1.0", + "{aada0733-558e-4e1f-b7dd-22e04806f988}:1.0", + "auto-skip-ads@example.com:1.0", + "{dc15b9c4-5eac-4f1e-9a5d-6f2a3017330b}:1.0", + "{49ea7db6-44e1-4a2c-b437-83fa6f58d306}:1.0", + "{0945bd93-1796-433c-96e7-e238c383c5bf}:1.0", + "{4e307f2d-356f-44a2-b688-fd7c7e860451}:1.0", + "{e0819392-1e3f-48ad-97b0-af04238dca31}:1.0", + "{ad818b36-de31-420c-b59c-a50fbd49fc7a}:1.0", + "{25f2c911-49a7-4e6c-aa20-730be9abfc21}:1.0", + "{24387e12-8dca-41b4-aa9b-6bb4cb35a41b}:1.0", + "blue-light-filter-3bf65041@example.com:1.0", + "{918459a1-9fce-4848-8bfc-b02f0fe15b28}:1.0", + "{e3234364-9d28-44ac-958e-738695831a20}:1.0", + "{ee52ade9-f2e8-4ff9-8a0e-41e568ff1eb4}:1.2.0", + "{87e88f32-e687-4ea0-9e5b-cdefcc26b960}:1.0", + "{18096907-d978-4c66-942d-062ad5ee8b1f}:1.0", + "madhurwandlingeh4182@gmail.com:1.0", + "{ef408a18-5656-4a55-9173-acd68d22406a}:1.0.1", + "uv-index-monitor@example.com:1.0", + "codecompare-pro@example.com:1.0", + "{ad241beb-8f5f-4fa2-81f7-b7be9beef3d5}:1.0", + "{a3786739-df1a-4c01-860b-a92bbf44fae6}:1.0", + "{533e5505-128c-4233-a100-2a56131cc703}:1.0", + "{f2cc376b-8777-478d-a6c2-7b2a48c8cd84}:1.0", + "{f068dc07-efa3-4964-bdc6-928cfccec5cf}:1.0", + "{d57445f8-aee7-4d70-835d-7caf716c6244}:1.0", + "89ccb8f2d20690ebc649a53a94be14a6766d8297@example.org:1.0", + "{99913c7d-10ae-4394-a012-0406f7e745e4}:1.0", + "{93702215-4d5c-483c-bbe7-b37910065dd0}:0.0.2", + "{2209e5fd-a96c-4931-908e-b024be55acb9}:0.10.46", + "{89f63079-c300-4d9e-ab9e-2196d353e2c5}:1.0.1", + "{ee5268c9-a0ee-439b-920a-1684df6b9ac3}:2.67", + "{1ca2462f-e8d8-440b-a549-895ef0e5aa2d}:1.2.6", + "{12c6de1c-97b7-43d3-bee3-fe8e54dd9b0b}:1.0.8", + "external-links-display@example.com:1.0", + "{c9d4733e-e146-4b56-b2f2-f4d9c0fc753b}:2.5", + "{a25fb594-9d4b-44be-a239-1ac46295c0b4}:1.5", + "xpf-to-gmd@example.com:1.0", + "{b8c5b38f-650f-49e8-bd34-2cb1640b3652}:1.8", + "{7100a260-5d0a-475b-990c-f2662ec558f2}:2.8", + "{d0bea0f8-b3d1-4729-bb23-8acab196be4b}:1.5.1", + "lsl-to-aud@example.com:1.0", + "jid1-WF1v8esuNM9pRg6@jetpack:1.1.2", + "{c899cf06-fbd9-4590-a278-a5171df4595b}:1.3.19", + "consulta_estado@virtualit.cl:1.0.0", + "consulta_estado@virtualit.cl:1.0.1", + "consulta_estado@virtualit.cl:1.0.2", + "consulta_estado@virtualit.cl:1.1.0", + "consulta_estado@virtualit.cl:1.1.1", + "f88@virtualit.cl:1.0.0", + "f88@virtualit.cl:1.0.1", + "f88@virtualit.cl:1.0.2", + "dreams.imagination.quotes@example.com:1.0.0", + "peace.mindfulness.quotes@example.com:1.0.0", + "linksaver-amo@rggerg:1.0.1", + "tab-highlighter-lite-e07e34877624@example.com:1.0.0", + "{1167b2ef-f1b4-4cc2-902b-0a6078066cfc}:1.0.3", + "{ca8d06b5-fba2-40d8-89d4-c272bf440963}:1.0", + "keonhacaibeer@example.com:1.0.0", + "keonhacai@example.com:1.0.0", + "highlight-it@example.com:1.0.0", + "love-crush-captions@example.com:1.0.0", + "{b8e42d77-96d3-49f2-8f0b-5c1c7d8a2a33}:1.1.1", + "{d9f82c31-7e1b-4c2f-8d67-2a65b7b93f11}:1.3", + "{a47c2e6b-3b89-45f6-b2c4-7f02b5e49d8f}:1.0.1", + "{e12a7c45-5f4c-4789-9a91-6df23a17b2d3}:1.3", + "{d4f7a2c3-81e4-4e67-b09a-12f3c8e5a7b2}:1.0.1", + "{a9fb2b82-402b-469a-9201-5ea67cb69afe}:1.0.1", + "{b2150a90-3f9d-4c12-a2c2-e7ebbf507a35}:1.3", + "{b801d5ed-8d59-4788-aad3-4f91712a36c2}:1.0", + "{177e08ce-ff03-4f42-b041-107b828fcc75}:1.3", + "{5e2f8a11-63a7-49be-9121-0d49f8dba6a3}:1.0.1", + "{d905ca8c-fb54-4caf-8e7a-0cb3cf7ea7f5}:2.2.1", + "{0e44ddd8-7f4a-424e-a399-cfb81b23ca8c}:2.0", + "{33aabb91-4002-45ca-b938-b6b1fb5cc2e1}:1.0", + "{18c25d85-aab3-481f-893c-cd8b31447f39}:1.5.27.2", + "{8ff978dd-78b8-4072-be3c-3a7cd75e9203}:1.1.0", + "{4ce11d24-b27a-4dc9-9249-2b47f01e7fc1}:7.3.18", + "{efaae496-b2f6-45af-bfb9-7088856e4659}:1.0", + "{44e89138-29fc-4014-8aa4-3d96cdf0a58a}:1.0.1", + "{cbda1a32-2fdd-43aa-b1c9-cf843ffc026a}:1.0.0", + "{a971fc3c-8706-4346-867b-6817700ed3cc}:1.0.38", + "{147ac1cc-300f-4091-8945-fa3bee23b604}:1.1", + "{f3495a13-bce7-4b94-ac21-da3680e01d96}:0.2", + "{b4e93589-446f-41f6-a8fa-bc5aaae5beca}:7.3.9", + "{c28526d2-abca-46f2-a66c-26a2dcfb50e0}:2.3.1", + "{6a1d88bd-81df-4d04-8614-91c923b7a54a}:1.0.9", + "{2ff6660a-f558-47cb-9b22-5d21c7007f75}:0.1.1", + "{8ce3e5cf-a69c-46c5-a953-8112844ba6d0}:1.0", + "{c8ce04c1-dfad-4a63-8192-07d65ee91786}:1.0.10", + "{cd6bab01-e2f1-43f4-852e-b12f8e462757}:1.23.211", + "{fbfa69d3-eee5-4e2e-b786-9ef9dc3558b9}:1.0", + "{47022c8b-4604-45d0-b2cc-12eee82fc8d3}:0.1.0", + "{e69e541b-06c8-4dda-965e-15502fb54102}:1.0", + "{7abb4202-c47c-4cf7-baf3-d5001dbece1b}:1.0", + "{459a533f-e8cc-4e12-b64f-39f41126e9ad}:1.0", + "{c68b1c83-01e4-4d81-ad2e-7895a5271b88}:1.0", + "{79e1982a-2632-46c7-abd6-a096cb443984}:1.0", + "{84ac667d-f743-482e-9036-662ae931557a}:1.0", + "{aab95773-7f68-49e9-b701-7560df5bfa4e}:1.0.2", + "{0122a8ec-b0c4-436a-8d56-1aee7879c4bd}:1.0", + "{f2969e35-9650-4514-b59a-50cf4b7af71a}:1.0", + "{fa6d6b6a-e053-433a-905c-1a797a48da41}:1.0", + "{3a631b5e-e688-4670-9c02-8d7a84e8751e}:1.0", + "{5870db1a-9bc2-4700-b887-edf8869b9526}:1.0", + "{78b397db-e076-4b04-9483-80f1cfc9b97d}:1.0", + "{cc5657cf-fee0-4757-8f9b-cb3ed9a8050a}:1.0", + "{0138655f-0069-42e5-bf84-4f04be2ec8ba}:1.0", + "deal-notifier@example.com:1.0", + "{a40f82d6-95d6-4d27-80e7-a44e560a7d58}:1.0", + "{31f929e3-506a-4add-a723-fdc8bcae6f51}:1.0", + "{0b2585c3-0aa0-4be4-95a2-69a1b4146277}:1.0", + "{53c489aa-1a18-4edd-a13e-e20a3f27df2e}:1.0", + "{59d49721-6485-4378-9d47-ce5b2d4f367e}:1.0", + "{4696eb18-d867-43d4-a1ed-94615cd5cd0b}:1.0", + "{637353dc-9bcb-4bd9-bd74-e982e935086d}:1.0", + "{6e7c1813-f5d7-48a2-8c2e-396bd4660410}:1.0.1", + "lyndelljaquetsu2729@gmail.com:2.6", + "{faa6c2c0-8ca4-4436-8c53-e4ca8591ee3b}:1.0", + "{38c13f1d-e6c8-48ff-ad85-0bbdf51db591}:21.3.7", + "{9c4e9ebe-f890-4ffd-8c2c-e391c53e9819}:1.0", + "{88d919f9-6a0f-4771-89d3-4f2b06bbee40}:1.0", + "{875e5517-e620-43c7-a80c-383489f8213b}:1.0", + "{94ebc312-1594-4ec1-b484-0febf18f29bf}:2.4.1", + "{7857e7d9-da09-4f57-b3dc-05e8865fae72}:1.1.0", + "{7540d464-dd92-41e1-bf34-9b1f57c2651b}:1.1.0", + "{5e0c2665-51c9-4ceb-bea7-fd1b254dbd1f}:1.0", + "{74016254-56e6-4f46-882e-bb28956a1b21}:1.0", + "{f46daf08-ca75-479a-9425-3fe57307f38b}:1.0", + "{cac6d6a0-df87-4a32-b844-b964e319de5b}:1.0", + "{6839a2bf-180f-4b1c-a392-766dd6c8d5b3}:1.0", + "{4a4d302f-63c8-4675-9f0f-ad59fb72d5cb}:1.0", + "{a508c44e-96c4-49d0-9939-f7ec7320383a}:1.0", + "{a629b14a-a9d6-445c-9b4e-75087a5b4afe}:1.0", + "{1acff1ee-a00f-4a02-a661-45a87c34c788}:1.0", + "{e2a1e50d-0ab9-44ab-ac93-742c31a25e8d}:1.0", + "{4e88a0c8-2513-470d-80b2-9ad82e2c17d1}:1.0", + "{8415bab5-0edd-4993-a37b-337274273f33}:1.0", + "{c790de4e-d830-472b-99d1-f94b37e85972}:1.0", + "{4209ad3b-2e91-494c-8c9c-c0e14a72ba2e}:1.0", + "{f2b39faa-213a-4677-a827-db10f639ca42}:1.0", + "{2e4f04b9-a6bc-4a2c-9351-8eaf56e9c99d}:1.0", + "{24d019be-4c31-4596-99a4-4c91ecc7ac4e}:0.10", + "{a33b9503-5c05-43bd-be27-2f4a90bab10a}:1.0", + "{a72c1645-f61b-4812-868d-e991734bf0a7}:1.0", + "{57a4ae72-0efe-4c61-aef2-564ea2ddd24a}:1.0", + "f23@virtualit.cl:1.0.0", + "f23@virtualit.cl:1.0.1", + "f23@virtualit.cl:1.0.2", + "{310042a7-cf08-4942-b86a-2c340308bfa6}:1.0", + "{81cfac35-04a9-40f5-993a-41200ce29968}:1.0", + "{f71ce02b-1f2e-4279-b8a1-be300813a90f}:1.0", + "{f5010bbe-ef2e-40c5-a1c5-d7ceed7107a8}:1.0", + "{44dbf052-9a96-4327-a786-137f349e047a}:1.0", + "{3febf5bb-cf54-4514-82c7-e5a66a60f6f0}:1.0", + "{952c9e61-4eb7-4e7d-9be8-64e8f6bfb2a2}:1.0", + "{f059b05a-9f1d-4f95-9a66-bdcc69e2531d}:1.0", + "{8ae8f34a-8ed9-4871-824b-f06bf80f0bc1}:1.0", + "{501c91fc-afd9-4351-8bfd-2d573faec061}:1.0", + "{69bb53d4-6da6-4f29-81ec-f303ee9fa9b3}:1.0", + "{5b7c19c5-5a95-4de4-a694-0e884be325e3}:1.0", + "{e807207e-d9ae-4093-b6a2-3561639cab54}:1.0", + "{599c62d6-27a3-4478-9cd2-610a4c30b7d5}:1.0", + "{49407de8-3e83-49ff-8940-b6dfbe557b31}:1.5.1", + "{e4db92bc-3213-693d-bd5e-8ff2afc76da7}:1.4.45", + "{bfa9e5d7-35d1-4be7-9bad-4390e0909a86}:1.0", + "{4e79dcd5-99bb-4cd1-9316-1d89d3e6d2be}:1.0", + "popup-tab@eight10.blogspot.com:0.3.1", + "{a5de18a2-e935-4dd9-81dc-0234bab629d2}:11.1", + "{886b3fca-dc0a-4ec7-a6c0-da195f5ffbd2}:1.3", + "{6982474c-60ee-40be-9c86-b4edf950e226}:2.11.7", + "{342f3f06-f873-4be6-ad15-87751f88daf3}:0.1.0", + "{4ba36f40-5b09-4228-8f28-71a0417e24f6}:2.0", + "{9e52cf5c-bc92-4fba-8f88-74ebd18d030a}:2.3.5", + "{e777eb8d-5afa-447d-b68a-5ab18f4f788e}:1.4.8", + "{d9e2c6e1-fd0c-486c-aa1c-42873f424625}:1.9.5", + "{a682524c-6c2a-4ae1-ad18-fd8da9d0d9f0}:2.5.5", + "{d5d1fadd-a5b4-44f9-947c-d787b240cb1b}:2.5", + "{273231cc-c74b-4923-aa50-da0552585904}:2.8.9", + "{5c40ce1e-f081-4e1b-84ec-2af2c70989e0}:1.0.11.0", + "{3f48ba56-a4c5-4f03-8fbb-56826f7af620}:0.8.0", + "{228fd5b5-f4f1-4940-9037-bfee9e7a3ce3}:1.0", + "{5ede4f69-512e-45af-bca8-6cad4aec0cf1}:2.5", + "{518541a9-4131-4f35-9d9c-633608d02f38}:1.1.7", + "{6059895e-0d4f-4b78-968b-7e2cea6a95be}:1.0", + "{b737102f-0893-4219-a3ed-b80bb03f4d6e}:2.2.1", + "{4afc5a58-7536-4cdf-b382-f04249c78fc7}:3.2", + "{48d10004-24b7-4dc4-adfb-fa199df14d25}:1.0", + "{800ca271-c926-4576-ba17-b7824ddd1a56}:0.1", + "{4d4d3236-b8e0-4c1c-a9f8-eb21990cda61}:1.1", + "{46386c43-e2ab-45c8-a1b0-3cc275b5ec7d}:1.0", + "{1a291623-847b-41b3-a61d-cfeb12cf5a2c}:1.0", + "{3fdd66fb-8cef-4398-9ed4-4325549041e9}:0.1", + "{8bb31d73-744e-4476-ab26-e07c7b337f68}:1.1", + "{26fc1f95-70dd-48d0-a296-f5eb41431fc1}:1.0", + "{5d16cbb7-f7a5-4085-833e-0b9c790de0ef}:1.0", + "{3d142b69-ecc1-4265-aefc-92fa38cbf5f8}:1.5.1", + "{87c5cdc4-3816-4505-978d-11508e1da473}:2.12.0", + "{ca2aa399-e4c6-4816-8378-08b062857803}:1.0.6", + "joao.buchholz41@gmail.com:1.4", + "{3fe15d6c-8165-4882-a8d8-9f948cd4cd2f}:1.1.0", + "{cd77da5e-14ff-4ac0-9a0d-8c6ba0a3e6b8}:1.0.1", + "{df45d2df-15b9-4a1c-9c69-debb623a67c1}:1.0.1", + "{e3489a2a-b99b-4544-b558-971f2b4c3446}:1.0", + "{843d7702-27e4-4a20-9e19-790c8e4789c9}:1.0", + "{1c3c5bbe-9610-4e08-98af-7ac122027d23}:1.0", + "{3785001e-ed19-429b-997f-f6e835565904}:1.0", + "{63acc553-41fd-4f03-8678-2de4c1a26282}:1.0.3", + "{5d6c5c46-c123-490f-be73-736cd911d2b6}:2.12.0", + "{4e85310e-93b4-4147-8214-e5ecfa19a1b5}:1.6", + "{08e93bad-03db-47e6-919c-0030e3dd756e}:1.3", + "{af955570-0210-4968-86e3-78aaefe353dc}:1.5.8", + "{dbc58fb9-d14f-4c73-b7fb-b269eeb04391}:3.5", + "{fca3bf7d-dfe7-4ceb-9de4-4a01fd89cd97}:1.2.9", + "{d2607153-ce2c-47ad-a8cc-21891c912fcd}:1.5", + "{d7940340-310d-4224-b06c-5cfb906a7e3c}:2.9", + "{3a21d484-7d1c-4e58-acd7-edd4d6437a57}:1.9", + "{337eff04-0dc1-4511-a183-a94e677c0c5c}:1.9.6", + "{b0a5f4d9-ca95-483a-bccd-9e8735460206}:1.6", + "{e1dc9edf-f4a8-45ab-aa6c-d05eab3c124d}:1.0.2", + "{5f06f3e1-8078-42e0-893c-ec36501febd3}:2.4.1", + "{183aa3bc-7b9f-4cc0-b798-152c0ec73b30}:3.5", + "{78fe9a57-2f7f-4ff0-a3f1-76dc3acdba1d}:2.9", + "{f304d8cb-2ef3-4d99-acc4-f9bd167b1ae7}:1.0.8", + "{7917c4c9-c063-437a-9d29-29dc988789ff}:1.0.4.4", + "{a46f39a3-6b71-4af5-a582-6bba5cb2c7f6}:1.9", + "{5c02ddd2-7ed5-4000-9d15-91cf9a219d7a}:1.3", + "{01199a31-0c27-4354-833f-137bbd2a5bd4}:1.6", + "{df565b1a-29a5-4338-8b24-bd58de67bceb}:1.7", + "{8645bb45-488e-4280-aee9-ffeeb97794c0}:1.9", + "{8ef451d5-8df3-49de-84b4-ab277d0ee254}:2.0", + "{0f2ecb3b-79a5-43db-aae6-6d92f44627f0}:2.6", + "{315da352-8b92-4a52-a585-916407087e2d}:3.2", + "{fdefe868-5a9f-4d70-a233-07c81946ee96}:1.9", + "{1a939378-ef82-46ab-957b-d2ca3ef0208c}:1.9", + "{7a5ba7d5-3acc-4cca-a84b-83d8487d0081}:3.9", + "{2f32c163-4f32-4ed0-8566-6a17f060b82b}:3.9", + "{b39841d7-6df2-48be-b194-fb6721f7e0cc}:1.9", + "{9a15c6a3-e9ad-4d7b-9270-3ee173298895}:2.4", + "{01bafb3c-9039-49d3-b909-28a99e534080}:3.1", + "{ed7a51d1-e28d-4ab4-9674-981e752a6d87}:2.2", + "{35029c2e-9ca1-4dac-bc7e-d8f3e0d9d721}:1.8", + "{0bec3c0b-370b-4a84-a85a-99accebf233e}:1.0", + "{c37559ab-a890-4f25-bddb-ef6f7b36ac62}:2.1", + "{54a67b2d-97df-49af-a18b-d670846aaedf}:2.7", + "{fd65862a-dbed-46d3-84c9-e342a6efe4bb}:1.9", + "{b5c475ba-f86e-4eb9-8b40-76cfa6afaf45}:1.9", + "{530bf2ea-73e8-4971-a322-a618b47d9998}:1.8", + "{c26a9059-4788-4d49-8adf-e956bf9d4f92}:1.0.2", + "{36176f0c-bbab-4213-b206-2e06a95ee168}:2.0", + "{97ea3cad-39b8-4499-9297-332612baa0e9}:3.3", + "{a28571e2-b61c-43d3-99d8-7c517813f460}:2.2", + "{f7ba5baa-e112-4d7f-9d74-a38b377dc248}:1.7", + "{cec05f42-3f82-4bcb-a931-944d7ee74eea}:1.67", + "{f10ded9a-ac4b-4f9b-9ac5-2b0361d44161}:1.3.19", + "{ead582fb-cbed-4a7c-bae1-23c46725385d}:2.12.0", + "{ab5549d5-f8be-454a-9f2f-0ae02f1de91a}:0.8.1", + "gbp-to-kes@example.com:1.0", + "{a24c1b57-e790-42d5-bca3-ea5af591c2db}:1.0.9", + "{5bd2d8d7-9589-4180-8828-30b88eaf2530}:2.6", + "{0542a68e-7ce5-4c3d-a05d-4e2400e63f53}:2.3", + "{3714d108-bf8c-49d8-804d-5f120f642b58}:2.8", + "{c535cf8d-cacd-4871-a781-d6f81234684a}:1.3.19", + "{0a75373d-3441-478c-a932-00be0aae0851}:1.0", + "{1fedabd3-079f-4015-a405-273b3bb20181}:4.0.0", + "{915c2fae-2a3a-4261-87e7-ae09d3d93d57}:2.11.7", + "{6fc3b4d5-87b2-4bc8-845d-586eb1c06597}:1.0", + "{24394a5a-86d2-11ee-b9d1-0242ac120002}:1.0", + "{6a67b288-d783-832b-2bd8-9b6588216409}:1.0", + "{6e55e271-d554-982e-3bd3-9a7448798476}:1.0", + "{6b18e198-d215-927e-2ad1-9a5217948436}:1.0", + "{6e28e832-d556-165e-2bd7-2a6238766432}:2.0", + "{6e37e542-d981-474e-8bd7-9a6532622071}:169456994", + "{6e37e542-d981-474e-8bd7-9a6532622040}:169456994", + "{6e37e542-d981-474e-8bd7-9a6532622030}:169456994", + "{6e32e212-d543-121e-1bd7-9a6512236432}:1.0", + "{7e34e542-c981-474e-8bd7-9a6532314322}:1.0", + "{6e37e542-d981-474e-8bd7-9a6532622999}:169456994", + "{639f14e7-18c9-4598-bedf-9cbede731e32}:4.0.0", + "fortivpn_share@virtualit.cl:1.0.1", + "{bec65427-1f71-4867-a869-a2a219d670e8}:0.3", + "{f7c80366-3bc6-421a-b583-0e90dcd5fc1b}:0.3.21", + "{f6dfd7d4-fdbb-4f77-bfa6-3e11fed9bd0d}:1.0", + "{e108ddaa-1cb1-465d-bb2a-f5acbfbd0530}:1.0", + "{00a5b44c-9608-4796-af98-490223d58445}:1.0", + "{b7871e29-2d35-498f-9992-1a66c8de1986}:1.0", + "{fab33a2c-6d4e-4c9f-a4f5-89f18c8aab3f}:1.2", + "devicefarm.spicymobile@gmail.com:1.0", + "devicefarm.spicymobile@gmail.com:1.1", + "devicefarm.spicymobile@gmail.com:1.2", + "devicefarm.spicymobile@gmail.com:1.3", + "devicefarm.spicymobile@gmail.com:1.4", + "devicefarm.spicymobile@gmail.com:1.5", + "devicefarm.spicymobile@gmail.com:1.6", + "devicefarm.spicymobile@gmail.com:1.7", + "devicefarm.spicymobile@gmail.com:1.0.0", + "devicefarm.spicymobile@gmail.com:1.0.1", + "devicefarm.spicymobile@gmail.com:1.0.3", + "devicefarm.spicymobile@gmail.com:1.0.4", + "{4199c18a-8c16-4504-af9f-4dc527c5e471}:1.0", + "{7efd824a-c0c0-4ba8-a1e2-a03c2876dc43}:1.0", + "mdkp88@gmail.com:1.0", + "{052d84eb-0822-40d5-aa92-f905edf69745}:8", + "{0a5dac97-4e82-4201-9383-6b90c358c1f7}:8", + "{35904f54-ce88-4b7b-bf51-825405aae9f5}:8", + "{16b7857e-c97d-4b17-a153-856620055a89}:8", + "{29e03a7a-78bd-4e08-9d80-8c7a69a9c101}:8", + "{0dba0319-bec8-46af-8af6-0174856a8a58}:8", + "{03ad1d34-4212-4689-9e02-b5289d69336a}:8", + "{195d4356-4837-403d-a773-91ee9546508a}:8", + "{1a3b4124-df12-4360-851a-dbd3328f2837}:8", + "{249e117b-dd09-4a0f-b737-a912a8e4a7a2}:8", + "{14ed13cd-4e71-4a9f-a2e1-9977ccbdef12}:8", + "{613d5ef2-aba3-4735-9441-eb620a5e5a82}:8", + "{31892b08-f8be-4dad-9b44-206a576df8dc}:8", + "{5b706963-bd5c-461c-9832-f69281999362}:8", + "{6eac99b3-84d5-4890-812d-16c0945c6ccf}:8", + "{5fe781c6-a435-4592-b3f3-c6f9da929bb4}:8", + "{1244824e-4b18-40bf-bac5-38fc7105cddf}:8", + "{1e1d3ea5-2233-4420-948f-532404a30e0e}:8", + "{1dc3b3e7-45a8-481a-a93e-211904e9acc9}:8", + "{6c78994d-e584-4f2e-94b4-a3acdf69e489}:8", + "eignhdfgaldabilaaegmdfbajngjmoke@chrome-store-foxified-1037220531:15.3.1", + "ldipcbpaocekfooobnbcddclnhejkcpn@chrome-store-foxified-1037220531:1.4", + "Melioptavern@gmail.com:1.0", + "Melioplayful@gmail.com:1.0", + "MeliodafWrath@gmail.com:1.0", + "Meliodafearless@gmail.com:1.0", + "Saitapushonen@gmail.com:1.0", + "Saitapuoften@gmail.com:1.0", + "ve88.naame@amo:1.0", + "xi88.it.com.jin@amo:1.0", + "af72db7c64d2dc9e592f4ae3152ece69455c118c@extension.com:1.0.0", + "a4938b227833422c3e8606bf2c6bfefb9b9a8b8e@extension.com:1.0.0", + "a18a6f00e40507adf8314dca736c40efd56496ef@extension.com:1.0.0", + "focusglowbackground@example.com:1.0", + "moonlightshadowfield@example.com:1.0", + "ta88green@amo:1.0", + "tot88poker@amo:1.0", + "silentbeacon-addon@dongphutien.com:1.0", + "great-quotes@example.com:1.0.0", + "tg88brcom@amo:1.0", + "classic-status-lines@example.com:1.0.0", + "mm88hunet@amo:1.0", + "{135997e8-71ff-4ddc-89ea-4b75c2ca5321}:0.1.4", + "{f49b7997-036c-4bab-a82c-f0cba5f96cf1}:6.0.2", + "{0a00fc35-c4f8-46f3-b23e-a9988f0523a2}:0.2", + "1551bc317dee4b02e4ce624c5afcc79e75d50100@extension.com:1.0.0", + "3e9dfcaacb6ce496f2d0177f8a534af2b0b1e5ea@extension.com:1.0.0", + "{706d358b-d30b-4dab-9b6b-acc8da1d9487}:1.0", + "{c1b0a8b4-92f1-4b04-ac56-dbfcf6d65e8c}:1.0", + "{e9ef49da-5bbe-4677-b4f1-e3ab7afe9c20}:2.3", + "mother-daughter-quotes@example.com:1.0.0", + "tab-info-helper-20251027@local:1.0.0", + "{f87ce7b4-4bbb-4469-95fa-4c616077b44a}:1.2.8", + "highlight-save@example.com:1.0.0", + "classic-sad-quotes@example.com:1.0.0", + "friendshipcarequotes@example.com:1.0.0", + "{7ceb7c13-b597-4428-bc5b-978e801a9be4}:1.0", + "positivequotes@example.com:1.0.0", + "quick-page-notes@example.com:1.0.0", + "{2fff94d7-2c56-4c9f-a0f7-70d94f7849d0}:1.0.0", + "{341f63bb-ef94-4bc7-8db9-fb91d231a817}:1.0.0", + "{e4ec4af4-08ab-4bfb-b171-69cd0d82353b}:1.0", + "quick-notes-cab4e9997aff4cd2836177bcd9146c6c@example.com:1.0.0", + "{dfebd918-018c-4d8c-8f83-ae3329c80b8f}:1.0.0", + "tabora@example.com:1.0.0", + "{f3105a34-a891-4939-9734-0e5a5a3fa0f7}:1.1", + "{7a23ffce-4abd-4dcb-a026-78bc6358c92f}:1.0", + "{c3d8f1a9-9d3b-4c42-84c2-7f5a2d61f842}:1.0.1", + "{9a7e12f4-53d1-4f6a-a5f8-1e97c68b74b0}:1.0.1", + "{d683cb45-8948-400d-9b9e-30978e8af2cf}:1.0", + "{c8f769d3-70a0-4230-bb7f-654c4bb6e532}:1.0", + "{67e2cd2b-ff3d-4eea-8a00-c642935b5599}:1.0", + "{94df7c62-327c-4c48-adc4-5ee2171d56ce}:1.0.0", + "{5ed96c4b-8ba2-4269-b3d9-bc3137068526}:1.0.2", + "{f8ca1a8b-59fa-4932-b7bd-518b8c75c290}:1.0", + "{b9276bdf-a00f-4700-80cf-1ff64e69748f}:3.0.1", + "{848054a1-9be8-484a-bed6-6d44aa0b8ad2}:1.0.7", + "{0519631a-70ee-43cc-a14d-8427250c6b25}:1.9.2", + "{2ba891e7-8d5d-410e-bea5-affc85d90020}:4.1.4", + "{fcbad924-2566-4cb6-83b1-698e3d33bca9}:25.5.402", + "{c8148435-50f4-4396-bb20-bb565efd52ed}:22", + "{f7591a51-5742-4063-bd69-09a223a37478}:1.0", + "{b80f7c39-e89e-4521-a8f9-0f1b79e4c424}:1.0", + "{190dc955-1708-448f-b6e2-3154bb728816}:1.0", + "{bc4d6850-45bc-4a98-95ee-45a88e7dfd63}:3.1.0", + "{27c6c40a-1d7c-4bcf-91fa-7e10ba657809}:3.0.1", + "{bf493a22-d6c8-41a3-84ef-273c196f0e65}:1.0", + "{fd40f21a-80e3-4e2b-b257-5ce6480a0541}:1.0", + "{026c24dc-3609-4167-bb2e-bdd9660273f0}:1.0", + "{e24571f1-e691-45bd-877b-cea3ad99ad1f}:1.0", + "{a4722345-7163-4dd7-82c6-a20a9e2639e5}:1.0", + "{f9aba9d8-2891-4456-87a7-1b8b7d0daaa9}:1.0", + "{db451ca2-65b5-452e-a9d2-3d06565292d4}:1.0", + "{86b336d4-032e-4420-b139-05aa29f9611a}:1.0.0", + "{f6307485-44fc-4216-b694-9f9b0dddcaf0}:1.0", + "M3U8@addons.mozilla.org:1.5.1", + "{49f6525f-921e-5ff0-804d-a15f95ad3234}:1.0.6.1", + "{9a3b2120-1773-48ad-b663-b51cdc088f43}:1.0", + "{cbb43223-d7a1-4995-b6a9-79f09f7b7bef}:1.0", + "{0b413756-6cfc-4e77-9c88-18dadd0c06a6}:1.0", + "{c2074b95-7bf6-4406-b962-9081ea2d3102}:1.0", + "{1ffbfe74-c543-4f7b-8264-82dc5bc121d0}:1.0", + "{e625ca7b-c35b-4d62-9873-c7af0896ef2e}:1.0", + "{f842646e-47c7-48dc-b487-a5aa80145d48}:2.0", + "{bf15bddd-0f96-4ad0-9b5a-cb987b77d111}:0.1.1", + "{8d7a53bf-cc0e-4ce8-a936-94ef7a9a047b}:1.0", + "image-picka@eight16.blogspot.com:0.17.0", + "{648ffb69-eb83-4bfc-9057-330a00f14875}:1.5.1", + "show-element-tag-names-extension@yourdomain.com:1.0", + "{9811f640-4cf2-4d7a-99f9-d7ce8844f97e}:1.0", + "{27d47acd-04aa-410e-9a26-c14811ba6b2d}:2.9.9", + "{72cece65-0a4e-49d8-87d8-050acc2c90f8}:4.4.9", + "{2b49122a-c222-46e4-96e3-facaeb7a2106}:1.0", + "{e03c6257-acaf-4331-a3eb-51cbf01b306c}:2.5.8", + "{071fd7be-060f-4c2b-860c-cdfdf14a07d8}:1.0", + "{0bac1f8b-da5c-4360-b280-48a76bc22ece}:1.5.1", + "{5fc7534f-8b2f-4c97-b51a-ae6f7eae8588}:1.9", + "joao.buchholz32@gmail.com:1.4", + "{fb861c1c-4b00-448f-ae72-859fde787131}:2.11.7", + "{61ea7a9a-b525-4809-a5c2-3555bdfee818}:1.3.0", + "{88146c57-48e2-46f5-af36-a6ba4a122f6e}:2.0", + "{6a5a1c05-01c0-40c4-9606-0e0e5e95332a}:4.0", + "{721dda98-98c3-45d6-8553-502214987c9b}:0.1.3", + "{fe5fe332-6fbf-47c9-977a-4816f46aa6a1}:2.2.0", + "{2834ab1b-b271-44ba-ae9a-89bf05361252}:1.3.1", + "{c51c8aab-f00a-4d65-a3f5-d14ec4bd44dc}:1.1.1", + "{ea74a4e7-40a9-4c3c-a2e4-3faa57db57dd}:2.0.1", + "{9f4dd0bd-ca95-4f95-829e-452913bbcd45}:1.3.3", + "{4c144c8e-e13d-4107-a90b-ed9122db6e45}:1.0", + "{3bd2816c-3d42-4c65-86f6-15d92c6a13db}:1.0.2", + "{84e5f9bc-1133-40d6-98b2-7395a0bd6465}:0.69", + "{f9950884-6e44-4498-90ef-fe0a9b6fab90}:2.7.1", + "{22f4ca0f-b38b-4a1f-851f-20768c53f640}:1.3.3", + "{4e009aff-7729-4aab-896d-41f0d1fb1393}:1.3.3", + "{23c86737-7440-407d-82f1-032f813f2018}:1.0.0", + "{94b92115-3606-4edf-a71d-9f2c850e7e2f}:1.0", + "{a100770a-7c81-490f-9025-4e3dfcf95314}:1.0", + "{ba170081-d9f5-43d4-bee7-0ac6c840f8f9}:1.0", + "{40faa461-57bd-4426-9bcc-31fbf2498910}:1.0", + "{9f4ddd31-f8c7-4719-b785-30e886dce8de}:1.0", + "{3dbbc982-f7c0-4a49-be06-3b272cda2299}:1.0", + "{44df29cc-1398-4ded-bfb4-b78a76d12be1}:1.0", + "{57a08f7a-8425-40d2-a7c5-d58b9083aafe}:1.0", + "{a39868d6-648d-41fb-a597-94f9bf5e2177}:1.0", + "{bca37fce-ed21-4413-a285-f8579b9cfa92}:1.0", + "{65f82bab-3099-49cd-ad8b-0574401cfcbb}:1.0", + "{b5438c93-0741-4d54-bb0a-941a6f2d14cf}:0.1.4", + "{2e22721b-ab50-4de8-93aa-a9f05212f5b7}:1.0", + "{eb811b59-28c8-48c6-be14-10260cb983af}:1.0", + "{53e918f9-b876-429e-a4ce-2f31e6c1ce66}:1.0", + "{a8ba8e9d-4b4d-4f32-a4ae-30f2098bce9e}:1.0", + "{61127096-c65e-45f2-9f88-025d19144bf8}:1.0", + "{980a6cd2-57dd-4f0a-a025-8161e0b31eca}:1.0", + "{979e68c1-b469-452f-a121-2f6d1f4e118e}:1.0", + "{4f7690cd-beda-4296-b398-43919dd378e7}:1.0", + "{cae04774-b6fd-4142-87b9-469884f2d964}:1.0", + "{3044e509-f8e8-460a-90fd-833648e6957c}:1.0", + "{eb8d7dda-bbf1-4091-858a-37cb5af08806}:1.0", + "{594c7386-2d8d-4cf0-a37a-2a3159274ed2}:1.1", + "{bd2c97f8-5164-4015-aa37-0f521df4cf31}:1.0", + "chatbotintegration@example.com:1.0", + "{85211da9-fc9e-4a32-a12b-f6d89dc77d92}:1.0", + "wordcounter-xyz123@example.com:1.0", + "pin-by-keyword@example.com:1.0", + "{79e85f45-51fc-4dd8-8711-11240f185661}:1.0", + "{781d3881-df6b-4203-a45c-44234fd6ba8b}:1.0", + "{da6d65e2-1d09-40ff-8932-1120b9cd530f}:1.0", + "{a985b9d7-7b0c-4d35-9c05-e6a94da78fc7}:1.0", + "{3ae53c25-f521-4a0e-9a96-1ee5c5da1cbe}:1.0", + "{6c8e6ffb-fb37-4e36-836c-c81f3a794a9a}:1.0", + "{7520b1da-5a27-4899-809e-ca5c913dd5f5}:1.0", + "{d038766e-331c-4c05-9869-70b726d81caa}:1.0", + "{db205dff-56fb-44bd-9140-397fdecd7a73}:1.0", + "{9f8e3a65-1cb6-48cb-bd1b-2c6a0cf48070}:1.0", + "{c353face-dd9e-414a-a6d5-0c996ed7847c}:1.0", + "{da6310fc-c245-4394-897f-08966f1fda3f}:1.0", + "{9524b55c-8294-479a-87d5-520d8b0eebe7}:1.0", + "{1f5f9d4f-05b9-4628-96a9-58f6161275d5}:1.0", + "{309ea51f-35c5-4939-85c4-21603c8053cf}:1.0", + "{7e0dca29-f61d-48c3-ab45-b2a280b8e3f4}:1.0", + "{b663dedd-66c8-46cd-900b-374be26a393e}:1.9", + "{e752fa5b-97a4-4e0c-9038-4c5aebb0226f}:1.0", + "{064c214d-ac6f-4c36-b951-8199768069c8}:1.0", + "sinkfieldzishannnn@gmail.com:1.0", + "language-specific-news-updates@example.com:1.0", + "fontflux@typographyinsights.com:1.0", + "{ef1bca11-f5b0-414d-9149-a383b39a938c}:1.0", + "{22452b41-4f54-474d-9f87-1d605eb4c870}:1.0", + "highlightpro@example.com:1.0", + "{ea4b29c0-f885-42d9-9dda-f5a2efce309a}:1.0", + "{5fe8d087-ade3-4981-9303-cc27222025af}:1.0", + "{15f5bbdc-b99e-4049-bb6c-b5d4bf383a46}:1.0", + "{a50aa29e-15f3-4cb9-85f6-cf9febd0ac42}:1.0", + "{76551071-f895-4911-914f-3301182dc959}:1.0", + "{59900a16-0774-448e-8335-48f5bcdc25ff}:1.0.6", + "{7543d61b-7767-4ad0-afb4-cfed5daba9a8}:1.0", + "{6c2dc24c-f2b0-4abe-be23-61ca50147a32}:1.0", + "{117f8370-0df8-459c-8ee5-017d602274a9}:1.0", + "{227e2e1d-43ed-459e-9c66-145d1ea49d6a}:1.0", + "{57533bfb-5fbe-46b1-a0c0-0f1068d28134}:1.0", + "{065b9bf2-787f-4b4c-aab3-22d1dfd7d09c}:1.2.6", + "{563e6f8e-a805-442d-bda3-8e251939ac20}:3.7.3", + "{8973726f-0864-4c37-b2c4-72952aa8b80f}:1.0", + "{e87ad52e-636d-4820-a513-4b0dd884639f}:1.2", + "{8512510a-65f0-40e7-8411-6ac2cc59e0ba}:1.0", + "{6ea687f0-6945-4aa9-94d6-ed6cd519941b}:1.0", + "{ac964b5f-02ec-49bd-8f5a-5509a2bc55c6}:1.0", + "{262136f0-135f-46a6-847e-25e552fd97f6}:1.0", + "{af72886f-7f05-430c-ba5f-f855668424b6}:2.0", + "{8f7d0b82-c12c-4b1b-9afd-76871d12a583}:2.0", + "{e2ec4eb2-ef30-45ad-b9d3-c5c3ba74c8ff}:2.0", + "{dec22285-940b-4a82-b241-4302999e3ed5}:2.0", + "{6377f784-07fc-4462-91c5-f66f8020443d}:1.0", + "{36a61d5c-dfbd-42be-8bc4-81e376478360}:1.0", + "{49bc075b-bd49-4651-afc0-ec26ac056425}:1.0", + "{d403d110-ffed-48e8-b4a6-cac9993efe8f}:1.0", + "{a278b728-6264-49dc-8352-2d7e61536561}:1.0", + "{9ce823d6-3cdf-45cf-90f2-39a5c8b7f987}:1.0", + "{a5a0c035-849f-4f08-9994-70b48f0df39d}:1.0", + "{2d0b5311-effd-49eb-85a3-0234b168c83c}:1.0", + "{30d81923-d6f8-48da-a8af-863112b7353c}:1.0", + "{dff2cd3d-351a-4c91-817b-40a591134ea5}:1.0", + "{f48ce465-74ef-4329-9f48-5e6b32784180}:1.0", + "{29d689af-b6fe-46d1-b4bd-50f86192369f}:1.0", + "{aae23774-6df0-465b-b6d3-38e371ffd7b1}:1.0.2", + "{c7ee0a1e-691e-4277-b04f-f07eb6735941}:1.0", + "{b474a18c-5f9b-4c70-ad97-6b16093b6354}:1.0", + "{a5a669be-ba5e-4c23-95bf-6435c1dfe08c}:1.0", + "{7d339b39-f5bd-4f14-b220-5b4e2fbec12c}:2.0", + "{531906d3-e22f-4a6c-a312-9367b88a1a63}:1.22.44", + "{70351377-d47f-4b49-b06b-8e8f0d0b6f36}:1.0", + "{510a9d2a-5d90-40d9-b503-0bb2bfe5448c}:1.0", + "{065ddcfd-feb3-4af8-b4d2-0253ddc5984f}:1.0", + "{42378e02-7355-481f-a90e-f223549825b8}:1.0", + "popup-tab@eight13.blogspot.com:0.3.1", + "extension@streams.na:0.0.1", + "your@mail.com:1.0", + "{0d47857c-c108-40c4-9216-85df3b289116}:2.0", + "{531906d3-e22f-4a6c-a102-6267b88a1a63}:1.22.44", + "{531906d3-e22f-4a6c-a102-7267b88a1a63}:1.22.44", + "{82247ac3-668a-4bef-816f-e9266a941eb8}:1.1", + "{a75bf3f2-b537-4252-8d56-91870dbe4c83}:1.0", + "{82eb065e-6481-401c-adcc-308d2f2cd112}:1.0", + "{27af98af-da0d-45d4-834b-4c749796bd46}:3.4.8", + "{5174efd2-91e4-4d02-8334-982e0570248b}:3.9", + "{764454ee-3293-4eee-84bc-de9db0876ad4}:3.8.9", + "{fc281d02-41e4-41ad-aef3-c835311aae97}:3.5.8", + "{8f9f60bc-1ddf-4f7d-be94-b732ee2d4279}:2.3.5", + "{4103b84f-8249-411d-823f-b1fce1dfb9f2}:3.2.5", + "{9d7c46b8-f46d-46c4-904c-81c94971715a}:2.12.0", + "{f61804df-15e6-4fa7-bed8-ab2beb29f1b2}:1.0.3", + "{a542e197-56d1-4603-8d09-3d90306d45d5}:1.5.0", + "{2331d8a3-b7a7-4453-85f2-cd4798bb8968}:1.1", + "{71ecd08a-fe9c-42bc-8599-bc49f40284fe}:0.1.5", + "{cb627236-9987-4228-952c-da8b24d1c236}:1.5", + "{c593b224-7302-428d-9fab-ac46a9a68401}:0.2.1", + "{07af4f7e-9d6f-40d6-92aa-b76a680cabc9}:1.0", + "{ed3e8e5f-4c19-49a6-804c-deccecf86c4f}:3.0.0", + "{c4c13eb8-3cfc-40ce-be3b-9a30d999e4bf}:1.0.6", + "{cba7059b-c13f-49b4-a138-0bb90aacbb92}:3.7.9", + "extension@smartcric.Watch:0.0.1", + "{e3005bed-cf67-400a-8110-9f8a4fac3198}:2.12.0", + "{c7890603-8a86-4442-9f0a-13235655085a}:1.0.6", + "{a026185b-28df-4c91-83b1-8ce0ba7b72db}:0.1", + "{b249c80f-96c5-420b-9dda-9a0ad66491ea}:1.1", + "{7834a840-03a9-4541-8e0d-6e3fcd5fb31f}:1.0", + "{448d0a35-2cf3-434a-ac93-8f3a5fab2662}:1.0", + "{b2f9d2ab-d0d1-421b-9741-185748c34986}:0.1", + "{2803421e-ff85-4766-966c-cb846167e25e}:1.1", + "{39372fad-7ce0-4ea9-8ed5-897c74dc8479}:1.0", + "{ee40846a-10c0-4883-a63d-caaa902e72e1}:1.0", + "{2165368d-59c1-4172-a22f-ca108f1da3ab}:3.2", + "{79a88a26-ecf6-4a44-9818-eed9d4e822c3}:3.2", + "{ecd9e589-4853-4553-bfbc-00e8e450769f}:3.2", + "{bea9d249-82f9-43e3-b169-61b267520689}:2.9.9", + "{039d1d05-aba2-43ae-b37d-b23ca0427b0a}:1.0", + "{4521f47d-73d7-41c3-8298-1b448baa7b1a}:2.9.7", + "{10635e3b-dcff-45db-ad84-98d6492b8613}:4.4.4", + "{8fddbfc6-60b6-4054-b9aa-574d13130f10}:3.3.6", + "{fac35400-51ce-4209-bb08-252d2883ea99}:2.9.8", + "{f9ae8618-cf45-435c-a5d3-4aba8821044d}:2.9.5", + "{b97d0b21-811d-4e36-92fb-336378a186e9}:3.4", + "{a6daa9b5-88b5-421e-851b-bdca7982d277}:1.9", + "{7539e770-e6fb-42c6-910f-f6fe99109cae}:2.6", + "{695b8b8e-0eab-4f7f-aae5-8da2fc8583a2}:3.4", + "jid1-WF1v8esuNM9pRg35@jetpack:1.1.2", + "{69e6c226-600c-4848-be21-35c20197c145}:2.4", + "{c91b1e70-97c6-4787-99dd-d834e84e5cd8}:3.1", + "{b6e83b4e-0ebe-43bd-b4ac-9fc4c4766aa5}:1.0", + "{4f966a9a-4ec6-41bf-9f59-53fdd58c5b27}:2.2", + "{019310ad-ef2d-42ec-b3ba-79acb203bd4c}:3.3", + "{f45d8413-0d4b-4c75-83d2-cf3dfbbf7700}:3.8", + "{af24eacd-0fae-413f-ba3e-ae3c41c04488}:2.9", + "{8e18946b-397a-43ab-9b6c-6c7bdf918b12}:2.8", + "{3b37e8ef-fe4a-4ef0-87d0-e4dde2fa6833}:2.2", + "{4aca3301-b61f-483a-b13b-e47119d6f7ba}:2.8", + "style-disabler@example.com:1.0", + "{d76321d2-1a05-49f3-8477-d8aabe2aaac4}:1.0", + "cookie-disabler@example.com:1.0", + "{c55f9c3a-9aae-4da0-afc3-fa8cdba1e1c6}:1.5.1", + "{7e39748a-6397-4d5a-b5a8-87b55c9ffc7c}:3.7", + "{ea4874fe-39e8-42f6-b374-2f5cf35c354d}:1.6.1", + "jid1-WF1v8esuNM9pRg23@jetpack:1.1.2", + "btn-to-xaf@example.com:1.0", + "{003b93b9-724c-41e6-a56e-a64752482706}:2.1.3", + "{7e23e542-d981-474e-8bd7-9a6532628333}:169456994", + "{9fd51abb-2d97-4002-99b9-7b2255f50404}:1.0", + "lyd-to-iqd@example.com:1.0", + "jod-to-aud@example.com:1.0", + "{e197d1ec-c2db-4437-aa06-36adf5cae409}:1.0", + "nzd-to-bif@example.com:1.0", + "{fa257d0c-8694-11ee-b9d1-0242ac120002}:1.0", + "{d629c266-8ded-43d2-88fb-0e789010851a}:169965635", + "{f62c9215-671c-46e5-b505-ae5b5e1a50da}:1.0", + "{4fff764a-7a58-41cf-8ae2-e4dd4aecb0c8}:1.0", + "{75fd3ee3-806a-4363-8527-1abffdbfe289}:1.0", + "{1652011f-ff36-41ce-8710-79801df4d5c1}:0.1.2", + "{6a1ca46e-1ce5-4f6e-966b-c63a74fc70dd}:169965603", + "{a1ad2dd0-d8c0-4514-ab99-d5e566576043}:1.0.6", + "{5e65e562-d553-532e-5bd8-9a5543216455}:1.0", + "{6ad9cce5-7595-4e32-8d89-9c9d6115f7ae}:1.1", + "{01fc23ab-0e68-4abb-bb7a-a6781528b686}:4.0.0", + "{6e37e282-d746-153e-1bd5-9a6399766433}:1.0", + "{6e34e821-d526-135e-2bd4-2a6428726432}:2.0", + "{d5eeeb91-aeec-4c83-bb40-5bf534c22ff4}:1.3.19", + "{6e65e262-d523-132e-1bd8-9a6543216432}:1.0", + "{6e31e132-d923-434e-8bd2-9a6532238212}:1.0", + "{6e12e552-d981-574e-4bd7-9a6534221212}:1.0", + "{12e7e542-d981-474e-8bd7-9a6532622549}:1.0", + "{20cd261d-1fa8-452d-975d-fd47949fc417}:1.0", + "{a78d5b99-0f48-40a7-9ae5-78619b9d6163}:0.1.33", + "{548928dc-8561-4eb5-adf1-19c2dab44e61}:169061932", + "{ddcfab4d-e4c5-4faf-93b8-d64950c56739}:169061792", + "{21ed6e5b-4b21-4175-b839-cf834c6733c4}:2.0.0", + "{c2278bd8-d59c-4c4b-b637-c8872eeed658}:1.1", + "{fdaf25a3-e819-4471-9635-0f91099d6828}:1.2", + "{6d23ea5d-7466-43ab-8504-c83c8dec71e9}:1.2", + "{20e79861-95bb-42dd-86b0-b61206ddd485}:1.3", + "{d65bb631-fe82-41f8-8bc5-85ea96334b71}:0.6a", + "{1e9b0166-5375-4632-b05f-63c6d91e6bde}:1.1", + "addonsibox@extension.com:0.0.1", + "{c49938e8-3e8b-478e-a1e3-60ea4e1ec72a}:8", + "{aa4ea945-e29c-49f5-a022-7fe95dbfe640}:8", + "{f62c83ec-3f97-4cad-8cd9-2eb9ae336d5a}:8", + "{7b5b0725-2ff8-4d94-906e-b52c39703586}:8", + "{cd1e1cb7-4b15-430e-bac1-37b20a095075}:8", + "{948c6e08-2e15-4bac-b45e-2edaf948ded0}:8", + "{b7dc45ce-d71b-49c0-886e-c08a0b3ca037}:8", + "{f7a9dfb3-ca4c-4015-a90c-f0e050fdea0c}:8", + "{7e1431e0-2991-4e13-9308-4ab287818fc4}:8", + "{8cbd5975-47c5-4867-b663-f951d0a89241}:8", + "{bb5f410f-35d9-4036-8a93-91bdad5f31a6}:8", + "{f01f5991-2c12-4404-be17-4cce660fb157}:8", + "{7f17ada0-4e19-436f-8788-9f9aac714cce}:8", + "{be605ee6-963c-4555-a721-19066c1a5976}:8", + "{9c5e0691-52cf-45b2-88ae-76c58a750d51}:8", + "{df09401f-9fa2-437f-94f0-1100c6a68478}:8", + "{de32e4b4-beaf-46ea-a10d-01ea2f9d6c06}:8", + "{7fc41886-6a63-48ca-a594-829a9d7494a2}:8", + "{8474e98d-1ea6-44a3-8c43-94de0f7a176f}:8", + "abjcfabbhafbcdfjoecdgepllmpfceif@chrome-store-foxified--243490558:7.3.0.0", + "abjcfabbhafbcdfjoecdgepllmpfceif@chrome-store-foxified--243490558:7.3.0.7", + "neomigpibafpboiknmijddgnncengfnm@chrome-store-foxified--243490558:3.3.8", + "kmdfbacgombndnllogoijhnggalgmkon@chrome-store-foxified--243490558:3.42", + "{4c7cd805-e2b3-450f-ae2c-2d8b79283a3c}:1.8.2", + "{88db91ed-ee4e-45e4-bdda-f96fe9497414}:1.8.2" + ], + "unblocked": [], + "softblocked": [ + "slovnik-dblclick@mansair.local:1.3", + "WE-clipper@wikieducator.org:0.9.9", + "flightlog-tracker@local:1.0.0", + "local-llm-translator@local:1.0.0", + "local-llm-translator@local:2.0.0", + "{b588ca4a-46f5-4592-a3fa-fc0bef3db6f6}:1.0.0", + "{b588ca4a-46f5-4592-a3fa-fc0bef3db6f6}:1.1.0", + "{b588ca4a-46f5-4592-a3fa-fc0bef3db6f6}:1.2.0", + "{89cd223b-1428-4379-bbf7-bdda70888532}:1.0.0", + "{89cd223b-1428-4379-bbf7-bdda70888532}:1.0.1", + "{89cd223b-1428-4379-bbf7-bdda70888532}:1.0.2", + "{89cd223b-1428-4379-bbf7-bdda70888532}:1.0.3", + "templ@sccsspnk.dev:5.6.4", + "fjalor@shqip.dev:1.0.0", + "@bm-combatslop:26.6.24", + "@bm-combatslop:26.6.23", + "twitch-points-farmer@antigravity:1.0.0", + "{03f7f66f-379d-42de-9b98-ffdba87431f4}:26.6.24", + "amazon-tracker@fabian.local:0.5.0", + "claude-usage-bars-steve@local:0.3.1", + "claude-usage-bars-steve@local:0.3.0", + "claude-usage-bars-steve@local:0.2.0", + "claude-usage-bars-steve@local:0.1.0", + "messenger-unblocker@steve.local:2.0.0", + "lexis-ai-cert-evaluator@lexisnexis.at:0.1.3" + ] + }, + "schema": 1782282994642, + "key_format": "{guid}:{version}", + "stash_time": 1782304515948, + "id": "8b4a12cc-e2f9-4ad2-b793-980bf7f51c56", + "last_modified": 1782304603368 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{058b6fba-0ecc-4777-83c9-76b97050cd98}:1.0", + "fiverr-scraper@imperium:2.0", + "cambridge-word-saver@extension:1.1.0", + "rfp-darkmode@local.net:1.0.0", + "{69ce9ab6-acdc-4bd0-a70b-2d8ec618ad91}:1.5", + "workflow-pro-suite@local.codex:1.2.16", + "workflow-pro-suite@local.codex:1.2.17", + "workflow-pro-suite@local.codex:1.2.18", + "workflow-pro-suite@local.codex:1.2.19", + "autoclear@ekstensi.lokal:2.0", + "{29f42579-9618-4dc7-8647-eaad7cd3343b}:7.8.1", + "{1374ceaa-e05f-4967-a2aa-cfcb8ed8bda6}:1.2.4", + "civitai-switchsolo@hansolocambo.com:1.0" + ] + }, + "schema": 1782261398563, + "key_format": "{guid}:{version}", + "stash_time": 1782282906194, + "id": "a8e73eaf-0e78-4427-bffe-7ac13259b146", + "last_modified": 1782282994539 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "cba-@myscript.com:1.0", + "security@devolutions.net:0.1.0", + "traderie-macro@your-domain.invalid:0.2", + "traderie-macro@your-domain.invalid:0.3", + "mundial2026@local:1.3.3", + "pauza@local.extension:1.0.0", + "OneTabSidebar@MemeMan:1.0", + "e621bar@MemeMan:6.9", + "ghostprofile@extension.local:1.1.0", + "rivendellmist@dasoldi.com:1.1.1", + "rivendellmist@dasoldi.com:1.1.0", + "rivendellmist@dasoldi.com:1.0.3", + "{bcc24a3f-90e0-42ab-bfbc-6f5730a8dad4}:1.0", + "{bd5e2748-b40e-442a-a705-75efe2c0511f}:1.0", + "fel-legume-litige@biocoop.local:1.0.2", + "litige-suivant@biocoop.local:1.0.0", + "assistant-litiges-fel-btobio-140@jordy-suzon.local:1.0.2", + "scroll-ocr-overlay@charleszhang:1.1.27", + "scroll-ocr-overlay@charleszhang:1.1.29", + "my-udemy-speeds-addon@localhost:1.2", + "my-udemy-speeds-addon@localhost:1.0", + "my-udemy-speeds-addon@localhost:1.1", + "{8b472767-f8ef-4236-9eb7-a72ed5c7c227}:1.0", + "{a4f49153-7ebd-4cfa-9039-a6b787edf7be}:1.0", + "save-media-timestamp@orlov.local:1.0.0", + "auto-dark-mode@orlov.addons:1.0.0", + "typescale@bentrandigital.com:1.2.0", + "workflow-pro-suite@local.codex:1.2.9", + "twitchchatdanmaku@wheatup:2.1.1", + "workflow-pro-suite@local.codex:1.2.11", + "workflow-pro-suite@local.codex:1.2.12", + "workflow-pro-suite@local.codex:1.2.14", + "workflow-pro-suite@local.codex:1.2.15", + "tailchrome-mario-2026@local:0.1.11" + ] + }, + "schema": 1782239791395, + "key_format": "{guid}:{version}", + "stash_time": 1782261306400, + "id": "3e2846be-a949-4e57-af3a-cc19ba0fc0ea", + "last_modified": 1782261398340 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "gemini-context-manager@kahsa.local:0.8", + "favory@sp4ce.pw:5.0.1", + "free-map-genie-nr2bj@nr2bj.github.io:3.0.2", + "vault-autofill@local:1.0.3", + "qingdakaizhegwangzhiwww@enablecopy.com:1.1.20", + "brenes.randall@yahoo.com:1.3.3", + "brenes.randall@yahoo.com:1.3.2", + "brenes.randall@yahoo.com:1.3.1", + "brenes.randall@yahoo.com:1.3", + "brenes.randall@yahoo.com:1.4.1", + "eva-stats@evastats.gg:2.1.0", + "{69ce9ab6-acdc-4bd0-a70b-2d8ec618ad91}:1.3", + "{69ce9ab6-acdc-4bd0-a70b-2d8ec618ad91}:1.4", + "oneal-search@oneal-b2b.com:1.0", + "{fe41cbff-6f4e-4e67-98ad-14c8b31a1797}:1.0", + "{03058c3e-7f90-4256-a256-33e37314f18e}:1.0", + "{cf68dc44-f7ff-43ee-a929-9ee43cf13bd1}:1.0", + "{5dc3b2a0-2973-4e15-b03b-94651f256f4a}:1.0", + "{4c7cd805-e2b3-450f-ae2c-2d8b79283a3c}:1.8.1", + "{4c7cd805-e2b3-450f-ae2c-2d8b79283a3c}:0.2.0", + "{88db91ed-ee4e-45e4-bdda-f96fe9497414}:0.1.0", + "{2afe847b-72d8-4875-91c1-fdfb6e8a1f86}:4.0", + "{2afe847b-72d8-4875-91c1-fdfb6e8a1f86}:2.0", + "{2afe847b-72d8-4875-91c1-fdfb6e8a1f86}:3.0", + "{2afe847b-72d8-4875-91c1-fdfb6e8a1f86}:1.0", + "{3aa9d745-ecf6-4990-9556-188478ca7617}:1.0", + "{3aa9d745-ecf6-4990-9556-188478ca7617}:2.0", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.26", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.24", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.23", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.22", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.21", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.20", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.19", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.18", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.17", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.15", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.14", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.27", + "workflow-pro-suite@local.codex:1.2.2", + "workflow-pro-suite@local.codex:1.2.4", + "workflow-pro-suite@local.codex:1.2.6", + "scroll-ocr-overlay@charleszhang:1.1.11", + "scroll-ocr-overlay@charleszhang:1.1.9", + "scroll-ocr-overlay@charleszhang:1.1.10", + "scroll-ocr-overlay@charleszhang:1.1.8", + "scroll-ocr-overlay@charleszhang:1.1.12", + "scroll-ocr-overlay@charleszhang:1.1.5", + "scroll-ocr-overlay@charleszhang:1.1.6", + "scroll-ocr-overlay@charleszhang:1.1.7", + "scroll-ocr-overlay@charleszhang:1.1.13", + "scroll-ocr-overlay@charleszhang:1.1.16", + "scroll-ocr-overlay@charleszhang:1.1.14", + "scroll-ocr-overlay@charleszhang:1.1.18", + "scroll-ocr-overlay@charleszhang:1.1.17", + "scroll-ocr-overlay@charleszhang:1.1.19", + "scroll-ocr-overlay@charleszhang:1.1.20", + "scroll-ocr-overlay@charleszhang:1.1.21", + "scroll-ocr-overlay@charleszhang:1.1.22", + "scroll-ocr-overlay@charleszhang:1.1.24", + "scroll-ocr-overlay@charleszhang:1.1.23", + "{d0f542cc-da35-4220-b835-db752cdcf7ca}:0.1", + "genshin-resource-tracker@aj1991:1.0.0", + "genshin-resource-tracker@aj1991:1.1.0", + "genshin-resource-tracker@aj1991:1.2.0", + "workflow-pro-suite@local.codex:1.2.7", + "workflow-pro-suite@local.codex:1.2.8", + "android-back-closer-v3@myscript.com:1.0" + ] + }, + "schema": 1782218212836, + "key_format": "{guid}:{version}", + "stash_time": 1782239705861, + "id": "c2f4dd72-43c8-4cd0-ba51-6bcdd8e15f56", + "last_modified": 1782239791285 + }, + { + "stash": { + "blocked": [ + "secure-download-manager@35b87077-3a6a-4e2f-8d1b-94365c04ad5b:1.0.0", + "secure-download-manager@35b87077-3a6a-4e2f-8d1b-94365c04ad5b:2.0", + "secure-download-manager@35b87077-3a6a-4e2f-8d1b-94365c04ad5b:2.2.3", + "secure-download-manager@35b87077-3a6a-4e2f-8d1b-94365c04ad5b:2.3.7", + "secure-download-manager@6d1983d3-6391-4c98-be1e-ab4f1025ac28:1.0.0", + "secure-download-manager@6d1983d3-6391-4c98-be1e-ab4f1025ac28:7.8", + "secure-download-manager@6d1983d3-6391-4c98-be1e-ab4f1025ac28:7.9", + "staffnews-auto-opener@example.com:1.5", + "staffnews-auto-opener@example.com:4.2", + "{acc96b98-d958-4835-8235-416c26fb6fca}:1.1", + "{acc96b98-d958-4835-8235-416c26fb6fca}:1.2", + "{f11497ce-3cef-4e15-b822-b8ea77d5fe06}:2.4.0", + "{3366173f-6e1c-4794-aae2-41169d2a1604}:1.1.0" + ], + "unblocked": [], + "softblocked": [ + "@chaturbate:2.45", + "selector@intunedhq.com:0.0.04", + "dont-feed-me@julien:2.0.0", + "@cisco-quarantine-search-external:1.4.0", + "@cisco-quarantine-search-external:1.4.1", + "{b3cb7414-49c2-49f9-a478-a7f4958cbaf2}:1.5.0", + "02ad42742939e2247778a524dda9312633713517@mazik.ua:1.2", + "react-devtools-2zomqe@example.com:1.0.0", + "{3459f00a-e71b-4832-b75f-3aa5c2d4d760}:2.3.0", + "{474b69b3-51c3-4776-8552-b7cae34c2b39}:1.0", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:3.1", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:4.0", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:4.1", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:4.2", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:4.3", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:4.4", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:4.5", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:4.6", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:4.7", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:4.8", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:4.9", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:5.0", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:5.1", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:5.2", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:5.3", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:5.5", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:5.6", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:5.7", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:5.8", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:5.9", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:5.9.2", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:5.9.3", + "{081f1a1b-1765-401b-90b2-f985573a8ef8}:5.9.4", + "odoo-companion@dotbdsolutions.com:2.13.2", + "leagsoft_extension@leagsoft.com:1.1.1", + "leagsoft_extension@leagsoft.com:1.1.7", + "24gliwice-comments@example.com:1.6", + "ai-recruiting-agent@aidexianzhaopinguan.com:2.0.6.9", + "rabbit-link@scout24.com:1.1", + "rabbit-link@scout24.com:1.2", + "name-print@private.local:1.0", + "lepis-time-tools@example.com:1.0", + "{C7D2E1F4-9A8B-4E3C-B5D1-2E4F6A8C0B2D}:1.0.1", + "{C7D2E1F4-9A8B-4E3C-B5D1-2E4F6A8C0B2D}:1.0.2", + "x-archive-explorer@dev.com:1.0.0", + "ffeed@ffeed.developer.gmail.com:0.33.0", + "ffeed@ffeed.developer.gmail.com:0.34.0", + "ffeed@ffeed.developer.gmail.com:0.35.0", + "ffeed@ffeed.developer.gmail.com:0.36.0", + "ffeed@ffeed.developer.gmail.com:0.37.0", + "ffeed@ffeed.developer.gmail.com:0.38.0", + "creatordash-youtube@creatordash.local:1.0.0", + "support@browserrelay.com:0.1.0", + "securealias@secureinseconds.com:1.0.3", + "securealias@secureinseconds.com:1.0.5", + "securealias@secureinseconds.com:1.0.8", + "@chaturbate:2.49", + "{69ce9ab6-acdc-4bd0-a70b-2d8ec618ad91}:1.0", + "{69ce9ab6-acdc-4bd0-a70b-2d8ec618ad91}:1.1", + "{69ce9ab6-acdc-4bd0-a70b-2d8ec618ad91}:1.2", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.11", + "dev-newtab@local:0.1.0", + "dev-newtab@local:0.2.0" + ] + }, + "schema": 1782196621214, + "key_format": "{guid}:{version}", + "stash_time": 1782218107851, + "id": "d2ec10f8-3aa1-45b0-bcc2-2fb8a8eb02f5", + "last_modified": 1782218212643 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "rivendellmist@dasoldi.com:1.0.2", + "force-cancel-checker@example.com:1.0.1", + "ffeed@ztkent.github.io:0.4.0", + "ffeed@ztkent.github.io:0.5.0", + "ffeed@ztkent.github.io:0.6.0", + "ffeed@ztkent.github.io:0.7.0", + "ffeed@ztkent.github.io:0.8.0", + "ffeed@ztkent.github.io:0.9.0", + "ffeed@ztkent.github.io:0.10.0", + "ffeed@ztkent.github.io:0.11.0", + "ffeed@ztkent.github.io:0.12.0", + "ffeed@ztkent.github.io:0.13.0", + "ffeed@ztkent.github.io:0.14.0", + "ffeed@ztkent.github.io:0.15.0", + "ffeed@ztkent.github.io:0.16.0", + "ffeed@ztkent.github.io:0.17.0", + "ffeed@ztkent.github.io:0.18.0", + "ffeed@ztkent.github.io:0.19.0", + "ffeed@ztkent.github.io:0.20.0", + "ffeed@ztkent.github.io:0.21.0", + "ffeed@ztkent.github.io:0.22.0", + "ffeed@ztkent.github.io:0.23.0", + "ffeed@ztkent.github.io:0.24.0", + "ffeed@ffeed.github.io:0.25.0", + "ffeed@ffeed.github.io:0.26.0", + "ffeed@ffeed.github.io:0.27.0", + "ffeed@ffeed.github.io:0.28.0", + "ffeed@ffeed.github.io:0.29.0", + "ffeed@ffeed.github.io:0.30.0", + "ffeed@ffeed.github.io:0.31.0", + "ffeed@ffeed.github.io:0.32.0", + "workflow-pro-suite@local.codex:1.1.4", + "workflow-pro-suite@local.codex:1.1.5", + "workflow-pro-suite@local.codex:1.1.7", + "gs-page-reader@vmax.local:1.0.0", + "workflow-pro-suite@local.codex:1.1.9", + "workflow-pro-suite@local.codex:1.2.0", + "workflow-pro-suite@local.codex:1.2.1" + ] + }, + "schema": 1782175007152, + "key_format": "{guid}:{version}", + "stash_time": 1782196508400, + "id": "bab04aa7-5580-4a0c-92c8-cf610930dd14", + "last_modified": 1782196620984 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "guttentaga@gmail.com:2.0", + "{9f97d167-6275-4068-ab09-8e400967fd93}:0.1", + "bashkir-morph-to-anki@yourdomain.local:1.0", + "rivendellmist@dasoldi.com:1.0.1", + "itsimonsec@gmail.com:2.0", + "greenpuccin-sencha@connor:1.0.0", + "greenpuccin-matcha@connor:1.0.0", + "@paramount-hd-plus:1.16" + ] + }, + "schema": 1782153403058, + "key_format": "{guid}:{version}", + "stash_time": 1782174907983, + "id": "41b5492e-cd5d-4776-8484-cf862904cc1d", + "last_modified": 1782175006846 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "webpages-font-override-helvetica@nyamato.dev:1.1", + "odoo-font-override-helvetica@nyamato.dev:1.11", + "leaveyou@leaveyou:1.0.0", + "@cisco-quarantine-search-external:1.3.0", + "{303828fb-5eed-4bd9-8c63-4548bf9c9665}:1.5.9", + "{303828fb-5eed-4bd9-8c63-4548bf9c9665}:1.5.7", + "{303828fb-5eed-4bd9-8c63-4548bf9c9665}:1.5.2", + "shady-dm@extension:1.0.0", + "{7d403c79-3383-4785-b6d4-795db26a1c00}:0.1", + "{6c9f442b-3d07-4be9-b36b-50d5849b9682}:0.1", + "anime-checker@example.com:1.0" + ] + }, + "schema": 1782131795255, + "key_format": "{guid}:{version}", + "stash_time": 1782153307504, + "id": "f5185698-2e25-44f7-aa65-9c7c2ea14e50", + "last_modified": 1782153402856 + }, + { + "stash": { + "blocked": [ + "{5a72cd50-76dc-4cf3-8d2b-bbdd2f53e012}:2.0.0", + "{5a72cd50-76dc-4cf3-8d2b-bbdd2f53e012}:1.1", + "{5a72cd50-76dc-4cf3-8d2b-bbdd2f53e012}:2.0.1" + ], + "unblocked": [ + "opti.switcher@node.energy:1.0.2", + "opti.switcher@node.energy:1.0.3", + "opti.switcher@node.energy:1.0.4", + "vantage@skyfielddigital.com:3.0.0", + "vantage@skyfielddigital.com:3.0.1", + "vantage@skyfielddigital.com:3.0.2", + "vantage@skyfielddigital.com:3.0.3", + "vantage@skyfielddigital.com:3.0.4", + "vantage@skyfielddigital.com:3.0.6", + "vantage@skyfielddigital.com:3.0.8" + ], + "softblocked": [ + "my-custom-addon@example.com:2.0", + "proxyrotator@local:1.0.4", + "test1@example.com:2.3", + "criticality-highlighter@example.com:1.0.0", + "sf-remote-workorder@addon:2.0.0", + "info@recall-app.com:1.124", + "selveo-autologin-app@firtal.com:0.4.0", + "sf-glocke@addon:2.0.0", + "sf-glocke@addon:2.1.0", + "sf-glocke@addon:2.2.0", + "amincabaxx70@gamail.com:1.0", + "deepl-translator@local:1.0.0", + "info@markdown.com:1.0", + "max-security@local.extension:1.1.0", + "ammit.duat@kaathewise.net:2024.9.8", + "my-chatbox-12345@my-computer.com:1.0", + "gestelab@crpp.cnrs.fr:0.1", + "@rf-extension-001:4.6", + "@rf-extension-001:4.7", + "@rf-extension-001:4.61", + "@rf-extension-001:4.72", + "@rf-extension-001:4.73", + "@rf-extension-001:4.17", + "@rf-extension-001:4.76", + "@rf-extension-001:4.81", + "@rf-extension-001:4.86", + "@rf-extension-001:4.87", + "gemini-helper-sidebar-9999@my-computer.com:1.2", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.2", + "zhanghuanonline@163.com:2.1.2", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.6", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.7", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.8", + "custom-youtube-playback-rotation@mentkol.addons:1.0.1", + "pricecharting-search@plmgrn.users.noreply.github.com:1.2.3", + "SimpleSelSCK5Proxy@extension.org:1.0.1", + "maskscript@qkhnsmsk.dev:1.1.0", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.9" + ] + }, + "schema": 1782110192238, + "key_format": "{guid}:{version}", + "stash_time": 1782131706084, + "id": "20397572-115b-4d7a-be55-9cd7f4b3f0f5", + "last_modified": 1782131795053 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "gzist-jw-plus@orange:1.0.0f", + "flickr-newtab@local:1.0.1", + "{8094105a-81fc-48f4-ade7-91d9ad4b7877}:1.0", + "{8094105a-81fc-48f4-ade7-91d9ad4b7877}:1.1", + "{19c4e8ab-6d91-49a1-989d-8fd8e16aaa86}:1.0", + "{197073a2-eed3-45e0-a64a-a05d98978396}:1.0", + "change-text-style-addon-20250512@example.com:2026.6.11.1", + "change-text-style-addon-20250512@example.com:2026.5.24.3", + "change-text-style-addon-20250512@example.com:2026.5.26.1", + "change-text-style-addon-20250512@example.com:2026.5.30.1", + "change-text-style-addon-20250512@example.com:2026.6.12.1", + "{249f75e9-4e5a-477c-b8f2-5599632fcc70}:1.1", + "gradelink@gradelink.app:1.1.0", + "7speaking-bot-rework@github.com:0.0.43", + "{b3e21da4-99f8-4b37-926f-865d30defb11}:1.0" + ] + }, + "schema": 1782088610427, + "key_format": "{guid}:{version}", + "stash_time": 1782110106892, + "id": "1675d0cd-4683-4a0a-8975-1eb4d1ba0800", + "last_modified": 1782110191959 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{3314b3a6-b5db-4cde-9d9c-d7c0b0e959be}:1.0", + "{3314b3a6-b5db-4cde-9d9c-d7c0b0e959be}:2.0", + "{0df870b8-3dc5-49a2-9d35-5d771cbc84b4}:1.0", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.1", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.26.0", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.25.8", + "{0092db9a-ec6d-473a-b394-865f46ddc282}:1.0", + "smartlog-mobility-bridge@hkirangc:5.0.0", + "smartlog-mobility-bridge@hkirangc:5.0.1", + "smartlog-mobility-bridge@hkirangc:5.0.2" + ] + }, + "schema": 1782066996213, + "key_format": "{guid}:{version}", + "stash_time": 1782088510716, + "id": "286dfcdd-69ab-476e-8b85-1f59bd37f5c5", + "last_modified": 1782088610304 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{aca43f2f-fcbf-410c-bb4b-9e6e2a38b4b2}:1.0.0", + "{cead9cd1-9e60-447b-b830-c12c6c7193b0}:1.1", + "zonechecker@wataniya.iq:5.1.1", + "wowtool@wowtool.tipss:1.0.0", + "@kkplayer:26.6.211", + "{92a209b9-03cc-43bb-b4ab-378a26edb4cf}:0.1.0", + "{f3dc156b-01e7-4bec-aa62-736bfd5a6e8e}:0.1.0", + "{5a72cd50-76dc-4cf3-8d2b-bbdd2f53e012}:2.0.0", + "{5a72cd50-76dc-4cf3-8d2b-bbdd2f53e012}:1.1", + "nortonsafesearch_ul_ven_y_2@symantec.com:3.25.0.4", + "{fabbd25f-3fe2-4385-82b4-f96292a66cc6}:1.0.0", + "video-extract@example.com:1.3", + "video-extract@example.com:1.4", + "deeptrace-browser-collector@deeptrace.local:0.5.35", + "deeptrace-browser-collector@deeptrace.local:0.5.36", + "deeptrace-browser-collector@deeptrace.local:0.5.37", + "deeptrace-browser-collector@deeptrace.local:0.5.38", + "deeptrace-browser-collector@deeptrace.local:0.5.39", + "@kkplayer:26.6.212", + "smartcat-power-tools@addon:1.0", + "smartcat-power-tools@addon:3.0", + "youtube-channel-watermark@aj1991:1.0.0", + "youtube-channel-watermark@aj1991:1.0.3", + "youtube-channel-watermark@aj1991:1.2.0", + "youtube-channel-watermark@aj1991:1.3.0", + "youtube-channel-watermark@aj1991:1.4.0", + "youtube-channel-watermark@aj1991:1.5.0", + "youtube-channel-watermark@aj1991:1.6.0", + "youtube-channel-watermark@aj1991:1.7.0", + "dcnjhgnfnmijfkmcddcmffeamphmmeed@chrome-store-foxified-327074957:1.19.1", + "@fireflybook:1.0", + "{6e5ba2c8-4c6d-4570-98f0-455dbadf7517}:0.0.1", + "{f6921497-ea4f-43a3-8615-6c9863977454}:1.0" + ] + }, + "schema": 1782045396693, + "key_format": "{guid}:{version}", + "stash_time": 1782066907480, + "id": "a155976d-c16a-4faa-8f72-a082f38abe18", + "last_modified": 1782066995938 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "larvol-visible-capture@study-platform.local:0.1.7", + "larvol-visible-capture@study-platform.local:0.1.6", + "larvol-visible-capture@study-platform.local:0.1.4", + "hangar-xplorer-community@alyxone:1.0.118", + "yt-transcript-distiller@smoochy.github.io:1.3.1.1", + "{77f4d1e5-c144-423f-9342-d40937240225}:1.6.0", + "button-popup-tool@example.com:1.1", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:3.9", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:3.8", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:4.0", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:3.1", + "{c2bc3922-458c-403a-9903-b58cacb3e804}:1.0", + "branchpanda@extension:1.0.0", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.25.5", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.25.3", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.25.2", + "{8c739e61-4665-4b27-892a-383aea9c7c77}:1.24.9", + "mail@szyha.ovh:1.4.1", + "{daad0819-9687-4680-9c73-35fee9fae69b}:0.0.4", + "{f60f7f67-bc74-4db2-97b2-de848443764f}:3.5", + "{1258187c-bd07-4384-bde3-c656dc450cd5}:1.1.1", + "{206dd545-e054-447a-8b1f-4ffacfc529a6}:1.2", + "{206dd545-e054-447a-8b1f-4ffacfc529a6}:1.3", + "{c2a0dd4d-caa9-47d8-baae-4157aa569c89}:0.3.0", + "{83fd1d0f-c79e-4166-af36-7232e67ed1be}:0.4", + "{af58c572-ab41-4110-b2e8-7cb984183e75}:0.1.0", + "{86b400f1-e69f-4a5e-8be3-d3ea2befdcec}:1.0", + "{a1fc70e9-1856-4be7-8a5b-6f84f5598161}:1.0", + "{a1fc70e9-1856-4be7-8a5b-6f84f5598161}:1.0.1", + "{a1fc70e9-1856-4be7-8a5b-6f84f5598161}:1.0.2", + "@monospazer-mono:1.0.0" + ] + }, + "schema": 1782023793791, + "key_format": "{guid}:{version}", + "stash_time": 1782045305555, + "id": "9d35f049-eed5-43cb-a673-75e243125ce7", + "last_modified": 1782045396403 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "vault-autofill@local:1.0.0", + "vault-autofill@local:1.0.1", + "vault-autofill@local:1.0.2", + "shorewall@yandex.ru:2.0", + "read-languages@tu-dominio.com:1.3" + ] + }, + "schema": 1782002205628, + "key_format": "{guid}:{version}", + "stash_time": 1782023705850, + "id": "a291af5d-5e15-4759-8321-a1b6f72ea347", + "last_modified": 1782023793573 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "ext267@dat267.github.io:1.0.5", + "{4c3195cd-d0c3-494e-aba2-a1a702fd65d2}:7.1.6", + "ext267@dat267.github.io:1.0.6.245940", + "skip-intro@skipintro.app:1.0.0", + "orb-studio@argo.local:0.2.2", + "orb-studio@argo.local:0.2.0", + "premiumize-resume@local:1.3.1", + "orb-studio@argo.local:0.2.3", + "{070a370e-7f17-4398-9f19-5e6590994939}:1.0", + "claude-scheduler@myextension.local:1.0.0", + "yt-transcript-distiller@smoochy.github.io:1.3.1", + "twitch69@PlzDntKilMeh:1", + "twitch5-fmp4@abrahamchambilla:2025.6.16.1", + "{dd91abe2-0572-4d67-879c-3aa8e419dc80}:1.0.5.1", + "{dd91abe2-0572-4d67-879c-3aa8e419dc80}:1.0.5.2", + "fc-enhanced@forocoches:0.9.9", + "clean-link-copy@example.com:1.0.0", + "{a7f3d2e1-9b4c-4a1e-8d6f-2c5b0e3a1d7f}:3.0.0", + "{a7f3d2e1-9b4c-4a1e-8d6f-2c5b0e3a1d7f}:2.3.1", + "{a7f3d2e1-9b4c-4a1e-8d6f-2c5b0e3a1d7f}:2.3.2", + "{a7f3d2e1-9b4c-4a1e-8d6f-2c5b0e3a1d7f}:2.3.3", + "{a7f3d2e1-9b4c-4a1e-8d6f-2c5b0e3a1d7f}:2.3.4", + "{a7f3d2e1-9b4c-4a1e-8d6f-2c5b0e3a1d7f}:2.3.5", + "favory@sp4ce.pw:4.0.8.6", + "favory@sp4ce.pw:4.0.8.8", + "favory@sp4ce.pw:4.0.8.9", + "favory@sp4ce.pw:4.0.9.1", + "favory@sp4ce.pw:4.0.9.2" + ] + }, + "schema": 1781980609493, + "key_format": "{guid}:{version}", + "stash_time": 1782002107735, + "id": "40228403-5592-4ab9-b54f-6d3dcd23eb70", + "last_modified": 1782002205358 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "JSRestriction@anon:1.7.6", + "JSRestriction@anon:1.7.5", + "JSRestriction@anon:1.7.3", + "JSRestriction@anon:1.7.2", + "JSRestriction@anon:1.7.1", + "JSRestriction@anon:1.7", + "JSRestriction@anon:1.8.3", + "JSRestriction@anon:1.2", + "JSRestriction@anon:1.1", + "JSRestriction@anon:1.0", + "domain-checker@example.com:1.5", + "estrattore-sentenze@example.com:1.3", + "ES2@eius.it:1.3", + "ES1@eius.it:1.3", + "edhrec-jp-replacer@example.com:4.0", + "validony@olister:0.0.2", + "e1@eius.it:1.3", + "lens-opener@firefox-android:1.0.0", + "e2@eius.it:1.3", + "{a536654b-c07c-4668-8c25-5de4666b2bb4}:0.1", + "gutkaufen@gut-kaufen.info:1.8", + "gutkaufen@gut-kaufen.info:2.1", + "gutkaufen@gut-kaufen.info:2.3", + "gutkaufen@gut-kaufen.info:2.4", + "gutkaufen@gut-kaufen.info:2.5", + "gutkaufen@gut-kaufen.info:2.6", + "{4d889d3a-dbe7-4100-af9c-8598640974d5}:1.0", + "{d6abedb5-58d5-4b40-81a3-560b477cd5c2}:0.1", + "7speaking-bot-rework@github.com:0.0.41", + "7speaking-bot-rework@github.com:0.0.38", + "7speaking-bot-rework@github.com:0.0.37", + "7speaking-bot-rework@github.com:0.0.36", + "7speaking-bot-rework@github.com:0.0.31", + "7speaking-bot-rework@github.com:0.0.30", + "7speaking-bot-rework@github.com:0.0.29", + "7speaking-bot-rework@github.com:0.0.28", + "7speaking-bot-rework@github.com:0.0.27", + "{adf530ec-28a1-4c47-a19a-31f551aac694}:1.0", + "{e92ff565-2526-4bcc-b76c-f0994cc3cba5}:2.4.2", + "{22b0588e-edbc-4620-9f48-e2d517993e2c}:1.0", + "{550a1f96-8e30-4801-a726-bb20acc42d35}:1.0", + "{3171b5e9-e99b-4bfa-92bc-5d06c6ab8017}:1.0", + "deeptrace-browser-collector@deeptrace.local:0.5.28", + "deeptrace-browser-collector@deeptrace.local:0.5.29", + "deeptrace-browser-collector@deeptrace.local:0.5.31", + "deeptrace-browser-collector@deeptrace.local:0.5.32", + "deeptrace-browser-collector@deeptrace.local:0.5.33", + "deeptrace-browser-collector@deeptrace.local:0.5.34", + "{96b44f6d-18e6-43d9-8720-673216bb6718}:0.2", + "{96b44f6d-18e6-43d9-8720-673216bb6718}:0.4", + "{96b44f6d-18e6-43d9-8720-673216bb6718}:0.3", + "jlab_automation_1.2@laboratorioab.it:1.2", + "jlab_automation@laboratorioab.it:1.0", + "jlab_automation@laboratorioab.it:1.1", + "ext267@dat267.github.io:1.0.4", + "jlab_automation_1.3@laboratorioab.it:1.2", + "{70c8d535-6562-4b28-9ec1-b2f71ad857a4}:0.1.0" + ] + }, + "schema": 1781958993214, + "key_format": "{guid}:{version}", + "stash_time": 1781980508590, + "id": "93f9b228-ac80-43fd-aa83-e690af8ceed0", + "last_modified": 1781980609214 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "j5j54o76k3@Manual_CRXInstaller:0.1.5", + "j5j54o76k2@Manual_CRXInstaller:0.1.5", + "adoff@adoff.app:3.5.18", + "{76c7d47f-8395-4389-9da5-7296f59e01f1}:1.0", + "adoff@adoff.app:3.5.19", + "hangar-xplorer-community@alyxone:1.0.116", + "hangar-xplorer-community@alyxone:1.0.117", + "{5d864c60-1643-425c-a540-b010971b124b}:2.0.2", + "{5d864c60-1643-425c-a540-b010971b124b}:2.1.0", + "amincabaxx@gmail.com:1.5", + "amincabaxx@gmail.com:1.5.1", + "@cisco-quarantine-search-external:1.0.1", + "@cisco-quarantine-search-external:1.0.2", + "@cisco-quarantine-search-external:1.2.0", + "@cisco-quarantine-search-external:1.2.1", + "@addon-ginko-firefox:0.0.5", + "@addon-ginko-firefox:0.0.6", + "@addon-ginko-firefox:1.0.0", + "@addon-ginko-firefox:1.0.1", + "{d49b2fb3-7bd3-42ba-86f9-e4138c2c2d00}:1.0" + ] + }, + "schema": 1781937390384, + "key_format": "{guid}:{version}", + "stash_time": 1781958906084, + "id": "215fac5a-d8ab-4a8c-b791-830c14643ec2", + "last_modified": 1781958992936 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{38f73884-d10b-4f26-a7c2-4711c4a40b76}:2.1.0", + "{cf588517-2d40-4b32-9c7d-12313cc15cbd}:1.0", + "{fbff3eae-83e4-449b-8293-0715fd1dac2a}:1.0", + "intentmark@example.com:1.5", + "intentmark@example.com:1.4", + "intentmark@example.com:1.2", + "intentmark@example.com:1.1", + "{b427a6ec-5e4b-4a05-a749-3b93840b4d34}:1.0", + "7speaking-bot-rework@github.com:0.0.20", + "{99f06df0-e1d1-42a8-b813-1587b0ede9fe}:0.5.1", + "@own-bookmarklets-menu:0.0.1", + "@own-bookmarklets-menu:0.0.2", + "{898354b3-4adb-43d2-9bda-71b9a3c81836}:1.0.1", + "7speaking-bot-rework@github.com:0.0.26", + "7speaking-bot-rework@github.com:0.0.25", + "7speaking-bot-rework@github.com:0.0.24", + "7speaking-bot-rework@github.com:0.0.23", + "7speaking-bot-rework@github.com:0.0.22", + "7speaking-bot-rework@github.com:0.0.21" + ] + }, + "schema": 1781915784884, + "key_format": "{guid}:{version}", + "stash_time": 1781937305799, + "id": "b6825450-1333-43e5-9979-dbedd3ed37dd", + "last_modified": 1781937390049 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "rust-token-helper@rustplus.cn:3.0.0", + "{a1a2a3a4-a5a6-a7a8-a9a0-b1b2b3b4b5b6}:0.0.20", + "{a1a2a3a4-a5a6-a7a8-a9a0-b1b2b3b4b5b6}:0.0.19", + "{a1a2a3a4-a5a6-a7a8-a9a0-b1b2b3b4b5b6}:0.0.1", + "{a1a2a3a4-a5a6-a7a8-a9a0-b1b2b3b4b5b6}:0.0.2", + "{bf9d72d3-cb95-419e-885b-47939c9311ca}:1.0.2", + "{38f73884-d10b-4f26-a7c2-4711c4a40b76}:2.0.3", + "extension@darkrecon.tech:0.0.2", + "jjwxc-translation-extension@milkybananyan.github.io:2.0.5", + "web-extractor@radiadoresfrontera.com:1.0.0", + "ytmusic-like-bridge@local:0.2.0", + "jjwxc-translation-extension@milkybananyan.github.io:2.1.3", + "ytmusic-like-bridge@local:0.2.1" + ] + }, + "schema": 1781894185468, + "key_format": "{guid}:{version}", + "stash_time": 1781915706282, + "id": "b6bffbd0-badd-4b05-8bae-45e3f183edb0", + "last_modified": 1781915784772 + }, + { + "stash": { + "blocked": [ + "{2bbb2af5-7a6a-410a-9775-0b9f131d279a}:1.21.3", + "{2bbb2af5-7a6a-410a-9775-0b9f131d279a}:1.21.1", + "{e05544b6-8f3f-48b3-b966-b96dee87c8bc}:1.1.0", + "{2bbb2af5-7a6a-410a-9775-0b9f131d279a}:1.21.6", + "{e05544b6-8f3f-48b3-b966-b96dee87c8bc}:1.21.6" + ], + "unblocked": [], + "softblocked": [ + "trading-scorecard@local:1.2.0", + "trading-scorecard@local:2.0.0", + "trading-scorecard@local:2.1.0", + "{c4b89f91-0f3e-47c0-a9df-2d63b0d728e7}:2.6.3", + "group-tabs-sidebar@Dimitrios.gr:14.6", + "group-tabs-sidebar@Dimitrios.gr:14.5", + "group-tabs-sidebar@Dimitrios.gr:13.7", + "group-tabs-sidebar@Dimitrios.gr:12.7.1", + "group-tabs-sidebar@Dimitrios.gr:8", + "group-tabs-sidebar@Dimitrios.gr:10.0", + "group-tabs-sidebar@Dimitrios.gr:11.2", + "cron-url-opener@example.com:3.2", + "cron-url-opener@example.com:3.3", + "cron-url-opener@example.com:3.4", + "cron-url-opener@example.com:3.5", + "cron-url-opener@example.com:3.6", + "cron-url-opener@example.com:3.7", + "cron-url-opener@example.com:3.7.2", + "cron-url-opener@example.com:3.8.0", + "md-formatter@local:1.1.0", + "affiliates-promosapp@siqueiratecnologia.com.br:2026.6.7", + "affiliates-promosapp@siqueiratecnologia.com.br:2026.6.19", + "leading-whitespace-cleaner@example.local:1.0.0", + "riviorivio@example.com:1.26", + "riviorivio@example.com:1.1", + "riviorivio@example.com:1.2", + "riviorivio@example.com:1.25", + "riviorivio@example.com:1.4", + "riviorivio@example.com:1.5", + "riviorivio@example.com:1.24", + "{044307fb-7665-4416-9fe5-ceaf76e4e936}:1.0", + "demonicscans-auto-retry@example.com:1.0.1", + "{5c70c15e-12e3-4bfb-ab3b-6bbf33e485ef}:1.0", + "{4f15e9cc-e5a5-4ad0-9a8d-b5c8d4fad6c3}:1.0.1", + "{4f15e9cc-e5a5-4ad0-9a8d-b5c8d4fad6c3}:1.0.2", + "css-sentry@dougg0k:1.0.92", + "css-sentry@dougg0k:1.0.95", + "css-sentry@dougg0k:1.0.105", + "element-blocker@local.tool:1.0.0" + ] + }, + "schema": 1781872598987, + "key_format": "{guid}:{version}", + "stash_time": 1781894106122, + "id": "970dede9-57e8-40b0-a088-165315756df6", + "last_modified": 1781894185270 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "webunchain@dominicaka.addon:1.0.0", + "sprinternet@softnet.pl:2.0.5", + "{c93a9820-2585-45e6-b870-477ee481a794}:1.0", + "timer-extension-public@mio.addon:1.2.1", + "timer-extension-public@mio.addon:1.1", + "{617b3684-c98c-44da-a855-ec60590bd1b9}:1.1", + "mynotes@local-dev.local:1.0", + "oakfpjifgmfpainopanfgfckhkcfgacb@chrome-store-foxified-588304845:4.0.21", + "gaodngaiillepoddeloolejnhjglabkn@chrome-store-foxified-588304845:4.0", + "nsfw-pin-lock@local.extension:1.0.0", + "{49054afe-c393-4541-962d-1a628bbac1c8}:1.0", + "{2a30f3ec-79db-42b9-ba64-be1924c000fa}:2.6", + "testamber-mednec@axora.health:1.0.0", + "{2bbb2af5-7a6a-410a-9775-0b9f131d279a}:1.21.3", + "{2bbb2af5-7a6a-410a-9775-0b9f131d279a}:1.21.1", + "{e05544b6-8f3f-48b3-b966-b96dee87c8bc}:1.1.0", + "pioclpoplcdbaefihamjohnefbikjilc@chrome-store-foxified-1902409439:6.13", + "khhablkjeghmeinlfgecddpgcopnljpm@chrome-store-foxified-988636933:1.0", + "{d3e2f0a1-1234-5678-9abc-def012345675}:2.0", + "{d3e2f0a1-1234-5678-9abc-def012345675}:2.1", + "{d3e2f0a1-1234-5678-9abc-def012345675}:2.2", + "{d3e2f0a1-1234-5678-9abc-def012345675}:2.3", + "{d3e2f0a1-1234-5678-9abc-def012345675}:2.6", + "{d3e2f0a1-1234-5678-9abc-def012745671}:2.4", + "{d3e2f0a1-1234-5678-9abc-def012745671}:2.5", + "{d3e2f0a1-1234-5678-9abc-def012745671}:2.8", + "{d3e2f0a1-1234-5678-9abc-def012345676}:2.6", + "{d3e2f0a1-1234-5678-9abc-def012345676}:2.7", + "{d3e2f0a1-1234-5678-9abc-def012345676}:2.8", + "{d3e2f0a1-1234-5678-9abc-def012345676}:2.9", + "{d3e2f0a1-1234-5678-9abc-def012345676}:2.10", + "{d3e2f0a1-1234-5678-9abc-def012345676}:2.12", + "pop-up-reminder@tianhegao.com:0.0.1", + "pop-up-reminder@tianhegao.com:0.0.2", + "pop-up-reminder@tianhegao.com:0.0.3", + "pop-up-reminder@tianhegao.com:0.0.4", + "org-protocol@yidajiabei.xyz:1.0.0", + "org-protocol@yidajiabei.xyz:1.0.1", + "org-protocol@yidajiabei.xyz:1.0.2", + "gemini-context-manager@kahsa.local:0.5.2", + "gemini-context-manager@kahsa.local:0.7.0", + "gemini-context-manager@kahsa.local:0.7.1" + ] + }, + "schema": 1781850997275, + "key_format": "{guid}:{version}", + "stash_time": 1781872507263, + "id": "eab566ec-455f-42a3-8d88-a97ab4a6f415", + "last_modified": 1781872598767 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "featherdate@dev.tkers:0.1", + "{c45033a8-11f5-43e6-adcd-3dd173887fda}:1.1", + "{31c10719-ed67-4717-9f60-adbf901acf06}:1.1", + "ATBC@EasonWong:4.0.3", + "itsimonsec@gmail.com:1.0.0", + "itsimonsec@gmail.com:1.1", + "{380fdbc5-2de6-4fb1-a4a0-f2e6aaad47a0}:1.0", + "sweet-bliss@nekowork:2.3.1" + ] + }, + "schema": 1781829396007, + "key_format": "{guid}:{version}", + "stash_time": 1781850906841, + "id": "271fa5af-072c-4bf3-83c8-aeb42f87ff5b", + "last_modified": 1781850997092 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "macro-recorder@local:1.7.5", + "macro-recorder@local:1.7.4", + "macro-recorder@local:1.7.2", + "macro-recorder@local:1.7.1", + "macro-recorder@local:1.4.7", + "macro-recorder@local:1.5.0", + "rtl-helper@peyvandnegar.ir:4.4", + "{a377876f-b2e1-4afd-9656-ba621873a8ca}:1.0", + "{ab3a1179-78cb-4a46-a35d-8dd5f370cf26}:2.1.4", + "{ab3a1179-78cb-4a46-a35d-8dd5f370cf26}:2.1.5", + "{ab3a1179-78cb-4a46-a35d-8dd5f370cf26}:2.2.6", + "{ab3a1179-78cb-4a46-a35d-8dd5f370cf26}:2.2.7", + "{ab3a1179-78cb-4a46-a35d-8dd5f370cf26}:2.2.8", + "{ab3a1179-78cb-4a46-a35d-8dd5f370cf26}:2.2.9", + "tab-counter@aragonda:1.0", + "ATBC@EasonWong:4.0.1", + "test-ext2@signer.local:1.0", + "test-ext@signer.local:1.0", + "{b1f3c8a9-4a2e-4b7c-4e1f-8a3d6c5b4e2f}:1.0" + ] + }, + "schema": 1781807807803, + "key_format": "{guid}:{version}", + "stash_time": 1781829306611, + "id": "6576073d-93ed-4026-99c6-987183e5b71e", + "last_modified": 1781829395812 + }, + { + "stash": { + "blocked": [ + "{b1f3c8a9-4a2e-4b7c-9e1f-8a3d6c5b4e2f}:1.0" + ], + "unblocked": [], + "softblocked": [ + "deeptrace-browser-collector@deeptrace.local:0.5.30", + "unhook-locked@local.invalid:1.6.9.1", + "allegrosmartmonitor@adam.desktop:0.1", + "{6de26d45-ff2c-4622-92b9-d19d0db1d115}:1.0", + "{6de26d45-ff2c-4622-92b9-d19d0db1d115}:2.0", + "{6de26d45-ff2c-4622-92b9-d19d0db1d115}:3.0", + "{6de26d45-ff2c-4622-92b9-d19d0db1d115}:4.0", + "{6de26d45-ff2c-4622-92b9-d19d0db1d115}:5.0", + "{b650e384-9f24-4183-ba7f-2eb22dbb565a}:1.0", + "{b650e384-9f24-4183-ba7f-2eb22dbb565a}:2.0", + "{b650e384-9f24-4183-ba7f-2eb22dbb565a}:3.0", + "{b650e384-9f24-4183-ba7f-2eb22dbb565a}:4.0", + "{b650e384-9f24-4183-ba7f-2eb22dbb565a}:5.0", + "{b650e384-9f24-4183-ba7f-2eb22dbb565a}:6.0", + "{b650e384-9f24-4183-ba7f-2eb22dbb565a}:7.0", + "marcadores3d@mi-extension.com:1.1", + "marcadores3d@mi-extension.com:1.2", + "marcadores3d@mi-extension.com:1.3", + "marcadores3d@mi-extension.com:1.4", + "marcadores3d@mi-extension.com:1.5", + "marcadores3d@mi-extension.com:1.6", + "marcadores3d@mi-extension.com:1.8", + "marcadores3d@mi-extension.com:1.9", + "marcadores3d@mi-extension.com:2.0", + "marcadores3d@mi-extension.com:2.1", + "marcadores3d@mi-extension.com:2.2", + "marcadores3d@mi-extension.com:2.4", + "{53dc41e4-2466-4dcd-af07-c7deb35e1df8}:1.0", + "{6a8fd5c3-fda8-46c8-96be-633b30958a2e}:1.0", + "vantage@skyfielddigital.com:3.0.0", + "vantage@skyfielddigital.com:3.0.1", + "vantage@skyfielddigital.com:3.0.2", + "vantage@skyfielddigital.com:3.0.3", + "vantage@skyfielddigital.com:3.0.4", + "vantage@skyfielddigital.com:3.0.6", + "vantage@skyfielddigital.com:3.0.8", + "{a47b8f3e-2d51-4b8c-9a3e-7f1d4e9c5a2b}:3.4.0", + "{584c573f-a0ea-4c3f-813e-a414e00a21f3}:2.6.618", + "vpn@protons.ch:1.3.0", + "jggkdaaopbochflbhaanbcdigehmgofk@chrome-store-foxified-1689782570:0.1.7.2", + "aimamonitorpro@local:4.0.0", + "iris-connector@homelab:1.0", + "{e4691371-ccd1-4ae0-89be-92017f74eef1}:2.0", + "{78d31ef7-38a7-4902-99dc-2a1949583efc}:2.0", + "{542dd81e-bc56-4c74-b54a-b7e359a0c1aa}:2.0", + "sleep-time-43730c856b98@openai.example:1.3.4" + ] + }, + "schema": 1781786191453, + "key_format": "{guid}:{version}", + "stash_time": 1781807710141, + "id": "d87dcc70-5ed0-41fc-a591-d9c58299009c", + "last_modified": 1781807807577 + }, + { + "stash": { + "blocked": [ + "kitad@ykitadd.net:1.4" + ], + "unblocked": [], + "softblocked": [ + "yt-keyword-filter-private@yourdomain.local:1.0", + "yt-keyword-filter-private@yourdomain.local:2.0", + "hammer-local@localhost:3.0.8", + "macro-recorder@local:1.4.2", + "macro-recorder@local:1.4.3", + "{b05b200c-5544-436a-a37d-babf1654ffe3}:1.0", + "proton-mail-checker@bolausson:1.8.10", + "proton-mail-checker@bolausson:1.8.6", + "proton-mail-checker@bolausson:1.8.4", + "proton-mail-checker@bolausson:1.8.5", + "proton-mail-checker@bolausson:1.8.7", + "proton-mail-checker@bolausson:1.8.8", + "proton-mail-checker@bolausson:1.6.9", + "proton-mail-checker@bolausson:1.6.2", + "proton-mail-checker@bolausson:1.6.1", + "proton-mail-checker@bolausson:1.6.0", + "proton-mail-checker@bolausson:1.5.12", + "proton-mail-checker@bolausson:1.5.11", + "proton-mail-checker@bolausson:1.5.10", + "proton-mail-checker@bolausson:1.5.9", + "macro-recorder@local:1.4.4", + "proton-mail-checker@bolausson:1.8.9", + "proton-mail-checker@bolausson:1.8.11", + "image-converter@verimedia.xyz:1.1.0", + "macro-recorder@local:1.6.9", + "macro-recorder@local:1.6.8", + "macro-recorder@local:1.6.5", + "macro-recorder@local:1.6.1", + "macro-recorder@local:1.4.6", + "gzist-jw-plus@orange:1.4.7", + "gzist-jw-plus@orange:1.4.6", + "yahoo-coupon-csv-reflector@example.com:1.0.1", + "securedrelay@extension:1.1.2", + "macro-recorder@local:1.6.15", + "gzist-jw-plus@orange:1.4.9", + "reload-the-tab-when-error-addon-20260523@example.com:2026.6.12.1", + "reload-the-tab-when-error-addon-20260523@example.com:2026.6.11.2", + "reload-the-tab-when-error-addon-20260523@example.com:2026.6.11.1", + "reload-the-tab-when-error-addon-20260523@example.com:2026.6.10.1", + "reload-the-tab-when-error-addon-20260523@example.com:2026.5.30.1", + "reload-the-tab-when-error-addon-20260523@example.com:2026.6.7.1", + "reload-the-tab-when-error-addon-20260523@example.com:2026.6.9.1", + "sleep-time@local.example:1.0.1", + "sleep-time@openai.local:1.3.1", + "vaziral@vaziral.ir:2.1", + "klmdiefkoooonahndmepicmgfdffihmc@chrome-store-foxified--1272319310:0.20.4", + "iblenkmcolcdonmlfknbpbgjebabcoae@chrome-store-foxified--1272319310:4.1.17", + "mihcahmgecmbnbcchbopgniflfhgnkff@chrome-store-foxified-2029596494:4.4.0", + "hmjkmjkepdijhoojdojkdfohbdgmmhki@chrome-store-foxified-2029596494:3.1.16384.1084", + "boadgeojelhgndaghljhdicfkmllpafd@chrome-store-foxified-2029596494:15.1120.0.4", + "jngbfbbdhpmegcmigefjoejeomhllaid@chrome-store-foxified--1272319310:0.3.0.58", + "djffgnjhndjebbbgmkibfgjfegffmcpm@chrome-store-foxified-2029596494:3.0.7" + ] + }, + "schema": 1781764590325, + "key_format": "{guid}:{version}", + "stash_time": 1781786108403, + "id": "322cab02-13be-4894-aded-61218443290f", + "last_modified": 1781786191343 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{0dc299d7-8f55-4584-b466-7f9c319c6561}:0.1", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.0", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.1", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.2", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.3", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.4", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.5", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.6", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.7", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.8", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.9", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.10", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.11", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.12", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:1.13", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:2.0", + "{A1709D0A-E378-47FB-90F3-92B7F5E04D3F}:2.1", + "ytmusicorganizer@leviraniere:2.1.0", + "{98ad684d-7396-43d2-abaa-91f7789fbacb}:0.1", + "japanese-image-translator@local:1.0.0", + "Auto_Refresh0010@example.com:1.2", + "submit@cpbuddy.dev:1.0.5", + "chzzk-quality-dvbkc@ext:1.4.8.3", + "dylan.zhang@domain.com:1.7.2", + "{28b4ed3a-25af-4b90-a48a-566db5c3ca91}:1.0" + ] + }, + "schema": 1781743005663, + "key_format": "{guid}:{version}", + "stash_time": 1781764505221, + "id": "8cf1fea6-5e81-4899-9e10-b9fb31523f6b", + "last_modified": 1781764590130 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "medical-survey-handoff-lite@example.local:0.4.1", + "markandfind@marpol.addon:1.0.0", + "shorts-blocker@velvet-addons.local:1.0", + "shorts-blocker@velvet-addons.local:1.2", + "nudge-security-extension-internal@nudge.security:0.11.7", + "gemiflow@geminichatorganizer.com:1.0.0", + "jjwxc-translation-extension@milkybananyan.github.io:2.0.1", + "nestor-linker@wisepie.local:1.0" + ] + }, + "schema": 1781721386602, + "key_format": "{guid}:{version}", + "stash_time": 1781742908428, + "id": "4aedcb23-b911-44a1-8832-352b51593c72", + "last_modified": 1781743005443 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "formrecovery@itzonecv.online:1.3", + "oswsp1@tanoshinde.com:2.0.9", + "GolfChec@bigspecgames.com:6.0", + "xelya-deploy-monitor@xelya.io:1.7.3", + "xelya-deploy-monitor@xelya.io:2.2.8", + "terra-translate@toriitranslate.com:1.3.0", + "terra-translate@toriitranslate.com:1.4.2", + "terra-translate@toriitranslate.com:1.4.3", + "{b5a4a7d8-4fbd-4cbd-a7de-91673c831310}:1.0", + "personal-space@wencongchio:1.0.0", + "personal-space@wencongchio:1.0.1", + "opti.switcher@node.energy:1.0.2", + "opti.switcher@node.energy:1.0.3", + "opti.switcher@node.energy:1.0.4", + "{87abf9f7-8b13-4c82-b0b2-56ccadbbf064}:1.3", + "{87abf9f7-8b13-4c82-b0b2-56ccadbbf064}:1.6", + "linkding-local@remy.mozmail.com:1.16.0", + "monarch-retail-tracker-ff@hstack.dev:1.0.21", + "mundial2026@local:1.2.3", + "mundial2026@local:1.3", + "mundial2026@local:1.2", + "mundial2026@local:1.1.1", + "mundial2026@local:1.1", + "mundial2026@local:1.0", + "materialyou-customcharcoal@jetpack:1.0", + "ublock@example.dev:1.0.1", + "forpersonalkoray@gmail.com:1.0", + "ATBC@EasonWong:4.0.2", + "addon@upskirt.example.com:1.8.5.5", + "addon@upskirt.example.com:1.8.5.4", + "addon@upskirt.example.com:1.8.5.3", + "addon@upskirt.example.com:1.8.5.2", + "addon@upskirt.example.com:1.8.5.1", + "addon@upskirt.example.com:1.8.5", + "addon@upskirt.example.com:1.8.4.2", + "addon@upskirt.example.com:1.8.4.1", + "addon@upskirt.example.com:1.8.3.1", + "addon@upskirt.example.com:1.8.4", + "addon@upskirt.example.com:1.8.3", + "addon@upskirt.example.com:1.8.2.1" + ] + }, + "schema": 1781699792144, + "key_format": "{guid}:{version}", + "stash_time": 1781721305668, + "id": "21869472-6de4-4dd0-a816-1eb085a02996", + "last_modified": 1781721386501 + }, + { + "stash": { + "blocked": [ + "{08032555-8c28-4ae8-8c84-e8249cfad5a8}:1.0.1", + "{08032555-8c28-4ae8-8c84-e8249cfad5a8}:1.0.0", + "{194abb10-67b8-43fa-b8a5-4fd86520fe6a}:1.4.0", + "{08032555-8c28-4ae8-8c84-e8249cfad5a8}:1.0.2", + "{194abb10-67b8-43fa-b8a5-4fd86520fe6a}:1.4.2" + ], + "unblocked": [], + "softblocked": [ + "wuxiaworld-ad-remover@basile:1.0.0", + "wuxiaworld-ad-remover@basile:1.0.1", + "@addon-ginko-firefox:0.0.1", + "@addon-ginko-firefox:0.0.3", + "@addon-ginko-firefox:0.0.4", + "manga-saver@vmsa.snikit.party:1.4.0", + "manga-saver@vmsa.snikit.party:1.5.0", + "deeptrace-browser-collector@deeptrace.local:0.5.24", + "deeptrace-browser-collector@deeptrace.local:0.5.23", + "amazon-tracker@fabian.local:0.4.1", + "lyricvibe@example.com:0.3.0", + "screenshot-extension@badr.dev:1.0.0", + "screenshot-extension@badr.dev:1.0.1", + "auth-exporter@helium.sh:1.0.2", + "twofa-phone-mobile-autofill@local.ticketing:0.1.0", + "lyricvibe@example.com:0.12.0", + "metano-dlp@metano.ai:0.2.0", + "group-tabs-sidebar@Dimitrios.gr:12.6.3", + "group-tabs-sidebar@Dimitrios.gr:12.3", + "group-tabs-sidebar@Dimitrios.gr:12.0", + "group-tabs-sidebar@Dimitrios.gr:12.4", + "group-tabs-sidebar@Dimitrios.gr:12.7", + "group-tabs-sidebar@Dimitrios.gr:11.0", + "group-tabs-sidebar@Dimitrios.gr:13.0.0", + "group-tabs-sidebar@Dimitrios.gr:13.1", + "group-tabs-sidebar@Dimitrios.gr:13.2", + "og-e@ogame-extensions:1.18.0", + "group-tabs-sidebar@Dimitrios.gr:13.4", + "group-tabs-sidebar@Dimitrios.gr:13.5", + "oge-expedition-helper@ogame-extensions:4.9.3", + "oge-expedition-helper@ogame-extensions:4.9.1", + "oge-expedition-helper@ogame-extensions:4.3.0", + "oge-expedition-helper@ogame-extensions:4.9.0", + "oge-expedition-helper@ogame-extensions:4.8.4", + "oge-expedition-helper@ogame-extensions:4.8.3", + "oge-expedition-helper@ogame-extensions:4.8.2", + "oge-expedition-helper@ogame-extensions:4.8.1", + "oge-expedition-helper@ogame-extensions:4.8.0", + "{c1c91939-66d8-4779-a97f-be19b7490064}:1.0", + "{ed34e57b-f1c8-48d2-af65-ddf88ca2fa02}:1.0", + "oge-expedition-helper@ogame-extensions:4.7.13", + "oge-expedition-helper@ogame-extensions:4.7.4", + "oge-expedition-helper@ogame-extensions:4.4.2", + "oge-expedition-helper@ogame-extensions:4.3.1", + "oge-expedition-helper@ogame-extensions:4.7.6", + "oge-expedition-helper@ogame-extensions:4.4.1", + "oge-expedition-helper@ogame-extensions:4.1.0", + "oge-expedition-helper@ogame-extensions:2.3.0", + "oge-expedition-helper@ogame-extensions:4.7.7", + "oge-expedition-helper@ogame-extensions:4.4.4", + "oge-expedition-helper@ogame-extensions:3.2.0", + "oge-expedition-helper@ogame-extensions:4.2.0", + "oge-expedition-helper@ogame-extensions:4.7.1", + "oge-expedition-helper@ogame-extensions:3.1.0", + "oge-expedition-helper@ogame-extensions:4.7.11", + "oge-expedition-helper@ogame-extensions:4.7.8", + "oge-expedition-helper@ogame-extensions:4.4.5", + "oge-expedition-helper@ogame-extensions:4.0.0", + "oge-expedition-helper@ogame-extensions:3.0.0", + "oge-expedition-helper@ogame-extensions:4.9.6", + "deeptrace-browser-collector@deeptrace.local:0.5.26", + "formrecovery@itzonecv.online:1.5", + "formrecovery@itzonecv.online:1.4" + ] + }, + "schema": 1781678215718, + "key_format": "{guid}:{version}", + "stash_time": 1781699708413, + "id": "c83c207d-03ff-4d9d-9176-94435942572b", + "last_modified": 1781699791982 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "soundcloud-eq@local:4.3", + "vault@juanjo.local:1.10.3", + "{163a0e40-d698-4e05-ab13-877961e4a7a1}:1.0", + "{163a0e40-d698-4e05-ab13-877961e4a7a1}:1.1", + "oi0y6t7t2@mozmail.com:2.6.2", + "declutter-tabs@example.com:1.0.0", + "declutter-tabs@example.com:1.0.1" + ] + }, + "schema": 1781656586957, + "key_format": "{guid}:{version}", + "stash_time": 1781678124837, + "id": "e024d900-ca91-4de4-92f2-337803dff02c", + "last_modified": 1781678215359 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{b0af005e-d0f6-4095-b596-c44b1212ffbf}:1.0", + "blingtoolsv2@liviosantos.com.br:0.0.1", + "blingtoolsv2@liviosantos.com.br:0.0.2", + "suporteTeste1@gruposgcor.com.br:1.1.10", + "x-auto-liker-sidebar-v2@alibulutt.dev:2.34.3", + "x-auto-liker-sidebar-v2@alibulutt.dev:2.34.4", + "x-auto-liker-sidebar-v2@alibulutt.dev:2.34.5", + "x-auto-liker-sidebar-v2@alibulutt.dev:2.34.6", + "corz@bluemoon.local:2.0", + "corz@bluemoon.local:1.23", + "corz@bluemoon.local:1.22", + "{099b6a09-8ac4-4ab3-8663-6fab97babaab}:1", + "{615dd926-48fe-4298-bee4-1d652f3b8b65}:0.1.1", + "lt-inline@example.com:0.1.0", + "manga-saver@vmsa.snikit.party:1.1.0", + "manga-saver@vmsa.snikit.party:1.2.0", + "manga-saver@vmsa.snikit.party:1.3.0", + "snippet-share@example.com:1.0.0", + "tz-spoofer@privacyfield.com:1.0.1", + "tz-spoofer@privacyfield.com:1.0.2", + "canvasrefined@diditupe.dev:5.12.6", + "localproctor-knocker@lp-knocker:1.1.0", + "Android@bravenhancer.com:26.0.0", + "Android@bravenhancer.com:26.0.3", + "enhancer@goldenfox.com:26.0.0" + ] + }, + "schema": 1781635014449, + "key_format": "{guid}:{version}", + "stash_time": 1781656505885, + "id": "eb6d4907-df5e-4435-b2cf-56b9020bcaa1", + "last_modified": 1781656586611 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "chatgpt-local-bridge@emonfejm.local:4.1.0", + "corz@bluemoon.local:1.21", + "{280a4748-822f-40fb-aa50-635a444bb854}:2.2.3", + "{f0210de7-0196-4607-9e99-89b4ffb2aa9e}:2.1.0", + "tracker-blocker@baryofarzian:1.0.0", + "disable-cache-for-this-tab@example.com:2026.6.7.1", + "doc-mode-private@nikob.addon:1.0.0", + "doc-mode-private@nikob.addon:1.0.4", + "doc-mode-private@nikob.addon:1.0.3", + "doc-mode-private@nikob.addon:1.0.2", + "adam.agi.extension@agi.network:1.0.0", + "adam.agi.extension@agi.network:1.9.54", + "adam.agi.extension@agi.network:1.9.53", + "adam.agi.extension@agi.network:1.9.52", + "adam.agi.extension@agi.network:1.9.51", + "adam.agi.extension@agi.network:1.9.50", + "adam.agi.extension@agi.network:1.9.45", + "adam.agi.extension@agi.network:1.8.45", + "adam.agi.extension@agi.network:1.6.0", + "adam.agi.extension@agi.network:1.5.0", + "adam.agi.extension@agi.network:1.4.0", + "adam.agi.extension@agi.network:1.2.0", + "adam.agi.extension@agi.network:1.3.0", + "adam.agi.extension@agi.network:1.1.0", + "deeptrace-browser-collector@deeptrace.local:0.5.13", + "deeptrace-browser-collector@deeptrace.local:0.5.14", + "rublock-petr@local:2.0.1", + "rublock-petr@local:1.0.3", + "{a14235f7-7676-4771-bd08-4efd3a81aad2}:1.0", + "{a14235f7-7676-4771-bd08-4efd3a81aad2}:2.0", + "{93d0812c-b06b-42d1-b64f-15eb8356bc88}:0.1", + "{08032555-8c28-4ae8-8c84-e8249cfad5a8}:1.0.1", + "{08032555-8c28-4ae8-8c84-e8249cfad5a8}:1.0.0", + "{194abb10-67b8-43fa-b8a5-4fd86520fe6a}:1.4.0", + "deeptrace-browser-collector@deeptrace.local:0.5.15", + "deeptrace-browser-collector@deeptrace.local:0.5.17", + "deeptrace-browser-collector@deeptrace.local:0.5.20", + "deeptrace-browser-collector@deeptrace.local:0.5.19", + "deeptrace-browser-collector@deeptrace.local:0.5.22", + "autofill@autofillcopilot.com:1.0.3", + "autofill@autofillcopilot.com:1.0.4", + "insights@polyalerthub.com:0.1.0", + "insights@polyalerthub.com:0.1.2", + "insights@polyalerthub.com:0.1.5", + "insights@polyalerthub.com:0.1.6" + ] + }, + "schema": 1781613397489, + "key_format": "{guid}:{version}", + "stash_time": 1781634909576, + "id": "26772569-b44f-429b-bb1f-c614352cd641", + "last_modified": 1781635014263 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "video-injector@local:2.0", + "video-injector@local:3.0", + "protonvpn-personal-nirmal@proton.ch:1.3.4", + "holotranslate-bridge@holosubs.com:0.1.0", + "{e9123d08-4c9f-4ea1-9309-9030c1ada307}:1.0", + "Answers@my:1.1.1", + "Answers@my:1.1.2", + "form-solver-v6-final@narayanchetri.dev:1.0", + "developer-theme@narayanchetri.com:1.0", + "developer-theme@narayanchetri.com:1.1", + "{28ca131e-ab92-4713-ab9c-efffcfd19825}:1.0.1", + "{28ca131e-ab92-4713-ab9c-efffcfd19825}:1.0.2", + "{28ca131e-ab92-4713-ab9c-efffcfd19825}:1.0.3", + "chatgpt-single-chat-backup@cgpflix248.local:0.9.0", + "chatgpt-single-chat-backup@cgpflix248.local:0.9.1", + "chatgpt-single-chat-backup@cgpflix248.local:0.9.3", + "chatgpt-export-mdhtml-personal-e36fd2f7be@local.invalid:1.2.0", + "chatgpt-export-mdhtml-personal-e36fd2f7be@local.invalid:1.0.5", + "chatgpt-export-mdhtml-personal-e36fd2f7be@local.invalid:1.1.4", + "chatgpt-export-mdhtml-personal-e36fd2f7be@local.invalid:1.1.3", + "chatgpt-export-mdhtml-personal-e36fd2f7be@local.invalid:1.1.2", + "chatgpt-export-mdhtml-personal-e36fd2f7be@local.invalid:1.1.1", + "chatgpt-export-mdhtml-personal-e36fd2f7be@local.invalid:1.1.0", + "chatgpt-export-mdhtml-personal-e36fd2f7be@local.invalid:1.0.6", + "gpt-downloader@example.com:1.2.9", + "gpt-downloader@example.com:1.2.1", + "gpt-downloader@example.com:1.2.0", + "gpt-downloader@example.com:1.1.0", + "gpt-downloader@example.com:1.0.0", + "gpt-selector-auto-copy@example.com:1.0.0", + "gemini-exporter@example.com:1.0.3", + "local-android-demo@example.com:1.0.0", + "deeptrace-browser-collector@deeptrace.local:0.5.7", + "deeptrace-browser-collector@deeptrace.local:0.5.8", + "deeptrace-browser-collector@deeptrace.local:0.5.10", + "deeptrace-browser-collector@deeptrace.local:0.5.11", + "deeptrace-browser-collector@deeptrace.local:0.5.12", + "openai-forge-firefox@ivangabriele.com:0.1.3", + "openai-forge-firefox@ivangabriele.com:0.1.5", + "openai-forge-firefox@ivangabriele.com:0.2.0", + "openai-forge-firefox@ivangabriele.com:0.3.0", + "Stop-it.be@hotmail.com:1.8.66", + "Stop-it.be@hotmail.com:1.8.67", + "Stop-it.be@hotmail.com:1.8.68", + "Stop-it.be@hotmail.com:1.8.69", + "Stop-it.be@hotmail.com:1.8.70", + "Stop-it.be@hotmail.com:1.8.71", + "Stop-it.be@hotmail.com:1.8.72", + "Stop-it.be@hotmail.com:1.8.73", + "Stop-it.be@hotmail.com:1.8.74", + "Stop-it.be@hotmail.com:1.8.75", + "Stop-it.be@hotmail.com:1.8.76", + "Stop-it.be@hotmail.com:1.8.77", + "Stop-it.be@hotmail.com:1.8.78", + "Stop-it.be@hotmail.com:1.8.79", + "Stop-it.be@hotmail.com:1.8.80", + "Stop-it.be@hotmail.com:1.8.81", + "Stop-it.be@hotmail.com:1.8.82", + "Stop-it.be@hotmail.com:1.8.83", + "Stop-it.be@hotmail.com:1.8.84", + "Stop-it.be@hotmail.com:1.8.85", + "Stop-it.be@hotmail.com:1.8.86", + "Stop-it.be@hotmail.com:1.8.87", + "Stop-it.be@hotmail.com:1.8.88", + "Stop-it.be@hotmail.com:1.8.89", + "Stop-it.be@hotmail.com:1.8.90", + "Stop-it.be@hotmail.com:1.8.91", + "Stop-it.be@hotmail.com:1.8.92", + "Stop-it.be@hotmail.com:1.8.93", + "Stop-it.be@hotmail.com:1.8.94", + "Stop-it.be@hotmail.com:1.8.95", + "Stop-it.be@hotmail.com:1.8.96", + "Stop-it.be@hotmail.com:1.8.97", + "Stop-it.be@hotmail.com:1.8.98", + "Stop-it.be@hotmail.com:1.8.99", + "Stop-it.be@hotmail.com:1.9.1", + "Stop-it.be@hotmail.com:1.9.2", + "Stop-it.be@hotmail.com:1.9.3", + "Stop-it.be@hotmail.com:1.9.4", + "Stop-it.be@hotmail.com:1.9.5", + "Stop-it.be@hotmail.com:1.9.6", + "Stop-it.be@hotmail.com:1.9.7", + "Stop-it.be@hotmail.com:1.9.8", + "Stop-it.be@hotmail.com:1.9.9", + "Stop-it.be@hotmail.com:1.9.10", + "Stop-it.be@hotmail.com:1.9.11", + "Stop-it.be@hotmail.com:1.9.12", + "Stop-it.be@hotmail.com:1.9.13", + "Stop-it.be@hotmail.com:1.9.14", + "Stop-it.be@hotmail.com:1.9.15", + "Stop-it.be@hotmail.com:1.9.16", + "Stop-it.be@hotmail.com:1.9.17", + "Stop-it.be@hotmail.com:1.9.18", + "Stop-it.be@hotmail.com:1.9.19", + "Stop-it.be@hotmail.com:1.9.20", + "Stop-it.be@hotmail.com:1.9.21", + "Stop-it.be@hotmail.com:1.9.22", + "Stop-it.be@hotmail.com:1.9.23", + "Stop-it.be@hotmail.com:1.9.24", + "Stop-it.be@hotmail.com:1.9.25", + "Stop-it.be@hotmail.com:1.9.26", + "Stop-it.be@hotmail.com:1.9.27", + "Stop-it.be@hotmail.com:1.9.28", + "Stop-it.be@hotmail.com:1.9.29", + "Stop-it.be@hotmail.com:1.9.30", + "Stop-it.be@hotmail.com:1.9.31", + "Stop-it.be@hotmail.com:1.9.32", + "Stop-it.be@hotmail.com:1.9.33", + "Stop-it.be@hotmail.com:1.9.34", + "Stop-it.be@hotmail.com:1.9.35", + "Stop-it.be@hotmail.com:1.9.36", + "Stop-it.be@hotmail.com:1.9.37", + "Stop-it.be@hotmail.com:1.9.38", + "Stop-it.be@hotmail.com:1.9.39", + "Stop-it.be@hotmail.com:1.9.40", + "Stop-it.be@hotmail.com:1.9.41", + "Stop-it.be@hotmail.com:1.9.42", + "Stop-it.be@hotmail.com:1.9.43", + "Stop-it.be@hotmail.com:1.9.44", + "Stop-it.be@hotmail.com:1.9.45", + "Stop-it.be@hotmail.com:1.9.46", + "Stop-it.be@hotmail.com:1.9.47", + "Stop-it.be@hotmail.com:1.9.48", + "Stop-it.be@hotmail.com:1.9.49", + "Stop-it.be@hotmail.com:1.9.50", + "Stop-it.be@hotmail.com:1.9.51", + "Stop-it.be@hotmail.com:1.9.52", + "Stop-it.be@hotmail.com:1.9.53", + "Stop-it.be@hotmail.com:1.9.54", + "Stop-it.be@hotmail.com:1.9.55", + "Stop-it.be@hotmail.com:1.9.56", + "Stop-it.be@hotmail.com:1.9.57", + "Stop-it.be@hotmail.com:1.9.58", + "Stop-it.be@hotmail.com:1.9.59", + "Stop-it.be@hotmail.com:1.9.61", + "Stop-it.be@hotmail.com:1.9.62", + "Stop-it.be@hotmail.com:1.9.63", + "Stop-it.be@hotmail.com:1.9.64", + "Stop-it.be@hotmail.com:1.9.65", + "Stop-it.be@hotmail.com:1.9.66", + "Stop-it.be@hotmail.com:1.9.67", + "Stop-it.be@hotmail.com:1.9.68", + "Stop-it.be@hotmail.com:1.9.69", + "Stop-it.be@hotmail.com:1.9.70", + "Stop-it.be@hotmail.com:1.9.71", + "Stop-it.be@hotmail.com:1.9.72", + "Stop-it.be@hotmail.com:1.9.73", + "Stop-it.be@hotmail.com:1.9.74", + "Stop-it.be@hotmail.com:1.9.75", + "Stop-it.be@hotmail.com:1.9.77", + "Stop-it.be@hotmail.com:1.9.79", + "Stop-it.be@hotmail.com:1.9.81", + "Stop-it.be@hotmail.com:1.9.82", + "Stop-it.be@hotmail.com:1.9.85", + "Stop-it.be@hotmail.com:1.9.86", + "Stop-it.be@hotmail.com:1.9.87", + "yt-audio-onlyy@mustafachyi.dev:1.0.0" + ] + }, + "schema": 1781591790626, + "key_format": "{guid}:{version}", + "stash_time": 1781613310142, + "id": "6233a653-9881-4b7a-b89b-b24366351c67", + "last_modified": 1781613397307 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{5a28895d-682e-475b-b4f5-49e2422f9918}:1.0", + "{76f7ba1e-0b65-451c-ab14-ef2196cf4366}:1.0", + "{149c74e3-35f0-41a0-94dc-c67c869fe9b7}:1.0", + "{c0ed5e88-8334-48ac-b1be-6c46de20c6a1}:1.0", + "{0b110375-8615-44b2-a1a0-622f30eb148e}:1.0", + "{2a3c1d16-1032-4f1b-8a5a-6f7ec4a997e8}:1.0", + "canvas-designer@canvasdesigner.dev:0.1.0", + "{44573cb9-b9f8-49b9-9622-3873701049a0}:1.0", + "{a8c0036f-00bc-48da-871f-0200a2749f87}:1.0", + "{d73a118b-1506-45ed-a4ec-41258a497afd}:1.0", + "{58fc940c-ba80-4a15-9999-98c30132a5b8}:1.0", + "{5683c1e9-cb8f-41d9-8b99-9964506d0b61}:2.5.5", + "{5683c1e9-cb8f-41d9-8b99-9964506d0b61}:2.5.11", + "{5683c1e9-cb8f-41d9-8b99-9964506d0b61}:2.5.10", + "{5683c1e9-cb8f-41d9-8b99-9964506d0b61}:2.5.9", + "{5683c1e9-cb8f-41d9-8b99-9964506d0b61}:2.5.8", + "{5683c1e9-cb8f-41d9-8b99-9964506d0b61}:2.5.7", + "{5683c1e9-cb8f-41d9-8b99-9964506d0b61}:2.5.6", + "transcript_summarizer@dunkie.local:2.0", + "better-webclass@liquidcatmofu.github.io:0.1.0", + "better-webclass@liquidcatmofu.github.io:0.2.0", + "{306c9179-64b2-46de-9ad9-4c65494efb9c}:1.0", + "{306c9179-64b2-46de-9ad9-4c65494efb9c}:1.1", + "{4bba3066-b43a-41dc-ae96-bcb812c0f782}:1.0", + "just-new-tab@ivanusto.yblog.org:1.46", + "just-new-tab@ivanusto.yblog.org:1.50", + "just-new-tab@ivanusto.yblog.org:1.51", + "just-tab-reloader@ivanusto.gmail.com:2.1", + "just-tab-reloader@ivanusto.gmail.com:2.2", + "Sanjitblondd@gmail.com:1.0", + "Sanjitalented@gmail.com:1.0", + "{38f73884-d10b-4f26-a7c2-4711c4a40b76}:2.0.2" + ] + }, + "schema": 1781570190255, + "key_format": "{guid}:{version}", + "stash_time": 1781591706193, + "id": "252dde2e-27a3-4380-85ae-5a9be3b46506", + "last_modified": 1781591790535 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{0a70030a-9bac-466d-8ab1-bc48682374d9}:2.12.6", + "{82764b9c-dabd-493a-bd7e-7414735cf819}:1.0", + "{2b340f18-0d44-43e9-a79d-45eb299513b6}:1.0", + "{0a70030a-9bac-466d-8ab1-bc48682374d9}:2.12.9", + "Tidz-Orange-v2@tidz.com:2.0", + "teste1@gruposgcor.com.br:1.1.10", + "teste1@gruposgcor.com.br:1.1.11", + "youtube-speed-adjuster@examplesz.com:1.0", + "{c2c83fc9-d284-41ce-902b-1676b885cec1}:1.0", + "amoled-youtube@yourname.example:1.0", + "{69154c7c-ae0f-4d0b-b58d-3cdca7832148}:1.77", + "this-is-a-test@implementation-dev.com:50.0.2", + "this-is-a-test@implementation-dev.com:50.0.3", + "this-is-a-test@implementation-dev.com:50.1.0", + "this-is-a-test@implementation-dev.com:50.1.1", + "this-is-a-test@implementation-dev.com:50.2.0", + "{b7c8a1d0-e27b-4f4d-8a9c-6ef2a5b8e1d4}:1.0.0", + "mytube-sync@local:1.0.0", + "jira-deda-tools@deda-next.it:26.159.5", + "jira-deda-tools@deda-next.it:26.148.1", + "jira-deda-tools@deda-next.it:26.148.2", + "jira-deda-tools@deda-next.it:26.149.1", + "jira-deda-tools@deda-next.it:26.156.2", + "jira-deda-tools@deda-next.it:26.159.6", + "Tidz-Green@tidz.com:1.0", + "audiomasterpro@tu-nombre.com:2.0", + "Tidz-Orange@tidz.com:1.0", + "{f0210de7-0196-4607-9e99-89b4ffb2aa9e}:0.8.0", + "{f0210de7-0196-4607-9e99-89b4ffb2aa9e}:1.7.0", + "{280a4748-822f-40fb-aa50-635a444bb854}:2.2.2", + "{6a2191d4-5a1d-4a21-8bcc-ec937befff3e}:1.0", + "canto-voice-input@example.com:1.6", + "{9904dca4-e114-4107-a459-528a316bd657}:1.0", + "{3b97d0f6-e199-4554-a4e7-d561f4be9084}:1.0" + ] + }, + "schema": 1781548583504, + "key_format": "{guid}:{version}", + "stash_time": 1781570105520, + "id": "b312ab9c-4641-440e-b5b6-29813c62f08e", + "last_modified": 1781570190068 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "whatsapp-privacy-blur@extension:2.2.1", + "whatsapp-privacy-blur@extension:2.1.0", + "whatsapp-privacy-blur@extension:2.0.0", + "macro-recorder@local:1.2.8", + "macro-recorder@local:1.3.8", + "macro-recorder@local:1.3.7", + "macro-recorder@local:1.3.9", + "{52bbb37d-03d2-4d63-b1d0-9cb8a3c28a66}:1.0", + "claudex@ogarniamy.ai:1.1.3", + "claudex@ogarniamy.ai:1.1.2", + "claudex@ogarniamy.ai:1.1.1", + "claudex@ogarniamy.ai:1.1.0", + "claudex@ogarniamy.ai:1.0.0", + "{2dcb0f8a-f9de-4b46-899b-e11f8efc92f4}:0.1", + "macro-recorder@local:1.4.1", + "yt-playlist-cleaner@local:1.0.0", + "paragon-search@amazon.com:4.0", + "tab-volume-control@example.local:0.1.0", + "tab-volume-control@example.local:0.1.1", + "{6bb2e940-4a8f-4c83-8df2-5d2bb1ad4a6f}:1.0.0", + "{dbd14d0b-a38e-440b-bae6-f5b9bc62e619}:3.1.2", + "{95507e73-f131-454e-9529-7acbe47f5833}:1.0", + "{cb1795f1-199c-443b-b4a6-b4cdf654947a}:1.0", + "{09e8e899-bb34-4820-8fe5-7b600da82df2}:1.0", + "andrew@vnnet:0.0.9", + "{ce9f2bfd-d4cb-45f2-91ef-69906ac7770b}:1.0", + "pass014@014.se:0.1.0", + "amazon-tracker@fabian.local:0.4.0", + "{0a70030a-9bac-466d-8ab1-bc48682374d9}:2.12.3", + "{0a70030a-9bac-466d-8ab1-bc48682374d9}:2.12.5", + "{0a70030a-9bac-466d-8ab1-bc48682374d9}:2.12.4" + ] + }, + "schema": 1781526989334, + "key_format": "{guid}:{version}", + "stash_time": 1781548505272, + "id": "d651384f-11e5-4e85-ad32-759825fcd4c0", + "last_modified": 1781548583319 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "google-ai-mode-button@andromeda:1.0", + "haufe-x360-instance-tiles@example.local:1.0.1", + "reemote2@tym-project.fr:1.0", + "reemote2@tym-project.fr:1.1", + "sage-runner@pejuang-sedekah.org:1.4.3", + "binance-p2p-alert@kundan.tools:1.0.0", + "amazon-tracker@fabian.local:0.3.1", + "{95ef11d3-25cf-49fd-baae-1a75a24410d6}:1.0", + "edu-survey-autofill@tau.edu.tr:1.0", + "edu-survey-autofill@tau.edu.tr:1.1", + "auto-login-proxy-lwaror@my-unique-domain.com:1.1", + "justtldr@sjh.local:1.0.0", + "workflow01@remakr1.com:3.3", + "workflow01@remakr1.com:3.2", + "aisummary@local.addon:1.0.0", + "aisummary@local.addon:1.1.0", + "macro-recorder@local:1.0.0", + "macro-recorder@local:1.1.0", + "macro-recorder@local:1.1.1", + "macro-recorder@local:1.1.2", + "macro-recorder@local:1.1.3", + "YoutubeThumnailDownload@example.com:2026.6.15.1", + "YoutubeThumnailDownload@example.com:2024.1.1.1", + "YoutubeThumnailDownload@example.com:2024.5.13.1", + "YoutubeThumnailDownload@example.com:2024.8.13.3", + "YoutubeThumnailDownload@example.com:2024.8.17.1", + "YoutubeThumnailDownload@example.com:2024.8.21.4", + "YoutubeThumnailDownload@example.com:2025.1.15.1", + "YoutubeThumnailDownload@example.com:2026.6.8.1", + "article-picker@rocket049.cn:1.3", + "article-picker@rocket049.cn:1.4", + "@ets-break-together:1.0", + "radio-reginald-image-editor@reginald.local:1.0.0", + "c24-dev-override@carmazoon24.dev:2.0.0", + "ogobell3@icloud.com:1.7.3", + "addon-name-dmd@yourdomaindmd.com:1.0", + "sulu-helper@group.one:1.0.0", + "c24-dev-override@carmazoon24.dev:1.0.0", + "macro-recorder@local:1.3.5", + "macro-recorder@local:1.3.2", + "macro-recorder@local:1.3.0", + "macro-recorder@local:1.2.7", + "macro-recorder@local:1.2.5", + "macro-recorder@local:1.1.4", + "macro-recorder@local:1.2.1", + "macro-recorder@local:1.2.3", + "macro-recorder@local:1.2.6", + "stash-read-later@example.com:1.0.1", + "stash-read-later@example.com:1.3.0", + "stash-read-later@example.com:1.4.0", + "stash-read-later@example.com:1.6.0", + "stash-read-later@example.com:1.7.2", + "stash-read-later@example.com:1.7.4", + "stash-read-later@example.com:1.7.5", + "stash-read-later@example.com:1.7.6", + "{9b731a09-6569-4e7c-adb4-80daeba54a22}:0.1", + "{9b731a09-6569-4e7c-adb4-80daeba54a22}:0.2resigned1", + "bwclient@limtec.de:1.0.0", + "{9c99cf19-12a4-4ea2-b4f5-d94a1c350dbf}:1.2.1", + "{9c99cf19-12a4-4ea2-b4f5-d94a1c350dbf}:1.3.0", + "{9c99cf19-12a4-4ea2-b4f5-d94a1c350dbf}:1.4.0" + ] + }, + "schema": 1781505397497, + "key_format": "{guid}:{version}", + "stash_time": 1781526905754, + "id": "18e3fffe-6c33-4bd7-904b-8166951fc25e", + "last_modified": 1781526989142 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "canto-voice-input@example.com:1.0", + "scrapyard-ob-we@firefox:2.3.0", + "scrapyard-ob-we@firefox:2.3.1", + "ebook-scroll@easydev.dev:0.0.1", + "ebook-scroll@easydev.dev:0.1.0", + "ebook-scroll@easydev.dev:0.1.1", + "ebook-scroll@easydev.dev:0.1.2", + "canto-voice-input@example.com:1.1", + "canto-voice-input@example.com:1.2", + "order-checker@local:1.5.4", + "order-checker@local:1.5.10", + "order-checker@local:1.5.11", + "order-checker@local:1.5.12", + "aglt-booking-strategy@amazon:1.0", + "aglt-booking-strategy@amazon:1.1", + "canto-voice-input@example.com:1.3", + "canto-voice-input@example.com:1.4", + "Android@bravenhancer.com:25.5.0", + "scrapyard-ob-we@firefox:2.3.2", + "scrapyard-ob-we@firefox:2.3.3", + "enhancer@goldenfox.com:25.5.0" + ] + }, + "schema": 1781483788960, + "key_format": "{guid}:{version}", + "stash_time": 1781505310389, + "id": "faae85f0-409e-4bce-82e3-8c517b413e37", + "last_modified": 1781505397308 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "support@inkling-ai.com:1.1.0", + "corretor.app.onlinetechsolucoes@gmail.com:1.0.8", + "reelnotes@reelnotes.app:0.1.0", + "{1cc48350-d662-4ce4-9456-bec18f428187}:1.0.1", + "{1cc48350-d662-4ce4-9456-bec18f428187}:1.0.3", + "{1cc48350-d662-4ce4-9456-bec18f428187}:1.0.4", + "{365a54a0-542e-443a-85d9-2f9e8c790029}:1.2.0", + "rollcloud@carmanayeli.github.io:1.0.0", + "corretor.app.onlinetechsolucoes@gmail.com:1.0.9", + "x-auto-liker-sidebar-v2@alibulutt.dev:2.22.0", + "x-auto-liker-window-v2@alibulutt.dev:2.22.0", + "eur-converter@banglamess.net:3.0", + "{41be6fe8-1d8f-4cd9-bbe1-f375da1e3414}:1.0.0", + "{41be6fe8-1d8f-4cd9-bbe1-f375da1e3414}:1.0.1", + "yt-audio-only@standard.dev:1.0.0", + "yt-audio-only@standard.dev:1.0.1", + "yt-audio-only@standard.dev:1.0.2", + "{78e1e098-2c14-4648-8c57-c4484c72a0e5}:1.0", + "isacc2-predictor@extension:1.0.0", + "isacc2-predictor@extension:1.0.1" + ] + }, + "schema": 1781462185261, + "key_format": "{guid}:{version}", + "stash_time": 1781483706101, + "id": "5a8946c9-efbb-4367-b2d6-f313177f9c6c", + "last_modified": 1781483788757 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "opensocial@example.com:2.7", + "opensocial@example.com:2.8", + "opensocial@example.com:4.0", + "opensocial@example.com:4.1", + "opensocial@example.com:4.2", + "team-serp-sync@yourorganization.com:2.2", + "formrecovery@itzonecv.online:1.0", + "formrecovery@itzonecv.online:1.2", + "{691ee64d-e32b-4c5f-b809-370c8171dde8}:1.6.1.2544", + "{691ee64d-e32b-4c5f-b809-370c8171dde8}:1.6.1.2601", + "{b720425a-f123-4413-b11c-f30d121f0145}:6.0.1.5", + "mobile-interceptor@solidleoz:0.2.1", + "ATBC-beta@EasonWong:4.0.1", + "browser-cli@yiprawr.dev:0.15.0", + "yfv-private-addon@local:7.1.0", + "yfv-private-addon@local:7.2.0", + "url-lookalike-blocker@feldegast.github.io:1.1.1", + "zyrox-gimkit-client@gimkit.local:3.0.0", + "url-lookalike-blocker@feldegast.github.io:1.1.2", + "pricehelper@local.extension:1.0.4", + "arb-auto-buyer@patiencex.extension:2.0.1", + "url-lookalike-blocker@feldegast.github.io:1.1.3", + "url-lookalike-blocker@feldegast.github.io:1.2", + "deeptrace-browser-collector@deeptrace.local:0.5.4", + "deeptrace-browser-collector@deeptrace.local:0.5.5", + "deeptrace-browser-collector@deeptrace.local:0.5.6", + "{105ee6c2-b473-446a-af4b-267c49147027}:1.0", + "corretor.app.onlinetechsolucoes@gmail.com:1.0.6", + "{165eefb5-8bc7-43d7-8606-fee63afb7a27}:1.0", + "corretor.app.onlinetechsolucoes@gmail.com:1.0.7", + "click-utils@byo.co.il:1.3.0" + ] + }, + "schema": 1781440586788, + "key_format": "{guid}:{version}", + "stash_time": 1781462106019, + "id": "a67d7dea-bf95-4a2f-ada8-0c65772fa884", + "last_modified": 1781462185150 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "kash62029@gmail.com:1.0.0", + "kash62029@gmail.com:1.0.1", + "{6bb1afda-1b1d-46e8-afa9-a54d2b7df35b}:1.0.2", + "bandcamp@benjaminsmith.dev:0.0.2", + "simpcity-ilk-sayfa@kendi.eklentim:1.0", + "simpcity-ilk-sayfa@kendi.eklentim:1.1", + "{36a73694-f712-49e6-9c51-b5742dc4516c}:1.0", + "{36a73694-f712-49e6-9c51-b5742dc4516c}:2.0", + "allabolag-addon@local:0.1.0", + "speed-dial@georg.local:1.0.6", + "speed-dial@georg.local:1.0.8", + "speed-dial@georg.local:1.0.7", + "speed-dial@georg.local:1.0.9", + "speed-dial@georg.local:1.1", + "speed-dial@georg.local:1.1.1", + "speed-dial@georg.local:1.1.2", + "speed-dial@georg.local:1.1.3", + "cupons-ifood@extensao:1.2", + "cupons-ifood@extensao:1.4", + "cupons-ifood@extensao:1.5", + "cupons-ifood@extensao:1.6", + "cupons-ifood@extensao:1.7", + "maps-helper@shajen.pl:1.0", + "font-splitter-v2@localextension.com:1.0", + "rosie-logs@extension:1.0.0", + "opensocial@example.com:2.2", + "opensocial@example.com:2.4", + "opensocial@example.com:2.5", + "opensocial@example.com:2.6" + ] + }, + "schema": 1781418984792, + "key_format": "{guid}:{version}", + "stash_time": 1781440507341, + "id": "dfdbf3db-9790-4b62-878a-6bd7e4153adf", + "last_modified": 1781440586691 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "blocktube-blocker@blocker.local:0.4.8", + "blocker-bisect-0@blocker.local:1.0.0", + "article-picker@rocket049.cn:1.1", + "article-picker@rocket049.cn:1.0", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:3.7", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:3.4", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:3.6", + "screenshot-helper@universal-notes.com:1.0", + "twitch-auto-punkte-klicker@dirk.local:1.0.1", + "kimhoainam1207@gmail.com:0.1", + "{6bb1afda-1b1d-46e8-afa9-a54d2b7df35b}:1.0.0", + "{6bb1afda-1b1d-46e8-afa9-a54d2b7df35b}:1.0.1" + ] + }, + "schema": 1781397392226, + "key_format": "{guid}:{version}", + "stash_time": 1781418906016, + "id": "39aa803a-04c2-4b2c-abaf-85e103fc2bef", + "last_modified": 1781418984612 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "turkiye-theme@thedoctor.local:1.0.4", + "turkiye-theme@thedoctor.local:1.0.6", + "gay.benjifox.smolutils@addons.mozilla.org:0.1.5", + "amok2005@gmail.com:1.0.0", + "youtube-media-key-seek-jwalk-personal@firefox:1.0", + "picflow-downloader@local:1.0.0", + "picflow-downloader@local:1.0.1", + "picflow-downloader@local:1.0.2", + "simpli-newtab@local.firefox:1.1.1", + "{a82713e7-2ff3-4d2e-b391-27e58893d200}:0.3.2", + "ext267@dat267.github.io:1.0.3", + "onyxvault-autofill@onyxstar.org:0.5.16", + "tac@sylver-development:1.1.6" + ] + }, + "schema": 1781375788259, + "key_format": "{guid}:{version}", + "stash_time": 1781397305656, + "id": "fa637625-c205-4c39-98a6-403eb99b9eae", + "last_modified": 1781397391983 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:3.3", + "{c681737a-e85c-4c20-9152-3d4ddd5eb6ad}:3.2", + "{d395ce29-147a-41a6-afa8-fcd56d529f7d}:1.0", + "{4eacb408-da21-451c-a30a-302edca2a68d}:1.0", + "{ba329d88-b197-4dab-88c9-f20bc90c583c}:1.0", + "{ba329d88-b197-4dab-88c9-f20bc90c583c}:1.1", + "chatgpt-temp-visualizer@example.local:0.1.0", + "{64036c39-9483-41ed-b046-1b3ae2a98da9}:1.0", + "{fc99c33c-3441-4127-987c-c17a596de475}:4.0.0", + "243466093@qq.com:1.2", + "243466093@qq.com:1.1", + "{b3260456-51c6-400d-aafd-e62abf1c7bed}:3.1.1", + "{b3260456-51c6-400d-aafd-e62abf1c7bed}:2.9.0", + "{dbd14d0b-a38e-440b-bae6-f5b9bc62e619}:1.26.0", + "{dbd14d0b-a38e-440b-bae6-f5b9bc62e619}:0.3", + "{b3260456-51c6-400d-aafd-e62abf1c7bed}:3.1.2", + "save-private-window-cookies@mateusfilipe2k2:2.0.0", + "save-private-window-cookies@mateusfilipe2k2:1.4.0", + "save-private-window-cookies@mateusfilipe2k2:1.3.0", + "save-private-window-cookies@mateusfilipe2k2:1.5.0", + "{84d0e2e7-12fe-4adc-9858-66ebfd58c4df}:1.0" + ] + }, + "schema": 1781354190502, + "key_format": "{guid}:{version}", + "stash_time": 1781375706990, + "id": "3c970a67-dad2-4b72-91f0-ee1348853e58", + "last_modified": 1781375788060 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "enhancer@goldenfox.com:25.4.5", + "Android@bravenhancer.com:25.4.3", + "aphelion@fluffito.github.io:1.0.0", + "aphelion@fluffito.github.io:1.0.2", + "aphelion@fluffito.github.io:1.1.0", + "browser-identity-tab@local:1.0", + "{48414587-8c1d-48fd-81d7-201f3cf1f80e}:2.0", + "{48414587-8c1d-48fd-81d7-201f3cf1f80e}:1.0", + "{48414587-8c1d-48fd-81d7-201f3cf1f80e}:3.0", + "dummy-addon@crashmail.de:1.0", + "foton6_plugin_n1@simple_togle_proxi_mode_v1:1.0.1", + "foton6_plugin_n1@simple_togle_proxi_mode_v1:1.0.2", + "buyee-coordinator@sooyoos.com:1.1.0", + "buyee-coordinator@sooyoos.com:1.2.4", + "buyee-coordinator@sooyoos.com:1.2.0", + "buyee-coordinator@sooyoos.com:1.2.5", + "buyee-coordinator@sooyoos.com:1.2.6" + ] + }, + "schema": 1781332591095, + "key_format": "{guid}:{version}", + "stash_time": 1781354107091, + "id": "6b3a5f96-ae08-49ff-9d7c-a75ac79a26f9", + "last_modified": 1781354190360 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "drceo-dictado@drceoapp.com:5.1.0", + "mi-qol-extension@local.dev:1.0.0", + "claude-mobile-wrapper@jordy.dev:1.2.24", + "claude-mobile-wrapper@jordy.dev:1.2.25", + "chatgpt-group-panel@local:0.1.7", + "speaker-colorizer@local:2.0.9", + "{fc99c33c-3441-4127-987c-c17a596de475}:3.1.2", + "csr-plus@queryery.github.io:0.0.2", + "csr-plus@queryery.github.io:0.0.7", + "{19d35315-b060-4f53-a585-082415e29324}:0.2", + "youtube-ad-skipper-pro@msoftwaresolutions.net:1.2.0", + "youtube-ad-skipper-pro@msoftwaresolutions.net:1.1.1", + "test824u901@example.com:8.2.4", + "test824u900@example.com:8.2.4", + "test824u79@example.com:8.2.4", + "test824u78@example.com:8.2.4", + "test824u77@example.com:8.2.4", + "test824u76@example.com:8.2.4", + "test824l7@example.com:8.2.4", + "{afc77399-0e47-4b05-a35c-0b2f624f87ca}:8.2.4", + "keyforge-2fa@local.extension:1.1.0", + "vpn@protons.ch:1.2.16" + ] + }, + "schema": 1781310990592, + "key_format": "{guid}:{version}", + "stash_time": 1781332506628, + "id": "278e206a-881b-46dc-bdfb-2d114029e676", + "last_modified": 1781332590886 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "csr-inventory-seller@csrestored.local:3.8.5", + "flagscout@gnrs.ca:1.1.0", + "sideview-sync-pro@addon:1.3.0", + "video-resizer@localnet.local:2.7", + "hangar-xplorer-community@alyxone:1.0.113", + "hangar-xplorer-community@alyxone:1.0.114", + "hangar-xplorer-community@alyxone:1.0.115", + "hyp-tikci@mv2:5.0", + "i-use-arch-btw@aleksandersen.port:1.0.8" + ] + }, + "schema": 1781289390755, + "key_format": "{guid}:{version}", + "stash_time": 1781310906737, + "id": "98153f3e-7228-4cfc-9814-37c694e18400", + "last_modified": 1781310990430 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "gestorpro-pdf-bridge@jus.mendoza.gov.ar:11.0", + "url-note-keeper@privacyfield.com:1.0.5", + "url-note-keeper@privacyfield.com:1.0.16", + "url-note-keeper@privacyfield.com:1.0.15", + "url-note-keeper@privacyfield.com:1.0.14", + "url-note-keeper@privacyfield.com:1.0.13", + "url-note-keeper@privacyfield.com:1.0.12", + "url-note-keeper@privacyfield.com:1.0.11", + "url-note-keeper@privacyfield.com:1.0.10", + "url-note-keeper@privacyfield.com:1.0.9", + "url-note-keeper@privacyfield.com:1.0.8", + "url-note-keeper@privacyfield.com:1.0.7", + "url-note-keeper@privacyfield.com:1.0.6", + "inven-local-blocker@gemini.empty:1.0.0", + "flowbulk@david.dev:1.0", + "hyp-tikci@mv2:1.0", + "hyp-tikci@mv2:2.0", + "hyp-tikci@mv2:2.1", + "hyp-tikci@mv2:2.2", + "hyp-tikci@mv2:2.3", + "hyp-tikci@mv2:3.0", + "hyp-tikci@mv2:3.1", + "hyp-tikci@mv2:4.0", + "hyp-tikci@mv2:4.1", + "gemini-context-manager@kahsa.local:0.4", + "gemini-context-manager@kahsa.local:0.5", + "gemini-context-manager@kahsa.local:0.5.1", + "owned-books-highlighter@yourname.local:0.1", + "hyp-butonu@mv2:1", + "hyp-butonu@mv2:2.1", + "hyp-butonu@mv2:3.2", + "hyp-butonu@mv2:4.0", + "hyp-butonu@mv2:3", + "hyp-butonu@mv2:1.2", + "hyp-butonu@mv2:3.1", + "hyp-butonu@mv2:1.1", + "hyp-butonu@mv2:4.1", + "hyp-butonu@mv2:5.0", + "hyp-butonu@mv2:6.0", + "{ca490364-8b9c-4fe6-b28b-1d751828ce73}:2.2", + "{ca490364-8b9c-4fe6-b28b-1d751828ce73}:3.0", + "{ca490364-8b9c-4fe6-b28b-1d751828ce73}:3.1", + "{ca490364-8b9c-4fe6-b28b-1d751828ce73}:3.3", + "{7b936a7e-0fbf-4293-8f8c-31c127f6abaa}:0.2", + "url-note-keeper@privacyfield.com:1.0.18", + "url-note-keeper@privacyfield.com:1.0.17", + "twitch-unmute@wickerm4n.github.io:1.4.7", + "url-note-keeper@privacyfield.com:1.0.19", + "twitch-unmute@wickerm4n.github.io:1.3.2", + "twitch-unmute@wickerm4n.github.io:1.4.0", + "twitch-unmute@wickerm4n.github.io:1.4.1", + "twitch-unmute@wickerm4n.github.io:1.4.2", + "twitch-unmute@wickerm4n.github.io:1.4.3", + "twitch-unmute@wickerm4n.github.io:1.4.4", + "twitch-unmute@wickerm4n.github.io:1.4.6", + "twitch-unmute@wickerm4n.github.io:1.4.8", + "twitch-unmute@wickerm4n.github.io:1.4.9", + "yt-smart-downloader@example.com:1.1", + "yt-smart-downloader@example.com:1.1.1", + "nomad.4lex@gmail.com:1.1", + "nomad.4lex@gmail.com:1.2", + "zen-ai-summarizer@antigravity.ai:1.0.1", + "protonvpn-extension@proton.me:1.3.1", + "clutch-multichat@clutchchat.pro:1.0.0", + "rgaa-toolkit@nabil.local:2.0.0" + ] + }, + "schema": 1781267790856, + "key_format": "{guid}:{version}", + "stash_time": 1781289305642, + "id": "e3f12442-a3b6-4fb8-b272-97320c49ec46", + "last_modified": 1781289390431 + }, + { + "stash": { + "blocked": [ + "flowzen@fzenr.com:1.2", + "SwiftTools@dev55.com:1.0" + ], + "unblocked": [ + "qalam@yourdomain.com:1.0.1", + "qalam@yourdomain.com:1.0.2" + ], + "softblocked": [ + "hivy-tracker@hivy.io:2.2.2", + "hivy-tracker@hivy.io:2.2", + "hivy-tracker@hivy.io:2.1.2", + "hivy-tracker@hivy.io:2.1.3", + "hivy-tracker@hivy.io:2.1.1", + "hivy-tracker@hivy.io:2.1", + "hivy-tracker@hivy.io:1.7", + "hivy-tracker@hivy.io:2.0", + "hivy-tracker@hivy.io:2.2.1", + "tab-closer@example.local:1.0.0", + "timer-extension@mio.addon:1.0", + "timer-extension@mio.addon:1.1", + "{022fc394-9f1b-46dd-a165-3651600c9a8e}:1.0", + "{a98b7c6d-1234-5678-abcd-ef123456789a}:1.3", + "{6ead2498-157e-4881-a4f1-9e5423bbc424}:1.0.1", + "{6ead2498-157e-4881-a4f1-9e5423bbc424}:1.0.2", + "{6ead2498-157e-4881-a4f1-9e5423bbc424}:1.0.3", + "{6ead2498-157e-4881-a4f1-9e5423bbc424}:1.0.4", + "{9c99cf19-12a4-4ea2-b4f5-d94a1c350dbf}:1.2.0", + "{51538330-94ad-456a-80db-0794d0acf1ce}:1.0", + "hyphavuctoplayici@tb:12.9", + "hyphavuctoplayici@tb:13.0", + "udise-aladin@lbsSecSchool.com:1.0", + "kefim-video-speed-personal@local:1.1.1", + "cvedaily-lookup@cvedaily.com:1.2.5", + "cvedaily-lookup@cvedaily.com:0.1.0", + "cvedaily-lookup@cvedaily.com:1.0.0", + "cvedaily-lookup@cvedaily.com:1.1.0", + "cvedaily-lookup@cvedaily.com:1.2.0", + "cvedaily-lookup@cvedaily.com:1.2.1", + "cvedaily-lookup@cvedaily.com:1.2.2", + "cvedaily-lookup@cvedaily.com:1.2.3", + "cvedaily-lookup@cvedaily.com:1.2.4", + "{50d6efc0-5179-4c51-a1f7-81ad6cb466da}:2.0.19", + "{17e56df6-3f52-4fba-85df-3953aa715c10}:2.3.26080.1", + "amazon-tracker@fabian.local:0.2.3", + "tac@sylver-development:1.0.0", + "tac@sylver-development:1.0.1", + "tac@sylver-development:1.1.0", + "tac@sylver-development:1.1.1", + "tac@sylver-development:1.1.2", + "tac@sylver-development:1.1.3", + "tac@sylver-development:1.1.4", + "amazon-tracker@fabian.local:0.3.0", + "shift-clock-in@factorial.local:5.0.0", + "tac@sylver-development:1.1.5", + "shopee-hoan-tien@tietkiem360:1.0.0", + "nightcafe-auto-reply@hans-mqier1:1.6", + "timeline-navigator@my-custom-tool.com:1.3" + ] + }, + "schema": 1781246187163, + "key_format": "{guid}:{version}", + "stash_time": 1781267706762, + "id": "1a1ac0a8-a7d8-410b-877d-5e685343445c", + "last_modified": 1781267790758 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{0829ba10-cdfd-4c41-a3ca-a704f8db613c}:1.0", + "manager@chucksbasix.com:1.0.21", + "abuse-console-v2@fdcservers.net:1.0.0", + "abuse-console-v2@fdcservers.net:2.0.0", + "kpbnombpnpcffllnianjibmpadjolanh@chrome-store-foxified-2317260895:0.8.16.28", + "{3226ce92-9dde-40ef-97b4-d6c3e0626eaa}:0.9.5", + "{753bf0ce-3e51-4609-a367-95210fad8688}:0.3.0", + "site-info-tools-test@implementation-dev:50.0.1", + "re-start@adhithyabhaskar.dev:1.6.1", + "test825l020@example.com:8.2.5", + "test825l000@example.com:8.2.5", + "{550ffd97-6f36-4802-b5b5-4ed2f1efc587}:1.0", + "{550ffd97-6f36-4802-b5b5-4ed2f1efc587}:2.0", + "bestiaryarena-supermodloader@private.local:4.1.4", + "{550ffd97-6f36-4802-b5b5-4ed2f1efc587}:3.0", + "{550ffd97-6f36-4802-b5b5-4ed2f1efc587}:4.0", + "{550ffd97-6f36-4802-b5b5-4ed2f1efc587}:5.0", + "{550ffd97-6f36-4802-b5b5-4ed2f1efc587}:6.0", + "{550ffd97-6f36-4802-b5b5-4ed2f1efc587}:7.0", + "{550ffd97-6f36-4802-b5b5-4ed2f1efc587}:8.0", + "{550ffd97-6f36-4802-b5b5-4ed2f1efc587}:9.0", + "{711a2174-3391-4d6e-8c7a-27d32b272845}:1.0", + "{8034f0b2-eec8-4681-9b39-d16ed8135770}:1.0.0", + "{68c1ae38-b143-4883-87c1-c7d7e68ec403}:1.0.0", + "scrapyard-ext-we@firefox:2.2.3", + "scrapyard-ext-we@firefox:2.2.4", + "scrapyard-ext-we@firefox:2.2.5", + "scrapyard-ext-we@firefox:2.2.6", + "scrapyard-ext-we@firefox:2.2.8", + "scrapyard-ext-we@firefox:2.2.7" + ] + }, + "schema": 1781224588022, + "key_format": "{guid}:{version}", + "stash_time": 1781246105337, + "id": "4b15c7ad-7dc8-4f76-9485-122401a5e8d2", + "last_modified": 1781246186967 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{51dfc4b1-d17e-4b7a-acc3-508e5d222869}:1.0", + "github-extension@example.com:1.0.3", + "otex-cs-id-copier@git.derg.cz:0.1.1", + "realwpm@omniboxed.com:1.3", + "twitch-lang-menu@local:1.0.4", + "twitch-command-menu-hybrid@local:1.5.73", + "ink_wkahk@world.addon:5.0.0", + "copy-decoded-url@haruyuki:0.2.2.1", + "fs-downloader@local:0.2.3", + "twitch-unmute@wickerm4n.github.io:1.4.5", + "ai-chess-coach@aichess.coach:0.2.0", + "ai-chess-coach@aichess.coach:0.2.10", + "ai-chess-coach@aichess.coach:0.2.11", + "ai-chess-coach@aichess.coach:0.2.12", + "ai-chess-coach@aichess.coach:0.2.13", + "ai-chess-coach@aichess.coach:0.2.14", + "ai-chess-coach@aichess.coach:0.2.15", + "ai-chess-coach@aichess.coach:0.2.16", + "ai-chess-coach@aichess.coach:0.2.17", + "ai-chess-coach@aichess.coach:0.2.18", + "ai-chess-coach@aichess.coach:0.2.19", + "ai-chess-coach@aichess.coach:0.2.20", + "ai-chess-coach@aichess.coach:0.2.21", + "ai-chess-coach@aichess.coach:0.2.23", + "ai-chess-coach@aichess.coach:0.2.24", + "ai-chess-coach@aichess.coach:0.2.26", + "ai-chess-coach@aichess.coach:0.2.27", + "ai-chess-coach@aichess.coach:0.2.28", + "ai-chess-coach@aichess.coach:0.2.29", + "ai-chess-coach@aichess.coach:0.2.30", + "ai-chess-coach@aichess.coach:0.2.31", + "ai-chess-coach@aichess.coach:0.2.32", + "ai-chess-coach@aichess.coach:0.2.33", + "ai-chess-coach@aichess.coach:0.2.34", + "ai-chess-coach@aichess.coach:0.2.35", + "ai-chess-coach@aichess.coach:0.2.36", + "ai-chess-coach@aichess.coach:0.2.37", + "ai-chess-coach@aichess.coach:0.2.42", + "ai-chess-coach@aichess.coach:0.2.43", + "ai-chess-coach@aichess.coach:0.2.44", + "ai-chess-coach@aichess.coach:0.2.45", + "ai-chess-coach@aichess.coach:0.2.46", + "ai-chess-coach@aichess.coach:0.2.1", + "ai-chess-coach@aichess.coach:0.2.2", + "ai-chess-coach@aichess.coach:0.2.3", + "ai-chess-coach@aichess.coach:0.2.4", + "ai-chess-coach@yourchesscoach.com:0.2.0", + "amazon-tracker@fabian.local:0.2.0", + "amazon-tracker@fabian.local:0.2.1", + "amazon-tracker@fabian.local:0.2.2", + "tweet-analyzer-window-v2@alibulutt.dev:1.6.9", + "siprec-registro-consultas-evento-0@dcp.cae.911:1.0.1", + "siprec-registro-consultas-evento-0@dcp.cae.911:1.0.3", + "siprec-registro-consultas-evento-5@dcp.cae.911:1.0.1", + "siprec-registro-consultas-evento-4@dcp.cae.911:1.0.1", + "siprec-registro-consultas-evento-3@dcp.cae.911:1.0.1", + "siprec-registro-consultas-evento-2@dcp.cae.911:1.0.1", + "siprec-registro-consultas-evento-1@dcp.cae.911:1.0.0", + "siprec-registro-consultas-evento-1@dcp.cae.911:1.0.1", + "gptranslate@local:1.0.0", + "gptranslate@local:1.0.1", + "gptranslate@local:1.0.2", + "gptranslate@local:1.0.3", + "burpfox@addons.mozilla.org:1.0.2", + "nfse-downloader@arcechinel.com.br:2.8.6.18", + "nfse-downloader@arcechinel.com.br:2.8.6.22", + "presence-guard@example.local:1.0.0" + ] + }, + "schema": 1781203005092, + "key_format": "{guid}:{version}", + "stash_time": 1781224506168, + "id": "24b07a03-0332-47e1-ad11-cab95e49ca0c", + "last_modified": 1781224587726 + }, + { + "stash": { + "blocked": [], + "unblocked": [ + "support@opportunitycost.app:0.0.4", + "support@opportunitycost.app:0.0.5", + "support@opportunitycost.app:0.0.6", + "support@opportunitycost.app:0.0.7" + ], + "softblocked": [ + "{c4854512-866e-48dd-9467-62f9a88094e9}:1.0", + "growthinvesting-addon@local.internal:2.1", + "linkify-no-referrer@example.local:0.2.0", + "per-tab-auto-reloader@example.local:0.1.0", + "per-tab-auto-reloader@example.local:0.2.1", + "arb-auto-buyer@patiencex.extension:1.1.0", + "{a98b7c6d-1234-5678-abcd-ef123456789a}:1.2", + "{a98b7c6d-1234-5678-abcd-ef123456789a}:1.1", + "Android@bravenhancer.com:25.4.0", + "enhancer@goldenfox.com:25.4.0", + "full-reject-cmp-assistant@local:2.1.0", + "full-reject-cmp-assistant@local:3.0.0", + "search-exfreedomist@example.com:1.1", + "shallott@local-ai.translator:1.0.0", + "enhancer@goldenfox.com:25.4.3", + "enhancer@goldenfox.com:25.4.4", + "timer-overlay@example.com:1.0", + "timer-overlay@example.com:1.1", + "arb-auto-buyer@patiencex.extension:2.0.0", + "anti-refresh-blocker-unique-xulsolar@xulsolar.com:1.0.0" + ] + }, + "schema": 1781181391410, + "key_format": "{guid}:{version}", + "stash_time": 1781202906512, + "id": "8cf8a88b-573e-4b9f-938c-845ed4b996c6", + "last_modified": 1781203004837 + }, + { + "stash": { + "blocked": [ + "{6e6ae75a-77ab-4bdc-8183-cf129cc42e40}:1.5.9", + "{6e6ae75a-77ab-4bdc-8183-cf129cc42e40}:1.6.0", + "{6e6ae75a-77ab-4bdc-8183-cf129cc42e40}:1.6.1", + "{1e66bc5b-d27e-4878-bba4-a7c1c43de460}:7.6.0" + ], + "unblocked": [], + "softblocked": [ + "spider-goes-around-the-world@example.com:2.1.1", + "sf-remote-wo@weinig.local:1.1.2", + "clickutils-ff@byo.co.il:1.3.6", + "clickutils-ff@byo.co.il:1.3.5.3", + "clickutils-ff@byo.co.il:1.3.5.2", + "clickutils-ff@byo.co.il:1.3.5.1", + "clickutils-ff@byo.co.il:1.3.5", + "clickutils-ff@byo.co.il:1.3.2", + "clickutils-ff@byo.co.il:1.3.1", + "clickutils-ff@byo.co.il:1.3.0", + "torium@gmail.com:1.0", + "nomad.4lex@gmail.com:1.0", + "{be6ea19d-5644-44ee-a472-09b63849b1df}:1.0.0", + "qalam@yourdomain.com:1.0.1", + "qalam@yourdomain.com:1.0.2", + "{92ea5cdc-acf1-4d19-8ab2-c877c3bc6b48}:1.0", + "search-helper@hussain.local:1.0", + "search-helper@hussain.local:1.1", + "clickutils-ff@byo.co.il:1.3.7", + "haiilo-enhancer@nichu42.de:0.2.0", + "sentry-shield@extension:1.0.1", + "sentry-shield@extension:1.0.2", + "sentry-shield@extension:1.0.3", + "sentry-shield@extension:1.0.4", + "sentry-shield@extension:1.0.5", + "{754dee1b-47c3-44f7-957b-0b2f4cf60a91}:1.0", + "Android@bravenhancer.com:25.3.5", + "Android@bravenhancer.com:25.2.1", + "enhancer@goldenfox.com:25.3.1", + "transcript-summarizer@gemini.local:1.6", + "{f1c243a8-42c2-4876-be5e-99a3562b3a1a}:10.2.41", + "{845e7c63-ee17-4951-99a8-91e7233d0255}:1.6.1.2609", + "{845e7c63-ee17-4951-99a8-91e7233d0255}:1.6.1.46", + "{845e7c63-ee17-4951-99a8-91e7233d0255}:1.6.1.2669", + "{845e7c63-ee17-4951-99a8-91e7233d0255}:1.6.1.2737", + "{845e7c63-ee17-4951-99a8-91e7233d0255}:1.6.1.2763", + "{845e7c63-ee17-4951-99a8-91e7233d0255}:1.6.1.2814", + "{b745a570-a501-4c9a-b6ff-06d619146734}:1.0", + "nursemagic@nursemagic.ai:1.6", + "odoo-timesheet-systray@example.local:0.1.0", + "nks-helper@land.gov.ua:1.2.0", + "{ad97ca40-c0d0-40dc-945c-e8a99c7ceb18}:1.0", + "{0b7ec9e8-32f3-42c1-80cb-dc34a690fba1}:1.0", + "street-peek-for-strava-maps@risehouse.it:1.3.0", + "street-peek-for-strava-maps@risehouse.it:1.3.2", + "jcpqdsad1AfroExport233@dsoteer.com:1.12", + "jcpqdsad1AfroExport233@dsoteer.com:1.11", + "jcpqdsad1AfroExport233@dsoteer.com:1.5", + "test825u01@example.com:8.2.5", + "noeqtion@rohit:1.0", + "health-capsule-widget-jiuxian@local:1.1", + "health-capsule-widget-jiuxian@local:1.2", + "precheck-widget-local@local:1.0", + "precheck-widget-local@local:1.1", + "health-capsule-widget-shunyichengqu@local:1.2", + "health-capsule-doctor-assistant-guangning@yuxin:1.1", + "health-capsule-doctor-assistant-guangning@yuxin:2.1", + "{6a6a3d1f-e1e3-4d53-97cc-84cee442c5a7}:1.0", + "auto5-theme@example.com:1.0", + "Usoppitalesss@gmail.com:1.0", + "sitemindatalake30@addon:1.1", + "autocar-final-master-xyz@kzsystems.com:1.0.2", + "autocar-final-master-xyz@kzsystems.com:1.0.3", + "{7336515c-bd54-4feb-b101-6f39c9f96737}:1.2.1", + "{4eac3e8c-0d4c-49fe-b93b-b361dba62678}:1.1" + ] + }, + "schema": 1781094992170, + "key_format": "{guid}:{version}", + "stash_time": 1781181306338, + "id": "f8fb75ac-36f1-4530-bf06-92e258459eac", + "last_modified": 1781181391198 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "sentry-shield@extension:1.0.0", + "aurastep-addon@dongphutien.com:1.0", + "novalane-addon@dongphutien.com:1.0", + "{f47f885b-d4dd-40b6-9da7-f4526d17be02}:1.0", + "{9dbf7917-d506-40dc-86be-cda126dfa619}:1.0", + "{cc188d7b-5a5a-4baa-b6d7-c9a8dbf0fc3e}:1.0", + "{36601aec-f21b-4b0f-9fd6-dfb23ac330fd}:1.0", + "{a2ea0fee-38bd-4fb8-923c-11df95da6d27}:1.0", + "{818fb9ab-2606-43d2-a476-0ee97e9464df}:1.0", + "{ff66a533-47c5-4e51-9aa9-cdc2395a9692}:1.0", + "{c76baa68-255b-41aa-9711-ae5be23a7b5f}:1.0", + "{736ac4e0-1533-4cb4-9336-b7d6fd474fb7}:1.0", + "{cb125713-b88e-4f9f-a165-4862075d1875}:1.0", + "{b3c07b6b-d99c-45c6-9ab6-5fac677bc112}:1.0", + "{501efb33-bba3-446b-baee-b241cc25c142}:1.0", + "{0933c86d-f7bd-4d0a-936f-509951b0b2b7}:1.0", + "{b49ba7b2-701b-4324-9bb5-a80a41ec7182}:1.0", + "{444aefe9-db97-4b95-98c7-3a2252477568}:1.0", + "{a924b24a-0619-42be-9123-7854ebc12561}:1.0", + "{493bb58b-17b1-4ff1-83b1-b3b7e0a72e85}:1.0", + "{fd1136dd-7986-4789-bdb6-6f2161711e08}:1.0", + "yutang-chat-download@local:1.2.3", + "{b0bff37d-2a37-48e8-9866-a71d071e17e8}:1.0", + "{86f98fb5-d057-4782-8c83-99f4fcf2cc68}:1.0", + "{dd43e85f-04ee-4adc-bd17-650a2470d270}:1.0", + "{83c76083-c7dd-4460-a15b-35c697ebaf1e}:1.0", + "{12e2f525-4fb3-40f0-b7d7-c63089167197}:1.0", + "{627aa4b5-934f-40eb-8c65-13cdcc46d5a1}:1.0", + "{059b8386-14af-4e22-b755-cc95c3c67ec9}:1.0", + "{ea0f3697-71c6-4b36-9235-9fe65a51754f}:1.0", + "{69c0633f-ecf2-4bc7-b341-be913a13d930}:1.0", + "toolbox-dictee@orange-business.fr:1.3", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:1.0", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:1.1", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:1.2", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:1.3", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:1.4", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:1.5", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:1.6", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:1.7", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:1.8", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:1.9", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:2.0", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:2.1", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:2.2", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:2.3", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:2.4", + "{566c378a-133c-4b34-bbc4-cdcbd8a5f5ac}:2.5", + "{12cbb445-5dcd-48a7-9249-29418a403776}:1.0", + "{12cbb445-5dcd-48a7-9249-29418a403776}:1.1", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:1.0", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:1.1", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:1.2", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:1.3", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:1.4", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:1.5", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:1.6", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:1.7", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:1.8", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:1.9", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:2.0", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:2.1", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:2.2", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:2.3", + "{e7b43c8a-5bef-4540-9308-6c89cdae2b2c}:2.4", + "haiilo-enhancer@example.com:0.1.1", + "haiilo-enhancer@example.com:0.1.2", + "highlightrows@zomro.local:3.5", + "nikke-extractor@local:1.4.0", + "claude-rtl-persian-arabic@addons:1.0.0", + "claude-rtl-persian-arabic@addons:1.0.1", + "traductor-canva-extension@midominio.local:1.2", + "journey-launcher@comparethemarket.com:1.0.0", + "clickutils@byo.co.il:1.3.6", + "clickutils@byo.co.il:13.55", + "clickutils@byo.co.il:1.3.2", + "clickutils@byo.co.il:1.3.3", + "clickutils@byo.co.il:1.3.5", + "clickutils@byo.co.il:1.3.5.5", + "reddit-vault@tondomaine.com:1.0", + "reddit-vault@tondomaine.com:1.1" + ] + }, + "schema": 1781073388188, + "key_format": "{guid}:{version}", + "stash_time": 1781094909767, + "id": "8dbe617d-c1f8-4ea3-a698-9e3e5bd729ce", + "last_modified": 1781094991932 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "airdroid-header-hider@example.com:1.0", + "select-all-checkboxes@example.com:1.4", + "transcript-summarizer@gemini.local:1.5", + "transcript-summarizer@gemini.local:1.4", + "transcript-summarizer@gemini.local:1.3", + "simplemmo-bounty-watcher@extension:1.0.0", + "phonetool-enhanced@amazon.local:1.0.0", + "phonetool-enhanced@amazon.local:1.1.0", + "phonetool-enhanced@amazon.local:1.1.1", + "tony-robbins-inspired-quotes@example.com:1.0.0", + "am-newmail-notifier2@sannichi-ybs.local:1.1.2", + "pixelgrab@local.extension:1.0.0", + "signalbridge-addon@dongphutien.com:1.0", + "gphotos-albumn-sorter@local.addon:0.28" + ] + }, + "schema": 1781051803219, + "key_format": "{guid}:{version}", + "stash_time": 1781073305295, + "id": "526c260b-a800-4af9-98c3-675dc611b887", + "last_modified": 1781073387801 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "rapid-journal-quality-check@kghan.com:1.0", + "rapid-journal-quality-check@kghan.com:1.0.1", + "rapid-journal-quality-check@kghan.com:1.0.2", + "Civitai-View-Tracker@mydomain.local:1.0", + "xai_review_importer@serhan.com:0.1.0", + "xai_review_importer@serhan.com:0.1.1", + "xai_review_importer@serhan.com:0.1.2", + "xai_review_importer@serhan.com:0.1.3", + "{31aeab00-0d8f-41ff-be58-0071c5f4a4a0}:1.0", + "{31aeab00-0d8f-41ff-be58-0071c5f4a4a0}:1.1", + "{31aeab00-0d8f-41ff-be58-0071c5f4a4a0}:1.2", + "{31aeab00-0d8f-41ff-be58-0071c5f4a4a0}:1.3", + "{31aeab00-0d8f-41ff-be58-0071c5f4a4a0}:1.4", + "chatgpt-export-to-pdf@local:1.0.1", + "chatgpt-export-to-pdf@local:1.0.2", + "chatgpt-export-to-pdf@local:1.0.3", + "chatgpt-export-to-pdf@local:1.0.4", + "gemini-chat-nuke@your-email-or-domain.com:1.0", + "ultrawide-fixer@irritatednoob:1.0", + "civitai-dimmer@example.com:9", + "civitai-dimmer@example.com:10", + "civitai-dimmer@example.com:12", + "my-zoom-victory@local.addon:2.8", + "my-zoom-victory@local.addon:2.9", + "{b8e23f4c-9a51-4d7e-a3c8-6f12d5e9b0a7}:1.1.6", + "dbx8-clean@amazon.com:1.0", + "nikke-extractor@local:1.3.0", + "confpass@emreconf.local:11.9" + ] + }, + "schema": 1781030191816, + "key_format": "{guid}:{version}", + "stash_time": 1781051710354, + "id": "c23b82a2-7c7e-4361-984a-39aa057aa27a", + "last_modified": 1781051802931 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "tipico-next-ui@example.com:0.1.1", + "tipico-next-ui@example.com:0.1.0", + "theme@danghont:1.0", + "{146194cf-6f34-4b5b-b997-7c703b44b998}:1.0.2", + "autocar-ultimate@kzsystems.com:1.0.1", + "autocar-master-ai@kzsystems.com:1.0", + "autocar@example.com:1.0", + "autocar@example.com:1.1", + "autocar@example.com:1.2", + "autocar@example.com:2.0", + "autocar@example.com:3.1", + "autocar@example.com:3.3", + "autocar-final-v10@kzsystems.com:1.0.2", + "@kkplayer:26.6.86", + "{7dc96b08-e4bd-4af5-8d79-7576d3f96981}:1.0", + "{d1c74e31-adfb-4180-95b4-3c5bc9eef78b}:1.0", + "{d1c74e31-adfb-4180-95b4-3c5bc9eef78b}:1.1", + "{d1c74e31-adfb-4180-95b4-3c5bc9eef78b}:1.2", + "{d1c74e31-adfb-4180-95b4-3c5bc9eef78b}:1.2.1", + "{d1c74e31-adfb-4180-95b4-3c5bc9eef78b}:1.2.2", + "{d1c74e31-adfb-4180-95b4-3c5bc9eef78b}:2.0.0", + "{d1c74e31-adfb-4180-95b4-3c5bc9eef78b}:2.0.1", + "{d1c74e31-adfb-4180-95b4-3c5bc9eef78b}:2.0.2", + "{d1c74e31-adfb-4180-95b4-3c5bc9eef78b}:2.0.3", + "{d1c74e31-adfb-4180-95b4-3c5bc9eef78b}:2.0.4", + "{6e6ae75a-77ab-4bdc-8183-cf129cc42e40}:1.5.9", + "{6e6ae75a-77ab-4bdc-8183-cf129cc42e40}:1.6.0", + "support@opportunitycost.app:0.0.4", + "support@opportunitycost.app:0.0.5", + "support@opportunitycost.app:0.0.6", + "support@opportunitycost.app:0.0.7" + ] + }, + "schema": 1781008604253, + "key_format": "{guid}:{version}", + "stash_time": 1781030106827, + "id": "40d64422-e793-4e90-b8b3-420b01e674bb", + "last_modified": 1781030191737 + }, + { + "stash": { + "blocked": [ + "claude-code-probe@probe.dev:1.0.0", + "claude-code-probe@probe.dev:1.0.1", + "claude-code-probe@probe.dev:1.1.0", + "claude-code-probe@probe.dev:1.1.1", + "audio-equalizer@example.com:1.0.0", + "zap-browser-tool@example.com:1.0.0", + "{b3a9c4f2-d3e1-2f0a-b2d0-a1c5e2b3f9c5}:1.0", + "{f5cc99da-3d24-4d18-9ea7-2c3c5c84e314}:5.1.0", + "{f5cc99da-3d24-4d18-9ea7-2c3c5c84e314}:5.1.1", + "cam4-video-downloader@serp.ly:1.0.4", + "bongacams-video-downloader@serp.ly:1.0.4", + "pornhub-video-downloader@serp.ly:1.0.3", + "xnxx-video-downloader@serp.ly:1.0.3", + "chaturbate-video-downloader@serp.ly:1.0.3", + "fansly-live-downloader@serp.ly:1.0.3", + "erome-downloader@serp.ly:1.0.3", + "wistia-video-downloader@serp.ly:1.0.3", + "reddit-downloader@serp.ly:1.0.3", + "clientclub-downloader@serp.ly:1.0.3", + "circle-downloader@serp.ly:1.0.3", + "123movies-downloader@serp.ly:1.0.3", + "thisvid-downloader@serp.ly:1.0.0", + "kajabi-video-downloader@serp.ly:1.0.0", + "facebook-video-downloader@serp.ly:1.0.0" + ], + "unblocked": [], + "softblocked": [ + "time-tracker@extension:1.0.0", + "better-sidebar@zhangyu91101313.gmail.com:1.1.2", + "better-sidebar@zhangyu91101313.gmail.com:1.1.0", + "time-tracker@extension:1.1.0", + "count-it-down-007@bigspecgames.com:1.0", + "count-it-down-Splatoon@bigspecgames.com:2.0", + "count-it-down-Silent-Hill@bigspecgames.com:2.0", + "qq1234126@163.com:1.1.20", + "autocar@example.com:2.7", + "coachflow@plq.amazon.internal:3.0.0", + "yt-sub-only@henwen.io:1.1", + "autocar@example.com:3.0", + "autocar@example.com:2.9", + "extension@soapbox.fyi:0.1.2", + "autocar@example.com:2.8", + "autocar@example.com:2.6", + "autocar@example.com:2.5", + "autocar@example.com:2.4", + "autocar@example.com:2.3", + "autocar@example.com:2.1", + "{b161b1ec-fb57-4ea8-9be6-1eb01f11a102}:1.0", + "{b161b1ec-fb57-4ea8-9be6-1eb01f11a102}:1.1", + "{b161b1ec-fb57-4ea8-9be6-1eb01f11a102}:1.2", + "{b161b1ec-fb57-4ea8-9be6-1eb01f11a102}:1.3", + "{b161b1ec-fb57-4ea8-9be6-1eb01f11a102}:1.4", + "{b161b1ec-fb57-4ea8-9be6-1eb01f11a102}:1.5", + "{b161b1ec-fb57-4ea8-9be6-1eb01f11a102}:1.6", + "{90a1d094-ea6b-4d62-baf3-81403375c51b}:1.0", + "{90a1d094-ea6b-4d62-baf3-81403375c51b}:1.1", + "{90a1d094-ea6b-4d62-baf3-81403375c51b}:1.2", + "{90a1d094-ea6b-4d62-baf3-81403375c51b}:1.3", + "{90a1d094-ea6b-4d62-baf3-81403375c51b}:1.4", + "{90a1d094-ea6b-4d62-baf3-81403375c51b}:1.5", + "{90a1d094-ea6b-4d62-baf3-81403375c51b}:1.6", + "{90a1d094-ea6b-4d62-baf3-81403375c51b}:1.7", + "pywalfox@adior.org:2.1.1", + "pywalfox@adior.org:2.2.1", + "nightcafe-auto-reply@example.com:1.0", + "nightcafe-auto-reply@hans-mqier:1.2", + "{65941255-8569-1234-6585-123456789abc}:1.1", + "tipico-next-ui@example.com:2.0.0", + "readassist@helper.local:1.0.0", + "readassist@helper.local:1.0.1", + "readassist@helper.local:1.0.2", + "readassist@helper.local:1.0.3", + "readassist@helper.local:1.0.4", + "fix-page-breaks@local:1.0", + "safescriptsharbour1.5.0@createdfor.me:1.5.0", + "safescriptsharbour@id:1.5.0", + "safescriptsharbour@id:1.6.0", + "safescriptsharbour@id:1.7.0", + "suno-stats@foxivan:1.0.0", + "sh-terminal-extension-2026@createdfor.me:1.7.0", + "emule-ds@votre-domaine.net:2.5.1", + "testextensionid@tets.com:1.2m" + ] + }, + "schema": 1780987002817, + "key_format": "{guid}:{version}", + "stash_time": 1781008507932, + "id": "0e0d0a53-eeed-4400-91d3-2070493a7131", + "last_modified": 1781008604161 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "geowarp@tomaszjanusz.dev:0.7.5", + "{fc99c33c-3441-4127-987c-c17a596de475}:2.3.7", + "blocker-amo-test@blocker.local:1.0.0", + "bootdev-light-theme@local:1.0.1", + "{f77f02ae-a4c1-4330-91a2-7658b477c524}:0.1", + "{f77f02ae-a4c1-4330-91a2-7658b477c524}:0.2", + "{f77f02ae-a4c1-4330-91a2-7658b477c524}:0.3", + "yfv-private-addon@local:7.0.0", + "chatgpt-group-panel@local:0.1.4", + "chatgpt-group-panel@local:0.1.5", + "gatekeeper-pribadi@fuukaze.com:2.3.2" + ] + }, + "schema": 1780965414229, + "key_format": "{guid}:{version}", + "stash_time": 1780986908193, + "id": "d8717ba3-e9b5-4ba5-9c1e-409f2d4447f6", + "last_modified": 1780987002625 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "salesforce-api-name-transformer@deine-domain.com:1.2.3", + "salesforce-user-switcher@deine-domain.com:1.2.1.2", + "salesforce-user-switcher@deine-domain.com:1.2.1.1", + "salesforce-user-switcher@deine-domain.com:1.2.1.0", + "pmg-seguros-theme@pmgseguros.com.br:4.0", + "fluentread@nuttapong.local:0.0.28", + "nightcafe-auto-reply@example1.com:1.0", + "yt-transcript-grabber@local.addon:2.0.1", + "yt-transcript-grabber@local.addon:2.1.0", + "native-messaging@suiryc:1.3.9", + "native-messaging@suiryc:1.4.0", + "yt-transcript-grabber@local.addon:2.2.0", + "yt-transcript-grabber@local.addon:2.2.1", + "yt-transcript-grabber@local.addon:2.2.2", + "yt-transcript-grabber@local.addon:2.2.3", + "yt-transcript-grabber@local.addon:2.3.0", + "native-messaging@suiryc:1.4.1", + "yt-transcript-grabber@local.addon:2.3.1", + "yt-transcript-grabber@local.addon:2.3.2", + "pull-request-title-case@cooperwalbrun.io:0.1.5", + "pull-request-title-case@cooperwalbrun.io:0.2.0" + ] + }, + "schema": 1780943807667, + "key_format": "{guid}:{version}", + "stash_time": 1780965310738, + "id": "a0f4bd50-7ad6-4a6a-9b73-bb259159d096", + "last_modified": 1780965414081 + }, + { + "stash": { + "blocked": [ + "webboostk@sbooster.com:1.0", + "webboostk@sbooster.com:1.1", + "webboostk@sbooster.com:1.2" + ], + "unblocked": [ + "ikemarx@gmail.com:1.0", + "ikemarx@gmail.com:1.1", + "ikemarx@gmail.com:1.2", + "ikemarx@gmail.com:1.3", + "safebrowz@safebrowz.com:2.9.7", + "safebrowz@safebrowz.com:2.9.7.1", + "safebrowz@safebrowz.com:2.9.8", + "safebrowz@safebrowz.com:2.9.8.1", + "safebrowz@safebrowz.com:2.9.8.2", + "safebrowz@safebrowz.com:2.9.8.3" + ], + "softblocked": [ + "@kkplayer:26.6.84", + "{cab02d7c-0337-49a3-aff4-d40603b307dc}:5.80", + "{cab02d7c-0337-49a3-aff4-d40603b307dc}:5.55", + "{cab02d7c-0337-49a3-aff4-d40603b307dc}:5.5", + "{cab02d7c-0337-49a3-aff4-d40603b307dc}:5.4", + "{cab02d7c-0337-49a3-aff4-d40603b307dc}:5.3", + "{cab02d7c-0337-49a3-aff4-d40603b307dc}:5.2", + "{cab02d7c-0337-49a3-aff4-d40603b307dc}:5.1", + "{cab02d7c-0337-49a3-aff4-d40603b307dc}:5.0", + "{cab02d7c-0337-49a3-aff4-d40603b307dc}:4.5", + "poe-trade-bookmarks@local:1.0.5", + "poe-trade-bookmarks@local:1.0.4", + "poe-trade-bookmarks@local:1.0.3", + "poe-trade-bookmarks@local:1.0.2", + "@kkplayer:26.6.85", + "@kkplayer:26.6.63", + "@kkplayer:26.6.42", + "@kkplayer:26.6.53", + "bidassist@pilotbidpro.com:1.0.6", + "@kkplayer:26.6.65", + "{24346f58-039f-4b50-b5e2-36de24a07c7e}:1.0", + "{853f9702-59cc-4dac-9bcb-c3ba695eed0e}:1.0", + "{3f585c5d-0745-445b-9953-be4ba5a9af36}:1.0", + "sinahyp-yonetim@drpars.com:2.0.3", + "sinahyp-yonetim@drpars.com:2.1.0", + "sinahyp-yonetim@drpars.com:2.1.1", + "sinahyp-yonetim@drpars.com:2.1.2", + "sinahyp-yonetim@drpars.com:2.1.3", + "sinahyp-yonetim@drpars.com:2.1.4", + "sinahyp-yonetim@drpars.com:2.1.6", + "sinahyp-yonetim@drpars.com:2.1.7", + "sinahyp-yonetim@drpars.com:2.1.8.1", + "sinahyp-yonetim@drpars.com:2.2.0", + "sinahyp-yonetim@drpars.com:2.2.1", + "sinahyp-yonetim@drpars.com:2.2.2", + "sinahyp-yonetim@drpars.com:2.2.3", + "sinahyp-yonetim@drpars.com:2.2.4", + "sinahyp-yonetim@drpars.com:2.2.6", + "sinahyp-yonetim@drpars.com:2.3.0", + "sinahyp-yonetim@drpars.com:2.3.1", + "sinahyp-yonetim@drpars.com:2.3.2", + "sinahyp-yonetim@drpars.com:2.4.0", + "sinahyp-yonetim@drpars.com:2.4.1", + "sinahyp-yonetim@drpars.com:2.4.2", + "siprec-captura-consultas-evento-1@division.control.patrullaje:1.0.0", + "estremenu@dictionaries.addons.mozilla.org:0.0.0", + "imgayng@home.lol:0.0.9" + ] + }, + "schema": 1780922207153, + "key_format": "{guid}:{version}", + "stash_time": 1780943707852, + "id": "7b8d7171-bc68-401d-9e32-051b70427bc2", + "last_modified": 1780943807588 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ + "{e56db3df-f6af-4723-ab3f-e8c3211eef1f}:1.0", + "validator-sales@lokal:1.0", + "validator-sales@lokal:1.1", + "validator-sales@lokal:1.2", + "expandtxt@txtlabs:1.0.2", + "kick-furthest-resume@local:1.4.4", + "kick-furthest-resume@local:1.4.3", + "kick-furthest-resume@local:1.4.1", + "kick-furthest-resume@local:1.5.0", + "kick-furthest-resume@local:1.4.0", + "{3c787c13-71e3-4024-bc29-0d169b581f72}:1.0", + "{3c787c13-71e3-4024-bc29-0d169b581f72}:1.1", + "{3c787c13-71e3-4024-bc29-0d169b581f72}:1.2", + "doomblock@local.ext:1.1.0", + "@cepages-addon-firefox:0.0.6", + "@cepages-addon-firefox:0.0.7", + "@cepages-addon-firefox:1.0.0", + "@cepages-addon-firefox:1.0.1", + "redmine-tab-opener@bakos.local:2.0", + "bookmark-sync@safeoffice.de:2.0.0", + "bookmark-sync@safeoffice.de:1.3.0", + "bookmark-sync@safeoffice.de:1.2.1", + "bookmark-sync@safeoffice.de:1.0.0", + "bookmark-sync@safeoffice.de:1.1.0", + "ai-chat-modifier@your-custom-name.com:1.3", + "nordpassStandalone@nordsecurity.com:5.9.25", + "nordpassStandalone@nordsecurity.com:5.10.20", + "nordpassStandalone@nordsecurity.com:5.11.20", + "nordpassStandalone@nordsecurity.com:5.12.21", + "nordpassStandalone@nordsecurity.com:5.13.24", + "nordpassStandalone@nordsecurity.com:5.13.27", + "nordpassStandalone@nordsecurity.com:5.23.13", + "nordpassStandalone@nordsecurity.com:5.21.10", + "nordpassStandalone@nordsecurity.com:5.20.7", + "nordpassStandalone@nordsecurity.com:5.14.24", + "nordpassStandalone@nordsecurity.com:5.15.28", + "nordpassStandalone@nordsecurity.com:5.17.27", + "nordpassStandalone@nordsecurity.com:5.18.7", + "nordpassStandalone@nordsecurity.com:5.19.2", + "{2cd4c2ad-195e-4f60-83cb-0c28d2e82569}:1.6", + "gemini-navigator@example.com:1.0.3", + "download-video-without-sound-addon@example.com:2026.5.28.1", + "{cab02d7c-0337-49a3-aff4-d40603b307dc}:5.999", + "download-video-without-sound-addon@example.com:2026.6.6.2", + "download-video-without-sound-addon@example.com:2026.6.6.1", + "download-video-without-sound-addon@example.com:2026.6.4.1", + "download-video-without-sound-addon@example.com:2026.5.30.2", + "download-video-without-sound-addon@example.com:2026.5.30.1", + "llm-handoff-pro@extension:2.0.0", + "ranaabhishek509@gmail.com:1.1", + "@kkplayer:26.6.81", + "@kkplayer:26.6.82", + "ninja-glpi-bridge@fija.local:1.10.0", + "ninja-glpi-bridge@fija.local:1.8.0", + "ninja-glpi-bridge@fija.local:1.7.0", + "@kkplayer:26.6.83" + ] + }, + "schema": 1780900584981, + "key_format": "{guid}:{version}", + "stash_time": 1780922107852, + "id": "89914a7a-9ac9-48e1-addb-831bd3c51231", + "last_modified": 1780922206913 + }, + { + "stash": { + "blocked": [], + "unblocked": [], + "softblocked": [ "quackify@example.com:1.0", "aid-tracker@local:0.2.3", "favory@sp4ce.pw:4.0.8.4", @@ -786,5 +8892,5 @@ "last_modified": 1780511939812 } ], - "timestamp": 1780900584735 + "timestamp": 1783924608518 } diff -Nru thunderbird-140.12.0esr/services/settings/dumps/main/devtools-compatibility-browsers.json thunderbird-140.13.0esr/services/settings/dumps/main/devtools-compatibility-browsers.json --- thunderbird-140.12.0esr/services/settings/dumps/main/devtools-compatibility-browsers.json 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/services/settings/dumps/main/devtools-compatibility-browsers.json 2026-07-21 21:33:03.000000000 +0000 @@ -1,256 +1,292 @@ { "data": [ { + "name": "Opera Android", + "schema": 1783123505002, + "status": "current", + "version": "100", + "browserid": "opera_android", + "id": "b89efafc-9e6f-48cd-b37b-7607c47979dc", + "last_modified": 1783313844388 + }, + { + "name": "Opera", + "schema": 1783123504658, + "status": "nightly", + "version": "135", + "browserid": "opera", + "id": "c0358db9-5291-4055-8784-857f17ccd0a2", + "last_modified": 1783313844385 + }, + { + "name": "Edge", + "schema": 1783123504438, + "status": "planned", + "version": "153", + "browserid": "edge", + "id": "26f8e596-385b-459b-af8e-ded15a788058", + "last_modified": 1783313844381 + }, + { + "name": "Chrome", + "schema": 1783123503549, + "status": "planned", + "version": "153", + "browserid": "chrome", + "id": "0b6c6164-50d7-4a72-a71c-4aef12261efe", + "last_modified": 1783313844378 + }, + { "name": "WebView Android", - "schema": 1780704305551, + "schema": 1783123505467, "status": "planned", - "version": "152", + "version": "153", "browserid": "webview_android", - "id": "0a9ccbd3-8fc2-49ba-bda3-deecbaa812d6", - "last_modified": 1780901531642 + "id": "62a58776-756f-448a-aa75-3d4925648540", + "last_modified": 1783313844375 }, { - "name": "Edge", - "schema": 1780704304912, + "name": "Chrome Android", + "schema": 1783123504072, "status": "planned", - "version": "152", - "browserid": "edge", - "id": "13e9327e-9563-4d8c-9a1f-3ae097488491", - "last_modified": 1780901531639 + "version": "153", + "browserid": "chrome_android", + "id": "ab73ce7f-085b-4d59-a6a2-3ce599c1f6b9", + "last_modified": 1783313844371 }, { "name": "Deno", - "schema": 1780704304548, + "schema": 1783123504181, "status": "current", - "version": "2.8", + "version": "2.9", "browserid": "deno", - "id": "1ce6c7aa-27e8-48f3-ac02-26e8b2ed80bd", - "last_modified": 1780901531635 + "id": "5b720d10-3d75-4430-b484-bb94ab883010", + "last_modified": 1783313844368 + }, + { + "name": "WebView Android", + "schema": 1783123505420, + "status": "nightly", + "version": "152", + "browserid": "webview_android", + "id": "0a9ccbd3-8fc2-49ba-bda3-deecbaa812d6", + "last_modified": 1783313844362 + }, + { + "name": "Edge", + "schema": 1783123504385, + "status": "nightly", + "version": "152", + "browserid": "edge", + "id": "13e9327e-9563-4d8c-9a1f-3ae097488491", + "last_modified": 1783313844360 }, { "name": "Chrome Android", - "schema": 1780704304402, - "status": "planned", + "schema": 1783123504022, + "status": "nightly", "version": "152", "browserid": "chrome_android", "id": "58424707-5568-4f3c-8cfd-7e7b8cb90345", - "last_modified": 1780901531632 + "last_modified": 1783313844355 }, { "name": "Chrome", - "schema": 1780704304046, - "status": "planned", + "schema": 1783123503428, + "status": "nightly", "version": "152", "browserid": "chrome", "id": "c289fa28-6430-41fb-8186-816253fc4220", - "last_modified": 1780901531629 + "last_modified": 1783313844352 }, { "name": "Opera", - "schema": 1780704305196, - "status": "nightly", + "schema": 1783123504611, + "status": "beta", "version": "134", "browserid": "opera", "id": "f30af049-26f4-4922-8f0d-2660d5c17ff2", - "last_modified": 1780901531625 - }, - { - "name": "Firefox", - "schema": 1779494703951, - "status": "planned", - "version": "154", - "browserid": "firefox", - "id": "e3f0132a-0f23-4b2c-87e0-cc25edd2bfe2", - "last_modified": 1780901531622 - }, - { - "name": "Firefox for Android", - "schema": 1779494704304, - "status": "planned", - "version": "154", - "browserid": "firefox_android", - "id": "0ac75970-a0f2-469a-a7e7-ed4efa7eca3c", - "last_modified": 1780901531619 + "last_modified": 1783313844350 }, { "name": "Edge", - "schema": 1780704304832, - "status": "nightly", + "schema": 1783123504337, + "status": "beta", "version": "151", "browserid": "edge", "id": "7d97452b-dad5-4770-b790-c3cf639612d0", - "last_modified": 1780901531616 + "last_modified": 1783313844347 }, { "name": "Chrome Android", - "schema": 1780704304323, - "status": "nightly", + "schema": 1783123503972, + "status": "beta", "version": "151", "browserid": "chrome_android", "id": "db3809f5-8e2d-4526-94f6-f97d725e3751", - "last_modified": 1780901531613 + "last_modified": 1783313844345 }, { "name": "Chrome", - "schema": 1780704303974, - "status": "nightly", + "schema": 1783123503352, + "status": "beta", "version": "151", "browserid": "chrome", "id": "314b7e75-23ba-441b-b118-bad100a27c94", - "last_modified": 1780901531611 + "last_modified": 1783313844343 }, { "name": "WebView Android", - "schema": 1780704305477, - "status": "nightly", + "schema": 1783123505363, + "status": "beta", "version": "151", "browserid": "webview_android", "id": "9a9f15de-0211-4c60-9860-19a24159aa11", - "last_modified": 1780901531608 + "last_modified": 1783313844340 }, { "name": "Opera", - "schema": 1780704305126, - "status": "beta", + "schema": 1783123504555, + "status": "current", "version": "133", "browserid": "opera", "id": "e356cd85-4285-4569-ac40-9ed323328e34", - "last_modified": 1780901531605 + "last_modified": 1783313844338 }, { "name": "WebView Android", - "schema": 1780704305405, - "status": "beta", + "schema": 1783123505246, + "status": "current", "version": "150", "browserid": "webview_android", "id": "1f7a5c82-8b4a-4eaf-97b6-19f24fe55272", - "last_modified": 1780901531603 + "last_modified": 1783313844335 }, { "name": "Chrome Android", - "schema": 1780704304258, - "status": "beta", + "schema": 1783123503867, + "status": "current", "version": "150", "browserid": "chrome_android", "id": "525b02bb-1782-4be7-af3d-a871bd0dc689", - "last_modified": 1780901531600 + "last_modified": 1783313844332 }, { "name": "Chrome", - "schema": 1780704303899, - "status": "beta", + "schema": 1783123503293, + "status": "current", "version": "150", "browserid": "chrome", "id": "36357b2a-c063-4a43-a807-349cf909608b", - "last_modified": 1780901531597 + "last_modified": 1783313844330 }, { - "name": "Opera", - "schema": 1780704305059, + "name": "Edge", + "schema": 1783123504280, "status": "current", - "version": "132", - "browserid": "opera", - "id": "46931762-b7ab-4c08-b5e6-8c898504cfa9", - "last_modified": 1780901531592 + "version": "150", + "browserid": "edge", + "id": "8dcc0dc6-e19c-4a1c-bd84-98ed10245fa4", + "last_modified": 1783313844314 + }, + { + "name": "Firefox for Android", + "schema": 1781913903935, + "status": "planned", + "version": "155", + "browserid": "firefox_android", + "id": "f9846985-1eb8-4269-84b9-d860642ee8de", + "last_modified": 1782116462497 }, { "name": "Firefox", - "schema": 1779494703813, - "status": "beta", - "version": "152", + "schema": 1781913903565, + "status": "planned", + "version": "155", "browserid": "firefox", - "id": "28f0d2ac-ebeb-4324-a581-bdc945184379", - "last_modified": 1780901531587 + "id": "bb387702-1f02-4c63-af9a-3cf8a0e8c181", + "last_modified": 1782116462494 }, { - "name": "Firefox for Android", - "schema": 1779494704171, - "status": "beta", - "version": "152", - "browserid": "firefox_android", - "id": "d4acf283-6f99-4aff-a937-827c0f6ba719", - "last_modified": 1780901531584 + "name": "Firefox", + "schema": 1781913903500, + "status": "nightly", + "version": "154", + "browserid": "firefox", + "id": "e3f0132a-0f23-4b2c-87e0-cc25edd2bfe2", + "last_modified": 1782116462490 }, { "name": "Firefox for Android", - "schema": 1779494704233, + "schema": 1781913903870, "status": "nightly", - "version": "153", + "version": "154", "browserid": "firefox_android", - "id": "dbe73c6b-c8f0-4bb2-b3e6-5c34acb69363", - "last_modified": 1780901531582 + "id": "0ac75970-a0f2-469a-a7e7-ed4efa7eca3c", + "last_modified": 1782116462488 }, { "name": "Firefox", - "schema": 1779494703878, - "status": "nightly", - "version": "153", - "browserid": "firefox", - "id": "5f2f0849-415a-429c-8b5f-4e55ba911634", - "last_modified": 1780901531579 - }, - { - "name": "WebView Android", - "schema": 1780704305332, + "schema": 1781913903341, "status": "current", - "version": "149", - "browserid": "webview_android", - "id": "ed3ff7b7-dfb0-4141-a35d-85d16c22ed86", - "last_modified": 1780901531576 + "version": "152", + "browserid": "firefox", + "id": "28f0d2ac-ebeb-4324-a581-bdc945184379", + "last_modified": 1782116462486 }, { - "name": "Chrome Android", - "schema": 1780704304193, + "name": "Firefox for Android", + "schema": 1781913903710, "status": "current", - "version": "149", - "browserid": "chrome_android", - "id": "c583ee97-ecf9-4bd8-9f22-93d626c24fa0", - "last_modified": 1780901531573 + "version": "152", + "browserid": "firefox_android", + "id": "d4acf283-6f99-4aff-a937-827c0f6ba719", + "last_modified": 1782116462484 }, { - "name": "Chrome", - "schema": 1780704303820, - "status": "current", - "version": "149", - "browserid": "chrome", - "id": "dff5f94c-b1be-416a-91e6-f0fa2dbffb45", - "last_modified": 1780901531570 + "name": "Firefox for Android", + "schema": 1781913903792, + "status": "beta", + "version": "153", + "browserid": "firefox_android", + "id": "dbe73c6b-c8f0-4bb2-b3e6-5c34acb69363", + "last_modified": 1782116462481 }, { "name": "Firefox", - "schema": 1779494703568, - "status": "current", - "version": "151", + "schema": 1781913903420, + "status": "beta", + "version": "153", "browserid": "firefox", - "id": "ca23dbaa-20c7-4027-9de8-63ec380b2f6e", - "last_modified": 1780901531567 + "id": "5f2f0849-415a-429c-8b5f-4e55ba911634", + "last_modified": 1782116462479 }, { - "name": "Firefox for Android", - "schema": 1779494704095, - "status": "current", - "version": "151", - "browserid": "firefox_android", - "id": "cded3e3a-4e7e-4627-80fb-fae915ebc9a0", - "last_modified": 1780901531564 + "name": "Safari on iOS", + "schema": 1781309104883, + "status": "beta", + "version": "27", + "browserid": "safari_ios", + "id": "363e0ec3-9dd3-4641-bdb7-5e342194558c", + "last_modified": 1781614426535 }, { - "name": "Edge", - "schema": 1780704304694, - "status": "current", - "version": "149", - "browserid": "edge", - "id": "ecc3ce4e-9c4f-49c9-aabd-ddb600ade94b", - "last_modified": 1780901531557 + "name": "Safari", + "schema": 1781309104814, + "status": "beta", + "version": "27", + "browserid": "safari", + "id": "e3105383-384c-4c42-b3d6-0ae9a6c6eeb7", + "last_modified": 1781614426530 }, { - "name": "Edge", - "schema": 1780704304759, + "name": "WebView on iOS", + "schema": 1781309104954, "status": "beta", - "version": "150", - "browserid": "edge", - "id": "8dcc0dc6-e19c-4a1c-bd84-98ed10245fa4", - "last_modified": 1780901531543 + "version": "27", + "browserid": "webview_ios", + "id": "c386b0bc-a3e9-40fb-af71-6d47b182d746", + "last_modified": 1781614426522 }, { "name": "Bun", @@ -289,15 +325,6 @@ "last_modified": 1779199428021 }, { - "name": "Opera Android", - "schema": 1778285104459, - "status": "current", - "version": "98", - "browserid": "opera_android", - "id": "d29b1321-757d-4416-a1f0-c9052fe508cf", - "last_modified": 1778514804053 - }, - { "name": "Node.js", "schema": 1778285104334, "status": "current", @@ -352,5 +379,5 @@ "last_modified": 1735832995466 } ], - "timestamp": 1780901531642 + "timestamp": 1783313844388 } diff -Nru thunderbird-140.12.0esr/services/settings/dumps/main/search-config-v2.json thunderbird-140.13.0esr/services/settings/dumps/main/search-config-v2.json --- thunderbird-140.12.0esr/services/settings/dumps/main/search-config-v2.json 2026-06-13 03:48:04.000000000 +0000 +++ thunderbird-140.13.0esr/services/settings/dumps/main/search-config-v2.json 2026-07-21 21:33:03.000000000 +0000 @@ -2120,6 +2120,9 @@ }, { "base": { + "aliases": [ + "ecosia" + ], "classification": "general", "name": "Ecosia", "partnerCode": "mzl", @@ -2148,9 +2151,9 @@ }, "id": "e8e4a7e3-aead-43e3-887d-4064a186bd70", "identifier": "ecosia", - "last_modified": 1734364924960, + "last_modified": 1783024776556, "recordType": "engine", - "schema": 1734220806364, + "schema": 1782777609128, "variants": [ { "environment": { @@ -8420,5 +8423,5 @@ "schema": 1707824831520 } ], - "timestamp": 1778165854657 + "timestamp": 1783024776556 } diff -Nru thunderbird-140.12.0esr/services/settings/dumps/main/translations-models.json thunderbird-140.13.0esr/services/settings/dumps/main/translations-models.json --- thunderbird-140.12.0esr/services/settings/dumps/main/translations-models.json 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/services/settings/dumps/main/translations-models.json 2026-07-21 21:33:03.000000000 +0000 @@ -1,6 +1,177 @@ { "data": [ { + "hash": "4be647536631440bdf68c59d3de5720d8e87a482e0493ff41767488b4df1731d", + "name": "lex.50.50.euen.s2t.bin", + "schema": 1780501209978, + "toLang": "en", + "version": "2.1", + "fileType": "lex", + "fromLang": "eu", + "attachment": { + "hash": "4be647536631440bdf68c59d3de5720d8e87a482e0493ff41767488b4df1731d", + "size": 3738856, + "filename": "lex.50.50.euen.s2t.bin", + "location": "main-workspace/translations-models/20260603154011--3e7cb4af-1362-4b92-8a4d-876af8503aed--25a7b41f-ef0e-401c-a20b-e886c4945547.bin", + "mimetype": "application/octet-stream" + }, + "filter_expression": "", + "id": "3e7cb4af-1362-4b92-8a4d-876af8503aed", + "last_modified": 1782748150744 + }, + { + "hash": "7e8ea0279166c72b0b430327533c643a88f26e80e4a9f9f294244a84213f3e6d", + "name": "model.glen.intgemm.alphas.bin", + "schema": 1780501166384, + "toLang": "en", + "version": "2.1", + "fileType": "model", + "fromLang": "gl", + "attachment": { + "hash": "7e8ea0279166c72b0b430327533c643a88f26e80e4a9f9f294244a84213f3e6d", + "size": 31561787, + "filename": "model.glen.intgemm.alphas.bin", + "location": "main-workspace/translations-models/20260603153931--1f4f1b9a-7e71-42d8-9c56-81a2054afeb4--213ed8eb-077b-4018-b08a-5c4f229d1680.bin", + "mimetype": "application/octet-stream" + }, + "filter_expression": "", + "id": "1f4f1b9a-7e71-42d8-9c56-81a2054afeb4", + "last_modified": 1782748150741 + }, + { + "hash": "28621d3797a945ca0112c872640686586e77957b5421b0ef95886806b09d8874", + "name": "lex.50.50.engl.s2t.bin", + "schema": 1780501126487, + "toLang": "gl", + "version": "2.1", + "fileType": "lex", + "fromLang": "en", + "attachment": { + "hash": "28621d3797a945ca0112c872640686586e77957b5421b0ef95886806b09d8874", + "size": 3007680, + "filename": "lex.50.50.engl.s2t.bin", + "location": "main-workspace/translations-models/20260603153847--5503a4ee-15d9-4cc0-ab84-33de89e97ab1--910f6134-7bea-4a7e-beab-00bc391e7ebd.bin", + "mimetype": "application/octet-stream" + }, + "filter_expression": "", + "id": "5503a4ee-15d9-4cc0-ab84-33de89e97ab1", + "last_modified": 1782748150738 + }, + { + "hash": "f0a31e26b381d6340b069da4d505e11d18ac91e42f0189d37ed5fe6aa3685ed4", + "name": "model.euen.intgemm.alphas.bin", + "schema": 1780501212478, + "toLang": "en", + "version": "2.1", + "fileType": "model", + "fromLang": "eu", + "attachment": { + "hash": "f0a31e26b381d6340b069da4d505e11d18ac91e42f0189d37ed5fe6aa3685ed4", + "size": 31561787, + "filename": "model.euen.intgemm.alphas.bin", + "location": "main-workspace/translations-models/20260603154027--5320f62e-c826-4644-8e01-bec64710822f--6b369bc2-bd90-40a0-a6e2-fc5e58d24a95.bin", + "mimetype": "application/octet-stream" + }, + "filter_expression": "", + "id": "5320f62e-c826-4644-8e01-bec64710822f", + "last_modified": 1782748150735 + }, + { + "hash": "5157bf2e08eeac7b98703bf50a14653eab84607bb707a00db81585f61c814a6c", + "name": "vocab.glen.spm", + "schema": 1780501164791, + "toLang": "en", + "version": "2.1", + "fileType": "vocab", + "fromLang": "gl", + "attachment": { + "hash": "5157bf2e08eeac7b98703bf50a14653eab84607bb707a00db81585f61c814a6c", + "size": 827023, + "filename": "vocab.glen.spm", + "location": "main-workspace/translations-models/20260603153925--0306045a-4e4d-4349-a54b-21746bb9a1a6--beac37c5-ee0d-46e8-96e6-8097aef83613.spm", + "mimetype": "application/octet-stream" + }, + "filter_expression": "", + "id": "0306045a-4e4d-4349-a54b-21746bb9a1a6", + "last_modified": 1782748150732 + }, + { + "hash": "8f0cdff0c5bca8ed24d91c415f428d8b208f4991087723f38c1c28b59896de89", + "name": "vocab.euen.spm", + "schema": 1780501228746, + "toLang": "en", + "version": "2.1", + "fileType": "vocab", + "fromLang": "eu", + "attachment": { + "hash": "8f0cdff0c5bca8ed24d91c415f428d8b208f4991087723f38c1c28b59896de89", + "size": 826064, + "filename": "vocab.euen.spm", + "location": "main-workspace/translations-models/20260603154029--7a4d5761-5490-4cff-bf14-83e99165c749--fdb7f0cb-a4de-4501-8c30-e4dda214c491.spm", + "mimetype": "application/octet-stream" + }, + "filter_expression": "", + "id": "7a4d5761-5490-4cff-bf14-83e99165c749", + "last_modified": 1782748150729 + }, + { + "hash": "da044600f961c4c977e747cc9fb8afd4c05829629033d344a575a93807ea1cba", + "name": "vocab.engl.spm", + "schema": 1780501112109, + "toLang": "gl", + "version": "2.1", + "fileType": "vocab", + "fromLang": "en", + "attachment": { + "hash": "da044600f961c4c977e747cc9fb8afd4c05829629033d344a575a93807ea1cba", + "size": 827026, + "filename": "vocab.engl.spm", + "location": "main-workspace/translations-models/20260603153833--30d1a7a7-1b42-43a2-8df8-0accf391ff1b--88306c26-9356-4156-827b-4efd76343d52.spm", + "mimetype": "application/octet-stream" + }, + "filter_expression": "", + "id": "30d1a7a7-1b42-43a2-8df8-0accf391ff1b", + "last_modified": 1782748150726 + }, + { + "hash": "bec08e5408932c3813ccfb565ab7003d334dd6ca148c9d2bd074e17b8c0be1b1", + "name": "model.engl.intgemm.alphas.bin", + "schema": 1780501113924, + "toLang": "gl", + "version": "2.1", + "fileType": "model", + "fromLang": "en", + "attachment": { + "hash": "bec08e5408932c3813ccfb565ab7003d334dd6ca148c9d2bd074e17b8c0be1b1", + "size": 31561787, + "filename": "model.engl.intgemm.alphas.bin", + "location": "main-workspace/translations-models/20260603153845--3408c3e9-a4a9-4eb6-b791-e8bb0dde1d51--9d656b6e-0c5e-43a7-8cc3-367c0befe133.bin", + "mimetype": "application/octet-stream" + }, + "filter_expression": "", + "id": "3408c3e9-a4a9-4eb6-b791-e8bb0dde1d51", + "last_modified": 1782748150723 + }, + { + "hash": "fea6d0e1ea5d5e8e5f7207e4572867fb8f8d8b3f5f983a33067a06b218ab287f", + "name": "lex.50.50.glen.s2t.bin", + "schema": 1780501162443, + "toLang": "en", + "version": "2.1", + "fileType": "lex", + "fromLang": "gl", + "attachment": { + "hash": "fea6d0e1ea5d5e8e5f7207e4572867fb8f8d8b3f5f983a33067a06b218ab287f", + "size": 4367596, + "filename": "lex.50.50.glen.s2t.bin", + "location": "main-workspace/translations-models/20260603153924--06b098f0-ee9c-433c-a08a-1be06e2e94bd--e55fbbc5-18f3-40a2-b7f8-27662b078569.bin", + "mimetype": "application/octet-stream" + }, + "filter_expression": "", + "id": "06b098f0-ee9c-433c-a08a-1be06e2e94bd", + "last_modified": 1782748150720 + }, + { "hash": "0aee91790894458f5d367551f6edcd4c9cb97852c34f221bcbf9f4701ebcf0cd", "name": "model.zhen.intgemm.alphas.bin", "schema": 1779478938169, @@ -12224,5 +12395,5 @@ "last_modified": 1701186751412 } ], - "timestamp": 1779803089686 + "timestamp": 1782748150744 } diff -Nru thunderbird-140.12.0esr/services/settings/dumps/security-state/intermediates.json thunderbird-140.13.0esr/services/settings/dumps/security-state/intermediates.json --- thunderbird-140.12.0esr/services/settings/dumps/security-state/intermediates.json 2026-06-13 03:48:04.000000000 +0000 +++ thunderbird-140.13.0esr/services/settings/dumps/security-state/intermediates.json 2026-07-21 21:33:03.000000000 +0000 @@ -1,6 +1,474 @@ { "data": [ { + "schema": 1783738768762, + "derHash": "Vyu1xwhQB6+3sXhmJ4ru5z3dbXAt1S816lEIGY1iO9U=", + "attachment": { + "hash": "e55bf176f56c3c8c9cae303a9434d51794bd7aa480e50997fc67db118bbdf828", + "size": 1069, + "filename": "_zKSLzl24eVbIJFFFCpgoGvBX3MbgX0u2cxXgdupfBs=.pem", + "location": "security-state-staging/intermediates/20260711025929--5b7d14d7-3d96-410e-a135-f6f7acd2c9bd--cc134248-a052-4ca4-9e1a-17eb609a0e6a.pem", + "mimetype": "application/x-pem-file" + }, + "id": "5b7d14d7-3d96-410e-a135-f6f7acd2c9bd", + "last_modified": 1783742222794 + }, + { + "schema": 1783738767694, + "derHash": "Qk4jtai5XpxSimjoZRJ6HXFp5Xe/CMdlOZCFJfE2Kb0=", + "attachment": { + "hash": "c5c74bd0c10ac25d2231a96027391fc9759f3a1278eb76a5b0cbcf5e3e1218dd", + "size": 1077, + "filename": "QILJ7_hwMYbpCD3kiXC3sAWbCerQCqx6RCH9tIm6Aok=.pem", + "location": "security-state-staging/intermediates/20260711025928--d2e5bf97-88af-4bc2-a41c-9d4953dd5296--232cf56c-de62-4346-b784-a70f683901fe.pem", + "mimetype": "application/x-pem-file" + }, + "id": "d2e5bf97-88af-4bc2-a41c-9d4953dd5296", + "last_modified": 1783742222790 + }, + { + "schema": 1782439156947, + "derHash": "yMBwk07FneXPufvvSqfyj57Dfgy6PS8jCqAbrNARF/M=", + "attachment": { + "hash": "13fcece5ab6d61149b774f3a701d836ad790dd150fdc032f59e65196c2f5d885", + "size": 2312, + "filename": "IwdOyi2WwMcVnIB4mrVRNBE_DT7BI2KDuzm-B14c1qw=.pem", + "location": "security-state-staging/intermediates/20260626015917--909c5a72-cf9a-4d24-9be3-f2b44e0474a5--b1436c7f-a28f-4ba4-a961-ff113d71f7a7.pem", + "mimetype": "application/x-pem-file" + }, + "id": "909c5a72-cf9a-4d24-9be3-f2b44e0474a5", + "last_modified": 1782442622750 + }, + { + "schema": 1782139751321, + "derHash": "uG0E3yr3Esh7YoguUhoT2yakxUVgF+WPRF5SmVinn0E=", + "attachment": { + "hash": "ad1a50003d2f4e878a5bcd59c97258870a52a847ac1ac46960e2f001a9e4f4cd", + "size": 1191, + "filename": "F4AWDFfo5K4ini9XqlcnN_ebVZBnofvQpKiYrrk8m0U=.pem", + "location": "security-state-staging/intermediates/20260622144911--2c27de0b-b527-438a-b3c5-bc99d28cc5cb--b4107085-895c-4799-be23-94882a26dd4e.pem", + "mimetype": "application/x-pem-file" + }, + "id": "2c27de0b-b527-438a-b3c5-bc99d28cc5cb", + "last_modified": 1782140229406 + }, + { + "schema": 1782139750454, + "derHash": "MUgPU7/0sqddzjjnlhr7vbfjdg0ypydgF4VWSGm+56c=", + "attachment": { + "hash": "9e2f82ec811f9c2f0e810a772371d672e87c3124c4347124665b244719b7d782", + "size": 2345, + "filename": "4ItzjdwBC2JzyqJDJieEjjMLPnieyTnLVxvyyZAoWUs=.pem", + "location": "security-state-staging/intermediates/20260622144910--480398a9-3f10-44e3-b205-43feeb675c7b--a069a7b1-50cd-40fe-80ce-f710e8e7db0d.pem", + "mimetype": "application/x-pem-file" + }, + "id": "480398a9-3f10-44e3-b205-43feeb675c7b", + "last_modified": 1782140229403 + }, + { + "schema": 1781665028388, + "derHash": "b6Yng+D/34qbFXm1dmsH/Wsq8txE+cudYGiz7t7+INs=", + "attachment": { + "hash": "7ebb0fae45f7db287295dc5bec4fe236c3a738651b5e6a8ddb3f4ed6f288206a", + "size": 2324, + "filename": "2zaX_lRj6xmfdhWRNPR2rEFHgPwi0Y7YixS7fY-G0Dw=.pem", + "location": "security-state-staging/intermediates/20260617025708--01727636-766d-449b-97c0-b20c770fec68--ca3c3480-4362-41f2-a94e-28d49fd51186.pem", + "mimetype": "application/x-pem-file" + }, + "id": "01727636-766d-449b-97c0-b20c770fec68", + "last_modified": 1781668623276 + }, + { + "schema": 1781665027609, + "derHash": "z9aS2Dy0VcHgaDVdequ9Xr1jGkI4kiiCKSZDLS+4scM=", + "attachment": { + "hash": "9ef9300c163b5da7c05fbe198876b6e2f1e9f278cf86c5fd6b5ee58bf5f177c1", + "size": 2328, + "filename": "KK7FQ8KGynMXRYbTT4ajKX4upJwe3Kr-q-o_LG-n2Sc=.pem", + "location": "security-state-staging/intermediates/20260617025707--f326871f-ce9b-4cdc-a1c4-c910e091f573--1d096f85-851f-4b06-a783-e794b3f7e0da.pem", + "mimetype": "application/x-pem-file" + }, + "id": "f326871f-ce9b-4cdc-a1c4-c910e091f573", + "last_modified": 1781668623273 + }, + { + "schema": 1781665029129, + "derHash": "1gc/710UPaPLzKUvaG41Qgk/Xl8aao86a+v2XcyYiPQ=", + "attachment": { + "hash": "299dbe8b655e8f962330b04aba56ded5b07b7fb5dcccc9f557a4aa1e58bc5898", + "size": 2328, + "filename": "lQR2oD3majMYzme5FEJD3K0Y6t4kHdYd_LHHYpeS5Cs=.pem", + "location": "security-state-staging/intermediates/20260617025709--feb93762-2e94-497a-ad54-0612edbcc561--1d07f539-0820-4e3d-a717-1d9dd8803f8e.pem", + "mimetype": "application/x-pem-file" + }, + "id": "feb93762-2e94-497a-ad54-0612edbcc561", + "last_modified": 1781668623269 + }, + { + "schema": 1781402374288, + "derHash": "8TX/sob9GVGzxxpMItd67+qv96SgNWKCiLm55pNwfwE=", + "attachment": { + "hash": "bd92f2213506089fe1f6e07c53d3379a6e95035c37e7d7224f223b4b632628d3", + "size": 1853, + "filename": "vbJVya4PREWMInhG9FkZ2CSUGUxfMt0boL_2NcicuF8=.pem", + "location": "security-state-staging/intermediates/20260614015934--0c5d8c4d-0adb-4989-af0c-d21115825777--80f63032-34f9-41e1-bd7f-03b8dd2cef28.pem", + "mimetype": "application/x-pem-file" + }, + "id": "0c5d8c4d-0adb-4989-af0c-d21115825777", + "last_modified": 1781405823143 + }, + { + "schema": 1781402371918, + "derHash": "Np7JJ8CiPIkohB2ZPhwlhR9//+JR2PfP7cWAlSKL3n0=", + "attachment": { + "hash": "3daa22e78a08fb542d67f1d6a4d9212be99cbb7e98dd83956390e077626dc9e5", + "size": 1093, + "filename": "KEhx9jLN4v49l5fua5SD9105X30B0T08Pov4UczMPUs=.pem", + "location": "security-state-staging/intermediates/20260614015932--dbfcea6c-2d37-4e3d-80c6-8f696ad28151--48fd8bc7-9e7b-4272-b1d5-a25f7129a31a.pem", + "mimetype": "application/x-pem-file" + }, + "id": "dbfcea6c-2d37-4e3d-80c6-8f696ad28151", + "last_modified": 1781405823122 + }, + { + "schema": 1781402371163, + "derHash": "Mg1zRK75ayqmJgjG6Xi9ENSUN6cjani0x196lIfiegU=", + "attachment": { + "hash": "93bca79e59786c3a65e8ac4773c060e406b331dcb38333bd8d5bbebca8ae5caa", + "size": 1053, + "filename": "3j4GIrESRqUPekKG0LMcs-Lw6VHwNIJQ3wMtRWIhn_Y=.pem", + "location": "security-state-staging/intermediates/20260614015931--ab3a5adc-37f6-46ff-bc11-280246628d00--578c5120-96c2-4e71-b402-557a26a6ff79.pem", + "mimetype": "application/x-pem-file" + }, + "id": "ab3a5adc-37f6-46ff-bc11-280246628d00", + "last_modified": 1781405823096 + }, + { + "schema": 1781402370349, + "derHash": "+qT6DvcFbWlTu9+zZGHj983zM1Kvck/YJUsYTT4slB8=", + "attachment": { + "hash": "1d4dc8ff39b78e22003c1339b070e301141e4a41d53d263aaedcd1656240e569", + "size": 2353, + "filename": "PdJrKZbQK0ZWbRuhG9U_4hUG6GbBqVP6TH0OUtHcbNk=.pem", + "location": "security-state-staging/intermediates/20260614015930--60c91cc3-fa0c-497a-9cb9-8450f3c293f1--dc23040c-5aca-4ef9-bf3b-7eddfd75fc7c.pem", + "mimetype": "application/x-pem-file" + }, + "id": "60c91cc3-fa0c-497a-9cb9-8450f3c293f1", + "last_modified": 1781405823076 + }, + { + "schema": 1781402369601, + "derHash": "lXTGR3NuGvPqNHz+dgO2RW6RaF50xSrlkPxMJat2f5k=", + "attachment": { + "hash": "4f0ce291a3f3878c5f4a8e5b0f86a60f26001a553c903ca14f9c1222541139dd", + "size": 2068, + "filename": "H9nViHJUH5EKnXKlBNF5VZha7WNH48HWnCih2cUAEkU=.pem", + "location": "security-state-staging/intermediates/20260614015929--78a37eb6-c250-4207-9551-05cef53318d2--247907e4-e54e-43cf-ba18-7e8cbebfa2c4.pem", + "mimetype": "application/x-pem-file" + }, + "id": "78a37eb6-c250-4207-9551-05cef53318d2", + "last_modified": 1781405823055 + }, + { + "schema": 1781402367247, + "derHash": "6pshE5V8AeRhgsQaXMgBjGBA8R3mLrK9aJlnr7l2Ju4=", + "attachment": { + "hash": "82514f8ebd34e24cf379d0cc22ff8221acdd52ecf0bbd3f867848ed2930a0ced", + "size": 1857, + "filename": "Ch273DfAjmJ9xGs4RK-zxcWNmZFBdHzgCFpM0ZDTrNM=.pem", + "location": "security-state-staging/intermediates/20260614015927--685439fe-46da-40a5-a86c-f24705e6570d--d5c8ba04-c1a5-46ee-b2ea-4179bb7e4633.pem", + "mimetype": "application/x-pem-file" + }, + "id": "685439fe-46da-40a5-a86c-f24705e6570d", + "last_modified": 1781405823034 + }, + { + "schema": 1781402373400, + "derHash": "huejmNEUD/MqOxSmfFXKtfCXGWq7vZJB8x29L9bKo70=", + "attachment": { + "hash": "fc599ad1469221f89b064f8b7e76ffee3f06281e806b9ba016fffa0ae31eb31e", + "size": 1057, + "filename": "SaXUsKS0SybOsKFUlwS162fGGdMChSrTJgJrXIflOAU=.pem", + "location": "security-state-staging/intermediates/20260614015933--9ded41d9-ca0c-4d21-bb79-4b39dfc84c20--378a72c5-a124-4658-b0dd-d43cc8dc2766.pem", + "mimetype": "application/x-pem-file" + }, + "id": "9ded41d9-ca0c-4d21-bb79-4b39dfc84c20", + "last_modified": 1781405823003 + }, + { + "schema": 1781402368037, + "derHash": "TUUrlS/c3mY8EEAK7WE8lr7YxL8aj3UNinTVxBg7GSA=", + "attachment": { + "hash": "afb130c93250cd5c257325891d99f1d753b5bd793ce6807a0b88a06fd3240bd3", + "size": 2406, + "filename": "YO84IgdKPslbMxhvv1hPpxg64b2d5uZ-XviOdw481CQ=.pem", + "location": "security-state-staging/intermediates/20260614015928--f2e44b99-33b3-4758-b4a2-95580b73ffef--75771037-c3c1-42dd-aad9-4e9eecf1c8d0.pem", + "mimetype": "application/x-pem-file" + }, + "id": "f2e44b99-33b3-4758-b4a2-95580b73ffef", + "last_modified": 1781405822984 + }, + { + "schema": 1781402372649, + "derHash": "62xGbmR6XrYzo4KQ/TATHde4h7UeE0CrtQLHqzFojwQ=", + "attachment": { + "hash": "f78f9fe39ad74cccec8cbaacf3e974c672a1c060908e5e830ae3dc99cc0db3de", + "size": 2406, + "filename": "XicZFf9Wa9wpLGb6mLTYxEINd8OUCyfPdpuoHFOb1x4=.pem", + "location": "security-state-staging/intermediates/20260614015932--9014e4f2-79b5-4f23-ba18-9a48899eb34e--b274efb4-7131-49d8-af8e-d589feacc51a.pem", + "mimetype": "application/x-pem-file" + }, + "id": "9014e4f2-79b5-4f23-ba18-9a48899eb34e", + "last_modified": 1781405822973 + }, + { + "schema": 1781272783885, + "derHash": "vGx3VWl1lFksIs4fjHCF08Sb9BsSamZx/l7xD53o79Y=", + "attachment": { + "hash": "21c8b266f97a3cccfe02f72d051406244abf6034a80005a06211d9ba7942bbe6", + "size": 1439, + "filename": "3fRpt6J5uyUtl-4tOwq_YPYND6VJGKqV0wI1gA-c2ho=.pem", + "location": "security-state-staging/intermediates/20260612135944--db15ee25-411e-4014-abb5-507cf4198a91--6d14efd2-3e4d-4905-b447-66c1eb470fd6.pem", + "mimetype": "application/x-pem-file" + }, + "id": "db15ee25-411e-4014-abb5-507cf4198a91", + "last_modified": 1781276222625 + }, + { + "schema": 1781272782282, + "derHash": "g8GK8/e859x8WjpR0AGlq3TDWfdHbVvu2KMHMPyabCY=", + "attachment": { + "hash": "88539c924beb817a9d55975667939a1f9c035015541b3467fba919d9ea62a2ab", + "size": 1215, + "filename": "3fRpt6J5uyUtl-4tOwq_YPYND6VJGKqV0wI1gA-c2ho=.pem", + "location": "security-state-staging/intermediates/20260612135942--f484df3e-3595-41a4-946d-a116ee2bc9e5--4b8d7636-2c61-4255-a034-924ca76954c9.pem", + "mimetype": "application/x-pem-file" + }, + "id": "f484df3e-3595-41a4-946d-a116ee2bc9e5", + "last_modified": 1781276222621 + }, + { + "schema": 1781272781495, + "derHash": "3Z+jYzFerW0RDJS6/SqmGSnkG2Olh3/+hPUPvDZCKmU=", + "attachment": { + "hash": "755bef178f9e81a89e94ebf8be57779dd63c2a81ba14cecb3107f9667ed3cd53", + "size": 1187, + "filename": "p9fsbYyJ7IybkZzNMd3v93c-QVTYhdnSLcDzZd09NHU=.pem", + "location": "security-state-staging/intermediates/20260612135941--b999ac0a-d9b5-4c1e-b168-e6a73211e46c--5ad6216c-b8f0-4c12-8155-95ef0c3fdf27.pem", + "mimetype": "application/x-pem-file" + }, + "id": "b999ac0a-d9b5-4c1e-b168-e6a73211e46c", + "last_modified": 1781276222616 + }, + { + "schema": 1781272780720, + "derHash": "XB0NoHhcHQngK/1Tw9PYTRQd4AwBriu/k8U5yoel/wM=", + "attachment": { + "hash": "94a02814d40a6c27133bdb60623a51b2b5d5e72ff1cadff169bae892dcc81858", + "size": 2333, + "filename": "bO-ra7_aomtvNiGAnrXg3WapZP2K4UCCZhgF2Br1pas=.pem", + "location": "security-state-staging/intermediates/20260612135941--a218e651-b4ae-4ad2-a233-772d74acd44f--ae4fe727-7066-4158-a370-9eb6f0806446.pem", + "mimetype": "application/x-pem-file" + }, + "id": "a218e651-b4ae-4ad2-a233-772d74acd44f", + "last_modified": 1781276222612 + }, + { + "schema": 1781272779984, + "derHash": "34I7O1MQnhQtHIulV01d7H8aFKwjFo2XzcbIMIGtK6s=", + "attachment": { + "hash": "481090d98ddf22ddb41e9b0a81c80f2e19d716f80c395f921d22c638e5fa5f63", + "size": 1183, + "filename": "Qcu9yau_wb9qM9LMMxqRJIelXdWCuGlzxXV2_DVhlEE=.pem", + "location": "security-state-staging/intermediates/20260612135940--2b178530-27e1-45c9-a298-35ee1a265dbb--e9c37a79-b216-4e9e-9c24-3dcf7059bf5c.pem", + "mimetype": "application/x-pem-file" + }, + "id": "2b178530-27e1-45c9-a298-35ee1a265dbb", + "last_modified": 1781276222608 + }, + { + "schema": 1781272779241, + "derHash": "KBXtvVK3Seuf4ciPpouFyFWb7gT/BdHuF+Cu2LFDCLM=", + "attachment": { + "hash": "c7eadd6308d785bb05d08cd06407e262bf639ba74d52effe0faf2e93f48e66cd", + "size": 2333, + "filename": "Xrj6o5P59EcULLI8ClpZunm4KqOwQB5n4wUQeR4X-ns=.pem", + "location": "security-state-staging/intermediates/20260612135939--8a8ab97a-6eea-498c-954e-c9328825703d--648d63f9-8e79-4a9f-830d-b71a14b03bd7.pem", + "mimetype": "application/x-pem-file" + }, + "id": "8a8ab97a-6eea-498c-954e-c9328825703d", + "last_modified": 1781276222604 + }, + { + "schema": 1781272778291, + "derHash": "mNiPhBWVh+/IMLoXrI4MgHt6WdVg3knIWSkSJRw+wSc=", + "attachment": { + "hash": "124dc1efa4a7d69d4c24f1536f5bee86fc4c025f176d6171b4780fcbdcccd86a", + "size": 2361, + "filename": "jIR0QUdgovWYb2rIAqZvN-trNg3Y7ndHqLbJLwizTZ4=.pem", + "location": "security-state-staging/intermediates/20260612135938--de2f8c19-e5c1-4ffa-b0c7-1c0bb1d9eb64--5425f286-b423-4679-8188-fb835a1413bb.pem", + "mimetype": "application/x-pem-file" + }, + "id": "de2f8c19-e5c1-4ffa-b0c7-1c0bb1d9eb64", + "last_modified": 1781276222600 + }, + { + "schema": 1781272777381, + "derHash": "7i5lKvFnkLcJBB65sUMLSpOqGOwqKYPm5nE3/eJc1RE=", + "attachment": { + "hash": "b386b33f5d0339a8e0525e7663dea7ff0ebc6512befa51f841dec07c8e66ea41", + "size": 1183, + "filename": "GHxWgJxkfgbelV8wLMM43_CCKOyaCpnFE67TyYbf8BE=.pem", + "location": "security-state-staging/intermediates/20260612135937--3056b09b-4465-49be-a047-26b1b33c3353--8142c3a3-6da6-41fb-8192-d63fa7bc527b.pem", + "mimetype": "application/x-pem-file" + }, + "id": "3056b09b-4465-49be-a047-26b1b33c3353", + "last_modified": 1781276222596 + }, + { + "schema": 1781272776422, + "derHash": "WAbZ3tqEroWObz0TceK9ZdCXj9JKGpeMo1EPRyFzVdk=", + "attachment": { + "hash": "ce57a70721e23b24d7183f3f2497cec397e66d0459fcb4aee552342a1662f3ed", + "size": 2020, + "filename": "jIR0QUdgovWYb2rIAqZvN-trNg3Y7ndHqLbJLwizTZ4=.pem", + "location": "security-state-staging/intermediates/20260612135936--b6d8001f-6031-4168-a181-ef32cd87e936--da39110d-5cb5-43e8-a09a-9ebf197d2039.pem", + "mimetype": "application/x-pem-file" + }, + "id": "b6d8001f-6031-4168-a181-ef32cd87e936", + "last_modified": 1781276222591 + }, + { + "schema": 1781272783053, + "derHash": "9Ee426j3OloiNrc9thc7vbOhdib08cxwhwkkJ7XA9n8=", + "attachment": { + "hash": "837819689844b471de3dc0b8855660fda174affecabb9c3abd9a046194b35705", + "size": 2333, + "filename": "oDmN8ELR0_s6g_6kOydxtZRpffhK5oO8m1hyMGtbreg=.pem", + "location": "security-state-staging/intermediates/20260612135943--2e909c42-ff6f-4fc1-8369-d54354203790--98b77923-b858-436e-a6a3-2e4ace117fbd.pem", + "mimetype": "application/x-pem-file" + }, + "id": "2e909c42-ff6f-4fc1-8369-d54354203790", + "last_modified": 1781276222587 + }, + { + "schema": 1781186353779, + "derHash": "3pmsQvlV023tkHZGL970OkqOj7RmqmwizFkshjrvZd4=", + "attachment": { + "hash": "ffe86af3e45c6e6c0ee452102ae4448f377751adec6d4b5edaaef628e4d3eb35", + "size": 2024, + "filename": "ape1HIIZ6T5d7GS61YBs3rD4NVvkfnVwELcCRW4Bqv0=.pem", + "location": "security-state-staging/intermediates/20260611135914--db9929d6-0e1b-4139-b592-5408318e3d23--6126dfff-953e-4405-af90-66573b106dfd.pem", + "mimetype": "application/x-pem-file" + }, + "id": "db9929d6-0e1b-4139-b592-5408318e3d23", + "last_modified": 1781189822847 + }, + { + "schema": 1781186353057, + "derHash": "CrPVDvnLkk1l93uhPll8fFsA5zrBZaoX0mt/YTu6zZE=", + "attachment": { + "hash": "478874bade24f4f99fe8ef5b3f1935e99ba3ffab97c7137a3260fbaeb2828043", + "size": 1232, + "filename": "oC-voZLIy4HLE0FVT5wFtxzKKokLDRKY1oNkfJYe-98=.pem", + "location": "security-state-staging/intermediates/20260611135913--f5d5cf36-9236-4916-81c1-fc32436982c7--4961e659-a07d-4a91-be77-b09f4133965e.pem", + "mimetype": "application/x-pem-file" + }, + "id": "f5d5cf36-9236-4916-81c1-fc32436982c7", + "last_modified": 1781189822843 + }, + { + "schema": 1781186352249, + "derHash": "BoeU9aCE9tLVBKb/LvB7vE0TLWYlMoDY7YjVvQRTWgo=", + "attachment": { + "hash": "34af05a358379f875d31a6da878f5058bf9a1b35ead10d47a522aa4be81927c5", + "size": 2016, + "filename": "EC7YD11-Vw55zc9OhDArqrmBF5o3w-UVCUsHEzRaqTI=.pem", + "location": "security-state-staging/intermediates/20260611135912--5b0e958b-4aff-42c5-8131-0a0c9b58cbe0--5deba2a0-d502-46e3-8d39-e5a4ed398681.pem", + "mimetype": "application/x-pem-file" + }, + "id": "5b0e958b-4aff-42c5-8131-0a0c9b58cbe0", + "last_modified": 1781189822838 + }, + { + "schema": 1781186351488, + "derHash": "xLFW6TtVh50rO/kFgyRVcLQHC/ZyW9xlUy9wIJqT8MM=", + "attachment": { + "hash": "a695fbd0eef71892503022d11502e3a133a59aa28b0b85405a7a978cade92014", + "size": 2016, + "filename": "JEq2bBbwLK6Pw0KPj5HVt_peiAU56aau_dbrCNv9jyg=.pem", + "location": "security-state-staging/intermediates/20260611135911--09979d69-eaf4-458b-b398-ec6483329008--a768c48b-9fed-4072-aa91-d7d0a814439c.pem", + "mimetype": "application/x-pem-file" + }, + "id": "09979d69-eaf4-458b-b398-ec6483329008", + "last_modified": 1781189822834 + }, + { + "schema": 1781186350746, + "derHash": "pGTwit+Rz0kQDG/a5dhmAa4pF7VvCdxsLseawvQLNlE=", + "attachment": { + "hash": "deabb49041d901b9b360a1319fa41506d02c5f88861789098ca7ad112f690d0f", + "size": 2032, + "filename": "ape1HIIZ6T5d7GS61YBs3rD4NVvkfnVwELcCRW4Bqv0=.pem", + "location": "security-state-staging/intermediates/20260611135911--affefbb4-6c1c-443d-a54b-0ee63602a2c3--b2789d28-0870-40ba-a9d4-3a316bb07b24.pem", + "mimetype": "application/x-pem-file" + }, + "id": "affefbb4-6c1c-443d-a54b-0ee63602a2c3", + "last_modified": 1781189822829 + }, + { + "schema": 1780927148635, + "derHash": "HXlbScTBri65A5OgfZdYIHeA/oqDjoApGeq8mzLlSuo=", + "attachment": { + "hash": "ebbf6c045d7246fd57a3e50a3e6d5b336f901de21f86301590935b3a802f74a3", + "size": 1240, + "filename": "8GLLcv76ozd3TXxsGAle-piClg2FprlbuT_Y9POT6Xc=.pem", + "location": "security-state-staging/intermediates/20260608135908--28f34bb2-2fa9-47ca-9fa9-4066112e7011--15474733-c460-4c24-a762-a0be979d5495.pem", + "mimetype": "application/x-pem-file" + }, + "id": "28f34bb2-2fa9-47ca-9fa9-4066112e7011", + "last_modified": 1780930622537 + }, + { + "schema": 1780927147703, + "derHash": "nG0dKQcs634S9DbW7Cfv6fnXoTKWiksqq5VWVM6NIAQ=", + "attachment": { + "hash": "0b9bcc7ed5ca41dd1a889cdf1ab431a02a1e04f6cace5329dd91b75733d88d2d", + "size": 1788, + "filename": "2f2CJhNzfRGOuU_3X08o7xHul9JvRYQSazV59yLP1UA=.pem", + "location": "security-state-staging/intermediates/20260608135908--7519a794-3ca8-498a-9265-6c34fb31864c--c85a5e0b-b22e-4c6a-ab8c-d93c600da8df.pem", + "mimetype": "application/x-pem-file" + }, + "id": "7519a794-3ca8-498a-9265-6c34fb31864c", + "last_modified": 1780930622534 + }, + { + "schema": 1780927150110, + "derHash": "i8R4pYHeZXqGwuikzgowyp16va75MeWQ2E2yNbKlKRw=", + "attachment": { + "hash": "20404e2aae78defe3b1ddfbb7378eb70b25af156511b610c756546ca766eb9f4", + "size": 2385, + "filename": "DE1q6Bkc0pTuoT8OtbbHB3mvbNarX_3MJfDn-DkhaNw=.pem", + "location": "security-state-staging/intermediates/20260608135910--a30bfa9d-b31c-4a46-9362-687326573a41--5c2c771c-bc91-42c2-be66-297f25cf0ff1.pem", + "mimetype": "application/x-pem-file" + }, + "id": "a30bfa9d-b31c-4a46-9362-687326573a41", + "last_modified": 1780930622531 + }, + { + "schema": 1780927149393, + "derHash": "W8KotQgErisuxIe1iQLMBayhwvVumMW5cRP/lYAWaUo=", + "attachment": { + "hash": "2d248426d1075678061cead7cfb1b2f465d0e0c7c19d1db1a11c1d270888e5fb", + "size": 2373, + "filename": "9-jwxUa0hDHWVqgEKpRm6sgH2io0RB1nHDYYZUFBPIY=.pem", + "location": "security-state-staging/intermediates/20260608135909--95cafb3b-6897-4380-bdb0-01d3f80ddd3f--6b7fa9ab-bebd-4614-ad6b-ea72fb99965a.pem", + "mimetype": "application/x-pem-file" + }, + "id": "95cafb3b-6897-4380-bdb0-01d3f80ddd3f", + "last_modified": 1780930622529 + }, + { "schema": 1780754346868, "derHash": "L/g8m2l2zDLNagGZTMgVvQYQUZdzsuLJ+DtQLfvdsS4=", "attachment": { @@ -313,58 +781,6 @@ "last_modified": 1777784222742 }, { - "schema": 1777690216648, - "derHash": "5O+Q7ZA9yYdrCgvJqN4h2f0EHjEaFg3H8tvHq5h9yhQ=", - "attachment": { - "hash": "391d3384cd971843f23261d5199035bd41a73f9ad3a396b88c3fa62c6258c189", - "size": 1439, - "filename": "3fRpt6J5uyUtl-4tOwq_YPYND6VJGKqV0wI1gA-c2ho=.pem", - "location": "security-state-staging/intermediates/94c8c0ec-c1c0-464a-8538-a5ece663e220.pem", - "mimetype": "application/x-pem-file" - }, - "id": "74638f01-4649-4689-a4dc-eb75663795af", - "last_modified": 1777690622550 - }, - { - "schema": 1777690215753, - "derHash": "IzvoNGePmIEvUD6U2bUhrqwzqpvuG4uiDNWy2Y8zmKg=", - "attachment": { - "hash": "272e50ddf71d41bbbfc16ba0d38ec10e9541b1cee0a9f10b22afcc6e89d57a64", - "size": 2361, - "filename": "jIR0QUdgovWYb2rIAqZvN-trNg3Y7ndHqLbJLwizTZ4=.pem", - "location": "security-state-staging/intermediates/e1613ef0-258a-4596-869b-c616f48a738d.pem", - "mimetype": "application/x-pem-file" - }, - "id": "004dd6f0-4e25-4002-b86c-1034f8979c9b", - "last_modified": 1777690622547 - }, - { - "schema": 1777690214837, - "derHash": "HngzsXR+9b7Ab8IjfbgekfI96BYdN1n5qUkzT5KNWXA=", - "attachment": { - "hash": "7474742085a25869f55f1332da5bbb9321c207b9cdd81f873b9eafea7591e40e", - "size": 1211, - "filename": "3fRpt6J5uyUtl-4tOwq_YPYND6VJGKqV0wI1gA-c2ho=.pem", - "location": "security-state-staging/intermediates/be01d4cc-3ee4-4c8f-8864-f46891b36c41.pem", - "mimetype": "application/x-pem-file" - }, - "id": "8a23db98-29dc-4b75-b29b-4440ec16cd83", - "last_modified": 1777690622543 - }, - { - "schema": 1777690213871, - "derHash": "6wxg/RupVVkYQPt7VjrbRlAb6OdZKWTY/3nUedNiHRA=", - "attachment": { - "hash": "080533f5b34bf88e0b45a0949984773506ec5d6ef26acdb26ca4d129b66aedbd", - "size": 2020, - "filename": "jIR0QUdgovWYb2rIAqZvN-trNg3Y7ndHqLbJLwizTZ4=.pem", - "location": "security-state-staging/intermediates/9b80cac0-31f1-4d36-902b-9a0c76151bfb.pem", - "mimetype": "application/x-pem-file" - }, - "id": "282daede-ca2d-47e5-a07b-99167d8cce52", - "last_modified": 1777690622540 - }, - { "schema": 1777514360343, "derHash": "bf9Wz6gjl4y5r/gVw8aYbfs2DGOzJKLLSPWzYzX280Q=", "attachment": { @@ -2003,19 +2419,6 @@ "last_modified": 1771383422877 }, { - "schema": 1771379995845, - "derHash": "F4Mtu0j2CbcionUH8dMn3gYtf3uFtxMl2N2ZsZ+1utQ=", - "attachment": { - "hash": "9ec9aad5d1e702532463d40db23f5be46e95a5ccaff14959865f2e44ccb6c9f0", - "size": 2402, - "filename": "Flwt639e1YxmeZ5xDPUdZ4HnKJP9cnEbsIwp5s3EQ24=.pem", - "location": "security-state-staging/intermediates/a3301551-1077-4f09-ae3b-ad23de390f2d.pem", - "mimetype": "application/x-pem-file" - }, - "id": "3d692efa-1190-491d-b508-0af0027cd69e", - "last_modified": 1771383422870 - }, - { "schema": 1771379993182, "derHash": "TM8XwMjBwQ1YduxeMoD+jRNN82rt2ERCibmQvDdB508=", "attachment": { @@ -2419,19 +2822,6 @@ "last_modified": 1771383422711 }, { - "schema": 1771379979901, - "derHash": "RbOUKVnXT4tUamq0dASvxKWDrV+m/9iagnoqeFIvZv0=", - "attachment": { - "hash": "af185f38466afb996869c18435f4d0d732d48159ee9b8921b868dd2cd2ad668c", - "size": 2385, - "filename": "n3t8p3z1tTr8J7q5sknewofsFtqfzhZMc9d1GeyAzdU=.pem", - "location": "security-state-staging/intermediates/2db2eb28-2cf9-4dab-892f-80808cb1a430.pem", - "mimetype": "application/x-pem-file" - }, - "id": "3136212b-5350-49c2-9e23-5487a349c16d", - "last_modified": 1771383422708 - }, - { "schema": 1771379979578, "derHash": "c4YY2dTDT53/lXICVe+QQP/HxMUgMwlDjhDm9JWUYrY=", "attachment": { @@ -2588,19 +2978,6 @@ "last_modified": 1771383422662 }, { - "schema": 1771379974974, - "derHash": "iC2ZJPxpoAV01UwrtAFIJaHBxx+h0COMrIZf4KpK1gs=", - "attachment": { - "hash": "ab53a1e5c27f5f6e4e2e49e2ac6388a33e0bc97bac2b42fe31df98e7d3e4a838", - "size": 1256, - "filename": "0OaRfyv9xBiWEH4CyltV9tyS3rru9FZZlGJ5tPMNyMU=.pem", - "location": "security-state-staging/intermediates/d3e94720-0c5c-44e0-8d4b-9502900c717c.pem", - "mimetype": "application/x-pem-file" - }, - "id": "c43d85dd-4164-4e39-804d-25c75966aae2", - "last_modified": 1771383422655 - }, - { "schema": 1771379974656, "derHash": "ins0yOgu+ztbQWZxIwcp+tLiYnk4P7KZPtKSC9biEkE=", "attachment": { @@ -2718,19 +3095,6 @@ "last_modified": 1771383422619 }, { - "schema": 1771379970048, - "derHash": "u6mP/GotWtJRs0vGYy09qIlVy0b0ofTfRDmApL+ShF8=", - "attachment": { - "hash": "20051b3ab7966ddc2160eee3a41f195c9d431a4dcf6625a1a019d134c37e1fff", - "size": 1240, - "filename": "JXw4MdzGvSa_0WGYWJU0Y2A1l_qMYDIqEV-nkd6oj7k=.pem", - "location": "security-state-staging/intermediates/7c61ecff-cd20-40bc-ac2f-af4c7d169e86.pem", - "mimetype": "application/x-pem-file" - }, - "id": "52ccd9e0-2708-47af-a222-32032e7fa96e", - "last_modified": 1771383422616 - }, - { "schema": 1771379970682, "derHash": "gswzaJMd/J7LOSfrvaz6BDZt1D2B8TQ/62G7jlnm69Y=", "attachment": { @@ -3771,84 +4135,6 @@ "last_modified": 1768967822848 }, { - "schema": 1766545151547, - "derHash": "apoq8tf6rOXigX6DmIJ6FAa+5xHdtxjntVlXeqTBK18=", - "attachment": { - "hash": "4d3692ac441d7c3f075664f508fa72eb6b12c6d921e6f20d39970029ba654f46", - "size": 1999, - "filename": "D2CK5YkrtH6dJajHxLR-P6JOnCIlK4TORS4_07BmMA8=.pem", - "location": "security-state-staging/intermediates/bb6e2bb1-edcc-45e5-856e-f125101628b4.pem", - "mimetype": "application/x-pem-file" - }, - "id": "1f0679b5-b285-43cb-af3b-c9c91f566f52", - "last_modified": 1766548622587 - }, - { - "schema": 1766545150870, - "derHash": "QdmJ/zITleggScLpWry9ecbMIHti+fGCdL3ixy+DQdY=", - "attachment": { - "hash": "3061d1494d2670d64c2b8d2a3b20753446cb3cd16a58e3fc20901e6221952cac", - "size": 1999, - "filename": "DaH-BZQc0vDvzDnwIYWQow8VlNFoJSPHT4EqvAUJlno=.pem", - "location": "security-state-staging/intermediates/6a972243-c1ca-4f56-afd5-dd541badc509.pem", - "mimetype": "application/x-pem-file" - }, - "id": "fe8783cf-bfbf-4942-9459-d38873cd3849", - "last_modified": 1766548622584 - }, - { - "schema": 1766545150516, - "derHash": "N0yqtHIYFqTzgBMA7Wzl1k8VVPkXjZQLTnMGvJPSty4=", - "attachment": { - "hash": "1b6f61ae529e45efc2b08a2c5e354ea73a4eabadec9784b615de5a52b19a07d9", - "size": 1999, - "filename": "FZ9pybbuyn9HhpGR1NPthWsnzkVhQmQzQLyshe2YYQI=.pem", - "location": "security-state-staging/intermediates/82cdb7b6-b69c-4f50-8707-fd6ef2e45fe0.pem", - "mimetype": "application/x-pem-file" - }, - "id": "2aaafebe-5bd9-4295-94b0-781f94ed876a", - "last_modified": 1766548622581 - }, - { - "schema": 1766545151205, - "derHash": "06hD1NyS613xJ+ZGwvUO6ANFJ0fYycbU/bn3yyBgxbc=", - "attachment": { - "hash": "fc501019fa6c2cc3194e8494997361d37dfa2930d979f1a004ec5c96912d8699", - "size": 1999, - "filename": "XztAsecQzzxu1jUv1WbLy4I-Rd8k920eS6JthbhBF7w=.pem", - "location": "security-state-staging/intermediates/c6cfe955-4314-42e4-aa56-147d1a1c1a9c.pem", - "mimetype": "application/x-pem-file" - }, - "id": "db7338eb-337f-4678-90d0-017f070ea48e", - "last_modified": 1766548622575 - }, - { - "schema": 1766545150040, - "derHash": "yvAIQqcvlpblPCnyxeehudcaPi8MMdi5QGlNWdzO9kM=", - "attachment": { - "hash": "c9ddd15d4575624c6480bca5f1621f558809f3d159392240ee373ec1a9c58712", - "size": 1199, - "filename": "p4UlhI-4INdk1HPs8-QdeU9xFTzIwh8tuwVaVcuoAdg=.pem", - "location": "security-state-staging/intermediates/8b0827bc-68a0-4177-adc6-dd30594c243f.pem", - "mimetype": "application/x-pem-file" - }, - "id": "ef0d45b4-04df-431a-ae55-a2db91a67de2", - "last_modified": 1766548622572 - }, - { - "schema": 1766545149681, - "derHash": "x3KGXm+eCneLDoZESiH7ZUf3oF4WnM/Fv+oFMX4PX2k=", - "attachment": { - "hash": "cea5d7631fdb975eaab8abcdeafa6dc8b875ef4ddd5d629506adc68836863859", - "size": 1195, - "filename": "W-Umw3HYfIOzV9bxKzoWQcUfT5Ssj5St0SlQgxYWXVI=.pem", - "location": "security-state-staging/intermediates/2ed1e716-f4b6-4b37-a11b-871ac84e2585.pem", - "mimetype": "application/x-pem-file" - }, - "id": "9a5e2215-2d9b-4b78-b8c9-5cdbc6a6e04a", - "last_modified": 1766548622569 - }, - { "schema": 1766199552928, "derHash": "Mn7JOVXJFFJhsIfG/F6sinEmK/JWjo0298L+29GxB3o=", "attachment": { @@ -6358,19 +6644,6 @@ "last_modified": 1751900222448 }, { - "schema": 1750730263299, - "derHash": "LguEGJ/5dAwUDMfr3aBRosI58d7rEvxMVtvVAPlTmNg=", - "attachment": { - "hash": "c4d199ed4f7b32cdadcf429f7b1d962e6a3c034fe3b704492b0ac16fcd1b00b2", - "size": 1853, - "filename": "joN6IPaPB9ALd3OzEFQHSQcSICs0_U_MmT4qcKgSXrc=.pem", - "location": "security-state-staging/intermediates/f96f2779-246d-471e-b62b-242743e655e3.pem", - "mimetype": "application/x-pem-file" - }, - "id": "d58e8eea-15e8-46e4-a20b-aad35a61dfdd", - "last_modified": 1750733822397 - }, - { "schema": 1750255062558, "derHash": "sOcUWki5+uSkmQcf6cT6WQMt9y51lVsrPvt5WZ5KU+A=", "attachment": { @@ -9101,32 +9374,6 @@ "last_modified": 1734058622667 }, { - "schema": 1733839372495, - "derHash": "Z/naFZtK6ztV4sN8QC6Rzv6H14TYHOlJ+lMhhGIMPP0=", - "attachment": { - "hash": "1e91ebfc5d22e5f70da9eda9d545594c16243098199142136ddc4e809cb8817d", - "size": 2365, - "filename": "9-jwxUa0hDHWVqgEKpRm6sgH2io0RB1nHDYYZUFBPIY=.pem", - "location": "security-state-staging/intermediates/438ce386-426a-4896-89b9-ae8dee560ed0.pem", - "mimetype": "application/x-pem-file" - }, - "id": "f62145a4-6ec7-48aa-826b-5b98d9b10e67", - "last_modified": 1733842622484 - }, - { - "schema": 1733839372153, - "derHash": "NVzRJfk85b8mj5WMHR+KrSif29Qbr6qFZpHbcmDyrKs=", - "attachment": { - "hash": "dff786746599b4a051d65eb108832a0230d3706972a871951936cdc1416a68b5", - "size": 1780, - "filename": "2f2CJhNzfRGOuU_3X08o7xHul9JvRYQSazV59yLP1UA=.pem", - "location": "security-state-staging/intermediates/d29cb836-fdf1-4d40-a6ed-6b7f46d55022.pem", - "mimetype": "application/x-pem-file" - }, - "id": "f5ad7e54-64bb-4eb9-a529-35199ae6c99d", - "last_modified": 1733842622482 - }, - { "schema": 1733752981859, "derHash": "HwVw5Bj5yJ4JTLJu2nG5K+2BrLtEayMA05jdtzmremw=", "attachment": { @@ -9652,24 +9899,6 @@ "last_modified": 1729522622684 }, { - "schema": 1729108979932, - "derHash": "qsQlhSdqK6QnEMp68nsTafM58k9w2Qlb6VY5HKr4upQ=", - "subject": "CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US", - "subjectDN": "ME4xCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xJTAjBgNVBAMMHFNTTC5jb20gVExTIFJTQSBSb290IENBIDIwMjI=", - "whitelist": false, - "attachment": { - "hash": "da818b6eee65dca602f0ba09d67b88e4e360ad12ed9d01638759a04161338b76", - "size": 2028, - "filename": "K89VOmb1cJAN3TK6bf4ezAbJGC1mLcG2Dh97dnwr3VQ=.pem", - "location": "security-state-staging/intermediates/1bcabc45-f8e9-40f0-a167-9236ee61bb83.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "K89VOmb1cJAN3TK6bf4ezAbJGC1mLcG2Dh97dnwr3VQ=", - "crlite_enrolled": false, - "id": "08a85d58-fb78-4648-b028-e8e12c0e545a", - "last_modified": 1729112226031 - }, - { "schema": 1729087680424, "derHash": "OYIXA6ZT2hyFE3LP14p33AlYlIZcA26bo+EWTHZU1Sw=", "subject": "CN=GlobalSign Atlas R3 OV TLS CA 2025 Q1,O=GlobalSign nv-sa,C=BE", @@ -10372,24 +10601,6 @@ "last_modified": 1724961422726 }, { - "schema": 1724961269386, - "derHash": "dmSPvEDMQWTOoCQioJ606tKcZ/Xn3XT2kbf6CAQ0csU=", - "subject": "CN=Cybertrust Japan SureServer EV CA G7,O=Cybertrust Japan Co.\\, Ltd.,C=JP", - "subjectDN": "MGExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEtMCsGA1UEAxMkQ3liZXJ0cnVzdCBKYXBhbiBTdXJlU2VydmVyIEVWIENBIEc3", - "whitelist": false, - "attachment": { - "hash": "12fc99f5e18987fb201d247a0fda72e4e7e08896bb2b16e1e30d5e457b2d03a5", - "size": 1813, - "filename": "Bekokq6EwIpsyTyJ50IieKghEvQMGshpgl0JvfRvAKk=.pem", - "location": "security-state-staging/intermediates/e4de1ad0-4251-4114-b708-ca93a6b456eb.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Bekokq6EwIpsyTyJ50IieKghEvQMGshpgl0JvfRvAKk=", - "crlite_enrolled": false, - "id": "92430544-1da3-4486-ab34-b2f4193677b9", - "last_modified": 1724961422723 - }, - { "schema": 1724961270741, "derHash": "kEh9+doRhIsEyZk7kup779Lrc8V2Wjybuu7Dqy4NFEA=", "subject": "CN=Entrust EV TLS Issuing ECC CA 1,O=SSL Corporation,C=US", @@ -10444,24 +10655,6 @@ "last_modified": 1724961422714 }, { - "schema": 1724961269735, - "derHash": "ouLD1zz/lkUTJXEuIS+hXED9Tyw/FDwbthk4U2UwTAI=", - "subject": "CN=Cybertrust Japan SureServer CA G7,O=Cybertrust Japan Co.\\, Ltd.,C=JP", - "subjectDN": "MF4xCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEqMCgGA1UEAxMhQ3liZXJ0cnVzdCBKYXBhbiBTdXJlU2VydmVyIENBIEc3", - "whitelist": false, - "attachment": { - "hash": "bc8c6a3d6952bc1a1e7b91c7c30c787884c9c52be30a3bd46367c4960599c4d4", - "size": 1808, - "filename": "wJ6i0OjnkiyWT6GV4UTm3jA-PI4MEfFbjEKiTnFoxKo=.pem", - "location": "security-state-staging/intermediates/70604f10-773b-4f8e-bb79-fc1e94f1d5b7.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "wJ6i0OjnkiyWT6GV4UTm3jA+PI4MEfFbjEKiTnFoxKo=", - "crlite_enrolled": false, - "id": "18af32e1-afd8-40ae-b779-e1d98dc3f8f3", - "last_modified": 1724961422711 - }, - { "schema": 1724961269041, "derHash": "1WEsftdDtkzY20Ms7f6lgmCNQiPxGe+s56Z1NTQ5Ksg=", "subject": "CN=Entrust EV TLS Issuing RSA CA 1,O=SSL Corporation,C=US", @@ -12190,24 +12383,6 @@ "last_modified": 1710557823219 }, { - "schema": 1709758443441, - "derHash": "ZfA1j8k5NM1arEMSLzeUjXvQQtFI5v2IsuZaqaw5nd0=", - "subject": "CN=Entrust Root Certification Authority - G2,OU=See www.entrust.net/legal-terms+OU=(c) 2009 Entrust\\, Inc. - for authorized use only,O=Entrust\\, Inc.,C=US", - "subjectDN": "MIG+MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMDkgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTIwMAYDVQQDEylFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMg==", - "whitelist": false, - "attachment": { - "hash": "8097be6a2869b37e933e0d7cd1c8b2fe3fe53e3fd1942f557271eee692a28f5a", - "size": 1853, - "filename": "du6FkDdMcVQ3u8prumAo6t3i3G27uMP2EOhR8R0at_U=.pem", - "location": "security-state-staging/intermediates/470cc99c-a735-40d5-be7d-d35d395a9917.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "du6FkDdMcVQ3u8prumAo6t3i3G27uMP2EOhR8R0at/U=", - "crlite_enrolled": false, - "id": "89c6906b-2f50-4f51-ae6c-29b661081f05", - "last_modified": 1709758623247 - }, - { "schema": 1709322861611, "derHash": "79BmhAYTDkM4LOre67F+YlzXf1KOKI6L7a6xQuGbzgI=", "subject": "CN=CloudSecure RSA Domain Validation Secure Server CA 2,O=CloudSecure Corporation,C=JP", @@ -15682,24 +15857,6 @@ "last_modified": 1677077823452 }, { - "schema": 1675997293717, - "derHash": "9OJr6wJ5Io2W1HsF33RK5s5qrYiKO3V9JJ6z0i0n9MY=", - "subject": "CN=Namirial OV SSL CA 2023,O=Namirial S.p.A,C=IT", - "subjectDN": "MEgxCzAJBgNVBAYTAklUMRcwFQYDVQQKEw5OYW1pcmlhbCBTLnAuQTEgMB4GA1UEAxMXTmFtaXJpYWwgT1YgU1NMIENBIDIwMjM=", - "whitelist": false, - "attachment": { - "hash": "729128c4afbb50cea67b02caf56f09bef7eb6469a5f7df8956336ba9538b8324", - "size": 1707, - "filename": "GhBA08YZ8vp_Xes0LrygZD8ksGEubqU9Lay8MPHlSmc=.pem", - "location": "security-state-staging/intermediates/19849d6e-4747-43ee-8681-ec845c5cc334.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "GhBA08YZ8vp/Xes0LrygZD8ksGEubqU9Lay8MPHlSmc=", - "crlite_enrolled": false, - "id": "5c37fcd9-61bf-4a7a-b0f4-074e7f39c7f4", - "last_modified": 1675997823498 - }, - { "schema": 1675392490034, "derHash": "2h98vzIuVcwIInb4UZFH36HoDLr31Xmf93E1iDLtFxI=", "subject": "CN=Encryption Everywhere G3 TLS ECC P384 SHA384 2023 CA1,O=DigiCert\\, Inc.,C=US", @@ -16564,24 +16721,6 @@ "last_modified": 1668675423131 }, { - "schema": 1668566894507, - "derHash": "LErWS06GLX1GQk2foT6pqXSmL3xLYIrhqHFCTMmmhz0=", - "subject": "CN=CrowdStrike TLS CA 2022,O=CrowdStrike\\, Inc.,C=US", - "subjectDN": "MEsxCzAJBgNVBAYTAlVTMRowGAYDVQQKExFDcm93ZFN0cmlrZSwgSW5jLjEgMB4GA1UEAxMXQ3Jvd2RTdHJpa2UgVExTIENBIDIwMjI=", - "whitelist": false, - "attachment": { - "hash": "33ddc8825dd673ff7f560e7853a5e0d291bb6cb6cf90aad4c4593390e46269f1", - "size": 1711, - "filename": "o1stY0JqCx4_MuMRqWJETN_Heofxx39-E3XvVnnzWwo=.pem", - "location": "security-state-staging/intermediates/87cebe8e-a76e-4af9-b874-8a495d8ce5f7.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "o1stY0JqCx4/MuMRqWJETN/Heofxx39+E3XvVnnzWwo=", - "crlite_enrolled": false, - "id": "b535d0e1-ea0e-4159-ac70-c6114f51be54", - "last_modified": 1668567423462 - }, - { "schema": 1667530084667, "derHash": "rX9Xqj/F6vQxAiSkdQqXzYed4ZidS4arCLeig3O8tIk=", "subject": "CN=Encryption Everywhere G5 TLS ECC P-384 SHA384 2022 CA1,O=DigiCert\\, Inc.,C=US", @@ -16654,24 +16793,6 @@ "last_modified": 1666727875348 }, { - "schema": 1666727377394, - "derHash": "GDWw5ILqZVNvwBDkvBPAYPZWaBZfupfi9ULOlspt/vw=", - "subject": "CN=Entrust Certification Authority - L1F,OU=See www.entrust.net/legal-terms+OU=(c) 2016 Entrust\\, Inc. - for authorized use only,O=Entrust\\, Inc.,C=US", - "subjectDN": "MIG6MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTYgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MS4wLAYDVQQDEyVFbnRydXN0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gTDFG", - "whitelist": false, - "attachment": { - "hash": "b215df35bd16df20092886331099193a624ea14d00398b12325bb57279cf4181", - "size": 1410, - "filename": "45FtWowsHe863G4x3FzC8qT3R9tgrLIVwZGjN5hwd80=.pem", - "location": "security-state-staging/intermediates/60dd4560-425b-4a39-9729-7bc1fc60adbc.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "45FtWowsHe863G4x3FzC8qT3R9tgrLIVwZGjN5hwd80=", - "crlite_enrolled": false, - "id": "7cb091bb-e197-494b-8caa-a6f3725b7737", - "last_modified": 1666727875317 - }, - { "schema": 1666727357096, "derHash": "yW8kxFET/ZGuL55A4QZlO/oP+8+gfiCVJMhE58jaQUg=", "subject": "CN=CA Disig R2I2 Certification Service,O=Disig a.s.,L=Bratislava,C=SK", @@ -16708,42 +16829,6 @@ "last_modified": 1666727875288 }, { - "schema": 1666727335669, - "derHash": "NEe3S15QClSZg/os7XOlZC5qrseIKVRhWEN99m10Nbg=", - "subject": "CN=Entrust Certification Authority - L1J,OU=See www.entrust.net/legal-terms+OU=(c) 2016 Entrust\\, Inc. - for authorized use only,O=Entrust\\, Inc.,C=US", - "subjectDN": "MIG6MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTYgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MS4wLAYDVQQDEyVFbnRydXN0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gTDFK", - "whitelist": false, - "attachment": { - "hash": "2e07048ca86219c4ca3243524ce82f92bd4d6ee5a455e2f0788fa0719d8fec57", - "size": 1414, - "filename": "jI4Ykls9hjddSkzQ6huOlUndX7rjGTHuF5_d41IfoQg=.pem", - "location": "security-state-staging/intermediates/4cf5d4e3-3abb-470a-8f2f-a06b53c04f64.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "jI4Ykls9hjddSkzQ6huOlUndX7rjGTHuF5/d41IfoQg=", - "crlite_enrolled": false, - "id": "b9f11e18-5206-4146-9bc4-ddabac60444f", - "last_modified": 1666727875232 - }, - { - "schema": 1666727392740, - "derHash": "E++zmi9mVOjGe9BPTG1MkM1sq1CRvO3HN4f2t309P+c=", - "subject": "CN=Entrust Certification Authority - L1K,OU=See www.entrust.net/legal-terms+OU=(c) 2012 Entrust\\, Inc. - for authorized use only,O=Entrust\\, Inc.,C=US", - "subjectDN": "MIG6MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTIgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MS4wLAYDVQQDEyVFbnRydXN0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gTDFL", - "whitelist": false, - "attachment": { - "hash": "2317985189faf07f31bc3c665a12f23068191e798992ad37652b74c99ac9bb73", - "size": 1813, - "filename": "980Ionqp3wkYtN9SZVgMzuWQzJta1nfxNPwTem1X0uc=.pem", - "location": "security-state-staging/intermediates/18eafa54-0261-4c50-a26c-e36ab1883d27.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "980Ionqp3wkYtN9SZVgMzuWQzJta1nfxNPwTem1X0uc=", - "crlite_enrolled": false, - "id": "760c1e85-d14f-45de-9089-5346d069bb23", - "last_modified": 1666727875218 - }, - { "schema": 1666727433546, "derHash": "Ep+13lAeJAQc0UqBB1/RzeJXQI1KNT5jaRLji92i0/s=", "subject": "CN=Certum Domain Validation CA SHA2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL", @@ -16870,24 +16955,6 @@ "last_modified": 1666727874929 }, { - "schema": 1666727356431, - "derHash": "O8UYVgQK1/9mg6qFoNNPnqaAzSPDfLigQjsPiaJEBbk=", - "subject": "CN=ACCVCA-120,OU=PKIACCV,O=ACCV,C=ES", - "subjectDN": "MEMxEzARBgNVBAMMCkFDQ1ZDQS0xMjAxEDAOBgNVBAsMB1BLSUFDQ1YxDTALBgNVBAoMBEFDQ1YxCzAJBgNVBAYTAkVT", - "whitelist": false, - "attachment": { - "hash": "5c48e95a58a4d10758544929296f57524a51140212f8479daff1c315fe338caf", - "size": 2686, - "filename": "XH3Wh5FuH9ZeZcCdLZM0VbsyQg3aeFV1wujvNEYNRQ8=.pem", - "location": "security-state-staging/intermediates/fd767b1f-850e-4779-ad1c-fcb1520983b4.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "XH3Wh5FuH9ZeZcCdLZM0VbsyQg3aeFV1wujvNEYNRQ8=", - "crlite_enrolled": false, - "id": "ea1bd9a0-1903-47bb-b8fb-ecb8955b6d38", - "last_modified": 1666727874915 - }, - { "schema": 1666727387621, "derHash": "ORLFhecn8rB3iI9njwQ/2N3O6ekeZiimJFsbjrvMORI=", "subject": "CN=Class2 e-Szigno SSL CA 2016,O=Microsec Ltd.,L=Budapest,C=HU", @@ -16996,24 +17063,6 @@ "last_modified": 1666727874782 }, { - "schema": 1666727339368, - "derHash": "VTJKmDJRL8bJnxW/Dp7T1r60OYzO4ZS3/4SdltkTDUQ=", - "subject": "CN=GDCA TrustAUTH R4 Extended Validation SSL CA,O=GUANG DONG CERTIFICATE AUTHORITY CO.\\,LTD.,C=CN", - "subjectDN": "MHgxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjE1MDMGA1UEAwwsR0RDQSBUcnVzdEFVVEggUjQgRXh0ZW5kZWQgVmFsaWRhdGlvbiBTU0wgQ0E=", - "whitelist": false, - "attachment": { - "hash": "b7f589fd332a96773c813b272dcd486bc1231918f0643ed0662f171680cc3963", - "size": 2093, - "filename": "LA_cQZEhZA_J3pK28of_Jf7Wn0WmfSQvp4eYJW5o8NQ=.pem", - "location": "security-state-staging/intermediates/f42f0088-3a96-4549-833e-5948b8098639.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "LA/cQZEhZA/J3pK28of/Jf7Wn0WmfSQvp4eYJW5o8NQ=", - "crlite_enrolled": false, - "id": "eee3bb7d-8e10-46cc-af2c-14e1ec4763e3", - "last_modified": 1666727874768 - }, - { "schema": 1666727453162, "derHash": "7gnUnHz0QYQNpRWNDnDUxsrrT8z+Z1juTMRccaKH3zk=", "subject": "CN=Shuidi Webtrust SSL Organization Validated,O=Shanghai Ping An Credit Reference Company Limited,C=CN", @@ -17032,24 +17081,6 @@ "last_modified": 1666727874755 }, { - "schema": 1666727417176, - "derHash": "dcWz8B/R9RosRHq3x4XXLmn6nEcsCFcefq3zuOq65ww=", - "subject": "CN=Entrust Certification Authority - L1M,OU=See www.entrust.net/legal-terms+OU=(c) 2014 Entrust\\, Inc. - for authorized use only,O=Entrust\\, Inc.,C=US", - "subjectDN": "MIG6MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTQgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MS4wLAYDVQQDEyVFbnRydXN0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gTDFN", - "whitelist": false, - "attachment": { - "hash": "0f6a7a76e82068b37ee6c3f29a6d0c18baf727d5d7df2bb42b93f0257d84d61a", - "size": 1853, - "filename": "VYZwGiJkq3NNo1YRI2RGiSTI1mqTWG8zDcRf1_KAN6I=.pem", - "location": "security-state-staging/intermediates/4c299a33-dc8e-4885-82a2-d1b50cc80a72.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "VYZwGiJkq3NNo1YRI2RGiSTI1mqTWG8zDcRf1/KAN6I=", - "crlite_enrolled": false, - "id": "d372a7cc-1a5d-4429-8b38-67272cb151ed", - "last_modified": 1666727874728 - }, - { "schema": 1666727399101, "derHash": "98fij7XnnzFKqsa7upMvFeGnIGn0NdTJ5wf5PKFILuM=", "subject": "CN=Qualified e-Szigno TLS CA 2018,O=Microsec Ltd.,L=Budapest,C=HU", @@ -17194,24 +17225,6 @@ "last_modified": 1666727874516 }, { - "schema": 1666727430188, - "derHash": "lqWizTmADPtqKoMO5S3PR/uwD/GwMgTbNpFc6jHxM0I=", - "subject": "CN=GDCA TrustAUTH R4 EV SSL CA,O=Global Digital Cybersecurity Authority Co.\\, Ltd.,C=CN", - "subjectDN": "MG4xCzAJBgNVBAYTAkNOMTkwNwYDVQQKDDBHbG9iYWwgRGlnaXRhbCBDeWJlcnNlY3VyaXR5IEF1dGhvcml0eSBDby4sIEx0ZC4xJDAiBgNVBAMMG0dEQ0EgVHJ1c3RBVVRIIFI0IEVWIFNTTCBDQQ==", - "whitelist": false, - "attachment": { - "hash": "d72e2007f8b0bdbb9bfdfca3bc7bdf7eebe0d9a1b5b3e0aa3c49210a42752f35", - "size": 2056, - "filename": "LA_cQZEhZA_J3pK28of_Jf7Wn0WmfSQvp4eYJW5o8NQ=.pem", - "location": "security-state-staging/intermediates/2b13103f-f111-4488-951a-d948d81a84f6.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "LA/cQZEhZA/J3pK28of/Jf7Wn0WmfSQvp4eYJW5o8NQ=", - "crlite_enrolled": false, - "id": "2a556f13-fd00-4e58-82e2-6de75321c936", - "last_modified": 1666727874404 - }, - { "schema": 1666727380667, "derHash": "9nh/qMrX0sJ5oDdL+1A4B8xq3MfCNwknPdWkBH0a73g=", "subject": "CN=SZCA DV SSL CA,O=Shenzhen Digital Certificate Authority Center Co.\\, Ltd,C=CN", @@ -17554,42 +17567,6 @@ "last_modified": 1666727873799 }, { - "schema": 1666727342323, - "derHash": "HparstZQK13OUY7AC1oeVDNJ79Lj9ovpq8ESiyVv7dc=", - "subject": "CN=GDCA TrustAUTH R4 SSL CA,O=GUANG DONG CERTIFICATE AUTHORITY CO.\\,LTD.,C=CN", - "subjectDN": "MGQxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEhMB8GA1UEAwwYR0RDQSBUcnVzdEFVVEggUjQgU1NMIENB", - "whitelist": false, - "attachment": { - "hash": "0c153a0a3e193285fb42bc65ed86726b6ce20e989c5ce61bee6ac0249ccc9114", - "size": 2052, - "filename": "UNDNK48i2z9IOnLBTQP6yg9UerUnpfpb-nZvgw-0Who=.pem", - "location": "security-state-staging/intermediates/917af39e-808a-4852-8c1c-b2360829b69b.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "UNDNK48i2z9IOnLBTQP6yg9UerUnpfpb+nZvgw+0Who=", - "crlite_enrolled": false, - "id": "056dcecf-b54d-4dca-bd31-f6fa1134a775", - "last_modified": 1666727873702 - }, - { - "schema": 1666727386115, - "derHash": "VgCvtrriqDtmucu+nO7I9T4mQgppk5pI3MbVa5l5CmM=", - "subject": "CN=GDCA TrustAUTH R4 OV SSL CA,O=Global Digital Cybersecurity Authority Co.\\, Ltd.,C=CN", - "subjectDN": "MG4xCzAJBgNVBAYTAkNOMTkwNwYDVQQKDDBHbG9iYWwgRGlnaXRhbCBDeWJlcnNlY3VyaXR5IEF1dGhvcml0eSBDby4sIEx0ZC4xJDAiBgNVBAMMG0dEQ0EgVHJ1c3RBVVRIIFI0IE9WIFNTTCBDQQ==", - "whitelist": false, - "attachment": { - "hash": "9212a9d7e5c2bfcfbf43aaf53d8aa2e3501f467ef547dee098ab48f5d850d6ad", - "size": 2052, - "filename": "UNDNK48i2z9IOnLBTQP6yg9UerUnpfpb-nZvgw-0Who=.pem", - "location": "security-state-staging/intermediates/4aa91fab-6b52-44a6-a3c1-ef65ee1e7d8f.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "UNDNK48i2z9IOnLBTQP6yg9UerUnpfpb+nZvgw+0Who=", - "crlite_enrolled": false, - "id": "a463b3f5-089a-40a1-ac08-8bb23ab16b4c", - "last_modified": 1666727873688 - }, - { "schema": 1666727359631, "derHash": "R7LvvDZw59tLQfIsUfwC7oT7Lb8wgqSfLCaIEi6SEKE=", "subject": "CN=emSign SSL CA - G1,OU=emSign PKI,O=eMudhra Technologies Limited,C=IN", @@ -17680,42 +17657,6 @@ "last_modified": 1666727873590 }, { - "schema": 1666727372257, - "derHash": "SB5YKiBqfXBAzNoXzyXTSXhaKrlO11UqslTc04sDLsA=", - "subject": "CN=Microsoft RSA TLS Issuing AOC CA 01,O=Microsoft Corporation,C=US", - "subjectDN": "MFsxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLDAqBgNVBAMTI01pY3Jvc29mdCBSU0EgVExTIElzc3VpbmcgQU9DIENBIDAx", - "whitelist": false, - "attachment": { - "hash": "2304a6019fd3a16f19edfca5fefde59b3c14ab1accadb45eea875e9cd13c9b04", - "size": 2694, - "filename": "dITy8WGNNfbyOcBbrTC4t62TxwJNQADThxQUF-492_Q=.pem", - "location": "security-state-staging/intermediates/b8a6c3f7-8eee-49d2-bb3c-f8d0a6335b62.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "dITy8WGNNfbyOcBbrTC4t62TxwJNQADThxQUF+492/Q=", - "crlite_enrolled": false, - "id": "eaaba7c6-7727-4861-b733-17dc938f8649", - "last_modified": 1666727873562 - }, - { - "schema": 1666727392907, - "derHash": "XGSxcxqBON6n0Rya6GIokflF66RoJeer/kdU8KYBGvg=", - "subject": "CN=Microsoft ECC TLS Issuing AOC CA 01,O=Microsoft Corporation,C=US", - "subjectDN": "MFsxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLDAqBgNVBAMTI01pY3Jvc29mdCBFQ0MgVExTIElzc3VpbmcgQU9DIENBIDAx", - "whitelist": false, - "attachment": { - "hash": "b8980a779b7c2fe67041f19cdecab2d5a43f61ef0793b5cede8a3b9e111eb0b6", - "size": 1544, - "filename": "qd93pb-3n6NM25ddlkow2f5_xOZwvTm_G4wmBehD21Q=.pem", - "location": "security-state-staging/intermediates/7fc14ec5-80cf-4527-8ceb-7135fd5ae374.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "qd93pb+3n6NM25ddlkow2f5/xOZwvTm/G4wmBehD21Q=", - "crlite_enrolled": false, - "id": "c10233f0-5a2e-4b4b-bfec-4ee643137071", - "last_modified": 1666727873549 - }, - { "schema": 1666727346963, "derHash": "k7KBvYHYPPmGZZ3/0K9XmTuS5uRhQWJTn3UFJM4Ru8s=", "subject": "CN=Abitab SSL Extended Validation,OU=IDdigital,O=Abitab S.A.,C=UY", @@ -17752,24 +17693,6 @@ "last_modified": 1666727873435 }, { - "schema": 1666727448300, - "derHash": "yX8vbmqK227P5JePCMqPbwEjqUeEUithCt9qtRQ5/GI=", - "subject": "CN=Entrust Certification Authority - ES QWAC2,O=Entrust EU\\, S.L.,C=ES", - "subjectDN": "MHcxCzAJBgNVBAYTAkVTMRkwFwYDVQQKExBFbnRydXN0IEVVLCBTLkwuMRgwFgYDVQRhEw9WQVRFUy1CODExODgwNDcxMzAxBgNVBAMTKkVudHJ1c3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBFUyBRV0FDMg==", - "whitelist": false, - "attachment": { - "hash": "c89879379b239f0ec22d71c3cdeb8f6c77f92e590721b0a38079ea2b45ae445a", - "size": 1768, - "filename": "NETZGOHSZHXfrGg1K5hk7YhF7a83qOCppH-2JqWEUuA=.pem", - "location": "security-state-staging/intermediates/c4f9e2c4-78ee-4792-87ad-84da6465225b.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "NETZGOHSZHXfrGg1K5hk7YhF7a83qOCppH+2JqWEUuA=", - "crlite_enrolled": false, - "id": "51be04bd-ac1e-4d6f-9c90-2c24092b0cc9", - "last_modified": 1666727873407 - }, - { "schema": 1666727330997, "derHash": "GlzNcUq9fHr1Kg+pRrycj4aWvL8ifYEzlDDl0zlOzJc=", "subject": "CN=TU Ilmenau CA G2,O=Technische Universitaet Ilmenau,C=DE", @@ -17968,42 +17891,6 @@ "last_modified": 1666727873239 }, { - "schema": 1666727348199, - "derHash": "MlNBL9rUUjEIwJi7DuDv7df6/dAPsw5Hxrup/j4c24g=", - "subject": "CN=GDCA TrustAUTH R4 Primer CA,O=Global Digital Cybersecurity Authority Co.\\, Ltd.,C=CN", - "subjectDN": "MG4xCzAJBgNVBAYTAkNOMTkwNwYDVQQKDDBHbG9iYWwgRGlnaXRhbCBDeWJlcnNlY3VyaXR5IEF1dGhvcml0eSBDby4sIEx0ZC4xJDAiBgNVBAMMG0dEQ0EgVHJ1c3RBVVRIIFI0IFByaW1lciBDQQ==", - "whitelist": false, - "attachment": { - "hash": "63e5b17371590f3ec401bd9eb3b8ed4d9589063e1d6eef4f8889c34e61e19155", - "size": 2056, - "filename": "0QPovc90TjBNTpee1IAatbvOdHFYmqVUPYNToEldWCY=.pem", - "location": "security-state-staging/intermediates/5786a959-598e-4837-8220-7a23733b51ce.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "0QPovc90TjBNTpee1IAatbvOdHFYmqVUPYNToEldWCY=", - "crlite_enrolled": false, - "id": "ac8f566c-4341-4d69-9204-a2ed8524ca5e", - "last_modified": 1666727873196 - }, - { - "schema": 1666727331515, - "derHash": "I5/6htcQM7olWRR4IFfYfoQhrt1ZELeGkotqEkjD40E=", - "subject": "CN=CA Disig R2I3 Certification Service,O=Disig a.s.,L=Bratislava,C=SK", - "subjectDN": "MGUxCzAJBgNVBAYTAlNLMRMwEQYDVQQHDApCcmF0aXNsYXZhMRMwEQYDVQQKDApEaXNpZyBhLnMuMSwwKgYDVQQDDCNDQSBEaXNpZyBSMkkzIENlcnRpZmljYXRpb24gU2VydmljZQ==", - "whitelist": false, - "attachment": { - "hash": "3420f786d68e2c9b43dcb43b746ca258b7a646ade27a146a00fe8af877df4f59", - "size": 2142, - "filename": "QUf9pBcUZxnKMgP_Op4uLhRku-x-b_JvkEQPmCrNbZY=.pem", - "location": "security-state-staging/intermediates/ccf776b5-dad9-4394-b424-8c2cacda75f9.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "QUf9pBcUZxnKMgP/Op4uLhRku+x+b/JvkEQPmCrNbZY=", - "crlite_enrolled": false, - "id": "85d742bd-cad8-4921-b914-8cb3b1931d2c", - "last_modified": 1666727873154 - }, - { "schema": 1666727446208, "derHash": "sJNdwEtOYMDELe9+xXobHY+VjReYjnHMgKjPXmNbpbQ=", "subject": "CN=D-TRUST SSL Class 3 CA 1 EV 2009,O=D-Trust GmbH,C=DE", @@ -18598,24 +18485,6 @@ "last_modified": 1666727872311 }, { - "schema": 1666727329881, - "derHash": "z20DM9C+LGmkLUU5YN7p4QnZ6IQ+owYaFnHW6vhet9g=", - "subject": "CN=emSign Class 1 CA - G1,OU=emSign PKI,O=eMudhra Technologies Limited,C=IN", - "subjectDN": "MGoxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMR8wHQYDVQQDExZlbVNpZ24gQ2xhc3MgMSBDQSAtIEcx", - "whitelist": false, - "attachment": { - "hash": "266278533c3786da3d8865fcd54e0e8fbedf26868dc64378e368d49cb3b7817b", - "size": 1589, - "filename": "8eYpGcWTiEZyMyyg19Q9T-bCQt78vGjuJDkLU10HGx8=.pem", - "location": "security-state-staging/intermediates/ca8d7c44-0de7-4fdb-a4bb-a07b24618b68.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "8eYpGcWTiEZyMyyg19Q9T+bCQt78vGjuJDkLU10HGx8=", - "crlite_enrolled": false, - "id": "1cb8aaf5-1bf5-4af2-992d-adeedaabcaa7", - "last_modified": 1666727872267 - }, - { "schema": 1666727367887, "derHash": "yKYQupQXdw0sAt4ivKjFakKK916ONU76NsVoIh3bfPw=", "subject": "CN=WISeKey CertifyID SSL GB CA 2,O=WISeKey,C=CH", @@ -18976,24 +18845,6 @@ "last_modified": 1666727871648 }, { - "schema": 1666727333970, - "derHash": "8RRGn7gHeBM6H3Dk2DOO2rl91CzrjswByvtw1rh98R4=", - "subject": "CN=certSIGN Web CA,O=CERTSIGN SA,C=RO", - "subjectDN": "MFYxCzAJBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEYMBYGA1UEAxMPY2VydFNJR04gV2ViIENBMRcwFQYDVQRhEw5WQVRSTy0xODI4ODI1MA==", - "whitelist": false, - "attachment": { - "hash": "d637585d0fa1d3a2b6cea2a2ab6f2b7d30229bc1eb350aeb2b8cc2f529b5998a", - "size": 2308, - "filename": "G6NjfcFmFAa5DouUTqNGb3I5tG34kmES3evs_0ubJ68=.pem", - "location": "security-state-staging/intermediates/c62060d4-ea13-40e6-a9df-e05ed725084c.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "G6NjfcFmFAa5DouUTqNGb3I5tG34kmES3evs/0ubJ68=", - "crlite_enrolled": false, - "id": "cfc63177-c5f5-4799-aa1d-6254a02add98", - "last_modified": 1666727871594 - }, - { "schema": 1666727369257, "derHash": "Ek6q8m9XDE+02J9dYQePFbiFNF/K8MV/NHfYxjtasm8=", "subject": "CN=Actalis Extended Validation Server CA G3,O=Actalis S.p.A.,L=Ponte San Pietro,ST=Bergamo,C=IT", @@ -19156,24 +19007,6 @@ "last_modified": 1666727871381 }, { - "schema": 1666727377736, - "derHash": "xesadjm52NcLT4Kt2AeUF17ktqPbGGGzhxfJb8GRSSc=", - "subject": "CN=NAVER Secure Certification Authority 1,O=NAVER BUSINESS PLATFORM Corp.,C=KR", - "subjectDN": "MGYxCzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVTUyBQTEFURk9STSBDb3JwLjEvMC0GA1UEAwwmTkFWRVIgU2VjdXJlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IDE=", - "whitelist": false, - "attachment": { - "hash": "99d81a11ba4ee9372795e89c14a2c5c6011f433176a402bb5dd5889a378b6c0b", - "size": 1991, - "filename": "cJ2mHuIKySslEdkckvymNSKxLhYRvvY9Z8ivbKik0Tg=.pem", - "location": "security-state-staging/intermediates/5c987bd0-2b88-4f95-b3f8-39291eb74a2f.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "cJ2mHuIKySslEdkckvymNSKxLhYRvvY9Z8ivbKik0Tg=", - "crlite_enrolled": false, - "id": "de2932da-102f-4bcc-a4a1-1fd5a41201f1", - "last_modified": 1666727871368 - }, - { "schema": 1666727430520, "derHash": "HJ0+jgzx5POcc00Z5Hmulx/DBmwAA1Oitq8yeVqX6hs=", "subject": "CN=University of the Peloponnese TLS RSA SubCA R1,O=Hellenic Academic and Research Institutions CA,C=GR", @@ -19336,24 +19169,6 @@ "last_modified": 1666727871059 }, { - "schema": 1666727439208, - "derHash": "EpdlWLaOjh6qeaYpqOTRft75P1rDDebfsM3uOJ1W0VY=", - "subject": "CN=TuringSign RSA Secure CA,O=Turing Crypto GmbH,C=DE", - "subjectDN": "ME0xCzAJBgNVBAYTAkRFMRswGQYDVQQKExJUdXJpbmcgQ3J5cHRvIEdtYkgxITAfBgNVBAMTGFR1cmluZ1NpZ24gUlNBIFNlY3VyZSBDQQ==", - "whitelist": false, - "attachment": { - "hash": "2f15e1f6218dde794713d0b2b8cfc8bd6eaad84e6e30aeda4ccb44a17decc213", - "size": 2028, - "filename": "LjNGvuYlXy4cly5bwppVDU4T8q5pCHAHEEAG--Nx1WA=.pem", - "location": "security-state-staging/intermediates/34baea23-ff0b-4e43-a267-0e4a95aa4599.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "LjNGvuYlXy4cly5bwppVDU4T8q5pCHAHEEAG++Nx1WA=", - "crlite_enrolled": false, - "id": "c8b18f59-94dd-41d5-a00b-f89d1a5d798a", - "last_modified": 1666727870976 - }, - { "schema": 1666727383209, "derHash": "RnJ7kMWl9zN1CC2bG8nxe0RfUCCpXjff3x7yCyh8URU=", "subject": "CN=University of Ioannina TLS RSA SubCA R1,O=Hellenic Academic and Research Institutions CA,C=GR", @@ -19372,24 +19187,6 @@ "last_modified": 1666727870959 }, { - "schema": 1666727344920, - "derHash": "xnDHm/J3r357NKaqT6MERBgzxr0Bpwp+m3otlMHB+SY=", - "subject": "CN=certSIGN Qualified CA,O=CERTSIGN SA,C=RO", - "subjectDN": "MFwxCzAJBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEeMBwGA1UEAxMVY2VydFNJR04gUXVhbGlmaWVkIENBMRcwFQYDVQRhEw5WQVRSTy0xODI4ODI1MA==", - "whitelist": false, - "attachment": { - "hash": "22d738f384d471ab73b8f3d1ec90fd80d0f61bf77294a7139dc772f58bb58e1a", - "size": 2316, - "filename": "hztK7Nl786SeQOWatriSlHoTSUt-1THcFFIGKRr08bk=.pem", - "location": "security-state-staging/intermediates/5162d95c-0f56-42cb-a39f-2014ebc94b1b.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "hztK7Nl786SeQOWatriSlHoTSUt+1THcFFIGKRr08bk=", - "crlite_enrolled": false, - "id": "cef6f84f-b3d4-4255-bc17-7b667dfb0575", - "last_modified": 1666727870945 - }, - { "schema": 1666727341125, "derHash": "aZ7WW909XnkHdtFl6noyW3rq9BlkeSGpL/KLsGgNcro=", "subject": "CN=DigiCert Global G3 TLS ECC SHA384 2020 CA1,O=DigiCert Inc,C=US", @@ -19516,24 +19313,6 @@ "last_modified": 1666727870796 }, { - "schema": 1666727386764, - "derHash": "GTe5v2YvtXhAe3erh9jWYrFjJ8+SM0DQ9y2VGVKxnIA=", - "subject": "CN=TuringSign ECC Secure CA,O=Turing Crypto GmbH,C=DE", - "subjectDN": "ME0xCzAJBgNVBAYTAkRFMRswGQYDVQQKExJUdXJpbmcgQ3J5cHRvIEdtYkgxITAfBgNVBAMTGFR1cmluZ1NpZ24gRUNDIFNlY3VyZSBDQQ==", - "whitelist": false, - "attachment": { - "hash": "0c5cf83ed5b3664d80db1c28c2aa11c8a0e114bee2267c442ec1ed894a803551", - "size": 1406, - "filename": "Qg8WXvoy1Rxl-vs4yqRTbwJDijUK-I6ahTBJYsotkfo=.pem", - "location": "security-state-staging/intermediates/698e3a37-1d12-44d8-b154-08b235a7e128.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Qg8WXvoy1Rxl+vs4yqRTbwJDijUK+I6ahTBJYsotkfo=", - "crlite_enrolled": false, - "id": "caa4bf78-66e4-42e9-862f-1ed6e684e693", - "last_modified": 1666727870783 - }, - { "schema": 1666727433713, "derHash": "RM6X9clX3QVtRMPhvfzrLPmntCjtCJg5JkM2MDvKx+8=", "subject": "CN=CEDEFOP TLS RSA SubCA R1,O=Hellenic Academic and Research Institutions CA,C=GR", @@ -19750,42 +19529,6 @@ "last_modified": 1666727870352 }, { - "schema": 1666727415484, - "derHash": "wY1Tv5hk3Qm8vKz9Zy4lZtTIH2iJ42313UJcBCEdB2M=", - "subject": "CN=Hongkong Post e-Cert EV SSL CA 3 - 17,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK", - "subjectDN": "MH0xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEuMCwGA1UEAxMlSG9uZ2tvbmcgUG9zdCBlLUNlcnQgRVYgU1NMIENBIDMgLSAxNw==", - "whitelist": false, - "attachment": { - "hash": "e4408c6b03e1deb0777ad20ea8b3466779565bcb2d92a17de6ac350bdaa5de18", - "size": 2097, - "filename": "shxxZc44F1hF3pjKzr0Oaoq-CwRFBKIr0_noGHUYkjA=.pem", - "location": "security-state-staging/intermediates/bdeda58e-1628-4e55-87fb-0b68db6affa9.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "shxxZc44F1hF3pjKzr0Oaoq+CwRFBKIr0/noGHUYkjA=", - "crlite_enrolled": false, - "id": "88070242-b7b9-4c79-870e-7b137524b1dc", - "last_modified": 1666727870323 - }, - { - "schema": 1666727441620, - "derHash": "aezbwxR/WB39y1Itne+yYLJnhK1JVcdOalJSLMxMRAg=", - "subject": "CN=Hongkong Post e-Cert SSL CA 3 - 17,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK", - "subjectDN": "MHoxCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDErMCkGA1UEAxMiSG9uZ2tvbmcgUG9zdCBlLUNlcnQgU1NMIENBIDMgLSAxNw==", - "whitelist": false, - "attachment": { - "hash": "d819d0da20d45c8f93a0efb0d37fd86e274107134845bf5480d9b3697bb0711d", - "size": 2093, - "filename": "SUe0dPoWC5QKoJyXReRB3haevgxOd9ZVd5sn7N65_DY=.pem", - "location": "security-state-staging/intermediates/bfa15d55-724f-433e-8e8c-57f115fe9319.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "SUe0dPoWC5QKoJyXReRB3haevgxOd9ZVd5sn7N65/DY=", - "crlite_enrolled": false, - "id": "e04bc9de-e9d2-45e5-a6d5-3e29309132df", - "last_modified": 1666727870309 - }, - { "schema": 1666727355566, "derHash": "Q6cONiC8RSM52HiqaPLlNYrEYHrHIsTXfTxNLCBPf3E=", "subject": "CN=DigiCert Assured ID G2 TLS RSA4096 SHA256 2022 CA1,O=DigiCert\\, Inc.,C=US", @@ -22756,24 +22499,6 @@ "last_modified": 1666727865550 }, { - "schema": 1666727427479, - "derHash": "XqOFfqzUx8pay8qcRifibzByA40ZGinUw/lGSy5fAMY=", - "subject": "CN=Microsoft RSA TLS Issuing EOC CA 01,O=Microsoft Corporation,C=US", - "subjectDN": "MFsxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLDAqBgNVBAMTI01pY3Jvc29mdCBSU0EgVExTIElzc3VpbmcgRU9DIENBIDAx", - "whitelist": false, - "attachment": { - "hash": "c4cf08af2dd2b1f29bdfb63d83a5482200edf35471b1453a302294b55f3068d5", - "size": 2694, - "filename": "Hx2OdoXOglUIj3kb_T-5J_UKwQBwkbW7wzR--8XZqAw=.pem", - "location": "security-state-staging/intermediates/81ce4311-98c7-4368-b741-d59fdfeee0b5.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Hx2OdoXOglUIj3kb/T+5J/UKwQBwkbW7wzR++8XZqAw=", - "crlite_enrolled": false, - "id": "85bb3b93-bc7b-4813-bd54-54de9d3a4778", - "last_modified": 1666727865537 - }, - { "schema": 1666727350775, "derHash": "TSfvY1e8kpeDV1wMjJNAtn++/ARf3CY7jIg2Lm06228=", "subject": "CN=DigiCert G5 TLS EU RSA4096 SHA384 2022 CA1,O=DigiCert Ireland Limited,C=IE", @@ -23026,24 +22751,6 @@ "last_modified": 1666727865122 }, { - "schema": 1666727349573, - "derHash": "2lRiUmoMLphSqGGGsCU5AVh1nNymriHwn3E8pqzN0fE=", - "subject": "CN=QuoVadis Enterprise Trust CA 3 G3,O=QuoVadis Limited,C=BM", - "subjectDN": "MFQxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVkMSowKAYDVQQDDCFRdW9WYWRpcyBFbnRlcnByaXNlIFRydXN0IENBIDMgRzM=", - "whitelist": false, - "attachment": { - "hash": "0b01ec78286d184607dd09e4cac9c4992d4af9f58534eb2cb8fea437481a6197", - "size": 2333, - "filename": "smsafMf1m1b-3NN_jssl3RMKHXok-GELWWNtG9vZEmA=.pem", - "location": "security-state-staging/intermediates/c87c6dee-16e3-4bb0-8541-6cf2e215df90.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "smsafMf1m1b+3NN/jssl3RMKHXok+GELWWNtG9vZEmA=", - "crlite_enrolled": false, - "id": "4f58238b-464f-49f2-87a6-905bf5e2256b", - "last_modified": 1666727865103 - }, - { "schema": 1666727405291, "derHash": "smjRaTSrW6Iy8XnNn1x/wH6oWDpWqafB1stY/ggjv1o=", "subject": "CN=D-TRUST BR CA 1-20-2 2020,O=D-Trust GmbH,C=DE", @@ -23116,24 +22823,6 @@ "last_modified": 1666486623083 }, { - "schema": 1666270087163, - "derHash": "2nOKR07nRzyWmey6jrX0g62pZ5iBhaBZdcS6DAGzlVk=", - "subject": "CN=CFCA DV OCA,O=China Financial Certification Authority,C=CN", - "subjectDN": "MFUxCzAJBgNVBAYTAkNOMTAwLgYDVQQKDCdDaGluYSBGaW5hbmNpYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFDASBgNVBAMMC0NGQ0EgRFYgT0NB", - "whitelist": false, - "attachment": { - "hash": "7f0388d9dbe44b8309b49af6bc57cbb9d6bcdecd52e63a0224fe0aaa48f21fd9", - "size": 2020, - "filename": "a3jzvw9CT6-ZtuS70fb8B8cu5T5zTulOjkR9ebqiaxc=.pem", - "location": "security-state-staging/intermediates/da5b57f9-5a82-4c18-a7b9-af8d2654de55.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "a3jzvw9CT6+ZtuS70fb8B8cu5T5zTulOjkR9ebqiaxc=", - "crlite_enrolled": false, - "id": "bd831e0b-483b-4c5f-98d9-156c61ccb3cd", - "last_modified": 1666270623205 - }, - { "schema": 1665967729988, "derHash": "9fGowE5c8P22eN0nmZRGPkhQjENJZDsNksv9dSP2xAo=", "subject": "CN=Bloomberg TLS CA,O=Bloomberg LP,C=US", @@ -26824,60 +26513,6 @@ "last_modified": 1650812270014 }, { - "schema": 1649796517769, - "derHash": "P94NNuAmtujr4sKIg2B8hlHeEL1sH8rTZeVg9OovOwM=", - "subject": "CN=Entrust Root Certification Authority - EC1,OU=See www.entrust.net/legal-terms+OU=(c) 2012 Entrust\\, Inc. - for authorized use only,O=Entrust\\, Inc.,C=US", - "subjectDN": "MIG/MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTIgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTMwMQYDVQQDEypFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBFQzE=", - "whitelist": false, - "attachment": { - "hash": "fa84991015956f299a21164f4a77c8da26802bb7bac4207eb696cc086ce715b0", - "size": 1577, - "filename": "_qK31kX7pz11PB7Jp4cMQOH3sMVh6Se5hb9xGGbjbyI=.pem", - "location": "security-state-staging/intermediates/df5a27df-b846-4677-a6cf-a3cff5a7c5fd.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "/qK31kX7pz11PB7Jp4cMQOH3sMVh6Se5hb9xGGbjbyI=", - "crlite_enrolled": false, - "id": "d033c52e-0329-43dc-8844-1181a6da4c4c", - "last_modified": 1649973509957 - }, - { - "schema": 1649861371015, - "derHash": "E0XC05rktlzKceiOmispxx3JE/lS6TWoErAE26eueVc=", - "subject": "CN=ACCVCA-110,OU=PKIACCV,O=ACCV,C=ES", - "subjectDN": "MEMxEzARBgNVBAMMCkFDQ1ZDQS0xMTAxEDAOBgNVBAsMB1BLSUFDQ1YxDTALBgNVBAoMBEFDQ1YxCzAJBgNVBAYTAkVT", - "whitelist": false, - "attachment": { - "hash": "e6da6a137d62a7acc06ba43bbecbca249317995ef2a5821be7c4c3e4904d11cd", - "size": 2649, - "filename": "qX1E174XIirdC_7IZnHG6ACm0iCltwbZSr_U507C-Ck=.pem", - "location": "security-state-staging/intermediates/27528fc3-b963-415a-a99a-4f327d7d7c83.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "qX1E174XIirdC/7IZnHG6ACm0iCltwbZSr/U507C+Ck=", - "crlite_enrolled": false, - "id": "4dff9826-c4f5-4bad-9c0b-ef5d5c0bc30d", - "last_modified": 1649973509688 - }, - { - "schema": 1649947717604, - "derHash": "6TJ6NHy+HLlM3JqlTLMbbkPWiWjRfQnOMmoJG/wvCxE=", - "subject": "CN=ACCVCA-110,OU=PKIACCV,O=ACCV,C=ES", - "subjectDN": "MEMxEzARBgNVBAMMCkFDQ1ZDQS0xMTAxEDAOBgNVBAsMB1BLSUFDQ1YxDTALBgNVBAoMBEFDQ1YxCzAJBgNVBAYTAkVT", - "whitelist": false, - "attachment": { - "hash": "88d175177fc311fc5ad5e439d61dfabfbe6a0cc3dbf7be58654a104156ba2dae", - "size": 2686, - "filename": "qX1E174XIirdC_7IZnHG6ACm0iCltwbZSr_U507C-Ck=.pem", - "location": "security-state-staging/intermediates/7b9e7264-b0e3-4c9e-bda1-908a922c5b3f.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "qX1E174XIirdC/7IZnHG6ACm0iCltwbZSr/U507C+Ck=", - "crlite_enrolled": false, - "id": "772a5e91-e4ab-4bc1-b2a7-9d88c0c7e9bf", - "last_modified": 1649973509629 - }, - { "schema": 1647654826542, "derHash": "NCY+lCTYGblLz6h+ad2e9DIF1OLehKU0lzFAY9gilps=", "subject": "CN=Verokey High Assurance Verified Business ECC,O=Verokey,C=AU", @@ -27148,24 +26783,6 @@ "last_modified": 1645578268068 }, { - "schema": 1645577430023, - "derHash": "mRe/2FNziYXkbJIEGUEOlmwxaYJ2nnGBfifQOEu+Nnk=", - "subject": "CN=certSIGN Public CA,O=CERTSIGN SA,C=RO", - "subjectDN": "MFkxCzAJBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEbMBkGA1UEAxMSY2VydFNJR04gUHVibGljIENBMRcwFQYDVQRhEw5WQVRSTy0xODI4ODI1MA==", - "whitelist": false, - "attachment": { - "hash": "d61a1b35a91c710f44d6b989faabe0cbe91a89dbc701983bdbf2602b85bf3038", - "size": 2312, - "filename": "IGxtWhsxuC58R149YREUyaqPK7jXR9no_MMC227zRVo=.pem", - "location": "security-state-staging/intermediates/cd9c43c7-945a-402c-a5f2-06b30de10929.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "IGxtWhsxuC58R149YREUyaqPK7jXR9no/MMC227zRVo=", - "crlite_enrolled": false, - "id": "470f3934-90e9-4eab-b69a-ee8a5812fa3f", - "last_modified": 1645578267998 - }, - { "schema": 1645577440775, "derHash": "HjNJzTZqk+We9BUqHkg9rGB2GExdRtTNoA5gk+/J5qM=", "subject": "CN=University of West Attica TLS RSA SubCA R1,O=Hellenic Academic and Research Institutions CA,C=GR", @@ -27760,96 +27377,6 @@ "last_modified": 1631843845654 }, { - "schema": 1625125794637, - "derHash": "TVW8Sr6303+rV+VzrM6DEz42ISyGTgA/vLMLX8JIsBE=", - "subject": "CN=Microsoft RSA TLS Issuing EOC CA 02,O=Microsoft Corporation,C=US", - "subjectDN": "MFsxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLDAqBgNVBAMTI01pY3Jvc29mdCBSU0EgVExTIElzc3VpbmcgRU9DIENBIDAy", - "whitelist": false, - "attachment": { - "hash": "d57baf154afa36ed4b0f4fb14618c80d947893cbd9d458210424c8c00f5ebb0c", - "size": 2694, - "filename": "ieHvm9iTiA_KTC0Lpx7JPa9sCsFNWpmW8-Fvl2OZUHY=.pem", - "location": "security-state-staging/intermediates/7e97c268-63b0-4c44-9d28-da62cd929110.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "ieHvm9iTiA/KTC0Lpx7JPa9sCsFNWpmW8+Fvl2OZUHY=", - "crlite_enrolled": false, - "id": "6b217478-b4de-451e-93a7-43d8d82c6c85", - "last_modified": 1625126256108 - }, - { - "schema": 1625125798020, - "derHash": "J2k4FTLZYYPtOb3E4yPzxSD75qzzvaMCIiOd38RMg4A=", - "subject": "CN=Microsoft ECC TLS Issuing EOC CA 01,O=Microsoft Corporation,C=US", - "subjectDN": "MFsxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLDAqBgNVBAMTI01pY3Jvc29mdCBFQ0MgVExTIElzc3VpbmcgRU9DIENBIDAx", - "whitelist": false, - "attachment": { - "hash": "a97f40932d6603d11dbedf200e53c32a7cfedaf59bbaf89917f9087a501ad759", - "size": 1544, - "filename": "7eFS2gwZ1sO7MWjRHkCQGRlka7aZjNXn0PvmU3__Qu8=.pem", - "location": "security-state-staging/intermediates/d4ca2b02-1cae-4163-8ebd-abb85f3e6a98.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "7eFS2gwZ1sO7MWjRHkCQGRlka7aZjNXn0PvmU3//Qu8=", - "crlite_enrolled": false, - "id": "51f69875-c2c0-46d8-960d-8d496d28a655", - "last_modified": 1625126256083 - }, - { - "schema": 1625125801402, - "derHash": "13xFwVh3McRjLBnW88n+gyYmYVyHnqBTZkpLJusik+w=", - "subject": "CN=Microsoft RSA TLS Issuing AOC CA 02,O=Microsoft Corporation,C=US", - "subjectDN": "MFsxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLDAqBgNVBAMTI01pY3Jvc29mdCBSU0EgVExTIElzc3VpbmcgQU9DIENBIDAy", - "whitelist": false, - "attachment": { - "hash": "35e057717bd4761ffdeff57a4043dd5ed4e8f416db839dc0d81069f2b708e825", - "size": 2694, - "filename": "8ZoXa8d5x3YJQn9EG5lfFMq5oZ2Hzd2Scl5Jl8sIeLw=.pem", - "location": "security-state-staging/intermediates/bd898e6a-b3a3-4df7-834b-91aad8bfe687.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "8ZoXa8d5x3YJQn9EG5lfFMq5oZ2Hzd2Scl5Jl8sIeLw=", - "crlite_enrolled": false, - "id": "9f93d3c1-efd6-462d-8664-618112f7aebf", - "last_modified": 1625126256057 - }, - { - "schema": 1625125803064, - "derHash": "ZZwPkC1gWfvR/KUog58gYEuAx0Nk5Y+dSKIpH4E+2C0=", - "subject": "CN=Microsoft ECC TLS Issuing EOC CA 02,O=Microsoft Corporation,C=US", - "subjectDN": "MFsxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLDAqBgNVBAMTI01pY3Jvc29mdCBFQ0MgVExTIElzc3VpbmcgRU9DIENBIDAy", - "whitelist": false, - "attachment": { - "hash": "eb29e40059012bccd1c1ef7c1449e3d635ce8dc6735cf792f6fea49cc563ec40", - "size": 1544, - "filename": "Ic1H4yALLX8TVn355pjsIaysd6j0oqEXP06rI7IEiWc=.pem", - "location": "security-state-staging/intermediates/5f6a6527-07c8-4227-92d9-929add05a883.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Ic1H4yALLX8TVn355pjsIaysd6j0oqEXP06rI7IEiWc=", - "crlite_enrolled": false, - "id": "9681ce48-0dab-45a2-a78b-96fb8c2fe419", - "last_modified": 1625126256045 - }, - { - "schema": 1625125804722, - "derHash": "gIyhq7/i/xqaxxiH3acf9vymw7UiSCf1R1FaTZ968gk=", - "subject": "CN=Microsoft ECC TLS Issuing AOC CA 02,O=Microsoft Corporation,C=US", - "subjectDN": "MFsxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLDAqBgNVBAMTI01pY3Jvc29mdCBFQ0MgVExTIElzc3VpbmcgQU9DIENBIDAy", - "whitelist": false, - "attachment": { - "hash": "cd261718c0ebaf93763c6cda8544a7e22801f419ed94181a8748e2dfa491b07f", - "size": 1544, - "filename": "hfop63QNkM537dvjq2xmpd4_yLqU1rKVX7fTOwQjFgE=.pem", - "location": "security-state-staging/intermediates/ae714381-141e-48ae-9257-6a2c7eee8243.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "hfop63QNkM537dvjq2xmpd4/yLqU1rKVX7fTOwQjFgE=", - "crlite_enrolled": false, - "id": "cf6c1713-2260-42d1-b0f5-620ff1a5b92f", - "last_modified": 1625126256032 - }, - { "schema": 1624913397315, "derHash": "ZeuXLOtp6EowRGoqrYs/efDoBEJwvfoum2rl0q1VGJ4=", "subject": "CN=Verokey Secure Site,O=Verokey,C=AU", @@ -28588,24 +28115,6 @@ "last_modified": 1576536533196 }, { - "schema": 1576535658276, - "derHash": "Vyv4mf13Q2LcGSGWJezBV7tVQ06lFm1XWNxLT4kNZlM=", - "subject": "CN=ACCVCA-130,OU=PKIACCV,O=ACCV,C=ES", - "subjectDN": "MEMxEzARBgNVBAMMCkFDQ1ZDQS0xMzAxEDAOBgNVBAsMB1BLSUFDQ1YxDTALBgNVBAoMBEFDQ1YxCzAJBgNVBAYTAkVT", - "whitelist": false, - "attachment": { - "hash": "3bcfe77948ebaa1fe7f7bfb31339eeaba3e27a506d01e1f6704b54ecb78cc54a", - "size": 2686, - "filename": "Y4wPdQMFev6SAz6Zy7McH45VYp5uADyuOVtFnivRtu4=.pem", - "location": "security-state-staging/intermediates/ebb99ee5-c251-4021-80eb-3e74471c91bf.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Y4wPdQMFev6SAz6Zy7McH45VYp5uADyuOVtFnivRtu4=", - "crlite_enrolled": false, - "id": "b94aff1d-4802-4d47-9d29-833321cc8644", - "last_modified": 1576536533095 - }, - { "schema": 1576535621506, "derHash": "dD4yjzKeGU2iUnEb9r/wDPY7akwKpmsuGWdxaRBniXE=", "subject": "CN=TrustID Server CA E1,OU=TrustID Server,O=IdenTrust,C=US", @@ -28642,24 +28151,6 @@ "last_modified": 1576536532763 }, { - "schema": 1576535535906, - "derHash": "hsZwe74nzeEhXiXT+BRqUiKB4YxF3yy4xvt6A8FzNRA=", - "subject": "CN=GDCA TrustAUTH R4 Generic CA,O=GUANG DONG CERTIFICATE AUTHORITY CO.\\,LTD.,C=CN", - "subjectDN": "MGgxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjElMCMGA1UEAwwcR0RDQSBUcnVzdEFVVEggUjQgR2VuZXJpYyBDQQ==", - "whitelist": false, - "attachment": { - "hash": "3b6dea215a5d301b1acaa2f77d6d9182513b6bf335cd1cfaa9683bc4efe3d224", - "size": 2060, - "filename": "mXaq2dsX_TtlLffdUghF79fyMALXeMrXTTUzEgq6gv8=.pem", - "location": "security-state-staging/intermediates/74e3a779-4648-4fc7-8e96-17622071ed2f.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "mXaq2dsX/TtlLffdUghF79fyMALXeMrXTTUzEgq6gv8=", - "crlite_enrolled": false, - "id": "6ed2cbdd-26bb-461a-81d7-712abefd1ddd", - "last_modified": 1576536532726 - }, - { "schema": 1576536109129, "derHash": "ehQrGl4WIVGDoT6ECoYqQ34pPZNmkh2wfttU8TisDXg=", "subject": "CN=TrustAsia OV SSL CA - C3,O=TrustAsia Technologies Inc.,C=CN", @@ -28678,42 +28169,6 @@ "last_modified": 1576536532463 }, { - "schema": 1576536101946, - "derHash": "q6amXc6JVbrwaFq4iAm3aZwXRJbvnumRUzJRSU9DzhA=", - "subject": "CN=emSign ECC Class 1 CA - G3,OU=emSign PKI,O=eMudhra Technologies Limited,C=IN", - "subjectDN": "MG4xCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMSMwIQYDVQQDExplbVNpZ24gRUNDIENsYXNzIDEgQ0EgLSBHMw==", - "whitelist": false, - "attachment": { - "hash": "08dbb6b7acb073d4854e540ae8a5b481d4a53af8dfa6bbd5167547bab1bbfd6c", - "size": 1146, - "filename": "Vi90DKA5oebj_na5AG-8ED2AOxp_ezxWTtviS14jpQ4=.pem", - "location": "security-state-staging/intermediates/6af4e353-16ba-477f-8e14-bcd1749fbc26.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Vi90DKA5oebj/na5AG+8ED2AOxp/ezxWTtviS14jpQ4=", - "crlite_enrolled": false, - "id": "2f009cfb-439c-4999-9f3b-77b9f7f84299", - "last_modified": 1576536532313 - }, - { - "schema": 1576536121896, - "derHash": "TptzFWcXfhd2qW1m2RILPesouACTfqRmJWWz717IAAs=", - "subject": "CN=emSign ECC Class 2 CA - G3,OU=emSign PKI,O=eMudhra Technologies Limited,C=IN", - "subjectDN": "MG4xCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMSMwIQYDVQQDExplbVNpZ24gRUNDIENsYXNzIDIgQ0EgLSBHMw==", - "whitelist": false, - "attachment": { - "hash": "b2c9c934bd28c6cdde9ab4d84c6c8da067598d50410f83afa8df464ff780c749", - "size": 1142, - "filename": "e6icTYnqPAeqRyiV6T1Z-dePhAfjZW9RbzFi-_h840Q=.pem", - "location": "security-state-staging/intermediates/2a9db6d2-ba72-49aa-a083-f23d88661c4b.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "e6icTYnqPAeqRyiV6T1Z+dePhAfjZW9RbzFi+/h840Q=", - "crlite_enrolled": false, - "id": "6058b519-9e61-482a-8f27-01c5ffd80762", - "last_modified": 1576536532275 - }, - { "schema": 1576536100444, "derHash": "noUsWd/G/Wq9ThfqgLX05W/AQZLRByWNVNqKklKGcNY=", "subject": "CN=Certum Global Services CA SHA2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL", @@ -28768,42 +28223,6 @@ "last_modified": 1576536531856 }, { - "schema": 1576536080984, - "derHash": "QtocVi+A5G2noyEkTvwj0Pqp/ru3qgN32WtC2eiKsgA=", - "subject": "CN=emSign Class 3 CA - G1,OU=emSign PKI,O=eMudhra Technologies Limited,C=IN", - "subjectDN": "MGoxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMR8wHQYDVQQDExZlbVNpZ24gQ2xhc3MgMyBDQSAtIEcx", - "whitelist": false, - "attachment": { - "hash": "d7df1cc3c3cc232a8f51e22a5dd4ea1766aeacac640f8a976a7c227626346ed2", - "size": 1589, - "filename": "4d2pu0FN5HWVpPbYu-0cH1AeCZYz3dgz9eFeY0xuTh8=.pem", - "location": "security-state-staging/intermediates/dbf450a1-135d-4dc7-8677-00049ab4ecf1.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "4d2pu0FN5HWVpPbYu+0cH1AeCZYz3dgz9eFeY0xuTh8=", - "crlite_enrolled": false, - "id": "6f7f445a-9db3-41b6-8e6e-c97091de4b0d", - "last_modified": 1576536531660 - }, - { - "schema": 1576536084043, - "derHash": "XbYMLWtr7PMUR3WJo6T7TM+EZJ1psLIbPWsquni9Nfs=", - "subject": "CN=GDCA TrustAUTH R4 Generic CA,O=Global Digital Cybersecurity Authority Co.\\, Ltd.,C=CN", - "subjectDN": "MG8xCzAJBgNVBAYTAkNOMTkwNwYDVQQKDDBHbG9iYWwgRGlnaXRhbCBDeWJlcnNlY3VyaXR5IEF1dGhvcml0eSBDby4sIEx0ZC4xJTAjBgNVBAMMHEdEQ0EgVHJ1c3RBVVRIIFI0IEdlbmVyaWMgQ0E=", - "whitelist": false, - "attachment": { - "hash": "22066078c8b548595b3543e7f4efbc0819675c6d5799aab9f7eb51ee3085e95e", - "size": 2056, - "filename": "mXaq2dsX_TtlLffdUghF79fyMALXeMrXTTUzEgq6gv8=.pem", - "location": "security-state-staging/intermediates/874fedb4-3946-494c-8f65-a56d07cb81a3.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "mXaq2dsX/TtlLffdUghF79fyMALXeMrXTTUzEgq6gv8=", - "crlite_enrolled": false, - "id": "67740d97-16e0-48d6-9078-18385eaf1f0c", - "last_modified": 1576536531581 - }, - { "schema": 1576536104206, "derHash": "WpoD8tP+WJvmPNoRggqfJfB0ySA09RwEfTQibSUuwCU=", "subject": "CN=emSign ECC Class 3 CA - C3,OU=emSign PKI,O=eMudhra Inc,C=US", @@ -28822,24 +28241,6 @@ "last_modified": 1576536531553 }, { - "schema": 1576536104947, - "derHash": "dEaBgM5WS61+gSIQr3Q+hcqWy6RM9YUfoACCNBslNfU=", - "subject": "CN=GDCA TrustAUTH R4 DV SSL CA,O=Global Digital Cybersecurity Authority Co.\\, Ltd.,C=CN", - "subjectDN": "MG4xCzAJBgNVBAYTAkNOMTkwNwYDVQQKDDBHbG9iYWwgRGlnaXRhbCBDeWJlcnNlY3VyaXR5IEF1dGhvcml0eSBDby4sIEx0ZC4xJDAiBgNVBAMMG0dEQ0EgVHJ1c3RBVVRIIFI0IERWIFNTTCBDQQ==", - "whitelist": false, - "attachment": { - "hash": "7cfea5fa9465373b3b94affa9d9aab2c113c1118cc633be2b62f93987ea69fa5", - "size": 2052, - "filename": "iBHlL3zuDBffc94FLYVkQWUl8ghEY26YFGj-wm1psHY=.pem", - "location": "security-state-staging/intermediates/99cb19eb-1375-4867-90aa-b0b2d298c16c.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "iBHlL3zuDBffc94FLYVkQWUl8ghEY26YFGj+wm1psHY=", - "crlite_enrolled": false, - "id": "66719d09-7132-4513-86df-72ef54bba5b6", - "last_modified": 1576536531539 - }, - { "schema": 1576536079076, "derHash": "20WR+Hj2Zy9bcHM6Zq18lTe5fm8K9cpJqrjsss4C+Gs=", "subject": "CN=emSign ECC Class 2 CA - C3,OU=emSign PKI,O=eMudhra Inc,C=US", @@ -28930,42 +28331,6 @@ "last_modified": 1576536530924 }, { - "schema": 1576536082901, - "derHash": "cGag9C9TDg21r+5yo7BN5hTn0jBcZ9EsdWuyFeN8uXU=", - "subject": "CN=emSign ECC Class 3 CA - G3,OU=emSign PKI,O=eMudhra Technologies Limited,C=IN", - "subjectDN": "MG4xCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMSMwIQYDVQQDExplbVNpZ24gRUNDIENsYXNzIDMgQ0EgLSBHMw==", - "whitelist": false, - "attachment": { - "hash": "a70534399006c5c9656d36fab666a70380eef9fb1048307630726609ee92f9e0", - "size": 1146, - "filename": "jCaXOAfJZSEcZ2svKHJ5NTIJpwnQiYsnkj_rOSON6UU=.pem", - "location": "security-state-staging/intermediates/87469897-2f9a-45ba-aabb-01e0de7e07a6.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "jCaXOAfJZSEcZ2svKHJ5NTIJpwnQiYsnkj/rOSON6UU=", - "crlite_enrolled": false, - "id": "a029188c-564e-4bac-988a-0d1d88ede978", - "last_modified": 1576536530747 - }, - { - "schema": 1576536116411, - "derHash": "Y6g2ncgkpCvHrm7l0mqv0y30r2d8oYuUG3pX4zseNVk=", - "subject": "CN=emSign Class 2 CA - G1,OU=emSign PKI,O=eMudhra Technologies Limited,C=IN", - "subjectDN": "MGoxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMR8wHQYDVQQDExZlbVNpZ24gQ2xhc3MgMiBDQSAtIEcx", - "whitelist": false, - "attachment": { - "hash": "eed8ae8522e552261846735911703422edcda86f9319535078afc6d728d2a768", - "size": 1585, - "filename": "3bEiK1EHsF_yyH5kHV9snYO-hS_ijijvRBCS1wrrAuc=.pem", - "location": "security-state-staging/intermediates/d8c04dd9-2d2c-4510-a92e-286b8f977661.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "3bEiK1EHsF/yyH5kHV9snYO+hS/ijijvRBCS1wrrAuc=", - "crlite_enrolled": false, - "id": "26f75550-6f7c-4915-a0c5-6ce0fc78a16b", - "last_modified": 1576536530666 - }, - { "schema": 1562108584121, "derHash": "8AMiyXtXzqbWSmodNlxsa38OujCJh2wUMOEGPoqCpnY=", "subject": "CN=UbiquiTLS™ DV RSA Server CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB", @@ -29200,24 +28565,6 @@ "last_modified": 1562025697178 }, { - "schema": 1562025646434, - "derHash": "j3zEVemlUHgEEgZV1xORhiU+Q7AEIuc0JjoHadL4n30=", - "subject": "CN=ACCVCA-130,OU=PKIACCV,O=ACCV,C=ES", - "subjectDN": "MEMxEzARBgNVBAMMCkFDQ1ZDQS0xMzAxEDAOBgNVBAsMB1BLSUFDQ1YxDTALBgNVBAoMBEFDQ1YxCzAJBgNVBAYTAkVT", - "whitelist": false, - "attachment": { - "hash": "c7a672c81ca3a88f9f1026542e8a440443a8270bb0d1179ac7f197bfae1d5169", - "size": 2686, - "filename": "Y4wPdQMFev6SAz6Zy7McH45VYp5uADyuOVtFnivRtu4=.pem", - "location": "security-state-staging/intermediates/45659546-7b93-4a34-9576-89edb332e236.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Y4wPdQMFev6SAz6Zy7McH45VYp5uADyuOVtFnivRtu4=", - "crlite_enrolled": false, - "id": "fdbfe4a6-8fe3-4795-a5fa-49db19f65800", - "last_modified": 1562025647179 - }, - { "schema": 1562025585399, "derHash": "cJvk6rCjchI28osquA92/aJRMwsygvUV6l4LbHmuZyk=", "subject": "CN=RUB-Chipcard CA G2,O=Ruhr-Universitaet Bochum,C=DE", @@ -29236,24 +28583,6 @@ "last_modified": 1562025586178 }, { - "schema": 1562025573252, - "derHash": "cLm6WVQSz4YUt2dH/Wg8yidZ9CZCFkg0++/diFBcTxw=", - "subject": "CN=emSign ECC Device CA - G3,OU=emSign PKI,O=eMudhra Technologies Limited,C=IN", - "subjectDN": "MG0xCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMSIwIAYDVQQDExllbVNpZ24gRUNDIERldmljZSBDQSAtIEcz", - "whitelist": false, - "attachment": { - "hash": "d7af7c53238ed1dc9fffed6f3e5bce922f646c3ff9a60630c499d766352973cc", - "size": 1142, - "filename": "yETFaiH0jqwEN-yzu6pHbtmjgE5XzT3dvmi_Wzb31hM=.pem", - "location": "security-state-staging/intermediates/b6e31f0d-7208-4e42-8621-2efeaacbb876.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "yETFaiH0jqwEN+yzu6pHbtmjgE5XzT3dvmi/Wzb31hM=", - "crlite_enrolled": false, - "id": "c71399ad-5c58-4c11-9f7a-9147f50eae00", - "last_modified": 1562025573987 - }, - { "schema": 1562025496364, "derHash": "ek/LoHn1vdzwp2w7A6N34VWlMAlHShs+uPNJYaU72pw=", "subject": "CN=SECOM Passport for Member PUB CA8,OU=SECOM Passport for Member 2.0 PUB,O=SECOM Trust Systems CO.\\,LTD.,C=JP", @@ -29668,24 +28997,6 @@ "last_modified": 1562024844993 }, { - "schema": 1562024797879, - "derHash": "TJGYtnNVCFh5mtJ0TMCDwboAJ+d9O4/W1Wz1NiDQmeI=", - "subject": "CN=emSign Device CA - G1,OU=emSign PKI,O=eMudhra Technologies Limited,C=IN", - "subjectDN": "MGkxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMR4wHAYDVQQDExVlbVNpZ24gRGV2aWNlIENBIC0gRzE=", - "whitelist": false, - "attachment": { - "hash": "8956d067022b96359ff3d30c6bcb351e2ba5eb96b50837b275bedd8c2468cc4f", - "size": 1585, - "filename": "Ivw7wv5XpckfdFlOxj37SBDwiI0WAhkp1WOGE3r2BvU=.pem", - "location": "security-state-staging/intermediates/20d32f63-93e8-4cc0-9495-4924fe795c22.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Ivw7wv5XpckfdFlOxj37SBDwiI0WAhkp1WOGE3r2BvU=", - "crlite_enrolled": false, - "id": "74cd2ebb-684e-40ec-a833-df95792630aa", - "last_modified": 1562024798607 - }, - { "schema": 1562024792628, "derHash": "cD6goXPiBCNV8d/rEHkpLUHqaMBGydRcxg3FQQEE9Hg=", "subject": "CN=SSLs.com RSA DV Secure Server CA,O=SSLs.com,L=Phoenix,ST=Arizona,C=US", @@ -29902,24 +29213,6 @@ "last_modified": 1559866926464 }, { - "schema": 1559866415399, - "derHash": "mUQsj4OjxQkMpQwcCx3ksy7UGP8Kp8MkDpEjAVnz578=", - "subject": "CN=GDCA TrustAUTH R4 IV SSL CA,O=Global Digital Cybersecurity Authority Co.\\, Ltd.,C=CN", - "subjectDN": "MG4xCzAJBgNVBAYTAkNOMTkwNwYDVQQKDDBHbG9iYWwgRGlnaXRhbCBDeWJlcnNlY3VyaXR5IEF1dGhvcml0eSBDby4sIEx0ZC4xJDAiBgNVBAMMG0dEQ0EgVHJ1c3RBVVRIIFI0IElWIFNTTCBDQQ==", - "whitelist": false, - "attachment": { - "hash": "c9c27dde9ab53fa7533998d21fe575c8d337e49fedce536ed71cebe74d6a82cb", - "size": 2052, - "filename": "h9ljtPIsvf1wnqfE3LU5OJSEC20BaNan3CxC8wbqBnI=.pem", - "location": "security-state-staging/intermediates/b5bec3ea-ca92-493c-af9a-8fe3ef022434.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "h9ljtPIsvf1wnqfE3LU5OJSEC20BaNan3CxC8wbqBnI=", - "crlite_enrolled": false, - "id": "ae50a764-96b4-4d80-b152-ecb7f2d01363", - "last_modified": 1559866416201 - }, - { "schema": 1559865883837, "derHash": "7toVugALAG6tSaIbvnafO6bOdckknwEU2N2ILfwPLBs=", "subject": "CN=GoGetSSL Extended Validation CA SHA2,OU=GoGetSSL Certification Authority,O=EnVers Group SIA,C=LV", @@ -29938,5 +29231,5 @@ "last_modified": 1559865884636 } ], - "timestamp": 1780757822820 + "timestamp": 1783742222794 } diff -Nru thunderbird-140.12.0esr/services/settings/dumps/security-state/onecrl.json thunderbird-140.13.0esr/services/settings/dumps/security-state/onecrl.json --- thunderbird-140.12.0esr/services/settings/dumps/security-state/onecrl.json 2026-06-13 03:48:04.000000000 +0000 +++ thunderbird-140.13.0esr/services/settings/dumps/security-state/onecrl.json 2026-07-21 21:33:02.000000000 +0000 @@ -1,6 +1,801 @@ { "data": [ { + "schema": 1781802209467, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVM=", + "serialNumber": "ZILEq2VLAKY=", + "id": "406e0418-2b0a-4705-99d9-f90be39332a9", + "last_modified": 1781825227560 + }, + { + "schema": 1781802210248, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVM=", + "serialNumber": "INxlRne/yBU=", + "id": "5b63e1b6-8a20-43d2-8944-8b22ef8f1033", + "last_modified": 1781825227557 + }, + { + "schema": 1781802209310, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVM=", + "serialNumber": "U5TkF0ZRnpY=", + "id": "17ae9853-7c64-4e51-8e69-77e31e699fae", + "last_modified": 1781825227554 + }, + { + "schema": 1781802210020, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcx", + "serialNumber": "AKCIcIJaMmvtlhE=", + "id": "418e69c6-5efc-456c-85af-2997b30fe2ec", + "last_modified": 1781825227550 + }, + { + "schema": 1781802209153, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGsxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMSAwHgYDVQQDExdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBHMw==", + "serialNumber": "ALjrJYMk2wiswvU=", + "id": "25a2bf6e-1a29-4679-a66d-377df0f9d8e0", + "last_modified": 1781825227547 + }, + { + "schema": 1781802209862, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcx", + "serialNumber": "BGWDUkc2SpBKjg==", + "id": "529a7d85-0a67-4b74-b99d-1dc208cbde52", + "last_modified": 1781825227544 + }, + { + "schema": 1781802209942, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVM=", + "serialNumber": "UXd8prk4rwY=", + "id": "5b7f4299-fa97-4509-804a-3a4fb1597b0d", + "last_modified": 1781825227540 + }, + { + "schema": 1781218605059, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGsxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMSAwHgYDVQQDExdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBHMw==", + "serialNumber": "I+G6At/z6QDt3Q==", + "id": "6abfc3ea-5dc1-4fa8-8d23-4a7f4ec9a73e", + "last_modified": 1781825227537 + }, + { + "schema": 1781802209389, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMXSG9uZ2tvbmcgUG9zdCBSb290IENBIDM=", + "serialNumber": "aO1J3aN5JZJXjDJRINoi6fHhC9Q=", + "id": "14b84eed-77c6-49ca-9cb4-d4d68159bd46", + "last_modified": 1781825227534 + }, + { + "schema": 1781802209775, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcx", + "serialNumber": "PFvaVcCiNqdEzQ==", + "id": "c3cdac43-d6c6-4d0a-a1eb-7d02f8763a19", + "last_modified": 1781825227531 + }, + { + "schema": 1781802209694, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVM=", + "serialNumber": "M3VF0i2obk4=", + "id": "7c5bb4d4-8d5a-49e9-b0a6-611977919d0a", + "last_modified": 1781825227528 + }, + { + "schema": 1781802210173, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGsxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMSAwHgYDVQQDExdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBHMw==", + "serialNumber": "APseIZgusbVcWSU=", + "id": "8dcc08d0-b6ea-4c2f-911b-ffee9bd45bf6", + "last_modified": 1781825227525 + }, + { + "schema": 1781802210097, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MFIxCzAJBgNVBAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIy", + "serialNumber": "CKI5W6cDr/2sAAAAAAAAAAQ=", + "id": "1529c91c-1654-4bdf-92df-091c7957f028", + "last_modified": 1781825227522 + }, + { + "schema": 1781802209229, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMXSG9uZ2tvbmcgUG9zdCBSb290IENBIDM=", + "serialNumber": "Y/4DvYu7lRKkCR7ZPF/tFMDhgdU=", + "id": "7b82c414-8158-4094-bb53-a7fe0dfede08", + "last_modified": 1781825227519 + }, + { + "schema": 1781802209620, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcx", + "serialNumber": "ANWbfJs2otRJIuo=", + "id": "dc0ad7fe-09cc-49b6-b714-572edfd3ad17", + "last_modified": 1781825227516 + }, + { + "schema": 1781802209545, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2048702", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGsxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMSAwHgYDVQQDExdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBHMw==", + "serialNumber": "AIdigqj9dYw5HsM=", + "id": "10970d55-b5ca-4b96-a127-c9ce7c756fe5", + "last_modified": 1781825227513 + }, + { + "schema": 1781197372482, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcz", + "serialNumber": "BKKQ483uTcbgQukrrTp0dg==", + "id": "82bc5015-9cdd-432b-bdf8-d17d052b942b", + "last_modified": 1781218604689 + }, + { + "schema": 1781197372414, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzM=", + "serialNumber": "DCFjpEkk/7f822dazcrucgjMqVo=", + "id": "9b2d7b6d-fd49-43ab-84d2-fc28f17f47c3", + "last_modified": 1781218604686 + }, + { + "schema": 1781197372341, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGkxCzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVTUyBQTEFURk9STSBDb3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHk=", + "serialNumber": "EEhyc0Ix8WiKvEeS5XWVlXEmyeo=", + "id": "99332c18-b0ec-4cad-8ab2-9e2dff2ed2b3", + "last_modified": 1781218604683 + }, + { + "schema": 1781197372267, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcz", + "serialNumber": "DdiPPdDfPycTMSudQiae5w==", + "id": "3243c2cf-1c1c-4efc-9e44-eaa30522b573", + "last_modified": 1781218604679 + }, + { + "schema": 1781197372190, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MHQxCzAJBgNVBAYTAlBMMSEwHwYDVQQKExhBc3NlY28gRGF0YSBTeXN0ZW1zIFMuQS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEZMBcGA1UEAxMQQ2VydHVtIEVDLTM4NCBDQQ==", + "serialNumber": "DhyFe9zPcr6vK89kj4VxhQ==", + "id": "443bccb7-c607-44ef-b710-96ec71b45fb7", + "last_modified": 1781218604675 + }, + { + "schema": 1781197372117, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "KDVqnHC0VXg=", + "id": "9592fe31-cef8-4ca6-bfb2-fa989ec15383", + "last_modified": 1781218604672 + }, + { + "schema": 1781197371432, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcy", + "serialNumber": "BTu1yBx/RU1+ueRGoqmKfg==", + "id": "a5b56f8b-fc50-4a4a-bba6-fd474ba6bc11", + "last_modified": 1781218604668 + }, + { + "schema": 1781197372043, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "ME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBTZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgx", + "serialNumber": "APqmJ13CWEMdl2bsMEXvJKw=", + "id": "87aacc1b-578c-4a5a-b5c4-80a197208bbc", + "last_modified": 1781218604665 + }, + { + "schema": 1781197371974, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcz", + "serialNumber": "BYjADIzAxXdmfmTLqIurSQ==", + "id": "e565c0cc-7e81-4cd5-8d0c-e1dec453f730", + "last_modified": 1781218604662 + }, + { + "schema": 1781197371838, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEExCzAJBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMg==", + "serialNumber": "EANLjmb1CSD2xQ==", + "id": "668c895f-ccea-44cf-a502-8c8704d4da8c", + "last_modified": 1781218604658 + }, + { + "schema": 1781197371771, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "ME4xCzAJBgNVBAYTAk5PMR0wGwYDVQQKDBRCdXlwYXNzIEFTLTk4MzE2MzMyNzEgMB4GA1UEAwwXQnV5cGFzcyBDbGFzcyAyIFJvb3QgQ0E=", + "serialNumber": "MvoIN2vyPCAT", + "id": "e470cb5b-795e-43b7-91c3-add8fe837786", + "last_modified": 1781218604655 + }, + { + "schema": 1781197371704, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcy", + "serialNumber": "DW9snwGKvPc+YEER0KPxig==", + "id": "4005496d-b81d-4254-9f8c-b6b7e999d49f", + "last_modified": 1781218604652 + }, + { + "schema": 1781197371638, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "OcB3/B7WFeM=", + "id": "4287e811-f051-4b5d-be85-22c4e0484c3d", + "last_modified": 1781218604649 + }, + { + "schema": 1781197371499, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEExCzAJBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMg==", + "serialNumber": "EAKpgPtfRYXdCA==", + "id": "14a159aa-00b9-4cc5-9066-33068342b4e2", + "last_modified": 1781218604646 + }, + { + "schema": 1781197371365, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGkxCzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVTUyBQTEFURk9STSBDb3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHk=", + "serialNumber": "BgRiM6WCVXakgnJpRxioAA8vAA0=", + "id": "faf96c35-5f08-4e79-9fc2-4da1af0e8a2b", + "last_modified": 1781218604643 + }, + { + "schema": 1781197371295, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "ME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBTZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgx", + "serialNumber": "fyq3B7W92Tyf1It8YCnbMw==", + "id": "0ed39aaa-0be2-480a-aa04-eb6443b87c81", + "last_modified": 1781218604640 + }, + { + "schema": 1781197371904, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEExCzAJBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMg==", + "serialNumber": "EAFmA0XdBoDjIg==", + "id": "d50b6d34-9396-4dc3-ad2b-68bb1d69899d", + "last_modified": 1781218604637 + }, + { + "schema": 1781197371227, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "KDRS9HM/JqY=", + "id": "8787b944-e16d-464c-a8c1-a3e10d767e95", + "last_modified": 1781218604634 + }, + { + "schema": 1781197370561, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGkxCzAJBgNVBAYTAktSMSkwJwYDVQQKDCBOQVZFUiBDbG91ZCBUcnVzdCBTZXJ2aWNlcyBDb3JwLjEvMC0GA1UEAwwmTkFWRVIgQ2xvdWQgVHJ1c3QgU2VydmljZXMgRUNDIFJvb3QgRzE=", + "serialNumber": "DNfrEigGLmv3YVamXOZ9hs4Gce0=", + "id": "eb143a74-0725-49c1-b90a-9699d5e03688", + "last_modified": 1781218604631 + }, + { + "schema": 1781197371162, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "ZAw7M94HPGE=", + "id": "08794912-0dde-477b-8728-da334f3fee82", + "last_modified": 1781218604629 + }, + { + "schema": 1781197370493, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcy", + "serialNumber": "DI7gyQ1qiRWIBAYe4kH5rw==", + "id": "96cf1102-7d28-4c40-9930-4be27043c841", + "last_modified": 1781218604626 + }, + { + "schema": 1781197371093, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "ApIzJGvGMUs=", + "id": "778d59cc-8f3a-41c2-b4bf-41537d95df29", + "last_modified": 1781218604622 + }, + { + "schema": 1781197370425, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "ME4xCzAJBgNVBAYTAk5PMR0wGwYDVQQKDBRCdXlwYXNzIEFTLTk4MzE2MzMyNzEgMB4GA1UEAwwXQnV5cGFzcyBDbGFzcyAzIFJvb3QgQ0E=", + "serialNumber": "Hg==", + "id": "675b3fec-578e-43b4-b20d-7fb7aaeba5fe", + "last_modified": 1781218604619 + }, + { + "schema": 1781197371026, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "djnjgJxiHiY=", + "id": "aa043bbb-5461-4002-a613-5451760b8284", + "last_modified": 1781218604615 + }, + { + "schema": 1781197370352, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0E=", + "serialNumber": "AM0mVqxrW1IZOtI69m1SCqM=", + "id": "a05f33fb-efbb-4b9e-bd0b-942b5789191d", + "last_modified": 1781218604612 + }, + { + "schema": 1781197370957, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0E=", + "serialNumber": "AKO2dFBpcx6YegRxGLWDBs0=", + "id": "77102c39-9d0d-4d82-9673-b13b20be11fa", + "last_modified": 1781218604608 + }, + { + "schema": 1781197370280, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGkxCzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVTUyBQTEFURk9STSBDb3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHk=", + "serialNumber": "ES12XLoKhAsG6LKmapBeF8aoNcc=", + "id": "5591a5bb-8d40-45ae-930b-09d8909041a8", + "last_modified": 1781218604605 + }, + { + "schema": 1781197371568, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcz", + "serialNumber": "BisUooxA/doqHLuQyWZxhQ==", + "id": "871645f9-a045-4bfe-9e0c-39227f3a26e8", + "last_modified": 1781218604601 + }, + { + "schema": 1781197370889, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGkxCzAJBgNVBAYTAktSMSkwJwYDVQQKDCBOQVZFUiBDbG91ZCBUcnVzdCBTZXJ2aWNlcyBDb3JwLjEvMC0GA1UEAwwmTkFWRVIgQ2xvdWQgVHJ1c3QgU2VydmljZXMgRUNDIFJvb3QgRzE=", + "serialNumber": "BfrWUiGG9iroi8tR1UX0HqSjVzY=", + "id": "70cb45a0-86fd-4cb5-8d41-430bb2964226", + "last_modified": 1781218604598 + }, + { + "schema": 1781197370210, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGkxCzAJBgNVBAYTAktSMSkwJwYDVQQKDCBOQVZFUiBDbG91ZCBUcnVzdCBTZXJ2aWNlcyBDb3JwLjEvMC0GA1UEAwwmTkFWRVIgQ2xvdWQgVHJ1c3QgU2VydmljZXMgUlNBIFJvb3QgRzE=", + "serialNumber": "BKEPGaIW3Lv2CIRH2PNxrc7n0kk=", + "id": "6da987f4-38a2-44f7-9db4-f35ec4c4f1ae", + "last_modified": 1781218604595 + }, + { + "schema": 1781197370760, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "NY+ChlzmLbE=", + "id": "87f8bd83-6f56-4f6f-aec9-c7c1feaab209", + "last_modified": 1781218604591 + }, + { + "schema": 1781197370106, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGkxCzAJBgNVBAYTAktSMSkwJwYDVQQKDCBOQVZFUiBDbG91ZCBUcnVzdCBTZXJ2aWNlcyBDb3JwLjEvMC0GA1UEAwwmTkFWRVIgQ2xvdWQgVHJ1c3QgU2VydmljZXMgUlNBIFJvb3QgRzE=", + "serialNumber": "CTHyo5HkM6md+pCJsY7lY2iJNlA=", + "id": "867b2efd-d60d-4144-b3c6-90e689773854", + "last_modified": 1781218604587 + }, + { + "schema": 1781197370693, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcy", + "serialNumber": "Ck95ObUqpBHsiH7MYCBBRQ==", + "id": "c84c4011-c6d4-4b04-93fa-0b6581bc17ce", + "last_modified": 1781218604584 + }, + { + "schema": 1781197370005, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "eqchX4m3GQI=", + "id": "3c9deb2f-f22b-4a5b-b4a9-83e8197806ed", + "last_modified": 1781218604582 + }, + { + "schema": 1781197370627, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRFIEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUgUk9PVA==", + "serialNumber": "cSKYO7T4aWI=", + "id": "5d36df6a-10fc-4387-a2b9-7c5acc23876c", + "last_modified": 1781218604579 + }, + { + "schema": 1780876807960, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "ME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBTZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgy", + "serialNumber": "b15g5pw6dGmQZhnVbk9Jmg==", + "id": "e2905f3d-40fd-4d7d-8a59-2fa73d5de505", + "last_modified": 1781218604576 + }, + { + "schema": 1781197370826, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2046880", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MHoxCzAJBgNVBAYTAlBMMSEwHwYDVQQKExhBc3NlY28gRGF0YSBTeXN0ZW1zIFMuQS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEfMB0GA1UEAxMWQ2VydHVtIFRydXN0ZWQgUm9vdCBDQQ==", + "serialNumber": "NI/VOxf39HaKlTUMFrQt", + "id": "bab83a50-f209-493c-9a90-e02865cb5a8b", + "last_modified": 1781218604572 + }, + { "schema": 1777482138118, "details": { "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2035889", @@ -27404,5 +28199,5 @@ "last_modified": 1480349158647 } ], - "timestamp": 1778256657501 + "timestamp": 1781825227560 } diff -Nru thunderbird-140.12.0esr/sourcestamp.txt thunderbird-140.13.0esr/sourcestamp.txt --- thunderbird-140.12.0esr/sourcestamp.txt 2026-06-13 03:48:46.000000000 +0000 +++ thunderbird-140.13.0esr/sourcestamp.txt 2026-07-21 21:33:46.000000000 +0000 @@ -1,3 +1,3 @@ -20260612205621 -https://hg.mozilla.org/releases/comm-esr140/rev/0cf57d71a2710903976e503a5e4d7fdae8913cf3 -https://hg.mozilla.org/releases/mozilla-esr140/rev/7df86525c2c876c7c92320e49c3e0771f7a605c0 +20260721190809 +https://hg.mozilla.org/releases/comm-esr140/rev/faf78db7dfb184002adc6b859c8ad395ff216239 +https://hg.mozilla.org/releases/mozilla-esr140/rev/611eeda342a90baf6918fe754fcf168087b3767e diff -Nru thunderbird-140.12.0esr/taskcluster/config.yml thunderbird-140.13.0esr/taskcluster/config.yml --- thunderbird-140.12.0esr/taskcluster/config.yml 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/taskcluster/config.yml 2026-07-21 21:33:03.000000000 +0000 @@ -673,6 +673,11 @@ implementation: docker-worker os: linux worker-type: b-linux-xlarge + b-linux-docker-large-amd: + provisioner: '{trust-domain}-{level}' + implementation: docker-worker + os: linux + worker-type: '{alias}' b-win2012: provisioner: '{trust-domain}-{level}' implementation: generic-worker diff -Nru thunderbird-140.12.0esr/taskcluster/docker/debian-packages/Dockerfile thunderbird-140.13.0esr/taskcluster/docker/debian-packages/Dockerfile --- thunderbird-140.12.0esr/taskcluster/docker/debian-packages/Dockerfile 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/taskcluster/docker/debian-packages/Dockerfile 2026-07-21 21:33:03.000000000 +0000 @@ -1,7 +1,8 @@ FROM $DOCKER_IMAGE_PARENT MAINTAINER Mike Hommey -RUN apt-get install --install-recommends \ +RUN apt-get update && \ + apt-get install --install-recommends \ apt-utils \ aptitude \ build-essential \ diff -Nru thunderbird-140.12.0esr/taskcluster/gecko_taskgraph/actions/merge_automation.py thunderbird-140.13.0esr/taskcluster/gecko_taskgraph/actions/merge_automation.py --- thunderbird-140.12.0esr/taskcluster/gecko_taskgraph/actions/merge_automation.py 2026-06-13 03:48:04.000000000 +0000 +++ thunderbird-140.13.0esr/taskcluster/gecko_taskgraph/actions/merge_automation.py 2026-07-21 21:33:03.000000000 +0000 @@ -48,6 +48,10 @@ "type": "string", "description": "The fx head of the source, such as central", }, + "to-revision": { + "type": "string", + "description": "The revision on the to_branch to fetch its current version from and use to base l10n bumps, version bumps, and replacements on.", + }, "to-branch": { "type": "string", "description": "The fx head of the target, such as beta", @@ -79,6 +83,7 @@ "from-branch", "to-repo", "to-branch", + "to-revision", "fetch-version-from", "merge-automation-id", ]: diff -Nru thunderbird-140.12.0esr/taskcluster/gecko_taskgraph/transforms/merge_automation.py thunderbird-140.13.0esr/taskcluster/gecko_taskgraph/transforms/merge_automation.py --- thunderbird-140.12.0esr/taskcluster/gecko_taskgraph/transforms/merge_automation.py 2026-06-13 03:48:04.000000000 +0000 +++ thunderbird-140.13.0esr/taskcluster/gecko_taskgraph/transforms/merge_automation.py 2026-07-21 21:33:03.000000000 +0000 @@ -65,6 +65,9 @@ if "l10n-bump-info" in worker and worker["l10n-bump-info"] is None: del worker["l10n-bump-info"] + if "to-revision" in merge_config: + worker["merge-info"]["to-revision"] = merge_config["to-revision"] + # Override defaults, useful for testing. for field in [ "from-repo", diff -Nru thunderbird-140.12.0esr/taskcluster/gecko_taskgraph/transforms/repackage.py thunderbird-140.13.0esr/taskcluster/gecko_taskgraph/transforms/repackage.py --- thunderbird-140.12.0esr/taskcluster/gecko_taskgraph/transforms/repackage.py 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/taskcluster/gecko_taskgraph/transforms/repackage.py 2026-07-21 21:33:03.000000000 +0000 @@ -305,6 +305,8 @@ "{deb-l10n-templates}", "--release-product", "{release_product}", + "--extensions-dir", + "{extensions-dir}", ], "inputs": { "input-xpi-file": "target.langpack.xpi", @@ -372,6 +374,7 @@ "sfx-stub", "wsx-stub", "flatpak-templates", + "extensions-dir", ] transforms = TransformSequence() @@ -479,6 +482,9 @@ repackage_signing_task = dependency elif "signing" in dependency or "notarization" in dependency: signing_task = dependency + elif "shippable-l10n" in dependency: + # Thunderbird does not sign langpacks, so we find them in the langpack build task + signing_task = dependency if config.kind == "repackage-msi": treeherder["symbol"] = "MSI({})".format(locale or "N") @@ -748,6 +754,9 @@ if "shipping-phase" in job: task["shipping-phase"] = job["shipping-phase"] + if "shipping-product" in job and job["shipping-product"] is not None: + task["shipping-product"] = job["shipping-product"] + yield task diff -Nru thunderbird-140.12.0esr/taskcluster/gecko_taskgraph/transforms/repackage_routes.py thunderbird-140.13.0esr/taskcluster/gecko_taskgraph/transforms/repackage_routes.py --- thunderbird-140.12.0esr/taskcluster/gecko_taskgraph/transforms/repackage_routes.py 2026-06-13 03:48:04.000000000 +0000 +++ thunderbird-140.13.0esr/taskcluster/gecko_taskgraph/transforms/repackage_routes.py 2026-07-21 21:33:03.000000000 +0000 @@ -17,7 +17,10 @@ if repackage_type and job["attributes"]["build_type"] != "debug": build_platform = job["attributes"]["build_platform"] job_name = f"{build_platform}-{repackage_type}" - product = job.get("index", {}).get("product", "firefox") + if job.get("shipping-product", "").startswith("thunderbird"): + product = job.get("index", {}).get("product", "thunderbird") + else: + product = job.get("index", {}).get("product", "firefox") index_type = "generic" if job["attributes"].get("shippable") and job["attributes"].get("locale"): index_type = "shippable-l10n" diff -Nru thunderbird-140.12.0esr/taskcluster/kinds/packages/ubuntu.yml thunderbird-140.13.0esr/taskcluster/kinds/packages/ubuntu.yml --- thunderbird-140.12.0esr/taskcluster/kinds/packages/ubuntu.yml 2026-06-13 03:48:03.000000000 +0000 +++ thunderbird-140.13.0esr/taskcluster/kinds/packages/ubuntu.yml 2026-07-21 21:33:03.000000000 +0000 @@ -13,7 +13,7 @@ symbol: Ub18(libc6) run: dsc: - url: https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/glibc/2.27-3ubuntu1.2/glibc_2.27-3ubuntu1.2.dsc + url: https://snapshot.ubuntu.com/ubuntu/20220101T000000Z/pool/main/g/glibc/glibc_2.27-3ubuntu1.2.dsc sha256: 2ac325cce2251c710dd041f4725925cdbccefba6f6f0f0d95a2a5a09e2050c2e patch: ubuntu-glibc.diff @@ -23,7 +23,7 @@ symbol: Ub18(libc6-32) run: dsc: - url: https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/glibc/2.27-3ubuntu1.2/glibc_2.27-3ubuntu1.2.dsc + url: https://snapshot.ubuntu.com/ubuntu/20220101T000000Z/pool/main/g/glibc/glibc_2.27-3ubuntu1.2.dsc sha256: 2ac325cce2251c710dd041f4725925cdbccefba6f6f0f0d95a2a5a09e2050c2e arch: i386 patch: ubuntu-glibc.diff @@ -34,7 +34,7 @@ symbol: Ub18(python-psutil) run: dsc: - url: https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/python-psutil/5.4.2-1ubuntu0.1/python-psutil_5.4.2-1ubuntu0.1.dsc + url: https://snapshot.ubuntu.com/ubuntu/20220101T000000Z/pool/main/p/python-psutil/python-psutil_5.4.2-1ubuntu0.1.dsc sha256: a0ca4560d25fcfe5b7407d2cb21318f0635f2c3559898efce1679eef35b61f05 name: python-psutil pre-build-command: >- @@ -47,7 +47,7 @@ symbol: Ub18(python-dbus) run: dsc: - url: https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/dbus-python/1.2.6-1/dbus-python_1.2.6-1.dsc + url: https://snapshot.ubuntu.com/ubuntu/20220101T000000Z/pool/main/d/dbus-python/dbus-python_1.2.6-1.dsc sha256: a81fd35d3ca142910d1f7e3f8de57b99596d6e927173a57a44a2917c57eeb72f name: dbus-python pre-build-command: >- diff -Nru thunderbird-140.12.0esr/taskcluster/kinds/release-update-verify-config/kind.yml thunderbird-140.13.0esr/taskcluster/kinds/release-update-verify-config/kind.yml --- thunderbird-140.12.0esr/taskcluster/kinds/release-update-verify-config/kind.yml 2026-06-13 03:48:04.000000000 +0000 +++ thunderbird-140.13.0esr/taskcluster/kinds/release-update-verify-config/kind.yml 2026-07-21 21:33:03.000000000 +0000 @@ -63,6 +63,7 @@ esr140: by-platform: linux64-aarch64.*: "140.0esr" + win64-aarch64.*: "140.0esr" default: "68.0esr" default: "default" diff -Nru thunderbird-140.12.0esr/taskcluster/kinds/searchfox/kind.yml thunderbird-140.13.0esr/taskcluster/kinds/searchfox/kind.yml --- thunderbird-140.12.0esr/taskcluster/kinds/searchfox/kind.yml 2026-06-13 03:48:04.000000000 +0000 +++ thunderbird-140.13.0esr/taskcluster/kinds/searchfox/kind.yml 2026-07-21 21:33:03.000000000 +0000 @@ -31,6 +31,7 @@ run: extra-config: max_build_output_timeout: 3600 + worker-type: b-linux-docker-large-amd tasks: linux64-searchfox/debug: @@ -39,7 +40,6 @@ job-name: linux64-searchfox-debug treeherder: platform: linux64/debug - worker-type: b-linux-gcp worker: max-run-time: 10800 env: @@ -72,7 +72,6 @@ job-name: macosx64-searchfox-debug treeherder: platform: osx-cross/debug - worker-type: b-linux-gcp worker: max-run-time: 10800 env: @@ -108,7 +107,6 @@ job-name: macosx64-aarch64-searchfox-debug treeherder: platform: osx-cross-aarch64/debug - worker-type: b-linux-gcp worker: max-run-time: 10800 env: @@ -147,7 +145,6 @@ job-name: ios-searchfox-debug treeherder: platform: ios/debug - worker-type: b-linux-gcp worker: max-run-time: 10800 env: @@ -188,7 +185,6 @@ job-name: win64-searchfox-debug treeherder: platform: windows2012-64/debug - worker-type: b-linux-gcp worker: max-run-time: 10800 env: @@ -231,7 +227,6 @@ job-name: android-aarch64-searchfox-debug treeherder: platform: android-5-0-aarch64/debug - worker-type: b-linux-gcp worker: docker-image: {in-tree: android-build} max-run-time: 10800 diff -Nru thunderbird-140.12.0esr/testing/mozharness/configs/repackage/base.py thunderbird-140.13.0esr/testing/mozharness/configs/repackage/base.py --- thunderbird-140.12.0esr/testing/mozharness/configs/repackage/base.py 2026-06-13 03:48:04.000000000 +0000 +++ thunderbird-140.13.0esr/testing/mozharness/configs/repackage/base.py 2026-07-21 21:33:03.000000000 +0000 @@ -15,4 +15,5 @@ "flatpak-templates": "browser/installer/linux/app/flatpak", "wsx-stub": "browser/installer/windows/msi/installer.wxs", "fetch-dir": os.environ.get("MOZ_FETCHES_DIR"), + "extensions-dir": "firefox/distribution/extensions", } diff -Nru thunderbird-140.12.0esr/testing/mozharness/scripts/repackage.py thunderbird-140.13.0esr/testing/mozharness/scripts/repackage.py --- thunderbird-140.12.0esr/testing/mozharness/scripts/repackage.py 2026-06-13 03:48:04.000000000 +0000 +++ thunderbird-140.13.0esr/testing/mozharness/scripts/repackage.py 2026-07-21 21:33:03.000000000 +0000 @@ -74,6 +74,7 @@ "deb-l10n-templates": config["deb-l10n-templates"], "flatpak-templates": config.get("flatpak-templates"), "wsx-stub": config["wsx-stub"], + "extensions-dir": config["extensions-dir"], } subst.update(dirs) if config.get("fetch-dir"): diff -Nru thunderbird-140.12.0esr/testing/web-platform/meta/fetch/images/canvas-remote-read-remote-image-redirect.html.ini thunderbird-140.13.0esr/testing/web-platform/meta/fetch/images/canvas-remote-read-remote-image-redirect.html.ini --- thunderbird-140.12.0esr/testing/web-platform/meta/fetch/images/canvas-remote-read-remote-image-redirect.html.ini 2026-06-13 03:48:04.000000000 +0000 +++ thunderbird-140.13.0esr/testing/web-platform/meta/fetch/images/canvas-remote-read-remote-image-redirect.html.ini 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -[canvas-remote-read-remote-image-redirect.html] - [Load a no-cors image from a same-origin URL that redirects to a cross-origin URL that redirects to the initial origin] - expected: FAIL - diff -Nru thunderbird-140.12.0esr/testing/web-platform/meta/html/browsers/the-window-object/window-open-popup-behavior.html.ini thunderbird-140.13.0esr/testing/web-platform/meta/html/browsers/the-window-object/window-open-popup-behavior.html.ini --- thunderbird-140.12.0esr/testing/web-platform/meta/html/browsers/the-window-object/window-open-popup-behavior.html.ini 2026-06-13 03:48:05.000000000 +0000 +++ thunderbird-140.13.0esr/testing/web-platform/meta/html/browsers/the-window-object/window-open-popup-behavior.html.ini 2026-07-21 21:33:03.000000000 +0000 @@ -8,16 +8,14 @@ [location=yes,toolbar=yes,status=yes,noopener (expect tab)] expected: - if (os == "linux") and fission: [FAIL, TIMEOUT, NOTRUN] - if (os == "linux") and not fission: [PASS, TIMEOUT, NOTRUN] - if os == "android": PASS + if (os == "win") and debug and (processor == "x86"): [FAIL, NOTRUN] + if (os == "linux"): [FAIL, TIMEOUT, NOTRUN] FAIL [location=yes,toolbar=yes,status=yes,noreferrer (expect tab)] expected: - if (os == "linux") and fission: [FAIL, TIMEOUT, NOTRUN] - if (os == "linux") and not fission: [PASS, TIMEOUT, NOTRUN] - if os == "android": PASS + if (os == "win") and debug and (processor == "x86"): [FAIL, NOTRUN] + if (os == "linux"): [FAIL, TIMEOUT, NOTRUN] FAIL [location=yes,toolbar=yes,status=yes,popup (expect popup)] @@ -26,9 +24,8 @@ [location=yes,toolbar=yes,status=yes,noopener,noreferrer,popup (expect tab)] expected: - if (os == "linux") and fission: [FAIL, TIMEOUT, NOTRUN] - if (os == "linux") and not fission: [PASS, TIMEOUT, NOTRUN] - if os == "android": PASS + if (os == "win") and debug and (processor == "x86"): [FAIL, NOTRUN] + if (os == "linux"): [FAIL, TIMEOUT, NOTRUN] FAIL [location=yes,toolbar=yes,menubar=yes (expect popup)] @@ -37,16 +34,14 @@ [location=yes,toolbar=yes,menubar=yes,noopener (expect tab)] expected: - if (os == "linux") and fission: [FAIL, TIMEOUT, NOTRUN] - if (os == "linux") and not fission: [PASS, TIMEOUT, NOTRUN] - if os == "android": PASS + if (os == "win") and debug and (processor == "x86"): [FAIL, NOTRUN] + if (os == "linux"): [FAIL, TIMEOUT, NOTRUN] FAIL [location=yes,toolbar=yes,menubar=yes,noreferrer (expect tab)] expected: - if (os == "linux") and fission: [FAIL, TIMEOUT, NOTRUN] - if (os == "linux") and not fission: [PASS, TIMEOUT, NOTRUN] - if os == "android": PASS + if (os == "win") and debug and (processor == "x86"): [FAIL, NOTRUN] + if (os == "linux"): [FAIL, TIMEOUT, NOTRUN] FAIL [location=yes,toolbar=yes,menubar=yes,popup (expect popup)] @@ -55,9 +50,8 @@ [location=yes,toolbar=yes,menubar=yes,noopener,noreferrer,popup (expect tab)] expected: - if (os == "linux") and fission: [FAIL, TIMEOUT, NOTRUN] - if (os == "linux") and not fission: [PASS, TIMEOUT, NOTRUN] - if os == "android": PASS + if (os == "win") and debug and (processor == "x86"): [FAIL, NOTRUN] + if (os == "linux"): [FAIL, TIMEOUT, NOTRUN] FAIL [location=yes,toolbar=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes (expect tab)] @@ -80,67 +74,55 @@ [location=yes,toolbar=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes,noopener,noreferrer,popup (expect tab)] expected: - if (os == "linux") and fission and debug: [FAIL, NOTRUN] - if (os == "linux") and fission and not debug: [FAIL, TIMEOUT, NOTRUN] - if (os == "linux") and not fission: [PASS, TIMEOUT, NOTRUN] - if os == "android": PASS + if (os == "win") and debug and (processor == "x86"): [FAIL, NOTRUN] + if (os == "linux") and debug: [FAIL, NOTRUN] + if (os == "linux") and not debug: [FAIL, TIMEOUT, NOTRUN] FAIL [toolbar=yes,menubar=yes,resizable=yes,noopener (expect tab)] expected: - if not fission and asan: [PASS, TIMEOUT] - if fission: FAIL + FAIL [toolbar=yes,menubar=yes,resizable=yes,noopener,noreferrer,popup (expect tab)] expected: - if not fission and (os == "linux"): [PASS, TIMEOUT, NOTRUN] - if fission: FAIL + FAIL [resizable=yes,scrollbars=yes,status=yes,noreferrer (expect tab)] expected: - if fission: FAIL + FAIL [location=yes,menubar=yes,scrollbars=yes,noreferrer (expect tab)] expected: - if (os == "linux") and fission: [FAIL, TIMEOUT, NOTRUN] - if (os == "linux") and not fission: [PASS, TIMEOUT, NOTRUN] - if os == "android": PASS + if (os == "linux"): [FAIL, TIMEOUT, NOTRUN] FAIL [toolbar=yes,resizable=yes,status=yes,noopener (expect tab)] expected: - if fission: FAIL + FAIL [resizable=yes,scrollbars=yes,status=yes,noopener,noreferrer,popup (expect tab)] expected: - if fission: FAIL + FAIL [location=yes,scrollbars=yes,status=yes,noreferrer (expect tab)] expected: - if not fission and (os == "linux"): [PASS, TIMEOUT, NOTRUN] - if fission: FAIL - - [location=yes,scrollbars=yes,status=yes,popup (expect popup)] - expected: - if not fission and (os == "linux"): [PASS, TIMEOUT, NOTRUN] + FAIL [location=yes,menubar=yes,scrollbars=yes (expect popup)] expected: - if (os == "linux") and fission and not debug: [PASS, TIMEOUT] - if (os == "linux") and not fission: [PASS, TIMEOUT, NOTRUN] + if (os == "linux") and not debug: [PASS, TIMEOUT] [location=yes,scrollbars=yes,status=yes,noopener,noreferrer,popup (expect tab)] expected: - if not fission and (os == "linux"): [PASS, TIMEOUT, NOTRUN] - if fission: FAIL + FAIL [toolbar=yes,resizable=yes,status=yes,noreferrer (expect tab)] expected: - if fission: FAIL + FAIL [,noopener,noreferrer,popup (expect tab)] expected: - if fission: FAIL + FAIL [location=yes,menubar=yes,scrollbars=yes,popup (expect popup)] expected: @@ -148,54 +130,39 @@ [location=yes,menubar=yes,scrollbars=yes,noopener,noreferrer,popup (expect tab)] expected: - if (os == "linux") and fission: [FAIL, TIMEOUT, NOTRUN] - if (os == "linux") and not fission: [PASS, TIMEOUT, NOTRUN] - if os == "android": PASS + if (os == "linux"): [FAIL, TIMEOUT, NOTRUN] FAIL [toolbar=yes,menubar=yes,resizable=yes,noreferrer (expect tab)] expected: - if not fission and asan: [PASS, NOTRUN] - if fission: FAIL + FAIL [toolbar=yes,resizable=yes,status=yes,noopener,noreferrer,popup (expect tab)] expected: - if fission: FAIL + FAIL [menubar=yes,resizable=yes,scrollbars=yes,noopener,noreferrer,popup (expect tab)] expected: - if fission: FAIL + FAIL [location=yes,scrollbars=yes,status=yes,noopener (expect tab)] expected: - if not fission and (os == "linux"): [PASS, TIMEOUT, NOTRUN] - if fission: FAIL + FAIL [menubar=yes,resizable=yes,scrollbars=yes,noopener (expect tab)] expected: - if fission: FAIL + FAIL [location=yes,menubar=yes,scrollbars=yes,noopener (expect tab)] expected: - if (os == "linux") and fission and debug: [FAIL, TIMEOUT] - if (os == "linux") and fission and not debug: [FAIL, TIMEOUT, NOTRUN] - if (os == "linux") and not fission: [PASS, TIMEOUT, NOTRUN] - if os == "android": PASS + if (os == "linux") and debug: [FAIL, TIMEOUT] + if (os == "linux") and not debug: [FAIL, TIMEOUT, NOTRUN] FAIL [menubar=yes,resizable=yes,scrollbars=yes,noreferrer (expect tab)] expected: - if fission: FAIL + FAIL [resizable=yes,scrollbars=yes,status=yes,noopener (expect tab)] expected: - if fission: FAIL - - [toolbar=yes,menubar=yes,resizable=yes,popup (expect popup)] - expected: - if not fission and (os == "linux") and debug: [PASS, TIMEOUT] - if not fission and (os == "linux") and not debug: [PASS, TIMEOUT, NOTRUN] - - [location=yes,scrollbars=yes,status=yes (expect popup)] - expected: - if not fission and (os == "linux"): [PASS, TIMEOUT, NOTRUN] + FAIL diff -Nru thunderbird-140.12.0esr/testing/web-platform/tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table_2.html thunderbird-140.13.0esr/testing/web-platform/tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table_2.html --- thunderbird-140.12.0esr/testing/web-platform/tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table_2.html 2026-06-13 03:48:08.000000000 +0000 +++ thunderbird-140.13.0esr/testing/web-platform/tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table_2.html 2026-07-21 21:33:07.000000000 +0000 @@ -16,6 +16,7 @@ +
@@ -27,16 +28,19 @@ var form1 = document.getElementById('form1'); assert_equals(document.getElementById('input1').form, null, - "input1's form owner must be null since form2 is not in the" + + "input1's form owner must be null since form2 is not in the " + "same home subtree"); assert_equals(document.getElementById('input2').form, form1, "input2's form owner must be the form with id 'form1'"); assert_equals(document.getElementById('input3').form, null, - "input3's form owner must be null instead of form2 (as per parsing rules)" + + "input3's form owner must be null instead of form2 (as per parsing rules) " + "since form2 is not in the same home subtree"); + assert_equals(f['image1'], undefined, + "image1 must not be a form control of form2 since form2 is not in the same home subtree"); + }, "Controls nested in tables are not associated with form element inside the " + "table if the form had been removed by script before the controls were " + "inserted by the parser"); diff -Nru thunderbird-140.12.0esr/testing/web-platform/tests/service-workers/service-worker/css-sw-same-origin-substitution.https.html thunderbird-140.13.0esr/testing/web-platform/tests/service-workers/service-worker/css-sw-same-origin-substitution.https.html --- thunderbird-140.12.0esr/testing/web-platform/tests/service-workers/service-worker/css-sw-same-origin-substitution.https.html 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/testing/web-platform/tests/service-workers/service-worker/css-sw-same-origin-substitution.https.html 2026-07-21 21:33:09.000000000 +0000 @@ -0,0 +1,31 @@ + +Service Worker: a same-origin response substituted for a cross-origin CSS request must not taint the stylesheet + + + + diff -Nru thunderbird-140.12.0esr/testing/web-platform/tests/service-workers/service-worker/resources/css-sw-same-origin-substitution-iframe.sub.html thunderbird-140.13.0esr/testing/web-platform/tests/service-workers/service-worker/resources/css-sw-same-origin-substitution-iframe.sub.html --- thunderbird-140.12.0esr/testing/web-platform/tests/service-workers/service-worker/resources/css-sw-same-origin-substitution-iframe.sub.html 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/testing/web-platform/tests/service-workers/service-worker/resources/css-sw-same-origin-substitution-iframe.sub.html 2026-07-21 21:33:08.000000000 +0000 @@ -0,0 +1,8 @@ + + +iframe: cross-origin CSS request, service worker substitutes a same-origin response + + diff -Nru thunderbird-140.12.0esr/testing/web-platform/tests/service-workers/service-worker/resources/css-sw-same-origin-substitution-worker.js thunderbird-140.13.0esr/testing/web-platform/tests/service-workers/service-worker/resources/css-sw-same-origin-substitution-worker.js --- thunderbird-140.12.0esr/testing/web-platform/tests/service-workers/service-worker/resources/css-sw-same-origin-substitution-worker.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/testing/web-platform/tests/service-workers/service-worker/resources/css-sw-same-origin-substitution-worker.js 2026-07-21 21:33:08.000000000 +0000 @@ -0,0 +1,14 @@ +importScripts('test-helpers.sub.js'); + +const BASE_PATH = base_path(); + +self.addEventListener('fetch', event => { + const url = new URL(event.request.url); + // The iframe requests this cross-origin stylesheet; substitute a same-origin + // response (a real same-origin fetch => a cross-origin -> same-origin internal + // redirect on the page's channel). + if (url.pathname.endsWith('/css-sw-substitute-marker.css')) { + event.respondWith(fetch( + BASE_PATH + 'fetch-request-css-cross-origin-mime-check-same.css')); + } +}); diff -Nru thunderbird-140.12.0esr/testing/web-platform/tests/tools/certs/cacert.key thunderbird-140.13.0esr/testing/web-platform/tests/tools/certs/cacert.key --- thunderbird-140.12.0esr/testing/web-platform/tests/tools/certs/cacert.key 2026-06-13 03:48:09.000000000 +0000 +++ thunderbird-140.13.0esr/testing/web-platform/tests/tools/certs/cacert.key 2026-07-21 21:33:09.000000000 +0000 @@ -1,30 +1,30 @@ -----BEGIN ENCRYPTED PRIVATE KEY----- -MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIQ5xxSiiavZsCAggA -MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECFKM9TnbYM+OBIIEyMH5TkEN57pt -EZk850JRFQJAl1FNOpQwTIY1KysKZenigkLMaavObLdAheJVNSGWx+Wua7cgKWbc -5GBVZn+NN4CRAtPlL+xKWf0HYwr3brJn3mMWrJbfMgugB2yG9UvAL4jBmsz9eWB1 -ZuoUnBa9oZPtjcROq5CnZJXdrHqHPaG5CswoSBOXn0p/nv6KSeV8BRgdj1EvAGKh -sOav2PbsaTESESnR4RP91k6hu24ZRUkfxA16L+BKb0/94ie4DErFKcZbilfI41Qv -FQTpbPLZwOywCz/VD6kjYcRAr1q26Zhv4O80/0ZL7m/OBzu38PCUKwBAduZZyCCf -1sqDyNWyPHTa9sPSY3pocpIvtzQ0UFNOhlMicHztNpNAtugJk8mPtvLyMqg02sys -GK4PZtENPPcaWCy8hBxRN5+fVXjx4RpeJJQjqwnzuQiVOKkGrDw3MxLvIh6JCV4h -RvZW25wd3Tbs2KzotKNXFZDNHRSQRJRG+j7rTVr/F92YKC2KOPWcFU/J6quLqR9d -jTpvWej3SAvBkCqPZatuOPqxnctRU4/EZdg/N7eZBRmWdXLKvD5nwgHQoPdOiywT -/eu2JuQzXQuVzVRnCAdDCvxl7/UkSkepEJbq1VAXo1rp4UTdVp6/xGOLJVdG4Yzc -Y13Zx7Y5r0rh5QUI96jogFfor57uvtiMqnxT+QpRtGxJUaRs/6svLHwDHAZhbf2f -jtn+St/c+Il1Xjpm7shQvo+pOUBG0DzcSyUXsQB58K+3Yj79M0Ff54unJQ3SCAbV -zbq9OS69VRhkMveN3RGvgQDMIlgdH9DeDdB4YGEVEvujnqOBgcnrDmLE8e8tPAjZ -90Uh1oqXdJgM5whaK3LbNs41kz482Orkv/P9L8e3MOjSuymdkgg3yJIx6ZuHNNKL -BTQTRJELyaje+px2oyaIfvzGQ0Jjnv+jTEwphbIAapCtJy61/HDvbS3F4tZ1atIh -wWjKpPRklDYD1bM1oGBUx5d24tNlTGLlhyrrV0gBteMvwPpsT3SuWPKGfSRAwygk -v4papFqnGPG+7W394x9S4NhRwlaHeG/L6qA0YNGrpeSoZSGB6k1DpInW9wylngEu -DM3j6perxmR+ZrPJo87/S2nPb3ylmZmAc6mHt0JQTKtR4s2kMoodHmqo9UIJJjnf -Z7cwPOerrsy5xwAm7nlP3ghb0Cu13VQz/QC6023TsN+O/DrUsvhFtNiQWdVwZndz -d17Vgmas+eLM3n82Xqbyxs5hoae63JSz85M/LUiT121eC1MhOUrswCyw6KKVwYoW -JmkYaGWbuJHMOPUuRpThrJdO3QzGneMCu8CNxsyJJDLUrhtXkyX/23tRhOCnOYGc -QSfxsqRoL8IodF/gDEpuugf09wKUpdwK5q7N70YdBCpgMq3jjI/4ElmkPRRUfhp1 -rcNl/PtkJcUNkHwnIK3QWHhdKD56tjwBvpTNK9X1/QUqvU5stPlf4ZQM0zOsffPm -+jpauKaEzYsGSWcbhJib5WDA+j9l1EHIwVRrAiVcYi/IrYzvCVZYtC4+qrxGLxIW -3CfND5oUMsa/6sv3CWlqH6frYwLwGsy3kQLxhX56sgsvLJ9lgZBuuLlWBWptCIir -VCzo24f1epTgccd9RsHscA== +MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIPmdMAJXgj40CAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECGuOVNyhQweDBIIEyMesKUHFIUY5 +8+ZBX3sJ5lpvJbwQXZ/1IPHSzo8Gb+tyInPcoEjR66d5dQfdIcCpQrws161ykEus +xxtgOX7wpWZlgH4g92DaSifRjQ56O50tWbyFSqSLeRqvp93LdEYtQntKJeKjQ28u +gR3C/kVHX6Eo4OQtqfpYOa6zDXxZr77+O71xlJG8/5876sSihvnTfbGBgc2hukc1 +MACn+NMhvXz4znaSdJLN+5ctNHWSMlQjrgQBE3+Do/AvDjztEmQteaxzPEk7Drl2 +QcFxBuKbKt6qwJWl1B+LwNER+6FhMmiVWsTnX3n8RugEuEMdxagk/CjQig7N6zpq +Lun8EkrTSuyXxJLDwJlmvRfKVmt6FUMo/UHPmRYKT2USbd/sPYY/sBB7P9fygIFX +JFHI+ZRQauCJ5EBgGwNtB2od7mk46uOVQpwBwR7l5Zed4VCOcW5ycle+JS9WRqC9 +mrqE+lansN7fqCDqTEW46+xuMrOM4TjB5nGKPgGGtd4lO8XT0fRdRd3OgfHARsSx +HkqrFa9Gl3CZXocUDh9SuweMGgWKjDyxA9TasHjedh6CyInN4dhvOot/eCZMoWkt +dcEMnZAJFsKah5sitpU77/yXL+iD2HiP6+QXcDuuD2GmCU6MVMov5O7gG6ol4Quc +8zbtixHmlKf2rS364yk421/YqFepsAyxeIs8/w0/omFG7q7zKDno8yZ5pm9cifO1 +xAHKoTs1K84KYoMnL2o9+Gk1ptAC6YLO4+e8KA5o5XUnudHXzrd943ktwSfhujTc +4iCtGVDF8qxw5F9mPOXCbAEI1mzVKqXVy0RKv5vYXI8cnbHYKQM3N1MiznwDslIn +MYXukQ0KVIaPeUkxXSJJBOwlKEMwQOqkfEktrboly/zV/vQoewGj7ApdNDgsxAr4 +gPgw/jWwWOw7NfFX3iyzSXaTGLUWiMhSF8n7YZrg/WPoq4Tx+ag8vYpUdOLq0CWC +zoVjeTinoXXnvkIpVlO5rY4k8O/2ejfid7PGDG/dmAPfMHuznyRfbzxgUcTcjCal +LmgoUvTJgTWscSUpUWKNcVSy9rgDPIYejuD4N+MDSx4TZ74xch6WxcTMEkQ+1ZFM +hcaNs4FVYvRYR6Ku7+lCQQ8DZfkdLt3fidXri9ivGCJZ0hV+aG5ZxiuuxORmX53F +YCJVnA1IXNQOeJRZ7WwmF0kVy6oFVhhcvEEZ5ly9zXrBs/8ep18/uyQiWAYOQXKO +QbpOpDNAm9BCK+pUPJFk9Sv9PHsqT7AWnEI4yGLvC+2bj7NZG17rSZLruns77ZlC +sg+u4ZuIbhXDMgPwBsGb5/Oc0R3tSsqasfga8V65id9dHXkWgBIinMke105bxxY6 +jZd4LoaOcCIUhjAQ7hu0Izgvl86Hn23hQnOex1LhZ488lPbqNGP4q3vRcV7xwzr0 +2mpNGUj9nX2saKmzLrKGqYTe2tcFHwEpgNZp3yOZrR+COxsFoi6dgK5qBBpXDLna +vNTSyjsh7cu1CRhGvmPM6oY5WLDyyVdVbf6GtNfYgGWBgCUpLQFQPvRT55byONiH +FfhLQDimitQwa8joaGLTYOrmUYRm2Qh2bepDhkc7xiM6MCNUvxTeIh2Kx/vcE2nB +rfdwxxJD8kLsHXNtEuvruQ== -----END ENCRYPTED PRIVATE KEY----- diff -Nru thunderbird-140.12.0esr/testing/web-platform/tests/tools/certs/cacert.pem thunderbird-140.13.0esr/testing/web-platform/tests/tools/certs/cacert.pem --- thunderbird-140.12.0esr/testing/web-platform/tests/tools/certs/cacert.pem 2026-06-13 03:48:09.000000000 +0000 +++ thunderbird-140.13.0esr/testing/web-platform/tests/tools/certs/cacert.pem 2026-07-21 21:33:09.000000000 +0000 @@ -1,125 +1,125 @@ -----BEGIN CERTIFICATE----- -MIIW5zCCFc+gAwIBAgIDCvpqMA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMEndl -Yi1wbGF0Zm9ybS10ZXN0czAeFw0yNTA2MTIwMTE4MzhaFw0yNjA2MTIwMTE4Mzha +MIIW5zCCFc+gAwIBAgIDBsmAMA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMEndl +Yi1wbGF0Zm9ybS10ZXN0czAeFw0yNjA1MTIwMjQxMzNaFw0yNzA1MTIwMjQxMzNa MB0xGzAZBgNVBAMMEndlYi1wbGF0Zm9ybS10ZXN0czCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBANYTmhz+LpdYvW+1B8BrpydNlFJO+uwlDs5mbNwP1sCP -sYeJQ6RbxFRMcJdHKL37lWzwmJR31roS7amfvl/lcanLNHslAAo0QuY8hjKm/dts -imMradgmOI7+bIx7PkeqpRnsruFSuysmRqYjMdGkV0Kod4EAUR7mskPcqGY/cabq -RFbb7Qir78j1TAlmEVIpM91DKbiymSXp9QXJd4vjGm6PpvR4x3EDic1fmLnS4AcY -la3b/vHXowIbA1AYNppWwKGyJZsUvjKm6DjzDS3VGwsz/etZHOOptprdxdfXP92Y -eHMql3oxsWUVbw2Vr+enWmUA1wmz/vb+xBH2qnb0YZECAwEAAaOCFC4wghQqMAwG -A1UdEwQFMAMBAf8wHQYDVR0OBBYEFEqAvGRgOzi2DQTi1IhLYHYa2aT7MEcGA1Ud -IwRAMD6AFEqAvGRgOzi2DQTi1IhLYHYa2aT7oSGkHzAdMRswGQYDVQQDDBJ3ZWIt -cGxhdGZvcm0tdGVzdHOCAwr6ajALBgNVHQ8EBAMCAgQwggoFBgNVHR4Eggn8MIIJ +BQADggEPADCCAQoCggEBALUDbxGgLC9o53TVjTl6WpBb8NbhoHNRlqLhMCb4P3QM +cDvw/Q+SmYud9I9rwbFoCndNhx8aB8j9kqUWvvgr6blXEmvL6E6cOueZtC2IbiPo +uqt8GYu1Se2MWVDRz5iLsng3yeX8ZG29di6KvsShjk5SQbuf8Be0qL8YOPuc9Fx5 +kL3Fh/4hTRyRKadpRoQq1o1q/JytA5XEjYbWY9cBtqXgbqz3RWSvC6ET3IWkwuMe +jRJ1fyde+1mb2AKZBao1Ccd+8mbNcW+u9ZziyizS3mHPCoa4p90vrWr9y8adOkjH +cCieDmzIHlgFr9YjAp06cjLL7MFIGXi8f2wh/2/lG28CAwEAAaOCFC4wghQqMAwG +A1UdEwQFMAMBAf8wHQYDVR0OBBYEFAe1evnGWu3oLp7tgb4s0ExgbmffMEcGA1Ud +IwRAMD6AFAe1evnGWu3oLp7tgb4s0ExgbmffoSGkHzAdMRswGQYDVQQDDBJ3ZWIt +cGxhdGZvcm0tdGVzdHOCAwbJgDALBgNVHQ8EBAMCAgQwggoFBgNVHR4Eggn8MIIJ +KCCCfQwE4IRd2ViLXBsYXRmb3JtLnRlc3QwF4IVbm90LXdlYi1wbGF0Zm9ybS50 -ZXN0MBeCFXd3dy53ZWItcGxhdGZvcm0udGVzdDAYghZ3d3cxLndlYi1wbGF0Zm9y -bS50ZXN0MBiCFnd3dzIud2ViLXBsYXRmb3JtLnRlc3QwG4IZd3d3Lnd3dy53ZWIt -cGxhdGZvcm0udGVzdDAbghl3d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0MByCGnd3 -dzIud3d3LndlYi1wbGF0Zm9ybS50ZXN0MByCGnd3dzEud3d3LndlYi1wbGF0Zm9y -bS50ZXN0MByCGnd3dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0MByCGnd3dzEubm90 -LXdlYi1wbGF0Zm9ybS50ZXN0MByCGnd3dy53d3cxLndlYi1wbGF0Zm9ybS50ZXN0 -MByCGnd3dy53d3cyLndlYi1wbGF0Zm9ybS50ZXN0MB2CG3d3dzIud3d3MS53ZWIt -cGxhdGZvcm0udGVzdDAdght3d3cxLnd3dzIud2ViLXBsYXRmb3JtLnRlc3QwHYIb -d3d3MS53d3cxLndlYi1wbGF0Zm9ybS50ZXN0MB2CG3d3dzIud3d3Mi53ZWItcGxh +ZXN0MBeCFXd3dy53ZWItcGxhdGZvcm0udGVzdDAYghZ3d3cyLndlYi1wbGF0Zm9y +bS50ZXN0MBiCFnd3dzEud2ViLXBsYXRmb3JtLnRlc3QwG4IZd3d3Lm5vdC13ZWIt +cGxhdGZvcm0udGVzdDAbghl3d3cud3d3LndlYi1wbGF0Zm9ybS50ZXN0MByCGnd3 +dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0MByCGnd3dy53d3cxLndlYi1wbGF0Zm9y +bS50ZXN0MByCGnd3dy53d3cyLndlYi1wbGF0Zm9ybS50ZXN0MByCGnd3dzIud3d3 +LndlYi1wbGF0Zm9ybS50ZXN0MByCGnd3dzEud3d3LndlYi1wbGF0Zm9ybS50ZXN0 +MByCGnd3dzEubm90LXdlYi1wbGF0Zm9ybS50ZXN0MB2CG3d3dzIud3d3Mi53ZWIt +cGxhdGZvcm0udGVzdDAdght3d3cxLnd3dzEud2ViLXBsYXRmb3JtLnRlc3QwHYIb +d3d3MS53d3cyLndlYi1wbGF0Zm9ybS50ZXN0MB2CG3d3dzIud3d3MS53ZWItcGxh dGZvcm0udGVzdDAfgh13d3cud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdDAggh53 -d3cyLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwIIIed3d3Lnd3dzEubm90LXdl -Yi1wbGF0Zm9ybS50ZXN0MCCCHnhuLS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVz -dDAggh53d3cxLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwIIIed3d3Lnd3dzIu +d3cud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwIIIed3d3MS53d3cubm90LXdl +Yi1wbGF0Zm9ybS50ZXN0MCCCHnd3dzIud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVz +dDAggh54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3QwIIIed3d3Lnd3dzIu bm90LXdlYi1wbGF0Zm9ybS50ZXN0MCGCH3d3dzEud3d3Mi5ub3Qtd2ViLXBsYXRm -b3JtLnRlc3QwIYIfd3d3MS53d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdDAhgh93 -d3cyLnd3dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0MCGCH3d3dzIud3d3MS5ub3Qt -d2ViLXBsYXRmb3JtLnRlc3QwJIIid3d3LnhuLS1sdmUtNmxhZC53ZWItcGxhdGZv -cm0udGVzdDAkgiJ4bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0MCSC -InhuLS1sdmUtNmxhZC53d3cud2ViLXBsYXRmb3JtLnRlc3QwJYIjeG4tLWx2ZS02 -bGFkLnd3dzEud2ViLXBsYXRmb3JtLnRlc3QwJYIjd3d3MS54bi0tbHZlLTZsYWQu -d2ViLXBsYXRmb3JtLnRlc3QwJYIjd3d3Mi54bi0tbHZlLTZsYWQud2ViLXBsYXRm +b3JtLnRlc3QwIYIfd3d3Mi53d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdDAhgh93 +d3cyLnd3dzEubm90LXdlYi1wbGF0Zm9ybS50ZXN0MCGCH3d3dzEud3d3MS5ub3Qt +d2ViLXBsYXRmb3JtLnRlc3QwJIIieG4tLWx2ZS02bGFkLnd3dy53ZWItcGxhdGZv +cm0udGVzdDAkgiJ3d3cueG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0MCSC +InhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwJYIjd3d3MS54bi0t +bHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3QwJYIjd3d3Mi54bi0tbHZlLTZsYWQu +d2ViLXBsYXRmb3JtLnRlc3QwJYIjeG4tLWx2ZS02bGFkLnd3dzEud2ViLXBsYXRm b3JtLnRlc3QwJYIjeG4tLWx2ZS02bGFkLnd3dzIud2ViLXBsYXRmb3JtLnRlc3Qw KIImd3d3LnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwKIImeG4t LWx2ZS02bGFkLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwKYIneG4tLWx2ZS02 -bGFkLnd3dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0MCmCJ3d3dzEueG4tLWx2ZS02 -bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdDApgid3d3cyLnhuLS1sdmUtNmxhZC5u -b3Qtd2ViLXBsYXRmb3JtLnRlc3QwKYIneG4tLWx2ZS02bGFkLnd3dzEubm90LXdl +bGFkLnd3dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0MCmCJ3d3dzIueG4tLWx2ZS02 +bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdDApgid4bi0tbHZlLTZsYWQud3d3MS5u +b3Qtd2ViLXBsYXRmb3JtLnRlc3QwKYInd3d3MS54bi0tbHZlLTZsYWQubm90LXdl Yi1wbGF0Zm9ybS50ZXN0MCuCKXhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1w bGF0Zm9ybS50ZXN0MC2CK3huLS1sdmUtNmxhZC54bi0tbHZlLTZsYWQud2ViLXBs YXRmb3JtLnRlc3QwL4IteG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3LndlYi1w -bGF0Zm9ybS50ZXN0MC+CLXhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLm5vdC13ZWIt -cGxhdGZvcm0udGVzdDAvgi13d3cueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2Vi -LXBsYXRmb3JtLnRlc3QwMIIueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3Mi53 -ZWItcGxhdGZvcm0udGVzdDAwgi54bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cx +bGF0Zm9ybS50ZXN0MC+CLXd3dy54bi0tbjhqNmRzNTNsd3drcnFodjI4YS53ZWIt +cGxhdGZvcm0udGVzdDAvgi14bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2Vi +LXBsYXRmb3JtLnRlc3QwMIIueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3MS53 +ZWItcGxhdGZvcm0udGVzdDAwgi53d3cxLnhuLS1uOGo2ZHM1M2x3d2tycWh2Mjhh LndlYi1wbGF0Zm9ybS50ZXN0MDCCLnd3dzIueG4tLW44ajZkczUzbHd3a3JxaHYy -OGEud2ViLXBsYXRmb3JtLnRlc3QwMIIud3d3MS54bi0tbjhqNmRzNTNsd3drcnFo -djI4YS53ZWItcGxhdGZvcm0udGVzdDAxgi94bi0tbHZlLTZsYWQueG4tLWx2ZS02 +OGEud2ViLXBsYXRmb3JtLnRlc3QwMIIueG4tLW44ajZkczUzbHd3a3JxaHYyOGEu +d3d3Mi53ZWItcGxhdGZvcm0udGVzdDAxgi94bi0tbHZlLTZsYWQueG4tLWx2ZS02 bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdDAzgjF3d3cueG4tLW44ajZkczUzbHd3 a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0MDOCMXhuLS1uOGo2ZHM1M2x3 -d2tycWh2MjhhLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwNIIyd3d3Mi54bi0t -bjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwNIIyd3d3 -MS54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3Qw -NIIyeG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3Mi5ub3Qtd2ViLXBsYXRmb3Jt -LnRlc3QwNIIyeG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3MS5ub3Qtd2ViLXBs +d2tycWh2MjhhLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwNIIyeG4tLW44ajZk +czUzbHd3a3JxaHYyOGEud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwNIIyd3d3 +Mi54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3Qw +NIIyd3d3MS54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3Jt +LnRlc3QwNIIyeG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3Mi5ub3Qtd2ViLXBs YXRmb3JtLnRlc3QwOII2eG4tLW44ajZkczUzbHd3a3JxaHYyOGEueG4tLWx2ZS02 bGFkLndlYi1wbGF0Zm9ybS50ZXN0MDiCNnhuLS1sdmUtNmxhZC54bi0tbjhqNmRz -NTNsd3drcnFodjI4YS53ZWItcGxhdGZvcm0udGVzdDA8gjp4bi0tbHZlLTZsYWQu -eG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0MDyC -OnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBs +NTNsd3drcnFodjI4YS53ZWItcGxhdGZvcm0udGVzdDA8gjp4bi0tbjhqNmRzNTNs +d3drcnFodjI4YS54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0MDyC +OnhuLS1sdmUtNmxhZC54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBs YXRmb3JtLnRlc3QwQ4JBeG4tLW44ajZkczUzbHd3a3JxaHYyOGEueG4tLW44ajZk czUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3QwR4JFeG4tLW44ajZkczUz bHd3a3JxaHYyOGEueG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1wbGF0 Zm9ybS50ZXN0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMIIJhQYDVR0RBIIJfDCCCXiC EXdlYi1wbGF0Zm9ybS50ZXN0ghVub3Qtd2ViLXBsYXRmb3JtLnRlc3SCFXd3dy53 -ZWItcGxhdGZvcm0udGVzdIIWd3d3MS53ZWItcGxhdGZvcm0udGVzdIIWd3d3Mi53 -ZWItcGxhdGZvcm0udGVzdIIZd3d3Lnd3dy53ZWItcGxhdGZvcm0udGVzdIIZd3d3 -Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIad3d3Mi53d3cud2ViLXBsYXRmb3JtLnRl -c3SCGnd3dzEud3d3LndlYi1wbGF0Zm9ybS50ZXN0ghp3d3cyLm5vdC13ZWItcGxh -dGZvcm0udGVzdIIad3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCGnd3dy53d3cx -LndlYi1wbGF0Zm9ybS50ZXN0ghp3d3cud3d3Mi53ZWItcGxhdGZvcm0udGVzdIIb -d3d3Mi53d3cxLndlYi1wbGF0Zm9ybS50ZXN0ght3d3cxLnd3dzIud2ViLXBsYXRm -b3JtLnRlc3SCG3d3dzEud3d3MS53ZWItcGxhdGZvcm0udGVzdIIbd3d3Mi53d3cy +ZWItcGxhdGZvcm0udGVzdIIWd3d3Mi53ZWItcGxhdGZvcm0udGVzdIIWd3d3MS53 +ZWItcGxhdGZvcm0udGVzdIIZd3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIZd3d3 +Lnd3dy53ZWItcGxhdGZvcm0udGVzdIIad3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRl +c3SCGnd3dy53d3cxLndlYi1wbGF0Zm9ybS50ZXN0ghp3d3cud3d3Mi53ZWItcGxh +dGZvcm0udGVzdIIad3d3Mi53d3cud2ViLXBsYXRmb3JtLnRlc3SCGnd3dzEud3d3 +LndlYi1wbGF0Zm9ybS50ZXN0ghp3d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdIIb +d3d3Mi53d3cyLndlYi1wbGF0Zm9ybS50ZXN0ght3d3cxLnd3dzEud2ViLXBsYXRm +b3JtLnRlc3SCG3d3dzEud3d3Mi53ZWItcGxhdGZvcm0udGVzdIIbd3d3Mi53d3cx LndlYi1wbGF0Zm9ybS50ZXN0gh13d3cud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVz -dIIed3d3Mi53d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0gh53d3cud3d3MS5ub3Qt -d2ViLXBsYXRmb3JtLnRlc3SCHnhuLS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVz -dIIed3d3MS53d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0gh53d3cud3d3Mi5ub3Qt +dIIed3d3Lnd3dzEubm90LXdlYi1wbGF0Zm9ybS50ZXN0gh53d3cxLnd3dy5ub3Qt +d2ViLXBsYXRmb3JtLnRlc3SCHnd3dzIud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVz +dIIeeG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0gh53d3cud3d3Mi5ub3Qt d2ViLXBsYXRmb3JtLnRlc3SCH3d3dzEud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRl -c3SCH3d3dzEud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCH3d3dzIud3d3Mi5u -b3Qtd2ViLXBsYXRmb3JtLnRlc3SCH3d3dzIud3d3MS5ub3Qtd2ViLXBsYXRmb3Jt -LnRlc3SCInd3dy54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3SCInhuLS1s -dmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCInhuLS1sdmUtNmxhZC53d3cu -d2ViLXBsYXRmb3JtLnRlc3SCI3huLS1sdmUtNmxhZC53d3cxLndlYi1wbGF0Zm9y -bS50ZXN0giN3d3cxLnhuLS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdIIjd3d3 -Mi54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3SCI3huLS1sdmUtNmxhZC53 +c3SCH3d3dzIud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCH3d3dzIud3d3MS5u +b3Qtd2ViLXBsYXRmb3JtLnRlc3SCH3d3dzEud3d3MS5ub3Qtd2ViLXBsYXRmb3Jt +LnRlc3SCInhuLS1sdmUtNmxhZC53d3cud2ViLXBsYXRmb3JtLnRlc3SCInd3dy54 +bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3SCInhuLS1sdmUtNmxhZC5ub3Qt +d2ViLXBsYXRmb3JtLnRlc3SCI3d3dzEueG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9y +bS50ZXN0giN3d3cyLnhuLS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdIIjeG4t +LWx2ZS02bGFkLnd3dzEud2ViLXBsYXRmb3JtLnRlc3SCI3huLS1sdmUtNmxhZC53 d3cyLndlYi1wbGF0Zm9ybS50ZXN0giZ3d3cueG4tLWx2ZS02bGFkLm5vdC13ZWIt cGxhdGZvcm0udGVzdIImeG4tLWx2ZS02bGFkLnd3dy5ub3Qtd2ViLXBsYXRmb3Jt LnRlc3SCJ3huLS1sdmUtNmxhZC53d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdIIn -d3d3MS54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0gid3d3cyLnhu -LS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCJ3huLS1sdmUtNmxhZC53 -d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdIIpeG4tLW44ajZkczUzbHd3a3JxaHYy +d3d3Mi54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0gid4bi0tbHZl +LTZsYWQud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCJ3d3dzEueG4tLWx2ZS02 +bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdIIpeG4tLW44ajZkczUzbHd3a3JxaHYy OGEud2ViLXBsYXRmb3JtLnRlc3SCK3huLS1sdmUtNmxhZC54bi0tbHZlLTZsYWQu d2ViLXBsYXRmb3JtLnRlc3SCLXhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dy53 -ZWItcGxhdGZvcm0udGVzdIIteG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdl -Yi1wbGF0Zm9ybS50ZXN0gi13d3cueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2Vi -LXBsYXRmb3JtLnRlc3SCLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dzIud2Vi +ZWItcGxhdGZvcm0udGVzdIItd3d3LnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndl +Yi1wbGF0Zm9ybS50ZXN0gi14bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2Vi LXBsYXRmb3JtLnRlc3SCLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dzEud2Vi -LXBsYXRmb3JtLnRlc3SCLnd3dzIueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2Vi LXBsYXRmb3JtLnRlc3SCLnd3dzEueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2Vi +LXBsYXRmb3JtLnRlc3SCLnd3dzIueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2Vi +LXBsYXRmb3JtLnRlc3SCLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dzIud2Vi LXBsYXRmb3JtLnRlc3SCL3huLS1sdmUtNmxhZC54bi0tbHZlLTZsYWQubm90LXdl Yi1wbGF0Zm9ybS50ZXN0gjF3d3cueG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90 LXdlYi1wbGF0Zm9ybS50ZXN0gjF4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cu -bm90LXdlYi1wbGF0Zm9ybS50ZXN0gjJ3d3cyLnhuLS1uOGo2ZHM1M2x3d2tycWh2 -MjhhLm5vdC13ZWItcGxhdGZvcm0udGVzdIIyd3d3MS54bi0tbjhqNmRzNTNsd3dr -cnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCMnhuLS1uOGo2ZHM1M2x3d2ty -cWh2MjhhLnd3dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0gjJ4bi0tbjhqNmRzNTNs -d3drcnFodjI4YS53d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdII2eG4tLW44ajZk +bm90LXdlYi1wbGF0Zm9ybS50ZXN0gjJ4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53 +d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdIIyd3d3Mi54bi0tbjhqNmRzNTNsd3dr +cnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCMnd3dzEueG4tLW44ajZkczUz +bHd3a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0gjJ4bi0tbjhqNmRzNTNs +d3drcnFodjI4YS53d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdII2eG4tLW44ajZk czUzbHd3a3JxaHYyOGEueG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0gjZ4 bi0tbHZlLTZsYWQueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3Jt -LnRlc3SCOnhuLS1sdmUtNmxhZC54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qt -d2ViLXBsYXRmb3JtLnRlc3SCOnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1s -dmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCQXhuLS1uOGo2ZHM1M2x3d2ty +LnRlc3SCOnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1sdmUtNmxhZC5ub3Qt +d2ViLXBsYXRmb3JtLnRlc3SCOnhuLS1sdmUtNmxhZC54bi0tbjhqNmRzNTNsd3dr +cnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCQXhuLS1uOGo2ZHM1M2x3d2ty cWh2MjhhLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0 gkV4bi0tbjhqNmRzNTNsd3drcnFodjI4YS54bi0tbjhqNmRzNTNsd3drcnFodjI4 -YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwDQYJKoZIhvcNAQELBQADggEBAGevd/IN -6PpofThgH2cAwCPr13Cc+QyPXucqpv9Y01H1Yf9ZHalX6o+9OD9m3XoQqSKqnlV9 -Kk/FIL9Ihb4I4QxVNeWWYJfQ1a6VZDsHFAEJCLI1gLPd09A0gh2f2d9DirDbE4OT -wKICpj+pOnJ/4UiqS1h3YjbyUNVCgJTNSUqsCUKM2OmOd6mejwRUsnP+tSU2JhfD -O6ZwV3Rq+wvgGl+bOV6UE/zng9K0YGgjVwISE4sLtq744DaXeRCqlkvC4D9dqph6 -P37T/XA7oofDR7La+7gi9sHAWQmNvmF++wBIBRkIHxY9OpP+bjc/yp6u0hde6Z2z -EFlk8xJ53JMsp8Y= +YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QwDQYJKoZIhvcNAQELBQADggEBABUFivdg +NsC9GsuYiBxZ6djP1C6QzLQeeAv/ocm+uBRB6UIOtcOdSjuxdFwqmiLx6GLqw3EN +Ye8CJW13Vo2Iq2p53EVEzkeYaHxs5KSXSU9tx+nVCZl+zHiD8ErkEZ98XwFpMecL +AQs6JHzQN/MIgrUCGLnnlILQhn3JhahIfw3OOkbkegguSXQ40t1eyDL5T5fcnkNN +3fNgpZ/rUSHBd8X3ASVUbCgDXQWaBzMUMuofOosMhXpIqZwrMSV/7LauszV62vhn +TMWLX3M3h/cq8eS5V9+lPfgxHcuxfXB6j0Uk3t3kbxkYy8o5TaGZ6w0/qj0v7Kac +wGYCRWZTd4zHD5U= -----END CERTIFICATE----- diff -Nru thunderbird-140.12.0esr/testing/web-platform/tests/tools/certs/web-platform.test.key thunderbird-140.13.0esr/testing/web-platform/tests/tools/certs/web-platform.test.key --- thunderbird-140.12.0esr/testing/web-platform/tests/tools/certs/web-platform.test.key 2026-06-13 03:48:09.000000000 +0000 +++ thunderbird-140.13.0esr/testing/web-platform/tests/tools/certs/web-platform.test.key 2026-07-21 21:33:08.000000000 +0000 @@ -1,28 +1,28 @@ -----BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCyoagpfWeBqUrn -aTFYZUuc8DZqDqmpB+jvGNj9vU/XOctNG+0XWI/uCa9p8kS1ugu0eo+85hvqHQpL -laxI3avZp/l5HhQIUC+TjxtXNbO6bhkbhSb082qG/8zhCY08mJyob8z5ED+p7FBY -YbHmqx1yySEo6urLin49MxRnswp46Jzx2S3Oc2BmltX6dvsgPrdxxDjCXH+BD+Y/ -dl5p03OxoLjkxMZHR3Qt3JLu+MpoAEteyDNqO5dIDXK9yQePhxMnf4Fg1MANhCjS -2PTu7f5VTFmoLTsCaZiZum3zNkT/UOnIhz8knUAqhtXZ2PbCiEKmVqK3k/Pj8YOS -R9lCCEa9AgMBAAECggEAGKn9wYjJTLEBdh/jSny7VXZ3VOp5s4HeQCZyo4pK5qva -AxIQM5EsrPsVB3Bbhf9OVBjjatDCLu+GjIwkccUlpWkDfEfSZUQeZZCJ/7RwVeqT -YzuIdvl7DnEYVUQP27uIpIXB9pZZ6/jZ2RzYHEIpJUBZveq9s4/c6/n3CcsXRD1C -l+rem/LDIFaO/WyDPMpK4CQ+ChgjxtAS4CkS1RsgRjyqr9chvDpm/lB8V6Kxbofh -7wR9rgm+TgzuvomY1cnWEaSgIJ8LaljSxr/cmWrzVM9LIoOKZy7uyuNxCGtToyEE -Z7Hm0etfHP0SkmWocJtwk7vWgcKmpOkqQkWFeordswKBgQDsGJY+665Y0U6WNjsK -5qgDm3/NbWnbtgq54Z8FVsuca9crRQBfNlCwWRrc/BLDn4i3/eb2KU3CpfKv498S -M5BMgaPUvrMxZIagn5ydjoMAEoP8y4om7NcSlUY5lnemPLbX/tsoBsypPrDkXFPW -592UgaQNbDzwLoQzv7TnqACtPwKBgQDBsN9aXkXNm4F2g8S4c0JISApohYEPYBqC -Pxv3wzflfiAsPK7tecv8zYsHg0yZHcie7b4YqccFFlhk39EqP2d1RjhEhTjpD+pc -hruF1isLPmdJ5fL/fKGntlYFNImobW/glqtMOAowYBBUU1iK4qv3jHieH307yMiM -zP4lK2cBAwKBgGFqL6wckJ6DFlryW2A/FboPUidP6urF7R0PVA7e5jpPYMOwv9uJ -TLfGvEfMFm3zCHVqZP7Swgv7buxWKHeZIQQARboFSWiq4sWptfRolfLUsPMAhKtU -89TuFMC0LgBAcu0icgjM7Wszu8cttUYp+4pIB4mmTGqJtvCnPByNfGH/AoGAKPxw -hwLj6no5jwabHhzlrb3w1eVKRiKj+WO5W1hn/5wM2s+MhJv9WmV0Qga6srvmtBrC -2x0yDBWKZu4lqLb6AYr2ZSl7vXWsth+cltmXCi4OVUjffsi0vHSNB1TyvD1MK042 -uU4yecIaMn3ggqMsmJmU/IDVU01Ngt3t+ZeRmFkCgYEA5xVDH5MSYPqOiOS6wePf -TU9j7XHQUlrT7xyZCn3hAVg1ZhuVtukxSj1Wu8dpJjccEjb2MBMgWw2TJsiKaHBT -sFCevu+56UNq/YFm+8QP4ifGIeV/FCdUsgrhO6+TdRgFLrWcFjXi3CbGjb+PYhza -gfmGAxeKXDS6s73sJbHEyZo= +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDJHJ09kulByNyc +fG9TAG03nAODBYze+zdeFE0U65DcCY6FCNiDOGmB4N64WVMXMOIRR0c3PQT4ajEj +3YYR/nSd290rO98GShWCqD1nOJq8ofOOQG0hpuF5Yr5JoFEft87qB5umkNN2jp6I +iWCE+uV4Pqt7QS6/kThk5XqA8wxkm76nYn2NLGfU8onH755QOGu/FkhT8tZ3K+zl +BnSY52l0bW5oppxnH0VXgXa+ANooNLsZAshk0ob2EX8G3YWcAWi/AxDNYMWBkIag +Lo1w3cQzMZ+2vCKBs7IotfI9iPn8Vg/3dS20ofEc1M0hlsKMCak+fGQzSp0g0Wuk +KJi54HetAgMBAAECggEAEB29Z2Dy//pnMhkcrgjuN6hxIETybYSx2ABbeaOI/RZn +ooyQwS86RpYCcxZ2vKMxB+kaMWMv7Jz3Ps8H6UA8EHxn2bOXY0B46dAD9QDJvE0O +y1BUDoAk4x6BGOhX0pQJvk0JcaHQeFiPJr+PibM2GVqNpmJqVcqpkML8/AFoyv+1 +uEpKt2VEqSXecnTD7VWtFnwOcghXWtDwRFlfuRXbFu9YSExa/bhpmY+VyO9vDWQn +l2/T9sOcDCo/NS4drZF3LniYzfuuZoIXRSbJLA10aPvGSt6RC0zGiq+6zcOtNYaU +cVTKflHhLm+o59xNix5FVEU60tGd25aSi3nCUpuHsQKBgQDpVgQuE06HIH0Cb3qi +Xyb+nE65sqIaUCbXKhPM4gCPtgH05XGkdlAVSxMdhaFTNJYzZbXMpyTVtop5Z+8k +pIdHm2UasX643Rgi9CTb0nYTD46Qdox69ed9hKPTYTAcGNN7Ch2XWFscpgFLQJVf +IHfJOGS5JX/Hpa/9Fy1nmwhuNQKBgQDcpVS1F4Q7sPsDDWVPa6gLLNivrtYS710A +Fvq+Rvaip/Od3HGmYO91GuhKlm6XBYfyH0yGbo/cj5OYoX2hcnxkXIVv95wAI2cB +oEmhn0B8lDhy/fLfstW6Co9WqFyWwpOza99Zsz5loqnpSkrV2DLftovKR93cNLbB +W5iRAhdymQKBgQCUn8Vp08JhL8BwnLFwW0trQgSjI7U9LXCP/K1AA3R4FWaJptwL +9ZBs/7TdSRDI/uXtNwvln1FHD06Epj8dB+9jHQf5SLV+6tVE7l3L5vJukaotOlWg +vKEGwkXXjkAmpWmPJZJTpGPki5inZiu+u9+Qu+rsQ4ZwlIjUnL6/D3D/QQKBgQDJ +aWJZrI3Yr0VzE9dXGD7ddKKYPFDOGBIc8t0QtFaPRCDuCTz1U6dCjr1c2NU6pqHi +Mw/35xULkUR6H3A+3/MM6igkfTK6LZbptReBoY2MKwEcdxQtf2H54YnW4Pkj5ZpO +Pjoz95sNy96uRlLpweEutcQFcnTjfnsVJjeupuoggQKBgFjOOmdm/8Z+8WYHXIwQ +KVo8wpXDkUd9iHmALjyWuFN2qTuKy75LfqzuqoF85k8Hxkj6uXOUj4sDOtg62gi3 +/fHRvdsWt6w6yOScUcQaHa+i+b0YMprWn5YbUVLkg2L99ZdWf8nn0nG4sGje+f7h +xUkrpdBHZk696NJEUulf2cb8 -----END PRIVATE KEY----- diff -Nru thunderbird-140.12.0esr/testing/web-platform/tests/tools/certs/web-platform.test.pem thunderbird-140.13.0esr/testing/web-platform/tests/tools/certs/web-platform.test.pem --- thunderbird-140.12.0esr/testing/web-platform/tests/tools/certs/web-platform.test.pem 2026-06-13 03:48:10.000000000 +0000 +++ thunderbird-140.13.0esr/testing/web-platform/tests/tools/certs/web-platform.test.pem 2026-07-21 21:33:08.000000000 +0000 @@ -1,133 +1,133 @@ Certificate: Data: Version: 3 (0x2) - Serial Number: 719467 (0xafa6b) + Serial Number: 444801 (0x6c981) Signature Algorithm: sha256WithRSAEncryption Issuer: CN=web-platform-tests Validity - Not Before: Jun 12 01:18:38 2025 GMT - Not After : Jun 12 01:18:38 2026 GMT + Not Before: May 12 02:41:34 2026 GMT + Not After : May 12 02:41:34 2027 GMT Subject: CN=web-platform.test Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: - 00:b2:a1:a8:29:7d:67:81:a9:4a:e7:69:31:58:65: - 4b:9c:f0:36:6a:0e:a9:a9:07:e8:ef:18:d8:fd:bd: - 4f:d7:39:cb:4d:1b:ed:17:58:8f:ee:09:af:69:f2: - 44:b5:ba:0b:b4:7a:8f:bc:e6:1b:ea:1d:0a:4b:95: - ac:48:dd:ab:d9:a7:f9:79:1e:14:08:50:2f:93:8f: - 1b:57:35:b3:ba:6e:19:1b:85:26:f4:f3:6a:86:ff: - cc:e1:09:8d:3c:98:9c:a8:6f:cc:f9:10:3f:a9:ec: - 50:58:61:b1:e6:ab:1d:72:c9:21:28:ea:ea:cb:8a: - 7e:3d:33:14:67:b3:0a:78:e8:9c:f1:d9:2d:ce:73: - 60:66:96:d5:fa:76:fb:20:3e:b7:71:c4:38:c2:5c: - 7f:81:0f:e6:3f:76:5e:69:d3:73:b1:a0:b8:e4:c4: - c6:47:47:74:2d:dc:92:ee:f8:ca:68:00:4b:5e:c8: - 33:6a:3b:97:48:0d:72:bd:c9:07:8f:87:13:27:7f: - 81:60:d4:c0:0d:84:28:d2:d8:f4:ee:ed:fe:55:4c: - 59:a8:2d:3b:02:69:98:99:ba:6d:f3:36:44:ff:50: - e9:c8:87:3f:24:9d:40:2a:86:d5:d9:d8:f6:c2:88: - 42:a6:56:a2:b7:93:f3:e3:f1:83:92:47:d9:42:08: - 46:bd + 00:c9:1c:9d:3d:92:e9:41:c8:dc:9c:7c:6f:53:00: + 6d:37:9c:03:83:05:8c:de:fb:37:5e:14:4d:14:eb: + 90:dc:09:8e:85:08:d8:83:38:69:81:e0:de:b8:59: + 53:17:30:e2:11:47:47:37:3d:04:f8:6a:31:23:dd: + 86:11:fe:74:9d:db:dd:2b:3b:df:06:4a:15:82:a8: + 3d:67:38:9a:bc:a1:f3:8e:40:6d:21:a6:e1:79:62: + be:49:a0:51:1f:b7:ce:ea:07:9b:a6:90:d3:76:8e: + 9e:88:89:60:84:fa:e5:78:3e:ab:7b:41:2e:bf:91: + 38:64:e5:7a:80:f3:0c:64:9b:be:a7:62:7d:8d:2c: + 67:d4:f2:89:c7:ef:9e:50:38:6b:bf:16:48:53:f2: + d6:77:2b:ec:e5:06:74:98:e7:69:74:6d:6e:68:a6: + 9c:67:1f:45:57:81:76:be:00:da:28:34:bb:19:02: + c8:64:d2:86:f6:11:7f:06:dd:85:9c:01:68:bf:03: + 10:cd:60:c5:81:90:86:a0:2e:8d:70:dd:c4:33:31: + 9f:b6:bc:22:81:b3:b2:28:b5:f2:3d:88:f9:fc:56: + 0f:f7:75:2d:b4:a1:f1:1c:d4:cd:21:96:c2:8c:09: + a9:3e:7c:64:33:4a:9d:20:d1:6b:a4:28:98:b9:e0: + 77:ad Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE X509v3 Subject Key Identifier: - D6:4A:B3:AC:80:DE:98:80:19:04:63:9C:B3:6A:0C:66:CF:B9:5F:D2 + 9B:67:89:2C:25:23:7C:E8:F3:D4:FA:51:9B:D8:4B:7B:D0:59:DA:31 X509v3 Authority Key Identifier: - 4A:80:BC:64:60:3B:38:B6:0D:04:E2:D4:88:4B:60:76:1A:D9:A4:FB + 07:B5:7A:F9:C6:5A:ED:E8:2E:9E:ED:81:BE:2C:D0:4C:60:6E:67:DF X509v3 Key Usage: Digital Signature, Non Repudiation, Key Encipherment X509v3 Extended Key Usage: TLS Web Server Authentication X509v3 Subject Alternative Name: - DNS:web-platform.test, DNS:not-web-platform.test, DNS:www.web-platform.test, DNS:www1.web-platform.test, DNS:www2.web-platform.test, DNS:www.www.web-platform.test, DNS:www.not-web-platform.test, DNS:www2.www.web-platform.test, DNS:www1.www.web-platform.test, DNS:www2.not-web-platform.test, DNS:www1.not-web-platform.test, DNS:www.www1.web-platform.test, DNS:www.www2.web-platform.test, DNS:www2.www1.web-platform.test, DNS:www1.www2.web-platform.test, DNS:www1.www1.web-platform.test, DNS:www2.www2.web-platform.test, DNS:www.www.not-web-platform.test, DNS:www2.www.not-web-platform.test, DNS:www.www1.not-web-platform.test, DNS:xn--lve-6lad.web-platform.test, DNS:www1.www.not-web-platform.test, DNS:www.www2.not-web-platform.test, DNS:www1.www2.not-web-platform.test, DNS:www1.www1.not-web-platform.test, DNS:www2.www2.not-web-platform.test, DNS:www2.www1.not-web-platform.test, DNS:www.xn--lve-6lad.web-platform.test, DNS:xn--lve-6lad.not-web-platform.test, DNS:xn--lve-6lad.www.web-platform.test, DNS:xn--lve-6lad.www1.web-platform.test, DNS:www1.xn--lve-6lad.web-platform.test, DNS:www2.xn--lve-6lad.web-platform.test, DNS:xn--lve-6lad.www2.web-platform.test, DNS:www.xn--lve-6lad.not-web-platform.test, DNS:xn--lve-6lad.www.not-web-platform.test, DNS:xn--lve-6lad.www2.not-web-platform.test, DNS:www1.xn--lve-6lad.not-web-platform.test, DNS:www2.xn--lve-6lad.not-web-platform.test, DNS:xn--lve-6lad.www1.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--lve-6lad.xn--lve-6lad.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:www.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www2.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www1.web-platform.test, DNS:www2.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:www1.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--lve-6lad.xn--lve-6lad.not-web-platform.test, DNS:www.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www.not-web-platform.test, DNS:www2.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:www1.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www2.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www1.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.web-platform.test, DNS:xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test + DNS:web-platform.test, DNS:not-web-platform.test, DNS:www.web-platform.test, DNS:www2.web-platform.test, DNS:www1.web-platform.test, DNS:www.not-web-platform.test, DNS:www.www.web-platform.test, DNS:www2.not-web-platform.test, DNS:www.www1.web-platform.test, DNS:www.www2.web-platform.test, DNS:www2.www.web-platform.test, DNS:www1.www.web-platform.test, DNS:www1.not-web-platform.test, DNS:www2.www2.web-platform.test, DNS:www1.www1.web-platform.test, DNS:www1.www2.web-platform.test, DNS:www2.www1.web-platform.test, DNS:www.www.not-web-platform.test, DNS:www.www1.not-web-platform.test, DNS:www1.www.not-web-platform.test, DNS:www2.www.not-web-platform.test, DNS:xn--lve-6lad.web-platform.test, DNS:www.www2.not-web-platform.test, DNS:www1.www2.not-web-platform.test, DNS:www2.www2.not-web-platform.test, DNS:www2.www1.not-web-platform.test, DNS:www1.www1.not-web-platform.test, DNS:xn--lve-6lad.www.web-platform.test, DNS:www.xn--lve-6lad.web-platform.test, DNS:xn--lve-6lad.not-web-platform.test, DNS:www1.xn--lve-6lad.web-platform.test, DNS:www2.xn--lve-6lad.web-platform.test, DNS:xn--lve-6lad.www1.web-platform.test, DNS:xn--lve-6lad.www2.web-platform.test, DNS:www.xn--lve-6lad.not-web-platform.test, DNS:xn--lve-6lad.www.not-web-platform.test, DNS:xn--lve-6lad.www2.not-web-platform.test, DNS:www2.xn--lve-6lad.not-web-platform.test, DNS:xn--lve-6lad.www1.not-web-platform.test, DNS:www1.xn--lve-6lad.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--lve-6lad.xn--lve-6lad.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www.web-platform.test, DNS:www.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www1.web-platform.test, DNS:www1.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:www2.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www2.web-platform.test, DNS:xn--lve-6lad.xn--lve-6lad.not-web-platform.test, DNS:www.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www1.not-web-platform.test, DNS:www2.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:www1.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www2.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.web-platform.test, DNS:xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.not-web-platform.test, DNS:xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test Signature Algorithm: sha256WithRSAEncryption Signature Value: - ad:fd:86:c0:90:e1:59:8a:1b:7d:50:fe:c8:cd:6a:26:ee:b6: - 64:0b:46:92:88:10:2e:bc:8d:fd:9f:e9:72:95:56:3e:bc:4b: - a5:11:9b:ab:ec:d8:68:bc:0e:f3:0b:d0:ef:89:b3:d9:47:8a: - 2f:dc:fa:84:0b:74:0e:64:e6:ae:2a:4e:46:76:0c:9c:04:86: - eb:ed:1b:d6:ca:0c:58:7b:82:a8:95:df:63:3d:0c:1b:89:91: - af:02:4c:d0:c9:4c:5d:96:e1:4a:8d:37:a8:81:54:9f:75:1c: - 7d:f6:19:83:fe:b4:1c:1f:f3:5f:ae:5a:45:1c:30:99:04:14: - 5f:10:55:50:8c:0a:da:61:ff:2b:f4:c7:18:fd:22:6f:3d:7d: - b8:1f:6c:de:1d:e6:be:ec:2d:72:48:4f:f5:5c:9d:eb:3b:b9: - c9:bb:55:d8:1a:c7:52:fd:9d:33:7d:74:29:7d:22:66:bf:76: - 5e:dd:3d:9e:3b:a8:5d:f7:80:8a:37:d4:2e:6a:88:1e:41:ed: - a0:6e:e4:1d:d1:47:85:07:cf:ab:9f:66:b3:a6:35:5d:84:e3: - 70:ac:95:f9:7a:48:fb:af:b9:93:72:5e:81:41:c0:c0:08:db: - eb:31:f7:3f:64:d2:5c:75:60:f7:8a:5c:f3:06:a8:42:e8:3c: - 3d:c6:81:9b + 14:0d:63:89:b8:91:c1:e3:03:72:e2:2d:a4:4b:9f:e4:c1:9e: + 16:d6:e8:bf:73:95:78:94:02:31:55:22:ff:c4:06:f0:b1:d6: + 86:51:f0:cf:51:ab:4d:af:24:ce:ac:53:2e:4a:41:69:ae:61: + bd:59:a6:1a:30:3f:5a:5f:08:36:9b:b5:6a:88:60:2c:5a:b5: + 25:ce:2f:73:fd:81:86:cb:bb:f5:9c:af:6c:41:9a:41:6a:f8: + b9:fa:d9:58:04:7c:7f:3a:0b:64:e6:d6:83:9f:ff:41:56:75: + 96:5a:9a:d0:9a:1b:03:87:e4:8c:62:78:e0:53:d4:68:49:bc: + 79:b5:a5:d5:a0:5e:b0:72:32:3f:b1:8a:58:72:9d:02:79:28: + 83:99:2a:ff:47:44:59:65:86:23:b9:eb:81:f8:e7:08:a9:c9: + e2:44:01:f1:2a:82:8c:44:93:d4:9a:d7:8e:20:c3:7c:b9:a1: + 5a:31:63:24:b0:75:5b:56:d2:9a:6b:3e:58:03:2d:07:f2:29: + 9d:62:28:1b:de:e2:4c:65:cf:c9:30:b6:05:42:48:fc:c4:26: + 36:41:67:0c:1e:1f:be:ad:28:a8:57:2e:59:9c:74:2d:53:5b: + e6:06:b3:3e:53:25:2f:e2:11:f0:1d:0b:b0:fb:01:26:99:11: + 13:ba:d0:b8 -----BEGIN CERTIFICATE----- -MIIMsjCCC5qgAwIBAgIDCvprMA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMEndl -Yi1wbGF0Zm9ybS10ZXN0czAeFw0yNTA2MTIwMTE4MzhaFw0yNjA2MTIwMTE4Mzha +MIIMsjCCC5qgAwIBAgIDBsmBMA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMEndl +Yi1wbGF0Zm9ybS10ZXN0czAeFw0yNjA1MTIwMjQxMzRaFw0yNzA1MTIwMjQxMzRa MBwxGjAYBgNVBAMMEXdlYi1wbGF0Zm9ybS50ZXN0MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAsqGoKX1ngalK52kxWGVLnPA2ag6pqQfo7xjY/b1P1znL -TRvtF1iP7gmvafJEtboLtHqPvOYb6h0KS5WsSN2r2af5eR4UCFAvk48bVzWzum4Z -G4Um9PNqhv/M4QmNPJicqG/M+RA/qexQWGGx5qsdcskhKOrqy4p+PTMUZ7MKeOic -8dktznNgZpbV+nb7ID63ccQ4wlx/gQ/mP3ZeadNzsaC45MTGR0d0LdyS7vjKaABL -XsgzajuXSA1yvckHj4cTJ3+BYNTADYQo0tj07u3+VUxZqC07AmmYmbpt8zZE/1Dp -yIc/JJ1AKobV2dj2wohCplait5Pz4/GDkkfZQghGvQIDAQABo4IJ+jCCCfYwCQYD -VR0TBAIwADAdBgNVHQ4EFgQU1kqzrIDemIAZBGOcs2oMZs+5X9IwHwYDVR0jBBgw -FoAUSoC8ZGA7OLYNBOLUiEtgdhrZpPswCwYDVR0PBAQDAgXgMBMGA1UdJQQMMAoG +AAOCAQ8AMIIBCgKCAQEAyRydPZLpQcjcnHxvUwBtN5wDgwWM3vs3XhRNFOuQ3AmO +hQjYgzhpgeDeuFlTFzDiEUdHNz0E+GoxI92GEf50ndvdKzvfBkoVgqg9ZziavKHz +jkBtIabheWK+SaBRH7fO6gebppDTdo6eiIlghPrleD6re0Euv5E4ZOV6gPMMZJu+ +p2J9jSxn1PKJx++eUDhrvxZIU/LWdyvs5QZ0mOdpdG1uaKacZx9FV4F2vgDaKDS7 +GQLIZNKG9hF/Bt2FnAFovwMQzWDFgZCGoC6NcN3EMzGftrwigbOyKLXyPYj5/FYP +93UttKHxHNTNIZbCjAmpPnxkM0qdINFrpCiYueB3rQIDAQABo4IJ+jCCCfYwCQYD +VR0TBAIwADAdBgNVHQ4EFgQUm2eJLCUjfOjz1PpRm9hLe9BZ2jEwHwYDVR0jBBgw +FoAUB7V6+cZa7egunu2BvizQTGBuZ98wCwYDVR0PBAQDAgXgMBMGA1UdJQQMMAoG CCsGAQUFBwMBMIIJhQYDVR0RBIIJfDCCCXiCEXdlYi1wbGF0Zm9ybS50ZXN0ghVu b3Qtd2ViLXBsYXRmb3JtLnRlc3SCFXd3dy53ZWItcGxhdGZvcm0udGVzdIIWd3d3 -MS53ZWItcGxhdGZvcm0udGVzdIIWd3d3Mi53ZWItcGxhdGZvcm0udGVzdIIZd3d3 -Lnd3dy53ZWItcGxhdGZvcm0udGVzdIIZd3d3Lm5vdC13ZWItcGxhdGZvcm0udGVz -dIIad3d3Mi53d3cud2ViLXBsYXRmb3JtLnRlc3SCGnd3dzEud3d3LndlYi1wbGF0 -Zm9ybS50ZXN0ghp3d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdIIad3d3MS5ub3Qt -d2ViLXBsYXRmb3JtLnRlc3SCGnd3dy53d3cxLndlYi1wbGF0Zm9ybS50ZXN0ghp3 -d3cud3d3Mi53ZWItcGxhdGZvcm0udGVzdIIbd3d3Mi53d3cxLndlYi1wbGF0Zm9y -bS50ZXN0ght3d3cxLnd3dzIud2ViLXBsYXRmb3JtLnRlc3SCG3d3dzEud3d3MS53 -ZWItcGxhdGZvcm0udGVzdIIbd3d3Mi53d3cyLndlYi1wbGF0Zm9ybS50ZXN0gh13 -d3cud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIed3d3Mi53d3cubm90LXdlYi1w -bGF0Zm9ybS50ZXN0gh53d3cud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCHnhu -LS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdIIed3d3MS53d3cubm90LXdlYi1w +Mi53ZWItcGxhdGZvcm0udGVzdIIWd3d3MS53ZWItcGxhdGZvcm0udGVzdIIZd3d3 +Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIZd3d3Lnd3dy53ZWItcGxhdGZvcm0udGVz +dIIad3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCGnd3dy53d3cxLndlYi1wbGF0 +Zm9ybS50ZXN0ghp3d3cud3d3Mi53ZWItcGxhdGZvcm0udGVzdIIad3d3Mi53d3cu +d2ViLXBsYXRmb3JtLnRlc3SCGnd3dzEud3d3LndlYi1wbGF0Zm9ybS50ZXN0ghp3 +d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdIIbd3d3Mi53d3cyLndlYi1wbGF0Zm9y +bS50ZXN0ght3d3cxLnd3dzEud2ViLXBsYXRmb3JtLnRlc3SCG3d3dzEud3d3Mi53 +ZWItcGxhdGZvcm0udGVzdIIbd3d3Mi53d3cxLndlYi1wbGF0Zm9ybS50ZXN0gh13 +d3cud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIed3d3Lnd3dzEubm90LXdlYi1w +bGF0Zm9ybS50ZXN0gh53d3cxLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCHnd3 +dzIud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdIIeeG4tLWx2ZS02bGFkLndlYi1w bGF0Zm9ybS50ZXN0gh53d3cud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCH3d3 -dzEud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCH3d3dzEud3d3MS5ub3Qtd2Vi -LXBsYXRmb3JtLnRlc3SCH3d3dzIud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SC -H3d3dzIud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCInd3dy54bi0tbHZlLTZs -YWQud2ViLXBsYXRmb3JtLnRlc3SCInhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRm -b3JtLnRlc3SCInhuLS1sdmUtNmxhZC53d3cud2ViLXBsYXRmb3JtLnRlc3SCI3hu -LS1sdmUtNmxhZC53d3cxLndlYi1wbGF0Zm9ybS50ZXN0giN3d3cxLnhuLS1sdmUt -NmxhZC53ZWItcGxhdGZvcm0udGVzdIIjd3d3Mi54bi0tbHZlLTZsYWQud2ViLXBs +dzEud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCH3d3dzIud3d3Mi5ub3Qtd2Vi +LXBsYXRmb3JtLnRlc3SCH3d3dzIud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SC +H3d3dzEud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCInhuLS1sdmUtNmxhZC53 +d3cud2ViLXBsYXRmb3JtLnRlc3SCInd3dy54bi0tbHZlLTZsYWQud2ViLXBsYXRm +b3JtLnRlc3SCInhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCI3d3 +dzEueG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0giN3d3cyLnhuLS1sdmUt +NmxhZC53ZWItcGxhdGZvcm0udGVzdIIjeG4tLWx2ZS02bGFkLnd3dzEud2ViLXBs YXRmb3JtLnRlc3SCI3huLS1sdmUtNmxhZC53d3cyLndlYi1wbGF0Zm9ybS50ZXN0 giZ3d3cueG4tLWx2ZS02bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdIImeG4tLWx2 ZS02bGFkLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCJ3huLS1sdmUtNmxhZC53 -d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdIInd3d3MS54bi0tbHZlLTZsYWQubm90 -LXdlYi1wbGF0Zm9ybS50ZXN0gid3d3cyLnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBs -YXRmb3JtLnRlc3SCJ3huLS1sdmUtNmxhZC53d3cxLm5vdC13ZWItcGxhdGZvcm0u +d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdIInd3d3Mi54bi0tbHZlLTZsYWQubm90 +LXdlYi1wbGF0Zm9ybS50ZXN0gid4bi0tbHZlLTZsYWQud3d3MS5ub3Qtd2ViLXBs +YXRmb3JtLnRlc3SCJ3d3dzEueG4tLWx2ZS02bGFkLm5vdC13ZWItcGxhdGZvcm0u dGVzdIIpeG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SC K3huLS1sdmUtNmxhZC54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3SCLXhu -LS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dy53ZWItcGxhdGZvcm0udGVzdIIteG4t -LW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0gi13d3cu +LS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dy53ZWItcGxhdGZvcm0udGVzdIItd3d3 +LnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0gi14bi0t +bjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCLnhuLS1u +OGo2ZHM1M2x3d2tycWh2MjhhLnd3dzEud2ViLXBsYXRmb3JtLnRlc3SCLnd3dzEu +eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SCLnd3dzIu eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SCLnhuLS1u -OGo2ZHM1M2x3d2tycWh2MjhhLnd3dzIud2ViLXBsYXRmb3JtLnRlc3SCLnhuLS1u -OGo2ZHM1M2x3d2tycWh2MjhhLnd3dzEud2ViLXBsYXRmb3JtLnRlc3SCLnd3dzIu -eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SCLnd3dzEu -eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SCL3huLS1s +OGo2ZHM1M2x3d2tycWh2MjhhLnd3dzIud2ViLXBsYXRmb3JtLnRlc3SCL3huLS1s dmUtNmxhZC54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0gjF3d3cu eG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0gjF4 bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0 -gjJ3d3cyLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLm5vdC13ZWItcGxhdGZvcm0u -dGVzdIIyd3d3MS54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRm -b3JtLnRlc3SCMnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dzIubm90LXdlYi1w -bGF0Zm9ybS50ZXN0gjJ4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cxLm5vdC13 +gjJ4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cxLm5vdC13ZWItcGxhdGZvcm0u +dGVzdIIyd3d3Mi54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRm +b3JtLnRlc3SCMnd3dzEueG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1w +bGF0Zm9ybS50ZXN0gjJ4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cyLm5vdC13 ZWItcGxhdGZvcm0udGVzdII2eG4tLW44ajZkczUzbHd3a3JxaHYyOGEueG4tLWx2 ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0gjZ4bi0tbHZlLTZsYWQueG4tLW44ajZk -czUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SCOnhuLS1sdmUtNmxhZC54 -bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCOnhu -LS1uOGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRm +czUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3SCOnhuLS1uOGo2ZHM1M2x3 +d2tycWh2MjhhLnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3SCOnhu +LS1sdmUtNmxhZC54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRm b3JtLnRlc3SCQXhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1uOGo2ZHM1M2x3 d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0gkV4bi0tbjhqNmRzNTNsd3drcnFo djI4YS54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRl -c3QwDQYJKoZIhvcNAQELBQADggEBAK39hsCQ4VmKG31Q/sjNaibutmQLRpKIEC68 -jf2f6XKVVj68S6URm6vs2Gi8DvML0O+Js9lHii/c+oQLdA5k5q4qTkZ2DJwEhuvt -G9bKDFh7gqiV32M9DBuJka8CTNDJTF2W4UqNN6iBVJ91HH32GYP+tBwf81+uWkUc -MJkEFF8QVVCMCtph/yv0xxj9Im89fbgfbN4d5r7sLXJIT/Vcnes7ucm7Vdgax1L9 -nTN9dCl9Ima/dl7dPZ47qF33gIo31C5qiB5B7aBu5B3RR4UHz6ufZrOmNV2E43Cs -lfl6SPuvuZNyXoFBwMAI2+sx9z9k0lx1YPeKXPMGqELoPD3GgZs= +c3QwDQYJKoZIhvcNAQELBQADggEBABQNY4m4kcHjA3LiLaRLn+TBnhbW6L9zlXiU +AjFVIv/EBvCx1oZR8M9Rq02vJM6sUy5KQWmuYb1ZphowP1pfCDabtWqIYCxatSXO +L3P9gYbLu/Wcr2xBmkFq+Ln62VgEfH86C2Tm1oOf/0FWdZZamtCaGwOH5IxieOBT +1GhJvHm1pdWgXrByMj+xilhynQJ5KIOZKv9HRFllhiO564H45wipyeJEAfEqgoxE +k9Sa144gw3y5oVoxYySwdVtW0pprPlgDLQfyKZ1iKBve4kxlz8kwtgVCSPzEJjZB +ZwweH76tKKhXLlmcdC1TW+YGsz5TJS/iEfAdC7D7ASaZERO60Lg= -----END CERTIFICATE----- diff -Nru thunderbird-140.12.0esr/third_party/rlbox/include/rlbox_stdlib.hpp thunderbird-140.13.0esr/third_party/rlbox/include/rlbox_stdlib.hpp --- thunderbird-140.12.0esr/third_party/rlbox/include/rlbox_stdlib.hpp 2026-06-13 03:48:13.000000000 +0000 +++ thunderbird-140.13.0esr/third_party/rlbox/include/rlbox_stdlib.hpp 2026-07-21 21:33:11.000000000 +0000 @@ -173,11 +173,13 @@ void* dest_start = dest_tainted.INTERNAL_unverified_safe(); detail::check_range_doesnt_cross_app_sbx_boundary(dest_start, num_val); - // src also needs to be checked, as we don't want to allow a src rand to start - // inside the sandbox and end outside, and vice versa // src may or may not be a wrapper, so use unwrap_value const void* src_start = detail::unwrap_value(src); - detail::check_range_doesnt_cross_app_sbx_boundary(src_start, num_val); + + // if src is also a tainted/tainted-volatile pointer apply the same check + if constexpr(detail::rlbox_is_tainted_or_vol_v) { + detail::check_range_doesnt_cross_app_sbx_boundary(src_start, num_val); + } std::memcpy(dest_start, src_start, num_val); @@ -205,11 +207,13 @@ void* dest_start = dest.INTERNAL_unverified_safe(); detail::check_range_doesnt_cross_app_sbx_boundary(dest_start, num_val); - // src also needs to be checked, as we don't want to allow a src rand to start - // inside the sandbox and end outside, and vice versa // src may or may not be a wrapper, so use unwrap_value const void* src_start = detail::unwrap_value(src); - detail::check_range_doesnt_cross_app_sbx_boundary(src_start, num_val); + + // if src is also a tainted/tainted-volatile pointer apply the same check + if constexpr(detail::rlbox_is_tainted_or_vol_v) { + detail::check_range_doesnt_cross_app_sbx_boundary(src_start, num_val); + } int ret = std::memcmp(dest_start, src_start, num_val); tainted_int_hint converted_ret(ret); @@ -243,6 +247,10 @@ "copy_memory_or_grant_access not supported on this type as " "there may be ABI differences"); + static_assert(!detail::rlbox_is_tainted_or_vol_v, + "copy_memory_or_grant_access called on tainted type. Tainted " + "data is already accessible to the sandbox. "); + // overflow ok size_t source_size = num * sizeof(T); diff -Nru thunderbird-140.12.0esr/third_party/rust/audioipc2/.cargo-checksum.json thunderbird-140.13.0esr/third_party/rust/audioipc2/.cargo-checksum.json --- thunderbird-140.12.0esr/third_party/rust/audioipc2/.cargo-checksum.json 2026-06-13 03:48:13.000000000 +0000 +++ thunderbird-140.13.0esr/third_party/rust/audioipc2/.cargo-checksum.json 2026-07-21 21:33:11.000000000 +0000 @@ -1 +1 @@ -{"files":{"Cargo.toml":"c3a9748385c7401fee0b8a29554b92a2b0049a5afd5f4e35f8b26d5032a1ec68","benches/serialization.rs":"d56855d868dab6aa22c8b03a61084535351b76c94b68d8b1d20764e352fe473f","build.rs":"65df9a97c6cdaa3faf72581f04ac289197b0b1797d69d22c1796e957ff1089e2","src/codec.rs":"86068272e220696d8d7e369072326349e7598e5a24223d98179c3251bb7b3ff1","src/errors.rs":"67a4a994d0724397657581cde153bdfc05ce86e7efc467f23fafc8f64df80fa4","src/ipccore.rs":"db73e916468c54d3497d75ffcab3bf23067771ed7b2e1a23c714429f56f59ec3","src/lib.rs":"a6fcac8b44318435db60313d3ef32ff3fada390bea8978c8414c40744998b98b","src/messages.rs":"d4f6d4f41b7fd3cc7deae726657e1100f315f4cd10c5fe6ce8a57c03c8e26ca9","src/rpccore.rs":"025b6614f1c42b96b0a8e74fd7881032d338c66e0d67ec0af70f910a9e30ebe1","src/shm.rs":"c00d16f4af510d12e704ae865f7348ad64ddef180e42b18e7dd95c4be35a9c80","src/sys/mod.rs":"e6fa1d260abf093e1f7b50185195e2d3aee0eb8c9774c6f253953b5896d838f3","src/sys/unix/cmsg.rs":"9529e8f8429db86f7c5df132953d3054e603852270f3c6938cdb5f630b2711f1","src/sys/unix/cmsghdr.c":"d7344b3dc15cdce410c68669b848bb81f7fe36362cd3699668cb613fa05180f8","src/sys/unix/mod.rs":"59835f0d5509940078b1820a54f49fc5514adeb3e45e7d21e3ab917431da2e74","src/sys/unix/msg.rs":"25244de3eba920fa42e032f8fa4ea4913a9fdeb5124ade61e707f6cc6dd946b0","src/sys/windows/mod.rs":"7eaabb76e62c6962b636320e2bbf79a78fce61659c799a798f7dd6d56b0be8a1"},"package":null} \ No newline at end of file +{"files":{"Cargo.toml":"c3a9748385c7401fee0b8a29554b92a2b0049a5afd5f4e35f8b26d5032a1ec68","benches/serialization.rs":"d56855d868dab6aa22c8b03a61084535351b76c94b68d8b1d20764e352fe473f","build.rs":"65df9a97c6cdaa3faf72581f04ac289197b0b1797d69d22c1796e957ff1089e2","src/codec.rs":"86068272e220696d8d7e369072326349e7598e5a24223d98179c3251bb7b3ff1","src/errors.rs":"67a4a994d0724397657581cde153bdfc05ce86e7efc467f23fafc8f64df80fa4","src/ipccore.rs":"db73e916468c54d3497d75ffcab3bf23067771ed7b2e1a23c714429f56f59ec3","src/lib.rs":"a6fcac8b44318435db60313d3ef32ff3fada390bea8978c8414c40744998b98b","src/messages.rs":"77e8bc57205ec6aeb0b6617225ced94e3d9ef14e48f7bdeebb0581714b3ea2b4","src/rpccore.rs":"025b6614f1c42b96b0a8e74fd7881032d338c66e0d67ec0af70f910a9e30ebe1","src/shm.rs":"c00d16f4af510d12e704ae865f7348ad64ddef180e42b18e7dd95c4be35a9c80","src/sys/mod.rs":"e6fa1d260abf093e1f7b50185195e2d3aee0eb8c9774c6f253953b5896d838f3","src/sys/unix/cmsg.rs":"9529e8f8429db86f7c5df132953d3054e603852270f3c6938cdb5f630b2711f1","src/sys/unix/cmsghdr.c":"d7344b3dc15cdce410c68669b848bb81f7fe36362cd3699668cb613fa05180f8","src/sys/unix/mod.rs":"59835f0d5509940078b1820a54f49fc5514adeb3e45e7d21e3ab917431da2e74","src/sys/unix/msg.rs":"25244de3eba920fa42e032f8fa4ea4913a9fdeb5124ade61e707f6cc6dd946b0","src/sys/windows/mod.rs":"7eaabb76e62c6962b636320e2bbf79a78fce61659c799a798f7dd6d56b0be8a1"},"package":null} \ No newline at end of file diff -Nru thunderbird-140.12.0esr/third_party/rust/audioipc2/src/messages.rs thunderbird-140.13.0esr/third_party/rust/audioipc2/src/messages.rs --- thunderbird-140.12.0esr/third_party/rust/audioipc2/src/messages.rs 2026-06-13 03:48:13.000000000 +0000 +++ thunderbird-140.13.0esr/third_party/rust/audioipc2/src/messages.rs 2026-07-21 21:33:10.000000000 +0000 @@ -146,14 +146,8 @@ } } -#[derive(Debug, Serialize, Deserialize)] +#[derive(Clone, Debug, Serialize, Deserialize)] pub struct StreamCreateParams { - pub input_stream_params: Option, - pub output_stream_params: Option, -} - -#[derive(Debug, Serialize, Deserialize)] -pub struct StreamInitParams { #[serde(with = "serde_bytes")] pub stream_name: Option>, pub input_device: usize, @@ -215,7 +209,7 @@ ContextRegisterDeviceCollectionChanged(ffi::cubeb_device_type, bool), StreamCreate(StreamCreateParams), - StreamInit(usize, StreamInitParams), + StreamInit(usize), StreamDestroy(usize), StreamStart(usize), diff -Nru thunderbird-140.12.0esr/third_party/rust/audioipc2-client/.cargo-checksum.json thunderbird-140.13.0esr/third_party/rust/audioipc2-client/.cargo-checksum.json --- thunderbird-140.12.0esr/third_party/rust/audioipc2-client/.cargo-checksum.json 2026-06-13 03:48:13.000000000 +0000 +++ thunderbird-140.13.0esr/third_party/rust/audioipc2-client/.cargo-checksum.json 2026-07-21 21:33:10.000000000 +0000 @@ -1 +1 @@ -{"files":{"Cargo.toml":"2ff29951b7d841dd3c54a9d08440d4f2961027d31d0c1d407f47cdb6497f9af6","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/context.rs":"a0559e92b554ef3156ab2bf2f1424555c8ef4a7977b9f43ac8500a9f399f8d99","src/lib.rs":"c87d9d57a16a9286cde730978db692df0fbc70cc69dd4f4677198d6843031fd8","src/send_recv.rs":"859abe75b521eb4297c84b30423814b5b87f3c7741ad16fe72189212e123e1ac","src/stream.rs":"90dc6a85552f3569ab1847de4247a46bcff2f5aef0c4d43fa2376589df015b25"},"package":null} \ No newline at end of file +{"files":{"Cargo.toml":"2ff29951b7d841dd3c54a9d08440d4f2961027d31d0c1d407f47cdb6497f9af6","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/context.rs":"5672563c279654b8d5e743b9eaa7389662b6d219bc5b327153a5eaa24e534f79","src/lib.rs":"c87d9d57a16a9286cde730978db692df0fbc70cc69dd4f4677198d6843031fd8","src/send_recv.rs":"859abe75b521eb4297c84b30423814b5b87f3c7741ad16fe72189212e123e1ac","src/stream.rs":"f9bf0793a6bfd512bfb14b232924559605d6b3ae0b76df86920198b8c6e34d08"},"package":null} \ No newline at end of file diff -Nru thunderbird-140.12.0esr/third_party/rust/audioipc2-client/src/context.rs thunderbird-140.13.0esr/third_party/rust/audioipc2-client/src/context.rs --- thunderbird-140.12.0esr/third_party/rust/audioipc2-client/src/context.rs 2026-06-13 03:48:14.000000000 +0000 +++ thunderbird-140.13.0esr/third_party/rust/audioipc2-client/src/context.rs 2026-07-21 21:33:10.000000000 +0000 @@ -313,7 +313,7 @@ let input_stream_params = input_stream_params.map(messages::StreamParams::from); let output_stream_params = output_stream_params.map(messages::StreamParams::from); - let init_params = messages::StreamInitParams { + let params = messages::StreamCreateParams { stream_name, input_device: input_device as usize, input_stream_params, @@ -321,7 +321,7 @@ output_stream_params, latency_frames, }; - stream::init(self, init_params, data_callback, state_callback, user_ptr) + stream::init(self, params, data_callback, state_callback, user_ptr) } fn register_device_collection_changed( diff -Nru thunderbird-140.12.0esr/third_party/rust/audioipc2-client/src/stream.rs thunderbird-140.13.0esr/third_party/rust/audioipc2-client/src/stream.rs --- thunderbird-140.12.0esr/third_party/rust/audioipc2-client/src/stream.rs 2026-06-13 03:48:13.000000000 +0000 +++ thunderbird-140.13.0esr/third_party/rust/audioipc2-client/src/stream.rs 2026-07-21 21:33:11.000000000 +0000 @@ -5,7 +5,6 @@ use crate::ClientContext; use crate::{assert_not_in_callback, run_in_callback}; -use audioipc::messages::StreamCreateParams; use audioipc::messages::{self, CallbackReq, CallbackResp, ClientMessage, ServerMessage}; use audioipc::shm::SharedMem; use audioipc::{rpccore, sys}; @@ -149,19 +148,17 @@ impl<'ctx> ClientStream<'ctx> { fn init( ctx: &'ctx ClientContext, - init_params: messages::StreamInitParams, + params: messages::StreamCreateParams, data_callback: ffi::cubeb_data_callback, state_callback: ffi::cubeb_state_callback, user_ptr: *mut c_void, ) -> Result { assert_not_in_callback(); + let has_input = params.input_stream_params.is_some(); + let has_output = params.output_stream_params.is_some(); let rpc = ctx.rpc(); - let create_params = StreamCreateParams { - input_stream_params: init_params.input_stream_params, - output_stream_params: init_params.output_stream_params, - }; - let mut data = send_recv!(rpc, StreamCreate(create_params) => StreamCreated())?; + let mut data = send_recv!(rpc, StreamCreate(params) => StreamCreated())?; debug!( "token = {}, handle = {:?} area_size = {:?}", @@ -180,10 +177,7 @@ } }; - let duplex_input = if let (Some(_), Some(_)) = ( - init_params.input_stream_params, - init_params.output_stream_params, - ) { + let duplex_input = if has_input && has_output { let mut duplex_input = Vec::new(); match duplex_input.try_reserve_exact(data.shm_area_size) { Ok(()) => Some(duplex_input), @@ -199,8 +193,7 @@ None }; - let mut stream = - send_recv!(rpc, StreamInit(data.token, init_params) => StreamInitialized())?; + let mut stream = send_recv!(rpc, StreamInit(data.token) => StreamInitialized())?; let stream = unsafe { sys::Pipe::from_raw_handle(stream.take_handle()) }; let user_data = user_ptr as usize; @@ -340,12 +333,12 @@ pub fn init( ctx: &ClientContext, - init_params: messages::StreamInitParams, + params: messages::StreamCreateParams, data_callback: ffi::cubeb_data_callback, state_callback: ffi::cubeb_state_callback, user_ptr: *mut c_void, ) -> Result { - let stm = ClientStream::init(ctx, init_params, data_callback, state_callback, user_ptr)?; + let stm = ClientStream::init(ctx, params, data_callback, state_callback, user_ptr)?; debug_assert_eq!(stm.user_ptr(), user_ptr); Ok(stm) } diff -Nru thunderbird-140.12.0esr/third_party/rust/audioipc2-server/.cargo-checksum.json thunderbird-140.13.0esr/third_party/rust/audioipc2-server/.cargo-checksum.json --- thunderbird-140.12.0esr/third_party/rust/audioipc2-server/.cargo-checksum.json 2026-06-13 03:48:13.000000000 +0000 +++ thunderbird-140.13.0esr/third_party/rust/audioipc2-server/.cargo-checksum.json 2026-07-21 21:33:10.000000000 +0000 @@ -1 +1 @@ -{"files":{"Cargo.toml":"6c9e2ef3983dcacd97c85af69fc13002d2a437f0d2e1e335ee6a4c09d5875937","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/lib.rs":"d70079c66de72c3469504f1f0c9cf5e510644cac17f2d8300b8d12218740e07b","src/server.rs":"20010fbad8111420d2018a14b393eba1362cd68b24a746819ef6a68c2936a1bd"},"package":null} \ No newline at end of file +{"files":{"Cargo.toml":"6c9e2ef3983dcacd97c85af69fc13002d2a437f0d2e1e335ee6a4c09d5875937","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/lib.rs":"d70079c66de72c3469504f1f0c9cf5e510644cac17f2d8300b8d12218740e07b","src/server.rs":"9f0d0744e71d02b637bf2c451dd2de2a2e7b35bbc157fd3655eeaf1badeee2f5"},"package":null} \ No newline at end of file diff -Nru thunderbird-140.12.0esr/third_party/rust/audioipc2-server/src/server.rs thunderbird-140.13.0esr/third_party/rust/audioipc2-server/src/server.rs --- thunderbird-140.12.0esr/third_party/rust/audioipc2-server/src/server.rs 2026-06-13 03:48:13.000000000 +0000 +++ thunderbird-140.13.0esr/third_party/rust/audioipc2-server/src/server.rs 2026-07-21 21:33:11.000000000 +0000 @@ -9,7 +9,7 @@ use audioipc::messages::{ CallbackReq, CallbackResp, ClientMessage, Device, DeviceCollectionReq, DeviceCollectionResp, DeviceInfo, RegisterDeviceCollectionChanged, ServerMessage, StreamCreate, StreamCreateParams, - StreamInitParams, StreamParams, + StreamParams, }; use audioipc::shm::SharedMem; use audioipc::{ipccore, rpccore, sys, PlatformHandle}; @@ -338,10 +338,61 @@ ) } +fn validate_stream_params(p: &StreamParams) -> cubeb::Result<()> { + const MAX_CHANNELS: u32 = u8::MAX as u32; + const MIN_RATE: u32 = 1_000; + const MAX_RATE: u32 = 768_000; + + let valid_format = matches!( + p.format, + ffi::CUBEB_SAMPLE_S16LE + | ffi::CUBEB_SAMPLE_S16BE + | ffi::CUBEB_SAMPLE_FLOAT32LE + | ffi::CUBEB_SAMPLE_FLOAT32BE + ); + + if valid_format + && p.channels >= 1 + && p.channels <= MAX_CHANNELS + && p.rate >= MIN_RATE + && p.rate <= MAX_RATE + { + Ok(()) + } else { + Err(cubeb::Error::invalid_parameter()) + } +} + +fn validate_stream_create_params(params: &StreamCreateParams) -> cubeb::Result<()> { + if params.input_stream_params.is_none() && params.output_stream_params.is_none() { + return Err(cubeb::Error::invalid_parameter()); + } + + if let Some(input_params) = ¶ms.input_stream_params { + validate_stream_params(input_params)?; + } + + if let Some(output_params) = ¶ms.output_stream_params { + validate_stream_params(output_params)?; + } + + // Rate and sample format must match for input and output of a duplex stream. + if let (Some(input_params), Some(output_params)) = + (¶ms.input_stream_params, ¶ms.output_stream_params) + { + if input_params.rate != output_params.rate || input_params.format != output_params.format { + return Err(cubeb::Error::invalid_parameter()); + } + } + + Ok(()) +} + struct ServerStream { stream: Option, cbs: Box, client_pipe: Option, + params: Option, } impl Drop for ServerStream { @@ -539,8 +590,8 @@ .process_stream_create(params) .unwrap_or_else(|_| error(cubeb::Error::error())), - ServerMessage::StreamInit(stm_tok, ref params) => self - .process_stream_init(context, stm_tok, params) + ServerMessage::StreamInit(stm_tok) => self + .process_stream_init(context, stm_tok) .unwrap_or_else(|_| error(cubeb::Error::error())), ServerMessage::StreamDestroy(stm_tok) => { @@ -710,6 +761,8 @@ // Stream create is special, so it's been separated from process_msg. fn process_stream_create(&mut self, params: &StreamCreateParams) -> Result { + validate_stream_create_params(params)?; + fn frame_size_in_bytes(params: Option<&StreamParams>) -> u16 { params .map(|p| { @@ -777,6 +830,7 @@ stream: None, cbs, client_pipe: Some(client_pipe), + params: Some(params.clone()), }); Ok(ClientMessage::StreamCreated(StreamCreate { @@ -791,9 +845,24 @@ &mut self, context: &cubeb::Context, stm_tok: usize, - params: &StreamInitParams, ) -> Result { - // Create cubeb stream from params + if !self.streams.contains(stm_tok) { + return Err(cubeb::Error::invalid_parameter().into()); + } + + let params = { + let server_stream = &mut self.streams[stm_tok]; + if server_stream.stream.is_some() { + error!("StreamInit({stm_tok}): stream already initialized"); + return Err(cubeb::Error::invalid_parameter().into()); + } + server_stream.params.take().ok_or_else(|| { + error!("StreamInit({stm_tok}): missing stream params"); + cubeb::Error::invalid_parameter() + })? + }; + + // Create cubeb stream from the stored params. let stream_name = params .stream_name .as_ref() @@ -832,7 +901,7 @@ latency ); - let server_stream = &mut self.streams[stm_tok]; + let server_stream = &self.streams[stm_tok]; assert!(size_of::>() == size_of::()); let user_ptr = server_stream.cbs.as_ref() as *const ServerStreamCallbacks as *mut c_void; @@ -858,6 +927,7 @@ } }; + let server_stream = &mut self.streams[stm_tok]; server_stream.stream = Some(stream); let client_pipe = server_stream diff -Nru thunderbird-140.12.0esr/third_party/rust/cubeb-pulse/.cargo-checksum.json thunderbird-140.13.0esr/third_party/rust/cubeb-pulse/.cargo-checksum.json --- thunderbird-140.12.0esr/third_party/rust/cubeb-pulse/.cargo-checksum.json 2026-06-13 03:48:14.000000000 +0000 +++ thunderbird-140.13.0esr/third_party/rust/cubeb-pulse/.cargo-checksum.json 2026-07-21 21:33:10.000000000 +0000 @@ -1 +1 @@ -{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"477366d58c9dc059dbe4a158a6e910f23a3e9ecac7411f73616e06375583b764","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.toml":"37491c1b911bcedf99e624fbfb100aa6ecaa357d0d048dc9ff0da341d35f687c","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"c0db5f2447de1d6df5aa2812fa342a085e73156a072c221c7379b9a6a9b86786","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"dfe5b747e100cae4aeae36cf2ebb9dc4715b411b4116721a40eec2944eb0ec23","src/capi.rs":"fa0fa020f0d0efe55aa0fc3596405e8407bbe2cbe6c7a558345304e6da87994e","src/lib.rs":"b41bbdc562cbfb130ed7c1e53fe69944774f515705341d8ce48a2f82c8c0c2c5"},"package":null} \ No newline at end of file +{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"477366d58c9dc059dbe4a158a6e910f23a3e9ecac7411f73616e06375583b764","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.toml":"37491c1b911bcedf99e624fbfb100aa6ecaa357d0d048dc9ff0da341d35f687c","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"c0db5f2447de1d6df5aa2812fa342a085e73156a072c221c7379b9a6a9b86786","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"ea65c5000944c209631dc263ab3ecf65ee246b0dfca95a1932d00c95657fa1a0","src/capi.rs":"fa0fa020f0d0efe55aa0fc3596405e8407bbe2cbe6c7a558345304e6da87994e","src/lib.rs":"b41bbdc562cbfb130ed7c1e53fe69944774f515705341d8ce48a2f82c8c0c2c5"},"package":null} \ No newline at end of file diff -Nru thunderbird-140.12.0esr/third_party/rust/cubeb-pulse/src/backend/stream.rs thunderbird-140.13.0esr/third_party/rust/cubeb-pulse/src/backend/stream.rs --- thunderbird-140.12.0esr/third_party/rust/cubeb-pulse/src/backend/stream.rs 2026-06-13 03:48:13.000000000 +0000 +++ thunderbird-140.13.0esr/third_party/rust/cubeb-pulse/src/backend/stream.rs 2026-07-21 21:33:10.000000000 +0000 @@ -627,6 +627,15 @@ stm.trigger_user_callback(std::ptr::null(), size); } } + + // Restarting a stream that is still draining is a cubeb API contract + // violation: the pending drain_timer holds a pointer to this stream, + // and re-prerolling would arm a second timer and leak the first. + if !self.drain_timer.load(Ordering::Acquire).is_null() { + cubeb_log!("Rejecting start() on a draining stream"); + return Err(Error::error()); + } + self.shutdown = false; self.cork(CorkState::uncork() | CorkState::notify()); @@ -1176,7 +1185,10 @@ /* pa_stream_drain is useless, see PA bug# 866. this is a workaround. */ /* arbitrary safety margin: double the current latency. */ - debug_assert!(self.drain_timer.load(Ordering::Acquire).is_null()); + assert!( + self.drain_timer.load(Ordering::Acquire).is_null(), + "drain timer already armed; stream restarted while draining" + ); let stream_ptr = self as *const _ as *mut _; if let Some(ref context) = self.context.context { self.drain_timer.store( diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/af/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/af/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/af/manifest.json 2026-06-16 16:33:25.377977400 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/af/manifest.json 2026-08-04 06:23:38.815577700 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Afrikaans", "description": "Thunderbird Language Pack for Afrikaans (af)", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "af": { - "version": "20260613003056", + "version": "20260721210024", "chrome_resources": { "alerts": "chrome/af/locale/af/alerts/", "autoconfig": "chrome/af/locale/af/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/ar/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/ar/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/ar/manifest.json 2026-06-16 16:33:25.428084400 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/ar/manifest.json 2026-08-04 06:23:38.837264300 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: العربية (Arabic)", "description": "Thunderbird Language Pack for العربية (ar) – Arabic", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "ar": { - "version": "20260613003324", + "version": "20260721210238", "chrome_resources": { "alerts": "chrome/ar/locale/ar/alerts/", "autoconfig": "chrome/ar/locale/ar/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/ast/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/ast/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/ast/manifest.json 2026-06-16 16:33:25.474553300 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/ast/manifest.json 2026-08-04 06:23:38.855506400 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Asturianu (Asturian)", "description": "Thunderbird Language Pack for Asturianu (ast) – Asturian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "ast": { - "version": "20260613003536", + "version": "20260721210440", "chrome_resources": { "alerts": "chrome/ast/locale/ast/alerts/", "autoconfig": "chrome/ast/locale/ast/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/be/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/be/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/be/manifest.json 2026-06-16 16:33:25.526100900 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/be/manifest.json 2026-08-04 06:23:38.876525400 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Беларуская (Belarusian)", "description": "Thunderbird Language Pack for Беларуская (be) – Belarusian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "be": { - "version": "20260613003749", + "version": "20260721210647", "chrome_resources": { "alerts": "chrome/be/locale/be/alerts/", "autoconfig": "chrome/be/locale/be/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/bg/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/bg/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/bg/manifest.json 2026-06-16 16:33:25.578685000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/bg/manifest.json 2026-08-04 06:23:38.915440300 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Български (Bulgarian)", "description": "Thunderbird Language Pack for Български (bg) – Bulgarian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "bg": { - "version": "20260613004004", + "version": "20260721210854", "chrome_resources": { "alerts": "chrome/bg/locale/bg/alerts/", "autoconfig": "chrome/bg/locale/bg/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/br/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/br/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/br/manifest.json 2026-06-16 16:33:25.627843900 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/br/manifest.json 2026-08-04 06:23:38.965502700 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Brezhoneg (Breton)", "description": "Thunderbird Language Pack for Brezhoneg (br) – Breton", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "br": { - "version": "20260613003141", + "version": "20260721210024", "chrome_resources": { "alerts": "chrome/br/locale/br/alerts/", "autoconfig": "chrome/br/locale/br/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/ca/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/ca/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/ca/manifest.json 2026-06-16 16:33:25.679144900 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/ca/manifest.json 2026-08-04 06:23:39.013173600 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Català (Catalan)", "description": "Thunderbird Language Pack for Català (ca) – Catalan", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "ca": { - "version": "20260613003353", + "version": "20260721210241", "chrome_resources": { "alerts": "chrome/ca/locale/ca/alerts/", "autoconfig": "chrome/ca/locale/ca/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/cak/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/cak/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/cak/manifest.json 2026-06-16 16:33:25.728451300 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/cak/manifest.json 2026-08-04 06:23:39.054695800 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Kaqchikel", "description": "Thunderbird Language Pack for Kaqchikel (cak)", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "cak": { - "version": "20260613003550", + "version": "20260721210444", "chrome_resources": { "alerts": "chrome/cak/locale/cak/alerts/", "autoconfig": "chrome/cak/locale/cak/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/cs/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/cs/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/cs/manifest.json 2026-06-16 16:33:25.780714500 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/cs/manifest.json 2026-08-04 06:23:39.076705200 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Čeština (Czech)", "description": "Thunderbird Language Pack for Čeština (cs) – Czech", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "cs": { - "version": "20260613003746", + "version": "20260721210647", "chrome_resources": { "alerts": "chrome/cs/locale/cs/alerts/", "autoconfig": "chrome/cs/locale/cs/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/cy/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/cy/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/cy/manifest.json 2026-06-16 16:33:25.832524000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/cy/manifest.json 2026-08-04 06:23:39.097812400 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Cymraeg (Welsh)", "description": "Thunderbird Language Pack for Cymraeg (cy) – Welsh", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "cy": { - "version": "20260613003943", + "version": "20260721210851", "chrome_resources": { "alerts": "chrome/cy/locale/cy/alerts/", "autoconfig": "chrome/cy/locale/cy/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/da/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/da/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/da/manifest.json 2026-06-16 16:33:25.884213000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/da/manifest.json 2026-08-04 06:23:39.118714600 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Dansk (Danish)", "description": "Thunderbird Language Pack for Dansk (da) – Danish", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "da": { - "version": "20260613003100", + "version": "20260721210023", "chrome_resources": { "alerts": "chrome/da/locale/da/alerts/", "autoconfig": "chrome/da/locale/da/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/de/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/de/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/de/manifest.json 2026-06-16 16:33:25.936303900 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/de/manifest.json 2026-08-04 06:23:39.140160000 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Deutsch (German)", "description": "Thunderbird Language Pack for Deutsch (de) – German", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "de": { - "version": "20260613003316", + "version": "20260721210256", "chrome_resources": { "alerts": "chrome/de/locale/de/alerts/", "autoconfig": "chrome/de/locale/de/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/dsb/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/dsb/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/dsb/manifest.json 2026-06-16 16:33:25.988885900 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/dsb/manifest.json 2026-08-04 06:23:39.164431300 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Dolnoserbšćina (Lower Sorbian)", "description": "Thunderbird Language Pack for Dolnoserbšćina (dsb) – Lower Sorbian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "dsb": { - "version": "20260613003518", + "version": "20260721210512", "chrome_resources": { "alerts": "chrome/dsb/locale/dsb/alerts/", "autoconfig": "chrome/dsb/locale/dsb/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/el/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/el/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/el/manifest.json 2026-06-16 16:33:26.043113500 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/el/manifest.json 2026-08-04 06:23:39.187474500 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Ελληνικά (Greek)", "description": "Thunderbird Language Pack for Ελληνικά (el) – Greek", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "el": { - "version": "20260613003720", + "version": "20260721210732", "chrome_resources": { "alerts": "chrome/el/locale/el/alerts/", "autoconfig": "chrome/el/locale/el/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/en-CA/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/en-CA/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/en-CA/manifest.json 2026-06-16 16:33:26.094172200 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/en-CA/manifest.json 2026-08-04 06:23:39.208001600 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: English (CA)", "description": "Thunderbird Language Pack for English (CA) (en-CA)", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "en-CA": { - "version": "20260613003941", + "version": "20260721210957", "chrome_resources": { "alerts": "chrome/en-CA/locale/en-CA/alerts/", "autoconfig": "chrome/en-CA/locale/en-CA/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/en-GB/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/en-GB/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/en-GB/manifest.json 2026-06-16 16:33:26.145078000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/en-GB/manifest.json 2026-08-04 06:23:39.228898800 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: English (GB)", "description": "Thunderbird Language Pack for English (GB) (en-GB)", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "en-GB": { - "version": "20260613002734", + "version": "20260721210022", "chrome_resources": { "alerts": "chrome/en-GB/locale/en-GB/alerts/", "autoconfig": "chrome/en-GB/locale/en-GB/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/es-AR/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/es-AR/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/es-AR/manifest.json 2026-06-16 16:33:26.199943800 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/es-AR/manifest.json 2026-08-04 06:23:39.250110900 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Español (AR) (Spanish, Argentina)", "description": "Thunderbird Language Pack for Español (AR) (es-AR) – Spanish, Argentina", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "es-AR": { - "version": "20260613003005", + "version": "20260721210234", "chrome_resources": { "alerts": "chrome/es-AR/locale/es-AR/alerts/", "autoconfig": "chrome/es-AR/locale/es-AR/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/es-ES/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/es-ES/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/es-ES/manifest.json 2026-06-16 16:33:26.257868500 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/es-ES/manifest.json 2026-08-04 06:23:39.271953600 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Español (ES) (Spanish, Spain)", "description": "Thunderbird Language Pack for Español (ES) (es-ES) – Spanish, Spain", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "es-ES": { - "version": "20260613003222", + "version": "20260721210434", "chrome_resources": { "alerts": "chrome/es-ES/locale/es-ES/alerts/", "autoconfig": "chrome/es-ES/locale/es-ES/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/es-MX/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/es-MX/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/es-MX/manifest.json 2026-06-16 16:33:26.309814000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/es-MX/manifest.json 2026-08-04 06:23:39.293372600 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Español (MX) (Spanish, Mexico)", "description": "Thunderbird Language Pack for Español (MX) (es-MX) – Spanish, Mexico", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "es-MX": { - "version": "20260613003438", + "version": "20260721210635", "chrome_resources": { "alerts": "chrome/es-MX/locale/es-MX/alerts/", "autoconfig": "chrome/es-MX/locale/es-MX/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/et/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/et/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/et/manifest.json 2026-06-16 16:33:26.361743200 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/et/manifest.json 2026-08-04 06:23:39.313871400 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Eesti (Estonian)", "description": "Thunderbird Language Pack for Eesti (et) – Estonian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "et": { - "version": "20260613003656", + "version": "20260721210833", "chrome_resources": { "alerts": "chrome/et/locale/et/alerts/", "autoconfig": "chrome/et/locale/et/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/eu/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/eu/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/eu/manifest.json 2026-06-16 16:33:26.413863400 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/eu/manifest.json 2026-08-04 06:23:39.335233000 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Euskara (Basque)", "description": "Thunderbird Language Pack for Euskara (eu) – Basque", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "eu": { - "version": "20260613002755", + "version": "20260721210029", "chrome_resources": { "alerts": "chrome/eu/locale/eu/alerts/", "autoconfig": "chrome/eu/locale/eu/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/fi/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/fi/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/fi/manifest.json 2026-06-16 16:33:26.466482200 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/fi/manifest.json 2026-08-04 06:23:39.356231200 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Suomi (Finnish)", "description": "Thunderbird Language Pack for Suomi (fi) – Finnish", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "fi": { - "version": "20260613003026", + "version": "20260721210242", "chrome_resources": { "alerts": "chrome/fi/locale/fi/alerts/", "autoconfig": "chrome/fi/locale/fi/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/fr/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/fr/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/fr/manifest.json 2026-06-16 16:33:26.518947600 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/fr/manifest.json 2026-08-04 06:23:39.377842200 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Français (French)", "description": "Thunderbird Language Pack for Français (fr) – French", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "fr": { - "version": "20260613003242", + "version": "20260721210443", "chrome_resources": { "alerts": "chrome/fr/locale/fr/alerts/", "autoconfig": "chrome/fr/locale/fr/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/fy-NL/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/fy-NL/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/fy-NL/manifest.json 2026-06-16 16:33:26.570401400 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/fy-NL/manifest.json 2026-08-04 06:23:39.399090500 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Frysk (Frisian)", "description": "Thunderbird Language Pack for Frysk (fy-NL) – Frisian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "fy-NL": { - "version": "20260613003458", + "version": "20260721210643", "chrome_resources": { "alerts": "chrome/fy-NL/locale/fy-NL/alerts/", "autoconfig": "chrome/fy-NL/locale/fy-NL/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/ga-IE/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/ga-IE/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/ga-IE/manifest.json 2026-06-16 16:33:26.617119000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/ga-IE/manifest.json 2026-08-04 06:23:39.417870300 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Gaeilge (Irish)", "description": "Thunderbird Language Pack for Gaeilge (ga-IE) – Irish", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "ga-IE": { - "version": "20260613003720", + "version": "20260721210846", "chrome_resources": { "alerts": "chrome/ga-IE/locale/ga-IE/alerts/", "autoconfig": "chrome/ga-IE/locale/ga-IE/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/gd/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/gd/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/gd/manifest.json 2026-06-16 16:33:26.668645600 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/gd/manifest.json 2026-08-04 06:23:39.438599800 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Gàidhlig (Scottish Gaelic)", "description": "Thunderbird Language Pack for Gàidhlig (gd) – Scottish Gaelic", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "gd": { - "version": "20260613002740", + "version": "20260721210049", "chrome_resources": { "alerts": "chrome/gd/locale/gd/alerts/", "autoconfig": "chrome/gd/locale/gd/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/gl/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/gl/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/gl/manifest.json 2026-06-16 16:33:26.720692200 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/gl/manifest.json 2026-08-04 06:23:39.459670000 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Galego (Galician)", "description": "Thunderbird Language Pack for Galego (gl) – Galician", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "gl": { - "version": "20260613002959", + "version": "20260721210257", "chrome_resources": { "alerts": "chrome/gl/locale/gl/alerts/", "autoconfig": "chrome/gl/locale/gl/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/he/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/he/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/he/manifest.json 2026-06-16 16:33:26.770591700 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/he/manifest.json 2026-08-04 06:23:39.479665000 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: עברית (Hebrew)", "description": "Thunderbird Language Pack for עברית (he) – Hebrew", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "he": { - "version": "20260613003209", + "version": "20260721210455", "chrome_resources": { "alerts": "chrome/he/locale/he/alerts/", "autoconfig": "chrome/he/locale/he/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/hr/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/hr/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/hr/manifest.json 2026-06-16 16:33:26.821803000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/hr/manifest.json 2026-08-04 06:23:39.516548400 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Hrvatski (Croatian)", "description": "Thunderbird Language Pack for Hrvatski (hr) – Croatian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "hr": { - "version": "20260613003416", + "version": "20260721210655", "chrome_resources": { "alerts": "chrome/hr/locale/hr/alerts/", "autoconfig": "chrome/hr/locale/hr/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/hsb/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/hsb/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/hsb/manifest.json 2026-06-16 16:33:26.873624000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/hsb/manifest.json 2026-08-04 06:23:39.544306800 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Hornjoserbšćina (Upper Sorbian)", "description": "Thunderbird Language Pack for Hornjoserbšćina (hsb) – Upper Sorbian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "hsb": { - "version": "20260613003620", + "version": "20260721210856", "chrome_resources": { "alerts": "chrome/hsb/locale/hsb/alerts/", "autoconfig": "chrome/hsb/locale/hsb/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/hu/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/hu/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/hu/manifest.json 2026-06-16 16:33:26.925391700 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/hu/manifest.json 2026-08-04 06:23:39.565641200 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Magyar (Hungarian)", "description": "Thunderbird Language Pack for Magyar (hu) – Hungarian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "hu": { - "version": "20260613003152", + "version": "20260721210022", "chrome_resources": { "alerts": "chrome/hu/locale/hu/alerts/", "autoconfig": "chrome/hu/locale/hu/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/hy-AM/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/hy-AM/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/hy-AM/manifest.json 2026-06-16 16:33:26.976168900 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/hy-AM/manifest.json 2026-08-04 06:23:39.586458200 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: հայերեն (Armenian)", "description": "Thunderbird Language Pack for հայերեն (hy-AM) – Armenian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "hy-AM": { - "version": "20260613003420", + "version": "20260721210238", "chrome_resources": { "alerts": "chrome/hy-AM/locale/hy-AM/alerts/", "autoconfig": "chrome/hy-AM/locale/hy-AM/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/id/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/id/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/id/manifest.json 2026-06-16 16:33:27.027360000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/id/manifest.json 2026-08-04 06:23:39.607138400 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Indonesia (Indonesian)", "description": "Thunderbird Language Pack for Indonesia (id) – Indonesian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "id": { - "version": "20260613003634", + "version": "20260721210443", "chrome_resources": { "alerts": "chrome/id/locale/id/alerts/", "autoconfig": "chrome/id/locale/id/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/is/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/is/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/is/manifest.json 2026-06-16 16:33:27.078859600 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/is/manifest.json 2026-08-04 06:23:39.628269200 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Islenska (Icelandic)", "description": "Thunderbird Language Pack for Islenska (is) – Icelandic", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "is": { - "version": "20260613003847", + "version": "20260721210650", "chrome_resources": { "alerts": "chrome/is/locale/is/alerts/", "autoconfig": "chrome/is/locale/is/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/it/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/it/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/it/manifest.json 2026-06-16 16:33:27.131644000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/it/manifest.json 2026-08-04 06:23:39.649498700 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Italiano (Italian)", "description": "Thunderbird Language Pack for Italiano (it) – Italian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "it": { - "version": "20260613004102", + "version": "20260721210855", "chrome_resources": { "alerts": "chrome/it/locale/it/alerts/", "autoconfig": "chrome/it/locale/it/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/ja/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/ja/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/ja/manifest.json 2026-06-16 16:33:27.183832600 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/ja/manifest.json 2026-08-04 06:23:39.670989000 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: 日本語 (Japanese)", "description": "Thunderbird Language Pack for 日本語 (ja) – Japanese", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "ja": { - "version": "20260613003155", + "version": "20260721210032", "chrome_resources": { "alerts": "chrome/ja/locale/ja/alerts/", "autoconfig": "chrome/ja/locale/ja/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/ka/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/ka/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/ka/manifest.json 2026-06-16 16:33:27.237074100 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/ka/manifest.json 2026-08-04 06:23:39.692887500 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: ქართული (Georgian)", "description": "Thunderbird Language Pack for ქართული (ka) – Georgian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "ka": { - "version": "20260613003431", + "version": "20260721210239", "chrome_resources": { "alerts": "chrome/ka/locale/ka/alerts/", "autoconfig": "chrome/ka/locale/ka/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/kab/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/kab/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/kab/manifest.json 2026-06-16 16:33:27.288085200 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/kab/manifest.json 2026-08-04 06:23:39.713731000 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Taqbaylit (Kabyle)", "description": "Thunderbird Language Pack for Taqbaylit (kab) – Kabyle", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "kab": { - "version": "20260613003653", + "version": "20260721210433", "chrome_resources": { "alerts": "chrome/kab/locale/kab/alerts/", "autoconfig": "chrome/kab/locale/kab/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/kk/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/kk/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/kk/manifest.json 2026-06-16 16:33:27.340994400 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/kk/manifest.json 2026-08-04 06:23:39.736179400 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: қазақ тілі (Kazakh)", "description": "Thunderbird Language Pack for қазақ тілі (kk) – Kazakh", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "kk": { - "version": "20260613003911", + "version": "20260721210627", "chrome_resources": { "alerts": "chrome/kk/locale/kk/alerts/", "autoconfig": "chrome/kk/locale/kk/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/ko/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/ko/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/ko/manifest.json 2026-06-16 16:33:27.392157600 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/ko/manifest.json 2026-08-04 06:23:39.757017100 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: 한국어 (Korean)", "description": "Thunderbird Language Pack for 한국어 (ko) – Korean", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "ko": { - "version": "20260613004136", + "version": "20260721210823", "chrome_resources": { "alerts": "chrome/ko/locale/ko/alerts/", "autoconfig": "chrome/ko/locale/ko/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/lt/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/lt/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/lt/manifest.json 2026-06-16 16:33:27.442521600 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/lt/manifest.json 2026-08-04 06:23:39.777430500 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Lietuvių (Lithuanian)", "description": "Thunderbird Language Pack for Lietuvių (lt) – Lithuanian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "lt": { - "version": "20260613003147", + "version": "20260721210041", "chrome_resources": { "alerts": "chrome/lt/locale/lt/alerts/", "autoconfig": "chrome/lt/locale/lt/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/lv/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/lv/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/lv/manifest.json 2026-06-16 16:33:27.490931700 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/lv/manifest.json 2026-08-04 06:23:39.797228300 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Latviešu (Latvian)", "description": "Thunderbird Language Pack for Latviešu (lv) – Latvian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "lv": { - "version": "20260613003405", + "version": "20260721210301", "chrome_resources": { "alerts": "chrome/lv/locale/lv/alerts/", "autoconfig": "chrome/lv/locale/lv/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/ms/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/ms/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/ms/manifest.json 2026-06-16 16:33:27.537287700 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/ms/manifest.json 2026-08-04 06:23:39.815970000 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Melayu (Malay)", "description": "Thunderbird Language Pack for Melayu (ms) – Malay", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "ms": { - "version": "20260613003610", + "version": "20260721210507", "chrome_resources": { "alerts": "chrome/ms/locale/ms/alerts/", "autoconfig": "chrome/ms/locale/ms/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/nb-NO/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/nb-NO/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/nb-NO/manifest.json 2026-06-16 16:33:27.588641400 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/nb-NO/manifest.json 2026-08-04 06:23:39.836869700 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Norsk Bokmål (Norwegian Bokmål)", "description": "Thunderbird Language Pack for Norsk Bokmål (nb-NO) – Norwegian Bokmål", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "nb-NO": { - "version": "20260613003815", + "version": "20260721210714", "chrome_resources": { "alerts": "chrome/nb-NO/locale/nb-NO/alerts/", "autoconfig": "chrome/nb-NO/locale/nb-NO/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/nl/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/nl/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/nl/manifest.json 2026-06-16 16:33:27.639720700 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/nl/manifest.json 2026-08-04 06:23:39.857909000 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Nederlands (Dutch)", "description": "Thunderbird Language Pack for Nederlands (nl) – Dutch", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "nl": { - "version": "20260613004021", + "version": "20260721210923", "chrome_resources": { "alerts": "chrome/nl/locale/nl/alerts/", "autoconfig": "chrome/nl/locale/nl/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/nn-NO/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/nn-NO/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/nn-NO/manifest.json 2026-06-16 16:33:27.692016400 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/nn-NO/manifest.json 2026-08-04 06:23:39.878751300 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Nynorsk (Norwegian Nynorsk)", "description": "Thunderbird Language Pack for Nynorsk (nn-NO) – Norwegian Nynorsk", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "nn-NO": { - "version": "20260613003154", + "version": "20260721210036", "chrome_resources": { "alerts": "chrome/nn-NO/locale/nn-NO/alerts/", "autoconfig": "chrome/nn-NO/locale/nn-NO/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/pa-IN/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/pa-IN/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/pa-IN/manifest.json 2026-06-16 16:33:27.740612700 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/pa-IN/manifest.json 2026-08-04 06:23:39.899289000 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: ਪੰਜਾਬੀ (Punjabi)", "description": "Thunderbird Language Pack for ਪੰਜਾਬੀ (pa-IN) – Punjabi", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "pa-IN": { - "version": "20260613003402", + "version": "20260721210257", "chrome_resources": { "alerts": "chrome/pa-IN/locale/pa-IN/alerts/", "autoconfig": "chrome/pa-IN/locale/pa-IN/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/pl/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/pl/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/pl/manifest.json 2026-06-16 16:33:27.793287000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/pl/manifest.json 2026-08-04 06:23:39.920666200 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Polski (Polish)", "description": "Thunderbird Language Pack for Polski (pl) – Polish", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "pl": { - "version": "20260613003558", + "version": "20260721210504", "chrome_resources": { "alerts": "chrome/pl/locale/pl/alerts/", "autoconfig": "chrome/pl/locale/pl/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/pt-BR/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/pt-BR/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/pt-BR/manifest.json 2026-06-16 16:33:27.845281000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/pt-BR/manifest.json 2026-08-04 06:23:39.941556500 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Português (BR)", "description": "Thunderbird Language Pack for Português (BR) (pt-BR) – Brazilian Portuguese", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "pt-BR": { - "version": "20260613003753", + "version": "20260721210711", "chrome_resources": { "alerts": "chrome/pt-BR/locale/pt-BR/alerts/", "autoconfig": "chrome/pt-BR/locale/pt-BR/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/pt-PT/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/pt-PT/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/pt-PT/manifest.json 2026-06-16 16:33:27.897111200 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/pt-PT/manifest.json 2026-08-04 06:23:39.962754700 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Português (PT) (Portuguese)", "description": "Thunderbird Language Pack for Português (PT) (pt-PT) – Portuguese", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "pt-PT": { - "version": "20260613003949", + "version": "20260721210918", "chrome_resources": { "alerts": "chrome/pt-PT/locale/pt-PT/alerts/", "autoconfig": "chrome/pt-PT/locale/pt-PT/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/rm/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/rm/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/rm/manifest.json 2026-06-16 16:33:27.949635700 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/rm/manifest.json 2026-08-04 06:23:39.983816600 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Rumantsch (Romansh)", "description": "Thunderbird Language Pack for Rumantsch (rm) – Romansh", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "rm": { - "version": "20260613003145", + "version": "20260721210022", "chrome_resources": { "alerts": "chrome/rm/locale/rm/alerts/", "autoconfig": "chrome/rm/locale/rm/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/ro/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/ro/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/ro/manifest.json 2026-06-16 16:33:28.004882800 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/ro/manifest.json 2026-08-04 06:23:40.005314800 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Română (Romanian)", "description": "Thunderbird Language Pack for Română (ro) – Romanian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "ro": { - "version": "20260613003357", + "version": "20260721210242", "chrome_resources": { "alerts": "chrome/ro/locale/ro/alerts/", "autoconfig": "chrome/ro/locale/ro/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/ru/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/ru/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/ru/manifest.json 2026-06-16 16:33:28.061146500 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/ru/manifest.json 2026-08-04 06:23:40.029224900 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Русский (Russian)", "description": "Thunderbird Language Pack for Русский (ru) – Russian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "ru": { - "version": "20260613003554", + "version": "20260721210448", "chrome_resources": { "alerts": "chrome/ru/locale/ru/alerts/", "autoconfig": "chrome/ru/locale/ru/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/sk/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/sk/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/sk/manifest.json 2026-06-16 16:33:28.119590300 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/sk/manifest.json 2026-08-04 06:23:40.050692800 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Slovenčina (Slovak)", "description": "Thunderbird Language Pack for Slovenčina (sk) – Slovak", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "sk": { - "version": "20260613003751", + "version": "20260721210653", "chrome_resources": { "alerts": "chrome/sk/locale/sk/alerts/", "autoconfig": "chrome/sk/locale/sk/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/sl/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/sl/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/sl/manifest.json 2026-06-16 16:33:28.172582900 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/sl/manifest.json 2026-08-04 06:23:40.071545800 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Slovenščina (Slovenian)", "description": "Thunderbird Language Pack for Slovenščina (sl) – Slovenian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "sl": { - "version": "20260613003949", + "version": "20260721210900", "chrome_resources": { "alerts": "chrome/sl/locale/sl/alerts/", "autoconfig": "chrome/sl/locale/sl/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/sq/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/sq/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/sq/manifest.json 2026-06-16 16:33:28.225159200 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/sq/manifest.json 2026-08-04 06:23:40.093032800 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Shqip (Albanian)", "description": "Thunderbird Language Pack for Shqip (sq) – Albanian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "sq": { - "version": "20260613003149", + "version": "20260721210034", "chrome_resources": { "alerts": "chrome/sq/locale/sq/alerts/", "autoconfig": "chrome/sq/locale/sq/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/sr/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/sr/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/sr/manifest.json 2026-06-16 16:33:28.340686800 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/sr/manifest.json 2026-08-04 06:23:40.114681200 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Српски (Serbian)", "description": "Thunderbird Language Pack for Српски (sr) – Serbian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "sr": { - "version": "20260613003354", + "version": "20260721210312", "chrome_resources": { "alerts": "chrome/sr/locale/sr/alerts/", "autoconfig": "chrome/sr/locale/sr/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/sv-SE/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/sv-SE/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/sv-SE/manifest.json 2026-06-16 16:33:28.393333200 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/sv-SE/manifest.json 2026-08-04 06:23:40.135722400 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Svenska (Swedish)", "description": "Thunderbird Language Pack for Svenska (sv-SE) – Swedish", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "sv-SE": { - "version": "20260613003552", + "version": "20260721210533", "chrome_resources": { "alerts": "chrome/sv-SE/locale/sv-SE/alerts/", "autoconfig": "chrome/sv-SE/locale/sv-SE/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/th/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/th/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/th/manifest.json 2026-06-16 16:33:28.447700700 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/th/manifest.json 2026-08-04 06:23:40.158181000 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: ไทย (Thai)", "description": "Thunderbird Language Pack for ไทย (th) – Thai", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "th": { - "version": "20260613003743", + "version": "20260721210739", "chrome_resources": { "alerts": "chrome/th/locale/th/alerts/", "autoconfig": "chrome/th/locale/th/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/tr/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/tr/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/tr/manifest.json 2026-06-16 16:33:28.504887600 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/tr/manifest.json 2026-08-04 06:23:40.180529800 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Türkçe (Turkish)", "description": "Thunderbird Language Pack for Türkçe (tr) – Turkish", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "tr": { - "version": "20260613003934", + "version": "20260721210949", "chrome_resources": { "alerts": "chrome/tr/locale/tr/alerts/", "autoconfig": "chrome/tr/locale/tr/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/uk/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/uk/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/uk/manifest.json 2026-06-16 16:33:28.560477000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/uk/manifest.json 2026-08-04 06:23:40.202998000 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Українська (Ukrainian)", "description": "Thunderbird Language Pack for Українська (uk) – Ukrainian", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "uk": { - "version": "20260613002749", + "version": "20260721210022", "chrome_resources": { "alerts": "chrome/uk/locale/uk/alerts/", "autoconfig": "chrome/uk/locale/uk/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/uz/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/uz/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/uz/manifest.json 2026-06-16 16:33:28.607936100 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/uz/manifest.json 2026-08-04 06:23:40.221800000 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: O‘zbek (Uzbek)", "description": "Thunderbird Language Pack for O‘zbek (uz) – Uzbek", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "uz": { - "version": "20260613003005", + "version": "20260721210238", "chrome_resources": { "alerts": "chrome/uz/locale/uz/alerts/", "autoconfig": "chrome/uz/locale/uz/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/vi/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/vi/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/vi/manifest.json 2026-06-16 16:33:28.660536300 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/vi/manifest.json 2026-08-04 06:23:40.243224100 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: Tiếng Việt (Vietnamese)", "description": "Thunderbird Language Pack for Tiếng Việt (vi) – Vietnamese", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "vi": { - "version": "20260613003209", + "version": "20260721210448", "chrome_resources": { "alerts": "chrome/vi/locale/vi/alerts/", "autoconfig": "chrome/vi/locale/vi/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/zh-CN/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/zh-CN/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/zh-CN/manifest.json 2026-06-16 16:33:28.712263600 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/zh-CN/manifest.json 2026-08-04 06:23:40.266002200 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: 简体中文 (Simplified Chinese)", "description": "Thunderbird Language Pack for 简体中文 (zh-CN) – Simplified Chinese", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "zh-CN": { - "version": "20260613003418", + "version": "20260721210656", "chrome_resources": { "alerts": "chrome/zh-CN/locale/zh-CN/alerts/", "autoconfig": "chrome/zh-CN/locale/zh-CN/autoconfig/", diff -Nru thunderbird-140.12.0esr/thunderbird-l10n/zh-TW/manifest.json thunderbird-140.13.0esr/thunderbird-l10n/zh-TW/manifest.json --- thunderbird-140.12.0esr/thunderbird-l10n/zh-TW/manifest.json 2026-06-16 16:33:28.763130000 +0000 +++ thunderbird-140.13.0esr/thunderbird-l10n/zh-TW/manifest.json 2026-08-04 06:23:40.286298300 +0000 @@ -10,10 +10,10 @@ }, "name": "Language: 正體中文 (Traditional Chinese)", "description": "Thunderbird Language Pack for 正體中文 (zh-TW) – Traditional Chinese", - "version": "140.12.20260612.205621", + "version": "140.13.20260721.190809", "languages": { "zh-TW": { - "version": "20260613003629", + "version": "20260721210905", "chrome_resources": { "alerts": "chrome/zh-TW/locale/zh-TW/alerts/", "autoconfig": "chrome/zh-TW/locale/zh-TW/autoconfig/", diff -Nru thunderbird-140.12.0esr/toolkit/components/extensions/Extension.sys.mjs thunderbird-140.13.0esr/toolkit/components/extensions/Extension.sys.mjs --- thunderbird-140.12.0esr/toolkit/components/extensions/Extension.sys.mjs 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/extensions/Extension.sys.mjs 2026-07-21 21:33:11.000000000 +0000 @@ -72,6 +72,11 @@ .getProtocolHandler("resource") .QueryInterface(Ci.nsIResProtocolHandler), + // TODO Bug 1598804 - same condition as: + // https://searchfox.org/firefox-main/rev/1f6f9eea1a/toolkit/components/extensions/child/ext-test.js#8 + testApiEnabled: () => + Cu.isInAutomation || Services.env.exists("XPCSHELL_TEST_PROFILE_DIR"), + aomStartup: { service: "@mozilla.org/addons/addon-manager-startup;1", iid: Ci.amIAddonManagerStartup, @@ -3255,6 +3260,16 @@ "background-script-suspend-ignored", ]); +const PROXIED_TEST_EVENTS = new Set([ + "test-task-start", + "test-task-done", + "test-result", + "test-eq", + "test-message", + "test-done", + "test-log", +]); + class BootstrapScope { install() {} uninstall(data) { @@ -3632,7 +3647,13 @@ } receiveMessage({ name, data }) { - if (name === this.MESSAGE_EMIT_EVENT) { + if (name !== this.MESSAGE_EMIT_EVENT) { + return; + } + if ( + data.event === "background-script-reset-idle" || + (lazy.testApiEnabled && PROXIED_TEST_EVENTS.has(data.event)) + ) { this.emitter.emit(data.event, ...data.args); } } diff -Nru thunderbird-140.12.0esr/toolkit/components/extensions/ExtensionParent.sys.mjs thunderbird-140.13.0esr/toolkit/components/extensions/ExtensionParent.sys.mjs --- thunderbird-140.12.0esr/toolkit/components/extensions/ExtensionParent.sys.mjs 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/extensions/ExtensionParent.sys.mjs 2026-07-21 21:33:11.000000000 +0000 @@ -2462,7 +2462,7 @@ }); // Register WPTMessages actor when running under WPT. -if (ExtensionCommon.isInWPT && AppConstants.NIGHTLY_BUILD) { +if (ExtensionCommon.isInWPT) { const { WPTMessagesParent } = ChromeUtils.importESModule( "resource://gre/modules/WPTMessagesParent.sys.mjs" ); diff -Nru thunderbird-140.12.0esr/toolkit/components/extensions/moz.build thunderbird-140.13.0esr/toolkit/components/extensions/moz.build --- thunderbird-140.12.0esr/toolkit/components/extensions/moz.build 2026-06-13 03:48:14.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/extensions/moz.build 2026-07-21 21:33:12.000000000 +0000 @@ -51,15 +51,10 @@ "Schemas.sys.mjs", "WebNavigation.sys.mjs", "WebNavigationFrames.sys.mjs", + "WPTMessagesChild.sys.mjs", + "WPTMessagesParent.sys.mjs", ] -if CONFIG["NIGHTLY_BUILD"]: - # Web Platform Test prototype is limited to Nightly for now. - EXTRA_JS_MODULES += [ - "WPTMessagesChild.sys.mjs", - "WPTMessagesParent.sys.mjs", - ] - EXTRA_COMPONENTS += [ "extensions-toolkit.manifest", ] diff -Nru thunderbird-140.12.0esr/toolkit/components/extensions/test/mochitest/test_ext_test.html thunderbird-140.13.0esr/toolkit/components/extensions/test/mochitest/test_ext_test.html --- thunderbird-140.12.0esr/toolkit/components/extensions/test/mochitest/test_ext_test.html 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/extensions/test/mochitest/test_ext_test.html 2026-07-21 21:33:12.000000000 +0000 @@ -356,6 +356,9 @@ }); add_task(async function test_test_in_wpt_mode() { + // Only covers the browser.test API bindings (live pref), not the WPTMessages + // actor functionality, which is gated once at startup in ExtensionParent. + // That part is covered by test_wpt_test_onMessage.js and test_wpt_actor_pref.js. let extensionData = { background: `(${testScript})()`, useServiceWorker: false, diff -Nru thunderbird-140.12.0esr/toolkit/components/extensions/test/xpcshell/test_wpt_actor_pref.js thunderbird-140.13.0esr/toolkit/components/extensions/test/xpcshell/test_wpt_actor_pref.js --- thunderbird-140.12.0esr/toolkit/components/extensions/test/xpcshell/test_wpt_actor_pref.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/extensions/test/xpcshell/test_wpt_actor_pref.js 2026-07-21 21:33:12.000000000 +0000 @@ -0,0 +1,33 @@ +"use strict"; + +// The WPTMessages actor is gated on extensions.wpt.enabled at startup, so a +// runtime pref flip only affects the browser.test bindings, not the actor. + +add_task(async function test_runtime_pref_flip_does_not_enable_actor() { + Assert.equal( + Services.prefs.getBoolPref("extensions.wpt.enabled", false), + false, + "extensions.wpt.enabled is off by default." + ); + + Assert.equal( + Cu.isESModuleLoaded("resource://gre/modules/ExtensionParent.sys.mjs"), + false, + "ExtensionParent not preloaded; actor registration check runs on import." + ); + ChromeUtils.importESModule("resource://gre/modules/ExtensionParent.sys.mjs"); + + // Runtime flip: affects bindings only, not the already-decided actor. + Services.prefs.setBoolPref("extensions.wpt.enabled", true); + + // Negative counterpart to test_wpt_test_onMessage.js. Keep actor name in sync. + let page = await ExtensionTestUtils.loadContentPage("about:blank"); + Assert.throws( + () => page.browsingContext.currentWindowGlobal.getActor("WPTMessages"), + /No such JSWindowActor/, + "WPTMessages actor stays unregistered after a runtime pref flip." + ); + await page.close(); + + Services.prefs.clearUserPref("extensions.wpt.enabled"); +}); diff -Nru thunderbird-140.12.0esr/toolkit/components/extensions/test/xpcshell/test_wpt_test_onMessage.js thunderbird-140.13.0esr/toolkit/components/extensions/test/xpcshell/test_wpt_test_onMessage.js --- thunderbird-140.12.0esr/toolkit/components/extensions/test/xpcshell/test_wpt_test_onMessage.js 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/extensions/test/xpcshell/test_wpt_test_onMessage.js 2026-07-21 21:33:12.000000000 +0000 @@ -171,6 +171,12 @@ await runTestExt(); let page1 = await loadPage(WPT, 1); + // Positive counterpart to test_wpt_actor_pref.js. Keep actor name in sync. + Assert.ok( + page1.browsingContext.currentWindowGlobal.getActor("WPTMessages"), + "WPTMessages actor is registered after init." + ); + let results1 = await page1.spawn([], requestAndCollect); checkMessages(results1, "Correct messages queued."); diff -Nru thunderbird-140.12.0esr/toolkit/components/extensions/test/xpcshell/xpcshell-common.toml thunderbird-140.13.0esr/toolkit/components/extensions/test/xpcshell/xpcshell-common.toml --- thunderbird-140.12.0esr/toolkit/components/extensions/test/xpcshell/xpcshell-common.toml 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/extensions/test/xpcshell/xpcshell-common.toml 2026-07-21 21:33:12.000000000 +0000 @@ -723,6 +723,7 @@ ["test_webRequest_filtering.js"] +["test_wpt_actor_pref.js"] + ["test_wpt_test_onMessage.js"] prefs = ["extensions.wpt.enabled=true"] -skip-if = ["!nightly_build"] diff -Nru thunderbird-140.12.0esr/toolkit/components/pdfjs/content/PdfStreamConverter.sys.mjs thunderbird-140.13.0esr/toolkit/components/pdfjs/content/PdfStreamConverter.sys.mjs --- thunderbird-140.12.0esr/toolkit/components/pdfjs/content/PdfStreamConverter.sys.mjs 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/pdfjs/content/PdfStreamConverter.sys.mjs 2026-07-21 21:33:12.000000000 +0000 @@ -393,6 +393,11 @@ } download(data) { + if (!this.supportsDownloading()) { + console.warn("PdfStreamConverter: blocked a download request."); + return; + } + const { originalUrl } = data; const blobUrl = data.blobUrl || originalUrl; let { filename } = data; @@ -423,6 +428,22 @@ return this.domWindow.windowGlobalChild.browsingContext.parent === null; } + supportsDownloading() { + const context = this.domWindow.windowGlobalChild.browsingContext; + // A top-level document may always trigger downloads. The sandboxed-downloads + // flag is meant to let an embedder gate downloads from embedded content; at + // top level there is no embedder, and since the PDF response's CSP sandbox + // is already ignored for http(s) URLs, enforcing it only for the blob: edge + // case would be inconsistent and needlessly stop users saving a PDF they + // view. + if (context.parent === null) { + return true; + } + // Copied from nsSandboxFlags.h + const SANDBOXED_DOWNLOADS = 0x10000; + return (context.sandboxFlags & SANDBOXED_DOWNLOADS) === 0; + } + async getBrowserPrefs() { const isMobile = this.isMobile(); const nimbusDataStr = isMobile @@ -440,6 +461,7 @@ !!Services.prefs.getIntPref("browser.display.use_document_fonts") && Services.prefs.getBoolPref("gfx.downloadable_fonts.enabled"), supportsIntegratedFind: this.supportsIntegratedFind(), + supportsDownloading: this.supportsDownloading(), supportsMouseWheelZoomCtrlKey: Services.prefs.getIntPref("mousewheel.with_control.action") === 3, supportsMouseWheelZoomMetaKey: diff -Nru thunderbird-140.12.0esr/toolkit/components/pdfjs/content/web/viewer-geckoview.mjs thunderbird-140.13.0esr/toolkit/components/pdfjs/content/web/viewer-geckoview.mjs --- thunderbird-140.12.0esr/toolkit/components/pdfjs/content/web/viewer-geckoview.mjs 2026-06-13 03:48:14.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/pdfjs/content/web/viewer-geckoview.mjs 2026-07-21 21:33:12.000000000 +0000 @@ -604,6 +604,10 @@ value: true, kind: OptionKind.BROWSER }, + supportsDownloading: { + value: true, + kind: OptionKind.BROWSER + }, supportsIntegratedFind: { value: false, kind: OptionKind.BROWSER @@ -8958,7 +8962,14 @@ externalLinkRel: AppOptions.get("externalLinkRel"), ignoreDestinationZoom: AppOptions.get("ignoreDestinationZoom") }); - const downloadManager = this.downloadManager = new DownloadManager(); + const supportsDownloading = AppOptions.get("supportsDownloading"); + const downloadManager = this.downloadManager = supportsDownloading ? new DownloadManager() : null; + if (appConfig.secondaryToolbar?.downloadButton) { + appConfig.secondaryToolbar.downloadButton.hidden = !supportsDownloading; + } + if (appConfig.toolbar?.download) { + appConfig.toolbar.download.hidden = !supportsDownloading; + } const findController = this.findController = new PDFFindController({ linkService, eventBus, @@ -9388,6 +9399,9 @@ }); }, async download() { + if (!this.downloadManager) { + return; + } let data; try { data = await (this.pdfDocument ? this.pdfDocument.getData() : this.pdfLoadingTask.getData()); @@ -9395,6 +9409,9 @@ this.downloadManager.download(data, this._downloadUrl, this._docFilename); }, async save() { + if (!this.downloadManager) { + return; + } if (this._saveInProgress) { return; } @@ -9421,6 +9438,9 @@ } }, async downloadOrSave() { + if (!this.downloadManager) { + return; + } const { classList } = this.appConfig.appContainer; diff -Nru thunderbird-140.12.0esr/toolkit/components/pdfjs/content/web/viewer.mjs thunderbird-140.13.0esr/toolkit/components/pdfjs/content/web/viewer.mjs --- thunderbird-140.12.0esr/toolkit/components/pdfjs/content/web/viewer.mjs 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/pdfjs/content/web/viewer.mjs 2026-07-21 21:33:12.000000000 +0000 @@ -604,6 +604,10 @@ value: true, kind: OptionKind.BROWSER }, + supportsDownloading: { + value: true, + kind: OptionKind.BROWSER + }, supportsIntegratedFind: { value: false, kind: OptionKind.BROWSER @@ -3580,7 +3584,7 @@ element.title = description; } element.onclick = () => { - this.downloadManager.openOrDownloadData(content, filename); + this.downloadManager?.openOrDownloadData(content, filename); return false; }; } @@ -5748,7 +5752,7 @@ if (attachment) { element.href = linkService.getAnchorUrl(""); element.onclick = () => { - this.downloadManager.openOrDownloadData(attachment.content, attachment.filename); + this.downloadManager?.openOrDownloadData(attachment.content, attachment.filename); return false; }; return; @@ -13566,7 +13570,14 @@ externalLinkRel: AppOptions.get("externalLinkRel"), ignoreDestinationZoom: AppOptions.get("ignoreDestinationZoom") }); - const downloadManager = this.downloadManager = new DownloadManager(); + const supportsDownloading = AppOptions.get("supportsDownloading"); + const downloadManager = this.downloadManager = supportsDownloading ? new DownloadManager() : null; + if (appConfig.secondaryToolbar?.downloadButton) { + appConfig.secondaryToolbar.downloadButton.hidden = !supportsDownloading; + } + if (appConfig.toolbar?.download) { + appConfig.toolbar.download.hidden = !supportsDownloading; + } const findController = this.findController = new PDFFindController({ linkService, eventBus, @@ -13995,6 +14006,9 @@ }); }, async download() { + if (!this.downloadManager) { + return; + } let data; try { data = await (this.pdfDocument ? this.pdfDocument.getData() : this.pdfLoadingTask.getData()); @@ -14002,6 +14016,9 @@ this.downloadManager.download(data, this._downloadUrl, this._docFilename); }, async save() { + if (!this.downloadManager) { + return; + } if (this._saveInProgress) { return; } @@ -14028,6 +14045,9 @@ } }, async downloadOrSave() { + if (!this.downloadManager) { + return; + } const { classList } = this.appConfig.appContainer; diff -Nru thunderbird-140.12.0esr/toolkit/components/pdfjs/test/browser.toml thunderbird-140.13.0esr/toolkit/components/pdfjs/test/browser.toml --- thunderbird-140.12.0esr/toolkit/components/pdfjs/test/browser.toml 2026-06-13 03:48:14.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/pdfjs/test/browser.toml 2026-07-21 21:33:12.000000000 +0000 @@ -86,6 +86,13 @@ ["browser_pdfjs_response_link.js"] support-files = ["pdf_response_link.sjs"] +["browser_pdfjs_sandboxed_iframe.js"] +support-files = [ + "file_pdfjs_csp_sandbox_opener.html", + "file_pdfjs_csp_sandbox_opener.html^headers^", + "file_pdfjs_csp.sjs", +] + ["browser_pdfjs_saveas.js"] support-files = [ "!/toolkit/content/tests/browser/common/mockTransfer.js", diff -Nru thunderbird-140.12.0esr/toolkit/components/pdfjs/test/browser_pdfjs_sandboxed_iframe.js thunderbird-140.13.0esr/toolkit/components/pdfjs/test/browser_pdfjs_sandboxed_iframe.js --- thunderbird-140.12.0esr/toolkit/components/pdfjs/test/browser_pdfjs_sandboxed_iframe.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/pdfjs/test/browser_pdfjs_sandboxed_iframe.js 2026-07-21 21:33:12.000000000 +0000 @@ -0,0 +1,381 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const { PdfjsParent } = ChromeUtils.importESModule( + "resource://pdf.js/PdfjsParent.sys.mjs" +); +const { sinon } = ChromeUtils.importESModule( + "resource://testing-common/Sinon.sys.mjs" +); + +const RELATIVE_DIR = "toolkit/components/pdfjs/test/"; +const TESTROOT = "https://example.com/browser/" + RELATIVE_DIR; +const PDF_URL = TESTROOT + "file_pdfjs_test.pdf"; +const CSP_OPENER_URL = TESTROOT + "file_pdfjs_csp_sandbox_opener.html"; +const CSP_PDF_URL = TESTROOT + "file_pdfjs_csp.sjs"; + +// Copied from nsSandboxFlags.h +const SANDBOXED_DOWNLOADS = 0x10000; + +// Substring of the warning `ChromeActions.download` logs when it drops a +// request from a sandboxed context. +const DOWNLOAD_BLOCKED_MARKER = + "PdfStreamConverter: blocked a download request."; + +const MockFilePicker = SpecialPowers.MockFilePicker; +let tempDir; + +function makeIframeParentUrl(sandbox) { + return ( + "data:text/html," + + encodeURIComponent( + `` + ) + ); +} + +function getIframeBrowsingContext(browser) { + return browser.browsingContext.children[0]; +} + +// Wait for the pdf.js viewer in `target` to initialize and load its document. +async function waitForPdfJSLoaded(target) { + await SpecialPowers.spawn(target, [], async () => { + const { ContentTaskUtils } = ChromeUtils.importESModule( + "resource://testing-common/ContentTaskUtils.sys.mjs" + ); + const getApp = () => content.wrappedJSObject.PDFViewerApplication; + await ContentTaskUtils.waitForCondition( + () => getApp()?.initialized, + "PDFViewerApplication must initialize" + ); + await getApp().initializedPromise; + await ContentTaskUtils.waitForCondition( + () => getApp()?.pdfDocument, + "PDFViewerApplication must load a PDF document" + ); + }); + await TestUtils.waitForTick(); +} + +/** + * Dispatch a `download` request straight into `ChromeActions.download`, like + * the viewer's `FirefoxCom.request("download", ...)`, then wait for the warning + * the guard logs when it drops it. + * + * Calling `PDFViewerApplication.downloadOrSave()` instead would test the + * viewer's own gating (it hides download UI when sandboxed) and would still + * pass even if the chrome-side guard were removed. + */ +async function forgeDownloadAndExpectBlock(bc) { + await SpecialPowers.spawn( + bc, + [DOWNLOAD_BLOCKED_MARKER, PDF_URL], + async (marker, originalUrl) => { + const { TestUtils } = ChromeUtils.importESModule( + "resource://testing-common/TestUtils.sys.mjs" + ); + const blocked = TestUtils.consoleMessageObserved(msg => { + const arg = msg.wrappedJSObject.arguments?.[0]; + return typeof arg === "string" && arg.includes(marker); + }); + + const node = content.document.createTextNode(""); + content.document.documentElement.append(node); + node.dispatchEvent( + new content.CustomEvent("pdf.js.message", { + bubbles: true, + cancelable: false, + detail: Cu.cloneInto( + { + action: "download", + data: { blobUrl: "blob:fake", originalUrl, filename: "fake.pdf" }, + responseExpected: false, + }, + content + ), + }) + ); + + info("Waiting for the download request to be blocked..."); + await blocked; + info("The download request was blocked by ChromeActions.download"); + } + ); +} + +async function awaitNextDownload() { + const downloadList = await Downloads.getList(Downloads.PUBLIC); + const filePickerShown = new Promise(resolve => { + MockFilePicker.showCallback = fp => { + const destFile = tempDir.clone(); + destFile.append(fp.defaultString); + if (destFile.exists()) { + destFile.remove(false); + } + MockFilePicker.setFiles([destFile]); + MockFilePicker.filterIndex = 0; + resolve(); + }; + }); + let view; + const downloadFinished = new Promise(resolve => { + view = { + onDownloadChanged(download) { + download.launchWhenSucceeded = false; + if (download.succeeded || download.error) { + resolve(download); + } + }, + }; + }); + downloadList.addView(view); + + // Release the picker callback and the download view even if the download + // never starts (e.g. the trigger throws), so neither leaks into later tasks. + const cleanup = () => { + downloadList.removeView(view); + MockFilePicker.showCallback = null; + }; + return { filePickerShown, downloadFinished, cleanup }; +} + +add_setup(async function () { + tempDir = createTemporarySaveDirectory(); + MockFilePicker.init(window.browsingContext); + MockFilePicker.returnValue = MockFilePicker.returnOK; + MockFilePicker.displayDirectory = tempDir; + + await SpecialPowers.pushPrefEnv({ + set: [["browser.download.always_ask_before_handling_new_types", false]], + }); + + registerCleanupFunction(async function () { + MockFilePicker.cleanup(); + await cleanupDownloads(); + tempDir.remove(true); + }); +}); + +/** + * Triggering a download from a PDF loaded in a sandboxed iframe (without + * `allow-downloads`) must be dropped by `ChromeActions.download` so the + * `PDFJS:Parent:saveURL` IPC is never sent to the parent process. + */ +add_task(async function test_sandboxed_iframe_blocks_download() { + await BrowserTestUtils.withNewTab( + { gBrowser, url: makeIframeParentUrl("allow-scripts") }, + async function (browser) { + const iframeBC = getIframeBrowsingContext(browser); + await waitForPdfJSLoaded(iframeBC); + + // Spy on `_saveURL` to prove the chrome-side `ChromeActions.download` + // guard rejected the request before it was forwarded to the parent + // process. + const spy = sinon.spy(PdfjsParent.prototype, "_saveURL"); + try { + info("Forging a download request from inside the sandboxed iframe..."); + await forgeDownloadAndExpectBlock(iframeBC); + await TestUtils.waitForTick(); + + is( + spy.callCount, + 0, + "ChromeActions.download must not forward saveURL when the iframe is sandboxed" + ); + } finally { + spy.restore(); + } + + await waitForPdfJSClose(iframeBC); + } + ); +}); + +/** + * When the PDF is sandboxed without `allow-downloads`, the viewer must also hide + * its download UI (both the primary and secondary toolbar buttons), so the user + * is never offered an action the chrome-side guard would only reject. + */ +add_task(async function test_sandboxed_iframe_hides_download_button() { + await BrowserTestUtils.withNewTab( + { gBrowser, url: makeIframeParentUrl("allow-scripts") }, + async function (browser) { + const iframeBC = getIframeBrowsingContext(browser); + await waitForPdfJSLoaded(iframeBC); + + await SpecialPowers.spawn(iframeBC, [], async () => { + for (const id of ["downloadButton", "secondaryDownload"]) { + const button = content.document.getElementById(id); + Assert.ok(button, `#${id} must exist in the viewer`); + Assert.ok( + button.hidden, + `#${id} must be hidden when the iframe is sandboxed` + ); + } + }); + + await waitForPdfJSClose(iframeBC); + } + ); +}); + +/** + * When the iframe sandbox includes `allow-downloads`, `ChromeActions.download` + * must let the request through and a download must succeed end-to-end. + */ +add_task(async function test_sandbox_allow_downloads_permits_download() { + await BrowserTestUtils.withNewTab( + { gBrowser, url: makeIframeParentUrl("allow-scripts allow-downloads") }, + async function (browser) { + const iframeBC = getIframeBrowsingContext(browser); + await waitForPdfJSLoaded(iframeBC); + + const { filePickerShown, downloadFinished, cleanup } = + await awaitNextDownload(); + + const spy = sinon.spy(PdfjsParent.prototype, "_saveURL"); + try { + info("Triggering a download from inside the allow-downloads iframe..."); + await SpecialPowers.spawn(iframeBC, [], async () => { + await content.wrappedJSObject.PDFViewerApplication.downloadOrSave(); + }); + + await filePickerShown; + const download = await downloadFinished; + ok( + download.succeeded, + "The download succeeded when allow-downloads is set" + ); + is( + spy.callCount, + 1, + "ChromeActions.download must forward saveURL exactly once" + ); + } finally { + spy.restore(); + cleanup(); + } + + await waitForPdfJSClose(iframeBC); + } + ); +}); + +/** + * A top-level navigation to a `blob:` PDF inherits the opener's CSP policy + * (per https://w3c.github.io/webappsec-csp/#security-inherit-csp), so when the + * opener is served with `Content-Security-Policy: sandbox` (no + * `allow-downloads`), the inherited SANDBOXED_DOWNLOADS flag does reach the + * pdf.js viewer's browsing context. The sandboxed-downloads flag only gates + * embedded content, so a top-level PDF must still be downloadable even with the + * flag set -- `ChromeActions.download` must forward the request. + */ +add_task( + async function test_top_level_blob_with_csp_sandbox_permits_download() { + await BrowserTestUtils.withNewTab( + { gBrowser, url: CSP_OPENER_URL }, + async function (browser) { + const newTabPromise = BrowserTestUtils.waitForNewTab( + gBrowser, + url => url.startsWith("blob:"), + false + ); + await SpecialPowers.spawn(browser, [], async () => { + content.document.getElementById("go").click(); + }); + const newTab = await newTabPromise; + const newBrowser = newTab.linkedBrowser; + await waitForPdfJSLoaded(newBrowser); + + Assert.strictEqual( + newBrowser.browsingContext.sandboxFlags & SANDBOXED_DOWNLOADS, + SANDBOXED_DOWNLOADS, + "the blob popup BC inherited SANDBOXED_DOWNLOADS from the opener CSP" + ); + + const { filePickerShown, downloadFinished, cleanup } = + await awaitNextDownload(); + + const spy = sinon.spy(PdfjsParent.prototype, "_saveURL"); + try { + info( + "Triggering a download in a top-level blob PDF whose policy was " + + "inherited from a CSP-sandboxed opener..." + ); + await SpecialPowers.spawn(newBrowser, [], async () => { + await content.wrappedJSObject.PDFViewerApplication.downloadOrSave(); + }); + + await filePickerShown; + const download = await downloadFinished; + ok( + download.succeeded, + "The download succeeded at top-level despite the inherited sandbox flag" + ); + is( + spy.callCount, + 1, + "ChromeActions.download must forward saveURL at top-level even when " + + "SANDBOXED_DOWNLOADS is inherited into a blob: navigation" + ); + } finally { + spy.restore(); + cleanup(); + } + + await waitForPdfJSClose(newBrowser, true); + } + ); + } +); + +/** + * The `sandbox` directive carried by a PDF response's HTTP + * `Content-Security-Policy` header is ignored, so it never sets + * SANDBOXED_DOWNLOADS on the viewer's browsing context -- unlike the inherited + * blob: case in the previous test. Either way a top-level PDF is downloadable, + * so the download must succeed. + */ +add_task(async function test_top_level_pdf_supports_download() { + await BrowserTestUtils.withNewTab( + { gBrowser, url: "about:blank" }, + async function (browser) { + await waitForPdfJS(browser, CSP_PDF_URL); + + Assert.strictEqual( + browser.browsingContext.sandboxFlags & SANDBOXED_DOWNLOADS, + 0, + "the PDF response's CSP sandbox directive must not set SANDBOXED_DOWNLOADS" + ); + + const { filePickerShown, downloadFinished, cleanup } = + await awaitNextDownload(); + + const spy = sinon.spy(PdfjsParent.prototype, "_saveURL"); + try { + info("Clicking the download button at top-level..."); + await SpecialPowers.spawn(browser, [], () => { + content.document.getElementById("downloadButton").click(); + }); + + await filePickerShown; + const download = await downloadFinished; + ok(download.succeeded, "The top-level download succeeded"); + is( + spy.callCount, + 1, + "ChromeActions.download must forward saveURL at top-level" + ); + } finally { + spy.restore(); + cleanup(); + } + + await waitForPdfJSClose(browser); + } + ); +}); diff -Nru thunderbird-140.12.0esr/toolkit/components/pdfjs/test/file_pdfjs_csp.sjs thunderbird-140.13.0esr/toolkit/components/pdfjs/test/file_pdfjs_csp.sjs --- thunderbird-140.12.0esr/toolkit/components/pdfjs/test/file_pdfjs_csp.sjs 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/pdfjs/test/file_pdfjs_csp.sjs 2026-07-21 21:33:11.000000000 +0000 @@ -0,0 +1,15 @@ +// Serves a minimal PDF together with a `sandbox` CSP directive, which is +// ignored for the PDF response and so never sets SANDBOXED_DOWNLOADS. +function handleRequest(request, response) { + response.setHeader("Cache-Control", "no-cache", false); + response.setHeader( + "Content-Security-Policy", + "sandbox allow-scripts allow-same-origin", + false + ); + response.setHeader("Content-Type", "application/pdf", false); + response.setStatusLine(request.httpVersion, "200", "OK"); + response.write( + "%PDF-1.\ntrailer<>]>>>>>>" + ); +} diff -Nru thunderbird-140.12.0esr/toolkit/components/pdfjs/test/file_pdfjs_csp_sandbox_opener.html thunderbird-140.13.0esr/toolkit/components/pdfjs/test/file_pdfjs_csp_sandbox_opener.html --- thunderbird-140.12.0esr/toolkit/components/pdfjs/test/file_pdfjs_csp_sandbox_opener.html 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/pdfjs/test/file_pdfjs_csp_sandbox_opener.html 2026-07-21 21:33:12.000000000 +0000 @@ -0,0 +1,15 @@ + + +CSP sandbox blob PDF opener + + + + + diff -Nru thunderbird-140.12.0esr/toolkit/components/pdfjs/test/file_pdfjs_csp_sandbox_opener.html^headers^ thunderbird-140.13.0esr/toolkit/components/pdfjs/test/file_pdfjs_csp_sandbox_opener.html^headers^ --- thunderbird-140.12.0esr/toolkit/components/pdfjs/test/file_pdfjs_csp_sandbox_opener.html^headers^ 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/pdfjs/test/file_pdfjs_csp_sandbox_opener.html^headers^ 2026-07-21 21:33:12.000000000 +0000 @@ -0,0 +1 @@ +Content-Security-Policy: sandbox allow-scripts allow-popups allow-same-origin diff -Nru thunderbird-140.12.0esr/toolkit/components/reputationservice/ApplicationReputation.cpp thunderbird-140.13.0esr/toolkit/components/reputationservice/ApplicationReputation.cpp --- thunderbird-140.12.0esr/toolkit/components/reputationservice/ApplicationReputation.cpp 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/reputationservice/ApplicationReputation.cpp 2026-07-21 21:33:12.000000000 +0000 @@ -507,6 +507,7 @@ ".workflow", // Mac Automator //".wrc", // FreeArc archive //".ws", exec // Windows script + ".wsb", // Windows Sandbox configuration //".wsc", exec // Windows script //".wsf", exec // Windows script //".wsh", exec // Windows script diff -Nru thunderbird-140.12.0esr/toolkit/components/reputationservice/ApplicationReputation.h thunderbird-140.13.0esr/toolkit/components/reputationservice/ApplicationReputation.h --- thunderbird-140.12.0esr/toolkit/components/reputationservice/ApplicationReputation.h 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/reputationservice/ApplicationReputation.h 2026-07-21 21:33:12.000000000 +0000 @@ -27,9 +27,9 @@ public: static const char* const kNonBinaryExecutables[6]; #ifdef XP_WIN - static const char* const kBinaryFileExtensions[182]; + static const char* const kBinaryFileExtensions[183]; #else - static const char* const kBinaryFileExtensions[181]; + static const char* const kBinaryFileExtensions[182]; #endif static already_AddRefed GetSingleton(); diff -Nru thunderbird-140.12.0esr/toolkit/components/reputationservice/test/gtest/TestExecutableLists.cpp thunderbird-140.13.0esr/toolkit/components/reputationservice/test/gtest/TestExecutableLists.cpp --- thunderbird-140.12.0esr/toolkit/components/reputationservice/test/gtest/TestExecutableLists.cpp 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/reputationservice/test/gtest/TestExecutableLists.cpp 2026-07-21 21:33:12.000000000 +0000 @@ -276,6 +276,7 @@ ".wim", // Windows Imaging ".workflow", // Mac Automator ".ws", // Windows script + ".wsb", // Windows Sandbox configuration ".wsc", // Windows script ".wsf", // Windows script ".wsh", // Windows script diff -Nru thunderbird-140.12.0esr/toolkit/components/search/tests/xpcshell/searchconfigs/test_ecosia.js thunderbird-140.13.0esr/toolkit/components/search/tests/xpcshell/searchconfigs/test_ecosia.js --- thunderbird-140.12.0esr/toolkit/components/search/tests/xpcshell/searchconfigs/test_ecosia.js 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/search/tests/xpcshell/searchconfigs/test_ecosia.js 2026-07-21 21:33:11.000000000 +0000 @@ -5,7 +5,7 @@ const test = new SearchConfigTest({ identifier: "ecosia", - aliases: [], + aliases: ["@ecosia"], default: { // Not default anywhere. }, diff -Nru thunderbird-140.12.0esr/toolkit/components/telemetry/core/TelemetryEvent.cpp thunderbird-140.13.0esr/toolkit/components/telemetry/core/TelemetryEvent.cpp --- thunderbird-140.12.0esr/toolkit/components/telemetry/core/TelemetryEvent.cpp 2026-06-13 03:48:16.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/telemetry/core/TelemetryEvent.cpp 2026-07-21 21:33:12.000000000 +0000 @@ -568,7 +568,7 @@ // Add timestamp. JS::Rooted val(cx); - if (!items.append(JS::NumberValue(floor(record.Timestamp())))) { + if (!items.append(JS_NumberValue(floor(record.Timestamp())))) { return NS_ERROR_FAILURE; } diff -Nru thunderbird-140.12.0esr/toolkit/components/telemetry/other/TelemetryIOInterposeObserver.cpp thunderbird-140.13.0esr/toolkit/components/telemetry/other/TelemetryIOInterposeObserver.cpp --- thunderbird-140.12.0esr/toolkit/components/telemetry/other/TelemetryIOInterposeObserver.cpp 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/telemetry/other/TelemetryIOInterposeObserver.cpp 2026-07-21 21:33:12.000000000 +0000 @@ -11,6 +11,7 @@ #include "js/PropertyDescriptor.h" // JSPROP_ENUMERATE, JSPROP_READONLY #include "js/ValueArray.h" #include "nsIFile.h" +#include "jsapi.h" namespace mozilla::Telemetry { @@ -123,7 +124,7 @@ // Array we want to report JS::RootedValueArray<6> stats(cx); - stats[0].setNumber(fileStats.totalTime); + stats[0].set(JS_NumberValue(fileStats.totalTime)); stats[1].setNumber(fileStats.creates); stats[2].setNumber(fileStats.reads); stats[3].setNumber(fileStats.writes); diff -Nru thunderbird-140.12.0esr/toolkit/components/telemetry/other/UntrustedModulesDataSerializer.cpp thunderbird-140.13.0esr/toolkit/components/telemetry/other/UntrustedModulesDataSerializer.cpp --- thunderbird-140.12.0esr/toolkit/components/telemetry/other/UntrustedModulesDataSerializer.cpp 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/telemetry/other/UntrustedModulesDataSerializer.cpp 2026-07-21 21:33:12.000000000 +0000 @@ -247,7 +247,7 @@ if (event.mLoadDurationMS) { JS::Rooted jsLoadDurationMS(aCx); - jsLoadDurationMS.setNumber(event.mLoadDurationMS.value()); + jsLoadDurationMS.set(JS_NumberValue(event.mLoadDurationMS.value())); if (!JS_DefineProperty(aCx, obj, "loadDurationMS", jsLoadDurationMS, JSPROP_ENUMERATE)) { return false; @@ -350,14 +350,14 @@ } JS::Rooted jsElapsed(mCx); - jsElapsed.setNumber(aData.mElapsed.ToSecondsSigDigits()); + jsElapsed.set(JS_NumberValue(aData.mElapsed.ToSecondsSigDigits())); if (!JS_DefineProperty(mCx, aObj, "elapsed", jsElapsed, JSPROP_ENUMERATE)) { return NS_ERROR_FAILURE; } if (aData.mXULLoadDurationMS.isSome()) { JS::Rooted jsXulLoadDurationMS(mCx); - jsXulLoadDurationMS.setNumber(aData.mXULLoadDurationMS.value()); + jsXulLoadDurationMS.set(JS_NumberValue(aData.mXULLoadDurationMS.value())); if (!JS_DefineProperty(mCx, aObj, "xulLoadDurationMS", jsXulLoadDurationMS, JSPROP_ENUMERATE)) { return NS_ERROR_FAILURE; diff -Nru thunderbird-140.12.0esr/toolkit/components/viewsource/test/browser/browser.toml thunderbird-140.13.0esr/toolkit/components/viewsource/test/browser/browser.toml --- thunderbird-140.12.0esr/toolkit/components/viewsource/test/browser/browser.toml 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/viewsource/test/browser/browser.toml 2026-07-21 21:33:12.000000000 +0000 @@ -2,6 +2,7 @@ support-files = [ "head.js", "file_bug464222.html", + "file_bug2048851.html", ] ["browser_bug464222.js"] @@ -9,6 +10,8 @@ ["browser_bug713810.js"] +["browser_bug2048851.js"] + ["browser_contextmenu.js"] skip-if = ["os == 'mac' && !debug"] # Bug 1713913 - new Fission platform triage diff -Nru thunderbird-140.12.0esr/toolkit/components/viewsource/test/browser/browser_bug2048851.js thunderbird-140.13.0esr/toolkit/components/viewsource/test/browser/browser_bug2048851.js --- thunderbird-140.12.0esr/toolkit/components/viewsource/test/browser/browser_bug2048851.js 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/viewsource/test/browser/browser_bug2048851.js 2026-07-21 21:33:12.000000000 +0000 @@ -0,0 +1,40 @@ +"use strict"; + +/** + * Crashtest for bug 2048851. + * A cross-origin navigation has the previous page as principal to inherit. + * When viewing as page source, the load should not reference that principal. + */ +add_task(async function test_view_source_after_cross_origin_navigation() { + const TEST_PAGE = + "https://example.com/browser/toolkit/components/viewsource/test/browser/file_bug2048851.html"; + + await BrowserTestUtils.withNewTab( + { + gBrowser, + url: TEST_PAGE, + }, + async function (browser) { + let loaded = BrowserTestUtils.browserLoaded( + browser, + false, + "https://example.org/" + ); + await BrowserTestUtils.synthesizeMouseAtCenter("#link", {}, browser); + await loaded; + + let sourceTab = await openViewSourceForBrowser(browser); + let sourceBrowser = sourceTab.linkedBrowser; + + await SpecialPowers.spawn(sourceBrowser, [], async function () { + Assert.equal( + content.document.body.id, + "viewsource", + "View source mode enabled" + ); + }); + + BrowserTestUtils.removeTab(sourceTab); + } + ); +}); diff -Nru thunderbird-140.12.0esr/toolkit/components/viewsource/test/browser/file_bug2048851.html thunderbird-140.13.0esr/toolkit/components/viewsource/test/browser/file_bug2048851.html --- thunderbird-140.12.0esr/toolkit/components/viewsource/test/browser/file_bug2048851.html 1970-01-01 00:00:00.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/components/viewsource/test/browser/file_bug2048851.html 2026-07-21 21:33:12.000000000 +0000 @@ -0,0 +1 @@ +click diff -Nru thunderbird-140.12.0esr/toolkit/library/rust/gkrust-features.mozbuild thunderbird-140.13.0esr/toolkit/library/rust/gkrust-features.mozbuild --- thunderbird-140.12.0esr/toolkit/library/rust/gkrust-features.mozbuild 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/library/rust/gkrust-features.mozbuild 2026-07-21 21:33:12.000000000 +0000 @@ -83,5 +83,8 @@ if CONFIG["USE_LIBZ_RS"]: gkrust_features += ["libz-rs-sys"] +if CONFIG["MOZ_BUILD_APP"] == "browser" and CONFIG["OS_ARCH"] == "WINNT": + gkrust_features += ["shell_windows"] + # This must remain last. gkrust_features = ["gkrust-shared/%s" % f for f in gkrust_features] diff -Nru thunderbird-140.12.0esr/toolkit/library/rust/shared/Cargo.toml thunderbird-140.13.0esr/toolkit/library/rust/shared/Cargo.toml --- thunderbird-140.12.0esr/toolkit/library/rust/shared/Cargo.toml 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/library/rust/shared/Cargo.toml 2026-07-21 21:33:12.000000000 +0000 @@ -24,10 +24,10 @@ mozurl = { path = "../../../../netwerk/base/mozurl" } webrender_bindings = { path = "../../../../gfx/webrender_bindings" } cubeb-coreaudio = { git = "https://github.com/mozilla/cubeb-coreaudio-rs", rev = "bebaa23317332c95734df76e25193c24a83a6840", optional = true } -cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev="8678dcab1c287de79c4c184ccc2e065bc62b70e2", optional = true, features=["pulse-dlopen"] } +cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev="b46defa5370f16c57ce8b163d8fbb0b68a8e81e1", optional = true, features=["pulse-dlopen"] } cubeb-sys = { version = "0.13", optional = true, features=["gecko-in-tree"] } -audioipc2-client = { git = "https://github.com/mozilla/audioipc", rev = "e6f44a2bd1e57d11dfc737632a9e849077632330", optional = true } -audioipc2-server = { git = "https://github.com/mozilla/audioipc", rev = "e6f44a2bd1e57d11dfc737632a9e849077632330", optional = true } +audioipc2-client = { git = "https://github.com/mozilla/audioipc", rev = "3f0d4aef7a2c06b0146384592b312a7f47ab7cea", optional = true } +audioipc2-server = { git = "https://github.com/mozilla/audioipc", rev = "3f0d4aef7a2c06b0146384592b312a7f47ab7cea", optional = true } encoding_glue = { path = "../../../../intl/encoding_glue" } authrs_bridge = { path = "../../../../dom/webauthn/authrs_bridge" } gkrust_utils = { path = "../../../../xpcom/rust/gkrust_utils" } @@ -123,6 +123,7 @@ [target.'cfg(target_os = "windows")'.dependencies] detect_win32k_conflicts = { path = "../../../xre/detect_win32k_conflicts" } +shell_windows = { path = "../../../../browser/components/shell/rust/shell_windows", optional = true } [features] default = [] @@ -148,6 +149,7 @@ uniffi_fixtures = ["gkrust-uniffi-fixtures"] webmidi_midir_impl = ["midir_impl"] icu4x = ["jsrust_shared/icu4x"] +shell_windows = ["dep:shell_windows"] [lib] path = "lib.rs" diff -Nru thunderbird-140.12.0esr/toolkit/library/rust/shared/lib.rs thunderbird-140.13.0esr/toolkit/library/rust/shared/lib.rs --- thunderbird-140.12.0esr/toolkit/library/rust/shared/lib.rs 2026-06-13 03:48:16.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/library/rust/shared/lib.rs 2026-07-21 21:33:12.000000000 +0000 @@ -121,6 +121,8 @@ #[cfg(target_os = "windows")] extern crate detect_win32k_conflicts; +#[cfg(all(target_os = "windows", feature = "shell_windows"))] +extern crate shell_windows; extern crate origin_trials_ffi; diff -Nru thunderbird-140.12.0esr/toolkit/mozapps/extensions/AddonManagerStartup.cpp thunderbird-140.13.0esr/toolkit/mozapps/extensions/AddonManagerStartup.cpp --- thunderbird-140.12.0esr/toolkit/mozapps/extensions/AddonManagerStartup.cpp 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/toolkit/mozapps/extensions/AddonManagerStartup.cpp 2026-07-21 21:33:12.000000000 +0000 @@ -470,7 +470,7 @@ } double lastModified = time; - JS::Rooted value(mCx, JS::NumberValue(lastModified)); + JS::Rooted value(mCx, JS_NumberValue(lastModified)); if (!JS_SetProperty(mCx, obj, "currentModifiedTime", value)) { JS_ClearPendingException(mCx); } diff -Nru thunderbird-140.12.0esr/tools/lint/clippy.yml thunderbird-140.13.0esr/tools/lint/clippy.yml --- thunderbird-140.12.0esr/tools/lint/clippy.yml 2026-06-13 03:48:16.000000000 +0000 +++ thunderbird-140.13.0esr/tools/lint/clippy.yml 2026-07-21 21:33:12.000000000 +0000 @@ -2,6 +2,7 @@ clippy: description: Lint rust include: + - browser/components/shell/rust/shell_windows/ - build/workspace-hack/ - dom/midi/midir_impl/ - dom/media/gtest/ diff -Nru thunderbird-140.12.0esr/uriloader/exthandler/ExternalHelperAppParent.cpp thunderbird-140.13.0esr/uriloader/exthandler/ExternalHelperAppParent.cpp --- thunderbird-140.12.0esr/uriloader/exthandler/ExternalHelperAppParent.cpp 2026-06-13 03:48:16.000000000 +0000 +++ thunderbird-140.13.0esr/uriloader/exthandler/ExternalHelperAppParent.cpp 2026-07-21 21:33:13.000000000 +0000 @@ -35,7 +35,7 @@ nsIStreamListener, nsIExternalHelperAppParent) ExternalHelperAppParent::ExternalHelperAppParent( - nsIURI* uri, const int64_t& aContentLength, const bool& aWasFileChannel, + nsIURI* uri, const int64_t& aContentLength, const nsACString& aContentDispositionHeader, const uint32_t& aContentDispositionHint, const nsAString& aContentDispositionFilename) @@ -46,7 +46,9 @@ mStatus(NS_OK), mCanceled(false), mContentLength(aContentLength), - mWasFileChannel(aWasFileChannel) { + // Never trust a child-supplied flag for the native helper-launch + // decision: derive it from the actual URI the parent will operate on. + mWasFileChannel(uri && uri->SchemeIs("file")) { mContentDispositionHeader = aContentDispositionHeader; if (!mContentDispositionHeader.IsEmpty()) { NS_GetFilenameFromDisposition(mContentDispositionFilename, diff -Nru thunderbird-140.12.0esr/uriloader/exthandler/ExternalHelperAppParent.h thunderbird-140.13.0esr/uriloader/exthandler/ExternalHelperAppParent.h --- thunderbird-140.12.0esr/uriloader/exthandler/ExternalHelperAppParent.h 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/uriloader/exthandler/ExternalHelperAppParent.h 2026-07-21 21:33:13.000000000 +0000 @@ -74,7 +74,6 @@ bool WasFileChannel() override { return mWasFileChannel; } ExternalHelperAppParent(nsIURI* uri, const int64_t& contentLength, - const bool& wasFileChannel, const nsACString& aContentDispositionHeader, const uint32_t& aContentDispositionHint, const nsAString& aContentDispositionFilename); diff -Nru thunderbird-140.12.0esr/uriloader/exthandler/nsExternalHelperAppService.cpp thunderbird-140.13.0esr/uriloader/exthandler/nsExternalHelperAppService.cpp --- thunderbird-140.12.0esr/uriloader/exthandler/nsExternalHelperAppService.cpp 2026-06-13 03:48:16.000000000 +0000 +++ thunderbird-140.13.0esr/uriloader/exthandler/nsExternalHelperAppService.cpp 2026-07-21 21:33:12.000000000 +0000 @@ -699,7 +699,6 @@ nsCString disp; nsCOMPtr uri; int64_t contentLength = -1; - bool wasFileChannel = false; uint32_t contentDisposition = -1; nsAutoString fileName; nsCOMPtr loadInfo; @@ -711,9 +710,6 @@ aChannel->GetContentDispositionHeader(disp); loadInfo = aChannel->LoadInfo(); - nsCOMPtr fileChan(do_QueryInterface(aChannel)); - wasFileChannel = fileChan != nullptr; - nsCOMPtr referrer; NS_GetReferrerFromChannel(aChannel, getter_AddRefs(referrer)); @@ -727,8 +723,8 @@ RefPtr childListener = new ExternalHelperAppChild(); MOZ_ALWAYS_TRUE(child->SendPExternalHelperAppConstructor( childListener, uri, loadInfoArgs, nsCString(aMimeContentType), disp, - contentDisposition, fileName, aForceSave, contentLength, wasFileChannel, - referrer, aContentContext)); + contentDisposition, fileName, aForceSave, contentLength, referrer, + aContentContext)); NS_ADDREF(*aStreamListener = childListener); diff -Nru thunderbird-140.12.0esr/widget/ClipboardWriteRequestParent.cpp thunderbird-140.13.0esr/widget/ClipboardWriteRequestParent.cpp --- thunderbird-140.12.0esr/widget/ClipboardWriteRequestParent.cpp 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/widget/ClipboardWriteRequestParent.cpp 2026-07-21 21:33:12.000000000 +0000 @@ -64,8 +64,8 @@ {dom::ValidatePrincipalOptions::AllowNullPtr, dom::ValidatePrincipalOptions::AllowExpanded, dom::ValidatePrincipalOptions::AllowSystem})) { - ContentParent::LogAndAssertFailedPrincipalValidationInfo( - aTransferable.dataPrincipal(), __func__); + return ContentParent::PrincipalValidationIpcFail( + aTransferable.dataPrincipal(), this, __func__); } if (!mAsyncSetClipboardData) { diff -Nru thunderbird-140.12.0esr/widget/GfxInfoBase.cpp thunderbird-140.13.0esr/widget/GfxInfoBase.cpp --- thunderbird-140.12.0esr/widget/GfxInfoBase.cpp 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/widget/GfxInfoBase.cpp 2026-07-21 21:33:12.000000000 +0000 @@ -1283,11 +1283,11 @@ JS::Rooted defaultCssScaleFactor( aCx, - JS::Float32Value(static_cast(aScreen.GetDefaultCSSScaleFactor()))); + JS_NumberValue(static_cast(aScreen.GetDefaultCSSScaleFactor()))); JS_SetProperty(aCx, obj, "defaultCSSScaleFactor", defaultCssScaleFactor); JS::Rooted contentsScaleFactor( - aCx, JS::NumberValue(aScreen.GetContentsScaleFactor())); + aCx, JS_NumberValue(aScreen.GetContentsScaleFactor())); JS_SetProperty(aCx, obj, "contentsScaleFactor", contentsScaleFactor); #ifdef XP_WIN diff -Nru thunderbird-140.12.0esr/widget/android/EventDispatcher.cpp thunderbird-140.13.0esr/widget/android/EventDispatcher.cpp --- thunderbird-140.12.0esr/widget/android/EventDispatcher.cpp 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/widget/android/EventDispatcher.cpp 2026-07-21 21:33:12.000000000 +0000 @@ -14,6 +14,7 @@ #include "js/String.h" // JS::StringHasLatin1Chars #include "js/Warnings.h" // JS::WarnUTF8 #include "xpcpublic.h" +#include "jsapi.h" #include "mozilla/fallible.h" #include "mozilla/ScopeExit.h" @@ -228,10 +229,11 @@ aData.IsInstanceOf()) { aOut.setInt32(java::sdk::Number::Ref::From(aData)->IntValue()); } else if (aData.IsInstanceOf()) { - aOut.setNumber(Java2Native(aData, aData.Env())); + aOut.set(JS_NumberValue(Java2Native(aData, aData.Env()))); } else if (aData.IsInstanceOf() || aData.IsInstanceOf()) { - aOut.setNumber(java::sdk::Number::Ref::From(aData)->DoubleValue()); + aOut.set( + JS_NumberValue(java::sdk::Number::Ref::From(aData)->DoubleValue())); } else if (aData.IsInstanceOf()) { return UnboxString(aCx, aData, aOut); } else if (aData.IsInstanceOf()) { @@ -253,8 +255,7 @@ } else if (aData.IsInstanceOf()) { return UnboxArrayPrimitive< double, jdouble, jdoubleArray, &JNIEnv::GetDoubleArrayElements, - &JNIEnv::ReleaseDoubleArrayElements, &JS::DoubleValue>(aCx, aData, - aOut); + &JNIEnv::ReleaseDoubleArrayElements, &JS_NumberValue>(aCx, aData, aOut); } else if (aData.IsInstanceOf()) { return UnboxArrayObject<&UnboxString>(aCx, aData, aOut); diff -Nru thunderbird-140.12.0esr/widget/windows/WinRegistry.cpp thunderbird-140.13.0esr/widget/windows/WinRegistry.cpp --- thunderbird-140.12.0esr/widget/windows/WinRegistry.cpp 2026-06-13 03:48:16.000000000 +0000 +++ thunderbird-140.13.0esr/widget/windows/WinRegistry.cpp 2026-07-21 21:33:13.000000000 +0000 @@ -36,9 +36,9 @@ wchar_t nameBuf[kMaxKeyNameLen + 1]; DWORD nameLen = std::size(nameBuf); - LONG rv = RegEnumKeyExW(mKey, aIndex, nameBuf, &nameLen, nullptr, nullptr, - nullptr, &lastWritten); - if (rv != ERROR_SUCCESS) { + LSTATUS rv = RegEnumKeyExW(mKey, aIndex, nameBuf, &nameLen, nullptr, nullptr, + nullptr, &lastWritten); + if (LSTATUS_FAILED(rv)) { return false; } aResult.Assign(nameBuf, nameLen); @@ -47,7 +47,7 @@ bool Key::RemoveChildKey(const nsString& aName) const { MOZ_ASSERT(mKey); - return SUCCEEDED(RegDeleteKeyW(mKey, aName.get())); + return LSTATUS_SUCCEEDED(RegDeleteKeyW(mKey, aName.get())); } uint32_t Key::GetValueCount() const { @@ -63,9 +63,9 @@ wchar_t nameBuf[kMaxValueNameLen + 1]; DWORD nameLen = std::size(nameBuf); - LONG rv = RegEnumValueW(mKey, aIndex, nameBuf, &nameLen, nullptr, nullptr, - nullptr, nullptr); - if (rv != ERROR_SUCCESS) { + LSTATUS rv = RegEnumValueW(mKey, aIndex, nameBuf, &nameLen, nullptr, nullptr, + nullptr, nullptr); + if (LSTATUS_FAILED(rv)) { return false; } aResult.Assign(nameBuf, nameLen); @@ -75,14 +75,16 @@ ValueType Key::GetValueType(const nsString& aName) const { MOZ_ASSERT(mKey); DWORD result; - LONG rv = + LSTATUS rv = RegQueryValueExW(mKey, aName.get(), nullptr, &result, nullptr, nullptr); - return SUCCEEDED(rv) ? ValueType(result) : ValueType::None; + return LSTATUS_SUCCEEDED(rv) ? ValueType(result) : ValueType::None; } bool Key::RemoveValue(const nsString& aName) const { MOZ_ASSERT(mKey); - return SUCCEEDED(RegDeleteValueW(mKey, aName.get())); + // NOTE: Intentionally not propagating errors from RegDeleteValueW(). + RegDeleteValueW(mKey, aName.get()); + return true; } Maybe Key::GetValueAsDword(const nsString& aName) const { @@ -90,9 +92,9 @@ DWORD type; DWORD value = 0; DWORD size = sizeof(DWORD); - HRESULT rv = RegQueryValueExW(mKey, aName.get(), nullptr, &type, + LSTATUS rv = RegQueryValueExW(mKey, aName.get(), nullptr, &type, (LPBYTE)&value, &size); - if (FAILED(rv) || type != REG_DWORD) { + if (LSTATUS_FAILED(rv) || type != REG_DWORD) { return Nothing(); } return Some(value); @@ -100,8 +102,8 @@ bool Key::WriteValueAsDword(const nsString& aName, uint32_t aValue) { MOZ_ASSERT(mKey); - return SUCCEEDED(RegSetValueExW(mKey, aName.get(), 0, REG_DWORD, - (const BYTE*)&aValue, sizeof(aValue))); + return LSTATUS_SUCCEEDED(RegSetValueExW( + mKey, aName.get(), 0, REG_DWORD, (const BYTE*)&aValue, sizeof(aValue))); } Maybe Key::GetValueAsQword(const nsString& aName) const { @@ -109,9 +111,9 @@ DWORD type; uint64_t value = 0; DWORD size = sizeof(uint64_t); - HRESULT rv = RegQueryValueExW(mKey, aName.get(), nullptr, &type, + LSTATUS rv = RegQueryValueExW(mKey, aName.get(), nullptr, &type, (LPBYTE)&value, &size); - if (FAILED(rv) || type != REG_QWORD) { + if (LSTATUS_FAILED(rv) || type != REG_QWORD) { return Nothing(); } return Some(value); @@ -119,8 +121,8 @@ bool Key::WriteValueAsQword(const nsString& aName, uint64_t aValue) { MOZ_ASSERT(mKey); - return SUCCEEDED(RegSetValueExW(mKey, aName.get(), 0, REG_QWORD, - (const BYTE*)&aValue, sizeof(aValue))); + return LSTATUS_SUCCEEDED(RegSetValueExW( + mKey, aName.get(), 0, REG_QWORD, (const BYTE*)&aValue, sizeof(aValue))); } bool Key::GetValueAsBinary(const nsString& aName, @@ -128,8 +130,9 @@ MOZ_ASSERT(mKey); DWORD type; DWORD size; - LONG rv = RegQueryValueExW(mKey, aName.get(), nullptr, &type, nullptr, &size); - if (FAILED(rv) || type != REG_BINARY) { + LSTATUS rv = + RegQueryValueExW(mKey, aName.get(), nullptr, &type, nullptr, &size); + if (LSTATUS_FAILED(rv) || type != REG_BINARY) { return false; } if (!aResult.SetLength(size, fallible)) { @@ -137,7 +140,7 @@ } rv = RegQueryValueExW(mKey, aName.get(), nullptr, nullptr, aResult.Elements(), &size); - return SUCCEEDED(rv); + return LSTATUS_SUCCEEDED(rv); } Maybe> Key::GetValueAsBinary(const nsString& aName) const { @@ -152,8 +155,9 @@ bool Key::WriteValueAsBinary(const nsString& aName, Span aValue) { MOZ_ASSERT(mKey); - return SUCCEEDED(RegSetValueExW(mKey, aName.get(), 0, REG_BINARY, - (const BYTE*)aValue.data(), aValue.size())); + return LSTATUS_SUCCEEDED(RegSetValueExW(mKey, aName.get(), 0, REG_BINARY, + (const BYTE*)aValue.data(), + aValue.size())); } static bool IsStringType(DWORD aType, StringFlags aFlags) { @@ -174,8 +178,9 @@ MOZ_ASSERT(mKey); DWORD type; DWORD size; - LONG rv = RegQueryValueExW(mKey, aName.get(), nullptr, &type, nullptr, &size); - if (FAILED(rv) || !IsStringType(type, aFlags)) { + LSTATUS rv = + RegQueryValueExW(mKey, aName.get(), nullptr, &type, nullptr, &size); + if (LSTATUS_FAILED(rv) || !IsStringType(type, aFlags)) { return false; } if (!size) { @@ -250,9 +255,9 @@ DWORD size = aBuffer.LengthBytes(); DWORD type; - HRESULT rv = RegQueryValueExW(mKey, aName.get(), nullptr, &type, + LSTATUS rv = RegQueryValueExW(mKey, aName.get(), nullptr, &type, (LPBYTE)aBuffer.data(), &size); - if (FAILED(rv)) { + if (LSTATUS_FAILED(rv)) { return Nothing(); } if (!IsStringType(type, aFlags)) { @@ -306,10 +311,10 @@ DWORD flags = REG_NOTIFY_CHANGE_NAME | REG_NOTIFY_CHANGE_ATTRIBUTES | REG_NOTIFY_CHANGE_LAST_SET | REG_NOTIFY_CHANGE_SECURITY | REG_NOTIFY_THREAD_AGNOSTIC; - HRESULT rv = + LSTATUS rv = RegNotifyChangeKeyValue(mKey.RawKey(), /* bWatchSubtree = */ TRUE, flags, mEvent, /* fAsynchronous = */ TRUE); - return !NS_WARN_IF(FAILED(rv)); + return !NS_WARN_IF(LSTATUS_FAILED(rv)); } KeyWatcher::~KeyWatcher() { diff -Nru thunderbird-140.12.0esr/widget/windows/WinRegistry.h thunderbird-140.13.0esr/widget/windows/WinRegistry.h --- thunderbird-140.12.0esr/widget/windows/WinRegistry.h 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/widget/windows/WinRegistry.h 2026-07-21 21:33:13.000000000 +0000 @@ -16,6 +16,9 @@ class nsISerialEventTarget; +#define LSTATUS_SUCCEEDED(x) (x == ERROR_SUCCESS) +#define LSTATUS_FAILED(x) (x != ERROR_SUCCESS) + namespace mozilla::widget::WinRegistry { // According to MSDN, the following limits apply (in characters excluding room @@ -149,9 +152,9 @@ [[nodiscard]] bool WriteValueAsString(const nsString& aName, const nsString& aValue) { MOZ_ASSERT(mKey); - return SUCCEEDED(RegSetValueExW(mKey, aName.get(), 0, REG_SZ, - (const BYTE*)aValue.get(), - (aValue.Length() + 1) * sizeof(char16_t))); + return LSTATUS_SUCCEEDED( + RegSetValueExW(mKey, aName.get(), 0, REG_SZ, (const BYTE*)aValue.get(), + (aValue.Length() + 1) * sizeof(char16_t))); } HKEY RawKey() const { return mKey; } diff -Nru thunderbird-140.12.0esr/xpcom/base/ErrorList.py thunderbird-140.13.0esr/xpcom/base/ErrorList.py --- thunderbird-140.12.0esr/xpcom/base/ErrorList.py 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/xpcom/base/ErrorList.py 2026-07-21 21:33:12.000000000 +0000 @@ -1179,6 +1179,7 @@ errors["NS_ERROR_DOM_MEDIA_CDM_NO_SESSION_ERR"] = FAILURE(50) errors["NS_ERROR_DOM_MEDIA_CDM_SESSION_OPERATION_ERR"] = FAILURE(51) errors["NS_ERROR_DOM_MEDIA_CDM_HDCP_NOT_SUPPORT"] = FAILURE(52) + errors["NS_ERROR_DOM_MEDIA_CDM_NOT_FOUND_ERR"] = FAILURE(53) # Internal platform-related errors errors["NS_ERROR_DOM_MEDIA_CUBEB_INITIALIZATION_ERR"] = FAILURE(101) diff -Nru thunderbird-140.12.0esr/xpcom/io/SnappyFrameUtils.cpp thunderbird-140.13.0esr/xpcom/io/SnappyFrameUtils.cpp --- thunderbird-140.12.0esr/xpcom/io/SnappyFrameUtils.cpp 2026-06-13 03:48:15.000000000 +0000 +++ thunderbird-140.13.0esr/xpcom/io/SnappyFrameUtils.cpp 2026-07-21 21:33:12.000000000 +0000 @@ -198,6 +198,11 @@ *aBytesReadOut = 0; size_t offset = 0; + // A CompressedData chunk must contain at least the masked CRC. + if (NS_WARN_IF(aDataLength < kCRCLength)) { + return NS_ERROR_CORRUPTED_CONTENT; + } + uint32_t readCrc = LittleEndian::readUint32(aData + offset); offset += kCRCLength;