summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--firefox.spec15
-rw-r--r--mozilla-1568569.patch43
-rw-r--r--mozilla-1601707.patch64
-rw-r--r--mozilla-1603112-accept-lang.patch12
-rw-r--r--mozilla-gnome-shell-search-provider.patch60
-rw-r--r--sources4
7 files changed, 40 insertions, 160 deletions
diff --git a/.gitignore b/.gitignore
index ca56aa3..9d4d27e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -381,3 +381,5 @@ firefox-3.6.4.source.tar.bz2
/firefox-langpacks-72.0.1-20200108.tar.xz
/firefox-72.0.2.source.tar.xz
/firefox-langpacks-72.0.2-20200120.tar.xz
+/firefox-73.0.source.tar.xz
+/firefox-langpacks-73.0-20200211.tar.xz
diff --git a/firefox.spec b/firefox.spec
index f82103a..fba67d4 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -101,13 +101,13 @@ ExcludeArch: s390x
Summary: Mozilla Firefox Web browser
Name: firefox
-Version: 72.0.2
-Release: 3%{?dist}
+Version: 73.0
+Release: 1%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
%if %{with langpacks}
-Source1: firefox-langpacks-%{version}%{?pre_version}-20200120.tar.xz
+Source1: firefox-langpacks-%{version}%{?pre_version}-20200211.tar.xz
%endif
Source2: cbindgen-vendor.tar.xz
Source10: firefox-mozconfig
@@ -155,16 +155,13 @@ Patch227: firefox-locale-debug.patch
Patch239: mozilla-gnome-shell-search-provider.patch
Patch240: mozilla-gnome-shell-search-provider-icons.patch
Patch241: kiosk-workaround.patch
-Patch242: mozilla-1601707.patch
# Upstream patches
Patch402: mozilla-1196777.patch
Patch412: mozilla-1337988.patch
Patch415: Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
Patch417: bug1375074-save-restore-x28.patch
-Patch419: mozilla-1568569.patch
Patch422: mozilla-1580174-webrtc-popup.patch
-Patch426: mozilla-1603112-accept-lang.patch
Patch427: mozilla-1607404-fix-remote-offset.patch
# Wayland specific upstream patches
@@ -355,18 +352,15 @@ This package contains results of tests executed during build.
# Workaround for kiosk mode
# https://bugzilla.mozilla.org/show_bug.cgi?id=1594738
#%patch241 -p1 -b .kiosk-workaround
-%patch242 -p1 -b .mozilla-1601707
%patch402 -p1 -b .1196777
%ifarch %{arm}
%patch415 -p1 -b .1238661
%endif
-%patch419 -p1 -b .1568569
# overflow widgets broken
# dropdown missing on multimonitor
# fix for wrong intl.accept_lang when using non en-us langpack
-%patch426 -p1 -b .1603112-accept-lang
%patch427 -p1 -b .1607404-fix-remote-offset
# Wayland specific upstream patches
@@ -940,6 +934,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
+* Tue Feb 11 2020 Jan Horak <jhorak@redhat.com> - 73.0-1
+- Update to 73.0 build3
+
* Tue Feb 04 2020 Kalev Lember <klember@redhat.com> - 72.0.2-3
- Fix various issues with appdata, making the validation pass again
- Validate appdata during the build
diff --git a/mozilla-1568569.patch b/mozilla-1568569.patch
deleted file mode 100644
index c61f845..0000000
--- a/mozilla-1568569.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff -up firefox-71.0/widget/gtk/nsWindow.cpp.1568569 firefox-71.0/widget/gtk/nsWindow.cpp
---- firefox-71.0/widget/gtk/nsWindow.cpp.1568569 2019-11-26 10:51:08.303063138 +0100
-+++ firefox-71.0/widget/gtk/nsWindow.cpp 2019-11-26 10:54:28.428994823 +0100
-@@ -3348,6 +3348,8 @@ void nsWindow::OnWindowStateEvent(GtkWid
- return;
- }
-
-+ nsSizeMode lastSizeState = mSizeState;
-+
- if (aEvent->new_window_state & GDK_WINDOW_STATE_ICONIFIED) {
- LOG(("\tIconified\n"));
- mSizeState = nsSizeMode_Minimized;
-@@ -3379,6 +3381,18 @@ void nsWindow::OnWindowStateEvent(GtkWid
- mIsTiled = false;
- }
-
-+ // Fullscreen video playback may generate bogus alpha values which blends
-+ // with desktop background in fullscreen video playback (Bug 1568569).
-+ // As a workaround enable to draw mShell background in fullscreen mode
-+ // if we draw to mContainer.
-+ if (gtk_widget_get_has_window(GTK_WIDGET(mContainer))) {
-+ if (mSizeState == nsSizeMode_Fullscreen) {
-+ gtk_widget_set_app_paintable(mShell, FALSE);
-+ } else if (lastSizeState == nsSizeMode_Fullscreen) {
-+ gtk_widget_set_app_paintable(mShell, TRUE);
-+ }
-+ }
-+
- if (mWidgetListener) {
- mWidgetListener->SizeModeChanged(mSizeState);
- if (aEvent->changed_mask & GDK_WINDOW_STATE_FULLSCREEN) {
-@@ -3930,6 +3944,11 @@ nsresult nsWindow::Create(nsIWidget* aPa
- gtk_widget_add_events(eventWidget, kEvents);
- if (drawToContainer) {
- gtk_widget_add_events(mShell, GDK_PROPERTY_CHANGE_MASK);
-+ // Don't paint mShell background when we draw to mContainer.
-+ // Otherwise we see mShell backround to shine through
-+ // mContainer (Bug 1507608).
-+ // But it may also lead to various bugs where mContainer has unintended
-+ // transparent parts which blend with underlying desktop (Bug 1516224).
- gtk_widget_set_app_paintable(mShell, TRUE);
- }
- if (mTransparencyBitmapForTitlebar) {
diff --git a/mozilla-1601707.patch b/mozilla-1601707.patch
deleted file mode 100644
index 1a0ab4f..0000000
--- a/mozilla-1601707.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff -up firefox-72.0/dom/indexedDB/ActorsParent.cpp.mozilla-1601707 firefox-72.0/dom/indexedDB/ActorsParent.cpp
---- firefox-72.0/dom/indexedDB/ActorsParent.cpp.mozilla-1601707 2020-01-03 19:57:54.000000000 +0100
-+++ firefox-72.0/dom/indexedDB/ActorsParent.cpp 2020-01-07 13:33:31.950688264 +0100
-@@ -24617,11 +24617,11 @@ nsresult ObjectStoreAddOrPutRequestOp::D
- // if we allow overwrite or not. By not allowing overwrite we raise
- // detectable errors rather than corrupting data.
- DatabaseConnection::CachedStatement stmt;
-- const auto& optReplaceDirective = (!mOverwrite || keyUnset)
-- ? NS_LITERAL_CSTRING("")
-- : NS_LITERAL_CSTRING("OR REPLACE ");
- rv = aConnection->GetCachedStatement(
-- NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
-+ NS_LITERAL_CSTRING("INSERT ") +
-+ ((!mOverwrite || keyUnset)
-+ ? NS_LITERAL_CSTRING("")
-+ : NS_LITERAL_CSTRING("OR REPLACE ")) +
- NS_LITERAL_CSTRING("INTO object_data "
- "(object_store_id, key, file_ids, data) "
- "VALUES (:") +
-@@ -26457,10 +26457,6 @@ nsresult Cursor::OpenOp::DoIndexDatabase
-
- const bool usingKeyRange = mOptionalKeyRange.isSome();
-
-- const auto& indexTable = mCursor->mUniqueIndex
-- ? NS_LITERAL_CSTRING("unique_index_data")
-- : NS_LITERAL_CSTRING("index_data");
--
- // The result of MakeColumnPairSelectionList is stored in a local variable,
- // since inlining it into the next statement causes a crash on some Mac OS X
- // builds (see https://bugzilla.mozilla.org/show_bug.cgi?id=1168606#c110).
-@@ -26478,7 +26474,9 @@ nsresult Cursor::OpenOp::DoIndexDatabase
- "object_data.file_ids, "
- "object_data.data "
- "FROM ") +
-- indexTable +
-+ (mCursor->mUniqueIndex
-+ ? NS_LITERAL_CSTRING("unique_index_data")
-+ : NS_LITERAL_CSTRING("index_data")) +
- NS_LITERAL_CSTRING(
- " AS index_table "
- "JOIN object_data "
-@@ -26563,10 +26561,6 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
-
- const bool usingKeyRange = mOptionalKeyRange.isSome();
-
-- const auto& table = mCursor->mUniqueIndex
-- ? NS_LITERAL_CSTRING("unique_index_data")
-- : NS_LITERAL_CSTRING("index_data");
--
- // The result of MakeColumnPairSelectionList is stored in a local variable,
- // since inlining it into the next statement causes a crash on some Mac OS X
- // builds (see https://bugzilla.mozilla.org/show_bug.cgi?id=1168606#c110).
-@@ -26581,7 +26575,10 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
- NS_LITERAL_CSTRING(
- "object_data_key "
- " FROM ") +
-- table + NS_LITERAL_CSTRING(" WHERE index_id = :") +
-+ (mCursor->mUniqueIndex
-+ ? NS_LITERAL_CSTRING("unique_index_data")
-+ : NS_LITERAL_CSTRING("index_data")) +
-+ NS_LITERAL_CSTRING(" WHERE index_id = :") +
- kStmtParamNameId;
-
- const auto keyRangeClause = MaybeGetBindingClauseForKeyRange(
diff --git a/mozilla-1603112-accept-lang.patch b/mozilla-1603112-accept-lang.patch
deleted file mode 100644
index b67b232..0000000
--- a/mozilla-1603112-accept-lang.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/intl/strres/nsStringBundle.cpp b/intl/strres/nsStringBundle.cpp
---- a/intl/strres/nsStringBundle.cpp
-+++ b/intl/strres/nsStringBundle.cpp
-@@ -66,7 +66,6 @@
- "chrome://global/locale/commonDialogs.properties",
- "chrome://global/locale/css.properties",
- "chrome://global/locale/dom/dom.properties",
-- "chrome://global/locale/intl.properties",
- "chrome://global/locale/layout/HtmlForm.properties",
- "chrome://global/locale/layout/htmlparser.properties",
- "chrome://global/locale/layout_errors.properties",
-
diff --git a/mozilla-gnome-shell-search-provider.patch b/mozilla-gnome-shell-search-provider.patch
index 82736c2..4660128 100644
--- a/mozilla-gnome-shell-search-provider.patch
+++ b/mozilla-gnome-shell-search-provider.patch
@@ -1,6 +1,6 @@
-diff -up firefox-71.0/browser/components/shell/moz.build.gnome-shell-search-provider firefox-71.0/browser/components/shell/moz.build
---- firefox-71.0/browser/components/shell/moz.build.gnome-shell-search-provider 2019-12-02 13:22:52.000000000 +0100
-+++ firefox-71.0/browser/components/shell/moz.build 2019-12-02 19:18:48.560727611 +0100
+diff -up firefox-73.0/browser/components/shell/moz.build.gnome-shell-search-provider firefox-73.0/browser/components/shell/moz.build
+--- firefox-73.0/browser/components/shell/moz.build.gnome-shell-search-provider 2020-02-07 22:12:59.000000000 +0100
++++ firefox-73.0/browser/components/shell/moz.build 2020-02-11 09:03:31.638803105 +0100
@@ -34,6 +34,11 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gt
SOURCES += [
'nsGNOMEShellService.cpp',
@@ -11,9 +11,9 @@ diff -up firefox-71.0/browser/components/shell/moz.build.gnome-shell-search-prov
+ ]
+
elif CONFIG['OS_ARCH'] == 'WINNT':
- SOURCES += [
- 'nsWindowsShellService.cpp',
-@@ -57,6 +62,8 @@ for var in ('MOZ_APP_NAME', 'MOZ_APP_VER
+ XPIDL_SOURCES += [
+ 'nsIWindowsShellService.idl',
+@@ -60,6 +65,8 @@ for var in ('MOZ_APP_NAME', 'MOZ_APP_VER
DEFINES[var] = '"%s"' % CONFIG[var]
CXXFLAGS += CONFIG['TK_CFLAGS']
@@ -22,9 +22,9 @@ diff -up firefox-71.0/browser/components/shell/moz.build.gnome-shell-search-prov
with Files('**'):
BUG_COMPONENT = ('Firefox', 'Shell Integration')
-diff -up firefox-71.0/browser/components/shell/nsGNOMEShellSearchProvider.cpp.gnome-shell-search-provider firefox-71.0/browser/components/shell/nsGNOMEShellSearchProvider.cpp
---- firefox-71.0/browser/components/shell/nsGNOMEShellSearchProvider.cpp.gnome-shell-search-provider 2019-12-02 19:18:48.560727611 +0100
-+++ firefox-71.0/browser/components/shell/nsGNOMEShellSearchProvider.cpp 2019-12-02 19:18:48.560727611 +0100
+diff -up firefox-73.0/browser/components/shell/nsGNOMEShellSearchProvider.cpp.gnome-shell-search-provider firefox-73.0/browser/components/shell/nsGNOMEShellSearchProvider.cpp
+--- firefox-73.0/browser/components/shell/nsGNOMEShellSearchProvider.cpp.gnome-shell-search-provider 2020-02-11 09:00:59.350512802 +0100
++++ firefox-73.0/browser/components/shell/nsGNOMEShellSearchProvider.cpp 2020-02-11 09:00:59.350512802 +0100
@@ -0,0 +1,621 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim:expandtab:shiftwidth=2:tabstop=2:
@@ -647,9 +647,9 @@ diff -up firefox-71.0/browser/components/shell/nsGNOMEShellSearchProvider.cpp.gn
+ // dbus_connection_unref() will be called by RefPtr here.
+ mConnection = nullptr;
+}
-diff -up firefox-71.0/browser/components/shell/nsGNOMEShellSearchProvider.h.gnome-shell-search-provider firefox-71.0/browser/components/shell/nsGNOMEShellSearchProvider.h
---- firefox-71.0/browser/components/shell/nsGNOMEShellSearchProvider.h.gnome-shell-search-provider 2019-12-02 19:18:48.560727611 +0100
-+++ firefox-71.0/browser/components/shell/nsGNOMEShellSearchProvider.h 2019-12-02 19:18:48.560727611 +0100
+diff -up firefox-73.0/browser/components/shell/nsGNOMEShellSearchProvider.h.gnome-shell-search-provider firefox-73.0/browser/components/shell/nsGNOMEShellSearchProvider.h
+--- firefox-73.0/browser/components/shell/nsGNOMEShellSearchProvider.h.gnome-shell-search-provider 2020-02-11 09:00:59.350512802 +0100
++++ firefox-73.0/browser/components/shell/nsGNOMEShellSearchProvider.h 2020-02-11 09:00:59.350512802 +0100
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim:expandtab:shiftwidth=2:tabstop=2:
@@ -706,10 +706,10 @@ diff -up firefox-71.0/browser/components/shell/nsGNOMEShellSearchProvider.h.gnom
+};
+
+#endif // __nsGNOMEShellSearchProvider_h__
-diff -up firefox-71.0/browser/components/shell/nsGNOMEShellService.cpp.gnome-shell-search-provider firefox-71.0/browser/components/shell/nsGNOMEShellService.cpp
---- firefox-71.0/browser/components/shell/nsGNOMEShellService.cpp.gnome-shell-search-provider 2019-12-02 13:22:52.000000000 +0100
-+++ firefox-71.0/browser/components/shell/nsGNOMEShellService.cpp 2019-12-02 19:18:48.561727605 +0100
-@@ -92,6 +92,14 @@ nsresult nsGNOMEShellService::Init() {
+diff -up firefox-73.0/browser/components/shell/nsGNOMEShellService.cpp.gnome-shell-search-provider firefox-73.0/browser/components/shell/nsGNOMEShellService.cpp
+--- firefox-73.0/browser/components/shell/nsGNOMEShellService.cpp.gnome-shell-search-provider 2020-02-07 22:12:59.000000000 +0100
++++ firefox-73.0/browser/components/shell/nsGNOMEShellService.cpp 2020-02-11 09:00:59.350512802 +0100
+@@ -89,6 +89,14 @@ nsresult nsGNOMEShellService::Init() {
if (!giovfs && !gsettings) return NS_ERROR_NOT_AVAILABLE;
@@ -724,9 +724,9 @@ diff -up firefox-71.0/browser/components/shell/nsGNOMEShellService.cpp.gnome-she
// Check G_BROKEN_FILENAMES. If it's set, then filenames in glib use
// the locale encoding. If it's not set, they use UTF-8.
mUseLocaleFilenames = PR_GetEnv("G_BROKEN_FILENAMES") != nullptr;
-diff -up firefox-71.0/browser/components/shell/nsGNOMEShellService.h.gnome-shell-search-provider firefox-71.0/browser/components/shell/nsGNOMEShellService.h
---- firefox-71.0/browser/components/shell/nsGNOMEShellService.h.gnome-shell-search-provider 2019-12-02 13:22:52.000000000 +0100
-+++ firefox-71.0/browser/components/shell/nsGNOMEShellService.h 2019-12-02 19:18:48.561727605 +0100
+diff -up firefox-73.0/browser/components/shell/nsGNOMEShellService.h.gnome-shell-search-provider firefox-73.0/browser/components/shell/nsGNOMEShellService.h
+--- firefox-73.0/browser/components/shell/nsGNOMEShellService.h.gnome-shell-search-provider 2020-02-07 22:12:59.000000000 +0100
++++ firefox-73.0/browser/components/shell/nsGNOMEShellService.h 2020-02-11 09:00:59.350512802 +0100
@@ -10,6 +10,9 @@
#include "nsToolkitShellService.h"
#include "nsString.h"
@@ -747,10 +747,10 @@ diff -up firefox-71.0/browser/components/shell/nsGNOMEShellService.h.gnome-shell
bool GetAppPathFromLauncher();
bool mUseLocaleFilenames;
nsCString mAppPath;
-diff -up firefox-71.0/browser/locales/en-US/chrome/browser/browser.properties.gnome-shell-search-provider firefox-71.0/browser/locales/en-US/chrome/browser/browser.properties
---- firefox-71.0/browser/locales/en-US/chrome/browser/browser.properties.gnome-shell-search-provider 2019-12-02 19:18:48.561727605 +0100
-+++ firefox-71.0/browser/locales/en-US/chrome/browser/browser.properties 2019-12-02 19:19:29.171470110 +0100
-@@ -1025,3 +1025,7 @@ confirmationHint.passwordSaved.label = P
+diff -up firefox-73.0/browser/locales/en-US/chrome/browser/browser.properties.gnome-shell-search-provider firefox-73.0/browser/locales/en-US/chrome/browser/browser.properties
+--- firefox-73.0/browser/locales/en-US/chrome/browser/browser.properties.gnome-shell-search-provider 2020-02-07 22:13:00.000000000 +0100
++++ firefox-73.0/browser/locales/en-US/chrome/browser/browser.properties 2020-02-11 09:00:59.350512802 +0100
+@@ -1047,3 +1047,7 @@ confirmationHint.breakageReport.label =
# Used by the export of user's live bookmarks to an OPML file as a title for the file.
# %S will be replaced with brandShortName
livebookmarkMigration.title = %S Live Bookmarks
@@ -758,9 +758,9 @@ diff -up firefox-71.0/browser/locales/en-US/chrome/browser/browser.properties.gn
+# LOCALIZATION NOTE (gnomeSearchProviderSearch):
+# Used for search by Gnome Shell activity screen, %s is a searched string.
+gnomeSearchProviderSearch=Search the web for ā€œ%sā€
-diff -up firefox-71.0/toolkit/components/remote/moz.build.gnome-shell-search-provider firefox-71.0/toolkit/components/remote/moz.build
---- firefox-71.0/toolkit/components/remote/moz.build.gnome-shell-search-provider 2019-12-02 13:24:06.000000000 +0100
-+++ firefox-71.0/toolkit/components/remote/moz.build 2019-12-02 19:18:48.561727605 +0100
+diff -up firefox-73.0/toolkit/components/remote/moz.build.gnome-shell-search-provider firefox-73.0/toolkit/components/remote/moz.build
+--- firefox-73.0/toolkit/components/remote/moz.build.gnome-shell-search-provider 2020-02-07 22:13:54.000000000 +0100
++++ firefox-73.0/toolkit/components/remote/moz.build 2020-02-11 09:00:59.351512811 +0100
@@ -25,6 +25,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk'
'nsDBusRemoteServer.cpp',
]
@@ -772,10 +772,10 @@ diff -up firefox-71.0/toolkit/components/remote/moz.build.gnome-shell-search-pro
CXXFLAGS += CONFIG['TK_CFLAGS']
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
-diff -up firefox-71.0/toolkit/components/remote/nsDBusRemoteServer.cpp.gnome-shell-search-provider firefox-71.0/toolkit/components/remote/nsDBusRemoteServer.cpp
---- firefox-71.0/toolkit/components/remote/nsDBusRemoteServer.cpp.gnome-shell-search-provider 2019-12-02 13:24:06.000000000 +0100
-+++ firefox-71.0/toolkit/components/remote/nsDBusRemoteServer.cpp 2019-12-02 19:18:48.561727605 +0100
-@@ -27,7 +27,7 @@
+diff -up firefox-73.0/toolkit/components/remote/nsDBusRemoteServer.cpp.gnome-shell-search-provider firefox-73.0/toolkit/components/remote/nsDBusRemoteServer.cpp
+--- firefox-73.0/toolkit/components/remote/nsDBusRemoteServer.cpp.gnome-shell-search-provider 2020-02-07 22:13:54.000000000 +0100
++++ firefox-73.0/toolkit/components/remote/nsDBusRemoteServer.cpp 2020-02-11 09:00:59.351512811 +0100
+@@ -23,7 +23,7 @@
#include <dlfcn.h>
diff --git a/sources b/sources
index c1805e2..ce0e5b9 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (firefox-72.0.2.source.tar.xz) = 4d8c832709b8831234b571b2f809d1601490db47982ff1d71913062c42c17a7f3340c72b6162b74a248a9cfe7b5d1646fb9a0463dcbcfaed32e1346ee20e4147
-SHA512 (firefox-langpacks-72.0.2-20200120.tar.xz) = ba96f0a54c73b26891c26fca5f5c2ae5f00dbbc63925109bcefcf6bc264e55e1f6fe4631275952b982dbc7fe20b445c0fdaaec8628d3ba680b709a84fd69647a
+SHA512 (firefox-73.0.source.tar.xz) = e10a8b48ae532d855ff50761cbdf2a6d94b2bad58a5e18d040db43d3424cbb068772f4d91c0aadd6c40b13e3d020e0e712955a1a12b41fda6333197fc34aa19a
+SHA512 (firefox-langpacks-73.0-20200211.tar.xz) = f9cf3c7681a215e4d27a543c2acce367b4a0738fde9840ac1f8864c7e6d512bafcc22c3ac33af2fb847dcaf865efeeecb97d7bf7313fe89e0219332ef0fc2da4
SHA512 (cbindgen-vendor.tar.xz) = 88afa0bc6af525cbb46bc75578b90419b28b95b396d5002fbf299a78a173681b840096ff83ef6e48553d1a5e0aa04e79383ab4d09bf431f3b864fcbacc7de46d
bgstack15