tbb-commits
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 18685 discussions

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 25741 - TBA: Disable GeckoNetworkManager
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit b93a923053c338189d8382ba72e6bae175861f87
Author: Matthew Finkel <Matthew.Finkel(a)gmail.com>
Date: Thu Apr 26 22:22:51 2018 +0000
Bug 25741 - TBA: Disable GeckoNetworkManager
The browser should not need information related to the network
interface or network state, tor should take care of that.
---
.../src/main/java/org/mozilla/geckoview/GeckoRuntime.java | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java
index f084b522ad53..b94d8e803b6b 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java
@@ -122,7 +122,9 @@ public final class GeckoRuntime implements Parcelable {
mPaused = false;
// Monitor network status and send change notifications to Gecko
// while active.
- GeckoNetworkManager.getInstance().start(GeckoAppShell.getApplicationContext());
+ if (BuildConfig.TOR_BROWSER_VERSION == "") {
+ GeckoNetworkManager.getInstance().start(GeckoAppShell.getApplicationContext());
+ }
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
@@ -130,7 +132,9 @@ public final class GeckoRuntime implements Parcelable {
Log.d(LOGTAG, "Lifecycle: onPause");
mPaused = true;
// Stop monitoring network status while inactive.
- GeckoNetworkManager.getInstance().stop();
+ if (BuildConfig.TOR_BROWSER_VERSION == "") {
+ GeckoNetworkManager.getInstance().stop();
+ }
GeckoThread.onPause();
}
}
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Revert "Bug 1724777, optimize suppressed MicroTask handling, r=mccr8 a=RyanVM"
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 24528ca31fd4bf981d09cdea9aff61175245d65f
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Dec 7 16:19:15 2021 +0000
Revert "Bug 1724777, optimize suppressed MicroTask handling, r=mccr8 a=RyanVM"
This reverts commit 1eb1364357ac5bc2a4531337fb5416af39c3793f.
This fixes tor-browser#40721, tor-browser#40698, and tor-browser#40706.
However, it is a temporary workaround, that we should revert once
https://bugzilla.mozilla.org/show_bug.cgi?id=1744719 is fixed.
---
dom/base/Document.cpp | 12 ------
dom/base/Document.h | 8 +++-
dom/base/test/mochitest.ini | 2 -
dom/base/test/test_suppressed_microtasks.html | 62 ---------------------------
dom/workers/RuntimeService.cpp | 4 +-
dom/workers/WorkerPrivate.cpp | 2 +-
dom/worklet/WorkletThread.cpp | 2 +-
xpcom/base/CycleCollectedJSContext.cpp | 51 ++++++----------------
xpcom/base/CycleCollectedJSContext.h | 29 +++----------
9 files changed, 28 insertions(+), 144 deletions(-)
diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp
index a58e76cb5258..0ef4b3236477 100644
--- a/dom/base/Document.cpp
+++ b/dom/base/Document.cpp
@@ -15633,18 +15633,6 @@ nsAutoSyncOperation::~nsAutoSyncOperation() {
}
}
-void Document::SetIsInSyncOperation(bool aSync) {
- if (CycleCollectedJSContext* ccjs = CycleCollectedJSContext::Get()) {
- ccjs->UpdateMicroTaskSuppressionGeneration();
- }
-
- if (aSync) {
- ++mInSyncOperationCount;
- } else {
- --mInSyncOperationCount;
- }
-}
-
gfxUserFontSet* Document::GetUserFontSet() {
if (!mFontFaceSet) {
return nullptr;
diff --git a/dom/base/Document.h b/dom/base/Document.h
index 7165496397f3..69e59d09b924 100644
--- a/dom/base/Document.h
+++ b/dom/base/Document.h
@@ -3214,7 +3214,13 @@ class Document : public nsINode,
bool IsInSyncOperation() { return mInSyncOperationCount != 0; }
- void SetIsInSyncOperation(bool aSync);
+ void SetIsInSyncOperation(bool aSync) {
+ if (aSync) {
+ ++mInSyncOperationCount;
+ } else {
+ --mInSyncOperationCount;
+ }
+ }
bool CreatingStaticClone() const { return mCreatingStaticClone; }
diff --git a/dom/base/test/mochitest.ini b/dom/base/test/mochitest.ini
index 06b5691422c5..e287a0d10ae8 100644
--- a/dom/base/test/mochitest.ini
+++ b/dom/base/test/mochitest.ini
@@ -769,8 +769,6 @@ skip-if = debug == false
[test_shared_compartment2.html]
[test_structuredclone_backref.html]
[test_style_cssText.html]
-[test_suppressed_microtasks.html]
-skip-if = debug || asan || verify || toolkit == 'android' # The test needs to run reasonably fast.
[test_text_wholeText.html]
[test_textnode_normalize_in_selection.html]
[test_textnode_split_in_selection.html]
diff --git a/dom/base/test/test_suppressed_microtasks.html b/dom/base/test/test_suppressed_microtasks.html
deleted file mode 100644
index f5d333638698..000000000000
--- a/dom/base/test/test_suppressed_microtasks.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Test microtask suppression</title>
- <script src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
- <script>
- SimpleTest.waitForExplicitFinish();
-
- var previousTask = -1;
- function test() {
- let win = window.open("about:blank");
- win.onload = function() {
- win.onmessage = function() {
- win.start = win.performance.now();
- win.didRunMicrotask = false;
- win.onmessage = function() {
- ok(win.didRunMicrotask, "Should have run a microtask.");
- let period = win.performance.now() - win.start;
- win.opener.ok(
- period < 200,
- "Running a task should be fast. Took " + period + "ms.");
- win.onmessage = null;
- }
- win.queueMicrotask(function() { win.didRunMicrotask = true; });
- win.postMessage("measurementMessage", "*");
- }
- win.postMessage("initialMessage", "*");
-
- const last = 500000;
- for (let i = 0; i < last + 1; ++i) {
- window.queueMicrotask(function() {
- // Check that once microtasks are unsuppressed, they are handled in
- // the correct order.
- if (previousTask != i - 1) {
- // Explicitly optimize out cases which pass.
- ok(false, "Microtasks should be handled in order.");
- }
- previousTask = i;
- if (i == last) {
- win.close();
- SimpleTest.finish();
- }
- });
- }
-
- // Synchronous XMLHttpRequest suppresses microtasks.
- var xhr = new XMLHttpRequest();
- xhr.open("GET", "slow.sjs", false);
- xhr.send();
- is(previousTask, -1, "Shouldn't have run microtasks during a sync XHR.");
- }
- }
- </script>
-</head>
-<body onload="test()">
-<p id="display"></p>
-<div id="content" style="display: none"></div>
-<pre id="test"></pre>
-</body>
-</html>
diff --git a/dom/workers/RuntimeService.cpp b/dom/workers/RuntimeService.cpp
index c3e3f56834d7..3fda0a78fd23 100644
--- a/dom/workers/RuntimeService.cpp
+++ b/dom/workers/RuntimeService.cpp
@@ -931,7 +931,7 @@ class WorkerJSContext final : public mozilla::CycleCollectedJSContext {
MOZ_ASSERT(!NS_IsMainThread());
MOZ_ASSERT(runnable);
- std::deque<RefPtr<MicroTaskRunnable>>* microTaskQueue = nullptr;
+ std::queue<RefPtr<MicroTaskRunnable>>* microTaskQueue = nullptr;
JSContext* cx = Context();
NS_ASSERTION(cx, "This should never be null!");
@@ -953,7 +953,7 @@ class WorkerJSContext final : public mozilla::CycleCollectedJSContext {
}
JS::JobQueueMayNotBeEmpty(cx);
- microTaskQueue->push_back(std::move(runnable));
+ microTaskQueue->push(std::move(runnable));
}
bool IsSystemCaller() const override {
diff --git a/dom/workers/WorkerPrivate.cpp b/dom/workers/WorkerPrivate.cpp
index 10099edc933e..af627f33d86d 100644
--- a/dom/workers/WorkerPrivate.cpp
+++ b/dom/workers/WorkerPrivate.cpp
@@ -4313,7 +4313,7 @@ void WorkerPrivate::EnterDebuggerEventLoop() {
{
MutexAutoLock lock(mMutex);
- std::deque<RefPtr<MicroTaskRunnable>>& debuggerMtQueue =
+ std::queue<RefPtr<MicroTaskRunnable>>& debuggerMtQueue =
ccjscx->GetDebuggerMicroTaskQueue();
while (mControlQueue.IsEmpty() &&
!(debuggerRunnablesPending = !mDebuggerQueue.IsEmpty()) &&
diff --git a/dom/worklet/WorkletThread.cpp b/dom/worklet/WorkletThread.cpp
index fae1a1c550d1..c672dfb21b8b 100644
--- a/dom/worklet/WorkletThread.cpp
+++ b/dom/worklet/WorkletThread.cpp
@@ -159,7 +159,7 @@ class WorkletJSContext final : public CycleCollectedJSContext {
#endif
JS::JobQueueMayNotBeEmpty(cx);
- GetMicroTaskQueue().push_back(std::move(runnable));
+ GetMicroTaskQueue().push(std::move(runnable));
}
bool IsSystemCaller() const override {
diff --git a/xpcom/base/CycleCollectedJSContext.cpp b/xpcom/base/CycleCollectedJSContext.cpp
index 0a35a5cf5524..347f15c82322 100644
--- a/xpcom/base/CycleCollectedJSContext.cpp
+++ b/xpcom/base/CycleCollectedJSContext.cpp
@@ -61,7 +61,6 @@ CycleCollectedJSContext::CycleCollectedJSContext()
mDoingStableStates(false),
mTargetedMicroTaskRecursionDepth(0),
mMicroTaskLevel(0),
- mSuppressionGeneration(0),
mDebuggerRecursionDepth(0),
mMicroTaskRecursionDepth(0),
mFinalizationRegistryCleanup(this) {
@@ -292,7 +291,7 @@ class CycleCollectedJSContext::SavedMicroTaskQueue
private:
CycleCollectedJSContext* ccjs;
- std::deque<RefPtr<MicroTaskRunnable>> mQueue;
+ std::queue<RefPtr<MicroTaskRunnable>> mQueue;
};
js::UniquePtr<JS::JobQueue::SavedJobQueue>
@@ -380,13 +379,13 @@ void CycleCollectedJSContext::SetPendingException(Exception* aException) {
mPendingException = aException;
}
-std::deque<RefPtr<MicroTaskRunnable>>&
+std::queue<RefPtr<MicroTaskRunnable>>&
CycleCollectedJSContext::GetMicroTaskQueue() {
MOZ_ASSERT(mJSContext);
return mPendingMicroTaskRunnables;
}
-std::deque<RefPtr<MicroTaskRunnable>>&
+std::queue<RefPtr<MicroTaskRunnable>>&
CycleCollectedJSContext::GetDebuggerMicroTaskQueue() {
MOZ_ASSERT(mJSContext);
return mDebuggerMicroTaskQueue;
@@ -563,7 +562,7 @@ void CycleCollectedJSContext::DispatchToMicroTask(
JS::JobQueueMayNotBeEmpty(Context());
LogMicroTaskRunnable::LogDispatch(runnable.get());
- mPendingMicroTaskRunnables.push_back(std::move(runnable));
+ mPendingMicroTaskRunnables.push(std::move(runnable));
}
class AsyncMutationHandler final : public mozilla::Runnable {
@@ -582,25 +581,6 @@ class AsyncMutationHandler final : public mozilla::Runnable {
}
};
-SuppressedMicroTasks::SuppressedMicroTasks(CycleCollectedJSContext* aContext)
- : mContext(aContext),
- mSuppressionGeneration(aContext->mSuppressionGeneration) {}
-
-bool SuppressedMicroTasks::Suppressed() {
- if (mSuppressionGeneration == mContext->mSuppressionGeneration) {
- return true;
- }
-
- for (std::deque<RefPtr<MicroTaskRunnable>>::reverse_iterator it =
- mSuppressedMicroTaskRunnables.rbegin();
- it != mSuppressedMicroTaskRunnables.rend(); ++it) {
- mContext->GetMicroTaskQueue().push_front(*it);
- }
- mContext->mSuppressedMicroTasks = nullptr;
-
- return false;
-}
-
bool CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool aForce) {
if (mPendingMicroTaskRunnables.empty() && mDebuggerMicroTaskQueue.empty()) {
AfterProcessMicrotasks();
@@ -636,14 +616,15 @@ bool CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool aForce) {
bool didProcess = false;
AutoSlowOperation aso;
+ std::queue<RefPtr<MicroTaskRunnable>> suppressed;
for (;;) {
RefPtr<MicroTaskRunnable> runnable;
if (!mDebuggerMicroTaskQueue.empty()) {
runnable = std::move(mDebuggerMicroTaskQueue.front());
- mDebuggerMicroTaskQueue.pop_front();
+ mDebuggerMicroTaskQueue.pop();
} else if (!mPendingMicroTaskRunnables.empty()) {
runnable = std::move(mPendingMicroTaskRunnables.front());
- mPendingMicroTaskRunnables.pop_front();
+ mPendingMicroTaskRunnables.pop();
} else {
break;
}
@@ -654,16 +635,10 @@ bool CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool aForce) {
// all suppressed tasks in mDebuggerMicroTaskQueue unexpectedly.
MOZ_ASSERT(NS_IsMainThread());
JS::JobQueueMayNotBeEmpty(Context());
- if (runnable != mSuppressedMicroTasks) {
- if (!mSuppressedMicroTasks) {
- mSuppressedMicroTasks = new SuppressedMicroTasks(this);
- }
- mSuppressedMicroTasks->mSuppressedMicroTaskRunnables.push_back(
- runnable);
- }
+ suppressed.push(runnable);
} else {
if (mPendingMicroTaskRunnables.empty() &&
- mDebuggerMicroTaskQueue.empty() && !mSuppressedMicroTasks) {
+ mDebuggerMicroTaskQueue.empty() && suppressed.empty()) {
JS::JobQueueIsEmpty(Context());
}
didProcess = true;
@@ -678,9 +653,7 @@ bool CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool aForce) {
// Note, it is possible that we end up keeping these suppressed tasks around
// for some time, but no longer than spinning the event loop nestedly
// (sync XHR, alert, etc.)
- if (mSuppressedMicroTasks) {
- mPendingMicroTaskRunnables.push_back(mSuppressedMicroTasks);
- }
+ mPendingMicroTaskRunnables.swap(suppressed);
AfterProcessMicrotasks();
@@ -695,7 +668,7 @@ void CycleCollectedJSContext::PerformDebuggerMicroTaskCheckpoint() {
for (;;) {
// For a debugger microtask checkpoint, we always use the debugger microtask
// queue.
- std::deque<RefPtr<MicroTaskRunnable>>* microtaskQueue =
+ std::queue<RefPtr<MicroTaskRunnable>>* microtaskQueue =
&GetDebuggerMicroTaskQueue();
if (microtaskQueue->empty()) {
@@ -708,7 +681,7 @@ void CycleCollectedJSContext::PerformDebuggerMicroTaskCheckpoint() {
LogMicroTaskRunnable::Run log(runnable.get());
// This function can re-enter, so we remove the element before calling.
- microtaskQueue->pop_front();
+ microtaskQueue->pop();
if (mPendingMicroTaskRunnables.empty() && mDebuggerMicroTaskQueue.empty()) {
JS::JobQueueIsEmpty(Context());
diff --git a/xpcom/base/CycleCollectedJSContext.h b/xpcom/base/CycleCollectedJSContext.h
index 116bff1c90c8..769b000418ab 100644
--- a/xpcom/base/CycleCollectedJSContext.h
+++ b/xpcom/base/CycleCollectedJSContext.h
@@ -7,7 +7,7 @@
#ifndef mozilla_CycleCollectedJSContext_h
#define mozilla_CycleCollectedJSContext_h
-#include <deque>
+#include <queue>
#include "mozilla/Attributes.h"
#include "mozilla/MemoryReporting.h"
@@ -81,20 +81,6 @@ class MicroTaskRunnable {
virtual ~MicroTaskRunnable() = default;
};
-// Store the suppressed mictotasks in another microtask so that operations
-// for the microtask queue as a whole keep working.
-class SuppressedMicroTasks : public MicroTaskRunnable {
- public:
- explicit SuppressedMicroTasks(CycleCollectedJSContext* aContext);
-
- MOZ_CAN_RUN_SCRIPT_BOUNDARY void Run(AutoSlowOperation& aAso) final {}
- virtual bool Suppressed();
-
- CycleCollectedJSContext* mContext;
- uint64_t mSuppressionGeneration;
- std::deque<RefPtr<MicroTaskRunnable>> mSuppressedMicroTaskRunnables;
-};
-
// Support for JS FinalizationRegistry objects, which allow a JS callback to be
// registered that is called when objects die.
//
@@ -131,7 +117,6 @@ class FinalizationRegistryCleanup {
class CycleCollectedJSContext : dom::PerThreadAtomCache, private JS::JobQueue {
friend class CycleCollectedJSRuntime;
- friend class SuppressedMicroTasks;
protected:
CycleCollectedJSContext();
@@ -181,8 +166,8 @@ class CycleCollectedJSContext : dom::PerThreadAtomCache, private JS::JobQueue {
already_AddRefed<dom::Exception> GetPendingException() const;
void SetPendingException(dom::Exception* aException);
- std::deque<RefPtr<MicroTaskRunnable>>& GetMicroTaskQueue();
- std::deque<RefPtr<MicroTaskRunnable>>& GetDebuggerMicroTaskQueue();
+ std::queue<RefPtr<MicroTaskRunnable>>& GetMicroTaskQueue();
+ std::queue<RefPtr<MicroTaskRunnable>>& GetDebuggerMicroTaskQueue();
JSContext* Context() const {
MOZ_ASSERT(mJSContext);
@@ -198,8 +183,6 @@ class CycleCollectedJSContext : dom::PerThreadAtomCache, private JS::JobQueue {
mTargetedMicroTaskRecursionDepth = aDepth;
}
- void UpdateMicroTaskSuppressionGeneration() { ++mSuppressionGeneration; }
-
protected:
JSContext* MaybeContext() const { return mJSContext; }
@@ -333,10 +316,8 @@ class CycleCollectedJSContext : dom::PerThreadAtomCache, private JS::JobQueue {
uint32_t mMicroTaskLevel;
- std::deque<RefPtr<MicroTaskRunnable>> mPendingMicroTaskRunnables;
- std::deque<RefPtr<MicroTaskRunnable>> mDebuggerMicroTaskQueue;
- RefPtr<SuppressedMicroTasks> mSuppressedMicroTasks;
- uint64_t mSuppressionGeneration;
+ std::queue<RefPtr<MicroTaskRunnable>> mPendingMicroTaskRunnables;
+ std::queue<RefPtr<MicroTaskRunnable>> mDebuggerMicroTaskQueue;
// How many times the debugger has interrupted execution, possibly creating
// microtask checkpoints in places that they would not normally occur.
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 16439: Remove screencasting code
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 422958690d077330d6840e498fbf905882eb7c9a
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Wed Jun 24 11:01:11 2015 -0400
Bug 16439: Remove screencasting code
We avoid including the screencasting code on mobile (it got ripped out
for desktop in bug 1393582) by simply excluding the related JS modules
from Tor Browser.
---
toolkit/modules/moz.build | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/toolkit/modules/moz.build b/toolkit/modules/moz.build
index 8ac56c81e646..3fb050b5d18b 100644
--- a/toolkit/modules/moz.build
+++ b/toolkit/modules/moz.build
@@ -255,10 +255,11 @@ if "Android" != CONFIG["OS_TARGET"]:
]
else:
DEFINES["ANDROID"] = True
- EXTRA_JS_MODULES += [
- "secondscreen/RokuApp.jsm",
- "secondscreen/SimpleServiceDiscovery.jsm",
- ]
+ if not CONFIG["TOR_BROWSER_VERSION"]:
+ EXTRA_JS_MODULES += [
+ "secondscreen/RokuApp.jsm",
+ "secondscreen/SimpleServiceDiscovery.jsm",
+ ]
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Adding issue template for bugs.
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 1a6186d28bb60a075fdcb96825929efe2800406b
Author: Gaba <gaba(a)torproject.org>
Date: Mon Jun 28 11:44:16 2021 -0700
Adding issue template for bugs.
---
.gitlab/issue_templates/UXBug.md | 29 +++++++++++++++++++++++++++++
.gitlab/issue_templates/bug.md | 32 ++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+)
diff --git a/.gitlab/issue_templates/UXBug.md b/.gitlab/issue_templates/UXBug.md
new file mode 100644
index 000000000000..8e7cb2a5e163
--- /dev/null
+++ b/.gitlab/issue_templates/UXBug.md
@@ -0,0 +1,29 @@
+<!--
+* Use this issue template for reporting a new UX bug.
+-->
+
+### Summary
+**Summarize the bug encountered concisely.**
+
+
+### Steps to reproduce:
+**How one can reproduce the issue - this is very important.**
+
+1. Step 1
+2. Step 2
+3. ...
+
+### What is the current bug behavior?
+**What actually happens.**
+
+
+### What is the expected behavior?
+**What you want to see instead**
+
+
+
+## Relevant logs and/or screenshots
+**Do you have screenshots? Attach them to this ticket please.**
+
+/label ~tor-ux ~needs-investigation ~bug
+/assign @nah
diff --git a/.gitlab/issue_templates/bug.md b/.gitlab/issue_templates/bug.md
new file mode 100644
index 000000000000..6ce85a4864be
--- /dev/null
+++ b/.gitlab/issue_templates/bug.md
@@ -0,0 +1,32 @@
+<!--
+* Use this issue template for reporting a new bug.
+-->
+
+### Summary
+**Summarize the bug encountered concisely.**
+
+
+### Steps to reproduce:
+**How one can reproduce the issue - this is very important.**
+
+1. Step 1
+2. Step 2
+3. ...
+
+### What is the current bug behavior?
+**What actually happens.**
+
+
+### What is the expected behavior?
+**What you want to see instead**
+
+
+
+### Environment
+**Which operating system are you using? For example: Debian GNU/Linux 10.1, Windows 10, Ubuntu Xenial, FreeBSD 12.2, etc.**
+**Which installation method did you use? Distribution package (apt, pkg, homebrew), from source tarball, from Git, etc.**
+
+### Relevant logs and/or screenshots
+
+
+/label ~bug
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 24796 - Comment out excess permissions from GeckoView
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 078f62fa9cf29cfa245f04ff1765e9f95b3327d9
Author: Matthew Finkel <Matthew.Finkel(a)gmail.com>
Date: Wed Apr 11 17:52:59 2018 +0000
Bug 24796 - Comment out excess permissions from GeckoView
The GeckoView AndroidManifest.xml is not preprocessed unlike Fennec's
manifest, so we can't use the ifdef preprocessor guards around the
permissions we do not want. Commenting the permissions is the
next-best-thing.
---
.../android/geckoview/src/main/AndroidManifest.xml | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/mobile/android/geckoview/src/main/AndroidManifest.xml b/mobile/android/geckoview/src/main/AndroidManifest.xml
index a76b6a4754b6..7a2f30708fc3 100644
--- a/mobile/android/geckoview/src/main/AndroidManifest.xml
+++ b/mobile/android/geckoview/src/main/AndroidManifest.xml
@@ -6,20 +6,32 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.mozilla.geckoview">
+<!--#ifdef MOZ_ANDROID_NETWORK_STATE-->
+ <!--
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+ -->
+<!--#endif-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
+<!--#ifdef MOZ_ANDROID_LOCATION-->
+ <!--
<uses-feature
android:name="android.hardware.location"
android:required="false"/>
<uses-feature
android:name="android.hardware.location.gps"
android:required="false"/>
+ -->
+<!--#endif-->
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false"/>
+<!--#ifdef MOZ_WEBRTC-->
+ <!-- TODO preprocess AndroidManifest.xml so that we can
+ conditionally include WebRTC permissions based on MOZ_WEBRTC. -->
+ <!--
<uses-feature
android:name="android.hardware.camera"
android:required="false"/>
@@ -28,14 +40,16 @@
android:required="false"/>
<uses-feature
- android:name="android.hardware.audio.low_latency"
+ android:name="android.hardware.camera.any"
android:required="false"/>
<uses-feature
- android:name="android.hardware.microphone"
+ android:name="android.hardware.audio.low_latency"
android:required="false"/>
<uses-feature
- android:name="android.hardware.camera.any"
+ android:name="android.hardware.microphone"
android:required="false"/>
+ -->
+<!--#endif-->
<!-- GeckoView requires OpenGL ES 2.0 -->
<uses-feature
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 33852: Clean up about:logins (LockWise) to avoid mentioning sync, etc.
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 09aa0d0e95807e3d8c39b2b1741f1e204a7616ca
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue Jul 14 11:15:07 2020 -0400
Bug 33852: Clean up about:logins (LockWise) to avoid mentioning sync, etc.
Hide elements on about:logins that mention sync, "Firefox LockWise", and
Mozilla's LockWise mobile apps.
Disable the "Create New Login" button when security.nocertdb is true.
---
browser/components/aboutlogins/AboutLoginsParent.jsm | 2 ++
browser/components/aboutlogins/content/aboutLogins.css | 8 +++++++-
browser/components/aboutlogins/content/aboutLogins.js | 6 ++++++
.../aboutlogins/content/components/fxaccounts-button.css | 5 +++++
.../components/aboutlogins/content/components/menu-button.css | 10 ++++++++++
5 files changed, 30 insertions(+), 1 deletion(-)
diff --git a/browser/components/aboutlogins/AboutLoginsParent.jsm b/browser/components/aboutlogins/AboutLoginsParent.jsm
index db0b55d26abc..39fd2356ce99 100644
--- a/browser/components/aboutlogins/AboutLoginsParent.jsm
+++ b/browser/components/aboutlogins/AboutLoginsParent.jsm
@@ -61,6 +61,7 @@ XPCOMUtils.defineLazyGetter(this, "AboutLoginsL10n", () => {
const ABOUT_LOGINS_ORIGIN = "about:logins";
const MASTER_PASSWORD_NOTIFICATION_ID = "master-password-login-required";
+const NOCERTDB_PREF = "security.nocertdb";
// about:logins will always use the privileged content process,
// even if it is disabled for other consumers such as about:newtab.
@@ -273,6 +274,7 @@ class AboutLoginsParent extends JSWindowActorParent {
importVisible:
Services.policies.isAllowed("profileImport") &&
AppConstants.platform != "linux",
+ canCreateLogins: !Services.prefs.getBoolPref(NOCERTDB_PREF, false),
});
await AboutLogins._sendAllLoginRelatedObjects(
diff --git a/browser/components/aboutlogins/content/aboutLogins.css b/browser/components/aboutlogins/content/aboutLogins.css
index e3528ca49b84..eaa224178487 100644
--- a/browser/components/aboutlogins/content/aboutLogins.css
+++ b/browser/components/aboutlogins/content/aboutLogins.css
@@ -69,6 +69,11 @@ login-item {
grid-area: login;
}
+/* Do not promote Mozilla Sync in Tor Browser. */
+login-intro {
+ display: none !important;
+}
+
#branding-logo {
flex-basis: var(--sidebar-width);
flex-shrink: 0;
@@ -83,7 +88,8 @@ login-item {
}
}
-:root:not(.official-branding) #branding-logo {
+/* Hide "Firefox LockWise" branding in Tor Browser. */
+#branding-logo {
visibility: hidden;
}
diff --git a/browser/components/aboutlogins/content/aboutLogins.js b/browser/components/aboutlogins/content/aboutLogins.js
index 494ef5c7a15b..27ff0295f2f6 100644
--- a/browser/components/aboutlogins/content/aboutLogins.js
+++ b/browser/components/aboutlogins/content/aboutLogins.js
@@ -22,6 +22,9 @@ const gElements = {
".menuitem-remove-all-logins"
);
},
+ get createNewLoginButton() {
+ return this.loginList.shadowRoot.querySelector(".create-login-button");
+ },
};
let numberOfLogins = 0;
@@ -128,6 +131,9 @@ window.addEventListener("AboutLoginsChromeToContent", event => {
gElements.loginList.setSortDirection(event.detail.value.selectedSort);
document.documentElement.classList.add("initialized");
gElements.loginList.classList.add("initialized");
+ if (!event.detail.value.canCreateLogins) {
+ gElements.createNewLoginButton.disabled = true;
+ }
break;
}
case "ShowLoginItemError": {
diff --git a/browser/components/aboutlogins/content/components/fxaccounts-button.css b/browser/components/aboutlogins/content/components/fxaccounts-button.css
index c8925f6fc75d..55c2a8810fa1 100644
--- a/browser/components/aboutlogins/content/components/fxaccounts-button.css
+++ b/browser/components/aboutlogins/content/components/fxaccounts-button.css
@@ -8,6 +8,11 @@
align-items: center;
}
+/* Do not promote Mozilla Sync in Tor Browser. */
+.logged-out-view {
+ display: none !important;
+}
+
.fxaccounts-extra-text {
/* Only show at most 3 lines of text to limit the
text from overflowing the header. */
diff --git a/browser/components/aboutlogins/content/components/menu-button.css b/browser/components/aboutlogins/content/components/menu-button.css
index 99ca6a711093..24cdb48773f9 100644
--- a/browser/components/aboutlogins/content/components/menu-button.css
+++ b/browser/components/aboutlogins/content/components/menu-button.css
@@ -92,3 +92,13 @@
.menuitem-preferences {
background-image: url("chrome://global/skin/icons/settings.svg");
}
+
+/*
+ * Do not promote LockWise mobile apps in Tor Browser: hide the menu items
+ * and the separator line that precedes them.
+ */
+.menuitem-mobile-android,
+.menuitem-mobile-ios,
+button[data-event-name="AboutLoginsGetHelp"] + hr {
+ display: none !important;
+}
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 40166: Disable security.certerrors.mitm.auto_enable_enterprise_roots
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 23cbc8ee9861b68d1de4c510bab233362e2d85b4
Author: Alex Catarineu <acat(a)torproject.org>
Date: Fri Oct 9 12:55:35 2020 +0200
Bug 40166: Disable security.certerrors.mitm.auto_enable_enterprise_roots
---
browser/components/BrowserGlue.jsm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/browser/components/BrowserGlue.jsm b/browser/components/BrowserGlue.jsm
index 1f293a5c57f3..2fc77f0011dd 100644
--- a/browser/components/BrowserGlue.jsm
+++ b/browser/components/BrowserGlue.jsm
@@ -1352,6 +1352,20 @@ BrowserGlue.prototype = {
// handle any UI migration
this._migrateUI();
+ // Clear possibly auto enabled enterprise_roots prefs (see bug 40166)
+ if (
+ !Services.prefs.getBoolPref(
+ "security.certerrors.mitm.auto_enable_enterprise_roots"
+ ) &&
+ Services.prefs.getBoolPref(
+ "security.enterprise_roots.auto-enabled",
+ false
+ )
+ ) {
+ Services.prefs.clearUserPref("security.enterprise_roots.enabled");
+ Services.prefs.clearUserPref("security.enterprise_roots.auto-enabled");
+ }
+
if (!Services.prefs.prefHasUserValue(PREF_PDFJS_ISDEFAULT_CACHE_STATE)) {
PdfJs.checkIsDefault(this._isNewProfile);
}
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 21431: Clean-up system extensions shipped in Firefox
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit c2bb22fd2450eb9d1638a26ce0583856c90479bf
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue May 23 17:05:29 2017 -0400
Bug 21431: Clean-up system extensions shipped in Firefox
Only ship the pdfjs extension.
---
browser/components/BrowserGlue.jsm | 6 ++++++
browser/extensions/moz.build | 10 +---------
browser/installer/package-manifest.in | 1 -
browser/locales/Makefile.in | 8 --------
browser/locales/jar.mn | 7 -------
5 files changed, 7 insertions(+), 25 deletions(-)
diff --git a/browser/components/BrowserGlue.jsm b/browser/components/BrowserGlue.jsm
index 2fc77f0011dd..29186b80c6b7 100644
--- a/browser/components/BrowserGlue.jsm
+++ b/browser/components/BrowserGlue.jsm
@@ -1966,6 +1966,9 @@ BrowserGlue.prototype = {
const ID = "screenshots(a)mozilla.org";
const _checkScreenshotsPref = async () => {
let addon = await AddonManager.getAddonByID(ID);
+ if (!addon) {
+ return;
+ }
let disabled = Services.prefs.getBoolPref(PREF, false);
if (disabled) {
await addon.disable({ allowSystemAddons: true });
@@ -1982,6 +1985,9 @@ BrowserGlue.prototype = {
const ID = "webcompat-reporter(a)mozilla.org";
Services.prefs.addObserver(PREF, async () => {
let addon = await AddonManager.getAddonByID(ID);
+ if (!addon) {
+ return;
+ }
let enabled = Services.prefs.getBoolPref(PREF, false);
if (enabled && !addon.isActive) {
await addon.enable({ allowSystemAddons: true });
diff --git a/browser/extensions/moz.build b/browser/extensions/moz.build
index 26d059a21aef..ab735cf2688f 100644
--- a/browser/extensions/moz.build
+++ b/browser/extensions/moz.build
@@ -4,15 +4,7 @@
# 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/.
-DIRS += [
- "doh-rollout",
- "formautofill",
- "screenshots",
- "webcompat",
- "report-site-issue",
- "pictureinpicture",
- "proxy-failover",
-]
+DIRS += []
if CONFIG["NIGHTLY_BUILD"]:
DIRS += [
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index c64d488c750c..0c9051642686 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -250,7 +250,6 @@
@RESPATH@/browser/chrome/icons/default/default64.png
@RESPATH@/browser/chrome/icons/default/default128.png
#endif
-@RESPATH@/browser/features/*
; [DevTools Startup Files]
@RESPATH@/browser/chrome/devtools-startup@JAREXT@
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
index 496379c4306f..0946188813da 100644
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -58,10 +58,6 @@ l10n-%:
@$(MAKE) -C ../../toolkit/locales l10n-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
-ifneq (,$(wildcard ../extensions/formautofill/locales))
- @$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
-endif
- @$(MAKE) -C ../extensions/report-site-issue/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -C ../../devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) l10n AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
@@ -75,14 +71,10 @@ chrome-%:
@$(MAKE) -C ../../toolkit/locales chrome-$*
@$(MAKE) -C ../../services/sync/locales chrome AB_CD=$*
@$(MAKE) -C ../../extensions/spellcheck/locales chrome AB_CD=$*
-ifneq (,$(wildcard ../extensions/formautofill/locales))
- @$(MAKE) -C ../extensions/formautofill/locales chrome AB_CD=$*
-endif
@$(MAKE) -C ../../devtools/client/locales chrome AB_CD=$*
@$(MAKE) -C ../../devtools/startup/locales chrome AB_CD=$*
@$(MAKE) chrome AB_CD=$*
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
- @$(MAKE) -C ../extensions/report-site-issue/locales chrome AB_CD=$*
package-win32-installer: $(SUBMAKEFILES)
$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen ZIP_IN='$(ZIP_OUT)' installer
diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
index 3b7963c854e1..fd6e0ac76843 100644
--- a/browser/locales/jar.mn
+++ b/browser/locales/jar.mn
@@ -45,10 +45,3 @@
# the following files are browser-specific overrides
locale/browser/netError.dtd (%chrome/overrides/netError.dtd)
locale/browser/appstrings.properties (%chrome/overrides/appstrings.properties)
-
-#ifdef XPI_NAME
-# Bug 1240628, restructure how l10n repacks work with feature addons
-# This is hacky, but ensures the chrome.manifest chain is complete
-[.] chrome.jar:
-% manifest features/chrome.manifest
-#endif
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 28125 - Prevent non-Necko network connections
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 9753a3777d74200e0b842fa9d38e99ac809af31a
Author: Matthew Finkel <Matthew.Finkel(a)gmail.com>
Date: Thu Oct 25 19:17:09 2018 +0000
Bug 28125 - Prevent non-Necko network connections
---
.../gecko/media/GeckoMediaDrmBridgeV21.java | 49 +---------------------
.../exoplayer2/upstream/DefaultHttpDataSource.java | 47 ++-------------------
2 files changed, 4 insertions(+), 92 deletions(-)
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java
index 6e75e6fb4dd5..7faa9bc2821d 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java
@@ -490,54 +490,7 @@ public class GeckoMediaDrmBridgeV21 implements GeckoMediaDrm {
@Override
protected Void doInBackground(final Void... params) {
- HttpURLConnection urlConnection = null;
- BufferedReader in = null;
- try {
- final URI finalURI = new URI(mURL + "&signedRequest=" + URLEncoder.encode(new String(mDrmRequest), "UTF-8"));
- urlConnection = (HttpURLConnection) ProxySelector.openConnectionWithProxy(finalURI);
- urlConnection.setRequestMethod("POST");
- if (DEBUG) Log.d(LOGTAG, "Provisioning, posting url =" + finalURI.toString());
-
- // Add data
- urlConnection.setRequestProperty("Accept", "*/*");
- urlConnection.setRequestProperty("User-Agent", getCDMUserAgent());
- urlConnection.setRequestProperty("Content-Type", "application/json");
-
- // Execute HTTP Post Request
- urlConnection.connect();
-
- final int responseCode = urlConnection.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK) {
- in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), UTF_8));
- String inputLine;
- final StringBuffer response = new StringBuffer();
-
- while ((inputLine = in.readLine()) != null) {
- response.append(inputLine);
- }
- in.close();
- mResponseBody = String.valueOf(response).getBytes(UTF_8);
- if (DEBUG) Log.d(LOGTAG, "Provisioning, response received.");
- if (mResponseBody != null) Log.d(LOGTAG, "response length=" + mResponseBody.length);
- } else {
- Log.d(LOGTAG, "Provisioning, server returned HTTP error code :" + responseCode);
- }
- } catch (final IOException e) {
- Log.e(LOGTAG, "Got exception during posting provisioning request ...", e);
- } catch (final URISyntaxException e) {
- Log.e(LOGTAG, "Got exception during creating uri ...", e);
- } finally {
- if (urlConnection != null) {
- urlConnection.disconnect();
- }
- try {
- if (in != null) {
- in.close();
- }
- } catch (final IOException e) {
- Log.e(LOGTAG, "Exception during closing in ...", e);
- }
- }
+ Log.i(LOGTAG, "This is Tor Browser. Skipping.");
return null;
}
diff --git a/mobile/android/geckoview/src/thirdparty/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java b/mobile/android/geckoview/src/thirdparty/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
index 6e5095b0a4c9..a585e283ed4e 100644
--- a/mobile/android/geckoview/src/thirdparty/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
+++ b/mobile/android/geckoview/src/thirdparty/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
@@ -46,6 +46,7 @@ import java.util.regex.Pattern;
import java.util.zip.GZIPInputStream;
import org.mozilla.gecko.util.ProxySelector;
+
/**
* An {@link HttpDataSource} that uses Android's {@link HttpURLConnection}.
*
@@ -516,50 +517,8 @@ public class DefaultHttpDataSource extends BaseDataSource implements HttpDataSou
boolean followRedirects,
Map<String, String> requestParameters)
throws IOException, URISyntaxException {
- /**
- * Tor Project modified the way the connection object was created. For the sake of
- * simplicity, instead of duplicating the whole file we changed the connection object
- * to use the ProxySelector.
- */
- HttpURLConnection connection = (HttpURLConnection) ProxySelector.openConnectionWithProxy(url.toURI());
-
- connection.setConnectTimeout(connectTimeoutMillis);
- connection.setReadTimeout(readTimeoutMillis);
-
- Map<String, String> requestHeaders = new HashMap<>();
- if (defaultRequestProperties != null) {
- requestHeaders.putAll(defaultRequestProperties.getSnapshot());
- }
- requestHeaders.putAll(requestProperties.getSnapshot());
- requestHeaders.putAll(requestParameters);
-
- for (Map.Entry<String, String> property : requestHeaders.entrySet()) {
- connection.setRequestProperty(property.getKey(), property.getValue());
- }
-
- if (!(position == 0 && length == C.LENGTH_UNSET)) {
- String rangeRequest = "bytes=" + position + "-";
- if (length != C.LENGTH_UNSET) {
- rangeRequest += (position + length - 1);
- }
- connection.setRequestProperty("Range", rangeRequest);
- }
- connection.setRequestProperty("User-Agent", userAgent);
- connection.setRequestProperty("Accept-Encoding", allowGzip ? "gzip" : "identity");
- connection.setInstanceFollowRedirects(followRedirects);
- connection.setDoOutput(httpBody != null);
- connection.setRequestMethod(DataSpec.getStringForHttpMethod(httpMethod));
-
- if (httpBody != null) {
- connection.setFixedLengthStreamingMode(httpBody.length);
- connection.connect();
- OutputStream os = connection.getOutputStream();
- os.write(httpBody);
- os.close();
- } else {
- connection.connect();
- }
- return connection;
+ Log.i(TAG, "This is Tor Browser. Skipping.");
+ throw new IOException();
}
/** Creates an {@link HttpURLConnection} that is connected with the {@code url}. */
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 16285: Exclude ClearKey system for now
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 96d083671acda10b7982ad553c89c9762ba3aa66
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon May 22 12:44:40 2017 +0000
Bug 16285: Exclude ClearKey system for now
In the past the ClearKey system had not been compiled when specifying
--disable-eme. But that changed and it is even bundled nowadays (see:
Mozilla's bug 1300654). We don't want to ship it right now as the use
case for it is not really visible while the code had security
vulnerabilities in the past.
---
browser/installer/package-manifest.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index 40de7394e6ee..c64d488c750c 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -449,8 +449,8 @@ bin/libfreebl_64int_3.so
#endif
; media
-@RESPATH@/gmp-clearkey/0.1/@DLL_PREFIX@clearkey@DLL_SUFFIX@
-@RESPATH@/gmp-clearkey/0.1/manifest.json
+;@RESPATH@/gmp-clearkey/0.1/@DLL_PREFIX@clearkey@DLL_SUFFIX@
+;@RESPATH@/gmp-clearkey/0.1/manifest.json
#ifdef MOZ_DMD
; DMD
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 40025: Remove Mozilla add-on install permissions
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit c3845bff8006f4b5f67b49f3c931885c623f835c
Author: Alex Catarineu <acat(a)torproject.org>
Date: Mon Jul 27 18:12:55 2020 +0200
Bug 40025: Remove Mozilla add-on install permissions
---
browser/app/permissions | 5 -----
1 file changed, 5 deletions(-)
diff --git a/browser/app/permissions b/browser/app/permissions
index c33d0155a15e..47eccccec5a1 100644
--- a/browser/app/permissions
+++ b/browser/app/permissions
@@ -16,11 +16,6 @@ origin uitour 1 https://support.mozilla.org
origin uitour 1 about:home
origin uitour 1 about:newtab
-# XPInstall
-origin install 1 https://addons.mozilla.org
-
# Remote troubleshooting
origin remote-troubleshooting 1 https://support.mozilla.org
-# addon install
-origin install 1 https://fpn.firefox.com
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 18821: Disable libmdns for Android and Desktop
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 5fa1e822d055a5d64fc00aafb0607ea0292f17f6
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Apr 20 14:34:50 2016 +0000
Bug 18821: Disable libmdns for Android and Desktop
There should be no need to remove the OS X support introduced in
https://bugzilla.mozilla.org/show_bug.cgi?id=1225726 as enabling this
is governed by a preference (which is actually set to `false`). However,
we remove it at build time as well (defense in depth).
This is basically a backout of the relevant passages of
https://hg.mozilla.org/mozilla-central/rev/6bfb430de85d,
https://hg.mozilla.org/mozilla-central/rev/609b337bf7ab and
https://hg.mozilla.org/mozilla-central/rev/8e092ec5fbbd.
Fixed bug 21861 (Disable additional mDNS code to avoid proxy bypasses)
as well.
Mozilla removed the Presentation API piece of this patch in Bug 1697680.
---
netwerk/dns/mdns/libmdns/components.conf | 15 ---------------
netwerk/dns/mdns/libmdns/moz.build | 28 ----------------------------
2 files changed, 43 deletions(-)
diff --git a/netwerk/dns/mdns/libmdns/components.conf b/netwerk/dns/mdns/libmdns/components.conf
index 6e64140c820e..1b50dbf673a4 100644
--- a/netwerk/dns/mdns/libmdns/components.conf
+++ b/netwerk/dns/mdns/libmdns/components.conf
@@ -5,20 +5,5 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
Classes = [
- {
- 'cid': '{14a50f2b-7ff6-48a5-88e3-615fd111f5d3}',
- 'contract_ids': ['@mozilla.org/toolkit/components/mdnsresponder/dns-info;1'],
- 'type': 'mozilla::net::nsDNSServiceInfo',
- 'headers': ['/netwerk/dns/mdns/libmdns/nsDNSServiceInfo.h'],
- },
]
-if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'cocoa':
- Classes += [
- {
- 'cid': '{f9346d98-f27a-4e89-b744-493843416480}',
- 'contract_ids': ['@mozilla.org/toolkit/components/mdnsresponder/dns-sd;1'],
- 'jsm': 'resource://gre/modules/DNSServiceDiscovery.jsm',
- 'constructor': 'nsDNSServiceDiscovery',
- },
- ]
diff --git a/netwerk/dns/mdns/libmdns/moz.build b/netwerk/dns/mdns/libmdns/moz.build
index f9c025fa823e..e6e70a6d803c 100644
--- a/netwerk/dns/mdns/libmdns/moz.build
+++ b/netwerk/dns/mdns/libmdns/moz.build
@@ -4,34 +4,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/.
-if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
- UNIFIED_SOURCES += [
- "MDNSResponderOperator.cpp",
- "MDNSResponderReply.cpp",
- "nsDNSServiceDiscovery.cpp",
- ]
-
- LOCAL_INCLUDES += [
- "/netwerk/base",
- ]
-
-else:
- EXTRA_JS_MODULES += [
- "DNSServiceDiscovery.jsm",
- "fallback/DataReader.jsm",
- "fallback/DataWriter.jsm",
- "fallback/DNSPacket.jsm",
- "fallback/DNSRecord.jsm",
- "fallback/DNSResourceRecord.jsm",
- "fallback/DNSTypes.jsm",
- "fallback/MulticastDNS.jsm",
- ]
-
- if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
- EXTRA_JS_MODULES += [
- "MulticastDNSAndroid.jsm",
- ]
-
UNIFIED_SOURCES += [
"nsDNSServiceInfo.cpp",
]
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 40002: Remove about:ion
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 578086a75826b9ad44953f037ae99a309a1aae61
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Fri Aug 14 09:06:33 2020 -0400
Bug 40002: Remove about:ion
Firefox Ion (previously Firefox Pioneer) is an opt-in program in which people
volunteer to participate in studies that collect detailed, sensitive data about
how they use their browser.
---
browser/base/content/browser-siteIdentity.js | 2 +-
browser/components/about/AboutRedirector.cpp | 2 --
browser/components/about/components.conf | 1 -
3 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js
index 859ebf5eaa3f..8c6d1e20ddef 100644
--- a/browser/base/content/browser-siteIdentity.js
+++ b/browser/base/content/browser-siteIdentity.js
@@ -57,7 +57,7 @@ var gIdentityHandler = {
* RegExp used to decide if an about url should be shown as being part of
* the browser UI.
*/
- _secureInternalPages: /^(?:accounts|addons|cache|certificate|config|crashes|downloads|license|logins|preferences|protections|rights|sessionrestore|support|welcomeback|ion)(?:[?#]|$)/i,
+ _secureInternalPages: /^(?:accounts|addons|cache|certificate|config|crashes|downloads|license|logins|preferences|protections|rights|sessionrestore|support|welcomeback)(?:[?#]|$)/i,
/**
* Whether the established HTTPS connection is considered "broken".
diff --git a/browser/components/about/AboutRedirector.cpp b/browser/components/about/AboutRedirector.cpp
index 5412a65c315f..2ace276cd50c 100644
--- a/browser/components/about/AboutRedirector.cpp
+++ b/browser/components/about/AboutRedirector.cpp
@@ -126,8 +126,6 @@ static const RedirEntry kRedirMap[] = {
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT |
nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS},
- {"ion", "chrome://browser/content/ion.html",
- nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::HIDE_FROM_ABOUTABOUT},
};
static nsAutoCString GetAboutModuleName(nsIURI* aURI) {
diff --git a/browser/components/about/components.conf b/browser/components/about/components.conf
index 0c9597ff9fb4..6fd827dead37 100644
--- a/browser/components/about/components.conf
+++ b/browser/components/about/components.conf
@@ -13,7 +13,6 @@ pages = [
'logins',
'loginsimportreport',
'newtab',
- 'ion',
'pocket-home',
'pocket-saved',
'pocket-signup',
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 12974: Disable NTLM and Negotiate HTTP Auth
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 0782a6a990f815767c0de30322088de34121cc49
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Wed Aug 27 15:19:10 2014 -0700
Bug 12974: Disable NTLM and Negotiate HTTP Auth
This is technically an embargoed Mozilla bug, so I probably shouldn't provide
too many details.
Suffice to say that NTLM and Negotiate auth are bad for Tor users, and I doubt
very many (or any of them) actually need it.
The Mozilla bug was https://bugzilla.mozilla.org/show_bug.cgi?id=1046421,
however we still need to keep this patch because of tor-browser#27602.
---
extensions/auth/nsHttpNegotiateAuth.cpp | 4 ++++
netwerk/protocol/http/nsHttpNTLMAuth.cpp | 3 +++
2 files changed, 7 insertions(+)
diff --git a/extensions/auth/nsHttpNegotiateAuth.cpp b/extensions/auth/nsHttpNegotiateAuth.cpp
index fde44d6ce9ef..a3b3422e2c42 100644
--- a/extensions/auth/nsHttpNegotiateAuth.cpp
+++ b/extensions/auth/nsHttpNegotiateAuth.cpp
@@ -155,6 +155,10 @@ nsHttpNegotiateAuth::ChallengeReceived(nsIHttpAuthenticableChannel* authChannel,
nsIAuthModule* rawModule = (nsIAuthModule*)*continuationState;
*identityInvalid = false;
+
+ /* Always fail Negotiate auth for Tor Browser. We don't need it. */
+ return NS_ERROR_ABORT;
+
if (rawModule) {
return NS_OK;
}
diff --git a/netwerk/protocol/http/nsHttpNTLMAuth.cpp b/netwerk/protocol/http/nsHttpNTLMAuth.cpp
index a98093b484fa..e44fc4153e2e 100644
--- a/netwerk/protocol/http/nsHttpNTLMAuth.cpp
+++ b/netwerk/protocol/http/nsHttpNTLMAuth.cpp
@@ -169,6 +169,9 @@ nsHttpNTLMAuth::ChallengeReceived(nsIHttpAuthenticableChannel* channel,
*identityInvalid = false;
+ /* Always fail Negotiate auth for Tor Browser. We don't need it. */
+ return NS_ERROR_ABORT;
+
// Start a new auth sequence if the challenge is exactly "NTLM".
// If native NTLM auth apis are available and enabled through prefs,
// try to use them.
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 26353: Prevent speculative connect that violated FPI.
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit c5bad9c78fadd668b37be3263729d2ce0699efbe
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Sat Jul 14 08:50:55 2018 -0700
Bug 26353: Prevent speculative connect that violated FPI.
Connections were observed in the catch-all circuit when
the user entered an https or http URL in the URL bar, or
typed a search term.
---
toolkit/components/remotebrowserutils/RemoteWebNavigation.jsm | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/toolkit/components/remotebrowserutils/RemoteWebNavigation.jsm b/toolkit/components/remotebrowserutils/RemoteWebNavigation.jsm
index 5d46b1dd8e3b..5a1f8075d1e7 100644
--- a/toolkit/components/remotebrowserutils/RemoteWebNavigation.jsm
+++ b/toolkit/components/remotebrowserutils/RemoteWebNavigation.jsm
@@ -95,6 +95,9 @@ class RemoteWebNavigation {
}
uri = Services.uriFixup.getFixupURIInfo(aURI, fixupFlags).preferredURI;
+/*******************************************************************************
+ TOR BROWSER: Disable the following speculative connect until
+ we can make it properly obey first-party isolation.
// We know the url is going to be loaded, let's start requesting network
// connection before the content process asks.
@@ -118,6 +121,7 @@ class RemoteWebNavigation {
}
Services.io.speculativeConnect(uri, principal, null);
}
+*******************************************************************************/
} catch (ex) {
// Can't setup speculative connection for this uri string for some
// reason (such as failing to parse the URI), just ignore it.
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 28369: Stop shipping pingsender executable
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 89aac33b8db3245a83f2dfcaee1675cdfa0b4506
Author: Alex Catarineu <acat(a)torproject.org>
Date: Wed Apr 10 17:52:51 2019 +0200
Bug 28369: Stop shipping pingsender executable
---
browser/app/macbuild/Contents/MacOS-files.in | 1 -
browser/installer/package-manifest.in | 4 ----
browser/installer/windows/nsis/shared.nsh | 1 -
python/mozbuild/mozbuild/artifacts.py | 2 --
toolkit/components/telemetry/app/TelemetrySend.jsm | 19 +------------------
toolkit/components/telemetry/moz.build | 4 ----
6 files changed, 1 insertion(+), 30 deletions(-)
diff --git a/browser/app/macbuild/Contents/MacOS-files.in b/browser/app/macbuild/Contents/MacOS-files.in
index 6f0b4481473b..6e8a1689ea19 100644
--- a/browser/app/macbuild/Contents/MacOS-files.in
+++ b/browser/app/macbuild/Contents/MacOS-files.in
@@ -17,7 +17,6 @@
#if defined(MOZ_CRASHREPORTER)
/minidump-analyzer
#endif
-/pingsender
/pk12util
/ssltunnel
/xpcshell
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index 0c9051642686..26f093c50064 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -428,10 +428,6 @@ bin/libfreebl_64int_3.so
@BINPATH@/minidump-analyzer@BIN_SUFFIX@
#endif
-; [ Ping Sender ]
-;
-@BINPATH@/pingsender@BIN_SUFFIX@
-
; Shutdown Terminator
@RESPATH@/components/terminator.manifest
diff --git a/browser/installer/windows/nsis/shared.nsh b/browser/installer/windows/nsis/shared.nsh
index beeb67211e47..7439ffd33e3e 100755
--- a/browser/installer/windows/nsis/shared.nsh
+++ b/browser/installer/windows/nsis/shared.nsh
@@ -1478,7 +1478,6 @@ ${RemoveDefaultBrowserAgentShortcut}
Push "crashreporter.exe"
Push "default-browser-agent.exe"
Push "minidump-analyzer.exe"
- Push "pingsender.exe"
Push "updater.exe"
Push "mozwer.dll"
Push "${FileMainEXE}"
diff --git a/python/mozbuild/mozbuild/artifacts.py b/python/mozbuild/mozbuild/artifacts.py
index ee05eb2b2e88..f99f08b21d1c 100644
--- a/python/mozbuild/mozbuild/artifacts.py
+++ b/python/mozbuild/mozbuild/artifacts.py
@@ -506,7 +506,6 @@ class LinuxArtifactJob(ArtifactJob):
"{product}/{product}",
"{product}/{product}-bin",
"{product}/minidump-analyzer",
- "{product}/pingsender",
"{product}/plugin-container",
"{product}/updater",
"{product}/**/*.so",
@@ -561,7 +560,6 @@ class MacArtifactJob(ArtifactJob):
"{product}-bin",
"*.dylib",
"minidump-analyzer",
- "pingsender",
"plugin-container.app/Contents/MacOS/plugin-container",
"updater.app/Contents/MacOS/org.mozilla.updater",
# 'xpcshell',
diff --git a/toolkit/components/telemetry/app/TelemetrySend.jsm b/toolkit/components/telemetry/app/TelemetrySend.jsm
index 0da39d85ad33..c87a281019e4 100644
--- a/toolkit/components/telemetry/app/TelemetrySend.jsm
+++ b/toolkit/components/telemetry/app/TelemetrySend.jsm
@@ -1595,23 +1595,6 @@ var TelemetrySendImpl = {
},
runPingSender(pings, observer) {
- if (AppConstants.platform === "android") {
- throw Components.Exception("", Cr.NS_ERROR_NOT_IMPLEMENTED);
- }
-
- const exeName =
- AppConstants.platform === "win" ? "pingsender.exe" : "pingsender";
-
- let exe = Services.dirsvc.get("GreBinD", Ci.nsIFile);
- exe.append(exeName);
-
- let params = pings.flatMap(ping => [ping.url, ping.path]);
- let process = Cc["@mozilla.org/process/util;1"].createInstance(
- Ci.nsIProcess
- );
- process.init(exe);
- process.startHidden = true;
- process.noShell = true;
- process.runAsync(params, params.length, observer);
+ throw Components.Exception("", Cr.NS_ERROR_NOT_IMPLEMENTED);
},
};
diff --git a/toolkit/components/telemetry/moz.build b/toolkit/components/telemetry/moz.build
index 3eee4e938c4e..cedf9b313d9c 100644
--- a/toolkit/components/telemetry/moz.build
+++ b/toolkit/components/telemetry/moz.build
@@ -8,10 +8,6 @@ include("/ipc/chromium/chromium-config.mozbuild")
FINAL_LIBRARY = "xul"
-DIRS = [
- "pingsender",
-]
-
DEFINES["MOZ_APP_VERSION"] = '"%s"' % CONFIG["MOZ_APP_VERSION"]
LOCAL_INCLUDES += [
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 40073: Disable remote Public Suffix List fetching
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit f02b37516308a8076ed5b6e538f8027d3c94b0e6
Author: Alex Catarineu <acat(a)torproject.org>
Date: Thu Aug 13 11:05:03 2020 +0200
Bug 40073: Disable remote Public Suffix List fetching
In https://bugzilla.mozilla.org/show_bug.cgi?id=1563246 Firefox implemented
fetching the Public Suffix List via RemoteSettings and replacing the default
one at runtime, which we do not want.
---
browser/components/BrowserGlue.jsm | 5 -----
1 file changed, 5 deletions(-)
diff --git a/browser/components/BrowserGlue.jsm b/browser/components/BrowserGlue.jsm
index 29186b80c6b7..e6e1d217885e 100644
--- a/browser/components/BrowserGlue.jsm
+++ b/browser/components/BrowserGlue.jsm
@@ -71,7 +71,6 @@ XPCOMUtils.defineLazyModuleGetters(this, {
PluralForm: "resource://gre/modules/PluralForm.jsm",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.jsm",
ProcessHangMonitor: "resource:///modules/ProcessHangMonitor.jsm",
- PublicSuffixList: "resource://gre/modules/netwerk-dns/PublicSuffixList.jsm",
RemoteSettings: "resource://services-settings/remote-settings.js",
RemoteSecuritySettings:
"resource://gre/modules/psm/RemoteSecuritySettings.jsm",
@@ -2668,10 +2667,6 @@ BrowserGlue.prototype = {
this._addBreachesSyncHandler();
},
- () => {
- PublicSuffixList.init();
- },
-
() => {
RemoteSecuritySettings.init();
},
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 30541: Disable WebGL readPixel() for web content
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 3122a414c2da29567e06c2cc5ae438fd2af9670e
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed May 29 12:29:19 2019 +0000
Bug 30541: Disable WebGL readPixel() for web content
---
dom/canvas/ClientWebGLContext.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/dom/canvas/ClientWebGLContext.cpp b/dom/canvas/ClientWebGLContext.cpp
index 05dcb79a230e..c9875e62c8af 100644
--- a/dom/canvas/ClientWebGLContext.cpp
+++ b/dom/canvas/ClientWebGLContext.cpp
@@ -4636,6 +4636,14 @@ bool ClientWebGLContext::ReadPixels_SharedPrecheck(
return false;
}
+ // Security check passed, but don't let content readPixel calls through for
+ // now, if Resist Fingerprinting Mode is enabled.
+ if (nsContentUtils::ResistFingerprinting(aCallerType)) {
+ JsWarning("readPixels: Not allowed in Resist Fingerprinting Mode");
+ out_error.Throw(NS_ERROR_DOM_NOT_SUPPORTED_ERR);
+ return false;
+ }
+
return true;
}
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 31740: Remove some unnecessary RemoteSettings instances
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 938bda1eda126c06a17d241e53d1106643038072
Author: Alex Catarineu <acat(a)torproject.org>
Date: Wed Oct 16 23:01:12 2019 +0200
Bug 31740: Remove some unnecessary RemoteSettings instances
More concretely, SearchService.jsm 'hijack-blocklists' and
url-classifier-skip-urls.
Avoid creating instance for 'anti-tracking-url-decoration'.
If prefs are disabling their usage, avoid creating instances for
'cert-revocations' and 'intermediates'.
Do not ship JSON dumps for collections we do not expect to need. For
the ones in the 'main' bucket, this prevents them from being synced
unnecessarily (the code in remote-settings does so for collections
in the main bucket for which a dump or local data exists). For the
collections in the other buckets, we just save some size by not
shipping their dumps.
We also clear the collections database on the v2 -> v3 migration.
---
browser/components/search/SearchSERPTelemetry.jsm | 6 ------
.../url-classifier/UrlClassifierFeatureBase.cpp | 2 +-
netwerk/url-classifier/components.conf | 6 ------
security/manager/ssl/RemoteSecuritySettings.jsm | 23 ++++++++++++++++++++++
services/settings/IDBHelpers.jsm | 4 ++++
services/settings/dumps/blocklists/moz.build | 14 +++++--------
services/settings/dumps/main/moz.build | 7 -------
services/settings/dumps/security-state/moz.build | 1 -
.../components/antitracking/antitracking.manifest | 2 +-
toolkit/components/antitracking/components.conf | 7 -------
toolkit/components/search/SearchService.jsm | 2 --
11 files changed, 34 insertions(+), 40 deletions(-)
diff --git a/browser/components/search/SearchSERPTelemetry.jsm b/browser/components/search/SearchSERPTelemetry.jsm
index 3e9d92548213..5c499e91713a 100644
--- a/browser/components/search/SearchSERPTelemetry.jsm
+++ b/browser/components/search/SearchSERPTelemetry.jsm
@@ -96,13 +96,7 @@ class TelemetryHandler {
return;
}
- this._telemetrySettings = RemoteSettings(TELEMETRY_SETTINGS_KEY);
let rawProviderInfo = [];
- try {
- rawProviderInfo = await this._telemetrySettings.get();
- } catch (ex) {
- logConsole.error("Could not get settings:", ex);
- }
// Send the provider info to the child handler.
this._contentHandler.init(rawProviderInfo);
diff --git a/netwerk/url-classifier/UrlClassifierFeatureBase.cpp b/netwerk/url-classifier/UrlClassifierFeatureBase.cpp
index 1bbc7a652486..c3ab7c6cefc5 100644
--- a/netwerk/url-classifier/UrlClassifierFeatureBase.cpp
+++ b/netwerk/url-classifier/UrlClassifierFeatureBase.cpp
@@ -78,7 +78,7 @@ void UrlClassifierFeatureBase::InitializePreferences() {
nsCOMPtr<nsIUrlClassifierExceptionListService> exceptionListService =
do_GetService("@mozilla.org/url-classifier/exception-list-service;1");
- if (NS_WARN_IF(!exceptionListService)) {
+ if (!exceptionListService) {
return;
}
diff --git a/netwerk/url-classifier/components.conf b/netwerk/url-classifier/components.conf
index 03a02f0ebeab..b2e667247317 100644
--- a/netwerk/url-classifier/components.conf
+++ b/netwerk/url-classifier/components.conf
@@ -13,10 +13,4 @@ Classes = [
'constructor': 'mozilla::net::ChannelClassifierService::GetSingleton',
'headers': ['mozilla/net/ChannelClassifierService.h'],
},
- {
- 'cid': '{b9f4fd03-9d87-4bfd-9958-85a821750ddc}',
- 'contract_ids': ['@mozilla.org/url-classifier/exception-list-service;1'],
- 'jsm': 'resource://gre/modules/UrlClassifierExceptionListService.jsm',
- 'constructor': 'UrlClassifierExceptionListService',
- },
]
diff --git a/security/manager/ssl/RemoteSecuritySettings.jsm b/security/manager/ssl/RemoteSecuritySettings.jsm
index 630cfc18f498..d9a4f27a263f 100644
--- a/security/manager/ssl/RemoteSecuritySettings.jsm
+++ b/security/manager/ssl/RemoteSecuritySettings.jsm
@@ -274,6 +274,16 @@ var RemoteSecuritySettings = {
class IntermediatePreloads {
constructor() {
+ this.maybeInit();
+ }
+
+ maybeInit() {
+ if (
+ this.client ||
+ !Services.prefs.getBoolPref(INTERMEDIATES_ENABLED_PREF, true)
+ ) {
+ return;
+ }
this.client = RemoteSettings(
Services.prefs.getCharPref(INTERMEDIATES_COLLECTION_PREF),
{
@@ -303,6 +313,7 @@ class IntermediatePreloads {
);
return;
}
+ this.maybeInit();
// Download attachments that are awaiting download, up to a max.
const maxDownloadsPerRun = Services.prefs.getIntPref(
@@ -544,6 +555,16 @@ function compareFilters(filterA, filterB) {
class CRLiteFilters {
constructor() {
+ this.maybeInit();
+ }
+
+ maybeInit() {
+ if (
+ this.client ||
+ !Services.prefs.getBoolPref(CRLITE_FILTERS_ENABLED_PREF, true)
+ ) {
+ return;
+ }
this.client = RemoteSettings(
Services.prefs.getCharPref(CRLITE_FILTERS_COLLECTION_PREF),
{
@@ -571,6 +592,8 @@ class CRLiteFilters {
return;
}
+ this.maybeInit();
+
let hasPriorFilter = await hasPriorData(
Ci.nsICertStorage.DATA_TYPE_CRLITE_FILTER_FULL
);
diff --git a/services/settings/IDBHelpers.jsm b/services/settings/IDBHelpers.jsm
index 5dc59c3687ef..010a5ea82987 100644
--- a/services/settings/IDBHelpers.jsm
+++ b/services/settings/IDBHelpers.jsm
@@ -188,6 +188,10 @@ async function openIDB(allowUpgrades = true) {
});
}
if (event.oldVersion < 3) {
+ // Clear existing stores for a fresh start
+ transaction.objectStore("records").clear();
+ transaction.objectStore("timestamps").clear();
+ transaction.objectStore("collections").clear();
// Attachment store
db.createObjectStore("attachments", {
keyPath: ["cid", "attachmentId"],
diff --git a/services/settings/dumps/blocklists/moz.build b/services/settings/dumps/blocklists/moz.build
index 825fcd1f10f5..4ca18acd4ff6 100644
--- a/services/settings/dumps/blocklists/moz.build
+++ b/services/settings/dumps/blocklists/moz.build
@@ -8,15 +8,11 @@ with Files("**"):
BUG_COMPONENT = ("Toolkit", "Blocklist Implementation")
# The addons blocklist is also in mobile/android/installer/package-manifest.in
-if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
- # Remove this once bug 1639050 is resolved.
- FINAL_TARGET_FILES.defaults.settings.blocklists += ["addons.json"]
-else:
- FINAL_TARGET_FILES.defaults.settings.blocklists += [
- "addons-bloomfilters.json",
- "gfx.json",
- "plugins.json",
- ]
+FINAL_TARGET_FILES.defaults.settings.blocklists += [
+ "addons-bloomfilters.json",
+ "gfx.json",
+ "plugins.json",
+]
FINAL_TARGET_FILES.defaults.settings.blocklists["addons-bloomfilters"] += [
"addons-bloomfilters/addons-mlbf.bin",
diff --git a/services/settings/dumps/main/moz.build b/services/settings/dumps/main/moz.build
index bf73215e0682..6deac0b6f5bc 100644
--- a/services/settings/dumps/main/moz.build
+++ b/services/settings/dumps/main/moz.build
@@ -3,18 +3,11 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
FINAL_TARGET_FILES.defaults.settings.main += [
- "anti-tracking-url-decoration.json",
"example.json",
"hijack-blocklists.json",
"language-dictionaries.json",
- "password-recipes.json",
"password-rules.json",
- "search-config.json",
"search-default-override-allowlist.json",
- "search-telemetry.json",
- "sites-classification.json",
- "top-sites.json",
- "url-classifier-skip-urls.json",
"websites-with-shared-credential-backends.json",
]
diff --git a/services/settings/dumps/security-state/moz.build b/services/settings/dumps/security-state/moz.build
index 9133cd4e3ed6..0d250ecddbe8 100644
--- a/services/settings/dumps/security-state/moz.build
+++ b/services/settings/dumps/security-state/moz.build
@@ -3,7 +3,6 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
FINAL_TARGET_FILES.defaults.settings["security-state"] += [
- "intermediates.json",
"onecrl.json",
]
diff --git a/toolkit/components/antitracking/antitracking.manifest b/toolkit/components/antitracking/antitracking.manifest
index 5eb37f9a3f99..872e6af07575 100644
--- a/toolkit/components/antitracking/antitracking.manifest
+++ b/toolkit/components/antitracking/antitracking.manifest
@@ -1 +1 @@
-category profile-after-change URLDecorationAnnotationsService @mozilla.org/tracking-url-decoration-service;1 process=main
+# category profile-after-change URLDecorationAnnotationsService @mozilla.org/tracking-url-decoration-service;1 process=main
diff --git a/toolkit/components/antitracking/components.conf b/toolkit/components/antitracking/components.conf
index b2579fd1512d..1a1c90ebb309 100644
--- a/toolkit/components/antitracking/components.conf
+++ b/toolkit/components/antitracking/components.conf
@@ -11,13 +11,6 @@ Classes = [
'jsm': 'resource://gre/modules/TrackingDBService.jsm',
'constructor': 'TrackingDBService',
},
- {
- 'cid': '{5874af6d-5719-4e1b-b155-ef4eae7fcb32}',
- 'contract_ids': ['@mozilla.org/tracking-url-decoration-service;1'],
- 'jsm': 'resource://gre/modules/URLDecorationAnnotationsService.jsm',
- 'constructor': 'URLDecorationAnnotationsService',
- 'processes': ProcessSelector.MAIN_PROCESS_ONLY,
- },
{
'cid': '{90d1fd17-2018-4e16-b73c-a04a26fa6dd4}',
'contract_ids': ['@mozilla.org/purge-tracker-service;1'],
diff --git a/toolkit/components/search/SearchService.jsm b/toolkit/components/search/SearchService.jsm
index 98fb8be74d86..58c3eaec2c3e 100644
--- a/toolkit/components/search/SearchService.jsm
+++ b/toolkit/components/search/SearchService.jsm
@@ -256,8 +256,6 @@ SearchService.prototype = {
// See if we have a settings file so we don't have to parse a bunch of XML.
let settings = await this._settings.get();
- this._setupRemoteSettings().catch(Cu.reportError);
-
await this._loadEngines(settings);
// If we've got this far, but the application is now shutting down,
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 40171: Make WebRequest and GeckoWebExecutor First-Party aware
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit e9e2cec3c0b366158a3df5a99b39034dfdb11057
Author: Alex Catarineu <acat(a)torproject.org>
Date: Wed Nov 4 15:58:22 2020 +0100
Bug 40171: Make WebRequest and GeckoWebExecutor First-Party aware
---
.../main/java/org/mozilla/geckoview/WebRequest.java | 18 ++++++++++++++++++
widget/android/WebExecutorSupport.cpp | 10 ++++++++++
2 files changed, 28 insertions(+)
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java
index d1d6e06b7396..4e17bc034edb 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java
@@ -51,6 +51,11 @@ public class WebRequest extends WebMessage {
*/
public final @Nullable String referrer;
+ /**
+ * The value of the origin of this request.
+ */
+ public final @Nullable String origin;
+
@Retention(RetentionPolicy.SOURCE)
@IntDef({CACHE_MODE_DEFAULT, CACHE_MODE_NO_STORE,
CACHE_MODE_RELOAD, CACHE_MODE_NO_CACHE,
@@ -112,6 +117,7 @@ public class WebRequest extends WebMessage {
method = builder.mMethod;
cacheMode = builder.mCacheMode;
referrer = builder.mReferrer;
+ origin = builder.mOrigin;
if (builder.mBody != null) {
body = builder.mBody.asReadOnlyBuffer();
@@ -128,6 +134,7 @@ public class WebRequest extends WebMessage {
/* package */ String mMethod = "GET";
/* package */ int mCacheMode = CACHE_MODE_DEFAULT;
/* package */ String mReferrer;
+ /* package */ String mOrigin;
/**
* Construct a Builder instance with the specified URI.
@@ -226,6 +233,17 @@ public class WebRequest extends WebMessage {
return this;
}
+ /**
+ * Set the origin URI.
+ *
+ * @param origin A URI String
+ * @return This Builder instance.
+ */
+ public @NonNull Builder origin(final @Nullable String origin) {
+ mOrigin = origin;
+ return this;
+ }
+
/**
* @return A {@link WebRequest} constructed with the values from this Builder instance.
*/
diff --git a/widget/android/WebExecutorSupport.cpp b/widget/android/WebExecutorSupport.cpp
index 99e7de95a0fb..bbdcc8f36bd6 100644
--- a/widget/android/WebExecutorSupport.cpp
+++ b/widget/android/WebExecutorSupport.cpp
@@ -393,6 +393,16 @@ nsresult WebExecutorSupport::CreateStreamLoader(
MOZ_ASSERT(cookieJarSettings);
nsCOMPtr<nsILoadInfo> loadInfo = channel->LoadInfo();
+
+ RefPtr<nsIURI> originUri;
+ const auto origin = req->Origin();
+ if (origin) {
+ rv = NS_NewURI(getter_AddRefs(originUri), origin->ToString());
+ NS_ENSURE_SUCCESS(rv, NS_ERROR_MALFORMED_URI);
+ OriginAttributes attrs = loadInfo->GetOriginAttributes();
+ attrs.SetFirstPartyDomain(true, originUri);
+ loadInfo->SetOriginAttributes(attrs);
+ }
loadInfo->SetCookieJarSettings(cookieJarSettings);
// setup http/https specific things
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 40125: Expose Security Level pref in GeckoView
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 9f7569dea8e2c315782d7100d643ce4f028eb0bc
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Mon Sep 14 02:52:28 2020 +0000
Bug 40125: Expose Security Level pref in GeckoView
---
mobile/android/geckoview/api.txt | 3 ++
.../mozilla/geckoview/GeckoRuntimeSettings.java | 33 ++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/mobile/android/geckoview/api.txt b/mobile/android/geckoview/api.txt
index 5a04541ae57f..f9f0c9d14a8a 100644
--- a/mobile/android/geckoview/api.txt
+++ b/mobile/android/geckoview/api.txt
@@ -738,6 +738,7 @@ package org.mozilla.geckoview {
method @Nullable public GeckoRuntime getRuntime();
method @Nullable public Rect getScreenSizeOverride();
method @Nullable public RuntimeTelemetry.Delegate getTelemetryDelegate();
+ method public int getTorSecurityLevel();
method public boolean getUseMaxScreenDepth();
method public boolean getWebFontsEnabled();
method public boolean getWebManifestEnabled();
@@ -758,6 +759,7 @@ package org.mozilla.geckoview {
method @NonNull public GeckoRuntimeSettings setLoginAutofillEnabled(boolean);
method @NonNull public GeckoRuntimeSettings setPreferredColorScheme(int);
method @NonNull public GeckoRuntimeSettings setRemoteDebuggingEnabled(boolean);
+ method @NonNull public GeckoRuntimeSettings setTorSecurityLevel(int);
method @NonNull public GeckoRuntimeSettings setWebFontsEnabled(boolean);
method @NonNull public GeckoRuntimeSettings setWebManifestEnabled(boolean);
field public static final int ALLOW_ALL = 0;
@@ -798,6 +800,7 @@ package org.mozilla.geckoview {
method @NonNull public GeckoRuntimeSettings.Builder remoteDebuggingEnabled(boolean);
method @NonNull public GeckoRuntimeSettings.Builder screenSizeOverride(int, int);
method @NonNull public GeckoRuntimeSettings.Builder telemetryDelegate(@NonNull RuntimeTelemetry.Delegate);
+ method @NonNull public GeckoRuntimeSettings.Builder torSecurityLevel(int);
method @NonNull public GeckoRuntimeSettings.Builder useMaxScreenDepth(boolean);
method @NonNull public GeckoRuntimeSettings.Builder webFontsEnabled(boolean);
method @NonNull public GeckoRuntimeSettings.Builder webManifest(boolean);
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
index 5de0b00f7a0c..c573ee7688f3 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
@@ -472,6 +472,17 @@ public final class GeckoRuntimeSettings extends RuntimeSettings {
getSettings().setAllowInsecureConnections(level);
return this;
}
+
+ /**
+ * Set security level.
+ *
+ * @param level A value determining the security level. Default is 0.
+ * @return This Builder instance.
+ */
+ public @NonNull Builder torSecurityLevel(final int level) {
+ getSettings().mTorSecurityLevel.set(level);
+ return this;
+ }
}
private GeckoRuntime mRuntime;
@@ -528,6 +539,8 @@ public final class GeckoRuntimeSettings extends RuntimeSettings {
"dom.security.https_only_mode_pbm", false);
/* package */ final Pref<Integer> mProcessCount = new Pref<>(
"dom.ipc.processCount", 2);
+ /* package */ final Pref<Integer> mTorSecurityLevel = new Pref<>(
+ "extensions.torbutton.security_slider", 4);
/* package */ int mPreferredColorScheme = COLOR_SCHEME_SYSTEM;
@@ -1280,6 +1293,26 @@ public final class GeckoRuntimeSettings extends RuntimeSettings {
return this;
}
+ /**
+ * Gets the current security level.
+ *
+ * @return current security protection level
+ */
+ public int getTorSecurityLevel() {
+ return mTorSecurityLevel.get();
+ }
+
+ /**
+ * Sets the Tor Security Level.
+ *
+ * @param level security protection level
+ * @return This GeckoRuntimeSettings instance.
+ */
+ public @NonNull GeckoRuntimeSettings setTorSecurityLevel(final int level) {
+ mTorSecurityLevel.commit(level);
+ return this;
+ }
+
@Override // Parcelable
public void writeToParcel(final Parcel out, final int flags) {
super.writeToParcel(out, flags);
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 40199: Avoid using system locale for intl.accept_languages in GeckoView
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 78850855fd8d12af4f1e96a88e97f87cc1c178f2
Author: Alex Catarineu <acat(a)torproject.org>
Date: Tue Oct 20 17:44:36 2020 +0200
Bug 40199: Avoid using system locale for intl.accept_languages in GeckoView
---
.../mozilla/geckoview/GeckoRuntimeSettings.java | 28 +++++++++++++---------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
index c573ee7688f3..d88e296d554a 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
@@ -821,19 +821,25 @@ public final class GeckoRuntimeSettings extends RuntimeSettings {
private String computeAcceptLanguages() {
final ArrayList<String> locales = new ArrayList<String>();
- // Explicitly-set app prefs come first:
- if (mRequestedLocales != null) {
- for (final String locale : mRequestedLocales) {
- locales.add(locale.toLowerCase(Locale.ROOT));
- }
- }
- // OS prefs come second:
- for (final String locale : getDefaultLocales()) {
- final String localeLowerCase = locale.toLowerCase(Locale.ROOT);
- if (!locales.contains(localeLowerCase)) {
- locales.add(localeLowerCase);
+ // In Desktop, these are defined in the `intl.accept_languages` localized property.
+ // At some point we should probably use the same values here, but for now we use a simple
+ // strategy which will hopefully result in reasonable acceptLanguage values.
+ if (mRequestedLocales != null && mRequestedLocales.length > 0) {
+ String locale = mRequestedLocales[0].toLowerCase(Locale.ROOT);
+ // No need to include `en-us` twice.
+ if (!locale.equals("en-us")) {
+ locales.add(locale);
+ if (locale.contains("-")) {
+ String lang = locale.split("-")[0];
+ // No need to include `en` twice.
+ if (!lang.equals("en")) {
+ locales.add(lang);
+ }
+ }
}
}
+ locales.add("en-us");
+ locales.add("en");
return TextUtils.join(",", locales);
}
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 26345: Hide tracking protection UI
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 8dc50cda30ba9b9041b752b3cf4c73071435141d
Author: Alex Catarineu <acat(a)torproject.org>
Date: Tue Sep 10 16:29:31 2019 +0200
Bug 26345: Hide tracking protection UI
---
browser/base/content/appmenu-viewcache.inc.xhtml | 4 ++--
browser/base/content/browser-siteIdentity.js | 4 ++--
browser/components/about/AboutRedirector.cpp | 4 ----
browser/components/about/components.conf | 1 -
browser/components/moz.build | 1 -
browser/themes/shared/preferences/privacy.css | 4 ++++
6 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/browser/base/content/appmenu-viewcache.inc.xhtml b/browser/base/content/appmenu-viewcache.inc.xhtml
index 204b84f00000..895ef976fc23 100644
--- a/browser/base/content/appmenu-viewcache.inc.xhtml
+++ b/browser/base/content/appmenu-viewcache.inc.xhtml
@@ -24,7 +24,7 @@
oncommand="gSync.toggleAccountPanel(this, event)"/>
</toolbaritem>
<toolbarseparator class="sync-ui-item"/>
- <toolbaritem>
+ <toolbaritem hidden="true">
<toolbarbutton id="appMenu-protection-report-button"
class="subviewbutton subviewbutton-iconic"
oncommand="gProtectionsHandler.openProtections(); gProtectionsHandler.recordClick('open_full_report', null, 'app_menu');">
@@ -35,7 +35,7 @@
</label>
</toolbarbutton>
</toolbaritem>
- <toolbarseparator id="appMenu-tp-separator"/>
+ <toolbarseparator hidden="true" id="appMenu-tp-separator"/>
<toolbarbutton id="appMenu-new-window-button"
class="subviewbutton subviewbutton-iconic"
data-l10n-id="appmenuitem-new-window"
diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js
index 8c6d1e20ddef..2846a1cb2fcf 100644
--- a/browser/base/content/browser-siteIdentity.js
+++ b/browser/base/content/browser-siteIdentity.js
@@ -908,10 +908,10 @@ var gIdentityHandler = {
gPermissionPanel.refreshPermissionIcons();
}
- // Hide the shield icon if it is a chrome page.
+ // Bug 26345: Hide tracking protection UI.
gProtectionsHandler._trackingProtectionIconContainer.classList.toggle(
"chromeUI",
- this._isSecureInternalUI
+ true
);
},
diff --git a/browser/components/about/AboutRedirector.cpp b/browser/components/about/AboutRedirector.cpp
index 2ace276cd50c..6d283fe67b20 100644
--- a/browser/components/about/AboutRedirector.cpp
+++ b/browser/components/about/AboutRedirector.cpp
@@ -122,10 +122,6 @@ static const RedirEntry kRedirMap[] = {
nsIAboutModule::HIDE_FROM_ABOUTABOUT},
{"restartrequired", "chrome://browser/content/aboutRestartRequired.xhtml",
nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::HIDE_FROM_ABOUTABOUT},
- {"protections", "chrome://browser/content/protections.html",
- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
- nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT |
- nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS},
};
static nsAutoCString GetAboutModuleName(nsIURI* aURI) {
diff --git a/browser/components/about/components.conf b/browser/components/about/components.conf
index 6fd827dead37..8ce22e9cff51 100644
--- a/browser/components/about/components.conf
+++ b/browser/components/about/components.conf
@@ -19,7 +19,6 @@ pages = [
'policies',
'preferences',
'privatebrowsing',
- 'protections',
'profiling',
'reader',
'restartrequired',
diff --git a/browser/components/moz.build b/browser/components/moz.build
index 5f8780e01c65..1bc09f4093fb 100644
--- a/browser/components/moz.build
+++ b/browser/components/moz.build
@@ -45,7 +45,6 @@ DIRS += [
"preferences",
"privatebrowsing",
"prompts",
- "protections",
"protocolhandler",
"resistfingerprinting",
"search",
diff --git a/browser/themes/shared/preferences/privacy.css b/browser/themes/shared/preferences/privacy.css
index b55c242b4c05..154222f84b11 100644
--- a/browser/themes/shared/preferences/privacy.css
+++ b/browser/themes/shared/preferences/privacy.css
@@ -77,6 +77,10 @@
/* Content Blocking */
+#trackingGroup {
+ display: none;
+}
+
/* Override styling that sets descriptions as grey */
#trackingGroup description.indent,
#trackingGroup .indent > description {
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 18800: Remove localhost DNS lookup in nsProfileLock.cpp
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 8f2ab1100f7c17141a6f3d89eaac51c311e99fba
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Thu Apr 21 10:40:26 2016 -0400
Bug 18800: Remove localhost DNS lookup in nsProfileLock.cpp
Instead of using the local computer's IP address within
symlink-based profile lock signatures, always use 127.0.0.1.
---
toolkit/profile/nsProfileLock.cpp | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/toolkit/profile/nsProfileLock.cpp b/toolkit/profile/nsProfileLock.cpp
index 28d38c11684e..a1b3edc54a05 100644
--- a/toolkit/profile/nsProfileLock.cpp
+++ b/toolkit/profile/nsProfileLock.cpp
@@ -304,18 +304,17 @@ nsresult nsProfileLock::LockWithSymlink(nsIFile* aLockFile,
if (!mReplacedLockTime)
aLockFile->GetLastModifiedTimeOfLink(&mReplacedLockTime);
+ // For Tor Browser, avoid a DNS lookup here so the Tor network is not
+ // bypassed. Instead, always use 127.0.0.1 for the IP address portion
+ // of the lock signature, which may cause the browser to refuse to
+ // start in the rare event that all of the following conditions are met:
+ // 1. The browser profile is on a network file system.
+ // 2. The file system does not support fcntl() locking.
+ // 3. Tor Browser is run from two different computers at the same time.
+
struct in_addr inaddr;
inaddr.s_addr = htonl(INADDR_LOOPBACK);
- char hostname[256];
- PRStatus status = PR_GetSystemInfo(PR_SI_HOSTNAME, hostname, sizeof hostname);
- if (status == PR_SUCCESS) {
- char netdbbuf[PR_NETDB_BUF_SIZE];
- PRHostEnt hostent;
- status = PR_GetHostByName(hostname, netdbbuf, sizeof netdbbuf, &hostent);
- if (status == PR_SUCCESS) memcpy(&inaddr, hostent.h_addr, sizeof inaddr);
- }
-
mozilla::SmprintfPointer signature =
mozilla::Smprintf("%s:%s%lu", inet_ntoa(inaddr),
aHaveFcntlLock ? "+" : "", (unsigned long)getpid());
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 13028: Prevent potential proxy bypass cases.
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 2bbd08cc94f8998997c163dab5eddd3027a52c7b
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Mon Sep 29 14:30:19 2014 -0700
Bug 13028: Prevent potential proxy bypass cases.
It looks like these cases should only be invoked in the NSS command line
tools, and not the browser, but I decided to patch them anyway because there
literally is a maze of network function pointers being passed around, and it's
very hard to tell if some random code might not pass in the proper proxied
versions of the networking code here by accident.
---
security/nss/lib/certhigh/ocsp.c | 8 ++++++++
.../lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c | 21 +++++++++++++++++++++
2 files changed, 29 insertions(+)
diff --git a/security/nss/lib/certhigh/ocsp.c b/security/nss/lib/certhigh/ocsp.c
index cea8456606bf..86fa971cfbef 100644
--- a/security/nss/lib/certhigh/ocsp.c
+++ b/security/nss/lib/certhigh/ocsp.c
@@ -2932,6 +2932,14 @@ ocsp_ConnectToHost(const char *host, PRUint16 port)
PRNetAddr addr;
char *netdbbuf = NULL;
+ // XXX: Do we need a unittest ifdef here? We don't want to break the tests, but
+ // we want to ensure nothing can ever hit this code in production.
+#if 1
+ printf("Tor Browser BUG: Attempted OSCP direct connect to %s, port %u\n", host,
+ port);
+ goto loser;
+#endif
+
sock = PR_NewTCPSocket();
if (sock == NULL)
goto loser;
diff --git a/security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c b/security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
index e8698376b5be..85791d84a932 100644
--- a/security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
+++ b/security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
@@ -1334,6 +1334,13 @@ pkix_pl_Socket_Create(
plContext),
PKIX_COULDNOTCREATESOCKETOBJECT);
+ // XXX: Do we need a unittest ifdef here? We don't want to break the tests, but
+ // we want to ensure nothing can ever hit this code in production.
+#if 1
+ printf("Tor Browser BUG: Attempted pkix direct socket connect\n");
+ PKIX_ERROR(PKIX_PRNEWTCPSOCKETFAILED);
+#endif
+
socket->isServer = isServer;
socket->timeout = timeout;
socket->clientSock = NULL;
@@ -1433,6 +1440,13 @@ pkix_pl_Socket_CreateByName(
localCopyName = PL_strdup(serverName);
+ // XXX: Do we need a unittest ifdef here? We don't want to break the tests, but
+ // we want to ensure nothing can ever hit this code in production.
+#if 1
+ printf("Tor Browser BUG: Attempted pkix direct connect to %s\n", serverName);
+ PKIX_ERROR(PKIX_PRNEWTCPSOCKETFAILED);
+#endif
+
sepPtr = strchr(localCopyName, ':');
/* First strip off the portnum, if present, from the end of the name */
if (sepPtr) {
@@ -1582,6 +1596,13 @@ pkix_pl_Socket_CreateByHostAndPort(
PKIX_ENTER(SOCKET, "pkix_pl_Socket_CreateByHostAndPort");
PKIX_NULLCHECK_THREE(hostname, pStatus, pSocket);
+ // XXX: Do we need a unittest ifdef here? We don't want to break the tests, but
+ // we want to ensure nothing can ever hit this code in production.
+#if 1
+ printf("Tor Browser BUG: Attempted pkix direct connect to %s, port %u\n", hostname,
+ portnum);
+ PKIX_ERROR(PKIX_PRNEWTCPSOCKETFAILED);
+#endif
prstatus = PR_GetHostByName(hostname, buf, sizeof(buf), &hostent);
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 32418: Allow updates to be disabled via an enterprise policy.
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit babb7636b06acb0645be12c2f0a0625713c0bb68
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Thu Apr 16 17:07:09 2020 -0400
Bug 32418: Allow updates to be disabled via an enterprise policy.
Restrict the Enterprise Policies mechanism to only consult a
policies.json file (avoiding the Windows Registry and macOS's
file system attributes).
Add a few disabledByPolicy() checks to the update service to
avoid extraneous (and potentially confusing) log messages when
updates are disabled by policy.
Sample content for distribution/policies.json:
{
"policies": {
"DisableAppUpdate": true
}
}
On Linux, avoid reading policies from /etc/firefox/policies/policies.json
---
.../enterprisepolicies/EnterprisePoliciesParent.jsm | 14 ++++++++++++--
toolkit/components/enterprisepolicies/moz.build | 3 +++
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.jsm b/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.jsm
index f5de14798de1..9c702ea3fde8 100644
--- a/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.jsm
+++ b/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.jsm
@@ -4,6 +4,10 @@
var EXPORTED_SYMBOLS = ["EnterprisePoliciesManager"];
+// To ensure that policies intended for Firefox or another browser will not
+// be used, Tor Browser only looks for policies in ${InstallDir}/distribution
+#define AVOID_SYSTEM_POLICIES MOZ_PROXY_BYPASS_PROTECTION
+
const { XPCOMUtils } = ChromeUtils.import(
"resource://gre/modules/XPCOMUtils.jsm"
);
@@ -13,9 +17,11 @@ const { AppConstants } = ChromeUtils.import(
);
XPCOMUtils.defineLazyModuleGetters(this, {
+#ifndef AVOID_SYSTEM_POLICIES
WindowsGPOParser: "resource://gre/modules/policies/WindowsGPOParser.jsm",
macOSPoliciesParser:
"resource://gre/modules/policies/macOSPoliciesParser.jsm",
+#endif
Policies: "resource:///modules/policies/Policies.jsm",
JsonSchemaValidator:
"resource://gre/modules/components-utils/JsonSchemaValidator.jsm",
@@ -140,11 +146,13 @@ EnterprisePoliciesManager.prototype = {
_chooseProvider() {
let platformProvider = null;
+#ifndef AVOID_SYSTEM_POLICIES
if (AppConstants.platform == "win") {
platformProvider = new WindowsGPOPoliciesProvider();
} else if (AppConstants.platform == "macosx") {
platformProvider = new macOSPoliciesProvider();
}
+#endif
let jsonProvider = new JSONPoliciesProvider();
if (platformProvider && platformProvider.hasPolicies) {
if (jsonProvider.hasPolicies) {
@@ -491,7 +499,7 @@ class JSONPoliciesProvider {
_getConfigurationFile() {
let configFile = null;
-
+#ifndef AVOID_SYSTEM_POLICIES
if (AppConstants.platform == "linux") {
let systemConfigFile = Cc["@mozilla.org/file/local;1"].createInstance(
Ci.nsIFile
@@ -504,7 +512,7 @@ class JSONPoliciesProvider {
return systemConfigFile;
}
}
-
+#endif
try {
let perUserPath = Services.prefs.getBoolPref(PREF_PER_USER_DIR, false);
if (perUserPath) {
@@ -585,6 +593,7 @@ class JSONPoliciesProvider {
}
}
+#ifndef AVOID_SYSTEM_POLICIES
class WindowsGPOPoliciesProvider {
constructor() {
this._policies = null;
@@ -686,3 +695,4 @@ class CombinedProvider {
return false;
}
}
+#endif
diff --git a/toolkit/components/enterprisepolicies/moz.build b/toolkit/components/enterprisepolicies/moz.build
index 09d2046e1bd7..3f685d3fbbd6 100644
--- a/toolkit/components/enterprisepolicies/moz.build
+++ b/toolkit/components/enterprisepolicies/moz.build
@@ -19,6 +19,9 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] != "android":
EXTRA_JS_MODULES += [
"EnterprisePolicies.jsm",
"EnterprisePoliciesContent.jsm",
+ ]
+
+ EXTRA_PP_JS_MODULES += [
"EnterprisePoliciesParent.jsm",
]
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 30605: Honor privacy.spoof_english in Android
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 0ca71c634c8246421a9583a1b285ee37af919c2a
Author: Alex Catarineu <acat(a)torproject.org>
Date: Fri Oct 16 10:45:17 2020 +0200
Bug 30605: Honor privacy.spoof_english in Android
This checks `privacy.spoof_english` whenever `setLocales` is
called from Fenix side and sets `intl.accept_languages`
accordingly.
---
mobile/android/components/geckoview/GeckoViewStartup.jsm | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/mobile/android/components/geckoview/GeckoViewStartup.jsm b/mobile/android/components/geckoview/GeckoViewStartup.jsm
index 055c3da638e1..2bf394f2cb3b 100644
--- a/mobile/android/components/geckoview/GeckoViewStartup.jsm
+++ b/mobile/android/components/geckoview/GeckoViewStartup.jsm
@@ -17,6 +17,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
EventDispatcher: "resource://gre/modules/Messaging.jsm",
Preferences: "resource://gre/modules/Preferences.jsm",
Services: "resource://gre/modules/Services.jsm",
+ RFPHelper: "resource://gre/modules/RFPHelper.jsm",
});
const { debug, warn } = GeckoViewUtils.initLogging("Startup");
@@ -255,6 +256,10 @@ class GeckoViewStartup {
if (aData.requestedLocales) {
Services.locale.requestedLocales = aData.requestedLocales;
}
+ RFPHelper._handleSpoofEnglishChanged();
+ if (Services.prefs.getIntPref("privacy.spoof_english", 0) === 2) {
+ break;
+ }
const pls = Cc["@mozilla.org/pref-localizedstring;1"].createInstance(
Ci.nsIPrefLocalizedString
);
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 16620: Clear window.name when no referrer sent
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit d1e8a8b9452c768f7483bcda639e4e97eea4b555
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Fri Oct 30 14:28:13 2015 -0400
Bug 16620: Clear window.name when no referrer sent
Convert JS implementation (within Torbutton) to a C++ browser patch.
---
docshell/base/nsDocShell.cpp | 60 +++++++
docshell/test/mochitest/mochitest.ini | 5 +
docshell/test/mochitest/test_tor_bug16620.html | 211 +++++++++++++++++++++++++
docshell/test/mochitest/tor_bug16620.html | 51 ++++++
docshell/test/mochitest/tor_bug16620_form.html | 51 ++++++
modules/libpref/init/StaticPrefList.yaml | 2 +-
6 files changed, 379 insertions(+), 1 deletion(-)
diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp
index 0d069ccf9719..2a792c314d4c 100644
--- a/docshell/base/nsDocShell.cpp
+++ b/docshell/base/nsDocShell.cpp
@@ -7672,11 +7672,71 @@ nsresult nsDocShell::CreateContentViewer(const nsACString& aContentType,
aOpenedChannel->GetURI(getter_AddRefs(mLoadingURI));
}
FirePageHideNotification(!mSavingOldViewer);
+
if (mIsBeingDestroyed) {
// Force to stop the newly created orphaned viewer.
viewer->Stop();
return NS_ERROR_DOCSHELL_DYING;
}
+
+ // Tor bug 16620: Clear window.name of top-level documents if
+ // there is no referrer. We make an exception for new windows,
+ // e.g., window.open(url, "MyName").
+ bool isNewWindowTarget = false;
+ nsCOMPtr<nsIPropertyBag2> props(do_QueryInterface(aRequest, &rv));
+ if (props) {
+ props->GetPropertyAsBool(u"docshell.newWindowTarget"_ns,
+ &isNewWindowTarget);
+ }
+
+ if (!isNewWindowTarget) {
+ nsCOMPtr<nsIHttpChannel> httpChannel(do_QueryInterface(aOpenedChannel));
+ nsCOMPtr<nsIURI> httpReferrer;
+ if (httpChannel) {
+ nsCOMPtr<nsIReferrerInfo> referrerInfo;
+ rv = httpChannel->GetReferrerInfo(getter_AddRefs(referrerInfo));
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (referrerInfo) {
+ // We want GetComputedReferrer() instead of GetOriginalReferrer(), since
+ // the former takes into consideration referrer policy, protocol
+ // whitelisting...
+ httpReferrer = referrerInfo->GetComputedReferrer();
+ }
+ }
+
+ bool isTopFrame = mBrowsingContext->IsTop();
+
+#ifdef DEBUG_WINDOW_NAME
+ printf("DOCSHELL %p CreateContentViewer - possibly clearing window.name:\n",
+ this);
+ printf(" current window.name: \"%s\"\n",
+ NS_ConvertUTF16toUTF8(mName).get());
+
+ nsAutoCString curSpec, loadingSpec;
+ if (this->mCurrentURI) mCurrentURI->GetSpec(curSpec);
+ if (mLoadingURI) mLoadingURI->GetSpec(loadingSpec);
+ printf(" current URI: %s\n", curSpec.get());
+ printf(" loading URI: %s\n", loadingSpec.get());
+ printf(" is top document: %s\n", isTopFrame ? "Yes" : "No");
+
+ if (!httpReferrer) {
+ printf(" referrer: None\n");
+ } else {
+ nsAutoCString refSpec;
+ httpReferrer->GetSpec(refSpec);
+ printf(" referrer: %s\n", refSpec.get());
+ }
+#endif
+
+ bool clearName = isTopFrame && !httpReferrer;
+ if (clearName) SetName(u""_ns);
+
+#ifdef DEBUG_WINDOW_NAME
+ printf(" action taken: %s window.name\n",
+ clearName ? "Cleared" : "Preserved");
+#endif
+ }
+
mLoadingURI = nullptr;
// Set mFiredUnloadEvent = false so that the unload handler for the
diff --git a/docshell/test/mochitest/mochitest.ini b/docshell/test/mochitest/mochitest.ini
index cea63f080117..efc991ef1eee 100644
--- a/docshell/test/mochitest/mochitest.ini
+++ b/docshell/test/mochitest/mochitest.ini
@@ -53,6 +53,10 @@ support-files =
start_historyframe.html
url1_historyframe.html
url2_historyframe.html
+ tor_bug16620.html
+ tor_bug16620_form.html
+prefs =
+ gfx.font_rendering.fallback.async=false
[test_anchor_scroll_after_document_open.html]
[test_bfcache_plus_hash.html]
@@ -120,6 +124,7 @@ support-files =
[test_framedhistoryframes.html]
support-files = file_framedhistoryframes.html
[test_pushState_after_document_open.html]
+[test_tor_bug16620.html]
[test_navigate_after_pagehide.html]
[test_redirect_history.html]
support-files =
diff --git a/docshell/test/mochitest/test_tor_bug16620.html b/docshell/test/mochitest/test_tor_bug16620.html
new file mode 100644
index 000000000000..46fff5a04711
--- /dev/null
+++ b/docshell/test/mochitest/test_tor_bug16620.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+ Tor Bug 16620: Clear window.name when no referrer sent.
+ https://trac.torproject.org/projects/tor/ticket/16620
+-->
+<meta charset="utf-8">
+<head>
+ <title>Test for Tor Bug 16620 - Clear window.name when no referrer sent</title>
+ <script type="application/javascript"
+ src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<a target="_blank" href="https://trac.torproject.org/projects/tor/ticket/16620">Tor Bug 16620</a>
+<script>
+// ## Test constants
+const kTestPath = "/tests/docshell/test/mochitest/";
+const kLinkFile = "tor_bug16620.html";
+const kFormFile = "tor_bug16620_form.html";
+const kBaseURL1 = "http://example.com";
+const kBaseURL1_https = "https://example.com";
+const kBaseURL2 = "http://example.net";
+const kSendReferrerPref = "network.http.sendRefererHeader";
+const kSendReferrerNever = 0;
+const kSendReferrerForUserAction = 1;
+const kSendReferrerAlways = 2;
+
+let gTests = [
+ // Test #1: Same domain; never send referrer.
+ { startURL: kBaseURL1, destURL: kBaseURL1,
+ referrerPref: kSendReferrerNever,
+ expectIsolation: true },
+
+ // Test #2: Same domain; send referrer upon user action.
+ { startURL: kBaseURL1, destURL: kBaseURL1,
+ referrerPref: kSendReferrerForUserAction,
+ expectIsolation: false },
+
+ // Test #3: Same domain; always send referrer.
+ { startURL: kBaseURL1, destURL: kBaseURL1,
+ referrerPref: kSendReferrerAlways,
+ expectIsolation: false },
+
+ // Test #4: Different top-level domains; never send referrer.
+ { startURL: kBaseURL1, destURL: kBaseURL2,
+ referrerPref: kSendReferrerNever,
+ expectIsolation: true },
+
+ // Test #5: Different top-level domains; send referrer upon user action.
+ { startURL: kBaseURL1, destURL: kBaseURL2,
+ referrerPref: kSendReferrerForUserAction,
+ expectIsolation: false },
+
+ // Test #6: Different top-level domains; always send referrer.
+ { startURL: kBaseURL1, destURL: kBaseURL2,
+ referrerPref: kSendReferrerAlways,
+ expectIsolation: false },
+
+ // Test #7: https -> http transition.
+ { startURL: kBaseURL1_https, destURL: kBaseURL1,
+ referrerPref: kSendReferrerForUserAction,
+ expectIsolation: true },
+
+ // Test #8: Same domain, rel="noreferrer" on link.
+ { startURL: kBaseURL1, destURL: kBaseURL1, noReferrerOnLink: true,
+ referrerPref: kSendReferrerAlways,
+ expectIsolation: true },
+
+ // Test #9: Same domain, "no-referrer" meta tag in document.
+ { startURL: kBaseURL1, destURL: kBaseURL1, noReferrerInMetaTag: true,
+ referrerPref: kSendReferrerAlways,
+ expectIsolation: true },
+
+ // Test #10: Like test #9, but reset window.name during unload.
+ // (similar to http://www.thomasfrank.se/sessvarsTestPage1.html)
+ { startURL: kBaseURL1, destURL: kBaseURL1, noReferrerInMetaTag: true,
+ resetInUnload: true,
+ referrerPref: kSendReferrerAlways,
+ expectIsolation: true },
+
+ // Test #11: Data URL as destination (no referrer).
+ { startURL: kBaseURL1,
+ referrerPref: kSendReferrerAlways,
+ expectIsolation: true },
+
+ // Test #12: Ensure that window.name is preserved when a dynamically loaded
+ // iframe is used to perform a form post (regression test for Tor bug 18168).
+ { startURL: kBaseURL1,
+ isFormTest: true,
+ referrerPref: kSendReferrerAlways,
+ expectIsolation: false },
+];
+
+let gCurTest = 0;
+let gCurWinName, gChildWin, gDataURL;
+
+// ## Utility functions
+function generateRandomName()
+{
+ // Generate a random 6 character string using 0-9 and a-z.
+ return ((1 + Math.random()).toString(36) + '000000').substr(2, 6);
+}
+
+function startNextTest() {
+ ++gCurTest;
+ if (gCurTest > gTests.length) {
+ SimpleTest.finish();
+ } else {
+ let curTest = gTests[gCurTest - 1];
+ if ("referrerPref" in curTest)
+ SpecialPowers.setIntPref(kSendReferrerPref, curTest.referrerPref);
+ else
+ SpecialPowers.setIntPref(kSendReferrerPref, kSendReferrerForUserAction);
+ gCurWinName = generateRandomName();
+ let url = curTest.startURL + kTestPath;
+ if (curTest.isFormTest === true) {
+ url += kFormFile + "?" + gCurWinName;
+ gChildWin = window.open(url, undefined);
+ } else {
+ url += kLinkFile + "?firstDocLoaded";
+ gChildWin = window.open(url, gCurWinName);
+ }
+ }
+}
+
+// ## Add a message event listener.
+window.addEventListener("message", function(aEvent) {
+ if (aEvent.source !== gChildWin)
+ return;
+
+// console.log("parent received message:" + JSON.stringify(aEvent.data));
+
+ let proceedToNextTest = false;
+ let curTest = gTests[gCurTest - 1];
+ let state = aEvent.data.state;
+ let winName = aEvent.data.winName;
+ if ("firstDocLoaded" == state) {
+ // Process response from step one of the link-based tests.
+ let step1Passed = (winName === gCurWinName);
+ if (!step1Passed) {
+ ok(step1Passed, "Test #" + gCurTest +
+ " - first document's name matches window.open parameter");
+ proceedToNextTest = true;
+ }
+
+ // Send an "openURL" message to the loaded document.
+ let url2 = (curTest.destURL)
+ ? curTest.destURL + kTestPath + kLinkFile + "?secondDocLoaded"
+ : gDataURL;
+ let noReferrerOnLink = (curTest.noReferrerOnLink === true);
+ let noReferrerInMetaTag = (curTest.noReferrerInMetaTag === true);
+ let resetInUnload = (curTest.resetInUnload === true);
+ aEvent.source.postMessage({ action: "openURL", url: url2,
+ noReferrerOnLink: noReferrerOnLink,
+ noReferrerInMetaTag: noReferrerInMetaTag,
+ resetInUnload: resetInUnload },
+ "*");
+ } else if ("secondDocLoaded" == state) {
+ // Process response from step two of the link-based tests.
+ if (curTest.expectIsolation) {
+ ok(winName === "",
+ "Test #" + gCurTest + " - second document: name was cleared");
+ } else {
+ ok(winName === gCurWinName,
+ "Test #" + gCurTest + " - second document: name was preserved");
+ }
+ proceedToNextTest = true;
+ } else if ("formPostDone" == state) {
+ // Process response from the form post tests.
+ if (curTest.expectIsolation) {
+ ok(winName === "",
+ "Test #" + gCurTest + " - iframe form post: name was cleared");
+ } else {
+ ok(winName === gCurWinName,
+ "Test #" + gCurTest + " - iframe form post: name was preserved");
+ }
+ proceedToNextTest = true;
+
+ }
+
+ if (proceedToNextTest) {
+ gChildWin.close();
+ startNextTest();
+ }
+ }, false);
+
+ SimpleTest.waitForExplicitFinish();
+
+ if (SpecialPowers.getBoolPref("security.nocertdb")) {
+ // Mochitests don't simulate https correctly with "security.nocertdb"
+ // enabled. See https://bugs.torproject.org/18087
+ ok(false, "Please disable the pref `security.nocertdb` before running this test.");
+ SimpleTest.finish();
+ } else {
+
+ // Read file contents, construct a data URL (used by some tests), and
+ // then start the first test.
+ let url = kTestPath + kLinkFile;
+ let xhr = new XMLHttpRequest();
+ xhr.open("GET", url);
+ xhr.onload = function() {
+ gDataURL = "data:text/html;charset=utf-8,"
+ + encodeURIComponent(this.responseText);
+ startNextTest();
+ }
+ xhr.send();
+ }
+</script>
+</body>
+</html>
diff --git a/docshell/test/mochitest/tor_bug16620.html b/docshell/test/mochitest/tor_bug16620.html
new file mode 100644
index 000000000000..26b8e406bbff
--- /dev/null
+++ b/docshell/test/mochitest/tor_bug16620.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+ Tor Bug 16620: Clear window.name when no referrer sent.
+ https://trac.torproject.org/projects/tor/ticket/16620
+-->
+<head>
+ <meta charset="UTF-8">
+ <title>Supporting Doc for Tor Bug 16620 Tests</title>
+</head>
+<body>
+<a id="link" href="">secondDoc</a>
+
+<script>
+// Extract test state from our query string, defaulting to
+// "secondDocLoaded" to support use of this HTML content within
+// a data URI (where query strings are not supported).
+let state = (location.search.length > 0) ? location.search.substr(1)
+ : "secondDocLoaded";
+
+// Notify the test driver.
+opener.postMessage({ state: state, winName: window.name }, "*");
+
+// Add a message event listener to process "openURL" actions.
+window.addEventListener("message", function(aEvent) {
+ if (aEvent.data.action == "openURL") {
+ if (aEvent.data.noReferrerInMetaTag) {
+ let metaElem = document.createElement("meta");
+ metaElem.name = "referrer";
+ metaElem.content = "no-referrer";
+ document.head.appendChild(metaElem);
+ }
+
+ let linkElem = document.getElementById("link");
+ linkElem.href = aEvent.data.url;
+ if (aEvent.data.noReferrerOnLink)
+ linkElem.rel = "noreferrer";
+
+ if (aEvent.data.resetInUnload) {
+ let tmpName = window.name;
+ window.addEventListener("unload", function() {
+ window.name = tmpName;
+ }, false);
+ }
+
+ linkElem.click();
+ }
+}, false);
+</script>
+</body>
+</html>
diff --git a/docshell/test/mochitest/tor_bug16620_form.html b/docshell/test/mochitest/tor_bug16620_form.html
new file mode 100644
index 000000000000..279f62e63fab
--- /dev/null
+++ b/docshell/test/mochitest/tor_bug16620_form.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+ Tor Bug 16620: Clear window.name when no referrer sent.
+ https://trac.torproject.org/projects/tor/ticket/16620
+
+ Regression test for bug 18168: iframe-based AJAX call opening in new tab
+-->
+<head>
+ <meta charset="UTF-8">
+ <title>Supporting Form-based Doc for Tor Bug 16620 Tests</title>
+</head>
+<body>
+
+<script>
+document.addEventListener("DOMContentLoaded", function () {
+ addPostTarget();
+}, false);
+
+
+function addPostTarget()
+{
+ let frameName = location.search.substr(1);
+ let form = document.getElementById("postform");
+ let iframe = document.createElement("iframe");
+ iframe.style.border = "1px solid red";
+ iframe.src = "about:blank";
+ form.target = iframe.name = iframe.id = frameName;
+ document.body.appendChild(iframe);
+
+ let didSubmit = false;
+ iframe.onload = function() {
+ if (!didSubmit) {
+ didSubmit = true;
+ let submitButton = document.getElementById("submitButton");
+ submitButton.click();
+ } else {
+ // Form submission complete. Report iframe's name to test driver.
+ opener.postMessage({ state: "formPostDone", winName: iframe.name }, "*");
+ }
+ };
+}
+
+</script>
+<form name="postform" id="postform"
+ action="data:text/plain;charset=utf-8,Hello%20world"
+ method="POST" enctype="multipart/form-data">
+ <input type="hidden" name="field1" value="value1"><br>
+ <input id="submitButton" type="submit" value="Post It">
+</body>
+</html>
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
index d81025b28262..516b5c4877f7 100644
--- a/modules/libpref/init/StaticPrefList.yaml
+++ b/modules/libpref/init/StaticPrefList.yaml
@@ -10441,7 +10441,7 @@
- name: privacy.window.name.update.enabled
type: bool
- value: true
+ value: false
mirror: always
# By default, the network state isolation is not active when there is a proxy
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 40198: Expose privacy.spoof_english pref in GeckoView
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 556027eb548633a4444961f86bf2c263e5479c7f
Author: Alex Catarineu <acat(a)torproject.org>
Date: Sun Oct 18 17:06:04 2020 +0200
Bug 40198: Expose privacy.spoof_english pref in GeckoView
---
mobile/android/geckoview/api.txt | 3 ++
.../mozilla/geckoview/GeckoRuntimeSettings.java | 33 ++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/mobile/android/geckoview/api.txt b/mobile/android/geckoview/api.txt
index f9f0c9d14a8a..3335aaffb1fb 100644
--- a/mobile/android/geckoview/api.txt
+++ b/mobile/android/geckoview/api.txt
@@ -737,6 +737,7 @@ package org.mozilla.geckoview {
method public boolean getRemoteDebuggingEnabled();
method @Nullable public GeckoRuntime getRuntime();
method @Nullable public Rect getScreenSizeOverride();
+ method public boolean getSpoofEnglish();
method @Nullable public RuntimeTelemetry.Delegate getTelemetryDelegate();
method public int getTorSecurityLevel();
method public boolean getUseMaxScreenDepth();
@@ -759,6 +760,7 @@ package org.mozilla.geckoview {
method @NonNull public GeckoRuntimeSettings setLoginAutofillEnabled(boolean);
method @NonNull public GeckoRuntimeSettings setPreferredColorScheme(int);
method @NonNull public GeckoRuntimeSettings setRemoteDebuggingEnabled(boolean);
+ method @NonNull public GeckoRuntimeSettings setSpoofEnglish(boolean);
method @NonNull public GeckoRuntimeSettings setTorSecurityLevel(int);
method @NonNull public GeckoRuntimeSettings setWebFontsEnabled(boolean);
method @NonNull public GeckoRuntimeSettings setWebManifestEnabled(boolean);
@@ -799,6 +801,7 @@ package org.mozilla.geckoview {
method @NonNull public GeckoRuntimeSettings.Builder preferredColorScheme(int);
method @NonNull public GeckoRuntimeSettings.Builder remoteDebuggingEnabled(boolean);
method @NonNull public GeckoRuntimeSettings.Builder screenSizeOverride(int, int);
+ method @NonNull public GeckoRuntimeSettings.Builder spoofEnglish(boolean);
method @NonNull public GeckoRuntimeSettings.Builder telemetryDelegate(@NonNull RuntimeTelemetry.Delegate);
method @NonNull public GeckoRuntimeSettings.Builder torSecurityLevel(int);
method @NonNull public GeckoRuntimeSettings.Builder useMaxScreenDepth(boolean);
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
index d88e296d554a..5b54447cb6e6 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
@@ -483,6 +483,17 @@ public final class GeckoRuntimeSettings extends RuntimeSettings {
getSettings().mTorSecurityLevel.set(level);
return this;
}
+
+ /**
+ * Sets whether we should spoof locale to English for webpages.
+ *
+ * @param flag True if we should spoof locale to English for webpages, false otherwise.
+ * @return This Builder instance.
+ */
+ public @NonNull Builder spoofEnglish(final boolean flag) {
+ getSettings().mSpoofEnglish.set(flag ? 2 : 1);
+ return this;
+ }
}
private GeckoRuntime mRuntime;
@@ -541,6 +552,8 @@ public final class GeckoRuntimeSettings extends RuntimeSettings {
"dom.ipc.processCount", 2);
/* package */ final Pref<Integer> mTorSecurityLevel = new Pref<>(
"extensions.torbutton.security_slider", 4);
+ /* package */ final Pref<Integer> mSpoofEnglish = new Pref<>(
+ "privacy.spoof_english", 0);
/* package */ int mPreferredColorScheme = COLOR_SCHEME_SYSTEM;
@@ -1319,6 +1332,26 @@ public final class GeckoRuntimeSettings extends RuntimeSettings {
return this;
}
+ /**
+ * Get whether we should spoof locale to English for webpages.
+ *
+ * @return Whether we should spoof locale to English for webpages.
+ */
+ public boolean getSpoofEnglish() {
+ return mSpoofEnglish.get() == 2;
+ }
+
+ /**
+ * Set whether we should spoof locale to English for webpages.
+ *
+ * @param flag A flag determining whether we should locale to English for webpages.
+ * @return This GeckoRuntimeSettings instance.
+ */
+ public @NonNull GeckoRuntimeSettings setSpoofEnglish(final boolean flag) {
+ mSpoofEnglish.commit(flag ? 2 : 1);
+ return this;
+ }
+
@Override // Parcelable
public void writeToParcel(final Parcel out, final int flags) {
super.writeToParcel(out, flags);
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 27604: Fix addon issues when moving TB directory
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit ebe92dee55450badfec6a00601610447c709123c
Author: Alex Catarineu <acat(a)torproject.org>
Date: Wed Oct 30 10:44:48 2019 +0100
Bug 27604: Fix addon issues when moving TB directory
---
toolkit/mozapps/extensions/internal/XPIProvider.jsm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/toolkit/mozapps/extensions/internal/XPIProvider.jsm b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
index 5bd7cabb0f73..c1cef2814b38 100644
--- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
@@ -475,7 +475,7 @@ class XPIState {
// Builds prior to be 1512436 did not include the rootURI property.
// If we're updating from such a build, add that property now.
- if (!("rootURI" in this) && this.file) {
+ if (this.file) {
this.rootURI = getURIForResourceInFile(this.file, "").spec;
}
@@ -488,7 +488,10 @@ class XPIState {
saved.currentModifiedTime != this.lastModifiedTime
) {
this.lastModifiedTime = saved.currentModifiedTime;
- } else if (saved.currentModifiedTime === null) {
+ } else if (
+ saved.currentModifiedTime === null &&
+ (!this.file || !this.file.exists())
+ ) {
this.missing = true;
}
}
@@ -1449,6 +1452,7 @@ var XPIStates = {
if (shouldRestoreLocationData && oldState[loc.name]) {
loc.restore(oldState[loc.name]);
+ changed = changed || loc.path != oldState[loc.name].path;
}
changed = changed || loc.changed;
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 21830: Copying large text from web console leaks to /tmp
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 8fb4b48a356094ccea7b45393334aab2126dc4ce
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Aug 4 05:55:49 2017 +0000
Bug 21830: Copying large text from web console leaks to /tmp
Patch written by Neill Miller
---
widget/nsTransferable.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/widget/nsTransferable.cpp b/widget/nsTransferable.cpp
index c82549a4d1d1..f8ecfbff0983 100644
--- a/widget/nsTransferable.cpp
+++ b/widget/nsTransferable.cpp
@@ -33,6 +33,7 @@ Notes to self:
#include "nsILoadContext.h"
#include "nsXULAppAPI.h"
#include "mozilla/UniquePtr.h"
+#include "mozilla/Preferences.h"
using namespace mozilla;
@@ -195,6 +196,11 @@ nsTransferable::Init(nsILoadContext* aContext) {
if (aContext) {
mPrivateData = aContext->UsePrivateBrowsing();
+ } else {
+ // without aContext here to provide PrivateBrowsing information,
+ // we defer to the active configured setting
+ mPrivateData =
+ mozilla::Preferences::GetBool("browser.privatebrowsing.autostart");
}
#ifdef DEBUG
mInitialized = true;
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 9173: Change the default Firefox profile directory to be TBB-relative.
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 17e615981256302ae70f0d6e2007ab27d2a93d10
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Fri Oct 18 15:20:06 2013 -0400
Bug 9173: Change the default Firefox profile directory to be TBB-relative.
This should eliminate our need to rely on a wrapper script that
sets /Users/arthur and launches Firefox with -profile.
Bug 13252: Do not store data in the app bundle
When --enable-tor-browser-data-outside-app-dir is enabled,
all user data is stored in a directory named
TorBrowser-Data which is located next to the application directory.
Display an informative error message if the TorBrowser-Data
directory cannot be created due to an "access denied" or a
"read only volume" error.
On Mac OS, add support for the --invisible command line option which
is used by the meek-http-helper to avoid showing an icon for the
helper browser on the dock.
---
toolkit/profile/nsToolkitProfileService.cpp | 5 +-
toolkit/xre/nsAppRunner.cpp | 75 +++++++++++---
toolkit/xre/nsConsoleWriter.cpp | 2 +-
toolkit/xre/nsXREDirProvider.cpp | 150 ++++++----------------------
toolkit/xre/nsXREDirProvider.h | 22 ++--
xpcom/io/TorFileUtils.cpp | 133 ++++++++++++++++++++++++
xpcom/io/TorFileUtils.h | 32 ++++++
xpcom/io/moz.build | 5 +
xpcom/io/nsAppFileLocationProvider.cpp | 98 ++++++------------
9 files changed, 315 insertions(+), 207 deletions(-)
diff --git a/toolkit/profile/nsToolkitProfileService.cpp b/toolkit/profile/nsToolkitProfileService.cpp
index b2920c88345d..154806ebbccf 100644
--- a/toolkit/profile/nsToolkitProfileService.cpp
+++ b/toolkit/profile/nsToolkitProfileService.cpp
@@ -819,10 +819,11 @@ nsresult nsToolkitProfileService::Init() {
NS_ASSERTION(gDirServiceProvider, "No dirserviceprovider!");
nsresult rv;
- rv = nsXREDirProvider::GetUserAppDataDirectory(getter_AddRefs(mAppData));
+ rv = gDirServiceProvider->GetUserAppDataDirectory(getter_AddRefs(mAppData));
NS_ENSURE_SUCCESS(rv, rv);
- rv = nsXREDirProvider::GetUserLocalDataDirectory(getter_AddRefs(mTempData));
+ rv =
+ gDirServiceProvider->GetUserLocalDataDirectory(getter_AddRefs(mTempData));
NS_ENSURE_SUCCESS(rv, rv);
rv = mAppData->Clone(getter_AddRefs(mProfileDBFile));
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index d3bb8096ad02..75c381724deb 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -2368,6 +2368,8 @@ static nsresult ProfileMissingDialog(nsINativeAppSupport* aNative) {
}
}
+// If aUnlocker is NULL, it is also OK for the following arguments to be NULL:
+// aProfileDir, aProfileLocalDir, aResult.
static ReturnAbortOnError ProfileLockedDialog(nsIFile* aProfileDir,
nsIFile* aProfileLocalDir,
nsIProfileUnlocker* aUnlocker,
@@ -2375,17 +2377,19 @@ static ReturnAbortOnError ProfileLockedDialog(nsIFile* aProfileDir,
nsIProfileLock** aResult) {
nsresult rv;
- bool exists;
- aProfileDir->Exists(&exists);
- if (!exists) {
- return ProfileMissingDialog(aNative);
+ if (aProfileDir) {
+ bool exists;
+ aProfileDir->Exists(&exists);
+ if (!exists) {
+ return ProfileMissingDialog(aNative);
+ }
}
ScopedXPCOMStartup xpcom;
rv = xpcom.Initialize();
NS_ENSURE_SUCCESS(rv, rv);
- mozilla::Telemetry::WriteFailedProfileLock(aProfileDir);
+ if (aProfileDir) mozilla::Telemetry::WriteFailedProfileLock(aProfileDir);
rv = xpcom.SetWindowCreator(aNative);
NS_ENSURE_SUCCESS(rv, NS_ERROR_FAILURE);
@@ -2581,6 +2585,23 @@ static ReturnAbortOnError ShowProfileManager(
return LaunchChild(false, true);
}
+#ifdef TOR_BROWSER_DATA_OUTSIDE_APP_DIR
+static ProfileStatus CheckTorBrowserDataWriteAccess(nsIFile* aAppDir) {
+ // Check whether we can write to the directory that will contain
+ // TorBrowser-Data.
+ nsCOMPtr<nsIFile> tbDataDir;
+ RefPtr<nsXREDirProvider> dirProvider = nsXREDirProvider::GetSingleton();
+ if (!dirProvider) return PROFILE_STATUS_OTHER_ERROR;
+ nsresult rv =
+ dirProvider->GetTorBrowserUserDataDir(getter_AddRefs(tbDataDir));
+ NS_ENSURE_SUCCESS(rv, PROFILE_STATUS_OTHER_ERROR);
+ nsCOMPtr<nsIFile> tbDataDirParent;
+ rv = tbDataDir->GetParent(getter_AddRefs(tbDataDirParent));
+ NS_ENSURE_SUCCESS(rv, PROFILE_STATUS_OTHER_ERROR);
+ return nsToolkitProfileService::CheckProfileWriteAccess(tbDataDirParent);
+}
+#endif
+
static bool gDoMigration = false;
static bool gDoProfileReset = false;
static nsCOMPtr<nsIToolkitProfile> gResetOldProfile;
@@ -3610,6 +3631,14 @@ int XREMain::XRE_mainInit(bool* aExitFlag) {
if (PR_GetEnv("XRE_MAIN_BREAK")) NS_BREAK();
#endif
+#if defined(XP_MACOSX) && defined(TOR_BROWSER_DATA_OUTSIDE_APP_DIR)
+ bool hideDockIcon = (CheckArg("invisible") == ARG_FOUND);
+ if (hideDockIcon) {
+ ProcessSerialNumber psn = {0, kCurrentProcess};
+ TransformProcessType(&psn, kProcessTransformToBackgroundApplication);
+ }
+#endif
+
IncreaseDescriptorLimits();
#ifdef USE_GLX_TEST
@@ -3729,7 +3758,7 @@ int XREMain::XRE_mainInit(bool* aExitFlag) {
if ((mAppData->flags & NS_XRE_ENABLE_CRASH_REPORTER) &&
NS_SUCCEEDED(CrashReporter::SetExceptionHandler(xreBinDirectory))) {
nsCOMPtr<nsIFile> file;
- rv = nsXREDirProvider::GetUserAppDataDirectory(getter_AddRefs(file));
+ rv = mDirProvider.GetUserAppDataDirectory(getter_AddRefs(file));
if (NS_SUCCEEDED(rv)) {
CrashReporter::SetUserAppDataDirectory(file);
}
@@ -4447,7 +4476,34 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
}
#endif
+#if (defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID)) || \
+ defined(TOR_BROWSER_DATA_OUTSIDE_APP_DIR)
+ nsCOMPtr<nsIFile> exeFile, exeDir;
+ bool persistent;
+ rv = mDirProvider.GetFile(XRE_EXECUTABLE_FILE, &persistent,
+ getter_AddRefs(exeFile));
+ NS_ENSURE_SUCCESS(rv, 1);
+ rv = exeFile->GetParent(getter_AddRefs(exeDir));
+ NS_ENSURE_SUCCESS(rv, 1);
+#endif
+
rv = NS_NewToolkitProfileService(getter_AddRefs(mProfileSvc));
+#ifdef TOR_BROWSER_DATA_OUTSIDE_APP_DIR
+ if (NS_FAILED(rv)) {
+ // NS_NewToolkitProfileService() returns a generic NS_ERROR_FAILURE error
+ // if creation of the TorBrowser-Data directory fails due to access denied
+ // or because of a read-only disk volume. Do an extra check here to detect
+ // these errors so we can display an informative error message.
+ ProfileStatus status = CheckTorBrowserDataWriteAccess(exeDir);
+ if ((PROFILE_STATUS_ACCESS_DENIED == status) ||
+ (PROFILE_STATUS_READ_ONLY == status)) {
+ ProfileErrorDialog(nullptr, nullptr, status, nullptr, mNativeApp,
+ nullptr);
+ return 1;
+ }
+ }
+#endif
+
if (rv == NS_ERROR_FILE_ACCESS_DENIED) {
PR_fprintf(PR_STDERR,
"Error: Access was denied while trying to open files in "
@@ -4517,7 +4573,6 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
if (ShouldProcessUpdates(mDirProvider)) {
// Check for and process any available updates
nsCOMPtr<nsIFile> updRoot;
- bool persistent;
rv = mDirProvider.GetFile(XRE_UPDATE_ROOT_DIR, &persistent,
getter_AddRefs(updRoot));
// XRE_UPDATE_ROOT_DIR may fail. Fallback to appDir if failed
@@ -4553,12 +4608,6 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
if (CheckArg("test-process-updates")) {
SaveToEnv("MOZ_TEST_PROCESS_UPDATES=1");
}
- nsCOMPtr<nsIFile> exeFile, exeDir;
- rv = mDirProvider.GetFile(XRE_EXECUTABLE_FILE, &persistent,
- getter_AddRefs(exeFile));
- NS_ENSURE_SUCCESS(rv, 1);
- rv = exeFile->GetParent(getter_AddRefs(exeDir));
- NS_ENSURE_SUCCESS(rv, 1);
ProcessUpdates(mDirProvider.GetGREDir(), exeDir, updRoot, gRestartArgc,
gRestartArgv, mAppData->version);
if (EnvHasValue("MOZ_TEST_PROCESS_UPDATES")) {
diff --git a/toolkit/xre/nsConsoleWriter.cpp b/toolkit/xre/nsConsoleWriter.cpp
index d89ea3bde31d..4a9a6d28034a 100644
--- a/toolkit/xre/nsConsoleWriter.cpp
+++ b/toolkit/xre/nsConsoleWriter.cpp
@@ -29,7 +29,7 @@ void WriteConsoleLog() {
} else {
if (!gLogConsoleErrors) return;
- rv = nsXREDirProvider::GetUserAppDataDirectory(getter_AddRefs(lfile));
+ rv = gDirServiceProvider->GetUserAppDataDirectory(getter_AddRefs(lfile));
if (NS_FAILED(rv)) return;
lfile->AppendNative("console.log"_ns);
diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
index d6def8aee83d..2e965b3526ad 100644
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
@@ -32,6 +32,7 @@
#include "nsArrayEnumerator.h"
#include "nsEnumeratorUtils.h"
#include "nsReadableUtils.h"
+#include "nsXPCOMPrivate.h" // for XPCOM_FILE_PATH_SEPARATOR
#include "SpecialSystemDirectory.h"
@@ -56,6 +57,8 @@
# include "nsIPK11Token.h"
#endif
+#include "TorFileUtils.h"
+
#include <stdlib.h>
#ifdef XP_WIN
@@ -255,9 +258,6 @@ nsresult nsXREDirProvider::GetUserProfilesRootDir(nsIFile** aResult) {
nsresult rv = GetUserDataDirectory(getter_AddRefs(file), false);
if (NS_SUCCEEDED(rv)) {
-#if !defined(XP_UNIX) || defined(XP_MACOSX)
- rv = file->AppendNative("Profiles"_ns);
-#endif
// We must create the profile directory here if it does not exist.
nsresult tmp = EnsureDirectoryExists(file);
if (NS_FAILED(tmp)) {
@@ -273,9 +273,6 @@ nsresult nsXREDirProvider::GetUserProfilesLocalDir(nsIFile** aResult) {
nsresult rv = GetUserDataDirectory(getter_AddRefs(file), true);
if (NS_SUCCEEDED(rv)) {
-#if !defined(XP_UNIX) || defined(XP_MACOSX)
- rv = file->AppendNative("Profiles"_ns);
-#endif
// We must create the profile directory here if it does not exist.
nsresult tmp = EnsureDirectoryExists(file);
if (NS_FAILED(tmp)) {
@@ -1370,7 +1367,7 @@ nsresult nsXREDirProvider::SetUserDataProfileDirectory(nsCOMPtr<nsIFile>& aFile,
nsresult nsXREDirProvider::GetUserDataDirectoryHome(nsIFile** aFile,
bool aLocal) {
// Copied from nsAppFileLocationProvider (more or less)
- nsresult rv;
+ NS_ENSURE_ARG_POINTER(aFile);
nsCOMPtr<nsIFile> localDir;
if (aLocal && gDataDirHomeLocal) {
@@ -1380,80 +1377,23 @@ nsresult nsXREDirProvider::GetUserDataDirectoryHome(nsIFile** aFile,
return gDataDirHome->Clone(aFile);
}
-#if defined(XP_MACOSX)
- FSRef fsRef;
- OSType folderType;
- if (aLocal) {
- folderType = kCachedDataFolderType;
- } else {
-# ifdef MOZ_THUNDERBIRD
- folderType = kDomainLibraryFolderType;
-# else
- folderType = kApplicationSupportFolderType;
-# endif
- }
- OSErr err = ::FSFindFolder(kUserDomain, folderType, kCreateFolder, &fsRef);
- NS_ENSURE_FALSE(err, NS_ERROR_FAILURE);
-
- rv = NS_NewNativeLocalFile(""_ns, true, getter_AddRefs(localDir));
- NS_ENSURE_SUCCESS(rv, rv);
-
- nsCOMPtr<nsILocalFileMac> dirFileMac = do_QueryInterface(localDir);
- NS_ENSURE_TRUE(dirFileMac, NS_ERROR_UNEXPECTED);
-
- rv = dirFileMac->InitWithFSRef(&fsRef);
- NS_ENSURE_SUCCESS(rv, rv);
-
- localDir = dirFileMac;
-#elif defined(XP_IOS)
- nsAutoCString userDir;
- if (GetUIKitDirectory(aLocal, userDir)) {
- rv = NS_NewNativeLocalFile(userDir, true, getter_AddRefs(localDir));
- } else {
- rv = NS_ERROR_FAILURE;
- }
- NS_ENSURE_SUCCESS(rv, rv);
-#elif defined(XP_WIN)
- nsString path;
- if (aLocal) {
- rv = GetShellFolderPath(FOLDERID_LocalAppData, path);
- if (NS_FAILED(rv)) rv = GetRegWindowsAppDataFolder(aLocal, path);
- }
- if (!aLocal || NS_FAILED(rv)) {
- rv = GetShellFolderPath(FOLDERID_RoamingAppData, path);
- if (NS_FAILED(rv)) {
- if (!aLocal) rv = GetRegWindowsAppDataFolder(aLocal, path);
- }
- }
+ nsresult rv = GetTorBrowserUserDataDir(getter_AddRefs(localDir));
NS_ENSURE_SUCCESS(rv, rv);
- rv = NS_NewLocalFile(path, true, getter_AddRefs(localDir));
-#elif defined(XP_UNIX)
- const char* homeDir = getenv("HOME");
- if (!homeDir || !*homeDir) return NS_ERROR_FAILURE;
-
-# ifdef ANDROID /* We want (ProfD == ProfLD) on Android. */
- aLocal = false;
+#if !defined(ANDROID)
+# ifdef TOR_BROWSER_DATA_OUTSIDE_APP_DIR
+ rv = localDir->AppendNative("Browser"_ns);
+# else
+ rv = localDir->AppendRelativeNativePath("Data" XPCOM_FILE_PATH_SEPARATOR
+ "Browser"_ns);
# endif
+ NS_ENSURE_SUCCESS(rv, rv);
+#endif
if (aLocal) {
- // If $XDG_CACHE_HOME is defined use it, otherwise use $HOME/.cache.
- const char* cacheHome = getenv("XDG_CACHE_HOME");
- if (cacheHome && *cacheHome) {
- rv = NS_NewNativeLocalFile(nsDependentCString(cacheHome), true,
- getter_AddRefs(localDir));
- } else {
- rv = NS_NewNativeLocalFile(nsDependentCString(homeDir), true,
- getter_AddRefs(localDir));
- if (NS_SUCCEEDED(rv)) rv = localDir->AppendNative(".cache"_ns);
- }
- } else {
- rv = NS_NewNativeLocalFile(nsDependentCString(homeDir), true,
- getter_AddRefs(localDir));
+ rv = localDir->AppendNative("Caches"_ns);
+ NS_ENSURE_SUCCESS(rv, rv);
}
-#else
-# error "Don't know how to get product dir on your platform"
-#endif
NS_IF_ADDREF(*aFile = localDir);
return rv;
@@ -1554,6 +1494,15 @@ nsresult nsXREDirProvider::GetUserDataDirectory(nsIFile** aFile, bool aLocal) {
return NS_OK;
}
+nsresult nsXREDirProvider::GetTorBrowserUserDataDir(nsIFile** aFile) {
+ NS_ENSURE_ARG_POINTER(aFile);
+ nsCOMPtr<nsIFile> exeFile;
+ bool per = false;
+ nsresult rv = GetFile(XRE_EXECUTABLE_FILE, &per, getter_AddRefs(exeFile));
+ NS_ENSURE_SUCCESS(rv, rv);
+ return TorBrowser_GetUserDataDir(exeFile, aFile);
+}
+
nsresult nsXREDirProvider::EnsureDirectoryExists(nsIFile* aDirectory) {
nsresult rv = aDirectory->Create(nsIFile::DIRECTORY_TYPE, 0700);
@@ -1636,39 +1585,23 @@ nsresult nsXREDirProvider::AppendProfilePath(nsIFile* aFile, bool aLocal) {
}
nsAutoCString profile;
- nsAutoCString appName;
- nsAutoCString vendor;
if (gAppData->profile) {
profile = gAppData->profile;
- } else {
- appName = gAppData->name;
- vendor = gAppData->vendor;
}
- nsresult rv = NS_OK;
+ nsresult rv = NS_ERROR_FAILURE;
#if defined(XP_MACOSX)
if (!profile.IsEmpty()) {
rv = AppendProfileString(aFile, profile.get());
- } else {
- // Note that MacOS ignores the vendor when creating the profile hierarchy -
- // all application preferences directories live alongside one another in
- // ~/Library/Application Support/
- rv = aFile->AppendNative(appName);
+ NS_ENSURE_SUCCESS(rv, rv);
}
- NS_ENSURE_SUCCESS(rv, rv);
#elif defined(XP_WIN)
if (!profile.IsEmpty()) {
rv = AppendProfileString(aFile, profile.get());
- } else {
- if (!vendor.IsEmpty()) {
- rv = aFile->AppendNative(vendor);
- NS_ENSURE_SUCCESS(rv, rv);
- }
- rv = aFile->AppendNative(appName);
+ NS_ENSURE_SUCCESS(rv, rv);
}
- NS_ENSURE_SUCCESS(rv, rv);
#elif defined(ANDROID)
// The directory used for storing profiles
@@ -1678,11 +1611,6 @@ nsresult nsXREDirProvider::AppendProfilePath(nsIFile* aFile, bool aLocal) {
rv = aFile->AppendNative(nsDependentCString("mozilla"));
NS_ENSURE_SUCCESS(rv, rv);
#elif defined(XP_UNIX)
- nsAutoCString folder;
- // Make it hidden (by starting with "."), except when local (the
- // profile is already under ~/.cache or XDG_CACHE_HOME).
- if (!aLocal) folder.Assign('.');
-
if (!profile.IsEmpty()) {
// Skip any leading path characters
const char* profileStart = profile.get();
@@ -1690,32 +1618,16 @@ nsresult nsXREDirProvider::AppendProfilePath(nsIFile* aFile, bool aLocal) {
// On the off chance that someone wanted their folder to be hidden don't
// let it become ".."
- if (*profileStart == '.' && !aLocal) profileStart++;
+ if (*profileStart == '.') profileStart++;
+ // Make it hidden (by starting with ".").
+ nsAutoCString folder(".");
folder.Append(profileStart);
ToLowerCase(folder);
rv = AppendProfileString(aFile, folder.BeginReading());
- } else {
- if (!vendor.IsEmpty()) {
- folder.Append(vendor);
- ToLowerCase(folder);
-
- rv = aFile->AppendNative(folder);
- NS_ENSURE_SUCCESS(rv, rv);
-
- folder.Truncate();
- }
-
- // This can be the case in tests.
- if (!appName.IsEmpty()) {
- folder.Append(appName);
- ToLowerCase(folder);
-
- rv = aFile->AppendNative(folder);
- }
+ NS_ENSURE_SUCCESS(rv, rv);
}
- NS_ENSURE_SUCCESS(rv, rv);
#else
# error "Don't know how to get profile path on your platform"
diff --git a/toolkit/xre/nsXREDirProvider.h b/toolkit/xre/nsXREDirProvider.h
index e28a4fef5bc6..98ef4ad770ea 100644
--- a/toolkit/xre/nsXREDirProvider.h
+++ b/toolkit/xre/nsXREDirProvider.h
@@ -63,15 +63,19 @@ class nsXREDirProvider final : public nsIDirectoryServiceProvider2,
void DoShutdown();
- static nsresult GetUserAppDataDirectory(nsIFile** aFile) {
+ nsresult GetUserAppDataDirectory(nsIFile** aFile) {
return GetUserDataDirectory(aFile, false);
}
- static nsresult GetUserLocalDataDirectory(nsIFile** aFile) {
+ nsresult GetUserLocalDataDirectory(nsIFile** aFile) {
return GetUserDataDirectory(aFile, true);
}
// GetUserDataDirectory gets the profile path from gAppData.
- static nsresult GetUserDataDirectory(nsIFile** aFile, bool aLocal);
+
+ // This function now calls GetAppDir(), so it cannot be static anymore.
+ // The same happens with all the functions (in)directly calling this one (the
+ // rest of Get*Directory functions in this file)
+ nsresult GetUserDataDirectory(nsIFile** aFile, bool aLocal);
/* make sure you clone it, if you need to do stuff to it */
nsIFile* GetGREDir() { return mGREDir; }
@@ -109,12 +113,18 @@ class nsXREDirProvider final : public nsIDirectoryServiceProvider2,
*/
nsresult GetProfileDir(nsIFile** aResult);
+ /**
+ * Get the TorBrowser user data directory by calling the
+ * TorBrowser_GetUserDataDir() utility function.
+ */
+ nsresult GetTorBrowserUserDataDir(nsIFile** aFile);
+
protected:
nsresult GetFilesInternal(const char* aProperty,
nsISimpleEnumerator** aResult);
- static nsresult GetUserDataDirectoryHome(nsIFile** aFile, bool aLocal);
- static nsresult GetSysUserExtensionsDirectory(nsIFile** aFile);
- static nsresult GetSysUserExtensionsDevDirectory(nsIFile** aFile);
+ nsresult GetUserDataDirectoryHome(nsIFile** aFile, bool aLocal);
+ nsresult GetSysUserExtensionsDirectory(nsIFile** aFile);
+ nsresult GetSysUserExtensionsDevDirectory(nsIFile** aFile);
#if defined(XP_UNIX) || defined(XP_MACOSX)
static nsresult GetSystemExtensionsDirectory(nsIFile** aFile);
#endif
diff --git a/xpcom/io/TorFileUtils.cpp b/xpcom/io/TorFileUtils.cpp
new file mode 100644
index 000000000000..6bd03f1f7fed
--- /dev/null
+++ b/xpcom/io/TorFileUtils.cpp
@@ -0,0 +1,133 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "TorFileUtils.h"
+#include "nsString.h"
+#ifdef MOZ_WIDGET_COCOA
+# include <Carbon/Carbon.h>
+# include "nsILocalFileMac.h"
+#endif
+
+static nsresult GetAppRootDir(nsIFile* aExeFile, nsIFile** aFile);
+
+//-----------------------------------------------------------------------------
+nsresult TorBrowser_GetUserDataDir(nsIFile* aExeFile, nsIFile** aFile) {
+ NS_ENSURE_ARG_POINTER(aFile);
+ nsCOMPtr<nsIFile> tbDataDir;
+
+#ifdef TOR_BROWSER_DATA_OUTSIDE_APP_DIR
+ nsAutoCString tbDataLeafName("TorBrowser-Data"_ns);
+ nsCOMPtr<nsIFile> appRootDir;
+ nsresult rv = GetAppRootDir(aExeFile, getter_AddRefs(appRootDir));
+ NS_ENSURE_SUCCESS(rv, rv);
+# ifndef XP_MACOSX
+ // On all platforms except Mac OS, we always operate in a "portable" mode
+ // where the TorBrowser-Data directory is located next to the application.
+ rv = appRootDir->GetParent(getter_AddRefs(tbDataDir));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = tbDataDir->AppendNative(tbDataLeafName);
+ NS_ENSURE_SUCCESS(rv, rv);
+# else
+ // For Mac OS, determine whether we should store user data in the OS's
+ // standard location (i.e., under ~/Library/Application Support). We use
+ // the OS location if (1) the application is installed in a directory whose
+ // path contains "/Applications" or (2) the TorBrowser-Data directory does
+ // not exist and cannot be created (which probably means we lack write
+ // permission to the directory that contains the application).
+ nsAutoString appRootPath;
+ rv = appRootDir->GetPath(appRootPath);
+ NS_ENSURE_SUCCESS(rv, rv);
+ bool useOSLocation =
+ (appRootPath.Find("/Applications", true /* ignore case */) >= 0);
+ if (!useOSLocation) {
+ // We hope to use the portable (aka side-by-side) approach, but before we
+ // commit to that, let's ensure that we can create the TorBrowser-Data
+ // directory. If it already exists, we will try to use it; if not and we
+ // fail to create it, we will switch to ~/Library/Application Support.
+ rv = appRootDir->GetParent(getter_AddRefs(tbDataDir));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = tbDataDir->AppendNative(tbDataLeafName);
+ NS_ENSURE_SUCCESS(rv, rv);
+ bool exists = false;
+ rv = tbDataDir->Exists(&exists);
+ if (NS_SUCCEEDED(rv) && !exists)
+ rv = tbDataDir->Create(nsIFile::DIRECTORY_TYPE, 0700);
+ useOSLocation = NS_FAILED(rv);
+ }
+
+ if (useOSLocation) {
+ // We are using ~/Library/Application Support/TorBrowser-Data. We do not
+ // need to create that directory here because the code in nsXREDirProvider
+ // will do so (and the user should always have write permission for
+ // ~/Library/Application Support; if they do not we have no more options).
+ FSRef fsRef;
+ OSErr err = ::FSFindFolder(kUserDomain, kApplicationSupportFolderType,
+ kCreateFolder, &fsRef);
+ NS_ENSURE_FALSE(err, NS_ERROR_FAILURE);
+ // To convert the FSRef returned by FSFindFolder() into an nsIFile that
+ // points to ~/Library/Application Support, we first create an empty
+ // nsIFile object (no path) and then use InitWithFSRef() to set the
+ // path.
+ rv = NS_NewNativeLocalFile(""_ns, true, getter_AddRefs(tbDataDir));
+ NS_ENSURE_SUCCESS(rv, rv);
+ nsCOMPtr<nsILocalFileMac> dirFileMac = do_QueryInterface(tbDataDir);
+ if (!dirFileMac) return NS_ERROR_UNEXPECTED;
+ rv = dirFileMac->InitWithFSRef(&fsRef);
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = tbDataDir->AppendNative(tbDataLeafName);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
+# endif
+
+#elif defined(ANDROID)
+ // Tor Browser Android stores data in the app home directory.
+ const char* homeDir = getenv("HOME");
+ if (!homeDir || !*homeDir) return NS_ERROR_FAILURE;
+ nsresult rv = NS_NewNativeLocalFile(nsDependentCString(homeDir), true,
+ getter_AddRefs(tbDataDir));
+#else
+ // User data is embedded within the application directory (i.e.,
+ // TOR_BROWSER_DATA_OUTSIDE_APP_DIR is not defined).
+ nsresult rv = GetAppRootDir(aExeFile, getter_AddRefs(tbDataDir));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = tbDataDir->AppendNative("TorBrowser"_ns);
+ NS_ENSURE_SUCCESS(rv, rv);
+#endif
+
+ tbDataDir.forget(aFile);
+ return NS_OK;
+}
+
+static nsresult GetAppRootDir(nsIFile* aExeFile, nsIFile** aFile) {
+ NS_ENSURE_ARG_POINTER(aExeFile);
+ NS_ENSURE_ARG_POINTER(aFile);
+ nsCOMPtr<nsIFile> appRootDir = aExeFile;
+
+ int levelsToRemove = 1; // Remove firefox (the executable file).
+#if defined(XP_MACOSX)
+ levelsToRemove += 2; // On Mac OS, we must also remove Contents/MacOS.
+#endif
+ while (appRootDir && (levelsToRemove > 0)) {
+ // When crawling up the hierarchy, components named "." do not count.
+ nsAutoCString removedName;
+ nsresult rv = appRootDir->GetNativeLeafName(removedName);
+ NS_ENSURE_SUCCESS(rv, rv);
+ bool didRemove = !removedName.Equals(".");
+
+ // Remove a directory component.
+ nsCOMPtr<nsIFile> parentDir;
+ rv = appRootDir->GetParent(getter_AddRefs(parentDir));
+ NS_ENSURE_SUCCESS(rv, rv);
+ appRootDir = parentDir;
+
+ if (didRemove) --levelsToRemove;
+ }
+
+ if (!appRootDir) return NS_ERROR_FAILURE;
+
+ appRootDir.forget(aFile);
+ return NS_OK;
+}
diff --git a/xpcom/io/TorFileUtils.h b/xpcom/io/TorFileUtils.h
new file mode 100644
index 000000000000..31e70a7e0d3a
--- /dev/null
+++ b/xpcom/io/TorFileUtils.h
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef TorFileUtils_h__
+#define TorFileUtils_h__
+
+#include "nsIFile.h"
+
+/**
+ * TorBrowser_GetUserDataDir
+ *
+ * Retrieve the Tor Browser user data directory.
+ * When built with --enable-tor-browser-data-outside-app-dir, the directory
+ * is next to the application directory, except on Mac OS where it may be
+ * there or it may be at ~/Library/Application Support/TorBrowser-Data (the
+ * latter location is used if the .app bundle is in a directory whose path
+ * contains /Applications or if we lack write access to the directory that
+ * contains the .app).
+ * When built without --enable-tor-browser-data-outside-app-dir, this
+ * directory is TorBrowser.app/TorBrowser.
+ *
+ * @param aExeFile The firefox executable.
+ * @param aFile Out parameter that is set to the Tor Browser user data
+ * directory.
+ * @return NS_OK on success. Error otherwise.
+ */
+extern nsresult TorBrowser_GetUserDataDir(nsIFile* aExeFile, nsIFile** aFile);
+
+#endif // !TorFileUtils_h__
diff --git a/xpcom/io/moz.build b/xpcom/io/moz.build
index d28c426e7bd7..af7b5be04f6e 100644
--- a/xpcom/io/moz.build
+++ b/xpcom/io/moz.build
@@ -86,6 +86,7 @@ EXPORTS += [
"nsUnicharInputStream.h",
"nsWildCard.h",
"SpecialSystemDirectory.h",
+ "TorFileUtils.h",
]
EXPORTS.mozilla += [
@@ -137,6 +138,10 @@ UNIFIED_SOURCES += [
"SpecialSystemDirectory.cpp",
]
+SOURCES += [
+ "TorFileUtils.cpp",
+]
+
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
SOURCES += [
"CocoaFileUtils.mm",
diff --git a/xpcom/io/nsAppFileLocationProvider.cpp b/xpcom/io/nsAppFileLocationProvider.cpp
index ef974f99048f..66f6940beff6 100644
--- a/xpcom/io/nsAppFileLocationProvider.cpp
+++ b/xpcom/io/nsAppFileLocationProvider.cpp
@@ -15,6 +15,7 @@
#include "nsSimpleEnumerator.h"
#include "prenv.h"
#include "nsCRT.h"
+#include "nsXPCOMPrivate.h" // for XPCOM_FILE_PATH_SEPARATOR
#if defined(MOZ_WIDGET_COCOA)
# include <Carbon/Carbon.h>
# include "nsILocalFileMac.h"
@@ -27,6 +28,8 @@
# include <sys/param.h>
#endif
+#include "TorFileUtils.h"
+
// WARNING: These hard coded names need to go away. They need to
// come from localizable resources
@@ -233,9 +236,14 @@ nsresult nsAppFileLocationProvider::CloneMozBinDirectory(nsIFile** aLocalFile) {
// GetProductDirectory - Gets the directory which contains the application data
// folder
//
-// UNIX : ~/.mozilla/
-// WIN : <Application Data folder on user's machine>\Mozilla
-// Mac : :Documents:Mozilla:
+#ifdef TOR_BROWSER_DATA_OUTSIDE_APP_DIR
+// UNIX and WIN : <App Folder>/../TorBrowser-Data/Browser
+// Mac : <App Folder>/../../../TorBrowser-Data/Browser OR
+// ~/Library/Application Support/TorBrowser-Data/Browser
+#else
+// UNIX and WIN : <App Folder>/TorBrowser/Data/Browser
+// Mac : <App Folder>/../../TorBrowser/Data/Browser
+#endif
//----------------------------------------------------------------------------------------
nsresult nsAppFileLocationProvider::GetProductDirectory(nsIFile** aLocalFile,
bool aLocal) {
@@ -243,53 +251,32 @@ nsresult nsAppFileLocationProvider::GetProductDirectory(nsIFile** aLocalFile,
return NS_ERROR_INVALID_ARG;
}
- nsresult rv;
+ nsresult rv = NS_ERROR_UNEXPECTED;
bool exists;
- nsCOMPtr<nsIFile> localDir;
-
-#if defined(MOZ_WIDGET_COCOA)
- FSRef fsRef;
- OSType folderType =
- aLocal ? (OSType)kCachedDataFolderType : (OSType)kDomainLibraryFolderType;
- OSErr err = ::FSFindFolder(kUserDomain, folderType, kCreateFolder, &fsRef);
- if (err) {
- return NS_ERROR_FAILURE;
- }
- NS_NewLocalFile(u""_ns, true, getter_AddRefs(localDir));
- if (!localDir) {
- return NS_ERROR_FAILURE;
- }
- nsCOMPtr<nsILocalFileMac> localDirMac(do_QueryInterface(localDir));
- rv = localDirMac->InitWithFSRef(&fsRef);
- if (NS_FAILED(rv)) {
- return rv;
- }
-#elif defined(XP_WIN)
- nsCOMPtr<nsIProperties> directoryService =
- do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv);
- if (NS_FAILED(rv)) {
- return rv;
- }
- const char* prop = aLocal ? NS_WIN_LOCAL_APPDATA_DIR : NS_WIN_APPDATA_DIR;
- rv = directoryService->Get(prop, NS_GET_IID(nsIFile),
- getter_AddRefs(localDir));
- if (NS_FAILED(rv)) {
- return rv;
- }
-#elif defined(XP_UNIX)
- rv = NS_NewNativeLocalFile(nsDependentCString(PR_GetEnv("HOME")), true,
- getter_AddRefs(localDir));
- if (NS_FAILED(rv)) {
- return rv;
- }
+ nsCOMPtr<nsIFile> localDir, exeFile;
+
+ nsCOMPtr<nsIProperties> directoryService(
+ do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = directoryService->Get(XRE_EXECUTABLE_FILE, NS_GET_IID(nsIFile),
+ getter_AddRefs(exeFile));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = TorBrowser_GetUserDataDir(exeFile, getter_AddRefs(localDir));
+ NS_ENSURE_SUCCESS(rv, rv);
+
+#ifdef TOR_BROWSER_DATA_OUTSIDE_APP_DIR
+ rv = localDir->AppendNative("Browser"_ns);
#else
-# error dont_know_how_to_get_product_dir_on_your_platform
+ rv = localDir->AppendRelativeNativePath("Data" XPCOM_FILE_PATH_SEPARATOR
+ "Browser"_ns);
#endif
+ NS_ENSURE_SUCCESS(rv, rv);
- rv = localDir->AppendRelativeNativePath(DEFAULT_PRODUCT_DIR);
- if (NS_FAILED(rv)) {
- return rv;
+ if (aLocal) {
+ rv = localDir->AppendNative("Caches"_ns);
+ NS_ENSURE_SUCCESS(rv, rv);
}
+
rv = localDir->Exists(&exists);
if (NS_SUCCEEDED(rv) && !exists) {
@@ -308,10 +295,6 @@ nsresult nsAppFileLocationProvider::GetProductDirectory(nsIFile** aLocalFile,
//----------------------------------------------------------------------------------------
// GetDefaultUserProfileRoot - Gets the directory which contains each user
// profile dir
-//
-// UNIX : ~/.mozilla/
-// WIN : <Application Data folder on user's machine>\Mozilla\Profiles
-// Mac : :Documents:Mozilla:Profiles:
//----------------------------------------------------------------------------------------
nsresult nsAppFileLocationProvider::GetDefaultUserProfileRoot(
nsIFile** aLocalFile, bool aLocal) {
@@ -327,23 +310,6 @@ nsresult nsAppFileLocationProvider::GetDefaultUserProfileRoot(
return rv;
}
-#if defined(MOZ_WIDGET_COCOA) || defined(XP_WIN)
- // These 3 platforms share this part of the path - do them as one
- rv = localDir->AppendRelativeNativePath("Profiles"_ns);
- if (NS_FAILED(rv)) {
- return rv;
- }
-
- bool exists;
- rv = localDir->Exists(&exists);
- if (NS_SUCCEEDED(rv) && !exists) {
- rv = localDir->Create(nsIFile::DIRECTORY_TYPE, 0775);
- }
- if (NS_FAILED(rv)) {
- return rv;
- }
-#endif
-
localDir.forget(aLocalFile);
return rv;
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 23104: Add a default line height compensation
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit a5541e23d8b510a7d5a4af56df8647ca1c277f99
Author: Igor Oliveira <igor.oliveira(a)posteo.net>
Date: Sun Dec 10 18:16:59 2017 -0200
Bug 23104: Add a default line height compensation
Many fonts have issues with their vertical metrics. they
are used to influence the height of ascenders and depth
of descenders. Gecko uses it to calculate the line height
(font height + ascender + descender), however because of
that idiosyncratic behavior across multiple operating
systems, it can be used to identify the user's OS.
The solution proposed in the patch uses a default factor
to be multiplied with the font size, simulating the concept
of ascender and descender. This way all operating
systems will have the same line height only and only if the
frame is outside the chrome.
---
layout/generic/ReflowInput.cpp | 19 +++++++++---
layout/generic/test/mochitest.ini | 1 +
layout/generic/test/test_tor_bug23104.html | 50 ++++++++++++++++++++++++++++++
3 files changed, 65 insertions(+), 5 deletions(-)
diff --git a/layout/generic/ReflowInput.cpp b/layout/generic/ReflowInput.cpp
index 2c56afd2e02a..4d30c7762c14 100644
--- a/layout/generic/ReflowInput.cpp
+++ b/layout/generic/ReflowInput.cpp
@@ -31,6 +31,7 @@
#include "mozilla/SVGUtils.h"
#include "mozilla/dom/HTMLInputElement.h"
#include "nsGridContainerFrame.h"
+#include "nsContentUtils.h"
using namespace mozilla;
using namespace mozilla::css;
@@ -2642,7 +2643,8 @@ void ReflowInput::CalculateBlockSideMargins() {
// For risk management, we use preference to control the behavior, and
// eNoExternalLeading is the old behavior.
-static nscoord GetNormalLineHeight(nsFontMetrics* aFontMetrics) {
+static nscoord GetNormalLineHeight(nsIContent* aContent,
+ nsFontMetrics* aFontMetrics) {
MOZ_ASSERT(nullptr != aFontMetrics, "no font metrics");
nscoord normalLineHeight;
@@ -2650,6 +2652,12 @@ static nscoord GetNormalLineHeight(nsFontMetrics* aFontMetrics) {
nscoord externalLeading = aFontMetrics->ExternalLeading();
nscoord internalLeading = aFontMetrics->InternalLeading();
nscoord emHeight = aFontMetrics->EmHeight();
+
+ if (nsContentUtils::ShouldResistFingerprinting() &&
+ !aContent->IsInChromeDocument()) {
+ return NSToCoordRound(emHeight * NORMAL_LINE_HEIGHT_FACTOR);
+ }
+
switch (GetNormalLineHeightCalcControl()) {
case eIncludeExternalLeading:
normalLineHeight = emHeight + internalLeading + externalLeading;
@@ -2667,7 +2675,8 @@ static nscoord GetNormalLineHeight(nsFontMetrics* aFontMetrics) {
return normalLineHeight;
}
-static inline nscoord ComputeLineHeight(ComputedStyle* aComputedStyle,
+static inline nscoord ComputeLineHeight(nsIContent* aContent,
+ ComputedStyle* aComputedStyle,
nsPresContext* aPresContext,
nscoord aBlockBSize,
float aFontSizeInflation) {
@@ -2696,7 +2705,7 @@ static inline nscoord ComputeLineHeight(ComputedStyle* aComputedStyle,
RefPtr<nsFontMetrics> fm = nsLayoutUtils::GetFontMetricsForComputedStyle(
aComputedStyle, aPresContext, aFontSizeInflation);
- return GetNormalLineHeight(fm);
+ return GetNormalLineHeight(aContent, fm);
}
nscoord ReflowInput::CalcLineHeight() const {
@@ -2718,7 +2727,7 @@ nscoord ReflowInput::CalcLineHeight(nsIContent* aContent,
float aFontSizeInflation) {
MOZ_ASSERT(aComputedStyle, "Must have a ComputedStyle");
- nscoord lineHeight = ComputeLineHeight(aComputedStyle, aPresContext,
+ nscoord lineHeight = ComputeLineHeight(aContent, aComputedStyle, aPresContext,
aBlockBSize, aFontSizeInflation);
NS_ASSERTION(lineHeight >= 0, "ComputeLineHeight screwed up");
@@ -2731,7 +2740,7 @@ nscoord ReflowInput::CalcLineHeight(nsIContent* aContent,
if (!lh.IsNormal()) {
RefPtr<nsFontMetrics> fm = nsLayoutUtils::GetFontMetricsForComputedStyle(
aComputedStyle, aPresContext, aFontSizeInflation);
- nscoord normal = GetNormalLineHeight(fm);
+ nscoord normal = GetNormalLineHeight(aContent, fm);
if (lineHeight < normal) {
lineHeight = normal;
}
diff --git a/layout/generic/test/mochitest.ini b/layout/generic/test/mochitest.ini
index bde689457ebc..af9dbe3c0444 100644
--- a/layout/generic/test/mochitest.ini
+++ b/layout/generic/test/mochitest.ini
@@ -145,3 +145,4 @@ skip-if = debug == true || tsan # the test is slow. tsan: bug 1612707
support-files =
file_reframe_for_lazy_load_image.html
[test_bug1655135.html]
+[test_tor_bug23104.html]
diff --git a/layout/generic/test/test_tor_bug23104.html b/layout/generic/test/test_tor_bug23104.html
new file mode 100644
index 000000000000..8ff1d2190c45
--- /dev/null
+++ b/layout/generic/test/test_tor_bug23104.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML>
+<meta charset="UTF-8">
+<html>
+<head>
+ <title>Test for Tor Bug #23104: CSS line-height reveals the platform Tor browser is running</title>
+ <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script type="application/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
+ <style type="text/css">
+ span {
+ background-color: #000;
+ color: #fff;
+ font-size: 16.5px;
+ }
+ </style>
+</head>
+<body>
+<span id="test1">Test1</span>
+<span id="test2">كلمة</span>
+<span id="test3">ação</span>
+<script>
+
+let setPref = async function (key, value) {
+ await SpecialPowers.pushPrefEnv({"set": [[key, value]]});
+}
+
+function getStyle(el, styleprop) {
+ el = document.getElementById(el);
+ return document.defaultView.getComputedStyle(el, null).getPropertyValue(styleprop);
+}
+
+function validateElement(elementName, isFingerprintResistent) {
+ var fontSize = getStyle(elementName, 'font-size');
+ var lineHeight = getStyle(elementName, 'line-height');
+ var validationCb = isFingerprintResistent ? is : isnot;
+ validationCb(parseFloat(lineHeight), Math.round(parseFloat(fontSize)) * 1.2, 'Line Height validation');
+}
+
+add_task(async function() {
+ await setPref("layout.css.line-height.normal-as-resolved-value.enabled", false);
+ for (let resistFingerprintingValue of [true, false]) {
+ await setPref("privacy.resistFingerprinting", resistFingerprintingValue);
+ for (let elementId of ['test1', 'test2', 'test3']) {
+ validateElement(elementId, resistFingerprintingValue);
+ }
+ }
+});
+
+</script>
+</body>
+</html>
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 11641: change TBB command line flags to be more like Firefox's
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 2676e42e7e9fa014475dad19b8ad79ffb7c30bcd
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue Apr 29 13:08:24 2014 -0400
Bug 11641: change TBB command line flags to be more like Firefox's
Unless the -osint command line flag is used, the browser now defaults
to the equivalent of -no-remote. There is a new -allow-remote flag that
may be used to restore the original (Firefox-like) default behavior.
---
toolkit/xre/nsAppRunner.cpp | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index 75c381724deb..d11e586d7096 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -1837,8 +1837,10 @@ static void DumpHelp() {
" --migration Start with migration wizard.\n"
" --ProfileManager Start with ProfileManager.\n"
#ifdef MOZ_HAS_REMOTE
- " --no-remote Do not accept or send remote commands; implies\n"
+ " --no-remote (default) Do not accept or send remote commands; "
+ "implies\n"
" --new-instance.\n"
+ " --allow-remote Accept and send remote commands.\n"
" --new-instance Open new instance, not a new window in running "
"instance.\n"
#endif
@@ -3985,16 +3987,25 @@ int XREMain::XRE_mainInit(bool* aExitFlag) {
gSafeMode);
#if defined(MOZ_HAS_REMOTE)
+ // In Tor Browser, remoting is disabled by default unless -osint is used.
+ bool allowRemote = (CheckArg("allow-remote") == ARG_FOUND);
+ bool isOsint = (CheckArg("osint", nullptr, CheckArgFlag::None) == ARG_FOUND);
+ if (!allowRemote && !isOsint) {
+ SaveToEnv("MOZ_NO_REMOTE=1");
+ }
// Handle --no-remote and --new-instance command line arguments. Setup
// the environment to better accommodate other components and various
// restart scenarios.
ar = CheckArg("no-remote");
- if (ar == ARG_FOUND || EnvHasValue("MOZ_NO_REMOTE")) {
+ if ((ar == ARG_FOUND) && allowRemote) {
+ PR_fprintf(PR_STDERR,
+ "Error: argument --no-remote is invalid when argument "
+ "--allow-remote is specified\n");
+ return 1;
+ }
+ if (EnvHasValue("MOZ_NO_REMOTE")) {
mDisableRemoteClient = true;
mDisableRemoteServer = true;
- if (!EnvHasValue("MOZ_NO_REMOTE")) {
- SaveToEnv("MOZ_NO_REMOTE=1");
- }
}
ar = CheckArg("new-instance");
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 40432: Prevent probing installed applications
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 1a21b4299e74f7e887a5f3e954ff0d8cdf3b6ad4
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Mon May 17 18:09:09 2021 +0000
Bug 40432: Prevent probing installed applications
---
.../exthandler/nsExternalHelperAppService.cpp | 30 ++++++++++++++++++----
1 file changed, 25 insertions(+), 5 deletions(-)
diff --git a/uriloader/exthandler/nsExternalHelperAppService.cpp b/uriloader/exthandler/nsExternalHelperAppService.cpp
index 021246211a26..0d697b3bec33 100644
--- a/uriloader/exthandler/nsExternalHelperAppService.cpp
+++ b/uriloader/exthandler/nsExternalHelperAppService.cpp
@@ -956,8 +956,33 @@ nsresult nsExternalHelperAppService::GetFileTokenForPath(
//////////////////////////////////////////////////////////////////////////////////////////////////////
// begin external protocol service default implementation...
//////////////////////////////////////////////////////////////////////////////////////////////////////
+
+static const char kExternalProtocolPrefPrefix[] =
+ "network.protocol-handler.external.";
+static const char kExternalProtocolDefaultPref[] =
+ "network.protocol-handler.external-default";
+
NS_IMETHODIMP nsExternalHelperAppService::ExternalProtocolHandlerExists(
const char* aProtocolScheme, bool* aHandlerExists) {
+
+ // Replicate the same check performed in LoadURI.
+ // Deny load if the prefs say to do so
+ nsAutoCString externalPref(kExternalProtocolPrefPrefix);
+ externalPref += aProtocolScheme;
+ bool allowLoad = false;
+ *aHandlerExists = false;
+ if (NS_FAILED(Preferences::GetBool(externalPref.get(), &allowLoad))) {
+ // no scheme-specific value, check the default
+ if (NS_FAILED(
+ Preferences::GetBool(kExternalProtocolDefaultPref, &allowLoad))) {
+ return NS_OK; // missing default pref
+ }
+ }
+
+ if (!allowLoad) {
+ return NS_OK; // explicitly denied
+ }
+
nsCOMPtr<nsIHandlerInfo> handlerInfo;
nsresult rv = GetProtocolHandlerInfo(nsDependentCString(aProtocolScheme),
getter_AddRefs(handlerInfo));
@@ -1000,11 +1025,6 @@ NS_IMETHODIMP nsExternalHelperAppService::IsExposedProtocol(
return NS_OK;
}
-static const char kExternalProtocolPrefPrefix[] =
- "network.protocol-handler.external.";
-static const char kExternalProtocolDefaultPref[] =
- "network.protocol-handler.external-default";
-
// static
nsresult nsExternalHelperAppService::EscapeURI(nsIURI* aURI, nsIURI** aResult) {
MOZ_ASSERT(aURI);
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 40309: Avoid using regional OS locales
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 636564018735a8c454fe68e134099e92e5c76579
Author: Alex Catarineu <acat(a)torproject.org>
Date: Wed Jan 27 11:28:05 2021 +0100
Bug 40309: Avoid using regional OS locales
Only use regional OS locales if the pref
`intl.regional_prefs.use_os_locales` is set to true.
---
intl/locale/LocaleService.cpp | 25 -------------------------
1 file changed, 25 deletions(-)
diff --git a/intl/locale/LocaleService.cpp b/intl/locale/LocaleService.cpp
index 022d41cab2e2..ac001ee98991 100644
--- a/intl/locale/LocaleService.cpp
+++ b/intl/locale/LocaleService.cpp
@@ -452,31 +452,6 @@ LocaleService::GetRegionalPrefsLocales(nsTArray<nsCString>& aRetVal) {
OSPreferences::GetInstance()->GetRegionalPrefsLocales(aRetVal))) {
return NS_OK;
}
-
- // If we fail to retrieve them, return the app locales.
- GetAppLocalesAsBCP47(aRetVal);
- return NS_OK;
- }
-
- // Otherwise, fetch OS Regional Preferences locales and compare the first one
- // to the app locale. If the language subtag matches, we can safely use
- // the OS Regional Preferences locale.
- //
- // This facilitates scenarios such as Firefox in "en-US" and User sets
- // regional prefs to "en-GB".
- nsAutoCString appLocale;
- AutoTArray<nsCString, 10> regionalPrefsLocales;
- LocaleService::GetInstance()->GetAppLocaleAsBCP47(appLocale);
-
- if (NS_FAILED(OSPreferences::GetInstance()->GetRegionalPrefsLocales(
- regionalPrefsLocales))) {
- GetAppLocalesAsBCP47(aRetVal);
- return NS_OK;
- }
-
- if (LocaleService::LanguagesMatch(appLocale, regionalPrefsLocales[0])) {
- aRetVal = regionalPrefsLocales.Clone();
- return NS_OK;
}
// Otherwise use the app locales.
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 32220: Improve the letterboxing experience
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit d54491873d7e1d27ccb37ad457131f4f99f8aff0
Author: Richard Pospesel <richard(a)torproject.org>
Date: Mon Oct 28 17:42:17 2019 -0700
Bug 32220: Improve the letterboxing experience
CSS and JS changes to alter the UX surrounding letterboxing. The
browser element containing page content is now anchored to the bottom
of the toolbar, and the remaining letterbox margin is the same color
as the firefox chrome. The letterbox margin and border are tied to
the currently selected theme.
Also adds a 'needsLetterbox' property to tabbrowser.xml to fix a race
condition present when using the 'isEmpty' property. Using 'isEmpty'
as a proxy for 'needsLetterbox' resulted in over-zealous/unnecessary
letterboxing of about:blank tabs.
---
browser/base/content/browser.css | 7 ++
browser/base/content/tabbrowser-tab.js | 9 +++
browser/themes/shared/tabs.inc.css | 6 ++
.../components/resistfingerprinting/RFPHelper.jsm | 94 +++++++++++++++++++---
4 files changed, 104 insertions(+), 12 deletions(-)
diff --git a/browser/base/content/browser.css b/browser/base/content/browser.css
index 2d74162b1543..0a766b976fc5 100644
--- a/browser/base/content/browser.css
+++ b/browser/base/content/browser.css
@@ -94,6 +94,13 @@ body {
}
}
+.browserStack > browser.letterboxing {
+ border-color: var(--chrome-content-separator-color);
+ border-style: solid;
+ border-width : 1px;
+ border-top: none;
+}
+
%ifdef MENUBAR_CAN_AUTOHIDE
#toolbar-menubar[autohide="true"] {
overflow: hidden;
diff --git a/browser/base/content/tabbrowser-tab.js b/browser/base/content/tabbrowser-tab.js
index 320ca559d5fa..47edf39d9eba 100644
--- a/browser/base/content/tabbrowser-tab.js
+++ b/browser/base/content/tabbrowser-tab.js
@@ -229,6 +229,15 @@
return true;
}
+ get needsLetterbox() {
+ let browser = this.linkedBrowser;
+ if (isBlankPageURL(browser.currentURI.spec)) {
+ return false;
+ }
+
+ return true;
+ }
+
get lastAccessed() {
return this._lastAccessed == Infinity ? Date.now() : this._lastAccessed;
}
diff --git a/browser/themes/shared/tabs.inc.css b/browser/themes/shared/tabs.inc.css
index 853f7cdfd154..e5129aee9e80 100644
--- a/browser/themes/shared/tabs.inc.css
+++ b/browser/themes/shared/tabs.inc.css
@@ -50,6 +50,12 @@
background-color: var(--tabpanel-background-color);
}
+/* extend down the toolbar's colors when letterboxing is enabled*/
+#tabbrowser-tabpanels.letterboxing {
+ background-color: var(--toolbar-bgcolor);
+ background-image: var(--toolbar-bgimage);
+}
+
#tabbrowser-tabs,
#tabbrowser-arrowscrollbox,
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned] {
diff --git a/toolkit/components/resistfingerprinting/RFPHelper.jsm b/toolkit/components/resistfingerprinting/RFPHelper.jsm
index 166ad21e9013..9520d8720631 100644
--- a/toolkit/components/resistfingerprinting/RFPHelper.jsm
+++ b/toolkit/components/resistfingerprinting/RFPHelper.jsm
@@ -40,6 +40,7 @@ class _RFPHelper {
// ============================================================================
constructor() {
this._initialized = false;
+ this._borderDimensions = null;
}
init() {
@@ -361,6 +362,24 @@ class _RFPHelper {
});
}
+ getBorderDimensions(aBrowser) {
+ if (this._borderDimensions) {
+ return this._borderDimensions;
+ }
+
+ const win = aBrowser.ownerGlobal;
+ const browserStyle = win.getComputedStyle(aBrowser);
+
+ this._borderDimensions = {
+ top : parseInt(browserStyle.borderTopWidth),
+ right: parseInt(browserStyle.borderRightWidth),
+ bottom : parseInt(browserStyle.borderBottomWidth),
+ left : parseInt(browserStyle.borderLeftWidth),
+ };
+
+ return this._borderDimensions;
+ }
+
_addOrClearContentMargin(aBrowser) {
let tab = aBrowser.getTabBrowser().getTabForBrowser(aBrowser);
@@ -369,9 +388,13 @@ class _RFPHelper {
return;
}
+ // we add the letterboxing class even if the content does not need letterboxing
+ // in which case margins are set such that the borders are hidden
+ aBrowser.classList.add("letterboxing");
+
// We should apply no margin around an empty tab or a tab with system
// principal.
- if (tab.isEmpty || aBrowser.contentPrincipal.isSystemPrincipal) {
+ if (!tab.needsLetterbox || aBrowser.contentPrincipal.isSystemPrincipal) {
this._clearContentViewMargin(aBrowser);
} else {
this._roundContentView(aBrowser);
@@ -539,10 +562,29 @@ class _RFPHelper {
// Calculating the margins around the browser element in order to round the
// content viewport. We will use a 200x100 stepping if the dimension set
// is not given.
- let margins = calcMargins(containerWidth, containerHeight);
+
+ const borderDimensions = this.getBorderDimensions(aBrowser);
+ const marginDims = calcMargins(containerWidth, containerHeight - borderDimensions.top);
+
+ let margins = {
+ top : 0,
+ right : 0,
+ bottom : 0,
+ left : 0,
+ };
+
+ // snap browser element to top
+ margins.top = 0;
+ // and leave 'double' margin at the bottom
+ margins.bottom = 2 * marginDims.height - borderDimensions.bottom;
+ // identical margins left and right
+ margins.right = marginDims.width - borderDimensions.right;
+ margins.left = marginDims.width - borderDimensions.left;
+
+ const marginStyleString = `${margins.top}px ${margins.right}px ${margins.bottom}px ${margins.left}px`;
// If the size of the content is already quantized, we do nothing.
- if (aBrowser.style.margin == `${margins.height}px ${margins.width}px`) {
+ if (aBrowser.style.margin === marginStyleString) {
log("_roundContentView[" + logId + "] is_rounded == true");
if (this._isLetterboxingTesting) {
log(
@@ -563,19 +605,35 @@ class _RFPHelper {
"_roundContentView[" +
logId +
"] setting margins to " +
- margins.width +
- " x " +
- margins.height
+ marginStyleString
);
- // One cannot (easily) control the color of a margin unfortunately.
- // An initial attempt to use a border instead of a margin resulted
- // in offset event dispatching; so for now we use a colorless margin.
- aBrowser.style.margin = `${margins.height}px ${margins.width}px`;
+
+ // The margin background color is determined by the background color of the
+ // window's tabpanels#tabbrowser-tabpanels element
+ aBrowser.style.margin = marginStyleString;
});
}
_clearContentViewMargin(aBrowser) {
+ const borderDimensions = this.getBorderDimensions(aBrowser);
+ // set the margins such that the browser elements border is visible up top, but
+ // are rendered off-screen on the remaining sides
+ let margins = {
+ top : 0,
+ right : -borderDimensions.right,
+ bottom : -borderDimensions.bottom,
+ left : -borderDimensions.left,
+ };
+ const marginStyleString = `${margins.top}px ${margins.right}px ${margins.bottom}px ${margins.left}px`;
+
+ aBrowser.ownerGlobal.requestAnimationFrame(() => {
+ aBrowser.style.margin = marginStyleString;
+ });
+ }
+
+ _removeLetterboxing(aBrowser) {
aBrowser.ownerGlobal.requestAnimationFrame(() => {
+ aBrowser.classList.remove("letterboxing");
aBrowser.style.margin = "";
});
}
@@ -593,6 +651,11 @@ class _RFPHelper {
aWindow.gBrowser.addTabsProgressListener(this);
aWindow.addEventListener("TabOpen", this);
+ const tabPanel = aWindow.document.getElementById("tabbrowser-tabpanels");
+ if (tabPanel) {
+ tabPanel.classList.add("letterboxing");
+ }
+
// Rounding the content viewport.
this._updateMarginsForTabsInWindow(aWindow);
}
@@ -616,10 +679,17 @@ class _RFPHelper {
tabBrowser.removeTabsProgressListener(this);
aWindow.removeEventListener("TabOpen", this);
- // Clear all margins and tooltip for all browsers.
+ // revert tabpanel's background colors to default
+ const tabPanel = aWindow.document.getElementById("tabbrowser-tabpanels");
+ if (tabPanel) {
+ tabPanel.classList.remove("letterboxing");
+ }
+
+ // and revert each browser element to default,
+ // restore default margins and remove letterboxing class
for (let tab of tabBrowser.tabs) {
let browser = tab.linkedBrowser;
- this._clearContentViewMargin(browser);
+ this._removeLetterboxing(browser);
}
}
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 40069: Add helpers for message passing with extensions
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 2debda0498c00e7bf1eb80ccb5314f2358ed767f
Author: Alex Catarineu <acat(a)torproject.org>
Date: Sun Aug 2 19:12:25 2020 +0200
Bug 40069: Add helpers for message passing with extensions
---
toolkit/components/extensions/ExtensionParent.jsm | 47 +++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/toolkit/components/extensions/ExtensionParent.jsm b/toolkit/components/extensions/ExtensionParent.jsm
index 39ce6d608b86..32d264ed6a4f 100644
--- a/toolkit/components/extensions/ExtensionParent.jsm
+++ b/toolkit/components/extensions/ExtensionParent.jsm
@@ -263,6 +263,8 @@ const ProxyMessenger = {
/** @type Map<number, ParentPort> */
ports: new Map(),
+ _torRuntimeMessageListeners: [],
+
init() {
this.conduit = new BroadcastConduit(ProxyMessenger, {
id: "ProxyMessenger",
@@ -328,6 +330,10 @@ const ProxyMessenger = {
},
async recvRuntimeMessage(arg, { sender }) {
+ // We need to listen to some extension messages in Tor Browser
+ for (const listener of this._torRuntimeMessageListeners) {
+ listener(arg);
+ }
arg.firstResponse = true;
let kind = await this.normalizeArgs(arg, sender);
let result = await this.conduit.castRuntimeMessage(kind, arg);
@@ -1881,6 +1887,45 @@ for (let name of StartupCache.STORE_NAMES) {
StartupCache[name] = new CacheStore(name);
}
+async function torSendExtensionMessage(extensionId, message) {
+ // This should broadcast the message to all children "conduits"
+ // listening for a "RuntimeMessage". Those children conduits
+ // will either be extension background pages or other extension
+ // pages listening to browser.runtime.onMessage.
+ const result = await ProxyMessenger.conduit.castRuntimeMessage("messenger", {
+ extensionId,
+ holder: new StructuredCloneHolder(message),
+ firstResponse: true,
+ sender: {
+ id: extensionId,
+ envType: "addon_child",
+ },
+ });
+ return result
+ ? result.value
+ : Promise.reject({ message: ERROR_NO_RECEIVERS });
+}
+
+async function torWaitForExtensionMessage(extensionId, checker) {
+ return new Promise(resolve => {
+ const msgListener = msg => {
+ try {
+ if (msg && msg.extensionId === extensionId) {
+ const deserialized = msg.holder.deserialize({});
+ if (checker(deserialized)) {
+ const idx = ProxyMessenger._torRuntimeMessageListeners.indexOf(
+ msgListener
+ );
+ ProxyMessenger._torRuntimeMessageListeners.splice(idx, 1);
+ resolve(deserialized);
+ }
+ }
+ } catch (e) {}
+ };
+ ProxyMessenger._torRuntimeMessageListeners.push(msgListener);
+ });
+}
+
var ExtensionParent = {
GlobalManager,
HiddenExtensionPage,
@@ -1892,6 +1937,8 @@ var ExtensionParent = {
promiseExtensionViewLoaded,
watchExtensionProxyContextLoad,
DebugUtils,
+ torSendExtensionMessage,
+ torWaitForExtensionMessage,
};
// browserPaintedPromise and browserStartupPromise are promises that
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] TB4: Tor Browser's Firefox preference overrides.
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 7a2418bfc62acfc964bdbdc8a47768571689c1b7
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Tue Sep 10 18:20:43 2013 -0700
TB4: Tor Browser's Firefox preference overrides.
This hack directly includes our preference changes in omni.ja.
Bug 18292: Staged updates fail on Windows
Temporarily disable staged updates on Windows.
Bug 18297: Use separate Noto JP,KR,SC,TC fonts
Bug 23404: Add Noto Sans Buginese to the macOS whitelist
Bug 23745: Set dom.indexedDB.enabled = true
Bug 13575: Disable randomised Firefox HTTP cache decay user tests.
(Fernando Fernandez Mancera <ffmancera(a)riseup.net>)
Bug 17252: Enable session identifiers with FPI
Session tickets and session identifiers were isolated
by OriginAttributes, so we can re-enable them by
allowing the default value (true) of
"security.ssl.disable_session_identifiers".
The pref "security.enable_tls_session_tickets" is obsolete
(removed in https://bugzilla.mozilla.org/917049)
Bug 14952: Enable http/2 and AltSvc
In Firefox, SPDY/HTTP2 now uses Origin Attributes for
isolation of connections, push streams, origin frames, etc.
That means we get first-party isolation provided
"privacy.firstparty.isolate" is true. So in this patch, we
stop overriding "network.http.spdy.enabled" and
"network.http.spdy.enabled.http2".
Alternate Services also use Origin Attributes for isolation.
So we stop overriding
"network.http.altsvc.enabled" and "network.http.altsvc.oe"
as well.
(All 4 of the abovementioned "network.http.*" prefs adopt
Firefox 60ESR's default value of true.)
However, we want to disable HTTP/2 push for now, so we
set "network.http.spdy.allow-push" to false.
"network.http.spdy.enabled.http2draft" was removed in Bug 1132357.
"network.http.sped.enabled.v2" was removed in Bug 912550.
"network.http.sped.enabled.v3" was removed in Bug 1097944.
"network.http.sped.enabled.v3-1" was removed in Bug 1248197.
Bug 26114: addons.mozilla.org is not special
* Don't expose navigator.mozAddonManager on any site
* Don't block NoScript from modifying addons.mozilla.org or other sites
Enable ReaderView mode again (#27281).
Bug 29916: Make sure enterprise policies are disabled
Bug 2874: Block Components.interfaces from content
Bug 26146: Spoof HTTP User-Agent header for desktop platforms
In Tor Browser 8.0, the OS was revealed in both the HTTP User-Agent
header and to JavaScript code via navigator.userAgent. To avoid
leaking the OS inside each HTTP request (which many web servers
log), always use the Windows 7 OS value in the desktop User-Agent
header. We continue to allow access to the actual OS via JavaScript,
since doing so improves compatibility with web applications such
as GitHub and Google Docs.
Bug 12885: Windows Jump Lists fail for Tor Browser
Jumplist entries are stored in a binary file in:
%APPDATA%\\Microsoft\Windows\Recent\CustomDestinations\
and has a name in the form
[a-f0-9]+.customDestinations-ms
The hex at the front is unique per app, and is ultimately derived from
something called the 'App User Model ID' (AUMID) via some unknown
hashing method. The AUMID is provided as a key when programmatically
creating, updating, and deleting a jumplist. The default behaviour in
firefox is for the installer to define an AUMID for an app, and save it
in the registry so that the jumplist data can be removed by the
uninstaller.
However, the Tor Browser does not set this (or any other) regkey during
installation, so this codepath fails and the app's AUMID is left
undefined. As a result the app's AUMID ends up being defined by
windows, but unknowable by Tor Browser. This unknown AUMID is used to
create and modify the jumplist, but the delete API requires that we
provide the app's AUMID explicitly. Since we don't know what the AUMID
is (since the expected regkey where it is normally stored does not
exist) jumplist deletion will fail and we will leave behind a mostly
empty customDestinations-ms file. The name of the file is derived from
the binary path, so an enterprising person could reverse engineer how
that hex name is calculated, and generate the name for Tor Browser's
default Desktop installation path to determine whether a person had
used Tor Browser in the past.
The 'taskbar.grouping.useprofile' option that is enabled by this patch
works around this AUMID problem by having firefox.exe create it's own
AUMID based on the profile path (rather than looking for a regkey). This
way, if a user goes in and enables and disables jumplist entries, the
backing store is properly deleted.
Unfortunately, all windows users currently have this file lurking in
the above mentioned directory and this patch will not remove it since it
was created with an unknown AUMID. However, another patch could be
written which goes to that directory and deletes any item containing the
'Tor Browser' string. See bug 28996.
Bug 30845: Make sure default themes and other internal extensions are enabled
Bug 28896: Enable extensions in private browsing by default
Bug 31065: Explicitly allow proxying localhost
Bug 31598: Enable letterboxing
Disable Presentation API everywhere
Bug 21549 - Use Firefox's WASM default pref. It is disabled at safer
security levels.
Bug 32321: Disable Mozilla's MitM pings
Bug 19890: Disable installation of system addons
By setting the URL to "" we make sure that already installed system
addons get deleted as well.
Bug 22548: Firefox downgrades VP9 videos to VP8.
On systems where H.264 is not available or no HWA, VP9 is preferred. But in Tor
Browser 7.0 all youtube videos are degraded to VP8.
This behaviour can be turned off by setting media.benchmark.vp9.threshold to 0.
All clients will get better experience and lower traffic, beause TBB doesn't
use "Use hardware acceleration when available".
Bug 25741 - TBA: Add mobile-override of 000-tor-browser prefs
Bug 16441: Suppress "Reset Tor Browser" prompt.
Bug 29120: Use the in-memory media cache and increase its maximum size.
Bug 33697: use old search config based on list.json
Bug 33855: Ensure that site-specific browser mode is disabled.
Bug 30682: Disable Intermediate CA Preloading.
Bug 40061: Omit the Windows default browser agent from the build
Bug 40322: Consider disabling network.connectivity-service.enabled
Bug 40408: Disallow SVG Context Paint in all web content
Bug 40308: Disable network partitioning until we evaluate dFPI
Bug 40322: Consider disabling network.connectivity-service.enabled
Bug 40383: Disable dom.enable_event_timing
Bug 40423: Disable http/3
Bug 40177: Update prefs for Fx91esr
Bug 40700: Disable addons and features recommendations
Bug 40682: Disable network.proxy.allow_bypass
Bug 40736: Disable third-party cookies in PBM
---
.eslintignore | 3 +
browser/app/profile/000-tor-browser.js | 585 ++++++++++++++++++++++++++
browser/app/profile/firefox.js | 6 +-
browser/installer/package-manifest.in | 1 +
browser/moz.build | 1 +
browser/themes/shared/menupanel.inc.css | 1 +
mobile/android/app/000-tor-browser-android.js | 47 +++
mobile/android/app/geckoview-prefs.js | 2 +
mobile/android/app/mobile.js | 4 +
mobile/android/app/moz.build | 1 +
taskcluster/ci/source-test/mozlint.yml | 2 +
11 files changed, 650 insertions(+), 3 deletions(-)
diff --git a/.eslintignore b/.eslintignore
index c551245983a6..f518ff2c6f7b 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -136,6 +136,9 @@ js/src/Y.js
# Fuzzing code for testing only, targeting the JS shell
js/src/fuzz-tests/
+# uses `#include`
+mobile/android/app/000-tor-browser-android.js
+
# Uses `#filter substitution`
mobile/android/app/mobile.js
mobile/android/app/geckoview-prefs.js
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
new file mode 100644
index 000000000000..eb2c4af66307
--- /dev/null
+++ b/browser/app/profile/000-tor-browser.js
@@ -0,0 +1,585 @@
+# Default Preferences
+# Tor Browser Bundle
+# Do not edit this file.
+
+// Please maintain unit tests at ./tbb-tests/browser_tor_TB4.js
+
+// Disable initial homepage notifications
+pref("browser.search.update", false);
+pref("browser.rights.3.shown", true);
+pref("browser.startup.homepage_override.mstone", "ignore");
+pref("startup.homepage_welcome_url", "");
+pref("startup.homepage_welcome_url.additional", "");
+
+// Disable Firefox Welcome Dialog
+pref("browser.aboutwelcome.enabled", false);
+
+// Set a generic, default URL that will be opened in a tab after an update.
+// Typically, this will not be used; instead, the <update> element within
+// each update manifest should contain attributes similar to:
+// actions="showURL"
+// openURL="https://blog.torproject.org/tor-browser-55a2-released"
+pref("startup.homepage_override_url", "https://blog.torproject.org/category/applications");
+
+// Try to nag a bit more about updates: Pop up a restart dialog an hour after the initial dialog
+pref("app.update.promptWaitTime", 3600);
+
+#ifdef XP_WIN
+// For now, disable staged updates on Windows (see #18292).
+pref("app.update.staging.enabled", false);
+#endif
+
+// Disable "Slow startup" warnings and associated disk history
+// (bug #13346)
+pref("browser.slowStartup.notificationDisabled", true);
+pref("browser.slowStartup.maxSamples", 0);
+pref("browser.slowStartup.samples", 0);
+
+// Disable the "Refresh" prompt that is displayed for stale profiles.
+pref("browser.disableResetPrompt", true);
+
+// Disk activity: Disable Browsing History Storage
+pref("browser.privatebrowsing.autostart", true);
+pref("browser.cache.disk.enable", false);
+pref("permissions.memory_only", true);
+pref("network.cookie.lifetimePolicy", 2);
+pref("security.nocertdb", true);
+
+// Enabled LSNG
+pref("dom.storage.next_gen", true);
+
+// Disk activity: TBB Directory Isolation
+pref("browser.download.useDownloadDir", false);
+pref("browser.shell.checkDefaultBrowser", false);
+pref("browser.download.manager.addToRecentDocs", false);
+
+// Misc privacy: Disk
+pref("signon.rememberSignons", false);
+pref("browser.formfill.enable", false);
+pref("signon.autofillForms", false);
+pref("browser.sessionstore.privacy_level", 2);
+// Use the in-memory media cache and increase its maximum size (#29120)
+pref("browser.privatebrowsing.forceMediaMemoryCache", true);
+pref("media.memory_cache_max_size", 16384);
+
+// Misc privacy: Remote
+pref("browser.send_pings", false);
+pref("geo.enabled", false);
+pref("geo.provider.network.url", "");
+pref("browser.search.suggest.enabled", false);
+pref("browser.safebrowsing.malware.enabled", false);
+pref("browser.safebrowsing.phishing.enabled", false);
+pref("browser.safebrowsing.downloads.enabled", false);
+pref("browser.safebrowsing.downloads.remote.enabled", false);
+pref("browser.safebrowsing.blockedURIs.enabled", false);
+pref("browser.safebrowsing.downloads.remote.url", "");
+pref("browser.safebrowsing.provider.google.updateURL", "");
+pref("browser.safebrowsing.provider.google.gethashURL", "");
+pref("browser.safebrowsing.provider.google4.updateURL", "");
+pref("browser.safebrowsing.provider.google4.gethashURL", "");
+pref("browser.safebrowsing.provider.mozilla.updateURL", "");
+pref("browser.safebrowsing.provider.mozilla.gethashURL", "");
+pref("extensions.ui.lastCategory", "addons://list/extension");
+pref("datareporting.healthreport.uploadEnabled", false);
+pref("datareporting.policy.dataSubmissionEnabled", false);
+// Make sure Unified Telemetry is really disabled, see: #18738.
+pref("toolkit.telemetry.unified", false);
+pref("toolkit.telemetry.enabled", false);
+#ifdef XP_WIN
+// Defense-in-depth: ensure that the Windows default browser agent will
+// not ping Mozilla if it is somehow present (we omit it at build time).
+pref("default-browser-agent.enabled", false);
+#endif
+pref("identity.fxaccounts.enabled", false); // Disable sync by default
+pref("services.sync.engine.prefs", false); // Never sync prefs, addons, or tabs with other browsers
+pref("services.sync.engine.addons", false);
+pref("services.sync.engine.tabs", false);
+pref("extensions.getAddons.cache.enabled", false); // https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/
+pref("browser.newtabpage.enabled", false);
+pref("browser.search.region", "US"); // The next two prefs disable GeoIP search lookups (#16254)
+pref("browser.search.geoip.url", "");
+pref("browser.fixup.alternate.enabled", false); // Bug #16783: Prevent .onion fixups
+// Make sure there is no Tracking Protection active in Tor Browser, see: #17898.
+pref("privacy.trackingprotection.enabled", false);
+pref("privacy.trackingprotection.pbmode.enabled", false);
+pref("privacy.trackingprotection.annotate_channels", false);
+pref("privacy.trackingprotection.cryptomining.enabled", false);
+pref("privacy.trackingprotection.fingerprinting.enabled", false);
+pref("privacy.trackingprotection.socialtracking.enabled", false);
+pref("privacy.socialtracking.block_cookies.enabled", false);
+pref("privacy.annotate_channels.strict_list.enabled", false);
+
+// Disable the Pocket extension (Bug #18886 and #31602)
+pref("extensions.pocket.enabled", false);
+
+// Disable use of WiFi location information
+pref("browser.region.network.scan", false);
+pref("browser.region.network.url", "");
+// Bug 40083: Make sure Region.jsm fetching is disabled
+pref("browser.region.update.enabled", false);
+
+// Don't load Mozilla domains in a separate tab process
+pref("browser.tabs.remote.separatedMozillaDomains", "");
+
+// Avoid DNS lookups on search terms
+pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0);
+
+// Disable about:newtab and "first run" experiments
+pref("messaging-system.rsexperimentloader.enabled", false);
+pref("trailhead.firstrun.branches", "");
+
+// [SETTING] General>Browsing>Recommend extensions as you browse (Bug #40700)
+pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); // disable CFR [FF67+]
+
+// [SETTING] General>Browsing>Recommend features as you browse (Bug #40700)
+pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); // disable CFR [FF67+]
+
+// Clear the list of trusted recursive resolver services
+pref("network.trr.resolvers", "");
+
+// Disable the /etc/hosts parser
+pref("network.trr.exclude-etc-hosts", false);
+
+// Disable crlite
+pref("security.pki.crlite_mode", 0);
+
+// Disable website password breach alerts
+pref("signon.management.page.breach-alerts.enabled", false);
+pref("extensions.fxmonitor.enabled", false);
+
+// Remove mobile app tracking URLs
+pref("signon.management.page.mobileAndroidURL", "");
+pref("signon.management.page.mobileAppleURL", "");
+
+// Disable remote "password recipes"
+pref("signon.recipes.remoteRecipesEnabled", false);
+
+// Disable ServiceWorkers and push notifications by default
+pref("dom.serviceWorkers.enabled", false);
+pref("dom.push.enabled", false);
+
+// Fingerprinting
+pref("webgl.disable-fail-if-major-performance-caveat", true);
+pref("webgl.enable-webgl2", false);
+pref("gfx.downloadable_fonts.fallback_delay", -1);
+pref("browser.startup.homepage_override.buildID", "20100101");
+pref("browser.link.open_newwindow.restriction", 0); // Bug 9881: Open popups in new tabs (to avoid fullscreen popups)
+// Set video VP9 to 0 for everyone (bug 22548)
+pref("media.benchmark.vp9.threshold", 0);
+pref("dom.enable_resource_timing", false); // Bug 13024: To hell with this API
+pref("privacy.resistFingerprinting", true);
+pref("privacy.resistFingerprinting.block_mozAddonManager", true); // Bug 26114
+pref("dom.webaudio.enabled", false); // Bug 13017: Disable Web Audio API
+pref("dom.w3c_touch_events.enabled", 0); // Bug 10286: Always disable Touch API
+pref("dom.vr.enabled", false); // Bug 21607: Disable WebVR for now
+pref("security.webauth.webauthn", false); // Bug 26614: Disable Web Authentication API for now
+// Disable SAB, no matter if the sites are cross-origin isolated.
+pref("dom.postMessage.sharedArrayBuffer.withCOOP_COEP", false);
+// Disable intermediate preloading (Bug 30682)
+pref("security.remote_settings.intermediates.enabled", false);
+// Bug 2874: Block Components.interfaces from content
+pref("dom.use_components_shim", false);
+// Enable letterboxing
+pref("privacy.resistFingerprinting.letterboxing", true);
+// Disable network information API everywhere. It gets spoofed in bug 1372072
+// but, alas, the behavior is inconsistent across platforms, see:
+// https://trac.torproject.org/projects/tor/ticket/27268#comment:19. We should
+// not leak that difference if possible.
+pref("dom.netinfo.enabled", false);
+pref("network.http.referer.defaultPolicy", 2); // Bug 32948: Make referer behavior consistent regardless of private browing mode status
+pref("media.videocontrols.picture-in-picture.enabled", false); // Bug 40148: disable until audited in #40147
+pref("network.http.referer.hideOnionSource", true);
+// Bug 40463: Disable Windows SSO
+pref("network.http.windows-sso.enabled", false);
+// Bug 40383: Disable new PerformanceEventTiming
+pref("dom.enable_event_timing", false);
+// Disable API for measuring text width and height.
+pref("dom.textMetrics.actualBoundingBox.enabled", false);
+pref("dom.textMetrics.baselines.enabled", false);
+pref("dom.textMetrics.emHeight.enabled", false);
+pref("dom.textMetrics.fontBoundingBox.enabled", false);
+pref("pdfjs.enableScripting", false);
+pref("javascript.options.large_arraybuffers", false);
+
+// Third party stuff
+pref("privacy.firstparty.isolate", true); // Always enforce first party isolation
+pref("privacy.partition.network_state", false); // Disable for now until audit
+pref("network.cookie.cookieBehavior", 1);
+pref("network.cookie.cookieBehavior.pbmode", 1);
+pref("network.http.spdy.allow-push", false); // Disabled for now. See https://bugs.torproject.org/27127
+pref("network.predictor.enabled", false); // Temporarily disabled. See https://bugs.torproject.org/16633
+// Bug 40177: Make sure tracker cookie purging is disabled
+pref("privacy.purge_trackers.enabled", false);
+
+pref("network.dns.disablePrefetch", true);
+pref("network.protocol-handler.external-default", false);
+pref("network.protocol-handler.external.mailto", false);
+pref("network.protocol-handler.external.news", false);
+pref("network.protocol-handler.external.nntp", false);
+pref("network.protocol-handler.external.snews", false);
+pref("network.protocol-handler.warn-external.mailto", true);
+pref("network.protocol-handler.warn-external.news", true);
+pref("network.protocol-handler.warn-external.nntp", true);
+pref("network.protocol-handler.warn-external.snews", true);
+pref("network.proxy.allow_bypass", false); // #40682
+// Make sure we don't have any GIO supported protocols (defense in depth
+// measure)
+pref("network.gio.supported-protocols", "");
+pref("media.peerconnection.enabled", false); // Disable WebRTC interfaces
+// Disables media devices but only if `media.peerconnection.enabled` is set to
+// `false` as well. (see bug 16328 for this defense-in-depth measure)
+pref("media.navigator.enabled", false);
+// GMPs: We make sure they don't show up on the Add-on panel and confuse users.
+// And the external update/donwload server must not get pinged. We apply a
+// clever solution for https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=769716.
+pref("media.gmp-provider.enabled", false);
+pref("media.gmp-manager.url.override", "data:text/plain,");
+// Since ESR52 it is not enough anymore to block pinging the GMP update/download
+// server. There is a local fallback that must be blocked now as well. See:
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1267495.
+pref("media.gmp-manager.updateEnabled", false);
+// Mozilla is relying on preferences to make sure no DRM blob is downloaded and
+// run. Even though those prefs should be set correctly by specifying
+// --disable-eme (which we do), we disable all of them here as well for defense
+// in depth (see bug 16285 for more details).
+pref("browser.eme.ui.enabled", false);
+pref("media.gmp-widevinecdm.visible", false);
+pref("media.gmp-widevinecdm.enabled", false);
+pref("media.eme.enabled", false);
+pref("media.mediadrm-widevinecdm.visible", false);
+// WebIDE can bypass proxy settings for remote debugging. It also downloads
+// some additional addons that we have not reviewed. Turn all that off.
+pref("devtools.webide.autoinstallADBExtension", false);
+pref("devtools.webide.enabled", false);
+// The in-browser debugger for debugging chrome code is not coping with our
+// restrictive DNS look-up policy. We use "127.0.0.1" instead of "localhost" as
+// a workaround. See bug 16523 for more details.
+pref("devtools.debugger.chrome-debugging-host", "127.0.0.1");
+// Disable using UNC paths (bug 26424 and Mozilla's bug 1413868)
+pref("network.file.disable_unc_paths", true);
+// Enhance our treatment of file:// to avoid proxy bypasses (see Mozilla's bug
+// 1412081)
+pref("network.file.path_blacklist", "/net");
+
+// Security slider
+pref("svg.in-content.enabled", true);
+pref("mathml.disabled", false);
+
+// Bug 40408
+pref("svg.context-properties.content.allowed-domains", "");
+
+// Network and performance
+pref("security.ssl.enable_false_start", true);
+pref("network.http.connection-retry-timeout", 0);
+pref("network.http.max-persistent-connections-per-proxy", 256);
+pref("network.manage-offline-status", false);
+// No need to leak things to Mozilla, see bug 21790 and tor-browser#40322
+pref("network.captive-portal-service.enabled", false);
+pref("network.connectivity-service.enabled", false);
+// As a "defense in depth" measure, configure an empty push server URL (the
+// DOM Push features are disabled by default via other prefs).
+pref("dom.push.serverURL", "");
+// Bug 40423: Disable http/3
+pref("network.http.http3.enabled", false);
+
+// Extension support
+pref("extensions.autoDisableScopes", 0);
+pref("extensions.bootstrappedAddons", "{}");
+pref("extensions.checkCompatibility.4.*", false);
+pref("extensions.databaseSchema", 3);
+pref("extensions.enabledScopes", 5); // AddonManager.SCOPE_PROFILE=1 | AddonManager.SCOPE_APPLICATION=4
+pref("extensions.pendingOperations", false);
+// We don't know what extensions Mozilla is advertising to our users and we
+// don't want to have some random Google Analytics script running either on the
+// about:addons page, see bug 22073, 22900 and 31601.
+pref("extensions.getAddons.showPane", false);
+pref("extensions.htmlaboutaddons.recommendations.enabled", false);
+// Bug 26114: Allow NoScript to access addons.mozilla.org etc.
+pref("extensions.webextensions.restrictedDomains", "");
+// Don't give Mozilla-recommended third-party extensions special privileges.
+pref("extensions.postDownloadThirdPartyPrompt", false);
+
+// Toolbar layout
+pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[],\"PersonalToolbar\":[\"personal-bookmarks\"],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"urlbar-container\",\"torbutton-button\",\"security-level-button\",\"downloads-button\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"PanelUI-contents\":[\"home-button\",\"edit-controls\",\"zoom-controls\",\"new-window-button\",\"save-page-button\",\"print-button\",\"bookmarks-menu-button\",\"history-panelmenu\",\"find-button\",\"preferences-button\",\"add-ons-button\",\"developer-button\"],\"addon-bar\":[\"addonbar-closebutton\",\"status-bar\"]},\"seen\":[\"developer-button\",\"https-everywhere-eff_eff_org-browser-action\",\"_73a6fe31-595d-460b-a920-fcc0f8843232_-browser-action\"],\"dirtyAreaCache\":[\"PersonalToolbar\",\"nav-bar\",\"TabsToolbar\",\"toolbar-menubar\"],\"currentVersion\":14,\"newElementCount
\":1}");
+
+// Enforce certificate pinning, see: https://bugs.torproject.org/16206
+pref("security.cert_pinning.enforcement_level", 2);
+
+// Don't load OS client certs.
+pref("security.osclientcerts.autoload", false);
+
+// Don't allow MitM via Microsoft Family Safety, see bug 21686
+pref("security.family_safety.mode", 0);
+
+// Don't allow MitM via enterprise roots, see bug 30681
+pref("security.enterprise_roots.enabled", false);
+
+// Don't ping Mozilla for MitM detection, see bug 32321
+pref("security.certerrors.mitm.priming.enabled", false);
+
+// Don't automatically enable enterprise roots, see bug 40166
+pref("security.certerrors.mitm.auto_enable_enterprise_roots", false);
+
+// Disable the language pack signing check for now on macOS, see #31942
+#ifdef XP_MACOSX
+pref("extensions.langpacks.signatures.required", false);
+#endif
+
+// Workaround for https://bugs.torproject.org/13579. Progress on
+// `about:downloads` is only shown if the following preference is set to `true`
+// in case the download panel got removed from the toolbar.
+pref("browser.download.panel.shown", true);
+
+// Treat .onions as secure
+pref("dom.securecontext.whitelist_onions", true);
+
+// Disable special URL bar behaviors
+pref("browser.urlbar.suggest.topsites", false);
+pref("browser.urlbar.update1.interventions", false);
+pref("browser.urlbar.update1.searchTips", false);
+
+// Skip checking omni.ja and other files for corruption since the result
+// is only reported via telemetry (which is disabled).
+pref("corroborator.enabled", false);
+
+// prefs to disable jump-list entries in the taskbar on Windows (see bug #12885)
+#ifdef XP_WIN
+// this pref changes the app's set AUMID to be dependent on the profile path, rather than
+// attempting to read it from the registry; this is necessary so that the file generated
+// by the jumplist system can be properly deleted if it is disabled
+pref("taskbar.grouping.useprofile", true);
+pref("browser.taskbar.lists.enabled", false);
+pref("browser.taskbar.lists.frequent.enabled", false);
+pref("browser.taskbar.lists.tasks.enabled", false);
+pref("browser.taskbar.lists.recent.enabled", false);
+#endif
+
+// Disable Presentation API
+pref("dom.presentation.controller.enabled", false);
+pref("dom.presentation.enabled", false);
+pref("dom.presentation.discoverable", false);
+pref("dom.presentation.discoverable.encrypted", false);
+pref("dom.presentation.discovery.enabled", false);
+pref("dom.presentation.receiver.enabled", false);
+
+pref("dom.audiochannel.audioCompeting", false);
+pref("dom.audiochannel.mediaControl", false);
+
+// If we are bundling fonts, whitelist those bundled fonts, and restrict system fonts to a selection.
+
+#ifdef MOZ_BUNDLED_FONTS
+
+// Bug 40342: Always use bundled fonts
+pref("gfx.bundled-fonts.activate", 1);
+
+#ifdef XP_MACOSX
+pref("font.system.whitelist", "AppleGothic, Apple Color Emoji, Arial, Courier, Geneva, Georgia, Heiti TC, Helvetica, Helvetica Neue, .Helvetica Neue DeskInterface, Hiragino Kaku Gothic ProN, Lucida Grande, Monaco, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi, STHeiti, STIX Math, Tahoma, Thonburi, Times, Times New Roman, Verdana");
+pref("font.name-list.cursive.x-unicode", "Apple Chancery, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
+pref("font.name-list.fantasy.x-unicode", "Papyrus, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
+pref("font.name-list.monospace.x-unicode", "Courier, Arial, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
+pref("font.name-list.sans-serif.x-unicode", "Helvetica, Tahoma, Arial, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
+pref("font.name-list.serif.x-unicode", "Times, Arial, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
+pref("font.name.cursive.ar", "Arial");
+pref("font.name.fantasy.ar", "Arial");
+pref("font.name.monospace.ar", "Arial");
+pref("font.name.sans-serif.ar", "Arial");
+#endif
+
+#ifdef XP_WIN
+pref("font.system.whitelist", "Arial, Batang, 바탕, Cambria Math, Courier New, Euphemia, Gautami, Georgia, Gulim, 굴림, GulimChe, 굴림체, Iskoola Pota, Kalinga, Kartika, Latha, Lucida Console, MS Gothic, MS ゴシック, MS Mincho, MS 明朝, MS PGothic, MS Pゴシック, MS PMincho, MS P明朝, MV Boli, Malgun Gothic, Mangal, Meiryo, Meiryo UI, Microsoft Himalaya, Microsoft JhengHei, Microsoft JhengHei UI, Microsoft YaHei, 微软雅黑, Microsoft YaHei UI, MingLiU, 細明體, Noto Sans Buginese, Noto Sans Khmer, Noto Sans Lao, Noto Sans Myanmar, Noto Sans Yi, Nyala, PMingLiU, 新細明體, Plantagenet Cherokee, Raavi, Segoe UI, Shruti, SimSun, 宋体, Sylfaen, Tahoma, Times New Roman, Tunga, Verdana, Vrinda, Yu Gothic UI");
+#endif
+
+#ifdef XP_LINUX
+pref("font.default.lo", "Noto Sans Lao");
+pref("font.default.my", "Noto Sans Myanmar");
+pref("font.default.x-western", "sans-serif");
+pref("font.name-list.cursive.ar", "Noto Naskh Arabic, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.cursive.he", "Noto Sans Hebrew, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.cursive.x-cyrillic", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.cursive.x-unicode", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.cursive.x-western", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.fantasy.ar", "Noto Naskh Arabic, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.fantasy.el", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.fantasy.he", "Noto Sans Hebrew, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.fantasy.x-cyrillic", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.fantasy.x-unicode", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.fantasy.x-western", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.ar", "Noto Naskh Arabic, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.el", "Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.he", "Noto Sans Hebrew, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.ja", "Noto Sans JP Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.ko", "Noto Sans KR Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.th", "Noto Sans Thai, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-armn", "Noto Sans Armenian, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-beng", "Noto Sans Bengali, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-cyrillic", "Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-devanagari", "Noto Sans Devanagari, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-ethi", "Noto Sans Ethiopic, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-geor", "Noto Sans Georgian, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-gujr", "Noto Sans Gujarati, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-guru", "Noto Sans Gurmukhi, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-khmr", "Noto Sans Khmer, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-knda", "Noto Sans Kannada, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-mlym", "Noto Sans Malayalam, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-orya", "Noto Sans Oriya, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-sinh", "Noto Sans Sinhala, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-tamil", "Noto Sans Tamil, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-telu", "Noto Sans Telugu, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-tibt", "Noto Sans Tibetan, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-unicode", "Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-western", "Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.zh-CN", "Noto Sans SC Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.zh-HK", "Noto Sans TC Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.zh-TW", "Noto Sans TC Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.ar", "Noto Naskh Arabic, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.el", "Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.he", "Noto Sans Hebrew, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.ja", "Noto Sans JP Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.ko", "Noto Sans KR Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.th", "Noto Sans Thai, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-armn", "Noto Sans Armenian, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-beng", "Noto Sans Bengali, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-cyrillic", "Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-devanagari", "Noto Sans Devanagari, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-ethi", "Noto Sans Ethiopic, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-geor", "Noto Sans Georgian, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-gujr", "Noto Sans Gujarati, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-guru", "Noto Sans Gurmukhi, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-khmr", "Noto Sans Khmer, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-knda", "Noto Sans Kannada, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-mlym", "Noto Sans Malayalam, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-orya", "Noto Sans Oriya, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-sinh", "Noto Sans Sinhala, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-tamil", "Noto Sans Tamil, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-telu", "Noto Sans Telugu, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-tibt", "Noto Sans Tibetan, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-unicode", "Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-western", "Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.zh-CN", "Noto Sans SC Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.zh-HK", "Noto Sans TC Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.zh-TW", "Noto Sans TC Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.ar", "Noto Naskh Arabic, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.el", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.he", "Tinos, Georgia, Noto Sans Hebrew, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.ja", "Noto Sans JP Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.ko", "Noto Sans KR Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.th", "Noto Serif Thai, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-armn", "Noto Serif Armenian, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-beng", "Noto Sans Bengali, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-cyrillic", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-devanagari", "Noto Sans Devanagari, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-ethi", "Noto Sans Ethiopic, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-geor", "Noto Sans Georgian, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-gujr", "Noto Sans Gujarati, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-guru", "Noto Sans Gurmukhi, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-khmr", "Noto Serif Khmer, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-knda", "Noto Sans Kannada, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-mlym", "Noto Sans Malayalam, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-orya", "Noto Sans Oriya, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-sinh", "Noto Sans Sinhala, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-tamil", "Noto Sans Tamil, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-telu", "Noto Sans Telugu, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-tibt", "Noto Sans Tibetan, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-unicode", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-western", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.zh-CN", "Noto Sans SC Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.zh-HK", "Noto Sans TC Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.zh-TW", "Noto Sans TC Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name.cursive.ar", "Noto Naskh Arabic");
+pref("font.name.cursive.el", "Tinos, Georgia");
+pref("font.name.cursive.he", "Noto Sans Hebrew");
+pref("font.name.cursive.x-cyrillic", "Tinos, Georgia");
+pref("font.name.cursive.x-unicode", "Tinos, Georgia");
+pref("font.name.cursive.x-western", "Tinos, Georgia");
+pref("font.name.fantasy.ar", "Noto Naskh Arabic");
+pref("font.name.fantasy.el", "Tinos, Georgia");
+pref("font.name.fantasy.he", "Noto Sans Hebrew");
+pref("font.name.fantasy.x-cyrillic", "Tinos, Georgia");
+pref("font.name.fantasy.x-unicode", "Tinos, Georgia");
+pref("font.name.fantasy.x-western", "Tinos, Georgia");
+pref("font.name.monospace.ar", "Noto Naskh Arabic");
+pref("font.name.monospace.el", "Tinos, Georgia");
+pref("font.name.monospace.he", "Noto Sans Hebrew");
+pref("font.name.monospace.ja", "Noto Sans JP Regular");
+pref("font.name.monospace.ko", "Noto Sans KR Regular");
+pref("font.name.monospace.my", "Noto Sans Myanmar");
+pref("font.name.monospace.th", "Noto Sans Thai");
+pref("font.name.monospace.x-armn", "Noto Sans Armenian");
+pref("font.name.monospace.x-beng", "Noto Sans Bengali");
+pref("font.name.monospace.x-cyrillic", "Cousine, Courier, Courier New");
+pref("font.name.monospace.x-devanagari", "Noto Sans Devanagari");
+pref("font.name.monospace.x-ethi", "Noto Sans Ethiopic");
+pref("font.name.monospace.x-geor", "Noto Sans Georgian");
+pref("font.name.monospace.x-gujr", "Noto Sans Gujarati");
+pref("font.name.monospace.x-guru", "Noto Sans Gurmukhi");
+pref("font.name.monospace.x-khmr", "Noto Sans Khmer");
+pref("font.name.monospace.x-knda", "Noto Sans Kannada");
+pref("font.name.monospace.x-mlym", "Noto Sans Malayalam");
+pref("font.name.monospace.x-orya", "Noto Sans Oriya");
+pref("font.name.monospace.x-sinh", "Noto Sans Sinhala");
+pref("font.name.monospace.x-tamil", "Noto Sans Tamil");
+pref("font.name.monospace.x-telu", "Noto Sans Telugu");
+pref("font.name.monospace.x-tibt", "Noto Sans Tibetan");
+pref("font.name.monospace.x-unicode", "Cousine, Courier, Courier New");
+pref("font.name.monospace.x-western", "Cousine, Courier, Courier New");
+pref("font.name.monospace.zh-CN", "Noto Sans SC Regular");
+pref("font.name.monospace.zh-HK", "Noto Sans TC Regular");
+pref("font.name.monospace.zh-TW", "Noto Sans TC Regular");
+pref("font.name.sans-serif.ar", "Noto Naskh Arabic");
+pref("font.name.sans-serif.el", "Arimo, Arial, Verdana");
+pref("font.name.sans-serif.he", "Noto Sans Hebrew");
+pref("font.name.sans-serif.ja", "Noto Sans JP Regular");
+pref("font.name.sans-serif.ko", "Noto Sans KR Regular");
+pref("font.name.sans-serif.th", "Noto Sans Thai");
+pref("font.name.sans-serif.x-armn", "Noto Sans Armenian");
+pref("font.name.sans-serif.x-beng", "Noto Sans Bengali");
+pref("font.name.sans-serif.x-cyrillic", "Arimo, Arial, Verdana");
+pref("font.name.sans-serif.x-devanagari", "Noto Sans Devanagari");
+pref("font.name.sans-serif.x-ethi", "Noto Sans Ethiopic");
+pref("font.name.sans-serif.x-geor", "Noto Sans Georgian");
+pref("font.name.sans-serif.x-gujr", "Noto Sans Gujarati");
+pref("font.name.sans-serif.x-guru", "Noto Sans Gurmukhi");
+pref("font.name.sans-serif.x-khmr", "Noto Sans Khmer");
+pref("font.name.sans-serif.x-knda", "Noto Sans Kannada");
+pref("font.name.sans-serif.x-mlym", "Noto Sans Malayalam");
+pref("font.name.sans-serif.x-orya", "Noto Sans Oriya");
+pref("font.name.sans-serif.x-sinh", "Noto Sans Sinhala");
+pref("font.name.sans-serif.x-tamil", "Noto Sans Tamil");
+pref("font.name.sans-serif.x-telu", "Noto Sans Telugu");
+pref("font.name.sans-serif.x-tibt", "Noto Sans Tibetan");
+pref("font.name.sans-serif.x-unicode", "Arimo, Arial, Verdana");
+pref("font.name.sans-serif.x-western", "Arimo, Arial, Verdana");
+pref("font.name.sans-serif.zh-CN", "Noto Sans SC Regular");
+pref("font.name.sans-serif.zh-HK", "Noto Sans TC Regular");
+pref("font.name.sans-serif.zh-TW", "Noto Sans TC Regular");
+pref("font.name.sans.my", "Noto Sans Myanmar");
+pref("font.name.serif.ar", "Noto Naskh Arabic");
+pref("font.name.serif.el", "Tinos, Georgia");
+pref("font.name.serif.he", "Noto Sans Hebrew");
+pref("font.name.serif.ja", "Noto Sans JP Regular");
+pref("font.name.serif.ko", "Noto Sans KR Regular");
+pref("font.name.serif.my", "Noto Sans Myanmar");
+pref("font.name.serif.th", "Noto Serif Thai");
+pref("font.name.serif.x-armn", "Noto Serif Armenian");
+pref("font.name.serif.x-beng", "Noto Sans Bengali");
+pref("font.name.serif.x-cyrillic", "Tinos, Georgia");
+pref("font.name.serif.x-devanagari", "Noto Sans Devanagari");
+pref("font.name.serif.x-ethi", "Noto Sans Ethiopic");
+pref("font.name.serif.x-geor", "Noto Sans Georgian");
+pref("font.name.serif.x-gujr", "Noto Sans Gujarati");
+pref("font.name.serif.x-guru", "Noto Sans Gurmukhi");
+pref("font.name.serif.x-khmr", "Noto Serif Khmer");
+pref("font.name.serif.x-knda", "Noto Sans Kannada");
+pref("font.name.serif.x-mlym", "Noto Sans Malayalam");
+pref("font.name.serif.x-orya", "Noto Sans Oriya");
+pref("font.name.serif.x-sinh", "Noto Sans Sinhala");
+pref("font.name.serif.x-tamil", "Noto Sans Tamil");
+pref("font.name.serif.x-telu", "Noto Sans Telugu");
+pref("font.name.serif.x-tibt", "Noto Sans Tibetan");
+pref("font.name.serif.x-unicode", "Tinos, Georgia");
+pref("font.name.serif.x-western", "Tinos, Georgia");
+pref("font.name.serif.zh-CN", "Noto Sans SC Regular");
+pref("font.name.serif.zh-HK", "Noto Sans TC Regular");
+pref("font.name.serif.zh-TW", "Noto Sans TC Regular");
+#endif
+#endif
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index fba09ecef718..8ace92e9bf07 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -51,9 +51,9 @@ pref("extensions.recommendations.themeRecommendationUrl", "https://color.firefox
pref("extensions.update.autoUpdateDefault", true);
-// Check AUS for system add-on updates.
-pref("extensions.systemAddon.update.url", "https://aus5.mozilla.org/update/3/SystemAddons/%VERSION%/%BUILD_ID%/%BUILD_…");
-pref("extensions.systemAddon.update.enabled", true);
+// No AUS check for system add-on updates for Tor Browser users.
+pref("extensions.systemAddon.update.url", "");
+pref("extensions.systemAddon.update.enabled", false);
// Disable add-ons that are not installed by the user in all scopes by default.
// See the SCOPE constants in AddonManager.jsm for values to use here.
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index 26f093c50064..e6d5b31ce280 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -282,6 +282,7 @@
@RESPATH@/browser/defaults/settings/blocklists
@RESPATH@/browser/defaults/settings/main
@RESPATH@/browser/defaults/settings/security-state
+@RESPATH@/browser/@PREF_DIR@/000-tor-browser.js
; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
; Technically this is an app pref file, but we are keeping it in the original
diff --git a/browser/moz.build b/browser/moz.build
index 7b5566ac5de7..d72932988fac 100644
--- a/browser/moz.build
+++ b/browser/moz.build
@@ -56,6 +56,7 @@ if CONFIG["MOZ_UPDATE_AGENT"]:
# These files are specified in this moz.build to pick up DIST_SUBDIR as set in
# this directory, which is un-set in browser/app.
JS_PREFERENCE_PP_FILES += [
+ "app/profile/000-tor-browser.js",
"app/profile/firefox.js",
]
FINAL_TARGET_FILES.defaults += ["app/permissions"]
diff --git a/browser/themes/shared/menupanel.inc.css b/browser/themes/shared/menupanel.inc.css
index 4629e5e86891..5fee09286397 100644
--- a/browser/themes/shared/menupanel.inc.css
+++ b/browser/themes/shared/menupanel.inc.css
@@ -23,3 +23,4 @@
#appMenu-fullscreen-button2[checked] {
list-style-image: url(chrome://browser/skin/fullscreen-exit.svg);
}
+
diff --git a/mobile/android/app/000-tor-browser-android.js b/mobile/android/app/000-tor-browser-android.js
new file mode 100644
index 000000000000..61c8a0cd7fa1
--- /dev/null
+++ b/mobile/android/app/000-tor-browser-android.js
@@ -0,0 +1,47 @@
+// Import all prefs from the canonical file
+// We override mobile-specific prefs below
+// Tor Browser for Android
+// Do not edit this file.
+
+#include ../../../browser/app/profile/000-tor-browser.js
+
+// Space separated list of URLs that are allowed to send objects (instead of
+// only strings) through webchannels. This list is duplicated in browser/app/profile/firefox.js
+pref("webchannel.allowObject.urlWhitelist", "");
+
+// Disable browser auto updaters
+pref("app.update.auto", false);
+pref("browser.startup.homepage_override.mstone", "ignore");
+
+// Clear data on quit
+pref("privacy.clearOnShutdown.cache", true);
+pref("privacy.clearOnShutdown.cookies",true);
+pref("privacy.clearOnShutdown.downloads",true);
+pref("privacy.clearOnShutdown.formdata",true);
+pref("privacy.clearOnShutdown.history",true);
+pref("privacy.clearOnShutdown.offlineApps",true);
+pref("privacy.clearOnShutdown.passwords",true);
+pref("privacy.clearOnShutdown.sessions",true);
+pref("privacy.clearOnShutdown.siteSettings",true);
+
+// controls if we want camera support
+pref("media.realtime_decoder.enabled", false);
+
+// Enable touch events on Android (highlighting text, etc)
+pref("dom.w3c_touch_events.enabled", 2);
+
+// Ensure that pointer events are disabled
+pref("dom.w3c_pointer_events.multiprocess.android.enabled", false);
+
+// No HLS support for now due to browser freezing, see: #29859.
+pref("media.hls.enabled", false);
+
+// Inherit locale from the OS, used for multi-locale builds
+pref("intl.locale.requested", "");
+
+// Disable WebAuthn. It requires Google Play Services, so it isn't
+// available, but avoid any potential problems.
+pref("security.webauth.webauthn_enable_android_fido2", false);
+
+// Disable the External App Blocker on Android
+pref("extensions.torbutton.launch_warning", false);
diff --git a/mobile/android/app/geckoview-prefs.js b/mobile/android/app/geckoview-prefs.js
index d16b3e75169e..b6035bdc40f3 100644
--- a/mobile/android/app/geckoview-prefs.js
+++ b/mobile/android/app/geckoview-prefs.js
@@ -98,3 +98,5 @@ pref("extensions.formautofill.addresses.capture.enabled", true);
// Debug prefs.
pref("browser.formfill.debug", false);
pref("extensions.formautofill.loglevel", "Warn");
+
+#include 000-tor-browser-android.js
diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js
index 3d0b2e8c020f..a1703b759405 100644
--- a/mobile/android/app/mobile.js
+++ b/mobile/android/app/mobile.js
@@ -365,7 +365,11 @@ pref("app.update.timerMinimumDelay", 30); // seconds
// used by update service to decide whether or not to
// automatically download an update
pref("app.update.autodownload", "wifi");
+#ifdef TOR_BROWSER_VERSION
+pref("app.update.url.android", "");
+#else
pref("app.update.url.android", "https://aus5.mozilla.org/update/4/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TAR…");
+#endif
#ifdef MOZ_UPDATER
/* prefs used specifically for updating the app */
diff --git a/mobile/android/app/moz.build b/mobile/android/app/moz.build
index 21fa8617c5ff..4686e3df08b8 100644
--- a/mobile/android/app/moz.build
+++ b/mobile/android/app/moz.build
@@ -17,6 +17,7 @@ if CONFIG["MOZ_PKG_SPECIAL"]:
DEFINES["MOZ_PKG_SPECIAL"] = CONFIG["MOZ_PKG_SPECIAL"]
JS_PREFERENCE_PP_FILES += [
+ "000-tor-browser-android.js",
"mobile.js",
]
diff --git a/taskcluster/ci/source-test/mozlint.yml b/taskcluster/ci/source-test/mozlint.yml
index 59cceb4900bb..464295aba286 100644
--- a/taskcluster/ci/source-test/mozlint.yml
+++ b/taskcluster/ci/source-test/mozlint.yml
@@ -163,7 +163,9 @@ lintpref:
files-changed:
- 'modules/libpref/init/all.js'
- 'modules/libpref/init/StaticPrefList.yaml'
+ - 'browser/app/profile/000-tor-browser.js'
- 'browser/app/profile/firefox.js'
+ - 'mobile/android/app/000-tor-browser-android.js'
- 'mobile/android/app/mobile.js'
- 'devtools/client/preferences/debugger.js'
- 'mobile/android/app/geckoview-prefs.js'
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 2176: Rebrand Firefox to TorBrowser
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 9ea959669fc6935714b8e94f0b7561c2e46fa263
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Tue Sep 10 16:21:47 2013 -0700
Bug 2176: Rebrand Firefox to TorBrowser
See also Bugs #5194, #7187, #8115, #8219.
This patch does some basic renaming of Firefox to TorBrowser. The rest of the
branding is done by images and icons.
Also fix bug 27905.
Bug 25702: Update Tor Browser icon to follow design guidelines
- Updated all of the branding in /browser/branding/official with new 'stable'
icon series.
- Updated /extensions/onboarding/content/img/tor-watermark.png with new icon and
add the source svg in the same directory
- Copied /browser/branding/official over /browser/branding/nightly and the new
/browser/branding/alpha directories. Replaced content with 'nightly' and
'alpha' icon series.
Updated VisualElements_70.png and VisualElements_150.png with updated icons in
each branding directory (fixes #22654)
- Updated firefox.VisualElementsManfiest.xml with updated colors in each
branding directory
- Added firefox.svg to each branding directory from which all the other icons
are derived (apart from document.icns and document.ico)
- Added default256.png and default512.png icons
- Updated aboutTBUpdate.css to point to branding-aware icon128.png and removed
original icon
- Use the Tor Browser icon within devtools/client/themes/images/.
Bug 30631: Blurry Tor Browser icon on macOS app switcher
It would seem the png2icns tool does not generate correct icns files and
so on macOS the larger icons were missing resulting in blurry icons in
the OS chrome. Regenerated the padded icons in a macOS VM using
iconutil.
Bug 28196: preparations for using torbutton tor-browser-brand.ftl
A small change to Fluent FileSource class is required so that we
can register a new source without its supported locales being
counted as available locales for the browser.
Bug 31803: Replaced about:debugging logo with flat version
Bug 21724: Make Firefox and Tor Browser distinct macOS apps
When macOS opens a document or selects a default browser, it sometimes
uses the CFBundleSignature. Changing from the Firefox MOZB signature to
a different signature TORB allows macOS to distinguish between Firefox
and Tor Browser.
Bug 32092: Fix Tor Browser Support link in preferences
For bug 40562, we moved onionPattern* from bug 27476 to here, as
about:tor needs these files but it is included earlier.
---
browser/app/Makefile.in | 2 +-
browser/app/macbuild/Contents/Info.plist.in | 2 +-
browser/branding/alpha/VisualElements_150.png | Bin 0 -> 8412 bytes
browser/branding/alpha/VisualElements_70.png | Bin 0 -> 3496 bytes
browser/branding/alpha/background.png | Bin 0 -> 33362 bytes
browser/branding/alpha/bgstub.jpg | Bin 0 -> 12506 bytes
browser/branding/alpha/bgstub_2x.jpg | Bin 0 -> 49771 bytes
browser/branding/alpha/branding.nsi | 64 +++++++++++++++
browser/branding/alpha/configure.sh | 5 ++
browser/branding/alpha/content/about-logo.png | Bin 0 -> 21173 bytes
browser/branding/alpha/content/about-logo.svg | 1 +
browser/branding/alpha/content/about-logo(a)2x.png | Bin 0 -> 51309 bytes
browser/branding/alpha/content/about-wordmark.svg | 36 +++++++++
browser/branding/alpha/content/about.png | Bin 0 -> 18520 bytes
browser/branding/alpha/content/aboutDialog.css | 49 ++++++++++++
browser/branding/alpha/content/aboutlogins.svg | 59 ++++++++++++++
.../branding/alpha/content/firefox-wordmark.svg | 1 +
.../alpha/content/identity-icons-brand.svg | 8 ++
browser/branding/alpha/content/jar.mn | 23 ++++++
browser/branding/alpha/content/moz.build | 7 ++
browser/branding/alpha/content/tor-styles.css | 13 +++
browser/branding/alpha/default128.png | Bin 0 -> 9397 bytes
browser/branding/alpha/default16.png | Bin 0 -> 811 bytes
browser/branding/alpha/default22.png | Bin 0 -> 1240 bytes
browser/branding/alpha/default24.png | Bin 0 -> 1368 bytes
browser/branding/alpha/default256.png | Bin 0 -> 20481 bytes
browser/branding/alpha/default32.png | Bin 0 -> 1956 bytes
browser/branding/alpha/default48.png | Bin 0 -> 3067 bytes
browser/branding/alpha/default512.png | Bin 0 -> 44907 bytes
browser/branding/alpha/default64.png | Bin 0 -> 4318 bytes
browser/branding/alpha/disk.icns | Bin 0 -> 1548786 bytes
browser/branding/alpha/document.icns | Bin 0 -> 564054 bytes
browser/branding/alpha/document.ico | Bin 0 -> 119671 bytes
browser/branding/alpha/dsstore | Bin 0 -> 14340 bytes
.../alpha/firefox.VisualElementsManifest.xml | 12 +++
browser/branding/alpha/firefox.icns | Bin 0 -> 291096 bytes
browser/branding/alpha/firefox.ico | Bin 0 -> 119941 bytes
browser/branding/alpha/firefox.svg | 25 ++++++
browser/branding/alpha/firefox64.ico | Bin 0 -> 119941 bytes
browser/branding/alpha/locales/en-US/brand.dtd | 11 +++
browser/branding/alpha/locales/en-US/brand.ftl | 26 ++++++
.../branding/alpha/locales/en-US/brand.properties | 14 ++++
browser/branding/alpha/locales/jar.mn | 12 +++
browser/branding/alpha/locales/moz.build | 7 ++
browser/branding/alpha/moz.build | 13 +++
browser/branding/alpha/newtab.ico | Bin 0 -> 6518 bytes
browser/branding/alpha/newwindow.ico | Bin 0 -> 6518 bytes
browser/branding/alpha/pbmode.ico | Bin 0 -> 6518 bytes
browser/branding/alpha/pref/firefox-branding.js | 34 ++++++++
browser/branding/alpha/stubinstaller/bgstub.jpg | Bin 0 -> 53597 bytes
.../alpha/stubinstaller/installing_page.css | 61 +++++++++++++++
.../alpha/stubinstaller/profile_cleanup_page.css | 42 ++++++++++
browser/branding/alpha/wizHeader.bmp | Bin 0 -> 34254 bytes
browser/branding/alpha/wizHeaderRTL.bmp | Bin 0 -> 34254 bytes
browser/branding/alpha/wizWatermark.bmp | Bin 0 -> 206038 bytes
browser/branding/branding-common.mozbuild | 2 +
browser/branding/nightly/VisualElements_150.png | Bin 25470 -> 11666 bytes
browser/branding/nightly/VisualElements_70.png | Bin 9590 -> 4273 bytes
browser/branding/nightly/configure.sh | 8 +-
.../nightly/content/identity-icons-brand.svg | 8 ++
browser/branding/nightly/content/jar.mn | 4 +
browser/branding/nightly/content/tor-styles.css | 13 +++
browser/branding/nightly/default128.png | Bin 12392 -> 13686 bytes
browser/branding/nightly/default16.png | Bin 756 -> 891 bytes
browser/branding/nightly/default22.png | Bin 1146 -> 1377 bytes
browser/branding/nightly/default24.png | Bin 1281 -> 1509 bytes
browser/branding/nightly/default256.png | Bin 30546 -> 33587 bytes
browser/branding/nightly/default32.png | Bin 1910 -> 2254 bytes
browser/branding/nightly/default48.png | Bin 3606 -> 3789 bytes
browser/branding/nightly/default512.png | Bin 0 -> 87830 bytes
browser/branding/nightly/default64.png | Bin 4826 -> 5426 bytes
browser/branding/nightly/document.icns | Bin 517716 -> 689723 bytes
browser/branding/nightly/document.ico | Bin 47042 -> 124422 bytes
.../nightly/firefox.VisualElementsManifest.xml | 2 +-
browser/branding/nightly/firefox.icns | Bin 1014680 -> 642308 bytes
browser/branding/nightly/firefox.ico | Bin 66730 -> 131711 bytes
browser/branding/nightly/firefox.svg | 29 +++++++
browser/branding/nightly/firefox64.ico | Bin 38630 -> 131711 bytes
browser/branding/nightly/locales/en-US/brand.dtd | 8 +-
browser/branding/nightly/locales/en-US/brand.ftl | 2 +-
.../nightly/locales/en-US/brand.properties | 10 +--
browser/branding/nightly/locales/jar.mn | 7 +-
browser/branding/nightly/locales/moz.build | 2 -
browser/branding/nightly/wizHeader.bmp | Bin 25820 -> 34254 bytes
browser/branding/nightly/wizHeaderRTL.bmp | Bin 25820 -> 34254 bytes
browser/branding/nightly/wizWatermark.bmp | Bin 154544 -> 206038 bytes
browser/branding/official/VisualElements_150.png | Bin 23037 -> 7949 bytes
browser/branding/official/VisualElements_70.png | Bin 8763 -> 3374 bytes
browser/branding/official/configure.sh | 16 +---
.../official/content/identity-icons-brand.svg | 8 ++
browser/branding/official/content/jar.mn | 4 +
browser/branding/official/content/tor-styles.css | 14 ++++
browser/branding/official/default128.png | Bin 13513 -> 9007 bytes
browser/branding/official/default16.png | Bin 722 -> 839 bytes
browser/branding/official/default22.png | Bin 1134 -> 1250 bytes
browser/branding/official/default24.png | Bin 1312 -> 1405 bytes
browser/branding/official/default256.png | Bin 32441 -> 19136 bytes
browser/branding/official/default32.png | Bin 1948 -> 1965 bytes
browser/branding/official/default48.png | Bin 3448 -> 3074 bytes
browser/branding/official/default512.png | Bin 0 -> 40438 bytes
browser/branding/official/default64.png | Bin 5459 -> 4196 bytes
browser/branding/official/disk.icns | Bin 1525764 -> 172073 bytes
browser/branding/official/document.icns | Bin 501145 -> 509227 bytes
browser/branding/official/document.ico | Bin 45478 -> 119916 bytes
.../official/firefox.VisualElementsManifest.xml | 2 +-
browser/branding/official/firefox.icns | Bin 1021785 -> 259709 bytes
browser/branding/official/firefox.ico | Bin 68328 -> 118595 bytes
browser/branding/official/firefox.svg | 31 ++++++++
browser/branding/official/firefox64.ico | Bin 38630 -> 118595 bytes
browser/branding/official/locales/en-US/brand.dtd | 8 +-
.../official/locales/en-US/brand.properties | 10 +--
browser/branding/official/wizHeader.bmp | Bin 25820 -> 34254 bytes
browser/branding/official/wizHeaderRTL.bmp | Bin 25820 -> 34254 bytes
browser/branding/official/wizWatermark.bmp | Bin 154544 -> 206038 bytes
browser/branding/tor-styles.inc.css | 87 +++++++++++++++++++++
browser/components/preferences/preferences.js | 5 +-
.../shared/identity-block/identity-block.inc.css | 14 ++--
.../themes/shared/identity-block/onion-slash.svg | 5 ++
.../themes/shared/identity-block/onion-warning.svg | 4 +
browser/themes/shared/identity-block/onion.svg | 4 +
browser/themes/shared/jar.inc.mn | 5 ++
browser/themes/shared/onionPattern.css | 31 ++++++++
browser/themes/shared/onionPattern.inc.xhtml | 12 +++
browser/themes/shared/onionPattern.svg | 22 ++++++
.../images/aboutdebugging-firefox-aurora.svg | 35 ++++++++-
.../themes/images/aboutdebugging-firefox-beta.svg | 35 ++++++++-
.../themes/images/aboutdebugging-firefox-logo.svg | 11 ++-
.../images/aboutdebugging-firefox-nightly.svg | 35 ++++++++-
.../images/aboutdebugging-firefox-release.svg | 35 ++++++++-
intl/l10n/L10nRegistry.jsm | 19 ++++-
130 files changed, 989 insertions(+), 85 deletions(-)
diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
index 54d6b43fe126..8dd3a9a65661 100644
--- a/browser/app/Makefile.in
+++ b/browser/app/Makefile.in
@@ -102,5 +102,5 @@ ifdef MOZ_UPDATER
mv -f '$(dist_dest)/Contents/MacOS/updater.app/Contents/MacOS/org.mozilla.updater' '$(dist_dest)/Contents/Library/LaunchServices'
ln -s ../../../../Library/LaunchServices/org.mozilla.updater '$(dist_dest)/Contents/MacOS/updater.app/Contents/MacOS/org.mozilla.updater'
endif
- printf APPLMOZB > '$(dist_dest)/Contents/PkgInfo'
+ printf APPLTORB > '$(dist_dest)/Contents/PkgInfo'
endif
diff --git a/browser/app/macbuild/Contents/Info.plist.in b/browser/app/macbuild/Contents/Info.plist.in
index 9ceaf88f15c1..d8858e9f01bf 100644
--- a/browser/app/macbuild/Contents/Info.plist.in
+++ b/browser/app/macbuild/Contents/Info.plist.in
@@ -179,7 +179,7 @@
<key>CFBundleShortVersionString</key>
<string>@APP_VERSION@</string>
<key>CFBundleSignature</key>
- <string>MOZB</string>
+ <string>TORB</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
diff --git a/browser/branding/alpha/VisualElements_150.png b/browser/branding/alpha/VisualElements_150.png
new file mode 100644
index 000000000000..fbf4af94d813
Binary files /dev/null and b/browser/branding/alpha/VisualElements_150.png differ
diff --git a/browser/branding/alpha/VisualElements_70.png b/browser/branding/alpha/VisualElements_70.png
new file mode 100644
index 000000000000..1add6b0e77ff
Binary files /dev/null and b/browser/branding/alpha/VisualElements_70.png differ
diff --git a/browser/branding/alpha/background.png b/browser/branding/alpha/background.png
new file mode 100644
index 000000000000..0a7e3088f4f0
Binary files /dev/null and b/browser/branding/alpha/background.png differ
diff --git a/browser/branding/alpha/bgstub.jpg b/browser/branding/alpha/bgstub.jpg
new file mode 100644
index 000000000000..3b78c9498c93
Binary files /dev/null and b/browser/branding/alpha/bgstub.jpg differ
diff --git a/browser/branding/alpha/bgstub_2x.jpg b/browser/branding/alpha/bgstub_2x.jpg
new file mode 100644
index 000000000000..c724d1803c26
Binary files /dev/null and b/browser/branding/alpha/bgstub_2x.jpg differ
diff --git a/browser/branding/alpha/branding.nsi b/browser/branding/alpha/branding.nsi
new file mode 100644
index 000000000000..b37853b77643
--- /dev/null
+++ b/browser/branding/alpha/branding.nsi
@@ -0,0 +1,64 @@
+# 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/.
+
+# NSIS branding defines for nightly builds.
+# The official release build branding.nsi is located in other-license/branding/firefox/
+# The unofficial build branding.nsi is located in browser/branding/unofficial/
+
+# BrandFullNameInternal is used for some registry and file system values
+# instead of BrandFullName and typically should not be modified.
+!define BrandFullNameInternal "Nightly"
+!define BrandFullName "Firefox Nightly"
+!define CompanyName "mozilla.org"
+!define URLInfoAbout "https://www.mozilla.org"
+!define HelpLink "https://support.mozilla.org"
+
+!define URLStubDownloadX86 "https://download.mozilla.org/?os=win&lang=${AB_CD}&product=firefox-nightly-…"
+!define URLStubDownloadAMD64 "https://download.mozilla.org/?os=win64&lang=${AB_CD}&product=firefox-nightl…"
+!define URLStubDownloadAArch64 "https://download.mozilla.org/?os=win64-aarch64&lang=${AB_CD}&product=firefo…"
+!define URLManualDownload "https://www.mozilla.org/${AB_CD}/firefox/installer-help/?channel=nightly&in…"
+!define URLSystemRequirements "https://www.mozilla.org/firefox/system-requirements/"
+!define Channel "nightly"
+
+# The installer's certificate name and issuer expected by the stub installer
+!define CertNameDownload "Mozilla Corporation"
+!define CertIssuerDownload "DigiCert SHA2 Assured ID Code Signing CA"
+
+# Dialog units are used so the UI displays correctly with the system's DPI
+# settings.
+!define PROFILE_CLEANUP_LABEL_TOP "35u"
+!define PROFILE_CLEANUP_LABEL_LEFT "0"
+!define PROFILE_CLEANUP_LABEL_WIDTH "100%"
+!define PROFILE_CLEANUP_LABEL_HEIGHT "80u"
+!define PROFILE_CLEANUP_LABEL_ALIGN "center"
+!define PROFILE_CLEANUP_CHECKBOX_LEFT "center"
+!define PROFILE_CLEANUP_CHECKBOX_WIDTH "100%"
+!define PROFILE_CLEANUP_BUTTON_LEFT "center"
+!define INSTALL_BLURB_TOP "137u"
+!define INSTALL_BLURB_WIDTH "60u"
+!define INSTALL_FOOTER_TOP "-48u"
+!define INSTALL_FOOTER_WIDTH "250u"
+!define INSTALL_INSTALLING_TOP "70u"
+!define INSTALL_INSTALLING_LEFT "0"
+!define INSTALL_INSTALLING_WIDTH "100%"
+!define INSTALL_PROGRESS_BAR_TOP "112u"
+!define INSTALL_PROGRESS_BAR_LEFT "20%"
+!define INSTALL_PROGRESS_BAR_WIDTH "60%"
+!define INSTALL_PROGRESS_BAR_HEIGHT "12u"
+
+!define PROFILE_CLEANUP_CHECKBOX_TOP_MARGIN "20u"
+!define PROFILE_CLEANUP_BUTTON_TOP_MARGIN "20u"
+!define PROFILE_CLEANUP_BUTTON_X_PADDING "40u"
+!define PROFILE_CLEANUP_BUTTON_Y_PADDING "4u"
+
+# Font settings that can be customized for each channel
+!define INSTALL_HEADER_FONT_SIZE 28
+!define INSTALL_HEADER_FONT_WEIGHT 400
+!define INSTALL_INSTALLING_FONT_SIZE 28
+!define INSTALL_INSTALLING_FONT_WEIGHT 400
+
+# UI Colors that can be customized for each channel
+!define COMMON_TEXT_COLOR 0xFFFFFF
+!define COMMON_BACKGROUND_COLOR 0x000000
+!define INSTALL_INSTALLING_TEXT_COLOR 0xFFFFFF
diff --git a/browser/branding/alpha/configure.sh b/browser/branding/alpha/configure.sh
new file mode 100644
index 000000000000..243091484f75
--- /dev/null
+++ b/browser/branding/alpha/configure.sh
@@ -0,0 +1,5 @@
+# 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/.
+
+MOZ_APP_DISPLAYNAME="Tor Browser"
diff --git a/browser/branding/alpha/content/about-logo.png b/browser/branding/alpha/content/about-logo.png
new file mode 100644
index 000000000000..7d705be61dfd
Binary files /dev/null and b/browser/branding/alpha/content/about-logo.png differ
diff --git a/browser/branding/alpha/content/about-logo.svg b/browser/branding/alpha/content/about-logo.svg
new file mode 100644
index 000000000000..caf587e212b6
--- /dev/null
+++ b/browser/branding/alpha/content/about-logo.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512"><defs><radialGradient id="h" cx="-9235.977" cy="-9835.981" r="118.081" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset=".126" stop-color="#3fe1b0"/><stop offset=".429" stop-color="#0df"/><stop offset=".479" stop-color="#1ec1ff"/><stop offset=".624" stop-color="#7077ff"/><stop offset=".69" stop-color="#9059ff"/><stop offset=".904" stop-color="#b833e1"/></radialGradient><radialGradient id="b" cx="-9227.187" cy="-9815.121" r="80.797" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset=".108" stop-color="#3fe1b0"/><stop offset=".122" stop-color="#3bdcb3"/><stop offset=".254" stop-color="#1bb3d3"/><stop offset=".358" stop-color="#0799e6"/><stop offset=".42" stop-color="#0090ed"/><stop offset=".487" stop-color="#2482f1"/><stop offset=".64" stop-color="#7165fb"/><stop offset=".71" stop-color="#9059ff"/><stop offset=".79
5" stop-color="#7d49ed"/><stop offset=".86" stop-color="#7542e5"/></radialGradient><radialGradient id="d" cx="-9246.97" cy="-9833.457" r="58.534" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset=".132" stop-color="#3fe1b0"/><stop offset=".289" stop-color="#28d0c8"/><stop offset=".526" stop-color="#00b3f4"/></radialGradient><radialGradient id="e" cx="-9265.648" cy="-9760.984" r="38.471" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset=".287" stop-color="#0060df"/><stop offset=".417" stop-color="#2357e1"/><stop offset=".604" stop-color="#4f4ce3"/><stop offset=".748" stop-color="#6b45e4"/><stop offset=".833" stop-color="#7542e5"/></radialGradient><radialGradient id="f" cx="-9255.62" cy="-9791.546" r="20.397" gradientTransform="matrix(6.027 -1.458 1.708 7.059 72758.651 55821.181)" gradientUnits="userSpaceOnUse"><stop offset=".206" stop-color="#45278d" stop-opacity="0"/><stop off
set=".251" stop-color="#44268a" stop-opacity=".055"/><stop offset=".725" stop-color="#371f6f" stop-opacity=".591"/><stop offset=".956" stop-color="#321c64" stop-opacity=".8"/></radialGradient><radialGradient id="g" cx="-9257.731" cy="-9818.427" r="27.676" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#0df"/><stop offset=".235" stop-color="#00d6fd"/><stop offset=".572" stop-color="#00c3f8"/><stop offset=".792" stop-color="#00b3f4"/></radialGradient><radialGradient id="c" cx="-9256.711" cy="-9782.089" r="80.797" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset=".3" stop-color="#45278d"/><stop offset=".341" stop-color="#562896" stop-opacity=".787"/><stop offset=".43" stop-color="#782aa9" stop-opacity=".364"/><stop offset=".495" stop-color="#8d2bb5" stop-opacity=".1"/><stop offset=".53" stop-color="#952bb9" stop-opacity="0"/></radialGradient><radialGradient id
="i" cx="-9247.165" cy="-9822.859" r="86.499" gradientTransform="matrix(.649 6.166 -4.046 .426 -33440.427 61207.861)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#54ffbd"/><stop offset=".095" stop-color="#4cf3b8"/><stop offset=".197" stop-color="#3fe1b0"/><stop offset=".257" stop-color="#33d8bd"/><stop offset=".369" stop-color="#12c0e1"/><stop offset=".423" stop-color="#00b3f4"/><stop offset=".737" stop-color="#0060df"/></radialGradient><radialGradient id="j" cx="-9258.383" cy="-9808.176" r="73.72" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset=".137" stop-color="#3fe1b0"/><stop offset=".435" stop-color="#0df"/><stop offset=".484" stop-color="#1ec1ff"/><stop offset=".622" stop-color="#7077ff"/><stop offset=".685" stop-color="#9059ff"/></radialGradient><radialGradient id="k" cx="-9238.923" cy="-9803.861" r="80.686" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop o
ffset=".094" stop-color="#54ffbd"/><stop offset=".242" stop-color="#41f7cc"/><stop offset=".543" stop-color="#0fe3f3"/><stop offset=".626" stop-color="#0df"/></radialGradient><linearGradient id="a" x1="471.8" y1="127.352" x2="55.983" y2="389.284" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3fe1b0"/><stop offset=".406" stop-color="#00b3f4"/><stop offset=".421" stop-color="#03b0f4"/><stop offset=".818" stop-color="#5561e9"/><stop offset="1" stop-color="#7542e5"/></linearGradient><linearGradient id="l" x1="442.084" y1="74.772" x2="102.645" y2="414.21" gradientUnits="userSpaceOnUse"><stop offset=".167" stop-color="#54ffbd" stop-opacity=".8"/><stop offset=".236" stop-color="#43f8ca" stop-opacity=".639"/><stop offset=".361" stop-color="#27ede1" stop-opacity=".368"/><stop offset=".466" stop-color="#12e4f1" stop-opacity=".169"/><stop offset=".545" stop-color="#05dffb" stop-opacity=".046"/><stop offset=".589" stop-color="#0df" stop-opacity="0"/></linearGradient></defs><path
d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0 .039.015.136.047.4C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484a120.249 120.249 0 00-66.142 25.488 71.355 71.355 0 00-6.225-4.7 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.442 26.913c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-.212 1.061-.324 1.586-.452 2.116-2.08 12.7-2.365 15-.022.177-.032.347-.053.524a229.066 229.066 0 00-3.9 33.157c0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-19
9.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746zM201.716 354.447c1.124.537 2.18 1.124 3.334 1.639.048.033.114.07.163.1a126.191 126.191 0 01-3.497-1.739zm55.053-144.93zm198.131-30.59l-.032-.233c.012.085.027.174.04.259z" fill="url(#a)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0-.058.011.048.036.226.012.085.027.174.04.259 22.675 61.47 10.322 123.978-7.479 162.175-27.539 59.1-94.215 119.67-198.576 116.716C136.1 454.651 36.766 370.988 18.223 261.41c-3.379-17.28 0-26.054 1.7-40.084-2.071 10.816-2.86 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746z" fill="url(#b)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0-.058.011.048.036.226.012.085.027.174.04.259 22.675 61.47 10.322 123.978-7.479 162.175-27.5
39 59.1-94.215 119.67-198.576 116.716C136.1 454.651 36.766 370.988 18.223 261.41c-3.379-17.28 0-26.054 1.7-40.084-2.071 10.816-2.86 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746z" fill="url(#c)"/><path d="M361.922 194.6c.524.368 1 .734 1.493 1.1a130.706 130.706 0 00-22.31-29.112C266.4 91.892 321.516 4.626 330.811.194c.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484 2.8-.194 5.592-.429 8.442-.429 45.051 0 84.289 24.77 105.301 61.487z" fill="url(#d)"/><path d="M256.772 209.514c-.393 5.978-21.514 26.593-28.9 26.593-68.339 0-79.432 41.335-79.432 41.335 3.027 34.81 27.261 63.475 56.611 78.643 1.339.692 2.694 1.317 4.05 1.935a132.768 132.768 0 007.059 2.886 106.743 106.743 0 0031.271 6.031c119.78 5.618 142.986-143.194 56.545-186.408 22.137-3.85 45.115 5.053 57.947 14.067-21.012-36.714-60.25-61.484-105.3-61.484-2.85 0-5.641.235-8.442.
429a120.249 120.249 0 00-66.142 25.488c3.664 3.1 7.8 7.244 16.514 15.828 16.302 16.067 58.13 32.705 58.219 34.657z" fill="url(#e)"/><path d="M256.772 209.514c-.393 5.978-21.514 26.593-28.9 26.593-68.339 0-79.432 41.335-79.432 41.335 3.027 34.81 27.261 63.475 56.611 78.643 1.339.692 2.694 1.317 4.05 1.935a132.768 132.768 0 007.059 2.886 106.743 106.743 0 0031.271 6.031c119.78 5.618 142.986-143.194 56.545-186.408 22.137-3.85 45.115 5.053 57.947 14.067-21.012-36.714-60.25-61.484-105.3-61.484-2.85 0-5.641.235-8.442.429a120.249 120.249 0 00-66.142 25.488c3.664 3.1 7.8 7.244 16.514 15.828 16.302 16.067 58.13 32.705 58.219 34.657z" fill="url(#f)"/><path d="M170.829 151.036a244.042 244.042 0 014.981 3.3 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7 1.155-.033 36.014-.66 53.543 10.732z" fill="url(#g)"/><path d="M18.223 261.41C36.766 370.988 136.1 454.651 248.855 457.844c104.361 2.954 171.037-57.62 198.576-116.716 17.8-38.2 30.154-100.7 7.479-162.175l-.008-.026-.032-.
233c-.025-.178-.04-.284-.036-.226 0 .039.015.136.047.4 8.524 55.661-19.79 109.584-64.051 146.044l-.133.313c-86.245 70.223-168.774 42.368-185.484 30.966a144.108 144.108 0 01-3.5-1.743c-50.282-24.029-71.054-69.838-66.6-109.124-42.457 0-56.934-35.809-56.934-35.809s38.119-27.179 88.358-3.541c46.53 21.893 90.228 3.543 90.233 3.541-.089-1.952-41.917-18.59-58.223-34.656-8.713-8.584-12.85-12.723-16.514-15.828a71.355 71.355 0 00-6.225-4.7 282.929 282.929 0 00-4.981-3.3c-17.528-11.392-52.388-10.765-53.543-10.735h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.442 26.919c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-8.65 37.842-4.44 57.199z" fill="url(#h)"/><path d="M341.105 166.587a130.706 130.706 0 0122.31 29.112c1.323.994 2.559 1.985 3.608 2.952 54.482 50.2 25.936 121.2 23.807 126.26 44.261-36.46 72.575-90.383 64.051-146.044C427.706 111.135 381.627 83.823
344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1-9.291 4.428-64.407 91.694 10.298 166.389z" fill="url(#i)"/><path d="M367.023 198.651c-1.049-.967-2.285-1.958-3.608-2.952-.489-.368-.969-.734-1.493-1.1-12.832-9.014-35.81-17.917-57.947-14.067 86.441 43.214 63.235 192.026-56.545 186.408a106.743 106.743 0 01-31.271-6.031 134.51 134.51 0 01-7.059-2.886c-1.356-.618-2.711-1.243-4.05-1.935.048.033.114.07.163.1 16.71 11.4 99.239 39.257 185.484-30.966l.133-.313c2.129-5.054 30.675-76.057-23.807-126.258z" fill="url(#j)"/><path d="M148.439 277.443s11.093-41.335 79.432-41.335c7.388 0 28.509-20.615 28.9-26.593s-43.7 18.352-90.233-3.541c-50.239-23.638-88.358 3.541-88.358 3.541s14.477 35.809 56.934 35.809c-4.453 39.286 16.319 85.1 66.6 109.124 1.124.537 2.18 1.124 3.334 1.639-29.348-15.169-53.582-43.834-56.609-78.644z" fill="url(#k)"/><path d="M478.711 166.
353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0 .039.015.136.047.4C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484 2.8-.194 5.592-.429 8.442-.429 45.053 0 84.291 24.77 105.3 61.484-12.832-9.014-35.81-17.917-57.947-14.067 86.441 43.214 63.235 192.026-56.545 186.408a106.743 106.743 0 01-31.271-6.031 134.51 134.51 0 01-7.059-2.886c-1.356-.618-2.711-1.243-4.05-1.935.048.033.114.07.163.1a144.108 144.108 0 01-3.5-1.743c1.124.537 2.18 1.124 3.334 1.639-29.35-15.168-53.584-43.833-56.611-78.643 0 0 11.093-41.335 79.432-41.335 7.388 0 28.509-20.615 28.9-26.593-.089-1.952-41.917-18.59-58.223-34.656-8.713-8.584-12.85-12.723-16.514-15.828a71.355 71.355 0 00-6.225-4.7 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43
.89 29.01-57.85 44.7h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.435 26.916c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-.212 1.061-.324 1.586-.452 2.116-2.486 12.853-2.77 15.156-.022.177.021-.176 0 0a279.565 279.565 0 00-3.544 33.53c0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746zm-23.841 12.341c.012.085.027.174.04.259l-.008-.026-.032-.233z" fill="url(#l)"/></svg>
\ No newline at end of file
diff --git a/browser/branding/alpha/content/about-logo(a)2x.png b/browser/branding/alpha/content/about-logo(a)2x.png
new file mode 100644
index 000000000000..193c856f3e8c
Binary files /dev/null and b/browser/branding/alpha/content/about-logo(a)2x.png differ
diff --git a/browser/branding/alpha/content/about-wordmark.svg b/browser/branding/alpha/content/about-wordmark.svg
new file mode 100644
index 000000000000..6f71130b417d
--- /dev/null
+++ b/browser/branding/alpha/content/about-wordmark.svg
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="270px" height="48px" viewBox="0 0 270 48">
+ <path fill="#fff" d="M75.5,11.8V7.9c0-2.2,1.2-3.5,3.1-3.5c1,0,1.8,0.3,3,0.9l1.8-3.5c-1.7-1-3.5-1.4-5.7-1.4
+ C73.2,0.3,70,2.8,70,8c0,2.3,0.2,3.7,0.2,3.7h-2.5v3.8H70V37h5.4V15.6h5.1l1.4-3.8H75.5z M92.3,11.2c-6.7,0-11,5.2-11,13.3
+ c0,8.1,4.3,13.2,11.1,13.2c6.8,0,11.2-5,11.2-13.2C103.6,16.5,99.5,11.2,92.3,11.2z M92.5,33.6c-3.3,0-5.1-2.1-5.1-9.5
+ c0-6.1,1.5-8.8,5-8.8c3.2,0,5.2,2.1,5.2,9.3C97.6,30.9,95.8,33.6,92.5,33.6z M43.7,11.1c-2.5,0-4.4,1.3-6.4,4c0-1.4-0.3-2.8-0.9-4
+ l-5,1.3c0.6,1.6,0.9,3.6,0.9,6.8V37h5.5V19.9c0.5-2,2.4-3.7,4.7-3.7c0.6,0,1,0.1,1.6,0.4l1.7-5.1C45,11.2,44.5,11.1,43.7,11.1z
+ M0,37h5.7V21.2h9.6v-4.6H5.7V7.2h11.8l0.7-4.7H0V37z M21.4,37h5.5V11.2l-5.5,1V37z M24.2,0.7c-2,0-3.6,1.6-3.6,3.7
+ c0,2,1.5,3.6,3.5,3.6c2,0,3.7-1.6,3.7-3.6C27.8,2.3,26.2,0.7,24.2,0.7z M125.2,11.8h-6.4c-0.7,1.1-3.3,6.1-4,7.7
+ c-1.2-2.3-3.4-6.3-4.6-8.2l-5.9,1.2l7.3,10.8L102.2,37h6.9c0.9-1.4,4.5-7.5,5.5-9.4c0.5,0.9,4.6,8,5.5,9.4h6.9l-9.2-13.8L125.2,11.8
+ z M62.7,13.8c-2.1-1.9-4.4-2.6-6.9-2.6c-3.2,0-5.7,1-7.7,3.4C45.9,17.1,45,20,45,24.5c0,8.1,4.5,13.2,11.6,13.2
+ c3.4,0,6.4-1.1,9.1-3.3L63.4,31c-1.9,1.6-3.9,2.5-6.3,2.5c-4.9,0-6.2-3.7-6.2-7.2v-0.4H66v-1.2C66,18.9,64.9,15.8,62.7,13.8z
+ M51,21.8c0-4.1,1.7-6.5,4.8-6.5c2.8,0,4.5,2.4,4.5,6.5H51z M198.5,14.3l-2.4-2.4c-1.2,0.8-2.2,1.1-3.5,1.1c-3,0-3.8-1.4-7.6-1.4
+ c-5.4,0-9.2,3.4-9.2,8.4c0,3.3,2.2,6.1,5.6,7.2c-3.4,1-4.5,2.2-4.5,4.3c0,2.2,1.8,3.6,4.7,3.6h3.8c2.5,0,3.9,0.2,4.9,0.9
+ c0.9,0.6,1.4,1.6,1.4,3c0,3.1-2.2,4.4-6,4.4c-2,0-3.8-0.5-5.1-1.2c-0.9-0.6-1.5-1.6-1.5-2.9c0-0.8,0.3-1.7,0.7-2.2l-4.1,0.4
+ c-0.3,1-0.5,1.7-0.5,2.6c0,3.5,3,6.4,10.8,6.4c6.1,0,9.9-2.5,9.9-7.9c0-2.1-0.8-3.9-2.7-5.3c-1.5-1.1-3.1-1.4-6-1.4h-4
+ c-1.3,0-2-0.5-2-1.2c0-0.8,1.1-1.7,4.5-2.9c1.8,0,3.4-0.3,4.7-1.1c2.3-1.4,3.7-4.1,3.7-6.8c0-1.6-0.5-3-1.5-4.3
+ c0.4,0.2,1.1,0.3,1.7,0.3C195.8,15.8,196.9,15.4,198.5,14.3z M185,24.8c-3.1,0-4.8-1.7-4.8-4.8c0-3.5,1.6-5.1,4.7-5.1
+ c3.3,0,4.6,1.5,4.6,4.9C189.5,23.1,188,24.8,185,24.8z M168.6,1.3c-1.7,0-3,1.4-3,3.1c0,1.7,1.4,3,3,3c1.7,0,3.1-1.3,3.1-3
+ C171.6,2.7,170.3,1.3,168.6,1.3z M245.7,34.5c-1.1,0-1.4-0.6-1.4-2.5V6.5c0-3.8-0.6-5.9-0.6-5.9l-3.9,0.8c0,0,0.6,1.9,0.6,5.1v26.4
+ c0,1.8,0.4,2.8,1.2,3.5c0.7,0.7,1.7,1,2.9,1c1,0,1.5-0.1,2.5-0.5l-0.8-2.5C246.2,34.4,245.8,34.5,245.7,34.5z M212.7,11.6
+ c-3.2,0-6.1,1.8-8.3,3.9c0,0,0.2-1.8,0.2-3.4V6.3c0-3.8-0.7-5.9-0.7-5.9L200,1.1c0,0,0.7,1.9,0.7,5.1V37h3.9V19.3
+ c2.1-2.7,4.9-4.2,7.2-4.2c1.3,0,2.3,0.4,2.9,1c0.7,0.7,0.9,1.8,0.9,3.7V37h3.8V19.1c0-1.8-0.1-2.6-0.4-3.6
+ C218.4,13.2,215.7,11.6,212.7,11.6z M265.4,12.1l-4.9,16.4c-0.6,2-1.6,5.2-1.6,5.2s-0.7-3.9-1.5-6.2l-5.1-16.2l-3.9,1.3l5.4,15.6
+ c0.8,2.5,2.2,7.4,2.5,9l1.6-0.3c-1.3,5.1-2.5,6.7-5.7,7.6l1.2,2.7c4.4-1,6.4-4.3,8-9.3l8.6-25.8H265.4z M234.9,15l1.2-2.9h-6.2
+ c0-3.3,0.5-7.2,0.5-7.2l-4.1,0.9c0,0-0.4,3.9-0.4,6.3h-3.2V15h3.2v17.1c0,2.5,0.7,4.1,2.4,5c0.9,0.4,1.9,0.7,3.3,0.7
+ c1.8,0,3.1-0.4,4.4-1l-0.6-2.5c-0.7,0.3-1.3,0.5-2.4,0.5c-2.4,0-3.2-0.9-3.2-3.7V15H234.9z M166.5,37h4.1V11.5l-4.1,0.6V37z
+ M156.8,21.3c0,5,0.4,10.5,0.4,10.5s-1.4-3.8-3.2-7.2L142.7,2.7h-4.8V37h4.2l-0.2-19.9c0-4.5-0.4-9.3-0.4-9.3s1.7,4.1,3.9,8.2l11,21
+ h4.3V2.7h-4L156.8,21.3z M128.3,12.9c-0.3-0.1-0.7-0.1-1-0.1v2.3h0.3v-1c0.3,0,0.7,1,0.7,1s0.2,0,0.4,0c-0.2-0.3-0.3-0.7-0.6-1
+ C128.8,14.1,128.9,13.1,128.3,12.9z M127.6,13.8v-0.7c0,0,0.7,0,0.7,0.3C128.3,13.9,127.8,13.9,127.6,13.8z M128,12
+ c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S129.1,12,128,12z M128,15.5c-0.8,0-1.5-0.7-1.5-1.5s0.7-1.5,1.5-1.5s1.5,0.7,1.5,1.5
+ S128.8,15.5,128,15.5z"/>
+</svg>
diff --git a/browser/branding/alpha/content/about.png b/browser/branding/alpha/content/about.png
new file mode 100644
index 000000000000..3b93625ddd70
Binary files /dev/null and b/browser/branding/alpha/content/about.png differ
diff --git a/browser/branding/alpha/content/aboutDialog.css b/browser/branding/alpha/content/aboutDialog.css
new file mode 100644
index 000000000000..293b5f493f3f
--- /dev/null
+++ b/browser/branding/alpha/content/aboutDialog.css
@@ -0,0 +1,49 @@
+/* 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/. */
+
+#aboutDialogContainer {
+ background-color: #20123a;
+ color: #fff;
+}
+
+#clientBox {
+ padding: 10px 0 15px;
+}
+
+#leftBox {
+ background-image: url("chrome://branding/content/about-logo.png");
+ background-repeat: no-repeat;
+ background-size: 192px auto;
+ background-position: center 20%;
+ /* min-width and min-height create room for the logo */
+ min-width: 210px;
+ min-height: 210px;
+ margin-top: 20px;
+ margin-inline-start: 30px;
+}
+
+@media (min-resolution: 2dppx) {
+ #leftBox {
+ background-image: url("chrome://branding/content/about-logo@2x.png");
+ }
+}
+
+.text-link {
+ color: #fff !important;
+ text-decoration: underline;
+}
+
+.text-link:-moz-focusring {
+ border-color: #fff;
+}
+
+#rightBox {
+ margin-inline: 30px;
+ padding-top: 64px;
+}
+
+#bottomBox {
+ background-color: hsla(235, 43%, 10%, .5);
+ padding: 15px 10px 15px;
+}
diff --git a/browser/branding/alpha/content/aboutlogins.svg b/browser/branding/alpha/content/aboutlogins.svg
new file mode 100644
index 000000000000..f4b6a3fc41b7
--- /dev/null
+++ b/browser/branding/alpha/content/aboutlogins.svg
@@ -0,0 +1,59 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="80" width="460" viewBox="0 0 460 80">
+ <defs>
+ <linearGradient id="a" x1="57.63" y1="9.47" x2="21.37" y2="72.26" gradientUnits="userSpaceOnUse">
+ <stop offset="0" stop-color="#ff980e"/>
+ <stop offset=".11" stop-color="#ff851b"/>
+ <stop offset=".57" stop-color="#ff3750"/>
+ <stop offset=".8" stop-color="#f92261"/>
+ <stop offset="1" stop-color="#f5156c"/>
+ </linearGradient>
+ <linearGradient id="b" x1="57.31" y1="-.8" x2="27.68" y2="69.03" gradientUnits="userSpaceOnUse">
+ <stop offset="0" stop-color="#fff261" stop-opacity=".8"/>
+ <stop offset=".06" stop-color="#fff261" stop-opacity=".68"/>
+ <stop offset=".19" stop-color="#fff261" stop-opacity=".48"/>
+ <stop offset=".31" stop-color="#fff261" stop-opacity=".31"/>
+ <stop offset=".42" stop-color="#fff261" stop-opacity=".17"/>
+ <stop offset=".53" stop-color="#fff261" stop-opacity=".08"/>
+ <stop offset=".63" stop-color="#fff261" stop-opacity=".02"/>
+ <stop offset=".72" stop-color="#fff261" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient id="c" x1="71.71" y1="75.85" x2="71.71" y2="28.29" gradientUnits="userSpaceOnUse">
+ <stop offset="0" stop-color="#0090ed"/>
+ <stop offset=".5" stop-color="#9059ff"/>
+ <stop offset=".81" stop-color="#b833e1"/>
+ </linearGradient>
+ <linearGradient id="d" x1="17.89" y1="78.48" x2="48.5" y2="26.39" gradientUnits="userSpaceOnUse">
+ <stop offset=".02" stop-color="#0090ed"/>
+ <stop offset=".49" stop-color="#9059ff"/>
+ <stop offset="1" stop-color="#b833e1"/>
+ </linearGradient>
+ <linearGradient id="e" x1="21.87" y1="58.41" x2="4.02" y2="40.56" gradientUnits="userSpaceOnUse">
+ <stop offset=".14" stop-color="#592acb" stop-opacity="0"/>
+ <stop offset=".33" stop-color="#542bc8" stop-opacity=".03"/>
+ <stop offset=".53" stop-color="#462fbf" stop-opacity=".11"/>
+ <stop offset=".74" stop-color="#2f35b1" stop-opacity=".25"/>
+ <stop offset=".95" stop-color="#0f3d9c" stop-opacity=".44"/>
+ <stop offset="1" stop-color="#054096" stop-opacity=".5"/>
+ </linearGradient>
+ <linearGradient id="f" x1="75.86" y1="38.71" x2="66.87" y2="54.27" gradientUnits="userSpaceOnUse">
+ <stop offset="0" stop-color="#722291" stop-opacity=".5"/>
+ <stop offset=".5" stop-color="#b833e1" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient id="g" x1="56.84" y1="60.96" x2="46.4" y2="72.73" gradientUnits="userSpaceOnUse">
+ <stop offset="0" stop-color="#054096" stop-opacity=".5"/>
+ <stop offset=".03" stop-color="#0f3d9c" stop-opacity=".44"/>
+ <stop offset=".17" stop-color="#2f35b1" stop-opacity=".25"/>
+ <stop offset=".3" stop-color="#462fbf" stop-opacity=".11"/>
+ <stop offset=".43" stop-color="#542bc8" stop-opacity=".03"/>
+ <stop offset=".56" stop-color="#592acb" stop-opacity="0"/>
+ </linearGradient>
+ </defs>
+ <path d="M76.46 30.15A312.48 312.48 0 0 0 49.84 3.53a15.47 15.47 0 0 0-19.69 0A312.48 312.48 0 0 0 3.53 30.16a15.47 15.47 0 0 0 0 19.69 312.48 312.48 0 0 0 26.63 26.62A14.87 14.87 0 0 0 40 80a14.93 14.93 0 0 0 9.88-3.56c4.9-4.42 9.37-8.69 13.68-13.07a4.45 4.45 0 0 0-.34-6.11L50 44.93a15.18 15.18 0 0 0 5.08-12 15.4 15.4 0 0 0-14.4-14.64 15.2 15.2 0 0 0-11.36 4.16 15.28 15.28 0 0 0 .3 22.48l-4.78 4.33A3.86 3.86 0 0 0 30 55l5.29-4.8.14-.13a7.24 7.24 0 0 0 2.11-5.43A7.34 7.34 0 0 0 35 39.35a7.58 7.58 0 1 1 9.77 0 7.39 7.39 0 0 0-2.62 5.32 7.25 7.25 0 0 0 2.11 5.4l.09.09 11.1 10.4c-3.4 3.37-6.94 6.71-10.71 10.13a7.89 7.89 0 0 1-9.46 0 307.34 307.34 0 0 1-26-26 7.91 7.91 0 0 1 0-9.46 304.52 304.52 0 0 1 26-26 7.89 7.89 0 0 1 9.45 0 304.52 304.52 0 0 1 26 26 7.89 7.89 0 0 1 0 9.45c-1.33 1.5-2.66 3-4 4.37a3.85 3.85 0 1 0 5.67 5.22c1.32-1.43 2.68-2.93 4-4.47a15.47 15.47 0 0 0 .06-19.65z" fill="url(#a)"/>
+ <path d="M76.46 30.15A312.48 312.48 0 0 0 49.84 3.53a15.47 15.47 0 0 0-19.69 0A312.48 312.48 0 0 0 3.53 30.16a15.47 15.47 0 0 0 0 19.69 312.48 312.48 0 0 0 26.63 26.62A14.87 14.87 0 0 0 40 80a14.93 14.93 0 0 0 9.88-3.56c4.9-4.42 9.37-8.69 13.68-13.07a4.45 4.45 0 0 0-.34-6.11L50 44.93a15.18 15.18 0 0 0 5.08-12 15.4 15.4 0 0 0-14.4-14.64 15.2 15.2 0 0 0-11.36 4.16 15.28 15.28 0 0 0 .3 22.48l-4.78 4.33A3.86 3.86 0 0 0 30 55l5.29-4.8.14-.13a7.24 7.24 0 0 0 2.11-5.43A7.34 7.34 0 0 0 35 39.35a7.58 7.58 0 1 1 9.77 0 7.39 7.39 0 0 0-2.62 5.32 7.25 7.25 0 0 0 2.11 5.4l.09.09 11.1 10.4c-3.4 3.37-6.94 6.71-10.71 10.13a7.89 7.89 0 0 1-9.46 0 307.34 307.34 0 0 1-26-26 7.91 7.91 0 0 1 0-9.46 304.52 304.52 0 0 1 26-26 7.89 7.89 0 0 1 9.45 0 304.52 304.52 0 0 1 26 26 7.89 7.89 0 0 1 0 9.45c-1.33 1.5-2.66 3-4 4.37a3.85 3.85 0 1 0 5.67 5.22c1.32-1.43 2.68-2.93 4-4.47a15.47 15.47 0 0 0 .06-19.65z" fill="url(#b)"/>
+ <path d="M70.69 35.27a7.89 7.89 0 0 1 0 9.45c-1.33 1.5-2.66 3-4 4.37a3.85 3.85 0 1 0 5.67 5.22c1.32-1.43 2.68-2.93 4-4.47 4.82-5.33-5.67-14.57-5.67-14.57z" fill="url(#c)"/>
+ <path d="M55.45 60.56c-3.4 3.37-6.94 6.71-10.71 10.13a7.89 7.89 0 0 1-9.46 0 307.34 307.34 0 0 1-26-26 7.91 7.91 0 0 1 0-9.46l-1.75 2a12.89 12.89 0 0 0 .21 17.27 309.82 309.82 0 0 0 22.42 21.97A14.87 14.87 0 0 0 40 80a14.93 14.93 0 0 0 9.88-3.56c2.79-2.52 5.89-5.43 8.67-8.11a3.37 3.37 0 0 0 0-4.86z" fill="url(#d)"/>
+ <path d="M7.78 54.53c2.92 3.17 5.83 6.2 8.81 9.16l1.19-1.94c1-1.59 2-3.15 3.07-4.71-3.85-3.91-7.66-7.95-11.54-12.3a7.91 7.91 0 0 1 0-9.46l-1.75 2a12.89 12.89 0 0 0 .18 17.22z" fill="url(#e)" opacity=".9"/>
+ <path d="M70.69 35.27a7.89 7.89 0 0 1 0 9.45c-1.33 1.5-2.66 3-4 4.37a3.85 3.85 0 1 0 5.67 5.22c1.32-1.43 2.68-2.93 4-4.47 4.82-5.33-5.67-14.57-5.67-14.57z" fill="url(#f)"/>
+ <path d="M58.51 63.47l-3.06-2.91c-3.4 3.37-6.94 6.71-10.72 10.13a7.71 7.71 0 0 1-6.07 1.48v7.77c.44 0 .88.06 1.33.06a14.93 14.93 0 0 0 9.88-3.56c2.79-2.52 5.89-5.43 8.67-8.11a3.36 3.36 0 0 0-.03-4.86z" fill="url(#g)" opacity=".9"/>
+ <path d="M97 56.15h6.25v-13h14.44v-5.8h-14.48v-7.41h14.44v-5.89H97zm28.35-34.38a3.79 3.79 0 0 0-3.87 3.95 3.9 3.9 0 0 0 7.79 0 3.77 3.77 0 0 0-3.96-3.95zm-3.08 34.38h6.21V32.41h-6.21zm17-20.09v-3.65h-6v23.74h6V43.62c0-4 2-5.58 5.15-5.58a5.59 5.59 0 0 1 3.17.83l2.2-6a8.78 8.78 0 0 0-4-.92c-3 .05-5.38 1.29-6.52 4.11zm23.42-4.14a12.27 12.27 0 0 0-12.46 12.41c0 6.9 4.93 12.31 12.59 12.31a12.5 12.5 0 0 0 11-5.5l-5-2.9a6.5 6.5 0 0 1-5.9 3.17 6.61 6.61 0 0 1-6.83-5H175V44.1a11.84 11.84 0 0 0-12.31-12.18zm-6.43 9.72a6.61 6.61 0 0 1 6.43-4.57 6 6 0 0 1 6.25 4.57zm24.39-10.07v.84h-3.92v5.45h3.92v18.29h6V37.86h5.72v-5.45h-5.72v-1.15c0-3.6.49-4.22 4.71-4.22h1V21.5h-1.58c-7.71 0-10.13 2.38-10.13 10.07zm25.71.35A12.36 12.36 0 1 0 219 44.28a12.31 12.31 0 0 0-12.64-12.36zm0 19a6.64 6.64 0 1 1 6.52-6.64 6.53 6.53 0 0 1-6.48 6.6zM244 32.41h-7.13l-5 7-5-7h-7.22L228.06 44l-8.89 12.18h7.31l5.33-7.43 5.45 7.43h7.36L235.55 44zm18.89-8.36h-3.7v32.1h20.25v-3.56h-16.55zm31 7.87a12.36 12.36 0 1 0 12.37 12.3
6 12.2 12.2 0 0 0-12.38-12.36zm0 21.29a8.61 8.61 0 0 1-8.67-8.93 8.7 8.7 0 1 1 17.39 0 8.65 8.65 0 0 1-8.73 8.93zm28.35 0a8.88 8.88 0 0 1-8.89-9 8.77 8.77 0 0 1 8.76-9 8.4 8.4 0 0 1 8 5.28l3.3-1.45a12 12 0 0 0-11.23-7.22 12.36 12.36 0 1 0 .05 24.72 11.88 11.88 0 0 0 11.31-7.48l-3.34-1.41a8.5 8.5 0 0 1-7.97 5.6zm37.06-20.8h-4.53l-12.59 13.41V21.5h-3.57v34.65h3.57V50l5.06-5.36 8.27 11.56h4.36l-10-13.8zm30.16 18.69l-7.09-18.69H379l-7.26 18.82-6-18.82H362l7.79 23.74h3.52l7.31-18.82 7.31 18.82h3.25l8.24-23.74h-3.75zm16-28.85a2.86 2.86 0 1 0 2.86 2.86 2.79 2.79 0 0 0-2.88-2.86zm-1.81 33.9h3.66V32.41h-3.66zm19-13.72c-3.7-.74-6.56-1.23-6.56-3.69 0-2.2 1.5-3.78 5.15-3.78a7.65 7.65 0 0 1 6.51 3.16l3-2a11.52 11.52 0 0 0-9.51-4.22c-5.64 0-8.85 3.21-8.85 6.9 0 4.75 4.36 5.85 8.45 6.64 3.48.71 6.74 1.24 6.74 3.87 0 2.38-1.94 4.14-5.64 4.14a8.79 8.79 0 0 1-7.66-3.87l-3.12 2.11c2.11 3 5.5 5 10.7 5 6.2 0 9.37-3.65 9.37-7.39-.04-4.93-4.53-6.07-8.62-6.87zM459.76 44a11.72 11.72 0 0 0-12.1-12.1 12.2 12.
2 0 0 0-12.42 12.45c0 7 4.93 12.27 12.55 12.27a12.21 12.21 0 0 0 11-6l-3.08-1.8a8.5 8.5 0 0 1-8 4.57c-5 0-8.5-3.21-9-7.74h21zm-20.91-1.54a8.84 8.84 0 0 1 8.81-7.35 8 8 0 0 1 8.41 7.35z" fill="#20123a"/>
+</svg>
diff --git a/browser/branding/alpha/content/firefox-wordmark.svg b/browser/branding/alpha/content/firefox-wordmark.svg
new file mode 100644
index 000000000000..65270a3cd9a9
--- /dev/null
+++ b/browser/branding/alpha/content/firefox-wordmark.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="172" height="42"><path fill="context-fill #20123a" d="M.19 2.82h25.72v7H7.57v9.43h18.34v6.9H7.57v15.14H.19zM34.65.13a4.14 4.14 0 0 1 4.27 4.33 4.12 4.12 0 0 1-4.32 4.32 4.09 4.09 0 0 1-4.27-4.22A4.27 4.27 0 0 1 34.65.13zM31 12.83h7.27v28.46H31zm28.35 7.91a5.89 5.89 0 0 0-3.53-1.27c-3 0-4.64 1.9-4.64 6.06v15.76H44V12.83h6.9v4.11a6.79 6.79 0 0 1 6.8-4.37A8.69 8.69 0 0 1 62.53 14zm3 6.48c0-8.17 6.06-15 14.65-15s14.59 6.06 14.59 14.49v3H69.48c.79 3.58 3.58 6 7.85 6a7.62 7.62 0 0 0 7.06-4.21l6.06 3.63c-3 4.43-7.27 6.75-13.33 6.75-9.22-.01-14.75-6.18-14.75-14.66zM69.59 24h15c-.79-3.63-3.74-5.63-7.59-5.63A7.31 7.31 0 0 0 69.59 24zM93.4 12.83h5.11v-1.42c0-7.75 3.27-11 10.44-11h2.53v6.31h-2.06c-3.37 0-4.11 1.16-4.11 4.69v1.42h6.17v6.54h-6v21.92h-7V19.37H93.4zm19.45 14.23a14.56 14.56 0 0 1 14.85-14.81 14.81 14.81 0 1 1 0 29.62c-8.85 0-14.85-6.49-14.85-14.81zm22.65 0a7.8 7.8 0 1 0-15.59 0 7.8 7.8 0 1 0 15.59 0zm16.86-.32l-10.27-13.91h8.53l6.06 8.7
5 6.22-8.75h8.38l-10.43 13.86 11 14.6h-8.49L156.53 32l-6.59 9.28h-8.48z"/></svg>
\ No newline at end of file
diff --git a/browser/branding/alpha/content/identity-icons-brand.svg b/browser/branding/alpha/content/identity-icons-brand.svg
new file mode 100644
index 000000000000..382a061774aa
--- /dev/null
+++ b/browser/branding/alpha/content/identity-icons-brand.svg
@@ -0,0 +1,8 @@
+<svg fill="context-fill" fill-opacity="context-fill-opacity" viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
+ <g clip-rule="evenodd" fill-rule="evenodd">
+ <path d="m11 8c0 1.65686-1.34314 3-3 3-1.65685 0-3-1.34314-3-3 0-1.65685 1.34315-3 3-3 1.65686 0 3 1.34315 3 3zm-1.17187 0c0 1.00965-.81848 1.82813-1.82813 1.82813-1.00964 0-1.82812-.81848-1.82812-1.82813 0-1.00964.81848-1.82812 1.82812-1.82812 1.00965 0 1.82813.81848 1.82813 1.82812z"/>
+ <path d="m7.99999 13.25c2.89951 0 5.25001-2.3505 5.25001-5.25001 0-2.89949-2.3505-5.25-5.25001-5.25-2.89949 0-5.25 2.35051-5.25 5.25 0 2.89951 2.35051 5.25001 5.25 5.25001zm0-1.1719c2.25231 0 4.07811-1.8258 4.07811-4.07811 0-2.25228-1.8258-4.07812-4.07811-4.07812-2.25228 0-4.07812 1.82584-4.07812 4.07812 0 2.25231 1.82584 4.07811 4.07812 4.07811z"/>
+ <path d="m8 15.5c4.1421 0 7.5-3.3579 7.5-7.5 0-4.14214-3.3579-7.5-7.5-7.5-4.14214 0-7.5 3.35786-7.5 7.5 0 4.1421 3.35786 7.5 7.5 7.5zm0-1.1719c3.4949 0 6.3281-2.8332 6.3281-6.3281 0-3.49493-2.8332-6.32812-6.3281-6.32812-3.49493 0-6.32812 2.83319-6.32812 6.32812 0 3.4949 2.83319 6.3281 6.32812 6.3281z"/>
+ </g>
+ <path d="m.5 8c0 4.1421 3.35786 7.5 7.5 7.5v-15c-4.14214 0-7.5 3.35786-7.5 7.5z"/>
+</svg>
\ No newline at end of file
diff --git a/browser/branding/alpha/content/jar.mn b/browser/branding/alpha/content/jar.mn
new file mode 100644
index 000000000000..93ff6ecf736b
--- /dev/null
+++ b/browser/branding/alpha/content/jar.mn
@@ -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/.
+
+browser.jar:
+% content branding %content/branding/ contentaccessible=yes
+ content/branding/about.png
+ content/branding/about-logo.png
+ content/branding/about-logo.svg
+ content/branding/about-logo(a)2x.png
+ content/branding/about-wordmark.svg
+ content/branding/firefox-wordmark.svg
+ content/branding/aboutlogins.svg
+ content/branding/icon16.png (../default16.png)
+ content/branding/icon32.png (../default32.png)
+ content/branding/icon48.png (../default48.png)
+ content/branding/icon64.png (../default64.png)
+ content/branding/icon128.png (../default128.png)
+ content/branding/icon256.png (../default256.png)
+ content/branding/icon512.png (../default512.png)
+ content/branding/identity-icons-brand.svg
+ content/branding/aboutDialog.css
+* content/branding/tor-styles.css
diff --git a/browser/branding/alpha/content/moz.build b/browser/branding/alpha/content/moz.build
new file mode 100644
index 000000000000..d988c0ff9b16
--- /dev/null
+++ b/browser/branding/alpha/content/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+JAR_MANIFESTS += ["jar.mn"]
diff --git a/browser/branding/alpha/content/tor-styles.css b/browser/branding/alpha/content/tor-styles.css
new file mode 100644
index 000000000000..14c1915ef871
--- /dev/null
+++ b/browser/branding/alpha/content/tor-styles.css
@@ -0,0 +1,13 @@
+%include ../../tor-styles.inc.css
+
+/* default theme*/
+:root,
+/* light theme*/
+:root:-moz-lwtheme-darktext {
+ --tor-branding-color: var(--teal-70);
+}
+
+/* dark theme */
+:root:-moz-lwtheme-brighttext {
+ --tor-branding-color: var(--teal-60);
+}
\ No newline at end of file
diff --git a/browser/branding/alpha/default128.png b/browser/branding/alpha/default128.png
new file mode 100644
index 000000000000..fbc27b91d118
Binary files /dev/null and b/browser/branding/alpha/default128.png differ
diff --git a/browser/branding/alpha/default16.png b/browser/branding/alpha/default16.png
new file mode 100644
index 000000000000..3a4e1b679b27
Binary files /dev/null and b/browser/branding/alpha/default16.png differ
diff --git a/browser/branding/alpha/default22.png b/browser/branding/alpha/default22.png
new file mode 100644
index 000000000000..4feb2dbd400c
Binary files /dev/null and b/browser/branding/alpha/default22.png differ
diff --git a/browser/branding/alpha/default24.png b/browser/branding/alpha/default24.png
new file mode 100644
index 000000000000..4387f97e3d62
Binary files /dev/null and b/browser/branding/alpha/default24.png differ
diff --git a/browser/branding/alpha/default256.png b/browser/branding/alpha/default256.png
new file mode 100644
index 000000000000..844f1a0323ee
Binary files /dev/null and b/browser/branding/alpha/default256.png differ
diff --git a/browser/branding/alpha/default32.png b/browser/branding/alpha/default32.png
new file mode 100644
index 000000000000..679f5f9db43f
Binary files /dev/null and b/browser/branding/alpha/default32.png differ
diff --git a/browser/branding/alpha/default48.png b/browser/branding/alpha/default48.png
new file mode 100644
index 000000000000..85f0253d88ca
Binary files /dev/null and b/browser/branding/alpha/default48.png differ
diff --git a/browser/branding/alpha/default512.png b/browser/branding/alpha/default512.png
new file mode 100644
index 000000000000..b12f58b88bb4
Binary files /dev/null and b/browser/branding/alpha/default512.png differ
diff --git a/browser/branding/alpha/default64.png b/browser/branding/alpha/default64.png
new file mode 100644
index 000000000000..c48f1c5bf4ee
Binary files /dev/null and b/browser/branding/alpha/default64.png differ
diff --git a/browser/branding/alpha/disk.icns b/browser/branding/alpha/disk.icns
new file mode 100644
index 000000000000..866d93a43bc8
Binary files /dev/null and b/browser/branding/alpha/disk.icns differ
diff --git a/browser/branding/alpha/document.icns b/browser/branding/alpha/document.icns
new file mode 100644
index 000000000000..7fbfffe2228e
Binary files /dev/null and b/browser/branding/alpha/document.icns differ
diff --git a/browser/branding/alpha/document.ico b/browser/branding/alpha/document.ico
new file mode 100644
index 000000000000..45aa08bb1658
Binary files /dev/null and b/browser/branding/alpha/document.ico differ
diff --git a/browser/branding/alpha/dsstore b/browser/branding/alpha/dsstore
new file mode 100644
index 000000000000..6b82c923a662
Binary files /dev/null and b/browser/branding/alpha/dsstore differ
diff --git a/browser/branding/alpha/firefox.VisualElementsManifest.xml b/browser/branding/alpha/firefox.VisualElementsManifest.xml
new file mode 100644
index 000000000000..a71938708aff
--- /dev/null
+++ b/browser/branding/alpha/firefox.VisualElementsManifest.xml
@@ -0,0 +1,12 @@
+<!-- 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/. -->
+
+<Application xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
+ <VisualElements
+ ShowNameOnSquare150x150Logo='on'
+ Square150x150Logo='browser\VisualElements\VisualElements_150.png'
+ Square70x70Logo='browser\VisualElements\VisualElements_70.png'
+ ForegroundText='light'
+ BackgroundColor='#1c191d'/>
+</Application>
diff --git a/browser/branding/alpha/firefox.icns b/browser/branding/alpha/firefox.icns
new file mode 100644
index 000000000000..baad294f8497
Binary files /dev/null and b/browser/branding/alpha/firefox.icns differ
diff --git a/browser/branding/alpha/firefox.ico b/browser/branding/alpha/firefox.ico
new file mode 100644
index 000000000000..e25514996d37
Binary files /dev/null and b/browser/branding/alpha/firefox.ico differ
diff --git a/browser/branding/alpha/firefox.svg b/browser/branding/alpha/firefox.svg
new file mode 100644
index 000000000000..250c7adea0d6
--- /dev/null
+++ b/browser/branding/alpha/firefox.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="50%" y1="3.27248873%" x2="50%" y2="97.1599968%" id="linearGradient-1">
+ <stop stop-color="#00FEFF" offset="0%"></stop>
+ <stop stop-color="#0BE67D" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,25 C152.50841,25 255.874399,127.979815 255.874399,255.011855 C255.874399,382.043895 152.50841,485.02371 25,485.02371 L25,25 Z" id="path-2"></path>
+ <filter x="-20.8%" y="-8.7%" width="134.7%" height="117.4%" filterUnits="objectBoundingBox" id="filter-3">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="12" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.0872579578 0 0 0 0 0.00490370801 0 0 0 0 0.234933036 0 0 0 0.5 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Alpha" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g>
+ <circle id="background" fill-opacity="0.9" fill="#030004" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384044,2.842170
94e-14 256,2.84217094e-14 C114.60886,2.84217094e-14 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.437200, 255.011855) scale(-1, 1) translate(-140.437200, -255.011855) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+ <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/browser/branding/alpha/firefox64.ico b/browser/branding/alpha/firefox64.ico
new file mode 100644
index 000000000000..e25514996d37
Binary files /dev/null and b/browser/branding/alpha/firefox64.ico differ
diff --git a/browser/branding/alpha/locales/en-US/brand.dtd b/browser/branding/alpha/locales/en-US/brand.dtd
new file mode 100644
index 000000000000..0b15c9978e01
--- /dev/null
+++ b/browser/branding/alpha/locales/en-US/brand.dtd
@@ -0,0 +1,11 @@
+<!-- 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/. -->
+
+<!ENTITY brandShorterName "Tor Browser">
+<!ENTITY brandShortName "Tor Browser">
+<!ENTITY brandFullName "Tor Browser">
+<!-- LOCALIZATION NOTE (brandProductName):
+ This brand name can be used in messages where the product name needs to
+ remain unchanged across different versions (Nightly, Beta, etc.). -->
+<!ENTITY brandProductName "Tor Browser">
diff --git a/browser/branding/alpha/locales/en-US/brand.ftl b/browser/branding/alpha/locales/en-US/brand.ftl
new file mode 100644
index 000000000000..e970d32cb43e
--- /dev/null
+++ b/browser/branding/alpha/locales/en-US/brand.ftl
@@ -0,0 +1,26 @@
+# 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/.
+
+## Firefox and Mozilla Brand
+##
+## Firefox and Mozilla must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyrigh…
+
+-brand-shorter-name = Nightly
+-brand-short-name = Nightly
+-brand-full-name = Firefox Nightly
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Nightly, Beta, etc.).
+-brand-product-name = Firefox
+-vendor-short-name = Mozilla
+trademarkInfo = Firefox and the Firefox logos are trademarks of the Mozilla Foundation.
diff --git a/browser/branding/alpha/locales/en-US/brand.properties b/browser/branding/alpha/locales/en-US/brand.properties
new file mode 100644
index 000000000000..e96b063b9034
--- /dev/null
+++ b/browser/branding/alpha/locales/en-US/brand.properties
@@ -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/.
+
+brandShorterName=Tor Browser
+brandShortName=Tor Browser
+brandFullName=Tor Browser
+# LOCALIZATION NOTE(brandProductName):
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Nightly, Beta, etc.).
+brandProductName=Tor Browser
+vendorShortName=Tor Project
+
+syncBrandShortName=Sync
diff --git a/browser/branding/alpha/locales/jar.mn b/browser/branding/alpha/locales/jar.mn
new file mode 100644
index 000000000000..d13c2110148f
--- /dev/null
+++ b/browser/branding/alpha/locales/jar.mn
@@ -0,0 +1,12 @@
+#filter substitution
+# 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/.
+
+[localization] @AB_CD@.jar:
+ branding (%*.ftl)
+
+@AB_CD@.jar:
+% locale branding @AB_CD@ %locale/branding/
+ locale/branding/brand.dtd (%brand.dtd)
+ locale/branding/brand.properties (%brand.properties)
diff --git a/browser/branding/alpha/locales/moz.build b/browser/branding/alpha/locales/moz.build
new file mode 100644
index 000000000000..d988c0ff9b16
--- /dev/null
+++ b/browser/branding/alpha/locales/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+JAR_MANIFESTS += ["jar.mn"]
diff --git a/browser/branding/alpha/moz.build b/browser/branding/alpha/moz.build
new file mode 100644
index 000000000000..dd081ac44496
--- /dev/null
+++ b/browser/branding/alpha/moz.build
@@ -0,0 +1,13 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+DIRS += ["content", "locales"]
+
+DIST_SUBDIR = "browser"
+export("DIST_SUBDIR")
+
+include("../branding-common.mozbuild")
+FirefoxBranding()
diff --git a/browser/branding/alpha/newtab.ico b/browser/branding/alpha/newtab.ico
new file mode 100644
index 000000000000..a9b37c08c6e1
Binary files /dev/null and b/browser/branding/alpha/newtab.ico differ
diff --git a/browser/branding/alpha/newwindow.ico b/browser/branding/alpha/newwindow.ico
new file mode 100644
index 000000000000..55372077102c
Binary files /dev/null and b/browser/branding/alpha/newwindow.ico differ
diff --git a/browser/branding/alpha/pbmode.ico b/browser/branding/alpha/pbmode.ico
new file mode 100644
index 000000000000..47677c13fba6
Binary files /dev/null and b/browser/branding/alpha/pbmode.ico differ
diff --git a/browser/branding/alpha/pref/firefox-branding.js b/browser/branding/alpha/pref/firefox-branding.js
new file mode 100644
index 000000000000..792134ab45d7
--- /dev/null
+++ b/browser/branding/alpha/pref/firefox-branding.js
@@ -0,0 +1,34 @@
+/* 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 contains branding-specific prefs.
+
+pref("startup.homepage_override_url", "https://www.mozilla.org/projects/firefox/%VERSION%/whatsnew/?oldversion=%OL…");
+pref("startup.homepage_welcome_url", "https://www.mozilla.org/projects/firefox/%VERSION%/firstrun/");
+pref("startup.homepage_welcome_url.additional", "");
+// The time interval between checks for a new version (in seconds)
+pref("app.update.interval", 7200); // 2 hours
+// Give the user x seconds to react before showing the big UI. default=12 hours
+pref("app.update.promptWaitTime", 43200);
+// URL user can browse to manually if for some reason all update installation
+// attempts fail.
+pref("app.update.url.manual", "https://www.mozilla.org/%LOCALE%/firefox/nightly/");
+// A default value for the "More information about this update" link
+// supplied in the "An update is available" page of the update wizard.
+pref("app.update.url.details", "https://www.mozilla.org/%LOCALE%/firefox/nightly/notes/");
+
+pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…");
+
+// The number of days a binary is permitted to be old
+// without checking for an update. This assumes that
+// app.update.checkInstallTime is true.
+pref("app.update.checkInstallTime.days", 2);
+
+// Give the user x seconds to reboot before showing a badge on the hamburger
+// button. default=immediately
+pref("app.update.badgeWaitTime", 0);
+
+// Number of usages of the web console.
+// If this is less than 5, then pasting code into the web console is disabled
+pref("devtools.selfxss.count", 5);
diff --git a/browser/branding/alpha/stubinstaller/bgstub.jpg b/browser/branding/alpha/stubinstaller/bgstub.jpg
new file mode 100644
index 000000000000..891036a4fe35
Binary files /dev/null and b/browser/branding/alpha/stubinstaller/bgstub.jpg differ
diff --git a/browser/branding/alpha/stubinstaller/installing_page.css b/browser/branding/alpha/stubinstaller/installing_page.css
new file mode 100644
index 000000000000..8044838c79f5
--- /dev/null
+++ b/browser/branding/alpha/stubinstaller/installing_page.css
@@ -0,0 +1,61 @@
+/* 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/. */
+
+body {
+ color: white;
+}
+
+#label,
+#progress_background,
+#blurb {
+ text-align: center;
+ margin: 20px 30px;
+}
+
+#label {
+ font-size: 40px;
+ margin-top: 100px;
+ margin-bottom: 20px;
+}
+
+#progress_background {
+ margin: 0 auto;
+ width: 60%;
+ height: 24px;
+ background-color: white;
+}
+
+body.high-contrast #progress_background {
+ outline: solid;
+}
+
+#progress_bar {
+ margin: 0;
+ width: 0%;
+ height: 100%;
+ background-color: #00AAFF;
+}
+
+/* In high contrast mode, fill the entire progress bar with its border. */
+body.high-contrast #progress_bar {
+ /* This border should be the height of progress_background. */
+ border-top: 24px solid;
+ box-sizing: border-box;
+}
+
+/* This layout doesn't want the header or content text. */
+#header, #content {
+ display: none;
+}
+
+#blurb {
+ font-size: 20px;
+}
+
+/* The footer goes in the bottom right corner. */
+#footer {
+ position: fixed;
+ right: 50px;
+ bottom: 59px;
+}
diff --git a/browser/branding/alpha/stubinstaller/profile_cleanup_page.css b/browser/branding/alpha/stubinstaller/profile_cleanup_page.css
new file mode 100644
index 000000000000..2d9c3ad1891e
--- /dev/null
+++ b/browser/branding/alpha/stubinstaller/profile_cleanup_page.css
@@ -0,0 +1,42 @@
+/* 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/. */
+
+body {
+ color: white;
+}
+
+#header,
+#refreshCheckboxContainer,
+#refreshButtonContainer {
+ text-align: center;
+ margin-left: 40px;
+ margin-right: 40px;
+ margin-bottom: 30px;
+}
+
+#header {
+ font-size: 35px;
+ font-weight: normal;
+ margin-top: 45px;
+}
+
+#refreshCheckbox {
+ vertical-align: middle;
+}
+
+#checkboxLabel {
+ font-size: 13px;
+}
+
+#refreshButton {
+ padding: 8px 40px;
+ font-size: 15px;
+}
+
+/* The footer goes in the bottom right corner. */
+#footer {
+ position: fixed;
+ right: 50px;
+ bottom: 59px;
+}
diff --git a/browser/branding/alpha/wizHeader.bmp b/browser/branding/alpha/wizHeader.bmp
new file mode 100644
index 000000000000..a754d2db1e11
Binary files /dev/null and b/browser/branding/alpha/wizHeader.bmp differ
diff --git a/browser/branding/alpha/wizHeaderRTL.bmp b/browser/branding/alpha/wizHeaderRTL.bmp
new file mode 100644
index 000000000000..c944205be23f
Binary files /dev/null and b/browser/branding/alpha/wizHeaderRTL.bmp differ
diff --git a/browser/branding/alpha/wizWatermark.bmp b/browser/branding/alpha/wizWatermark.bmp
new file mode 100644
index 000000000000..9e523b5fa196
Binary files /dev/null and b/browser/branding/alpha/wizWatermark.bmp differ
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
index 908553b8b95c..95cebf735920 100644
--- a/browser/branding/branding-common.mozbuild
+++ b/browser/branding/branding-common.mozbuild
@@ -27,7 +27,9 @@ def FirefoxBranding():
FINAL_TARGET_FILES.chrome.icons.default += [
'default128.png',
'default16.png',
+ 'default256.png',
'default32.png',
'default48.png',
+ 'default512.png',
'default64.png',
]
diff --git a/browser/branding/nightly/VisualElements_150.png b/browser/branding/nightly/VisualElements_150.png
index fa2191146174..a29d863d1766 100644
Binary files a/browser/branding/nightly/VisualElements_150.png and b/browser/branding/nightly/VisualElements_150.png differ
diff --git a/browser/branding/nightly/VisualElements_70.png b/browser/branding/nightly/VisualElements_70.png
index cefb95b1c3d2..ccd90b8cf748 100644
Binary files a/browser/branding/nightly/VisualElements_70.png and b/browser/branding/nightly/VisualElements_70.png differ
diff --git a/browser/branding/nightly/configure.sh b/browser/branding/nightly/configure.sh
index f51ece572b27..243091484f75 100644
--- a/browser/branding/nightly/configure.sh
+++ b/browser/branding/nightly/configure.sh
@@ -2,10 +2,4 @@
# 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/.
-MOZ_APP_DISPLAYNAME="Firefox Nightly"
-MOZ_MACBUNDLE_ID=nightly
-
-MOZ_HANDLER_CLSID="4629216b-8753-41bf-9527-5bff51401671"
-MOZ_IHANDLERCONTROL_IID="c57343fc-e011-40c2-b748-da82eabf0f1f"
-MOZ_ASYNCIHANDLERCONTROL_IID="648c92a1-ea35-46da-a806-6b55c6247373"
-MOZ_IGECKOBACKCHANNEL_IID="e61e038d-40dd-464a-9aba-66b206b6911b"
+MOZ_APP_DISPLAYNAME="Tor Browser"
diff --git a/browser/branding/nightly/content/identity-icons-brand.svg b/browser/branding/nightly/content/identity-icons-brand.svg
new file mode 100644
index 000000000000..382a061774aa
--- /dev/null
+++ b/browser/branding/nightly/content/identity-icons-brand.svg
@@ -0,0 +1,8 @@
+<svg fill="context-fill" fill-opacity="context-fill-opacity" viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
+ <g clip-rule="evenodd" fill-rule="evenodd">
+ <path d="m11 8c0 1.65686-1.34314 3-3 3-1.65685 0-3-1.34314-3-3 0-1.65685 1.34315-3 3-3 1.65686 0 3 1.34315 3 3zm-1.17187 0c0 1.00965-.81848 1.82813-1.82813 1.82813-1.00964 0-1.82812-.81848-1.82812-1.82813 0-1.00964.81848-1.82812 1.82812-1.82812 1.00965 0 1.82813.81848 1.82813 1.82812z"/>
+ <path d="m7.99999 13.25c2.89951 0 5.25001-2.3505 5.25001-5.25001 0-2.89949-2.3505-5.25-5.25001-5.25-2.89949 0-5.25 2.35051-5.25 5.25 0 2.89951 2.35051 5.25001 5.25 5.25001zm0-1.1719c2.25231 0 4.07811-1.8258 4.07811-4.07811 0-2.25228-1.8258-4.07812-4.07811-4.07812-2.25228 0-4.07812 1.82584-4.07812 4.07812 0 2.25231 1.82584 4.07811 4.07812 4.07811z"/>
+ <path d="m8 15.5c4.1421 0 7.5-3.3579 7.5-7.5 0-4.14214-3.3579-7.5-7.5-7.5-4.14214 0-7.5 3.35786-7.5 7.5 0 4.1421 3.35786 7.5 7.5 7.5zm0-1.1719c3.4949 0 6.3281-2.8332 6.3281-6.3281 0-3.49493-2.8332-6.32812-6.3281-6.32812-3.49493 0-6.32812 2.83319-6.32812 6.32812 0 3.4949 2.83319 6.3281 6.32812 6.3281z"/>
+ </g>
+ <path d="m.5 8c0 4.1421 3.35786 7.5 7.5 7.5v-15c-4.14214 0-7.5 3.35786-7.5 7.5z"/>
+</svg>
\ No newline at end of file
diff --git a/browser/branding/nightly/content/jar.mn b/browser/branding/nightly/content/jar.mn
index 6280b5488255..93ff6ecf736b 100644
--- a/browser/branding/nightly/content/jar.mn
+++ b/browser/branding/nightly/content/jar.mn
@@ -16,4 +16,8 @@ browser.jar:
content/branding/icon48.png (../default48.png)
content/branding/icon64.png (../default64.png)
content/branding/icon128.png (../default128.png)
+ content/branding/icon256.png (../default256.png)
+ content/branding/icon512.png (../default512.png)
+ content/branding/identity-icons-brand.svg
content/branding/aboutDialog.css
+* content/branding/tor-styles.css
diff --git a/browser/branding/nightly/content/tor-styles.css b/browser/branding/nightly/content/tor-styles.css
new file mode 100644
index 000000000000..52e1761e5459
--- /dev/null
+++ b/browser/branding/nightly/content/tor-styles.css
@@ -0,0 +1,13 @@
+%include ../../tor-styles.inc.css
+
+/* default theme*/
+:root,
+/* light theme*/
+:root:-moz-lwtheme-darktext {
+ --tor-branding-color: var(--blue-60);
+}
+
+/* dark theme */
+:root:-moz-lwtheme-brighttext {
+ --tor-branding-color: var(--blue-40);
+}
\ No newline at end of file
diff --git a/browser/branding/nightly/default128.png b/browser/branding/nightly/default128.png
index 8fe085c56ffc..12998ed018a7 100644
Binary files a/browser/branding/nightly/default128.png and b/browser/branding/nightly/default128.png differ
diff --git a/browser/branding/nightly/default16.png b/browser/branding/nightly/default16.png
index e01114ba2bb5..737ade977a6b 100644
Binary files a/browser/branding/nightly/default16.png and b/browser/branding/nightly/default16.png differ
diff --git a/browser/branding/nightly/default22.png b/browser/branding/nightly/default22.png
index 0527dfd563cb..02c87a9e2db6 100644
Binary files a/browser/branding/nightly/default22.png and b/browser/branding/nightly/default22.png differ
diff --git a/browser/branding/nightly/default24.png b/browser/branding/nightly/default24.png
index 019d020fde05..34cfedb2d908 100644
Binary files a/browser/branding/nightly/default24.png and b/browser/branding/nightly/default24.png differ
diff --git a/browser/branding/nightly/default256.png b/browser/branding/nightly/default256.png
index d0d8bd01cc1a..f619aecbc6e3 100644
Binary files a/browser/branding/nightly/default256.png and b/browser/branding/nightly/default256.png differ
diff --git a/browser/branding/nightly/default32.png b/browser/branding/nightly/default32.png
index c0986eae9367..499bc8ff7fc9 100644
Binary files a/browser/branding/nightly/default32.png and b/browser/branding/nightly/default32.png differ
diff --git a/browser/branding/nightly/default48.png b/browser/branding/nightly/default48.png
index 1980ffb35c80..fc99e3829d5f 100644
Binary files a/browser/branding/nightly/default48.png and b/browser/branding/nightly/default48.png differ
diff --git a/browser/branding/nightly/default512.png b/browser/branding/nightly/default512.png
new file mode 100644
index 000000000000..4ff5f7fa3495
Binary files /dev/null and b/browser/branding/nightly/default512.png differ
diff --git a/browser/branding/nightly/default64.png b/browser/branding/nightly/default64.png
index 551c98d44431..5a84a5384942 100644
Binary files a/browser/branding/nightly/default64.png and b/browser/branding/nightly/default64.png differ
diff --git a/browser/branding/nightly/document.icns b/browser/branding/nightly/document.icns
index 8cb0f7f9dc32..4acf7a5d1a4b 100644
Binary files a/browser/branding/nightly/document.icns and b/browser/branding/nightly/document.icns differ
diff --git a/browser/branding/nightly/document.ico b/browser/branding/nightly/document.ico
index e5d0d840a7b4..ecb8e3dc6c73 100644
Binary files a/browser/branding/nightly/document.ico and b/browser/branding/nightly/document.ico differ
diff --git a/browser/branding/nightly/firefox.VisualElementsManifest.xml b/browser/branding/nightly/firefox.VisualElementsManifest.xml
index 85e09dd7a910..a71938708aff 100644
--- a/browser/branding/nightly/firefox.VisualElementsManifest.xml
+++ b/browser/branding/nightly/firefox.VisualElementsManifest.xml
@@ -8,5 +8,5 @@
Square150x150Logo='browser\VisualElements\VisualElements_150.png'
Square70x70Logo='browser\VisualElements\VisualElements_70.png'
ForegroundText='light'
- BackgroundColor='#20123a'/>
+ BackgroundColor='#1c191d'/>
</Application>
diff --git a/browser/branding/nightly/firefox.icns b/browser/branding/nightly/firefox.icns
index 643ddd4f5812..4b0adc0f5af7 100644
Binary files a/browser/branding/nightly/firefox.icns and b/browser/branding/nightly/firefox.icns differ
diff --git a/browser/branding/nightly/firefox.ico b/browser/branding/nightly/firefox.ico
index 240b64298f76..eb28c93ab25f 100644
Binary files a/browser/branding/nightly/firefox.ico and b/browser/branding/nightly/firefox.ico differ
diff --git a/browser/branding/nightly/firefox.svg b/browser/branding/nightly/firefox.svg
new file mode 100644
index 000000000000..c11b568b8553
--- /dev/null
+++ b/browser/branding/nightly/firefox.svg
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="25.1281738%" y1="5.44281006%" x2="54.3792725%" y2="100%" id="linearGradient-1">
+ <stop stop-color="#00E1E8" offset="0%"></stop>
+ <stop stop-color="#3500FF" offset="100%"></stop>
+ </linearGradient>
+ <linearGradient x1="25.1281738%" y1="5.44281006%" x2="54.3792725%" y2="100%" id="linearGradient-2">
+ <stop stop-color="#00E1E8" offset="0%"></stop>
+ <stop stop-color="#3500FF" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,25 C152.50841,25 255.874399,127.979815 255.874399,255.011855 C255.874399,382.043895 152.50841,485.02371 25,485.02371 L25,25 Z" id="path-3"></path>
+ <filter x="-20.8%" y="-8.7%" width="134.7%" height="117.4%" filterUnits="objectBoundingBox" id="filter-4">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="12" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.0872579578 0 0 0 0 0.00490370801 0 0 0 0 0.234933036 0 0 0 0.5 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Nightly" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g>
+ <circle id="background" fill-opacity="0.9" fill="#030004" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384044,2.842170
94e-14 256,2.84217094e-14 C114.60886,2.84217094e-14 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.437200, 255.011855) scale(-1, 1) translate(-140.437200, -255.011855) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
+ <use fill="url(#linearGradient-2)" fill-rule="evenodd" xlink:href="#path-3"></use>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/browser/branding/nightly/firefox64.ico b/browser/branding/nightly/firefox64.ico
index 1f50606af6a1..eb28c93ab25f 100644
Binary files a/browser/branding/nightly/firefox64.ico and b/browser/branding/nightly/firefox64.ico differ
diff --git a/browser/branding/nightly/locales/en-US/brand.dtd b/browser/branding/nightly/locales/en-US/brand.dtd
index c56df31338b9..0b15c9978e01 100644
--- a/browser/branding/nightly/locales/en-US/brand.dtd
+++ b/browser/branding/nightly/locales/en-US/brand.dtd
@@ -2,10 +2,10 @@
- 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/. -->
-<!ENTITY brandShorterName "Nightly">
-<!ENTITY brandShortName "Nightly">
-<!ENTITY brandFullName "Firefox Nightly">
+<!ENTITY brandShorterName "Tor Browser">
+<!ENTITY brandShortName "Tor Browser">
+<!ENTITY brandFullName "Tor Browser">
<!-- LOCALIZATION NOTE (brandProductName):
This brand name can be used in messages where the product name needs to
remain unchanged across different versions (Nightly, Beta, etc.). -->
-<!ENTITY brandProductName "Firefox">
+<!ENTITY brandProductName "Tor Browser">
diff --git a/browser/branding/nightly/locales/en-US/brand.ftl b/browser/branding/nightly/locales/en-US/brand.ftl
index f633bc269f58..e970d32cb43e 100644
--- a/browser/branding/nightly/locales/en-US/brand.ftl
+++ b/browser/branding/nightly/locales/en-US/brand.ftl
@@ -23,4 +23,4 @@
# remain unchanged across different versions (Nightly, Beta, etc.).
-brand-product-name = Firefox
-vendor-short-name = Mozilla
-trademarkInfo = { " " }
+trademarkInfo = Firefox and the Firefox logos are trademarks of the Mozilla Foundation.
diff --git a/browser/branding/nightly/locales/en-US/brand.properties b/browser/branding/nightly/locales/en-US/brand.properties
index de22973e0dfd..3255b73d196a 100644
--- a/browser/branding/nightly/locales/en-US/brand.properties
+++ b/browser/branding/nightly/locales/en-US/brand.properties
@@ -2,11 +2,11 @@
# 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/.
-brandShorterName=Nightly
-brandShortName=Nightly
-brandFullName=Firefox Nightly
+brandShorterName=Tor Browser
+brandShortName=Tor Browser
+brandFullName=Tor Browser
# LOCALIZATION NOTE(brandProductName):
# This brand name can be used in messages where the product name needs to
# remain unchanged across different versions (Nightly, Beta, etc.).
-brandProductName=Firefox
-vendorShortName=Mozilla
+brandProductName=Tor Browser
+vendorShortName=Tor Project
diff --git a/browser/branding/nightly/locales/jar.mn b/browser/branding/nightly/locales/jar.mn
index c04a7a1cf0f0..d13c2110148f 100644
--- a/browser/branding/nightly/locales/jar.mn
+++ b/browser/branding/nightly/locales/jar.mn
@@ -4,10 +4,9 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
[localization] @AB_CD@.jar:
- branding (en-US/**/*.ftl)
+ branding (%*.ftl)
@AB_CD@.jar:
% locale branding @AB_CD@ %locale/branding/
-# Nightly branding only exists in en-US
- locale/branding/brand.dtd (en-US/brand.dtd)
- locale/branding/brand.properties (en-US/brand.properties)
+ locale/branding/brand.dtd (%brand.dtd)
+ locale/branding/brand.properties (%brand.properties)
diff --git a/browser/branding/nightly/locales/moz.build b/browser/branding/nightly/locales/moz.build
index fff7035065b0..d988c0ff9b16 100644
--- a/browser/branding/nightly/locales/moz.build
+++ b/browser/branding/nightly/locales/moz.build
@@ -4,6 +4,4 @@
# 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/.
-DEFINES["MOZ_DISTRIBUTION_ID_UNQUOTED"] = CONFIG["MOZ_DISTRIBUTION_ID"]
-
JAR_MANIFESTS += ["jar.mn"]
diff --git a/browser/branding/nightly/wizHeader.bmp b/browser/branding/nightly/wizHeader.bmp
index 89eaf901254c..a754d2db1e11 100644
Binary files a/browser/branding/nightly/wizHeader.bmp and b/browser/branding/nightly/wizHeader.bmp differ
diff --git a/browser/branding/nightly/wizHeaderRTL.bmp b/browser/branding/nightly/wizHeaderRTL.bmp
index 451d87c70ef0..c944205be23f 100644
Binary files a/browser/branding/nightly/wizHeaderRTL.bmp and b/browser/branding/nightly/wizHeaderRTL.bmp differ
diff --git a/browser/branding/nightly/wizWatermark.bmp b/browser/branding/nightly/wizWatermark.bmp
index f9d6a870e952..9e523b5fa196 100644
Binary files a/browser/branding/nightly/wizWatermark.bmp and b/browser/branding/nightly/wizWatermark.bmp differ
diff --git a/browser/branding/official/VisualElements_150.png b/browser/branding/official/VisualElements_150.png
index f764a48966ca..acc02c97d827 100644
Binary files a/browser/branding/official/VisualElements_150.png and b/browser/branding/official/VisualElements_150.png differ
diff --git a/browser/branding/official/VisualElements_70.png b/browser/branding/official/VisualElements_70.png
index 197a645b4236..890a227e251a 100644
Binary files a/browser/branding/official/VisualElements_70.png and b/browser/branding/official/VisualElements_70.png differ
diff --git a/browser/branding/official/configure.sh b/browser/branding/official/configure.sh
index 1fbe981c9c5a..243091484f75 100644
--- a/browser/branding/official/configure.sh
+++ b/browser/branding/official/configure.sh
@@ -2,18 +2,4 @@
# 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/.
-MOZ_APP_DISPLAYNAME=Firefox
-
-if test "$MOZ_UPDATE_CHANNEL" = "beta"; then
- # Official beta builds
- MOZ_HANDLER_CLSID="21e9f98d-a6c9-4cb5-b288-ae2fd2a96c58"
- MOZ_IHANDLERCONTROL_IID="119149fa-d212-4f22-9517-082eecc1a084"
- MOZ_ASYNCIHANDLERCONTROL_IID="4e253d9b-59cf-4b32-a973-38bc85495d61"
- MOZ_IGECKOBACKCHANNEL_IID="77b75c7d-d1c2-4469-864d-31aaebb67cc6"
-else
- # Official release/esr builds
- MOZ_HANDLER_CLSID="1baa303d-b4b9-45e5-9ccb-e3fca3e274b6"
- MOZ_IHANDLERCONTROL_IID="ce30f77e-8847-44f0-a648-a9656bd89c0d"
- MOZ_ASYNCIHANDLERCONTROL_IID="dca8d857-1a63-4045-8f36-8809eb093d04"
- MOZ_IGECKOBACKCHANNEL_IID="b32983ff-ef84-4945-8f86-fb7491b4f57b"
-fi
+MOZ_APP_DISPLAYNAME="Tor Browser"
diff --git a/browser/branding/official/content/identity-icons-brand.svg b/browser/branding/official/content/identity-icons-brand.svg
new file mode 100644
index 000000000000..382a061774aa
--- /dev/null
+++ b/browser/branding/official/content/identity-icons-brand.svg
@@ -0,0 +1,8 @@
+<svg fill="context-fill" fill-opacity="context-fill-opacity" viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
+ <g clip-rule="evenodd" fill-rule="evenodd">
+ <path d="m11 8c0 1.65686-1.34314 3-3 3-1.65685 0-3-1.34314-3-3 0-1.65685 1.34315-3 3-3 1.65686 0 3 1.34315 3 3zm-1.17187 0c0 1.00965-.81848 1.82813-1.82813 1.82813-1.00964 0-1.82812-.81848-1.82812-1.82813 0-1.00964.81848-1.82812 1.82812-1.82812 1.00965 0 1.82813.81848 1.82813 1.82812z"/>
+ <path d="m7.99999 13.25c2.89951 0 5.25001-2.3505 5.25001-5.25001 0-2.89949-2.3505-5.25-5.25001-5.25-2.89949 0-5.25 2.35051-5.25 5.25 0 2.89951 2.35051 5.25001 5.25 5.25001zm0-1.1719c2.25231 0 4.07811-1.8258 4.07811-4.07811 0-2.25228-1.8258-4.07812-4.07811-4.07812-2.25228 0-4.07812 1.82584-4.07812 4.07812 0 2.25231 1.82584 4.07811 4.07812 4.07811z"/>
+ <path d="m8 15.5c4.1421 0 7.5-3.3579 7.5-7.5 0-4.14214-3.3579-7.5-7.5-7.5-4.14214 0-7.5 3.35786-7.5 7.5 0 4.1421 3.35786 7.5 7.5 7.5zm0-1.1719c3.4949 0 6.3281-2.8332 6.3281-6.3281 0-3.49493-2.8332-6.32812-6.3281-6.32812-3.49493 0-6.32812 2.83319-6.32812 6.32812 0 3.4949 2.83319 6.3281 6.32812 6.3281z"/>
+ </g>
+ <path d="m.5 8c0 4.1421 3.35786 7.5 7.5 7.5v-15c-4.14214 0-7.5 3.35786-7.5 7.5z"/>
+</svg>
\ No newline at end of file
diff --git a/browser/branding/official/content/jar.mn b/browser/branding/official/content/jar.mn
index 6280b5488255..93ff6ecf736b 100644
--- a/browser/branding/official/content/jar.mn
+++ b/browser/branding/official/content/jar.mn
@@ -16,4 +16,8 @@ browser.jar:
content/branding/icon48.png (../default48.png)
content/branding/icon64.png (../default64.png)
content/branding/icon128.png (../default128.png)
+ content/branding/icon256.png (../default256.png)
+ content/branding/icon512.png (../default512.png)
+ content/branding/identity-icons-brand.svg
content/branding/aboutDialog.css
+* content/branding/tor-styles.css
diff --git a/browser/branding/official/content/tor-styles.css b/browser/branding/official/content/tor-styles.css
new file mode 100644
index 000000000000..e4ccb5c767a9
--- /dev/null
+++ b/browser/branding/official/content/tor-styles.css
@@ -0,0 +1,14 @@
+%include ../../tor-styles.inc.css
+
+/* default theme*/
+:root,
+/* light theme*/
+:root:-moz-lwtheme-darktext {
+ --tor-branding-color: var(--purple-60);
+}
+
+/* dark theme */
+:root:-moz-lwtheme-brighttext {
+ --tor-branding-color: var(--purple-30);
+}
+
diff --git a/browser/branding/official/default128.png b/browser/branding/official/default128.png
index b92d78ca6d09..18f3572d0d79 100644
Binary files a/browser/branding/official/default128.png and b/browser/branding/official/default128.png differ
diff --git a/browser/branding/official/default16.png b/browser/branding/official/default16.png
index fe860e46b1e7..904b84e49871 100644
Binary files a/browser/branding/official/default16.png and b/browser/branding/official/default16.png differ
diff --git a/browser/branding/official/default22.png b/browser/branding/official/default22.png
index 3aff987a8476..41cc3543d39f 100644
Binary files a/browser/branding/official/default22.png and b/browser/branding/official/default22.png differ
diff --git a/browser/branding/official/default24.png b/browser/branding/official/default24.png
index cfce6e7d64fd..195cae90d3ed 100644
Binary files a/browser/branding/official/default24.png and b/browser/branding/official/default24.png differ
diff --git a/browser/branding/official/default256.png b/browser/branding/official/default256.png
index ddc9d4db1f14..809dbad4ab16 100644
Binary files a/browser/branding/official/default256.png and b/browser/branding/official/default256.png differ
diff --git a/browser/branding/official/default32.png b/browser/branding/official/default32.png
index 67042dbb2b4a..e8e68eb4492c 100644
Binary files a/browser/branding/official/default32.png and b/browser/branding/official/default32.png differ
diff --git a/browser/branding/official/default48.png b/browser/branding/official/default48.png
index 765ea42459d3..e839211d260b 100644
Binary files a/browser/branding/official/default48.png and b/browser/branding/official/default48.png differ
diff --git a/browser/branding/official/default512.png b/browser/branding/official/default512.png
new file mode 100644
index 000000000000..23942859673d
Binary files /dev/null and b/browser/branding/official/default512.png differ
diff --git a/browser/branding/official/default64.png b/browser/branding/official/default64.png
index 39e77389022c..147a229fab8b 100644
Binary files a/browser/branding/official/default64.png and b/browser/branding/official/default64.png differ
diff --git a/browser/branding/official/disk.icns b/browser/branding/official/disk.icns
index 4353ef0965f3..3e2c44f187ce 100644
Binary files a/browser/branding/official/disk.icns and b/browser/branding/official/disk.icns differ
diff --git a/browser/branding/official/document.icns b/browser/branding/official/document.icns
index 50d9701405a5..27a776a12557 100644
Binary files a/browser/branding/official/document.icns and b/browser/branding/official/document.icns differ
diff --git a/browser/branding/official/document.ico b/browser/branding/official/document.ico
index fcec7dc15646..3e5d99012f89 100644
Binary files a/browser/branding/official/document.ico and b/browser/branding/official/document.ico differ
diff --git a/browser/branding/official/firefox.VisualElementsManifest.xml b/browser/branding/official/firefox.VisualElementsManifest.xml
index 85e09dd7a910..3b2f265df644 100644
--- a/browser/branding/official/firefox.VisualElementsManifest.xml
+++ b/browser/branding/official/firefox.VisualElementsManifest.xml
@@ -8,5 +8,5 @@
Square150x150Logo='browser\VisualElements\VisualElements_150.png'
Square70x70Logo='browser\VisualElements\VisualElements_70.png'
ForegroundText='light'
- BackgroundColor='#20123a'/>
+ BackgroundColor='#420c5e'/>
</Application>
diff --git a/browser/branding/official/firefox.icns b/browser/branding/official/firefox.icns
index 3cc884734c9d..b9874461e519 100644
Binary files a/browser/branding/official/firefox.icns and b/browser/branding/official/firefox.icns differ
diff --git a/browser/branding/official/firefox.ico b/browser/branding/official/firefox.ico
index d8ba663ba76e..db0a9af865b6 100644
Binary files a/browser/branding/official/firefox.ico and b/browser/branding/official/firefox.ico differ
diff --git a/browser/branding/official/firefox.svg b/browser/branding/official/firefox.svg
new file mode 100644
index 000000000000..9240dc6e84ca
--- /dev/null
+++ b/browser/branding/official/firefox.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="50%" y1="100%" x2="50%" y2="0%" id="linearGradient-1">
+ <stop stop-color="#420C5D" offset="0%"></stop>
+ <stop stop-color="#951AD1" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,29 C152.577777,29 256,131.974508 256,259 C256,386.025492 152.577777,489 25,489 L25,29 Z" id="path-2"></path>
+ <filter x="-18.2%" y="-7.4%" width="129.4%" height="114.8%" filterUnits="objectBoundingBox" id="filter-3">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Assets" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="icon_512x512">
+ <g id="Group">
+ <g id="tb_icon/Stable">
+ <g id="Stable">
+ <circle id="background" fill="#F2E4FF" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384
044,0 256,0 C114.60886,0 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.500000, 259.000000) scale(-1, 1) translate(-140.500000, -259.000000) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+ <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/browser/branding/official/firefox64.ico b/browser/branding/official/firefox64.ico
index c3a32449d27a..db0a9af865b6 100644
Binary files a/browser/branding/official/firefox64.ico and b/browser/branding/official/firefox64.ico differ
diff --git a/browser/branding/official/locales/en-US/brand.dtd b/browser/branding/official/locales/en-US/brand.dtd
index d094ad0f8d01..0b15c9978e01 100644
--- a/browser/branding/official/locales/en-US/brand.dtd
+++ b/browser/branding/official/locales/en-US/brand.dtd
@@ -2,10 +2,10 @@
- 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/. -->
-<!ENTITY brandShorterName "Firefox">
-<!ENTITY brandShortName "Firefox">
-<!ENTITY brandFullName "Mozilla Firefox">
+<!ENTITY brandShorterName "Tor Browser">
+<!ENTITY brandShortName "Tor Browser">
+<!ENTITY brandFullName "Tor Browser">
<!-- LOCALIZATION NOTE (brandProductName):
This brand name can be used in messages where the product name needs to
remain unchanged across different versions (Nightly, Beta, etc.). -->
-<!ENTITY brandProductName "Firefox">
+<!ENTITY brandProductName "Tor Browser">
diff --git a/browser/branding/official/locales/en-US/brand.properties b/browser/branding/official/locales/en-US/brand.properties
index 8ade3cb6e5bb..3255b73d196a 100644
--- a/browser/branding/official/locales/en-US/brand.properties
+++ b/browser/branding/official/locales/en-US/brand.properties
@@ -2,11 +2,11 @@
# 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/.
-brandShorterName=Firefox
-brandShortName=Firefox
-brandFullName=Mozilla Firefox
+brandShorterName=Tor Browser
+brandShortName=Tor Browser
+brandFullName=Tor Browser
# LOCALIZATION NOTE(brandProductName):
# This brand name can be used in messages where the product name needs to
# remain unchanged across different versions (Nightly, Beta, etc.).
-brandProductName=Firefox
-vendorShortName=Mozilla
+brandProductName=Tor Browser
+vendorShortName=Tor Project
diff --git a/browser/branding/official/wizHeader.bmp b/browser/branding/official/wizHeader.bmp
index 420824226dfe..a754d2db1e11 100644
Binary files a/browser/branding/official/wizHeader.bmp and b/browser/branding/official/wizHeader.bmp differ
diff --git a/browser/branding/official/wizHeaderRTL.bmp b/browser/branding/official/wizHeaderRTL.bmp
index 7f74929910bd..c944205be23f 100644
Binary files a/browser/branding/official/wizHeaderRTL.bmp and b/browser/branding/official/wizHeaderRTL.bmp differ
diff --git a/browser/branding/official/wizWatermark.bmp b/browser/branding/official/wizWatermark.bmp
index b3b3c91d327c..9e523b5fa196 100644
Binary files a/browser/branding/official/wizWatermark.bmp and b/browser/branding/official/wizWatermark.bmp differ
diff --git a/browser/branding/tor-styles.inc.css b/browser/branding/tor-styles.inc.css
new file mode 100644
index 000000000000..55dc9b6238b3
--- /dev/null
+++ b/browser/branding/tor-styles.inc.css
@@ -0,0 +1,87 @@
+:root {
+ /* photon colors, not all of them are available for whatever reason
+ in firefox, so here they are */
+
+ --magenta-50: #ff1ad9;
+ --magenta-60: #ed00b5;
+ --magenta-70: #b5007f;
+ --magenta-80: #7d004f;
+ --magenta-90: #440027;
+
+ --purple-30: #c069ff;
+ --purple-40: #ad3bff;
+ --purple-50: #9400ff;
+ --purple-60: #8000d7;
+ --purple-70: #6200a4;
+ --purple-80: #440071;
+ --purple-90: #25003e;
+
+ --blue-40: #45a1ff;
+ --blue-50: #0a84ff;
+ --blue-50-a30: rgba(10, 132, 255, 0.3);
+ --blue-60: #0060df;
+ --blue-70: #003eaa;
+ --blue-80: #002275;
+ --blue-90: #000f40;
+
+ --teal-50: #00feff;
+ --teal-60: #00c8d7;
+ --teal-70: #008ea4;
+ --teal-80: #005a71;
+ --teal-90: #002d3e;
+
+ --green-50: #30e60b;
+ --green-60: #12bc00;
+ --green-70: #058b00;
+ --green-80: #006504;
+ --green-90: #003706;
+
+ --yellow-50: #ffe900;
+ --yellow-60: #d7b600;
+ --yellow-70: #a47f00;
+ --yellow-80: #715100;
+ --yellow-90: #3e2800;
+
+ --red-50: #ff0039;
+ --red-60: #d70022;
+ --red-70: #a4000f;
+ --red-80: #5a0002;
+ --red-90: #3e0200;
+
+ --orange-50: #ff9400;
+ --orange-60: #d76e00;
+ --orange-70: #a44900;
+ --orange-80: #712b00;
+ --orange-90: #3e1300;
+
+ --grey-10: #f9f9fa;
+ --grey-10-a10: rgba(249, 249, 250, 0.1);
+ --grey-10-a20: rgba(249, 249, 250, 0.2);
+ --grey-10-a40: rgba(249, 249, 250, 0.4);
+ --grey-10-a60: rgba(249, 249, 250, 0.6);
+ --grey-10-a80: rgba(249, 249, 250, 0.8);
+ --grey-20: #ededf0;
+ --grey-30: #d7d7db;
+ --grey-40: #b1b1b3;
+ --grey-50: #737373;
+ --grey-60: #4a4a4f;
+ --grey-70: #38383d;
+ --grey-80: #2a2a2e;
+ --grey-90: #0c0c0d;
+ --grey-90-a05: rgba(12, 12, 13, 0.05);
+ --grey-90-a10: rgba(12, 12, 13, 0.1);
+ --grey-90-a20: rgba(12, 12, 13, 0.2);
+ --grey-90-a30: rgba(12, 12, 13, 0.3);
+ --grey-90-a40: rgba(12, 12, 13, 0.4);
+ --grey-90-a50: rgba(12, 12, 13, 0.5);
+ --grey-90-a60: rgba(12, 12, 13, 0.6);
+ --grey-90-a70: rgba(12, 12, 13, 0.7);
+ --grey-90-a80: rgba(12, 12, 13, 0.8);
+ --grey-90-a90: rgba(12, 12, 13, 0.9);
+
+ --ink-70: #363959;
+ --ink-80: #202340;
+ --ink-90: #0f1126;
+
+ --white-100: #ffffff;
+}
\ No newline at end of file
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
index 91e9e469cea2..a3656f827ffc 100644
--- a/browser/components/preferences/preferences.js
+++ b/browser/components/preferences/preferences.js
@@ -157,10 +157,7 @@ function init_all() {
gotoPref().then(() => {
let helpButton = document.getElementById("helpButton");
- let helpUrl =
- Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "preferences";
- helpButton.setAttribute("href", helpUrl);
+ helpButton.setAttribute("href", "https://support.torproject.org/tbb");
document.getElementById("addonsButton").addEventListener("click", e => {
if (e.button >= 2) {
diff --git a/browser/themes/shared/identity-block/identity-block.inc.css b/browser/themes/shared/identity-block/identity-block.inc.css
index ee60b2ff5f31..a01e7d705cd7 100644
--- a/browser/themes/shared/identity-block/identity-block.inc.css
+++ b/browser/themes/shared/identity-block/identity-block.inc.css
@@ -54,6 +54,11 @@
}
#identity-box[pageproxystate="valid"].notSecureText #identity-icon-label,
+#identity-box[pageproxystate="valid"].chromeUI #identity-icon-label {
+ color: var(--tor-branding-color);
+ opacity: 1;
+}
+
#identity-box[pageproxystate="valid"].chromeUI #identity-icon-label,
#identity-box[pageproxystate="valid"].extensionPage #identity-icon-label,
.urlbar-label {
@@ -150,12 +155,9 @@
}
#identity-box[pageproxystate="valid"].chromeUI #identity-icon {
- list-style-image: url(chrome://branding/content/icon16.png);
-}
-@media (min-resolution: 1.1dppx) {
- #identity-box[pageproxystate="valid"].chromeUI #identity-icon {
- list-style-image: url(chrome://branding/content/icon32.png);
- }
+ list-style-image: url(chrome://branding/content/identity-icons-brand.svg);
+ fill: var(--tor-branding-color);
+ fill-opacity: 1;
}
#identity-box[pageproxystate="valid"].localResource #identity-icon {
diff --git a/browser/themes/shared/identity-block/onion-slash.svg b/browser/themes/shared/identity-block/onion-slash.svg
new file mode 100644
index 000000000000..93eb24b03905
--- /dev/null
+++ b/browser/themes/shared/identity-block/onion-slash.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
+ <path d="m14.1161 15.6245c-.0821.0001-.1634-.016-.2393-.0474-.0758-.0314-.1447-.0775-.2027-.1356l-12.749984-12.749c-.109266-.11882-.168406-.27526-.165071-.43666.003335-.16139.068886-.31525.182967-.42946.114078-.11421.267868-.17994.429258-.18345.16139-.00352.3179.05544.43685.16457l12.74998 12.75c.1168.1176.1824.2767.1824.4425s-.0656.3249-.1824.4425c-.058.058-.1269.1039-.2028.1352-.0759.0312-.1571.0471-.2392.0468z" fill-opacity="context-fill-opacity" fill="#ff0039" />
+ <path d="m 8,0.5000002 c -1.61963,0 -3.1197431,0.5137987 -4.3457031,1.3867188 l 0.84375,0.8417968 0.7792969,0.78125 0.8613281,0.8613282 0.8164062,0.8164062 0.9863281,0.984375 h 0.058594 c 1.00965,0 1.828125,0.818485 1.828125,1.828125 0,0.01968 6.2e-4,0.039074 0,0.058594 L 10.8125,9.0449221 C 10.9334,8.7195921 11,8.3674002 11,8.0000002 c 0,-1.65685 -1.34314,-3 -3,-3 v -1.078125 c 2.25231,0 4.078125,1.825845 4.078125,4.078125 0,0.67051 -0.162519,1.3033281 -0.449219,1.8613281 l 0.861328,0.8613277 C 12.972434,9.9290067 13.25,8.9965102 13.25,8.0000002 c 0,-2.89949 -2.35049,-5.25 -5.25,-5.25 v -1.078125 c 3.4949,0 6.328125,2.833195 6.328125,6.328125 0,1.29533 -0.388841,2.4990528 -1.056641,3.5019528 l 0.841797,0.84375 C 14.986181,11.119703 15.5,9.6196302 15.5,8.0000002 c 0,-4.14214 -3.3579,-7.5 -7.5,-7.5 z m -6.1113281,3.15625 C 1.0154872,4.8821451 0.5,6.3803304 0.5,8.0000002 0.5,12.1421 3.85786,15.5 8,15.5 c 1.6198027,0 3.117896,-0.515441 4.34375,-1.388672 L 11.501953,13.269531 C 10.498
787,13.937828 9.295838,14.328125 8,14.328125 V 13.25 c 0.9967306,0 1.9287093,-0.277621 2.722656,-0.759766 L 9.859375,11.626953 C 9.3016226,11.913918 8.6705338,12.078125 8,12.078125 V 11 C 8.3664751,11 8.716425,10.93088 9.0410156,10.810547 6.6639891,8.4300416 4.2743195,6.0418993 1.8886719,3.6562502 Z" fill-opacity="context-fill-opacity" fill="context-fill"/>
+</svg>
diff --git a/browser/themes/shared/identity-block/onion-warning.svg b/browser/themes/shared/identity-block/onion-warning.svg
new file mode 100644
index 000000000000..f920a93ac410
--- /dev/null
+++ b/browser/themes/shared/identity-block/onion-warning.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
+ <path d="M 7.5,0.5 C 3.35786,0.5 0,3.85786 0,8 c 0,3.7093 2.6930488,6.789278 6.2304688,7.392578 -0.032181,-0.0637 -0.060149,-0.128686 -0.085938,-0.195312 -0.00862,-0.02227 -0.01751,-0.04385 -0.025391,-0.06641 -0.023385,-0.0669 -0.043878,-0.135932 -0.060547,-0.205078 -0.00186,-0.0077 -0.00213,-0.01571 -0.00391,-0.02344 -0.017615,-0.07685 -0.032109,-0.153488 -0.041016,-0.232422 -7.27e-5,-6.44e-4 7.2e-5,-0.0013 0,-0.002 -0.0087,-0.07777 -0.011896,-0.157155 -0.011719,-0.236328 7.71e-5,-0.0337 2.127e-4,-0.06769 0.00195,-0.101563 3.337e-4,-0.0065 -3.955e-4,-0.01303 0,-0.01953 0.00318,-0.05219 0.0084,-0.10381 0.015625,-0.15625 0.03623,-0.263929 0.1235201,-0.529812 0.2714844,-0.787109 L 6.421875,13.138672 C 7.1130865,11.933878 7.8482649,10.654869 8.4882812,9.5390625 8.2033713,9.7224325 7.864,9.828125 7.5,9.828125 v -3.65625 c 1.00965,0 1.828125,0.818485 1.828125,1.828125 0,0.02558 -9.131e-4,0.050842 -0.00195,0.076172 L 9.6015625,7.5957031 C 9.7779825,7.2883331 10.012797,7.0451975 10.27929
7,6.8671875 9.8324169,5.7717775 8.75611,5 7.5,5 V 3.921875 c 1.72627,0 3.201675,1.0728106 3.796875,2.5878906 0.4511,-0.0416 0.914353,0.052393 1.314453,0.2832032 C 12.066128,4.4750988 9.98426,2.75 7.5,2.75 V 1.671875 c 3.4949,0 6.328125,2.833195 6.328125,6.328125 0,0.10641 -0.0026,0.2112863 -0.0078,0.3164062 L 14.74806,9.9355469 C 14.912447,9.3182669 15,8.66904 15,8 15,3.85786 11.6421,0.5 7.5,0.5 Z m 4,7 c -0.40375,0 -0.808156,0.19825 -1.035156,0.59375 l -3.3105471,5.771484 c -0.446,0.775 0.1271562,1.734375 1.0351562,1.734375 H 14.8125 c 0.907,0 1.478203,-0.959375 1.033203,-1.734375 L 12.535156,8.09375 C 12.308156,7.69825 11.90375,7.5 11.5,7.5 Z m 0,2.1015625 c 0.1658,0 0.324206,0.066384 0.441406,0.1835937 0.1172,0.1172101 0.183594,0.2757058 0.183594,0.4414058 v 1.748047 c 0,0.1658 -0.06639,0.324207 -0.183594,0.441407 -0.1172,0.1172 -0.275606,0.183593 -0.441406,0.183593 -0.1657,0 -0.324206,-0.06639 -0.441406,-0.183593 -0.1172,-0.1172 -0.183594,-0.275607 -0.183594,-0.441407 v -1.74804
7 c 0,-0.165699 0.06639,-0.3241957 0.183594,-0.4414058 C 11.175794,9.6679462 11.3343,9.6015625 11.5,9.6015625 Z m 0,3.7480465 c 0.1658,0 0.324206,0.06639 0.441406,0.183594 0.1172,0.1172 0.183594,0.275706 0.183594,0.441406 0,0.1658 -0.06639,0.32616 -0.183594,0.44336 -0.1172,0.1172 -0.275606,0.18164 -0.441406,0.18164 -0.1657,0 -0.324206,-0.06444 -0.441406,-0.18164 -0.1172,-0.1172 -0.183594,-0.27756 -0.183594,-0.44336 0,-0.1657 0.06639,-0.324206 0.183594,-0.441406 0.1172,-0.1172 0.275706,-0.183594 0.441406,-0.183594 z" fill-opacity="context-fill-opacity" fill="context-fill"/>
+</svg>
diff --git a/browser/themes/shared/identity-block/onion.svg b/browser/themes/shared/identity-block/onion.svg
new file mode 100644
index 000000000000..7655a800d9ee
--- /dev/null
+++ b/browser/themes/shared/identity-block/onion.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
+ <path d="M 8 0.5 C 3.85786 0.5 0.5 3.85786 0.5 8 C 0.5 12.1421 3.85786 15.5 8 15.5 C 12.1421 15.5 15.5 12.1421 15.5 8 C 15.5 3.85786 12.1421 0.5 8 0.5 z M 8 1.671875 C 11.4949 1.671875 14.328125 4.50507 14.328125 8 C 14.328125 11.4949 11.4949 14.328125 8 14.328125 L 8 13.25 C 10.89951 13.25 13.25 10.89951 13.25 8 C 13.25 5.10051 10.89951 2.75 8 2.75 L 8 1.671875 z M 8 3.921875 C 10.25231 3.921875 12.078125 5.74772 12.078125 8 C 12.078125 10.25231 10.25231 12.078125 8 12.078125 L 8 11 C 9.65686 11 11 9.65686 11 8 C 11 6.34315 9.65686 5 8 5 L 8 3.921875 z M 8 6.171875 C 9.00965 6.171875 9.828125 6.99036 9.828125 8 C 9.828125 9.00965 9.00965 9.828125 8 9.828125 L 8 6.171875 z " clip-rule="evenodd" fill-rule="evenodd" fill="context-fill" fill-opacity="context-fill-opacity"/>
+</svg>
diff --git a/browser/themes/shared/jar.inc.mn b/browser/themes/shared/jar.inc.mn
index 4f74932df96f..f76184171ddd 100644
--- a/browser/themes/shared/jar.inc.mn
+++ b/browser/themes/shared/jar.inc.mn
@@ -9,6 +9,8 @@
skin/classic/browser/aboutNetError.css (../shared/aboutNetError.css)
skin/classic/browser/offlineSupportPages.css (../shared/offlineSupportPages.css)
+ skin/classic/browser/onionPattern.css (../shared/onionPattern.css)
+ skin/classic/browser/onionPattern.svg (../shared/onionPattern.svg)
skin/classic/browser/blockedSite.css (../shared/blockedSite.css)
skin/classic/browser/error-pages.css (../shared/error-pages.css)
skin/classic/browser/aboutRestartRequired.css (../shared/aboutRestartRequired.css)
@@ -49,6 +51,9 @@
skin/classic/browser/downloads/notification-start-animation.svg (../shared/downloads/notification-start-animation.svg)
skin/classic/browser/drm-icon.svg (../shared/drm-icon.svg)
skin/classic/browser/permissions.svg (../shared/identity-block/permissions.svg)
+ skin/classic/browser/onion.svg (../shared/identity-block/onion.svg)
+ skin/classic/browser/onion-slash.svg (../shared/identity-block/onion-slash.svg)
+ skin/classic/browser/onion-warning.svg (../shared/identity-block/onion-warning.svg)
skin/classic/browser/illustrations/error-malformed-url.svg (../shared/illustrations/error-malformed-url.svg)
skin/classic/browser/notification-icons/autoplay-media.svg (../shared/notification-icons/autoplay-media.svg)
skin/classic/browser/notification-icons/autoplay-media-blocked.svg (../shared/notification-icons/autoplay-media-blocked.svg)
diff --git a/browser/themes/shared/onionPattern.css b/browser/themes/shared/onionPattern.css
new file mode 100644
index 000000000000..1852350d57f7
--- /dev/null
+++ b/browser/themes/shared/onionPattern.css
@@ -0,0 +1,31 @@
+/* Onion pattern */
+
+.onion-pattern-container {
+
+ flex: auto; /* grow to consume remaining space on the page */
+ display: flex;
+ margin: 0 auto;
+ width: 100%;
+ /* two onions tall, 4x the radius */
+ height: calc(4 * var(--onion-radius));
+ max-height: calc(4 * var(--onion-radius));
+ min-height: calc(4 * var(--onion-radius));
+ direction: ltr;
+}
+
+.onion-pattern-crop {
+ height: 100%;
+ width: 100%;
+
+ -moz-context-properties: fill;
+ fill: var(--onion-color, currentColor);
+ /* opacity of the entire div, not context-opacity */
+ opacity: var(--onion-opacity, 1);
+
+ background-image: url("chrome://browser/skin/onionPattern.svg");
+ background-repeat: repeat;
+ background-attachment: local;
+ background-position: center;
+ /* svg source is 6 onions wide and 2 onions tall */
+ background-size: calc(6 * 2 * var(--onion-radius)) calc(2 * 2 * var(--onion-radius));;
+}
\ No newline at end of file
diff --git a/browser/themes/shared/onionPattern.inc.xhtml b/browser/themes/shared/onionPattern.inc.xhtml
new file mode 100644
index 000000000000..de57b6ee301a
--- /dev/null
+++ b/browser/themes/shared/onionPattern.inc.xhtml
@@ -0,0 +1,12 @@
+<!--
+ Container div that holds onionPattern.svg
+ It is expected the includer of this xhtml file also includes onionPattern.css
+ and define the following vars:
+ onion-radius : radius of an onion
+ onion-color : the base color of the onion pattern
+ onion-opacity : the opacity of the entire repeating pattern
+-->
+
+<div class="onion-pattern-container">
+ <div class="onion-pattern-crop"/>
+</div>
\ No newline at end of file
diff --git a/browser/themes/shared/onionPattern.svg b/browser/themes/shared/onionPattern.svg
new file mode 100644
index 000000000000..e2937b175341
--- /dev/null
+++ b/browser/themes/shared/onionPattern.svg
@@ -0,0 +1,22 @@
+<svg fill="context-fill" viewBox="0 0 900 300" width="900" height="300" xmlns="http://www.w3.org/2000/svg">
+ <g>
+ <path d="m825 0c41.421 0 75 33.5786 75 75 0 41.421-33.579 75-75 75z" fill-opacity=".3"/>
+ <path d="m750 0c41.421 0 75 33.5786 75 75 0 41.421-33.579 75-75 75z" fill-opacity=".15"/>
+ <path d="m525 225c0-41.421-33.579-75-75-75s-75 33.579-75 75z" fill-opacity=".3"/>
+ <path d="m525 300c0-41.421-33.579-75-75-75s-75 33.579-75 75z" fill-opacity=".15"/>
+ <path d="m300 0c0 41.4214-33.579 75-75 75s-75-33.5786-75-75z" fill-opacity=".3"/>
+ <path d="m300 75c0 41.421-33.579 75-75 75s-75-33.579-75-75z" fill-opacity=".15"/>
+ <g clip-rule="evenodd" fill-opacity=".3" fill-rule="evenodd">
+ <path d="m525 .25c-.176 0-.351.000606-.527.001817-.966.006671-1.744.795563-1.737 1.762033.006.96648.795 1.74455 1.762 1.73788.167-.00115.334-.00173.502-.00173s.335.00058.502.00173c.967.00667 1.756-.7714 1.762-1.73788.007-.96647-.771-1.755363-1.737-1.762033-.176-.001211-.351-.001817-.527-.001817zm7.849.407251c-.962-.100329-1.822.597609-1.923 1.558879-.1.96128.598 1.82188 1.559 1.92221.333.03473.665.07174.996.11103.96.11381 1.83-.57199 1.944-1.53176s-.572-1.830084-1.532-1.943891c-.347-.041214-.695-.080042-1.044-.116468zm-15.334 3.481099c.961-.10034 1.659-.96094 1.559-1.92221-.101-.96128-.961-1.659216-1.923-1.558886-.349.036426-.697.075254-1.044.116468-.96.113808-1.646.984118-1.532 1.943888.114.95978.984 1.64557 1.944 1.53176.331-.03928.663-.0763.996-.11102zm23.612-2.14381c-.944-.2076-1.877.38933-2.085 1.33327-.207.94394.389 1.87744 1.333 2.08504.326.07165.651.14553.975.22162.941.2209 1.883-.36277 2.104-1.30369.221-.94091-.363-1.88275-1.304-2.10366-.34-.07986-.681-.15739-1.
023-.23258zm-31.502 3.41832c.944-.2076 1.54-1.14111 1.333-2.08505-.208-.94394-1.141-1.54086-2.085-1.33326-.342.07519-.683.15272-1.023.23257-.941.22091-1.525 1.16276-1.304 2.10367s1.163 1.52459 2.104 1.30368c.324-.07609.649-.14997.975-.22161zm39.576-1.15763c-.914-.31276-1.909.17503-2.222 1.08953-.312.91449.175 1.90938 1.09 2.22214.315.10775.629.21764.942.32966.91.32565 1.912-.14805 2.237-1.05804.326-.90998-.148-1.91166-1.058-2.23731-.328-.11756-.658-.2329-.989-.34598zm-47.27 3.31168c.915-.31277 1.402-1.30766 1.09-2.22215-.313-.91449-1.308-1.40229-2.222-1.08952-.331.11308-.661.22841-.989.34598-.91.32565-1.384 1.32733-1.058 2.23731.325.90999 1.327 1.38369 2.237 1.05804.313-.11202.627-.22191.942-.32966zm55.037-.15521c-.874-.41383-1.917-.04125-2.331.83218-.414.87342-.041 1.91692.832 2.33072.301.1427.601.2875.9.4343.868.426 1.916.0682 2.343-.7993.426-.86751.068-1.91617-.8-2.34226-.313-.15402-.628-.3059-.944-.45564zm-62.437 3.163c.873-.4139 1.246-1.45739.832-2.33082-.414-.87342-1.457-1.246
-2.331-.83217-.316.14973-.631.30162-.944.45564-.868.42608-1.226 1.47475-.8 2.34225s1.475 1.2254 2.343.7993c.298-.1468.599-.2916.9-.4342zm69.8.8472c-.822-.5092-1.901-.2561-2.41.5653-.509.8215-.256 1.9002.565 2.4095.284.1756.566.3532.846.5327.815.5207 1.897.2827 2.418-.5315.52-.8143.282-1.8965-.532-2.4172-.294-.1883-.59-.3746-.887-.5588zm-76.817 2.9748c.821-.5092 1.074-1.588.565-2.4095-.509-.8214-1.588-1.0745-2.41-.5653-.297.1843-.593.3705-.887.5588-.814.5207-1.052 1.6029-.532 2.4172.521.8142 1.603 1.0522 2.418.5315.28-.1795.562-.3571.846-.5327zm83.683 1.834c-.759-.5978-1.859-.4668-2.457.2927-.598.7594-.467 1.8597.292 2.4575.262.206.523.4139.781.6235.751.6084 1.853.4927 2.462-.2583.608-.7511.492-1.8531-.259-2.4614-.271-.2199-.544-.4379-.819-.654zm-90.229 2.7502c.759-.5978.89-1.6981.292-2.4575-.598-.7595-1.698-.8905-2.457-.2927-.275.2161-.548.4341-.819.654-.751.6083-.867 1.7103-.259 2.4614.609.751 1.711.8667 2.462.2583.258-.2096.519-.4175.781-.6235zm96.516 2.7935c-.688-.6786-1.796-.670
9-2.475.0173-.678.6881-.67 1.7962.018 2.4748.237.2339.473.4695.706.7067.679.6882 1.787.6959 2.475.0173s.696-1.7867.018-2.4748c-.246-.2488-.493-.4959-.742-.7413zm-102.511 2.4921c.688-.6786.696-1.7866.017-2.4748-.678-.6882-1.786-.6959-2.474-.0173-.249.2454-.496.4925-.742.7413-.678.6881-.67 1.7962.018 2.4748s1.796.6709 2.474-.0173c.234-.2372.47-.4728.707-.7067zm108.142 3.7171c-.608-.751-1.71-.8667-2.461-.2583-.751.6083-.867 1.7103-.258 2.4613.209.2588.417.5191.623.7809.598.7595 1.698.8905 2.458.2927.759-.5978.89-1.698.292-2.4575-.216-.2746-.434-.5476-.654-.8191zm-113.511 2.203c.609-.751.493-1.853-.258-2.4613-.751-.6084-1.853-.4927-2.461.2583-.22.2715-.438.5445-.654.8191-.598.7595-.467 1.8598.292 2.4575.76.5978 1.86.4668 2.458-.2927.206-.2618.414-.5221.623-.7809zm118.415 4.5953c-.52-.8142-1.603-1.0522-2.417-.5315s-1.052 1.6029-.531 2.4171c.179.2807.357.5627.532.8461.51.8214 1.588 1.0745 2.41.5653.821-.5092 1.074-1.588.565-2.4094-.184-.2973-.37-.5931-.559-.8876zm-123.09 1.8856c.521-.8142
.283-1.8964-.531-2.4171s-1.897-.2827-2.417.5315c-.189.2945-.375.5903-.559.8876-.509.8215-.256 1.9002.565 2.4094.822.5093 1.9.2561 2.41-.5653.175-.2834.353-.5654.532-.8461zm127.204 5.4202c-.426-.8675-1.475-1.2254-2.343-.7993-.867.4261-1.225 1.4748-.799 2.3423.147.2988.292.5988.434.9.414.8734 1.458 1.246 2.331.8322.874-.4139 1.246-1.4574.832-2.3308-.149-.3161-.301-.6309-.455-.9444zm-131.124 1.543c.426-.8675.068-1.9162-.799-2.3423-.868-.4261-1.917-.0682-2.343.7993-.154.3135-.306.6284-.455.9444-.414.8734-.042 1.9169.832 2.3308.873.4138 1.917.0412 2.331-.8322.142-.3012.287-.6012.434-.9zm134.39 6.1791c-.326-.91-1.328-1.3837-2.238-1.0581-.91.3257-1.383 1.3273-1.058 2.2373.112.3131.222.6271.33.9421.313.9145 1.308 1.4023 2.222 1.0896.915-.3128 1.403-1.3077 1.09-2.2222-.113-.3306-.229-.6602-.346-.9887zm-137.502 1.1793c.325-.91-.148-1.9117-1.058-2.2374-.91-.3256-1.912.1481-2.238 1.0581-.117.3285-.233.6581-.346.9887-.313.9145.175 1.9094 1.09 2.2222.914.3127 1.909-.1751 2.222-1.0895.108-.3151.21
8-.6291.33-.9421zm139.876 6.8607c-.221-.9409-1.163-1.5246-2.104-1.3037s-1.524 1.1628-1.303 2.1037c.076.3241.15.649.221.9748.208.9439 1.141 1.5408 2.085 1.3332s1.541-1.1411 1.333-2.085c-.075-.3419-.152-.6829-.232-1.023zm-142.139.8c.221-.9409-.362-1.8828-1.303-2.1037s-1.883.3628-2.104 1.3037c-.08.3401-.157.6811-.232 1.023-.208.944.389 1.8775 1.333 2.0851s1.877-.3894 2.085-1.3333c.071-.3258.145-.6507.221-.9748zm143.592 7.4568c-.114-.9598-.984-1.6456-1.944-1.5318-.959.1138-1.645.9841-1.531 1.9439.039.3313.076.6634.111.9961.1.9612.961 1.6592 1.922 1.5588.961-.1003 1.659-.9609 1.559-1.9222-.037-.349-.076-.6973-.117-1.0448zm-144.977.4121c.114-.9597-.572-1.8301-1.531-1.9439-.96-.1138-1.83.572-1.944 1.5318-.041.3476-.08.6959-.117 1.0449-.1.9612.598 1.8218 1.559 1.9222.961.1003 1.822-.5976 1.922-1.5589.035-.3327.072-.6647.111-.9961zm145.499 7.9547c-.006-.9665-.795-1.7445-1.762-1.7379-.966.0067-1.744.7956-1.738 1.7621.001.0523.001.1046.001.1569l.001.0826v.2629c0 .1676-.001.3351-.002.5024-.006.
9665.772 1.7554 1.738 1.762.967.0067 1.756-.7714 1.762-1.7378.001-.1754.002-.3509.002-.5266s-.001-.3512-.002-.5266zm-145.996.0242c.006-.9665-.772-1.7554-1.738-1.762-.967-.0067-1.756.7714-1.762 1.7378-.001.1754-.002.3509-.002.5266s.001.3512.002.5266c.006.9665.795 1.7445 1.762 1.7379.966-.0067 1.744-.7956 1.738-1.7621-.001-.1673-.002-.3348-.002-.5024s.001-.3351.002-.5024zm145.591 8.3509c.1-.9612-.598-1.8218-1.559-1.9222-.961-.1003-1.822.5976-1.922 1.5589-.035.3327-.072.6647-.111.9961-.114.9597.572 1.83 1.531 1.9439.96.1138 1.83-.572 1.944-1.5318.042-.3476.08-.6959.117-1.0449zm-145.205-.3633c-.1-.9612-.961-1.6592-1.922-1.5588-.961.1003-1.659.9609-1.559 1.9222.037.349.076.6973.117 1.0448.114.9598.984 1.6456 1.944 1.5318.959-.1138 1.645-.9841 1.531-1.9439-.039-.3313-.076-.6634-.111-.9961zm143.867 8.642c.208-.944-.389-1.8775-1.333-2.0851s-1.877.3894-2.085 1.3333c-.071.3258-.145.6507-.221.9748-.221.9409.362 1.8828 1.303 2.1037s1.883-.3628 2.104-1.3037c.08-.3401.157-.6811.232-1.023zm-142.59
2-.7518c-.208-.9439-1.141-1.5408-2.085-1.3332s-1.541 1.1411-1.333 2.085c.075.3419.152.6829.232 1.023.221.9409 1.163 1.5246 2.104 1.3037s1.524-1.1628 1.303-2.1037c-.076-.3241-.149-.649-.221-.9748zm140.332 8.8261c.313-.9145-.175-1.9094-1.09-2.2222-.914-.3127-1.909.1751-2.222 1.0895-.108.3151-.218.6291-.33.9421-.325.91.148 1.9121 1.058 2.2371.91.326 1.912-.148 2.238-1.058.117-.3283.233-.6579.346-.9885zm-138.178-1.1326c-.313-.9145-1.308-1.4023-2.222-1.0896-.915.3128-1.403 1.3077-1.09 2.2222.113.3306.229.6602.346.9885.326.91 1.328 1.384 2.238 1.058.91-.325 1.383-1.327 1.058-2.237-.112-.3131-.222-.6271-.33-.9421zm135.021 8.8991c.414-.874.042-1.917-.832-2.331-.873-.414-1.917-.041-2.331.832-.142.301-.287.601-.434.9-.426.868-.068 1.916.799 2.343.868.426 1.917.068 2.343-.8.154-.313.306-.628.455-.944zm-132.013-1.499c-.414-.873-1.458-1.246-2.331-.832-.874.414-1.246 1.457-.832 2.331.149.316.301.631.455.944.426.868 1.475 1.226 2.343.8.867-.426 1.225-1.475.799-2.343-.147-.298-.292-.599-.434-.9zm12
8.003 8.862c.509-.822.256-1.901-.565-2.41-.822-.509-1.9-.256-2.41.565-.175.284-.353.566-.532.846-.521.815-.283 1.897.531 2.418.814.52 1.897.282 2.417-.532.189-.294.375-.59.559-.887zm-124.181-1.845c-.51-.821-1.588-1.074-2.41-.565-.821.509-1.074 1.588-.565 2.41.184.297.37.593.559.887.52.814 1.603 1.052 2.417.532.814-.521 1.052-1.603.531-2.418-.179-.28-.357-.562-.532-.846zm119.372 8.711c.598-.759.467-1.859-.292-2.457-.76-.598-1.86-.467-2.458.292-.206.262-.414.523-.623.781-.609.751-.493 1.853.258 2.462.751.608 1.853.492 2.461-.259.22-.271.438-.544.654-.819zm-114.788-2.165c-.598-.759-1.698-.89-2.458-.292-.759.598-.89 1.698-.292 2.457.216.275.434.548.654.819.608.751 1.71.867 2.461.259.751-.609.867-1.711.258-2.462-.209-.258-.417-.519-.623-.781zm109.245 8.452c.678-.688.67-1.796-.018-2.475-.688-.678-1.796-.67-2.474.018-.234.237-.47.473-.707.706-.688.679-.696 1.787-.017 2.475.678.688 1.786.696 2.474.018.249-.246.496-.493.742-.742zm-103.959-2.457c-.679-.688-1.787-.696-2.475-.017-.688.678-.696
1.786-.018 2.474.246.249.493.496.742.742.688.678 1.796.67 2.474-.018.679-.688.671-1.796-.017-2.474-.237-.234-.473-.47-.706-.707zm5.92 5.369c-.751-.609-1.853-.493-2.462.258-.608.751-.492 1.853.259 2.461.271.22.544.438.819.654.759.598 1.859.467 2.457-.292.598-.76.467-1.86-.292-2.458-.262-.206-.523-.414-.781-.623zm91.829 2.719c.751-.608.867-1.71.259-2.461-.609-.751-1.711-.867-2.462-.258-.258.209-.519.417-.781.623-.759.598-.89 1.698-.292 2.458.598.759 1.698.89 2.457.292.275-.216.548-.434.819-.654zm-6.798 4.904c.814-.52 1.052-1.603.532-2.417-.521-.814-1.603-1.052-2.418-.531-.28.179-.562.357-.846.532-.821.51-1.074 1.588-.565 2.41.509.821 1.588 1.074 2.41.565.297-.184.593-.37.887-.559zm-78.55-2.948c-.815-.521-1.897-.283-2.418.531-.52.814-.282 1.897.532 2.417.294.189.59.375.887.559.822.509 1.901.256 2.41-.565.509-.822.256-1.9-.565-2.41-.284-.175-.566-.353-.846-.532zm6.963 3.92c-.868-.426-1.916-.068-2.343.799-.426.868-.068 1.917.8 2.343.313.154.628.306.944.455.874.414 1.917.042 2.331-.832.41
4-.873.041-1.917-.832-2.331-.301-.142-.601-.287-.9-.434zm64.281 3.142c.868-.426 1.226-1.475.8-2.343-.426-.867-1.475-1.225-2.343-.799-.298.147-.599.292-.9.434-.873.414-1.246 1.458-.832 2.331.414.874 1.457 1.246 2.331.832.316-.149.631-.301.944-.455zm-7.722 3.266c.91-.326 1.384-1.328 1.058-2.238-.325-.91-1.327-1.383-2.237-1.058-.313.112-.627.222-.942.33-.915.313-1.402 1.308-1.09 2.222.313.915 1.308 1.403 2.222 1.09.331-.113.661-.229.989-.346zm-49.201-3.296c-.91-.325-1.912.148-2.237 1.058-.326.91.148 1.912 1.058 2.238.328.117.658.233.989.346.914.313 1.909-.175 2.222-1.09.312-.914-.175-1.909-1.09-2.222-.315-.108-.629-.218-.942-.33zm41.161 5.67c.941-.221 1.525-1.163 1.304-2.104s-1.163-1.524-2.104-1.303c-.324.076-.649.15-.975.221-.944.208-1.54 1.141-1.333 2.085.208.944 1.141 1.541 2.085 1.333.342-.075.683-.152 1.023-.232zm-33.5-3.407c-.941-.221-1.883.362-2.104 1.303s.363 1.883 1.304 2.104c.34.08.681.157 1.023.232.944.208 1.877-.389 2.085-1.333.207-.944-.389-1.877-1.333-2.085-.326-.071-.651
-.145-.975-.221zm7.869 1.385c-.96-.114-1.83.572-1.944 1.531-.114.96.572 1.83 1.532 1.944.347.042.695.08 1.044.117.962.1 1.822-.598 1.923-1.559.1-.961-.598-1.822-1.559-1.922-.333-.035-.665-.072-.996-.111zm17.374 3.475c.96-.114 1.646-.984 1.532-1.944-.114-.959-.984-1.645-1.944-1.531-.331.039-.663.076-.996.111-.961.1-1.659.961-1.559 1.922.101.961.961 1.659 1.923 1.559.349-.037.697-.076 1.044-.117zm-9.395-2.978c-.967-.006-1.756.772-1.762 1.738-.007.967.771 1.756 1.737 1.762.176.001.351.002.527.002s.351-.001.527-.002c.966-.006 1.744-.795 1.737-1.762-.006-.966-.795-1.744-1.762-1.738-.167.001-.334.002-.502.002-.093 0-.185 0-.278-.001-.045 0-.089 0-.134 0-.03 0-.06-.001-.09-.001zm.502-130.998c-.179 0-.357.0008-.536.0024-.966.0084-1.743.7988-1.734 1.7653.008.9664.799 1.743 1.765 1.7345.168-.0015.337-.0022.505-.0022s.337.0007.505.0022c.966.0085 1.757-.7681 1.765-1.7345.009-.9665-.768-1.7569-1.734-1.7653-.179-.0016-.357-.0024-.536-.0024zm-7.515 3.9974c.958-.1279 1.631-1.0081 1.503-1.9661s-1.00
8-1.631-1.966-1.5031c-.352.047-.703.097-1.053.1501-.956.1449-1.613 1.037-1.468 1.9926s1.037 1.6127 1.993 1.4678c.329-.0499.66-.0971.991-.1413zm15.493-3.4692c-.958-.1279-1.838.5451-1.966 1.5031s.545 1.8382 1.503 1.9661c.331.0442.662.0914.991.1413.956.1449 1.848-.5122 1.993-1.4678s-.512-1.8477-1.468-1.9926c-.35-.0531-.701-.1031-1.053-.1501zm-23.35 5.0976c.929-.2635 1.47-1.231 1.206-2.1609-.264-.9298-1.231-1.47-2.161-1.2064-.342.097-.683.1969-1.023.2998-.925.2803-1.447 1.2573-1.167 2.1823s1.257 1.4476 2.182 1.1674c.32-.0968.641-.1909.963-.2822zm31.699-3.3673c-.93-.2636-1.897.2766-2.161 1.2064-.264.9299.277 1.8974 1.206 2.1609.322.0913.643.1854.963.2822.925.2802 1.902-.2424 2.182-1.1674s-.242-1.902-1.167-2.1823c-.34-.1029-.681-.2028-1.023-.2998zm-39.242 6.1049c.882-.3942 1.278-1.4291.884-2.3116s-1.429-1.2783-2.311-.8842c-.325.1451-.648.293-.97.4436-.875.4099-1.253 1.4518-.843 2.3271.41.8752 1.452 1.2525 2.327.8426.303-.1418.607-.281.913-.4175zm47.257-3.1958c-.882-.3941-1.917.0017-2.311.
8842s.002 1.9174.884 2.3116c.306.1365.61.2757.913.4175.875.4099 1.917.0326 2.327-.8426.41-.8753.032-1.9172-.843-2.3271-.322-.1506-.645-.2985-.97-.4436zm7.516 4.0254c-.817-.516-1.898-.2718-2.414.5454s-.271 1.898.546 2.4141c.283.1787.564.3599.844.5436.808.5305 1.893.3056 2.423-.5022.531-.8079.306-1.8929-.502-2.4234-.297-.1951-.596-.3876-.897-.5775zm-61.848 2.9595c.817-.5161 1.062-1.5969.546-2.4141s-1.597-1.0614-2.414-.5454c-.301.1899-.6.3824-.897.5775-.808.5305-1.033 1.6155-.502 2.4234.53.8079 1.615 1.0327 2.423.5022.28-.1837.561-.3649.844-.5436zm68.714 2.0935c-.735-.6268-1.84-.5384-2.467.1974-.626.7357-.538 1.8402.198 2.467.255.2171.508.4364.759.658.724.6397 1.83.5709 2.47-.1536.639-.7245.571-1.8304-.154-2.4701-.266-.2353-.535-.4682-.806-.6987zm-75.179 2.6644c.736-.6268.824-1.7313.198-2.467-.627-.7358-1.732-.8242-2.467-.1974-.271.2305-.54.4634-.806.6987-.725.6397-.793 1.7456-.154 2.4701.64.7245 1.746.7933 2.47.1536.251-.2216.504-.4409.759-.658zm81.26 3.3095c-.639-.7245-1.745-.7933-2.
47-.1536-.724.6397-.793 1.7456-.153 2.4701.221.2509.441.5039.658.7587.626.7358 1.731.8242 2.467.1975.735-.6268.824-1.7313.197-2.467-.231-.2707-.463-.5393-.699-.8057zm-86.987 2.3165c.64-.7245.571-1.8304-.153-2.4701-.725-.6397-1.831-.5709-2.47.1536-.236.2664-.468.535-.699.8057-.627.7357-.538 1.8402.197 2.467.736.6267 1.841.5383 2.467-.1975.217-.2548.437-.5078.658-.7587zm92.162 4.4585c-.531-.8079-1.616-1.0327-2.424-.5022s-1.033 1.6155-.502 2.4234c.184.2796.365.5611.544.8442.516.8172 1.596 1.0614 2.414.5453.817-.516 1.061-1.5968.545-2.414-.19-.3007-.382-.5996-.577-.8967zm-97.034 1.9212c.531-.8079.306-1.8929-.502-2.4234s-1.893-.3057-2.424.5022c-.195.2971-.387.596-.577.8967-.516.8172-.272 1.898.545 2.414.818.5161 1.898.2719 2.414-.5453.179-.2831.36-.5646.544-.8442zm-3.915 7.0062c.41-.8753.033-1.9171-.843-2.3271-.875-.4099-1.917-.0326-2.327.8427-.15.3217-.298.6449-.443.9697-.395.8825.001 1.9174.884 2.3116.882.3941 1.917-.0018 2.311-.8842.137-.3057.276-.61.418-.9127zm105.108-1.4844c-.41-.87
53-1.452-1.2526-2.327-.8427-.876.41-1.253 1.4518-.843 2.3271.142.3027.281.607.418.9127.394.8824 1.429 1.2783 2.311.8842.883-.3942 1.279-1.4291.884-2.3116-.145-.3248-.293-.648-.443-.9697zm-107.981 8.9773c.28-.925-.242-1.902-1.167-2.1822-.925-.2803-1.902.2424-2.183 1.1674-.103.3396-.203.6805-.3 1.0227-.263.9299.277 1.8973 1.207 2.1609s1.897-.2766 2.161-1.2064c.091-.322.185-.6428.282-.9624zm111.034-1.0148c-.281-.925-1.258-1.4477-2.183-1.1674-.925.2802-1.447 1.2572-1.167 2.1822.097.3196.191.6404.282.9624.264.9298 1.231 1.47 2.161 1.2064s1.47-1.231 1.207-2.1609c-.097-.3422-.197-.6831-.3-1.0227zm-112.803 8.8434c.145-.9556-.513-1.8477-1.468-1.9926-.956-.1449-1.848.5122-1.993 1.4678-.053.3501-.103.7012-.15 1.0532-.128.958.545 1.8383 1.503 1.9661.958.1279 1.839-.5451 1.966-1.5031.045-.3314.092-.6619.142-.9914zm114.683-.5248c-.145-.9556-1.037-1.6127-1.993-1.4678-.955.1449-1.613 1.037-1.468 1.9926.05.3295.097.66.142.9914.127.958 1.008 1.631 1.966 1.5031.958-.1278 1.631-1.0081 1.503-1.9661-.047
-.352-.097-.7031-.15-1.0532zm-115.32 8.5262c.009-.9665-.768-1.7568-1.734-1.7653-.967-.0085-1.757.7681-1.766 1.7346-.001.1783-.002.3568-.002.5355s.001.3572.002.5355c.009.9665.799 1.7431 1.766 1.7346.966-.0085 1.743-.7989 1.734-1.7653-.001-.1681-.002-.3364-.002-.5048s.001-.3367.002-.5048zm115.996-.0307c-.009-.9665-.799-1.7431-1.766-1.7346-.966.0085-1.743.7989-1.734 1.7653.001.1016.001.2033.002.305v.1998c0 .1684-.001.3367-.002.5048-.009.9665.768 1.7568 1.734 1.7653.967.0085 1.757-.7681 1.766-1.7346.001-.1783.002-.3568.002-.5355s-.001-.3572-.002-.5355zm-115.501 8.0503c-.127-.958-1.008-1.631-1.966-1.5031-.958.1278-1.631 1.0081-1.503 1.9661.047.352.097.7031.15 1.0532.145.9555 1.037 1.6127 1.993 1.4678.955-.1449 1.613-1.037 1.468-1.9926-.05-.3295-.097-.66-.142-.9914zm114.975.463c.128-.958-.545-1.8383-1.503-1.9661-.958-.1279-1.839.5451-1.966 1.5031-.045.3314-.092.6619-.142.9914-.145.9556.513 1.8477 1.468 1.9926.956.1449 1.848-.5122 1.993-1.4678.053-.3501.103-.7012.15-1.0532zm-113.346 7.3946
c-.264-.9298-1.231-1.47-2.161-1.2064s-1.47 1.231-1.207 2.1609c.097.3422.197.6831.3 1.0227.281.925 1.258 1.4477 2.183 1.1674.925-.2802 1.447-1.2572 1.167-2.1822-.097-.3196-.191-.6404-.282-.9624zm111.616.9545c.263-.9299-.277-1.8973-1.207-2.1609s-1.897.2766-2.161 1.2064c-.091.322-.185.6428-.282.9624-.28.925.242 1.902 1.167 2.1822.925.2803 1.902-.2424 2.183-1.1674.103-.3396.203-.6805.3-1.0227zm-108.879 6.5881c-.394-.8824-1.429-1.2783-2.311-.8842-.883.3942-1.279 1.4291-.884 2.3116.145.3248.293.648.443.9696.41.875 1.452 1.253 2.327.843.876-.41 1.253-1.452.843-2.3273-.142-.3027-.281-.607-.418-.9127zm105.969 1.4274c.395-.8825-.001-1.9174-.884-2.3116-.882-.3941-1.917.0018-2.311.8842-.137.3057-.276.61-.418.9127-.41.8753-.033 1.9173.843 2.3273.875.41 1.917.032 2.327-.843.15-.3216.298-.6448.443-.9696zm-102.18 5.6476c-.516-.817-1.596-1.062-2.414-.546-.817.516-1.061 1.597-.545 2.414.19.301.382.6.577.897.531.808 1.616 1.033 2.424.502.808-.53 1.033-1.615.502-2.423-.184-.28-.365-.561-.544-.844zm98.1
55 1.868c.516-.817.272-1.898-.545-2.414-.818-.516-1.898-.271-2.414.546-.179.283-.36.564-.544.844-.531.808-.306 1.893.502 2.423.808.531 1.893.306 2.424-.502.195-.297.387-.596.577-.897zm-93.397 4.597c-.626-.736-1.731-.824-2.467-.198-.735.627-.824 1.732-.197 2.467.231.271.463.54.699.806.639.725 1.745.793 2.47.154.724-.64.793-1.746.153-2.47-.221-.251-.441-.504-.658-.759zm88.344 2.269c.627-.735.538-1.84-.197-2.467-.736-.626-1.841-.538-2.467.198-.217.255-.437.508-.658.759-.64.724-.571 1.83.153 2.47.725.639 1.831.571 2.47-.154.236-.266.468-.535.699-.806zm-5.974 6.081c.725-.639.793-1.745.154-2.47-.64-.724-1.746-.793-2.47-.153-.251.221-.504.441-.759.658-.736.626-.824 1.731-.198 2.467.627.735 1.732.824 2.467.197.271-.231.54-.463.806-.699zm-76.744-2.623c-.724-.64-1.83-.571-2.47.153-.639.725-.571 1.831.154 2.47.266.236.535.468.806.699.735.627 1.84.538 2.467-.197.626-.736.538-1.841-.198-2.467-.255-.217-.508-.437-.759-.658zm6.38 4.872c-.808-.531-1.893-.306-2.423.502-.531.808-.306 1.893.502 2.424.
297.195.596.387.897.577.817.516 1.898.272 2.414-.545.516-.818.271-1.898-.546-2.414-.283-.179-.564-.36-.844-.544zm63.589 2.926c.808-.531 1.033-1.616.502-2.424-.53-.808-1.615-1.033-2.423-.502-.28.184-.561.365-.844.544-.817.516-1.062 1.596-.546 2.414.516.817 1.597 1.061 2.414.545.301-.19.6-.382.897-.577zm-56.583.989c-.875-.41-1.917-.033-2.327.843-.41.875-.032 1.917.843 2.327.322.15.645.298.97.443.882.395 1.917-.001 2.311-.884.394-.882-.002-1.917-.884-2.311-.306-.137-.61-.276-.913-.418zm49.14 3.17c.875-.41 1.253-1.452.843-2.327-.41-.876-1.452-1.253-2.327-.843-.303.142-.607.281-.913.418-.882.394-1.278 1.429-.884 2.311.394.883 1.429 1.279 2.311.884.325-.145.648-.293.97-.443zm-41.647-.297c-.925-.28-1.902.242-2.182 1.167s.242 1.902 1.167 2.183c.34.103.681.203 1.023.3.93.263 1.897-.277 2.161-1.207s-.277-1.897-1.206-2.161c-.322-.091-.643-.185-.963-.282zm33.685 3.35c.925-.281 1.447-1.258 1.167-2.183s-1.257-1.447-2.182-1.167c-.32.097-.641.191-.963.282-.929.264-1.47 1.231-1.206 2.161s1.231 1.47
2.161 1.207c.342-.097.683-.197 1.023-.3zm-25.856-1.581c-.956-.145-1.848.513-1.993 1.468-.145.956.512 1.848 1.468 1.993.35.053.701.103 1.053.15.958.128 1.838-.545 1.966-1.503s-.545-1.839-1.503-1.966c-.331-.045-.662-.092-.991-.142zm17.537 3.461c.956-.145 1.613-1.037 1.468-1.993-.145-.955-1.037-1.613-1.993-1.468-.329.05-.66.097-.991.142-.958.127-1.631 1.008-1.503 1.966s1.008 1.631 1.966 1.503c.352-.047.703-.097 1.053-.15zm-9.536-2.824c-.966-.009-1.757.768-1.765 1.734-.009.967.768 1.757 1.734 1.766h.102l.16.001c.091.001.183.001.274.001.112 0 .225 0 .337-.001h.091l.108-.001c.966-.009 1.743-.799 1.734-1.766-.008-.966-.799-1.743-1.765-1.734-.168.001-.337.002-.505.002-.064 0-.128 0-.192 0-.104-.001-.209-.001-.313-.002zm-.022-98.9948c.176-.0021.351-.0032.527-.0032s.351.0011.527.0032c.966.0117 1.74.8046 1.728 1.771-.011.9664-.804 1.7404-1.771 1.7287-.161-.0019-.322-.0029-.484-.0029s-.323.001-.484.0029c-.967.0117-1.76-.7623-1.771-1.7287-.012-.9664.762-1.7593 1.728-1.771zm-5.261 2.1143c.176.950
4-.452 1.8634-1.402 2.0392-.316.0585-.63.1208-.944.1868-.945.1992-1.874-.4059-2.073-1.3517-.199-.9457.406-1.8739 1.352-2.0731.341-.072.684-.1398 1.028-.2035.951-.1759 1.864.4519 2.039 1.4023zm11.576 0c.175-.9504 1.088-1.5782 2.039-1.4023.344.0637.687.1315 1.028.2035.946.1992 1.551 1.1274 1.352 2.0731-.199.9458-1.128 1.5509-2.073 1.3517-.313-.066-.628-.1283-.944-.1868-.95-.1758-1.578-1.0888-1.402-2.0392zm-19.392 1.9036c.359.8973-.077 1.9158-.974 2.275-.299.1193-.595.2423-.89.3687-.888.3812-1.917-.0298-2.298-.9179s.03-1.9171.918-2.2984c.321-.1377.644-.2717.969-.4018.897-.3591 1.916.0771 2.275.9744zm27.208 0c.359-.8973 1.378-1.3335 2.275-.9744.325.1301.648.2641.969.4018.888.3813 1.299 1.4103.918 2.2984-.381.8882-1.41 1.2991-2.298.9179-.295-.1264-.591-.2494-.89-.3687-.897-.3592-1.333-1.3777-.974-2.275zm-34.499 3.4018c.528.8097.3 1.8939-.51 2.4217-.269.1754-.536.3541-.8.5359-.797.5475-1.886.3456-2.434-.4508-.547-.7965-.346-1.886.451-2.4335.288-.198.579-.3926.872-.5836.809-.5278 1.894-.29
93 2.421.5103zm41.79 0c.527-.8096 1.612-1.0381 2.421-.5103.293.1911.584.3856.872.5836.797.5475.998 1.637.451 2.4335-.548.7964-1.637.9983-2.434.4508-.264-.1818-.531-.3604-.8-.5359-.81-.5278-1.038-1.612-.51-2.4217zm-48.276 4.7598c.675.6917.662 1.7997-.03 2.4747-.23.2244-.457.4515-.682.6814-.675.6917-1.783.7052-2.474.0302-.692-.675-.705-1.783-.03-2.4747.244-.2502.491-.4975.741-.7417.692-.6751 1.8-.6616 2.475.0301zm54.762 0c.675-.6917 1.783-.7052 2.475-.0301.25.2442.497.4915.741.7417.675.6917.662 1.7997-.03 2.4747-.691.6751-1.799.6615-2.474-.0302-.225-.2299-.452-.457-.682-.6814-.692-.675-.705-1.7829-.03-2.4747zm-60.201 5.9284c.796.5475.998 1.637.451 2.4335-.182.2645-.361.5313-.536.8004-.528.8097-1.612 1.0382-2.422.5104s-1.038-1.6121-.51-2.4217c.191-.2931.385-.5837.583-.8717.548-.7965 1.637-.9984 2.434-.4509zm65.64 0c.797-.5475 1.886-.3456 2.434.4509.198.288.392.5786.583.8717.528.8097.3 1.8939-.51 2.4217s-1.894.2993-2.422-.5103c-.175-.2692-.354-.536-.536-.8005-.547-.7965-.345-1.886.451-2
.4335zm-69.823 6.873c.888.3812 1.299 1.4102.918 2.2984-.127.2945-.25.5909-.369.8891-.359.8972-1.378 1.3335-2.275.9743s-1.333-1.3777-.974-2.275c.13-.325.264-.648.402-.9689.381-.8882 1.41-1.2991 2.298-.9179zm74.006 0c.888-.3812 1.917.0297 2.298.9179.138.3209.272.6439.402.9689.359.8973-.077 1.9158-.974 2.275s-1.916-.0771-2.275-.9743c-.119-.2982-.242-.5946-.369-.8891-.381-.8882.03-1.9172.918-2.2984zm-76.761 7.559c.946.1992 1.551 1.1274 1.351 2.0732-.066.3132-.128.6278-.186.9438-.176.9504-1.089 1.5782-2.04 1.4023-.95-.1759-1.578-1.0889-1.402-2.0392.064-.3443.132-.6871.204-1.0285.199-.9457 1.127-1.5509 2.073-1.3516zm79.516 0c.946-.1993 1.874.4059 2.073 1.3516.072.3414.14.6842.204 1.0285.176.9503-.452 1.8633-1.402 2.0392-.951.1759-1.864-.4519-2.04-1.4023-.058-.316-.12-.6306-.186-.9438-.2-.9458.405-1.874 1.351-2.0732zm-80.734 7.9517c.967.0116 1.741.8045 1.729 1.771-.002.1611-.003.3225-.003.4842s.001.3231.003.4842c.012.9665-.762 1.7594-1.729 1.771-.966.0117-1.759-.7622-1.771-1.7287-.002-.175
2-.003-.3507-.003-.5265s.001-.3513.003-.5265c.012-.9665.805-1.7404 1.771-1.7287zm81.952 0c.966-.0117 1.759.7622 1.771 1.7287.001.0705.001.1411.002.2117.001.1048.001.2098.001.3148 0 .1318-.001.2635-.002.395l-.001.1315c-.012.9665-.805 1.7404-1.771 1.7287-.967-.0116-1.741-.8045-1.729-1.771.002-.1611.003-.3225.003-.4842s-.001-.3231-.003-.4842c-.012-.9665.762-1.7594 1.729-1.771zm-81.609 8.0428c.951-.1759 1.864.4519 2.04 1.4023.058.316.12.6306.186.9438.2.9458-.405 1.874-1.351 2.0732-.946.1993-1.874-.4059-2.073-1.3516-.072-.3414-.14-.6842-.204-1.0285-.176-.9503.452-1.8633 1.402-2.0392zm81.265 0c.951.1759 1.579 1.0889 1.403 2.0392-.064.3443-.132.6871-.204 1.0285-.199.9457-1.127 1.5509-2.073 1.3516-.946-.1992-1.551-1.1274-1.351-2.0732.066-.3132.128-.6278.186-.9438.176-.9504 1.089-1.5782 2.039-1.4023zm-79.361 7.8165c.897-.3592 1.916.0771 2.275.9743.119.2982.242.5946.369.8891.381.8882-.03 1.9172-.918 2.2984s-1.917-.0297-2.298-.9179c-.138-.3209-.272-.6439-.402-.9689-.359-.8973.077-1.9158.974-2.
275zm77.458 0c.897.3592 1.333 1.3777.974 2.275-.13.325-.264.648-.402.9689-.381.8882-1.41 1.2991-2.298.9179s-1.299-1.4102-.918-2.2984c.127-.2945.25-.5909.369-.8891.359-.8972 1.378-1.3335 2.275-.9743zm-74.056 7.2905c.81-.5278 1.894-.2993 2.422.5104.175.2691.354.5359.536.8004.547.7965.345 1.886-.451 2.4335-.797.5471-1.886.3456-2.434-.4509-.198-.288-.392-.5786-.583-.8717-.528-.8097-.3-1.8939.51-2.4217zm70.654 0c.81.5278 1.038 1.6121.51 2.4217-.191.2931-.385.5837-.583.8717-.548.7965-1.637.998-2.434.4509-.796-.5475-.998-1.637-.451-2.4335.182-.2645.361-.5313.536-.8004.528-.8097 1.612-1.0382 2.422-.5104zm-65.894 6.4864c.691-.675 1.799-.662 2.474.03.225.23.452.457.682.682.692.675.705 1.783.03 2.474-.675.692-1.783.705-2.475.03-.25-.244-.497-.491-.741-.741-.675-.692-.662-1.8.03-2.475zm61.134 0c.692.675.705 1.783.03 2.475-.244.25-.491.497-.741.741-.692.675-1.8.662-2.475-.03-.675-.691-.662-1.799.03-2.474.23-.225.457-.452.682-.682.675-.692 1.783-.705 2.474-.03zm-55.206 5.439c.548-.796 1.637-.998
2.434-.451.264.182.531.361.8.536.81.528 1.038 1.612.51 2.422-.527.81-1.612 1.038-2.421.51-.293-.191-.584-.385-.872-.583-.797-.548-.998-1.637-.451-2.434zm49.278 0c.547.797.346 1.886-.451 2.434-.288.198-.579.392-.872.583-.809.528-1.894.3-2.421-.51-.528-.81-.3-1.894.51-2.422.269-.175.536-.354.8-.536.797-.547 1.886-.345 2.434.451zm-42.405 4.183c.381-.888 1.41-1.299 2.298-.918.295.127.591.25.89.369.897.359 1.333 1.378.974 2.275s-1.378 1.333-2.275.974c-.325-.13-.648-.264-.969-.402-.888-.381-1.299-1.41-.918-2.298zm35.532 0c.381.888-.03 1.917-.918 2.298-.321.138-.644.272-.969.402-.897.359-1.916-.077-2.275-.974s.077-1.916.974-2.275c.299-.119.595-.242.89-.369.888-.381 1.917.03 2.298.918zm-27.973 2.755c.199-.946 1.128-1.551 2.073-1.351.313.066.628.128.944.186.95.176 1.578 1.089 1.402 2.039-.175.951-1.088 1.579-2.039 1.403-.344-.064-.687-.132-1.028-.204-.946-.199-1.551-1.127-1.352-2.073zm20.414 0c.199.946-.406 1.874-1.352 2.073-.341.072-.684.14-1.028.204-.951.176-1.864-.452-2.039-1.402-.176-.95
1.452-1.864 1.402-2.04.316-.058.63-.12.944-.186.945-.2 1.874.405 2.073 1.351zm-12.462 1.218c.011-.967.804-1.741 1.771-1.729.161.002.322.003.484.003s.323-.001.484-.003c.967-.012 1.76.762 1.771 1.729.012.966-.762 1.759-1.728 1.771-.044 0-.088.001-.132.001-.132.001-.263.002-.395.002-.105 0-.21 0-.315-.001-.07-.001-.141-.001-.212-.002-.966-.012-1.74-.805-1.728-1.771zm2.255-66.726c-.169 0-.338.0016-.507.0049-.966.0187-1.734.8172-1.716 1.7835.019.9663.818 1.7345 1.784 1.7158.146-.0028.292-.0042.439-.0042s.293.0014.439.0042c.966.0187 1.765-.7495 1.784-1.7158.018-.9663-.75-1.7648-1.716-1.7835-.169-.0033-.338-.0049-.507-.0049zm7.477 1.1027c-.925-.2802-1.902.2424-2.183 1.1674-.28.925.243 1.902 1.168 2.1822.279.0847.556.1746.831.2698.913.3167 1.91-.1669 2.226-1.0801.317-.9131-.167-1.9101-1.08-2.2267-.318-.1103-.639-.2146-.962-.3126zm-13.939 3.3496c.925-.2802 1.448-1.2572 1.168-2.1822-.281-.925-1.258-1.4476-2.183-1.1674-.323.098-.644.2023-.962.3126-.913.3166-1.397 1.3136-1.08 2.2267.316.9132 1.
313 1.3968 2.226 1.0801.275-.0952.552-.1851.831-.2698zm21.188.1714c-.793-.5533-1.884-.3595-2.437.4329-.553.7925-.359 1.8834.433 2.4367.239.1669.475.3384.707.5143.77.5839 1.868.4329 2.451-.3373.584-.7702.433-1.8679-.337-2.4518-.268-.2034-.541-.4018-.817-.5948zm-27.448 2.8696c.792-.5533.986-1.6442.433-2.4367-.553-.7924-1.644-.9862-2.437-.4329-.276.193-.549.3914-.817.5948-.77.5839-.921 1.6816-.337 2.4518.583.7702 1.681.9212 2.451.3373.232-.1759.468-.3474.707-.5143zm33.253 2.7135c-.583-.7701-1.681-.9211-2.451-.3372s-.922 1.6816-.338 2.4518c.176.232.348.4676.515.7066.553.7924 1.644.9862 2.436.4329.793-.5533.987-1.6442.433-2.4367-.193-.2765-.391-.549-.595-.8174zm-38.273 2.1146c.583-.7702.432-1.8679-.338-2.4518s-1.868-.4329-2.451.3373c-.204.2683-.402.5408-.595.8173-.554.7925-.36 1.8834.433 2.4367.792.5533 1.883.3595 2.436-.4329.167-.239.339-.4746.515-.7066zm42.077 4.9894c-.317-.9132-1.314-1.3968-2.227-1.0801-.913.3166-1.397 1.3136-1.08 2.2267.095.2746.185.5515.27.8308.28.925 1.257 1.4477 2
.182 1.1674.925-.2802 1.448-1.2572 1.167-2.1822-.098-.3236-.202-.6445-.312-.9626zm-45.363 1.1466c.317-.9131-.167-1.9101-1.08-2.2267-.913-.3167-1.91.1669-2.227 1.0801-.11.3181-.214.639-.312.9626-.281.925.242 1.902 1.167 2.1822.925.2803 1.902-.2424 2.182-1.1674.085-.2793.175-.5562.27-.8308zm46.773 6.7859c-.019-.9664-.817-1.7346-1.783-1.7159-.967.0187-1.735.8172-1.716 1.7835.003.146.004.2924.004.4391s-.001.2931-.004.4391c-.019.9663.749 1.7648 1.716 1.7835.966.0187 1.764-.7495 1.783-1.7159.003-.1685.005-.3374.005-.5067s-.002-.3382-.005-.5067zm-47.991.0676c.019-.9663-.749-1.7648-1.716-1.7835-.966-.0187-1.764.7495-1.783 1.7159-.003.1685-.005.3374-.005.5067s.002.3382.005.5067c.019.9664.817 1.7346 1.783 1.7159.967-.0187 1.735-.8172 1.716-1.7835-.003-.146-.004-.2924-.004-.4391s.001-.2931.004-.4391zm46.893 7.9157c.281-.925-.242-1.902-1.167-2.1822-.925-.2803-1.902.2424-2.182 1.1674-.085.2793-.175.5562-.27.8308-.317.9131.167 1.9101 1.08 2.2267.913.3167 1.91-.1669 2.227-1.0801.11-.3181.214-.639.
312-.9626zm-45.945-1.0148c-.28-.925-1.257-1.4477-2.182-1.1674-.925.2802-1.448 1.2572-1.167 2.1822.098.3236.202.6445.312.9626.317.9132 1.314 1.3968 2.227 1.0801.913-.3166 1.397-1.3136 1.08-2.2267-.095-.2746-.185-.5515-.27-.8308zm42.424 8.264c.554-.7925.36-1.8834-.433-2.4367-.792-.5534-1.883-.3595-2.436.4329-.167.239-.339.4746-.515.7066-.583.7702-.432 1.8679.338 2.4518s1.868.4329 2.451-.3372c.204-.2684.402-.5409.595-.8174zm-39.383-2.0038c-.553-.7924-1.644-.9862-2.436-.4329-.793.5533-.987 1.6442-.433 2.4367.193.2765.391.549.595.8174.583.7701 1.681.9211 2.451.3372s.922-1.6816.338-2.4518c-.176-.232-.348-.4676-.515-.7066zm33.8 7.8095c.77-.5839.921-1.6816.337-2.4518-.583-.7702-1.681-.9212-2.451-.3373-.232.1759-.468.3474-.707.5143-.792.5533-.986 1.6442-.433 2.4367.553.7924 1.644.9862 2.437.4329.276-.193.549-.3914.817-.5948zm-28.972-2.7891c-.77-.5839-1.868-.4329-2.451.3373-.584.7702-.433 1.8679.337 2.4518.268.2034.541.4018.817.5948.793.5533 1.884.3595 2.437-.4329.553-.7925.359-1.8834-.433-2.
4367-.239-.1669-.475-.3384-.707-.5143zm6.136 3.2855c-.913-.3167-1.91.1669-2.226 1.0801-.317.9131.167 1.9101 1.08 2.2267.318.1103.639.2146.962.3126.925.2802 1.902-.2424 2.183-1.1674.28-.925-.243-1.902-1.168-2.1822-.279-.0847-.556-.1746-.831-.2698zm15.732 3.3068c.913-.3166 1.397-1.3136 1.08-2.2267-.316-.9132-1.313-1.3968-2.226-1.0801-.275.0952-.552.1851-.831.2698-.925.2802-1.448 1.2572-1.168 2.1822.281.925 1.258 1.4476 2.183 1.1674.323-.098.644-.2023.962-.3126zm-8.878-2.0889c-.966-.0187-1.765.7495-1.784 1.7158-.018.9663.75 1.7644 1.716 1.7834.169.003.338.005.507.005s.338-.002.507-.005c.966-.019 1.734-.8171 1.716-1.7834-.019-.9663-.818-1.7345-1.784-1.7158-.146.0028-.292.0042-.439.0042s-.293-.0014-.439-.0042z"/>
+ <path d="m3.75 75c0-39.3503 31.8997-71.25 71.25-71.25 39.35 0 71.25 31.8997 71.25 71.25 0 39.35-31.9 71.25-71.25 71.25-39.3503 0-71.25-31.9-71.25-71.25zm71.25-74.75c-41.2833 0-74.75 33.4667-74.75 74.75 0 41.283 33.4667 74.75 74.75 74.75 41.283 0 74.75-33.467 74.75-74.75 0-41.2833-33.467-74.75-74.75-74.75zm-55.25 74.75c0-30.5137 24.7363-55.25 55.25-55.25 30.514 0 55.25 24.7363 55.25 55.25 0 30.514-24.736 55.25-55.25 55.25-30.5137 0-55.25-24.736-55.25-55.25zm55.25-58.75c-32.4467 0-58.75 26.3033-58.75 58.75 0 32.447 26.3033 58.75 58.75 58.75 32.447 0 58.75-26.303 58.75-58.75 0-32.4467-26.303-58.75-58.75-58.75zm0 19.5c-21.6772 0-39.25 17.5728-39.25 39.25s17.5728 39.25 39.25 39.25 39.25-17.5728 39.25-39.25-17.5728-39.25-39.25-39.25zm-42.75 39.25c0-23.6102 19.1398-42.75 42.75-42.75s42.75 19.1398 42.75 42.75-19.1398 42.75-42.75 42.75-42.75-19.1398-42.75-42.75zm20.5 0c0-12.2883 9.9617-22.25 22.25-22.25s22.25 9.9617 22.25 22.25-9.9617 22.25-22.25 22.25-22.25-9.9617-22.25-22.25zm2
2.25-25.75c-14.2213 0-25.75 11.5287-25.75 25.75s11.5287 25.75 25.75 25.75 25.75-11.5287 25.75-25.75-11.5287-25.75-25.75-25.75z"/>
+ <path d="m228.75 225c0-39.35 31.9-71.25 71.25-71.25s71.25 31.9 71.25 71.25-31.9 71.25-71.25 71.25-71.25-31.9-71.25-71.25zm71.25-74.75c-41.283 0-74.75 33.467-74.75 74.75s33.467 74.75 74.75 74.75 74.75-33.467 74.75-74.75-33.467-74.75-74.75-74.75zm-55.25 74.75c0-30.514 24.736-55.25 55.25-55.25s55.25 24.736 55.25 55.25-24.736 55.25-55.25 55.25-55.25-24.736-55.25-55.25zm55.25-58.75c-32.447 0-58.75 26.303-58.75 58.75s26.303 58.75 58.75 58.75 58.75-26.303 58.75-58.75-26.303-58.75-58.75-58.75zm0 19.5c-21.677 0-39.25 17.573-39.25 39.25s17.573 39.25 39.25 39.25 39.25-17.573 39.25-39.25-17.573-39.25-39.25-39.25zm-42.75 39.25c0-23.61 19.14-42.75 42.75-42.75s42.75 19.14 42.75 42.75-19.14 42.75-42.75 42.75-42.75-19.14-42.75-42.75zm20.5 0c0-12.288 9.962-22.25 22.25-22.25s22.25 9.962 22.25 22.25-9.962 22.25-22.25 22.25-22.25-9.962-22.25-22.25zm22.25-25.75c-14.221 0-25.75 11.529-25.75 25.75s11.529 25.75 25.75 25.75 25.75-11.529 25.75-25.75-11.529-25.75-25.75-25.75z"/>
+ <path d="m828.75 225c0-39.35 31.9-71.25 71.25-71.25v-3.5c-41.283 0-74.75 33.467-74.75 74.75s33.467 74.75 74.75 74.75v-3.5c-39.35 0-71.25-31.9-71.25-71.25zm16 0c0-30.514 24.736-55.25 55.25-55.25v-3.5c-32.447 0-58.75 26.303-58.75 58.75s26.303 58.75 58.75 58.75v-3.5c-30.514 0-55.25-24.736-55.25-55.25zm55.25-39.25c-21.677 0-39.25 17.573-39.25 39.25s17.573 39.25 39.25 39.25v3.5c-23.61 0-42.75-19.14-42.75-42.75s19.14-42.75 42.75-42.75zm-22.25 39.25c0-12.288 9.962-22.25 22.25-22.25v-3.5c-14.221 0-25.75 11.529-25.75 25.75s11.529 25.75 25.75 25.75v-3.5c-12.288 0-22.25-9.962-22.25-22.25z"/>
+ <path d="m71.25 225c0-39.35-31.8997-71.25-71.25-71.25v-3.5c41.2833 0 74.75 33.467 74.75 74.75s-33.4667 74.75-74.75 74.75v-3.5c39.3503 0 71.25-31.9 71.25-71.25zm-16 0c0-30.514-24.7363-55.25-55.25-55.25v-3.5c32.4467 0 58.75 26.303 58.75 58.75s-26.3033 58.75-58.75 58.75v-3.5c30.5137 0 55.25-24.736 55.25-55.25zm-55.25-39.25c21.6772 0 39.25 17.573 39.25 39.25s-17.5728 39.25-39.25 39.25v3.5c23.6102 0 42.75-19.14 42.75-42.75s-19.1398-42.75-42.75-42.75zm22.25 39.25c0-12.288-9.9617-22.25-22.25-22.25v-3.5c14.2213 0 25.75 11.529 25.75 25.75s-11.5287 25.75-25.75 25.75v-3.5c12.2883 0 22.25-9.962 22.25-22.25z"/>
+ <path d="m303.75 75c0-39.3503 31.9-71.25 71.25-71.25s71.25 31.8997 71.25 71.25c0 39.35-31.9 71.25-71.25 71.25s-71.25-31.9-71.25-71.25zm71.25-74.75c-41.283 0-74.75 33.4667-74.75 74.75 0 41.283 33.467 74.75 74.75 74.75s74.75-33.467 74.75-74.75c0-41.2833-33.467-74.75-74.75-74.75zm-55.25 74.75c0-30.5137 24.736-55.25 55.25-55.25s55.25 24.7363 55.25 55.25c0 30.514-24.736 55.25-55.25 55.25s-55.25-24.736-55.25-55.25zm55.25-58.75c-32.447 0-58.75 26.3033-58.75 58.75 0 32.447 26.303 58.75 58.75 58.75s58.75-26.303 58.75-58.75c0-32.4467-26.303-58.75-58.75-58.75zm0 19.5c-21.677 0-39.25 17.5728-39.25 39.25s17.573 39.25 39.25 39.25 39.25-17.5728 39.25-39.25-17.573-39.25-39.25-39.25zm-42.75 39.25c0-23.6102 19.14-42.75 42.75-42.75s42.75 19.1398 42.75 42.75-19.14 42.75-42.75 42.75-42.75-19.1398-42.75-42.75zm20.5 0c0-12.2883 9.962-22.25 22.25-22.25s22.25 9.9617 22.25 22.25-9.962 22.25-22.25 22.25-22.25-9.9617-22.25-22.25zm22.25-25.75c-14.221 0-25.75 11.5287-25.75 25.75s11.529 25.75 25.75 25
.75 25.75-11.5287 25.75-25.75-11.529-25.75-25.75-25.75z"/>
+ <path d="m603.75 75c0-39.3503 31.9-71.25 71.25-71.25s71.25 31.8997 71.25 71.25c0 39.35-31.9 71.25-71.25 71.25s-71.25-31.9-71.25-71.25zm71.25-74.75c-41.283 0-74.75 33.4667-74.75 74.75 0 41.283 33.467 74.75 74.75 74.75s74.75-33.467 74.75-74.75c0-41.2833-33.467-74.75-74.75-74.75zm-55.25 74.75c0-30.5137 24.736-55.25 55.25-55.25s55.25 24.7363 55.25 55.25c0 30.514-24.736 55.25-55.25 55.25s-55.25-24.736-55.25-55.25zm55.25-58.75c-32.447 0-58.75 26.3033-58.75 58.75 0 32.447 26.303 58.75 58.75 58.75s58.75-26.303 58.75-58.75c0-32.4467-26.303-58.75-58.75-58.75zm0 19.5c-21.677 0-39.25 17.5728-39.25 39.25s17.573 39.25 39.25 39.25 39.25-17.5728 39.25-39.25-17.573-39.25-39.25-39.25zm-42.75 39.25c0-23.6102 19.14-42.75 42.75-42.75s42.75 19.1398 42.75 42.75-19.14 42.75-42.75 42.75-42.75-19.1398-42.75-42.75zm20.5 0c0-12.2883 9.962-22.25 22.25-22.25s22.25 9.9617 22.25 22.25-9.962 22.25-22.25 22.25-22.25-9.9617-22.25-22.25zm22.25-25.75c-14.221 0-25.75 11.5287-25.75 25.75s11.529 25.75 25.75 25
.75 25.75-11.5287 25.75-25.75-11.529-25.75-25.75-25.75z"/>
+ <path d="m150 150.25c-.878 0-1.753.015-2.624.045-.966.034-1.722.844-1.689 1.81.033.965.843 1.721 1.809 1.688.831-.029 1.666-.043 2.504-.043s1.673.014 2.504.043c.966.033 1.776-.723 1.809-1.688.033-.966-.723-1.776-1.689-1.81-.871-.03-1.746-.045-2.624-.045zm-11.449 4.415c.954-.154 1.603-1.053 1.449-2.007s-1.053-1.603-2.007-1.449c-1.735.281-3.45.621-5.143 1.018-.941.221-1.525 1.163-1.304 2.104s1.163 1.524 2.104 1.303c1.613-.378 3.248-.702 4.901-.969zm23.456-3.456c-.954-.154-1.853.495-2.007 1.449s.495 1.853 1.449 2.007c1.653.267 3.288.591 4.901.969.941.221 1.883-.362 2.104-1.303s-.363-1.883-1.304-2.104c-1.693-.397-3.408-.737-5.143-1.018zm-36.956 7.031c.905-.339 1.365-1.347 1.026-2.252-.338-.906-1.347-1.365-2.252-1.027-1.642.615-3.258 1.285-4.843 2.009-.879.401-1.266 1.439-.865 2.319.402.879 1.44 1.266 2.319.865 1.511-.69 3.05-1.329 4.615-1.914zm51.124-3.279c-.905-.338-1.914.121-2.252 1.027-.339.905.121 1.913 1.026 2.252 1.565.585 3.104 1.224 4.615 1.914.879.401 1.917.014 2.31
9-.865.401-.88.014-1.918-.865-2.319-1.585-.724-3.201-1.394-4.843-2.009zm-63.661 9.436c.821-.51 1.074-1.588.565-2.41-.509-.821-1.588-1.074-2.41-.565-1.487.922-2.94 1.895-4.355 2.916-.784.565-.961 1.659-.395 2.443.565.784 1.659.961 2.443.395 1.349-.973 2.734-1.9 4.152-2.779zm76.817-2.975c-.822-.509-1.901-.256-2.41.565-.509.822-.256 1.9.565 2.41 1.418.879 2.803 1.806 4.152 2.779.784.566 1.878.389 2.443-.395.566-.784.389-1.878-.395-2.443-1.415-1.021-2.868-1.994-4.355-2.916zm-87.915 11.461c.707-.659.745-1.767.086-2.474-.659-.706-1.7663-.745-2.4731-.086-1.2779 1.192-2.5139 2.428-3.7057 3.706-.6591.707-.6205 1.814.0863 2.473s1.8142.621 2.4733-.086c1.1363-1.218 2.3152-2.397 3.5332-3.533zm99.555-2.56c-.707-.659-1.814-.62-2.473.086-.659.707-.621 1.815.086 2.474 1.218 1.136 2.397 2.315 3.533 3.533.659.707 1.767.745 2.474.086.706-.659.745-1.766.086-2.473-1.192-1.278-2.428-2.514-3.706-3.706zm-108.7948 13.039c.5655-.784.3884-1.878-.3954-2.443-.7838-.566-1.8776-.389-2.4431.395-1.021 1.415-1.9938 2
.868-2.9158 4.355-.5092.822-.2561 1.901.5653 2.41.8215.509 1.9003.256 2.4095-.565.8789-1.418 1.8061-2.803 2.7795-4.152zm118.4858-2.048c-.565-.784-1.659-.961-2.443-.395-.784.565-.961 1.659-.395 2.443.973 1.349 1.9 2.734 2.779 4.152.51.821 1.588 1.074 2.41.565.821-.509 1.074-1.588.565-2.41-.922-1.487-1.895-2.94-2.916-4.355zm-125.5085 14.122c.4015-.879.0143-1.917-.8649-2.319-.8792-.401-1.9173-.014-2.3188.865-.724 1.585-1.3942 3.201-2.0083 4.843-.3385.905.121 1.914 1.0263 2.252.9053.339 1.9135-.121 2.252-1.026.5852-1.565 1.2238-3.104 1.9137-4.615zm132.8765-1.454c-.401-.879-1.439-1.266-2.319-.865-.879.402-1.266 1.44-.865 2.319.69 1.511 1.329 3.05 1.914 4.615.339.905 1.347 1.365 2.252 1.026.906-.338 1.365-1.347 1.027-2.252-.615-1.642-1.285-3.258-2.009-4.843zm-137.3955 14.668c.2209-.941-.3628-1.883-1.3037-2.104s-1.8828.363-2.1037 1.304c-.3975 1.693-.7374 3.408-1.0176 5.143-.1541.954.4944 1.853 1.4486 2.007.9541.154 1.8525-.495 2.0066-1.449.267-1.653.591-3.288.9698-4.901zm142.1385-.8c-.221-
.941-1.163-1.525-2.104-1.304s-1.524 1.163-1.303 2.104c.378 1.613.702 3.248.969 4.901.154.954 1.053 1.603 2.007 1.449s1.603-1.053 1.449-2.007c-.281-1.735-.621-3.45-1.018-5.143zm-143.9799 14.646c.0334-.966-.7226-1.776-1.6885-1.809-.966-.033-1.776.723-1.8094 1.689-.03.871-.0452 1.746-.0452 2.624s.0152 1.753.0452 2.624c.0334.966.8434 1.722 1.8094 1.689.9659-.033 1.7219-.843 1.6885-1.809-.0286-.831-.0431-1.666-.0431-2.504s.0145-1.673.0431-2.504zm145.9119-.12c-.034-.966-.844-1.722-1.81-1.689-.965.033-1.721.843-1.688 1.809.029.831.043 1.666.043 2.504s-.014 1.673-.043 2.504c-.033.966.723 1.776 1.688 1.809.966.033 1.776-.723 1.81-1.689.03-.871.045-1.746.045-2.624s-.015-1.753-.045-2.624zm-145.0403 14.073c-.1541-.954-1.0525-1.603-2.0066-1.449-.9542.154-1.6027 1.053-1.4486 2.007.2802 1.735.6201 3.45 1.0176 5.143.2209.941 1.1628 1.525 2.1037 1.304s1.5246-1.163 1.3037-2.104c-.3788-1.613-.7028-3.248-.9698-4.901zm144.1263.558c.154-.954-.495-1.853-1.449-2.007s-1.853.495-2.007 1.449c-.267 1.653-.591
3.288-.969 4.901-.221.941.362 1.883 1.303 2.104s1.883-.363 2.104-1.304c.397-1.693.737-3.408 1.018-5.143zm-140.5512 12.942c-.3385-.905-1.3467-1.365-2.252-1.026-.9053.338-1.3648 1.347-1.0263 2.252.6141 1.642 1.2843 3.258 2.0083 4.843.4015.879 1.4396 1.266 2.3188.865.8792-.402 1.2664-1.44.8649-2.319-.6899-1.511-1.3285-3.05-1.9137-4.615zm136.7992 1.226c.338-.905-.121-1.914-1.027-2.252-.905-.339-1.913.121-2.252 1.026-.585 1.565-1.224 3.104-1.914 4.615-.401.879-.014 1.917.865 2.319.88.401 1.918.014 2.319-.865.724-1.585 1.394-3.201 2.009-4.843zm-130.6423 11.311c-.5093-.821-1.588-1.074-2.4095-.565-.8214.509-1.0745 1.588-.5653 2.41.922 1.487 1.8948 2.94 2.9158 4.355.5655.784 1.6593.961 2.4431.395.7838-.565.9609-1.659.3954-2.443-.9734-1.349-1.9006-2.734-2.7795-4.152zm124.1813 1.845c.509-.822.256-1.901-.565-2.41-.822-.509-1.9-.256-2.41.565-.879 1.418-1.806 2.803-2.779 4.152-.566.784-.389 1.878.395 2.443.784.566 1.878.389 2.443-.395 1.021-1.415 1.994-2.868 2.916-4.355zm-115.6952 9.253c-.6592-.7
07-1.7665-.745-2.4733-.086s-.7455 1.766-.0863 2.473c1.1918 1.278 2.4278 2.514 3.7057 3.706.7068.659 1.8141.62 2.4731-.086.659-.707.621-1.815-.086-2.474-1.218-1.136-2.3969-2.315-3.5332-3.533zm106.7942 2.387c.659-.707.62-1.814-.086-2.473-.707-.659-1.815-.621-2.474.086-1.136 1.218-2.315 2.397-3.533 3.533-.707.659-.745 1.767-.086 2.474.659.706 1.766.745 2.473.086 1.278-1.192 2.514-2.428 3.706-3.706zm-96.315 6.853c-.784-.566-1.878-.389-2.443.395-.566.784-.389 1.878.395 2.443 1.415 1.021 2.868 1.994 4.355 2.916.822.509 1.901.256 2.41-.565.509-.822.256-1.9-.565-2.41-1.418-.879-2.803-1.806-4.152-2.779zm85.324 2.838c.784-.565.961-1.659.395-2.443-.565-.784-1.659-.961-2.443-.395-1.349.973-2.734 1.9-4.152 2.779-.821.51-1.074 1.588-.565 2.41.509.821 1.588 1.074 2.41.565 1.487-.922 2.94-1.895 4.355-2.916zm-73.25 4.184c-.879-.401-1.917-.014-2.319.865-.401.88-.014 1.918.865 2.319 1.585.724 3.201 1.394 4.843 2.009.905.338 1.914-.121 2.252-1.027.339-.905-.121-1.913-1.026-2.252-1.565-.585-3.104-1.224-
4.615-1.914zm60.582 3.184c.879-.401 1.266-1.439.865-2.319-.402-.879-1.44-1.266-2.319-.865-1.511.69-3.05 1.329-4.615 1.914-.905.339-1.365 1.347-1.026 2.252.338.906 1.347 1.365 2.252 1.027 1.642-.615 3.258-1.285 4.843-2.009zm-47.368 1.336c-.941-.221-1.883.362-2.104 1.303s.363 1.883 1.304 2.104c1.693.397 3.408.737 5.143 1.018.954.154 1.853-.495 2.007-1.449s-.495-1.853-1.449-2.007c-1.653-.267-3.288-.591-4.901-.969zm33.5 3.407c.941-.221 1.525-1.163 1.304-2.104s-1.163-1.524-2.104-1.303c-1.613.378-3.248.702-4.901.969-.954.154-1.603 1.053-1.449 2.007s1.053 1.603 2.007 1.449c1.735-.281 3.45-.621 5.143-1.018zm-19.654-1.566c-.966-.033-1.776.723-1.809 1.688-.033.966.723 1.776 1.689 1.81.871.03 1.746.045 2.624.045s1.753-.015 2.624-.045c.966-.034 1.722-.844 1.689-1.81-.033-.965-.843-1.721-1.809-1.688-.831.029-1.666.043-2.504.043s-1.673-.014-2.504-.043zm2.504-130.957c-.802 0-1.601.016-2.396.047-.965.038-1.717.852-1.679 1.818s.852 1.718 1.817 1.679c.749-.029 1.502-.044 2.258-.044s1.509.015 2.258.04
4c.966.039 1.779-.713 1.817-1.679s-.714-1.78-1.679-1.818c-.795-.031-1.594-.047-2.396-.047zm-10.317 4.444c.95-.176 1.578-1.09 1.402-2.04s-1.089-1.578-2.04-1.402c-1.579.293-3.136.648-4.668 1.062-.933.252-1.485 1.213-1.233 2.146s1.213 1.485 2.146 1.233c1.442-.39 2.907-.724 4.393-.999zm21.272-3.442c-.951-.176-1.864.452-2.04 1.402s.452 1.864 1.402 2.04c1.486.275 2.951.609 4.393.999.933.252 1.894-.3 2.146-1.233s-.3-1.894-1.233-2.146c-1.532-.414-3.089-.769-4.668-1.062zm12.799 3.907c-.887-.385-1.917.022-2.302.909-.384.887.023 1.917.909 2.302 1.383.599 2.737 1.253 4.059 1.958.853.454 1.913.132 2.368-.721.454-.853.132-1.913-.721-2.368-1.405-.749-2.844-1.443-4.313-2.08zm-46.115 3.211c.886-.385 1.293-1.415.909-2.302-.385-.887-1.415-1.294-2.302-.909-1.469.637-2.908 1.331-4.313 2.08-.853.455-1.175 1.515-.721 2.368.455.853 1.515 1.175 2.368.721 1.322-.705 2.676-1.359 4.059-1.958zm-10.921 6.278c.779-.573.946-1.668.373-2.447-.572-.778-1.667-.945-2.446-.373-1.287.946-2.535 1.943-3.741 2.987-.731.633-
.81 1.738-.177 2.469.632.73 1.738.81 2.468.177 1.136-.983 2.311-1.922 3.523-2.813zm68.637-2.82c-.779-.572-1.874-.405-2.446.373-.573.779-.406 1.874.373 2.447 1.212.891 2.387 1.83 3.523 2.813.73.633 1.836.553 2.468-.177.633-.731.554-1.836-.177-2.469-1.206-1.044-2.454-2.041-3.741-2.987zm-77.894 11.367c.633-.73.553-1.836-.177-2.468-.731-.633-1.836-.554-2.469.177-1.044 1.206-2.041 2.454-2.987 3.741-.572.779-.405 1.874.373 2.446.779.573 1.874.406 2.447-.373.891-1.212 1.83-2.387 2.813-3.523zm87.724-2.291c-.633-.731-1.738-.81-2.469-.177-.73.632-.81 1.738-.177 2.468.983 1.136 1.922 2.311 2.813 3.523.573.779 1.668.946 2.447.373.778-.572.945-1.667.373-2.446-.946-1.287-1.943-2.535-2.987-3.741zm7.576 11.029c-.455-.853-1.515-1.175-2.368-.721-.853.455-1.175 1.515-.721 2.368.705 1.322 1.359 2.676 1.958 4.059.385.886 1.415 1.293 2.302.909.887-.385 1.294-1.415.909-2.302-.637-1.469-1.331-2.908-2.08-4.313zm-102.433 1.647c.454-.853.132-1.913-.7213-2.368-.8529-.454-1.9128-.132-2.3675.721-.7489 1.405-1.44
33 2.844-2.0805 4.313-.3846.887.0224 1.917.9091 2.302.8867.384 1.9173-.023 2.3019-.909.5996-1.383 1.2532-2.737 1.9583-4.059zm-4.6354 11.71c.2521-.933-.2999-1.894-1.233-2.146-.933-.252-1.8937.3-2.1459 1.233-.4141 1.532-.7688 3.089-1.0614 4.668-.1761.951.4515 1.864 1.4018 2.04s1.8635-.452 2.0396-1.402c.2754-1.486.6092-2.951.9989-4.393zm111.9934-.913c-.252-.933-1.213-1.485-2.146-1.233s-1.485 1.213-1.233 2.146c.39 1.442.724 2.907.999 4.393.176.95 1.09 1.578 2.04 1.402s1.578-1.089 1.402-2.04c-.293-1.579-.648-3.136-1.062-4.668zm-113.8915 13.365c.0381-.966-.7139-1.779-1.6797-1.817-.9657-.038-1.7795.714-1.8176 1.679-.0314.795-.0472 1.594-.0472 2.396s.0158 1.601.0472 2.396c.0381.965.8519 1.717 1.8176 1.679.9658-.038 1.7178-.852 1.6797-1.817-.0296-.749-.0445-1.502-.0445-2.258s.0149-1.509.0445-2.258zm115.9085-.138c-.038-.965-.852-1.717-1.818-1.679s-1.718.852-1.679 1.817c.029.749.044 1.502.044 2.258s-.015 1.509-.044 2.258c-.039.966.713 1.779 1.679 1.817s1.78-.714 1.818-1.679c.031-.795.047-1.594
.047-2.396s-.016-1.601-.047-2.396zm-115.0093 12.713c-.1761-.95-1.0893-1.578-2.0396-1.402s-1.5779 1.089-1.4018 2.04c.2926 1.579.6473 3.136 1.0614 4.668.2521.933 1.2129 1.485 2.1459 1.233.9331-.252 1.4851-1.213 1.233-2.146-.3897-1.442-.7235-2.907-.9989-4.393zm114.0543.638c.176-.951-.452-1.864-1.402-2.04s-1.864.452-2.04 1.402c-.275 1.486-.609 2.951-.999 4.393-.252.933.3 1.894 1.233 2.146s1.894-.3 2.146-1.233c.414-1.532.769-3.089 1.062-4.668zm-110.3783 11.406c-.3846-.886-1.4152-1.293-2.3019-.909-.8867.385-1.2937 1.415-.9091 2.302.6372 1.469 1.3316 2.908 2.0805 4.313.4547.853 1.5146 1.175 2.3675.721.8533-.455 1.1753-1.515.7213-2.368-.7051-1.322-1.3587-2.676-1.9583-4.059zm106.4713 1.393c.385-.887-.022-1.917-.909-2.302-.887-.384-1.917.023-2.302.909-.599 1.383-1.253 2.737-1.958 4.059-.454.853-.132 1.913.721 2.368.853.454 1.913.132 2.368-.721.749-1.405 1.443-2.844 2.08-4.313zm-100.193 9.528c-.573-.779-1.668-.946-2.447-.373-.778.572-.945 1.667-.373 2.446.946 1.287 1.943 2.535 2.987 3.741.633.
731 1.738.81 2.469.177.73-.632.81-1.738.177-2.468-.983-1.136-1.922-2.311-2.813-3.523zm93.524 2.073c.572-.779.405-1.874-.373-2.446-.779-.573-1.874-.406-2.447.373-.891 1.212-1.83 2.387-2.813 3.523-.633.73-.553 1.836.177 2.468.731.633 1.836.554 2.469-.177 1.044-1.206 2.041-2.454 2.987-3.741zm-84.977 7.184c-.73-.633-1.836-.553-2.468.177-.633.731-.554 1.836.177 2.469 1.206 1.044 2.454 2.041 3.741 2.987.779.572 1.874.405 2.446-.373.573-.779.406-1.874-.373-2.447-1.212-.891-2.387-1.83-3.523-2.813zm75.901 2.646c.731-.633.81-1.738.177-2.469-.632-.73-1.738-.81-2.468-.177-1.136.983-2.311 1.922-3.523 2.813-.779.573-.946 1.668-.373 2.447.572.778 1.667.945 2.446.373 1.287-.946 2.535-1.943 3.741-2.987zm-65.516 4.487c-.853-.454-1.913-.132-2.368.721-.454.853-.132 1.913.721 2.368 1.405.749 2.844 1.443 4.313 2.08.887.385 1.917-.022 2.302-.909.384-.887-.023-1.917-.909-2.302-1.383-.599-2.737-1.253-4.059-1.958zm54.487 3.089c.853-.455 1.175-1.515.721-2.368-.455-.853-1.515-1.175-2.368-.721-1.322.705-2.676 1
.359-4.059 1.958-.886.385-1.293 1.415-.909 2.302.385.887 1.415 1.294 2.302.909 1.469-.637 2.908-1.331 4.313-2.08zm-42.777 1.546c-.933-.252-1.894.3-2.146 1.233s.3 1.894 1.233 2.146c1.532.414 3.089.769 4.668 1.062.951.176 1.864-.452 2.04-1.402s-.452-1.864-1.402-2.04c-1.486-.275-2.951-.609-4.393-.999zm30.333 3.379c.933-.252 1.485-1.213 1.233-2.146s-1.213-1.485-2.146-1.233c-1.442.39-2.907.724-4.393.999-.95.176-1.578 1.09-1.402 2.04s1.089 1.578 2.04 1.402c1.579-.293 3.136-.648 4.668-1.062zm-17.881-1.48c-.966-.039-1.779.713-1.817 1.679s.714 1.78 1.679 1.818c.795.031 1.594.047 2.396.047s1.601-.016 2.396-.047c.965-.038 1.717-.852 1.679-1.818s-.852-1.718-1.817-1.679c-.749.029-1.502.044-2.258.044s-1.509-.015-2.258-.044zm-.139-98.89c.794-.044 1.593-.066 2.397-.066s1.603.022 2.397.066c.965.053 1.704.879 1.65 1.844-.053.965-.878 1.704-1.843 1.651-.73-.041-1.464-.061-2.204-.061s-1.474.02-2.204.061c-.965.053-1.79-.686-1.843-1.651-.054-.965.685-1.791 1.65-1.844zm-6.378 2.587c.247.934-.312 1.891-1.2
46 2.137-1.429.377-2.826.831-4.186 1.36-.901.35-1.915-.097-2.265-.998s.097-1.915.997-2.265c1.483-.576 3.005-1.071 4.563-1.481.934-.246 1.891.312 2.137 1.247zm17.55 0c.246-.935 1.203-1.493 2.137-1.247 1.558.41 3.08.905 4.563 1.481.901.35 1.347 1.364.997 2.265s-1.364 1.348-2.265.998c-1.36-.529-2.757-.983-4.186-1.36-.934-.246-1.493-1.203-1.246-2.137zm-29.509 4.675c.525.812.291 1.895-.521 2.419-1.236.798-2.424 1.663-3.559 2.591-.749.611-1.851.5-2.463-.248-.611-.749-.5-1.851.248-2.463 1.236-1.01 2.53-1.952 3.876-2.82.812-.525 1.895-.291 2.419.521zm41.468 0c.524-.812 1.607-1.046 2.419-.521 1.346.868 2.64 1.81 3.876 2.82.748.612.859 1.714.248 2.463-.612.748-1.714.859-2.463.248-1.135-.928-2.323-1.793-3.559-2.591-.812-.524-1.046-1.607-.521-2.419zm-51.394 8.145c.748.612.859 1.714.248 2.463-.928 1.135-1.793 2.323-2.591 3.559-.524.812-1.607 1.046-2.419.521-.812-.524-1.046-1.607-.521-2.419.868-1.346 1.81-2.64 2.82-3.876.612-.748 1.714-.859 2.463-.248zm61.32 0c.749-.611 1.851-.5 2.463.248 1.01 1.
236 1.952 2.53 2.82 3.876.525.812.291 1.895-.521 2.419-.812.525-1.895.291-2.419-.521-.798-1.236-1.663-2.424-2.591-3.559-.611-.749-.5-1.851.248-2.463zm-68.258 10.805c.901.35 1.348 1.364.998 2.265-.529 1.36-.983 2.757-1.36 4.186-.246.934-1.203 1.493-2.137 1.246-.935-.246-1.493-1.203-1.247-2.137.41-1.558.905-3.08 1.481-4.563.35-.9 1.364-1.347 2.265-.997zm75.196 0c.901-.35 1.915.097 2.265.997.576 1.483 1.071 3.005 1.481 4.563.246.934-.312 1.891-1.247 2.137-.934.247-1.891-.312-2.137-1.246-.377-1.429-.831-2.826-1.36-4.186-.35-.901.097-1.915.998-2.265zm-78.438 12.425c.965.053 1.704.878 1.651 1.843-.041.73-.061 1.464-.061 2.204s.02 1.474.061 2.204c.053.965-.686 1.79-1.651 1.843-.965.054-1.791-.685-1.844-1.65-.044-.794-.066-1.593-.066-2.397s.022-1.603.066-2.397c.053-.965.879-1.704 1.844-1.65zm81.68 0c.965-.054 1.791.685 1.844 1.65.044.794.066 1.593.066 2.397s-.022 1.603-.066 2.397c-.053.965-.879 1.704-1.844 1.65-.965-.053-1.704-.878-1.651-1.843.041-.73.061-1.464.061-2.204s-.02-1.474-.061-2.2
04c-.053-.965.686-1.79 1.651-1.843zm-80.937 12.822c.934-.247 1.891.312 2.137 1.246.377 1.429.831 2.826 1.36 4.186.35.901-.097 1.915-.998 2.265s-1.915-.097-2.265-.997c-.576-1.483-1.071-3.005-1.481-4.563-.246-.934.312-1.891 1.247-2.137zm80.194 0c.935.246 1.493 1.203 1.247 2.137-.41 1.558-.905 3.08-1.481 4.563-.35.901-1.364 1.347-2.265.997s-1.348-1.364-.998-2.265c.529-1.36.983-2.757 1.36-4.186.246-.934 1.203-1.493 2.137-1.246zm-75.519 11.959c.812-.525 1.895-.291 2.419.521.798 1.236 1.663 2.424 2.591 3.559.611.749.5 1.851-.248 2.463-.749.611-1.851.5-2.463-.248-1.01-1.236-1.952-2.53-2.82-3.876-.525-.812-.291-1.895.521-2.419zm70.844 0c.812.524 1.046 1.607.521 2.419-.868 1.346-1.81 2.64-2.82 3.876-.612.748-1.714.859-2.463.248-.748-.612-.859-1.714-.248-2.463.928-1.135 1.793-2.323 2.591-3.559.524-.812 1.607-1.046 2.419-.521zm-62.699 9.926c.612-.748 1.714-.859 2.463-.248 1.135.928 2.323 1.793 3.559 2.591.812.524 1.046 1.607.521 2.419-.524.812-1.607 1.046-2.419.521-1.346-.868-2.64-1.81-3.876-2
.82-.748-.612-.859-1.714-.248-2.463zm54.554 0c.611.749.5 1.851-.248 2.463-1.236 1.01-2.53 1.952-3.876 2.82-.812.525-1.895.291-2.419-.521-.525-.812-.291-1.895.521-2.419 1.236-.798 2.424-1.663 3.559-2.591.749-.611 1.851-.5 2.463.248zm-43.749 6.938c.35-.901 1.364-1.348 2.265-.998 1.36.529 2.757.983 4.186 1.36.934.246 1.493 1.203 1.246 2.137-.246.935-1.203 1.493-2.137 1.247-1.558-.41-3.08-.905-4.563-1.481-.9-.35-1.347-1.364-.997-2.265zm32.944 0c.35.901-.097 1.915-.997 2.265-1.483.576-3.005 1.071-4.563 1.481-.934.246-1.891-.312-2.137-1.247-.247-.934.312-1.891 1.246-2.137 1.429-.377 2.826-.831 4.186-1.36.901-.35 1.915.097 2.265.998zm-20.519 3.242c.053-.965.878-1.704 1.843-1.651.73.041 1.464.061 2.204.061s1.474-.02 2.204-.061c.965-.053 1.79.686 1.843 1.651.054.965-.685 1.791-1.65 1.844-.794.044-1.593.066-2.397.066s-1.603-.022-2.397-.066c-.965-.053-1.704-.879-1.65-1.844zm4.047-66.59c-.81 0-1.612.037-2.403.111-.963.089-1.671.941-1.582 1.904.09.962.942 1.67 1.904 1.581.685-.064 1.379-.096 2.0
81-.096s1.396.032 2.081.096c.962.089 1.814-.619 1.904-1.581.089-.963-.619-1.815-1.582-1.904-.791-.074-1.593-.111-2.403-.111zm10.74 2.34c-.878-.403-1.917-.018-2.32.86-.404.878-.019 1.917.859 2.321 1.267.582 2.47 1.28 3.596 2.08.788.56 1.88.375 2.44-.412.56-.788.376-1.881-.412-2.441-1.303-.925-2.695-1.733-4.163-2.408zm-20.019 3.181c.878-.404 1.263-1.443.859-2.321-.403-.878-1.442-1.263-2.32-.86-1.468.675-2.86 1.483-4.163 2.408-.788.56-.972 1.653-.412 2.441.56.787 1.652.972 2.44.412 1.126-.8 2.329-1.498 3.596-2.08zm30.281 5.326c-.56-.788-1.653-.972-2.441-.412s-.972 1.652-.412 2.44c.8 1.126 1.498 2.329 2.08 3.596.404.878 1.443 1.263 2.321.859.878-.403 1.263-1.442.86-2.32-.675-1.468-1.483-2.86-2.408-4.163zm-39.151 2.028c.56-.788.375-1.88-.412-2.44-.788-.56-1.881-.376-2.441.412-.925 1.303-1.733 2.695-2.408 4.163-.403.878-.018 1.917.86 2.32.878.404 1.917.019 2.321-.859.582-1.267 1.28-2.47 2.08-3.596zm-4.005 10.794c.089-.962-.619-1.814-1.581-1.904-.963-.089-1.815.619-1.904 1.582-.074.791-.11
1 1.593-.111 2.403s.037 1.612.111 2.403c.089.963.941 1.671 1.904 1.582.962-.09 1.67-.942 1.581-1.904-.064-.685-.096-1.379-.096-2.081s.032-1.396.096-2.081zm47.793-.322c-.089-.963-.941-1.671-1.904-1.582-.962.09-1.67.942-1.581 1.904.064.685.096 1.379.096 2.081s-.032 1.396-.096 2.081c-.089.962.619 1.814 1.581 1.904.963.089 1.815-.619 1.904-1.582.074-.791.111-1.593.111-2.403s-.037-1.612-.111-2.403zm-2.229 13.143c.403-.878.018-1.917-.86-2.32-.878-.404-1.917-.019-2.321.859-.582 1.267-1.28 2.47-2.08 3.596-.56.788-.376 1.88.412 2.44s1.881.376 2.441-.412c.925-1.303 1.733-2.695 2.408-4.163zm-43.639-1.461c-.404-.878-1.443-1.263-2.321-.859-.878.403-1.263 1.442-.86 2.32.675 1.468 1.483 2.86 2.408 4.163.56.788 1.653.972 2.441.412.787-.56.972-1.652.412-2.44-.8-1.126-1.498-2.329-2.08-3.596zm7.354 8.87c-.788-.56-1.88-.376-2.44.412s-.376 1.881.412 2.441c1.303.925 2.695 1.733 4.163 2.408.878.403 1.917.018 2.32-.86.404-.878.019-1.917-.859-2.321-1.267-.582-2.47-1.28-3.596-2.08zm27.778 2.853c.788-.56.972-
1.653.412-2.441s-1.652-.972-2.44-.412c-1.126.8-2.329 1.498-3.596 2.08-.878.404-1.263 1.443-.859 2.321.403.878 1.442 1.263 2.32.86 1.468-.675 2.86-1.483 4.163-2.408zm-16.984 1.152c-.962-.089-1.814.619-1.904 1.581-.089.963.619 1.815 1.582 1.904.791.074 1.593.111 2.403.111s1.612-.037 2.403-.111c.963-.089 1.671-.941 1.582-1.904-.09-.962-.942-1.67-1.904-1.581-.685.064-1.379.096-2.081.096s-1.396-.032-2.081-.096z"/>
+ <path d="m750 150.25c-.878 0-1.753.015-2.624.045-.966.034-1.722.844-1.689 1.81.033.965.843 1.721 1.809 1.688.831-.029 1.666-.043 2.504-.043s1.673.014 2.504.043c.966.033 1.776-.723 1.809-1.688.033-.966-.723-1.776-1.689-1.81-.871-.03-1.746-.045-2.624-.045zm-11.449 4.415c.954-.154 1.603-1.053 1.449-2.007s-1.053-1.603-2.007-1.449c-1.735.281-3.45.621-5.143 1.018-.941.221-1.525 1.163-1.304 2.104s1.163 1.524 2.104 1.303c1.613-.378 3.248-.702 4.901-.969zm23.456-3.456c-.954-.154-1.853.495-2.007 1.449s.495 1.853 1.449 2.007c1.653.267 3.288.591 4.901.969.941.221 1.883-.362 2.104-1.303s-.363-1.883-1.304-2.104c-1.693-.397-3.408-.737-5.143-1.018zm-36.956 7.031c.905-.339 1.365-1.347 1.026-2.252-.338-.906-1.347-1.365-2.252-1.027-1.642.615-3.258 1.285-4.843 2.009-.879.401-1.266 1.439-.865 2.319.402.879 1.44 1.266 2.319.865 1.511-.69 3.05-1.329 4.615-1.914zm51.124-3.279c-.905-.338-1.914.121-2.252 1.027-.339.905.121 1.913 1.026 2.252 1.565.585 3.104 1.224 4.615 1.914.879.401 1.917.014 2.31
9-.865.401-.88.014-1.918-.865-2.319-1.585-.724-3.201-1.394-4.843-2.009zm-63.661 9.436c.821-.51 1.074-1.588.565-2.41-.509-.821-1.588-1.074-2.41-.565-1.487.922-2.94 1.895-4.355 2.916-.784.565-.961 1.659-.395 2.443.565.784 1.659.961 2.443.395 1.349-.973 2.734-1.9 4.152-2.779zm76.817-2.975c-.822-.509-1.901-.256-2.41.565-.509.822-.256 1.9.565 2.41 1.418.879 2.803 1.806 4.152 2.779.784.566 1.878.389 2.443-.395.566-.784.389-1.878-.395-2.443-1.415-1.021-2.868-1.994-4.355-2.916zm-87.915 11.461c.707-.659.745-1.767.086-2.474-.659-.706-1.766-.745-2.473-.086-1.278 1.192-2.514 2.428-3.706 3.706-.659.707-.62 1.814.086 2.473.707.659 1.815.621 2.474-.086 1.136-1.218 2.315-2.397 3.533-3.533zm99.555-2.56c-.707-.659-1.814-.62-2.473.086-.659.707-.621 1.815.086 2.474 1.218 1.136 2.397 2.315 3.533 3.533.659.707 1.767.745 2.474.086.706-.659.745-1.766.086-2.473-1.192-1.278-2.428-2.514-3.706-3.706zm-108.795 13.039c.566-.784.389-1.878-.395-2.443-.784-.566-1.878-.389-2.443.395-1.021 1.415-1.994 2.868-2.916 4.3
55-.509.822-.256 1.901.565 2.41.822.509 1.9.256 2.41-.565.879-1.418 1.806-2.803 2.779-4.152zm118.486-2.048c-.565-.784-1.659-.961-2.443-.395-.784.565-.961 1.659-.395 2.443.973 1.349 1.9 2.734 2.779 4.152.51.821 1.588 1.074 2.41.565.821-.509 1.074-1.588.565-2.41-.922-1.487-1.895-2.94-2.916-4.355zm-125.508 14.122c.401-.879.014-1.917-.865-2.319-.88-.401-1.918-.014-2.319.865-.724 1.585-1.394 3.201-2.009 4.843-.338.905.121 1.914 1.027 2.252.905.339 1.913-.121 2.252-1.026.585-1.565 1.224-3.104 1.914-4.615zm132.876-1.454c-.401-.879-1.439-1.266-2.319-.865-.879.402-1.266 1.44-.865 2.319.69 1.511 1.329 3.05 1.914 4.615.339.905 1.347 1.365 2.252 1.026.906-.338 1.365-1.347 1.027-2.252-.615-1.642-1.285-3.258-2.009-4.843zm-137.396 14.668c.221-.941-.362-1.883-1.303-2.104s-1.883.363-2.104 1.304c-.397 1.693-.737 3.408-1.018 5.143-.154.954.495 1.853 1.449 2.007s1.853-.495 2.007-1.449c.267-1.653.591-3.288.969-4.901zm142.139-.8c-.221-.941-1.163-1.525-2.104-1.304s-1.524 1.163-1.303 2.104c.378 1.613.702 3
.248.969 4.901.154.954 1.053 1.603 2.007 1.449s1.603-1.053 1.449-2.007c-.281-1.735-.621-3.45-1.018-5.143zm-143.98 14.646c.033-.966-.723-1.776-1.688-1.809-.966-.033-1.776.723-1.81 1.689-.03.871-.045 1.746-.045 2.624s.015 1.753.045 2.624c.034.966.844 1.722 1.81 1.689.965-.033 1.721-.843 1.688-1.809-.029-.831-.043-1.666-.043-2.504s.014-1.673.043-2.504zm145.912-.12c-.034-.966-.844-1.722-1.81-1.689-.965.033-1.721.843-1.688 1.809.029.831.043 1.666.043 2.504s-.014 1.673-.043 2.504c-.033.966.723 1.776 1.688 1.809.966.033 1.776-.723 1.81-1.689.03-.871.045-1.746.045-2.624s-.015-1.753-.045-2.624zm-145.04 14.073c-.154-.954-1.053-1.603-2.007-1.449s-1.603 1.053-1.449 2.007c.281 1.735.621 3.45 1.018 5.143.221.941 1.163 1.525 2.104 1.304s1.524-1.163 1.303-2.104c-.378-1.613-.702-3.248-.969-4.901zm144.126.558c.154-.954-.495-1.853-1.449-2.007s-1.853.495-2.007 1.449c-.267 1.653-.591 3.288-.969 4.901-.221.941.362 1.883 1.303 2.104s1.883-.363 2.104-1.304c.397-1.693.737-3.408 1.018-5.143zm-140.551 12.942c
-.339-.905-1.347-1.365-2.252-1.026-.906.338-1.365 1.347-1.027 2.252.615 1.642 1.285 3.258 2.009 4.843.401.879 1.439 1.266 2.319.865.879-.402 1.266-1.44.865-2.319-.69-1.511-1.329-3.05-1.914-4.615zm136.799 1.226c.338-.905-.121-1.914-1.027-2.252-.905-.339-1.913.121-2.252 1.026-.585 1.565-1.224 3.104-1.914 4.615-.401.879-.014 1.917.865 2.319.88.401 1.918.014 2.319-.865.724-1.585 1.394-3.201 2.009-4.843zm-130.642 11.311c-.51-.821-1.588-1.074-2.41-.565-.821.509-1.074 1.588-.565 2.41.922 1.487 1.895 2.94 2.916 4.355.565.784 1.659.961 2.443.395.784-.565.961-1.659.395-2.443-.973-1.349-1.9-2.734-2.779-4.152zm124.181 1.845c.509-.822.256-1.901-.565-2.41-.822-.509-1.9-.256-2.41.565-.879 1.418-1.806 2.803-2.779 4.152-.566.784-.389 1.878.395 2.443.784.566 1.878.389 2.443-.395 1.021-1.415 1.994-2.868 2.916-4.355zm-115.695 9.253c-.659-.707-1.767-.745-2.474-.086-.706.659-.745 1.766-.086 2.473 1.192 1.278 2.428 2.514 3.706 3.706.707.659 1.814.62 2.473-.086.659-.707.621-1.815-.086-2.474-1.218-1.136-2.3
97-2.315-3.533-3.533zm106.794 2.387c.659-.707.62-1.814-.086-2.473-.707-.659-1.815-.621-2.474.086-1.136 1.218-2.315 2.397-3.533 3.533-.707.659-.745 1.767-.086 2.474.659.706 1.766.745 2.473.086 1.278-1.192 2.514-2.428 3.706-3.706zm-96.315 6.853c-.784-.566-1.878-.389-2.443.395-.566.784-.389 1.878.395 2.443 1.415 1.021 2.868 1.994 4.355 2.916.822.509 1.901.256 2.41-.565.509-.822.256-1.9-.565-2.41-1.418-.879-2.803-1.806-4.152-2.779zm85.324 2.838c.784-.565.961-1.659.395-2.443-.565-.784-1.659-.961-2.443-.395-1.349.973-2.734 1.9-4.152 2.779-.821.51-1.074 1.588-.565 2.41.509.821 1.588 1.074 2.41.565 1.487-.922 2.94-1.895 4.355-2.916zm-73.25 4.184c-.879-.401-1.917-.014-2.319.865-.401.88-.014 1.918.865 2.319 1.585.724 3.201 1.394 4.843 2.009.905.338 1.914-.121 2.252-1.027.339-.905-.121-1.913-1.026-2.252-1.565-.585-3.104-1.224-4.615-1.914zm60.582 3.184c.879-.401 1.266-1.439.865-2.319-.402-.879-1.44-1.266-2.319-.865-1.511.69-3.05 1.329-4.615 1.914-.905.339-1.365 1.347-1.026 2.252.338.906 1.347 1
.365 2.252 1.027 1.642-.615 3.258-1.285 4.843-2.009zm-47.368 1.336c-.941-.221-1.883.362-2.104 1.303s.363 1.883 1.304 2.104c1.693.397 3.408.737 5.143 1.018.954.154 1.853-.495 2.007-1.449s-.495-1.853-1.449-2.007c-1.653-.267-3.288-.591-4.901-.969zm33.5 3.407c.941-.221 1.525-1.163 1.304-2.104s-1.163-1.524-2.104-1.303c-1.613.378-3.248.702-4.901.969-.954.154-1.603 1.053-1.449 2.007s1.053 1.603 2.007 1.449c1.735-.281 3.45-.621 5.143-1.018zm-19.654-1.566c-.966-.033-1.776.723-1.809 1.688-.033.966.723 1.776 1.689 1.81.871.03 1.746.045 2.624.045s1.753-.015 2.624-.045c.966-.034 1.722-.844 1.689-1.81-.033-.965-.843-1.721-1.809-1.688-.831.029-1.666.043-2.504.043s-1.673-.014-2.504-.043zm2.504-130.957c-.802 0-1.601.016-2.396.047-.965.038-1.717.852-1.679 1.818s.852 1.718 1.817 1.679c.749-.029 1.502-.044 2.258-.044s1.509.015 2.258.044c.966.039 1.779-.713 1.817-1.679s-.714-1.78-1.679-1.818c-.795-.031-1.594-.047-2.396-.047zm-10.317 4.444c.95-.176 1.578-1.09 1.402-2.04s-1.089-1.578-2.04-1.402c-1.579.293
-3.136.648-4.668 1.062-.933.252-1.485 1.213-1.233 2.146s1.213 1.485 2.146 1.233c1.442-.39 2.907-.724 4.393-.999zm21.272-3.442c-.951-.176-1.864.452-2.04 1.402s.452 1.864 1.402 2.04c1.486.275 2.951.609 4.393.999.933.252 1.894-.3 2.146-1.233s-.3-1.894-1.233-2.146c-1.532-.414-3.089-.769-4.668-1.062zm12.799 3.907c-.887-.385-1.917.022-2.302.909-.384.887.023 1.917.909 2.302 1.383.599 2.737 1.253 4.059 1.958.853.454 1.913.132 2.368-.721.454-.853.132-1.913-.721-2.368-1.405-.749-2.844-1.443-4.313-2.08zm-46.115 3.211c.886-.385 1.293-1.415.909-2.302-.385-.887-1.415-1.294-2.302-.909-1.469.637-2.908 1.331-4.313 2.08-.853.455-1.175 1.515-.721 2.368.455.853 1.515 1.175 2.368.721 1.322-.705 2.676-1.359 4.059-1.958zm-10.921 6.278c.779-.573.946-1.668.373-2.447-.572-.778-1.667-.945-2.446-.373-1.287.946-2.535 1.943-3.741 2.987-.731.633-.81 1.738-.177 2.469.632.73 1.738.81 2.468.177 1.136-.983 2.311-1.922 3.523-2.813zm68.637-2.82c-.779-.572-1.874-.405-2.446.373-.573.779-.406 1.874.373 2.447 1.212.891 2.3
87 1.83 3.523 2.813.73.633 1.836.553 2.468-.177.633-.731.554-1.836-.177-2.469-1.206-1.044-2.454-2.041-3.741-2.987zm-77.894 11.367c.633-.73.553-1.836-.177-2.468-.731-.633-1.836-.554-2.469.177-1.044 1.206-2.041 2.454-2.987 3.741-.572.779-.405 1.874.373 2.446.779.573 1.874.406 2.447-.373.891-1.212 1.83-2.387 2.813-3.523zm87.724-2.291c-.633-.731-1.738-.81-2.469-.177-.73.632-.81 1.738-.177 2.468.983 1.136 1.922 2.311 2.813 3.523.573.779 1.668.946 2.447.373.778-.572.945-1.667.373-2.446-.946-1.287-1.943-2.535-2.987-3.741zm7.576 11.029c-.455-.853-1.515-1.175-2.368-.721-.853.455-1.175 1.515-.721 2.368.705 1.322 1.359 2.676 1.958 4.059.385.886 1.415 1.293 2.302.909.887-.385 1.294-1.415.909-2.302-.637-1.469-1.331-2.908-2.08-4.313zm-102.433 1.647c.454-.853.132-1.913-.721-2.368-.853-.454-1.913-.132-2.368.721-.749 1.405-1.443 2.844-2.08 4.313-.385.887.022 1.917.909 2.302.887.384 1.917-.023 2.302-.909.599-1.383 1.253-2.737 1.958-4.059zm-4.635 11.71c.252-.933-.3-1.894-1.233-2.146s-1.894.3-2.146 1.2
33c-.414 1.532-.769 3.089-1.062 4.668-.176.951.452 1.864 1.402 2.04s1.864-.452 2.04-1.402c.275-1.486.609-2.951.999-4.393zm111.993-.913c-.252-.933-1.213-1.485-2.146-1.233s-1.485 1.213-1.233 2.146c.39 1.442.724 2.907.999 4.393.176.95 1.09 1.578 2.04 1.402s1.578-1.089 1.402-2.04c-.293-1.579-.648-3.136-1.062-4.668zm-113.892 13.365c.039-.966-.713-1.779-1.679-1.817s-1.78.714-1.818 1.679c-.031.795-.047 1.594-.047 2.396s.016 1.601.047 2.396c.038.965.852 1.717 1.818 1.679s1.718-.852 1.679-1.817c-.029-.749-.044-1.502-.044-2.258s.015-1.509.044-2.258zm115.909-.138c-.038-.965-.852-1.717-1.818-1.679s-1.718.852-1.679 1.817c.029.749.044 1.502.044 2.258s-.015 1.509-.044 2.258c-.039.966.713 1.779 1.679 1.817s1.78-.714 1.818-1.679c.031-.795.047-1.594.047-2.396s-.016-1.601-.047-2.396zm-115.009 12.713c-.176-.95-1.09-1.578-2.04-1.402s-1.578 1.089-1.402 2.04c.293 1.579.648 3.136 1.062 4.668.252.933 1.213 1.485 2.146 1.233s1.485-1.213 1.233-2.146c-.39-1.442-.724-2.907-.999-4.393zm114.054.638c.176-.951-.452
-1.864-1.402-2.04s-1.864.452-2.04 1.402c-.275 1.486-.609 2.951-.999 4.393-.252.933.3 1.894 1.233 2.146s1.894-.3 2.146-1.233c.414-1.532.769-3.089 1.062-4.668zm-110.378 11.406c-.385-.886-1.415-1.293-2.302-.909-.887.385-1.294 1.415-.909 2.302.637 1.469 1.331 2.908 2.08 4.313.455.853 1.515 1.175 2.368.721.853-.455 1.175-1.515.721-2.368-.705-1.322-1.359-2.676-1.958-4.059zm106.471 1.393c.385-.887-.022-1.917-.909-2.302-.887-.384-1.917.023-2.302.909-.599 1.383-1.253 2.737-1.958 4.059-.454.853-.132 1.913.721 2.368.853.454 1.913.132 2.368-.721.749-1.405 1.443-2.844 2.08-4.313zm-100.193 9.528c-.573-.779-1.668-.946-2.447-.373-.778.572-.945 1.667-.373 2.446.946 1.287 1.943 2.535 2.987 3.741.633.731 1.738.81 2.469.177.73-.632.81-1.738.177-2.468-.983-1.136-1.922-2.311-2.813-3.523zm93.524 2.073c.572-.779.405-1.874-.373-2.446-.779-.573-1.874-.406-2.447.373-.891 1.212-1.83 2.387-2.813 3.523-.633.73-.553 1.836.177 2.468.731.633 1.836.554 2.469-.177 1.044-1.206 2.041-2.454 2.987-3.741zm-84.977 7.184c-.
73-.633-1.836-.553-2.468.177-.633.731-.554 1.836.177 2.469 1.206 1.044 2.454 2.041 3.741 2.987.779.572 1.874.405 2.446-.373.573-.779.406-1.874-.373-2.447-1.212-.891-2.387-1.83-3.523-2.813zm75.901 2.646c.731-.633.81-1.738.177-2.469-.632-.73-1.738-.81-2.468-.177-1.136.983-2.311 1.922-3.523 2.813-.779.573-.946 1.668-.373 2.447.572.778 1.667.945 2.446.373 1.287-.946 2.535-1.943 3.741-2.987zm-65.516 4.487c-.853-.454-1.913-.132-2.368.721-.454.853-.132 1.913.721 2.368 1.405.749 2.844 1.443 4.313 2.08.887.385 1.917-.022 2.302-.909.384-.887-.023-1.917-.909-2.302-1.383-.599-2.737-1.253-4.059-1.958zm54.487 3.089c.853-.455 1.175-1.515.721-2.368-.455-.853-1.515-1.175-2.368-.721-1.322.705-2.676 1.359-4.059 1.958-.886.385-1.293 1.415-.909 2.302.385.887 1.415 1.294 2.302.909 1.469-.637 2.908-1.331 4.313-2.08zm-42.777 1.546c-.933-.252-1.894.3-2.146 1.233s.3 1.894 1.233 2.146c1.532.414 3.089.769 4.668 1.062.951.176 1.864-.452 2.04-1.402s-.452-1.864-1.402-2.04c-1.486-.275-2.951-.609-4.393-.999zm30.333
3.379c.933-.252 1.485-1.213 1.233-2.146s-1.213-1.485-2.146-1.233c-1.442.39-2.907.724-4.393.999-.95.176-1.578 1.09-1.402 2.04s1.089 1.578 2.04 1.402c1.579-.293 3.136-.648 4.668-1.062zm-17.881-1.48c-.966-.039-1.779.713-1.817 1.679s.714 1.78 1.679 1.818c.795.031 1.594.047 2.396.047s1.601-.016 2.396-.047c.965-.038 1.717-.852 1.679-1.818s-.852-1.718-1.817-1.679c-.749.029-1.502.044-2.258.044s-1.509-.015-2.258-.044zm-.139-98.89c.794-.044 1.593-.066 2.397-.066s1.603.022 2.397.066c.965.053 1.704.879 1.65 1.844-.053.965-.878 1.704-1.843 1.651-.73-.041-1.464-.061-2.204-.061s-1.474.02-2.204.061c-.965.053-1.79-.686-1.843-1.651-.054-.965.685-1.791 1.65-1.844zm-6.378 2.587c.247.934-.312 1.891-1.246 2.137-1.429.377-2.826.831-4.186 1.36-.901.35-1.915-.097-2.265-.998s.097-1.915.997-2.265c1.483-.576 3.005-1.071 4.563-1.481.934-.246 1.891.312 2.137 1.247zm17.55 0c.246-.935 1.203-1.493 2.137-1.247 1.558.41 3.08.905 4.563 1.481.901.35 1.347 1.364.997 2.265s-1.364 1.348-2.265.998c-1.36-.529-2.757-.983-4.
186-1.36-.934-.246-1.493-1.203-1.246-2.137zm-29.509 4.675c.525.812.291 1.895-.521 2.419-1.236.798-2.424 1.663-3.559 2.591-.749.611-1.851.5-2.463-.248-.611-.749-.5-1.851.248-2.463 1.236-1.01 2.53-1.952 3.876-2.82.812-.525 1.895-.291 2.419.521zm41.468 0c.524-.812 1.607-1.046 2.419-.521 1.346.868 2.64 1.81 3.876 2.82.748.612.859 1.714.248 2.463-.612.748-1.714.859-2.463.248-1.135-.928-2.323-1.793-3.559-2.591-.812-.524-1.046-1.607-.521-2.419zm-51.394 8.145c.748.612.859 1.714.248 2.463-.928 1.135-1.793 2.323-2.591 3.559-.524.812-1.607 1.046-2.419.521-.812-.524-1.046-1.607-.521-2.419.868-1.346 1.81-2.64 2.82-3.876.612-.748 1.714-.859 2.463-.248zm61.32 0c.749-.611 1.851-.5 2.463.248 1.01 1.236 1.952 2.53 2.82 3.876.525.812.291 1.895-.521 2.419-.812.525-1.895.291-2.419-.521-.798-1.236-1.663-2.424-2.591-3.559-.611-.749-.5-1.851.248-2.463zm-68.258 10.805c.901.35 1.348 1.364.998 2.265-.529 1.36-.983 2.757-1.36 4.186-.246.934-1.203 1.493-2.137 1.246-.935-.246-1.493-1.203-1.247-2.137.41-1.558.905
-3.08 1.481-4.563.35-.9 1.364-1.347 2.265-.997zm75.196 0c.901-.35 1.915.097 2.265.997.576 1.483 1.071 3.005 1.481 4.563.246.934-.312 1.891-1.247 2.137-.934.247-1.891-.312-2.137-1.246-.377-1.429-.831-2.826-1.36-4.186-.35-.901.097-1.915.998-2.265zm-78.438 12.425c.965.053 1.704.878 1.651 1.843-.041.73-.061 1.464-.061 2.204s.02 1.474.061 2.204c.053.965-.686 1.79-1.651 1.843-.965.054-1.791-.685-1.844-1.65-.044-.794-.066-1.593-.066-2.397s.022-1.603.066-2.397c.053-.965.879-1.704 1.844-1.65zm81.68 0c.965-.054 1.791.685 1.844 1.65.044.794.066 1.593.066 2.397s-.022 1.603-.066 2.397c-.053.965-.879 1.704-1.844 1.65-.965-.053-1.704-.878-1.651-1.843.041-.73.061-1.464.061-2.204s-.02-1.474-.061-2.204c-.053-.965.686-1.79 1.651-1.843zm-80.937 12.822c.934-.247 1.891.312 2.137 1.246.377 1.429.831 2.826 1.36 4.186.35.901-.097 1.915-.998 2.265s-1.915-.097-2.265-.997c-.576-1.483-1.071-3.005-1.481-4.563-.246-.934.312-1.891 1.247-2.137zm80.194 0c.935.246 1.493 1.203 1.247 2.137-.41 1.558-.905 3.08-1.481 4.5
63-.35.901-1.364 1.347-2.265.997s-1.348-1.364-.998-2.265c.529-1.36.983-2.757 1.36-4.186.246-.934 1.203-1.493 2.137-1.246zm-75.519 11.959c.812-.525 1.895-.291 2.419.521.798 1.236 1.663 2.424 2.591 3.559.611.749.5 1.851-.248 2.463-.749.611-1.851.5-2.463-.248-1.01-1.236-1.952-2.53-2.82-3.876-.525-.812-.291-1.895.521-2.419zm70.844 0c.812.524 1.046 1.607.521 2.419-.868 1.346-1.81 2.64-2.82 3.876-.612.748-1.714.859-2.463.248-.748-.612-.859-1.714-.248-2.463.928-1.135 1.793-2.323 2.591-3.559.524-.812 1.607-1.046 2.419-.521zm-62.699 9.926c.612-.748 1.714-.859 2.463-.248 1.135.928 2.323 1.793 3.559 2.591.812.524 1.046 1.607.521 2.419-.524.812-1.607 1.046-2.419.521-1.346-.868-2.64-1.81-3.876-2.82-.748-.612-.859-1.714-.248-2.463zm54.554 0c.611.749.5 1.851-.248 2.463-1.236 1.01-2.53 1.952-3.876 2.82-.812.525-1.895.291-2.419-.521-.525-.812-.291-1.895.521-2.419 1.236-.798 2.424-1.663 3.559-2.591.749-.611 1.851-.5 2.463.248zm-43.749 6.938c.35-.901 1.364-1.348 2.265-.998 1.36.529 2.757.983 4.186 1.3
6.934.246 1.493 1.203 1.246 2.137-.246.935-1.203 1.493-2.137 1.247-1.558-.41-3.08-.905-4.563-1.481-.9-.35-1.347-1.364-.997-2.265zm32.944 0c.35.901-.097 1.915-.997 2.265-1.483.576-3.005 1.071-4.563 1.481-.934.246-1.891-.312-2.137-1.247-.247-.934.312-1.891 1.246-2.137 1.429-.377 2.826-.831 4.186-1.36.901-.35 1.915.097 2.265.998zm-20.519 3.242c.053-.965.878-1.704 1.843-1.651.73.041 1.464.061 2.204.061s1.474-.02 2.204-.061c.965-.053 1.79.686 1.843 1.651.054.965-.685 1.791-1.65 1.844-.794.044-1.593.066-2.397.066s-1.603-.022-2.397-.066c-.965-.053-1.704-.879-1.65-1.844zm4.047-66.59c-.81 0-1.612.037-2.403.111-.963.089-1.671.941-1.582 1.904.09.962.942 1.67 1.904 1.581.685-.064 1.379-.096 2.081-.096s1.396.032 2.081.096c.962.089 1.814-.619 1.904-1.581.089-.963-.619-1.815-1.582-1.904-.791-.074-1.593-.111-2.403-.111zm10.74 2.34c-.878-.403-1.917-.018-2.32.86-.404.878-.019 1.917.859 2.321 1.267.582 2.47 1.28 3.596 2.08.788.56 1.88.375 2.44-.412.56-.788.376-1.881-.412-2.441-1.303-.925-2.695-1.733-4
.163-2.408zm-20.019 3.181c.878-.404 1.263-1.443.859-2.321-.403-.878-1.442-1.263-2.32-.86-1.468.675-2.86 1.483-4.163 2.408-.788.56-.972 1.653-.412 2.441.56.787 1.652.972 2.44.412 1.126-.8 2.329-1.498 3.596-2.08zm30.281 5.326c-.56-.788-1.653-.972-2.441-.412s-.972 1.652-.412 2.44c.8 1.126 1.498 2.329 2.08 3.596.404.878 1.443 1.263 2.321.859.878-.403 1.263-1.442.86-2.32-.675-1.468-1.483-2.86-2.408-4.163zm-39.151 2.028c.56-.788.375-1.88-.412-2.44-.788-.56-1.881-.376-2.441.412-.925 1.303-1.733 2.695-2.408 4.163-.403.878-.018 1.917.86 2.32.878.404 1.917.019 2.321-.859.582-1.267 1.28-2.47 2.08-3.596zm-4.005 10.794c.089-.962-.619-1.814-1.581-1.904-.963-.089-1.815.619-1.904 1.582-.074.791-.111 1.593-.111 2.403s.037 1.612.111 2.403c.089.963.941 1.671 1.904 1.582.962-.09 1.67-.942 1.581-1.904-.064-.685-.096-1.379-.096-2.081s.032-1.396.096-2.081zm47.793-.322c-.089-.963-.941-1.671-1.904-1.582-.962.09-1.67.942-1.581 1.904.064.685.096 1.379.096 2.081s-.032 1.396-.096 2.081c-.089.962.619 1.814 1.581
1.904.963.089 1.815-.619 1.904-1.582.074-.791.111-1.593.111-2.403s-.037-1.612-.111-2.403zm-2.229 13.143c.403-.878.018-1.917-.86-2.32-.878-.404-1.917-.019-2.321.859-.582 1.267-1.28 2.47-2.08 3.596-.56.788-.376 1.88.412 2.44s1.881.376 2.441-.412c.925-1.303 1.733-2.695 2.408-4.163zm-43.639-1.461c-.404-.878-1.443-1.263-2.321-.859-.878.403-1.263 1.442-.86 2.32.675 1.468 1.483 2.86 2.408 4.163.56.788 1.653.972 2.441.412.787-.56.972-1.652.412-2.44-.8-1.126-1.498-2.329-2.08-3.596zm7.354 8.87c-.788-.56-1.88-.376-2.44.412s-.376 1.881.412 2.441c1.303.925 2.695 1.733 4.163 2.408.878.403 1.917.018 2.32-.86.404-.878.019-1.917-.859-2.321-1.267-.582-2.47-1.28-3.596-2.08zm27.778 2.853c.788-.56.972-1.653.412-2.441s-1.652-.972-2.44-.412c-1.126.8-2.329 1.498-3.596 2.08-.878.404-1.263 1.443-.859 2.321.403.878 1.442 1.263 2.32.86 1.468-.675 2.86-1.483 4.163-2.408zm-16.984 1.152c-.962-.089-1.814.619-1.904 1.581-.089.963.619 1.815 1.582 1.904.791.074 1.593.111 2.403.111s1.612-.037 2.403-.111c.963-.089 1.6
71-.941 1.582-1.904-.09-.962-.942-1.67-1.904-1.581-.685.064-1.379.096-2.081.096s-1.396-.032-2.081-.096z"/>
+ <path d="m528.75 225c0-39.35 31.9-71.25 71.25-71.25s71.25 31.9 71.25 71.25-31.9 71.25-71.25 71.25-71.25-31.9-71.25-71.25zm71.25-74.75c-41.283 0-74.75 33.467-74.75 74.75s33.467 74.75 74.75 74.75 74.75-33.467 74.75-74.75-33.467-74.75-74.75-74.75zm-55.25 74.75c0-30.514 24.736-55.25 55.25-55.25s55.25 24.736 55.25 55.25-24.736 55.25-55.25 55.25-55.25-24.736-55.25-55.25zm55.25-58.75c-32.447 0-58.75 26.303-58.75 58.75s26.303 58.75 58.75 58.75 58.75-26.303 58.75-58.75-26.303-58.75-58.75-58.75zm0 19.5c-21.677 0-39.25 17.573-39.25 39.25s17.573 39.25 39.25 39.25 39.25-17.573 39.25-39.25-17.573-39.25-39.25-39.25zm-42.75 39.25c0-23.61 19.14-42.75 42.75-42.75s42.75 19.14 42.75 42.75-19.14 42.75-42.75 42.75-42.75-19.14-42.75-42.75zm20.5 0c0-12.288 9.962-22.25 22.25-22.25s22.25 9.962 22.25 22.25-9.962 22.25-22.25 22.25-22.25-9.962-22.25-22.25zm22.25-25.75c-14.221 0-25.75 11.529-25.75 25.75s11.529 25.75 25.75 25.75 25.75-11.529 25.75-25.75-11.529-25.75-25.75-25.75z"/>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/devtools/client/themes/images/aboutdebugging-firefox-aurora.svg b/devtools/client/themes/images/aboutdebugging-firefox-aurora.svg
index d4c0cdace9fe..9240dc6e84ca 100644
--- a/devtools/client/themes/images/aboutdebugging-firefox-aurora.svg
+++ b/devtools/client/themes/images/aboutdebugging-firefox-aurora.svg
@@ -1,4 +1,31 @@
-<!-- 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/. -->
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><linearGradient x1="42%" y1="-10%" x2="61%" y2="114%" id="f"><stop stop-color="#AAF2FF" offset="0%"/><stop stop-color="#0DF" offset="29%"/><stop stop-color="#0090ED" offset="61%"/><stop stop-color="#0250BB" offset="89%"/></linearGradient><linearGradient x1="38%" y1="0%" x2="63%" y2="124%" id="g"><stop stop-color="#AAF2FF" offset="0%"/><stop stop-color="#0DF" offset="29%"/><stop stop-color="#0090ED" offset="74%"/><stop stop-color="#0250BB" offset="100%"/></linearGradient><linearGradient x1="86%" y1="15%" x2="20%" y2="84%" id="k"><stop stop-color="#80EBFF" stop-opacity=".5" offset="24%"/><stop stop-color="#0DF" stop-opacity="0" offset="70%"/></linearGradient><linearGradient x1="61%" y1="-10%" x2="20%" y2="149%" id="l"><stop stop-color="#BFF3FF" stop-opacity=".9" offset="0%"/><stop stop-color="#80EBFF" stop-opacity=".5" offset="100%"/></linearGradient><linearGradient x1="51%" y1="-2%" x2="48%" y2="139%" id="m"><stop st
op-color="#BFF3FF" offset="0%"/><stop stop-color="#0DF" stop-opacity="0" offset="100%"/></linearGradient><linearGradient x1="52%" y1="-4%" x2="47%" y2="143%" id="n"><stop stop-color="#BFF3FF" offset="0%"/><stop stop-color="#AAF2FF" stop-opacity=".5" offset="100%"/></linearGradient><linearGradient x1="53%" y1="-2%" x2="47%" y2="142%" id="o"><stop stop-color="#BFF3FF" offset="0%"/><stop stop-color="#0DF" stop-opacity="0" offset="100%"/></linearGradient><linearGradient x1="49%" y1="-2%" x2="57%" y2="123%" id="p"><stop stop-color="#BFF3FF" stop-opacity=".8" offset="0%"/><stop stop-color="#80EBFF" stop-opacity=".2" offset="100%"/></linearGradient><linearGradient x1="117%" y1="-23%" x2="24%" y2="128%" id="q"><stop stop-color="#BFF3FF" stop-opacity=".8" offset="0%"/><stop stop-color="#80EBFF" stop-opacity=".2" offset="100%"/></linearGradient><linearGradient x1="52%" y1="-1%" x2="47%" y2="137%" id="r"><stop stop-color="#0DF" stop-opacity=".4" offset="0%"/><stop stop-color="#0DF" stop-opacit
y="0" offset="100%"/></linearGradient><linearGradient x1="50%" y1="-12%" x2="50%" y2="99%" id="s"><stop stop-color="#BFF3FF" offset="0%"/><stop stop-color="#0DF" stop-opacity="0" offset="100%"/></linearGradient><linearGradient x1="53%" y1="-3%" x2="47%" y2="142%" id="t"><stop stop-color="#BFF3FF" stop-opacity=".8" offset="0%"/><stop stop-color="#0DF" stop-opacity="0" offset="100%"/></linearGradient><radialGradient cx="55%" cy="25%" r="60%" id="a"><stop stop-color="#0DF" stop-opacity=".4" offset="10%"/><stop stop-color="#7542E5" stop-opacity=".25" offset="90%"/></radialGradient><radialGradient cx="49.238%" cy="52.7%" fx="49%" fy="52.7%" r="51%" id="b"><stop stop-color="#7542E5" stop-opacity="0" offset="91%"/><stop stop-color="#0DF" stop-opacity=".4" offset="100%"/></radialGradient><radialGradient cx="86%" cy="-13%" fx="86%" fy="-13%" r="128%" gradientTransform="matrix(.81263 0 0 1 .16 0)" id="c"><stop stop-color="#80EBFF" offset="0%"/><stop stop-color="#0DF" offset="26%"/><stop stop-
color="#0090ED" offset="53%"/><stop stop-color="#0060DF" offset="86%"/></radialGradient><radialGradient cx="47.729%" cy="40%" fx="48%" fy="40%" r="128%" gradientTransform="matrix(.81263 0 0 1 .09 0)" id="d"><stop stop-color="#321C64" stop-opacity=".8" offset="30%"/><stop stop-color="#212F83" stop-opacity=".5" offset="37%"/><stop stop-color="#0A47AC" stop-opacity=".14" offset="48%"/><stop stop-color="#0250BB" stop-opacity="0" offset="53%"/></radialGradient><radialGradient cx="90%" cy="-50%" r="210%" gradientTransform="matrix(.83857 0 0 1 .128 0)" id="e"><stop stop-color="#80EBFF" offset="0%"/><stop stop-color="#00B3F4" offset="47%"/><stop stop-color="#0060DF" offset="84%"/><stop stop-color="#592ACB" offset="100%"/></radialGradient><radialGradient cx="208%" cy="-104%" fx="208%" fy="-104%" r="300%" gradientTransform="matrix(1 0 0 .99746 0 -.003)" id="h"><stop stop-color="#0DF" offset="0%"/><stop stop-color="#0090ED" offset="82%"/></radialGradient><radialGradient cx="155%" cy="-45%" fx=
"155%" fy="-45%" r="313%" gradientTransform="matrix(.8937 0 0 1 .165 0)" id="i"><stop stop-color="#80EBFF" offset="29%"/><stop stop-color="#00B3F4" offset="100%"/></radialGradient><radialGradient cx="15%" cy="-43%" fx="15%" fy="-43%" r="230%" gradientTransform="matrix(.9814 0 0 1 .003 0)" id="j"><stop stop-color="#AAF2FF" offset="18%"/><stop stop-color="#0DF" offset="43%"/><stop stop-color="#0060DF" offset="69%"/></radialGradient></defs><path fill="#09204d" d="M146.622 289.098l15.141 41.978 22.752 30.697 53.417 10.188 25.555 2.174 43.626-10.899 18.794-18.015-179.285-56.123z"/><path fill="#09204d" d="M372.686 227.178l-5.348-17.744-15.292-28.856-17.493-18.437-18.57-13.258-16.124-6.329-19.347-6.882-31.855-2.027-20.087 3.625-16.39 5.038-29.082 17.02-18.176 20.277-16.76 27.22-6.593 23.164-1.232 35.146 6.285 23.963 13.863 27.282 9.778 13.177 13.52 12.395 16.886 11.423 20.822 9.056 34.846 4.09 18.195.507 26.929-7.585 24.07-13.21 15.486-13.211 12.008-14.326 16.977-33.232 3.748-22.733-1.064-
35.553z"/><path fill="#0e56d7" d="M249.24 149.615l-14.266 14.154 23.271 9.433 17.311-21.467-26.316-2.12z"/><path fill="#1053d1" d="M258.245 173.202l45.053-1.367-27.742-20.1-17.311 21.467z"/><path fill="#0b4fbf" d="M299.951 151.584l-24.395.151 27.742 20.1 25.654-1.675-29.001-18.576z"/><path fill="#0b48b0" d="M328.952 170.16l-14.584-20.11 20.185 12.091-5.601 8.019z"/><path fill="#0c45a7" d="M348.265 182.475l-19.313-12.315 5.601-8.019 13.712 20.334z"/><path fill="#0f46af" d="M328.952 170.16l-3.231 13.777 17.664 7.06-14.433-20.837z"/><path fill="#0c47ad" d="M328.952 170.16l19.313 12.315-4.88 8.522-14.433-20.837z"/><path fill="#0e4fc3" d="M303.298 171.835l25.654-1.675-3.231 13.777-22.423-12.102z"/><path fill="#174dca" d="M303.298 171.835l-20.269 18.347 26.087 12.775-5.818-31.122z"/><path fill="#1650d4" d="M258.245 173.202l45.053-1.367-20.269 18.347-24.784-16.98z"/><path fill="#1246b2" d="M325.721 183.937l12.268 23.791 5.396-16.731-17.664-7.06z"/><path fill="#133ea1" d="M337.989 207.728l5
.396-16.731 12.853 30.569-18.249-13.838z"/><path fill="#103d98" d="M343.385 190.997l19.589 14.346-6.736 16.223-12.853-30.569z"/><path fill="#0b3785" d="M348.265 182.475l3.781-1.897 10.928 24.765-14.709-22.868z"/><path fill="#0b3685" d="M362.974 205.343l4.364 4.091-15.292-28.856 10.928 24.765z"/><path d="M362.974 205.342l-14.709-22.867-4.88 8.525zm-28.421-43.2l13.712 20.334 3.781-1.9z" fill="#0c3b91"/><path fill="#0b3279" d="M371.703 241.042l-4.365-31.608 5.348 17.744-1.054 13.864h.071z"/><path fill="#0f388d" d="M362.974 205.343l8.729 35.699-4.365-31.608-4.364-4.091z"/><path fill="#0d3481" d="M356.238 221.566l15.465 19.476-8.729-35.699-6.736 16.223z"/><path fill="#0b2e71" d="M371.632 241.042l1.054-13.864 1.064 35.553-2.047-21.689h-.071z"/><path fill="#0e2f77" d="M369.111 269.139l4.639-6.408-2.047-21.689-2.592 28.097z"/><path fill="#0e2969" d="M370.002 285.464l-3.709 1.787 7.457-24.52-3.748 22.733z"/><path fill="#0c2a69" d="M366.293 287.251l7.457-24.52-4.639 6.408-2.818 18.112z"/><pat
h fill="#123180" d="M369.111 269.139l2.592-28.097-7.945 9.372 5.353 18.725z"/><path fill="#112b70" d="M366.293 287.251l2.818-18.112-15.324 25.753 12.506-7.641z"/><path fill="#12378c" d="M356.238 221.566l15.465 19.476-7.945 9.372-7.52-28.848z"/><path fill="#122e7b" d="M369.111 269.139l-5.353-18.725-8.079 23.064 13.432-4.339z"/><path fill="#11296c" d="M353.025 318.696l13.268-31.445-12.413 22.923-.855 8.522z"/><path fill="#142a72" d="M353.88 310.174l12.413-22.923-12.506 7.641.093 15.282z"/><path d="M366.293 287.251L353.025 318.7 370 285.464zm-25.276 45.771l12.008-14.322.855-8.522zm-15.486 13.211l15.486-13.211-16.366 7.527z" fill="#112768"/><path fill="#1c226a" d="M235.149 355.435l-15.646 3.827.477-10.919 15.169 7.092z"/><path fill="#182b7a" d="M148.162 206.825l4.313-1.598-10.906 24.762 6.593-23.164z"/><path fill="#1f308d" d="M141.569 229.989l8.257-1.536 2.649-23.226-10.906 24.762z"/><path fill="#1e2b7f" d="M142.062 259.728l-.493-29.739 8.257-1.536-7.764 31.275z"/><path d="M325.721 183.
937l-16.605 19.02 28.873 4.771zm-144.9-19.509l21.2-14.5-18.916 9.4z" fill="#1346b5"/><path fill="#1244ac" d="M183.098 159.328l29.082-17.02-10.166 7.619-18.916 9.401"/><path fill="#0e4ab6" d="M202.014 149.927l26.556-12.657-16.39 5.038-10.166 7.619z"/><path d="M303.3 171.835l5.818 31.122 16.605-19.02zm-85.11-23.382l24.738-9.893-14.356-1.29z" fill="#0e4bba"/><path fill="#0a4ebc" d="M248.657 133.645l-20.087 3.625 14.356 1.29 5.731-4.915z"/><path fill="#0c54cc" d="M267.655 138.314l-24.729.246 5.731-4.915"/><path d="M314.368 150.05l-14.417 1.534 29 18.576zm-46.713-11.736l32.2 4.24-19.347-6.882z" fill="#0b4bb4"/><path fill="#0c3889" d="M314.368 150.05l-14.509-7.496 16.124 6.329-1.615 1.167z"/><path d="M146.622 289.1l9.52 7.834-14.079-37.2zm131.394 73.985l8.369-19.7-30.5 8.194zm8.369-19.7l25.5 7.075 1.547-19.716z" fill="#202575"/><path fill="#1b2773" d="M324.651 340.549l-11.222-9.81 27.114-18.018-15.892 27.828z"/><path fill="#15276d" d="M340.544 312.721l-15.893 27.828 16.366-7.527 12.863-22
.848-13.336 2.547z"/><path d="M315.983 148.883l-1.615 1.167 20.185 12.091zm-16.032 2.7l14.417-1.534-14.509-7.5z" fill="#0c409d"/><path d="M248.657 133.645l19 4.669 12.857-2.642zm51.2 8.909l-32.2-4.24 32.3 13.27z" fill="#0b4cb7"/><path fill="#0b55ce" d="M267.655 138.314l7.901 13.421 24.395-.151-32.296-13.27z"/><path fill="#0a52c5" d="M267.655 138.314l7.901 13.421-26.316-2.119 18.415-11.302z"/><path fill="#0951c4" d="M242.926 138.56l6.314 11.056 18.415-11.302-24.729.246z"/><path fill="#0b50c4" d="M218.188 148.453l24.738-9.893 6.314 11.056-31.052-1.163z"/><path d="M202.014 149.927l16.174-1.474 10.382-11.183zm16.174-1.474l16.786 15.316 14.266-14.154z" fill="#0f4dbf"/><path fill="#1546b6" d="M218.188 148.453l-27.326 25.622 11.152-24.148 16.174-1.474z"/><path fill="#1549bd" d="M190.862 174.075l17.437 2.9 9.889-28.522-27.326 25.622z"/><path fill="#144bc3" d="M208.299 176.975l9.889-28.522 16.787 15.316-26.676 13.206z"/><path fill="#173794" d="M164.922 179.605l1.062 10.307 14.834-25.484-15.8
96 15.177z"/><path fill="#192f84" d="M152.475 205.227l12.447-25.622 1.062 10.307-13.509 15.315z"/><path fill="#1a389b" d="M165.984 189.912l14.834-25.484 10.044 9.647-24.878 15.837z"/><path fill="#1d3089" d="M165.086 212.006l.898-22.094-13.509 15.315 12.611 6.779z"/><path fill="#1e389f" d="M165.086 212.006l.898-22.094 17.53 14.231-18.428 7.863z"/><path fill="#1c40af" d="M183.514 204.143l7.348-30.068-24.878 15.837 17.53 14.231z"/><path fill="#1e41b7" d="M183.514 204.143l7.348-30.068 17.437 2.9-24.785 27.168z"/><path fill="#192c7d" d="M149.826 228.453l2.649-23.226 12.611 6.779-15.26 16.447z"/><path d="M278.016 363.083l23.445-3.64 10.42-8.989zm-137.679-97.948l1.726-5.407-.494-29.739zm9.489-36.682l-7.763 31.275 14.079 37.2-6.871-43.1z" fill="#162467"/><path fill="#1a236a" d="M156.141 296.933l11.615 1.628-8.133-18.986-3.482 17.358z"/><path d="M324.651 340.549l-12.77 9.905-10.42 8.989 24.07-13.21zm-68.314 25.972l18.195.507 26.929-7.585-23.445 3.64zm-89.358-48l12.207 2.348-11.43-22.3z" fill
="#132668"/><path d="M219.98 348.343l-20.668-15.908-8.59 8.259 28.778 18.568zM146.622 289.1l13.863 27.282-4.343-19.448zm-6.285-23.963l6.285 23.963-4.559-29.37zm115.547 86.438l-35.9-3.23 15.169 7.093-15.653 3.824-18.834-5.887 20.822 9.056 34.846 4.09 21.679-3.438zm-88.128-53.012l-11.614-1.629 10.837 21.585zm-18.485-44.733l6.871 43.1 3.481-17.358zm29.915 67.035l-12.207-2.348-6.494-2.137 9.778 13.177 13.52 12.395 16.886 11.423-9.947-12.681z" fill="#1b2268"/><path fill="#212a81" d="M149.826 228.453l16.39 25.352-1.13-41.799-15.26 16.447z"/><path fill="#21267a" d="M149.271 253.829l10.352 25.746 6.593-25.77-16.945.024z"/><path fill="#262781" d="M159.623 279.575l6.593-25.77 8.194 20.362-14.787 5.408z"/><path fill="#272379" d="M167.756 298.561l31.424 19.472-24.77-43.866-6.654 24.394z"/><path d="M160.485 316.38l6.494 2.137-10.837-21.585zm69.413 11.2l-9.918 20.759 35.9 3.23zm-62.142-29.023l11.43 22.3 11.536 19.829 8.59-8.259-.132-14.4z" fill="#1e226d"/><path d="M313.428 330.738l-1.547 19.716 1
2.77-9.905zm-54.935-2.829l-2.609 23.664 30.5-8.194-1.086-26.6z" fill="#222475"/><path d="M149.271 253.83l16.944-.025-16.389-25.352zM285.3 316.777l1.086 26.6 27.043-12.641z" fill="#23277d"/><path fill="#1e2776" d="M285.299 316.777l17.405-15.76 10.725 29.722-28.13-13.962z"/><path fill="#222b86" d="M313.429 330.739l13.156-39.844-23.881 10.122 10.725 29.722z"/><path fill="#192974" d="M340.543 312.721l-27.114 18.018 13.156-39.844 13.958 21.826z"/><path fill="#172a75" d="M353.787 294.892l-27.202-3.998 13.959 21.827 13.336-2.547-.093-15.282z"/><path fill="#172d7d" d="M355.679 273.478l-29.094 17.416 27.202 3.998 15.324-25.753-13.432 4.339z"/><path d="M152.475 205.227l12.447-25.622-16.76 27.22zm192.352 31.713l10.852 36.538 8.079-23.064z" fill="#18338a"/><path fill="#153791" d="M363.758 250.414l-7.52-28.848-11.411 15.373 18.931 13.475z"/><path fill="#1b318b" d="M326.585 290.895l29.094-17.417-28.198-12.552-.896 29.969z"/><path fill="#242d8d" d="M326.585 290.895l-26.367-26.642 2.486 36.764 23.8
81-10.122z"/><path fill="#2a2b8f" d="M285.299 316.777l-20.243-17.923 37.648 2.163-17.405 15.76z"/><path d="M167.756 298.561l6.654-24.393-14.787 5.406zm97.3.293l-6.563 29.055 26.807-11.132z" fill="#27267f"/><path fill="#2d2381" d="M223.15 304.797l-19.487-9.905-4.483 23.141 30.718 9.551 28.595.325-35.343-23.112z"/><path fill="#2f2485" d="M258.492 327.909l6.564-29.055-41.906 5.943 35.342 23.112z"/><path fill="#233196" d="M166.216 253.805l8.406-26.833-9.536-14.966 1.13 41.799z"/><path fill="#293cb7" d="M183.514 204.143l36.893-10.754-19.487 39.809-17.406-29.055z"/><path fill="#25339c" d="M326.585 290.895l-26.367-26.642 27.263-3.327-.896 29.969z"/><path fill="#19348f" d="M355.679 273.478l-10.852-36.539-17.346 23.987 28.198 12.552z"/><path fill="#2a309a" d="M302.704 301.017l-30.153-29.154 27.667-7.61 2.486 36.764z"/><path fill="#302b96" d="M265.056 298.854l37.648 2.163-30.153-29.154-7.495 26.991z"/><path fill="#3630a7" d="M265.056 298.854l-20.622-16.791 28.117-10.2-7.495 26.991z"/><path d=
"M180.818 164.428l2.28-5.1-18.176 20.277zm157.171 43.3l6.838 29.212 11.411-15.374z" fill="#173da2"/><path fill="#2a36a8" d="M183.514 204.143l17.406 29.055-26.298-6.226 8.892-22.829z"/><path fill="#312e9f" d="M174.622 226.972l26.298 6.226-17.784 28.011-8.514-34.237z"/><path fill="#184dcd" d="M220.407 193.389l14.568-29.62-26.676 13.206 12.108 16.414z"/><path fill="#272986" d="M166.216 253.805l16.92 7.404-8.726 12.958-8.194-20.362z"/><path fill="#2c2584" d="M183.136 261.209l-8.726 12.959 24.77 43.865 4.483-23.141-20.527-33.683z"/><path fill="#32268b" d="M203.663 294.892l2.744-40.752-23.271 7.069 20.527 33.683z"/><path fill="#372999" d="M203.663 294.892l40.771-12.829-38.027-27.923-2.744 40.752z"/><path fill="#392da5" d="M244.434 282.063l-3.973-31.508-34.054 3.585 38.027 27.923z"/><path fill="#3338bc" d="M240.461 250.555l28.757-10.754 3.333 32.062-32.09-21.308z"/><path fill="#362896" d="M223.15 304.797l41.906-5.943-20.622-16.791-21.284 22.734z"/><path fill="#35268f" d="M223.15 304.797l-1
9.487-9.905 40.771-12.829-21.284 22.734z"/><path fill="#2648d3" d="M220.407 193.389l24.973 2.642-10.405-32.262-14.568 29.62z"/><path fill="#1057dc" d="M258.245 173.202l-23.27-9.433 10.405 32.262 12.865-22.829z"/><path fill="#1653da" d="M258.245 173.202l24.784 16.98-37.649 5.849 12.865-22.829z"/><path fill="#2b46d5" d="M245.38 196.031l36.93 19.583-13.092 24.187-23.838-43.77z"/><path fill="#244ad7" d="M282.31 215.614l.719-25.432-37.649 5.849 36.93 19.583z"/><path fill="#2547cf" d="M282.31 215.614l.719-25.432 26.087 12.775-26.806 12.657z"/><path fill="#333cc5" d="M245.38 196.031l23.838 43.77-41.811-20.942 17.973-22.828z"/><path fill="#3833b6" d="M240.461 250.555l28.757-10.754-41.811-20.942 13.054 31.696z"/><path fill="#2a41c6" d="M269.218 239.801l36.876-6.735-23.784-17.452-13.092 24.187z"/><path fill="#2045c1" d="M309.116 202.957l-3.022 30.109-23.784-17.452 26.806-12.657z"/><path fill="#1b43b7" d="M309.116 202.957l17.406 23.638-20.428 6.471 3.022-30.109z"/><path fill="#1742af" d="M337.
989 207.728l-28.873-4.771 17.406 23.638 11.467-18.867z"/><path d="M190.862 174.075l11.152-24.148-21.2 14.5zm147.127 33.653L326.522 226.6l18.305 10.345z" fill="#1740a9"/><path fill="#1b3ca4" d="M327.481 260.926l17.346-23.987-18.305-10.344.959 34.331z"/><path fill="#1f3dad" d="M327.481 260.926l-.959-34.331-20.428 6.471 21.387 27.86z"/><path d="M183.515 204.143l36.892-10.754-12.107-16.414zm85.7 35.658l31 24.452 5.876-31.187z" fill="#2543c3"/><path fill="#2e37b2" d="M272.551 271.863l27.667-7.61-31-24.452 3.333 32.062z"/><path fill="#2d40c7" d="M220.407 193.389l7 25.47 17.973-22.828-24.973-2.642z"/><path fill="#3537b8" d="M220.407 193.389l-19.487 39.809 26.487-14.339-7-25.47z"/><path fill="#3931b0" d="M227.407 218.859l-21 35.281 34.054-3.585-13.054-31.696z"/><path d="M240.461 250.555l3.973 31.508 28.117-10.2zm-34.054 3.585l21-35.28-26.487 14.34z" fill="#3735b8"/><path fill="#342892" d="M183.136 261.209l17.784-28.011 5.487 20.942-23.271 7.069z"/><path d="M200.669 353.375l18.834 5.887-28.7
81-18.568zm-1.357-20.94l20.668 15.908 9.918-20.759-30.718-9.551zm56.572 19.138l2.609-23.664-28.595-.325zm30.5-8.194l-8.369 19.7 33.865-12.629z" fill="#232372"/><path fill="#2a2f96" d="M166.216 253.805l8.406-26.833 8.514 34.237-16.92-7.404z"/><path d="M174.622 226.972l8.893-22.829-18.429 7.863zm131.472 6.094l-5.876 31.187 27.263-3.327z" fill="#2636a5"/><path d="M374.274 262.764v-.055l-1.064-35.547v-.04c0-.013 0-.025-.006-.037s-.006-.032-.01-.047v-.011l-5.345-17.738v-.011l-.011-.029c0-.013-.01-.026-.016-.038l-.007-.016-15.293-28.856-.009-.014-.019-.03-.017-.025-.011-.015-.016-.018-.011-.014-17.503-18.443-.008-.007-.012-.012c-.01-.01-.022-.018-.033-.027l-.023-.02-18.565-13.253h-.009l-.017-.012a.36.36 0 00-.039-.02.3.3 0 00-.04-.02h-.008l-16.113-6.324h-.025l-19.343-6.88h-.018l-.037-.01-.034-.007h-.054l-31.855-2.027h-.055a.455.455 0 00-.052 0h-.02l-20.087 3.625h-.043l-.036.01-16.372 5.033-.036.014c-.014.006-.029.012-.042.019l-.021.01h-.007l-29.082 17.021h-.006l-.024.016-.023.015-.019.017
-.018.014-.02.022-.016.014-.007.008-18.169 20.268-.007.01-.013.015-.012.017-.016.023-.008.01-.006.01-16.772 27.198-.008.016-.016.028-.014.033c0 .013-.01.025-.014.038l-.006.016-6.593 23.165v.076a.26.26 0 00-.005.039v.01l-1.232 35.146v.087a.3.3 0 00.008.043v.036l6.281 23.948v.01l.006.018a.521.521 0 00.02.05c0 .008.006.017.01.025l13.86 27.274.009.013a.492.492 0 00.028.045l.007.013 9.772 13.169.012.015c.009.011.02.02.029.03a.25.25 0 00.022.024l13.52 12.4c.011.01.022.017.034.026l.027.022 16.885 11.422.012.006.04.024.022.01h.007l20.822 9.056.021.007a.353.353 0 00.046.015l.024.007.037.007h.021l34.846 4.091h.047l18.195.506h.019a.569.569 0 00.1-.01l.022-.007h.015l26.929-7.585.016-.006.023-.006.021-.01.015-.007.032-.014.011-.006 24.056-13.2h.007l.01-.006a.348.348 0 00.039-.028l.032-.022 15.486-13.21.016-.017.02-.018.02-.022h.006l12.006-14.323.005-.007a.531.531 0 00.042-.063l.015-.022v-.006l17.012-33.221c0-.007.006-.016.01-.024l.017-.039v-.019a.3.3 0 00.011-.043c0-.009.006-.018.008-.028l3.747-
22.727v-.039zM184.111 341.54l-3.5-3.212 7.877 6.171zm51.108 13.348l-12.307-5.754 29.13 2.62zm4.488-104.781l-32.312 3.4 19.926-33.476zm-11.278-30.148l39.477 19.772-27.152 10.154zM240 251.131l3.756 29.784-35.947-26.4zm3.285 30.742L204.24 294.16l2.627-39.03zm-2.161-30.245l30.265 20.1-26.518 9.62zm.482-.941l27.156-10.155 3.147 30.275zm41.723-34.975l25.171-11.883-2.838 28.271zm21.471 17.056l-34.6 6.32 12.286-22.688zm-35.583 5.932l-22.539-41.385L281.6 215.83zm-1.263-.118l-39.735-19.9 17.081-21.699zM206.6 252.791l-5.063-19.328 24.445-13.233zm-3.35 40.409l-19.312-31.688 21.892-6.65zm39.432-10.038l-19.646 20.985-17.987-9.142zm29.089-10.46l-7.007 25.234-19.279-15.7zm-1.9-31.718l29.206 23.037-26.067 7.169zm.586-.877l34.978-6.389-5.573 29.582zm36.241-7.785l2.802-27.952 16.159 21.946zm19.317-5.018l.894 32.012-19.941-25.976zm-43.154-12.532l.671-23.76 24.368 11.937zm-1.053-.021l-34.786-18.446 35.463-5.509zm-54.17 2.962l-6.519-23.722 23.259 2.46zm-.849.882l-24.674 13.357 18.153-37.084zm-21.02 35.18
8l-21.429 6.509 16.377-25.792zm-3.881 39.205l-26.755-18.954 7.981-11.852zm2.16 2.687l17.98 9.139-22.117 12.216zm40.435-12.9l19.309 15.725-39.239 5.564zm28.339-9.924l28.5 27.556-35.584-2.045zm.756-.731l26.158-7.195 2.35 34.759zm32.816-37.805l20.109 26.2-25.634 3.129zm20.68-6.81l16.983 9.6-16.094 22.253zm.179-1.106l10.517-17.3 6.272 26.791zm-.773-.753l-16.174-21.965 26.83 4.433zm-42.523-35.6l19-17.195 5.454 29.168zm-37.587 5.3l12.052-21.386 23.217 15.907zm-25.159-2.4l13.662-27.779 9.758 30.256zM200.873 232.1l-16.558-27.64 35.1-10.23zm-17.522 27.79l-8.009-32.208 24.739 5.857zm-8.823 13.161l-7.344-18.251 15.164 6.635zm28.554 22.073l-4.147 21.4-22.911-40.574zm19.749 10.449l6.283 21.217-28.6-8.892zm41.544-6.092l-6.229 27.573-33.54-21.933zm37.046 1.988l-16.125 14.6-18.757-16.607zm-.582-35.841l24.827 25.086-22.487 9.531zm.507-.983l25.59-3.124-.841 28.131zm43.281-26.531l10.222 34.42-26.563-11.824zm-5.793-29.086l16.672 12.642-10.425 14.045zm-28.7-6.435l15.475-17.727 11.434 22.173zm-.7-.8l-5.4
16-28.972 20.874 11.266zm-26.45-12.279l-23.114-15.836 42.017-1.275zm-37.472 5.211l-9.691-30.046 21.673 8.785zm-25.2-2.344l-11.222-15.213 24.724-12.24zm-.779.715l-34.373 10.02 23.095-25.316zm-19.708 39.3l-24.5-5.8 8.283-21.265zm-17.462 27.9l-15.508-6.786 7.7-24.594zm-8.647 13.562l-13.34 4.878 5.947-23.247zm23.993 42.645l-29.346-18.185 6.214-22.78zm29.881 10.911l-27.761 4.4-.12-13.071zm-3.533-21.4l32.643 21.349-26.4-.3zm41.312-6.184l18.949 16.777-25.088 10.426zm37.1 2.1l10.014 27.752-26.259-13.032zm.893-.628l22.354-9.475-12.316 37.3zm24.615-39.581l26.558 11.822-27.4 16.4zm17.784-23.472l17.364 12.359-7.411 21.156zm-.2-1.43l10.437-14.061 6.878 26.384zm-6.964-29.288l4.846-15.025 11.542 27.452zm-.728-1.173l-11.043-21.415 15.9 6.355zm-32.714-34.118l23.122-1.51-2.911 12.418zm-45.783.4l16.28-20.189 26.09 18.9zm-.962-.484l-8.382-21.953 24.5 1.973zm-1.087.1l-21.413-8.68 13.126-13.023zm-48.106 3.674l9.207-26.556 15.628 14.26zm-24.7 26.331l6.742-27.593 16 2.662zm-10.006 23.548l-8.646-13.568 16.7
07-7.128zm-.462 1.234l-7.39 23.589-.993-36.745zm-8.509 27.283l-6.027 23.556-9.462-23.533zm-15.73-1.026l.5-23.126 14.936 23.1zm23.825 21.706l-5.99 21.956-7.32-17.089zm24.036 42.707l-18.187 2.576L169.087 300zm.988.921l.118 12.883-18-10.35zm30.333 9.621l-9.207 19.271-19.185-14.764zm1.073.195l24.328 22.457-33.612-3.023zm1.193-.33l26.648.3-2.431 22.053zm53.542-10.568l1.017 24.914-26.117-14.489zm1.058.091l26.356 13.081-25.34 11.845zm40.876-25.533l13.084 20.459-25.416 16.889zm.911-.528l25.192 3.7-12.261 16.518zm.469-.993l26.946-16.13-1.753 19.832zm35.589-38.438l4.758 16.645-11.94 3.857zm-6.331-28.306l13.647 17.186-7.011 8.27zm-12.77-31.3l17.724 12.98-6.091 14.675zm-18.269-8.925l2.857-12.184 12.765 18.428zm-22.6-12.337l-3.076-18.616 26.658 17.076zm-1.17-.621l-25.4-18.412 22.342-.138zm-51.684-21.438l16.587-10.179 7.116 12.089zm-15.927 13.822L219.6 149.031l28.41 1.069zm-27.013 13.342L192 173.731l24.995-23.436zM183.2 203.211l-16.318-13.247 23.158-14.743zm-.693.791l-16.861 7.198.822-20.214zm-16
.868 47.942l-15.149-23.433 14.1-15.2zm-6.563 27.681L156.2 293.96l-5.674-35.6zm.73 1.714l7.1 16.572-10.138-1.421zm18.42 38.807l-10.7-2.059.681-17.5zm20.217 12.395l-7.6 7.31L180.63 322.3zm.907.586l18.258 14.053-25.846-6.757zm59.579-4.375L285 343.209l-28.5 7.657zm53.9 2.845l-1.427 18.18-23.502-6.524zm26.153-17.21l-14.469 25.343-10.221-8.93zm14.288-17.917l.08 13.271-11.58 2.211zm2.9-22.6l11.774-3.8-13.433 22.574zm8.168-23.331l6.685-7.885-2.181 23.639zm-7.5-29.057l6-14.454 7.777 31.805zm-12.763-30.632l4.216-7.362L361 203.245zm-.732-.838l-12.472-18 16.689 10.641zm-41.849-38.064l12.626-1.348 12.773 17.613zm-25.638-.74l-6.956-11.814 28.43 11.681zm-26.428-2.324l-5.6-9.808 21.937-.218zm-1.114.172l-27.631-1.035 22.013-8.8zm-55.843 22.789l9.894-21.422 14.349-1.309zm-1.778 1.339l-9.044-8.687 19.088-13.059zm-.678.807l-22.487 14.316 13.409-23.036zm-25.421 37.155l-11.286-6.068 12.09-13.706zm-.356 1l-13.707 14.774 2.38-20.862zm-15.488 41.43l-5.795 4.742 6.241-25.143zm.145 1.239l5.916 37.113-12.123-3
2.028zm18.317 44.2l-.679 17.44-9.472-18.863zm11.639 22.32l9.621 16.538-19.8-18.5zm40.585 27.409l-.419 9.58-25.251-16.292zm1.036.409l13.1 6.127-13.516 3.306zm34.9 3.048l.407 13.437-19.045-9.965zm30.1-8.035l-7.725 18.189-20.43-10.625zm1.21-.157l23.492 6.518-31.2 11.637zm27.182-12.185l9.954 8.7-11.318 8.785zm27.01-18.633L352.355 311l-25.148 26.135zm13.513-5.071l-.079-12.935 10.585-6.468zm.93-14.783l12.849-21.592-2.356 15.185zm16.385-46.629l1.5 15.876-3.395 4.69zm-7.8-39.771l2.936 2.753 2.937 21.265zm-14.882-24.255l2.763-1.386 7.987 18.1zm-19.32-12.67l4.849-6.942 11.869 17.6zm-.753-.759L316.3 151.821l17.5 10.479zM300.472 151l-.078-7.579 12.177 6.291zm-1.055-.205l-27.832-11.435 27.752 3.654zm-55.054-12.775l4.431-3.8 14.693 3.612zm-24.2 9.076l8.616-9.281 11.914 1.071zm-2.226.851l-13.047 1.19 21.422-10.211zm-35.88 14.994l1.443-3.228 11.974-5.951zM166.34 188.25l-.87-8.444 13.03-12.434zm-.905 1.487l-10.8 12.244 9.951-20.485zm-16.09 38.27l-6.9 1.283 9.107-20.678zm-.229 1.111l-6.6 26.572-.419-
25.267zm5.832 66.152l-7.839-6.451-3.754-24.183zm10.991 22.352l-5.007-1.649-3.349-14.994zm21.4 20.632l-16.633-9.054-2.67-8.975zm3.034 2.848l7.2 9.181-22.015-17.245zm2.694 1.73l22.9 14.774-14.985-4.684zm42.013 13.16l17.8 9.311-30.938-6.1zm21.356-3.54l19.923 10.361-19.515 3.095zm52.882-.483l-8.088 6.977-18.2 2.826zm14.949-10.458l.673 4.353-10.454 3.236zm27.127-28l-10.754 19.1-13.682 6.293zm3-3.184l7.2-13.3-7.7 18.243zm15.219-40.987l2.719-3.755-4.371 14.37zm2.615-28.34v-.032l-.039-.279.271-3.56.276 9.219zm-.723-5.242l-2.72-19.7 3.368 11.179zm-8.092-30.726l-4.965-11.251 6.948 13.109zm-14.97-23.232l-9.915-14.7 12.649 13.332zm-33.121-31.789l.663-.479 7.622 5.442zm-1-.574l-5.154-2.663 5.727 2.248zM270.816 138.2l9.658-1.985 14.533 5.17zm-3.151-.425l-13.151-3.232 22.051 1.4zm-24.913.241l-10.258-.922 14.352-2.59zm-36.2 9.164l5.869-4.4 9.461-2.908zm-4.817 2.3l-5.091 2.53 7.827-4.58zm-21.356 14.64l-6.039 5.766 6.905-7.7zm-28.285 40.688l-2.685 1 10.431-16.942zm-3.5 2.416l2.9-1.073-7.327 16.636zm-
7.215 43.167l.154 9.26-.533 1.683zm.5 11.626l2.642 17.019-3.642-13.886zm13.782 35.206l3.393 15.19-10.823-21.313zm10.886 21.707l2.355 7.919-7.002-9.449zm52.607 40.775l.983 1.567-10.288-4.472zm2.643 2.234l-1.208-1.926 22.392 4.412zm54.851 1.892L274.3 366.5l-12.292-.342zm1.631-.258l14.653-2.275-16.831 4.74zm33.857-12.65l8.593-2.658-15.153 8.317zm13.765-5.7l-.675-4.361 12.557-5.775zm27.2-32.6l-.588 5.86-8.258 9.852zm13.6-24.986l2.122-1.022-9.712 19.012zm2.826-2.527l-2.382 1.147 4.788-15.743z" fill="url(#a)"/><path d="M374.274 262.764v-.055l-1.064-35.547v-.04c0-.013 0-.025-.006-.037s-.006-.032-.01-.047v-.011l-5.345-17.738v-.011l-.011-.029c0-.013-.01-.026-.016-.038l-.007-.016-15.293-28.856-.009-.014-.019-.03-.017-.025-.011-.015-.016-.018-.011-.014-17.503-18.443-.008-.007-.012-.012c-.01-.01-.022-.018-.033-.027l-.023-.02-18.565-13.253h-.009l-.017-.012a.36.36 0 00-.039-.02.3.3 0 00-.04-.02h-.008l-16.113-6.324h-.025l-19.343-6.88h-.018l-.037-.01-.034-.007h-.054l-31.855-2.027h-.055a.455.455 0 0
0-.052 0h-.02l-20.087 3.625h-.043l-.036.01-16.372 5.033-.036.014c-.014.006-.029.012-.042.019l-.021.01h-.007l-29.082 17.021h-.006l-.024.016-.023.015-.019.017-.018.014-.02.022-.016.014-.007.008-18.169 20.268-.007.01-.013.015-.012.017-.016.023-.008.01-.006.01-16.772 27.198-.008.016-.016.028-.014.033c0 .013-.01.025-.014.038l-.006.016-6.593 23.165v.076a.26.26 0 00-.005.039v.01l-1.232 35.146v.087a.3.3 0 00.008.043v.036l6.281 23.948v.01l.006.018a.521.521 0 00.02.05c0 .008.006.017.01.025l13.86 27.274.009.013a.492.492 0 00.028.045l.007.013 9.772 13.169.012.015c.009.011.02.02.029.03a.25.25 0 00.022.024l13.52 12.4c.011.01.022.017.034.026l.027.022 16.885 11.422.012.006.04.024.022.01h.007l20.822 9.056.021.007a.353.353 0 00.046.015l.024.007.037.007h.021l34.846 4.091h.047l18.195.506h.019a.569.569 0 00.1-.01l.022-.007h.015l26.929-7.585.016-.006.023-.006.021-.01.015-.007.032-.014.011-.006 24.056-13.2h.007l.01-.006a.348.348 0 00.039-.028l.032-.022 15.486-13.21.016-.017.02-.018.02-.022h.006l12.006-14.
323.005-.007a.531.531 0 00.042-.063l.015-.022v-.006l17.012-33.221c0-.007.006-.016.01-.024l.017-.039v-.019a.3.3 0 00.011-.043c0-.009.006-.018.008-.028l3.747-22.727v-.039zM184.111 341.54l-3.5-3.212 7.877 6.171zm51.108 13.348l-12.307-5.754 29.13 2.62zm4.488-104.781l-32.312 3.4 19.926-33.476zm-11.278-30.148l39.477 19.772-27.152 10.154zM240 251.131l3.756 29.784-35.947-26.4zm3.285 30.742L204.24 294.16l2.627-39.03zm-2.161-30.245l30.265 20.1-26.518 9.62zm.482-.941l27.156-10.155 3.147 30.275zm41.723-34.975l25.171-11.883-2.838 28.271zm21.471 17.056l-34.6 6.32 12.286-22.688zm-35.583 5.932l-22.539-41.385L281.6 215.83zm-1.263-.118l-39.735-19.9 17.081-21.699zM206.6 252.791l-5.063-19.328 24.445-13.233zm-3.35 40.409l-19.312-31.688 21.892-6.65zm39.432-10.038l-19.646 20.985-17.987-9.142zm29.089-10.46l-7.007 25.234-19.279-15.7zm-1.9-31.718l29.206 23.037-26.067 7.169zm.586-.877l34.978-6.389-5.573 29.582zm36.241-7.785l2.802-27.952 16.159 21.946zm19.317-5.018l.894 32.012-19.941-25.976zm-43.154-12.532l.67
1-23.76 24.368 11.937zm-1.053-.021l-34.786-18.446 35.463-5.509zm-54.17 2.962l-6.519-23.722 23.259 2.46zm-.849.882l-24.674 13.357 18.153-37.084zm-21.02 35.188l-21.429 6.509 16.377-25.792zm-3.881 39.205l-26.755-18.954 7.981-11.852zm2.16 2.687l17.98 9.139-22.117 12.216zm40.435-12.9l19.309 15.725-39.239 5.564zm28.339-9.924l28.5 27.556-35.584-2.045zm.756-.731l26.158-7.195 2.35 34.759zm32.816-37.805l20.109 26.2-25.634 3.129zm20.68-6.81l16.983 9.6-16.094 22.253zm.179-1.106l10.517-17.3 6.272 26.791zm-.773-.753l-16.174-21.965 26.83 4.433zm-42.523-35.6l19-17.195 5.454 29.168zm-37.587 5.3l12.052-21.386 23.217 15.907zm-25.159-2.4l13.662-27.779 9.758 30.256zM200.873 232.1l-16.558-27.64 35.1-10.23zm-17.522 27.79l-8.009-32.208 24.739 5.857zm-8.823 13.161l-7.344-18.251 15.164 6.635zm28.554 22.073l-4.147 21.4-22.911-40.574zm19.749 10.449l6.283 21.217-28.6-8.892zm41.544-6.092l-6.229 27.573-33.54-21.933zm37.046 1.988l-16.125 14.6-18.757-16.607zm-.582-35.841l24.827 25.086-22.487 9.531zm.507-.983l25.59-
3.124-.841 28.131zm43.281-26.531l10.222 34.42-26.563-11.824zm-5.793-29.086l16.672 12.642-10.425 14.045zm-28.7-6.435l15.475-17.727 11.434 22.173zm-.7-.8l-5.416-28.972 20.874 11.266zm-26.45-12.279l-23.114-15.836 42.017-1.275zm-37.472 5.211l-9.691-30.046 21.673 8.785zm-25.2-2.344l-11.222-15.213 24.724-12.24zm-.779.715l-34.373 10.02 23.095-25.316zm-19.708 39.3l-24.5-5.8 8.283-21.265zm-17.462 27.9l-15.508-6.786 7.7-24.594zm-8.647 13.562l-13.34 4.878 5.947-23.247zm23.993 42.645l-29.346-18.185 6.214-22.78zm29.881 10.911l-27.761 4.4-.12-13.071zm-3.533-21.4l32.643 21.349-26.4-.3zm41.312-6.184l18.949 16.777-25.088 10.426zm37.1 2.1l10.014 27.752-26.259-13.032zm.893-.628l22.354-9.475-12.316 37.3zm24.615-39.581l26.558 11.822-27.4 16.4zm17.784-23.472l17.364 12.359-7.411 21.156zm-.2-1.43l10.437-14.061 6.878 26.384zm-6.964-29.288l4.846-15.025 11.542 27.452zm-.728-1.173l-11.043-21.415 15.9 6.355zm-32.714-34.118l23.122-1.51-2.911 12.418zm-45.783.4l16.28-20.189 26.09 18.9zm-.962-.484l-8.382-21.953 24.
5 1.973zm-1.087.1l-21.413-8.68 13.126-13.023zm-48.106 3.674l9.207-26.556 15.628 14.26zm-24.7 26.331l6.742-27.593 16 2.662zm-10.006 23.548l-8.646-13.568 16.707-7.128zm-.462 1.234l-7.39 23.589-.993-36.745zm-8.509 27.283l-6.027 23.556-9.462-23.533zm-15.73-1.026l.5-23.126 14.936 23.1zm23.825 21.706l-5.99 21.956-7.32-17.089zm24.036 42.707l-18.187 2.576L169.087 300zm.988.921l.118 12.883-18-10.35zm30.333 9.621l-9.207 19.271-19.185-14.764zm1.073.195l24.328 22.457-33.612-3.023zm1.193-.33l26.648.3-2.431 22.053zm53.542-10.568l1.017 24.914-26.117-14.489zm1.058.091l26.356 13.081-25.34 11.845zm40.876-25.533l13.084 20.459-25.416 16.889zm.911-.528l25.192 3.7-12.261 16.518zm.469-.993l26.946-16.13-1.753 19.832zm35.589-38.438l4.758 16.645-11.94 3.857zm-6.331-28.306l13.647 17.186-7.011 8.27zm-12.77-31.3l17.724 12.98-6.091 14.675zm-18.269-8.925l2.857-12.184 12.765 18.428zm-22.6-12.337l-3.076-18.616 26.658 17.076zm-1.17-.621l-25.4-18.412 22.342-.138zm-51.684-21.438l16.587-10.179 7.116 12.089zm-15.927 13.
822L219.6 149.031l28.41 1.069zm-27.013 13.342L192 173.731l24.995-23.436zM183.2 203.211l-16.318-13.247 23.158-14.743zm-.693.791l-16.861 7.198.822-20.214zm-16.868 47.942l-15.149-23.433 14.1-15.2zm-6.563 27.681L156.2 293.96l-5.674-35.6zm.73 1.714l7.1 16.572-10.138-1.421zm18.42 38.807l-10.7-2.059.681-17.5zm20.217 12.395l-7.6 7.31L180.63 322.3zm.907.586l18.258 14.053-25.846-6.757zm59.579-4.375L285 343.209l-28.5 7.657zm53.9 2.845l-1.427 18.18-23.502-6.524zm26.153-17.21l-14.469 25.343-10.221-8.93zm14.288-17.917l.08 13.271-11.58 2.211zm2.9-22.6l11.774-3.8-13.433 22.574zm8.168-23.331l6.685-7.885-2.181 23.639zm-7.5-29.057l6-14.454 7.777 31.805zm-12.763-30.632l4.216-7.362L361 203.245zm-.732-.838l-12.472-18 16.689 10.641zm-41.849-38.064l12.626-1.348 12.773 17.613zm-25.638-.74l-6.956-11.814 28.43 11.681zm-26.428-2.324l-5.6-9.808 21.937-.218zm-1.114.172l-27.631-1.035 22.013-8.8zm-55.843 22.789l9.894-21.422 14.349-1.309zm-1.778 1.339l-9.044-8.687 19.088-13.059zm-.678.807l-22.487 14.316 13.409-23.0
36zm-25.421 37.155l-11.286-6.068 12.09-13.706zm-.356 1l-13.707 14.774 2.38-20.862zm-15.488 41.43l-5.795 4.742 6.241-25.143zm.145 1.239l5.916 37.113-12.123-32.028zm18.317 44.2l-.679 17.44-9.472-18.863zm11.639 22.32l9.621 16.538-19.8-18.5zm40.585 27.409l-.419 9.58-25.251-16.292zm1.036.409l13.1 6.127-13.516 3.306zm34.9 3.048l.407 13.437-19.045-9.965zm30.1-8.035l-7.725 18.189-20.43-10.625zm1.21-.157l23.492 6.518-31.2 11.637zm27.182-12.185l9.954 8.7-11.318 8.785zm27.01-18.633L352.355 311l-25.148 26.135zm13.513-5.071l-.079-12.935 10.585-6.468zm.93-14.783l12.849-21.592-2.356 15.185zm16.385-46.629l1.5 15.876-3.395 4.69zm-7.8-39.771l2.936 2.753 2.937 21.265zm-14.882-24.255l2.763-1.386 7.987 18.1zm-19.32-12.67l4.849-6.942 11.869 17.6zm-.753-.759L316.3 151.821l17.5 10.479zM300.472 151l-.078-7.579 12.177 6.291zm-1.055-.205l-27.832-11.435 27.752 3.654zm-55.054-12.775l4.431-3.8 14.693 3.612zm-24.2 9.076l8.616-9.281 11.914 1.071zm-2.226.851l-13.047 1.19 21.422-10.211zm-35.88 14.994l1.443-3.228 11.
974-5.951zM166.34 188.25l-.87-8.444 13.03-12.434zm-.905 1.487l-10.8 12.244 9.951-20.485zm-16.09 38.27l-6.9 1.283 9.107-20.678zm-.229 1.111l-6.6 26.572-.419-25.267zm5.832 66.152l-7.839-6.451-3.754-24.183zm10.991 22.352l-5.007-1.649-3.349-14.994zm21.4 20.632l-16.633-9.054-2.67-8.975zm3.034 2.848l7.2 9.181-22.015-17.245zm2.694 1.73l22.9 14.774-14.985-4.684zm42.013 13.16l17.8 9.311-30.938-6.1zm21.356-3.54l19.923 10.361-19.515 3.095zm52.882-.483l-8.088 6.977-18.2 2.826zm14.949-10.458l.673 4.353-10.454 3.236zm27.127-28l-10.754 19.1-13.682 6.293zm3-3.184l7.2-13.3-7.7 18.243zm15.219-40.987l2.719-3.755-4.371 14.37zm2.615-28.34v-.032l-.039-.279.271-3.56.276 9.219zm-.723-5.242l-2.72-19.7 3.368 11.179zm-8.092-30.726l-4.965-11.251 6.948 13.109zm-14.97-23.232l-9.915-14.7 12.649 13.332zm-33.121-31.789l.663-.479 7.622 5.442zm-1-.574l-5.154-2.663 5.727 2.248zM270.816 138.2l9.658-1.985 14.533 5.17zm-3.151-.425l-13.151-3.232 22.051 1.4zm-24.913.241l-10.258-.922 14.352-2.59zm-36.2 9.164l5.869-4.4 9.461
-2.908zm-4.817 2.3l-5.091 2.53 7.827-4.58zm-21.356 14.64l-6.039 5.766 6.905-7.7zm-28.285 40.688l-2.685 1 10.431-16.942zm-3.5 2.416l2.9-1.073-7.327 16.636zm-7.215 43.167l.154 9.26-.533 1.683zm.5 11.626l2.642 17.019-3.642-13.886zm13.782 35.206l3.393 15.19-10.823-21.313zm10.886 21.707l2.355 7.919-7.002-9.449zm52.607 40.775l.983 1.567-10.288-4.472zm2.643 2.234l-1.208-1.926 22.392 4.412zm54.851 1.892L274.3 366.5l-12.292-.342zm1.631-.258l14.653-2.275-16.831 4.74zm33.857-12.65l8.593-2.658-15.153 8.317zm13.765-5.7l-.675-4.361 12.557-5.775zm27.2-32.6l-.588 5.86-8.258 9.852zm13.6-24.986l2.122-1.022-9.712 19.012zm2.826-2.527l-2.382 1.147 4.788-15.743z" fill="url(#b)"/><path d="M478.979 166.36c-10.457-25.124-31.636-52.248-48.267-60.82 13.536 26.5 21.369 53.092 24.363 72.934 0-.057.011.049.036.226.012.086.027.174.04.26 22.7 61.468 10.334 123.975-7.487 162.171-27.572 59.1-94.325 119.668-198.808 116.713-112.89-3.192-212.335-86.853-230.9-196.43-3.382-17.279 0-26.053 1.7-40.083-2.074 10.816-2.863 13
.94-3.9 33.157 0 .41-.025.816-.025 1.227C15.732 388.421 123.453 496 256.335 496a240.565 240.565 0 00237.156-199.626c.408-3.076.734-6.168 1.094-9.27 4.783-41.21-.531-84.524-15.606-120.744z" fill="url(#c)"/><path d="M478.979 166.36c-10.457-25.124-31.636-52.248-48.267-60.82 13.536 26.5 21.369 53.092 24.363 72.934 0-.057.011.049.036.226.012.086.027.174.04.26 22.7 61.468 10.334 123.975-7.487 162.171-27.572 59.1-94.325 119.668-198.808 116.713-112.89-3.192-212.335-86.853-230.9-196.43-3.382-17.279 0-26.053 1.7-40.083-2.074 10.816-2.863 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C15.732 388.421 123.453 496 256.335 496a240.565 240.565 0 00237.156-199.626c.408-3.076.734-6.168 1.094-9.27 4.783-41.21-.531-84.524-15.606-120.744z" fill="url(#d)"/><path d="M17.957 261.414c18.564 109.577 118.009 193.238 230.9 196.43 104.483 2.955 171.236-57.618 198.808-116.713 17.821-38.2 30.188-100.7 7.487-162.171l-.008-.026-.032-.234c-.025-.177-.041-.283-.036-.226 0 .04.015.136.047.4 8.533 55.66-19.813 109.581-64.1
26 146.04-.079.189-.133.313-.133.313-86.345 70.222-168.97 42.368-185.7 30.966a137.192 137.192 0 01-3.5-1.743c-50.34-24.029-71.137-69.837-66.678-109.122-42.506 0-57-35.808-57-35.808s38.163-27.179 88.461-3.541c46.583 21.893 90.332 3.543 90.337 3.541-.09-1.952-41.965-18.589-58.291-34.655-8.723-8.585-12.865-12.723-16.533-15.828a71.492 71.492 0 00-6.232-4.7 281.912 281.912 0 00-4.987-3.3c-17.548-11.392-52.448-10.764-53.6-10.735h-.112c-9.538-12.066-8.865-51.871-8.321-60.182-.115-.516-7.116 3.63-8.033 4.254A175.239 175.239 0 0077.156 104.5a210.379 210.379 0 00-22.469 26.912c0 .012-.007.025-.011.037 0-.012.007-.025.011-.038a202.707 202.707 0 00-32.284 72.8c-.116.527-8.661 37.847-4.446 57.203z" fill="url(#e)"/><path d="M341.214 166.593a130.73 130.73 0 0122.336 29.112c1.325.994 2.561 1.985 3.612 2.952 54.545 50.2 25.967 121.2 23.834 126.257 44.313-36.459 72.659-90.38 64.126-146.04-27.207-67.731-73.339-95.043-111.015-154.509-1.905-3.007-3.809-6.022-5.667-9.2a73.154 73.154 0 01-2.649-4.971A43.7
4 43.74 0 01332.2.688a.627.627 0 00-.546-.645.822.822 0 00-.452 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1-9.306 4.428-64.484 91.692 10.308 166.385z" fill="url(#f)"/><path d="M248.657 133.645l31.855 2.027 19.347 6.882 16.124 6.329 18.57 13.258 17.493 18.437 6.077 11.467c.816.5 2.5 1.586 3.932 2.558.525.368 1 .735 1.5 1.1a130.73 130.73 0 00-22.336-29.112C266.422 91.9 321.6 4.636 330.908.2c.027-.036.083-.117.1-.136-60.44 35.356-80.944 100.759-82.828 133.482l-.009.183z" fill="url(#g)"/><path d="M170.74 151.043a243.329 243.329 0 014.987 3.3 111.208 111.208 0 01-.675-58.731c-24.716 11.241-43.941 29.01-57.916 44.7 1.156-.033 36.056-.661 53.604 10.731z" fill="url(#h)"/><path d="M148.32 277.45s11.11-41.34 79.53-41.34c7.4 0 28.54-20.61 28.93-26.59 0 0-43.75 18.35-90.33-3.54-50.3-23.64-88.45 3.54-88.45 3.54s14.5 35.81 57 35.81c-4.45 39.28 16.34 85.09 66.68 109.12 1.13.54 2.19 1.12 3.34 1.64-29.4-15.17-53.66-43.83-56.7-78.64z" fill="url(#i)"/><path d="M367.162 198.657c-1.051-.967-2.2
87-1.958-3.612-2.952-.49-.367-.97-.734-1.5-1.1-12.847-9.014-35.851-17.917-58.014-14.067 86.541 43.213 63.308 192.023-56.611 186.4a106.974 106.974 0 01-31.307-6.03 133.003 133.003 0 01-7.067-2.886c-1.358-.619-2.714-1.243-4.055-1.936.048.034.114.071.163.1 16.729 11.4 99.354 39.256 185.7-30.966 0 0 .054-.124.133-.313 2.137-5.048 30.715-76.05-23.83-126.25z" fill="url(#j)"/><path d="M478.959 166.35c-10.457-25.124-31.637-52.248-48.268-60.82 13.536 26.5 21.37 53.092 24.364 72.934 0 .04.015.136.047.4-27.202-67.731-73.34-95.043-111.015-154.509-1.9-3.008-3.809-6.022-5.668-9.2a73.11 73.11 0 01-2.648-4.971 43.755 43.755 0 01-3.589-9.5.626.626 0 00-.547-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.026-.036.083-.117.1-.136-60.44 35.356-80.933 100.952-82.817 133.675l.488-.088 31.855 2.027 17.928 6.377 17.543 6.834 18.57 13.258 17.472 18.427s6.014 11.287 6.1 11.477c-13.944-8.293-34.208-14.975-54.1-11.519 86.541 43.213 63.308 192.023-56.611 186.4A106.936 106.936 0 0121
6.1 360.9a131.807 131.807 0 01-7.067-2.885c-1.358-.619-2.714-1.244-4.055-1.936.048.034.114.071.163.105a137.192 137.192 0 01-3.5-1.743c1.125.537 2.183 1.123 3.338 1.638-29.384-15.167-53.646-43.832-56.677-78.641 0 0 11.106-41.334 79.524-41.334 7.4 0 28.542-20.614 28.935-26.593-.09-1.952-41.966-18.589-58.291-34.655-8.723-8.585-12.865-12.723-16.533-15.828a71.492 71.492 0 00-6.232-4.7 111.208 111.208 0 01-.675-58.731c-24.716 11.241-43.941 29.01-57.917 44.7h-.111c-9.538-12.066-8.865-51.871-8.322-60.182-.114-.516-7.115 3.63-8.033 4.254a175.3 175.3 0 00-23.513 20.12A210.463 210.463 0 0054.666 131.4a.259.259 0 01-.011.037.272.272 0 00.011-.038 202.724 202.724 0 00-32.284 72.8c-.115.521-.212 1.061-.325 1.586-.452 2.116-2.488 12.852-2.772 15.156-.022.176.021-.177 0 0a279.127 279.127 0 00-3.548 33.529c0 .41-.026.816-.026 1.227 0 132.705 107.722 240.285 240.6 240.285a240.568 240.568 0 00237.16-199.618c.408-3.076.734-6.168 1.094-9.27 4.782-41.21-.531-84.524-15.606-120.744zm-23.868 12.34c.012.086.
027.174.04.26l-.009-.026c-.011-.083-.022-.157-.031-.234z" fill="url(#k)"/><path d="M256.78 209.522s-1.02.427-2.9 1.071c-4.7 7.943-21.409 23.1-27.8 23.075-68.418-.3-79.7 40.587-79.7 40.587a87.34 87.34 0 0013.4 39.263 88.025 88.025 0 01-11.456-36.069s11.106-41.334 79.525-41.334c7.4 0 28.541-20.614 28.935-26.593z" fill="url(#l)"/><path d="M455.152 178.958l-.009-.024c-.012-.082-.021-.157-.033-.233a2.116 2.116 0 00-.033-.227 5.804 5.804 0 00.045.4 239.04 239.04 0 00-5.168-11.9c-.612-1.314-1.269-2.543-1.9-3.826-1.2-2.465-2.4-4.935-3.657-7.293-.775-1.456-1.59-2.837-2.383-4.254-1.163-2.076-2.316-4.165-3.515-6.166-.879-1.463-1.787-2.864-2.68-4.29-1.169-1.862-2.334-3.73-3.533-5.534-.948-1.429-1.92-2.813-2.886-4.208-1.193-1.723-2.386-3.448-3.6-5.128-1.008-1.387-2.032-2.743-3.052-4.1a349.149 349.149 0 00-3.673-4.825q-1.589-2.034-3.2-4.033a486.632 486.632 0 00-3.751-4.619q-1.644-1.989-3.307-3.963c-.6-.714-1.2-1.447-1.8-2.159.26.309.511.63.769.942-20.846-24.591-43.47-47.254-63.674-79.15-1.908-3.0
06-3.812-6.021-5.668-9.2a72.064 72.064 0 01-2.649-4.971 49.1 49.1 0 01-3.31-8.434c-.042-.155-.118-.391-.145-.509-.082-.318-.133-.56-.133-.56a.63.63 0 00-.548-.645.847.847 0 00-.451 0c-.034.012-.085.052-.122.067s-.118.067-.175.094a7.406 7.406 0 00-1.46 1.072 17.267 17.267 0 00-.348.311A25.044 25.044 0 00327.2 3.6c-.024.027-.043.042-.067.069.006-.006.012-.006.018-.012-14.415 16.944-51.226 90.584 8.1 156.635-55.543-65.345-20.542-135.964-5.33-154.464a53.657 53.657 0 002.964 7.268 74.305 74.305 0 002.649 4.971c1.856 3.182 3.761 6.2 5.668 9.2 37.675 59.466 83.806 86.779 111.013 154.51a9.121 9.121 0 01-.045-.4 1.707 1.707 0 01.033.227c.012.076.021.152.033.233l.01.025c22.7 61.47 10.333 123.975-7.488 162.171a199.358 199.358 0 01-38.217 54.8 199.8 199.8 0 0041.124-57.7c17.821-38.199 30.186-100.704 7.487-162.175z" fill="url(#m)"/><path d="M330.908.2c.027-.036.083-.117.1-.136-54.445 31.849-76.48 88.075-81.693 122.836 5.988-32.116 26.574-81.173 72.71-112.144 3.797-5.996 7.143-9.723 8.883-10.556z
" fill="url(#n)"/><path d="M390.863 325.227s.054-.124.133-.313c2.133-5.055 30.711-76.057-23.834-126.257-1.051-.967-2.287-1.958-3.612-2.952-.49-.367-.97-.734-1.5-1.1-12.415-8.711-34.316-17.316-55.776-14.41l-.052.006q-1.093.15-2.186.337c85.565 42.726 63.813 188.673-52.595 186.529.316.015.633.04.948.053 118.009 4.618 141.259-140.089 59.271-185.457 17.768-.174 34.954 6.314 45.567 13.158.539.347 1.034.694 1.537 1.042 1.363.941 2.637 1.883 3.725 2.809 56.473 48.028 30.696 120.09 28.763 125.228a72.283 72.283 0 01-.12.318" fill="url(#o)"/><path d="M167.09 208.38c39.38 17.06 75.93 6.22 87 2.14-10.2 3.52-47.89 14.14-87.64-4.54-45.22-21.25-80.62-1.44-87.32 2.78l-.32.2-.26.17-.2.13-.13.08-.09.06.12.26.14.31v.06l.21.45c.34.72.86 1.75 1.58 3 5.34 9.45 21.43 31.63 54.89 31.63-4.32 38.11 15.12 82.35 62.24 106.9-45-26-64-73-58.7-110.49-34.76-.92-50.31-21.76-54.75-30.59 12.64-6.7 44.73-19.23 83.23-2.55z" fill="url(#p)"/><path d="M175.69 154.205q-.568-.333-1.176-.684.628.42 1.213.818c-.013-.045-.027-.
089-.037-.134zm-.247-.882a111.35 111.35 0 01-.391-57.715c-23.43 10.656-41.917 27.176-55.684 42.233 13.11-12.77 30.093-26.473 50.778-35.862-1.28 9.821-2.383 29.926 5.297 51.344z" fill="url(#q)"/><path d="M23.758 286.6c-.067-.229-.126-.459-.191-.689a220.739 220.739 0 01-5.61-24.5c-1.836-8.43-1.25-20.266 0-30.987-.929 5.565-1.511 11.221-2.2 24.061 0 .41-.025.816-.025 1.227C15.732 360.731 83.2 450 177.2 482.683 95.716 451.478 35.35 376.8 23.758 286.6z" fill="url(#r)"/><path d="M21.832 262.383c-4.214-19.356 4.331-56.676 4.446-57.2a202.7 202.7 0 0132.284-72.8l-.011.038c0-.012.007-.025.011-.037a210.463 210.463 0 0122.47-26.912 175.229 175.229 0 0123.513-20.12 29.207 29.207 0 011.015-.634c-.083 18.28.954 49.124 9.423 59.237h.111c1.16-.06 36.177-1.605 54.092 9.322a273.279 273.279 0 015.092 3.164 71.848 71.848 0 016.378 4.532c3.764 3.008 8.03 7.036 17.012 15.389 13 12.091 41.356 24.121 53.6 29.852-11.929-6.009-40.077-18.848-52.774-31.343-8.723-8.585-12.865-12.723-16.533-15.828a71.492 71.492 0
00-6.232-4.7 281.912 281.912 0 00-4.987-3.3c-17.548-11.392-52.448-10.765-53.6-10.735h-.112c-8.718-11.028-8.905-45.214-8.458-57.362.018-.468.036-.9.054-1.3l.021-.429a119.792 119.792 0 01.018-.356c.015-.262.029-.515.044-.734-.007-.031-.042-.043-.095-.042-.018 0-.048.009-.071.012a1.022 1.022 0 00-.151.034c-.039.011-.087.03-.132.046a4.265 4.265 0 00-.39.157l-.234.106a16.595 16.595 0 00-.495.24l-.3.151-.245.128-.359.188-.2.109c-2.121 1.141-4.813 2.754-5.358 3.125A175.239 175.239 0 0077.156 104.5a210.379 210.379 0 00-22.469 26.912c0 .012-.007.025-.011.037 0-.012.007-.025.011-.038a202.707 202.707 0 00-32.284 72.8c-.116.521-8.661 37.841-4.446 57.2 15.8 93.251 90.176 167.72 181.563 189.812-89.608-23.234-162.113-96.911-177.688-188.84z" fill="url(#s)"/><path d="M478.979 166.36c-9.226-22.167-26.8-45.883-42.231-57.048l-.425-.3q-.717-.508-1.428-.982-.27-.18-.54-.356-.675-.435-1.341-.834c-.172-.1-.345-.212-.517-.312a42.518 42.518 0 00-1.786-.986c.65 1.272 1.275 2.544 1.9 3.816a394.886 394.886 0 0
11.148 2.373c11.668 24.415 18.557 48.448 21.317 66.745 0 .04.015.136.047.4 8.533 55.66-19.813 109.581-64.126 146.04-.079.189-.133.313-.133.313-55.08 44.8-108.642 49.678-144.555 44.383 35.786 6.684 92.233 3.866 150.369-43.414l.133-.313c44.312-36.459 72.659-90.381 64.126-146.04a12.553 12.553 0 01-.047-.4c-2.451-16.242-8.159-37.005-17.57-58.54a159 159 0 0126.316 37.486c17.047 34.76 24.739 77.04 22.235 117.816-.188 3.07-.343 6.128-.58 9.174-13.068 112.5-106.967 202.843-225.783 209.5a245.659 245.659 0 01-47.5-1.93A242.635 242.635 0 00256.335 496c119 0 217.812-86.287 237.156-199.626.408-3.076.734-6.168 1.094-9.27 4.783-41.21-.531-84.524-15.606-120.744zm-23.828 12.6l-.008-.026-.032-.234c.012.086.027.174.04.26z" fill="url(#t)"/></svg>
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="50%" y1="100%" x2="50%" y2="0%" id="linearGradient-1">
+ <stop stop-color="#420C5D" offset="0%"></stop>
+ <stop stop-color="#951AD1" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,29 C152.577777,29 256,131.974508 256,259 C256,386.025492 152.577777,489 25,489 L25,29 Z" id="path-2"></path>
+ <filter x="-18.2%" y="-7.4%" width="129.4%" height="114.8%" filterUnits="objectBoundingBox" id="filter-3">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Assets" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="icon_512x512">
+ <g id="Group">
+ <g id="tb_icon/Stable">
+ <g id="Stable">
+ <circle id="background" fill="#F2E4FF" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384
044,0 256,0 C114.60886,0 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.500000, 259.000000) scale(-1, 1) translate(-140.500000, -259.000000) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+ <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/devtools/client/themes/images/aboutdebugging-firefox-beta.svg b/devtools/client/themes/images/aboutdebugging-firefox-beta.svg
index 8ece78c5c1cd..9240dc6e84ca 100644
--- a/devtools/client/themes/images/aboutdebugging-firefox-beta.svg
+++ b/devtools/client/themes/images/aboutdebugging-firefox-beta.svg
@@ -1,4 +1,31 @@
-<!-- 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/. -->
-<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512"><defs><radialGradient id="c" cx="87.4%" cy="-12.9%" r="128%" gradientTransform="matrix(.8 0 0 1 .178 .129)"><stop offset=".13" stop-color="#ffbd4f"/><stop offset=".28" stop-color="#ff980e"/><stop offset=".47" stop-color="#ff3750"/><stop offset=".78" stop-color="#eb0878"/><stop offset=".86" stop-color="#e50080"/></radialGradient><radialGradient id="d" cx="49%" cy="40%" r="128%" gradientTransform="matrix(.82 0 0 1 .088 0)"><stop offset=".3" stop-color="#960e18"/><stop offset=".35" stop-color="#b11927" stop-opacity=".74"/><stop offset=".43" stop-color="#db293d" stop-opacity=".34"/><stop offset=".5" stop-color="#f5334b" stop-opacity=".09"/><stop offset=".53" stop-color="#ff3750" stop-opacity="0"/></radialGradient><radialGradient id="e" cx="48%" cy="-12%" r="140%"><stop offset=".13" stop-color="#fff44f"/><stop offset=".53" stop-color="#ff980e"/></radialGradient><radialGradient id="f" cx="22.76%" cy="110.11%" r="100%"><stop
offset=".35" stop-color="#3a8ee6"/><stop offset=".67" stop-color="#9059ff"/><stop offset="1" stop-color="#c139e6"/></radialGradient><radialGradient id="g" cx="52%" cy="33%" r="59%" gradientTransform="scale(.9 1)"><stop offset=".21" stop-color="#9059ff" stop-opacity="0"/><stop offset=".97" stop-color="#6e008b" stop-opacity=".6"/></radialGradient><radialGradient id="h" cx="210%" cy="-100%" r="290%"><stop offset=".1" stop-color="#ffe226"/><stop offset=".79" stop-color="#ff7139"/></radialGradient><radialGradient id="i" cx="84%" cy="-41%" r="180%"><stop offset=".11" stop-color="#fff44f"/><stop offset=".46" stop-color="#ff980e"/><stop offset=".72" stop-color="#ff3647"/><stop offset=".9" stop-color="#e31587"/></radialGradient><radialGradient id="j" cx="16.1%" cy="-18.6%" r="348.8%" gradientTransform="matrix(.10453 .46743 -.99452 .04913 -.046 -.255)"><stop offset="0" stop-color="#fff44f"/><stop offset=".3" stop-color="#ff980e"/><stop offset=".57" stop-color="#ff3647"/><stop offset=".74" sto
p-color="#e31587"/></radialGradient><radialGradient id="k" cx="18.9%" cy="-42.5%" r="238.4%"><stop offset=".14" stop-color="#fff44f"/><stop offset=".48" stop-color="#ff980e"/><stop offset=".66" stop-color="#ff3647"/><stop offset=".9" stop-color="#e31587"/></radialGradient><radialGradient id="l" cx="159.3%" cy="-44.72%" r="313.1%"><stop offset=".09" stop-color="#fff44f"/><stop offset=".63" stop-color="#ff980e"/></radialGradient><linearGradient id="b" x1="87.25%" y1="15.5%" x2="9.4%" y2="93.1%"><stop offset=".05" stop-color="#fff44f"/><stop offset=".37" stop-color="#ff980e"/><stop offset=".53" stop-color="#ff3647"/><stop offset=".7" stop-color="#e31587"/></linearGradient><linearGradient id="m" x1="80%" y1="14%" x2="18%" y2="84%"><stop offset=".17" stop-color="#fff44f" stop-opacity=".8"/><stop offset=".6" stop-color="#fff44f" stop-opacity="0"/></linearGradient><linearGradient id="a" x1="446.053" y1="434.456" x2="385.267" y2="376.907" gradientUnits="userSpaceOnUse"><stop offset="0" stop
-color="#054096" stop-opacity=".5"/><stop offset=".054" stop-color="#0f3d9c" stop-opacity=".441"/><stop offset=".261" stop-color="#2f35b1" stop-opacity=".249"/><stop offset=".466" stop-color="#462fbf" stop-opacity=".111"/><stop offset=".669" stop-color="#542bc8" stop-opacity=".028"/><stop offset=".864" stop-color="#592acb" stop-opacity="0"/></linearGradient><linearGradient id="n" x1="280.371" y1="377.927" x2="499.809" y2="470.777" gradientUnits="userSpaceOnUse"><stop offset=".001" stop-color="#54ffbd"/><stop offset="1" stop-color="#0df"/></linearGradient><filter id="o" x="-1" y="-1" width="300%" height="300%"><feOffset result="offOut" in="SourceGraphic" dx="-4" dy="-4"/><feColorMatrix result="matrixOut" in="offOut" values=".01 0 0 0 0 0 0 0 0 0 0 .2 0 0 0 0 0 0 .2 0"/><feGaussianBlur result="blurOut" in="matrixOut" stdDeviation="8"/><feBlend in="SourceGraphic" in2="blurOut"/></filter></defs><path d="M450.683 326.634h-175.61a9.366 9.366 0 00-9.366 9.366v28.1a74.926 74.926 0 0074.927
74.926h97.171A56.2 56.2 0 00494 382.829v-24.585c0-14.044-14.049-31.61-43.317-31.61z" fill="#008787"/><path d="M450.683 326.634h-175.61a9.366 9.366 0 00-9.366 9.366v28.1a74.926 74.926 0 0074.927 74.926h97.171A56.2 56.2 0 00494 382.829v-24.585c0-14.044-14.049-31.61-43.317-31.61z" fill="url(#a)" opacity=".9"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0 .039.015.136.047.4C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484a120.249 120.249 0 00-66.142 25.488 71.355 71.355 0 00-6.225-4.7 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00
-22.442 26.913c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-.212 1.061-.324 1.586-.452 2.116-2.08 12.7-2.365 15-.022.177-.032.347-.053.524a229.066 229.066 0 00-3.9 33.157c0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746zM201.716 354.447c1.124.537 2.18 1.124 3.334 1.639.048.033.114.07.163.1a126.191 126.191 0 01-3.497-1.739zm55.053-144.93zm198.131-30.59l-.032-.233c.012.085.027.174.04.259z" fill="url(#b)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0-.058.011.048.036.226.012.085.027.174.04.259 22.675 61.47 10.322 123.978-7.479 162.175-27.539 59.1-94.215 119.67-198.576 116.716C136.1 454.651 36.766 370.988 18.223 261.41c-3.379-17.28 0-26.054 1.7-40.084-2.071 10.816-2.86 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217
.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746z" fill="url(#c)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0-.058.011.048.036.226.012.085.027.174.04.259 22.675 61.47 10.322 123.978-7.479 162.175-27.539 59.1-94.215 119.67-198.576 116.716C136.1 454.651 36.766 370.988 18.223 261.41c-3.379-17.28 0-26.054 1.7-40.084-2.071 10.816-2.86 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746z" fill="url(#d)"/><path d="M361.922 194.6c.524.368 1 .734 1.493 1.1a130.706 130.706 0 00-22.31-29.112C266.4 91.892 321.516 4.626 330.811.194c.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484 2.8-.194 5.592-.429 8.442-.429 45.051 0 84.289 24.77 105.301 61.487z" fill="url(#e)"/><path d="M256.772 209.514c-.393 5.978-21.514 26.593-28.9 26.593-68.339
0-79.432 41.335-79.432 41.335 3.027 34.81 27.261 63.475 56.611 78.643 1.339.692 2.694 1.317 4.05 1.935a132.768 132.768 0 007.059 2.886 106.743 106.743 0 0031.271 6.031c119.78 5.618 142.986-143.194 56.545-186.408 22.137-3.85 45.115 5.053 57.947 14.067-21.012-36.714-60.25-61.484-105.3-61.484-2.85 0-5.641.235-8.442.429a120.249 120.249 0 00-66.142 25.488c3.664 3.1 7.8 7.244 16.514 15.828 16.302 16.067 58.13 32.705 58.219 34.657z" fill="url(#f)"/><path d="M256.772 209.514c-.393 5.978-21.514 26.593-28.9 26.593-68.339 0-79.432 41.335-79.432 41.335 3.027 34.81 27.261 63.475 56.611 78.643 1.339.692 2.694 1.317 4.05 1.935a132.768 132.768 0 007.059 2.886 106.743 106.743 0 0031.271 6.031c119.78 5.618 142.986-143.194 56.545-186.408 22.137-3.85 45.115 5.053 57.947 14.067-21.012-36.714-60.25-61.484-105.3-61.484-2.85 0-5.641.235-8.442.429a120.249 120.249 0 00-66.142 25.488c3.664 3.1 7.8 7.244 16.514 15.828 16.302 16.067 58.13 32.705 58.219 34.657z" fill="url(#g)"/><path d="M170.829 151.036a244.042
244.042 0 014.981 3.3 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7 1.155-.033 36.014-.66 53.543 10.732z" fill="url(#h)"/><path d="M18.223 261.41C36.766 370.988 136.1 454.651 248.855 457.844c104.361 2.954 171.037-57.62 198.576-116.716 17.8-38.2 30.154-100.7 7.479-162.175l-.008-.026-.032-.233c-.025-.178-.04-.284-.036-.226 0 .039.015.136.047.4 8.524 55.661-19.79 109.584-64.051 146.044l-.133.313c-86.245 70.223-168.774 42.368-185.484 30.966a144.108 144.108 0 01-3.5-1.743c-50.282-24.029-71.054-69.838-66.6-109.124-42.457 0-56.934-35.809-56.934-35.809s38.119-27.179 88.358-3.541c46.53 21.893 90.228 3.543 90.233 3.541-.089-1.952-41.917-18.59-58.223-34.656-8.713-8.584-12.85-12.723-16.514-15.828a71.355 71.355 0 00-6.225-4.7 282.929 282.929 0 00-4.981-3.3c-17.528-11.392-52.388-10.765-53.543-10.735h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.442 26.919c0 .012-.007.026-.011.038 0-
.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-8.65 37.842-4.44 57.199z" fill="url(#i)"/><path d="M341.105 166.587a130.706 130.706 0 0122.31 29.112c1.323.994 2.559 1.985 3.608 2.952 54.482 50.2 25.936 121.2 23.807 126.26 44.261-36.46 72.575-90.383 64.051-146.044C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1-9.291 4.428-64.407 91.694 10.298 166.389z" fill="url(#j)"/><path d="M367.023 198.651c-1.049-.967-2.285-1.958-3.608-2.952-.489-.368-.969-.734-1.493-1.1-12.832-9.014-35.81-17.917-57.947-14.067 86.441 43.214 63.235 192.026-56.545 186.408a106.743 106.743 0 01-31.271-6.031 134.51 134.51 0 01-7.059-2.886c-1.356-.618-2.711-1.243-4.05-1.935.048.033.114.07.163.1 16.71 11.4 99.239 39.257 185.484-30.966l.133-.313c2.129-5.054 30.675-76.057-23.807-126.258z" fill="url(#k)"/><path d="M148.439 277.4
43s11.093-41.335 79.432-41.335c7.388 0 28.509-20.615 28.9-26.593s-43.7 18.352-90.233-3.541c-50.239-23.638-88.358 3.541-88.358 3.541s14.477 35.809 56.934 35.809c-4.453 39.286 16.319 85.1 66.6 109.124 1.124.537 2.18 1.124 3.334 1.639-29.348-15.169-53.582-43.834-56.609-78.644z" fill="url(#l)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0 .039.015.136.047.4C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484 2.8-.194 5.592-.429 8.442-.429 45.053 0 84.291 24.77 105.3 61.484-12.832-9.014-35.81-17.917-57.947-14.067 86.441 43.214 63.235 192.026-56.545 186.408a106.743 106.743 0 01-31.271-6.031 134.51 134.51 0 01-7.059-2.886c-1.356-.618-2.711-1.243-4.05-1.935.048.033.114.07.163.1a144.108 144.1
08 0 01-3.5-1.743c1.124.537 2.18 1.124 3.334 1.639-29.35-15.168-53.584-43.833-56.611-78.643 0 0 11.093-41.335 79.432-41.335 7.388 0 28.509-20.615 28.9-26.593-.089-1.952-41.917-18.59-58.223-34.656-8.713-8.584-12.85-12.723-16.514-15.828a71.355 71.355 0 00-6.225-4.7 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.435 26.916c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-.212 1.061-.324 1.586-.452 2.116-2.486 12.853-2.77 15.156-.022.177.021-.176 0 0a279.565 279.565 0 00-3.544 33.53c0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746zm-23.841 12.341c.012.085.027.174.04.259l-.008-.026-.032-.233z" fill="url(#m)"/><path d="M484.634 367.61H323.189A69.189 69.189 0 00254 436.
8v33.835a9.366 9.366 0 009.366 9.365h161.445A69.189 69.189 0 00494 410.811v-52.567a9.366 9.366 0 01-9.366 9.366z" fill="url(#n)" filter="url(#o)"/><path d="M326.241 423.168a10.264 10.264 0 005.349-9.424c0-8.342-5.795-12.991-16.11-12.991h-19.232v46.486h19.359c10.315 0 16.684-4.584 16.684-13.755 0-4.839-2.166-8.341-6.05-10.316zM305.1 408.713h10.57c4.713 0 6.941 1.975 6.941 5.223 0 3.183-2.038 5.539-6.813 5.539H305.1zm10.635 30.439H305.1v-11.59h10.253c5.667 0 7.833 2.1 7.833 5.731s-2.548 5.859-7.452 5.859zm25.15 8.087h31.265v-8.532h-22.287v-10.572h22.287v-8.469h-22.287v-10.444h22.287v-8.469h-31.266zm73.548-46.486h-34.58v8.278h12.928v38.208h8.851v-38.208h12.8zm24.069 0h-8.852l-17.576 46.486h9.234l3.056-8.469h19.422l3.058 8.469h9.233zm-11.144 29.866l6.75-18.467 6.686 18.467z" fill="#20123a"/></svg>
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="50%" y1="100%" x2="50%" y2="0%" id="linearGradient-1">
+ <stop stop-color="#420C5D" offset="0%"></stop>
+ <stop stop-color="#951AD1" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,29 C152.577777,29 256,131.974508 256,259 C256,386.025492 152.577777,489 25,489 L25,29 Z" id="path-2"></path>
+ <filter x="-18.2%" y="-7.4%" width="129.4%" height="114.8%" filterUnits="objectBoundingBox" id="filter-3">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Assets" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="icon_512x512">
+ <g id="Group">
+ <g id="tb_icon/Stable">
+ <g id="Stable">
+ <circle id="background" fill="#F2E4FF" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384
044,0 256,0 C114.60886,0 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.500000, 259.000000) scale(-1, 1) translate(-140.500000, -259.000000) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+ <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/devtools/client/themes/images/aboutdebugging-firefox-logo.svg b/devtools/client/themes/images/aboutdebugging-firefox-logo.svg
index fe4d116b1660..d7895f1107c5 100644
--- a/devtools/client/themes/images/aboutdebugging-firefox-logo.svg
+++ b/devtools/client/themes/images/aboutdebugging-firefox-logo.svg
@@ -1,6 +1,5 @@
-<!-- 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/. -->
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
- <path fill="context-fill #20123a" d="M190.368 150.591c0.157 0.009 0.079 0.003 0 0zm-57.874-28.933c0.158 0.008 0.079 0.003 0 0zm346.228 44.674c-10.445-25.123-31.6-52.248-48.211-60.82 13.52 26.5 21.345 53.093 24.335 72.935 0 0.04 0.015 0.136 0.047 0.4-27.175-67.732-73.254-95.047-110.886-154.512-1.9-3.008-3.805-6.022-5.661-9.2a73.237 73.237 0 0 1-2.646-4.972 43.757 43.757 0 0 1-3.585-9.5 0.625 0.625 0 0 0-0.546-0.644 0.8 0.8 0 0 0-0.451 0c-0.033 0.011-0.084 0.051-0.119 0.065-0.053 0.02-0.12 0.069-0.176 0.095 0.026-0.036 0.083-0.117 0.1-0.135-53.437 31.3-75.587 86.093-81.282 120.97a128.057 128.057 0 0 0-47.624 12.153 6.144 6.144 0 0 0-3.041 7.63 6.034 6.034 0 0 0 8.192 3.525 116.175 116.175 0 0 1 41.481-10.826c0.468-0.033 0.937-0.062 1.405-0.1a117.624 117.624 0 0 1 5.932-0.211 120.831 120.831 0 0 1 34.491 4.777c0.654 0.192 1.295 0.414 1.946 0.616a120.15 120.15 0 0 1 5.539 1.842 121.852 121.852 0 0 1 3.992 1.564c1.074 0.434 2.148 0.868 3.206 1.331a118.453 118.453 0 0 1 4.9 2.307c0.743
0.368 1.485 0.735 2.217 1.117a120.535 120.535 0 0 1 4.675 2.587 107.785 107.785 0 0 1 2.952 1.776 123.018 123.018 0 0 1 42.028 43.477c-12.833-9.015-35.81-17.918-57.947-14.068 86.441 43.214 63.234 192.027-56.545 186.408a106.7 106.7 0 0 1-31.271-6.031 132.461 132.461 0 0 1-7.059-2.886c-1.356-0.618-2.711-1.243-4.051-1.935-29.349-15.168-53.583-43.833-56.611-78.643 0 0 11.093-41.335 79.433-41.335 7.388 0 28.508-20.614 28.9-26.593-0.09-1.953-41.917-18.59-58.223-34.656-8.714-8.585-12.851-12.723-16.514-15.829a71.7 71.7 0 0 0-6.225-4.7 111.335 111.335 0 0 1-0.675-58.733c-24.687 11.242-43.89 29.011-57.849 44.7h-0.111c-9.528-12.067-8.855-51.873-8.312-60.184-0.114-0.516-7.107 3.63-8.024 4.254a175.21 175.21 0 0 0-23.486 20.12 210.5 210.5 0 0 0-22.443 26.913c0 0.012-0.007 0.025-0.011 0.037 0-0.012 0.007-0.025 0.011-0.038a202.837 202.837 0 0 0-32.244 72.81c-0.058 0.265-2.29 10.054-3.92 22.147a265.794 265.794 0 0 0-0.769 5.651c-0.558 3.636-0.992 7.6-1.42 13.767-0.019 0.239-0.031 0.474-0.048 0.712a5
91.152 591.152 0 0 0-0.481 7.995c0 0.411-0.025 0.816-0.025 1.227 0 132.709 107.6 240.29 240.324 240.29 118.865 0 217.559-86.288 236.882-199.63 0.407-3.075 0.732-6.168 1.092-9.27 4.777-41.21-0.53-84.525-15.588-120.747zm-164.068 72.1z" />
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <g fill="context-fill" fill-opacity="context-fill-opacity" fill-rule="nonzero">
+ <path d="M12.0246161,21.8174863 L12.0246161,20.3628098 C16.6324777,20.3495038 20.3634751,16.6108555 20.3634751,11.9996673 C20.3634751,7.38881189 16.6324777,3.65016355 12.0246161,3.63685757 L12.0246161,2.18218107 C17.4358264,2.1958197 21.8178189,6.58546322 21.8178189,11.9996673 C21.8178189,17.4142042 17.4358264,21.8041803 12.0246161,21.8174863 L12.0246161,21.8174863 Z M12.0246161,16.7259522 C14.623607,16.7123136 16.7272828,14.6023175 16.7272828,11.9996673 C16.7272828,9.39734991 14.623607,7.28735377 12.0246161,7.27371516 L12.0246161,5.81937131 C15.4272884,5.8326773 18.1819593,8.59400123 18.1819593,11.9996673 C18.1819593,15.4056661 15.4272884,18.1669901 12.0246161,18.1802961 L12.0246161,16.7259522 Z M12.0246161,9.45556355 C13.4187503,9.46886953 14.5454344,10.6022066 14.5454344,11.9996673 C14.5454344,13.3974608 13.4187503,14.5307978 12.0246161,14.5441038 L12.0246161,9.45556355 Z M0,11.9996673 C0,18.6273771 5.37229031,24 12,24 C18.6273771,24 24,18.6273771 24,11.9996673 C24,5.37229031
18.6273771,0 12,0 C5.37229031,0 0,5.37229031 0,11.9996673 Z"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/devtools/client/themes/images/aboutdebugging-firefox-nightly.svg b/devtools/client/themes/images/aboutdebugging-firefox-nightly.svg
index dbc7b084d6c0..9240dc6e84ca 100644
--- a/devtools/client/themes/images/aboutdebugging-firefox-nightly.svg
+++ b/devtools/client/themes/images/aboutdebugging-firefox-nightly.svg
@@ -1,4 +1,31 @@
-<!-- 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/. -->
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><radialGradient id="b" cx="-9227.187" cy="-9815.121" r="80.797" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset=".108" stop-color="#3fe1b0"/><stop offset=".122" stop-color="#3bdcb3"/><stop offset=".254" stop-color="#1bb3d3"/><stop offset=".358" stop-color="#0799e6"/><stop offset=".42" stop-color="#0090ed"/><stop offset=".487" stop-color="#2482f1"/><stop offset=".64" stop-color="#7165fb"/><stop offset=".71" stop-color="#9059ff"/><stop offset=".795" stop-color="#7d49ed"/><stop offset=".86" stop-color="#7542e5"/></radialGradient><radialGradient id="c" cx="-9256.711" cy="-9782.089" r="80.797" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset=".3" stop-color="#45278d"/><stop offset=".341" stop-color="#562896" stop-opacity=".787"/><stop offset=".43" stop-color="#782aa9" stop-opacity=".364"/><stop offset=".495" sto
p-color="#8d2bb5" stop-opacity=".1"/><stop offset=".53" stop-color="#952bb9" stop-opacity="0"/></radialGradient><radialGradient id="d" cx="-9246.97" cy="-9833.457" r="58.534" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset=".132" stop-color="#3fe1b0"/><stop offset=".289" stop-color="#28d0c8"/><stop offset=".526" stop-color="#00b3f4"/></radialGradient><radialGradient id="e" cx="-9265.648" cy="-9760.984" r="38.471" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset=".287" stop-color="#0060df"/><stop offset=".417" stop-color="#2357e1"/><stop offset=".604" stop-color="#4f4ce3"/><stop offset=".748" stop-color="#6b45e4"/><stop offset=".833" stop-color="#7542e5"/></radialGradient><radialGradient id="f" cx="-9255.62" cy="-9791.546" r="20.397" gradientTransform="matrix(6.027 -1.458 1.708 7.059 72758.651 55821.181)" gradientUnits="userSpaceOnUse"><stop offset=".206" stop-color="#45278d
" stop-opacity="0"/><stop offset=".251" stop-color="#44268a" stop-opacity=".055"/><stop offset=".725" stop-color="#371f6f" stop-opacity=".591"/><stop offset=".956" stop-color="#321c64" stop-opacity=".8"/></radialGradient><radialGradient id="g" cx="-9257.731" cy="-9818.427" r="27.676" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#0df"/><stop offset=".235" stop-color="#00d6fd"/><stop offset=".572" stop-color="#00c3f8"/><stop offset=".792" stop-color="#00b3f4"/></radialGradient><radialGradient id="h" cx="-9235.977" cy="-9835.981" r="118.081" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset=".126" stop-color="#3fe1b0"/><stop offset=".429" stop-color="#0df"/><stop offset=".479" stop-color="#1ec1ff"/><stop offset=".624" stop-color="#7077ff"/><stop offset=".69" stop-color="#9059ff"/><stop offset=".904" stop-color="#b833e1"/></radialGradient><radialGradient id="i
" cx="-9247.165" cy="-9822.859" r="86.499" gradientTransform="matrix(.649 6.166 -4.046 .426 -33440.427 61207.861)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#54ffbd"/><stop offset=".095" stop-color="#4cf3b8"/><stop offset=".197" stop-color="#3fe1b0"/><stop offset=".257" stop-color="#33d8bd"/><stop offset=".369" stop-color="#12c0e1"/><stop offset=".423" stop-color="#00b3f4"/><stop offset=".737" stop-color="#0060df"/></radialGradient><radialGradient id="j" cx="-9258.383" cy="-9808.176" r="73.72" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offset=".137" stop-color="#3fe1b0"/><stop offset=".435" stop-color="#0df"/><stop offset=".484" stop-color="#1ec1ff"/><stop offset=".622" stop-color="#7077ff"/><stop offset=".685" stop-color="#9059ff"/></radialGradient><radialGradient id="k" cx="-9238.923" cy="-9803.861" r="80.686" gradientTransform="matrix(6.201 0 0 6.2 57644.994 60908.8)" gradientUnits="userSpaceOnUse"><stop offs
et=".094" stop-color="#54ffbd"/><stop offset=".242" stop-color="#41f7cc"/><stop offset=".543" stop-color="#0fe3f3"/><stop offset=".626" stop-color="#0df"/></radialGradient><linearGradient id="a" x1="471.8" y1="127.352" x2="55.983" y2="389.284" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3fe1b0"/><stop offset=".406" stop-color="#00b3f4"/><stop offset=".421" stop-color="#03b0f4"/><stop offset=".818" stop-color="#5561e9"/><stop offset="1" stop-color="#7542e5"/></linearGradient><linearGradient id="l" x1="442.084" y1="74.772" x2="102.645" y2="414.21" gradientUnits="userSpaceOnUse"><stop offset=".167" stop-color="#54ffbd" stop-opacity=".8"/><stop offset=".236" stop-color="#43f8ca" stop-opacity=".639"/><stop offset=".361" stop-color="#27ede1" stop-opacity=".368"/><stop offset=".466" stop-color="#12e4f1" stop-opacity=".169"/><stop offset=".545" stop-color="#05dffb" stop-opacity=".046"/><stop offset=".589" stop-color="#0df" stop-opacity="0"/></linearGradient></defs><path d="
M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0 .039.015.136.047.4C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484a120.249 120.249 0 00-66.142 25.488 71.355 71.355 0 00-6.225-4.7 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.442 26.913c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-.212 1.061-.324 1.586-.452 2.116-2.08 12.7-2.365 15-.022.177-.032.347-.053.524a229.066 229.066 0 00-3.9 33.157c0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.6
3.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746zM201.716 354.447c1.124.537 2.18 1.124 3.334 1.639.048.033.114.07.163.1a126.191 126.191 0 01-3.497-1.739zm55.053-144.93zm198.131-30.59l-.032-.233c.012.085.027.174.04.259z" fill="url(#a)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0-.058.011.048.036.226.012.085.027.174.04.259 22.675 61.47 10.322 123.978-7.479 162.175-27.539 59.1-94.215 119.67-198.576 116.716C136.1 454.651 36.766 370.988 18.223 261.41c-3.379-17.28 0-26.054 1.7-40.084-2.071 10.816-2.86 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746z" fill="url(#b)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0-.058.011.048.036.226.012.085.027.174.04.259 22.675 61.47 10.322 123.978-7.479 162.175-27.539
59.1-94.215 119.67-198.576 116.716C136.1 454.651 36.766 370.988 18.223 261.41c-3.379-17.28 0-26.054 1.7-40.084-2.071 10.816-2.86 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746z" fill="url(#c)"/><path d="M361.922 194.6c.524.368 1 .734 1.493 1.1a130.706 130.706 0 00-22.31-29.112C266.4 91.892 321.516 4.626 330.811.194c.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484 2.8-.194 5.592-.429 8.442-.429 45.051 0 84.289 24.77 105.301 61.487z" fill="url(#d)"/><path d="M256.772 209.514c-.393 5.978-21.514 26.593-28.9 26.593-68.339 0-79.432 41.335-79.432 41.335 3.027 34.81 27.261 63.475 56.611 78.643 1.339.692 2.694 1.317 4.05 1.935a132.768 132.768 0 007.059 2.886 106.743 106.743 0 0031.271 6.031c119.78 5.618 142.986-143.194 56.545-186.408 22.137-3.85 45.115 5.053 57.947 14.067-21.012-36.714-60.25-61.484-105.3-61.484-2.85 0-5.641.235-8.442.429
a120.249 120.249 0 00-66.142 25.488c3.664 3.1 7.8 7.244 16.514 15.828 16.302 16.067 58.13 32.705 58.219 34.657z" fill="url(#e)"/><path d="M256.772 209.514c-.393 5.978-21.514 26.593-28.9 26.593-68.339 0-79.432 41.335-79.432 41.335 3.027 34.81 27.261 63.475 56.611 78.643 1.339.692 2.694 1.317 4.05 1.935a132.768 132.768 0 007.059 2.886 106.743 106.743 0 0031.271 6.031c119.78 5.618 142.986-143.194 56.545-186.408 22.137-3.85 45.115 5.053 57.947 14.067-21.012-36.714-60.25-61.484-105.3-61.484-2.85 0-5.641.235-8.442.429a120.249 120.249 0 00-66.142 25.488c3.664 3.1 7.8 7.244 16.514 15.828 16.302 16.067 58.13 32.705 58.219 34.657z" fill="url(#f)"/><path d="M170.829 151.036a244.042 244.042 0 014.981 3.3 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7 1.155-.033 36.014-.66 53.543 10.732z" fill="url(#g)"/><path d="M18.223 261.41C36.766 370.988 136.1 454.651 248.855 457.844c104.361 2.954 171.037-57.62 198.576-116.716 17.8-38.2 30.154-100.7 7.479-162.175l-.008-.026-.032-.233
c-.025-.178-.04-.284-.036-.226 0 .039.015.136.047.4 8.524 55.661-19.79 109.584-64.051 146.044l-.133.313c-86.245 70.223-168.774 42.368-185.484 30.966a144.108 144.108 0 01-3.5-1.743c-50.282-24.029-71.054-69.838-66.6-109.124-42.457 0-56.934-35.809-56.934-35.809s38.119-27.179 88.358-3.541c46.53 21.893 90.228 3.543 90.233 3.541-.089-1.952-41.917-18.59-58.223-34.656-8.713-8.584-12.85-12.723-16.514-15.828a71.355 71.355 0 00-6.225-4.7 282.929 282.929 0 00-4.981-3.3c-17.528-11.392-52.388-10.765-53.543-10.735h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.442 26.919c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-8.65 37.842-4.44 57.199z" fill="url(#h)"/><path d="M341.105 166.587a130.706 130.706 0 0122.31 29.112c1.323.994 2.559 1.985 3.608 2.952 54.482 50.2 25.936 121.2 23.807 126.26 44.261-36.46 72.575-90.383 64.051-146.044C427.706 111.135 381.627 83.823 34
4 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1-9.291 4.428-64.407 91.694 10.298 166.389z" fill="url(#i)"/><path d="M367.023 198.651c-1.049-.967-2.285-1.958-3.608-2.952-.489-.368-.969-.734-1.493-1.1-12.832-9.014-35.81-17.917-57.947-14.067 86.441 43.214 63.235 192.026-56.545 186.408a106.743 106.743 0 01-31.271-6.031 134.51 134.51 0 01-7.059-2.886c-1.356-.618-2.711-1.243-4.05-1.935.048.033.114.07.163.1 16.71 11.4 99.239 39.257 185.484-30.966l.133-.313c2.129-5.054 30.675-76.057-23.807-126.258z" fill="url(#j)"/><path d="M148.439 277.443s11.093-41.335 79.432-41.335c7.388 0 28.509-20.615 28.9-26.593s-43.7 18.352-90.233-3.541c-50.239-23.638-88.358 3.541-88.358 3.541s14.477 35.809 56.934 35.809c-4.453 39.286 16.319 85.1 66.6 109.124 1.124.537 2.18 1.124 3.334 1.639-29.348-15.169-53.582-43.834-56.609-78.644z" fill="url(#k)"/><path d="M478.711 166.353
c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0 .039.015.136.047.4C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484 2.8-.194 5.592-.429 8.442-.429 45.053 0 84.291 24.77 105.3 61.484-12.832-9.014-35.81-17.917-57.947-14.067 86.441 43.214 63.235 192.026-56.545 186.408a106.743 106.743 0 01-31.271-6.031 134.51 134.51 0 01-7.059-2.886c-1.356-.618-2.711-1.243-4.05-1.935.048.033.114.07.163.1a144.108 144.108 0 01-3.5-1.743c1.124.537 2.18 1.124 3.334 1.639-29.35-15.168-53.584-43.833-56.611-78.643 0 0 11.093-41.335 79.432-41.335 7.388 0 28.509-20.615 28.9-26.593-.089-1.952-41.917-18.59-58.223-34.656-8.713-8.584-12.85-12.723-16.514-15.828a71.355 71.355 0 00-6.225-4.7 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89
29.01-57.85 44.7h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.435 26.916c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-.212 1.061-.324 1.586-.452 2.116-2.486 12.853-2.77 15.156-.022.177.021-.176 0 0a279.565 279.565 0 00-3.544 33.53c0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746zm-23.841 12.341c.012.085.027.174.04.259l-.008-.026-.032-.233z" fill="url(#l)"/></svg>
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="50%" y1="100%" x2="50%" y2="0%" id="linearGradient-1">
+ <stop stop-color="#420C5D" offset="0%"></stop>
+ <stop stop-color="#951AD1" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,29 C152.577777,29 256,131.974508 256,259 C256,386.025492 152.577777,489 25,489 L25,29 Z" id="path-2"></path>
+ <filter x="-18.2%" y="-7.4%" width="129.4%" height="114.8%" filterUnits="objectBoundingBox" id="filter-3">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Assets" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="icon_512x512">
+ <g id="Group">
+ <g id="tb_icon/Stable">
+ <g id="Stable">
+ <circle id="background" fill="#F2E4FF" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384
044,0 256,0 C114.60886,0 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.500000, 259.000000) scale(-1, 1) translate(-140.500000, -259.000000) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+ <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/devtools/client/themes/images/aboutdebugging-firefox-release.svg b/devtools/client/themes/images/aboutdebugging-firefox-release.svg
index 4c195cf17c85..9240dc6e84ca 100644
--- a/devtools/client/themes/images/aboutdebugging-firefox-release.svg
+++ b/devtools/client/themes/images/aboutdebugging-firefox-release.svg
@@ -1,4 +1,31 @@
-<!-- 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/. -->
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><radialGradient id="b" cx="87.4%" cy="-12.9%" r="128%" gradientTransform="matrix(.8 0 0 1 .178 .129)"><stop offset=".13" stop-color="#ffbd4f"/><stop offset=".28" stop-color="#ff980e"/><stop offset=".47" stop-color="#ff3750"/><stop offset=".78" stop-color="#eb0878"/><stop offset=".86" stop-color="#e50080"/></radialGradient><radialGradient id="c" cx="49%" cy="40%" r="128%" gradientTransform="matrix(.82 0 0 1 .088 0)"><stop offset=".3" stop-color="#960e18"/><stop offset=".35" stop-color="#b11927" stop-opacity=".74"/><stop offset=".43" stop-color="#db293d" stop-opacity=".34"/><stop offset=".5" stop-color="#f5334b" stop-opacity=".09"/><stop offset=".53" stop-color="#ff3750" stop-opacity="0"/></radialGradient><radialGradient id="d" cx="48%" cy="-12%" r="140%"><stop offset=".13" stop-color="#fff44f"/><stop offset=".53" stop-color="#ff980e"/></radialGradient><radialGradient id="e" cx="22.76%" cy="110.11%" r="100%"><stop off
set=".35" stop-color="#3a8ee6"/><stop offset=".67" stop-color="#9059ff"/><stop offset="1" stop-color="#c139e6"/></radialGradient><radialGradient id="f" cx="52%" cy="33%" r="59%" gradientTransform="scale(.9 1)"><stop offset=".21" stop-color="#9059ff" stop-opacity="0"/><stop offset=".97" stop-color="#6e008b" stop-opacity=".6"/></radialGradient><radialGradient id="g" cx="210%" cy="-100%" r="290%"><stop offset=".1" stop-color="#ffe226"/><stop offset=".79" stop-color="#ff7139"/></radialGradient><radialGradient id="h" cx="84%" cy="-41%" r="180%"><stop offset=".11" stop-color="#fff44f"/><stop offset=".46" stop-color="#ff980e"/><stop offset=".72" stop-color="#ff3647"/><stop offset=".9" stop-color="#e31587"/></radialGradient><radialGradient id="i" cx="16.1%" cy="-18.6%" r="348.8%" gradientTransform="matrix(.10453 .46743 -.99452 .04913 -.046 -.255)"><stop offset="0" stop-color="#fff44f"/><stop offset=".3" stop-color="#ff980e"/><stop offset=".57" stop-color="#ff3647"/><stop offset=".74" stop-c
olor="#e31587"/></radialGradient><radialGradient id="j" cx="18.9%" cy="-42.5%" r="238.4%"><stop offset=".14" stop-color="#fff44f"/><stop offset=".48" stop-color="#ff980e"/><stop offset=".66" stop-color="#ff3647"/><stop offset=".9" stop-color="#e31587"/></radialGradient><radialGradient id="k" cx="159.3%" cy="-44.72%" r="313.1%"><stop offset=".09" stop-color="#fff44f"/><stop offset=".63" stop-color="#ff980e"/></radialGradient><linearGradient id="a" x1="87.25%" y1="15.5%" x2="9.4%" y2="93.1%"><stop offset=".05" stop-color="#fff44f"/><stop offset=".37" stop-color="#ff980e"/><stop offset=".53" stop-color="#ff3647"/><stop offset=".7" stop-color="#e31587"/></linearGradient><linearGradient id="l" x1="80%" y1="14%" x2="18%" y2="84%"><stop offset=".17" stop-color="#fff44f" stop-opacity=".8"/><stop offset=".6" stop-color="#fff44f" stop-opacity="0"/></linearGradient></defs><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0 .039.015.136.
047.4C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484a120.249 120.249 0 00-66.142 25.488 71.355 71.355 0 00-6.225-4.7 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.442 26.913c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-.212 1.061-.324 1.586-.452 2.116-2.08 12.7-2.365 15-.022.177-.032.347-.053.524a229.066 229.066 0 00-3.9 33.157c0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746zM201.716 354.447c1.124.537 2.18 1.124 3.33
4 1.639.048.033.114.07.163.1a126.191 126.191 0 01-3.497-1.739zm55.053-144.93zm198.131-30.59l-.032-.233c.012.085.027.174.04.259z" fill="url(#a)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0-.058.011.048.036.226.012.085.027.174.04.259 22.675 61.47 10.322 123.978-7.479 162.175-27.539 59.1-94.215 119.67-198.576 116.716C136.1 454.651 36.766 370.988 18.223 261.41c-3.379-17.28 0-26.054 1.7-40.084-2.071 10.816-2.86 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746z" fill="url(#b)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0-.058.011.048.036.226.012.085.027.174.04.259 22.675 61.47 10.322 123.978-7.479 162.175-27.539 59.1-94.215 119.67-198.576 116.716C136.1 454.651 36.766 370.988 18.223 261.41c-3.379-17.28 0-26.054 1.7-40.084-2.0
71 10.816-2.86 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746z" fill="url(#c)"/><path d="M361.922 194.6c.524.368 1 .734 1.493 1.1a130.706 130.706 0 00-22.31-29.112C266.4 91.892 321.516 4.626 330.811.194c.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484 2.8-.194 5.592-.429 8.442-.429 45.051 0 84.289 24.77 105.301 61.487z" fill="url(#d)"/><path d="M256.772 209.514c-.393 5.978-21.514 26.593-28.9 26.593-68.339 0-79.432 41.335-79.432 41.335 3.027 34.81 27.261 63.475 56.611 78.643 1.339.692 2.694 1.317 4.05 1.935a132.768 132.768 0 007.059 2.886 106.743 106.743 0 0031.271 6.031c119.78 5.618 142.986-143.194 56.545-186.408 22.137-3.85 45.115 5.053 57.947 14.067-21.012-36.714-60.25-61.484-105.3-61.484-2.85 0-5.641.235-8.442.429a120.249 120.249 0 00-66.142 25.488c3.664 3.1 7.8 7.244 16.514 15.828 16.302 16.067 58.13 32.705 58.219 34.657z" f
ill="url(#e)"/><path d="M256.772 209.514c-.393 5.978-21.514 26.593-28.9 26.593-68.339 0-79.432 41.335-79.432 41.335 3.027 34.81 27.261 63.475 56.611 78.643 1.339.692 2.694 1.317 4.05 1.935a132.768 132.768 0 007.059 2.886 106.743 106.743 0 0031.271 6.031c119.78 5.618 142.986-143.194 56.545-186.408 22.137-3.85 45.115 5.053 57.947 14.067-21.012-36.714-60.25-61.484-105.3-61.484-2.85 0-5.641.235-8.442.429a120.249 120.249 0 00-66.142 25.488c3.664 3.1 7.8 7.244 16.514 15.828 16.302 16.067 58.13 32.705 58.219 34.657z" fill="url(#f)"/><path d="M170.829 151.036a244.042 244.042 0 014.981 3.3 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7 1.155-.033 36.014-.66 53.543 10.732z" fill="url(#g)"/><path d="M18.223 261.41C36.766 370.988 136.1 454.651 248.855 457.844c104.361 2.954 171.037-57.62 198.576-116.716 17.8-38.2 30.154-100.7 7.479-162.175l-.008-.026-.032-.233c-.025-.178-.04-.284-.036-.226 0 .039.015.136.047.4 8.524 55.661-19.79 109.584-64.051 146.044l-.133.313c-86.245 70
.223-168.774 42.368-185.484 30.966a144.108 144.108 0 01-3.5-1.743c-50.282-24.029-71.054-69.838-66.6-109.124-42.457 0-56.934-35.809-56.934-35.809s38.119-27.179 88.358-3.541c46.53 21.893 90.228 3.543 90.233 3.541-.089-1.952-41.917-18.59-58.223-34.656-8.713-8.584-12.85-12.723-16.514-15.828a71.355 71.355 0 00-6.225-4.7 282.929 282.929 0 00-4.981-3.3c-17.528-11.392-52.388-10.765-53.543-10.735h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.442 26.919c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-8.65 37.842-4.44 57.199z" fill="url(#h)"/><path d="M341.105 166.587a130.706 130.706 0 0122.31 29.112c1.323.994 2.559 1.985 3.608 2.952 54.482 50.2 25.936 121.2 23.807 126.26 44.261-36.46 72.575-90.383 64.051-146.044C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.54
6-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1-9.291 4.428-64.407 91.694 10.298 166.389z" fill="url(#i)"/><path d="M367.023 198.651c-1.049-.967-2.285-1.958-3.608-2.952-.489-.368-.969-.734-1.493-1.1-12.832-9.014-35.81-17.917-57.947-14.067 86.441 43.214 63.235 192.026-56.545 186.408a106.743 106.743 0 01-31.271-6.031 134.51 134.51 0 01-7.059-2.886c-1.356-.618-2.711-1.243-4.05-1.935.048.033.114.07.163.1 16.71 11.4 99.239 39.257 185.484-30.966l.133-.313c2.129-5.054 30.675-76.057-23.807-126.258z" fill="url(#j)"/><path d="M148.439 277.443s11.093-41.335 79.432-41.335c7.388 0 28.509-20.615 28.9-26.593s-43.7 18.352-90.233-3.541c-50.239-23.638-88.358 3.541-88.358 3.541s14.477 35.809 56.934 35.809c-4.453 39.286 16.319 85.1 66.6 109.124 1.124.537 2.18 1.124 3.334 1.639-29.348-15.169-53.582-43.834-56.609-78.644z" fill="url(#k)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0 .039.015.136.047.4C427.706 11
1.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484 2.8-.194 5.592-.429 8.442-.429 45.053 0 84.291 24.77 105.3 61.484-12.832-9.014-35.81-17.917-57.947-14.067 86.441 43.214 63.235 192.026-56.545 186.408a106.743 106.743 0 01-31.271-6.031 134.51 134.51 0 01-7.059-2.886c-1.356-.618-2.711-1.243-4.05-1.935.048.033.114.07.163.1a144.108 144.108 0 01-3.5-1.743c1.124.537 2.18 1.124 3.334 1.639-29.35-15.168-53.584-43.833-56.611-78.643 0 0 11.093-41.335 79.432-41.335 7.388 0 28.509-20.615 28.9-26.593-.089-1.952-41.917-18.59-58.223-34.656-8.713-8.584-12.85-12.723-16.514-15.828a71.355 71.355 0 00-6.225-4.7 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0
00-23.486 20.12 210.478 210.478 0 00-22.435 26.916c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-.212 1.061-.324 1.586-.452 2.116-2.486 12.853-2.77 15.156-.022.177.021-.176 0 0a279.565 279.565 0 00-3.544 33.53c0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746zm-23.841 12.341c.012.085.027.174.04.259l-.008-.026-.032-.233z" fill="url(#l)"/></svg>
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="50%" y1="100%" x2="50%" y2="0%" id="linearGradient-1">
+ <stop stop-color="#420C5D" offset="0%"></stop>
+ <stop stop-color="#951AD1" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,29 C152.577777,29 256,131.974508 256,259 C256,386.025492 152.577777,489 25,489 L25,29 Z" id="path-2"></path>
+ <filter x="-18.2%" y="-7.4%" width="129.4%" height="114.8%" filterUnits="objectBoundingBox" id="filter-3">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Assets" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="icon_512x512">
+ <g id="Group">
+ <g id="tb_icon/Stable">
+ <g id="Stable">
+ <circle id="background" fill="#F2E4FF" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384
044,0 256,0 C114.60886,0 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.500000, 259.000000) scale(-1, 1) translate(-140.500000, -259.000000) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+ <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/intl/l10n/L10nRegistry.jsm b/intl/l10n/L10nRegistry.jsm
index ca38f3783910..dded11836ab4 100644
--- a/intl/l10n/L10nRegistry.jsm
+++ b/intl/l10n/L10nRegistry.jsm
@@ -148,6 +148,12 @@ class L10nRegistryService {
async* generateBundles(requestedLangs, resourceIds) {
const resourceIdsDedup = Array.from(new Set(resourceIds));
const sourcesOrder = Array.from(this.sources.keys()).reverse();
+ // Always prioritize torbutton sources (keep in sync with generateBundlesSync)
+ const idxTB = sourcesOrder.indexOf("torbutton");
+ if (idxTB > 0) {
+ sourcesOrder.splice(idxTB, 1);
+ sourcesOrder.unshift("torbutton");
+ }
const pseudoStrategy = Services.prefs.getStringPref("intl.l10n.pseudo", "");
for (const locale of requestedLangs) {
for await (const dataSets of generateResourceSetsForLocale(locale, sourcesOrder, resourceIdsDedup)) {
@@ -181,6 +187,12 @@ class L10nRegistryService {
* generateBundlesSync(requestedLangs, resourceIds) {
const resourceIdsDedup = Array.from(new Set(resourceIds));
const sourcesOrder = Array.from(this.sources.keys()).reverse();
+ // Always prioritize torbutton sources (keep in sync with generateBundles)
+ const idxTB = sourcesOrder.indexOf("torbutton");
+ if (idxTB > 0) {
+ sourcesOrder.splice(idxTB, 1);
+ sourcesOrder.unshift("torbutton");
+ }
const pseudoStrategy = Services.prefs.getStringPref("intl.l10n.pseudo", "");
for (const locale of requestedLangs) {
for (const dataSets of generateResourceSetsForLocaleSync(locale, sourcesOrder, resourceIdsDedup)) {
@@ -327,7 +339,9 @@ class L10nRegistryService {
for (const source of this.sources.values()) {
for (const locale of source.locales) {
- locales.add(locale);
+ if (!source.skipForAvailableLocales) {
+ locales.add(locale);
+ }
}
}
return Array.from(locales);
@@ -529,10 +543,11 @@ class FileSource {
*
* @returns {FileSource}
*/
- constructor(name, locales, prePath) {
+ constructor(name, locales, prePath, skipForAvailableLocales = false) {
this.name = name;
this.locales = locales;
this.prePath = prePath;
+ this.skipForAvailableLocales = skipForAvailableLocales;
this.indexed = false;
// The cache object stores information about the resources available
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bug 26961: New user onboarding.
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit d4d263cc3a12cabee97bdbc2090e77430db790ac
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Wed Aug 8 11:34:40 2018 -0400
Bug 26961: New user onboarding.
Reuse the Firefox onboarding mechanism with minimal changes.
Localizable strings are pulled in from Torbutton (if Torbutton is
not installed, we lack about:tor and no tour will be shown).
Replace SVG images with PNGs (see bug 27002),
For defense in depth, omit include OnboardingTelemetry.jsm entirely.
Added support for the following UITour page event:
torBrowserOpenSecuritySettings
Also fix bug 27403: the onboarding bubble is not always displayed.
Arthur suggested to make the onboarding bubble visible on displays with
less than 960px width available, so we choose 200px instead.
Also fix bug 28628: Change onboarding Security panel to open new
Security Level panel.
Also fix bug 27484: Improve navigation within onboarding.
Bug 27082: enable a limited UITour
Disallow access to UITour functionality from all pages other than
about:home, about:newtab, and about:tor.
Implement a whitelist mechanism for page actions.
Bug 26962 - implement new features onboarding (part 1).
Add an "Explore" button to the "Circuit Display" panel within new user
onboarding which opens the DuckDuckGo .onion and then guides users through
a short circuit display tutorial.
Allow a few additional UITour actions while limiting as much as possible
how it can be used.
Tweak the UITour styles to match the Tor Browser branding.
All user interface strings are retrieved from Torbutton's
browserOnboarding.properties file.
Bug 27486 Avoid about:blank tabs when opening onboarding pages.
Instead of using a simple <a href>, programmatically open onboarding
web pages by using tabBrowser.addTab(). The same technique is now
used for "See My Path", "See FAQs", and "Visit an Onion".
Bug 29768: Introduce new features to users
Add an "update" tour for the Tor Browser 8.5 release that contains two
panels: Toolbar and Security (with appropriate description text and
images).
Display an attention-grabbing dot on the onboarding text bubble when
the update tour is active. The animation lasts for 14 seconds.
Bug 31768: Introduce toolbar and network settings changes in onboarding
Update the "Tor Network" onboarding page to include a note that
settings can now be accessed via the application preferences and
add an "Adjust Your Tor Network Settings" action button which opens
about:preferences#tor.
Replace the Tor Browser 8.5 "update" onboarding tour with a 9.0 one
that includes the revised "Tor Network" page and a revised "Toolbar"
page. The latter explains that Torbutton's toolbar item has been
removed ("Goodbye Onion Button") and explains how to access the
New Identity feature using the hamburger menu and new toolbar item.
Bug 34321 - Add Learn More onboarding item
Bug 40429: Update Onboarding for 10.5
---
browser/app/permissions | 10 +-
browser/app/profile/000-tor-browser.js | 6 +
browser/base/content/main-popupset.inc.xhtml | 1 +
browser/components/uitour/UITour-lib.js | 7 +
browser/components/uitour/UITour.jsm | 80 ++-
browser/components/uitour/UITourChild.jsm | 33 +-
browser/extensions/onboarding/api.js | 43 +-
.../extensions/onboarding/content/Onboarding.jsm | 391 +++++++++++-
.../extensions/onboarding/content/img/close.png | Bin 0 -> 798 bytes
.../onboarding/content/img/figure_addons.svg | 1 -
.../onboarding/content/img/figure_customize.svg | 561 -----------------
.../onboarding/content/img/figure_default.svg | 1 -
.../onboarding/content/img/figure_library.svg | 689 ---------------------
.../onboarding/content/img/figure_performance.svg | 1 -
.../onboarding/content/img/figure_private.svg | 1 -
.../onboarding/content/img/figure_screenshots.svg | 191 ------
.../onboarding/content/img/figure_singlesearch.svg | 1 -
.../onboarding/content/img/figure_sync.svg | 1 -
.../content/img/figure_tor-circuit-display.png | Bin 0 -> 26334 bytes
.../content/img/figure_tor-expect-differences.png | Bin 0 -> 22290 bytes
.../onboarding/content/img/figure_tor-network.png | Bin 0 -> 11982 bytes
.../content/img/figure_tor-onion-services.png | Bin 0 -> 40968 bytes
.../onboarding/content/img/figure_tor-privacy.png | Bin 0 -> 35527 bytes
.../content/img/figure_tor-security-level.png | Bin 0 -> 11263 bytes
.../onboarding/content/img/figure_tor-security.png | Bin 0 -> 24554 bytes
.../content/img/figure_tor-toolbar-layout.png | Bin 0 -> 13269 bytes
.../onboarding/content/img/figure_tor-welcome.png | Bin 0 -> 48405 bytes
.../onboarding/content/img/icons_addons.svg | 1 -
.../onboarding/content/img/icons_customize.svg | 1 -
.../onboarding/content/img/icons_default.svg | 1 -
.../onboarding/content/img/icons_library.svg | 1 -
.../onboarding/content/img/icons_no-icon.png | Bin 0 -> 673 bytes
.../onboarding/content/img/icons_performance.svg | 1 -
.../onboarding/content/img/icons_private.svg | 1 -
.../onboarding/content/img/icons_screenshots.svg | 1 -
.../onboarding/content/img/icons_singlesearch.svg | 1 -
.../onboarding/content/img/icons_sync.svg | 1 -
.../onboarding/content/img/icons_tour-complete.png | Bin 0 -> 694 bytes
.../onboarding/content/img/icons_tour-complete.svg | 4 +-
.../onboarding/content/img/watermark.svg | 1 -
.../content/onboarding-tor-circuit-display.js | 283 +++++++++
.../onboarding/content/onboarding-tour-agent.js | 13 +
.../extensions/onboarding/content/onboarding.css | 165 +++--
.../extensions/onboarding/content/onboarding.js | 3 +-
browser/extensions/onboarding/jar.mn | 9 +-
browser/extensions/onboarding/moz.build | 5 +-
browser/themes/linux/browser.css | 9 -
browser/themes/shared/UITour.inc.css | 56 +-
browser/themes/windows/browser.css | 9 -
intl/strres/nsStringBundle.cpp | 1 +
50 files changed, 956 insertions(+), 1629 deletions(-)
diff --git a/browser/app/permissions b/browser/app/permissions
index 47eccccec5a1..d8439d49346b 100644
--- a/browser/app/permissions
+++ b/browser/app/permissions
@@ -8,13 +8,9 @@
# See PermissionManager.cpp for more...
# UITour
-# Bug 1557153: www.mozilla.org gets a special workaround in UITourChild.jsm
-origin uitour 1 https://www.mozilla.org
-origin uitour 1 https://monitor.firefox.com
-origin uitour 1 https://screenshots.firefox.com
-origin uitour 1 https://support.mozilla.org
-origin uitour 1 about:home
-origin uitour 1 about:newtab
+# DuckDuckGo .onion (used for circuit display onboarding).
+origin uitour 1 https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/
+origin uitour 1 about:tor
# Remote troubleshooting
origin remote-troubleshooting 1 https://support.mozilla.org
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index eb2c4af66307..a0520be072f2 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -342,6 +342,12 @@ pref("browser.urlbar.update1.searchTips", false);
// is only reported via telemetry (which is disabled).
pref("corroborator.enabled", false);
+// Onboarding.
+pref("browser.onboarding.tourset-version", 5);
+pref("browser.onboarding.newtour", "welcome,privacy,tor-network-9.0,circuit-display,security,expect-differences,onion-services,learn-more");
+pref("browser.onboarding.updatetour", "learn-more");
+pref("browser.onboarding.skip-tour-button.hide", true);
+
// prefs to disable jump-list entries in the taskbar on Windows (see bug #12885)
#ifdef XP_WIN
// this pref changes the app's set AUMID to be dependent on the profile path, rather than
diff --git a/browser/base/content/main-popupset.inc.xhtml b/browser/base/content/main-popupset.inc.xhtml
index 835948482381..e5bf9460b75d 100644
--- a/browser/base/content/main-popupset.inc.xhtml
+++ b/browser/base/content/main-popupset.inc.xhtml
@@ -242,6 +242,7 @@
<toolbarbutton id="UITourTooltipClose" class="close-icon"
tooltiptext="&uiTour.infoPanel.close;"/>
</hbox>
+ <toolbarseparator id="UITourTooltipToolbarSeparator"/>
<description id="UITourTooltipDescription" flex="1"/>
</vbox>
</hbox>
diff --git a/browser/components/uitour/UITour-lib.js b/browser/components/uitour/UITour-lib.js
index 9ab8cd3aa68c..87633285269c 100644
--- a/browser/components/uitour/UITour-lib.js
+++ b/browser/components/uitour/UITour-lib.js
@@ -825,6 +825,13 @@ if (typeof Mozilla == "undefined") {
Mozilla.UITour.closeTab = function() {
_sendEvent("closeTab");
};
+
+ /**
+ * @summary Opens the Security Level Panel.
+ */
+ Mozilla.UITour.torBrowserOpenSecurityLevelPanel = function() {
+ _sendEvent("torBrowserOpenSecurityLevelPanel");
+ };
})();
// Make this library Require-able.
diff --git a/browser/components/uitour/UITour.jsm b/browser/components/uitour/UITour.jsm
index 29e8944e0e99..4de7dbc64806 100644
--- a/browser/components/uitour/UITour.jsm
+++ b/browser/components/uitour/UITour.jsm
@@ -68,6 +68,28 @@ ChromeUtils.defineModuleGetter(
// See LOG_LEVELS in Console.jsm. Common examples: "All", "Info", "Warn", & "Error".
const PREF_LOG_LEVEL = "browser.uitour.loglevel";
+const TOR_BROWSER_PAGE_ACTIONS_ALLOWED = new Set([
+ "showInfo", // restricted to TOR_BROWSER_TARGETS_ALLOWED
+ "showMenu", // restricted to TOR_BROWSER_MENUS_ALLOWED
+ "hideMenu", // restricted to TOR_BROWSER_MENUS_ALLOWED
+ "showHighlight", // restricted to TOR_BROWSER_TARGETS_ALLOWED
+ "hideHighlight", // restricted to TOR_BROWSER_TARGETS_ALLOWED
+ "openPreferences",
+ "closeTab",
+ "torBrowserOpenSecurityLevelPanel",
+]);
+
+const TOR_BROWSER_TARGETS_ALLOWED = new Set([
+ "torBrowser-newIdentityButton",
+ "torBrowser-circuitDisplay",
+ "torBrowser-circuitDisplay-diagram",
+ "torBrowser-circuitDisplay-newCircuitButton",
+]);
+
+const TOR_BROWSER_MENUS_ALLOWED = new Set([
+ "controlCenter",
+]);
+
const BACKGROUND_PAGE_ACTIONS_ALLOWED = new Set([
"forceShowReaderIcon",
"getConfiguration",
@@ -111,6 +133,17 @@ var UITour = {
highlightEffects: ["random", "wobble", "zoom", "color"],
targets: new Map([
+ ["torBrowser-circuitDisplay", {
+ query: "#identity-icon",
+ }],
+ ["torBrowser-circuitDisplay-diagram",
+ torBrowserCircuitDisplayTarget("circuit-display-nodes")],
+ ["torBrowser-circuitDisplay-newCircuitButton",
+ torBrowserCircuitDisplayTarget("circuit-reload-button")],
+ ["torBrowser-newIdentityButton", {
+ query: "#new-identity-button",
+ }],
+
[
"accountStatus",
{
@@ -315,6 +348,11 @@ var UITour = {
return false;
}
+ if (!TOR_BROWSER_PAGE_ACTIONS_ALLOWED.has(action)) {
+ log.warn("Ignoring disallowed action:", action);
+ return false;
+ }
+
switch (action) {
case "registerPageID": {
break;
@@ -653,6 +691,14 @@ var UITour = {
this.showProtectionReport(window, browser);
break;
}
+
+ case "torBrowserOpenSecurityLevelPanel": {
+ let securityLevelButton =
+ window.document.getElementById("security-level-button");
+ if (securityLevelButton)
+ securityLevelButton.click();
+ break;
+ }
}
// For performance reasons, only call initForBrowser if we did something
@@ -888,10 +934,7 @@ var UITour = {
// This function is copied to UITourListener.
isSafeScheme(aURI) {
- let allowedSchemes = new Set(["https", "about"]);
- if (!Services.prefs.getBoolPref("browser.uitour.requireSecure")) {
- allowedSchemes.add("http");
- }
+ let allowedSchemes = new Set(["about", "https"]);
if (!allowedSchemes.has(aURI.scheme)) {
log.error("Unsafe scheme:", aURI.scheme);
@@ -940,7 +983,10 @@ var UITour = {
return Promise.reject("Invalid target name specified");
}
- let targetObject = this.targets.get(aTargetName);
+ let targetObject;
+ if (TOR_BROWSER_TARGETS_ALLOWED.has(aTargetName)) {
+ targetObject = this.targets.get(aTargetName);
+ }
if (!targetObject) {
log.warn(
"getTarget: The specified target name is not in the allowed set"
@@ -1407,6 +1453,10 @@ var UITour = {
},
showMenu(aWindow, aMenuName, aOpenCallback = null, aOptions = {}) {
+ if (!TOR_BROWSER_MENUS_ALLOWED.has(aMenuName)) {
+ return;
+ }
+
log.debug("showMenu:", aMenuName);
function openMenuButton(aMenuBtn) {
if (!aMenuBtn || !aMenuBtn.hasMenu() || aMenuBtn.open) {
@@ -1471,7 +1521,7 @@ var UITour = {
if (aOpenCallback) {
popup.addEventListener("popupshown", aOpenCallback, { once: true });
}
- aWindow.document.getElementById("identity-box").click();
+ aWindow.document.getElementById("identity-icon-box").click();
} else if (aMenuName == "pocket") {
let button = aWindow.document.getElementById("save-to-pocket-button");
if (!button) {
@@ -1506,6 +1556,10 @@ var UITour = {
},
hideMenu(aWindow, aMenuName) {
+ if (!TOR_BROWSER_MENUS_ALLOWED.has(aMenuName)) {
+ return;
+ }
+
log.debug("hideMenu:", aMenuName);
function closeMenuButton(aMenuBtn) {
if (aMenuBtn && aMenuBtn.hasMenu()) {
@@ -2031,6 +2085,20 @@ var UITour = {
},
};
+function torBrowserCircuitDisplayTarget(aElemID) {
+ return {
+ infoPanelPosition: "rightcenter topleft",
+ query(aDocument) {
+ let popup = aDocument.defaultView.gIdentityHandler._identityPopup;
+ if (popup.state != "open") {
+ return null;
+ }
+ let element = aDocument.getElementById(aElemID);
+ return UITour.isElementVisible(element) ? element : null;
+ },
+ };
+}
+
UITour.init();
/**
diff --git a/browser/components/uitour/UITourChild.jsm b/browser/components/uitour/UITourChild.jsm
index e2e763c8f4c1..02caae849de8 100644
--- a/browser/components/uitour/UITourChild.jsm
+++ b/browser/components/uitour/UITourChild.jsm
@@ -25,36 +25,9 @@ class UITourChild extends JSWindowActorChild {
});
}
- isTestingOrigin(aURI) {
- if (
- Services.prefs.getPrefType(PREF_TEST_WHITELIST) !=
- Services.prefs.PREF_STRING
- ) {
- return false;
- }
-
- // Add any testing origins (comma-seperated) to the whitelist for the session.
- for (let origin of Services.prefs
- .getCharPref(PREF_TEST_WHITELIST)
- .split(",")) {
- try {
- let testingURI = Services.io.newURI(origin);
- if (aURI.prePath == testingURI.prePath) {
- return true;
- }
- } catch (ex) {
- Cu.reportError(ex);
- }
- }
- return false;
- }
-
// This function is copied from UITour.jsm.
isSafeScheme(aURI) {
- let allowedSchemes = new Set(["https", "about"]);
- if (!Services.prefs.getBoolPref("browser.uitour.requireSecure")) {
- allowedSchemes.add("http");
- }
+ let allowedSchemes = new Set(["about", "https"]);
if (!allowedSchemes.has(aURI.scheme)) {
return false;
@@ -90,9 +63,7 @@ class UITourChild extends JSWindowActorChild {
return true;
}
- // Bug 1557153: To allow Skyline messaging, workaround for UNKNOWN_ACTION
- // overriding browser/app/permissions default
- return uri.host == "www.mozilla.org" || this.isTestingOrigin(uri);
+ return false;
}
receiveMessage(aMessage) {
diff --git a/browser/extensions/onboarding/api.js b/browser/extensions/onboarding/api.js
index dcdcb988451a..aa583cb11d8e 100644
--- a/browser/extensions/onboarding/api.js
+++ b/browser/extensions/onboarding/api.js
@@ -8,7 +8,6 @@
ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyModuleGetters(this, {
OnboardingTourType: "resource://onboarding/modules/OnboardingTourType.jsm",
- OnboardingTelemetry: "resource://onboarding/modules/OnboardingTelemetry.jsm",
Services: "resource://gre/modules/Services.jsm",
UIState: "resource://services-sync/UIState.jsm",
});
@@ -21,7 +20,11 @@ const RESOURCE_HOST = "onboarding";
const {PREF_STRING, PREF_BOOL, PREF_INT} = Ci.nsIPrefBranch;
-const BROWSER_READY_NOTIFICATION = "browser-delayed-startup-finished";
+// In Tor Browser we initialize onboarding upon "final-ui-startup" instead
+// of waiting for "browser-delayed-startup-finished"; otherwise, on first
+// run the onboarding frame script's "onload" listener is installed too
+// late to detect that about:tor is loaded.
+const BROWSER_READY_NOTIFICATION = "final-ui-startup";
const BROWSER_SESSION_STORE_NOTIFICATION = "sessionstore-windows-restored";
const PREF_WHITELIST = [
["browser.onboarding.enabled", PREF_BOOL],
@@ -33,6 +36,19 @@ const PREF_WHITELIST = [
];
[
+ // Tor Browser tours:
+ "onboarding-tour-tor-welcome",
+ "onboarding-tour-tor-privacy",
+ "onboarding-tour-tor-network-9-0",
+ "onboarding-tour-tor-circuit-display",
+ "onboarding-tour-tor-security",
+ "onboarding-tour-tor-expect-differences",
+ "onboarding-tour-tor-onion-services",
+ "onboarding-tour-tor-toolbar-update-9-0",
+ "onboarding-tour-tor-learn-more",
+#if 0
+// Firefox tours. To reduce conflicts when rebasing against newer Firefox
+// code, we use the preprocessor to omit this code block.
"onboarding-tour-addons",
"onboarding-tour-customize",
"onboarding-tour-default-browser",
@@ -42,6 +58,7 @@ const PREF_WHITELIST = [
"onboarding-tour-screenshots",
"onboarding-tour-singlesearch",
"onboarding-tour-sync",
+#endif
].forEach(tourId => PREF_WHITELIST.push([`browser.onboarding.tour.${tourId}.completed`, PREF_BOOL]));
let waitingForBrowserReady = true;
@@ -82,6 +99,21 @@ function setPrefs(prefs) {
});
}
+function openTorTab(aURL, aFrameScript) {
+ let win = Services.wm.getMostRecentWindow('navigator:browser');
+ if (win) {
+ let tabBrowser = win.gBrowser;
+ let triggeringPrincipal = Services.scriptSecurityManager.createNullPrincipal({});
+ let tab = tabBrowser.addTab(aURL, { triggeringPrincipal });
+ tabBrowser.selectedTab = tab;
+
+ if (aFrameScript) {
+ let b = tabBrowser.getBrowserForTab(tab);
+ b.messageManager.loadFrameScript(aFrameScript, true);
+ }
+ }
+}
+
/**
* syncTourChecker listens to and maintains the login status inside, and can be
* queried at any time once initialized.
@@ -155,6 +187,11 @@ function initContentMessageListener() {
isLoggedIn: syncTourChecker.isLoggedIn(),
});
break;
+ case "tor-open-tab":
+ openTorTab(msg.data.params.url, msg.data.params.frameScriptURL);
+ break;
+#if 0
+// No telemetry in Tor Browser.
case "ping-centre":
try {
OnboardingTelemetry.process(msg.data.params.data);
@@ -162,6 +199,7 @@ function initContentMessageListener() {
Cu.reportError(e);
}
break;
+#endif
}
});
}
@@ -173,7 +211,6 @@ function onBrowserReady() {
waitingForBrowserReady = false;
OnboardingTourType.check();
- OnboardingTelemetry.init(startupData);
Services.mm.loadFrameScript("resource://onboarding/onboarding.js", true);
initContentMessageListener();
}
diff --git a/browser/extensions/onboarding/content/Onboarding.jsm b/browser/extensions/onboarding/content/Onboarding.jsm
index de95a66632ab..38c78f724b3b 100644
--- a/browser/extensions/onboarding/content/Onboarding.jsm
+++ b/browser/extensions/onboarding/content/Onboarding.jsm
@@ -11,7 +11,10 @@ var EXPORTED_SYMBOLS = ["Onboarding"];
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
const ONBOARDING_CSS_URL = "resource://onboarding/onboarding.css";
-const BUNDLE_URI = "chrome://onboarding/locale/onboarding.properties";
+const TORBUTTON_BUNDLE_URI = "chrome://torbutton/locale/browserOnboarding.properties";
+const TORBROWSER_WELCOME_TOUR_NAME_KEY = "onboarding.tour-tor-welcome";
+const BUNDLE_URI = "chrome://torbutton/locale/onboarding.properties";
+const BROWSER_BUNDLE_URI = "chrome://browser/locale/browser.properties";
const UITOUR_JS_URI = "resource://onboarding/lib/UITour-lib.js";
const TOUR_AGENT_JS_URI = "resource://onboarding/onboarding-tour-agent.js";
const BRAND_SHORT_NAME = Services.strings
@@ -20,8 +23,8 @@ const BRAND_SHORT_NAME = Services.strings
const PROMPT_COUNT_PREF = "browser.onboarding.notification.prompt-count";
const NOTIFICATION_FINISHED_PREF = "browser.onboarding.notification.finished";
const ONBOARDING_DIALOG_ID = "onboarding-overlay-dialog";
-const ONBOARDING_MIN_WIDTH_PX = 960;
-const SPEECH_BUBBLE_MIN_WIDTH_PX = 1365;
+const ONBOARDING_MIN_WIDTH_PX = 200;
+const SPEECH_BUBBLE_MIN_WIDTH_PX = 200;
const SPEECH_BUBBLE_NEWTOUR_STRING_ID = "onboarding.overlay-icon-tooltip2";
const SPEECH_BUBBLE_UPDATETOUR_STRING_ID = "onboarding.overlay-icon-tooltip-updated2";
const ICON_STATE_WATERMARK = "watermark";
@@ -82,6 +85,194 @@ function createOnboardingTourButton(div, buttonId, l10nId, buttonElementTagName
return aside;
}
+// Tor Browser tours:
+var onboardingTourset = {
+ // Tour items for new users:
+ "welcome": {
+ id: "onboarding-tour-tor-welcome",
+ tourNameId: TORBROWSER_WELCOME_TOUR_NAME_KEY,
+ instantComplete: true,
+ getPage(win) {
+ let div = win.document.createElement("div");
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-tor-welcome.title", "onboarding.tour-tor-welcome.description");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_tor-welcome.png");
+ createOnboardingTourButton(div,
+ "onboarding-tour-tor-welcome-button", "onboarding.tour-tor-welcome.next-button");
+
+ return div;
+ },
+ },
+ "privacy": {
+ id: "onboarding-tour-tor-privacy",
+ tourNameId: "onboarding.tour-tor-privacy",
+ instantComplete: true,
+ getPage(win) {
+ let div = win.document.createElement("div");
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-tor-privacy.title", "onboarding.tour-tor-privacy.description");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_tor-privacy.png");
+ createOnboardingTourButton(div,
+ "onboarding-tour-tor-privacy-button", "onboarding.tour-tor-privacy.button");
+
+ return div;
+ },
+ },
+ // In Tor Browser 9.0, we replaced the Tor Network panel with an updated one.
+ "tor-network-9.0": {
+ id: "onboarding-tour-tor-network-9-0",
+ tourNameId: "onboarding.tour-tor-network",
+ getPage(win) {
+ let div = win.document.createElement("div");
+
+ let desc = createOnboardingTourDescription(div,
+ "onboarding.tour-tor-network.title", "onboarding.tour-tor-network.description");
+ let additionalDesc = win.document.createElement("p");
+ additionalDesc.className = "onboarding-tour-description-para2";
+ additionalDesc.setAttribute("data-l10n-id",
+ "onboarding.tour-tor-network.description-para2");
+ desc.appendChild(additionalDesc);
+
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_tor-network.png");
+ let btnContainer = createOnboardingTourButton(div,
+ "onboarding-tour-tor-network-action-button", "onboarding.tour-tor-network.action-button");
+ btnContainer.className = "onboarding-tour-tor-action-button-container";
+
+ // The next button (right side) is a "Done" button if we are displaying
+ // the tour to users who updated their browser; otherwise, it is a
+ // button that takes the user to the next onboarding page.
+ let nextBtnID, nextBtnL10nID;
+ if (this._tourType === "update") {
+ // Using the onion services IDs here seems like a mistake, but it
+ // provides the functionality and translated string ("Done") we need.
+ nextBtnID = "onboarding-tour-tor-onion-services-next-button";
+ nextBtnL10nID = "onboarding.tour-tor-onion-services.next-button";
+ } else {
+ nextBtnID = "onboarding-tour-tor-network-button";
+ nextBtnL10nID = "onboarding.tour-tor-network.button";
+ }
+ createOnboardingTourButton(div, nextBtnID, nextBtnL10nID);
+ return div;
+ },
+ },
+ "circuit-display": {
+ id: "onboarding-tour-tor-circuit-display",
+ tourNameId: "onboarding.tour-tor-circuit-display",
+ getPage(win) {
+ let div = win.document.createElement("div");
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-tor-circuit-display.title", "onboarding.tour-tor-circuit-display.description");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_tor-circuit-display.png");
+ let btnContainer = createOnboardingTourButton(div,
+ "onboarding-tour-tor-circuit-display-button", "onboarding.tour-tor-circuit-display.button");
+ btnContainer.className = "onboarding-tour-tor-action-button-container";
+ createOnboardingTourButton(div,
+ "onboarding-tour-tor-circuit-display-next-button", "onboarding.tour-tor-circuit-display.next-button");
+
+ return div;
+ },
+ },
+ "security": {
+ id: "onboarding-tour-tor-security",
+ tourNameId: "onboarding.tour-tor-security",
+ getPage(win) {
+ let div = win.document.createElement("div");
+
+ let desc = createOnboardingTourDescription(div,
+ "onboarding.tour-tor-security.title", "onboarding.tour-tor-security.description");
+ let additionalDesc = win.document.createElement("p");
+ additionalDesc.className = "onboarding-tour-description-suffix";
+ additionalDesc.setAttribute("data-l10n-id",
+ "onboarding.tour-tor-security.description-suffix");
+ desc.appendChild(additionalDesc);
+
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_tor-security.png");
+ let btnContainer = createOnboardingTourButton(div,
+ "onboarding-tour-tor-security-button", "onboarding.tour-tor-security-level.button");
+ btnContainer.className = "onboarding-tour-tor-action-button-container";
+ createOnboardingTourButton(div,
+ "onboarding-tour-tor-security-next-button", "onboarding.tour-tor-security-level.next-button");
+
+ return div;
+ },
+ },
+ "expect-differences": {
+ id: "onboarding-tour-tor-expect-differences",
+ tourNameId: "onboarding.tour-tor-expect-differences",
+ getPage(win) {
+ let div = win.document.createElement("div");
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-tor-expect-differences.title", "onboarding.tour-tor-expect-differences.description");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_tor-expect-differences.png");
+ let btnContainer = createOnboardingTourButton(div,
+ "onboarding-tour-tor-expect-differences-button", "onboarding.tour-tor-expect-differences.button");
+ btnContainer.className = "onboarding-tour-tor-action-button-container";
+ createOnboardingTourButton(div,
+ "onboarding-tour-tor-expect-differences-next-button", "onboarding.tour-tor-expect-differences.next-button");
+
+ return div;
+ },
+ },
+ "onion-services": {
+ id: "onboarding-tour-tor-onion-services",
+ tourNameId: "onboarding.tour-tor-onion-services",
+ getPage(win) {
+ let div = win.document.createElement("div");
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-tor-onion-services.title", "onboarding.tour-tor-onion-services.description");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_tor-onion-services.png");
+ let btnContainer = createOnboardingTourButton(div,
+ "onboarding-tour-tor-onion-services-button", "onboarding.tour-tor-onion-services.button");
+ btnContainer.className = "onboarding-tour-tor-action-button-container";
+ createOnboardingTourButton(div,
+ "onboarding-tour-tor-onion-services-next-button", "onboarding.tour-tor-onion-services.next-button");
+
+ return div;
+ },
+ },
+ "learn-more": {
+ id: "onboarding-tour-tor-learn-more",
+ // Re-use "Learn More" string from Firefox langpacks
+ tourNameId: "getUserMedia.shareScreen.learnMoreLabel",
+ highlightId: "onboarding.tour-tor-update.prefix-new",
+ getPage(win) {
+ return win.document.createElement("div");
+ },
+ },
+ // Tour items for users who have updated their Tor Browser:
+ "toolbar-update-9.0": {
+ id: "onboarding-tour-tor-toolbar-update-9-0",
+ tourNameId: "onboarding.tour-tor-toolbar",
+ getPage(win) {
+ let div = win.document.createElement("div");
+
+ let desc = createOnboardingTourDescription(div,
+ "onboarding.tour-tor-toolbar-update-9.0.title", "onboarding.tour-tor-toolbar-update-9.0.description");
+ let additionalDesc = win.document.createElement("p");
+ additionalDesc.className = "onboarding-tour-description-para2";
+ additionalDesc.setAttribute("data-l10n-id",
+ "onboarding.tour-tor-toolbar-update-9.0.description-para2");
+ desc.appendChild(additionalDesc);
+
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_tor-toolbar-layout.png");
+ let btnContainer = createOnboardingTourButton(div,
+ "onboarding-tour-tor-toolbar-update-9-0-button", "onboarding.tour-tor-toolbar-update-9.0.button");
+ btnContainer.className = "onboarding-tour-tor-action-button-container";
+ createOnboardingTourButton(div,
+ "onboarding-tour-tor-toolbar-next-button", "onboarding.tour-tor-toolbar-update-9.0.next-button");
+
+ return div;
+ },
+ },
+};
+#if 0
+// Firefox tours. To reduce conflicts when rebasing against newer Firefox
+// code, we use the preprocessor to omit this code block.
/**
* Add any number of tours, key is the tourId, value should follow the format below
* "tourId": { // The short tour id which could be saved in pref
@@ -415,6 +606,7 @@ var onboardingTourset = {
},
},
};
+#endif
/**
* The script won't be initialized if we turned off onboarding by
@@ -473,7 +665,10 @@ class Onboarding {
// We want to create and append elements after CSS is loaded so
// no flash of style changes and no additional reflow.
await this._loadCSS();
- this._bundle = Services.strings.createBundle(BUNDLE_URI);
+ this._bundle = new _TorOnboardingStringBundle();
+ if (!this._bundle.inited) {
+ return;
+ }
this._loadJS(UITOUR_JS_URI);
@@ -515,7 +710,11 @@ class Onboarding {
}
_resizeUI() {
- this._windowWidth = this._window.document.body.getBoundingClientRect().width;
+ // In Tor Browser we check against innerWidth instead of against the
+ // body's bounding rect because about:tor keeps its body hidden until
+ // the Tor status is known, and the bounding rect is zero while the
+ // body is hidden.
+ this._windowWidth = this._window.innerWidth;
if (this._windowWidth < ONBOARDING_MIN_WIDTH_PX) {
// Don't show the overlay UI before we get to a better, responsive design.
this.destroy();
@@ -523,11 +722,18 @@ class Onboarding {
}
this._initUI();
- if (this._isFirstSession && this._windowWidth >= SPEECH_BUBBLE_MIN_WIDTH_PX) {
+ // For Tor Browser, show the "Let's get started" speech bubble until each
+ // tour item has been completed.
+ let isTourComplete = (ICON_STATE_WATERMARK ==
+ Services.prefs.getStringPref("browser.onboarding.state",
+ ICON_STATE_DEFAULT));
+ if ((!isTourComplete || this._isFirstSession) &&
+ this._windowWidth >= SPEECH_BUBBLE_MIN_WIDTH_PX) {
this._overlayIcon.classList.add("onboarding-speech-bubble");
} else {
this._overlayIcon.classList.remove("onboarding-speech-bubble");
}
+ this.updateAttentionDot();
}
_initUI() {
@@ -542,7 +748,10 @@ class Onboarding {
this._overlayIcon = this._renderOverlayButton();
this._overlayIcon.addEventListener("click", this);
this._overlayIcon.addEventListener("keypress", this);
- body.insertBefore(this._overlayIcon, body.firstChild);
+ let buttonContainer = this._window.document.createElement("div");
+ buttonContainer.id = "onboarding-overlay-button-container";
+ buttonContainer.appendChild(this._overlayIcon);
+ body.insertBefore(buttonContainer, body.firstChild);
this._overlay = this._renderOverlay();
this._overlay.addEventListener("click", this);
@@ -556,7 +765,8 @@ class Onboarding {
this._onIconStateChange(Services.prefs.getStringPref("browser.onboarding.state", ICON_STATE_DEFAULT));
// Doing tour notification takes some effort. Let's do it on idle.
- this._window.requestIdleCallback(() => this.showNotification());
+// For now, onboarding notifications are disabled in Tor Browser.
+// this._window.requestIdleCallback(() => this.showNotification());
}
_getTourIDList() {
@@ -698,19 +908,30 @@ class Onboarding {
({ id, classList } = target.firstChild);
}
+ const kOnionURL = "https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/"; // DuckDuckGo
+ const kLearnMore = "https://www.torproject.org/releases/tor-browser-11-0/";
+ let handledTourActionClick = false;
switch (id) {
case "onboarding-overlay-button-icon":
case "onboarding-overlay-button":
- this.telemetry({
- type: "onboarding-logo-click",
- bubble_state: this._bubbleState,
- logo_state: this._logoState,
- notification_state: this._notificationState,
- session_key: this._session_key,
- width: this._windowWidthRounded,
- });
- this.showOverlay();
- this.gotoPage(this._firstUncompleteTour.id);
+ // If this instance upgraded, then directly open the release notes
+ // when the bubble is clicked.
+ if (this._tourType === "update") {
+ this.sendMessageToChrome("tor-open-tab", {url: kLearnMore});
+ // Mark item as complete
+ this.setToursCompleted(["onboarding-tour-tor-learn-more"]);
+ } else {
+ this.telemetry({
+ type: "onboarding-logo-click",
+ bubble_state: this._bubbleState,
+ logo_state: this._logoState,
+ notification_state: this._notificationState,
+ session_key: this._session_key,
+ width: this._windowWidthRounded,
+ });
+ this.showOverlay();
+ this.gotoPage(this._firstUncompleteTour.id);
+ }
break;
case "onboarding-skip-tour-button":
this.hideNotification();
@@ -767,6 +988,36 @@ class Onboarding {
this.gotoPage(tourId);
this._removeTourFromNotificationQueue(tourId);
break;
+ case "onboarding-tour-tor-welcome-button":
+ case "onboarding-tour-tor-privacy-button":
+ case "onboarding-tour-tor-network-button":
+ case "onboarding-tour-tor-circuit-display-next-button":
+ case "onboarding-tour-tor-security-next-button":
+ case "onboarding-tour-tor-expect-differences-next-button":
+ case "onboarding-tour-tor-toolbar-next-button":
+ this.gotoNextTourItem();
+ handledTourActionClick = true;
+ break;
+ case "onboarding-tour-tor-circuit-display-button":
+ let kFrameScript = "resource://onboarding/onboarding-tor-circuit-display.js";
+ this.sendMessageToChrome("tor-open-tab",
+ {url: kOnionURL, frameScriptURL: kFrameScript});
+ break;
+ case "onboarding-tour-tor-expect-differences-button":
+ const kFAQURL = "https://support.torproject.org/#faq";
+ this.sendMessageToChrome("tor-open-tab", {url: kFAQURL});
+ break;
+ case "onboarding-tour-tor-onion-services-button":
+ this.sendMessageToChrome("tor-open-tab", {url: kOnionURL});
+ break;
+ // Open the Release Notes webpage and hide the overlay.
+ case "onboarding-tour-tor-onion-services-next-button":
+ case "onboarding-tour-tor-learn-more":
+ this.sendMessageToChrome("tor-open-tab", {url: kLearnMore});
+ this.hideOverlay();
+ // Mark item as complete
+ this.setToursCompleted(["onboarding-tour-tor-learn-more"]);
+ break;
}
if (classList.contains("onboarding-tour-item")) {
this.telemetry({
@@ -780,7 +1031,8 @@ class Onboarding {
// Keep focus (not visible) on current item for potential keyboard
// navigation.
target.focus();
- } else if (classList.contains("onboarding-tour-action-button")) {
+ } else if (!handledTourActionClick &&
+ classList.contains("onboarding-tour-action-button")) {
let activeTourId = this._activeTourId;
this.setToursCompleted([ activeTourId ]);
this.telemetry({
@@ -793,6 +1045,21 @@ class Onboarding {
}
}
+ gotoNextTourItem() {
+ let activeTourID = this._activeTourId;
+ if (activeTourID) {
+ let idx = this._tourItems.findIndex(item => (item.id === activeTourID));
+ if (idx >= 0) {
+ // If at the end of the list, close onboarding; otherwise, go to next.
+ if (++idx >= this._tourItems.length) {
+ this.hideOverlay();
+ } else {
+ this.gotoPage(this._tourItems[idx].id);
+ }
+ }
+ }
+ }
+
/**
* Wrap keyboard focus within the dialog.
* When moving forward, focus on the first element when the current focused
@@ -950,7 +1217,9 @@ class Onboarding {
this._overlayIcon.dispatchEvent(new this._window.CustomEvent("Agent:Destroy"));
this._clearPrefObserver();
+ let buttonContainer = this._overlayIcon.parentElement;
this._overlayIcon.remove();
+ buttonContainer.remove();
if (this._overlay) {
// send overlay-session telemetry
this.hideOverlay();
@@ -974,9 +1243,21 @@ class Onboarding {
this._overlayIcon.classList.add("onboarding-watermark");
break;
}
+ this.updateAttentionDot();
return true;
}
+ // Display an attention-grabbing dot on the speech bubble if the
+ // bubble is visible and we are showing the "update" tour.
+ updateAttentionDot() {
+ let buttonContainer = this._overlayIcon.parentElement;
+ if ((this._bubbleState === "bubble") && (this._tourType === "update")) {
+ buttonContainer.classList.add("onboarding-overlay-attention-dot");
+ } else {
+ buttonContainer.classList.remove("onboarding-overlay-attention-dot");
+ }
+ }
+
showOverlay() {
if (this._tourItems.length == 0) {
// Lazy loading until first toggle.
@@ -1237,6 +1518,7 @@ class Onboarding {
// After the notification mute on the 1st session,
// we don't want to show the speech bubble by default
this._overlayIcon.classList.remove("onboarding-speech-bubble");
+ this.updateAttentionDot();
let queue = this._getNotificationQueue();
let totalMaxTime = Services.prefs.getIntPref("browser.onboarding.notification.max-life-time-all-tours-ms");
@@ -1422,7 +1704,8 @@ class Onboarding {
let header = this._window.document.createElement("header");
header.id = "onboarding-header";
- header.textContent = this._bundle.GetStringFromName("onboarding.overlay-title2");
+// In Tor Browser, we do not want header text.
+// header.textContent = this._bundle.GetStringFromName("onboarding.overlay-title2");
this._dialog.appendChild(header);
let nav = this._window.document.createElement("nav");
@@ -1487,12 +1770,6 @@ class Onboarding {
defaultImg.src = Services.prefs.getStringPref("browser.onboarding.default-icon-src",
"chrome://branding/content/icon64.png");
button.appendChild(defaultImg);
- let watermarkImg = this._window.document.createElement("img");
- watermarkImg.id = "onboarding-overlay-button-watermark-icon";
- watermarkImg.setAttribute("role", "presentation");
- watermarkImg.src = Services.prefs.getStringPref("browser.onboarding.watermark-icon-src",
- "resource://onboarding/img/watermark.svg");
- button.appendChild(watermarkImg);
return button;
}
@@ -1522,7 +1799,17 @@ class Onboarding {
let tourPanelId = `${tour.id}-page`;
tab.setAttribute("aria-controls", tourPanelId);
+ if (tour.highlightId) {
+ // Add [New] or [Updated] text after this navigation item to draw
+ // attention to it.
+ let highlight = this._window.document.createElement("span");
+ highlight.className = "onboarding-tour-description-highlight";
+ highlight.textContent = this._bundle.GetStringFromName(tour.highlightId);
+ tab.appendChild(highlight);
+ }
+
li.appendChild(tab);
+
itemsFrag.appendChild(li);
// Dynamically create tour pages
let div = tour.getPage.call(this, this._window, this._bundle);
@@ -1579,3 +1866,55 @@ class Onboarding {
doc.head.appendChild(script);
}
}
+
+// _TorOnboardingStringBundle implements the subset of the nsIStringBundle
+// that is used by the code in this file. It checks first for strings inside
+// Torbutton's browserOnboarding.properties file and secondarily in Firefox's
+// onboarding.properties file. Finally, it looks for the string within
+// browser.properties.
+class _TorOnboardingStringBundle {
+ constructor() {
+ this._mBrowserBundle = Services.strings.createBundle(BROWSER_BUNDLE_URI);
+ this._mFirefoxBundle = Services.strings.createBundle(BUNDLE_URI);
+ this._mTorButtonBundle = Services.strings.createBundle(TORBUTTON_BUNDLE_URI);
+
+ // If the Tor Browser onboarding strings which ship inside Torbutton are
+ // not available, fail initialization so that no tours are shown.
+ try {
+ let result = this._mTorButtonBundle.GetStringFromName(
+ TORBROWSER_WELCOME_TOUR_NAME_KEY);
+ this.inited = true;
+ } catch (e) {}
+ }
+
+ GetStringFromName(aName) {
+ let result;
+ try {
+ result = this._mTorButtonBundle.GetStringFromName(aName);
+ } catch (e) {
+ try {
+ result = this._mFirefoxBundle.GetStringFromName(aName);
+ } catch (e) {
+ result = this._mBrowserBundle.GetStringFromName(aName);
+ }
+ }
+ return result;
+ }
+
+ formatStringFromName(aName, aParams, aLength) {
+ let result;
+ try {
+ result = this._mTorButtonBundle.formatStringFromName(aName, aParams,
+ aLength);
+ } catch (e) {
+ try {
+ result = this._mFirefoxBundle.formatStringFromName(aName, aParams,
+ aLength);
+ } catch (e) {
+ result = this._mBrowserBundle.formatStringFromName(aName, aParams,
+ aLength);
+ }
+ }
+ return result;
+ }
+}
diff --git a/browser/extensions/onboarding/content/img/close.png b/browser/extensions/onboarding/content/img/close.png
new file mode 100644
index 000000000000..8a637de879ec
Binary files /dev/null and b/browser/extensions/onboarding/content/img/close.png differ
diff --git a/browser/extensions/onboarding/content/img/figure_addons.svg b/browser/extensions/onboarding/content/img/figure_addons.svg
deleted file mode 100644
index b5f056737f11..000000000000
--- a/browser/extensions/onboarding/content/img/figure_addons.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="295" height="199" viewBox="0 0 295 199" xmlns="http://www.w3.org/2000/svg"><title>addons</title><defs><linearGradient x1="-3335.765%" y1="-2236.632%" x2="5558.543%" y2="3780.103%" id="a"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-251.09%" y1="-799.657%" x2="413.095%" y2="1054.368%" id="b"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-573.525%" y1="-521.071%" x2="763.527%" y2="703.894%" id="c"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-2190.515%" y1="-1349.885%" x2="1528.924%" y2="974.764%" id="d"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1533.42%" y1="-541.311%" x2="2119.6%" y2="822.483%" id="e"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="1
00%"/></linearGradient><linearGradient x1="-16561.05%" y1="-16565.77%" x2="3895.86%" y2="3891.14%" id="f"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-204.8%" y1="-96.752%" x2="205.158%" y2="122.743%" id="g"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-112.715%" y1="-148.497%" x2="122.964%" y2="186.313%" id="h"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-817.408%" y1="-862.654%" x2="1335.951%" y2="1471.194%" id="i"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-923.374%" y1="-755.994%" x2="781.368%" y2="664.624%" id="j"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-57.385%" y1="-74.839%" x2="205.558%" y2="247.317%" i
d="k"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-136.437%" y1="-251.542%" x2="257.723%" y2="370.248%" id="l"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-3134.668%" y1="-1436.328%" x2="4644.893%" y2="2194.132%" id="m"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-3763.993%" y1="-1729.31%" x2="4015.564%" y2="1901.152%" id="n"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-967.977%" y1="-2316.493%" x2="1244.002%" y2="2869.881%" id="o"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-828.528%" y1="-1974.736%" x2="1398.399%" y2="3211.636%" id="p"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100
%"/></linearGradient><linearGradient x1="-341.455%" y1="-545.157%" x2="204.062%" y2="280.185%" id="q"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-6989.704%" y1="-10987.987%" x2="1723.404%" y2="2626.238%" id="r"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-346.468%" y1="-491.716%" x2="205.755%" y2="249.195%" id="s"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-163.142%" y1="-212.577%" x2="367.782%" y2="441.559%" id="t"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-431.069%" y1="-1508.892%" x2="196.676%" y2="489.527%" id="u"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-46.826%" y1="-91.711%" x2="115.212%" y2="164.256%
" id="v"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-469.407%" y1="-1536.217%" x2="369.344%" y2="1016.816%" id="w"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1395.389%" y1="-1859.067%" x2="1629.996%" y2="2107.556%" id="x"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2132.529%" y1="-2452.139%" x2="1054.189%" y2="1199.521%" id="y"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1425.341%" y1="-2206.746%" x2="1446.3%" y2="2189.629%" id="z"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1606.851%" y1="-1906.042%" x2="1515.309%" y2="1780.906%" id="A"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offse
t="100%"/></linearGradient><linearGradient x1="-2952.119%" y1="-1785.48%" x2="1577.955%" y2="986.112%" id="B"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1774.73%" y1="-1132.379%" x2="2586.424%" y2="1691.85%" id="C"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2922.831%" y1="-2221.905%" x2="1969.085%" y2="1525.629%" id="D"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2790%" y1="-1744.265%" x2="1698.406%" y2="1091.887%" id="E"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2160.459%" y1="-2153.729%" x2="1208.199%" y2="1206.393%" id="F"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2197.557%" y1="-2601.613%" x2="936.46
2%" y2="1097.31%" id="G"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2154.892%" y1="-3309.827%" x2="719.541%" y2="1068.777%" id="H"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-548.887%" y1="-964.209%" x2="654.188%" y2="1081.481%" id="I"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-318.202%" y1="-291.169%" x2="636.625%" y2="583.64%" id="J"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-455.827%" y1="-310.105%" x2="637.3%" y2="482.798%" id="K"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-5771.947%" y1="-7842.936%" x2="4994.847%" y2="6769.143%" id="L"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF"
offset="100%"/></linearGradient><linearGradient x1="-4086.052%" y1="-5400.884%" x2="4096.712%" y2="5365.911%" id="M"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1126.574%" y1="-1260.202%" x2="1146.414%" y2="1265.342%" id="N"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1150.53%" y1="-1333.596%" x2="1122.46%" y2="1289.085%" id="O"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-3947.183%" y1="-5480.943%" x2="3106.924%" y2="4260.443%" id="P"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-3712.853%" y1="-2757.137%" x2="2679.931%" y2="2000.284%" id="Q"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1265.89%" y1="-1395.587%"
x2="1007.1%" y2="1099.159%" id="R"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-2822.135%" y1="-2883.724%" x2="1935.286%" y2="1986.969%" id="S"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1548.018%" y1="-2218.877%" x2="1374.022%" y2="1940.124%" id="T"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1369.976%" y1="-1928.433%" x2="1334.398%" y2="1827.217%" id="U"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2000.906%" y1="-2495.611%" x2="1322.352%" y2="1633.822%" id="V"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1470.604%" y1="-2072.202%" x2="1136.662%" y2="1558.26%" id="W"><stop stop-color="#00C8D7" offset="0%"/><st
op stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1194.36%" y1="-1336.72%" x2="901.341%" y2="996.106%" id="X"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-3044.038%" y1="-2935.975%" x2="2075.73%" y2="2014.652%" id="Y"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1070.957%" y1="-1207.499%" x2="1021.673%" y2="1139.289%" id="Z"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-668.331%" y1="-735.951%" x2="792.876%" y2="862.245%" id="aa"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-757.712%" y1="-833.503%" x2="703.496%" y2="764.693%" id="ab"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-27.011%" y1
="-65.863%" x2="141.75%" y2="151.803%" id="ac"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1321.337%" y1="-997.486%" x2="1168.46%" y2="905.137%" id="ad"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1178.308%" y1="-888.422%" x2="1311.49%" y2="1014.201%" id="ae"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-546.976%" y1="-767.016%" x2="189.173%" y2="248.435%" id="af"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-93.493%" y1="-91.832%" x2="384.41%" y2="447.193%" id="ag"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-258.202%" y1="-134.734%" x2="952.458%" y2="591.721%" id="ah"><stop stop-color="#00C8D7" offset="0%"/><stop
stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-764.248%" y1="-327.902%" x2="2650.413%" y2="1243.88%" id="ai"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-341.63%" y1="-267.69%" x2="726.152%" y2="596.706%" id="aj"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-517.979%" y1="-536.225%" x2="166.434%" y2="167.425%" id="ak"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-792.149%" y1="-462.294%" x2="98.549%" y2="87.052%" id="al"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-964.554%" y1="-879.35%" x2="1659.876%" y2="1524.226%" id="am"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-797.538%" y1="-665.
814%" x2="581.403%" y2="509.871%" id="an"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1165.123%" y1="-1561.869%" x2="356.021%" y2="461.04%" id="ao"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-505.775%" y1="-623.411%" x2="1092.421%" y2="1325.92%" id="ap"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-365.189%" y1="-194.484%" x2="727.939%" y2="447.534%" id="aq"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-2359.875%" y1="-1563.43%" x2="1606.616%" y2="1099.129%" id="ar"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M-31-68h352v303H-31z"/><g fill-rule="nonzero"><g fill="#D7D7DB"><path d="M23
8.3 15.6c-5.5 0-8.3-1.5-11-3-2.6-1.4-5-2.7-9.9-2.7s-7.4 1.3-9.9 2.7c-2.7 1.5-5.5 3-11 3s-8.3-1.5-11-3c-2.6-1.4-5-2.7-9.9-2.7s-7.4 1.3-9.9 2.7c-2.7 1.5-5.5 3-11 3-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1 4.9 0 7.4-1.3 9.9-2.7 2.7-1.5 5.5-3 11-3s8.3 1.5 11 3c2.6 1.4 5 2.7 9.9 2.7s7.4-1.3 9.9-2.7c2.7-1.5 5.5-3 11-3s8.3 1.5 11 3c2.6 1.4 5 2.7 9.9 2.7s7.4-1.3 9.9-2.7c2.7-1.5 5.5-3 11-3 .6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1-4.9 0-7.4 1.3-9.9 2.7-2.7 1.5-5.5 3-11 3zM196.2 7.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6 1.2 0 2.2-.1 3.2-.3.3-.1.6.2.6.5.1.3-.2.6-.5.6-1 .3-2.1.4-3.3.4zm7.6-1.6c-.2 0-.4-.1-.5-.3-.1-.3 0-.6.3-.7.3-.2.7-.3 1-.5.3-.1.6 0 .7.2.1.3 0 .6-.2.7-.3.2-.7.3-1 .5-.2.1-.2.1-.3.1zm-16.3-.1c-.1 0-.2 0-.2-.1-.8-.4-1.5-.7-2.2-1.1-2.6-1.4-5.1-2.8-10.2-2.8-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6 5.4 0 8.1 1.5 10.7 2.9.7.4 1.4.7 2.1 1.1.3.1.4.5.3.7-.1.4-.3.5-.5.5zm26.6-3.8c-.3 0-.5-.2-.6-.5 0-.3.2-.6.5-.6.8-.1 1.7-.1 2.7-.1.3 0 .6.2.6.6 0 .3-.2.6-.6.6-.9-.2-1.7-.1-2.6 0 .1 0 0 0 0 0zM238.5 23.1c-.3
0-.6-.2-.6-.6 0-.3.2-.6.6-.6 1.2 0 2.2-.1 3.2-.3.3-.1.6.2.6.5.1.3-.2.6-.5.6-1 .3-2.1.4-3.3.4zm7.6-1.5c-.2 0-.4-.1-.5-.3-.1-.3 0-.6.3-.7.3-.2.7-.3 1-.5.3-.1.6 0 .7.2.1.3 0 .6-.2.7-.3.2-.7.3-1 .5-.2 0-.3.1-.3.1zm-16.3-.2c-.1 0-.2 0-.2-.1-.8-.4-1.5-.7-2.2-1.1-2.6-1.4-5.1-2.8-10.2-2.8-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6 5.4 0 8.1 1.5 10.7 2.9.7.4 1.4.7 2.1 1.1.3.1.4.5.3.7-.1.4-.3.5-.5.5zm26.6-3.8c-.3 0-.5-.2-.6-.5 0-.3.2-.6.5-.6.8-.1 1.7-.1 2.6-.1.3 0 .6.2.6.6 0 .3-.2.6-.6.6-.8-.1-1.6-.1-2.5 0z"/></g><path d="M6.2 133.5c-2.8 0-5.1-2.2-5.1-4.8V10.2c0-3 2.4-5.4 5.4-5.4h127.2c3 0 5.4 2.4 5.4 5.4v118.5c0 2.6-2.3 4.8-5 4.8H6.2z" fill="#FFF"/><path d="M133.7 6c2.3 0 4.2 1.9 4.2 4.2v118.5c0 2-1.8 3.7-3.9 3.7H6.2c-2.2 0-3.9-1.7-3.9-3.7V10.2C2.3 7.9 4.2 6 6.5 6h127.2zm0-2.2H6.6C3 3.8.1 6.7.1 10.3v118.4c0 3.3 2.8 5.9 6.2 5.9H134c3.4 0 6.2-2.7 6.2-5.9V10.2c0-3.5-2.9-6.4-6.5-6.4z" fill="#D7D7DB"/><path d="M132.6 27.1v98.2c0 1-.1 1.2-.1 1.2s-.2.1-1.2.1H9.1c-1 0-1.2-.1-1.2-.1s-.1-.2-.1-1.2V27.1h124.8zm1.
1-1.1H6.6v99.3c0 2 .4 2.5 2.5 2.5h122.2c2 0 2.5-.4 2.5-2.5V26h-.1z" fill="#D7D7DB"/><g fill="#D7D7DB"><circle cx="3.4" cy="2.9" r="2.9" transform="translate(10 13)"/><circle cx="3.7" cy="2.9" r="2.9" transform="translate(19 13)"/><path d="M102.1 19.2H38.2c-1.7 0-3.1-1.4-3.1-3.1v-.3c0-1.7 1.4-3.1 3.1-3.1h63.9c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.7-1.4 3.1-3.1 3.1z"/><g><circle cx="3.6" cy="2.9" r="2.9" transform="translate(114 13)"/><circle cx="2.9" cy="2.9" r="2.9" transform="translate(124 13)"/></g></g><ellipse fill="#EDEDF0" cx="177.8" cy="191.1" rx="78.4" ry="7.4"/><g fill="#D7D7DB"><path d="M241.5 164.9c-5.5 0-8.3-1.5-11-3-2.6-1.4-5-2.7-9.9-2.7s-7.4 1.3-9.9 2.7c-2.7 1.5-5.5 3-11 3s-8.3-1.5-11-3c-2.6-1.4-5-2.7-9.9-2.7s-7.4 1.3-9.9 2.7c-2.7 1.5-5.5 3-11 3s-8.3-1.5-11-3c-2.6-1.4-5-2.7-9.9-2.7s-7.4 1.3-9.9 2.7c-2.7 1.5-5.5 3-11 3s-8.3-1.5-11-3c-2.6-1.4-5-2.7-9.9-2.7-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1 5.5 0 8.3 1.5 11 3 2.6 1.4 5 2.7 9.9 2.7s7.4-1.3 9.9-2.7c2.7-1.5 5.5-3 11-3s8.3 1.5 11
3c2.6 1.4 5 2.7 9.9 2.7s7.4-1.3 9.9-2.7c2.7-1.5 5.5-3 11-3s8.3 1.5 11 3c2.6 1.4 5 2.7 9.9 2.7s7.4-1.3 9.9-2.7c2.7-1.5 5.5-3 11-3s8.3 1.5 11 3c2.6 1.4 5 2.7 9.9 2.7.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1zM200.5 155.8c-.8 0-1.5 0-2.3-.1-.3 0-.5-.3-.5-.6s.3-.5.6-.5c.7.1 1.4.1 2.2.1h1.1c.3 0 .6.2.6.5s-.2.6-.5.6h-1.2zm-41.4 0c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6 1.2 0 2.2-.1 3.2-.3.3-.1.6.2.6.5.1.3-.2.6-.5.6-1 .3-2.1.4-3.3.4zm46.9-.7c-.2 0-.5-.2-.5-.4-.1-.3.1-.6.4-.7.4-.1.7-.2 1-.3.3-.1.6.1.7.3.1.3-.1.6-.3.7-.4.1-.7.2-1.1.3-.1.1-.2.1-.2.1zm-39.3-.9c-.2 0-.4-.1-.5-.3-.1-.3 0-.6.3-.7.3-.2.7-.3 1-.5.3-.1.6 0 .7.2.1.3 0 .6-.2.7-.3.2-.7.3-1 .5-.2.1-.3.1-.3.1zm-16.3-.1c-.1 0-.2 0-.2-.1-.8-.4-1.5-.7-2.2-1.1-2.6-1.4-5.1-2.8-10.2-2.8-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6 5.4 0 8.1 1.5 10.7 2.9.7.4 1.4.7 2.1 1.1.3.1.4.5.3.7-.1.3-.3.5-.5.5zm39.5-1.2c-.1 0-.2 0-.3-.1-2.4-1.3-4.9-2.7-10-2.7-.9 0-1.7 0-2.5.1-.3 0-.6-.2-.6-.5s.2-.6.5-.6c.8-.1 1.7-.1 2.7-.1 5.4 0 8.1 1.5 10.5 2.8.3.1.4.5.2.8-.1.1-.3.3-.5.3zm26.3-2
.2c-.2 0-.5-.2-.5-.4-.1-.3.1-.6.4-.7 1.6-.4 3.3-.6 5.3-.6.3 0 .6.2.6.6 0 .3-.2.6-.6.6-1.9 0-3.5.2-5 .6-.1-.1-.2-.1-.2-.1z"/></g><g fill="#D7D7DB"><path d="M76.9 101c-.8 0-2.2-.1-3.6-.7-1.8-.8-2.7-2.2-2.7-4.1 0-1.6.9-2.6 1.8-3.5 1-1 1.9-2 1.9-3.8 0-1.5-2.1-3.7-5.8-3.7-3.8 0-5.5 2.2-5.5 3.7 0 1.8.9 2.8 1.9 3.8.9.9 1.9 1.9 1.9 3.5 0 3.5-3.2 4.8-6.2 4.8H47.8c-2.4 0-4.3-2-4.3-4.4V84.9c0-.1-.2-3 1.5-4.8.8-.9 1.9-1.3 3.3-1.3 1.6 0 2.5 1 3.4 1.9.9 1 1.8 2 3.6 2 1.6 0 3.3-1.9 3.3-5.4 0-3.6-1.7-5.2-3.3-5.2-1.8 0-2.7 1-3.6 2-.9 1-1.7 2-3.4 2-1.4 0-2.5-.4-3.3-1.3-1.7-1.8-1.5-4.9-1.5-5v-7.4c0-.9.3-1.8.8-2.6.8-1.1 2.1-1.8 3.5-1.8h9.3s2.7-.5 2.7-2.3c0-.7-.4-1.2-1.1-1.9-1-1-2.2-2.2-2.2-4.9 0-2.3 1.1-6.2 8.2-6.2 7.6 0 8.5 4.3 8.5 6.2 0 2.7-1.3 4-2.4 5-.8.7-1.2 1.2-1.2 1.9 0 1.8 2.8 2.3 2.8 2.3h9.9c2.4 0 4.3 2 4.3 4.4v5.6s.4 3 2.1 3c.7 0 1.1-.4 1.7-1.1.8-1 2-2.4 4.7-2.4 2.4 0 6.5 1 6.5 8.1 0 7.8-4.9 8.4-6.5 8.4-2.8 0-3.9-1.4-4.7-2.5-.6-.8-1-1.2-1.7-1.2-1.8 0-2.1 3-2.2 3v13.5c0 2.4-1.9 4.4-4.3 4.4h-5c
0-.3-.1-.3-.3-.3z"/></g></g><path d="M258.9 143.4c-.2.6-.7 1.1-1.2 1.5 0 1-.2 1.9-.6 2.8.9-.3 1.8-.8 2.6-1.6.7-.8 1.1-1.6 1.5-2.3.8-2 .4-4.2-1.1-5.5-.4-.4-1-.6-1.5-.8-.7-.2-1.5-.2-2.3 0 2.2 1.4 3.6 3.4 2.6 5.9zM129.7 89.8l-.2-.1c-.2 0-.3-.1-.5-.1h-.1-.1-.1H128.1c-.1 0-.1 0-.1.1 0 0-.1 0-.2.1-.1 0-.2.1-.3.2-.3.2-.7.6-1.1 1.1l-.7.7c.1.1.2.3.1.5-.2 1.1-.5 1.9-.8 2.7.2.6.4 1.1.6 1.6.4.8.9 1.6 1.5 2.4.6.8 1.3 1.5 2.2 2.2.5.4.9.7 1.3.9h.1c.4.3.9.5 1.5.7 1 .4 2.1.7 3.2.8.3 0 .7.1 1.1.1h2.1c.6-.1 1.1-.3 1.5-.4.6-.2 1-.4 1.3-.6.3-.2.5-.3.8-.5.5-3.3.9-7 1.1-11.2-1.3-.6-2.6-1.3-3.7-2.1-1 1-2 1.6-2.9 1.6-.3 0-.5 0-.8-.1l-3-1.2c-1.2.6-2.3.9-3.2.6z"/><path d="M141.1 57.4c0 .7 0 1.4.1 2.1-.3.3-.7.6-1 .9.3-.3.6-.6 1-.9-.1-.7-.1-1.4-.1-2.1zM180.3 24.8c-2-.4-4-.6-6-.6-.7 0-1.4 0-2.1.1.7 0 1.4-.1 2.1-.1 2 .1 4 .2 6 .6zM122.9 136.4c.6-.6 1.2-1.3 1.8-2-.6.6-1.2 1.3-1.8 2-1 1-2 2-3 2.9 1-.9 2-1.9 3-2.9zM134.2 123.6c.3-.4.7-.7 1.1-1.1l-1.1 1.1c-1.3 1.4-2.6 2.8-3.9 4.3-.6.7-1.2 1.5-1.9 2.2.6-.7 1.2-1.5 1.9
-2.2 1.2-1.4 2.5-2.9 3.9-4.3zM129.1 119.1l1.8.9c.6.3 1.3.5 1.9.7-.7-.2-1.3-.5-1.9-.7l-1.8-.9zM241.7 82.7v-.3M244.7 142.3h-.4.4zM145.9 40.2c.6-.9 1.2-1.8 1.8-2.6-.7.8-1.3 1.7-1.8 2.6zM211 186.6h.2-.5.3zM137.4 186.6h.3-.5.2zM177.3 142.7c-.3-.8-.6-1.5-.9-2.2.3.7.6 1.4.9 2.2zM109.4 153.9c1 .2 2.1.3 3.2.3h1.4-1.4c-1.1 0-2.2-.1-3.2-.3zM144.3 43c.5-1 1-1.9 1.5-2.8-.5.9-1 1.9-1.5 2.8z" fill="#FFF" fill-rule="nonzero"/><path d="M142 102c-.3.2-.5.3-.8.5-.3.2-.8.4-1.3.6-.4.1-.9.3-1.5.4h-1-1.1c-.4 0-.8 0-1.1-.1-1.1-.1-2.2-.4-3.2-.8-.6-.2-1-.5-1.5-.7h-.1c-.4-.2-.8-.5-1.3-.9-.8-.7-1.6-1.5-2.2-2.2-.6-.8-1.1-1.6-1.5-2.4-.2-.5-.5-1-.6-1.6-.5.9-1 1.6-1.8 2.1h-.1c.1.2.1.3.2.5.5 1 1 1.9 1.7 2.8.7.9 1.6 1.8 2.6 2.6.6.5 1.1.8 1.6 1.1.5.3 1.1.6 1.8.9 1.2.5 2.5.9 3.8 1 .4 0 .8.1 1.3.1h2.5c.7-.2 1.3-.3 1.8-.5.7-.3 1.2-.5 1.6-.7.6-.3 1.2-.8 1.8-1.2.7-4 1.2-8.6 1.4-13.9-1.6-.6-3.1-1.3-4.4-2.3-.4.6-.8 1.2-1.3 1.6 1.1.8 2.4 1.6 3.7 2.1-.1 4-.4 7.7-1 11z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M140.8 174.9
c.5-.5 1-1 1.4-1.5-.4.5-.9 1-1.4 1.5zM198.7 183.3c1.1.6 2.1 1.1 3.1 1.5.5.2 1 .4 1.5.5-.5-.2-1-.3-1.5-.5-1-.4-2-.9-3.1-1.5zM203.8 136.1c.6.1 1.2.2 1.9.4.3.1.6.2.9.2-.3-.1-.6-.2-.9-.2-.7-.2-1.3-.3-1.9-.4zM182.4 161.8c.2.7.5 1.4.7 2.1.5 1.4 1.1 2.8 1.8 4.1-.7-1.3-1.2-2.7-1.8-4.1-.2-.7-.4-1.4-.7-2.1zM180.3 153v.1-.1zM255 146.2c-.1.6-.4 1.1-.7 1.6.1 0 .1.1.2.1.8.2 1.7.2 2.6-.1.4-.9.6-1.8.6-2.8-.7.5-1.6.9-2.7 1.2z" fill="#FFF" fill-rule="nonzero"/><path d="M249.9 67.3c-.6.7-1.1 1.3-1.6 1.9-.5.7-1.1 1.4-1.5 2.2-.5.8-.9 1.6-1.3 2.3-.3.7-.7 1.5-1 2.4-.5 1.6-.7 3.4-.7 5.4V83.2l.1 1.2v.4c0 .4.1.7.1 1 .1 2 .1 4.1 0 6.1-.3 4.7-1.3 9.1-2.9 13.1-1 2.4-2.1 4.6-3.5 6.6-1.2 1.8-2.7 3.4-4.4 4.9-.3.4-.8.8-1.2 1.2-.3.2-.5.4-.8.5-1.8 1.3-3.7 2.5-5.8 3.4-1 .4-1.9.7-2.8 1 2.1 1.6 4.8 4.3 7.8 8.7 4.8 7.1 10.4 8.7 14.7 9 .4-.9.8-1.7 1.2-2.2-4.1-.1-9.3-1.3-13.8-8-1.9-2.8-3.7-5-5.4-6.6 2.5-1.1 4.8-2.6 6.9-4.3 2.2-1.8 4.2-3.9 5.8-6.2 1.5-2.1 2.8-4.5 3.8-7 1.7-4.2 2.7-8.8 3.1-13.8.1-2.1.1-4.2 0-6.3 0-.4 0-.7-.1
-1.1v-.4l-.1-1.1V82.4v-.5-.2c0-1.7.2-3.3.6-4.7.2-.6.5-1.3.9-2.2.3-.7.7-1.4 1.1-2 .4-.7.9-1.3 1.4-2 .4-.5.8-1 1.3-1.6-.8-.6-1.5-1.2-1.9-1.9zM138.8 58.5v-1.1c0-19.5 15.9-35.4 35.4-35.4s35.4 15.9 35.4 35.4v1.1c3.8 3.5 5.9 8.3 5.9 13.5 0 7.9-4.9 14.7-12.2 17.3 0 .8.1 1.5.1 2.3 0 0 .1.1.1.2.2.3.3.6.5.9l.3.6v.1c.1.3.3.5.4.8v.1c.1.2.2.3.2.5 0 .1.1.1.1.2l.1.2v.1l.1.2.1.2.3.6c.1.1.1.2.2.4.1.1.2.3.2.4.4.6.7 1.1 1 1.5.4.5.9 1 1.3 1.4.9.8 2 1.4 3.2 1.7h.1c.5.2 1.1.2 1.8.2h.2c.4 0 .8-.1 1.3-.1h.1c1.2-.2 2.2-.7 3.1-1.3.7-.5 1.2-1 1.6-1.5.5-.6 1-1.3 1.4-2.1 1-1.9 1.7-4.1 2-6.4.2-1.5.4-2.7.4-3.8v-.1-.5-1-2.3c0-.4.1-.9.1-1.3.4-4 1.7-8 3.5-11.5 1.6-3 3.6-5.7 6.1-8.2 1.8-1.8 3.8-3.3 6.3-4.9 1.9-1.3 3.6-2.1 5.1-2.9l.2-.1-.3-1-3.2 1.1c-.3.1-.7.2-1.1.2h-.2l-1.5.9c-2.6 1.6-4.7 3.3-6.6 5.2-2.7 2.6-4.9 5.6-6.5 8.7-2 3.7-3.3 8-3.7 12.3 0 .4-.1.9-.1 1.3v.4l-.1.7v2.9c-.1 1-.2 2.2-.4 3.6-.3 2.1-1 4.1-1.8 5.7-.3.6-.7 1.2-1.1 1.7-.3.4-.7.7-1.2 1.1-.7.5-1.4.8-2.2 1-.4.1-.8.1-1 .1h-.1c-.3 0-.9-.1-1.2-.1h-.1c-.8-.2-
1.6-.6-2.3-1.2-.4-.3-.7-.7-1-1.1-.2-.3-.5-.7-.8-1.2-.1-.1-.1-.3-.2-.4 0-.1-.1-.1-.1-.2-.1-.2-.2-.5-.3-.7l-.1-.1-.1-.2s0-.1-.1-.1l-.1-.2v-.1c-.1-.2-.2-.3-.3-.5v-.1c-.1-.2-.3-.5-.4-.7 0-.1-.1-.1-.1-.2-.1-.2-.2-.4-.3-.5-.1-.2-.2-.4-.4-.7v-.1c7.3-3.3 12.1-10.5 12.1-18.8 0-5.4-2.1-10.6-5.9-14.4V58c0-20.8-16.9-37.6-37.6-37.6-20.7 0-37.6 16.9-37.6 37.6v.2c-3.2 3.2-5.1 7.3-5.7 11.8l1.9.8c.5-5.1 2.5-9.2 5.8-12.3z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M238.7 153.9h-1.6.4c.5.1.9.1 1.2 0zM223.8 148.2c-.4-.3-.9-.7-1.3-1-.7-.5-1.3-1.1-2-1.6.6.5 1.3 1.1 2 1.6.4.3.9.6 1.3 1z" fill="#FFF" fill-rule="nonzero"/><path d="M251.4 150.6c-.1.1-.2.2-.4.3-.9.7-1.9 1.4-3.2 2.2-1.3.8-3 1.7-5.2 2.3-1.1.3-2.3.6-3.7.7-.4 0-.9.1-1.4.1-.9 0-1.9-.1-2.8-.2-3.2-.5-6-1.9-7.8-3-2.2-1.3-4.1-2.8-5.8-4.1-.8-.6-1.5-1.3-2.3-1.9-.7-.6-1.4-1.1-2.1-1.7-.2-.1-.5-.3-.7-.5-.4-.3-.7-.6-1-.9-1-.8-2-1.5-2.9-2.1-.6-.4-1.2-.7-1.9-1.2-.7-.4-1.3-.7-1.9-.9-1.1-.5-2.1-.9-3.3-1.2-.9-.2-1.9-.4-2.8-.5v7c.1 1.4.1 2.8.1 4.2v1.5c.4 16.7
4.3 19.4 9.8 23.1 6.3 4.2 8.2 5.5 7.7 9-.1 3.1-2.7 5.7-5.8 5.7h-.1c-.5.1-1.5.2-3 .2-.5 0-1.1 0-1.6-.1-1.8-.1-3.6-.4-5.3-.9-1.1-.3-2.2-.6-3.2-1.1-1.3-.5-2.4-1-3.4-1.6-1.2-.7-2.3-1.4-3.4-2.2-1.1-.9-2.2-1.8-3.3-2.8-1-1-2-2.1-3-3.4-1-1.2-1.9-2.5-2.7-3.8-1.6-2.6-3-5.5-4.1-8.4-.5-1.4-1-2.9-1.4-4.4-.2-.6-.3-1.2-.5-1.8v-.2l-.1-.4c-.1-.6-.3-1.2-.4-1.9l-.4-2v-.2V153.2l-.1-.4-.2-.8c-.3-1-.5-2.1-.8-3.2-.5-2-1.1-3.8-1.7-5.2-.4-.9-.6-1.5-.9-2.1-.1-.1-.1-.2-.2-.3 0 .1-.1.2-.1.3-.3.6-.5 1.2-.9 2.1-.6 1.5-1.2 3.2-1.7 5.3-.3 1-.6 2.1-.8 3.2l-.2.8-.1.4v.5l-.4 2c-.1.7-.3 1.3-.4 1.9l-.1.4-.1.5c-.1.6-.3 1.2-.5 1.7-.4 1.5-.9 3-1.4 4.4-1.1 3-2.5 5.8-4.1 8.4-.8 1.3-1.7 2.6-2.7 3.8-1.1 1.3-2 2.4-3 3.4s-2.2 2-3.3 2.8c-1.1.8-2.2 1.5-3.4 2.2-1 .6-2.1 1.1-3.4 1.6-1 .4-2.1.8-3.2 1.1-1.7.5-3.5.8-5.3.9h-1.6c-1.5 0-2.5-.1-3-.2h-.1c-3.2 0-5.8-2.7-5.8-5.9 0-3 2.3-5.6 5.3-5.9l.2-.1c.4-.2 1-.4 1.7-.8.8-.4 1.6-1 2.4-1.6.4-.4.9-.7 1.3-1.1.4-.3.8-.8 1.3-1.3.4-.5.8-1 1.2-1.6.4-.6.7-1.2 1.1-1.8.3-.6.6-1.3.9-2.1.3-.7.5-1.5.8-
2.3.2-.7.4-1.6.6-2.6.2-.8.3-1.7.4-2.7.1-.9.2-1.9.3-3 0-.4 0-.8.1-1.2v-.3V151.3v-.1-1.9c0-1.5 0-2.9.1-4.3l.3-3.9c-.9.5-1.8 1.2-3 2-.8.5-1.6 1.1-2.4 1.7-2.4 1.6-5 3.5-7.9 5.2-2.2 1.4-4.3 2.4-6.2 3.3-2.4 1.1-4.7 1.9-7 2.5-1.1.3-2.3.5-3.7.6-1 .1-1.9.1-2.8.1h-.9c-1.8-.1-3.5-.3-5.3-.8.4.8.7 1.6.9 2.4 1.5.3 3 .5 4.6.6h1c.9 0 1.9 0 3-.2h.1c1.5-.2 2.8-.4 4-.7 2.4-.6 4.9-1.4 7.4-2.6 2-.9 4.1-2 6.4-3.4 2.9-1.8 5.6-3.6 8-5.3.5-.4 1-.7 1.5-1.1-.1 1.3-.1 2.5-.1 3.9v5.2c0 .4 0 .8-.1 1.2v.1c-.1 1-.2 2-.3 2.8-.1 1-.3 1.8-.4 2.5-.2.9-.4 1.7-.6 2.4-.2.8-.5 1.5-.7 2.2-.3.7-.6 1.3-.9 1.9l-.9 1.5c-.4.5-.7 1-1 1.4-.4.5-.8.9-1.1 1.2-.4.3-.8.7-1.2 1-.8.6-1.6 1.1-2.1 1.4-.6.3-1.1.6-1.5.7-3.9.6-6.9 4-6.9 8 0 4.4 3.5 8 7.9 8.1.5.1 1.7.2 3.3.2.6 0 1.1 0 1.7-.1 2-.1 3.9-.4 5.7-.9 1.2-.3 2.3-.7 3.4-1.1 1.3-.5 2.5-1.1 3.6-1.7 1.3-.7 2.5-1.5 3.6-2.3 1.2-.9 2.4-1.9 3.5-3 1.1-1 2.1-2.2 3.2-3.6 1-1.3 2-2.6 2.8-4 1.7-2.8 3.2-5.7 4.3-8.8.5-1.5 1-3 1.5-4.6.2-.6.3-1.2.5-1.8l.1-.4v-.1l.1-.4c.1-.6.3-1.3.4-2l.4-2v-.2-.2l.1-.
5.2-.8c.2-1 .5-2.1.8-3.1l.6-2.1c.2.7.4 1.3.6 2.1.3 1 .5 2.1.8 3.1l.2.8.1.4v.4l.4 2c.1.7.3 1.3.4 2l.1.4v.1l.1.4c.1.6.3 1.2.5 1.9.4 1.6.9 3.1 1.5 4.6 1.1 3.1 2.6 6 4.3 8.8.9 1.4 1.8 2.8 2.8 4 1.1 1.4 2.2 2.6 3.2 3.6 1.1 1.1 2.3 2.1 3.5 3 1.2.9 2.4 1.6 3.7 2.4 1.1.6 2.3 1.2 3.6 1.7 1.1.4 2.3.8 3.4 1.1 1.8.5 3.8.8 5.7.9.6 0 1.2.1 1.7.1 1.6 0 2.7-.1 3.3-.2 4.2-.1 7.7-3.5 7.9-7.7.6-4.8-2.3-6.8-8.7-11.1-5.1-3.4-8.5-5.7-8.9-21.2v-1.5c0-1.4 0-2.9-.1-4.3v-3.9-.4c1.1.3 2 .6 2.9 1h.1c.5.2 1 .5 1.6.8.7.4 1.3.7 1.8 1.1 1.2.8 2.5 1.7 4 3 .8.6 1.6 1.3 2.4 2 .7.6 1.5 1.3 2.3 1.9 1.8 1.4 3.7 2.9 6.1 4.3 2 1.2 5 2.7 8.6 3.3 1.1.2 2.1.3 3.2.3.5 0 1.1 0 1.6-.1 1.5-.1 2.8-.4 4.1-.8 2.4-.7 4.3-1.7 5.7-2.5 1.4-.9 2.5-1.7 3.4-2.4l.1-.1c.5-.4.9-.7 1.2-1-.1 0-.3 0-.4-.1-.2-.2-1-.5-1.6-1z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M258.3 51.2c-.2-.3-.5-.5-.8-.7l.3.9c.1-.1.3-.1.5-.2z" fill="#FFF" fill-rule="nonzero"/><path d="M100.3 137.6c.1-.1.1-.1.2-.1.3-.1.6.1.7.4 0 .1.1.3.1.4.7.2 1.4.4 2.3.7 2.3.8 5.5 1.
8 8.4 1.8 1 0 1.9-.1 2.6-.4 1-.6 2.1-1.4 3.2-2.3 1.1-.9 2.2-2 3.5-3.4 1.8-1.9 3.5-3.9 5.4-6.1.6-.8 1.3-1.5 1.9-2.3 1.3-1.5 2.4-2.7 3.4-3.8-.7-.2-1.3-.5-1.9-.7-2.7-1.1-5.1-2.6-7.3-4.4-1.1-.9-2.1-1.8-2.9-2.7-.8-.8-1.6-1.8-2.4-2.9-1.4-1.9-2.4-3.9-3.2-5.9-.3-.7-.5-1.4-.7-2-.5-.4-.9-1-1-1.7v-.3-.1-.2-.8-1.2c0-.2 0-.4.1-.6-.1-.9-.2-1.8-.2-2.7v-.8V94.7v-.2c-1-1.1-1.4-2.3-1.6-3.3-.1.4-.2.8-.2 1.2l-.1.8c0 .4-.1.9-.1 1.3v1.7c0 1.6.2 3.1.4 4.6.3 2 .9 3.9 1.6 5.8.9 2.2 2 4.3 3.5 6.4.9 1.2 1.7 2.2 2.6 3.2.9 1 2 2 3.1 2.9 2.1 1.7 4.3 3.1 6.8 4.2-.4.4-.8.9-1.2 1.4-.7.8-1.3 1.5-2 2.3-1.8 2.1-3.5 4.2-5.3 6-1.2 1.3-2.3 2.3-3.3 3.2-.9.8-1.8 1.4-2.6 1.9-.5.1-1.1.2-1.8.2-2.5 0-5.4-.9-7.6-1.7-1.5-.5-2.6-.9-3.7-1-.4-.1-.7-.1-1.1-.1-.3 0-.6 0-.8.1l.1.6c.3.5.8.9 1.1 1.4z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M146.2 166.2c-.1.4-.2.7-.4 1.1.2-.3.3-.7.4-1.1z" fill="#FFF" fill-rule="nonzero"/><path d="M37.1 92.1c.1 0 .2-.1.3-.1-.6-.9-1.2-1.8-1.7-2.7-.2.1-.4.2-.6.2.1.2.2.5.2.7.3.8.7 1.6 1.1 2.5.2-.3.4-.5
.7-.6z" fill="url(#a)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M65.2 105.7s2.7-.5 6.3-2.1c.1-.3.1-.5.2-.8-3.1 1.1-6.7 1.7-10.9 1.7h-1.1c-8.8-.2-15.1-4.7-18.7-8.2.2 1 .1 1.8-.1 2.5.7.7 1.5 1.5 2.3 2.1 1.5 1.2 3.1 2.3 4.9 3.2l1.8.9c.6.3 1.3.5 1.9.7.7.2 1.3.4 2 .6l1 .2c.1 0 .2 0 .3.1l-.1.1c3.6.6 6.8.7 9.2.6 0-.1-.1-.2-.1-.2.1-.7.5-1.3 1.1-1.4z" fill="url(#b)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M38.9 124.2c2.9-2.4 6.1-6.1 10-10.6 1.6-1.8 3.4-3.9 5.3-6.1l-1.1 1.1c-1.3 1.4-2.6 2.8-3.9 4.3-.6.7-1.2 1.5-1.9 2.2-.6.7-1.2 1.4-1.8 2.2l-1.8 2.1c-.6.7-1.2 1.4-1.8 2-1 1-2 2-3 2.8z" fill="url(#c)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M65.2 151.2c-.1.4-.2.7-.4 1.1-.3.8-.7 1.5-1 2.3-.4.7-.8 1.4-1.2 2-.4.6-.9 1.2-1.3 1.8-.5.5-.9 1.1-1.4 1.5-.1.1-.1.1-.2.1 2.5-1.8 4.4-4.6 5.5-8.8z" fill="url(#d)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M70.5 73.8c-.1 0-.1 0 0 0-.2 0-.8.1-1.8.1-.7 0-1.5 0-2.3-.1-.2 5.8-.7 10.7-1.5 15 .6
-.7 1-1.3 1.4-1.9 1.9-3.4 3.4-9.4 4.2-13.1z" fill="url(#e)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M171.4 131.5s.1 0 0 0c.1 0 .1 0 0 0 .1 0 .1 0 0 0z" fill="url(#f)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M162.9 131.2c-7.1 3-14.2-.7-19.1-5.2-4.9-4.5-16.4-17.9-16.4-17.9l9.3-.7s.5.1 1.5.6c-.3-.3-.7-.5-1-.8h-1.3c-2.6 0-4.7-.4-4.8-.4-.3-.1-.5-.3-.5-.6.1-.3.3-.5.6-.5 0 0 4 .7 7.7.2.4-.1.7-.1 1.1-.2 1.2-.3 2.4-.7 3.5-1.2 1-.4 1.9-.9 2.9-1.4-.4-1 .4-2.7 2.1-3.9 1.5-1.1 3.1-1.5 4-1 .9-.9 1.6-1.9 2.3-2.9 1-1.5 1.9-3 2.6-4.6.2-.5.5-1 .7-1.6.6-1.4 1-2.8 1.4-4.3-.3.1-.5.1-.8.1-1.2-.3-1.6-2.3-1.1-4.4.6-2.1 2-3.6 3.1-3.3v-.4c.1-2 .1-3.9 0-5.8 0-.5-.1-.9-.1-1.4 0-.4-.1-.8-.1-1.2v-.8-.2-.7c0-1.6.1-3.2.4-4.6.1-.5.2-1 .4-1.4.3-.9.7-1.8 1.1-2.7.4-.9.9-1.7 1.4-2.6l1.5-2.1c-.4 0-.7-.2-.9-.4-.8-.9-.2-2.8 1.4-4.3.4-.4.9-.7 1.3-1l-.6-1.7c-1.8 1.2-3.6 2.7-4.8 4.8-3.6 6.1-4.4 8.7-4.4 13.9v1.3c0 6.1.1 17.4-4.2 23.9-5.6 8.4-14 12.5-25.6 12.5H126c2.9.5 6 .7 9.4.2.6-.1 1.2
.3 1.3.9.1.6-.3 1.2-.9 1.3-1.5.2-3 .4-4.5.4-5.3 0-9.9-1.4-13.2-2.9.7 4 1.1 8.1 1.2 12.3.3 0 .5.2.5.5 0 0 .2 2.3.2 6.2.4 0 .8 0 1.2.1.4 0 .9.1 1.4.2.6.1 1.2.2 1.9.4.3.1.6.2.9.2.6.2 1.2.4 1.9.6.3.1.6.3 1 .4.7.3 1.3.6 2 1s1.4.8 2.1 1.3c.3.2.5.4.8.6.8-.8 2.7-.5 4.4.7 1.8 1.3 2.7 3.2 2 4.1.6.5 1.3 1.1 2 1.6.4.3.8.7 1.3 1 .4.3.9.7 1.3 1l1.8 1.2c0-.1 0-.3.1-.4.4-1.1 2.5-1.3 4.5-.5 2.1.8 3.4 2.4 2.9 3.5-.1.2-.2.4-.4.5.3.1.7.2 1 .2.6.1 1.1.1 1.7.2h2c1.2-.1 2.2-.3 3.2-.6.2-.1.4-.1.6-.2l-.3-.3c-.6-1 .5-2.8 2.4-3.9 1.4-.8 3.1-1.1 4.3-.8l-.6-1.2c-1-.4-1.8-1-2.4-1.6-.7.1-1.4.4-2.1.7z" fill="url(#g)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M134.8 169.1c-3.6 0-10.7-2.3-15.5-4.8-7.7-4.1-13.4-16.9-14.8-26.9-1.7-12.1-5.1-22.4-8.1-25.1-1.3-1.1-2.5-1.7-3.5-1.9-2.6.9-4.7 2.6-6.1 5.1-2 3.5-2.8 10.4-3.7 17.7-1 8.3-2.1 16.9-4.9 21.5-5.7 9.4-11.9 13.8-20.6 14.8-1.1.1-2.1.2-2.9.2-2.8 0-4.2-.6-4.9-1.1.4 1.6 1.8 2.8 3.5 2.8h4.5c1.4-.1 3-.3 4.8-.8.5-.1.9-.3 1.4-.4.5-.2 1-.3 1.5-.5s1-.4 1.5-.7c
.5-.2 1-.5 1.6-.8 1.1-.6 2.1-1.3 3.2-2 .2-.2.5-.4.7-.6-.1 0-.1-.1-.2-.1-.9-.8-.3-2.8 1.3-4.4 1.6-1.6 3.5-2.2 4.4-1.3 0 0 .1.1.1.2.8-1 1.5-2 2.2-3.1.4-.6.8-1.3 1.1-1.9.7-1.3 1.4-2.7 2-4 .3-.7.6-1.4.8-2.1.4-1.1.8-2.2 1.1-3.3h-.7c-1.1-.4-1.4-2.4-.7-4.5.7-1.9 2-3.2 3.1-3.1l.1-.2.1-.4.2-.9c.3-1.1.5-2.2.8-3.2.3-1 .6-2 .9-2.9.3-.9.6-1.8.9-2.6.3-.8.6-1.5.9-2.2.2-.3.3-.6.5-.9.1-.3.3-.6.4-.9.5-.8.9-1.5 1.3-2.2.4.6.8 1.4 1.3 2.2.1.3.3.6.4.9.1.3.3.6.5.9.3.7.6 1.4.9 2.2.6 1.6 1.2 3.4 1.8 5.5.3 1 .6 2.1.8 3.2l.2.9.1.4.1.2V138.3l.4 2c.1.8.3 1.5.5 2.2l.6 2.1.6 2.1c.2.7.5 1.4.7 2.1.5 1.4 1.1 2.8 1.8 4.1.7 1.3 1.4 2.7 2.2 3.9.8 1.3 1.6 2.5 2.5 3.6.9 1.1 1.8 2.2 2.9 3.2.5.5 1 .9 1.5 1.4.5.4 1 .9 1.6 1.2.5.4 1.1.8 1.6 1.1.5.3 1.1.7 1.6 1 1.1.6 2.1 1.1 3.1 1.5.5.2 1 .4 1.5.5.5.2 1 .3 1.4.4 1.9.5 3.5.7 4.8.8h4.6c1.7 0 3.1-1.1 3.5-2.7h-.1c-.4.2-1 .3-1.7.3z" fill="url(#h)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M62.2 64.1c0 1.5-.3 3.3-1.1 5.3-.1.2-.2.5-.3.7 1.6 1.2 3.5 2.1 5.6 2.6 1.9.3
3.7.1 3.9.1-.7-1-1.4-2-2.1-3.1-2.4-1.4-4.5-3.3-6-5.6z" fill="url(#i)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M129.4 88.3c-1.2-.4-2.3-1.1-3.3-1.9-.6-.5-1.1-1.1-1.6-1.7-.2-.3-.5-.6-.7-.9l-.6-.9c-.2-.3-.4-.6-.5-.9-.1-.2-.2-.3-.2-.5-.1-.2-.1-.3-.2-.5-.1-.1-.2-.3-.2-.4-.1-.1-.1-.3-.2-.4-.1-.3-.3-.6-.4-.8-.1-.3-.3-.5-.4-.8-.1-.2-.2-.5-.4-.7-.1-.2-.2-.4-.3-.5-.1-1.1-.2-2.3-.2-3.5-1.2.2-2.3.3-2.8.3.1 2.1.3 4.3.9 5.8.7 1.7 3.6 7.6 11.1 8.3z" fill="url(#j)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M64.6 42.9c-.1-1.1-.2-2.1-.2-3.2C64.4 23.8 77.3 11 93.1 11c15.9 0 28.7 12.9 28.7 28.7v1.5c4.1 3.1 6.7 7.9 6.7 13.4 0 6.4-3.6 12-8.8 14.8-.7 1.2-1.5 2.4-2.3 3.5.6 0 1.7-.1 3-.3.7-.2 1.4-.4 2.1-.7.8-.4 1.6-.8 2.3-1.3 4.4-2.9 7.4-7.9 7.4-13.5 0-2.5-.6-4.9-1.6-7-1-2.1-2.5-4-4.3-5.5 0-.7.1-1.4.1-2.1 0-2.8-.3-5.4-1-8-.1-.2-.1-.4-.2-.6-1.5-5.7-4.5-10.8-8.6-14.8-1-1-2.1-2-3.2-2.8-1.1-.9-2.3-1.7-3.6-2.4-2.5-1.4-5.2-2.6-8-3.3-.2-.1-.4-.1-.6-.2-.6-.2-1.3-.3-1.9-.4-2-.4-4-
.6-6-.6-.7 0-1.4 0-2.1.1-2.1.1-4.2.5-6.2 1-6.9 1.8-12.9 5.7-17.3 11-.3.4-.7.8-1 1.3-.6.9-1.2 1.7-1.8 2.6-.6.9-1.1 1.9-1.5 2.8-.7 1.5-1.3 3-1.8 4.5-.3 1-.6 2.1-.8 3.2-.4 2.2-.7 4.4-.7 6.7 0 .7 0 1.4.1 2.1-.3.3-.7.6-1 .9-.6.6-1.2 1.3-1.7 2-.3.4-.5.7-.7 1.1-.6 1-1.1 2.1-1.5 3.2-.5 1.4-.8 2.9-.9 4.4l1.8.7c.9.4 1.4 1.4 1.6 2.8l3 1.2c-.7-1.8-1.1-3.8-1.1-5.9-.2-4.9 1.8-9.1 4.9-12.2z" fill="url(#k)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M70.7 106.4c-.2.1-.5.2-.7.3.2.1.3.2.4.4.1.3-.1.6-.4.7-.2 0-2.9.7-7.2.7-1 0-2.1 0-3.3-.1l1.9.7c.1 0 .2.1.3.2.2.4 1.1 2.5-4.2 7.8l-1.3 1.3c-5.2 5.2-13 13.1-21.1 13.8-.7.1-1.4.1-2 .1-5.2 0-10.7-1.5-14.3-2.7l.6 5.5c.3.1.5.2.8.3v-.1c.6-1 2.7-1 4.6.2 1.6.9 2.5 2.3 2.5 3.3.4.1.7.2 1.1.2 1 .2 2.1.3 3.2.3H33.4c.5 0 1-.1 1.5-.1h.2c-.1-.1-.2-.2-.2-.3-.4-1.1.9-2.7 2.9-3.5 2.1-.8 4.1-.6 4.5.5.2.5 0 1.1-.4 1.7l3-1.2c1.5-.7 2.9-1.4 4.2-2.2-.2-.1-.3-.2-.4-.4-.7-1 .2-2.8 2-4.1 1.8-1.3 3.8-1.6 4.5-.6.2.3.3.7.2 1.2 1.2-.8 2.3-1.6 3.4-2.3.8-.6 1.6-1.1 2.3-1
.6 1.5-1 2.9-2 4.2-2.7.6-.4 1.2-.7 1.8-1 .8-4.4 1-7.1 1-7.2 0-.3.3-.5.5-.5.1-.3.1-.6.2-.9.4-2.2 1.1-4.8 1.9-7.7z" fill="url(#l)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M153.8 118c.1 0 .2-.1.3-.1.9-.4 1.9-1.2 2.7-1.9-.9.5-1.8 1-2.8 1.4-.1.2-.1.4-.2.6z" fill="#FAFAFA" fill-rule="nonzero"/><path d="M131.2 182.5c.3.3 1.9 1.5 7.2.9 8.3-1 14.3-5.3 19.8-14.3 2.7-4.4 3.7-12.9 4.8-21.1.9-7.4 1.8-14.4 3.8-18.2 1.1-2 2.6-3.5 4.2-4.5-.5.2-.8.3-.8.3l-1.1.7 4-22.6c-.5-.6-1-1.2-1.4-1.8-2.8-4.2.3-9.3 4.1-13.4v-.3h.2c3.5-3.7 7.5-6.4 7.8-6.6l.2-.1 14.6 1.2-.1.6s-.2 2-.2 4.4h.2c.9-1.1 1.6-2.3 2.3-3.5 5.3-2.8 8.8-8.4 8.8-14.8 0-5.5-2.7-10.4-6.7-13.4v-1.5c0-15.9-12.9-28.7-28.7-28.7-15.9 0-28.7 12.9-28.7 28.7 0 1.1.1 2.2.2 3.2-3.1 3.1-5.1 7.3-5.1 12 0 2.1.4 4 1.1 5.9 1 .4 1.6 1.6 1.6 3.2 1.5 2.3 3.5 4.2 6 5.6.6 1.1 1.3 2.1 2.1 3.1.1 0 .3 0 .4.1.3-1.4.4-2.3.5-2.3l.1-.3.3-.1c.5-.2 13.4-5.6 18.2-1.2 2 1.8 2.3 5 .9 9.4-2.5 8-5.5 14.5-10 19 .1 0 .2.1.3.2.5.4.5 1.1.1 1.6-.1.2-3.7 4.2-6.9 5.
8-.7.4-1.4.7-2.1 1-.9 3.3-1.6 6.1-2 8.3-1.8 10-1.9 13.6-2.1 21 0 1.7-.1 3.7-.2 6-.4 12-3.6 18.7-9.9 21.2-.5.2-1.1.4-1.6.6-.6.2-1.1.4-1.6.6-.3.1-.5.2-.7.3-.4.2-.6.3-.5.3h-.2c-1.9.9-3.1 1.9-3.2 3.5zm63.3-112.3c0 .8-.6 1.4-1.4 1.4-.8 0-1.4-.6-1.4-1.4V67c0-.8.6-1.4 1.4-1.4.8 0 1.4.6 1.4 1.4v3.2zm-6.2-15c.1-.1 1.6-2.5 4.8-2.5 3.1 0 4.7 2.4 4.8 2.5.3.5.2 1.2-.3 1.5-.2.1-.4.2-.6.2-.4 0-.7-.2-.9-.5 0-.1-1-1.5-2.9-1.5s-2.9 1.4-2.9 1.5c-.3.5-1 .7-1.5.3-.7-.3-.8-1-.5-1.5zm-29 15c0 .8-.6 1.4-1.4 1.4-.8 0-1.4-.6-1.4-1.4V67c0-.8.6-1.4 1.4-1.4.8 0 1.4.6 1.4 1.4v3.2zm3-7c-.2.1-.4.2-.6.2-.4 0-.7-.2-.9-.5 0-.1-1-1.5-2.9-1.5s-2.9 1.4-2.9 1.5c-.3.5-1 .7-1.5.3-.5-.3-.7-1-.3-1.5.1-.1 1.6-2.5 4.8-2.5 3.2 0 4.7 2.4 4.8 2.5.2.5 0 1.2-.5 1.5z" fill="#FAFAFA" fill-rule="nonzero"/><path d="M138.7 177.3c6.3-2.5 9.5-9.2 9.9-21.2.1-2.3.1-4.2.2-6 .2-7.3.3-11 2.1-21 .4-2.2 1.1-5 2-8.3-.5.2-.9.4-1.3.5-.8 2.9-1.4 5.6-1.8 7.6-.1.3-.1.6-.2.9h.1c.3 0 .5.3.5.6 0 0-.2 3.5-1.3 8.9-.1.6-.2 1.1-.3 1.7-.2 1.4-.3 2.7-.4 4.1 0
.7-.1 1.4-.1 2.1v7.2c0 .5 0 1.1-.1 1.6-.1 1-.2 2.1-.3 3.1-.1.5-.1 1-.2 1.5s-.2 1-.3 1.4c-.2.9-.4 1.9-.7 2.7-.2.5-.3 1-.5 1.4-1.1 4.1-3 7-5.5 8.8-.4.4-.9.8-1.3 1.1-1 .7-1.9 1.3-2.7 1.8l-1.2.6c.5-.2 1.1-.4 1.6-.6.8-.1 1.3-.3 1.8-.5z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M76.9 50.6c-.8 0-1.4.6-1.4 1.4v3.2c0 .8.6 1.4 1.4 1.4.8 0 1.4-.6 1.4-1.4V52c0-.8-.6-1.4-1.4-1.4z" fill="url(#m)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M112.1 50.6c-.8 0-1.4.6-1.4 1.4v3.2c0 .8.6 1.4 1.4 1.4.8 0 1.4-.6 1.4-1.4V52c0-.8-.7-1.4-1.4-1.4z" fill="url(#n)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M107.6 41.7c.5.3 1.2.2 1.5-.3 0 0 1-1.5 2.9-1.5s2.8 1.4 2.9 1.5c.2.3.6.5.9.5.2 0 .4-.1.6-.2.5-.3.7-1 .3-1.5-.1-.1-1.6-2.5-4.8-2.5-3.1 0-4.7 2.4-4.8 2.5-.1.5 0 1.2.5 1.5z" fill="url(#o)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M76.9 44.2c-3.1 0-4.7 2.4-4.8 2.5-.3.5-.2 1.2.3 1.5.5.3 1.2.2 1.5-.3 0 0 1-1.5 2.9-1.5s2.8 1.4 2.9 1.5c.2.3.6.5.9.5.2 0 .4-.1.6-.2
.5-.3.7-1 .3-1.5.1-.1-1.5-2.5-4.6-2.5z" fill="url(#p)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M140.7 118.4c15.7.3 23.7-6.5 29.7-25.4 1.3-4 1.1-6.7-.6-8.2-3.9-3.6-14.8.6-16.7 1.3-.3 1.9-2.2 11.5-4.9 16.3-2.3 4.1-7.5 7.6-13.9 6.2-6.5-1.5-12.3-5.7-14.1-10.1 0 0 0 .1-.1.1-.2.6-.4 1.1-.6 1.7-.2.6-.5 1.1-.7 1.5-.3.5-.5.9-.8 1.2-.2.3-.4.5-.5.6 1 1.7 2.2 3.5 3.7 5.3 3.1 3.4 9.6 9.3 19.5 9.5z" fill="#FAFAFA" fill-rule="nonzero"/><path d="M120.3 98.4c1.9 4.4 7.6 8.7 14.1 10.1 6.4 1.4 11.6-2.1 13.9-6.2 2.7-4.8 4.5-14.4 4.9-16.3 1.9-.8 12.8-4.9 16.7-1.3 1.6 1.5 1.8 4.3.6 8.2-6 18.9-14 25.8-29.7 25.4-9.9-.2-16.4-6.1-19.4-9.5-1.5-1.7-2.7-3.5-3.7-5.3l-.1.1-.2.2-.1.1c-.2.1-.4.3-.6.4.5.9 1.1 1.8 1.7 2.7 1.1-.1 2.5 1.1 3.2 3 .2.4.3.9.4 1.3 3.6 3.5 9.8 8 18.7 8.2h1.1c4.2 0 7.8-.6 10.9-1.7-.1.3-.2.5-.2.8.4-.2.9-.4 1.3-.6.1-.2.1-.4.2-.6 1-.4 1.9-.9 2.8-1.4 1.9-1.6 3.4-3.4 3.5-3.4.3-.4.8-.5 1.3-.3 4.5-4.5 7.4-11 10-19 1.4-4.4 1.1-7.6-.9-9.4-4.8-4.4-17.7 1-18.2 1.2l-.3.1-.1.3s-.2.9-.5
2.3c.1.1.2.2.2.4 0 .3-.2.5-.4.6-.8 3.7-2.3 9.7-4.1 13-.3.6-.8 1.3-1.4 1.9 0 .2-.1.4-.1.6-.8.8-1.7 1.4-2.8 2-.3.2-.6.3-.9.5-.3.1-.6.3-1 .4-.3.1-.7.2-1 .3-.4.1-.7.2-1.1.3h.2H136.1c-.5 0-1.1 0-1.6-.1-1.1-.1-2.3-.4-3.4-.8-.4-.1-.7-.3-1.1-.4-.4-.2-.7-.3-1-.5-.3-.2-.7-.4-1-.6-.3-.2-.6-.4-1-.6-.3-.2-.6-.4-.9-.7-1.2-.9-2.2-2-3-3-.6-.8-1.1-1.6-1.5-2.4-.1-.3-.3-.5-.4-.8-.1-.3-.2-.5-.3-.8h-.2c0 .1-.1.1-.1.2-.1.7-.2.9-.3 1.1z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M174 104.9l-3.4 19.5c.5-.2 1.2-.3 2-.3 1.5 0 3.4.5 5.5 2.3 3.8 3.4 7 15.4 8.5 25.8 1.6 11.5 7.8 22.7 14.2 26.1 6.5 3.4 14.5 5.4 16.3 4.5.1 0 .1-.1.2-.1.3-1.7-.2-2.2-6.5-6.4-5.7-3.9-10.7-7.2-11.1-25.4-.1-3.3-.1-6.6-.1-9.8 0-8.9 0-17.1-1.5-24.9-.4-.2-.8-.4-1.1-.6-9.5-1.9-18.1-5.9-23-10.7z" fill="#FAFAFA" fill-rule="nonzero"/><path d="M198 116.2c1.5 7.8 1.5 15.9 1.5 24.9 0 3.2 0 6.4.1 9.8.4 18.2 5.3 21.5 11.1 25.4 6.3 4.2 6.8 4.7 6.5 6.4 0 0-.1.1-.2.1-1.7.9-9.7-1.1-16.3-4.5-6.5-3.4-12.6-14.6-14.2-26.1-1.5-10.4-4.7-22.4-8.5-25.8-2-
1.8-4-2.3-5.5-2.3-.8 0-1.5.1-2 .3l3.4-19.5c4.9 4.9 13.5 8.9 22.9 10.8-1.8-.9-2.9-1.7-3-1.8 0 0 0-.1-.1-.1-9.5-2.5-17.7-7.1-21.2-12.4-4.6-6.9 10-17.4 11.7-18.6l13.1 1.1c-.1 1.9-.5 8 .8 11.3.9 2.4 4.9 10.1 15.3 9.2 9.7-.8 12.1-9.5 13.2-17.9.1-1.2.3-2.2.4-3.2.8-6.3 1-8.4 3.6-14.2l.3-.6c-.4.7-.9 1.4-1.3 2.2-1.6 3.1-2.8 6.8-3.2 10.7-.1.5-.1 1-.1 1.6v3.5c-.1 1.4-.3 2.7-.5 4.1-.4 2.6-1.2 5.1-2.3 7.1-.5 1-1.1 1.9-1.7 2.6-.6.7-1.3 1.3-1.9 1.8-.7.5-1.3.8-2 1.1-.7.3-1.4.5-2.1.6-.6.1-1.2.2-1.8.2h-.4c-.7 0-1.5-.1-2.2-.3-.3-.1-.5-.2-.8-.3-7.4-.7-10.4-6.5-11.2-8.5-.6-1.5-.8-3.7-.9-5.8h-.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h.3c0-2.4.2-4.4.2-4.4l.1-.6-14.6-1.2-.2.1c-.3.2-4.3 2.9-7.8 6.6h-.2v.3c-3.8 4-6.9 9.1-4.1 13.4.4.6.9 1.2 1.4 1.8l-4 22.6 1.1-.7s.3-.2.8-.3c-1.6 1-3.1 2.4-4.2 4.5-2.1 3.7-2.9 10.7-3.8 18.2-1 8.2-2 16.6-4.8 21.1-5.5 9.1-11.4 13.3-19.8 14.3-5.2.6-6.8-.5-7.2-.9.1-1.7 1.3-2.7 2.9-3.5-1.9.1-3.5 1.7-3.5 3.7 0 .3 0 .6.1.9.7.5 2.1 1.1 4.9 1.1.8 0 1.8-.1 2.9-.2 8.7-1 14.9-5.5 20.6-14.8 2.8-4
.7 3.9-13.2 4.9-21.5.9-7.3 1.7-14.2 3.7-17.7 1.4-2.5 3.4-4.2 6.1-5.1 1 .2 2.2.8 3.5 1.9 3 2.7 6.4 13 8.1 25.1 1.4 10 7.1 22.9 14.8 26.9 4.8 2.5 11.9 4.8 15.5 4.8.7 0 1.3-.1 1.8-.3h.1c.1-.3.2-.7.2-1 .1-.5.1-1 0-1.4-.3-1.1-1.6-2.1-4.6-4.2-.6-.4-1.3-.9-2.1-1.4-2.5-1.7-4.7-3.3-6.5-5.7-1.1-1.5-2-3.3-2.7-5.7-.4-1.2-.7-2.5-.9-4-.4-2.6-.7-5.7-.8-9.5v-1.5c0-1.3 0-2.7-.1-4.1v-9.4c-.1-3.8-.2-6.1-.2-6.1 0-.3.2-.6.5-.6h.1c-.2-4.2-.5-8.3-1.2-12.3-.7-.5-1.1-.7-1.5-.9z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M227 83.3c-.1 1-.2 2-.4 3.2-1.1 8.4-3.4 17.1-13.2 17.9-10.4.9-14.3-6.8-15.3-9.2-1.3-3.3-1-9.4-.8-11.3l-13.1-1.1c-1.7 1.2-16.3 11.6-11.7 18.6 3.5 5.3 11.7 9.9 21.2 12.4-.4-.4-.5-1-.2-1.5.4-.5 1.1-.6 1.6-.3 0 0 2.6 1.8 6.6 3.3 1.5.2 3 .3 4.5.4 12.5.6 21.4-3.3 27.1-11.9 4.1-6.2 4.1-17.7 4.1-23.3v-1.3c0-5.5.9-8.2 4.6-14.5 1.4-2.3 3.4-4 5.4-5.3l-1.3-3.9c-.3.2-.6.3-1 .5-1.1.6-2.4 1.3-3.8 2.2l-.1.1c-2.3 1.6-4.6 3.5-6.5 5.4-.8.8-1.5 1.6-2.2 2.6-.5.7-1 1.3-1.5 2.1l-.3.6c-2.7 5.8-3 8-3.7 14.3z" fil
l="#FAFAFA" fill-rule="nonzero"/><path d="M241.9 64.8c-3.7 6.3-4.6 9-4.6 14.5v1.3c0 5.5.1 17-4.1 23.3-5.8 8.6-14.6 12.5-27.1 11.9-1.5-.1-3-.2-4.5-.4 1.6.6 3.5 1.2 5.5 1.5h1.5c11.6 0 20-4.1 25.6-12.5 4.3-6.5 4.3-17.8 4.2-23.9v-1.3c0-5.2.8-7.8 4.4-13.9 1.2-2 3-3.6 4.8-4.8l-.4-1.1c-1.9 1.4-3.9 3.1-5.3 5.4zM235.3 63c-.3.2-.5.5-.8.8 1.9-1.9 4.2-3.7 6.5-5.4-1.7 1.2-3.7 2.7-5.7 4.6z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M127.4 108s11.6 13.5 16.4 17.9c4.9 4.5 12 8.2 19.1 5.2.7-.3 1.4-.6 2-.8-.5-.5-.9-1.1-1.1-1.8-.1-.4-.2-.9-.2-1.3h-.4c-.2 0-.4 0-.6-.1-.2 0-.3 0-.5-.1-.2 0-.4-.1-.6-.1-.2 0-.3-.1-.5-.1s-.4-.1-.6-.1c-.2 0-.4-.1-.5-.1-.2-.1-.4-.1-.7-.2-.2-.1-.4-.1-.6-.2-.2-.1-.4-.2-.7-.2-.2-.1-.4-.1-.6-.2-.2-.1-.4-.2-.7-.3l-.6-.3c-.2-.1-.5-.2-.7-.4l-.6-.3c-.2-.1-.5-.3-.7-.4-.2-.1-.4-.2-.6-.4-.2-.2-.5-.3-.7-.5-.2-.1-.4-.3-.6-.4-.2-.2-.5-.4-.7-.6-.2-.2-.4-.3-.5-.5l-.7-.7-.5-.5c-.3-.3-.5-.6-.8-.9-.1-.2-.3-.3-.4-.5-.4-.5-.8-1-1.2-1.6-.4-.5-.7-1-1-1.5-.1-.1-.2-.2-.2-.3-.3-.5-.7-.9-1-1.3v-.1c
-.3-.4-.6-.8-.9-1.1-.1-.1-.1-.2-.2-.2-.3-.3-.6-.7-.9-1l-.1-.1-.8-.8-.2-.2c-.3-.3-.5-.5-.8-.7-.1 0-.1-.1-.2-.1-.2-.2-.4-.3-.6-.5-.1-.1-.2-.1-.2-.2-.2-.2-.4-.3-.6-.4-.1-.1-.2-.1-.3-.2-.1-.1-.2-.1-.3-.2-.1-.1-.2-.1-.3-.2-.3-.2-.5-.3-.7-.4-.9-.5-1.5-.6-1.5-.6l-9.1.6z" fill="url(#q)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M116 146c7.7-.7 15.4-8.4 20.4-13.5l1.3-1.3c3.9-3.9 4.1-5.8 4-6.3l-5.4-2c-2.1 2.3-3.9 4.5-5.6 6.4-6.1 7-10.5 12.1-15.1 13.6-4.4 1.4-9.5-.3-13-1.4-.5-.2-1-.3-1.5-.5-.1.3-.2.7-.4 1-.3.5-.6.9-1 1.3 4 1.4 10.7 3.2 16.3 2.7z" fill="#FAFAFA" fill-rule="nonzero"/><path d="M116.1 147.1c8.1-.7 16-8.6 21.1-13.8l1.3-1.3c5.3-5.3 4.4-7.4 4.2-7.8-.1-.1-.2-.2-.3-.2l-1.9-.7c-1.6-.1-3.4-.3-5.2-.7-1.9 2.2-3.7 4.2-5.3 6.1-3.9 4.5-7.1 8.2-10 10.6-.2.2-.5.4-.7.6-1.2 1-2.5 1.9-3.7 2.6-1.1.4-2.3.5-3.5.5-4 0-8.1-1.7-10.6-2.4 0 .2-.1.4-.1.5.5.1.9.3 1.5.5 3.4 1.1 8.6 2.9 13 1.4 4.6-1.5 9-6.6 15.1-13.6 1.7-1.9 3.6-4.1 5.6-6.4l5.4 2c0 .5-.2 2.4-4 6.3l-1.3 1.3c-5.1 5.1-12.7 12.8-
20.4 13.5-5.6.5-12.3-1.4-16.2-2.6l-.2.2.1 1c3.5 1.2 9.1 2.7 14.3 2.7.4-.2 1.1-.2 1.8-.3z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M171.5 131.5c.1.2.3.4.5.6.4.3.8.5 1.3.7.3-.5.6-1 .7-1.6-.8.2-1.6.3-2.5.3z" fill="url(#r)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M149.4 116.1c-3-4.4-5.7-7.1-7.8-8.7.9-.2 1.8-.6 2.8-1 2.1-.9 4.1-2 5.8-3.4-1.5.9-3.1.9-3.7.1-.1-.1-.1-.2-.1-.3-.9.5-1.9 1-2.9 1.4-1.1.5-2.3.9-3.5 1.2-.3.1-.7.1-1.1.2-3.7.5-7.7-.1-7.7-.2-.3-.1-.6.2-.6.5-.1.3.2.6.5.6.1 0 2.2.4 4.8.4h1.3c.3.3.7.5 1 .8.2.1.5.2.7.4.1.1.2.1.3.2.1.1.2.1.3.2.1.1.2.1.3.2.2.1.4.3.6.4.1.1.2.1.2.2.2.1.4.3.6.5.1 0 .1.1.2.1.2.2.5.5.8.7l.2.2c.3.2.5.5.8.8l.1.1c.3.3.6.6.9 1 .1.1.1.2.2.2.3.4.6.7.9 1.1v.1c.3.4.7.8 1 1.3.1.1.2.2.2.3.3.5.7 1 1 1.5.4.6.8 1.1 1.2 1.6.1.2.3.3.4.5.3.3.5.7.8.9l.5.5c.2.3.5.5.7.7.2.2.4.3.5.5.2.2.5.4.7.6.2.2.4.3.6.4.2.2.5.4.7.5.2.1.4.3.6.4.2.2.5.3.7.4l.6.3c.2.1.5.2.7.4l.6.3c.2.1.4.2.7.3.2.1.4.2.6.2.2.1.4.2.7.2.2.1.4.1.6.2.2.1.4.1.7.2.2 0 .4.1.5.1.2.1.4.1.6.1.2 0 .4.
1.5.1.2 0 .4.1.6.1.2 0 .3.1.5.1s.4 0 .6.1h.4c0 .4 0 .9.2 1.3.2.7.6 1.3 1.1 1.8.6.6 1.4 1.1 2.4 1.6.6.2 1.2.5 1.9.6h.1c.2 0 .5-.2.5-.4.1-.3-.1-.6-.4-.7-.1 0-.2-.1-.3-.1-2.4-.7-3.8-1.8-4.2-3.2-.7-2.5 1.8-5.4 1.9-5.4.1-.1.2-.3.1-.5 0-.1-.1-.2-.2-.3-.2-.2-.6-.2-.8 0 0 0-.3.3-.6.7-.4.5-.9 1.3-1.2 2.2-4.5.3-10.1-1.3-14.9-8.4z" fill="url(#s)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M31.3 79.8v1.6c0 .9.1 1.8.2 2.7 0-.3.1-.6.2-1 .1-.3.1-.6.2-.9.1-.3.2-.7.3-1 .1-.2.1-.4.2-.6.7.5 1.6.9 2.8 1.3 1.3.4 2.7.7 4.1.7H39.9c.1.3.2.5.3.8.1.3.3.5.4.8.4.8.9 1.6 1.5 2.4.8 1.1 1.8 2.1 3 3 .3.2.6.5.9.7.3.2.6.4 1 .6.3.2.7.4 1 .6.3.2.7.3 1 .5.4.2.7.3 1.1.4 1.1.4 2.2.6 3.4.8.5.1 1.1.1 1.6.1h3.1-.2c.4-.1.7-.2 1.1-.3.4-.1.7-.2 1-.3.3-.1.7-.3 1-.4.3-.1.6-.3.9-.5 1-.6 2-1.3 2.8-2 0-.2.1-.4.1-.6.8-4.3 1.3-9.2 1.5-15 .8.1 1.6.1 2.3.1.9 0 1.6-.1 1.7-.1h.1c.3-.1.4-.3.4-.6 0-.2-.1-.3-.2-.4-.1-.1-.3-.1-.4-.1-.1 0-2 .2-3.9-.1-2-.5-3.9-1.4-5.6-2.6.1-.2.2-.5.3-.7.8-1.9 1.1-3.8 1.1-5.3-.1-1.6-.6-2.8-1.6-3
.2l-3-1.2c.1.4.1.8.1 1.2l2.5 1c1.1.5 1.4 3.5-.1 7.1-1.5 3.6-3.7 5.6-4.9 5.1l-2.5-1c-.3.3-.6.6-.9.8l3 1.2c.2.1.5.1.8.1.9 0 1.9-.6 2.9-1.6.4-.5.9-1 1.3-1.6 1.4.9 2.8 1.7 4.4 2.3-.2 5.3-.7 9.9-1.4 13.9-.5.5-1.1.9-1.8 1.2-.4.2-.9.5-1.6.7-.5.2-1.1.3-1.8.5h-.8H55.1c-.5 0-.9 0-1.3-.1-1.3-.1-2.6-.5-3.8-1l-1.8-.9c-.5-.3-1-.7-1.6-1.1-1-.8-1.9-1.7-2.6-2.6-.7-.9-1.2-1.8-1.7-2.8-.1-.2-.1-.3-.2-.5h.1c.8-.5 1.3-1.2 1.8-2.1.4-.7.7-1.6.8-2.7 0-.2 0-.3-.1-.5-.1-.1-.2-.2-.3-.2-.3-.1-.6.2-.6.5 0 .1-.1.3-.1.4-.4 1.8-1 3-2 3.6-1.3.8-3.1.8-6.1-.1-5.7-1.7-4.6-6-4.5-6.2.1-.2 0-.5-.2-.6-.1 0-.1-.1-.2-.1-.3-.1-.6.1-.7.4 0 0-.2.9-.1 2.1.1 1 .5 2.2 1.6 3.3-.2 0-.2.1-.2.1z" fill="url(#t)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M157.7 138.9c-.4 0-.8.1-1.2.1h-.8c-.5 0-1.1-.1-1.7-.2-.3-.1-.7-.1-1-.2-.8.6-2.4.7-4.1 0-1.8-.7-3.1-2.1-3-3.1l-1.8-1.2c-.5-.3-.9-.7-1.3-1-.4-.3-.9-.7-1.3-1-.7-.5-1.3-1.1-2-1.6-.6.8-2.2.7-3.8-.2.7.5 1.4 1.1 2.1 1.7.7.6 1.5 1.2 2.3 1.9 1.7 1.4 3.6 2.8 5.8 4.1 1.8 1.1 4.6 2
.5 7.8 3 1 .1 1.9.2 2.8.2.5 0 .9 0 1.4-.1 1.3-.1 2.5-.3 3.7-.7 2.2-.6 3.8-1.5 5.2-2.3 1.3-.8 2.3-1.6 3.2-2.2.1-.1.3-.2.4-.3-.3-.2-.6-.4-.8-.6-.2-.2-.4-.4-.6-.5-.2 1-1.6 2.3-3.1 3.2-1.7 1-3.5 1.2-4.3.4-.2.1-.4.1-.6.2-1 .1-2.1.3-3.3.4z" fill="url(#u)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M31.5 141.4h.9c.9 0 1.8 0 2.8-.1 1.4-.2 2.6-.4 3.7-.6 2.3-.5 4.6-1.4 7-2.5 1.9-.9 4-2 6.2-3.3 2.9-1.7 5.5-3.6 7.9-5.2.8-.6 1.6-1.1 2.4-1.7 1.1-.8 2.1-1.4 3-2-.2 1.3-.3 2.6-.3 3.9-.1 1.4-.1 2.8-.1 4.3V139.6c0 .4 0 .8-.1 1.2-.1 1.1-.2 2.1-.3 3-.1 1-.3 1.9-.4 2.7-.2 1-.4 1.8-.6 2.6-.2.8-.5 1.6-.8 2.3-.3.8-.7 1.5-.9 2.1-.3.6-.7 1.2-1.1 1.8-.4.6-.8 1.1-1.2 1.6-.5.6-.9 1-1.3 1.3-.4.4-.9.8-1.3 1.1-.8.6-1.6 1.1-2.4 1.6-.7.4-1.3.7-1.7.8l-.2.1c-3 .3-5.3 2.8-5.3 5.9 0 3.2 2.6 5.9 5.8 5.9h.1c.5.1 1.5.2 3 .2h1.6c1.8-.1 3.6-.4 5.3-.9 1.1-.3 2.1-.6 3.2-1.1 1.2-.5 2.4-1 3.4-1.6 1.2-.7 2.3-1.4 3.4-2.2 1.1-.9 2.3-1.8 3.3-2.8 1-1 2-2.1 3-3.4 1-1.2 1.9-2.5 2.7-3.8 1.6-2.6 3-5.5 4.1-8.4.5-1.4 1-2.9 1
.4-4.4.2-.6.3-1.2.5-1.7l.1-.5.1-.4c.1-.6.3-1.2.4-1.9l.4-2v-.2V138.2l.1-.4.2-.8c.2-1 .5-2.1.8-3.2.5-2 1.1-3.8 1.7-5.3.3-.8.6-1.5.9-2.1 0-.1.1-.2.1-.3.1.1.1.2.2.3.2.5.5 1.2.9 2.1.6 1.5 1.2 3.2 1.7 5.2.3 1 .6 2.1.8 3.2l.2.8.1.4v.5l.4 2c.1.7.3 1.3.4 1.9l.1.4.1.5c.1.6.3 1.2.5 1.8.4 1.5.9 3 1.4 4.4 1.1 2.9 2.5 5.8 4.1 8.4.8 1.3 1.7 2.6 2.7 3.8 1 1.3 2 2.4 3 3.4s2.2 2 3.3 2.8c1.1.8 2.2 1.5 3.4 2.2 1 .6 2.1 1.1 3.4 1.6 1 .4 2.1.8 3.2 1.1 1.7.5 3.5.8 5.3.9.5 0 1.1.1 1.6.1 1.5 0 2.5-.1 3-.2h.1c3.1 0 5.7-2.6 5.8-5.7.5-3.5-1.5-4.8-7.7-9-5.5-3.7-9.5-6.4-9.8-23.1v-1.5c0-1.4 0-2.8-.1-4.2v-4-3c.9.1 1.9.3 2.8.5 1.2.3 2.3.7 3.3 1.2.6.3 1.2.6 1.9.9.7.4 1.3.8 1.9 1.2.9.6 1.8 1.3 2.9 2.1-1.1-1.2-1.5-2.5-1-3.2l.1-.1c-.3-.2-.5-.4-.8-.6-.7-.5-1.4-.9-2.1-1.3-.7-.4-1.3-.7-2-1-.3-.2-.6-.3-1-.4-.6-.3-1.3-.5-1.9-.6-.3-.1-.6-.2-.9-.2-.7-.2-1.3-.3-1.9-.4-.5-.1-.9-.1-1.4-.2-.4 0-.8-.1-1.2-.1-.1-3.9-.2-6.2-.2-6.2 0-.3-.2-.5-.5-.5h-.1c-.3 0-.5.3-.5.6 0 0 .2 2.3.2 6.1v9.4c.1 1.4.1 2.8.1 4.1v1.5c.1 3.8.4 6.9.8 9.5.2 1
.5.6 2.8.9 4 .7 2.4 1.6 4.2 2.7 5.7 1.7 2.4 3.9 4 6.5 5.7.8.5 1.5 1 2.1 1.4 3.1 2.1 4.3 3.1 4.6 4.2.1.4.1.9 0 1.4 0 .4-.1.7-.2 1-.4 1.5-1.8 2.7-3.5 2.7h-.1H132h-.5H128.1c-1.4-.1-3-.3-4.8-.8-.5-.1-.9-.3-1.4-.4-.5-.2-1-.3-1.5-.5-1-.4-2.1-.9-3.1-1.5-.5-.3-1.1-.6-1.6-1-.5-.3-1.1-.7-1.6-1.1-.5-.4-1-.8-1.6-1.2-.5-.4-1-.9-1.5-1.4-1-1-1.9-2-2.9-3.2-.9-1.1-1.8-2.3-2.5-3.6-.8-1.3-1.5-2.6-2.2-3.9-.7-1.3-1.2-2.7-1.8-4.1-.3-.7-.5-1.4-.7-2.1l-.6-2.1-.6-2.1c-.2-.7-.3-1.4-.5-2.2l-.4-2v-.2-.1l-.1-.2-.1-.4-.2-.9c-.3-1.1-.5-2.2-.8-3.2-.6-2.1-1.2-3.9-1.8-5.5-.3-.8-.6-1.5-.9-2.2-.2-.3-.3-.6-.5-.9-.1-.3-.3-.6-.4-.9-.5-.8-.9-1.5-1.3-2.2-.4.6-.8 1.4-1.3 2.2-.1.3-.3.6-.4.9-.1.3-.3.6-.5.9-.3.7-.6 1.4-.9 2.2-.3.8-.6 1.6-.9 2.6-.3.9-.6 1.9-.9 2.9-.3 1-.6 2.1-.8 3.2l-.2.9-.1.4-.1.2h.3c1.1.4 1.4 2.4.7 4.5-.6 1.7-1.7 2.9-2.7 3.1-.3 1.1-.7 2.2-1.1 3.3-.3.7-.5 1.4-.8 2.1-.6 1.4-1.2 2.7-2 4-.4.7-.7 1.3-1.1 1.9-.7 1.1-1.4 2.1-2.2 3.1.7.9.1 2.7-1.4 4.2s-3.3 2.1-4.2 1.5c-.2.2-.5.4-.7.6-1.1.8-2.1 1.5-3.2 2-.5.3-1.1.6-1.
6.8-.5.2-1 .5-1.5.7-.5.2-1 .4-1.5.5-.5.2-1 .3-1.4.4-1.9.5-3.5.7-4.8.8H54.1h-1-.2c-1.7 0-3.1-1.2-3.5-2.8-.1-.3-.1-.6-.1-.9 0-2 1.5-3.6 3.5-3.7h.2c-.1 0 .1-.1.5-.3.2-.1.4-.2.7-.3.3-.2.7-.4 1.2-.6.8-.4 1.7-1 2.7-1.8.4-.3.9-.7 1.3-1.1.1-.1.1-.1.2-.1.5-.5 1-1 1.4-1.5.5-.5.9-1.1 1.3-1.8.4-.6.8-1.3 1.2-2 .4-.7.7-1.5 1-2.3.1-.3.2-.7.4-1.1.2-.5.3-.9.5-1.4.3-.9.5-1.8.7-2.7.1-.5.2-.9.3-1.4.1-.5.1-1 .2-1.5.1-1 .2-2 .3-3.1 0-.5.1-1 .1-1.6V136.2v.1-1.8-2.1c0-.7 0-1.4.1-2.1.1-1.3.2-2.7.4-4.1.1-.6.2-1.1.3-1.7 1.1-5.4 1.3-8.9 1.3-8.9 0-.3-.2-.6-.5-.6h-.1c-.3 0-.5.2-.5.5 0 0-.2 2.8-1 7.2-.6.3-1.1.6-1.8 1-1.3.8-2.7 1.7-4.2 2.7-.8.5-1.5 1-2.3 1.6-1.1.7-2.2 1.5-3.4 2.3-.2.9-1 2.1-2.2 2.9-1.5 1.1-3.2 1.5-4.1 1-1.4.8-2.8 1.5-4.2 2.2-1 .4-2 .9-3 1.2-.5.7-1.4 1.4-2.5 1.8-1.8.7-3.6.6-4.3-.2h-.2c-.5 0-1 .1-1.5.1h-1.8c-1.1 0-2.2-.2-3.2-.3-.4-.1-.7-.2-1.1-.2 0 .2 0 .4-.2.6-.2.4-.7.6-1.4.7-1.3-2.1-3.3-3.8-5.6-4.7-.3-.1-.5-.2-.8-.3l-.6-5.5-.1-1 .2-.2c.4-.4.7-.8 1-1.3.2-.3.3-.6.4-1 .1-.2.1-.4.1-.5 2.5.8 6.6 2.4 10
.6 2.4 1.2 0 2.4-.2 3.5-.5 1.2-.7 2.5-1.6 3.7-2.6.2-.2.5-.4.7-.6 1-.9 2-1.8 3-2.9.6-.6 1.2-1.3 1.8-2l1.8-2.1c.6-.7 1.2-1.4 1.8-2.2.6-.7 1.2-1.5 1.9-2.2 1.3-1.5 2.5-2.9 3.9-4.3.3-.4.7-.7 1.1-1.1 1.9.4 3.6.6 5.2.7 1.2.1 2.3.1 3.3.1 4.3 0 7-.7 7.2-.7.3-.1.5-.4.4-.7-.1-.2-.2-.3-.4-.4h-.3s-2 .5-5.3.6c-2.4.1-5.6 0-9.2-.6l.1-.1c-.1 0-.2 0-.3-.1l-1-.2c-.7-.2-1.3-.4-2-.6-.7-.2-1.3-.5-1.9-.7l-1.8-.9c-1.8-.9-3.4-2-4.9-3.2-.8-.7-1.6-1.4-2.3-2.1-.2.4-.4.6-.7.8-1.1.5-2.7-.8-3.5-2.9-.6-1.6-.7-3.1-.1-4-.4-.8-.8-1.7-1.1-2.5-.1-.2-.2-.5-.2-.7-.1 0-.2.1-.3.1-.8.1-1.7-.1-2.3-.6.2.7.4 1.4.7 2 .8 2 1.9 4 3.2 5.9.8 1.1 1.6 2.1 2.4 2.9.8.9 1.8 1.8 2.9 2.7 2.2 1.8 4.6 3.3 7.3 4.4.6.3 1.2.5 1.9.7-1 1.1-2.1 2.3-3.4 3.8-.7.8-1.3 1.5-1.9 2.3-1.8 2.2-3.6 4.2-5.4 6.1-1.3 1.4-2.4 2.5-3.5 3.4-1.1.9-2.1 1.7-3.2 2.3-.8.2-1.7.4-2.6.4-2.9 0-6-1.1-8.4-1.8-.9-.3-1.7-.6-2.3-.7 0-.1 0-.3-.1-.4-.1-.3-.4-.4-.7-.4-.1 0-.1.1-.2.1-.2.1-.2.4-.2.6.4 1.2.3 2.3-.3 3.4-1 1.7-3.2 2.9-4.9 3.3-2.5.6-4.4.3-5.6-.7-1.5-1.2-1.4-3.3-1.4-3.3
0-.3-.2-.5-.4-.5h-.2c-.3 0-.6.2-.6.5 0 .1-.1 2.6 1.8 4.2.6.5 1.4.9 2.3 1.1l.5 4.8c-1.3.7-2.5 1.7-3.4 2.8-1.9 2.4-2.8 5.4-2.5 8.4.5 4.6 3.6 8.4 8 9.8.2.1.3.1.5.1h.2c.4 0 .8-.3 1.1-.6.3-.3.4-.8.4-1.2v-.2l-.8-7.7c0-.2.1-.3.1-.3 0-.1.1-.1.3-.2l2-.2.8-.1.8-.1c.3 0 .5.2.5.4l.8 7.9c.1.8.8 1.5 1.6 1.5h.2c.2 0 .4-.1.6-.2.4-.2.9-.5 1.3-.9.8-.6 1.4-1.2 2-1.9 1.9-2.4 2.8-5.4 2.5-8.4L27 143c-.2-.9-.5-1.7-.9-2.4 1.8.5 3.6.8 5.4.8zm-5.2 3.6c.3 2.9-.6 5.6-2.3 7.6-.5.6-1.1 1.2-1.8 1.7l-.8-7.7c0-.4-.2-.8-.5-1-.3-.2-.6-.4-1-.4h-.2l-3.6.4-2 .2c-.4 0-.8.3-1 .6-.3.3-.4.7-.3 1.1l.8 7.7c-3.2-1.5-5.5-4.6-5.9-8.3-.3-2.9.6-5.6 2.3-7.6 1-1.2 2.3-2.2 3.7-2.9l-.6-5.3c.4-.1.7-.1 1.1-.2 1.1-.2 2.4-.8 3.5-1.5l.7 6.5c4.2 1 7.5 4.5 7.9 9.1z" fill="url(#v)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M114.1 97.1c-.5-.4-1.2-.2-1.6.3-.3.5-.2 1.1.2 1.5 0 0 0 .1.1.1.1.1 1.2.9 3 1.8.3.2.7.4 1.1.6l1.2.6c3.3 1.4 7.9 2.9 13.2 2.9 1.5 0 2.9-.1 4.5-.4.6-.1 1-.7.9-1.3-.1-.6-.7-1-1.3-.9-3.3.5-6.5.3-9.4-.2-2-.4-3.9
-.9-5.5-1.5-3.8-1.7-6.3-3.5-6.4-3.5z" fill="url(#w)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M24.8 135.4c-1.9-1.1-4-1.2-4.6-.2v.1c2.4.9 4.3 2.6 5.6 4.7.6-.1 1.1-.3 1.4-.7.1-.2.1-.4.2-.6-.1-1.1-1.1-2.4-2.6-3.3z" fill="url(#x)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M148.5 99.1c-1.6 1.2-2.5 2.9-2.1 3.9 0 .1.1.2.1.3.6.8 2.2.7 3.7-.1.3-.2.5-.3.8-.5.5-.4.9-.8 1.2-1.2.9-1.1 1.2-2.3.7-3-.1-.2-.3-.3-.5-.4-.8-.5-2.4-.1-3.9 1z" fill="url(#y)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M42.4 135.7c-.4-1.1-2.5-1.3-4.5-.5-2.1.8-3.4 2.4-2.9 3.5.1.1.1.2.2.3.7.8 2.5.9 4.3.2 1.1-.5 2-1.1 2.5-1.8.4-.6.6-1.2.4-1.7z" fill="url(#z)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M55.3 128.9c-.7-1-2.7-.7-4.5.6-1.8 1.3-2.7 3.2-2 4.1.1.2.3.3.4.4.9.5 2.6.1 4.1-1 1.2-.9 2-2 2.2-2.9.1-.5 0-.9-.2-1.2z" fill="url(#A)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M157.7 80.4c-.6 2.1-.1 4.1 1.1 4.4.3.1.5 0 .8-.1 1-.3 1.9-1.6 2.4-3.3.
6-2.1.1-4.1-1.1-4.4-1.2-.2-2.6 1.3-3.2 3.4z" fill="url(#B)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M41 96.3c-.1-.4-.2-.9-.4-1.3-.8-1.9-2.1-3.1-3.2-3-.1 0-.2 0-.3.1-.3.1-.5.3-.6.6-.5.9-.5 2.4.1 4 .8 2.1 2.4 3.4 3.5 2.9.3-.1.6-.4.7-.8.4-.7.4-1.6.2-2.5z" fill="url(#C)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M164.5 52.7c.2.2.6.4.9.4.9.1 2.1-.4 3.2-1.4v-.1l-1.4-4.3c-.4.3-.9.6-1.3 1-1.6 1.5-2.2 3.5-1.4 4.4z" fill="url(#D)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M84 141c-.7 2.1-.4 4.1.7 4.5.2.1.4.1.7 0 1-.2 2.1-1.4 2.7-3.1.7-2.1.4-4.1-.7-4.5h-.3c-1.1-.1-2.4 1.2-3.1 3.1z" fill="url(#E)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M73.7 161.2c-1.6 1.6-2.1 3.5-1.3 4.4 0 0 .1.1.2.1.9.6 2.7 0 4.2-1.5s2.1-3.3 1.4-4.2c0-.1-.1-.1-.1-.2-.9-.8-2.9-.2-4.4 1.4z" fill="url(#F)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M139.6 130.5c.8-1-.1-2.9-1.9-4.2-1.7-1.2-3.6-1.5-4.4-.7l-.1.1c-.6.8-.1 2.1 1 3.2.3.3.6.6 1 .9.
2.2.5.3.7.5 1.4.9 3 1 3.7.2z" fill="url(#G)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M149 138.6c1.7.7 3.3.6 4.1 0 .2-.1.4-.3.4-.5.4-1.1-.9-2.7-2.9-3.5-2.1-.8-4.1-.6-4.5.5 0 .1-.1.3-.1.4-.1 1 1.1 2.3 3 3.1z" fill="url(#H)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M72 105.8c.7-.3 1.4-.6 2.1-1 3.2-1.6 6.7-5.7 6.9-5.8.4-.5.4-1.2-.1-1.6-.1-.1-.2-.1-.3-.2-.4-.2-.9-.1-1.3.3 0 0-1.6 1.8-3.5 3.4-.9.8-1.9 1.5-2.7 1.9-.1 0-.2.1-.3.1-.5.2-.9.4-1.3.6-3.6 1.6-6.2 2.1-6.3 2.1-.6.1-1 .7-.9 1.3 0 .1.1.2.1.2 3.3-.1 5.3-.6 5.3-.6h.3c.2-.1.5-.2.7-.3.4 0 .8-.2 1.3-.4z" fill="url(#I)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M11.6 117.5c-4.2-1-7.4-4.5-7.8-9.1-.3-2.9.6-5.6 2.3-7.6.5-.6 1.1-1.2 1.8-1.7l.8 7.7c.1.8.8 1.4 1.5 1.4h.2l2-.2 3.6-.4c.4 0 .8-.3 1-.6.3-.3.4-.7.3-1.1l-.8-7.7c3.2 1.5 5.5 4.6 5.9 8.3.3 2.9-.6 5.6-2.3 7.6-1 1.2-2.3 2.2-3.7 2.9l.4 3.7c.4.2.8.3 1.2.6l-.1-.6-.3-3.1c1.3-.7 2.5-1.7 3.4-2.8 1.9-2.4 2.8-5.4 2.5-8.4-.4-4-2.8-7.5-6.5-9.2l-1
.5-.6c-.2-.1-.3-.1-.5-.1h-.2c-.4 0-.8.3-1.1.6-.3.3-.4.8-.4 1.2l.8 7.9c0 .2-.1.3-.1.3 0 .1-.1.1-.3.2l-1.6.2-2 .2c-.3 0-.5-.2-.5-.4L9 99v-.2c-.1-.8-.8-1.5-1.6-1.5h-.2c-.2 0-.4.1-.6.2-1.3.7-2.4 1.7-3.3 2.8-1.9 2.4-2.8 5.4-2.5 8.4.5 4.7 3.7 8.5 8.1 9.9l.3 2.8c.8-.5 1.8-.8 2.9-1l-.5-2.9z" fill="url(#J)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M18.3 135.9l-.7-6.5c-1.1.8-2.4 1.3-3.5 1.5-.4.1-.7.1-1.1.2l.6 5.3c-1.5.7-2.7 1.7-3.7 2.9-1.7 2.1-2.6 4.8-2.3 7.6.4 3.8 2.7 6.8 5.9 8.3l-.8-7.7c0-.4.1-.8.3-1.1.3-.3.6-.5 1-.6l2-.2 3.6-.4h.2c.4 0 .8.1 1 .4.3.2.5.6.5 1l.8 7.7c.7-.5 1.3-1.1 1.8-1.7 1.7-2.1 2.6-4.8 2.3-7.6-.3-4.6-3.6-8.1-7.9-9.1z" fill="url(#K)" fill-rule="nonzero" transform="translate(81 15)"/><path fill="url(#L)" fill-rule="nonzero" d="M171.1 22.7l-.3-.8-1.6 1.4" transform="translate(81 15)"/><path fill="url(#M)" fill-rule="nonzero" d="M158.9 18.3l.3 1.1 2.2-1.9" transform="translate(81 15)"/><path d="M168.9 16.1l-.3-.9-2 .7-6.4 5.4c-.1.1-.2.1-.3.2l.6 1.8 8.1-6.9c.1-
.2.2-.3.3-.3z" fill="url(#N)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M161.1 25.2l.2.7 2.7-.9 5.8-4.9c.1-.1.2-.1.3-.2l-.6-1.8-8.1 6.9c-.1.1-.2.1-.3.2z" fill="url(#O)" fill-rule="nonzero" transform="translate(81 15)"/><path fill="url(#P)" fill-rule="nonzero" d="M165 37.1l.4 1.2 2.5-2.1" transform="translate(81 15)"/><path d="M170.3 41.7l-2.7 2.3c-.1.1-.2.1-.3.2l.6 1.8 2.6-2.2c-.2-.8-.2-1.5-.2-2.1z" fill="url(#Q)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M175.1 35l-.4-1.1-1.6.5-6.7 5.7c-.1.1-.2.1-.3.2l.6 1.8 8.1-6.9c.1-.1.2-.1.3-.2z" fill="url(#R)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M171.5 45.5l-2.6 2.2c-.1.1-.2.1-.3.2l.6 1.8 3.7-3.1c-.6-.3-1-.7-1.4-1.1z" fill="url(#S)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M164 25l5.2-1.7 1.6-1.4.3-.3c.4-.4.5-1 .1-1.5-.3-.3-.7-.4-1.1-.3-.1 0-.2.1-.3.2l-5.8 5z" fill="url(#T)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M166.6 15.8l-5.2 1.7-2.2 1.9-.3.3c-.4
.4-.5 1-.1 1.5l.3.3c.2.1.5.1.8.1.1 0 .2-.1.3-.2l6.4-5.6z" fill="url(#U)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M175 47.4c-.8-.2-1.6-.5-2.2-.9l-3.7 3.1-.3.3c-.4.4-.5 1-.1 1.5l.3.3c.3.1.6.1.8 0 .1 0 .2-.1.3-.2l4.9-4.1z" fill="url(#V)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M173.2 34.5l-5.2 1.7-2.5 2.1-.3.3c-.4.4-.5 1-.1 1.5l.3.3c.2.1.5.1.8.1.1 0 .2-.1.3-.2l6.7-5.8z" fill="url(#W)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M170.3 41.7c.1-1.1.6-2 .6-2 .1-.3.5-.4.7-.2.1 0 .1.1.2.1 1.1-1.3 2.8-2.3 4.5-3 .2-.4.2-.9-.1-1.2-.3-.3-.7-.4-1.1-.3-.1 0-.2.1-.3.2l-8.1 6.9-.3.3c-.4.4-.5 1-.1 1.5l.3.3c.2.1.5.1.8.1.1 0 .2-.1.3-.2l2.6-2.5z" fill="url(#X)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M171.5 45.5c-.3-.4-.6-.7-.8-1.2-.1-.2-.2-.4-.2-.7l-2.6 2.2-.3.3c-.4.4-.5 1-.1 1.5l.3.3c.2.1.5.1.8.1.1 0 .2-.1.3-.2l2.6-2.3z" fill="url(#Y)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M161.1 25.2c.1 0 .2-.1.3-.2l8.1-6.9.
3-.3c.4-.4.5-1 .1-1.5-.3-.3-.7-.4-1.1-.3-.1 0-.2.1-.3.2l-8.1 6.9-.3.3c-.4.4-.5 1-.1 1.5l.3.3c.3 0 .5.1.8 0z" fill="url(#Z)" fill-rule="nonzero" transform="translate(81 15)"/><path fill="url(#aa)" fill-rule="nonzero" d="M165.6 4.8l-11 3.6 3 9.2 11-3.7" transform="translate(81 15)"/><path fill="url(#ab)" fill-rule="nonzero" d="M174.8 32.7l-3-9.1-11 3.6 3 9.2" transform="translate(81 15)"/><path d="M160.8 38.5l3.2-1.1.3 1-.2.1c-1.5.7-3.2 1.6-5.1 2.9-2.4 1.6-4.4 3.1-6.3 4.9-2.5 2.5-4.6 5.2-6.1 8.2-1.8 3.5-3 7.4-3.5 11.5 0 .4-.1.8-.1 1.3v3.9c-.1 1.1-.2 2.3-.4 3.8-.4 2.3-1.1 4.5-2 6.4-.4.8-.9 1.5-1.4 2.1-.4.5-.9 1-1.6 1.5-.9.7-1.9 1.1-3.1 1.3h-.1c-.5.1-.9.1-1.3.1h-.2c-.6 0-1.3-.1-1.8-.2h-.1c-1.2-.3-2.3-.9-3.2-1.7-.5-.4-.9-.9-1.3-1.4-.3-.4-.6-.9-1-1.5-.1-.1-.1-.3-.2-.4-.1-.1-.1-.2-.2-.4l-.3-.6-.1-.2-.1-.2v-.1l-.1-.2c0-.1-.1-.1-.1-.2-.1-.2-.2-.3-.2-.5v-.1c-.1-.3-.3-.5-.4-.8v-.1l-.3-.6c-.2-.3-.3-.6-.5-.9 0-.1-.1-.1-.1-.2-.1-.7-.1-1.5-.1-2.3 7.3-2.6 12.2-9.4 12.2-17.3 0-5.2-2.1-10-5.9-13.5v-1
.1c0-19.5-15.9-35.4-35.4-35.4S58.3 22.4 58.3 41.9V43c-3.3 3.1-5.4 7.2-5.8 11.6l2.2.9c.1-1.5.4-3 .9-4.4.4-1.1.9-2.2 1.5-3.2.2-.4.5-.7.7-1.1.5-.7 1.1-1.4 1.7-2 .3-.3.6-.6 1-.9 0-.7-.1-1.4-.1-2.1 0-2.3.2-4.5.7-6.7.2-1.1.5-2.1.8-3.2.5-1.6 1.1-3.1 1.8-4.5.5-1 1-1.9 1.5-2.8.6-.9 1.2-1.8 1.8-2.6.3-.4.6-.8 1-1.3 4.4-5.3 10.4-9.3 17.3-11 2-.5 4-.8 6.2-1 .7 0 1.4-.1 2.1-.1 2.1 0 4.1.2 6 .6.7.1 1.3.3 1.9.4.2.1.4.1.6.2 2.8.8 5.5 1.9 8 3.3 1.2.7 2.4 1.5 3.6 2.4 1.1.9 2.2 1.8 3.2 2.8 4 4 7 9.1 8.6 14.8.1.2.1.4.2.6.6 2.6 1 5.2 1 8 0 .7 0 1.4-.1 2.1 1.8 1.5 3.3 3.3 4.3 5.5 1 2.1 1.6 4.5 1.6 7 0 5.7-2.9 10.7-7.4 13.5-.7.5-1.5.9-2.3 1.3-.7.3-1.4.5-2.1.7-1.3.2-2.4.3-3 .3h-.5c-.3 0-.6.3-.6.6s.2.6.6.6h.3c.5 0 1.5-.1 2.8-.3.1 1.2.1 2.4.2 3.5.1.2.2.3.3.5.1.2.2.5.4.7.1.2.3.5.4.8.1.3.3.5.4.8.1.1.1.3.2.4.1.1.2.3.2.4.1.1.1.3.2.5s.2.3.2.5c.1.3.3.6.5.9l.6.9c.2.3.4.6.7.9.5.6 1 1.2 1.6 1.7 1 .8 2.1 1.5 3.3 1.9.3.1.5.2.8.3.7.2 1.5.3 2.2.3h.4c.6 0 1.2-.1 1.8-.2.7-.1 1.4-.3 2.1-.6.7-.3 1.3-.7 2-1.1.6-.5 1.3-1.1 1.9-
1.8.6-.7 1.2-1.6 1.7-2.6 1-2 1.8-4.4 2.3-7.1.2-1.3.4-2.7.5-4.1V68.8 67c0-.5.1-1.1.1-1.6.4-3.9 1.6-7.6 3.2-10.7.4-.8.8-1.5 1.3-2.2l1.5-2.1c.7-.9 1.5-1.8 2.2-2.6l.8-.8c2-1.9 4-3.4 5.8-4.6l.1-.1c1.4-.9 2.7-1.6 3.8-2.2.3-.2.7-.3 1-.5l1.3 3.9.4 1.1.6 1.7 1.4 4.3v.1c-1.1.9-2.3 1.4-3.2 1.4l-1.5 2.1c-.5.8-1 1.7-1.4 2.6-.4.9-.8 1.8-1.1 2.7-.1.5-.3.9-.4 1.4-.3 1.5-.5 3-.4 4.6v1.7c0 .4.1.8.1 1.2 0 .5.1.9.1 1.4.1 1.9.1 3.8 0 5.8v.4c1.1.3 1.6 2.3 1.1 4.4-.4 1.7-1.4 3-2.4 3.3-.4 1.4-.8 2.8-1.4 4.3-.2.5-.4 1-.7 1.6-.7 1.6-1.6 3.1-2.6 4.6-.7 1-1.5 2-2.3 2.9.2.1.4.2.5.4.5.7.2 1.9-.7 3 1.7-1.5 3.1-3.2 4.4-4.9 1.4-2 2.6-4.2 3.5-6.6 1.6-4 2.6-8.4 2.9-13.1.1-2 .1-4.1 0-6.1 0-.3 0-.7-.1-1v-.4l-.1-1.2V66.3v0-.1-.4-.3c0-2 .2-3.8.7-5.4.3-.9.7-1.8 1-2.4.4-.8.8-1.5 1.3-2.3.5-.7 1-1.5 1.5-2.2.5-.6 1-1.2 1.6-1.9.4.7 1 1.3 1.8 1.7.5.2 1.1.4 1.7.4.4 0 .8-.1 1.2-.2l4.4-1.4c1-.3 1.8-1 2.3-2 .5-.9.6-2 .2-3l-.2-.7c-.4.1-.7.2-1.1.2l.3.8c.5 1.5-.3 3.1-1.8 3.6l-4.4 1.4c-.3.1-.6.1-.9.1-1 0-2-.6-2.5-1.5-.3.1-.6.1-.8 0-.1-
.1-.2-.1-.3-.3-.4-.4-.3-1.1.1-1.5l.3-.3-.6-1.8c-.3.1-.5.1-.8-.1-.1-.1-.2-.1-.3-.3-.4-.4-.3-1.1.1-1.5l.3-.3-.6-1.8c-.3.1-.5.1-.8-.1-.1-.1-.2-.1-.3-.3-.4-.4-.3-1.1.1-1.5l.3-.3-.6-1.8c-.3.1-.5.1-.8-.1-.1-.1-.2-.1-.3-.3-.4-.4-.3-1.1.1-1.5l.3-.3-.4-1.2 2.9-1 5.2-1.7 1.6-.5.4 1.1c.4-.1.8 0 1.1.3.3.4.3.9.1 1.2.2-.1.3-.1.5-.2l-.3-.9-.6-2 3.2-1.1c.9-.3 1.6-.9 2-1.7.4-.8.5-1.7.2-2.6l-1.6-4.8c-.6-1.8-2.5-2.7-4.3-2.2l-3.2 1.1-2.5-7.5 3.2-1.1c.9-.3 1.6-.9 2-1.7.1-.2.2-.4.2-.6.1-.2.1-.4.1-.6 0-.4 0-.9-.2-1.3l-1.6-4.8c-.3-.9-.9-1.6-1.7-2-.8-.4-1.7-.5-2.6-.2l-18.3 6c-1.8.6-2.7 2.5-2.2 4.3l1.6 4.8c.3.9.9 1.6 1.7 2 .5.2 1 .4 1.5.4.4 0 .7-.1 1.1-.2l3.2-1.1 2.5 7.5-3.2 1.1c-.9.3-1.6.9-2 1.7-.4.8-.5 1.7-.2 2.6l1.6 4.8c.3.9.9 1.6 1.7 2 .4.2.9.3 1.4.3h.2c.3 1.9.6 1.8 1 1.7zm14.9-16.2c1.2-.4 2.5.3 2.9 1.5l1.6 4.8c.2.6.1 1.2-.1 1.7-.3.5-.7.9-1.3 1.1l-2.8.9-3-9.2 2.7-.8zm-6.2-18.8c.6-.2 1.2-.1 1.7.1.5.3.9.7 1.1 1.3l1.6 4.8c.2.6.1 1.2-.1 1.7-.3.5-.7.9-1.3 1.1l-2.8.9-3-9.2 2.8-.7zm-11.7 14.6l-3.4 1.1c-1.5.5-3.
1-.3-3.6-1.8l-1.6-4.8c-.5-1.5.3-3.1 1.8-3.6l3.4-1.1.2.5 11-3.6 3 9.2-11 3.6.2.5zm2.2 6.8c-.4-.4-.3-1.1.1-1.5l.3-.3-.6-1.8c-.3.1-.5.1-.8-.1-.1-.1-.2-.1-.3-.3-.4-.4-.3-1.1.1-1.5l.3-.3-.3-1 2.5-.8 5.2-1.7 2-.7.3.9c.4-.1.8 0 1.1.3.4.4.3 1.1-.1 1.5l-.3.3.6 1.8c.4-.1.8 0 1.1.3.4.4.3 1.1-.1 1.5l-.3.3.2.8-1.9.6L164 25l-2.7.9-.2-.7c-.3.1-.5.1-.8-.1-.1 0-.2-.1-.3-.2zm-3 11.3l-1.6-4.8c-.5-1.5.3-3.1 1.8-3.6l3.4-1.1.2.5 11-3.6 3 9.2-11 3.6.2.5-3.4 1.1c-1.5.5-3.1-.3-3.6-1.8z" fill="url(#ac)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M164 36.9l-.2-.5-3-9.2-.2-.5-3.4 1.1c-1.5.5-2.3 2.1-1.8 3.6l1.6 4.8c.5 1.5 2.1 2.3 3.6 1.8l3.4-1.1z" fill="url(#ad)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M154.4 7.9L151 9c-1.5.5-2.3 2.1-1.8 3.6l1.6 4.8c.5 1.5 2.1 2.3 3.6 1.8l3.4-1.1-.2-.5-3-9.2-.2-.5z" fill="url(#ae)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M253.5 27.7c.6-.2 1-.6 1.3-1.1.3-.5.3-1.2.1-1.7l-1.6-4.8c-.2-.6-.6-1-1.1-1.3-.5-.3-1.2-.3-1.7-.1l-2.8.9 3
9.2 2.8-1.1zM259.7 46.5c.6-.2 1-.6 1.3-1.1.3-.5.3-1.2.1-1.7l-1.6-4.8c-.4-1.2-1.7-1.8-2.9-1.5l-2.8.9 3 9.2 2.9-1z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M190.7 121.8c0-.2-.1-.4-.2-.6-.1-.3-.3-.5-.5-.7l-3.2-2.6c-.1-.1-.2-.1-.3-.2-.1-.1-.3-.1-.4-.2-.2-.1-.4-.1-.7-.1h-.2c-.4.1-.8.3-1.1.7l-2.2 2.7-.4-.4c-.9-.7-1.9-1.2-3-1.5-3-.8-6.3.2-8.7 2.5 1.8-.1 3.8.3 5.5 1.3.8-.2 1.5-.2 2.3 0 .6.1 1.1.4 1.5.8 1.5 1.2 1.9 3.4 1.1 5.5-.3.7-.8 1.4-1.5 2.3-.8.7-1.7 1.3-2.6 1.6-.9.3-1.8.3-2.6.1-.1 0-.1-.1-.2-.1-.5-.2-.9-.4-1.3-.7-.2-.2-.4-.3-.5-.5-.8 0-1.6 0-2.3-.1.1 0 .2.1.3.1.3.1.5.4.4.7-.1.2-.3.4-.5.4h-.1c-.7-.2-1.3-.4-1.9-.6l.6 1.2c-1.1-.3-2.9 0-4.3.8-1.9 1.1-3 2.9-2.4 3.9l.3.3c.8.7 2.6.6 4.3-.4 1.5-.9 2.9-2.2 3.1-3.2.2.2.4.4.6.5.3.2.5.4.8.6.7.4 1.4.7 2.2.9.1 0 .3 0 .4.1 3.3.7 6.9-.6 9.2-3.5.2-.2.3-.4.5-.7l3-3.7 4.6-5.6c.3-.6.5-1.1.4-1.6z" fill="url(#af)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M126.4 68.5l-.1-.1c-.2-.3-.5-.6-.8-.7-.2-.1-.3-.1-.5-.1h-.2l-.1-.1c-7.8-4.7-17.8
-11.7-21.3-17.9-.2-.5-.4-.9-.6-1.2-.5-.8-1.1-1.3-1.8-1.6-1.9-.8-4.5.3-7.3 3-2.9 2.8-5.5 7-7.5 11.8-3.9 9.7-3.8 19.3.3 20.9 1.2.5 2.7.3 4.3-.7l.1-.1c6.9-1.7 18.4.3 26.8 2.2h.2l.1.2c.2.2.4.4.6.5.4.2.8.1 1.3-.1l.2-.1h.2c.2.1.4.1.6.2 1.8-1.1 3.8-3.7 5.1-7 1.4-3.5 1.8-6.8 1.1-8.8-.2-.1-.4-.3-.7-.4v.1zm-23.7-6.6s0 .1 0 0c-.1.6-.3 1.2-.4 1.7 0 .1 0 .2-.1.3-.1.5-.3 1-.5 1.5 0 .1-.1.2-.1.3-.2.6-.4 1.2-.7 1.8-.2.6-.5 1.1-.7 1.7 0 .1-.1.2-.1.3-.3.5-.5 1-.8 1.5-2.9 5.3-6.6 8.7-9.6 8.7-.5 0-.9-.1-1.4-.3-1.9-.8-3-3.1-3-6.4-.1-3.2.7-7.1 2.3-11 1.6-3.9 3.7-7.2 6-9.5 2.4-2.4 4.8-3.3 6.7-2.5 2.8 1.2 3.7 6 2.4 11.9z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M39.9 69.8c-.2-.1-.4-.1-.6-.2h-.2l-.2.1c-.5.2-1 .2-1.3.1-.2-.1-.4-.3-.6-.5l-.1-.2h-.2c-8.4-1.9-19.9-3.8-26.8-2.2l-.1.1c-1.6.9-3.1 1.1-4.3.7-4.1-1.7-4.2-11.2-.3-20.9 2-4.8 4.6-9 7.5-11.8 2.7-2.6 5.4-3.7 7.3-3 .7.3 1.3.8 1.8 1.6.2.3.4.7.6 1.2 3.5 6.2 13.5 13.1 21.3 17.9l.1.1h.2c.2 0 .4 0 .5.1.3.1.5.3.8.7l.1.1.1.1c.2.1.5.3.7.4-.3-.9-.7-1.5-1.4-1.8
l1.9.8c-.2-.1-.3-.2-.5-.3-.3-.5-.7-.8-1.2-1-.2-.1-.5-.2-.8-.2-6.3-3.8-17.2-11.2-20.8-17.3-.2-.5-.4-.9-.7-1.3-.6-1-1.4-1.6-2.3-2-2.4-1-5.4.2-8.5 3.2-3 2.9-5.7 7.2-7.8 12.2C-.2 57.1.2 66.9 5 68.9c1.5.6 3.3.4 5.2-.7 6.6-1.6 17.8.3 26 2.1.3.3.6.5.9.7.5.2 1.1.2 1.7.1l-1.5-.6c.9 0 1.7-.2 2.6-.7z" fill="url(#ag)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M133.7 88l2.5 1c1.1.5 3.4-1.5 4.9-5.1 1.5-3.6 1.2-6.6.1-7.1l-2.5-1c0 1.9-.5 4.2-1.4 6.5-1 2.4-2.3 4.4-3.6 5.7z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M19.3 35c-1.9-.8-4.2.1-6.7 2.5-2.3 2.3-4.5 5.6-6 9.5-1.6 3.9-2.4 7.8-2.3 11 .1 3.4 1.2 5.7 3 6.4.4.2.9.3 1.4.3 3 0 6.8-3.4 9.6-8.7.3-.5.5-1 .8-1.5.1-.1.1-.2.1-.3.3-.5.5-1.1.7-1.7.2-.6.5-1.2.7-1.8 0-.1.1-.2.1-.3.2-.5.3-1 .5-1.5 0-.1 0-.2.1-.3.2-.6.3-1.1.4-1.7v-.1c1.3-5.8.4-10.6-2.4-11.8zm1.6 10.3c-.4 2.2-1 4.5-1.9 6.8-.9 2.3-2.1 4.4-3.3 6.2h-.1c-.9-.4-1.1-3.3.5-7.4.7-1.8 1.7-3.4 2.7-4.5.7-.8 1.4-1.2 1.9-1.2l.2.1c-.1-.1 0-.1 0 0z" fill="url(#ah)" fill-rule="nonzero" tran
sform="translate(81 15)"/><path d="M18.7 46.4c-1 1.1-2 2.7-2.7 4.5-1.6 4-1.4 7-.5 7.4h.1c1.3-1.8 2.4-4 3.3-6.2.9-2.3 1.6-4.6 1.9-6.8H20.5c-.4-.1-1.1.3-1.8 1.1z" fill="url(#ai)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M43.6 77.3c0-.1.1-.3.1-.4.1-.3.3-.5.6-.5.1 0 .2.1.3.2.2-.3.5-.5.7-.7.4-.5.8-.8 1.1-1.1.1-.1.3-.2.3-.2.1-.1.1-.1.2-.1s0 0 .1-.1H47.9c.2.1.3.1.5.1l.2.1c.9.4 2 0 3.2-.9.3-.2.6-.5.9-.8 1.3-1.3 2.6-3.3 3.5-5.7 1-2.4 1.4-4.7 1.4-6.5 0-.4 0-.9-.1-1.2-.2-1.4-.7-2.5-1.6-2.8l-1.8-.7-2.2-.9-1.9-.8-.8-.3-2.8-1.1-1.9-.8c.7.3 1.1.9 1.4 1.8.6 2 .3 5.4-1.1 8.8-1.3 3.3-3.3 5.9-5.1 7-.9.6-1.8.7-2.5.4l1.5.6h.1c-.1.2-.3.3-.4.5-.1.1-.2.2-.2.3 2.5 1.1 4.9 3.4 5.4 5.8z" fill="url(#aj)" fill-rule="nonzero" transform="translate(81 15)"/><g fill-rule="nonzero"><path d="M283.2 146.6l-6.8.9-5.3-38.5c-.4-3.1 1.6-6 4.7-6.7.2-.1.5.1.5.4l6.9 43.9z" fill="#C8C8CC"/><path d="M292.8 107.4c.2-.2.5-.2.6 0 2.1 2.3 2.1 5.9-.1 8.2L266.8 144l-5-4.7 31-31.9z" fill="#E1E1E6"/><path d="M.9 10.6
c-.1 2.6.8 4.9 2.6 6.5.9.8 1.9 1.4 3 1.8 3.5 1.2 7.5 0 10.2-2.9l.6-.6 8.6-9.2c.4-.4.6-.9.5-1.4 0-.5-.2-1-.6-1.4L22.7.5c-.2-.2-.5-.4-.7-.4-.2-.1-.5-.1-.7-.1-.5 0-1 .2-1.4.6l-2.5 2.6-.4-.4c-.9-.8-1.9-1.4-3-1.8C10.5-.2 6.5 1 3.8 3.9 2 5.7 1 8.1.9 10.6zm5.8-4c1.6-1.7 4.1-2.5 6-1.8.6.2 1.1.5 1.5.9 1.5 1.4 1.7 3.7.8 5.8-.4.7-.9 1.5-1.7 2.3-1.6 1.4-3.8 2-5.5 1.4-.6-.2-1.1-.5-1.5-.9-.9-.9-1.4-2.1-1.3-3.5 0-1.5.6-3 1.7-4.2z" transform="translate(246 133)" fill="url(#ak)"/><path d="M.7 3.7l1.7 12.5c0 .3 0 .6.1.9C3 21 5.6 24.2 9 25.3c1.2.4 2.4.5 3.7.3 4.9-.7 8.2-5.6 7.5-11-.5-3.9-3.1-7.1-6.5-8.2-1.2-.4-2.4-.5-3.7-.3-.2 0-.4.1-.6.1l-.5-3.6c-.1-.8-.7-1.4-1.4-1.6-.3-.1-.6-.1-.9-.1l-4.2.6c-.5.1-1 .4-1.3.8-.3.3-.5.8-.4 1.4zm11.7 6.5c2 .6 3.4 2.6 3.7 4.9.4 3.2-1.4 6.1-4 6.4-.6.1-1.3 0-1.9-.2-1.8-.6-3.1-2.2-3.6-4.3v-.1c-.1-1.1-.2-2-.1-2.8.4-2.2 2-4 4-4.2.6 0 1.3.1 1.9.3z" transform="translate(274 137)" fill="url(#al)"/><path d="M277.1 126c1.2 0 2.3.9 2.3 2.2 0 1.2-.9 2.3-2.2 2.3-1.3 0-2.3-.9-2.3-2.2
0-1.2.9-2.2 2.2-2.3z" fill="#C8C8CC"/></g><path d="M36.2 88.9s.1 0 0 0l.2-.2.1-.1c.1-.2.3-.4.5-.6.2-.3.5-.7.8-1.2.3-.5.5-1 .7-1.5.2-.5.4-1.1.6-1.7 0 0 0-.1.1-.1.1-.2.2-.5.3-.7 0-.1.1-.1.1-.2h-.4c-1.4 0-2.8-.4-4.1-.7-1.1-.3-2-.8-2.8-1.3-.1.2-.1.4-.2.6-.1.4-.2.7-.3 1-.1.3-.2.6-.2.9-.1.3-.1.7-.2 1 0 .2-.1.4-.1.6v2.6c.1.7.5 1.3 1 1.7.6.5 1.4.8 2.3.6.1 0 .2-.1.3-.1.2-.1.4-.1.6-.2.4-.1.6-.3.7-.4z" fill="url(#am)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M176.3 36.6c-1.7.6-3.4 1.7-4.5 3 .2.2.2.4.1.6 0 0-1 2-.2 3.7.5 1.2 1.8 2 3.8 2.5.3.1.5.4.4.7-.1.3-.3.4-.5.4h-.1c-.1 0-.1 0-.2-.1l-4.8 4.1c-.1.1-.2.1-.3.2.5.9 1.5 1.5 2.5 1.5.3 0 .6 0 .9-.1l4.4-1.4c1.5-.5 2.3-2.1 1.8-3.6l-.3-.8c.4-.1.7-.1 1.1-.2.7-.2 1.4-.5 2-.9 3.7-2.4 3.3-8.5-2-10.3-.6-.2-1.8-.1-3.1.3-.2 0-.3.1-.5.2s-.3.1-.5.2z" fill="url(#an)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M166.8 122.9s-2.6 2.9-1.9 5.4c.4 1.4 1.8 2.5 4.2 3.2.7.1 1.5.1 2.3.1h.1c.9 0 1.7-.1 2.5-.3 1-.2 2-.6 2.7-1.2.5-.4.9-.9 1
.2-1.5 1-2.6-.4-4.6-2.6-5.8-1.6-.9-3.7-1.4-5.5-1.3-.7 0-1.4.2-2 .4-.3.1-.6.3-1 .6.1.1.1.3 0 .4z" fill="url(#ao)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M35.5 80.8c2.9.9 4.8.9 6.1.1 1-.6 1.7-1.8 2-3.6-.5-2.4-2.8-4.7-5.3-5.7-.8-.3-1.6-.6-2.3-.6-1.5-.1-4.1 1-5.2 3 .2.1.3.4.2.6-.1.2-1.2 4.5 4.5 6.2z" fill="url(#ap)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M6.9 125.8s-.1 2.1 1.4 3.3c1.2 1 3.1 1.2 5.6.7 1.7-.4 3.9-1.5 4.9-3.3.6-1 .7-2.2.3-3.4-.1-.2 0-.4.2-.6-.3-.5-.8-.9-1.3-1.2l-1.2-.6-.4-3.7c1.5-.7 2.7-1.7 3.7-2.9 1.7-2.1 2.6-4.8 2.3-7.6-.4-3.8-2.7-6.8-5.9-8.3l.8 7.7c0 .4-.1.8-.3 1.1-.3.3-.6.5-1 .6l-3.6.4-2 .2h-.2c-.8 0-1.5-.6-1.5-1.4l-.8-7.7c-.7.5-1.3 1.1-1.8 1.7-1.7 2.1-2.6 4.8-2.3 7.6.5 4.5 3.7 8 7.8 9.1l.3 2.9c-1.1.2-2.1.5-2.9 1-.2.1-.3.2-.5.3-.8.6-1.7 2-2 3.5.3.2.4.4.4.6z" fill="url(#aq)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M170.9 39.7c0 .1-.4.9-.6 2-.1.6-.1 1.3.1 2 .1.2.1.4.2.7.2.4.5.8.8 1.2.4.4.8.7 1.3 1 .6.4 1.3.6 2.2.
9.1 0 .1 0 .2.1h.1c.3 0 .5-.2.5-.4.1-.3-.1-.6-.4-.7-1.9-.5-3.2-1.3-3.8-2.5-.8-1.7.2-3.7.2-3.7.1-.2.1-.5-.1-.6 0 0-.1-.1-.2-.1 0-.3-.3-.2-.5.1z" fill="url(#ar)" fill-rule="nonzero" transform="translate(81 15)"/></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/figure_customize.svg b/browser/extensions/onboarding/content/img/figure_customize.svg
deleted file mode 100644
index 0c0cb30df5dc..000000000000
--- a/browser/extensions/onboarding/content/img/figure_customize.svg
+++ /dev/null
@@ -1,561 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="295" height="238">
- <defs>
- <linearGradient id="a" x1="-678.179817%" x2="218.03211%" y1="-1879.5122%" y2="503.09878%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="b" x1="-2438.15968%" x2="713.035484%" y1="-2346.83281%" y2="705.8875%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="c" x1="-1876.47349%" x2="477.431325%" y1="-2215.7169%" y2="536.030986%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="d" x1="-300.502319%" x2="326.878731%" y1="-277.869139%" y2="301.876261%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="e" x1="-556.386842%" x2="471.897895%" y1="-1050.94952%" y2="809.757143%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="f" x1="-2301.11875%" x2="1769.175%" y1="-4460.38%" y2="3354.584%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="g" x1="-14090.38%" x2="5447.03%" y1="-14085.94%" y2="5451.47%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="h" x1="-1245.88053%" x2="483.093805%" y1="-2962.82857%" y2="1024.39796%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="i" x1="-4762.32308%" x2="1072.27051%" y1="-2525.31233%" y2="591.799315%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="j" x1="-419.785061%" x2="175.867683%" y1="-263.047589%" y2="146.541719%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="k" x1="-13945.16%" x2="5592.25%" y1="-13931.16%" y2="5606.26%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="l" x1="-93.8791876%" x2="171.036409%" y1="-368.29%" y2="383.149231%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="m" x1="-105.119971%" x2="175.589943%" y1="-106.702736%" y2="160.566895%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="n" x1="-4526.45652%" x2="3968.06957%" y1="-3864.98889%" y2="3371.08889%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="o" x1="-1590.58053%" x2="2387.43252%" y1="-835.835705%" y2="1325.72397%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="p" x1="-1174.27536%" x2="1657.23333%" y1="-1275.87873%" y2="1781.26242%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="q" x1="-8557.56%" x2="10979.85%" y1="-4234.38%" y2="5534.325%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="r" x1="-949.737079%" x2="1245.47865%" y1="-1023.81277%" y2="1336.75514%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="s" x1="-850.555238%" x2="1010.15048%" y1="-759.279881%" y2="912.10717%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="t" x1="-2526.775%" x2="962.048214%" y1="-2513.94763%" y2="949.261152%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="u" x1="-953.117868%" x2="406.88755%" y1="-1083.71008%" y2="471.112383%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="v" x1="-1736.94827%" x2="671.463404%" y1="-2238.58822%" y2="855.656147%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="w" x1="-9592.54%" x2="9944.87%" y1="-9613.77%" y2="9923.64%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="x" x1="-546.9251%" x2="669.232184%" y1="-637.97868%" y2="716.339388%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="y" x1="-2626.25%" x2="2515.17368%" y1="-10166.57%" y2="9370.85%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="z" x1="-26076.58%" x2="9092.02%" y1="-26064.58%" y2="9104.02%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="A" x1="-11996.8348%" x2="3293.86087%" y1="-4084.84179%" y2="1164.20299%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="B" x1="-1988.44219%" x2="759.104687%" y1="-1576.81875%" y2="621.219375%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="C" x1="-4889.30185%" x2="1623.40185%" y1="-2351.25495%" y2="817.087387%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="D" x1="-2655.5559%" x2="951.48%" y1="-6714.61282%" y2="2302.97692%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="E" x1="-11418.996%" x2="2648.448%" y1="-28603.67%" y2="6564.93%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="F" x1="-1067.54883%" x2="792.163033%" y1="-899.682353%" y2="691.657014%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="G" x1="-3245.82558%" x2="2272.05861%" y1="-2753.32267%" y2="1935.824%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="H" x1="-835.133806%" x2="827.684161%" y1="-835.133806%" y2="827.684161%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="I" x1="-4541.82131%" x2="1223.52295%" y1="-2322.54576%" y2="657.84322%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="J" x1="-2057.47051%" x2="889.742903%" y1="-1738.77914%" y2="791.335971%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="K" x1="-1278.62667%" x2="1189.34526%" y1="-1278.9986%" y2="1188.97333%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="L" x1="-6112.0075%" x2="2680.1425%" y1="-6270.03333%" y2="2747.55641%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="M" x1="-1115.93023%" x2="572.391158%" y1="-1175.6355%" y2="582.7945%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="N" x1="-9656.07586%" x2="2471.02759%" y1="-9322.84667%" y2="2400.02%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="O" x1="-7887.73698%" x2="3321.17237%" y1="-6188.2325%" y2="2603.9175%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="P" x1="-984.783738%" x2="288.77261%" y1="-1902.68288%" y2="506.125342%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="Q" x1="-2522.67732%" x2="1102.95155%" y1="-5039.01837%" y2="2138.24694%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="R" x1="-5921.7225%" x2="2870.4275%" y1="-6075.45385%" y2="2942.1359%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="S" x1="-5881.53%" x2="2910.62%" y1="-5881.26%" y2="2910.89%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="T" x1="-5841.3375%" x2="2950.8125%" y1="-5841.4525%" y2="2950.6975%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="U" x1="-7423.23691%" x2="3785.67244%" y1="-5801.6425%" y2="2990.5075%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="V" x1="-4020.34%" x2="1003.74571%" y1="-2527.16182%" y2="669.983636%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="W" x1="-4517.96032%" x2="1064.35714%" y1="-5480.38654%" y2="1282.80577%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="X" x1="-3834.66828%" x2="2163.11753%" y1="-3992.49299%" y2="2248.99581%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="Y" x1="-132.800878%" x2="141.123835%" y1="-126.933901%" y2="145.268963%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="Z" x1="-8624.4%" x2="10913.01%" y1="-4751.06111%" y2="6103.05556%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="aa" x1="-20576.83%" x2="14591.77%" y1="-11391.2944%" y2="8146.81667%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ab" x1="-3210.85073%" x2="1716.38147%" y1="-3721.57455%" y2="1963.19067%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ac" x1="-964.539164%" x2="305.324758%" y1="-1877.16986%" y2="531.638356%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ad" x1="-5971.9075%" x2="2820.24%" y1="-7463.6%" y2="3526.5875%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ae" x1="-3626.20024%" x2="2128.73795%" y1="-3780.54791%" y2="2217.23789%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="af" x1="-3545.17742%" x2="2127.17742%" y1="-3793.28448%" y2="2270.26724%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ag" x1="-8571.16538%" x2="4955.21923%" y1="-4812.20217%" y2="2833.14565%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ah" x1="-921.592388%" x2="295.314187%" y1="-948.070803%" y2="335.454745%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ai" x1="-1521.4596%" x2="706.721231%" y1="-1247.46875%" y2="591.922626%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aj" x1="-678.258824%" x2="423.307164%" y1="-682.475952%" y2="429.068947%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ak" x1="-6036.96%" x2="2755.19%" y1="-6038.3275%" y2="2753.82%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="al" x1="-876.033667%" x2="359.821607%" y1="-805.490909%" y2="336.346753%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="am" x1="-6523.57663%" x2="4813.74946%" y1="-5038.58141%" y2="3749.13318%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="an" x1="-2645.94937%" x2="963.166315%" y1="-6683.46667%" y2="2334.12564%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ao" x1="-6631.98345%" x2="4705.34265%" y1="-5121.96932%" y2="3665.74527%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ap" x1="-1435.66843%" x2="1068.42563%" y1="-2846.04456%" y2="2010.54343%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aq" x1="-2633.78646%" x2="975.329221%" y1="-6654.88205%" y2="2362.70769%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ar" x1="-2206.3925%" x2="2189.6825%" y1="-2444.83034%" y2="2406.01103%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="as" x1="-5385.00363%" x2="1874.66412%" y1="-10484.884%" y2="3582.556%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="at" x1="-2391.91311%" x2="1397.1783%" y1="-5593.4125%" y2="3198.7375%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="au" x1="-2264.71662%" x2="1521.15732%" y1="-5306.3925%" y2="3485.7575%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="av" x1="-8124.26538%" x2="5402.11923%" y1="-4560.45%" y2="3084.89783%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aw" x1="-651.882139%" x2="479.56521%" y1="-1403.71323%" y2="934.962067%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ax" x1="-782.651586%" x2="579.099454%" y1="-1688.18577%" y2="1133.37245%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="ay" x1="-2808.00445%" x2="930.963547%" y1="-4874.39455%" y2="1519.89636%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="az" x1="-3080.27111%" x2="827.351111%" y1="-4651.45333%" y2="1209.98%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aA" x1="-17842.03%" x2="17326.57%" y1="-17824.13%" y2="17344.47%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aB" x1="-4927.80617%" x2="7466.4141%" y1="-2177.67416%" y2="3371.61183%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aC" x1="-20583.89%" x2="14584.71%" y1="-5842.07714%" y2="4206.09429%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aD" x1="-13953.96%" x2="21214.64%" y1="-2172.57143%" y2="3409.74603%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aE" x1="-13796.3%" x2="21372.3%" y1="-1986.00882%" y2="3185.84412%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aF" x1="-13888.17%" x2="21280.43%" y1="-2353.96379%" y2="3709.58793%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aG" x1="-9372.00909%" x2="6613.71818%" y1="-2958.36812%" y2="2138.53043%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aH" x1="-16384.5222%" x2="12067.4729%" y1="-4573.9%" y2="3418.96364%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aI" x1="-17462.5%" x2="5983.23333%" y1="-13777.5842%" y2="4732.21053%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aJ" x1="-7480.69%" x2="7500.95%" y1="-7483.33%" y2="7498.32%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aK" x1="-7021.27187%" x2="3968.91562%" y1="-20520.9909%" y2="11450.4636%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aL" x1="-9826.0913%" x2="5464.60435%" y1="-22671.15%" y2="12497.45%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aM" x1="-2964.13075%" x2="2873.3758%" y1="-3993.57709%" y2="3854.15587%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aN" x1="-2330.22879%" x2="2205.28384%" y1="-2914.60952%" y2="2667.70794%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aO" x1="-1407.98283%" x2="1424.97017%" y1="-1728.51863%" y2="1719.38333%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aP" x1="-1807.9102%" x2="1780.72245%" y1="-2740.56%" y2="2669.99385%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aQ" x1="-1472.82%" x2="1783.415%" y1="-4365.0426%" y2="5068.41814%">
- <stop stop-color="#FFFBCC" offset="0%"/>
- <stop stop-color="#FFC9D5" offset="100%"/>
- </linearGradient>
- <linearGradient id="aR" x1="-511.087979%" x2="436.292949%" y1="-431.133333%" y2="359.905%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- <linearGradient id="aS" x1="-2336.83483%" x2="1396.15506%" y1="-7055.5%" y2="4019.03333%">
- <stop stop-color="#FFE900" offset="18.75%"/>
- <stop stop-color="#FF0039" offset="100%"/>
- </linearGradient>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <path d="M149.5 168.5c-.1 0-.1.1-.2.1l-3.3 1.5c-.2.1-.3.1-.5.2.7.3 1.4.5 2.2.5 1.6 0 3.1-.7 4.2-1.9 1-1.1 1.4-2.5 1.3-4-.1-.9-.3-1.7-.7-2.4l-1.6 4.4c-.3.6-.8 1.2-1.4 1.6zM178.7 206.1c-.1-.1-.2-.3-.2-.4l-2 2.7 3.1 1.1-.8-2.6c-.1-.2-.1-.5-.1-.8zM240.6 207.9h0zM168.5 200.6h-.2c-.2.2-.5.3-.7.4l-2.5.7.2.8c1.1.7 2 1.7 2.5 2.9l1 .4 3.7-5c.9-1.2 2.2-1.9 3.7-2l-.1-.3-2.5.7c-.2.1-.4.1-.6.1h-.2c-.2.2-.5.3-.7.4l-3.1.9c-.1-.1-.3 0-.5 0zM146.9 159.8c.1.1.2.1.3.2 0-.1.1-.2.1-.3-.1 0-.2 0-.4.1zM143.3 112.9c.2-.3.4-.6.7-.8l4.4-2.8-.1-.1-4.2 2.7c-.3.2-.6.6-.8 1zM142.2 166c.3-.5.7-1 1.3-1.2h.1l.2-.1-1.9-.7c.2.4.2.8.2 1.3 0 .2.1.4.1.7zM200.9 117.6c-1.9 0-3.2 1-3.9 1.7.7-.7 2-1.7 3.9-1.7zM206.8 158.8c-.1 0-.1.1-.2.1.1 0 .1 0 .2-.1zM174.5 190.8c.2-.1.4-.1.6-.1h.2c.2-.2.5-.3.7-.4.5-.2 1-.2 1.6-.2 2.4 0 4.5 1.5 5.2 3.9.1.3.1.5.1.8.2.2.3.5.4.7l.9 3.1c.1.3.1.5.1.8.2.2.3.5.4.7l.3 1.1c.3.2.6.4.9.7-1.7-3.9-2.3-8.6-1.6-13.7-1.1.2-2.3.3-3.5.3-3.4 0-6.8-1-9.7-2.8-.7-.5-1.4-1-2.1-1.6 1.7 2.3 3.5 4.6 5.3 6.7h.2z
M143.4 119.9c-1.1-.3-2-.8-2.8-1.6l-.7.5v.1l.7-.4c.8.7 1.7 1.2 2.8 1.4.4.2.9.2 1.3.2 1.4 0 2.7-.5 3.8-1.3-1.1.8-2.4 1.3-3.7 1.3-.5 0-.9-.1-1.4-.2zM198.7 120.8c.4-.4 1.2-.9 2.2-.9-1 0-1.8.5-2.2.9zM213.3 214.1c-1 0-2 0-3-.1 1.2 4.1 1.9 6.8 2.2 8.8 3.2-.1 6.5-.2 9.9-.2-.1-1.7-.1-3.8-.1-6.6l-7-2c-.6.1-1.3.1-2 .1zM275.4 138.9l.9-.3c-.1-.7.1-1.4.4-2.1-1.5 2-3.5 3.6-5.8 4.5.1 0 .1.1.2.1.2-.2.5-.3.7-.4 1.1-.7 2.4-1.3 3.6-1.8zM139.9 151.5c.5-.3 1.1-.5 1.7-.5.3 0 .7.1 1 .2.7.3 1.3.8 1.6 1.5.1.1.1.3.1.4 1-.3 2-.4 3-.4-2.2-4.2-4.8-9.7-7.4-15.2v14z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M227.5 226.4c.1.1.1.1.2.1 0 0-.1 0-.2-.1z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M228.2 231c-1.2 0-2.4-.4-3.4-1.2-1.3-1.1-2.1-2-2.4-7.2-3.4 0-6.7.1-9.9.2.6 3.3.2 4.4-.7 5.6-1 1.4-2.6 2.2-4.3 2.2-2.9 0-5.3-2.1-9.6-7-15.1 1.3-25.3 3.8-25.3 6.6 0 4.3 23.1 7.7 51.6 7.7s51.6-3.4 51.6-7.7c0-3.6-16.7-6.7-39.3-7.5-2.3 5.7-5.1 8.3-8.3 8.3z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M158.9 75.5h13.4c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-13.4c-.3 0-.6.2-.6.6.1.4.3.6.6.6zM155.4 85.7c0-.3-.2-.6-.6-.6h-13.4c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h13.4c.3-.1.6-.3.6-.6z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M134.3 114.7l.6-.4.4-.2c0-.7.1-1.3.2-2 0-.1.1-.2.1-.4-.4-.9-.8-2-1.2-3v6h-.1zM131.8 102.3c-.1-.3 0-.6.3-.7.3-.1.6 0 .7.3l.3.9V67h-13c.7 2.2 1.8 5.2 3.1 8.8.1.3 0 .6-.3.7h-.2c-.2 0-.4-.1-.5-.4-1.3-3.8-2.4-7-3.2-9.2h-3.4c1.1 3.8 3.1 10.1 5.8 18.2l-.1-.5c1.6 4.4 8.9 24.1 11.5 31l.4-.3v-9.5c-.6-1.4-1.1-2.7-1.4-3.5zM121.2 91.2c-3.9-10.9-6.6-19.6-7.9-24.2H7.1v98.7c0 .6 0 .9.1 1 .1 0 .4.1 1 .1h124c.6 0 .9 0 1-.1 0-.1.1-.4.1-1v-38.4l-1.6 1-.4.2c-.3.2-.6.4-1 .6-.6.3-1.2.4-1.9.4h-.2c-2 0-3.8-1.2-4.6-3-1-2.2-.3-4.7 1.5-6 .2-.2.5-.3.7-.5l2.3-1.4 2.7-1.7c-2.5-6.4-7-18.6-9.6-25.7zm-25.6 27.1h-7.1c-.5 2.1-1.4 4-2.6 5.8l5.1 5.1c1.2 1.6 1.2 3.6.1 5.1-.8 1.1-2 1.7-3.4 1.7-.9 0-1.8-.3-2.5-.8L80 130c-1.8 1.1-3.8 1.8-5.8 2.3v7.1c0 2.3-1.9 4.2-4.2 4.2-2.3 0-4.2-1.9-4.2-4.2V132c-2-.4-4-1.2-5.8-2.3l-4.7 5.1c-.2.3-.5.6-.8.8-.7.6-1.6.8-2.5.8-1.3 0-2.6-.6-3.4-1.7-1.4-1.9-1-4.5.8-5.9l5-4.7c-1.1-1.8-1.8-3.7-2.3-5.8H45c-2.3 0-4.2-1.9-4.2-4.2 0-2.3 1.9-4.2 4.2-4.2h7.1c
.4-2.1 1.2-4 2.3-5.8l-5.1-4.7c-.9-.9-1.3-2-1.3-3.2 0-1.2.5-2.3 1.3-3.1.8-.8 2-1.3 3.1-1.3 1.2 0 2.3.5 3.1 1.3l4.7 5.1c1.8-1.1 3.7-1.8 5.8-2.3v-7.1c0-2.3 1.9-4.2 4.2-4.2 2.3 0 4.2 1.9 4.2 4.2v7.1c2.1.4 4 1.2 5.8 2.3l5.1-5.1c.8-.6 1.7-.9 2.6-.9.9 0 1.8.3 2.5.8.9.7 1.5 1.7 1.6 2.8.2 1.1-.1 2.2-.8 3.1l-5.1 5.1c1.1 1.8 1.8 3.8 2.3 5.8h7.1c2.3 0 4.2 1.9 4.2 4.2.2 2.4-1.7 4.3-4.1 4.3zm28.9-11.5c.3-.1.6.1.7.3l1.7 4.7c.1.3-.1.6-.3.7h-.2c-.2 0-.4-.1-.5-.4l-1.7-4.7c-.1-.2.1-.5.3-.6z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M70.3 103.8c-5.6 0-10.2 4.6-10.2 10.2s4.6 10.2 10.2 10.2 10.2-4.6 10.2-10.2c.1-5.6-4.5-10.2-10.2-10.2zM137.7 124.4l-.9.6.9 2.1v-2.7zM135.3 121.7s0 .1 0 0l2.4-1.5v-.1l-2.4 1.6z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M134.8 126.3l-.5.3v39.1c0 1.9-.3 2.2-2.2 2.2H8.1c-1.9 0-2.2-.3-2.2-2.2V65.8h107c-.2-.8-.4-1.4-.4-1.8-.1-.6.3-1.2.9-1.3.6-.1 1.2.3 1.3.9.1.4.3 1.2.6 2.2h3.4l-.8-2.4c-.1-.3.1-.6.4-.7.3-.1.6.1.7.4 0 0 .3 1 .9 2.7h14.5v39.7c.6 1.5 1.3 3.1 1.8 4.4.4-.9.9-1.6 1.6-2.3V49.7c0-2.3-1.9-4.2-4.2-4.2H6.8c-2.3 0-4.2 1.9-4.2 4.2v118c0 2 1.8 3.7 3.9 3.7h127.3c1 0 1.9-.4 2.6-.9-.8-1.6-1.2-3.4-1.3-5.3 0-1.5.9-2.7 2.2-3.3-.8-.8-1.1-2-.7-3.1l1.1-2.9v-23.4c-1-2.1-2-4.3-2.9-6.2zm-18.1-73.5c.3-.1.5 0 .6.3l1.9 5.3v.1c.1.3-.1.5-.4.6h-.1c-.2 0-.4-.1-.4-.3l-1.9-5.3c-.1-.4.1-.6.3-.7zm-1.7.4c0-.3.2-.5.5-.5s.5.2.5.5v5.3c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-5.3zm-1.5.5c0-.3.2-.5.5-.5s.5.2.5.5v4.8c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-4.8zm-1.4-1c0-.3.2-.5.5-.5s.5.2.5.5v5.8c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-5.8zm-77.7 2.7c0-1.7 1.4-3.1 3.1-3.1h63.6c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.7-1.4 3.1-3.1 3.1H37.5c-1.7 0-3.1-1.4-3.1-3.1v-.3zM22 52.7c1.6 0 2.9 1.3 2.9 2.9 0 1.6-1.3 2.9-2.9 2.9-1.6 0-2.9-1.3
-2.9-2.9.1-1.6 1.3-2.9 2.9-2.9zm-9.2 0c1.6 0 2.9 1.3 2.9 2.9 0 1.6-1.3 2.9-2.9 2.9-1.6 0-2.9-1.3-2.9-2.9.1-1.6 1.3-2.9 2.9-2.9z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M129.1 125.6c-.1.1-.2.2-.4.2-.2.1-.4.1-.6.1.2 0 .4 0 .6-.1.2 0 .3-.1.4-.2l4.1-2.5v-.1l-4.1 2.6z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M137.7 120.2v.1l2.2-1.5M139 115.8c-.2-.5-.2-1-.3-1.5 0 .5.1 1 .3 1.5z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M133.8 171.4H6.5c-2.2 0-3.9-1.6-3.9-3.7v-118c0-2.3 1.9-4.2 4.2-4.2h126.6c2.3 0 4.2 1.9 4.2 4.2V107.6c.6-.7 1.4-1.3 2.2-1.8V81.2h27.6c.1-.2.2-.4.2-.6 0-.2.3-.2.3 0 .1.2.1.4.2.6h14.5c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-42.8V49.7c0-3.6-2.9-6.5-6.5-6.5H6.8c-3.6 0-6.5 2.9-6.5 6.5v118c0 3.3 2.8 5.9 6.1 5.9h127.3c1.4 0 2.7-.5 3.7-1.2-.4-.6-.8-1.3-1.1-1.9-.7.5-1.6.9-2.5.9z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M137.7 127.1l-.9-2.1-1.9 1.2c.9 2 1.9 4.1 2.9 6.3V156l1.2-3.2c.2-.5.6-1 1-1.3v-14.1c2.6 5.5 5.2 11 7.4 15.2h.4c.7 0 1.4.1 2.1.2-3.1-6.1-6.1-12.1-8.7-17.9-.2-.5-.7-1.5-1.2-2.7V123l-2.2 1.4v2.7h-.1z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M134.3 65.8h-14.5c-.6-1.7-.9-2.7-.9-2.7-.1-.3-.4-.4-.7-.4-.3.1-.4.4-.4.7l.8 2.4h-3.4c-.3-1-.5-1.8-.6-2.2-.1-.6-.7-1-1.3-.9-.6.1-1 .7-.9 1.3.1.4.2 1 .4 1.8H6v99.8c0 1.9.3 2.2 2.2 2.2h124c1.9 0 2.2-.3 2.2-2.2v-39.1l-1.1.7v38.4c0 .6 0 .9-.1 1-.1 0-.4.1-1 .1H8.2c-.6 0-.9 0-1-.1 0-.1-.1-.4-.1-1V67h106.2c1.3 4.6 4 13.3 7.9 24.2h.1c2.5 7.2 7.1 19.3 9.6 25.7l2-1.2c-2.7-6.9-9.9-26.7-11.5-31l.1.5c-2.8-8.1-4.7-14.4-5.8-18.2h3.4c.8 2.2 1.8 5.4 3.2 9.2.1.2.3.4.5.4h.2c.3-.1.4-.4.3-.7-1.3-3.6-2.3-6.6-3.1-8.8h13v35.8l-.3-.9c-.1-.3-.4-.4-.7-.3-.3.1-.4.4-.3.7.3.8.8 2.1 1.4 3.5v9.5l.2-.1.9-.6v-6c.4 1.1.8 2.1 1.2 3l.6-1.8c-.5-1.3-1.2-2.9-1.8-4.4V65.8h-.1zM12.8 58.4c1.6 0 2.9-1.3 2.9-2.9 0-1.6-1.3-2.9-2.9-2.9-1.6 0-2.9 1.3-2.9 2.9.1 1.7 1.3 2.9 2.9 2.9zM22 58.4c1.6 0 2.9-1.3 2.9-2.9 0-1.6-1.3-2.9-2.9-2.9-1.6 0-2.9 1.3-2.9 2.9.1 1.7 1.3 2.9 2.9 2.9zM37.5 58.8h63.6c1.7 0 3.1-1.4 3.1-3.1v-.3c0-1.7-1.4-3.1-3.1-3.1H37.5c-1.7 0-3.1 1.4-3.1 3.1v.3c0 1.7 1.4 3.1 3
.1 3.1z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M95.6 109.8h-7.1c-.4-2.1-1.2-4-2.3-5.8l5.1-5.1c.7-.9 1-2 .8-3.1-.2-1.1-.7-2.1-1.6-2.8-.7-.6-1.6-.8-2.5-.8-.9 0-1.8.3-2.6.9l-5.1 5.1c-1.8-1.1-3.7-1.8-5.8-2.3v-7.1c0-2.3-1.9-4.2-4.2-4.2-2.3 0-4.2 1.9-4.2 4.2v7.1c-2.1.4-4 1.2-5.8 2.3l-4.7-5.1c-.8-.8-2-1.3-3.1-1.3-1.2 0-2.3.5-3.1 1.3-.8.8-1.3 2-1.3 3.1 0 1.2.5 2.3 1.3 3.2l5.1 4.7c-1.1 1.8-1.8 3.7-2.3 5.8H45c-2.3 0-4.2 1.9-4.2 4.2 0 2.3 1.9 4.2 4.2 4.2h7.1c.4 2.1 1.2 4 2.3 5.8l-5 4.7c-1.9 1.4-2.2 4.1-.8 5.9.8 1.1 2 1.7 3.4 1.7.9 0 1.8-.3 2.5-.8.3-.2.6-.5.8-.8l4.7-5.1c1.8 1.1 3.7 1.8 5.8 2.3v7.4c0 2.3 1.9 4.2 4.2 4.2 2.3 0 4.2-1.9 4.2-4.2v-7.1c2.1-.4 4-1.2 5.8-2.3l5.1 5.1c.7.6 1.6.8 2.5.8 1.3 0 2.6-.6 3.4-1.7 1.1-1.5 1.1-3.6-.1-5.1l-5.1-5.1c1.2-1.8 2.1-3.7 2.6-5.8h7.1c2.3 0 4.2-1.9 4.2-4.2.2-2.3-1.7-4.2-4.1-4.2zm-25.3 14.5c-5.6 0-10.2-4.6-10.2-10.2s4.6-10.2 10.2-10.2 10.2 4.6 10.2 10.2c.1 5.6-4.5 10.2-10.2 10.2zM115.3 21.3h1.1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-1.1c-.3 0-.6.2-.6.6 0 .4.3.6.6.
6zM126.4 21.3h4.5c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-4.5c-.3 0-.6.2-.6.6.1.4.3.6.6.6zM34.1 20.6h13.4c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6H34.1c-.3 0-.6.2-.6.6.1.4.3.6.6.6zM82 8.5c.1.1.3.2.4.2.1 0 .2 0 .3-.1.2-.2.3-.5.1-.8-.7-.9-1.5-1.8-2.3-2.5-.2-.2-.6-.2-.8 0-.2.2-.2.6 0 .8.8.7 1.6 1.5 2.3 2.4zM109.7 21c.1.2.3.3.5.3h.6c.3 0 .6-.2.6-.6 0-.4-.2-.6-.6-.6h-.3c-.2-.4-.6-1.2-1.2-2.1-.2-.3-.5-.3-.8-.2-.3.2-.3.5-.2.8.9 1.3 1.3 2.2 1.4 2.4zM59.6 4.4c.1 0 .2 0 .3-.1 1.6-1.2 3.7-2.1 6.4-2.4 2.1-.3 4-.2 5.9.2.3.1.6-.1.7-.4.1-.3-.1-.6-.4-.7-2-.4-4.1-.5-6.3-.2-2.9.4-5.2 1.3-6.9 2.7-.2.2-.3.5-.1.8 0 0 .2.1.4.1zM91.5 7.8c1.3-.4 2.7-.5 4.3-.2 2.3.4 4.8 1.8 7.2 4.1.1.1.2.2.4.2.1 0 .3-.1.4-.2.2-.2.2-.6 0-.8-2.6-2.5-5.2-3.9-7.7-4.4-1.8-.3-3.4-.3-4.9.2-.3.1-.4.4-.4.7.1.4.4.5.7.4zM84.9 13c.1.2.3.3.5.3.1 0 .2 0 .2-.1.3-.1.4-.5.3-.7-.1-.3-.3-.6-.5-1-.1-.3-.5-.4-.8-.2-.3.1-.4.5-.2.8.2.3.3.7.5.9zM56.2 14.5c.1 0 .1 0 0 0 .4 0 .6-.3.6-.6 0-.4-.1-.7-.1-1.1 0-.3-.3-.5-.6-.5H56c-.2.1-.4.3-.4.6 0 .4.1.8.1 1.1 0 .1 0 .
1.1.2 0 .2.2.3.4.3zM58.3 20.4c.1-.2.1-.4 0-.5 0 0-.3-.7-.6-1.7-.1-.3-.4-.5-.7-.4-.3.1-.5.4-.4.7.1.4.3.7.4 1h-.7c-.2.1-.4.3-.4.5 0 .3.2.6.6.6H57.9c.2 0 .3-.1.4-.2z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M33.7 25.5h97.9c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-22.8c-2-3.7-7.1-11.7-13.4-12.9-8.4-1.6-10 6.7-10 6.7S79.8 2.6 65.8 4.5c-6.5.9-9 4.2-9.8 7.8h.1c.3 0 .6.2.6.5 0 .4.1.7.1 1.1 0 .3-.2.6-.5.6h-.1c-.2 0-.4-.1-.5-.3-.1 1.9.1 3.8.5 5.3H57c-.1-.3-.2-.6-.4-1-.1-.3.1-.6.4-.7.3-.1.6.1.7.4.3 1 .6 1.7.6 1.7.1.2.1.4 0 .5-.1.2-.3.3-.5.3h-1.3c.4 1.5.9 2.5.9 2.7H33.7c-.6 0-1.1.5-1.1 1.1 0 .5.5 1 1.1 1z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M205.5 42.3c.1 0 .3-.1.4-.2.6-.7 1.5-1.1 2.6-1.4.3-.1.5-.4.4-.7-.1-.3-.4-.5-.7-.4-1.3.4-2.4.9-3.1 1.7-.2.2-.2.6 0 .8.1.2.3.2.4.2zM212.7 40.5c.4.1.7.2 1 .3h.2c.2 0 .5-.1.5-.4.1-.3-.1-.6-.4-.7-.4-.1-.8-.2-1.1-.3-.3-.1-.6.1-.7.4 0 .4.2.7.5.7zM238.3 50.7h3.3c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-3.3c-.3 0-.6.2-.6.6 0 .4.3.6.6.6zM221.2 46.7c.3-1 1.2-3.2 3.8-3.2.3 0 .7 0 1 .1 1.6.3 3.2 1.3 4.8 3 .2.2.6.2.8 0 .2-.2.2-.6 0-.8-1.8-1.9-3.6-3-5.4-3.4-.4-.1-.8-.1-1.2-.1-3.5 0-4.6 3-4.9 4-.1.3.1.6.4.7h.2c.1 0 .2 0 .3-.1.1.1.2 0 .2-.2zM205.5 50.6c.1-.2.1-.4 0-.5l-.1-.1c-.1-.3-.4-.4-.7-.3-.1 0-.1.1-.2.1h-12.7c-.3 0-.6.2-.6.6 0 .3.2.6.6.6H205c.2-.1.4-.2.5-.4z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M191.7 54.6h54.4c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-12.9c-1.1-2.1-3.9-6.5-7.4-7.2-2.4-.5-3.8.5-4.6 1.6 0 .1-.1.2-.2.3-.6 1-.8 1.9-.8 1.9s-3.1-8-10.9-7c-5.7.8-6 5-5.4 7.8h.7s.1-.1.2-.1c.3-.1.6 0 .7.3l.1.1c.1.2.1.4 0 .5-.1.2-.3.3-.5.3h-.9c.2.9.5 1.4.5 1.5h-13.2.2c-.6 0-1.1.5-1.1 1.1-.1.6.4 1.1 1.1 1.1z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M107.4 231.1c-4 0-5.8-2.5-6.2-4.6l-.1-.5c-7 .5-12.1 2.1-12.1 4 0 2.3 7.3 4.1 16.3 4.1s16.3-1.8 16.3-4.1c0-1.4-2.7-2.6-6.7-3.3-.2.7-.6 1.3-1 1.9-2 2.4-5.7 2.5-6.5 2.5z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M227.3 225.7c-.1-.3-.1-.6-.1-1 0 .4 0 .7.1 1zM228 226.5h-.1.1zM226.9 216v0zM199.5 218.8c.3.3.5.6.8.9-.3-.3-.6-.6-.8-.9z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M237.7 208.7c1-.3 1.9-.5 2.8-.8h.1c6.5-2 12.4-4.7 17.4-7.6-7.2 3.5-15 5-20 5.6 0 1-.1 1.9-.3 2.8z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M241.9 163c.1-.2.2-.4.2-.6 0 .2-.1.4-.2.6zM234.1 70.2c-.3 0-.5-.1-.8-.1-.3 0-.7 0-1 .1.3 0 .7-.1 1-.1.2 0 .5 0 .8.1zM232 70.2c-2.5.4-4.6 2.2-5.5 4.5.9-2.3 3-4 5.5-4.5zM219.1 84.9c0-.1 0-.1 0 0 0-.1 0-.1 0 0zM221.2 79.8c.5-.5 1.1-.9 1.7-1.3-.6.3-1.2.8-1.7 1.3zM226 76.7c-.4.3-.7.7-1 1-.7.1-1.4.4-2.1.7.6-.3 1.3-.6 2.1-.7.3-.3.7-.6 1-1zM207.3 226.3s0-.1 0 0h-.1c0-.1.1 0 .1 0zM263.6 172.3c-.4.1-.8.3-1.2.4.4-.1.8-.2 1.2-.4zM248.7 65.6h.8c-.3.1-.5 0-.8 0zM237.3 69.6c1.3-.5 2.6-.9 4-1.2-1.4.4-2.7.8-4 1.2zM189.2 186.5v0zM252.5 139.1h-1c.3.1.6.1 1 0zM272.6 164c-.5 1.3-1.7 3.4-3.8 5.3 2.2-2 3.3-4.1 3.8-5.3zM262.6 67.9h-.6.6zM219.1 84.9c0 .3 0 .7.1 1-.2.3-.3.6-.5 1 .2-.3.3-.7.5-1 0-.3-.1-.6-.1-1zM202.8 96.1c.1.1.1.2.2.2.1.1.3.2.4.3-.1-.1-.3-.2-.4-.3-.1 0-.2-.1-.2-.2zM202.5 90.4c-.1-.1-.2-.1-.2-.2-.1-.1-.1-.2-.2-.3 0 .1.1.3.2.3l.2.2zM259.2 140.3h-.3.3zM277.1 177.5c-.1 0-.1 0 0 0-.1 0-.1 0 0 0-.1.1-.1 0 0 0zM274.7 180c0-.1 0-.1 0 0-.2 0-.4-.1-.6-.1.2 0
.4 0 .6.1z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M235.8 218c-.5 1.4-1.1 3.2-2 4.9-1.5 3.1-3.5 5.9-5.8 5.9-.7 0-1.3-.2-1.8-.6-.6-.5-1.2-.9-1.4-5.4-.1-1.5-.1-3.5-.1-6.2-.5 0-1-.1-1.6-.2l-.7-.2c0 2.8 0 4.9.1 6.6.2 5.1 1 6.1 2.4 7.2 1 .8 2.1 1.2 3.4 1.2 3.2 0 6-2.7 8.4-8.1.6-1.3 1.2-2.8 1.7-4.4.7-2 1.3-4.8 1.9-8.2-.9.3-1.9.5-2.9.8-.5 2.6-1.1 4.9-1.6 6.7zM265 198.7c-2.4 1.6-5 3.1-7.8 4.7 1.6-.7 3.1-1.4 4.6-2.3h.2c3.7 0 7.1-.5 10.2-1.4-1.7-.2-3.3-.6-4.7-1.3-.8.1-1.6.2-2.5.3z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M284.9 173c.8-.7 1.8-1.2 2.9-1.2.4 0 .7 0 1 .1h.1c-.7-.6-1.5-1.1-2.4-1.2-.3-.1-.6-.1-.8-.1-.8 0-1.6.2-2.3.6l-.2.2c.6.6 1.2 1.1 1.7 1.6zM287.7 188c.3-.6.6-1.1.9-1.7-.4.3-.8.6-1.3.8.1.4.3.6.4.9z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M266.3 154.9c-1.2.6-2.1.9-2.7 1.2-.3.1-.6.2-.8.3-.2.1-.3.1-.3.1-.2.1-.4.1-.7.1-.6 0-1.2-.3-1.7-.7-6.4 3.3-13.7 6.8-16.1 7.9-.1.2-.2.4-.2.6.8-.1 1.7-.1 2.5-.1 3.5 0 6.8.6 9.7 1.8 2.7 1.1 5 2.5 7 4.3 6.4-2.4 7.9-7.8 7.9-8 .2-.9.9-1.5 1.8-1.7h.3c.8 0 1.5.4 1.9 1.1.1.2 1.7 2.9 2.3 7.1 1 .2 2 .6 2.9 1-.5-5.5-2.5-9.1-2.9-9.7-.9-1.4-2.4-2.3-4-2.3-.2 0-.5 0-.7.1-1.9.3-3.4 1.7-3.9 3.5 0 .1-1 3.6-5.1 5.7-1.9-1.4-4-2.7-6.4-3.7-1.3-.6-2.8-1-4.2-1.3 5.1-2.5 10.1-5 13.8-7.1-.1-.1-.1-.2-.2-.2 0-.1-.1-.1-.2 0z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M265.3 137.7h.5-.5zM246.3 166.4h-.3H246.3z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M284.3 126.3l1.2-1.8c4.6-2.2 7.4-7.2 6.8-12.3v-.2c1.4-2.3 2-5 1.7-7.7-.3-2.4-1.3-4.6-2.8-6.4-.3-2.1-.7-4.1-1.3-6.1v-1c0-4-2-7.7-5.3-9.9-2.8-4.1-6.5-7.8-10.6-10.6-1.8-4.4-6.2-7.3-11-7.3-1.4 0-2.9.3-4.3.8-.8-.2-1.6-.4-2.4-.5-2.1-1.6-4.7-2.5-7.3-2.5-.5 0-1 0-1.5.1-2.2.3-4.4 1.2-6.1 2.6-2.1.4-4.2 1.1-6.2 1.9-.6-.1-1.1-.1-1.7-.1-5.2 0-9.9 3.5-11.4 8.4-4.4 1.8-7.4 6.2-7.4 11.1v.2c-.2.5-.4 1-.6 1.4-.4.4-.8.7-1.2 1.2-.1-2.2-1.1-4.2-2.2-6.3-.2-.4-.4-.8-.6-1.3-.9-1.8-2.7-3-4.6-3-3.8 0-5.5 3.8-6.2 5.3-1 2.1-2.3 5.9-1.3 9-.4 3.7.2 6.5 1.8 8.2.1.6.2 1.3.4 1.8-8.4 3.3-26.4 11.2-32.7 19.4-1.9 2.4-2.2 5.7-1 9.8 2.6 8.9 10.6 18.2 15.5 20.1 6.2 2.3 14.3 3.8 22.5 4.3-4.1 1.6-7.4 2.9-10 4.1.6.7 1.1 1.4 1.6 2.2 2.6-1.1 5.7-2.3 9.5-3.9 1.9-1.6 3.9-3.1 6-4.5h-2c-9.9 0-19.7-1.6-27.1-4.3-5.2-1.9-12.1-11.9-14-18.4-.9-3.3-.7-5.8.6-7.6 5.6-7.3 22.8-15.2 33.8-19.4-.6-1.4-.9-3-1.1-4.6l-.1-.1c-1.4-1.1-1.9-3.5-1.5-7.1-1.1-2.3.3-6 1.1-7.6 1.2-2.6 2.4-3.8 3.9-3.8 1 0 1
.9.6 2.4 1.6.2.5.5.9.7 1.3 1.2 2.3 2.2 4.3 1.8 6.3.7 1 1.3 2.1 1.4 3.4.7.6 1.3 1.1 1.9 1.7-.1-.3-.1-.7-.1-1.1 0-2 1-3.8 2.6-4.8.3-.8.7-1.7 1.1-2.5v-.7c0-4.3 2.9-8 7-9.1l.1-.1c.8-4.4 4.7-7.8 9.3-7.8.7 0 1.3.1 2 .2 2.3-1 4.6-1.7 7-2.1 1.5-1.4 3.3-2.2 5.3-2.5.4 0 .8-.1 1.2-.1 2.3 0 4.5.9 6.2 2.4 1.2.2 2.4.5 3.6.8 1.3-.6 2.7-.9 4.1-.9 4.1 0 7.7 2.6 9 6.4 4.3 2.8 8 6.5 10.8 10.8 2.8 1.7 4.6 4.8 4.6 8.1 0 .4 0 .8-.1 1.3.7 2.3 1.2 4.6 1.5 7 1.5 1.5 2.5 3.4 2.7 5.6.3 2.5-.4 4.9-1.8 6.8.1.4.2.7.2 1.1.5 4.3-2 8.5-6 10-.6 1-1.2 1.9-1.8 2.8-.5 3.2-2.7 5.8-5.7 6.9-1.6 4.5-5.8 7.5-10.7 7.5-.5 0-1 0-1.5-.1-1 1.6-2.8 2.7-4.9 2.7-1.4 0-2.7-.5-3.7-1.3-1.3.2-2.7.2-4 .2-.4 1.9-1 3.9-1.6 5.8 8.1-1.9 16.9-3.8 18-3.9h.8c.1-.1.3-.2.4-.3l.6-.5c.2-.2.4-.3.6-.4.4-.3.8-.6 1.2-.8-.1 0-.1-.1-.2-.1 2.3-1 4.3-2.5 5.8-4.5.2-.4.4-.7.7-.9.3-.5.5-.9.8-1.4 2.8-2 5.1-4.9 5.8-8.4z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M287.7 101.9c-.4-.6-.9-1.1-1.4-1.5.6.4 1 .9 1.4 1.5zM286.9 111.2c.2.6.4 1.2.5 1.9 0 .2 0 .5.1.7 0-.2 0-.5-.1-.7-.1-.7-.3-1.3-.5-1.9zM289 106c0-.3 0-.6-.1-.9 0-.4-.1-.7-.2-1.1.1.3.2.7.2 1.1.1.3.1.6.1.9zM263.6 137.5c-.3-.1-.7-.1-1-.2h-.1.1c.3.1.6.1 1 .2zM259.6 140.2c.4-.1.7-.2 1.1-.4-.4.2-.7.4-1.1.4zM188.5 192.2v0zM218.2 88.3c-.2.4-.4.9-.5 1.3-.2.1-.3.1-.5.2.1-.1.3-.2.5-.2.1-.4.3-.9.5-1.3zM186 170.6c0-.1-.1-.1-.1-.2 0 .1 0 .2.1.2zM215.8 97.7c0-.4.1-.9.2-1.3-.1.4-.1.8-.2 1.3z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M207.5 230.7c1.7 0 3.3-.8 4.3-2.2.9-1.2 1.3-2.3.7-5.6-.3-2-1.1-4.8-2.2-8.8 1 0 2 .1 3 .1h2.1l-3.8-1.1-4.8-.6c1.6 5.2 2.4 8.5 2.9 10.6.6 3.2.3 3.7-.2 4.3-.5.8-1.4 1.2-2.3 1.2-1.7 0-3.4-1.3-6.6-4.9-.8-.9-1.8-2-2.9-3.3-3.3-3.8-5.6-8.6-7.1-12.7-1-.5-2-1.1-2.9-1.7 1.6 4.8 4.3 11 8.4 15.8.6.8 1.3 1.5 1.8 2.1 4.4 4.8 6.7 6.8 9.6 6.8zM185.9 201.9c1.2.9 2.4 1.7 3.6 2.5l-.3-.9c-2.1-3-3.1-7-3-11.4-.4-.3-.8-.5-1.2-.8-.2-.2-.3-.5-.1-.8.2-.2.5-.3.8-.1.2.1.4.3.6.4.1-1 .2-2.1.3-3.2-.8.3-1.6.5-2.4.6-.5 5.1 0 9.8 1.7 13.7z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M206.8 158.8c.5-.4 1-.9 1.6-1.3-.6.4-1.1.9-1.6 1.3z"/>
- <path fill="url(#a)" fill-rule="nonzero" d="M237.4 200.4c-.1 1-.2 2-.2 2.9 4.1-.4 10.5-1.6 17.1-4.5 1.7-.8 3.3-1.6 4.7-2.6-.7-.2-1.4-.6-1.9-1.1-3.5 1.9-8.3 4-14.2 4.8-1.9.2-3.7.4-5.5.5z"/>
- <path fill="url(#b)" fill-rule="nonzero" d="M268.8 169.3c1.6-.6 3.4-.9 5.1-.9.4 0 .7 0 1.1.1-.4-2.3-1.1-4-1.5-4.9-.1-.3-.3-.5-.3-.6v-.1s0 .1-.1.3c0 .1-.1.2-.1.3-.1.1-.1.3-.2.5-.7 1.2-1.8 3.3-4 5.3z"/>
- <path fill="url(#c)" fill-rule="nonzero" d="M274.9 176.9c-.3 0-.6-.1-.9-.1-2.6 0-5 1.4-6.3 3.6-.3.5-.7 1-1.1 1.4l1.6.4c0-.1.1-.2.2-.3l.9-.7c.2-.2.6-.1.8.1.2.2.1.6-.1.8l-.5.4.9.2c.8.2 1.5.6 2 1.2.7-1.4 1.3-2.8 1.8-4.1.2-1 .5-1.9.7-2.9z"/>
- <path fill="url(#d)" fill-rule="nonzero" d="M189.9 156.3c-2.8-1.8-6-2.6-9.1-2.6-5.6 0-11.1 2.8-14.3 7.8-5 7.9-2.7 18.3 5.2 23.3 2.8 1.8 6 2.6 9.1 2.6 2.1 0 4.2-.4 6.1-1.1.3-1.5.7-3.1 1.2-4.6-.5 0-1-.1-1.5-.4-1.5-.8-2.1-2.6-1.3-4s2.6-1.9 4.1-1.1c.3.2.5.3.7.5.6-1.3 1.3-2.6 2-3.9-3.2.4-4.2.5-4.7.5h-.6c-1-.1-2.3-.6-2.9-1.8-.5-.8-.7-2.3.5-4.3.5-.7 1.1-1.9 10.6-5.9-1.4-1.9-3-3.7-5.1-5zm-14.1 2.1c1.7 0 3.1 1.3 3.1 2.9 0 1.6-1.4 2.9-3.1 2.9-1.7 0-3.1-1.3-3.1-2.9 0-1.6 1.4-2.9 3.1-2.9zm-8.7 10.8c.8-1.4 2.6-1.9 4.1-1.1 1.5.8 2.1 2.6 1.3 4s-2.6 1.9-4.1 1.1c-1.4-.8-2.1-2.6-1.3-4zm13.4 12.7c-.6 1-1.9 1.5-3.3 1.2l1.7 1.7c.2.2.2.6 0 .8-.1.1-.3.2-.4.2-.1 0-.3 0-.4-.1-3.1-2.9-6.2-6.2-9.2-9.8-.2-.2-.2-.6.1-.8.2-.2.6-.2.8.1 1.2 1.5 2.5 2.9 3.7 4.3 0-.4.1-.8.3-1.1.4-.7 1.1-1.2 2-1.3l-.9-1.1c-.2-.2-.2-.6.1-.8.2-.2.6-.2.8.1l1.6 1.9c.4.1.8.2 1.1.4 1.9.9 2.8 2.9 2 4.3zm8.2-19.6c-.8 1.3-2.6 1.5-4 .7-1.4-.9-1.9-2.6-1.1-3.9.8-1.3 2.6-1.5 4-.7 1.4.9 1.9 2.7 1.1 3.9z"/>
- <path fill="url(#e)" fill-rule="nonzero" d="M204.7 160.7c-9.4 3.5-17.8 8.2-17.9 8.3-.1.1-.2.1-.3.1-.2 0-.4-.1-.5-.3-.2.3-.3.6-.3.9v.6c0 .1 0 .2.1.2 0 .1.1.1.1.2.4.5 1.2.5 1.2.5H188c.2 0 .4 0 .6-.1.3 0 .6-.1.9-.1h.2c.3 0 .6-.1.9-.1h.2c.4 0 .7-.1 1.1-.2h.1c.9-.1 2-.3 3.1-.5 2.9-4 5-6.2 5.1-6.4.2-.2.6-.2.8 0 .1.1.2.2.2.4 1.1-1.2 2.2-2.3 3.5-3.5z"/>
- <path fill="url(#f)" fill-rule="nonzero" d="M187.9 167.1c-.1 0-.1.1-.2.1s-.1.1-.2.1c1.1-.6 2.7-1.4 4.8-2.5-1.8.9-3.4 1.7-4.4 2.3z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M213.3 204.7c-.7-.2-1.3-.7-1.7-1.2l-.4 1.3 1.9.5c.3-.1.7-.2 1-.3l-.8-.3z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M188.7 193.1c0 .1-.1.1-.1.1v1.6c0 .4.1.8.2 1.2 0 .2.1.4.1.5l.3 1.2c0 .2.1.3.1.5.1.4.3.8.4 1.2v.1c.8 1.6 2.9 4.5 8.2 5.4.3.1.5.3.4.6-.1.3-.3.5-.5.5h-.1c-2.7-.5-4.6-1.5-6-2.5l.3.9c.2.5.3 1 .5 1.5 1.4.7 2.7 1.2 4.1 1.7 2.4.8 4.8 1.4 7.2 1.9 0-.1-.1-.3-.1-.4 0-.1-.1-.3-.1-.4-.2-.5-.4-1-.5-1.5-.1-.3-.2-.6-.3-.8h.2c0-.6 0-1.1.2-1.7l1.2-4.1c-.7-.2-1.5-.4-2.2-.6-.3-.1-.5-.4-.4-.7.1-.3.4-.5.7-.4.7.2 1.5.4 2.2.6l4.1-14.3c.7-2.4 2.9-4 5.4-4 .5 0 1 .1 1.6.2l15.3 4.4c2-6.2 3.9-13.4 9.5-22.5.5-1.1 1.1-2.1 1.4-2.4.6-.4 12.5-5.9 18-8.5l.1-.1c.1-.2.3-.4.5-.7.3-.5.9-1.3 1.8-2.3.8-1 1.8-2 2.7-2.9l.6-.6c-3.9.8-12 2.6-19.4 4.4.4-.9.7-1.7 1-2.6.1-.2.1-.4.2-.6.5-1.4.9-2.9 1.3-4.3 1-5.6.1-9.3.1-9.4-.1-.3.1-.5.3-.6-.3-2.1-.8-3.8-1.6-5.3-3.1-1-5.4-3.9-5.4-7.4v-.1c-.8-1-1.4-2-2-2.9-.4-.4-.9-.9-1.3-1.4-2.1-2.7-3.1-5.6-3.5-7.3-.2-.4-.3-.7-.5-1.1-.7-.4-1.3-1-1.8-1.6-.8-.6-1.6-1.4-2-2.3-.5-1.3-.7-2.3-.6-3.2l-3.2-.1c-.2 0-.4-.2-.5-.4-.7 0-1.4 0-2.1.1-.4.6-1 1.2-1.7 1.5v
.1c0 .3-.2.6-.5.6h-.6c-1.5 0-2.7-.8-3.2-1.2l-1.4.4c1.1 1.2 2.1 2.8 2.1 4.8 0 4.6-4.6 6.2-4.7 6.2h-.2c-.2 0-.4-.1-.5-.3-.8.2-1.6.3-2.5.1-.2 0-.5-.2-.7-.3h-.2c-.2 0-4.3-.9-6.1-6.6-.1-.3 0-.5 0-.7-.2.1-.4.1-.6.2-.2.1-.3.1-.5.2-.3.1-.5.2-.8.3-.2.1-.4.1-.5.2-.3.1-.5.2-.8.3-.2.1-.4.1-.5.2-.3.1-.5.2-.8.3-.2.1-.4.2-.6.2-.3.1-.5.2-.8.3-.2.1-.4.2-.6.2-.3.1-.5.2-.8.3l-.6.3c-.3.1-.5.2-.8.3l-.6.3c-.3.1-.5.2-.8.3l-.6.3c-.5.2-.9.4-1.4.6-.3.1-.5.2-.8.3-.2.1-.4.2-.7.3-.2.1-.5.2-.7.3-.2.1-.5.2-.7.3-.2.1-.5.2-.7.3-.2.1-.4.2-.7.3-.2.1-.5.2-.7.3l-.6.3c-.2.1-.5.2-.7.4l-.6.3c-.2.1-.5.2-.7.4l-.6.3c-.2.1-.5.3-.7.4l-.6.3c-.2.1-.5.3-.7.4-.2.1-.4.2-.5.3-.3.1-.5.3-.7.4-.2.1-.3.2-.5.3-.3.2-.7.4-1 .6-.1.1-.2.1-.3.2-.3.2-.7.4-1 .6-.1.1-.2.2-.4.2-.2.2-.5.3-.7.5-.1.1-.3.2-.4.3-.2.1-.4.3-.6.4-.1.1-.3.2-.4.3-.2.1-.4.3-.6.4-.1.1-.3.2-.4.3-.2.1-.4.3-.5.4-.1.1-.3.2-.4.3-.2.1-.3.3-.5.4-.1.1-.2.2-.4.3-.2.1-.3.3-.5.4l-.3.3c-.2.1-.3.3-.4.4l-.3.3c-.2.2-.3.3-.4.5-.1.1-.1.2-.2.2-.2.2-.4.5-.6.7-.3.4-.5 1-.7 1.6v.1c.5 0 .9.4 1 .8
0 .1 6.4 15.3 12 18.1 5.1 2.5 24.4 4.5 39.2 3.2 9-1.8 12.1-3.7 19.4-11 2.3-2.3 3.5 6.1-.8 10.1-3.6 3.4-12.9 4.7-23.1 4.7-.8.4-1.6.9-2.4 1.4-.1.1-.3.2-.4.3-.6.3-1.1.7-1.6 1-.2.1-.4.3-.6.4-.8.5-1.6 1.1-2.3 1.6-.3.3-.7.5-1 .8-.4.3-.7.6-1.1.8-.5.4-1.1.9-1.6 1.3-.1 0-.1.1-.2.1-4.6 1.8-10.2 4-14.3 5.9-2.1 1-3.8 1.9-4.8 2.5-.6.4-1.1.7-1.2 1-.1.1-.1.3-.2.4.1.2.3.3.5.3.1 0 .2 0 .3-.1.1-.1 8.5-4.8 17.9-8.3-1.2 1.1-2.4 2.3-3.5 3.5 0 .2 0 .3-.2.4 0 0-2.4 2.4-5.4 6.8-.2.3-.4.6-.6.8-.1.2-.2.4-.3.5-.4.6-.7 1.2-1 1.8-.1.2-.3.5-.4.7-.3.5-.6 1.1-.8 1.6-.1.3-.2.5-.4.8-.2.5-.5 1-.7 1.5-.1.3-.2.6-.3.8-.2.5-.4 1-.5 1.4-.1.3-.2.6-.3.8-.2.5-.3.9-.4 1.4-.1.3-.2.6-.2.8-.1.5-.2.9-.3 1.4 0 .2-.1.4-.1.6v.2c-.1.5-.2.9-.2 1.3 0 .3-.1.5-.1.8-.1.4-.1.9-.1 1.3 0 .2 0 .5-.1.7V191.3c.5 1.2.5 1.5.4 1.8zm7.3-73.4c.5-.8 1.8-2 3.7-2.4 0-.1-.1-.2-.1-.3v-3c0-.7.6-1.3 1.3-1.3.7 0 1.3.6 1.3 1.3v3c0 .1 0 .2-.1.3 1.9.4 3.2 1.6 3.7 2.4.5.8.3 1.8-.5 2.3-.3.2-.6.3-.9.3-.5 0-1.1-.3-1.4-.7-.1-.1-.8-1.1-2.2-1.1-1.4 0-2.1 1.1-2.2 1.1
-.5.8-1.5 1-2.3.5-.6-.6-.8-1.7-.3-2.4zm12 18.1c0 .1-.1.1-.1.2l-.4.3c-.9.8-1.8 1.4-2.6 1.9-.9.5-1.7 1-2.5 1.3-1.6.7-3.1 1.2-4.6 1.5-.4.1-.8.1-1.2.2-2.4.3-4.7.1-6.9-.5h-.1-.1c-2.1-.7-4.2-1.8-6-3.3.2-.1.4-.1.6-.1-.2 0-.4.1-.6.1-.3-.3-.6-.5-.9-.8-1.1-1.1-2.1-2.3-3-3.8-.5-.8-.9-1.6-1.3-2.5-.4-.9-.8-1.9-1.2-3l-.1-.5c-.1-.2 0-.5.3-.5h.2c.5.1 1.1.2 1.6.4.3.1.5.1.8.2.3 1.3.6 2.7.7 2.9.2.3 2.7 1.8 3.1 1.5.2-.2.6-1.8.9-3.2l.6.1c.5.1.9.3 1.4.4-.4 1.6-.8 3.3-.7 3.5.2.3 3.1 1 3.5.8.5-.2 1.7-1.4 2.8-2.7.2.1.4.1.6.2l7.5 2.4 3.8 1.3c.7.3 1.5.5 2.2.8l1.5.6c.1-.1.3.1.2.3zm20.6-15.8c-.3.2-.6.3-.9.3-.5 0-1.1-.3-1.4-.7-.1-.1-.8-1.1-2.2-1.1-1.4 0-2.1 1.1-2.2 1.1-.5.8-1.5 1-2.3.5-.8-.5-1-1.5-.5-2.3.5-.8 1.8-2 3.7-2.4 0-.1-.1-.2-.1-.3v-3c0-.7.6-1.3 1.3-1.3.7 0 1.3.6 1.3 1.3v3c0 .1 0 .2-.1.3 1.9.4 3.2 1.6 3.7 2.4.7.7.4 1.7-.3 2.2zm-37.1 72.8c.1-.3.5-.4.8-.2.3.2.6.4 1 .5.3.1.4.5.2.8-.1.2-.3.3-.5.3-.1 0-.2 0-.3-.1-.3-.2-.7-.4-1-.5-.2-.2-.3-.5-.2-.8z"/>
- <path fill="url(#g)" fill-rule="nonzero" d="M203.6 209.1c0-.1 0-.1 0 0-.1-.2-.2-.3-.2-.4.1.1.1.2.2.4z"/>
- <path fill="url(#h)" fill-rule="nonzero" d="M222.3 203.8l-1.9-.6c0 .1 0 .2-.1.3-.4 1.3-1.6 2.2-2.9 2.2-.3 0-.6 0-.9-.1l-2.4-.7c-.3.1-.7.2-1 .3l10 2.9 1.3-4.5c-.4.2-.8.3-1.3.3-.2.1-.5 0-.8-.1z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M227.1 224.7c0 .4.1.7.1 1 0 .3.1.5.2.6 0 .1.1.1.1.1.1.1.1.1.2.1H228.3s.1 0 .1-.1c.1 0 .1-.1.2-.1l.1-.1c.1 0 .1-.1.2-.1l.1-.1.2-.2.1-.1c.1-.1.2-.2.2-.3l.1-.1c.1-.2.3-.3.4-.5v-.1c.1-.2.2-.3.4-.5 0-.1.1-.2.1-.2.1-.1.2-.3.3-.4.1-.1.1-.2.2-.3.1-.1.1-.2.2-.3-1.4 0-2.9-.1-4.3-.1v.9c.2.2.2.5.2.9z"/>
- <path fill="url(#i)" fill-rule="nonzero" d="M230 212.6c-.5 1.6-1.6 2.8-3.1 3.5v7.5c0 .4.1.7.1 1.1 0 .4.1.7.1 1 0 .3.1.5.2.6 0 .1.1.1.1.1.1.1.1.1.2.1H228.2s.1 0 .1-.1c.1 0 .1-.1.2-.1l.1-.1c.1 0 .1-.1.2-.1l.1-.1.2-.2.1-.1c.1-.1.2-.2.2-.3l.1-.1c.1-.2.3-.3.4-.5v-.1c.1-.2.2-.3.4-.5 0-.1.1-.2.1-.2.1-.1.2-.3.3-.4.1-.1.1-.2.2-.3.1-.1.1-.2.2-.3 0 0 0-.1.1-.1.1-.1.1-.2.2-.3.1-.2.2-.3.2-.5.1-.1.1-.2.2-.4s.2-.4.2-.5c.1-.1.1-.3.2-.4.1-.2.2-.4.2-.6.1-.1.1-.3.2-.4.1-.2.2-.5.3-.7 0-.1.1-.2.1-.4.1-.4.3-.7.4-1.1.1-.4.3-.9.4-1.4.1-.5.3-1 .4-1.5v-.1c.1-.5.2-1 .3-1.6v-.1c.1-.3.1-.6.2-1-1.3.1-3 .4-4.7.7z"/>
- <path fill="url(#j)" fill-rule="nonzero" d="M240.1 167.1c-.1.2-.3.3-.5.3h-.2c-.3-.1-.4-.4-.3-.7.4-.9.9-2.1 1.4-3.2-5.6 9-7.5 16.2-9.5 22.5l.9.3c1.4.4 2.6 1.4 3.3 2.7.7 1.3.9 2.8.5 4.3l-4.9 17.1c1.6-.3 3.2-.6 4.7-.9v-.1-.1c.1-.6.2-1.1.2-1.7v-.1c0-.2.1-.5.1-.7 0-.1-.1-.2 0-.3.5-4.5 1.9-23.7 1.9-23.9 0-.3.3-.5.6-.5s.5.3.5.6c0 .1-.7 9.5-1.3 16.7 1.7-.1 3.5-.2 5.3-.5 5.6-.8 10.3-2.8 13.7-4.7-.5-.9-.6-2-.4-3l1.9-7.3c.4-1.4 1.4-2.4 2.6-2.8-.9-1.2-1-2.9-.3-4.3.8-1.6 2-3.1 3.3-4.3-.4.1-.8.3-1.2.4-1.1.3-2.2.6-3.5.7-1-.8-2.2-1.2-3.6-1.3-.9 0-1.8.1-2.7.4-1.4-1.3-3.3-2-5.3-1.8-1.8.1-3.4.9-4.5 2.1-.9.1-1.8.2-2.6.4-.3 1.5-.5 2.7-.5 2.9 0 .3-.1.5-.4.6h-.2c-.2 0-.5-.1-.5-.4-.1-.2-.1-.4.9-5.1.3-1.6.7-3 1.1-4.4.1-.5.3-.9.4-1.3.1-.4.3-.8.4-1.2v-.1c.1-.4.3-.7.4-1.1 0 0 0-.1.1-.1.1-.2.1-.4.2-.5-.4.7-1.3 2.6-2 4.4zm2.2 29.4c3.9-1.5 8-3.4 12-5.7.3-.1.6-.1.8.2.1.3.1.6-.2.8-4.1 2.3-8.2 4.2-12.2 5.7h-.2c-.2 0-.4-.1-.5-.4-.1-.2 0-.5.3-.6z"/>
- <path fill="url(#k)" fill-rule="nonzero" d="M202.7 206.4c.1.2.2.5.3.8 0-.3-.1-.5-.1-.8h-.2z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M194.4 210.8c.3.6.6 1.3 1 1.9 0 .1.1.1.1.2.3.6.7 1.3 1.1 1.9 0 .1.1.1.1.2l1.2 1.8.1.1c.5.6.9 1.3 1.5 1.9.3.3.5.6.8.9.1.1.1.2.2.2l.6.6c.1.1.2.2.2.3.2.2.3.4.5.5.1.1.2.2.2.3.2.2.3.3.4.5.1.1.2.2.2.3l.5.5.2.2.2.2.4.4.1.1.5.5.2.2.3.3.2.2.3.3c.1.1.1.1.2.1.1.1.2.1.3.2l.1.1c.1.1.2.1.3.2 0 0 .1 0 .1.1.1.1.2.1.3.2h.1c.1 0 .2.1.2.1h.6c.1 0 .2-.1.2-.2 0 0 .1-.1.1-.2v-.1-.3-.1c0-.2 0-.4-.1-.6v-.2c0-.2-.1-.4-.1-.6v-.2c0-.2-.1-.4-.1-.6v-.2-.1c-.1-.3-.1-.6-.2-.9 0-.1 0-.2-.1-.3-.1-.3-.1-.6-.2-.8 0-.1 0-.1-.1-.2-.1-.4-.2-.7-.3-1.1 0-.1-.1-.2-.1-.3-.1-.3-.2-.6-.2-.9 0-.1-.1-.2-.1-.3l-.3-1.2v-.1c-.1-.4-.2-.7-.3-1.1 0-.1-.1-.2-.1-.3-.1-.4-.2-.7-.3-1.1v-.1c-.1-.4-.2-.8-.4-1.2 0-.1 0-.1-.1-.2-.1-.2-.1-.4-.2-.6-2.8-.6-5.7-1.3-8.6-2.2-.8-.2-1.5-.5-2.3-.8.2.6.5 1.1.7 1.7-.1-.2-.1-.2-.1-.1zM196.5 122c.8.5 1.8.3 2.3-.5 0 0 .8-1.1 2.2-1.1 1.4 0 2.1 1 2.2 1.1.3.5.9.7 1.4.7.3 0 .6-.1.9-.3.8-.5 1-1.5.5-2.3-.5-.8-1.8-2-3.7-2.4-.4-.1-.8-.1-1.3-.1-.4 0-.9.1-1.3.1-1.9.4-
3.2 1.6-3.7 2.4-.5.8-.3 1.9.5 2.4zm0-2s.1-.2.3-.4l.3-.3c.7-.7 2-1.7 3.9-1.7 2.9 0 4.4 2.2 4.5 2.3.3.5.2 1.2-.3 1.5-.2.1-.4.2-.6.2-.4 0-.7-.2-.9-.5 0-.1-.9-1.3-2.6-1.3-1.1 0-1.8.5-2.2.9l-.4.4c-.3.5-1 .7-1.5.3-.7-.2-.9-.9-.5-1.4zM225.4 117.2c-.4-.1-.8-.1-1.3-.1-.4 0-.9.1-1.3.1-1.9.4-3.2 1.6-3.7 2.4-.5.8-.3 1.8.5 2.3.8.5 1.8.3 2.3-.5 0 0 .8-1.1 2.2-1.1 1.4 0 2.1 1 2.2 1.1.3.5.9.7 1.4.7.3 0 .6-.1.9-.3.8-.5 1-1.5.5-2.3-.5-.6-1.8-1.9-3.7-2.3zm2.9 4.3c-.2.1-.4.2-.6.2-.4 0-.7-.2-.9-.5l-.2-.2-.2-.2c-.4-.4-1.2-.9-2.3-.9-1.7 0-2.6 1.3-2.6 1.3-.3.5-1 .7-1.5.3-.5-.3-.7-1-.3-1.5.1-.1 1.5-2.3 4.5-2.3 1.4 0 2.5.5 3.2 1.1.1.1.2.2.3.2l.3.3c.4.4.6.7.7.8.2.4.1 1.1-.4 1.4z"/>
- <path fill="url(#l)" fill-rule="nonzero" d="M241.8 136.3c-7.4 7.4-10.4 9.3-19.4 11-14.7 1.3-34.1-.7-39.2-3.2-5.6-2.7-12-17.9-12-18.1-.1-.5-.5-.8-1-.8-.4 2.5.9 6.1 2.9 9.7.3.6.7 1.2 1.1 1.8.6.9 1.2 1.8 1.8 2.6.4.6.8 1.1 1.2 1.6.4.5.8 1 1.3 1.5.2.2.4.5.6.7.4.4.8.8 1.3 1.2.2.2.4.3.6.5.8.6 1.6 1.1 2.3 1.4 6.8 2.5 16.4 4.1 26.3 4.1 1.7 0 3.4-.1 5.1-.2h.2c.1 0 12.1-1.3 17.8-3.6.3-.1.6 0 .7.3.1.3 0 .6-.3.7-3.8 1.5-10.1 2.6-14.2 3.2-.3.2-.6.3-1 .5 10.2 0 19.5-1.3 23.1-4.7 4.3-4 3.1-12.5.8-10.2z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M250.4 158.2c-3.6 1.7-6.5 3.1-7.6 3.6 2.1-1 4.8-2.2 7.6-3.6z"/>
- <path fill="url(#m)" fill-rule="nonzero" d="M224.6 99.7c.7 0 1.4-.1 2.1-.1v-.2c0-.3.3-.6.6-.5l3.3.1c.3-1.1.7-1.7.8-1.7.2-.2.5-.3.8-.1.2.2.3.5.1.8-.1.1-1.4 1.9-.1 4.9.6 1.5 2.9 2.8 3.8 3.2.2.1.3.3.3.5 0 0 .4 4.6 3.5 8.4 3.4 4.2 8.4 5.7 8.5 5.7.2.1.4.2.4.4 0 0 .6 3.3 1.9 4.6.7.7 2.6 2.6 7.4 1.7.3-.1.6.1.6.4.1.3-.1.6-.4.6-1 .2-1.9.3-2.7.3-3.1 0-4.7-1.2-5.8-2.2-1.3-1.3-1.9-3.9-2.1-4.8-1.1-.4-4.5-1.7-7.4-4.6.6 1 1.2 1.9 2 2.9v.1c0 3.5 2.3 6.4 5.4 7.4.7 1.5 1.3 3.2 1.6 5.3h.1c.3-.1.6.1.7.4 0 .1.6 2.4.4 5.9h1.4c.3-1.1.6-2.3.9-3.5.2.1.5.1.8.2 1.6.2 3.1-.9 3.5-2.5h.2c.8.3 1.7.6 2.6.7 4.1.4 7.7-2.1 9-5.8 2.8-.2 5.1-2.2 5.5-5 .9-1.1 1.8-2.2 2.6-3.3 3.3-.5 5.8-3.4 5.7-6.9 0-.6-.1-1.2-.3-1.8 1.6-1.3 2.6-3.3 2.5-5.5 0-1.8-.8-3.5-2-4.7 0-1.5-.1-3-.3-4.4 1.3-1 2.2-2.5 2.5-4.2 0-.2.1-.5.1-.7V91v-.1c0-.3 0-.6-.1-.9v-.2c0-.3-.1-.5-.2-.7V89l-.3-.9s0-.1-.1-.1c-.1-.2-.2-.5-.4-.7 0 0 0-.1-.1-.1-.3-.5-.7-1-1.2-1.4-.5-.4-1-.8-1.6-1.1-1-.5-2-.8-3.2-.8-2.1-3.4-4.7-6.4-7.8-8.9 0-.4-.1-.9-.2-1.3s-.2-.8-.4-1
.1v-.1c-.1-.4-.3-.7-.5-1v-.1c-.2-.3-.4-.6-.7-.9-.3-.3-.5-.6-.8-.8l-.9-.6s-.1 0-.1-.1c-.3-.2-.6-.3-1-.4-.1 0-.1 0-.2-.1-.3-.1-.7-.2-1-.3h-.2c-.4-.1-.8-.1-1.2-.1h-1c-.2 0-.5.1-.7.2-.1 0-.2 0-.3.1-.6.2-1.2.5-1.8.8-1.6-.5-3.2-.9-4.9-1.1-.2-.2-.4-.4-.6-.5l-.2-.2c-.1-.1-.3-.2-.4-.3-.1-.1-.2-.1-.3-.2-.1-.1-.3-.2-.4-.2-.1 0-.2-.1-.3-.1-.1-.1-.3-.1-.4-.2-.1 0-.2-.1-.3-.1-.2-.1-.3-.1-.5-.1-.1 0-.2-.1-.3-.1-.2 0-.4-.1-.5-.1h-1c-.3 0-.6 0-.9.1-.9.1-1.7.4-2.5.8s-1.4.9-2 1.5c-.7.1-1.4.3-2.1.4-1.4.3-2.7.7-4 1.2-.6.2-1.3.5-1.9.8-.4-.1-.9-.2-1.3-.3-.3 0-.5-.1-.8-.1-.3 0-.7 0-1 .1h-.3c-2.5.4-4.6 2.2-5.5 4.5-.1.3-.2.7-.3 1-.1.3-.1.7-.2 1-.4.3-.7.7-1 1-.7.1-1.4.4-2.1.7-.6.3-1.2.8-1.7 1.3-.3.3-.6.6-.8.9-.5.7-.8 1.4-1.1 2.2-.2.6-.2 1.2-.3 1.8v.2c0 .3 0 .7.1 1-.2.3-.3.6-.5 1-.2.5-.4.9-.6 1.4-.2.4-.4.9-.5 1.3-.2.1-.3.1-.5.2-.1.1-.3.2-.4.3-.4.3-.7.7-.9 1.2-.2.5-.4 1-.4 1.5 0 .8.3 1.6.7 2.1-.1.4-.1.9-.2 1.3s-.1.9-.2 1.3c-.1.7-.1 1.4-.1 2.2.2.2.5.3.7.5l2.3-.7c.2-.1.4 0 .6.1 0 0 1.3 1.3 3.1 1.1.3 0 .5.1.6.3.6-
.3 1.2-.8 1.6-1.5zm37.2 25.8c.2-.2.6-.3.8-.1.1.1 2.3 1.9 4.9-.2 2.1-1.8 2.1-3.7 1.9-4.7-1.6 0-2.9-.6-3.7-1.2-.5-.4-.6-1-.3-1.6.4-.5 1-.6 1.6-.3.3.2 3.2 2.1 6.1-.9 3.4-3.4 1.7-6.8 1.7-6.8-.3-.5-.1-1.2.5-1.5.5-.3 1.2-.1 1.5.5.9 1.7 1.6 5.8-2.1 9.4-1.4 1.4-2.9 2-4.2 2.2.2 1.2.1 3.5-2.3 5.6-1.2 1-2.3 1.3-3.3 1.3-1.8 0-3.1-1.1-3.1-1.1-.2 0-.2-.4 0-.6zm-26-50.3c2.4-.3 3.9.7 4.7 1.7.1-.1.3-.1.4-.2 2.1-.9 3.9-.9 5.3-.4.6-1.2 1.9-2.7 4.7-3.1 4.2-.6 5.5 3.1 5.5 3.2.1.3-.1.6-.4.7-.3.1-.6-.1-.7-.4 0-.1-1-2.9-4.3-2.4-2.3.3-3.3 1.5-3.8 2.4 1.2.6 2 1.4 2.5 2.1.3.5.2 1.2-.3 1.5-.5.3-1.2.2-1.5-.3-.2-.3-2.3-3.1-6.1-1.4-4.4 2-4 5.8-4 5.8.1.6-.4 1.2-1 1.2h-.1c-.6 0-1-.4-1.1-1-.2-1.7.4-5.1 3.9-7.3-.6-.7-1.7-1.4-3.5-1.2-3.7.5-4.2 3.4-4.2 3.5 0 .3-.3.5-.5.5h-.1c-.3-.1-.5-.3-.5-.6 0 0 .6-3.7 5.1-4.3z"/>
- <path fill="url(#n)" fill-rule="nonzero" d="M233 105.8c.5.6 1.1 1.2 1.8 1.6.1.3.3.7.5 1.1-.1-.6-.2-1.1-.3-1.4-.4-.3-1.2-.7-2-1.3z"/>
- <path fill="url(#o)" fill-rule="nonzero" d="M202.5 90.4c1.3 1.2 3.4.6 4.4-.9v-.1c0-.1.3-5.4-2.2-7.4 0 0-.1 0-.1.1l-.2.2s-.1.1-.1.2c-.1.1-.1.2-.2.3 0 .1-.1.1-.1.2-.1.1-.1.2-.2.4 0 .1-.1.1-.1.2-.1.2-.2.3-.3.5 0 .1-.1.1-.1.2-.1.2-.2.5-.3.7 0 .1 0 .1-.1.2-.1.2-.2.4-.2.6 0 .1-.1.2-.1.3-.1.2-.1.3-.2.5 0 .1-.1.2-.1.3 0 .2-.1.3-.1.5 0 .1 0 .2-.1.3 0 .1-.1.3-.1.4V89.7c0 .1 0 .2.1.3v.2c0 .1.1.3.2.3.1-.2.1-.2.2-.1z"/>
- <path fill="url(#p)" fill-rule="nonzero" d="M209.1 94.2V94c-.1-.5-.3-1.4-.7-2.6-.1-.3-.2-.5-.3-.7-.6 2.1-3.7 3.3-5.8 1.5 0 .4-.1.7-.1 1.1 0 .6 0 1.1.1 1.6s.2 1 .4 1.3c.1.1.1.2.2.2.1.1.3.2.4.3.1.1.3.1.4.2 2.1.7 4.6-.6 5.4-2.7z"/>
- <path fill="url(#q)" fill-rule="nonzero" d="M204 98c0 .3.1.5.1.8-.1-.7-.2-1.3-.3-2 .1.4.1.8.2 1.2z"/>
- <path fill="url(#r)" fill-rule="nonzero" d="M210.6 95.5c-.4 2.7-3.6 4.7-6.5 3.5v.2c.1.4.2.8.2 1.1.4 1.6 1 2.9 1.6 3.4 2.8.5 6.9-1.5 7.1-4.5v-.5c-.2-.6-.5-1.4-1.1-2.1-.4-.4-.9-.8-1.3-1.1z"/>
- <path fill="url(#s)" fill-rule="nonzero" d="M214.2 112c-.1 0-.1-.1 0 0-.2-.4 0-.7.3-.8.2-.1 3.9-1.4 3.9-5.2 0-2.6-2.1-4.5-3.5-5.5.2 3.4-3.6 6.1-7 6 1.5 2.5 3.4 3 3.5 3 .6.1 1 .7.9 1.3-.1.5-.6.9-1.1.9.2.2.5.3.7.3.6.3 1.5.2 2.3 0z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M240.4 163.4c-.5 1.1-1 2.3-1.4 3.2-.1.3 0 .6.3.7h.2c.2 0 .4-.1.5-.3.7-1.7 1.6-3.7 2.1-4.6.1-.1.1-.3.2-.4.2-.1.3-.2.5-.2 1-.5 4-1.9 7.6-3.6 3-1.4 6.1-3 9-4.5 0-.3.1-.6.3-.9 0 0 0-.1.1-.2-5.5 2.5-17.4 8.1-18 8.5-.3.2-.8 1.2-1.4 2.3z"/>
- <path fill="url(#t)" fill-rule="nonzero" d="M275.8 140c-.7.2-1.3.6-2 .9v.4c.4 1.9 1.8 3.4 3.5 4.2.5-.6.9-1.1 1.3-1.7.3-.5.6-.9.8-1.3-.8-.2-1.5-.6-2-1.1-.4-.5-.7-1-.9-1.5-.2-.1-.4 0-.7.1z"/>
- <path fill="url(#u)" fill-rule="nonzero" d="M273.3 149.1c.1 0 .1-.1.2-.1l.6-.5c.2-.1.4-.3.6-.4.1-.1.2-.2.3-.2-.3-.2-.7-.4-1-.7-1.4-1.1-2.5-2.7-3-4.4-.1.1-.2.1-.3.2-.2.1-.4.3-.6.4l-.6.5c-.2.2-.4.3-.6.5-.6.5-1.2 1-1.7 1.5-.6.5-1.1 1-1.6 1.5-.9.9-1.8 1.9-2.6 2.9s-1.4 1.8-1.7 2.2c-.2.3-.3.5-.4.7l-.1.2c-.2.3-.2.7-.1 1 .1.4.3.7.6.8.3.2.7.2 1 .1 0 0 .1 0 .3-.1.2-.1.4-.1.7-.3.6-.2 1.4-.6 2.6-1.1h.1c-1.2-2.3-.6-5.1-.6-5.3.1-.6.7-1 1.3-.8.4.1.7.4.8.8 1.8-.4 4.1 0 5.8.6z"/>
- <path fill="url(#v)" fill-rule="nonzero" d="M281.4 141.3c.9-.2 2.7-.9 4.2-3.5-1-.8-2.6.8-3.3-.6-.6-1.1.1-1.5-.4-2.1h-.6c-1.6 0-2.9.7-3.5 1.9-.6 1.1-.3 2.5.6 3.5.6.8 1.8 1.1 3 .8z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M267.5 148.5c.1.2.1.4 0 .6 0 0-.5 2.5.5 4.1.5.8 1.3 1.2 2.4 1.4 1.3.2 2.3 0 3.1-.6 1.2-.9 1.4-2.7 1.4-2.7 0-.4.3-.7.6-.9-.3-.3-.7-.5-1.1-.8-.3-.2-.7-.4-1.2-.5-1.6-.6-3.9-1-5.7-.6z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M148 139.7c-.3.1-.4.5-.3.7 2 4.3 4 8.2 6 12 .1.2.3.3.5.3.1 0 .2 0 .3-.1.3-.1.4-.5.2-.8-2-3.7-4-7.6-6-11.9-.1-.2-.4-.4-.7-.2zM160.4 163.3c.1 0 .2 0 .3-.1.3-.2.3-.5.2-.8-.6-.9-1.2-1.9-1.8-2.8-.1-.1-.2-.2-.4-.3.6 1.2 1 2.4 1.2 3.7.2.2.4.3.5.3zM143.3 129.9h-.2v.4l.4 1c.1.2.3.3.5.3h.2c.3-.1.4-.5.3-.7l-.4-1h-.8zM283.4 171.4c1.5-1.3 3.1-2.7 4.6-4.1.2-.2.2-.6 0-.8-.2-.2-.6-.2-.8 0-1.7 1.5-3.3 3-5 4.4.3.2.6.4.9.7.2-.1.2-.2.3-.2zM185 190.5c-.2.2-.1.6.1.8.4.3.8.5 1.2.8.5.4 1.1.8 1.6 1.1.1.1.2.1.3.1.1 0 .2-.1.3-.1l.1-.1c.2-.3.1-.6-.1-.8-.7-.5-1.5-1-2.2-1.5-.2-.1-.4-.3-.6-.4-.2-.2-.5-.1-.7.1zM242.5 197.6h.2c4-1.5 8-3.5 12.2-5.7.3-.1.4-.5.2-.8-.1-.3-.5-.4-.8-.2-4.1 2.2-8.1 4.1-12 5.7-.3.1-.4.4-.3.7.1.2.3.3.5.3zM270 181.4c-.2-.2-.5-.3-.8-.1l-.9.7c-.1.1-.2.2-.2.3l1.2.3.5-.4c.4-.2.4-.6.2-.8zM169.9 175c-.2-.2-.5-.3-.8-.1-.2.2-.3.5-.1.8 3 3.6 6 7 9.2 9.8.1.1.2.1.4.1.1 0 .3-.1.4-.2.2-.2.2-.6 0-.8-.6-.5-1.2-1.1-1.7-1.7-1.2-1.2-2.4-2.4-3.6-3.7-1.3-1.2-2.6-2
.7-3.8-4.2zM164 167l-.6-.9c-.2-.3-.5-.3-.8-.2-.3.2-.3.5-.2.8l.6.9c.1.2.3.2.5.2.1 0 .2 0 .3-.1.3-.1.3-.4.2-.7zM191.8 195.5c.3.2.7.4 1 .5.1 0 .2.1.3.1.2 0 .4-.1.5-.3.1-.3 0-.6-.2-.8-.3-.2-.6-.3-1-.5-.3-.1-.6-.1-.8.2-.2.4-.1.7.2.8zM202.4 198.9c-.3-.1-.6.1-.7.4-.1.3.1.6.4.7.7.2 1.5.4 2.2.6l.3-1.1c-.7-.1-1.5-.3-2.2-.6zM169.1 184.2c-1.7-2.3-3.4-4.7-5-7.1-1.6-2.4-3.2-4.9-4.7-7.4-.3.8-.7 1.5-1.2 2.3 4.5 7.3 9.2 13.9 14 19.6l2.3-.7c-1.9-2.1-3.7-4.3-5.4-6.7zM133.2 123l2.1-1.3-2.1 1.3zM271.7 191c.1 0 .2.1.3.1.6.1 1.2.2 1.8.2.3 0 .7 0 1-.1 3.4-2.9 5.2-5 5.3-5 0 0 0-.1.1-.1l-2.4-.6c-1 1-3.1 3-6.1 5.5zM193.6 208.9c.8.3 1.5.6 2.3.8 2.9.9 5.8 1.6 8.6 2.2.8.2 1.6.3 2.5.4 1.6.3 3.2.5 4.8.6l-4.8-1.4c-1.2-.3-2.2-1.1-2.9-2.1-.1 0-.2 0-.3-.1-2.4-.5-4.7-1.1-7.2-1.9-1.4-.4-2.8-1-4.1-1.7-1-.5-1.9-1-2.9-1.6-1.2-.7-2.4-1.6-3.6-2.5-.3-.2-.6-.4-.9-.7l.6 1.9c.1.3.1.5.1.8.2.2.3.5.4.7v.1c.5.4 1.1.7 1.6 1.1 1 .6 1.9 1.2 2.9 1.7.9.9 1.9 1.3 2.9 1.7zM266.3 197.8c-.7-.4-1.3-.8-2-1.3-1.9 1.3-4 2.6-6.2 3.9-5 2.9-10.9 5.
6-17.4 7.6h-.1c-.9.3-1.9.6-2.8.8-.8.2-1.6.4-2.3.6-1.5.4-3.1.7-4.7.9l-.7 2.3c1.7-.3 3.4-.5 5-.9l2.4-.6c1-.2 1.9-.5 2.9-.8 6.3-1.8 12-4.3 17-7 2.8-1.5 5.4-3.1 7.8-4.7.3-.2.7-.5 1.1-.8z"/>
- <path fill="#FFFEFE" fill-rule="nonzero" d="M235.2 188.8c-.7-1.3-1.9-2.3-3.3-2.7l-.9-.3-15.3-4.4c-.5-.1-1-.2-1.6-.2-2.5 0-4.7 1.7-5.4 4l-4.1 14.3-.3 1.1-1.2 4.1c-.2.6-.2 1.1-.2 1.7 0 .3 0 .5.1.8.1.5.2 1 .5 1.5.1.1.1.2.1.3 0 0 0 .1.1.1.1.2.2.4.4.5.7 1 1.7 1.7 2.9 2.1l4.8 1.4 3.8 1.1 7 2 .7.2c.5.1 1 .2 1.6.2.8 0 1.5-.2 2.2-.5 1.5-.7 2.6-1.9 3.1-3.5l.7-2.3 4.9-17.1c.3-1.5.1-3.1-.6-4.4zm-1.7 3.7l-5.6 19.4c-.4 1.5-1.8 2.4-3.2 2.4-.3 0-.6 0-.9-.1l-16.2-4.7c-1.8-.5-2.8-2.4-2.3-4.2l5.6-19.4c.4-1.5 1.8-2.4 3.2-2.4.3 0 .6 0 .9.1l16.2 4.7c1.8.5 2.8 2.4 2.3 4.2z"/>
- <path fill="#FFFEFE" fill-rule="nonzero" d="M228.7 191.1l-12.9-3.7c-.2 0-.3-.1-.5-.1-.7 0-1.4.5-1.6 1.2l-4.7 16.2c-.3.9.3 1.8 1.2 2.1l12.9 3.7c.2 0 .3.1.5.1.7 0 1.4-.5 1.6-1.2l4.7-16.2c.2-.9-.4-1.9-1.2-2.1zm-14.4 7.2c.1-.4.4-.6.8-.6h.2l8.1 2.3c.4.1.7.6.6 1-.1.4-.4.6-.8.6h-.2l-8.1-2.3c-.5-.1-.7-.5-.6-1zm-.9 3.2c.1-.4.4-.6.8-.6h.2l3.2.9c.4.1.7.6.6 1-.1.4-.4.6-.8.6h-.2l-3.2-.9c-.5 0-.8-.5-.6-1zm9.7 6.7l-10-2.9-1.9-.5.4-1.3c.4.6 1 1 1.7 1.2l.9.2 2.4.7c.3.1.6.1.9.1 1.4 0 2.6-.9 2.9-2.2 0-.1.1-.2.1-.3l1.9.6c.3.1.6.1.9.1.4 0 .9-.1 1.3-.3l-1.5 4.6zm1.8-10.3c-.1.4-.4.6-.8.6h-.2l-8.1-2.3c-.4-.1-.7-.6-.6-1 .1-.4.4-.6.8-.6h.2l8.1 2.3c.5.1.8.5.6 1zm1-3.3c-.1.4-.4.6-.8.6h-.2l-8.1-2.3c-.4-.1-.7-.6-.6-1 .1-.4.4-.6.8-.6h.2l8.1 2.3c.4.1.7.6.6 1zM275 168.4c-.4 0-.7-.1-1.1-.1-1.7 0-3.4.3-5.1.9-.7.3-1.4.5-2.1.9-1.1.6-2.1 1.3-3.1 2.2-1.3 1.2-2.5 2.7-3.3 4.3-.7 1.4-.6 3.1.3 4.3-1.3.4-2.3 1.5-2.6 2.8l-1.9 7.3c-.3 1-.1 2.1.4 3 0 .1 0 .1.1.2.2.3.4.5.6.8.5.5 1.2.9 1.9 1.1.3.1.7.1 1 .1 1.1 0 2.1-.4 2.9-1.2
.5.5.9.9 1.5 1.3.6.5 1.3.9 2 1.3l1.2.6c1.5.7 3.1 1.1 4.7 1.3.6.1 1.1.1 1.7.1 2.5 0 5-.6 7.2-1.8 2.8-1.5 5-3.7 6.4-6.5.5-1 .6-2.1.3-3.1 0-.1-.1-.2-.1-.3-.1-.3-.3-.6-.4-.8.5-.2.9-.5 1.3-.8.6-.5 1.1-1.2 1.3-2l1.9-7.3c.3-1.1.1-2.2-.4-3.1-.5-.9-1.4-1.6-2.4-1.9h-.1c-.3-.1-.7-.1-1-.1-1.1 0-2.1.4-2.9 1.2-.5-.6-1.1-1-1.7-1.5-.3-.2-.6-.5-.9-.7-.7-.4-1.4-.8-2.1-1.1-.9-.4-1.9-.7-2.9-1-1.1-.2-1.8-.3-2.6-.4zm10.6 22.1c-1.2 2.4-3.1 4.3-5.5 5.6-2 1-4.1 1.5-6.1 1.5-4.7 0-9.2-2.5-11.5-6.9l-.5 2c-.2.9-1 1.4-1.8 1.4-.2 0-.3 0-.5-.1-1-.3-1.6-1.3-1.4-2.3l1.9-7.3c.2-.9 1-1.4 1.8-1.4.2 0 .3 0 .5.1l7.3 1.9c1 .3 1.6 1.3 1.4 2.3-.2.9-1 1.4-1.8 1.4-.2 0-.3 0-.5-.1l-3.7-1c1.1 2.8 3.5 4.9 6.4 5.6.8.2 1.5.3 2.3.3 3.4 0 6.6-1.8 8.3-4.9.4-.6 1-.9 1.6-.9.3 0 .6.1.9.2h.1c.9.5 1.2 1.6.8 2.6zm-10.6-7c.6 1 1.4 1.6 2.5 1.9l.3.1 2.4.6 1 .3c-.4.3-.7.7-1 1.1v.1c-1.1 2-3.1 3.4-5.3 3.7-.3 0-.7.1-1 .1-.6 0-1.2-.1-1.8-.2-.1 0-.2-.1-.3-.1l-.9-.3c1.2-.5 2.2-1.5 2.5-2.8.4-1.4 0-2.8-1-3.8-.5-.6-1.2-1-2-1.2l-.9-.2-1.2-.3-1.6-.4c.5-.
4.8-.8 1.1-1.4 1.3-2.2 3.7-3.6 6.3-3.6.3 0 .6 0 .9.1.3 0 .6.1.9.2.4.1.8.3 1.2.4h-.1c-1 .4-1.9 1.3-2.3 2.4 0 .1-.1.2-.1.4-.3.8-.2 1.9.4 2.9zm10.4-6l.5-2c.2-.9 1-1.4 1.8-1.4.2 0 .3 0 .5.1 1 .3 1.6 1.3 1.4 2.3l-1.9 7.3c-.2.9-1 1.4-1.8 1.4-.2 0-.3 0-.5-.1l-7.3-1.9c-1-.3-1.6-1.3-1.4-2.3.2-.9 1-1.4 1.8-1.4.2 0 .3 0 .5.1l3.7 1c-1.1-2.8-3.5-4.9-6.4-5.6-.8-.2-1.6-.3-2.4-.3-3.3 0-6.5 1.8-8.2 4.8-.3.7-1 1.1-1.7 1.1-.2 0-.3 0-.5-.1l-.4-.1h-.1c-.9-.5-1.3-1.6-.8-2.5 1.2-2.4 3.1-4.3 5.5-5.6 2-1 4.1-1.5 6.1-1.5 4.8-.2 9.3 2.3 11.6 6.7zM160.2 164.9c0-.6-.1-1.3-.2-1.9-.2-1.3-.6-2.6-1.2-3.7-1.4-2.7-3.7-4.8-6.7-6-.7-.3-1.5-.5-2.3-.6-.7-.1-1.4-.2-2.1-.2h-.4c-1 0-2 .2-3 .4 0-.1-.1-.3-.1-.4-.3-.7-.9-1.2-1.6-1.5-.3-.1-.7-.2-1-.2-.6 0-1.2.2-1.7.5s-.8.8-1 1.3l-1.2 3.2-1.1 2.9c-.4 1.1-.1 2.3.7 3.1-1.3.5-2.2 1.8-2.2 3.3 0 1.9.5 3.7 1.3 5.3.3.7.7 1.3 1.1 1.9 2.3 3.2 6 5.2 10.2 5.2h.1c3.4 0 6.5-1.4 8.8-3.8.6-.6 1.1-1.2 1.6-1.9s.8-1.5 1.2-2.3c.5-1.3.8-2.9.8-4.6zm-12.5 10.5h-.1c-3.6 0-6.8-1.8-8.6-4.6-.6-.9-1.1-1.9
-1.3-3-.2-.8-.4-1.7-.4-2.6 0-.4.1-.7.4-.9.2-.2.6-.4.9-.4.7 0 1.3.6 1.3 1.3 0 2.2 1 4.4 2.7 5.9 1.5 1.3 3.3 1.9 5.1 1.9 2.2 0 4.3-.9 5.8-2.7 2.8-3.2 2.5-8.1-.7-10.9-1.5-1.3-3.3-1.9-5.1-1.9-2.2 0-4.3.9-5.8 2.7l3.7 1.4c.3.1.5.5.4.8-.1.3-.3.4-.6.4h-.2l-5.2-2-.8-.3c-.3-.1-.5-.5-.4-.8l1.2-3.2 1.1-2.8c.1-.3.3-.4.6-.4h.2c.3.1.5.5.4.8l-1.2 3.3c1.9-1.7 4.3-2.5 6.8-2.5 1.2 0 2.4.2 3.6.6 4 1.5 6.6 5.3 6.6 9.5-.1 5.7-4.7 10.3-10.4 10.4zm-5.8-11.5l1.9.7-.2.1h-.1c-.6.3-1 .7-1.3 1.2 0-.2-.1-.5-.1-.8 0-.3 0-.8-.2-1.2zm5.6 1.6l1.7-4.6c.1-.3.3-.4.6-.4h.2c.3.1.5.5.4.8l-1.8 4.8c0 .2-.1.3-.3.4L145 168l-.1-.2-.8-.3c-.1-.3 0-.7.3-.8l3.1-1.2zm-.6-5.7h.4c0 .1-.1.2-.1.3-.1-.2-.2-.3-.3-.3zm3.9 7l1.6-4.4c.4.7.7 1.5.7 2.4.1 1.5-.4 2.9-1.3 4-1 1.2-2.6 1.9-4.2 1.9-.8 0-1.5-.2-2.2-.5.2 0 .3-.1.5-.2l3.3-1.5c.1 0 .2-.1.2-.1.7-.3 1.2-.9 1.4-1.6zM185.7 204c0-.3 0-.5-.1-.8l-.6-1.9-.3-1.1c-.1-.3-.2-.5-.4-.7 0-.3 0-.5-.1-.8l-.9-3.1c-.1-.3-.2-.5-.4-.7 0-.3 0-.5-.1-.8-.7-2.3-2.8-3.9-5.2-3.9-.5 0-1.1.1-1.6.2-.3.1-.5.2-.7.4h-
.2c-.2 0-.4 0-.6.1h-.2l-2.3.7-.6.2c-.3.1-.5.2-.7.4h-.2c-.2 0-.4 0-.6.1l-3.1.9c-.3.1-.5.2-.7.4h-.2c-.2 0-.4 0-.6.1l-3.1.9c-.3.1-.5.2-.7.4h-.2c-.2 0-.4 0-.6.1-2.9.9-4.5 3.9-3.6 6.8.1.3.2.5.4.7 0 .3 0 .5.1.8l.1.2c-.7.7-1.2 1.5-1.5 2.5-.5 1.6-.4 3.3.3 4.8.7 1.4 1.8 2.4 3.2 3-.3.5-.6 1.1-.8 1.8-.9 3.3 1.1 6.7 4.5 7.6.5.1 1 .2 1.6.2 2.8 0 5.3-1.9 6-4.7.3-1 .3-2.1 0-3.1l.6-.8c.1.1.2.1.3.2l5.7 2.1h.1c.6.2 1.1.3 1.7.3 2.3 0 4.4-1.5 5.2-3.7v-.1c.3-1-.1-2-.9-2.5 2.1-1.2 3.2-3.8 2.5-6.2v-.1c-.2-.5-.3-.7-.5-.9zm-2.2-.2l-3.1.9-.9-3.1 3.1-.9.9 3.1zm-4 5.7l-3.1-1.1 2-2.7c.1.1.2.3.2.4 0 .3 0 .5.1.8l.8 2.6zm2.6-10.3l-3.1.9-.9-3.1 3.1-.9.9 3.1zm-4.4-6.8c1.4 0 2.6.9 3.1 2.3l-3.1.9-.9-3.1c.2-.1.5-.1.9-.1zm-2.5.6l.9 3.1-3.1.9-.9-3.1 3.1-.9zm-3 6.5c.3-.1.5-.2.7-.4h.2c.2 0 .4 0 .6-.1l2.5-.7.1.3c-1.5.1-2.8.9-3.7 2l-3.7 5-1-.4c-.5-1.2-1.4-2.2-2.5-2.9l-.2-.8 2.5-.7c.3-.1.5-.2.7-.4h.2c.2 0 .4 0 .6-.1l3-.8zm-1.6-5.2l.9 3.1-3.1.9-.9-3.1 3.1-.9zm-4.6 1.4l.9 3.1-3.1.9-.9-3.1 3.1-.9zm-4.6 1.4l.9 3.1-3.1.9c-.4-1.7.5
-3.5 2.2-4zm7.1 17.9c.1.2.2.5.2.8.2.7.2 1.5.1 2.2-.5 1.8-2.1 3-3.9 3-.3 0-.7 0-1-.1-2.1-.6-3.4-2.7-2.9-4.9.5-1.8 2.1-3 3.9-3 .3 0 .7 0 1 .1l1.7-2.2-2.3-.8c-.4.6-.9 1-1.5 1.4-.6.3-1.2.4-1.8.4-1.5 0-2.9-.8-3.6-2.2-1-2-.2-4.4 1.8-5.4l-.5-1.7 3.1-.9.7 2.3c1.2.4 2.1 1.4 2.5 2.6l.1.5 3.6 1.3 4.6-6.2c.6-.8 1.6-1.2 2.5-1.2.7 0 1.4.2 2 .7L168.5 215zm13.9-2.1c-.4 1.3-1.7 2.2-3 2.2.1.1.1.3 0 .4-.1.2-.3.4-.5.4h-.2l-3.8-1.3c-.3-.1-.4-.4-.4-.7 0-.1.1-.2.2-.3l-2.1-.8 2-2.6 7.8 2.7zm-.6-3.6l-.9-3.1 3.1-.9c.5 1.7-.5 3.5-2.2 4z"/>
- <path fill="#FFFEFE" fill-rule="nonzero" d="M166.9 216.4c-.3-.9-1.1-1.5-2-1.5-.2 0-.4 0-.6.1-1.1.3-1.7 1.5-1.4 2.6.3.9 1.1 1.5 2 1.5.2 0 .4 0 .6-.1h.2c1-.3 1.6-1.4 1.3-2.4-.1-.1-.1-.2-.1-.2zM163.9 207.1c-.3-.8-1.1-1.3-1.9-1.3-.3 0-.5 0-.8.1-1.1.4-1.6 1.6-1.2 2.7.3.8 1.1 1.3 1.9 1.3.3 0 .5 0 .8-.1.1 0 .1 0 .2-.1 1-.4 1.5-1.5 1.1-2.5l-.1-.1zM136.1 109.9c-.3.6-.5 1.2-.6 1.8 0 .1-.1.2-.1.4-.1.7-.2 1.3-.2 2l-.4.2-.6.4-.9.6-.2.1-.4.3-2 1.2-2.7 1.7-2.3 1.4c-.3.1-.5.3-.7.5-1.8 1.4-2.5 3.9-1.5 6 .8 1.8 2.6 3 4.6 3h.2c.7 0 1.3-.2 1.9-.4.3-.2.7-.3 1-.6l.4-.2 1.6-1 1.1-.7.5-.3 1.9-1.2.9-.6 2.2-1.4.6-.4c.6.3 1.3.6 2 .7h.1c.7.2 1.4.2 2.1.2 4.5 0 8.4-3.1 9.4-7.5.3-1.4.3-2.9 0-4.4-.3-1.1-1-2-2.1-2.4h-.1c0-1.1-.5-2.1-1.3-2.8-1.1-.9-2.4-1.5-3.8-1.8h-.1c-.6-.1-1.3-.2-2-.2-1.8 0-3.4.5-4.9 1.4-.8.5-1.6 1.1-2.2 1.8-.4.6-1 1.4-1.4 2.2zm2.8 2.8c.6-2.9 3.2-4.9 6-4.9.4 0 .8 0 1.3.1.9.2 1.7.6 2.4 1.2l-.2.1.1.1-4.4 2.8c-.3.2-.6.5-.7.8-.2.6-.2 1.2.2 1.7.4.6 1 .9 1.7.9.4 0 .7-.1 1-.3l4.6-2.7c.2.9.2 1.9 0 2.8
-.3 1.5-1.2 2.7-2.2 3.5-1.1.8-2.4 1.3-3.8 1.3-.4 0-.9 0-1.3-.2-1-.3-2-.8-2.8-1.6l-.7.4-2.2 1.4-2.4 1.5-2.1 1.3-4 2.5c-.1.1-.2.2-.4.2-.2.1-.4.1-.6.1h-.1c-.6 0-1.1-.3-1.4-.9-.3-.8 0-1.7.8-2l11.5-7.3c-.1-.5-.2-1-.2-1.5-.3-.3-.3-.8-.1-1.3z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M154.8 144.4l-2.2-4.7c-.1-.3-.5-.4-.7-.3-.3.1-.4.5-.3.7l2.2 4.7c.1.2.3.3.5.3.1 0 .2 0 .2-.1.3 0 .4-.4.3-.6zM161 185.3c.1.2.3.2.5.2.1 0 .2 0 .3-.1.3-.2.3-.5.1-.8l-2.5-3.5c-.2-.3-.5-.3-.8-.1-.3.2-.3.5-.1.8l2.5 3.5z"/>
- <path fill="#E1E1E6" fill-rule="nonzero" d="M179 214.8l-3.8-1.3c-.2-.1-.3 0-.5.1-.1.1-.2.2-.2.3-.1.3.1.6.4.7l3.8 1.3h.2c.2 0 .5-.1.5-.4v-.4c-.1-.2-.2-.3-.4-.3zM179.7 181.2c.1 0 .3 0 .4-.1.2-.2.3-.5.1-.8l-2.7-3.2-1.6-1.9c-.2-.2-.5-.3-.8-.1-.2.2-.3.5-.1.8l.9 1.1 3.3 4c.2.1.4.2.5.2z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M268.1 159.5l-6 5.5c-.2.2-.2.6 0 .8.1.1.3.2.4.2.1 0 .3 0 .4-.1l6-5.5c.2-.2.2-.6 0-.8-.2-.3-.5-.3-.8-.1zM125.9 112.2c.1.2.3.4.5.4h.2c.3-.1.4-.4.3-.7l-1.7-4.7c-.1-.3-.4-.4-.7-.3-.3.1-.4.4-.3.7l1.7 4.6z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M98.9 188.6c.6-.9 1.6-1.5 2.5-1.7-1.1.2-2.2.8-2.9 1.8-.2.2-.3.5-.4.7h.2c.2-.2.3-.5.6-.8zM113 187.5c-.7-.2-1.3-.4-2-.3-1.6 0-3.3.8-4.3 2.1 0 .1.1.2.1.3 1.4-2 3.9-2.8 6.2-2.1zM95.5 213.7c.3.6.7 1.2 1.3 1.6.5.4 1.1.6 1.7.6l-.1-.1c-.6-.1-1.2-.3-1.7-.7-.6-.4-1-.9-1.2-1.4zM90.5 210.7c-2-1.5-2.9-4-2.4-6.3-.6 2.4.3 5 2.4 6.5 1.1.8 2.4 1.1 3.6 1.1.3 0 .7 0 1-.1v-.2c-1.6.4-3.2.1-4.6-1zM91.6 191.8c.4-.5.8-1 1.3-1.4-.6.4-1.2.9-1.6 1.6-1.8 2.5-1.4 5.9.8 7.9.1 0 .2-.1.3-.1-2.3-2-2.7-5.5-.8-8zM116.4 197.4c.2.1.3.2.5.4-.2-.2-.4-.4-.7-.5-.2-.2-.5-.3-.8-.4.3.1.7.3 1 .5zM109.4 218.5l-.6-3.3h-.1l.5 3.3c.1.1.2.1.2 0zM108.5 214.1c.1 0 .1 0 0 0 .1 0 .1 0 0 0zM102.4 213.5c-.1.3-.2.5-.4.7l-.3.3s0 .1.1.1l.3-.3c.1-.2.2-.5.3-.8l.1.1c.3.2.6.3.9.5-.4-.1-.7-.3-1-.6 0 .1 0 0 0 0zM111.9 213.8c0 .1.1.2.2.4.2.4.4.9.5 1.4 0-.1 0-.1.1-.2-.2-.5-.4-1-.5-1.4-.1-.1-.2-.2-.3-.2 0-.3-.2-.5-.5-.5h-.2c-.1 0-.2.1-.2.2.1 0 .1-.1.2-.1.3 0 .6.1.7.4zM110.3 225.1c.1.3-.2.6-.6.8-.5.3-1.2.5
-1.8.5.7-.1 1.4-.3 2-.5.5-.2.8-.6.7-.9l-1-5.4h.1c-.1 0-.2.1-.2.1l.8 5.4zM99.7 215.7l.1.1h.1c-.1 0-.1 0-.2-.1zM104.3 217.3c-.7-.2-1.3-.5-1.9-.9.6.4 1.2.7 1.9.9z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M114.5 211.4c.3.1.5.4.5.7-.4 1.9-1 4.2-2.5 5.8l-.1.1c-.5.6-1.2 1.1-2 1.4.9-.4 1.6-.9 2.1-1.5l.1-.1c1.4-1.6 2-3.9 2.4-5.8.1-.3-.1-.6-.5-.7h-.1c-.3 0-.5.2-.6.5v.1c.1-.3.4-.5.7-.5z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M121.5 195.5c.4-1.4.5-2.9.2-4.4-.4-2.7-1.9-5.1-4.2-6.8-1.8-1.3-3.9-2-6.1-2-1.4 0-2.7.3-4 .8-1.4-.9-3.1-1.3-4.8-1.3-2.4 0-4.7.9-6.4 2.5-3.3.1-6.5 1.8-8.4 4.5-1.9 2.7-2.5 6.2-1.6 9.3-.3.3-.6.7-.9 1.1-3.5 4.9-2.4 11.7 2.5 15.2 1.2.8 2.5 1.4 3.8 1.8.6 1 1.4 1.9 2.4 2.6 1.2.9 2.6 1.4 4 1.5.7.6 1.5 1 2.4 1.5l.7 4.2.1.5c.3 2.1 2.2 4.6 6.2 4.6.7 0 4.4-.1 6.5-2.6.5-.6.8-1.2 1-1.9.2-.8.3-1.6.2-2.4l-.3-2.1c.4-.3.8-.7 1.2-1.1l.2-.2c2.2-2.5 3.1-5.7 3.5-7.9.1-.5.1-1.1.1-1.6.8-.6 1.5-1.4 2.1-2.2 1.8-2.4 2.5-5.4 2-8.4-.4-1.9-1.2-3.7-2.4-5.2zm-1.9 12.1c-.8 1.1-1.8 2-3 2.7.4.6.6 1.4.5 2.1-.4 1.9-1.1 4.8-2.8 6.8l-.1.1c-.6.7-1.3 1.2-2.1 1.7l.7 3.6c.1.5 0 1.1-.2 1.6-.1.3-.2.5-.4.7-1.1 1.3-3.1 1.8-4.6 1.8-2.4 0-3.6-1.2-3.8-2.5l-.1-.5-1-5.5c-1.5-.6-2.7-1.3-3.7-2.2-1.3 0-2.5-.3-3.5-1.1-1-.7-1.8-1.7-2.2-2.8-1.5-.1-2.9-.6-4.1-1.5-1.8-1.3-3.1-3.2-3.5-5.4-.4-2.2.1-4.4 1.4-6.3.5-.7 1.1-1.3 1.7-1.8-1.4-2.7-1.2-6 .6-8.6 1.5-2.2 4.1-3.6 6.8-3.6h.7c1.3-1.6 3.2-2.6 5.3
-2.6 1.4 0 2.8.4 4 1.2.2.2.4.3.6.5 1.2-.8 2.7-1.3 4.2-1.3 1.7 0 3.3.5 4.6 1.4 1.7 1.2 2.9 3 3.3 5.1.3 1.6.1 3.2-.6 4.6 1.5 1.3 2.4 3 2.8 5 .4 2.5-.1 4.9-1.5 6.8z"/>
- <path fill="url(#w)" fill-rule="nonzero" d="M108.2 214.3c.1 0 .2-.1.3-.1-.1 0-.2 0-.3.1z"/>
- <path fill="url(#x)" fill-rule="nonzero" d="M110.3 225.1l-.9-5.4c.1 0 .2-.1.2-.1.2-.1.5-.1.7-.2.8-.3 1.5-.8 2-1.4l.1-.1c1.4-1.6 2.1-3.9 2.5-5.8.1-.3-.1-.6-.5-.7-.3-.1-.6.1-.7.4-.2 1.2-.6 2.6-1.1 3.7v-.1c0 .1 0 .1-.1.2-.2-.5-.4-1-.5-1.4-.1-.2-.1-.3-.2-.4-.1-.3-.4-.5-.7-.4-.1 0-.1.1-.2.1-.1.2-.2.4-.1.6 0 .1.1.3.2.5.2.4.5 1 .6 1.6.2.6.1.9 0 .9l-.1.1c-.4.5-1 .9-1.6 1.1-.2.1-.3.1-.5.2h-.1l-.5-3.3c-.9.3-1.8.4-2.2.4h-.4c-.3 0-.5-.3-.5-.6 0-.1.1-.2.2-.3-.7 0-1.3-.2-2-.4h.1l.5 3s-.1 0-.1-.1c-.7-.2-1.3-.5-2-.9-.1 0-.2 0-.3-.1-1.2-.7-1.9-1.8-2.2-2.7v-.1-.2c-.1-.2-.1-.4-.1-.6v-.1c0-.1-.1-.3-.2-.4-.1-.1-.3-.1-.5 0-.3.1-.3.9-.1 1.8.2.6.6 1.2 1 1.7l.1.1c.3.4.7.7 1 1 1.1.9 2.5 1.4 3.8 1.8l1.3 7.2c1.3 0 2.6.1 3.8.1.1-.1.4-.3.3-.7z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M107.5 226.5h.4c.7-.1 1.4-.3 1.8-.5-1.2-.1-2.5-.1-3.8-.1v.1c.2.4.8.5 1.6.5z"/>
- <path fill="url(#y)" fill-rule="nonzero" d="M107.5 226.5h.4c.7-.1 1.4-.3 1.8-.5-1.2-.1-2.5-.1-3.8-.1v.1c.2.4.8.5 1.6.5z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M105.2 203.6c.8-.3 1.5-.5 2.3-.8-.8.3-1.6.6-2.3.8zM102.8 204.3c-.7.2-1.5.3-2 .5.6-.2 1.3-.3 2-.5zM98.8 214s0 .1 0 0c.2.7.6 1.3.9 1.7h.1c-.5-.5-.8-1-1-1.7zM107.4 202.8c.7-.3 1.4-.6 1.9-.8-.5.2-1.2.5-1.9.8zM99.6 212.7s.1 0 0 0c.1.1.1 0 0 0z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M105.8 214.7c.1-.1.3-.2.4-.2 0 0 1 .1 2-.3.1 0 .2-.1.3-.1h.1c.4-.2.8-.5 1.2-.8l.1-.1.4-.4.5-.5c.1-.1.1-.2.2-.3.6-.9 1-2 1.1-3h.6c2 0 4-1 5.3-2.8 1.9-2.7 1.4-6.4-1-8.5-.1-.1-.3-.2-.5-.4-.3-.2-.6-.4-1-.6-.1 0-.1-.1-.2-.1.2-.2.4-.4.5-.6 1.8-2.6 1.2-6.1-1.4-7.9-.4-.3-.9-.5-1.3-.7-2.2-.7-4.8.1-6.2 2.1 0-.1-.1-.2-.1-.3-.1.1-.1.2-.2.2-.3-.8-.9-1.5-1.6-2-.8-.6-1.7-.8-2.7-.8-.3 0-.5.1-.8.1-1 .3-1.9.8-2.5 1.7-.2.3-.4.6-.5.9h-.2c0 .1-.1.1-.1.2-.6-.2-1.2-.2-1.8-.2-1.2 0-2.3.4-3.3 1-.5.4-1 .8-1.3 1.4-1.8 2.5-1.4 6 .8 8.1-.1 0-.2.1-.3.1l.1.1c-1.3.4-2.4 1.2-3.2 2.4-.2.3-.4.7-.6 1.1v.1l-.3.9c-.5 2.3.4 4.8 2.4 6.3 1.4 1 3.1 1.3 4.6 1.1v.2c0 .3 0 .6.1.9v.1c.1.2.1.4.2.6.3.6.7 1.1 1.2 1.4.5.4 1.1.6 1.7.7-.3-.4-.5-.9-.6-1.4-.7-2.4.3-3 .7-3.2.5-.2 1.1-.2 1.5.1.4.3.7.7.8 1.3 0 .5.3 1.3.9 2l.3-.3c.2-.2.3-.5.4-.7 0 0 .1 0 .1.1.3.2.6.4.9.5.1.1.3.1.4.2h.1c.5.2 1.1.3 1.8.3zm2.1-19.7c.6-.2 1.3.1 1.5.7l.8 2.4c-.8-.1-1.6.2-2.2.8l-.8-2.4c-.3-.7.1-1.3.7-1.5zM97 199.8c-.2
-.6.1-1.3.7-1.5.6-.2 1.3.1 1.5.7l.8 2.4c-.8-.1-1.6.2-2.2.8l-.8-2.4zm6.3 8.1c.1-.1.1-.2.2-.2-.1.1-.2.1-.2.2-.2 0-.4 0-.6-.1-.7-.1-1.4-.3-2.1-.6-.4-.2-.8-.3-1.1-.6-.4-.2-.8-.5-1.2-.8l-.2-.1c-.1-.1-.1-.2 0-.3 0 0 0-.1.1-.1.2-.1.5-.2.7-.3.3-.1.6-.3 1-.4l1.7-.6c1.1-.4 2.3-.8 3.4-1.2 1.2-.4 2.3-.7 3.5-1.1l1.7-.5c.3-.1.7-.2 1-.3.2-.1.5-.1.7-.2.1 0 .2 0 .2.1v.1l-.1.2c-.1.5-.3 1-.5 1.4-.2.4-.4.8-.6 1.1-.4.7-.9 1.3-1.3 1.8-.1.1-.3.2-.4.4-.8.8-1.7 1.3-2.7 1.6-1 .5-2.1.7-3.2.5z"/>
- <path fill="url(#z)" fill-rule="nonzero" d="M203.6 209.1c.1.2.1.3.1.5.1 0 .2 0 .3.1-.1-.3-.3-.4-.4-.6z"/>
- <path fill="url(#A)" fill-rule="nonzero" d="M227 221.9v-1.3-1.4-1.4-.7-1c-.7.3-1.5.5-2.2.5 0 2.6 0 4.6.1 6.2h2.2c-.1-.3-.1-.6-.1-.9z"/>
- <path fill="url(#B)" fill-rule="nonzero" d="M203.3 223.1l-.2-.2-.5-.5c-.1-.1-.2-.2-.2-.3-.1-.2-.3-.3-.4-.5-.1-.1-.2-.2-.2-.3-.2-.2-.3-.4-.5-.5-.1-.1-.2-.2-.2-.3l-.6-.6c-.1-.1-.1-.2-.2-.2-.3-.3-.5-.6-.8-.9-.5-.6-1-1.2-1.5-1.9l-.1-.1-1.2-1.8c0-.1-.1-.1-.1-.2-.4-.6-.7-1.2-1.1-1.9 0-.1-.1-.1-.1-.2-.3-.6-.7-1.3-1-1.9 0-.1 0-.1-.1-.2-.3-.6-.5-1.1-.7-1.7-1-.4-2-.9-3-1.4 1.6 4.2 3.9 8.9 7.1 12.7 1.1 1.3 2 2.3 2.9 3.3.9-.1 1.9-.1 2.8-.2 0 0 0-.1-.1-.2z"/>
- <path fill="url(#C)" fill-rule="nonzero" d="M204.7 212.6c0 .1 0 .1.1.2.1.4.2.8.4 1.2v.1c.1.4.2.7.3 1.1 0 .1.1.2.1.3.1.4.2.7.3 1.1v.1l.3 1.2c0 .1.1.2.1.3.1.3.2.6.2.9 0 .1.1.2.1.3.1.4.2.7.3 1.1 0 .1 0 .1.1.2.1.3.1.6.2.8 0 .1 0 .2.1.3.1.3.1.6.2.9V223c.7 0 1.5-.1 2.3-.1-.4-2.1-1.3-5.4-2.9-10.6-.8-.1-1.6-.3-2.5-.4.1.3.2.5.3.7z"/>
- <path fill="url(#D)" fill-rule="nonzero" d="M214.9 199.4l8.1 2.3h.2c.4 0 .7-.2.8-.6.1-.4-.1-.9-.6-1l-8.1-2.3h-.2c-.4 0-.7.2-.8.6-.1.4.1.8.6 1z"/>
- <path fill="url(#E)" fill-rule="nonzero" d="M267.5 198.4l-1.2-.6c-.4.3-.9.6-1.3.9.9-.1 1.7-.2 2.5-.3z"/>
- <path fill="url(#F)" fill-rule="nonzero" d="M151.3 155.4c-1.2-.4-2.4-.6-3.6-.6-2.5 0-4.9.9-6.8 2.5l1.2-3.3c.1-.3 0-.7-.4-.8h-.2c-.3 0-.5.2-.6.4l-1.1 2.8v4.4l5.2 2h.2c.3 0 .5-.2.6-.4.1-.3 0-.7-.4-.8l-3.7-1.4c1.5-1.8 3.7-2.7 5.8-2.7 1.8 0 3.6.6 5.1 1.9 3.2 2.8 3.6 7.7.7 10.9-1.5 1.8-3.7 2.7-5.8 2.7-1.8 0-3.6-.6-5.1-1.9-1.7-1.5-2.7-3.6-2.7-5.9v2.5c0 1.1-.3 2.2-.9 3 1.9 2.8 5 4.6 8.6 4.6h.1c5.7-.1 10.3-4.7 10.2-10.4.2-4.2-2.4-8-6.4-9.5z"/>
- <path fill="url(#G)" fill-rule="nonzero" d="M144.1 167.6l.8.3.1.2 3.3-1.5c.2-.1.3-.3.3-.4l1.8-4.8c.1-.3 0-.7-.4-.8h-.2c-.3 0-.5.2-.6.4l-1.7 4.6-3.1 1.3c-.3 0-.4.4-.3.7z"/>
- <path fill="url(#H)" fill-rule="nonzero" d="M163 112.5c.1.5.7.5.8 0 1.2-4.8 5-8.6 9.8-9.8.5-.1.5-.7 0-.8-4.8-1.2-8.6-5-9.8-9.8-.1-.5-.7-.5-.8 0-1.2 4.8-5 8.6-9.8 9.8-.5.1-.5.7 0 .8 4.8 1.2 8.5 5 9.8 9.8z"/>
- <path fill="url(#I)" fill-rule="nonzero" d="M234.8 212.7c-.1.5-.2 1.1-.3 1.6v.1c-.1.5-.2 1-.4 1.5-.1.5-.3.9-.4 1.4-.1.4-.3.8-.4 1.1 0 .1-.1.3-.1.4-.1.2-.2.5-.3.7-.1.1-.1.3-.2.4-.1.2-.2.4-.2.6-.1.1-.1.3-.2.4-.1.2-.2.4-.2.5-.1.1-.1.3-.2.4-.1.2-.2.3-.2.5-.1.1-.1.2-.2.3 0 0 0 .1-.1.1.8 0 1.7 0 2.5.1.8-1.7 1.5-3.5 2-4.9.6-1.7 1.1-4 1.6-6.9l-2.4.6c-.1.3-.1.6-.2 1l-.1.1z"/>
- <path fill="url(#J)" fill-rule="nonzero" d="M191.9 204.4l-.3-.9c1.4 1.1 3.3 2 6 2.5h.1c.3 0 .5-.2.5-.5.1-.3-.1-.6-.4-.6-5.2-1-7.3-3.8-8.2-5.4-.1-.4-.3-.8-.4-1.2 0-.1-.1-.3-.1-.5l-.3-1.2c0-.2-.1-.4-.1-.5-.1-.4-.1-.8-.2-1.2v-.6-1c-.1.1-.2.1-.3.1-.1 0-.2 0-.3-.1-.5-.4-1.1-.7-1.6-1.1-.1 4.4.9 8.4 3 11.4l.3.9c1 .6 1.9 1.1 2.9 1.6-.3-.6-.4-1.2-.6-1.7z"/>
- <path fill="url(#K)" fill-rule="nonzero" d="M178.1 85.3c-.1-.3-.5-.3-.6 0-.8 3.2-3.4 5.8-6.6 6.6-.3.1-.3.5 0 .6 3.2.8 5.8 3.4 6.6 6.6.1.3.5.3.6 0 .8-3.2 3.4-5.8 6.6-6.6.3-.1.3-.5 0-.6-3.3-.9-5.8-3.4-6.6-6.6z"/>
- <path fill="url(#L)" fill-rule="nonzero" d="M180.4 204.7l3.1-.9-.9-3-3.1.9"/>
- <path fill="url(#M)" fill-rule="nonzero" d="M176.8 200.9c-.9 0-1.9.4-2.5 1.2l-4.6 6.2-3.6-1.3-.1-.5c-.4-1.2-1.3-2.2-2.5-2.6l-.7-2.3-3.1.9.5 1.7c-2 1-2.8 3.4-1.8 5.4.7 1.4 2.1 2.2 3.6 2.2.6 0 1.2-.1 1.8-.4.6-.3 1.2-.8 1.5-1.4l2.3.8-1.7 2.2c-.3-.1-.7-.1-1-.1-1.8 0-3.4 1.2-3.9 3-.6 2.1.7 4.3 2.9 4.9.3.1.7.1 1 .1 1.8 0 3.4-1.2 3.9-3 .2-.7.2-1.5-.1-2.2-.1-.3-.1-.5-.2-.8l10.3-13.5c-.6-.3-1.3-.5-2-.5zm-13.9 8.8c-.1 0-.1 0-.2.1-.2.1-.5.1-.8.1-.8 0-1.6-.5-1.9-1.3-.4-1.1.1-2.3 1.2-2.7.2-.1.5-.1.8-.1.8 0 1.6.5 1.9 1.3 0 0 0 .1.1.1.4 1-.1 2.1-1.1 2.5zm2.8 9.2h-.2c-.2.1-.4.1-.6.1-.9 0-1.7-.6-2-1.5-.3-1.1.3-2.3 1.4-2.6.2-.1.4-.1.6-.1.9 0 1.7.6 2 1.5v.1c.4 1.1-.2 2.2-1.2 2.5z"/>
- <path fill="url(#N)" fill-rule="nonzero" d="M274.7 179.9c.4-1.1 1.2-2 2.3-2.4-.4-.2-.8-.3-1.2-.4-.3-.1-.6-.1-.9-.2-.2 1-.4 1.9-.8 3h.6z"/>
- <path fill="url(#O)" fill-rule="nonzero" d="M180.9 206.3l.9 3.1c1.7-.5 2.6-2.3 2.1-4l-3 .9z"/>
- <path fill="url(#P)" fill-rule="nonzero" d="M284.7 187.9c-.4-.2-.7-.3-1-.3-.7 0-1.3.3-1.6.9-1.7 3.1-4.9 4.9-8.3 4.9-.8 0-1.5-.1-2.3-.3-2.9-.7-5.3-2.8-6.4-5.6l3.7 1c.2 0 .3.1.5.1.8 0 1.6-.6 1.8-1.4.3-1-.3-2-1.4-2.3l-7.3-1.9c-.2 0-.3-.1-.5-.1-.8 0-1.6.6-1.8 1.4l-1.9 7.3c-.3 1 .3 2 1.4 2.3.2 0 .3.1.5.1.8 0 1.6-.6 1.8-1.4l.5-2c2.4 4.4 6.9 6.9 11.5 6.9 2.1 0 4.2-.5 6.1-1.5 2.3-1.3 4.3-3.2 5.5-5.6.5-.9.2-2-.8-2.5z"/>
- <path fill="url(#Q)" fill-rule="nonzero" d="M172.7 212.8l2.1.8c.1-.1.3-.1.5-.1l3.8 1.3c.2 0 .3.2.3.3 1.3 0 2.6-.9 3-2.2l-7.7-2.7-2 2.6z"/>
- <path fill="url(#R)" fill-rule="nonzero" d="M176.1 196l-.9-3-3.1.9 1 3"/>
- <path fill="url(#S)" fill-rule="nonzero" d="M171.5 197.4l-.9-3.1-3.1 1 1 3"/>
- <path fill="url(#T)" fill-rule="nonzero" d="M166.9 198.8l-.9-3.1-3.1 1 1 3"/>
- <path fill="url(#U)" fill-rule="nonzero" d="M162.3 200.2l-.9-3.1c-1.7.5-2.6 2.3-2.1 4l3-.9z"/>
- <path fill="url(#V)" fill-rule="nonzero" d="M274.7 180c-.2 0-.4-.1-.6-.1-.4 1.3-1 2.7-1.8 4.1.9 1 1.3 2.4 1 3.8-.3 1.3-1.3 2.3-2.5 2.8l.9.3c3-2.5 5.1-4.5 6.1-5.5l-.3-.1c-1.1-.3-2-1-2.5-1.9-.6-1-.7-2.1-.4-3.1 0-.1.1-.2.1-.3z"/>
- <path fill="url(#W)" fill-rule="nonzero" d="M274.9 191.2c2.2-.3 4.2-1.7 5.3-3.7v-.1c.3-.4.6-.8 1-1.1l-1-.3s0 .1-.1.1c0 .2-1.9 2.2-5.2 5.1z"/>
- <path fill="url(#X)" fill-rule="nonzero" d="M187.6 158.4c-1.4-.9-3.2-.6-4 .7-.8 1.3-.3 3 1.1 3.9 1.4.9 3.2.6 4-.7.8-1.2.3-3-1.1-3.9z"/>
- <path fill="url(#Y)" fill-rule="nonzero" d="M276.7 136.6c-.3.7-.4 1.4-.4 2.1l-.9.3c-1.2.5-2.5 1.1-3.7 1.8-.2.1-.4.3-.7.4-.4.2-.7.5-1.2.8-.2.1-.4.3-.6.4l-.6.5c-.1.1-.3.2-.4.3h-.8c-1.1.1-9.8 2-18 3.9.6-1.9 1.2-3.8 1.6-5.8 1.3 0 2.7-.1 4-.2 1 .9 2.3 1.3 3.7 1.3 2.1 0 3.9-1.1 4.9-2.7.5.1 1 .1 1.5.1 4.8 0 9.1-3 10.7-7.5 3-1 5.2-3.7 5.7-6.9.6-.9 1.2-1.8 1.8-2.8 4-1.5 6.6-5.7 6-10 0-.4-.1-.7-.2-1.1 1.5-1.9 2.1-4.4 1.8-6.8-.3-2.1-1.2-4.1-2.7-5.6-.3-2.4-.8-4.7-1.5-7 .1-.4.1-.9.1-1.3 0-3.3-1.7-6.4-4.6-8.1-2.8-4.3-6.6-8-10.8-10.8-1.3-3.8-4.8-6.4-9-6.4-1.4 0-2.8.3-4.1.9-1.2-.3-2.4-.6-3.6-.8-1.7-1.5-4-2.4-6.2-2.4-.4 0-.8 0-1.2.1-2 .2-3.8 1.1-5.3 2.5-2.4.5-4.8 1.2-7 2.1-.6-.1-1.3-.2-2-.2-4.6 0-8.5 3.4-9.3 7.8l-.1.1c-4.1 1.1-7 4.8-7 9.1v.7c-.4.8-.8 1.7-1.1 2.5-1.6 1-2.6 2.8-2.6 4.8 0 .4 0 .7.1 1.1-.6-.6-1.2-1.2-1.9-1.7-.2-1.3-.8-2.4-1.4-3.4.3-2-.6-3.9-1.8-6.3-.2-.4-.4-.9-.7-1.3-.5-1-1.4-1.6-2.4-1.6-1.5 0-2.7 1.2-3.9 3.8-.7 1.6-2.2 5.3-1.1 7.6-.5 3.6 0 6 1.5 7.1l.1.1c.2 1.6.6 3.2 1.1 4.6-11 4.2
-28.2 12.1-33.8 19.4-1.3 1.8-1.6 4.3-.6 7.6 1.9 6.5 8.8 16.5 14 18.4 7.3 2.7 17.2 4.3 27.1 4.3h2c-2.1 1.4-4.1 2.9-6 4.5-3.9 1.5-7 2.8-9.5 3.9-.5-.8-1-1.5-1.6-2.2-1.1-1.3-2.4-2.4-3.8-3.3-2.9-1.8-6.2-2.8-9.7-2.8-6.2 0-11.9 3.1-15.2 8.3-1.1 1.7-1.8 3.4-2.3 5.3l.6.9c.2.3.1.6-.1.8-.1.1-.2.1-.3.1-.2 0-.3-.1-.5-.2-.5 3.2-.1 6.5 1 9.4 1.6 2.5 3.3 4.8 5 7.1.6.6 1.3 1.1 2.1 1.6 2.9 1.8 6.2 2.8 9.7 2.8 1.2 0 2.4-.1 3.5-.3l2.4-.6c-.2 1.1-.3 2.1-.3 3.2.7.5 1.4 1 2.2 1.5v-.1-1.3c0-.2 0-.5.1-.7 0-.4.1-.9.1-1.3 0-.3.1-.5.1-.8.1-.4.2-.9.2-1.3v-.2c0-.2.1-.4.1-.6.1-.5.2-.9.3-1.4.1-.3.1-.6.2-.8.1-.5.3-.9.4-1.4.1-.3.2-.6.3-.8.2-.5.4-1 .5-1.4.1-.3.2-.6.3-.8.2-.5.4-1 .7-1.5.1-.3.2-.5.4-.8.3-.5.5-1.1.8-1.6.1-.2.2-.5.4-.7.3-.6.7-1.2 1-1.8.1-.2.2-.4.3-.5.2-.3.4-.6.6-.8 3-4.4 5.4-6.8 5.4-6.8.1-.1.2-.3.2-.4 0-.1-.1-.3-.2-.4-.2-.2-.6-.2-.8 0-.1.1-2.3 2.3-5.1 6.4-1.1.2-2.1.3-3.1.5h-.1c-.4.1-.8.1-1.1.2h-.2c-.3 0-.6.1-.9.1h-.2c-.3 0-.6.1-.9.1-.2 0-.4 0-.6.1h-.7-.2s-.8 0-1.2-.5c0-.1-.1-.1-.1-.2s-.1-.1-.1-.2v-.6c0-.
2.1-.5.3-.9.1-.1.1-.2.2-.4.2-.3.6-.6 1.2-1 .1 0 .1-.1.2-.1s.1-.1.2-.1c1.1-.6 2.6-1.4 4.4-2.2 4.1-1.9 9.7-4.1 14.3-5.9.1 0 .1-.1.2-.1.5-.4 1-.9 1.6-1.3.4-.3.7-.6 1.1-.8.3-.3.7-.5 1-.8.8-.6 1.5-1.1 2.3-1.6.2-.1.4-.3.6-.4.5-.3 1.1-.7 1.6-1 .1-.1.3-.2.4-.3.8-.5 1.6-.9 2.4-1.4.3-.2.6-.4 1-.5 4.1-.6 10.4-1.6 14.2-3.2.3-.1.4-.4.3-.7-.1-.3-.4-.4-.7-.3-5.7 2.3-17.7 3.6-17.8 3.6h-.2c-1.7.1-3.4.2-5.1.2-9.9 0-19.5-1.6-26.3-4.1-.7-.3-1.4-.7-2.3-1.4-.2-.2-.4-.3-.6-.5-.4-.4-.8-.8-1.3-1.2-.2-.2-.4-.4-.6-.7-.4-.5-.9-1-1.3-1.5s-.8-1.1-1.2-1.6c-.6-.8-1.2-1.7-1.8-2.6-.4-.6-.7-1.2-1.1-1.8-2-3.6-3.3-7.2-2.9-9.7v-.1c.1-.6.3-1.1.7-1.6.2-.2.4-.4.6-.7.1-.1.1-.2.2-.2.1-.2.3-.3.4-.5l.3-.3.4-.4.3-.3c.1-.1.3-.3.5-.4.1-.1.2-.2.4-.3.2-.1.3-.3.5-.4.1-.1.3-.2.4-.3.2-.1.3-.3.5-.4.1-.1.3-.2.4-.3.2-.1.4-.3.6-.4.1-.1.3-.2.4-.3.2-.1.4-.3.6-.4.1-.1.3-.2.4-.3.2-.2.5-.3.7-.5.1-.1.2-.2.4-.2.3-.2.7-.4 1-.6.1-.1.2-.1.3-.2.3-.2.7-.4 1-.6.2-.1.3-.2.5-.3.2-.1.5-.3.7-.4.2-.1.4-.2.5-.3.2-.1.5-.3.7-.4l.6-.3c.2-.1.5-.3.7-.4l.6-.3c.2-
.1.5-.2.7-.4l.6-.3c.2-.1.5-.2.7-.4l.6-.3c.2-.1.5-.2.7-.3.2-.1.4-.2.7-.3.2-.1.5-.2.7-.3.2-.1.5-.2.7-.3.2-.1.5-.2.7-.3.2-.1.4-.2.7-.3.3-.1.5-.2.8-.3.5-.2.9-.4 1.4-.6l.6-.3c.3-.1.5-.2.8-.3l.6-.3c.3-.1.5-.2.8-.3l.6-.3c.3-.1.5-.2.8-.3.2-.1.4-.2.6-.2.3-.1.5-.2.8-.3.2-.1.4-.2.6-.2.3-.1.5-.2.8-.3.2-.1.4-.1.5-.2.3-.1.5-.2.8-.3.2-.1.4-.1.5-.2.3-.1.5-.2.8-.3.2-.1.3-.1.5-.2s.4-.1.6-.2c-.1.2-.1.5 0 .7 1.8 5.7 5.9 6.6 6.1 6.6h.2c.5 0 1-.4 1.1-.9.1-.6-.3-1.2-.9-1.3-.1 0-2-.5-3.5-3 3.4.1 7.2-2.6 7-6 1.4 1 3.5 2.9 3.5 5.5 0 3.8-3.7 5.1-3.9 5.2-.3.1-.4.4-.4.7 0 0 0 .1.1.1.1.2.3.3.5.3h.2s4.6-1.6 4.7-6.2c0-2-1-3.6-2.1-4.8l1.4-.4c.5.4 1.7 1.2 3.2 1.2h.6c.3 0 .5-.3.5-.6v-.1c-.1-.2-.3-.4-.6-.3-1.7.2-3.1-1.1-3.1-1.1-.1-.1-.4-.2-.6-.1l-2.3.7c-.2-.2-.5-.4-.7-.5 0-.7.1-1.4.1-2.2 0-.4.1-.9.2-1.3s.1-.9.2-1.3c-.5-.6-.7-1.3-.7-2.1 0-.6.1-1.1.4-1.5.2-.5.5-.9.9-1.2.1-.1.3-.2.4-.3.1-.1.3-.2.5-.2.2-.5.3-.9.5-1.3.2-.5.4-.9.6-1.4.1-.3.3-.7.5-1 0-.3-.1-.7-.1-1v-.1-.1c0-.6.1-1.3.3-1.8.2-.8.6-1.6 1.1-2.2.2-.3.5-.7.8-.9.5-
.5 1.1-.9 1.7-1.3.6-.3 1.3-.6 2.1-.7.3-.4.7-.7 1-1 0-.3.1-.7.2-1 .1-.4.2-.7.3-1 .9-2.3 3-4 5.5-4.5h.3c.3 0 .7-.1 1-.1.3 0 .6 0 .8.1.5.1.9.1 1.3.3.6-.3 1.3-.5 1.9-.8 1.3-.5 2.6-.9 4-1.2.7-.2 1.4-.3 2.1-.4.6-.6 1.2-1.1 2-1.5.8-.4 1.6-.7 2.5-.8.3 0 .6-.1.9-.1h1c.2 0 .4.1.5.1.1 0 .2.1.3.1.2 0 .3.1.5.1.1 0 .2.1.3.1.1.1.3.1.4.2.1 0 .2.1.3.1.1.1.3.2.4.2.1.1.2.1.3.2.1.1.3.2.4.3l.2.2c.2.2.4.3.6.5 1.7.2 3.3.6 4.9 1.1.6-.3 1.2-.6 1.8-.8.1 0 .2 0 .3-.1.2-.1.5-.1.7-.2h1c.4 0 .8 0 1.2.1h.2c.4.1.7.2 1 .3.1 0 .1 0 .2.1.3.1.7.3 1 .4 0 0 .1 0 .1.1l.9.6c.3.2.6.5.8.8.3.3.5.6.7.9v.1c.2.3.4.7.5 1v.1c.1.4.3.7.4 1.1.1.4.2.8.2 1.3 3.1 2.5 5.8 5.5 7.8 8.9 1.2 0 2.2.3 3.2.8.6.3 1.1.7 1.6 1.1.5.4.9.9 1.2 1.4 0 0 0 .1.1.1.1.2.3.5.4.7 0 0 0 .1.1.1l.3.9v.1c.1.2.1.5.2.7v.2c0 .3.1.6.1.9V92.9c0 .2-.1.5-.1.7-.3 1.7-1.2 3.1-2.5 4.2.2 1.5.3 2.9.3 4.4 1.2 1.2 2 2.8 2 4.7.1 2.2-.9 4.2-2.5 5.5.2.6.3 1.2.3 1.8.1 3.4-2.4 6.3-5.7 6.9-.8 1.2-1.7 2.3-2.6 3.3-.5 2.8-2.8 4.8-5.5 5-1.2 3.7-4.9 6.2-9 5.8-.9-.1-1.8-.3-2.6-.7h-.2c-.
4 1.6-1.9 2.6-3.5 2.5-.3 0-.5-.1-.8-.2-.3 1.2-.6 2.4-.9 3.5h1-2.4c.2-3.6-.3-5.8-.4-5.9-.1-.3-.4-.5-.7-.4h-.1c-.2.1-.4.4-.3.6 0 0 .9 3.8-.1 9.4-.4 1.4-.8 2.8-1.3 4.3-.1.2-.1.4-.2.6-.3.9-.6 1.7-1 2.6 7.4-1.8 15.5-3.6 19.4-4.4l-.6.6c-.9.9-1.9 2-2.7 2.9-.8 1-1.4 1.8-1.8 2.3-.2.3-.4.5-.5.7 0 0 0 .1-.1.1-.1.1-.1.2-.1.2-.2.3-.2.6-.3.9-2.9 1.5-6 3.1-9 4.5-2.9 1.4-5.5 2.7-7.6 3.6-.2.1-.3.2-.5.2-.1.1-.1.3-.2.4-.1.2-.2.4-.2.6 0 0 0 .1-.1.1-.1.4-.3.7-.4 1.1v.1c-.1.4-.3.8-.4 1.2-.1.4-.3.9-.4 1.3-.4 1.4-.8 2.9-1.1 4.4-1 4.8-1 5-.9 5.1.1.2.3.4.5.4h.2c.3-.1.4-.3.4-.6s.2-1.4.5-2.9c.9-.2 1.8-.3 2.6-.4 1.2-1.2 2.8-2 4.5-2.1 2-.2 3.9.6 5.3 1.8.8-.3 1.7-.5 2.7-.4 1.3.1 2.6.5 3.6 1.3 1.3-.2 2.4-.4 3.5-.7.4-.1.8-.3 1.2-.4.9-.8 1.9-1.6 3.1-2.2.7-.4 1.4-.6 2.1-.9 2.1-1.9 3.3-4 3.8-5.3.1-.2.1-.3.2-.5 0-.1.1-.3.1-.3.1-.2.1-.3.1-.3v.1c.1.1.2.3.3.6.4.9 1.1 2.6 1.5 4.9.8.1 1.6.2 2.3.3-.6-4.3-2.2-7-2.3-7.1-.4-.7-1.1-1.1-1.9-1.1h-.3c-.9.1-1.6.8-1.8 1.7-.1.2-1.6 5.6-7.9 8-2-1.7-4.3-3.1-7-4.3-2.9-1.2-6.1-1.8-9.7-1.8
-.8 0-1.6 0-2.5.1.1-.2.2-.4.2-.6 2.4-1.1 9.7-4.6 16.1-7.9.5.4 1.1.7 1.7.7.2 0 .4 0 .7-.1 0 0 .1 0 .3-.1.2-.1.5-.2.8-.3.6-.2 1.5-.6 2.7-1.2.1 0 .1-.1.2-.1.1.1.1.2.2.2.8.9 2 1.5 3.4 1.7.5.1.9.1 1.3.1 1.3 0 2.5-.4 3.5-1.1 2-1.5 2.3-4.1 2.3-4.2.1-.6-.4-1.2-1-1.2-.2 0-.4 0-.6.1-.3.2-.6.5-.6.9 0 0-.2 1.8-1.4 2.7-.7.6-1.8.8-3.1.6-1.1-.2-1.9-.6-2.4-1.4-1.1-1.6-.6-4-.5-4.1v-.6c-.1-.4-.4-.7-.8-.8-.6-.1-1.2.2-1.3.8 0 .1-.7 2.9.6 5.3h-.1c-1.1.5-2 .9-2.6 1.1-.3.1-.6.2-.7.3-.2.1-.3.1-.3.1-.4.1-.7 0-1-.1-.3-.2-.6-.5-.6-.8-.1-.3-.1-.7.1-1l.1-.2c.1-.2.2-.4.4-.7.3-.4.8-1.2 1.7-2.2.8-1 1.7-2 2.6-2.9.5-.5 1-1 1.6-1.5.6-.5 1.1-1 1.7-1.5.2-.2.4-.3.6-.5l.6-.5c.2-.1.4-.3.6-.4.1-.1.2-.1.3-.2.5 1.7 1.6 3.3 3 4.4.3.2.7.5 1 .7-.1.1-.2.2-.3.2-.2.2-.4.3-.6.4l-.6.5c-.1 0-.1.1-.2.1.4.2.8.3 1.2.5l.3-.3c.2-.2.4-.3.6-.5.7-.5 1.2-1 1.7-1.5 1-1 1.9-2 2.6-3.1.5-.7.8-1.3 1.1-1.8.3 0 .6 0 .9-.1 1.3-.3 4.6-1.7 6.4-7.7.2-.5 0-1.1-.5-1.5-.4-.4-1-.4-1.5-.2-.9.5-2.5 1-4.4.9-1.7-.1-3.3.5-4.3 1.6-.4-.4-.6-.1-.8.3 0-.1 0 0 0 0zm1
2.3-31.5c0 .3.1.6.1.9-.1-.3-.1-.6-.1-.9 0-.4-.1-.7-.2-1.1.1.4.1.8.2 1.1zm-104.7 62.1c-1.2 2-.9 3.4-.5 4.3.7 1.2 1.9 1.7 2.9 1.8h.6c.5 0 1.5-.1 4.7-.5-.7 1.3-1.4 2.6-2 3.9-.2-.2-.4-.4-.7-.5-1.5-.8-3.3-.3-4.1 1.1-.8 1.4-.2 3.2 1.3 4 .5.3 1 .4 1.5.4-.5 1.6-.9 3.1-1.2 4.6-2 .8-4 1.1-6.1 1.1-3.1 0-6.3-.9-9.1-2.6-7.9-5-10.2-15.5-5.2-23.3 3.2-5.1 8.7-7.8 14.3-7.8 3.1 0 6.3.9 9.1 2.6 2.1 1.3 3.7 3.1 5 5-9.3 4-10 5.2-10.5 5.9zm17.8-77.5c0-.1 0-.2-.1-.3v-.2-.4-.3-.4-.3c0-.1.1-.3.1-.4 0-.1 0-.2.1-.3 0-.2.1-.3.1-.5 0-.1.1-.2.1-.3.1-.2.1-.3.2-.5 0-.1.1-.2.1-.3.1-.2.1-.4.2-.6 0-.1 0-.1.1-.2.1-.2.2-.5.3-.7 0-.1.1-.1.1-.2.1-.2.2-.3.3-.5 0-.1.1-.1.1-.2.1-.1.1-.2.2-.4 0-.1.1-.1.1-.2.1-.1.1-.2.2-.3 0-.1.1-.1.1-.2l.2-.2s.1 0 .1-.1c2.4 1.9 2.2 7.3 2.2 7.4v.1c-1.1 1.6-3.1 2.1-4.4.9-.1-.1-.2-.1-.2-.2-.1-.1-.1-.2-.2-.3v.1zM204 98c-.1-.4-.1-.8-.1-1.2-.1-.1-.3-.1-.4-.2-.1-.1-.3-.2-.4-.3-.1-.1-.2-.1-.2-.2-.2-.3-.3-.7-.4-1.3-.1-.5-.1-1-.1-1.6 0-.3 0-.7.1-1.1 2.1 1.8 5.2.5 5.8-1.5.1.2.2.4.3.7.4 1.2.6 2.2.7 2.6v
.2c-.8 2.2-3.3 3.4-5.3 2.7.1.7.2 1.3.3 2-.3-.2-.3-.5-.3-.8zm9.1 1.2c-.2 3-4.3 5-7.1 4.5-.7-.5-1.2-1.8-1.6-3.4-.1-.4-.2-.7-.2-1.1V99c2.9 1.2 6.1-.8 6.5-3.5.4.3.9.7 1.4 1.2.7.7 1 1.5 1.1 2.1-.1.1-.1.3-.1.4zm74.3 13.9c-.1-.7-.3-1.3-.5-1.9.2.6.4 1.2.5 1.9 0 .2 0 .5.1.7-.1-.3-.1-.5-.1-.7zm-1.1-12.7c.5.4 1 .9 1.4 1.5-.4-.6-.8-1.1-1.4-1.5zm-20.4 37.3h-.5.5zm-3.3-.4c.3.1.7.2 1 .2-.4-.1-.7-.1-1-.2-.1 0-.1 0 0 0-.1 0-.1 0 0 0zm-2 2.5c-.3.2-.7.3-1.1.4.5 0 .8-.2 1.1-.4zm-1.4.5h-.3.3zm-12.9 26.1h.1-.4.3zm31.4-29.4c.6-1.2 1.9-1.9 3.5-1.9h.6c.5.6-.2 1 .4 2.1.7 1.3 2.3-.3 3.3.6-1.5 2.6-3.3 3.3-4.2 3.5-1.2.3-2.5 0-3.1-.8-.8-1-1-2.4-.5-3.5zm-.2 4.3c.5.6 1.2.9 2 1.1-.2.4-.5.8-.8 1.3-.4.6-.9 1.2-1.3 1.7-1.7-.7-3.1-2.3-3.5-4.2v-.4c.7-.3 1.3-.7 2-.9.3-.1.5-.2.7-.3.2.7.5 1.2.9 1.7z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M219.1 84.8c0-.6.1-1.3.3-1.8-.2.5-.3 1.2-.3 1.8z"/>
- <path fill="url(#Z)" fill-rule="nonzero" d="M219.1 84.8c0-.6.1-1.3.3-1.8-.2.5-.3 1.2-.3 1.8z"/>
- <path fill="url(#aa)" fill-rule="nonzero" d="M219.1 84.8c0-.6.1-1.3.3-1.8-.2.5-.3 1.2-.3 1.8z"/>
- <path fill="url(#ab)" fill-rule="nonzero" d="M178.6 177.5c-.4-.2-.8-.3-1.1-.4l2.7 3.2c.2.2.2.6-.1.8-.1.1-.2.1-.4.1s-.3-.1-.4-.2l-3.3-4c-.9.1-1.6.6-2 1.3-.2.3-.3.7-.3 1.1 1.2 1.3 2.4 2.6 3.6 3.7 1.4.3 2.7-.2 3.3-1.2.7-1.4-.2-3.4-2-4.4z"/>
- <path fill="url(#ac)" fill-rule="nonzero" d="M267.8 172.1c-2.3 1.3-4.3 3.2-5.5 5.6-.5.9-.1 2.1.8 2.5h.1l.4.1c.2 0 .3.1.5.1.7 0 1.4-.4 1.7-1.1 1.7-3 4.9-4.8 8.2-4.8.8 0 1.6.1 2.4.3 2.9.7 5.3 2.8 6.4 5.6l-3.7-1c-.2 0-.3-.1-.5-.1-.8 0-1.6.6-1.8 1.4-.3 1 .3 2 1.4 2.3l7.3 1.9c.2 0 .3.1.5.1.8 0 1.6-.6 1.8-1.4l1.9-7.3c.3-1-.3-2-1.4-2.3-.2 0-.3-.1-.5-.1-.8 0-1.6.6-1.8 1.4l-.5 2c-2.4-4.4-6.9-6.9-11.5-6.9-2.2.2-4.3.7-6.2 1.7z"/>
- <path fill="url(#ad)" fill-rule="nonzero" d="M180.7 194.6c-.4-1.4-1.7-2.3-3.1-2.3-.3 0-.6 0-.9.1l.9 3.1 3.1-.9z"/>
- <path fill="url(#ae)" fill-rule="nonzero" d="M172.6 172.1c.8-1.4.2-3.2-1.3-4-1.5-.8-3.3-.3-4.1 1.1-.8 1.4-.2 3.2 1.3 4 1.5.8 3.3.3 4.1-1.1z"/>
- <path fill="url(#af)" fill-rule="nonzero" d="M175.8 164.2c1.7 0 3.1-1.3 3.1-2.9 0-1.6-1.4-2.9-3.1-2.9-1.7 0-3.1 1.3-3.1 2.9 0 1.6 1.4 2.9 3.1 2.9z"/>
- <path fill="url(#ag)" fill-rule="nonzero" d="M224.1 117.1c.4 0 .9.1 1.3.1 0-.1.1-.2.1-.3v-3c0-.7-.6-1.3-1.3-1.3-.7 0-1.3.6-1.3 1.3v3c0 .1 0 .2.1.3.2-.1.7-.1 1.1-.1z"/>
- <path fill="url(#ah)" fill-rule="nonzero" d="M237.5 199.2c.6-7.2 1.2-16.6 1.3-16.7 0-.3-.2-.6-.5-.6s-.6.2-.6.5c0 .2-1.4 19.4-1.9 23.9v.3c0 .2-.1.5-.1.7v.1c-.1.6-.2 1.1-.2 1.7v.2c.8-.2 1.6-.4 2.3-.6.1-.9.3-1.8.4-2.8 5.1-.6 12.8-2.1 20-5.6 2.3-1.3 4.3-2.6 6.2-3.9-.5-.4-1-.8-1.5-1.3-.8.7-1.8 1.2-2.9 1.2-.3 0-.7 0-1-.1-1.4.9-3 1.8-4.7 2.6-6.6 3-13 4.1-17.1 4.5.1-.9.2-1.8.2-2.9 1.8-.1 3.6-.2 5.5-.5 5.9-.9 10.7-2.9 14.2-4.8-.2-.2-.4-.5-.6-.8 0 0 0-.1-.1-.2-3.4 1.9-8 3.8-13.7 4.7-1.8.2-3.5.4-5.2.4z"/>
- <path fill="url(#ai)" fill-rule="nonzero" d="M264.9 127.4c1 0 2.1-.3 3.3-1.3 2.4-2 2.5-4.3 2.3-5.6 1.4-.2 2.8-.8 4.2-2.2 3.6-3.7 2.9-7.8 2.1-9.4-.3-.5-1-.8-1.5-.5-.5.3-.8 1-.5 1.5 0 0 1.7 3.4-1.7 6.8-2.9 2.9-5.8 1.1-6.1.9-.5-.4-1.2-.2-1.6.3-.4.5-.2 1.2.3 1.6.8.5 2.1 1.1 3.7 1.2.2.9.2 2.9-1.9 4.7-2.6 2.1-4.8.3-4.9.2-.2-.2-.6-.2-.8.1-.2.2-.2.6.1.8 0-.2 1.2.9 3 .9z"/>
- <path fill="url(#aj)" fill-rule="nonzero" d="M249.6 126.6c1 1 2.7 2.2 5.8 2.2.8 0 1.7-.1 2.7-.3.3-.1.5-.3.4-.6-.1-.3-.3-.5-.6-.4-4.9.9-6.7-1-7.4-1.7-1.3-1.3-1.9-4.5-1.9-4.6 0-.2-.2-.4-.4-.4-.1 0-5.1-1.5-8.5-5.7-3.1-3.9-3.5-8.4-3.5-8.4 0-.2-.1-.4-.3-.5-.8-.4-3.2-1.7-3.8-3.2-1.3-3.1.1-4.9.1-4.9.2-.2.2-.6-.1-.8-.2-.2-.6-.2-.8.1 0 0-.5.6-.8 1.7l-3.3-.1c-.3 0-.6.2-.6.5v.2c.1.2.3.4.5.4l3.2.1c0 .9.1 2 .6 3.2.4.9 1.2 1.7 2 2.3.8.6 1.6 1.1 2.1 1.3 0 .3.1.8.3 1.4.4 1.8 1.3 4.7 3.5 7.3.4.5.8 1 1.3 1.4 2.9 2.9 6.4 4.2 7.4 4.6.2 1 .8 3.6 2.1 4.9z"/>
- <path fill="url(#ak)" fill-rule="nonzero" d="M179 200.2l3.1-1-.9-3-3.1.9"/>
- <path fill="url(#al)" fill-rule="nonzero" d="M231.2 188.3l-16.2-4.7c-.3-.1-.6-.1-.9-.1-1.5 0-2.8 1-3.2 2.4l-5.6 19.4c-.5 1.8.5 3.7 2.3 4.2l16.2 4.7c.3.1.6.1.9.1 1.5 0 2.8-1 3.2-2.4l5.6-19.4c.5-1.8-.5-3.7-2.3-4.2zm-1.4 4.9l-4.7 16.2c-.2.7-.9 1.2-1.6 1.2-.2 0-.3 0-.5-.1l-12.9-3.7c-.9-.3-1.4-1.2-1.2-2.1l4.7-16.2c.2-.7.9-1.2 1.6-1.2.2 0 .3 0 .5.1l12.9 3.7c.9.2 1.5 1.2 1.2 2.1z"/>
- <path fill="url(#am)" fill-rule="nonzero" d="M99.3 199.1c-.2-.6-.9-1-1.5-.7-.6.2-1 .9-.7 1.5l.8 2.4c.6-.6 1.4-.9 2.2-.8l-.8-2.4z"/>
- <path fill="url(#an)" fill-rule="nonzero" d="M224.4 196.8l-8.1-2.3h-.2c-.4 0-.7.2-.8.6-.1.4.1.9.6 1l8.1 2.3h.2c.4 0 .7-.2.8-.6.1-.4-.2-.8-.6-1z"/>
- <path fill="url(#ao)" fill-rule="nonzero" d="M108 198.9c.6-.6 1.4-.9 2.2-.8l-.8-2.4c-.2-.6-.9-1-1.5-.7-.6.2-1 .9-.7 1.5l.8 2.4z"/>
- <path fill="url(#ap)" fill-rule="nonzero" d="M106.2 206.7c1-.5 2-1 3.1-.7.1-.1.3-.2.4-.4.5-.5.9-1.1 1.3-1.8.2-.4.4-.7.6-1.1.2-.4.3-.9.5-1.4l.1-.2v-.1c0-.1-.1-.2-.2-.1-.2.1-.5.1-.7.2-.3.1-.7.2-1 .3l-1.7.5c-1.2.3-2.3.7-3.5 1.1-1.1.4-2.3.8-3.4 1.2l-1.7.6c-.3.1-.6.3-1 .4-.2.1-.5.2-.7.3 0 0-.1 0-.1.1-.1.1 0 .2 0 .3l.2.1c.4.3.8.6 1.2.8.4.2.8.4 1.1.6.7.3 1.4.5 2.1.6.2 0 .4 0 .5.1.1-.1.1-.2.2-.2.7-.9 1.7-1 2.7-1.2zm-5.4-1.9c.6-.1 1.3-.3 2-.5-.7.2-1.4.3-2 .5zm6.6-2c.7-.3 1.4-.6 1.9-.8-.5.2-1.2.5-1.9.8-.7.3-1.5.6-2.3.8.8-.2 1.6-.5 2.3-.8z"/>
- <path fill="url(#aq)" fill-rule="nonzero" d="M225.3 193.6l-8.1-2.3h-.2c-.4 0-.7.2-.8.6-.1.4.1.9.6 1l8.1 2.3h.2c.4 0 .7-.2.8-.6.1-.4-.2-.9-.6-1z"/>
- <path fill="url(#ar)" fill-rule="nonzero" d="M164 84.3c-.2 0-.2.3 0 .3 1.8.5 3.3 1.9 3.7 3.7 0 .2.3.2.3 0 .5-1.8 1.9-3.3 3.7-3.7.2 0 .2-.3 0-.3-1.6-.4-2.9-1.6-3.5-3.1h-.7c-.6 1.5-1.9 2.7-3.5 3.1z"/>
- <path fill="url(#as)" fill-rule="nonzero" d="M213.9 202.6l3.2.9h.2c.4 0 .7-.2.8-.6.1-.4-.1-.9-.6-1l-3.2-.9h-.2c-.4 0-.7.2-.8.6-.1.4.2.9.6 1z"/>
- <path fill="url(#at)" fill-rule="nonzero" d="M227.9 119.2l-.3-.3c-.1-.1-.2-.2-.3-.2-.7-.5-1.8-1.1-3.2-1.1-2.9 0-4.4 2.2-4.5 2.3-.3.5-.2 1.2.3 1.5.5.3 1.2.2 1.5-.3 0 0 .9-1.3 2.6-1.3 1.1 0 1.9.5 2.3.9l.2.2.2.2c.2.3.6.5.9.5.2 0 .4-.1.6-.2.5-.3.7-1 .3-1.5.1 0-.1-.3-.6-.7z"/>
- <path fill="url(#au)" fill-rule="nonzero" d="M196.8 121.5c.5.3 1.2.2 1.5-.3 0 0 .1-.2.4-.4.4-.4 1.2-.9 2.2-.9 1.7 0 2.6 1.3 2.6 1.3.2.3.6.5.9.5.2 0 .4-.1.6-.2.5-.3.7-1 .3-1.5-.1-.1-1.5-2.3-4.5-2.3-1.9 0-3.2 1-3.9 1.7l-.3.3c-.2.2-.3.4-.3.4-.2.4 0 1.1.5 1.4z"/>
- <path fill="url(#av)" fill-rule="nonzero" d="M200.9 117.1c.4 0 .9.1 1.3.1 0-.1.1-.2.1-.3v-3c0-.7-.6-1.3-1.3-1.3-.7 0-1.3.6-1.3 1.3v3c0 .1 0 .2.1.3.3-.1.7-.1 1.1-.1z"/>
- <path fill="url(#aw)" fill-rule="nonzero" d="M207.7 137.3l-1.5-.6c-.7-.3-1.5-.5-2.2-.8l-3.8-1.3-7.5-2.4c-.2-.1-.4-.1-.6-.2-1.1 1.2-2.3 2.4-2.8 2.7-.4.2-3.4-.5-3.5-.8-.1-.2.3-1.9.7-3.5-.5-.1-.9-.3-1.4-.4l-.6-.1c-.3 1.4-.7 3.1-.9 3.2-.4.3-2.9-1.2-3.1-1.5-.1-.2-.5-1.6-.7-2.9-.3-.1-.5-.1-.8-.2-.5-.1-1.1-.2-1.6-.4h-.2c-.2.1-.3.3-.3.5l.1.5c.3 1.1.7 2.2 1.2 3 .4.9.9 1.7 1.3 2.5.9 1.5 1.9 2.7 3 3.8.3.3.6.5.9.8.2-.1.4-.1.6-.1-.2 0-.4.1-.6.1 1.9 1.6 3.9 2.7 6 3.3h.2c2.2.6 4.4.8 6.9.5.4 0 .8-.1 1.2-.2 1.5-.3 3-.8 4.6-1.5.8-.4 1.6-.8 2.5-1.3.8-.5 1.7-1.1 2.6-1.9l.4-.3c0-.1.1-.1.1-.2.2 0 0-.2-.2-.3z"/>
- <path fill="url(#ax)" fill-rule="nonzero" d="M231.2 80.2c.4 0 .6-.2.6-.5 0-.1.5-3 4.2-3.5 1.8-.3 2.9.5 3.5 1.2-3.5 2.2-4.1 5.7-3.9 7.3.1.6.6 1 1.1 1h.1c.6-.1 1-.6 1-1.2 0 0-.4-3.8 4-5.8 3.8-1.7 5.8 1 6.1 1.4.3.5 1 .6 1.5.3s.6-1 .3-1.5c-.5-.7-1.3-1.5-2.5-2.1.5-.9 1.6-2.1 3.8-2.4 3.3-.5 4.2 2.3 4.3 2.4.1.3.4.5.7.4.3-.1.5-.4.4-.7 0 0-1.3-3.8-5.5-3.2-2.8.4-4.1 2-4.7 3.1-1.5-.5-3.3-.5-5.3.4-.1.1-.3.1-.4.2-.8-1-2.2-2.1-4.7-1.7-4.5.6-5.1 4.4-5.2 4.4 0 .2.3.5.6.5z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M207.7 223.7v.2c0 .2.1.4.1.6v.2c0 .2.1.4.1.6v.5c0 .1 0 .2-.1.2l-.2.2H207.3h-.1-.1c-.1 0-.1 0-.2-.1h-.1c-.1 0-.2-.1-.3-.2 0 0-.1 0-.1-.1-.1-.1-.2-.1-.3-.2l-.1-.1c-.1-.1-.2-.1-.3-.2-.1 0-.1-.1-.2-.1l-.3-.3-.2-.2-.3-.3-.2-.2-.5-.5-.1-.1-.4-.4c-1 .1-1.9.1-2.8.2 3.3 3.6 5 4.9 6.6 4.9.9 0 1.8-.4 2.3-1.2.4-.6.8-1.1.2-4.3-.8 0-1.5.1-2.3.1.1.4.1.6.2.8z"/>
- <path fill="url(#ay)" fill-rule="nonzero" d="M207.7 223.7v.2c0 .2.1.4.1.6v.2c0 .2.1.4.1.6v.5c0 .1 0 .2-.1.2l-.2.2H207.3h-.1-.1c-.1 0-.1 0-.2-.1h-.1c-.1 0-.2-.1-.3-.2 0 0-.1 0-.1-.1-.1-.1-.2-.1-.3-.2l-.1-.1c-.1-.1-.2-.1-.3-.2-.1 0-.1-.1-.2-.1l-.3-.3-.2-.2-.3-.3-.2-.2-.5-.5-.1-.1-.4-.4c-1 .1-1.9.1-2.8.2 3.3 3.6 5 4.9 6.6 4.9.9 0 1.8-.4 2.3-1.2.4-.6.8-1.1.2-4.3-.8 0-1.5.1-2.3.1.1.4.1.6.2.8z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M231.2 223.1c-.1.1-.1.2-.2.3-.1.2-.2.3-.3.4 0 .1-.1.2-.1.2-.1.2-.2.4-.4.5v.1c-.1.2-.3.4-.4.5 0 .1-.1.1-.1.1-.1.1-.2.2-.2.3 0 .1-.1.1-.1.1l-.2.2-.1.1c-.1.1-.1.1-.2.1l-.1.1c-.1 0-.1.1-.2.1 0 0-.1 0-.1.1h-.2-.1-.1-.1c-.1 0-.2-.1-.2-.1l-.1-.1c-.1-.1-.1-.3-.2-.6s-.1-.6-.1-1c0-.3-.1-.7-.1-1.1v-.9h-2.2c.2 4.5.8 4.9 1.4 5.4.5.4 1.2.6 1.8.6 2.3 0 4.3-2.8 5.8-5.9-.8 0-1.6 0-2.5-.1-.3.4-.4.5-.4.6z"/>
- <path fill="url(#az)" fill-rule="nonzero" d="M231.2 223.1c-.1.1-.1.2-.2.3-.1.2-.2.3-.3.4 0 .1-.1.2-.1.2-.1.2-.2.4-.4.5v.1c-.1.2-.3.4-.4.5 0 .1-.1.1-.1.1-.1.1-.2.2-.2.3 0 .1-.1.1-.1.1l-.2.2-.1.1c-.1.1-.1.1-.2.1l-.1.1c-.1 0-.1.1-.2.1 0 0-.1 0-.1.1h-.2-.1-.1-.1c-.1 0-.2-.1-.2-.1l-.1-.1c-.1-.1-.1-.3-.2-.6s-.1-.6-.1-1c0-.3-.1-.7-.1-1.1v-.9h-2.2c.2 4.5.8 4.9 1.4 5.4.5.4 1.2.6 1.8.6 2.3 0 4.3-2.8 5.8-5.9-.8 0-1.6 0-2.5-.1-.3.4-.4.5-.4.6z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M167.7 80.6c-.1.2-.1.4-.2.6h.7c-.1-.2-.2-.4-.2-.6 0-.2-.3-.2-.3 0z"/>
- <path fill="url(#aA)" fill-rule="nonzero" d="M167.7 80.6c-.1.2-.1.4-.2.6h.7c-.1-.2-.2-.4-.2-.6 0-.2-.3-.2-.3 0z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M118.4 58.7c.1.2.2.3.4.3h.1c.3-.1.4-.3.4-.6v-.1l-1.9-5.3c-.1-.3-.4-.4-.6-.3-.3.1-.4.4-.3.6l1.9 5.4z"/>
- <path fill="url(#aB)" fill-rule="nonzero" d="M118.4 58.7c.1.2.2.3.4.3h.1c.3-.1.4-.3.4-.6v-.1l-1.9-5.3c-.1-.3-.4-.4-.6-.3-.3.1-.4.4-.3.6l1.9 5.4z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M134.3 121.9c.2-.2.5-.4.9-.2v.1l2.4-1.5v-3.5l-3.4 2.1v3h.1zM137.7 164.3c-.2.2-.4.6-.4.9 0 .9.1 1.8.4 2.6v-3.5z"/>
- <path fill="url(#aC)" fill-rule="nonzero" d="M137.7 164.3c-.2.2-.4.6-.4.9 0 .9.1 1.8.4 2.6v-3.5z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M115.5 59c.3 0 .5-.2.5-.5v-5.3c0-.3-.2-.5-.5-.5s-.5.2-.5.5v5.3c0 .3.2.5.5.5z"/>
- <path fill="url(#aD)" fill-rule="nonzero" d="M115.5 59c.3 0 .5-.2.5-.5v-5.3c0-.3-.2-.5-.5-.5s-.5.2-.5.5v5.3c0 .3.2.5.5.5z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M112.6 59c.3 0 .5-.2.5-.5v-5.8c0-.3-.2-.5-.5-.5s-.5.2-.5.5v5.8c0 .3.2.5.5.5z"/>
- <path fill="url(#aE)" fill-rule="nonzero" d="M112.6 59c.3 0 .5-.2.5-.5v-5.8c0-.3-.2-.5-.5-.5s-.5.2-.5.5v5.8c0 .3.2.5.5.5z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M114 59c.3 0 .5-.2.5-.5v-4.8c0-.3-.2-.5-.5-.5s-.5.2-.5.5v4.8c0 .3.3.5.5.5z"/>
- <path fill="url(#aF)" fill-rule="nonzero" d="M114 59c.3 0 .5-.2.5-.5v-4.8c0-.3-.2-.5-.5-.5s-.5.2-.5.5v4.8c0 .3.3.5.5.5z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M129.1 125.6l4.1-2.6v-.5c0-.1-.1-.1-.1-.2 0 0 .1 0 .1.1v-2.9l-5.6 3.6c-.8.3-1.1 1.2-.8 2 .2.6.8.9 1.3.9.2 0 .4 0 .6-.1.1-.1.2-.2.4-.3z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M139 115.8l-1.3.9v3.5l2.2-1.4v-8.3c-.5.7-.9 1.5-1.1 2.3-.1.5-.1 1-.1 1.4.1.6.1 1.1.3 1.6zM139.9 165.2c0-.7-.6-1.3-1.3-1.3-.4 0-.7.1-.9.4v3.5c.3 1.1.7 2.1 1.3 3 .6-.9.9-1.9.9-3v-2.6z"/>
- <path fill="url(#aG)" fill-rule="nonzero" d="M139.9 165.2c0-.7-.6-1.3-1.3-1.3-.4 0-.7.1-.9.4v3.5c.3 1.1.7 2.1 1.3 3 .6-.9.9-1.9.9-3v-2.6z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M138.7 159.7c-.1.3 0 .7.4.8l.8.3v-4.4l-1.2 3.3z"/>
- <path fill="url(#aH)" fill-rule="nonzero" d="M138.7 159.7c-.1.3 0 .7.4.8l.8.3v-4.4l-1.2 3.3z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M198 217c.5.6.9 1.3 1.5 1.9-.5-.7-1-1.3-1.5-1.9z"/>
- <path fill="url(#aI)" fill-rule="nonzero" d="M198 217c.5.6.9 1.3 1.5 1.9-.5-.7-1-1.3-1.5-1.9z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M207.8 226l-.2.2c.1-.1.2-.1.2-.2z"/>
- <path fill="url(#aJ)" fill-rule="nonzero" d="M207.8 226l-.2.2c.1-.1.2-.1.2-.2z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M224.1 117.6c1.4 0 2.5.5 3.2 1.1-.7-.5-1.8-1.1-3.2-1.1z"/>
- <path fill="url(#aK)" fill-rule="nonzero" d="M224.1 117.6c1.4 0 2.5.5 3.2 1.1-.7-.5-1.8-1.1-3.2-1.1z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M224.1 119.9c1.1 0 1.9.5 2.3.9-.4-.4-1.2-.9-2.3-.9z"/>
- <path fill="url(#aL)" fill-rule="nonzero" d="M224.1 119.9c1.1 0 1.9.5 2.3.9-.4-.4-1.2-.9-2.3-.9z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M134.3 121.9v-3.1l-1.1.7v2.9s-.1 0-.1-.1c0 .1.1.1.1.2v.5l2.1-1.3v-.1c-.5-.1-.8 0-1 .3z"/>
- <path fill="url(#aM)" fill-rule="nonzero" d="M150.7 112.6l-4.5 2.7c-.3.2-.7.3-1 .3-.6 0-1.3-.3-1.6-.9-.4-.6-.4-1.3-.1-1.8.1-.4.4-.7.8-1l4.2-2.7c-.7-.5-1.5-.9-2.3-1.1-.4-.1-.8-.1-1.3-.1-2 0-3.8 1-4.9 2.5-.5.7-.9 1.5-1.1 2.3-.1.5-.1 1-.1 1.4 0 .5.1 1 .3 1.5v.1l-1.3.8-3.4 2.1-1.1.7-5.6 3.6c-.8.3-1.1 1.2-.8 2 .2.6.8.9 1.3.9.2 0 .4 0 .6-.1.1-.1.3-.1.4-.2l4.1-2.6 2.1-1.3 2.4-1.5 2.2-1.4.7-.5c.8.8 1.7 1.3 2.8 1.6.5.1.9.2 1.4.2 1.4 0 2.7-.5 3.7-1.3s1.8-2 2.1-3.4c.2-1 .2-1.9 0-2.8z"/>
- <path fill="#FFFEFE" fill-rule="nonzero" d="M143.5 114.7c.4.6 1 .9 1.6.9.4 0 .7-.1 1-.3l4.5-2.7c.2.9.2 1.9 0 2.8-.3 1.4-1.1 2.6-2.1 3.4 1.1-.8 1.9-2.1 2.2-3.5.2-.9.2-1.9 0-2.8l-4.6 2.7c-.3.2-.7.3-1 .3-.6 0-1.3-.3-1.7-.9-.3-.5-.4-1.2-.2-1.7-.1.5-.1 1.2.3 1.8z"/>
- <path fill="url(#aN)" fill-rule="nonzero" d="M143.5 114.7c.4.6 1 .9 1.6.9.4 0 .7-.1 1-.3l4.5-2.7c.2.9.2 1.9 0 2.8-.3 1.4-1.1 2.6-2.1 3.4 1.1-.8 1.9-2.1 2.2-3.5.2-.9.2-1.9 0-2.8l-4.6 2.7c-.3.2-.7.3-1 .3-.6 0-1.3-.3-1.7-.9-.3-.5-.4-1.2-.2-1.7-.1.5-.1 1.2.3 1.8z"/>
- <path fill="#FFFEFE" fill-rule="nonzero" d="M126.8 125.1c-.3-.8 0-1.7.8-2l5.6-3.6 1.1-.7 3.4-2.1 1.3-.8v-.1l-11.5 7.3c-.8.3-1.1 1.3-.8 2 .3.6.8.9 1.4.9h.1c-.7 0-1.2-.3-1.4-.9z"/>
- <path fill="url(#aO)" fill-rule="nonzero" d="M126.8 125.1c-.3-.8 0-1.7.8-2l5.6-3.6 1.1-.7 3.4-2.1 1.3-.8v-.1l-11.5 7.3c-.8.3-1.1 1.3-.8 2 .3.6.8.9 1.4.9h.1c-.7 0-1.2-.3-1.4-.9z"/>
- <path fill="#FFFEFE" fill-rule="nonzero" d="M139.9 110.5c1.1-1.5 2.9-2.5 4.9-2.5.4 0 .8 0 1.3.1.8.2 1.6.6 2.3 1.1l.2-.1c-.7-.6-1.5-1-2.4-1.2-.4-.1-.8-.1-1.3-.1-2.8 0-5.4 2-6 4.9-.1.5-.1 1-.1 1.6 0-.5 0-1 .1-1.4.1-1 .5-1.7 1-2.4z"/>
- <path fill="url(#aP)" fill-rule="nonzero" d="M139.9 110.5c1.1-1.5 2.9-2.5 4.9-2.5.4 0 .8 0 1.3.1.8.2 1.6.6 2.3 1.1l.2-.1c-.7-.6-1.5-1-2.4-1.2-.4-.1-.8-.1-1.3-.1-2.8 0-5.4 2-6 4.9-.1.5-.1 1-.1 1.6 0-.5 0-1 .1-1.4.1-1 .5-1.7 1-2.4z"/>
- <path fill="url(#aQ)" fill-rule="nonzero" d="M106.4 207.6c.1 0 .1 0 0 0h.1c1-.3 1.9-.9 2.7-1.6-1.1-.3-2 .2-3.1.7-1 .2-2 .3-2.7 1l-.2.2c1.2.2 2.3 0 3.2-.3z"/>
- <path fill="url(#aR)" fill-rule="nonzero" d="M118.3 196.1c.7-1.4.9-3 .6-4.6-.4-2.1-1.5-3.9-3.3-5.1-1.4-1-3-1.4-4.6-1.4-1.5 0-3 .5-4.2 1.3-.2-.2-.4-.3-.6-.5-1.2-.8-2.5-1.2-4-1.2-2.1 0-4 1-5.3 2.6h-.7c-2.7 0-5.2 1.4-6.8 3.6-1.8 2.6-1.9 5.9-.6 8.6-.7.5-1.2 1.1-1.7 1.8-1.3 1.8-1.8 4.1-1.4 6.3.4 2.2 1.6 4.1 3.5 5.4 1.2.9 2.6 1.4 4.1 1.5.4 1.1 1.2 2.1 2.2 2.8 1 .7 2.2 1.1 3.5 1.1 1 .9 2.2 1.6 3.7 2.2l1 5.5h2.3l-1.3-7.2c-1.3-.4-2.7-1-3.8-1.8-.4-.3-.7-.6-1-1h-.1l-.1-.1c-.4-.4-.7-1-.9-1.6v-.1c-.3-.9-.2-1.7.1-1.8.2-.1.4-.1.5 0 .1.1.2.3.2.4v.2c0 .2.1.4.1.6V213.9c.3.9 1 2 2.2 2.7.1 0 .2.1.3.1.6.4 1.3.6 1.9.9 0 0 .1 0 .1.1l-.5-3h-.1-.1c-.1-.1-.3-.1-.4-.2-.3-.1-.6-.3-.9-.5 0 0-.1 0-.1-.1-.1.3-.2.5-.4.7l-.3.3s0-.1-.1-.1c-.6-.7-.9-1.5-.9-2-.1-.6-.3-1-.8-1.3-.4-.3-1-.3-1.5-.1-.5.2-1.4.8-.7 3.2.1.5.4 1 .6 1.4l.1.1c-.6-.1-1.2-.3-1.7-.6-.6-.4-1-1-1.3-1.6-.1-.2-.2-.4-.2-.6v-.1c-.1-.3-.1-.6-.1-.9-.3.1-.7.1-1 .1-1.2 0-2.5-.3-3.6-1.1-2.2-1.5-3-4.1-2.4-6.5l.3-.9v-.1c.2-.4.4-.7.6-1.1.8-1.2 2-2 3.2-2.4l-.
1-.1c-2.1-2.1-2.5-5.4-.8-7.9.5-.7 1-1.2 1.6-1.6 1-.7 2.2-1 3.3-1 .6 0 1.2.1 1.8.2 0-.1.1-.1.1-.2.1-.3.2-.5.4-.7.7-1 1.8-1.6 2.9-1.8.3 0 .5-.1.8-.1.9 0 1.8.2 2.7.8.7.5 1.3 1.2 1.6 2 .1-.1.1-.2.2-.2 1.1-1.4 2.7-2.1 4.3-2.1.7 0 1.3.1 2 .3.5.2.9.4 1.3.7 2.6 1.8 3.2 5.3 1.4 7.9-.2.2-.3.4-.5.6.1 0 .1.1.2.1.3.1.5.3.8.4.2.2.4.3.7.5 2.4 2.2 2.9 5.8 1 8.5-1.2 1.8-3.2 2.8-5.3 2.8h-.6c-.1 1.1-.4 2.1-1.1 3-.1.1-.1.2-.2.3-.1.2-.3.3-.5.5l-.4.4-.1.1c-.4.3-.8.6-1.2.8h-.1c-.1 0-.2.1-.3.1-1 .4-2 .3-2 .3-.2 0-.3.1-.4.2-.1.1-.2.2-.2.3 0 .3.2.6.5.6h.4c.5 0 1.3-.1 2.2-.4h.1l.6 3.3c.2-.1.4-.1.5-.2.6-.3 1.2-.7 1.6-1.1l.1-.1c.1-.1.1-.3 0-.9-.1-.6-.4-1.2-.6-1.6-.1-.2-.1-.3-.2-.5s0-.4.1-.6l.2-.2h.2c.2 0 .5.1.6.4 0 .1.1.2.2.4.2.4.4.9.5 1.4v.1c.6-1.2.9-2.5 1.1-3.7v-.1c.1-.3.3-.5.6-.5h.1c.3.1.5.4.5.7-.4 1.9-1 4.2-2.4 5.8l-.1.1c-.6.6-1.3 1.2-2.1 1.5-.2.1-.5.2-.7.2h-.1l1 5.4c.1.3-.2.7-.7.9l2.7.3c.2-.5.3-1 .2-1.6l-.7-3.6c.8-.4 1.4-1 2.1-1.7l.1-.1c1.8-2.1 2.5-4.9 2.8-6.8.1-.8 0-1.5-.5-2.1 1.2-.6 2.2-1.5 3-2.7 1.3-1.9
1.8-4.2 1.4-6.5.2-2.4-.8-4.2-2.2-5.4z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M107.9 226.5h-.4c-.8 0-1.5-.2-1.5-.6v-.1h-2.3l.1.5c.2 1.2 1.3 2.5 3.8 2.5 1.5 0 3.5-.5 4.6-1.8.2-.2.3-.5.4-.7l-2.7-.3c-.5.2-1.3.4-2 .5z"/>
- <path fill="url(#aS)" fill-rule="nonzero" d="M107.9 226.5h-.4c-.8 0-1.5-.2-1.5-.6v-.1h-2.3l.1.5c.2 1.2 1.3 2.5 3.8 2.5 1.5 0 3.5-.5 4.6-1.8.2-.2.3-.5.4-.7l-2.7-.3c-.5.2-1.3.4-2 .5z"/>
- <path d="M-30-28h352v303H-30z"/>
- </g>
-</svg>
diff --git a/browser/extensions/onboarding/content/img/figure_default.svg b/browser/extensions/onboarding/content/img/figure_default.svg
deleted file mode 100644
index c52e4b8500f7..000000000000
--- a/browser/extensions/onboarding/content/img/figure_default.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="272" height="247" viewBox="0 0 272 247" xmlns="http://www.w3.org/2000/svg"><title>default-browser</title><defs><linearGradient x1="-12.708%" y1="-28.803%" x2="102.994%" y2="115.824%" id="a"><stop stop-color="#FFCCD7" offset="40.06%"/><stop stop-color="#EDBEE2" offset="100%"/></linearGradient><linearGradient x1="-78.121%" y1="-55.724%" x2="136.609%" y2="135.651%" id="b"><stop stop-color="#FFE900" offset="28.07%"/><stop stop-color="#FFCC07" offset="32.21%"/><stop stop-color="#FF8119" offset="41.22%"/><stop stop-color="#FF0B36" offset="54.35%"/><stop stop-color="#FF0039" offset="55.5%"/><stop stop-color="#ED00B5" offset="85.24%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M-36-18h352v303H-36z"/><g fill-rule="nonzero"><g fill="#D7D7DB"><path d="M116.6 201.9H42.1c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h74.6c.6 0 1.1.5 1.1 1.1-.1.6-.6 1.1-1.2 1.1zM104 195.9H71c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h33c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zM109.7 206.7h-3.3c-.3 0-.6-.
2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zm-12.2 0H84.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-23.5 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6H74c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zm-5.5 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-12.3 0H42.8c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-23.4 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5.6 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-12.3 0H1.5c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6z"/></g><path d="M138.8 171.9c-2.8 0-5-2.1-5-4.8V49.7c0-2.9 2.4-5.3 5.3-5.3h126.1c2.9 0 5.3 2.4 5.3 5.3v117.4c0 2.6-2.2 4.8-5 4.8H138.8z" fill="#FFF"/><path d="M265.2 45.4c2.3 0 4.2 1.9 4.2 4.2V167c0 2-1.7 3.7-3.9 3.7H138.8c-2.2 0-3.9-1.6-3.9-3.7V49.7c0-2.3 1.9-4.2 4.2-4.2h126.1v-.1zm0-2.2H139.1c-3.5 0-6.4 2.9-6.4 6.4V167c0 3.2 2.8 5.9 6.1 5.9h126.7c3.4 0 6.1-2.6 6.1-5.9V49.7c0-3.
6-2.9-6.5-6.4-6.5z" fill="#D7D7DB"/><path d="M264.8 66.4V165c0 .9-.1 1.2-.1 1.2s-.3.1-1.2.1H140.8c-.9 0-1.2-.1-1.2-.1s-.1-.3-.1-1.2V66.4h125.3zm1.1-1.1H138.3V165c0 2 .4 2.4 2.4 2.4h122.7c2 0 2.4-.4 2.4-2.4V65.3h.1z" fill="#D7D7DB"/><g fill="#D7D7DB"><circle cx="2.9" cy="3.3" r="2.8" transform="translate(143 52)"/><circle cx="3.1" cy="3.3" r="2.8" transform="translate(152 52)"/><path d="M233.8 58.5h-63.4c-1.7 0-3.1-1.4-3.1-3.1v-.3c0-1.7 1.4-3.1 3.1-3.1h63.4c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.7-1.4 3.1-3.1 3.1z"/><g><circle cx="3.2" cy="3.3" r="2.8" transform="translate(246 52)"/><circle cx="3.4" cy="3.3" r="2.8" transform="translate(255 52)"/></g></g><path d="M21.8 23.4h23.9S38.2 6.7 54.1 4.5c14.2-1.9 19.8 12.6 19.8 12.6s1.7-8.4 10.1-6.8c8.3 1.6 14.5 15 14.5 15h20.8" fill="#F9F9FA"/><path d="M119.7 21.4h-5.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h5.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-15.3 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5.5-.1c-.2 0-.4-.1-.5-.3-.2-.3-.7-1.
4-1.7-2.9-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2 1 1.5 1.6 2.6 1.7 2.9.1.3 0 .6-.2.8-.2.1-.3.1-.3.1zm-52.8-.6h-1.6c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h.8c-.1-.2-.2-.5-.3-.9-.1-.3.1-.6.4-.7.3-.1.6.1.7.4.3 1 .6 1.6.6 1.6.1.2.1.4 0 .5-.2.2-.4.3-.6.3zm-10.5 0H22.2c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm8.9-6c-.3 0-.5-.2-.6-.5 0-.4-.1-.8-.1-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.1 1.1.1.3-.1.6-.5.6.1 0 0 0 0 0zM73.6 13c-.2 0-.4-.1-.5-.3-.1-.3-.3-.6-.5-1-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.2.4.4.7.5 1 .1.3 0 .6-.2.8-.1 0-.2.1-.3.1zm17.9-1.5c-.1 0-.3 0-.4-.1-2.3-2.1-4.6-3.4-6.8-3.8-.7-.1-1.4-.2-2-.2-1 0-2 .2-2.8.5-.3.1-.6 0-.7-.3-.1-.3 0-.6.3-.7 1-.4 2.1-.6 3.3-.6.7 0 1.4.1 2.2.2 2.4.5 4.9 1.8 7.3 4 .2.2.2.6 0 .8-.1.2-.3.2-.4.2zM70.6 8.3c-.2 0-.3-.1-.4-.2-.7-.9-1.5-1.6-2.3-2.3-.2-.2-.3-.6-.1-.8.2-.2.6-.3.8-.1.8.7 1.6 1.6 2.4 2.5.2.2.2.6-.1.8-.1.1-.2.1-.3.1zm-23-3.8c-.2 0-.3-.1-.4-.2-.2-.2-.2-.6.1-.8C49.1 2 51.5 1.1 54.5.6c2.1-.3 4.1-.2 6 .1.3.1.5.4.4.7-.1.3-.3.5-.7.4-1.8-.4-3.7-
.4-5.6-.1-2.8.4-5 1.3-6.6 2.6-.1.2-.2.2-.4.2z" fill="#D7D7DB"/><path d="M120.4 25.6H21.8c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h98.6c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1z" fill="#F9F9FA"/><path d="M15.2 181.9c-2.8 0-5-2.1-5-4.8V59.7c0-2.9 2.4-5.3 5.3-5.3h126.1c2.9 0 5.3 2.4 5.3 5.3v117.4c0 2.6-2.2 4.8-5 4.8H15.2z" fill="#FFF"/><path d="M141.6 55.5c2.3 0 4.2 1.9 4.2 4.2V177.1c0 2-1.7 3.7-3.9 3.7H15.2c-2.2 0-3.9-1.6-3.9-3.7V59.7c0-2.3 1.9-4.2 4.2-4.2h126.1zm0-2.2H15.5c-3.5 0-6.4 2.9-6.4 6.4V177.1c0 3.2 2.8 5.9 6.1 5.9h126.7c3.4 0 6.1-2.6 6.1-5.9V59.7c0-3.5-2.9-6.4-6.4-6.4z" fill="#D7D7DB"/><path d="M141.2 76.4V175c0 .9-.1 1.2-.1 1.2s-.3.1-1.2.1H17.2c-.9 0-1.2-.1-1.2-.1s-.1-.3-.1-1.2V76.4h125.3zm1.1-1.1H14.8V175c0 2 .4 2.4 2.4 2.4h122.7c2 0 2.4-.4 2.4-2.4V75.3z" fill="#D7D7DB"/><g fill="#D7D7DB"><circle cx="3.3" cy="3.3" r="2.8" transform="translate(19 62)"/><circle cx="3.5" cy="3.3" r="2.8" transform="translate(28 62)"/><path d="M110.2 68.6H46.9c-1.7 0-3.1-1.4-3.1-3.1v-.3c0-1.7 1.4
-3.1 3.1-3.1h63.4c1.7 0 3.1 1.4 3.1 3.1v.3c-.1 1.7-1.5 3.1-3.2 3.1z"/><g><circle cx="3.6" cy="3.3" r="2.8" transform="translate(122 62)"/><circle cx="2.8" cy="3.3" r="2.8" transform="translate(132 62)"/></g></g><path d="M210 28.8h13.3s-4.2-9.3 4.7-10.5c7.9-1.1 11 7 11 7s.9-4.7 5.6-3.8c4.6.9 8 8.3 8 8.3h11.6" fill="#F9F9FA"/><path d="M223.7 27.3h-13.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.3v.5l.5-.2c.1.2.1.4 0 .6-.2.2-.3.3-.5.3zm36.5-.2h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-20.8-3.3h-.1c-.3-.1-.5-.4-.4-.7.1-.4 1.1-4.3 5-4.3.4 0 .8 0 1.2.1 1.7.3 3.5 1.4 5.2 3.1.2.2.2.6 0 .8-.2.2-.6.2-.8 0-1.6-1.6-3.1-2.5-4.6-2.8-.4-.1-.7-.1-1-.1-3 0-3.8 2.8-3.9 3.4-.1.3-.4.5-.6.5zm-15.3-5.1c-.1 0-.3 0-.4-.1-.2-.2-.2-.6 0-.8.8-.8 1.8-1.5 3.1-1.8.3-.1.6.1.7.4.1.3-.1.6-.4.7-1.1.3-2 .8-2.6 1.5-.1.1-.3.1-.4.1zm8.3-1.6h-.2c-.3-.1-.7-.2-1-.2-.3-.1-.5-.3-.5-.6.1-.3.3-.5.6-.5l1.2.3c.3.1.5.4.4.7 0 .1-.2.3-.5.3z" fill="#D7D7DB"/><path d="M265.1 31h-54.9c-.6 0-1.1-.5-1.1-1.1 0-.6.
5-1.1 1.1-1.1h54.9c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1zM237.9 58H87.8c-5.8 0-10.6 4.8-10.6 10.6v139.9c0 5.5 4.6 9.9 10.2 9.9h150.9c5.6 0 10.2-4.5 10.2-9.9V68.6c0-5.8-4.7-10.6-10.6-10.6z" fill="#F9F9FA"/><ellipse fill="#EDEDF0" cx="164.5" cy="239.7" rx="82" ry="6.8"/><path d="M148.2 68.3c-.5.4-1.1.6-1.8.6s-1.3-.2-1.8-.6l-6.3-5.1-.2-.2H87.7c-2.8 0-5 2.2-5 5v140c0 2.4 2.1 4.4 4.6 4.4h150.9c2.6 0 4.6-1.9 4.6-4.4V68.1c0-2.8-2.2-5-5-5h-83.3c-.1 0-.1.1-.2.2l-6.1 5zm-41.4 3.1c1.9 0 3.4 1.5 3.4 3.4s-1.5 3.4-3.4 3.4-3.4-1.5-3.4-3.4 1.5-3.4 3.4-3.4zm-10.9 0c1.9 0 3.4 1.5 3.4 3.4s-1.5 3.4-3.4 3.4-3.4-1.5-3.4-3.4 1.5-3.4 3.4-3.4zm133.9 0c1.9 0 3.4 1.5 3.4 3.4s-1.5 3.4-3.4 3.4-3.4-1.5-3.4-3.4 1.6-3.4 3.4-3.4zm-10.9 0c1.9 0 3.4 1.5 3.4 3.4s-1.5 3.4-3.4 3.4-3.4-1.5-3.4-3.4 1.6-3.4 3.4-3.4zm-18.3-.4c2 0 3.7 1.6 3.7 3.7v.3c0 2-1.6 3.7-3.7 3.7h-5.8c.9 2.6.9 5.5-.2 8h44.3v118.7c0 2.4-.5 2.9-2.9 2.9H89.8c-2.4 0-2.9-.5-2.9-2.9V86.7h73.3c-1.1-2.6-1.1-5.5-.2-8h-34.9c-2 0-3.7-1.6-3.7-3.7v-.3c0-2 1.6-3.7
3.7-3.7h75.5z" fill="#FFF"/><path d="M190.6 91.5l-11.1 9c-.6.5-1.3.7-2.1.7s-1.5-.3-2.1-.7l-11.1-9c-1.3-.8-2.3-1.9-3.1-3.1-.4-.6-.7-1.1-.9-1.7H86.9v118.7c0 2.4.5 2.9 2.9 2.9H236c2.4 0 2.9-.5 2.9-2.9V86.7h-44.3c-.3.6-.6 1.2-1 1.8-.8 1.2-1.8 2.2-3 3zm10.1 24c7.4 8.8 8.2 21.5 1.8 31.1-1.9 2.9-4.3 5.3-7.2 7.3l-30.2 24.7c-.9.7-2.1 1.1-3.3 1.1-1.2 0-2.4-.4-3.3-1.2l-30.4-24.6c-3-2-5.6-4.5-7.5-7.5-6.7-10.3-5.3-24 3.4-32.7 4.9-4.9 11.4-7.6 18.3-7.6 7 0 13.5 2.7 18.4 7.6.3.3.6.4.8.4.2 0 .5-.1.9-.4 4.9-4.9 11.4-7.6 18.3-7.6 7.8.2 15 3.5 20 9.4z" fill="url(#a)"/><path d="M162.5 113.8c-.3.3-.7.4-.9.4-.2 0-.5-.1-.8-.4-4.9-4.9-11.4-7.6-18.4-7.6-6.9 0-13.4 2.7-18.3 7.6-8.7 8.6-10.1 22.4-3.4 32.7 1.9 3 4.4 5.5 7.5 7.5l30.4 24.6c.9.7 2.1 1.2 3.3 1.2 1.2 0 2.3-.4 3.3-1.1l30.2-24.7c2.9-2 5.3-4.4 7.2-7.3 6.3-9.6 5.6-22.3-1.8-31.1-5-5.9-12.2-9.3-19.9-9.3-7 0-13.5 2.7-18.4 7.5zM199 117c6.7 8 7.4 19.7 1.6 28.4-1.8 2.8-4.2 5-6.7 6.7l-30.3 24.7c-.6.4-1.2.7-1.9.7s-1.3-.2-1.9-.7l-30.5-24.7c-2.6-1.7-5-4-6.9-6.9-
6.1-9.3-4.8-22 3.1-29.9 4.6-4.6 10.7-6.9 16.8-6.9 6.1 0 12.2 2.3 16.8 7 .7.7 1.5 1 2.4 1 .9 0 1.7-.3 2.4-1 4.6-4.6 10.7-6.9 16.8-6.9 6.8 0 13.5 2.8 18.3 8.5z" fill="#FFF"/><path d="M138 115.4c-7.6 1.7-13.2 8.1-13.8 15.8-.2 2.2 1.5 4.1 3.6 4.3h.3c2.1 0 3.8-1.6 3.9-3.6.4-4.3 3.4-7.8 7.6-8.7 2.2-.5 3.5-2.6 3-4.7-.3-2.2-2.4-3.6-4.6-3.1z" fill="#F9F9FA"/><path d="M184.5 71.4c-2.6 0-5.1.9-7.1 2.6-2-1.7-4.5-2.6-7.1-2.6-2.9 0-5.7 1.1-7.7 3.2-1.2 1.2-2 2.5-2.6 4-.9 2.6-.9 5.5.2 8 .3.6.6 1.2.9 1.7.8 1.2 1.8 2.3 3.1 3.1l11.1 9c.6.5 1.3.7 2.1.7s1.5-.3 2.1-.7l11.1-9c1.2-.8 2.2-1.8 3-3 .4-.6.7-1.2 1-1.8 1.1-2.6 1.1-5.5.2-8-.4-1.2-1.1-2.3-1.9-3.3-2.1-2.5-5.2-3.9-8.4-3.9zm7.3 15.8c-.7 1-1.5 1.8-2.5 2.5l-11.2 9.1c-.2.2-.4.2-.7.2-.2 0-.5-.1-.7-.2l-11.2-9.1c-1-.6-1.9-1.5-2.6-2.5-2.2-3.4-1.8-8.1 1.1-11 1.7-1.7 3.9-2.5 6.2-2.5 2.2 0 4.5.9 6.2 2.6.2.2.6.4.9.4.3 0 .6-.1.9-.4 1.7-1.7 3.9-2.6 6.2-2.6 2.5 0 4.9 1 6.7 3.1 2.5 2.9 2.8 7.2.7 10.4z" fill="#FFF"/><path d="M168.7 76.2c-2.8.6-4.8 3-5.1 5.8-.1.8.5 1
.5 1.3 1.6h.1c.8 0 1.4-.6 1.5-1.3.1-1.6 1.3-2.9 2.8-3.2.8-.2 1.3-1 1.1-1.7-.1-.9-.9-1.4-1.7-1.2zM138.1 63l.2.2 6.3 5.1c.5.4 1.1.6 1.8.6.6 0 1.3-.2 1.8-.6l6.2-5.1c.1 0 .1-.1.2-.2.7-.5 1.3-1.1 1.7-1.8.1-.1.2-.3.2-.4 1.5-2.6 1.2-5.9-.7-8.1-1.4-1.6-3.4-2.6-5.5-2.6-1.4 0-2.8.4-4 1.2-1.2-.8-2.6-1.2-4-1.2-1.9 0-3.7.7-5.1 2.1-2.3 2.3-2.7 5.8-1.2 8.6.1.1.1.3.2.4.6.7 1.2 1.3 1.9 1.8zm.8-9.2c1-1 2.2-1.4 3.5-1.4 1.3 0 2.5.5 3.5 1.5.1.1.3.2.5.2s.4-.1.5-.2c1-1 2.2-1.4 3.5-1.4 1.4 0 2.8.6 3.8 1.8 1.4 1.7 1.5 4.1.3 5.9-.4.6-.9 1-1.4 1.4l-6.3 5.1c-.1.1-.3.1-.4.1-.1 0-.3 0-.4-.1l-6.3-5.1c-.5-.4-1-.8-1.4-1.4-1.3-2.2-1.1-4.8.6-6.4z" fill="#F9F9FA"/><path d="M139.3 58c.1 0 .1 0 0 0 .5 0 .9-.3.9-.8.1-.9.7-1.6 1.6-1.8.4-.1.7-.5.6-1-.1-.4-.5-.7-1-.6-1.6.4-2.7 1.7-2.9 3.3 0 .4.4.8.8.9z" fill="#F9F9FA"/><path d="M245.2 68.1V208c0 3.6-3.1 6.6-6.9 6.6H87.4c-3.8 0-6.9-3-6.9-6.6V68.1c0-4 3.2-7.2 7.2-7.2h48.4c.1.1.1.3.2.4.5.7 1.1 1.3 1.8 1.8H87.7c-2.8 0-5 2.2-5 5V208c0 2.4 2.1 4.4 4.6 4.4h150.9c2.6 0 4.6-1.9 4.6-
4.4V68.1c0-2.8-2.2-5-5-5h-83.3c.7-.5 1.3-1.1 1.7-1.8.1-.1.2-.3.2-.4h81.4c4.1-.1 7.4 3.2 7.4 7.2zM95.9 78.2c1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4-3.4 1.5-3.4 3.4 1.5 3.4 3.4 3.4zm10.9 0c1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4-3.4 1.5-3.4 3.4 1.5 3.4 3.4 3.4zm14.6-3.6v.3c0 2 1.6 3.7 3.7 3.7H160c.5-1.5 1.4-2.8 2.6-4 2.1-2.1 4.8-3.2 7.7-3.2 2.6 0 5.1.9 7.1 2.6 2-1.7 4.5-2.6 7.1-2.6 3.2 0 6.3 1.4 8.4 3.9.8 1 1.5 2.1 1.9 3.3h5.8c2 0 3.7-1.6 3.7-3.7v-.3c0-2-1.6-3.7-3.7-3.7h-75.5c-2 .1-3.7 1.7-3.7 3.7zm97.5 3.6c1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4-3.4 1.5-3.4 3.4 1.6 3.4 3.4 3.4zm10.9 0c1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4-3.4 1.5-3.4 3.4 1.6 3.4 3.4 3.4zm-49 30.3c6.7 0 13.4 2.8 18.2 8.5 6.7 8 7.4 19.7 1.6 28.4-1.8 2.8-4.2 5-6.7 6.7l-30.3 24.7c-.6.4-1.2.7-1.9.7s-1.3-.2-1.9-.7l-30.5-24.7c-2.6-1.7-5-4-6.9-6.9-6.1-9.3-4.8-22 3.1-29.9 4.6-4.6 10.7-6.9 16.8-6.9 6.1 0 12.2 2.3 16.8 7 .7.7 1.5 1 2.4 1 .9 0 1.7-.3 2.4-1 4.8-4.6 10.9-6.9 16.9-6.9zm-38 9.9c-.5-2.2-2.6-3.5-4.7-3-7.6 1.7-13.2 8.1-1
3.8 15.8-.2 2.2 1.5 4.1 3.6 4.3h.3c2.1 0 3.8-1.6 3.9-3.6.4-4.3 3.4-7.8 7.6-8.7 2.2-.5 3.6-2.7 3.1-4.8zm48.4-41.6c2.5 2.9 2.7 7.3.6 10.5-.7 1-1.5 1.8-2.5 2.5l-11.2 9.1c-.2.2-.4.2-.7.2-.2 0-.5-.1-.7-.2l-11.2-9.1c-1-.6-1.9-1.5-2.6-2.5-2.2-3.4-1.8-8.1 1.1-11 1.7-1.7 3.9-2.5 6.2-2.5 2.2 0 4.5.9 6.2 2.6.2.2.6.4.9.4.3 0 .6-.1.9-.4 1.7-1.7 3.9-2.6 6.2-2.6 2.5-.1 5 .9 6.8 3zm-20.7.5c-.2-.8-1-1.3-1.7-1.1-2.8.6-4.8 3-5.1 5.8-.1.8.5 1.5 1.3 1.6h.1c.8 0 1.4-.6 1.5-1.3.1-1.6 1.3-2.9 2.8-3.2.7-.2 1.2-1 1.1-1.8zM138.2 60c-1.3-1.9-1-4.6.6-6.2 1-1 2.2-1.4 3.5-1.4 1.3 0 2.5.5 3.5 1.5.1.1.3.2.5.2s.4-.1.5-.2c1-1 2.2-1.4 3.5-1.4 1.4 0 2.8.6 3.8 1.8 1.4 1.7 1.5 4.1.3 5.9-.4.6-.9 1-1.4 1.4l-6.3 5.1c-.1.1-.3.1-.4.1-.1 0-.3 0-.4-.1l-6.3-5.1c-.5-.5-1-1-1.4-1.6zm.4-2.9c0 .5.3.9.8.9h.1c.4 0 .8-.3.8-.8.1-.9.7-1.6 1.6-1.8.4-.1.7-.5.6-1-.1-.4-.5-.7-1-.6-1.6.3-2.8 1.7-2.9 3.3zM158 42.4c-2.1-3.2-1.6-7.5 1.1-10.2 1.6-1.6 3.6-2.4 5.7-2.4s4.2.8 5.7 2.4c.2.2.5.3.8.3.3 0 .6-.1.8-.3 1.6-1.6 3.7-2.4 5.7-2.4 2.3 0 4.6 1 6.2
2.9 2.3 2.7 2.5 6.7.6 9.7-.6 1-1.4 1.7-2.3 2.3L172 53.2c-.2.2-.4.2-.6.2-.2 0-.5-.1-.6-.2l-10.4-8.4c-1-.7-1.8-1.4-2.4-2.4zm.6-4.8c-.1.7.5 1.4 1.2 1.5h.1c.7 0 1.3-.5 1.3-1.2.1-1.5 1.2-2.7 2.6-3 .7-.2 1.2-.9 1-1.6-.2-.7-.9-1.2-1.6-1-2.5.5-4.4 2.6-4.6 5.3z" fill="url(#b)"/><path d="M159 46.5l10.3 8.4c.6.5 1.3.7 2 .7s1.5-.3 2-.7l10.3-8.4c1.1-.8 2.1-1.7 2.8-2.8 2.5-3.8 2.2-8.9-.7-12.4-2-2.3-4.9-3.7-7.9-3.7-2.4 0-4.7.8-6.6 2.3-1.9-1.5-4.2-2.4-6.6-2.4-2.8 0-5.3 1.1-7.3 3-3.5 3.4-4 8.9-1.4 13 1 1.3 1.9 2.2 3.1 3zm0-14.3c1.6-1.6 3.6-2.4 5.7-2.4s4.2.8 5.7 2.4c.2.2.5.3.8.3.3 0 .6-.1.8-.3 1.6-1.6 3.7-2.4 5.7-2.4 2.3 0 4.6 1 6.2 2.9 2.3 2.7 2.5 6.7.6 9.7-.6 1-1.4 1.7-2.3 2.3L172 53.2c-.2.2-.4.2-.6.2-.2 0-.5-.1-.6-.2l-10.4-8.4c-.9-.6-1.7-1.4-2.4-2.4-2.1-3.2-1.7-7.5 1-10.2z" fill="#F9F9FA"/><path d="M159.8 39.1h.1c.7 0 1.3-.5 1.3-1.2.1-1.5 1.2-2.7 2.6-3 .7-.2 1.2-.9 1-1.6-.2-.7-.9-1.2-1.6-1-2.6.6-4.5 2.8-4.7 5.4 0 .6.6 1.3 1.3 1.4z" fill="#F9F9FA"/></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/figure_library.svg b/browser/extensions/onboarding/content/img/figure_library.svg
deleted file mode 100644
index aad20181b996..000000000000
--- a/browser/extensions/onboarding/content/img/figure_library.svg
+++ /dev/null
@@ -1,689 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="267" height="240">
- <defs>
- <linearGradient id="a" x1="-287.251713%" x2="363.382118%" y1="-127.999431%" y2="247.172106%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="b" x1="-8347.28%" x2="11424.26%" y1="-8337.33%" y2="11434.21%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="c" x1="-2354.3122%" x2="2468.01463%" y1="-738.5544%" y2="843.1688%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="d" x1="-11316.73%" x2="8454.81%" y1="-5346.60952%" y2="4068.40952%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="e" x1="-156.148629%" x2="205.305484%" y1="-480.49483%" y2="430.938303%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="f" x1="-11777.11%" x2="7994.43%" y1="-1542.90541%" y2="1128.92432%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="g" x1="-1966.10678%" x2="1385.00169%" y1="-2646.49545%" y2="1847.03636%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="h" x1="-1259.26087%" x2="945.558937%" y1="-1283.95691%" y2="942.373333%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="i" x1="-4828.28387%" x2="3895.46452%" y1="-2550.56897%" y2="2112.12414%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="j" x1="-1420.34388%" x2="1159.68716%" y1="-3565.4194%" y2="2819.67133%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="k" x1="-6578.28%" x2="13193.26%" y1="-6566.33%" y2="13205.21%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="l" x1="-690.589109%" x2="1266.98911%" y1="-1068.60597%" y2="1882.37015%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="m" x1="-3693.78418%" x2="6240.18862%" y1="-1360.99327%" y2="2373.67085%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="n" x1="-51.4002563%" x2="99.3496099%" y1="-59.6430664%" y2="133.087695%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="o" x1="-47.4074974%" x2="121.810771%" y1="-106.87209%" y2="132.306567%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="p" x1="-701.943676%" x2="609.202314%" y1="-537.964802%" y2="487.22249%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="q" x1="-1074.53%" x2="834.91%" y1="-358.218519%" y2="348.981481%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="r" x1="-5230.64688%" x2="3222.21875%" y1="-2856.73793%" y2="1806.91207%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="s" x1="-1536.40601%" x2="955.898444%" y1="-3896.2795%" y2="2345.49035%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="t" x1="-2573.03736%" x2="4141.82528%" y1="-7694%" y2="12077.54%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="u" x1="-105.756%" x2="253.726545%" y1="-959.543678%" y2="1313.04713%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="v" x1="-113.495628%" x2="246.641894%" y1="-1951.93556%" y2="2441.74%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="w" x1="-203.741261%" x2="362.77851%" y1="-8794.04%" y2="10977.5%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="x" x1="-8901.65455%" x2="9072.47273%" y1="-4629.9%" y2="4785.11905%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="y" x1="-135.885507%" x2="273.463147%" y1="-6854.87692%" y2="8354%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="z" x1="-237.240755%" x2="222.496119%" y1="-950.902381%" y2="659.16369%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="A" x1="-323.294457%" x2="276.418625%" y1="-16784.12%" y2="10262.94%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="B" x1="-324.50885%" x2="273.863496%" y1="-16876.15%" y2="10170.29%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="C" x1="-8757.43409%" x2="-13250.9636%" y1="-25788.3267%" y2="-38969.3533%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="D" x1="-4977.81154%" x2="-7512.62308%" y1="-21732.3667%" y2="-32716.5611%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="E" x1="-778.197863%" x2="-1200.66709%" y1="-2873.70382%" y2="-4382.98244%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="F" x1="-3162.7925%" x2="-4810.42083%" y1="-25654.4533%" y2="-38835.4867%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="G" x1="-1053.32338%" x2="1514.40909%" y1="-4984.71765%" y2="6645.6%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="H" x1="-5039.72338%" x2="-7607.45714%" y1="-23040.7706%" y2="-34671.0941%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="I" x1="143.631333%" x2="-4.86%" y1="790.352632%" y2="-381.952632%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="J" x1="-2552.41333%" x2="-3870.516%" y1="-20494.2053%" y2="-30900.2789%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="K" x1="-1250.60304%" x2="-1918.56115%" y1="-38487.33%" y2="-58258.87%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="L" x1="-37598.9%" x2="-57370.44%" y1="-17879.1857%" y2="-27294.2048%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="M" x1="-882.727251%" x2="-1363.78637%" y1="-29434.6846%" y2="-44643.5692%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="N" x1="-268.313828%" x2="273.677355%" y1="-882.118713%" y2="699.481287%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="O" x1="-420.455862%" x2="943.098621%" y1="-4784.28571%" y2="9338.24286%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="P" x1="-587.656122%" x2="1429.84796%" y1="-3859.74375%" y2="8497.475%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="Q" x1="-597.567708%" x2="1461.96771%" y1="-6217.96%" y2="13553.58%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="R" x1="-989.3%" x2="1835.20571%" y1="-6563.19091%" y2="11410.9364%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="S" x1="-1683.03158%" x2="3520.00526%" y1="-4061.93125%" y2="8295.28125%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="T" x1="-289.56383%" x2="551.778298%" y1="-736.619802%" y2="1220.95842%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="U" x1="-8102.24%" x2="11669.3%" y1="-8112.37%" y2="11659.17%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="V" x1="-527.27218%" x2="959.309774%" y1="-7671.89%" y2="12099.65%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="W" x1="-563.298261%" x2="1155.96609%" y1="-4360.425%" y2="7996.7875%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="X" x1="-595.656881%" x2="1218.24587%" y1="-7031.95%" y2="12739.59%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="Y" x1="-4261.16471%" x2="7369.15294%" y1="-5186.16429%" y2="8936.36429%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="Z" x1="-7291.52%" x2="12480.03%" y1="-7323.1%" y2="12448.44%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aa" x1="-46.8866667%" x2="106.777333%" y1="-610.354545%" y2="437.354545%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="ab" x1="-954.992%" x2="1681.21333%" y1="-6801.97273%" y2="11172.1545%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="ac" x1="-53.1965517%" x2="108.827586%" y1="-138.8375%" y2="154.825%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="ad" x1="-2268.40345%" x2="4549.36897%" y1="-4153.9%" y2="8203.3125%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="ae" x1="-134.196822%" x2="349.214914%" y1="-7485.96%" y2="12285.58%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="af" x1="-203.129153%" x2="467.092542%" y1="-7412.3%" y2="12359.24%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="ag" x1="-8254.16%" x2="11517.38%" y1="-4829.67647%" y2="6800.64118%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="ah" x1="-261.207831%" x2="281.860241%" y1="-1137.19462%" y2="943.173846%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="ai" x1="-353.298433%" x2="352.892428%" y1="-15403.61%" y2="11643.5%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="aj" x1="-355.267885%" x2="350.914099%" y1="-15487.8%" y2="11558.97%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="ak" x1="-2084.69358%" x2="-3141.99572%" y1="-5548.86479%" y2="-8333.58732%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="al" x1="-2136.94011%" x2="-3223.28791%" y1="-39758.41%" y2="-59529.95%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="am" x1="-8671.43111%" x2="-13065.1111%" y1="-39159.26%" y2="-58930.8%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="an" x1="42.05%" x2="39.02%" y1="40.85%" y2="37.83%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="ao" x1="-1655.02189%" x2="-2503.58541%" y1="-18008.5045%" y2="-26995.5636%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="ap" x1="26.16%" x2="23.82%" y1="17.93%" y2="15.58%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aq" x1="-7321.04%" x2="-10915.8655%" y1="-26976.66%" y2="-40157.6867%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="ar" x1="-3806.45143%" x2="-5689.45619%" y1="-33702.4583%" y2="-50178.75%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="as" x1="-719.07449%" x2="1298.42959%" y1="-4375.10588%" y2="7255.21176%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="at" x1="-4193.87653%" x2="-6211.37959%" y1="-24406.3118%" y2="-36036.6294%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="au" x1="-524.679508%" x2="1095.93852%" y1="-4333.45%" y2="8023.7625%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="av" x1="-3315.91393%" x2="-4936.53115%" y1="-25616.6063%" y2="-37973.8188%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aw" x1="-1422.94082%" x2="2612.06735%" y1="-5115.85714%" y2="9006.67143%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="ax" x1="-8372.54082%" x2="-12407.5531%" y1="-29439.4643%" y2="-43561.9929%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="ay" x1="-2040.6303%" x2="3950.74545%" y1="-6860.53%" y2="12911.01%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="az" x1="-12359.7364%" x2="-18351.1091%" y1="-40913.58%" y2="-60685.12%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aA" x1="-1005.75152%" x2="1989.93788%" y1="-6296.96364%" y2="11677.1727%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aB" x1="-6165.30303%" x2="-9160.98939%" y1="-37254.2727%" y2="-55228.4%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aC" x1="-2871.84%" x2="5036.776%" y1="-4515.63125%" y2="7841.58125%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aD" x1="-16493.056%" x2="-24401.672%" y1="-25798.7875%" y2="-38156%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aE" x1="-4836.46667%" x2="8344.56%" y1="-7269.91%" y2="12501.63%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aF" x1="-27538.4933%" x2="-40719.52%" y1="-41322.96%" y2="-61094.5%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aG" x1="123.979381%" x2="7.09896907%" y1="645.125%" y2="-299.65%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="aH" x1="-4143.41443%" x2="-6181.71959%" y1="-33849.65%" y2="-50325.925%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aI" x1="110.22963%" x2="13.6574074%" y1="263.406667%" y2="-84.2533333%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="aJ" x1="-7493.57037%" x2="-11154.9667%" y1="-27110.28%" y2="-40291.3067%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aK" x1="-1314.06588%" x2="-1982.02331%" y1="-40374.36%" y2="-60145.89%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aL" x1="-39504.49%" x2="-59276.05%" y1="-23215.4176%" y2="-34845.7353%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aM" x1="-935.697066%" x2="-1419.10856%" y1="-40260.71%" y2="-60032.24%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aN" x1="-239.365731%" x2="302.59479%" y1="-1057.81832%" y2="1006.59618%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="aO" x1="-195.98196%" x2="188.238494%" y1="-262.20413%" y2="218.292299%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="aP" x1="-148.239568%" x2="156.504317%" y1="-236.10625%" y2="205.1375%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="aQ" x1="-684.479137%" x2="737.933813%" y1="-1012.53646%" y2="1046.99896%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- <linearGradient id="aR" x1="-802.736152%" x2="689.739334%" y1="-1056.80385%" y2="890.777014%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="aS" x1="-1124.88665%" x2="549.535228%" y1="-1423.71471%" y2="673.128094%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="aT" x1="-465.885211%" x2="339.528169%" y1="-152.931663%" y2="157.298039%">
- <stop stop-color="#FFE900" offset="28.07%"/>
- <stop stop-color="#FFCC07" offset="32.21%"/>
- <stop stop-color="#FF8119" offset="41.22%"/>
- <stop stop-color="#FF0B36" offset="54.35%"/>
- <stop stop-color="#FF0039" offset="55.5%"/>
- <stop stop-color="#ED00B5" offset="85.24%"/>
- </linearGradient>
- <linearGradient id="aU" x1="-632.473239%" x2="759.889437%" y1="-217.098158%" y2="319.212821%">
- <stop stop-color="#FFCCD7" offset="40.06%"/>
- <stop stop-color="#EDBEE2" offset="100%"/>
- </linearGradient>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <path d="M150.1 145.9v-.2.2zM152.6 147.1c0 .9.3 1.9.9 2.8-.6-.9-.9-1.9-.9-2.8zM149.7 154.2c0-.2-.1-.5-.3-.6.2.2.3.4.3.6 0 0-.1.7.8 1.8-.9-1-.8-1.8-.8-1.8zM229.2 188.9c.4-1.5.7-3 .8-4.4 0-.5.1-1 .1-1.5 0 .5-.1 1-.1 1.5-.1 1.4-.4 2.9-.8 4.4zM103.1 216.7h.8l-.3-.3c-.1.2-.3.3-.5.3zM235.1 153.6v.2c.4.1.8.3 1.1.6.8.7 1 1.8.7 2.7.1-.2.1-.4.1-.6.1-1.3-.7-2.5-2-2.9v-.2l-.1-.9c-1.5-.1-3-.2-4.6-.4l-.3 3.3 5.1-1.8zM245.1 143.8c6.7-3.5 11.1-12.3 10.9-20.8.3 8.5-4.2 17.3-10.9 20.8-3.5 1.8-8.8 2.6-14.2 2.7 5.4-.1 10.7-.8 14.2-2.7zM228.5 173.5l-.1 1.1c.6.3 1.3.5 1.9.8v.1c.1 0 .1.1.2.1-.1-1.3-.2-2.8-.4-4.3.1 1 .1 2 .2 2.9-.6-.2-1.2-.4-1.8-.7zM147.3 150.3l1-2.8-.1.1-.9 2.7c-.2.3 0 .6.3.7h.1c-.4-.1-.5-.4-.4-.7zM210.1 73.1c.5.1 1 .2 1.6.4-.5-.1-1-.3-1.6-.4zM155.1 180c0 .1.5 2.8 1.3 6.9h.1c-.8-4.1-1.3-6.9-1.3-7 0-.2.1-.4.2-.5-.2.1-.4.3-.3.6zM160 204.4h.2c-1.2-5.1-2.3-10.7-3.2-15.3h-.1c.8 4.6 1.9 10.2 3.1 15.3z"/>
- <path d="M239.9 150.3c-.8.1-1.6.2-2.4.2-.1-.1-.3-.1-.4-.1-2.1-.1-4.3-.2-6.4-.4v.1c2.1.2 4.2.4 6.3.5.1 0 .3 0 .4.1.8 0 1.6-.1 2.4-.2 6.9-.9 11-3.2 15.3-8.7 1.4-1.7 3-4.6 4.1-7.8-1.2 3.2-2.7 5.9-4.1 7.7-4.3 5.4-8.4 7.7-15.2 8.6zM104 200.6c0-.1 0-.1 0 0 0-.1 0-.1 0 0zM145.8 157.9l-.2-.3v-.1l.1.1M140.7 165.2h-.1l-.6.9v.1M252 110.6c-2.8-4.7-6.4-9.1-8.6-11.7 2.2 2.6 5.8 7 8.6 11.7zM206.9 117.5c-.2-.3-.5-.5-.7-.7-.6-.5-1.4-.7-2.1-.7 1 0 2.1.5 2.8 1.4.5.8 1.5 1 2.3.5.1-.1.2-.1.3-.2-.1.1-.2.1-.3.2-.8.5-1.8.3-2.3-.5zM218.4 218.6c-.2 3.3-.2 5.7-.2 7.4h.1c-.1-1.7 0-4.1.1-7.4-6.4 1.4-13 2.3-19.7 2.4-7.5.1-14.9-.8-22.2-2.6v.1c7.2 1.8 14.6 2.7 22.1 2.6 6.7-.2 13.3-1 19.8-2.5zM209 117.5h-.1.1zM244.8 117.2c-.5.4-1.2.3-1.6-.2-.2-.3-.4-.5-.7-.7-.7.4-1.4.6-2.2.6-1 0-1.9-.3-2.6-.9-.4.3-.8.6-1.1 1-.1.2-.3.4-.6.4.2.2.5.4.7.6 2.9 2 6.8 1.3 8.8-1.6.3-.5.2-1.2-.3-1.5-.3-.2-.6-.2-1-.1.3.3.6.6.8 1 .4.5.2 1.1-.2 1.4zM241.5 113.3c.3-.3.4-.6.4-1.1v-3.5c0-.7-.4-1.3-1.1-1.5.4.3.7.8.7 1.3v3.5c0 .2-.1.5-.2.7-.5-.
1-1.1-.2-1.6-.2-.3 0-.6 0-.9.1.1.2.1.4.3.5.7 0 1.6 0 2.4.2zM200.6 117.5l.3-.3.6-.6c-.2.2-.4.4-.6.7 0 0-.1.1-.3.2zM208.1 114.6c-.1 0-.1-.1-.2-.2-1.5-1.1-3.3-1.4-5-1 1.8-.4 3.7.1 5.2 1.2zM209.5 116.7c0-.2 0-.5-.1-.7l-.3-.3.3.3c.1.2.2.5.1.7zM159.7 206.8c.7 3.1 1.5 6.2 2.6 9.2.3.9 2.2 6 4.6 10.2h.1c-2.5-4.2-4.3-9.3-4.7-10.3-1-3-1.9-6-2.6-9.1-1.2.1-2.5.1-3.8.1-4-.1-7.9-.5-11.8-1.2v.1c3.9.7 7.8 1.1 11.7 1.1 1.3 0 2.6 0 3.9-.1zM198.4 115.7c1.1-1.5 2.7-2.5 4.4-2.8-.1-.2-.1-.4-.1-.6v-3.5c0-.9.7-1.6 1.6-1.6-.9 0-1.6.7-1.6 1.6v3.5c0 .2 0 .4.1.6-1.8.2-3.4 1.3-4.4 2.8-.5.7-.3 1.5.2 2.1-.6-.6-.7-1.5-.2-2.1zM156.8 110.8c.3-.1.4-.4.3-.7l-1.2-2.9V106.9l-.3-1 .3.9v.1l-.3-1 .4 1.1v.2l1.2 2.9c0 .3-.1.6-.4.7h-.3c.2.1.3.1.3 0zM164.8 90.6l-.1 4.1M164.9 97.3l-.3-2.4c.1.8.2 1.7.3 2.5V97.3zM184.8 79.4l.2-.2 2.6-1.1h-.1l-2.4 1c-.2.1-.3.2-.3.3z"/>
- <path d="M214.8 223.5v-.9c-1.3.2-2.6.4-3.8.6-4.1.6-8.2 1-12.4 1-6.3 0-12.6-.5-18.8-1.7 0 1.3 0 2.3-.1 3.3 4.7-.1 9.6-.2 14.7-.2 7.1 0 13.9.1 20.4.3v-2.4zM159.1 216.9c-.7-1.9-1.3-4.2-2-6.8h-1.3c-3.9-.1-7.9-.4-11.7-1.1v1.9h1c1 0 1.9 1 1.9 2.2v1.4c0 1.2-.8 2.1-1.7 2.2h.2l.4.3c.2-.2.4-.3.7-.3h.8c1.9.1 3.1.4 3.6.9 1.6 1.3 2.6 4.2 2.6 7.5 0 .5-.1 1.2-.2 1.9 3.1-.2 6.3-.4 9.8-.6-.6-1-1.1-2.1-1.6-3.2-.9-1.9-1.8-4.1-2.5-6.3zM235.4 114.9c-.2.1-.3.3-.3.4.1-.1.2-.2.3-.4.1 0 .1 0 0 0zM150.3 134.7c0-12.6 1.1-21.9 3.3-27.6l-.2-.5c-.4-1.2.3-2.4 1.5-2.8l.3-.1c2-3.6 4.4-6.9 7.3-9.9l.1-3.3c0-1.2 1-2.2 2.2-2.2l3.5.1c3.3-2.6 6.8-5 10.5-7.1l1.4-5.3c.3-1.2 1.5-1.8 2.6-1.6h-.1c-1.2-.3-2.4.4-2.7 1.6l-1.4 5.3c-3.7 2-7.2 4.4-10.5 7.1l-3.5-.1c-1.2 0-2.2 1-2.2 2.2l-.1 3.3c-2.8 3-5.3 6.3-7.3 9.9l-.3.1c-1.2.4-1.8 1.6-1.5 2.8l.2.5c-2.2 5.7-3.3 15-3.3 27.6-.6 3.6-1.3 7.2-2.2 10.6l-4.8 2.9 5-2.8c.9-3.5 1.6-7.1 2.2-10.7zM149.2 158.3c.7.7 1.6 1.5 2.8 2.1-1.2-.6-2.1-1.3-2.8-2.1zM206.5 72.8c.6 0 1.3.1 1.9.1.6 0 1.1.
1 1.7.2-.7-.1-1.3-.2-1.9-.3-.6-.1-1.2-.1-1.9-.1-5.7.2-11.4 1.3-16.7 3.4l.2.1c5.3-2 10.9-3.2 16.7-3.4zM140.8 153.8c-.5-.9-.6-1.9-.4-2.8-.3.9-.2 1.9.4 2.8l2.6 4.3-2.6-4.3zM227.3 212.8c-1.9 1.7-4.1 3-6.5 4v.1c2.3-1 4.5-2.3 6.5-4.1-.1.1-.1.1 0 0zM162.3 170.7l-.1-1.2c-2.4.6-4.8 1.4-7.2 2.3-.4-2.9-.8-5.5-1.1-7.6.3 2.1.7 4.8 1.1 7.7-.1 0-.2.1-.4.2.4 2.2 1.1 5.1 1.5 7.4-.3-2.2-.7-4.4-1-6.4 2.4-1.1 4.7-1.9 7.2-2.4zM174.5 205.9v2.9"/>
- <path d="M152.3 147.3c-.2-3.1-.3-6.4-.4-9.8.2-1 .4-1.9.5-2.8 0-10.7.9-20.1 2.9-26v-.1c-2 5.9-2.9 15.3-2.9 26.1-.2.9-.3 1.8-.5 2.8v.2c0-.1 0-.2.1-.3 0 3.5.1 6.8.3 9.9 0 .1 0 .1 0 0zM236.4 182.5c-.4 15.2-3.8 25.4-5.2 29-.3 1.4-.7 2.7-1.1 3.8-1.6 4.5-3.5 8.5-5.2 11.1 1.7-2.6 3.7-6.6 5.3-11.2.4-1.1.7-2.4 1.1-3.8 1.4-3.6 4.8-13.7 5.2-29v-2.3s-.1 0-.1-.1v2.5zM149 153.6c.1-.6.3-1.3.6-1.9-.3.6-.6 1.2-.6 1.9h.2c-.1-.1-.2-.1-.2 0zM174.2 215.2v.2h-.1l.1-.2-.1.3c.1 2.1.1 4.1.1 6 0 1.7 0 3.2-.1 4.5h.1c.1-1.3.1-2.9.1-4.6 0-1.9-.1-3.9-.1-6h.1v-.2l-.2-5.8c0-.1 0-.2.1-.3-.1.1-.2.3-.2.4l.2 5.7zM236.5 172.8v-2.2c-.1-.7-.1-1.6-.2-2.4.1 1.5.2 3 .2 4.6z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M7.7 72.3v98.1c0 1 .1 1.2.1 1.2s.2.1 1.2.1h121.1l-.6-1.9c-.9-3.1.3-6.3 2.9-7.9V72.3H7.7zm45.8 65.5c0 1.8-1.5 3.3-3.3 3.3-1.8 0-3.3-1.5-3.3-3.3V98.4c0-1.8 1.5-3.3 3.3-3.3 1.8 0 3.3 1.5 3.3 3.3v39.4zm9.8 0c0 1.8-1.5 3.3-3.3 3.3-1.8 0-3.3-1.5-3.3-3.3V105c0-1.8 1.5-3.3 3.3-3.3 1.8 0 3.3 1.5 3.3 3.3v32.8zm9.9 0c0 1.8-1.5 3.3-3.3 3.3-1.8 0-3.3-1.5-3.3-3.3v-36.1c0-1.8 1.5-3.3 3.3-3.3 1.8 0 3.3 1.5 3.3 3.3v36.1zm20.8 3.1c-.4.1-.8.2-1.1.2-1.3 0-2.6-.8-3.1-2.2l-13.1-36.1c-.6-1.7.3-3.6 2-4.2 1.7-.6 3.6.3 4.2 2L96 136.7c.6 1.7-.3 3.5-2 4.2zM133.5 171.4c-.1 0-.1 0 0 0l.5 1.7-.5-1.7z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M127.3 173.2l1.8.1c.1-.2.3-.4.5-.5H9c-2 0-2.5-.4-2.5-2.5V71.2h127v90.2c.2-.1.4-.2.7-.2l3.6-1.1v-4.8c-1.3-2.3-1.2-5 0-7.1V55.4c0-2.3-1.9-4.2-4.2-4.2H6.5c-2.3 0-4.2 1.9-4.2 4.2v118.3c0 2 1.8 3.7 3.9 3.7h90c.3-.6.6-1.2 1.1-1.5.9-.7 2.6-.8 3.8-.8.5 0 .9.2 1.2.5l.5-.4h19.1c1.3-1.2 3-2 4.9-2h.5zm9.1-13.5l-.1-.2.1.2zm-.1-.3v.4l-.3-.9.3.5zm-9.6-101.2c1.6 0 2.9 1.3 2.9 2.9 0 1.6-1.3 2.9-2.9 2.9-1.6 0-2.9-1.3-2.9-2.9 0-1.6 1.3-2.9 2.9-2.9zm-9.2 0c1.6 0 2.9 1.3 2.9 2.9 0 1.6-1.3 2.9-2.9 2.9-1.6 0-2.9-1.3-2.9-2.9 0-1.6 1.3-2.9 2.9-2.9zM35 61c0-1.7 1.4-3.1 3.1-3.1H102c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.7-1.4 3.1-3.1 3.1H38.1c-1.7 0-3.1-1.4-3.1-3.1V61zm-12.4-2.8c1.6 0 2.9 1.3 2.9 2.9 0 1.6-1.3 2.9-2.9 2.9-1.6 0-2.9-1.3-2.9-2.9 0-1.6 1.3-2.9 2.9-2.9zm-9.3 0c1.6 0 2.9 1.3 2.9 2.9 0 1.6-1.3 2.9-2.9 2.9-1.6 0-2.9-1.3-2.9-2.9 0-1.6 1.4-2.9 2.9-2.9zM136.4 173.1l-.1-.3-.2-.6-1.1-3.7c-.2-.8.2-1.6 1-1.8-.8.2-1.2 1.1-1 1.8l1.1 3.7.3.9.1.5c-.5.6-.9 1.1-1.4 1.7.5-.6 1-1
.1 1.4-1.7l-.1-.5z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M138.7 159.7c.3-.5.6-1.1.8-1.7l-1.7-2.8v4.7l.9-.2zM6.2 177.5c-2.2 0-3.9-1.6-3.9-3.7V55.4c0-2.3 1.9-4.2 4.2-4.2h127.1c2.3 0 4.2 1.9 4.2 4.2V148c.5-.9 1.3-1.7 2.2-2.3V55.4c0-3.6-2.9-6.5-6.5-6.5H6.5c-3.6 0-6.5 2.9-6.5 6.5v118.3c0 3.3 2.8 5.9 6.2 5.9h89.2c.2-.8.4-1.5.7-2.2H6.2v.1zM139 167.8l1.1-1.6v-.1l-1.1 1.7c-.2.1-.2.4 0 .5-.1-.1-.1-.3 0-.5z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M6.5 71.2v99.2c0 2 .4 2.5 2.5 2.5h120.5c.2-.2.4-.5.7-.7l-.1-.4H9c-1 0-1.2-.1-1.2-.1s-.1-.2-.1-1.2V72.3h124.7V162c.3-.2.7-.4 1.1-.6V71.2H6.5zM132.8 169.2c-.2-.7-.2-1.4 0-2.1-.3.6-.3 1.4 0 2.1l.7 2.3v-.1l-.7-2.2zM13.3 64c1.6 0 2.9-1.3 2.9-2.9 0-1.6-1.3-2.9-2.9-2.9-1.6 0-2.9 1.3-2.9 2.9 0 1.6 1.4 2.9 2.9 2.9zM22.6 64c1.6 0 2.9-1.3 2.9-2.9 0-1.6-1.3-2.9-2.9-2.9-1.6 0-2.9 1.3-2.9 2.9 0 1.6 1.3 2.9 2.9 2.9zM38.1 64.3H102c1.7 0 3.1-1.4 3.1-3.1V61c0-1.7-1.4-3.1-3.1-3.1H38.1c-1.7 0-3.1 1.4-3.1 3.1v.3c0 1.7 1.4 3 3.1 3zM117.5 64c1.6 0 2.9-1.3 2.9-2.9 0-1.6-1.3-2.9-2.9-2.9-1.6 0-2.9 1.3-2.9 2.9 0 1.6 1.3 2.9 2.9 2.9zM126.7 64c1.6 0 2.9-1.3 2.9-2.9 0-1.6-1.3-2.9-2.9-2.9-1.6 0-2.9 1.3-2.9 2.9 0 1.6 1.3 2.9 2.9 2.9z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M60 101.6c-1.8 0-3.3 1.5-3.3 3.3v32.8c0 1.8 1.5 3.3 3.3 3.3 1.8 0 3.3-1.5 3.3-3.3v-32.8c0-1.8-1.4-3.3-3.3-3.3zM69.9 98.4c-1.8 0-3.3 1.5-3.3 3.3v36.1c0 1.8 1.5 3.3 3.3 3.3 1.8 0 3.3-1.5 3.3-3.3v-36.1c0-1.9-1.5-3.3-3.3-3.3zM50.2 95.1c-1.8 0-3.3 1.5-3.3 3.3v39.4c0 1.8 1.5 3.3 3.3 3.3 1.8 0 3.3-1.5 3.3-3.3V98.4c0-1.8-1.5-3.3-3.3-3.3zM82.8 100.5c-.6-1.7-2.5-2.6-4.2-2-1.7.6-2.6 2.5-2 4.2l13.1 36.1c.5 1.3 1.7 2.2 3.1 2.2.4 0 .8-.1 1.1-.2 1.7-.6 2.6-2.5 2-4.2l-13.1-36.1zM122.5 21.4h1.1c.3 0 .6-.2.6-.6 0-.4-.2-.6-.6-.6h-1.1c-.3 0-.6.2-.6.6 0 .4.3.6.6.6zM133.7 21.4h4.5c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-4.5c-.3 0-.6.2-.6.6 0 .3.2.6.6.6zM116.9 21.1c.1.2.3.3.5.3h.6c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-.3c-.2-.4-.6-1.2-1.2-2.1-.2-.3-.5-.3-.8-.2-.3.2-.3.5-.2.8.9 1.3 1.3 2.1 1.4 2.4zM66.7 4.5c.1 0 .2 0 .3-.1 1.6-1.2 3.7-2.1 6.4-2.4 2.1-.3 4-.2 5.9.2.3.1.6-.1.7-.4.1-.3-.1-.6-.4-.7-2-.4-4.1-.5-6.3-.2-2.9.4-5.2 1.3-6.9 2.7-.2.2-.3.5-.1.8.1 0 .3.1.4.1zM41.3
20.7h13.4c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6H41.3c-.3 0-.6.2-.6.6 0 .3.3.6.6.6zM98.6 7.9c1.3-.4 2.7-.5 4.3-.2 2.3.4 4.8 1.8 7.2 4.1.1.1.2.2.4.2.1 0 .3-.1.4-.2.2-.2.2-.6 0-.8-2.6-2.5-5.2-3.9-7.7-4.4-1.8-.3-3.4-.3-4.9.2-.3.1-.4.4-.4.7.1.3.5.5.7.4zM92.1 13.1c.1.2.3.3.5.3.1 0 .2 0 .2-.1.3-.1.4-.5.3-.7-.1-.3-.3-.6-.5-1-.1-.3-.5-.4-.8-.2-.3.1-.4.5-.2.8.2.3.3.6.5.9zM89.1 8.5c.1.1.3.2.4.2.1 0 .2 0 .3-.1.2-.2.3-.5.1-.8-.7-.9-1.5-1.8-2.3-2.5-.2-.2-.6-.2-.8 0-.2.2-.2.6 0 .8.9.7 1.6 1.5 2.3 2.4zM63.4 14.6s.1 0 0 0c.4 0 .6-.3.6-.6 0-.4-.1-.7-.1-1.1 0-.3-.3-.5-.6-.5h-.1c-.2.1-.4.3-.4.6 0 .4.1.8.1 1.1 0 .1 0 .1.1.2 0 .2.2.3.4.3zM65.5 20.4c.1-.2.1-.4 0-.5 0 0-.3-.7-.6-1.7-.1-.3-.4-.5-.7-.4-.3.1-.5.4-.4.7.1.4.3.8.4 1h-.7c-.2.1-.4.3-.4.5 0 .3.2.6.6.6H65.1c.1.1.3 0 .4-.2z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M40.9 25.6h97.9c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1H116c-2-3.7-7.1-11.7-13.4-12.9-8.4-1.6-10 6.7-10 6.7S87 2.7 73 4.6c-6.5.9-9 4.2-9.8 7.8h.1c.3 0 .6.2.6.5 0 .4.1.7.1 1.1 0 .3-.2.6-.5.6h-.1c-.2 0-.4-.1-.5-.3-.1 1.9.1 3.8.5 5.3h.7c-.1-.3-.2-.6-.4-1-.1-.3.1-.6.4-.7.3-.1.6.1.7.4.3 1 .6 1.7.6 1.7.1.2.1.4 0 .5-.1.2-.3.3-.5.3h-1.3c.4 1.5.9 2.5.9 2.7H40.7c-.6 0-1.1.5-1.1 1.1.1.5.6 1 1.3 1z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M229.2 52.9c.3-1 1.2-3.2 3.8-3.2.3 0 .7 0 1 .1 1.6.3 3.2 1.3 4.8 3 .2.2.6.2.8 0 .2-.2.2-.6 0-.8-1.8-1.9-3.6-3-5.4-3.4-.4-.1-.8-.1-1.2-.1-3.5 0-4.6 3-4.9 4-.1.3.1.6.4.7h.2c.1 0 .2 0 .3-.1.1 0 .2-.1.2-.2zM213.5 48.4c.1 0 .3-.1.4-.2.6-.7 1.5-1.1 2.6-1.4.3-.1.5-.4.4-.7-.1-.3-.4-.5-.7-.4-1.3.4-2.4.9-3.1 1.7-.2.2-.2.6 0 .8.1.2.3.2.4.2zM246.3 56.9h3.3c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-3.3c-.3 0-.6.2-.6.6 0 .3.3.6.6.6zM220.7 46.6c.4.1.7.2 1 .3h.2c.2 0 .5-.1.5-.4.1-.3-.1-.6-.4-.7-.4-.1-.8-.2-1.1-.3-.3-.1-.6.1-.7.4 0 .4.2.7.5.7zM213.5 56.8c.1-.2.1-.4 0-.5l-.1-.1c-.1-.3-.4-.4-.7-.3-.1 0-.1.1-.2.1h-12.7c-.3 0-.6.2-.6.6 0 .3.2.6.6.6H213c.2-.2.4-.3.5-.4z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M199.6 60.7h54.5c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-12.9c-1.1-2.1-3.9-6.5-7.4-7.2-2.4-.5-3.8.5-4.6 1.6 0 .1-.1.2-.2.3-.6 1-.8 1.9-.8 1.9s-3.1-8-10.9-7c-5.8.8-6 5-5.4 7.8h.7s.1-.1.2-.1c.3-.1.6 0 .7.3l.1.1c.1.2.1.4 0 .5-.1.2-.3.3-.5.3h-.9c.2.9.5 1.4.5 1.5h-13.2.2c-.6 0-1.1.5-1.1 1.1-.1.6.4 1.1 1 1.1z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M173.7 229.1c-.1.2-.1.4-.2.5 0 0-.1 0-.1.1.1 0 .2-.1.3-.1.3-.3.5-1.6.6-3.6h-.1c-.2 1.5-.3 2.6-.5 3.1zM173.1 232c.5 0 1-.1 1.5-.4-.4.2-.9.4-1.5.4-2.1 0-4.3-2.7-6.1-5.8h-.1c1.8 3.2 4 5.8 6.2 5.8z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M231.1 226.7c-2.6 4.8-5.9 8.5-9.7 8.5-1.4 0-2.9-.5-4-1.4-1.7-1.4-2.5-2.9-2.6-7.8-6.4-.2-13.3-.3-20.4-.3-5 0-9.9.1-14.7.2-.2 5.1-1 6.6-2.7 7.9-1.1.9-2.5 1.4-4 1.4-4 0-6.8-3.6-8.7-6.8-.4-.6-.8-1.3-1.1-2-3.4.2-6.7.4-9.8.6-.3 2-1.1 4.5-2.2 5.4-1.1.9-3.1 1.1-4.5 1.1-.6 0-1-.3-1.4-.6l-.6.6H97.4c-1 0-1.9-.7-2.2-1.7l-.3-1.1v-.2c-5.9.7-9.4 1.5-9.4 2.4 0 2.1 17.6 3.7 39.4 3.7 3.5 0 6.8 0 10-.1 12.2 2.1 34.3 3.4 59.5 3.4 38.5 0 69.7-3.2 69.7-7.1 0-2.6-13.2-4.8-33-6.1z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M219.5 231.3c.5.4 1.2.7 1.9.7.6 0 1.3-.2 1.9-.6-.6.4-1.2.6-1.8.6-.7 0-1.4-.3-2-.7-.6-.6-1.2-1.1-1.3-5.3h-.1c.2 4.3.8 4.8 1.4 5.3zM223.3 228.4c.5-.5 1-1.2 1.5-2-.5.8-1 1.4-1.5 2z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M102.1 188.2l-.3-.2c-.1.2-.3.3-.6.3h-.7c-1.6-.1-2.6-.3-3.1-.7l-.6-.6H83c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h19.4c.1-.4.2-.7.5-.9h-.8v-.1zM156.8 189.1h.1c-.2-.8-.3-1.5-.4-2.2h-.1c.1.7.3 1.4.4 2.2zM27.3 194.1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6H24c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h3.3zM19.5 193h-1.1c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h1.1c.3 0 .6-.2.6-.6 0-.3-.3-.6-.6-.6zM68.5 194.1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-3.3c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h3.3zM49.6 194.1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6H36.2c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h13.4zM102 194.1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-1.1c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h1.1zM60.7 194.1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-1.1c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h1.1zM91.4 193.6c0-.3-.2-.6-.6-.6H77.4c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h13.4c.3-.1.6-.3.6-.6z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M65.7 230.4c-.3.9-.6 1.7-1.1 2.1-.8.8-2.3.9-3.4.9-.4 0-.8-.3-1-.6l-.5.5H24.5h-.1c2.2 1.6 12.1 2.7 24 2.7 13.5 0 24.4-1.5 24.4-3.4 0-.7-2.7-1.6-7.1-2.2z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M28.3 224.9h32.9c.1 0 .1 0 .2.1-.1-.4-.1-.7-.3-1H27.2v4.6h33.7c.2-.3.3-.7.4-1.1h-33c-.2 0-.4-.2-.4-.4s.2-.4.4-.4h32.9c.1 0 .2 0 .2.1v-1.1c-.1.1-.2.1-.3.1H28.3c-.2 0-.4-.2-.4-.4s.2-.5.4-.5z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M59.2 231.8l.8-.9.3.1c.3.1.5.3.6.5.1.1.2.3.3.3 1.2 0 2.1-.2 2.5-.6.6-.5 1.3-3.3 1.3-5.1 0-2.6-.7-4.6-1.4-5.2-.1-.1-.8-.3-1.9-.4-.1.4-.2.7-.7.8h-.3l-.9-.9H24.3c-.1 0-.3.1-.3.3v1.2c0 .2.1.3.3.3H62l.2.4c1.3 2.4.8 5.9-.4 7.3l-.2.2H24.3c-.1 0-.2 0-.2.1s-.1.2 0 .3l.2 1c0 .1.1.2.2.2h34.7v.1z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M59.7 233.4l.5-.5c.2.3.6.6 1 .6 1.1 0 2.6-.2 3.4-.9.4-.4.8-1.2 1.1-2.1.5-1.5.7-3.3.7-4.3 0-2.8-.8-5.4-1.9-6.5-.4-.4-1.3-.7-2.7-.8h-.6c-.3 0-.4.1-.5.3l-.3-.3h-36c-.9 0-1.7.9-1.7 2v1.2c0 1.1.7 2 1.7 2h.9v4.6h-.9c-.5 0-1 .3-1.3.8-.3.5-.4 1.1-.3 1.7l.2 1c.2.8.8 1.4 1.5 1.5h35.2v-.3zm-35.5-1.8l-.2-1v-.3c0-.1.1-.1.2-.1h37.2l.2-.2c1.3-1.4 1.7-4.9.4-7.3l-.2-.4H24.3c-.1 0-.3-.1-.3-.3v-1.2c0-.2.1-.3.3-.3h35.5l.9.9h.3c.4-.1.6-.5.7-.8 1.2.1 1.8.3 1.9.4.7.7 1.4 2.7 1.4 5.2 0 1.8-.7 4.6-1.3 5.1-.4.3-1.3.6-2.5.6-.1-.1-.2-.3-.3-.3-.2-.2-.3-.5-.6-.5l-.3-.1-.8.9H24.5l-.3-.3zm4.1-5.9h32.9c.1 0 .2-.1.3-.1v1.1c-.1-.1-.1-.1-.2-.1h-33c-.2 0-.4.2-.4.4s.2.4.4.4h33c-.1.4-.2.8-.4 1.1H27.2v-4.6h33.9c.1.3.2.7.3 1-.1 0-.1-.1-.2-.1H28.3c-.2 0-.4.2-.4.4s.2.5.4.5z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M174.2 215.4v-.2M236.7 157.9c.2-.2.3-.4.3-.6.1-.2.1-.5.1-.7 0 .2-.1.4-.1.6-.1.2-.2.4-.3.7zM161.3 204.2v.1h.1v-.1h-.1zM173.7 229.1c-.1.1-.1.2-.2.3-.4.3-1 .1-1.7-.5-.1 0-.1-.1-.2-.2-.3-.2-.5-.5-.8-.9.9 1.1 1.7 1.8 2.3 1.8h.2s.1 0 .1-.1c.1 0 .2-.1.3-.4z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M233.4 212.2c-.3 1.4-.7 2.7-1.1 3.8-.5 1.4-4.6 12.7-9 15.4-.6.4-1.3.6-1.9.6-.7 0-1.3-.2-1.9-.7-.7-.5-1.3-1-1.3-5.3 0-1.7 0-4.1.2-7.4-6.5 1.5-13.1 2.3-19.7 2.4-7.4.1-14.9-.7-22.1-2.6.2 11.4-.6 12-1.5 12.8-.1.1-.3.2-.5.3-.5.3-1 .4-1.5.4-2.2 0-4.4-2.6-6.2-5.8-2.5-4.2-4.3-9.3-4.6-10.2-1-3-1.9-6.1-2.6-9.2-1.3.1-2.6.1-3.9.1-3.9-.1-7.9-.5-11.7-1.1v3.2c3.9.7 7.8 1 11.7 1.1h1.3c.7 2.7 1.3 5 2 6.8.8 2.2 1.6 4.3 2.6 6.3.5 1.1 1 2.1 1.6 3.2.4.7.7 1.3 1.1 2 2 3.2 4.7 6.8 8.7 6.8 1.4 0 2.9-.5 4-1.4 1.6-1.3 2.4-2.9 2.7-7.9 0-1 .1-2.1.1-3.3 6.2 1.2 12.5 1.8 18.8 1.7 4.1 0 8.3-.4 12.4-1 1.2-.2 2.5-.4 3.8-.6v3.4c.1 4.9.9 6.4 2.6 7.8 1.1.9 2.5 1.4 4 1.4 3.8 0 7.1-3.7 9.7-8.5.2-.4.5-.8.7-1.3 1.4-2.8 2.6-5.6 3.6-8.5.4-1.1.8-2.4 1.2-3.9 1.5-4 4.8-14.1 5.4-29-1-1.2-2.1-2.3-3.3-3.3v1.8c-.5 15.4-3.9 25.8-5.4 29.7z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M137.8 148.1c-1.2 2.1-1.3 4.8 0 7.1v.1l1.7 2.8c-.3.6-.6 1.1-.8 1.7l-.8.3-3.6 1.1c-.2.1-.5.2-.7.2-.4.2-.8.4-1.1.6-2.5 1.7-3.8 4.9-2.9 7.9l.6 1.9.1.4c-.2.3-.4.5-.7.7-.2.2-.3.4-.5.5l-1.8-.1h-.6c-1.9 0-3.6.8-4.9 2h10.3l1.8-2.1-.5-1.7-.7-2.2c-.2-.7-.2-1.5 0-2.2.3-1.1 1.2-2.1 2.4-2.5l5.8-1.8c.8-1.4 1.6-3 2.3-4.7l-2.6-4.3c-.5-.9-.7-1.9-.4-2.8.2-.9.8-1.8 1.7-2.3l1.1-.7 4.8-2.9c.9-3.3 1.7-6.9 2.2-10.6 0-12.6 1.1-21.9 3.3-27.6l-.2-.5c-.4-1.2.3-2.4 1.5-2.8l.3-.1c2-3.6 4.4-6.9 7.3-9.9l.1-3.3c0-1.2 1-2.2 2.2-2.2l3.5.1c3.3-2.6 6.8-5 10.5-7.1l1.4-5.3c.3-1.2 1.6-1.9 2.7-1.6h.2l6.5 1.8c5.3-2.1 11-3.2 16.7-3.4.6 0 1.3 0 1.9.1.6 0 1.3.1 1.9.3h.1c.5.1 1 .2 1.6.4 3.9 1.1 8.5 3.5 13.9 7.2 6.2 4.5 12.1 9.4 17.5 14.7.7 0 1.3.3 1.8.8 3.5 3.3 6.7 7 9.7 10.8 3 3.2 6.8 8.1 8.1 13.3 2 7.8-2.2 17.9-5.9 22.5-4.7 5.9-9.2 8.5-16.7 9.5-.7.1-1.5.2-2.4.2 1.9 1.8 2.1 4.8.5 6.9 1 1.5 1.1 3.3.2 4.8-.1.1-.1.3-.2.5.2 4.9.4 10.9.4 14.4 1.1.9 2.2 1.9 3.2 3 .2-6.2 0-12.5-.4-18.7
l-.3.1c-.3 0-.5-.2-.5-.5s.2-.6.5-.6c.2 0 .4-.1.5-.2 0-.6-.1-1.2-.1-1.8 1-1.6 1.5-3.6 1.3-5.5l1-.2c.2-.3.5-.3.8-.2.9-.2 1.7-.4 2.5-.7 0-.3.2-.6.5-.6.2 0 .4.1.5.2 4.5-1.7 8.1-4.5 11.6-9 3.8-4.7 8.8-15.6 6.6-25 0-.1 0-.3-.1-.4-.1-.1-.1-.5-.2-.7-.6-1.8-1.3-3.5-2.2-5.2-.4-.7-.8-1.5-1.3-2.2-1.2-1.8-2.5-3.6-3.9-5.2-.3-.4-.6-.7-1-1.1l-.1-.2c-3-4-6.3-7.7-9.9-11.1-.7-.7-1.6-1.2-2.5-1.4-8-7.7-24.5-22.1-36.2-22.9-.7 0-1.4-.1-2.1-.1-5.8.1-11.5 1.2-16.9 3.2l-5.7-1.6c-3-.8-6 .9-6.8 3.9l-1.1 3.9c-3 1.8-6 3.7-8.7 5.9H165c-3 0-5.5 2.4-5.6 5.4v2c-2.4 2.6-4.5 5.5-6.3 8.5-2.1 1.2-3.3 3.6-2.8 5.9-2.1 6.1-3.2 15.3-3.2 27.5-.5 3-1.1 5.9-1.8 8.7l-4.8 2.9c-.1 0-.1.1-.2.1-1.2 1.2-2 2-2.5 3z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M136.3 159.7v-.3l-.2-.5.2.9M155.9 106.8l-.3-.9.3 1"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M230.3 174.3c0-1-.1-2-.2-2.9-.1-.7-.2-1.4-.2-2.1-.3-.1-.6-.1-1-.2l-.4 4.5c.6.2 1.2.4 1.8.7zM242.5 116.3c-.7-.6-1.6-.9-2.6-1-.8 0-1.6.2-2.3.7.7.6 1.7.9 2.6.9.9 0 1.7-.2 2.3-.6z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M174.5 205.9c9.6 4.4 20.4 5.7 30.8 3.8 14.7-2.9 21.6-12.6 23.9-20.8.4-1.5.7-3 .8-4.4 0-.5.1-1 .1-1.5.2-2.5.2-5 .2-7.5v-.1c-.6-.3-1.3-.6-1.9-.8l-1.1 11.7c-.1.9-.8 1.5-1.7 1.5l-22.1 3.1c-.9.9-2.9 2.3-6.5 2.5h-.8c-3.3 0-5.3-1.4-6.2-2.3l-24.9-3.6c-.9 0-1.6-.7-1.6-1.5l-1.2-15.4c-2.4.6-4.8 1.4-7.1 2.3.3 2 .6 4.2 1 6.4.1.1.2.2.2.4l.2.9c.6 3.2 2.6 14.1 4.8 23.4v.1h.1v.1h.1c.8 3.7 1.7 7.3 2.9 10.9 2 5.6 4.5 10.3 6.4 12.7.3.3.6.6.8.9.1 0 .1.1.2.2.7.6 1.3.8 1.7.5.1 0 .1-.1.2-.3.2-.5.3-1.6.4-3.2.1-1.3.1-2.8.1-4.5 0-1.9 0-3.9-.1-6v-.2h.1l-.2-5.8c0-.2.1-.3.2-.4.1-.1.2-.2.3-.2l-.1-2.9z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M152 137.6c.1 3.3.2 6.6.4 9.8l.3-.3v.1c-.1.9.3 1.9.8 2.9.8 1.4 2.1 2.7 3.2 3.7 1.8-1 3.3-1.2 4-1.2l-.3-4.3c0-.5.1-1 .5-1.3.3-.3.8-.5 1.3-.5h.3l1.4-6.1c.1-.4.4-.8.8-.8.4-.1 10.5-2.3 19.1 1.5 7.1 3.1 11.3 7.9 13.1 10.5 1.5-2.6 5.2-7.4 12.7-11 6.3-3.1 15.5-3.4 16.7-2.9.3.1.6.4.7.7.2.6 1.3 4.5 1.9 7.1h.2c.5 0 1 .1 1.3.5.2.2.4.5.4.8 5.4-.1 10.7-.9 14.2-2.7 6.7-3.5 11.1-12.3 10.9-20.7 0-1.2-.2-2.4-.4-3.6-.6-2.9-2-5.9-3.7-8.9-2.8-4.7-6.4-9.1-8.6-11.7-.3-.3-.5-.6-.8-.9 0 0-.1 0-.1.1C231 87.2 216.6 76.1 208 75.5c-.6 0-1.1-.1-1.7-.1-5.7.2-11.3 1.4-16.6 3.5l-.5-.1-3.8 1.7h-.1c-.3.1-.6 0-.7-.3-.1-.2 0-.4.1-.6 0-.1.1-.2.2-.3l2.4-1-5.1-1.4-1.7 6.2c-4.1 2.2-8 4.8-11.6 7.8l-4.3-.1-.1 4.1v.1l-.1.1.3 2.4v.3c0 .2-.2.4-.4.5h-.2c-.2 0-.4-.2-.5-.4l-.3-1.8c-2.7 2.9-5 6.1-6.8 9.6l-1.1.3.3 1V107.3l1.2 2.9c.1.3 0 .6-.3.7h-.3c-.2 0-.4-.1-.5-.4l-.7-1.7c-2 5.9-2.9 15.3-2.9 26 .1.9 0 1.8-.2 2.8zm82.7-21.8c.1-.2.2-.3.4-.4.1-.2.2-.3.3-.4.3-.2.5-.5.8-.7.8-.6 1.8-.9 2.
7-1.1-.1-.2-.2-.3-.3-.5h-.3c-.1-.2-.1-.4-.1-.6v-3.5c0-.9.7-1.6 1.6-1.6.3 0 .6.1.9.3.6.2 1.1.8 1.1 1.5v3.5c0 .4-.2.8-.4 1.1 1 .3 2 .8 2.8 1.5.3-.1.7-.1 1 .1.5.3.7 1 .3 1.5-2 2.9-5.9 3.6-8.8 1.6-.3-.2-.5-.4-.7-.6-.3.1-.7.1-1-.1-.5-.4-.6-1.1-.3-1.6zm-36.4-.2c1.1-1.5 2.7-2.5 4.5-2.8-.1-.2-.1-.4-.1-.6v-3.5c0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6v3.5c0 .2-.1.5-.2.7 1.6.4 3 1.4 4 2.7.4.7.3 1.6-.2 2.1-.1.1-.2.2-.3.2-.8.5-1.8.3-2.3-.5-.7-.9-1.7-1.4-2.8-1.5H203.5c-.2 0-.4.1-.5.1h-.1c-.6.2-1.2.6-1.6 1.2-.5.8-1.5 1-2.3.5-.1-.1-.2-.1-.3-.2-.7-.3-.8-1.2-.4-1.9zM236.2 154.4c-.3-.3-.7-.5-1.1-.6v-.2l-5 1.9v.1h.4c.1 0 3-.3 6.2 2.3.1-.2.2-.5.3-.7.3-1 0-2-.8-2.8z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M161.7 166.1c-3.6.4-6.2-.6-7.8-1.9.3 2.1.7 4.7 1.1 7.6 2.3-.9 4.7-1.7 7.2-2.3l-.1-.8c-.2-.9-.4-1.7-.4-2.6z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M136.4 159.7l-.1-.3"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M156.4 186.9H145c-.1.3-.2.5-.4.7h.8l.3.2c.1-.2.3-.3.6-.3h.7c1.6.1 2.6.3 3.1.7.3.2.5.5.8.8h6c-.2-.7-.4-1.4-.5-2.1zM150.2 182.9c0-.3-.2-.6-.6-.6h-7.5v1.1h7.5c.3 0 .6-.2.6-.5z"/>
- <path fill="url(#a)" fill-rule="nonzero" d="M252 110.6c1.7 3 3.1 6 3.7 8.9.2 1.2.4 2.4.4 3.6.2 8.5-4.2 17.3-10.9 20.8-3.5 1.9-8.8 2.6-14.2 2.7v.5l-.3 2.9c2.1.2 4.2.4 6.4.4.1 0 .3 0 .4.1.8 0 1.6-.1 2.4-.2 6.9-.9 11-3.2 15.3-8.7 1.4-1.7 2.9-4.5 4.1-7.7 1.5-4.1 2.4-8.8 1.3-12.8-1.2-4.7-4.7-9.3-7.7-12.5-2.9-3.8-6-7.3-9.5-10.6-.1-.1-.3-.2-.5-.2-.1 0-.3.1-.4.1.2.3.5.6.8.9 2.3 2.7 5.9 7.1 8.7 11.8z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M242.6 98c.2.3.5.6.8.9-.3-.3-.6-.6-.8-.9z"/>
- <path fill="url(#b)" fill-rule="nonzero" d="M242.6 98c.2.3.5.6.8.9-.3-.3-.6-.6-.8-.9z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M252 110.6c1.7 3 3.1 6 3.7 8.9.2 1.2.4 2.4.4 3.6 0-1.2-.2-2.4-.4-3.6-.6-2.9-2-6-3.7-8.9z"/>
- <path fill="url(#c)" fill-rule="nonzero" d="M252 110.6c1.7 3 3.1 6 3.7 8.9.2 1.2.4 2.4.4 3.6 0-1.2-.2-2.4-.4-3.6-.6-2.9-2-6-3.7-8.9z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M229.9 169.3c.1.7.1 1.4.2 2.1 0-.8-.1-1.5-.2-2.1z"/>
- <path fill="url(#d)" fill-rule="nonzero" d="M229.9 169.3c.1.7.1 1.4.2 2.1 0-.8-.1-1.5-.2-2.1z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M220.4 226.2c0 1.8.2 3.1.5 3.3.1.1.3.2.5.2.5 0 1.2-.5 1.9-1.3.5-.5 1-1.2 1.5-2-1.4-.1-2.9-.2-4.4-.2z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M205.3 209.7c-10.4 1.9-21.2.6-30.8-3.8 9.6 4.4 20.3 5.8 30.8 3.8 14.7-2.8 21.6-12.5 23.9-20.8-2.3 8.3-9.2 17.9-23.9 20.8z"/>
- <path fill="url(#e)" fill-rule="nonzero" d="M205.3 209.7c-10.4 1.9-21.2.6-30.8-3.8 9.6 4.4 20.3 5.8 30.8 3.8 14.7-2.8 21.6-12.5 23.9-20.8-2.3 8.3-9.2 17.9-23.9 20.8z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M230.1 183c.2-2.5.3-5 .2-7.4 0 2.4 0 4.9-.2 7.4z"/>
- <path fill="url(#f)" fill-rule="nonzero" d="M230.1 183c.2-2.5.3-5 .2-7.4 0 2.4 0 4.9-.2 7.4z"/>
- <path fill="url(#g)" fill-rule="nonzero" d="M236.4 180.1v-1c-1.9-1.3-3.9-2.4-5.9-3.4 0 .7.1 1.3.1 1.8 2 .8 3.9 1.4 5.8 2.6z"/>
- <path fill="url(#h)" fill-rule="nonzero" d="M236.5 172.8c-.1-1.6-.1-3.1-.2-4.6-1.4 1-3.6 1.6-6.4 1.1.1.7.2 1.4.2 2.1.2 1.5.3 3 .4 4.3-.1 0-.1-.1-.2-.1 0 2.5 0 5-.2 7.4 0 .5-.1 1-.1 1.5-.1 1.4-.4 2.9-.8 4.4-2.3 8.3-9.2 18-23.9 20.8-10.4 1.9-21.2.6-30.8-3.8v2.9h.1c.3 0 .6.2.6.5l.3 6.4c2.9.9 10.8 3 23.3 3 7.3-.2 14.5-1.1 21.5-2.9 2.3-.9 4.4-2.2 6.3-3.8.2-.2.6-.2.8 0 .2.2.2.6 0 .8h-.1v.1c-1.9 1.7-4.1 3-6.4 4-.2 2.9-.3 5.7-.3 7.9v1.4c0 1.8.2 3.1.5 3.3.1.1.3.2.5.2.5 0 1.2-.5 1.9-1.3.5-.5 1-1.2 1.5-2 1.7-2.6 3.6-6.5 5.2-11.1.4-1.1.8-2.4 1.1-3.8 1.4-3.6 4.8-13.8 5.2-29V180s.1 0 .1.1v-1.2c-.2-1.5-.1-4.1-.1-6.1z"/>
- <path fill="url(#i)" fill-rule="nonzero" d="M202.7 108.7v3.5c0 .2 0 .4.1.6.4-.1.8-.1 1.2-.1.5 0 1.1.1 1.6.2.1-.2.2-.5.2-.7v-3.5c0-.9-.7-1.6-1.6-1.6-.8 0-1.5.7-1.5 1.6z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M202.8 112.8c-1.8.3-3.4 1.3-4.5 2.8-.4.7-.3 1.5.2 2.1.1.1.2.2.3.2.8.5 1.8.3 2.3-.5.4-.6 1-1 1.6-1.2h.1c.2-.1.4-.1.5-.1H203.9c.7 0 1.5.2 2.1.7.3.2.5.4.7.7.5.8 1.5 1 2.3.5.1-.1.2-.1.3-.2.6-.5.7-1.4.2-2.1-1-1.4-2.4-2.3-4-2.7-.5-.1-1.1-.2-1.6-.2-.3-.1-.7 0-1.1 0zm5.1 1.6c.1 0 .1.1.2.2s.3.2.4.4c.2.1.3.3.5.5.1.1.2.2.2.3l.3.3c.1.2.1.5.1.7v.1c0 .1-.1.2-.1.2 0 .1 0 .1-.1.2 0 .1-.1.1-.1.1l-.1.1h-.1-.1c-.1 0-.2.1-.2.1h-.1c-.4 0-.7-.1-1-.4-.8-1-2-1.7-3.3-1.7H203.8c-.2 0-.4.1-.6.1-.1 0-.3.1-.4.2-.1.1-.3.1-.4.2-.2.1-.4.2-.5.4l-.1.1-.6.6-.3.3c-.4.3-.9.3-1.2 0-.5-.3-.7-1-.3-1.5.2-.3.4-.5.6-.7l.1-.1c.2-.2.5-.5.8-.7h.1c.1-.1.3-.2.5-.3h.1c.2-.1.3-.2.5-.2h.1c.2-.1.3-.1.5-.2s.4-.1.6-.2c1.3-.4 3.1-.1 4.6.9z"/>
- <path fill="url(#j)" fill-rule="nonzero" d="M202.9 113.4c-.2 0-.4.1-.6.2-.2.1-.4.1-.5.2h-.1c-.2.1-.3.2-.5.2h-.1c-.2.1-.3.2-.5.3h-.1c-.3.2-.5.4-.8.7l-.1.1c-.2.2-.4.5-.6.7-.3.5-.2 1.2.3 1.5.4.3.9.2 1.2 0l.3-.3c.2-.2.4-.5.6-.7l.1-.1c.2-.1.4-.3.5-.4.1-.1.2-.1.4-.2.1-.1.3-.1.4-.2.2-.1.4-.1.6-.1H204c1.3 0 2.5.6 3.3 1.7.2.3.6.4 1 .4h.1c.1 0 .2 0 .2-.1.1 0 .1 0 .2-.1h.1l.1-.1.1-.1s.1-.1.1-.2.1-.1.1-.2v-.1c0-.2 0-.5-.1-.7l-.3-.3c-.1-.1-.1-.2-.2-.3-.1-.2-.3-.3-.5-.5-.1-.1-.3-.2-.4-.4-1.2-.8-3.1-1.3-4.9-.9z"/>
- <path fill="url(#k)" fill-rule="nonzero" d="M140 165.4v.7l.6-.9"/>
- <path fill="#FFF" fill-rule="nonzero" d="M137.8 166.1l-1.9.6c-.8.2-1.2 1.1-1 1.8l1.1 3.7.2.6.1.2v.1l.1.4c-.5.6-1 1.1-1.4 1.7h2.4c.2-.4.3-.9.3-1.4v-7.7h.1z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M140 168.2l-.1.2c-.2.3-.5.3-.8.2l-.2-.2c-.1-.2-.1-.4 0-.6l1.1-1.6v-.7l-2.2.7v7.7c0 .5-.1 1-.3 1.4h2.3c.1-.5.2-.9.2-1.4v-5.7z"/>
- <path fill="url(#l)" fill-rule="nonzero" d="M154.4 170.6c-3.5 1.5-6.8 3.4-9.9 5.6.1.1.1.2.2.4l.2.7c3.1-2 6.3-3.8 9.7-5.2-.1-.6-.1-1.1-.2-1.5z"/>
- <path fill="url(#m)" fill-rule="nonzero" d="M156.8 189.1c-.2-.8-.3-1.5-.4-2.2-.8-4.1-1.3-6.9-1.3-6.9 0-.3.1-.5.4-.6.1-.1.2-.1.2-.1.2 0 .3 0 .4.1-.4-2.2-1.1-5.2-1.5-7.4.1-.1.2-.1.4-.2-.4-2.9-.8-5.5-1.1-7.7-1.5-1.3-2.1-2.8-2-3.7v-.1c-1.2-.6-2.1-1.4-2.8-2.1-1.4-1.5-1.7-3-1.7-3.2v-.4c.1-.4.5-.8.9-.8h.3l.2-.2c.1-.6.3-1.3.6-1.9.8-1.9 2.1-3.5 2.7-4.3-.1-3.2-.2-6.5-.3-9.9 0 .1 0 .2-.1.3l-.6 3c-.1.2-.1.5-.2.7-.3 1.1-.5 2.3-.9 3.5-.1.2-.1.4-.2.6v.2l-.1.2-.1.5h-.1l-1.5 4.1c-.1.2-.3.4-.6.3h-.1-.1c-.3-.1-.4-.4-.3-.7l1-2.7-.3.2-4.7 2.9c-.7.4-.9 1.3-.5 2l2.9 4.7.1.1.1.1.2.3v.1c-1 2.3-2.1 4.5-3.3 6.7h-.1l-2.4 3.5-.1.2c-.2.3-.5.3-.8.2l-.2-.2c-.1-.2-.1-.4 0-.6l1.1-1.6v-.7l-2.2.7-1.9.6c-.8.2-1.2 1.1-1 1.8l1.1 3.7.2.6.1.2v.1l.1.4c-.5.6-1 1.1-1.4 1.7H142.6c.7 0 1.3.4 1.7.9.1.1.1.2.2.4l.2.7.1.2c.1.5 0 1.1-.3 1.5-.4.4-.9.7-1.5.7h-1v4h1c1 0 1.9.8 1.9 1.7v1.1c0 .1 0 .3-.1.4-.1.3-.2.5-.4.7h.8l.3.2c.1-.2.3-.3.6-.3h.7c1.6.1 2.6.3 3.1.7.3.2.5.5.8.8.9 1.2 1.4 3 1.4 5 0 1.5-.7 4.7-2 5.7-.9.7-2.6.8-3.8.8h-.2c.
2.3.4.6.5 1.1l.2 1.1c.1.4.1.7 0 1.1 3 .4 6 .7 9 .7 1.4 0 2.8-.1 4.1-.2-1.1-4.9-2.2-10.5-3.1-15.1z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M149.2 153.6s0-.1 0 0c.2 0 .2 0 .3.1.2.1.3.3.3.6 0 0-.1.7.8 1.8.5.6 1.3 1.2 2.5 1.9.2-.9.7-1.7 1.5-2.5s1.5-1.3 2.3-1.7c-1.2-1.1-2.4-2.4-3.2-3.7-.6-.9-.9-1.9-.9-2.8v-.1l-.3.3c-.6.7-1.9 2.4-2.7 4.3-.3.6-.5 1.3-.6 1.9-.2-.2-.1-.2 0-.1z"/>
- <path fill="url(#n)" fill-rule="nonzero" d="M136.3 173.1l-.3-.9-1.1-3.7c-.2-.8.2-1.6 1-1.8l1.9-.6 2.2-.7.6-.2h.1l-.7 1-1.1 1.6c-.1.2-.1.4 0 .5 0 .1.1.2.2.2.3.2.6.1.8-.2l.1-.2 2.4-3.5h.1c1.2-2.2 2.4-4.4 3.3-6.7v-.1l-.2-.3-.1-.2-.1-.1-2.9-4.7c-.4-.7-.2-1.6.5-2l4.7-2.9.3-.2.1-.1-1 2.8c-.1.3.1.6.3.7h.1c.2 0 .5-.1.6-.3l1.5-4.1h.1l.1-.5.1-.2v-.2c.1-.2.1-.4.2-.6.3-1.2.6-2.3.9-3.5.1-.2.1-.5.2-.7l.6-3v-.2c.2-.9.3-1.9.5-2.8 0-10.8.9-20.2 2.9-26.1v.1l.7 1.7c.1.2.3.3.5.4h.2c.3-.1.4-.4.3-.7l-1.2-2.9v-.2l-.4-1.1 1.1-.3c1.8-3.5 4.1-6.7 6.8-9.6 0 .6.1 1.2.3 1.8.1.2.3.4.5.4h.2c.2-.1.4-.3.4-.5v-.2c-.1-.8-.2-1.7-.3-2.5l.1-.1v-.1l.1-4.1 4.3.1c3.6-3 7.5-5.6 11.6-7.8l1.7-6.2 5.1 1.4h.1l-2.6 1.1c-.1 0-.2.1-.2.2-.1.1-.2.4-.1.6.1.3.4.4.7.3h.1l3.8-1.7.5.1c5.3-2.1 10.9-3.3 16.6-3.5.6 0 1.2 0 1.7.1 8.6.6 23 11.7 34.3 22.9 0 0 .1 0 .1-.1.1-.1.3-.1.4-.1.2 0 .4.1.5.2 3.4 3.3 6.6 6.8 9.5 10.6 2.9 3.2 6.5 7.7 7.7 12.5 1 4 .2 8.7-1.3 12.8-1.2 3.2-2.8 6-4.1 7.8-4.3 5.5-8.4 7.8-15.3 8.7-.8.1-1.6.2-2.4.2-.1-.1-.3-.
1-.4-.1-2.1-.1-4.2-.2-6.3-.5l-.2 2.1c1.5.2 3 .3 4.6.4l.1.9v.2c1.3.4 2.1 1.6 2 2.9 0 .2 0 .5-.1.7l-.3.6.6.6c.3.3.6.7.9 1.1 1.6-2.1 1.5-5-.5-6.9.8 0 1.6-.1 2.4-.2 7.5-1 12.1-3.6 16.7-9.5 3.7-4.6 7.9-14.7 5.9-22.5-1.3-5.2-5.1-10.1-8.1-13.3-2.9-3.9-6.1-7.5-9.7-10.8-.5-.5-1.2-.8-1.8-.8-5.4-5.4-11.3-10.3-17.5-14.7-5.4-3.7-10-6.2-13.9-7.2-.5-.2-1.1-.3-1.6-.4h-.1c-.6-.1-1.2-.2-1.7-.2-.6 0-1.2-.1-1.9-.1-5.7.2-11.4 1.3-16.7 3.4l-.2-.1-6.5-1.8h-.1c-1.2-.3-2.3.4-2.6 1.6l-1.4 5.3c-3.7 2-7.2 4.4-10.5 7.1l-3.5-.1c-1.2 0-2.2 1-2.2 2.2l-.1 3.3c-2.8 3-5.3 6.3-7.3 9.9l-.3.1c-1.2.4-1.8 1.6-1.5 2.8l.2.5c-2.2 5.7-3.3 15-3.3 27.6-.6 3.6-1.4 7.2-2.2 10.6l-5 2.8-1.1.7c-.9.5-1.4 1.4-1.7 2.3-.2.9-.1 1.9.4 2.8l2.6 4.3c-.7 1.6-1.5 3.2-2.3 4.7l-5.8 1.8c-1.2.4-2.1 1.3-2.4 2.5-.2.7-.2 1.4 0 2.1l.7 2.2.5 1.7-1.8 2.1h2.9c.5-.6 1-1.1 1.4-1.7l-.2-.8z"/>
- <path fill="url(#o)" fill-rule="nonzero" d="M237.3 167.2c-.2.3-.6.7-1 1 0 .9.1 1.7.2 2.4.1.5 0 1.3 0 2.2 0 2-.2 4.6 0 6.1v3.5c-.4 15.3-3.8 25.4-5.2 29-.4 1.4-.7 2.6-1.1 3.8-1.6 4.6-3.6 8.6-5.3 11.2-.5.8-1.1 1.5-1.5 2-.7.8-1.4 1.3-1.9 1.3-.2 0-.3-.1-.5-.2-.3-.3-.5-1.5-.5-3.3v-1-.3-.1c0-2.2.2-5.1.3-7.9v-.1c2.4-.9 4.6-2.3 6.5-4h.1c.2-.2.2-.6 0-.8-.2-.2-.6-.2-.8 0-1.9 1.6-4 2.9-6.3 3.8-7.1 1.8-14.3 2.7-21.5 2.9-12.5 0-20.4-2.1-23.3-3l-.3-6.4c0-.3-.3-.5-.6-.5h-.1c-.1 0-.2.1-.3.2-.1.1-.1.2-.1.3l.2 5.8v.2h-.1c0 2.1.1 4.1.1 6 0 1.7 0 3.3-.1 4.6-.1 2-.3 3.3-.6 3.6-.1.1-.2.1-.3.1h-.2c-.6 0-1.4-.6-2.3-1.8-2-2.4-4.5-7.1-6.4-12.7-1.2-3.6-2.1-7.2-2.9-10.9h-.2v-.2c-2.2-9.3-4.2-20.2-4.8-23.4l-.2-.9c0-.1-.1-.3-.2-.4-.1-.1-.3-.1-.4-.1-.1 0-.2.1-.2.1-.2.1-.2.3-.2.5 0 .1.5 2.9 1.3 7 .1.7.3 1.5.4 2.2.9 4.6 2 10.2 3.2 15.3h-.2c-1.4.1-2.7.2-4.1.2-3 0-6-.3-9-.7-.1.3-.2.6-.3.8-.4.5-.9.9-1.5.9h-1v.2c3.9.7 7.8 1.1 11.8 1.2 1.3 0 2.6 0 3.9-.1.7 3.1 1.5 6.2 2.6 9.2.3.9 2.2 6.1 4.7 10.3 1.8 3.1 4 5.7 6.2 5.7
.5 0 1-.1 1.4-.4.2-.1.3-.2.5-.3.9-.8 1.7-1.4 1.5-12.8v-.1c7.2 1.8 14.7 2.7 22.2 2.6 6.6-.1 13.3-.9 19.7-2.4-.2 3.3-.3 5.7-.2 7.5.1 4.2.7 4.7 1.3 5.2.5.4 1.2.7 1.9.7.6 0 1.2-.2 1.8-.6 4.4-2.7 8.5-14 9-15.4.4-1.1.8-2.4 1.1-3.8 1.5-3.9 4.9-14.2 5.3-29.7v-1.8-1.3c-.1-3.6-.2-9.6-.4-14.4-.4.6-.7 1.7-1.1 2.2z"/>
- <path fill="url(#p)" fill-rule="nonzero" d="M152 160.4c.2-.2 1.1.2 1-.1-.2-.8-.2-1.6 0-2.4-1.2-.7-2-1.3-2.5-1.9-.9-1-.8-1.8-.8-1.8 0-.2-.1-.4-.2-.6-.1 0-.1-.1-.2-.1H149c-.1 0-.2.1-.2.2h-.3c-.5.1-.8.4-.9.8v.4c0 .2.3 1.7 1.7 3.2.6 1 1.5 1.7 2.7 2.3z"/>
- <path fill="url(#q)" fill-rule="nonzero" d="M161.9 166s-.1 0-.2.1c.1.9.2 1.8.4 2.6l-.2-2.7z"/>
- <path fill="url(#r)" fill-rule="nonzero" d="M241.3 112.7c.1-.2.2-.5.2-.7v-3.5c0-.5-.3-1-.7-1.3-.3-.2-.6-.3-.9-.3-.9 0-1.6.7-1.6 1.6v3.5c0 .2 0 .4.1.6h.3c.3 0 .6-.1.9-.1.6 0 1.2.1 1.7.2z"/>
- <path fill="url(#s)" fill-rule="nonzero" d="M235.1 117.3c.3.2.7.2 1 .1.2-.1.4-.2.6-.4.3-.4.7-.7 1.1-1 .7-.4 1.4-.7 2.3-.7 1 0 1.9.4 2.6 1 .3.2.5.4.7.7.4.5 1.1.6 1.6.2.4-.3.6-.9.3-1.4-.2-.4-.5-.7-.8-1-.8-.8-1.8-1.3-2.8-1.5-.8-.2-1.6-.2-2.4-.1-1 .1-1.9.5-2.7 1.1-.3.2-.6.4-.8.7l-.4.4-.4.4c-.6.5-.5 1.2.1 1.5z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M102.5 224.6c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h44.2c.1 0 .2 0 .2.1-.1-.4-.2-.8-.4-1.2H101v5.2h45.2c.2-.3.4-.8.6-1.3H102.4c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h44.2c.1 0 .2 0 .3.1.1-.4.1-.8 0-1.3-.1.1-.2.2-.3.2h-44.1v.2z"/>
- <path fill="url(#t)" fill-rule="nonzero" d="M96.8 230.3c.9-.1 1.9-.2 2.9-.3v-.3h-2.6c-.1 0-.2 0-.3.1 0 .2-.1.3 0 .5z"/>
- <path fill="url(#u)" fill-rule="nonzero" d="M151.8 225.1c0-2.9-1-5.2-1.9-6-.2-.1-1-.4-2.6-.5-.1.4-.3.9-.9.9l-.4.1-1.2-1H97.1c-.2 0-.3.2-.3.3v1.4c0 .2.2.3.3.3h15.6l34.2-.6.6.6h.1l.2.3 1.1 1.1-.2 1.1c.3 1.4.2 3-.2 4.2l3-.3c.2-.6.3-1.3.3-1.9z"/>
- <path fill="#EDEDF0" fill-rule="nonzero" d="M142.6 230.1h-43v-.1c-1 .1-2 .2-2.9.3l.3 1c0 .2.2.3.3.3H144l1.1-1 .5.1c.4.1.6.3.8.6l.4.4c1.6 0 2.8-.3 3.3-.7.5-.4 1.1-2.1 1.5-3.8l-3 .3c-.2.5-.4 1-.6 1.4l-.2 1-5.2.2z"/>
- <path fill="url(#v)" fill-rule="nonzero" d="M142.6 230.1h-43v-.1c-1 .1-2 .2-2.9.3l.3 1c0 .2.2.3.3.3H144l1.1-1 .5.1c.4.1.6.3.8.6l.4.4c1.6 0 2.8-.3 3.3-.7.5-.4 1.1-2.1 1.5-3.8l-3 .3c-.2.5-.4 1-.6 1.4l-.2 1-5.2.2z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M112.7 220.7h34.9l-.7-.6"/>
- <path fill="url(#w)" fill-rule="nonzero" d="M112.7 220.7h34.9l-.7-.6"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M147.9 221l.1.1c.4.6.7 1.3.8 2l.2-1.1-1.1-1z"/>
- <path fill="url(#x)" fill-rule="nonzero" d="M147.9 221l.1.1c.4.6.7 1.3.8 2l.2-1.1-1.1-1z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M99.7 230.1h43l5.1-.3.2-1c-.2.3-.4.5-.6.7l-.3.3H99.7v.3z"/>
- <path fill="url(#y)" fill-rule="nonzero" d="M99.7 230.1h43l5.1-.3.2-1c-.2.3-.4.5-.6.7l-.3.3H99.7v.3z"/>
- <path fill="url(#z)" fill-rule="nonzero" d="M95.2 231.8c.2 1 1.1 1.7 2.2 1.7h47.3l.6-.6c.3.3.8.6 1.4.6 1.5 0 3.4-.2 4.5-1.1 1.1-.9 1.9-3.4 2.2-5.4.1-.7.2-1.4.2-1.9 0-3.2-1-6.2-2.6-7.5-.6-.4-1.8-.7-3.6-.9h-.8c-.3 0-.6.1-.7.3l-.4-.3H97c-1.2 0-2.2 1-2.2 2.2v1.4c0 1.2 1 2.2 2.2 2.2h1.2v5.2H97c-.7 0-1.3.3-1.8.9-.4.5-.5 1.1-.4 1.7v.2l.4 1.3zm1.6-1.9c.1-.1.2-.1.3-.1h50l.3-.3c.2-.2.4-.4.6-.7.3-.4.5-.9.6-1.4.4-1.3.5-2.8.2-4.2-.2-.7-.4-1.4-.8-2l-.1-.1-.2-.3H97.2c-.2 0-.3-.2-.3-.3v-1.4c0-.2.2-.3.3-.3h47.7l1.2 1 .4-.1c.6-.1.8-.5.9-.9 1.6.1 2.4.4 2.6.5.9.8 1.9 3.1 1.9 6 0 .6-.1 1.4-.2 2.1-.3 1.7-.9 3.4-1.5 3.8-.5.4-1.8.6-3.3.7l-.4-.4c-.2-.3-.4-.5-.8-.6l-.5-.1-1.1 1H97.5c-.2 0-.3-.1-.3-.3l-.3-1v-.1c-.2-.3-.1-.4-.1-.5zm50.2-4.1c.1.1.2.2.2.4s-.1.4-.3.4c-.1.5-.3.9-.6 1.3H101v-5.2h45.5c.2.4.3.8.4 1.2.1.1.2.2.2.4 0 .1-.1.2-.1.3.1.3.1.8 0 1.2z"/>
- <path fill="url(#A)" fill-rule="nonzero" d="M147 223.8c-.1 0-.2-.1-.2-.1h-44.2c-.3 0-.5.2-.5.5s.2.5.5.5h44.2c.1 0 .3-.1.3-.2.1-.1.1-.2.1-.3 0-.2-.1-.3-.2-.4z"/>
- <path fill="url(#B)" fill-rule="nonzero" d="M102.5 225.6c-.3 0-.5.2-.5.5s.2.5.5.5H146.9c.2-.1.3-.2.3-.4 0-.1-.1-.3-.2-.4-.1-.1-.2-.1-.3-.1h-44.2v-.1z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M103 210.8h38.8v-5.2h-38.5c-.8 1.1-1 3.5-.3 5.2z"/>
- <path fill="url(#C)" fill-rule="nonzero" d="M134.5 203.4c-1.4-.5-2.8-.9-4.2-1.5h-.2l4.2 1.5h.2z"/>
- <path fill="url(#D)" fill-rule="nonzero" d="M145.3 203.6c-2.5-.5-5.1-1-7.6-1.8h-.2c2.5.8 5.1 1.4 7.8 1.8z"/>
- <path fill="url(#E)" fill-rule="nonzero" d="M103.2 213.9l.4-.1 1 1h40.6c.2 0 .3-.2.3-.3v-1.4c0-.2-.1-.3-.3-.3h-13.3l-29.1.6-.5-.6h-.1l-.2-.3-.9-1.1.1-1.1c-.4-2-.1-4.2.7-5.6l.1-1 4.4-.3h18.5c-.8-.4-1.7-.9-2.6-1.5h-17.1l-.9 1-.4-.1c-.3-.1-.5-.3-.7-.6-.1-.1-.2-.3-.3-.4-1.3 0-2.4.3-2.8.7-.7.6-1.4 3.8-1.4 5.9 0 2.9.8 5.2 1.6 6 .1.1.9.4 2.2.5 0-.5.2-.9.7-1z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M134.3 203.4c-1.4-.5-2.8-.9-4.2-1.5h-7.8c.9.6 1.8 1.1 2.6 1.5h9.4z"/>
- <path fill="url(#F)" fill-rule="nonzero" d="M134.3 203.4c-1.4-.5-2.8-.9-4.2-1.5h-7.8c.9.6 1.8 1.1 2.6 1.5h9.4z"/>
- <path fill="url(#G)" fill-rule="nonzero" d="M145.3 203.6c.1-.1.1-.2.1-.3l-.2-1.1c0-.2-.1-.3-.3-.3h-7.2c2.5.7 5 1.3 7.6 1.7z"/>
- <path fill="url(#H)" fill-rule="nonzero" d="M145.3 203.6c.1-.1.1-.2.1-.3l-.2-1.1c0-.2-.1-.3-.3-.3h-7.2c2.5.7 5 1.3 7.6 1.7z"/>
- <path fill="url(#I)" fill-rule="nonzero" d="M142.9 203.4v.3h2.2c.1 0 .1 0 .2-.1-2.6-.4-5.2-1-7.8-1.8h-7.2l4.2 1.5h8.4v.1z"/>
- <path fill="url(#J)" fill-rule="nonzero" d="M142.9 203.4v.3h2.2c.1 0 .1 0 .2-.1-2.6-.4-5.2-1-7.8-1.8h-7.2l4.2 1.5h8.4v.1z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M131.8 212.7h-29.6l.5.7"/>
- <path fill="url(#K)" fill-rule="nonzero" d="M131.8 212.7h-29.6l.5.7"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M101.9 212.4l-.1-.1c-.3-.6-.6-1.3-.7-2l-.1 1.1.9 1z"/>
- <path fill="url(#L)" fill-rule="nonzero" d="M101.9 212.4l-.1-.1c-.3-.6-.6-1.3-.7-2l-.1 1.1.9 1z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M134.5 203.4h-28.1l-4.4.3-.1 1c.1-.3.3-.5.5-.7l.2-.3H143v-.3h-8.5z"/>
- <path fill="url(#M)" fill-rule="nonzero" d="M134.5 203.4h-28.1l-4.4.3-.1 1c.1-.3.3-.5.5-.7l.2-.3H143v-.3h-8.5z"/>
- <path fill="url(#N)" fill-rule="nonzero" d="M103 216.8h.2c.2 0 .4-.1.5-.3l.3.3H145.4c1-.1 1.7-1.1 1.7-2.2v-1.4c0-1.2-.9-2.2-1.9-2.2h-1v-5.5h1c.6 0 1.1-.3 1.5-.9.2-.3.3-.5.3-.8.1-.3.1-.7 0-1.1l-.2-1.1c-.1-.4-.3-.8-.5-1.1-.4-.1-.7-.3-1-.5l-.5.4h-40.1c-.2 0-.3 0-.5-.1-.4-.1-.7-.3-.9-.6h-.2c-1.2 0-2.9.2-3.9 1.1-1.3 1.3-2 5.5-2 7.4 0 3.2.9 6.2 2.2 7.5.5.4 1.5.7 3.1.9.1.1.3.2.5.2zm-2.8-2.5c-.8-.8-1.6-3.1-1.6-6 0-2.1.8-5.3 1.4-5.9.4-.4 1.5-.6 2.8-.7.1.1.3.3.3.4.2.3.4.5.7.6l.4.1.9-1H144.8c.1 0 .2.1.3.3l.2 1.1c0 .1 0 .2-.1.3l-.1.1s-.1.1-.2.1h-42.6l-.2.3c-.2.2-.3.4-.5.7-.8 1.4-1.1 3.6-.7 5.6.1.7.4 1.4.7 2l.1.1.2.3h43c.2 0 .3.2.3.3v1.4c0 .2-.1.3-.3.3h-40.6l-1-1-.4.1c-.5.1-.7.5-.8.9-1 0-1.8-.2-1.9-.4zm41.5-8.7v5.2H103c-.7-1.7-.5-4.1.3-5.2h38.4z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M108.9 193.8c-.2 0-.4-.2-.4-.4s.2-.4.4-.4h37.5c.1 0 .1 0 .2.1l-.3-.9h-38.6v4.1H146c.2-.3.4-.6.5-1h-37.6c-.2 0-.4-.2-.4-.4s.2-.4.4-.4h37.5c.1 0 .2 0 .3.1 0-.3.1-.7 0-1-.1.1-.2.1-.3.1h-37.5v.1z"/>
- <path fill="url(#O)" fill-rule="nonzero" d="M104.3 198.9c0 .1.1.2.3.2h13.9c-.4-.4-.9-.8-1.3-1.1h-10.7v-.3h-2.2c-.1 0-.2 0-.2.1-.1.1-.1.1-.1.2l.3.9z"/>
- <path fill="url(#P)" fill-rule="nonzero" d="M104.2 189.1c-.1 0-.2.1-.2.2v1.1c0 .1.1.3.3.3h9.3c0-.6.1-1.1.2-1.6h-9.6z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M113.8 189.1h-9.5-.1 9.6z"/>
- <path fill="url(#Q)" fill-rule="nonzero" d="M113.8 189.1h-9.5-.1 9.6z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M117.2 198c.4.4.8.8 1.3 1.1h5.7c-.7-.4-1.4-.7-2-1.1h-5z"/>
- <path fill="url(#R)" fill-rule="nonzero" d="M117.2 198c.4.4.8.8 1.3 1.1h5.7c-.7-.4-1.4-.7-2-1.1h-5z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M113.8 189.1c-.1.5-.2 1.1-.2 1.6h3.4c.1-.6.2-1.1.4-1.6h-3.6z"/>
- <path fill="url(#S)" fill-rule="nonzero" d="M113.8 189.1c-.1.5-.2 1.1-.2 1.6h3.4c.1-.6.2-1.1.4-1.6h-3.6z"/>
- <path fill="url(#T)" fill-rule="nonzero" d="M142.9 198h-15.8c.9.4 1.7.8 2.6 1.1h14.4l.9-.8.4.1c.3.1.5.3.7.5.1.1.2.3.3.3 1.3 0 2.4-.2 2.8-.5.7-.5 1.4-2.9 1.4-4.6 0-2.3-.8-4-1.6-4.6-.1-.1-.8-.3-2-.4h-.2c-.1.3-.3.6-.7.7h-.3l-1-.7h-13.3c-.4.5-.7.9-1.1 1.4l16.2-.3.5.5h.1l.2.2.9.8-.1.9c.4 1.6.1 3.2-.7 4.3l-.1.8-4.5.3z"/>
- <path fill="url(#T)" fill-rule="nonzero" d="M142.9 198h-15.8c.9.4 1.7.8 2.6 1.1h14.4l.9-.8.4.1c.3.1.5.3.7.5.1.1.2.3.3.3 1.3 0 2.4-.2 2.8-.5.7-.5 1.4-2.9 1.4-4.6 0-2.3-.8-4-1.6-4.6-.1-.1-.8-.3-2-.4h-.2c-.1.3-.3.6-.7.7h-.3l-1-.7h-13.3c-.4.5-.7.9-1.1 1.4l16.2-.3.5.5h.1l.2.2.9.8-.1.9c.4 1.6.1 3.2-.7 4.3l-.1.8-4.5.3z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M146.8 189.1h.2-.2z"/>
- <path fill="url(#U)" fill-rule="nonzero" d="M146.8 189.1h.2-.2zM146.8 189.1h.2-.2z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M144.8 189.1h-13.3 13.3z"/>
- <path fill="url(#V)" fill-rule="nonzero" d="M144.8 189.1h-13.3 13.3zM144.8 189.1h-13.3 13.3z"/>
- <path fill="url(#W)" fill-rule="nonzero" d="M119.8 189.1c-.3.5-.5 1-.6 1.6l10.5-.2c.3-.5.7-.9 1-1.4h-10.9z"/>
- <path fill="url(#W)" fill-rule="nonzero" d="M119.8 189.1c-.3.5-.5 1-.6 1.6l10.5-.2c.3-.5.7-.9 1-1.4h-10.9z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M130.8 189.1h-10.9 10.9z"/>
- <path fill="url(#X)" fill-rule="nonzero" d="M130.8 189.1h-10.9 10.9zM130.8 189.1h-10.9 10.9z"/>
- <path fill="url(#Y)" fill-rule="nonzero" d="M129.7 190.5h.6c.4-.5.7-.9 1.1-1.4h-.7c-.3.5-.6.9-1 1.4z"/>
- <path fill="url(#Y)" fill-rule="nonzero" d="M129.7 190.5h.6c.4-.5.7-.9 1.1-1.4h-.7c-.3.5-.6.9-1 1.4z"/>
- <path fill="url(#Y)" fill-rule="nonzero" d="M129.7 190.5h.6c.4-.5.7-.9 1.1-1.4h-.7c-.3.5-.6.9-1 1.4z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M131.5 189.1h-.7.7z"/>
- <path fill="url(#Z)" fill-rule="nonzero" d="M131.5 189.1h-.7.7zM131.5 189.1h-.7.7zM131.5 189.1h-.7.7z"/>
- <path fill="url(#aa)" fill-rule="nonzero" d="M122.2 198c.6.4 1.3.8 2 1.1h5.5c-.9-.4-1.8-.7-2.6-1.1h-4.9z"/>
- <path fill="url(#ab)" fill-rule="nonzero" d="M122.2 198c.6.4 1.3.8 2 1.1h5.5c-.9-.4-1.8-.7-2.6-1.1h-4.9z"/>
- <path fill="url(#ac)" fill-rule="nonzero" d="M119.8 189.1h-2.5c-.2.5-.3 1-.4 1.6h2.3c.1-.6.3-1.1.6-1.6z"/>
- <path fill="url(#ad)" fill-rule="nonzero" d="M119.8 189.1h-2.5c-.2.5-.3 1-.4 1.6h2.3c.1-.6.3-1.1.6-1.6z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M117.2 198H142.9l4.4-.2.1-.8c-.1.2-.3.4-.5.5l-.2.2h-40.2v.3h10.7z"/>
- <path fill="url(#ae)" fill-rule="nonzero" d="M117.2 198H142.9l4.4-.2.1-.8c-.1.2-.3.4-.5.5l-.2.2h-40.2v.3h10.7z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M130.3 190.5h-.6l-10.5.2h-1.6 29.5l-.5-.5"/>
- <path fill="url(#af)" fill-rule="nonzero" d="M130.3 190.5h-.6l-10.5.2h-1.6 29.5l-.5-.5"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M147.4 191l.1.1c.3.5.6 1 .7 1.6l.1-.9-.9-.8z"/>
- <path fill="url(#ag)" fill-rule="nonzero" d="M147.4 191l.1.1c.3.5.6 1 .7 1.6l.1-.9-.9-.8z"/>
- <path fill="url(#ah)" fill-rule="nonzero" d="M104.1 200.5c.2 0 .3.1.5.1h40.1l.5-.4c.2.2.6.4 1 .5h.2c1.2 0 2.9-.2 3.8-.8 1.3-1 2-4.2 2-5.7 0-2-.6-3.8-1.4-5-.2-.3-.5-.6-.8-.8-.5-.3-1.5-.6-3.1-.7h-.7c-.3 0-.5.1-.6.3l-.3-.2h-.8c-.3.4-.8.6-1.4.6h-40.2c-.2.3-.4.6-.5.9v1.3c0 1 .8 1.7 1.9 1.7h1v4.1h-1c-.6 0-1.1.2-1.5.7-.4.4-.5 1-.3 1.5l.2.9c.1.3.2.5.4.7.2 0 .5.2 1 .3-.1 0-.1 0 0 0zm0-2.7c.1-.1.1-.1.2-.1H146.7l.2-.2.5-.5c.8-1.1 1.1-2.8.7-4.3-.1-.6-.4-1.1-.7-1.6l-.1-.1-.2-.2h-42.8c-.2 0-.3-.1-.3-.3v-1.1c0-.1.1-.2.2-.2h40.6l1 .7h.3c.5-.1.7-.4.7-.7h.2c1.2.1 1.9.3 2 .4.8.6 1.6 2.4 1.6 4.6 0 1.6-.8 4.1-1.4 4.6-.4.3-1.5.5-2.8.5-.1-.1-.3-.2-.3-.3-.2-.2-.4-.4-.7-.5l-.4-.1-.9.8h-39.5c-.1 0-.2-.1-.3-.2l-.3-1s0-.1.1-.2zm42.5-3.2c.1.1.1.2.1.3 0 .2-.1.3-.3.3-.1.4-.3.7-.5 1h-38.4v-4.1h38.6l.3.9c.1.1.2.2.2.3 0 .1 0 .2-.1.3.2.4.2.7.1 1z"/>
- <path fill="url(#ai)" fill-rule="nonzero" d="M146.6 193.1c-.1 0-.1-.1-.2-.1h-37.5c-.2 0-.4.2-.4.4s.2.4.4.4h37.5c.1 0 .2 0 .3-.1.1-.1.1-.2.1-.3 0-.1-.1-.2-.2-.3z"/>
- <path fill="url(#aj)" fill-rule="nonzero" d="M108.9 194.6c-.2 0-.4.2-.4.4s.2.4.4.4h37.6c.2 0 .3-.2.3-.3 0-.1-.1-.2-.1-.3-.1-.1-.2-.1-.3-.1h-37.5v-.1z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M101.1 183.6h38.6v-4.1h-38.4c-.6 1-.8 2.8-.2 4.1z"/>
- <path fill="url(#ak)" fill-rule="nonzero" d="M98.4 186.4c.1.1.9.3 2.2.4.1-.3.3-.7.8-.7h.3l1 .8h11.9c.2-.5.5-1 .8-1.4l-14.6.2-.5-.5h-.1l-.2-.2-.9-.8.1-.9c-.3-1.2-.2-2.5.2-3.5H97c-.2.7-.3 1.4-.3 2 .1 2.2.9 4 1.7 4.6z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M120.7 176.7h-17.3l-.9.8h17.9c0-.3.1-.5.3-.8z"/>
- <path fill="url(#al)" fill-rule="nonzero" d="M120.7 176.7h-17.3l-.9.8h17.9c0-.3.1-.5.3-.8z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M102 177.4c-.3-.1-.5-.3-.7-.5-.1-.1-.2-.3-.3-.3-1.3 0-2.4.2-2.8.5l-.3.3h4.5-.4z"/>
- <path fill="url(#am)" fill-rule="nonzero" d="M102 177.4c-.3-.1-.5-.3-.7-.5-.1-.1-.2-.3-.3-.3-1.3 0-2.4.2-2.8.5l-.3.3h4.5-.4z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M133 177.5c.2-.3.5-.5.8-.8l-.8.8z"/>
- <path fill="url(#an)" fill-rule="nonzero" d="M133 177.5c.2-.3.5-.5.8-.8l-.8.8z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M100 178.9l.1-.8 4.4-.2h15.6c0-.1.1-.2.2-.4H97.9c-.3.5-.7 1.3-.9 2.2h2.5c.2-.3.3-.6.5-.8z"/>
- <path fill="url(#ao)" fill-rule="nonzero" d="M100 178.9l.1-.8 4.4-.2h15.6c0-.1.1-.2.2-.4H97.9c-.3.5-.7 1.3-.9 2.2h2.5c.2-.3.3-.6.5-.8z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M133 177.5c-.2.1-.3.2-.4.4l.4-.4z"/>
- <path fill="url(#ap)" fill-rule="nonzero" d="M133 177.5c-.2.1-.3.2-.4.4l.4-.4z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M120.2 185.3l-4.7.1c-.3.4-.6.9-.8 1.4h4.1c.3-.6.8-1.1 1.4-1.5z"/>
- <path fill="url(#aq)" fill-rule="nonzero" d="M120.2 185.3l-4.7.1c-.3.4-.6.9-.8 1.4h4.1c.3-.6.8-1.1 1.4-1.5z"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M120.1 177.9h4c.7-.7 1.6-1.1 2.6-1.1h.3l3.3.3c.1-.1.2-.2.3-.4h-10c-.1.3-.3.5-.4.8 0 .1 0 .2-.1.4z"/>
- <path fill="url(#ar)" fill-rule="nonzero" d="M120.1 177.9h4c.7-.7 1.6-1.1 2.6-1.1h.3l3.3.3c.1-.1.2-.2.3-.4h-10c-.1.3-.3.5-.4.8 0 .1 0 .2-.1.4z"/>
- <path fill="url(#as)" fill-rule="nonzero" d="M143.1 186.7c.2 0 .3-.1.3-.3v-1.1c0-.1-.1-.3-.3-.3h-7.9l-1.6 1.6h9.5v.1z"/>
- <path fill="url(#at)" fill-rule="nonzero" d="M143.1 186.7c.2 0 .3-.1.3-.3v-1.1c0-.1-.1-.3-.3-.3h-7.9l-1.6 1.6h9.5v.1z"/>
- <path fill="url(#au)" fill-rule="nonzero" d="M122 186.7h10.7c.3-.3.6-.6.8-.9l.7-.7h-4.4l-5.8.1c-.7.6-1.4 1.1-2 1.5z"/>
- <path fill="url(#av)" fill-rule="nonzero" d="M122 186.7h10.7c.3-.3.6-.6.8-.9l.7-.7h-4.4l-5.8.1c-.7.6-1.4 1.1-2 1.5z"/>
- <path fill="url(#aw)" fill-rule="nonzero" d="M140.9 177.9v.3h1c.4-.3.9-.7 1.3-1l-.1-.2c0-.1-.1-.2-.3-.2h-3.6c-.2.4-.5.8-.9 1.1h2.6z"/>
- <path fill="url(#ax)" fill-rule="nonzero" d="M140.9 177.9v.3h1c.4-.3.9-.7 1.3-1l-.1-.2c0-.1-.1-.2-.3-.2h-3.6c-.2.4-.5.8-.9 1.1h2.6z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M133.9 177.5c.9 0 1.7-.3 2.4-.8h-2.5c-.2.3-.5.5-.8.8h.9z"/>
- <path fill="url(#ay)" fill-rule="nonzero" d="M133.9 177.5c.9 0 1.7-.3 2.4-.8h-2.5c-.2.3-.5.5-.8.8h.9z"/>
- <path fill="url(#az)" fill-rule="nonzero" d="M133.9 177.5c.9 0 1.7-.3 2.4-.8h-2.5c-.2.3-.5.5-.8.8h.9z"/>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M133 177.5l-.4.4h5.7c.3-.3.6-.7.9-1.1h-3c-.7.5-1.5.8-2.4.8h-.8v-.1z"/>
- <path fill="url(#aA)" fill-rule="nonzero" d="M133 177.5l-.4.4h5.7c.3-.3.6-.7.9-1.1h-3c-.7.5-1.5.8-2.4.8h-.8v-.1z"/>
- <path fill="url(#aB)" fill-rule="nonzero" d="M133 177.5l-.4.4h5.7c.3-.3.6-.7.9-1.1h-3c-.7.5-1.5.8-2.4.8h-.8v-.1z"/>
- <path fill="url(#aC)" fill-rule="nonzero" d="M132.7 186.7h.9c.5-.6 1.1-1.1 1.6-1.6h-.9l-.7.7-.9.9z"/>
- <path fill="url(#aC)" fill-rule="nonzero" d="M132.7 186.7h.9c.5-.6 1.1-1.1 1.6-1.6h-.9l-.7.7-.9.9z"/>
- <path fill="url(#aD)" fill-rule="nonzero" d="M132.7 186.7h.9c.5-.6 1.1-1.1 1.6-1.6h-.9l-.7.7-.9.9z"/>
- <path fill="url(#aE)" fill-rule="nonzero" d="M143.1 178.1c.1 0 .2 0 .2-.1.1-.1.1-.1.1-.2l-.2-.7c-.4.3-.9.7-1.3 1h1.2z"/>
- <path fill="url(#aE)" fill-rule="nonzero" d="M143.1 178.1c.1 0 .2 0 .2-.1.1-.1.1-.1.1-.2l-.2-.7c-.4.3-.9.7-1.3 1h1.2z"/>
- <path fill="url(#aF)" fill-rule="nonzero" d="M143.1 178.1c.1 0 .2 0 .2-.1.1-.1.1-.1.1-.2l-.2-.7c-.4.3-.9.7-1.3 1h1.2z"/>
- <path fill="url(#aG)" fill-rule="nonzero" d="M127 176.8h-.3c-1 0-1.9.4-2.6 1.1h8.5l.4-.4c.2-.3.5-.5.8-.8h-3c-.1.1-.2.2-.3.4l-3.5-.3z"/>
- <path fill="url(#aH)" fill-rule="nonzero" d="M127 176.8h-.3c-1 0-1.9.4-2.6 1.1h8.5l.4-.4c.2-.3.5-.5.8-.8h-3c-.1.1-.2.2-.3.4l-3.5-.3z"/>
- <path fill="url(#aI)" fill-rule="nonzero" d="M120.2 185.3c-.6.5-1.1 1-1.5 1.5h3.4c.6-.5 1.3-1 2-1.5h-3.9z"/>
- <path fill="url(#aJ)" fill-rule="nonzero" d="M120.2 185.3c-.6.5-1.1 1-1.5 1.5h3.4c.6-.5 1.3-1 2-1.5h-3.9z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M115.4 185.3h4.8l3.9-.1 5.8-.1h-29.6l.6.5"/>
- <path fill="url(#aK)" fill-rule="nonzero" d="M115.4 185.3h4.8l3.9-.1 5.8-.1h-29.6l.6.5"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M100.1 184.9l-.1-.1c-.3-.5-.6-1-.7-1.6l-.1.9.9.8z"/>
- <path fill="url(#aL)" fill-rule="nonzero" d="M100.1 184.9l-.1-.1c-.3-.5-.6-1-.7-1.6l-.1.9.9.8z"/>
- <path fill="#FAFAFA" fill-rule="nonzero" d="M138.4 177.9h-33.8l-4.4.2-.1.8c.1-.2.3-.4.5-.5l.2-.2H141v-.3h-2.6z"/>
- <path fill="url(#aM)" fill-rule="nonzero" d="M138.4 177.9h-33.8l-4.4.2-.1.8c.1-.2.3-.4.5-.5l.2-.2H141v-.3h-2.6z"/>
- <path fill="url(#aN)" fill-rule="nonzero" d="M97.4 187.5c.5.3 1.5.6 3.1.7h.7c.3 0 .5-.1.6-.3l.3.2h41c.6 0 1.1-.2 1.4-.6.2-.2.4-.5.4-.7 0-.1.1-.3.1-.4v-1.1c0-1-.8-1.7-1.9-1.7h-1v-4h1c.6 0 1.1-.2 1.5-.7.4-.4.5-1 .3-1.5l-.1-.2-.2-.7c0-.1-.1-.3-.2-.4-.3-.6-.9-.9-1.7-.9h-40l-.5.4c-.3-.2-.7-.5-1.2-.5-1.2 0-2.9.2-3.8.8-.4.3-.8.8-1.1 1.5-.3.7-.6 1.5-.7 2.2-.2.8-.3 1.5-.3 2 0 2.1.6 4 1.6 5.2.2.3.4.5.7.7zm-.4-7.8c.2-.9.5-1.8.9-2.2l.3-.3c.4-.3 1.5-.5 2.8-.5.1.1.3.2.3.3.2.2.4.4.7.5l.4.1.9-.8h39.4c.1 0 .2.1.3.2l.1.2.2.7c0 .1 0 .2-.1.2-.1.1-.1.1-.2.1H100.6l-.2.2-.5.5c-.2.3-.3.5-.5.8-.4 1-.5 2.3-.2 3.5.1.6.4 1.1.7 1.6l.1.1.2.2H143c.2 0 .3.1.3.3v1.1c0 .1-.1.3-.3.3h-40.4l-1-.8h-.3c-.5.1-.7.4-.8.7-1.3-.1-2.1-.3-2.2-.4-.8-.6-1.6-2.4-1.6-4.6.1-.6.2-1.3.3-2zm42.8-.1v4.1h-38.6c-.7-1.3-.5-3.2.3-4.1h38.3z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M190.1 151.1c-8.6-5.4-23.3-5.4-23.5-5.4-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6.1 0 7.6-.1 15.1 1.8 5.8 1.5 10 3.7 12.6 6.7h.2c-9.2-10.9-26.7-9.7-26.9-9.6-.3 0-.6-.2-.6-.5s.2-.6.5-.6c.2 0 15.7-1.1 25.6 7.7-2.1-2.3-5.5-5.2-10.1-7.3-6.7-2.9-14.7-1.9-17-1.5l-1.2 5.3 25.1 4.3c0 .3.1.3.2.3zM210.5 142.3c-5 2.4-8.1 5.4-10 7.7 8.8-8.7 22.6-8.9 22.7-8.9.3 0 .6.2.6.6 0 .3-.2.6-.6.6-.2 0-15.1.2-23.3 10 .2-.1.4-.2.6-.4 2.3-2.2 5.4-4 9.5-5.5 6.9-2.5 14.1-3.1 14.2-3.1.3 0 .6.2.6.5s-.2.6-.5.6c-.2 0-12 1-19.8 5.9l22.3-4.7c-.7-2.4-1.4-5-1.7-6.2-2.1 0-9.4.4-14.6 2.9z"/>
- <path fill="url(#aO)" fill-rule="nonzero" d="M230.9 147v-.5c-.1-.3-.2-.6-.4-.8-.3-.4-.8-.5-1.3-.5h-.2c-.7-2.6-1.7-6.5-1.9-7.1-.1-.3-.4-.6-.7-.7-1.2-.5-10.5-.2-16.7 2.9-7.5 3.7-11.2 8.5-12.7 11-1.8-2.6-6-7.4-13.1-10.5-8.6-3.7-18.7-1.6-19.1-1.5-.4.1-.8.4-.8.8l-1.4 6.1h-.3c-.5 0-.9.2-1.3.5-.3.3-.5.8-.5 1.3l.3 4.3h.5l.4.1.5 4.9c1.6-.1 6-.5 6.5-.5.8 0 1.3.5 1.4 1.4.2 1.9-1.9 5-7.1 6.2-.3.1-.9.6-1.1.8-.1.1.2.6-.1.8l.2 2.7.1.8.1 1.2 1.2 15.4c.1.9.8 1.5 1.6 1.5l24.9 3.6c.9.9 2.9 2.3 6.2 2.3h.8c3.6-.2 5.6-1.6 6.5-2.5l22.1-3.1c.9 0 1.6-.7 1.7-1.5l1.1-11.7.1-1.1.4-4.5c-.3-.1-.7-.2-1-.3-.8-.3 1.5-.1.4-.3-3.5-.8-5.4-2.9-6.2-4.7l-10.6 1.6h-.2c-.3 0-.5-.1-.7-.3-.2-.2-.4-.5-.4-.9l.1-5.5c0-.5.4-1 .9-1.1l11.5-1.8c.3 0 .7 0 .9.3.2.2.4.5.4.9l.1 3c1.5.1 4.3.3 5.5.5l.5-4.9h.1v-.1l.3-3.3.2-2.1v-.1l.3-3zm-66.3-.2l1.2-5.3c2.4-.4 10.3-1.4 17 1.5 4.7 2 8 4.9 10.1 7.3-9.9-8.9-25.4-7.8-25.6-7.7-.3 0-.5.3-.5.6s.3.5.6.5c.2 0 17.7-1.3 26.9 9.6h-.2c-2.6-2.9-6.8-5.2-12.6-6.7-7.5-1.9-15-1.8-15.1-1.8-.3 0-.6.3-.6.
6s.3.5.6.6c.2 0 14.9-.1 23.5 5.4-.1 0-.2-.1-.3-.1l-25-4.5zm38.5 40.8s-1.4 3.6-6.7 3.1c-5.3-.5-6.4-2.8-6.4-2.8l-.3-33.2s3.3 2 7.5 1.7c4.2-.3 6.7-2.5 6.7-2.5l-.8 33.7zm1.3-37.2c7.9-4.9 19.6-5.9 19.8-5.9.3 0 .5-.3.5-.6s-.3-.5-.6-.5c-.1 0-7.2.6-14.2 3.1-4.1 1.5-7.2 3.3-9.5 5.5-.2.1-.4.2-.6.4 8.2-9.8 23.1-10 23.3-10 .3 0 .6-.3.6-.6s-.3-.6-.6-.6c-.2 0-14 .2-22.7 8.9 1.9-2.3 5.1-5.3 10-7.7 5.2-2.5 12.4-2.9 14.5-2.8.3 1.2 1 3.8 1.7 6.2l-22.2 4.6z"/>
- <path fill="url(#aP)" fill-rule="nonzero" d="M223.7 156.1c-.2-.2-.6-.3-.9-.3l-11.5 1.8c-.5.1-.9.5-.9 1.1l-.1 5.5c0 .3.1.6.4.9.2.2.5.3.7.3h.2l10.6-1.6c-.4-.9-.5-1.8-.4-2.4.1-.8.6-1.4 1.4-1.4.1 0 .5 0 .9.1l.1-3.1c-.2-.4-.3-.7-.5-.9z"/>
- <path fill="url(#aQ)" fill-rule="nonzero" d="M223.7 156.1c-.2-.2-.6-.3-.9-.3l-11.5 1.8c-.5.1-.9.5-.9 1.1l-.1 5.5c0 .3.1.6.4.9.2.2.5.3.7.3h.2l10.6-1.6c-.4-.9-.5-1.8-.4-2.4.1-.8.6-1.4 1.4-1.4.1 0 .5 0 .9.1l.1-3.1c-.2-.4-.3-.7-.5-.9z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M162.8 163.3c4.7-1 6.4-3.7 6.3-5 0-.4-.2-.4-.3-.4-.4 0-4.4.3-6.9.6h-.5l-.6-5.1c-.9 0-3.2.4-5.5 2.6-1.4 1.3-1.7 3.1-.9 4.6.9 2 3.7 3.8 8.4 2.7z"/>
- <path fill="url(#aR)" fill-rule="nonzero" d="M161.7 166.1c.1 0 .2 0 .2-.1.3-.2 0-.7.1-.8.2-.2.8-.7 1.1-.8 5.2-1.1 7.3-4.3 7.1-6.2-.1-.8-.6-1.4-1.4-1.4-.5 0-4.9.4-6.5.5l-.5-4.9-.4-.1h-.5c-.8 0-2.3.2-4 1.2-.7.4-1.5 1-2.3 1.7-.8.7-1.3 1.6-1.5 2.5-.2.8-.2 1.6 0 2.4.1.3-.8-.1-1 .1v.1c-.1.9.5 2.4 2 3.7 1.4 1.5 3.9 2.5 7.6 2.1zm-6.5-9.9c2.3-2.3 4.6-2.6 5.5-2.6l.6 5.1h.5c2.6-.2 6.5-.6 6.9-.6.1 0 .2 0 .3.4.1 1.2-1.6 3.9-6.3 5-4.7 1-7.5-.7-8.5-2.5-.7-1.7-.3-3.4 1-4.8z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M231.1 156.6l-.6 5.1h-.5c-2.6-.2-6.5-.6-6.9-.6-.1 0-.2 0-.3.4-.1 1.2 1.6 3.9 6.3 5 4.7 1 7.5-.7 8.5-2.5.8-1.5.5-3.3-.9-4.6-2.5-2.4-4.7-2.7-5.6-2.8z"/>
- <path fill="url(#aS)" fill-rule="nonzero" d="M236.7 157.9c-3.2-2.7-6.1-2.4-6.2-2.4h-.5l-.5 4.9c-1.2-.1-4-.3-5.5-.5-.5 0-.8-.1-.9-.1-.8 0-1.3.5-1.4 1.4-.1.6.1 1.5.4 2.4.8 1.9 2.7 4 6.2 4.7 1 .2-1.2 0-.4.3.4.1.7.2 1 .3.3.1.6.2 1 .2 2.8.5 5.1-.1 6.4-1.1.4-.3.8-.6 1-1 .4-.5.7-1.6.9-2.2.1-.2.2-.4.2-.5.8-1.6.7-3.3-.2-4.8-.2-.4-.5-.7-.9-1.1-.2-.1-.4-.3-.6-.5zm.8 6c-1 1.8-3.8 3.5-8.5 2.5s-6.4-3.7-6.3-5c0-.4.2-.4.3-.4.4 0 4.4.3 6.9.6h.5l.6-5.1c.9 0 3.2.4 5.5 2.6 1.5 1.5 1.8 3.2 1 4.8z"/>
- <path fill="url(#aT)" fill-rule="nonzero" d="M189.7 154.7l.3 33.2s1.1 2.2 6.4 2.8c5.3.6 6.7-3.1 6.7-3.1l.8-33.7s-2.5 2.2-6.7 2.5c-4.2.3-7.5-1.7-7.5-1.7z"/>
- <path fill="url(#aU)" fill-rule="nonzero" d="M189.7 154.7l.3 33.2s1.1 2.2 6.4 2.8c5.3.6 6.7-3.1 6.7-3.1l.8-33.7s-2.5 2.2-6.7 2.5c-4.2.3-7.5-1.7-7.5-1.7z"/>
- <path d="M-31-22h352v303H-31z"/>
- </g>
-</svg>
diff --git a/browser/extensions/onboarding/content/img/figure_performance.svg b/browser/extensions/onboarding/content/img/figure_performance.svg
deleted file mode 100644
index f7c5c219aada..000000000000
--- a/browser/extensions/onboarding/content/img/figure_performance.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="297" height="245" viewBox="0 0 297 245" xmlns="http://www.w3.org/2000/svg"><title>performance</title><defs><linearGradient x1="-920.838%" y1="-294.992%" x2="891.374%" y2="366.984%" id="a"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-162.81%" y1="-242.422%" x2="179.364%" y2="239.183%" id="b"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-347.431%" y1="-836.5%" x2="1777.43%" y2="3692.808%" id="c"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-494.697%" y1="-397.029%" x2="2194.58%" y2="1809.556%" id="d"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-358.927%" y1="-240.795%" x2="1727.185%" y2="1250.312%" id="e"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="1
00%"/></linearGradient><linearGradient x1="-626.22%" y1="-1767.938%" x2="1375.102%" y2="3610.616%" id="f"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-2092.13%" y1="-2092.3%" x2="2102.26%" y2="2102.09%" id="g"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-10687.27%" y1="-10695.62%" x2="6524.09%" y2="6515.75%" id="h"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-235.943%" y1="-613.083%" x2="463.706%" y2="1010.631%" id="i"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-10998.63%" y1="-10974.25%" x2="6212.73%" y2="6237.11%" id="j"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-73.995%" y1="-65.306%" x2="120.692%" y2="159.00
8%" id="k"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-21.918%" y1="-53.508%" x2="187.863%" y2="264.044%" id="l"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-489.211%" y1="-179.924%" x2="521.605%" y2="253.611%" id="m"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-7695.347%" y1="-543.989%" x2="5437.677%" y2="468.444%" id="n"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-871.152%" y1="-248.513%" x2="1179.248%" y2="414.667%" id="o"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-737.21%" y1="-1393.274%" x2="549.019%" y2="955.49%" id="p"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></li
nearGradient><linearGradient x1="-638.104%" y1="-1298.114%" x2="447.684%" y2="806.622%" id="q"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-1950.055%" y1="-1089.986%" x2="3277.839%" y2="1905.929%" id="r"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-575.859%" y1="-1406.193%" x2="985.226%" y2="2277.098%" id="s"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-1033.963%" y1="-1091.623%" x2="2289.262%" y2="2403.036%" id="t"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-2408.138%" y1="-454.703%" x2="4538.159%" y2="962.257%" id="u"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-998.9%" y1="-1143.058%" x2="1755.168%" y2="1997.85
%" id="v"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-4669.755%" y1="-4076.6%" x2="8549.086%" y2="7499.45%" id="w"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-195.59%" y1="-922.704%" x2="389.831%" y2="1341.95%" id="x"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-343.613%" y1="-263.57%" x2="487.353%" y2="406.119%" id="y"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-27.659%" y1="2.333%" x2="125.482%" y2="104.574%" id="z"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-651.262%" y1="-472.878%" x2="435.248%" y2="317.591%" id="A"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGr
adient><linearGradient x1="-548.021%" y1="-473.693%" x2="248.049%" y2="204.898%" id="B"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M-24-20h352v303H-24z"/><g fill-rule="nonzero"><path d="M13.6 181.6c-2.8 0-5.1-2.2-5.1-4.8V58.3c0-3 2.4-5.4 5.4-5.4h127.2c3 0 5.4 2.4 5.4 5.4v118.5c0 2.6-2.3 4.8-5 4.8H13.6z" fill="#FFF"/><path d="M141.1 54c2.3 0 4.2 1.9 4.2 4.2v118.5c0 2-1.8 3.7-3.9 3.7H13.6c-2.2 0-3.9-1.7-3.9-3.7V58.3c0-2.3 1.9-4.2 4.2-4.2h127.2V54zm0-2.2H13.9c-3.6 0-6.5 2.9-6.5 6.5v118.4c0 3.3 2.8 5.9 6.2 5.9h127.8c3.4 0 6.2-2.7 6.2-5.9V58.3c-.1-3.6-3-6.5-6.5-6.5z" fill="#D7D7DB"/></g><path d="M139.9 75.2v98.2c0 1-.1 1.2-.1 1.2s-.2.1-1.2.1H16.4c-1 0-1.2-.1-1.2-.1s-.1-.2-.1-1.2V75.2h124.8zM141 74H13.9v99.3c0 2 .4 2.5 2.5 2.5h122.2c2 0 2.5-.4 2.5-2.5V74h-.1z" fill-rule="nonzero" fill="#D7D7DB"/><g fill-rule="nonzero" fill="#D7D7DB"><circle cx="3.7" cy="3" r="2.9" transform="translat
e(17 61)"/><circle cx="3" cy="3" r="2.9" transform="translate(27 61)"/><path d="M109.4 67.2H45.5c-1.7 0-3.1-1.4-3.1-3.1v-.3c0-1.7 1.4-3.1 3.1-3.1h63.9c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.7-1.3 3.1-3.1 3.1z"/><g><circle cx="3" cy="3" r="2.9" transform="translate(122 61)"/><circle cx="3.2" cy="3" r="2.9" transform="translate(131 61)"/></g></g><g fill-rule="nonzero"><path d="M39.9 22.9h23.8S56.3 6.3 72.1 4.1c14.1-1.9 19.7 12.6 19.7 12.6s1.7-8.4 10.1-6.8c8.3 1.6 14.4 14.9 14.4 14.9H137" fill="#F9F9FA"/><path d="M137.2 20.9h-4.5c-.3 0-.6-.3-.6-.6s.3-.6.6-.6h4.5c.3 0 .6.3.6.6s-.2.6-.6.6zm-14.5 0h-1.1c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .3-.3.6-.6.6zm-5.5 0h-.6c-.2 0-.4-.1-.5-.3-.1-.2-.6-1.1-1.3-2.3-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.6.9 1 1.7 1.2 2.1h.3c.3 0 .6.2.6.6 0 .4-.4.5-.7.5zm-53.1-.7h-1.5c-.3 0-.6-.3-.6-.6s.3-.6.6-.6h.6c-.1-.3-.2-.6-.4-1-.1-.3.1-.6.4-.7.3-.1.6.1.7.4.3 1 .6 1.7.6 1.7.1.2.1.4 0 .5 0 .2-.2.3-.4.3zm-10.4 0H40.3c-.3 0-.6-.3-.6-.6s.3-.6.6-.6h13.4c.3 0 .6.3.6.6s-.3
.6-.6.6zm8.8-6.1c-.3 0-.5-.2-.6-.5 0-.4-.1-.8-.1-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.1 1.1.1.3-.1.6-.5.6zm29.1-1.2c-.2 0-.4-.1-.5-.3-.1-.3-.3-.6-.5-1-.1-.3 0-.6.2-.8.3-.1.6 0 .8.2.2.4.4.7.5 1 .1.3 0 .6-.3.7 0 .2-.1.2-.2.2zm18-1.4c-.1 0-.3-.1-.4-.2-2.4-2.3-4.8-3.7-7.2-4.1-1.6-.3-3.1-.2-4.3.2-.3.1-.6-.1-.7-.4-.1-.3.1-.6.4-.7 1.4-.5 3.1-.6 4.9-.2 2.6.5 5.2 2 7.7 4.4.2.2.2.6 0 .8-.1.2-.2.2-.4.2zM88.7 8.2c-.2 0-.3-.1-.4-.2-.7-.9-1.4-1.7-2.2-2.4-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0 .8.8 1.6 1.6 2.3 2.5.2.2.2.6-.1.8-.2.1-.3.1-.4.1zM65.8 4c-.2 0-.3-.1-.4-.2-.2-.2-.2-.6.1-.8C67.2 1.6 69.6.7 72.4.3c2.2-.3 4.3-.2 6.3.2.3.1.5.4.4.7-.1.3-.4.5-.7.4-1.9-.4-3.9-.5-5.9-.2-2.7.4-4.8 1.2-6.4 2.4-.1.1-.2.2-.3.2z" fill="#D7D7DB"/><path d="M137.9 25.1h-98c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h98c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1z" fill="#F9F9FA"/></g><path d="M261.4 80.6c.2-.3.6-1 .2-1.3-.3-.2-.6-.3-1-.3-.8 0-1.6.3-2.3.8-1.4 1-2.6 2.7-2.3 3.5 2.5-.5 4.6-1.5 5.4-2.7z"/><path d="M59.3 94.4c4.3.1 8.5-1 12
.1-3.3 3.3-2.1 7.2-3.1 11.1-3 3.9-.1 7.8 1 11.1 3 7.5 4.4 16.8 4.4 24.3 0 6.8-4 15.3-4 22.2 0 7.5 4.4 16.8 4.4 24.3 0 6.8-4 15.3-4 22.2 0 3.6 2.2 7.9 3.4 12.1 3.3.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1-3.9.1-7.8-.9-11.1-3-7.5-4.4-16.8-4.4-24.3 0-6.8 4-15.3 4-22.2 0-7.5-4.4-16.8-4.4-24.3 0-6.8 4-15.3 4-22.2 0-3.6-2.2-7.9-3.4-12.1-3.3-4.3-.1-8.5 1-12.1 3.3-3.3 2.1-7.2 3.1-11.1 3-3.9.1-7.8-.9-11.1-3-3.6-2.2-7.9-3.4-12.1-3.3-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1 3.9-.1 7.8.9 11.1 3 3.6 2.3 7.8 3.4 12.1 3.3zM269.2 82.1c-.2-.2-.5-.3-.8-.1-3.1 2-6.6 3.2-10.3 3.5-1.4.2-2.8.2-4.2 0 2.2-.7 4.2-1.7 5.1-2.9 1.1-1.5.4-2.4.1-2.7-1-.9-3.1-.7-4.7.4-1.2.9-3.2 3-2.8 4.7-1.8.4-3.6.7-5.4.8-.3 0-.6.2-.6.6 0 .4.2.6.6.6 2-.1 4-.4 6-.9 1 .8 2.9 1 6 .7 7-.8 10.7-3.6 10.8-3.8.3-.3.4-.6.2-.9zm-14.1-.9c.7-.5 1.5-.8 2.3-.8.4 0 .7.1 1 .3.3.3 0 1-.2 1.3-.8 1.2-3 2.1-5.4 2.8-.3-1 .9-2.6 2.3-3.6z" fill="#D7D7DB" fill-rule="nonzero"/><path d="M154.6 87.1c-.3 0-.6-.3-.7-.6 0-.4.2-.7.6-.7 1.4-.1 2.8-.4 4-.9.3-.1.7.1.9
.4.1.3-.1.7-.4.9-1.4.4-2.8.7-4.4.9zM202.6 86.9c-.3 0-.6-.2-.7-.6-.1-.4.2-.7.5-.8 3.4-.6 5.5-1.9 7.5-3.3.3-.2.7-.1.9.2.2.3.1.7-.2.9-2.1 1.3-4.4 2.8-8 3.4.1.2 0 .2 0 .2zM148.2 86.8h-.1c-3.5-.6-5.7-2.1-7.9-3.5l-.1-.1c-.3-.2-.4-.6-.2-.9.2-.3.6-.4.9-.2l.1.1c2.2 1.4 4.2 2.7 7.4 3.3.4.1.6.4.5.8 0 .3-.3.5-.6.5zM241.1 86.7h-.1c-3.2-.7-5.4-2.1-7.5-3.4l-.5-.3c-.3-.2-.4-.6-.2-.9.2-.3.6-.4.9-.2l.4.3c2.1 1.3 4 2.6 7 3.2.4.1.6.4.5.8.1.3-.2.5-.5.5zM194.1 86.7h-.2c-.4-.1-.7-.2-1.1-.3-.4-.1-.6-.5-.4-.8.1-.4.5-.6.8-.4.3.1.6.2 1 .3.4.1.6.4.5.8 0 .2-.3.4-.6.4zM189.2 84.7c-.1 0-.2 0-.3-.1-.7-.4-1.4-.8-2-1.3-.5-.3-1.1-.7-1.6-1-.3-.2-.4-.6-.2-.9.2-.3.6-.4.9-.2.6.3 1.1.7 1.6 1 .6.4 1.3.8 2 1.2.3.2.4.6.2.9-.1.3-.4.4-.6.4zM162.6 84.3c-.2 0-.4-.1-.6-.3-.2-.3-.1-.7.2-.9l.9-.6c.3-.2.7-.1.9.2.2.3.1.7-.2.9l-.9.6c-.1 0-.2.1-.3.1zM216.1 80.6c-.3 0-.5-.2-.6-.5-.1-.4.1-.7.4-.8 1.4-.4 2.8-.7 4.3-.8.4 0 .7.2.7.6 0 .4-.2.7-.6.7-1.5.1-2.8.4-4 .8h-.2zM123.2 80.5c-.3 0-.6-.2-.6-.5-.1-.4.1-.7.5-.8 1.4-.4 2.8-.6 4.4-.7.4 0 .7
.3.7.6 0 .4-.3.7-.6.7-1.5.1-2.8.3-4.1.7h-.3zM171.2 80.1c-.3 0-.6-.2-.7-.5-.1-.4.2-.7.5-.8 1.4-.3 2.9-.4 4.5-.4 1.5 0 2.9.1 4.2.4.4.1.6.4.5.8-.1.4-.4.6-.8.5-1.2-.2-2.5-.4-4-.4-1.6 0-2.9.1-4.2.4.1 0 0 0 0 0zM132.7 80h-.1c-.3-.1-.7-.1-1-.1-.4 0-.6-.4-.6-.7 0-.4.4-.6.7-.6.4 0 .7.1 1.1.2.4.1.6.4.5.8 0 .2-.3.4-.6.4zM225.6 79.9h-.1c-.3-.1-.7-.1-1-.1-.4 0-.6-.4-.6-.7 0-.4.4-.6.7-.6.4 0 .7.1 1.1.1.4.1.6.4.6.8-.1.3-.4.5-.7.5z" fill="#D7D7DB" fill-rule="nonzero"/><g fill-rule="nonzero" fill="#D7D7DB"><path d="M12 200.6c4.3.1 8.5-1 12.1-3.3 6.8-4 15.3-4 22.2 0 7.5 4.4 16.8 4.4 24.3 0 3.3-2.1 7.2-3.1 11.1-3 .6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1-4.3-.1-8.5 1-12.1 3.3-6.8 4-15.3 4-22.2 0-7.5-4.4-16.8-4.4-24.3 0-3.3 2.1-7.2 3.1-11.1 3-3.6.1-7.2-.8-10.3-2.6-.3.7-.7 1.3-1.2 1.9 3.5 2 7.5 3 11.5 2.9zM61.3 208.7c-.3 0-.6-.2-.7-.6-.1-.4.2-.7.5-.8 3.4-.6 5.5-1.9 7.5-3.3.3-.2.7-.1.9.2.2.3.1.7-.2.9-2.1 1.3-4.4 2.8-8 3.4v.2zM52.8 208.5h-.2c-.4-.1-.7-.2-1.1-.3-.4-.1-.6-.5-.4-.8.1-.4.5-.6.8-.4.3.1.6.2 1 .3.
4.1.6.4.5.8-.1.2-.3.4-.6.4zM47.8 206.5c-.1 0-.2 0-.3-.1-.7-.4-1.4-.8-2-1.3-.5-.3-1.1-.7-1.6-1-.3-.2-.4-.6-.2-.9.2-.3.6-.4.9-.2.6.3 1.1.7 1.6 1 .6.4 1.3.8 2 1.2.3.2.4.6.2.9-.1.3-.3.4-.6.4zM74.7 202.4c-.3 0-.5-.2-.6-.5-.1-.4.1-.7.4-.8 1.4-.4 2.8-.7 4.3-.8.4 0 .7.2.7.6 0 .4-.2.7-.6.7-1.5.1-2.8.4-4 .8h-.2z"/><path d="M29.8 202c-.3 0-.6-.2-.7-.5-.1-.4.2-.7.5-.8 1.4-.3 2.9-.4 4.5-.4 1.5 0 2.9.1 4.2.4.4.1.6.4.5.8-.1.4-.4.6-.8.5-1.2-.2-2.5-.4-4-.4-1.6 0-2.9.1-4.2.4.1-.1 0 0 0 0zM84.2 201.8h-.1c-.3-.1-.7-.1-1-.1-.4 0-.6-.4-.6-.7 0-.4.4-.6.7-.6.4 0 .7.1 1.1.1.4.1.6.4.6.8-.1.2-.4.5-.7.5z"/></g><path d="M112.1 196.9c-.2-.2-.5-.3-.8-.1-3.1 2-6.6 3.2-10.3 3.5-1.4.2-2.8.2-4.2 0 2.2-.7 4.2-1.7 5.1-2.9 1.1-1.5.4-2.4.1-2.7-1-.9-3.1-.7-4.7.4-1.2.9-3.2 3-2.8 4.7-1.8.4-3.6.7-5.4.8-.3 0-.6.2-.6.6 0 .3.2.6.6.6 2-.1 4-.4 6-.9 1 .8 2.9 1 6 .7 7-.8 10.7-3.6 10.8-3.8.3-.2.4-.6.2-.9zm-14.2-.9c.7-.5 1.5-.8 2.3-.8.4 0 .7.1 1 .3.3.3 0 1-.2 1.3-.8 1.2-3 2.1-5.4 2.8-.3-1 1-2.6 2.3-3.6z" fill="#D7D7DB" fill-rule="no
nzero"/><g fill-rule="nonzero" fill="#D7D7DB"><path d="M77 97.8c-14.9 0-27 12.1-27 27 0 4 .9 8 2.6 11.6.7 1.7 2.6 2.6 4.4 1.9 1.7-.7 2.6-2.6 1.9-4.4-.1-.2-.1-.3-.2-.4-1.3-2.7-2-5.7-2-8.7 0-11.2 9-20.3 20.2-20.3s20.3 9 20.3 20.2c0 3-.7 6-2 8.8-.8 1.7-.1 3.7 1.6 4.5 1.7.8 3.7.1 4.5-1.6 6.4-13.5.7-29.6-12.7-36-3.5-1.8-7.5-2.7-11.6-2.6z"/><path d="M89.8 118.3c-.8-.5-1.8-.3-2.3.5l-8.3 13.1c-3.6-1.2-7.4.8-8.5 4.3-1.2 3.6.8 7.4 4.3 8.5 2 .6 4.2.3 5.9-.8.7-.5 1.3-1.1 1.8-1.8 1.8-2.6 1.5-6.1-.7-8.4l8.3-13.1c.5-.8.3-1.8-.5-2.3z"/></g><g fill-rule="nonzero"><path d="M251.2 231.9l-13.4-1.7c-.5-.1-.9-.5-.9-1l-1.1-27.6-2.6 1.1c-.1.1-.3.1-.4.1-.2 0-.5-.1-.6-.2-.3-.2-.4-.6-.3-1l.8-3.6-3.6.6h-.2c-.3 0-.7-.2-.9-.5-.2-.3-.2-.8.1-1.1l4.2-5.6c.1-.1.2-.2.4-.3l7-3.3c.1-.1.3-.1.4-.1.2 0 .3 0 .4.1l7.8 3.9c.4.2.6.6.5 1 0 .4-.3.8-.7.9l-4.2 1.3 2 4c.2.3.1.7-.1 1-.2.3-.5.4-.8.4h-.2l-3.1-.5 10.3 30.8c.1.3 0 .7-.2 1-.2.2-.5.4-.8.4.3-.1.2-.1.2-.1z" fill="#F5F5F7"/><path d="M240.2 188.8l7.8 3.9-5.3 1.7 2.5 5-4.7-.8
10.9 32.4-13.4-1.7-1.1-29-3.9 1.7 1.1-5-5 .8 4.2-5.6 6.9-3.4zm0-2c-.3 0-.6.1-.9.2l-7 3.3c-.3.1-.5.3-.7.6l-4.2 5.6c-.5.7-.5 1.5-.1 2.2.4.6 1 1 1.7 1h.3l2.1-.3-.5 2.1c-.2.7.1 1.5.7 2 .4.3.8.5 1.3.5.3 0 .5-.1.8-.2l1.2-.5 1 26.1c0 1 .8 1.8 1.8 1.9l13.4 1.7h.2c.6 0 1.2-.3 1.5-.7.4-.5.6-1.3.3-1.9l-9.8-29.2 1.4.3h.3c.6 0 1.2-.3 1.6-.8.5-.6.5-1.4.2-2.1l-1.5-2.9 3.1-1c.8-.2 1.3-.9 1.4-1.7.1-.8-.4-1.6-1.1-1.9l-7.8-3.9c-.1-.3-.4-.4-.7-.4z" fill="#D7D7DB"/></g><g fill-rule="nonzero"><path d="M199.7 227.4c-.2 0-.5-.1-.7-.3-.2-.2-.3-.4-.3-.7l-1.1-24.8-2.6 1.1c-.1.1-.3.1-.4.1-.2 0-.5-.1-.6-.2-.3-.2-.4-.6-.3-1l.8-3.6-3.6.6h-.2c-.3 0-.7-.2-.9-.5-.2-.3-.2-.8.1-1.1l4.2-5.6c.1-.1.2-.2.4-.3l7-3.3c.1-.1.3-.1.4-.1.2 0 .3 0 .4.1l7.8 3.9c.4.2.6.6.5 1 0 .4-.3.8-.7.9l-4.2 1.3 2 4c.2.3.1.7-.1 1-.2.3-.5.4-.8.4h-.2l-3.2-.6 7.4 25.8c.1.3 0 .6-.1.9-.2.2-.5.4-.8.4.2.1-10.2.6-10.2.6z" fill="#F5F5F7"/><path d="M202 188.8l7.8 3.9-5.3 1.7 2.5 5-4.7-.8 7.8 27.3-10.3.6-1.1-26.2-3.9 1.7 1.1-5-5 .8 4.2-5.6 6.9-3.4zm0-2c-.
3 0-.6.1-.9.2l-7 3.3c-.3.1-.5.3-.7.6l-4.2 5.6c-.5.7-.5 1.5-.1 2.2.4.6 1 1 1.7 1h.3l2.1-.3-.5 2.1c-.2.7.1 1.5.7 2 .4.3.8.5 1.3.5.3 0 .5-.1.8-.2l1.2-.5 1 23.3c0 .5.3 1 .7 1.4.4.3.8.5 1.3.5h.1l10.3-.6c.6 0 1.2-.3 1.5-.8.3-.5.5-1.1.3-1.7l-6.9-24.3 1.6.3h.3c.6 0 1.2-.3 1.6-.8.5-.6.5-1.4.2-2.1l-1.5-2.9 3.1-1c.8-.2 1.3-.9 1.4-1.7.1-.8-.4-1.6-1.1-1.9l-7.8-3.9c-.2-.2-.5-.3-.8-.3z" fill="#D7D7DB"/></g><path d="M201.4 210.6l1.4 17.5" stroke="#D7D7DB" stroke-linecap="round" stroke-linejoin="round"/><path d="M203.6 221.7l2 11.7" stroke="#EAEAEE" stroke-linecap="round" stroke-linejoin="round"/><path d="M240.2 207.5l5 19" stroke="#D7D7DB" stroke-linecap="round" stroke-linejoin="round"/><path d="M236.5 220.6l1.2 10.9" stroke="#EAEAEE" stroke-linecap="round" stroke-linejoin="round"/><g transform="translate(153 210)" fill-rule="nonzero"><ellipse fill="#EDEDF0" cx="72.1" cy="27" rx="71.5" ry="7.9"/><ellipse fill="#F9F9FA" cx="72.2" cy="25.5" rx="56.8" ry="6.3"/><path d="M20.7 24.2l-.2-.2S12.4 7.7 28.1
4.9c14-2.5 20.1 11.8 20.1 11.8s1.4-8.4 9.8-7.1c8.3 1.3 14.9 14.3 14.9 14.3h.2" fill="#F9F9FA"/><path d="M79.4 19.7h-1.1c-.3 0-.6-.2-.6-.5s.2-.6.5-.6h1.1c.3 0 .6.2.6.5 0 .4-.2.6-.5.6zm-5.6.2h-.6c-.2 0-.4-.1-.5-.3-.1-.2-.6-1.1-1.4-2.3-.2-.3-.1-.6.1-.8.3-.2.6-.1.8.1.6.9 1.1 1.7 1.3 2.1h.3c.3 0 .6.2.6.5s-.3.7-.6.7zm-53 1.4l-1.5.1c-.3 0-.6-.2-.6-.5s.2-.6.5-.6h.6c-.1-.3-.3-.6-.4-1-.1-.3 0-.6.3-.7.3-.1.6 0 .7.3.4 1 .7 1.7.7 1.7.1.2.1.4 0 .5 0 .1-.2.2-.3.2zm-1.9-6.1c-.3 0-.5-.2-.6-.5-.1-.4-.1-.8-.1-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.1 1.1.1.3-.1.6-.5.6zM48 13c-.2 0-.4-.1-.5-.3-.1-.3-.3-.6-.5-1-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.2.4.4.7.6 1 .1.3 0 .6-.2.8-.2 0-.3.1-.4.1zm17.9-2.1c-.1 0-.3 0-.4-.1-2.5-2.2-5-3.5-7.3-3.9-1.6-.2-3.1-.1-4.3.3-.3.1-.6 0-.7-.3-.1-.3 0-.6.3-.7 1.4-.5 3.1-.7 4.9-.4 2.6.4 5.2 1.8 7.9 4.1.2.2.3.6 0 .8-.1.1-.2.2-.4.2zM44.8 8.4c-.2 0-.3-.1-.4-.2-.7-.8-1.5-1.6-2.3-2.3-.2-.2-.3-.6-.1-.8.2-.2.6-.3.8-.1.9.7 1.7 1.5 2.4 2.4.2.2.2.6-.1.8 0 .1-.2.2-.3.2zM21.8 5c-.2 0-.3-.1-.4-.2
-.2-.2-.2-.6.1-.8 1.7-1.4 4-2.4 6.8-2.9 2.2-.4 4.3-.4 6.3 0 .3.1.5.3.4.6-.1.3-.3.5-.6.4-1.9-.3-3.9-.3-5.9 0-2.7.5-4.8 1.4-6.3 2.7-.1.2-.3.2-.4.2z" fill="#D7D7DB"/><g><path d="M119.8 27l.2-.2s8.2-16.3-7.5-19.2C98.5 5 92.3 19.2 92.3 19.2S91 10.8 82.6 12c-8.3 1.2-15 14.2-15 14.2h-.2" fill="#F9F9FA"/><path d="M60.6 21.4c0-.3.3-.5.6-.5l1.1.1c.3 0 .5.3.5.6s-.3.5-.6.5l-1.1-.1c-.3 0-.5-.3-.5-.6zm5.5.3c0-.3.3-.5.6-.5h.3c.2-.4.7-1.1 1.3-2 .2-.3.5-.3.8-.1.3.2.3.5.1.8-.8 1.2-1.3 2-1.4 2.3-.1.2-.3.3-.5.3h-.6c-.3-.3-.6-.5-.6-.8zm53.2 2.1c-.1-.2-.1-.4 0-.5 0 0 .3-.6.7-1.7.1-.3.4-.4.7-.3.3.1.4.4.3.7-.1.4-.3.7-.4 1h.6c.3 0 .5.3.5.6s-.3.5-.6.5l-1.5-.1c-.1 0-.3-.1-.3-.2zm2.2-5.8c-.3-.1-.5-.3-.5-.6.1-.4.1-.7.1-1.1 0-.3.3-.5.6-.5s.5.3.5.6c0 .4-.1.8-.2 1.1.1.3-.1.5-.5.5.1 0 .1 0 0 0zm-29.2-2.6c-.3-.1-.4-.5-.2-.8.2-.3.3-.6.6-1 .2-.3.5-.3.8-.2.3.2.3.5.2.8-.2.4-.4.7-.5.9-.1.2-.3.3-.5.3-.2.1-.3.1-.4 0zm-18.1-2.3c-.2-.2-.2-.6.1-.8 2.7-2.3 5.3-3.7 7.9-4.1 1.8-.3 3.5-.1 4.9.4.3.1.4.4.3.7-.1.3-.4.4-.7.3-1.2-.5-2
.7-.6-4.3-.4-2.4.3-4.8 1.6-7.4 3.8-.1.1-.3.1-.4.1-.1.1-.3.1-.4 0zm21.2-2.3c-.2-.2-.3-.6 0-.8.8-.9 1.6-1.7 2.5-2.4.2-.2.6-.2.8.1.2.2.2.6-.1.8-.8.7-1.6 1.4-2.3 2.3-.1.1-.3.2-.4.2-.3-.1-.4-.1-.5-.2zm23-3.2c-1.5-1.3-3.6-2.2-6.3-2.7-2-.4-4-.4-5.9-.1-.3 0-.6-.2-.6-.5-.1-.3.2-.6.5-.6 2-.3 4.1-.3 6.3.1 2.9.5 5.1 1.5 6.8 3 .2.2.3.6.1.8-.1.1-.3.2-.4.2-.3-.1-.4-.1-.5-.2z" fill="#D7D7DB"/></g></g><g transform="translate(159 16)" fill-rule="nonzero"><path d="M125.2 89.7c-.8-4.6-5-4.7-14.4-4.7-7.5 0-17.8-.1-23.3-2.4-9.6-4-17.5-13.4-17.6-13.6-.6-.7-1.4-1.2-2.3-1.5l-.6 1.2c2.7 2.8 5 5.7 7 8.6 3.3 2.9 7.6 6 12.2 7.9 6.1 2.5 16.8 2.6 24.5 2.6 8.4.1 10.8.1 11.1 1.9.3 1.7-2 3.5-6.5 6.6-2.2 1.6-5.9 4.2-6.1 5.1 0 3.4-5.1 9.2-12.9 10-2.6.3-4.8.3-6.5.3-3.2.1-5.2.1-7.6 1.4-.3.2-.8.3-1.3.4-.4 1.1-.9 2.4-1.5 3.8 1.9 0 3.4-.3 4.4-.9 1.6-.9 2.8-.9 6-1 1.8 0 4-.1 6.8-.3 8.4-.8 14.8-6.8 15.8-12 1-.9 3.3-2.6 4.8-3.7 5.2-3.4 8.6-5.8 8-9.7z" fill="#F9F9FA"/><path d="M34.7 63.9h0zM37.6 63.9h-.4.4zM42.2 67.5c.8-1.1 1.
7-2.3 2.6-3.4-.9 1.2-1.8 2.3-2.6 3.4zM40.4 63.6H40c.1.1.2.1.4 0zM43.2 63.3c-.1 0-.3 0-.4.1.1-.1.3-.1.4-.1z" fill="#FFF"/><path d="M62.4 149.2c-.8-1-1.6-2-2.4-3.1-3.6 1-7.5 1.5-11.2 1.5-.8 0-1.6 0-2.4-.1.2.2.3.5.4.8v.1c0 .1.1.2.1.3v.2c.1.3.1.6 0 .9v1.2h1.5c3.2 0 6.6-.4 9.8-1.1.6.7 1.1 1.4 1.7 2.2.5-1.1 1.3-2.2 2.5-2.9z" fill="#F9F9FA"/><path d="M59.6 143.9c-.1 0-.3.1-.4.1.1 0 .3-.1.4-.1z" fill="#FFF"/><path d="M27.9 147c-.7-2.4-1.3-5.4-1.9-8.9-1.6-2.2-2.9-4.8-3.7-7.8-.9 0-1.9-.3-2.7-.8-1.9-1.1-2.9-3.2-2.7-5.4l-3.7-9.6c-.3-.8-.3-1.7 0-2.5-.8-3-1.3-7.3-.4-12.6 1.9-10.4 8.8-19.8 20.6-28.1.1-.4.3-.8.7-1.1l3.3-3c.4-.4 1-.6 1.5-.6.3 0 .6.1.9.2.2-.3.5-.7.7-1-2 .2-4 .3-5.9.3-14.8 0-23-6.5-23.3-18.3 0-2.7.3-5.5 1-8.4-2.9-2.4-4.8-5.3-5.7-8.5-.5-.9-1-1.9-1.3-2.9-2.4-7.5 1.8-15.5 9.3-17.9 1.4-.4 2.8-.7 4.3-.7 1.7 0 3.4.3 5 .9 2-.4 4-.6 6.1-.6h1.2c.6 0 1.2.1 1.8.1 3.3-2.2 6.7-3.9 10.1-4.9 3.7-1.1 7.5-1.7 11.3-1.7 7.4 0 14.8 2.3 20.9 6.4 13 2.2 22.3 11.2 22.3 21.6 0 10.2-8.8 18.9-21.5 21.4-2.1 1.6
-4.5 3-7 4.4-1.6 2.9-3.1 5.8-4.4 8.6.7.5 1.4 1.3 1.7 2.4.3.9.4 1.8.4 2.4.1 0 .1.1.2.1 0 .1 2.6 3.2 6.7 6.6-2-2.9-4.3-5.8-7-8.6l.6-1.2c1.2-2.6 2.5-5.2 4-7.9 2.1-1.2 4.1-2.4 5.9-3.7 13.9-3 23.4-12.9 23.4-24.5 0-11.8-10.2-22.1-24.4-24.7C69.6 2.3 61.8 0 54 0c-4.1 0-8.3.6-12.3 1.9-3.4 1.1-6.7 2.6-10 4.7h-2.2c-1.9 0-3.9.2-5.8.5-1.7-.5-3.5-.8-5.3-.8-1.8 0-3.5.3-5.3.8-4.5 1.4-8.2 4.5-10.3 8.7C.6 20 .2 24.7 1.6 29.2c.3 1.1.8 2.1 1.3 3.2.9 3.1 2.6 5.9 5.1 8.4-.5 2.5-.7 4.9-.6 7.2.1 5.4 1.7 9.9 4.7 13.5.4.4.7.8 1.1 1.2.8.8 1.6 1.5 2.6 2.1 3.6 2.5 8.3 4.1 13.9 4.6-11.9 8.6-19 18.5-21 29.5-1 5.4-.5 9.9.2 13.2-.2 1.2-.1 2.5.4 3.7l3.4 9c0 3.1 1.6 6 4.3 7.7.6.4 1.2.6 1.8.9.8 2.3 1.9 4.4 3.1 6.2.7 4 1.4 7.4 2.2 9.9 1.3-1.2 2.4-2.1 3.8-2.5z" fill="#F9F9FA"/><circle fill="#FFF" transform="rotate(-26.565 9.428 30.382)" cx="8.978" cy="29.932" r="1"/><path d="M7.2 22.9c-.1 1.5 0 3.1.5 4.7-.5-1.6-.7-3.2-.5-4.7zM22.6 128h.4-.6.2zM25.1 131.3c.2.6.4 1.2.7 1.8-.3-.6-.5-1.2-.7-1.8-.1 0 0 0 0 0zM22.7 119.8v-.7l
-1.4-1 1.4 1.7zM21.5 127.8c-.2-.1-.5-.2-.7-.3.2.2.5.3.7.3zM22.3 128c-.2 0-.5-.1-.7-.1.2 0 .5.1.7.1zM15.3 113v-.1.1zM15.3 113.3v-.1.1zM19.2 124.9v-.5c0 .2-.1.3 0 .5zM19.2 124.4v-.3.3zM50.5 145.3h-.1.1zM53.9 145h-.3.3zM28.5 138.9v-.1c-.1 0-.1 0 0 .1zM57 144.5c-.2 0-.3.1-.5.1.1 0 .3-.1.5-.1zM58.3 144.2c-.2 0-.3.1-.5.1.2 0 .4 0 .5-.1zM55.5 144.8c-.1 0-.3.1-.4.1.1-.1.3-.1.4-.1zM38.9 145.2c0 .1 0 .1 0 0 0 .1 0 .1 0 0zM48.8 145.4h.1-.2c.1-.1.1 0 .1 0zM41.5 144.6h-.2.2zM44 145h-.2.2zM95.7 31.4c0 1.8-.3 3.5-.9 5.1.6-1.6.9-3.3.9-5.1zM14.8 53.7c0-.1-.1-.2-.1-.3 0 .1 0 .2.1.3zM15.5 55.4c0-.1-.1-.2-.1-.3 0 .1.1.2.1.3zM16.3 56.7c-.1-.1-.1-.2-.1-.2 0 .1.1.2.1.2zM17.4 58.1c-.1-.1-.1-.2-.2-.2.1.1.2.1.2.2zM14.3 52c0-.1 0-.1-.1-.2 0 .1 0 .1.1.2zM14.4 41.2c0-.1.1-.3.1-.4 0 .1-.1.3-.1.4zM13.9 50.1v-.4.4zM13.8 45.9v-.5.5zM30.5 63.7h-.3.3zM18.5 59.2l-.1-.1s.1 0 .1.1zM28.6 63.5c-.1 0-.2 0-.4-.1.1 0 .3.1.4.1zM14.1 38l-.3-.3.3.3zM24.7 62.6c-.1 0-.2 0-.2-.1.1 0 .2 0 .2.1zM26.5 63.1c-.1 0-.2-.1-.3-.1.1 0 .2 0
.3.1zM19.9 60.3c-.1-.1-.2-.1-.3-.2.2.1.3.1.3.2zM23 61.9c-.1 0-.2-.1-.3-.1.1 0 .2.1.3.1zM8.3 29s0-.1-.1-.1c0 0 0 .1.1.1zM27.7 12.4c.4 0 .7-.1 1.1-.1-.3 0-.7 0-1.1.1zM18.1 11.9h.8-.8zM25.5 12.6h.2-.2zM30.3 12.2h-.7 1.8-1.1zM93.7 23.9c.2.4.5.9.7 1.4-.3-.5-.5-.9-.7-1.4zM89.5 18.7l.8.8c-.2-.3-.5-.6-.8-.8zM91.5 20.8c.5.5.9 1.1 1.3 1.7-.4-.6-.8-1.2-1.3-1.7zM10.6 34.1c-.1-.2-.2-.4-.3-.5.1.2.2.4.3.5zM9.3 31.6c-.1-.2-.2-.5-.2-.7.1.2.1.4.2.7zM12.9 37l-.3-.3.3.3zM17 12.1c.2 0 .5-.1.7-.1-.2 0-.5.1-.7.1zM11.9 35.9s0-.1 0 0c0-.1 0 0 0 0zM9.9 32.9l-.3-.6.3.6zM32.8 63.9h-.4.4zM11.4 14.7c.6-.5 1.2-1 1.9-1.3-.7.4-1.3.8-1.9 1.3zM15.6 12.4c.4-.1.7-.2 1.1-.3-.4.1-.8.2-1.1.3zM81.2 139.8h-1.1 1.1zM72.5 139.6c-.2 0-.4 0-.6-.1.2 0 .4 0 .6.1zM82.7 139.7c-.3 0-.6 0-1 .1.4-.1.7-.1 1-.1zM84.3 139.6c-.3 0-.6.1-1 .1.3-.1.6-.1 1-.1zM76.3 139.8h-.5.5zM74.4 139.7h-.6.6zM78.2 139.9h1.5-1.5zM92 138.5c-.3.1-.6.1-.9.2.3-.1.6-.1.9-.2zM90.6 138.8c-.3.1-.6.1-.9.1.3 0 .6-.1.9-.1zM85.9 139.4c-.3 0-.7.1-1 .1.3 0 .6 0 1-.1zM93.
4 138.2c-.3.1-.6.1-.9.2.3-.1.6-.1.9-.2zM89.2 139c-.4.1-.8.1-1.1.2.3-.1.7-.2 1.1-.2zM87.7 139.2c-.5.1-1 .1-1.4.2.5-.1 1-.1 1.4-.2zM69.2 121.2c-.3-.1-.5-.1-.8-.2l-1.3.8c.3.2.6.3.8.5l.6.3.7-1.4zM23.3 107.4v-.1.1zM23.2 105.3v-.1.1zM23.2 106.4v-.1.1zM71.5 141.8c.9 1.7 1.7 3.3 2.2 4.7-.5-1.4-1.3-3-2.2-4.7zM65.9 150c-1.8-2.3-3.6-4.6-5.1-6.4 1.5 1.8 3.2 4.1 5.1 6.4zM95 137.9l-1.2.3c.4-.2.8-.2 1.2-.3zM65 117.8c-.8.4-1.5.5-2.4.7.8.6 1 .9 1.9 1.5l1.3-.8c-.2-.2-.3-.4-.4-.6-.2-.2-.3-.4-.4-.8zM19.2 125c.1 1 .7 1.9 1.6 2.5-.9-.5-1.5-1.5-1.6-2.5zM38.9 144.1c0-.1 0-.1 0 0 0-.1 0-.1 0 0zM22.4 121.2l-2-2.5 1 2.7c.3-.2.6-.2 1-.2zM25.9 133.3c.7 1.4 1.4 2.7 2.3 3.9 0 .2.1.4.1.6 0-.2-.1-.4-.1-.6-.9-1.2-1.7-2.5-2.3-3.9zM96.3 137.5l-1.2.3c.5-.1.9-.2 1.2-.3zM105.8 134c-.2.1-.3.2-.5.3.2-.1.4-.2.5-.3zM106.2 133.7c-.1.1-.2.2-.3.2.1 0 .2-.1.3-.2zM105.2 134.4c-.1.1-.3.2-.4.2.1 0 .2-.1.4-.2zM106.6 133.5l-.2.2c0-.1.1-.2.2-.2zM104.5 134.8c-.1.1-.3.1-.4.2.1-.1.2-.2.4-.2zM106.8 133.2c0 .1-.1.1-.1.2 0-.1.1-.2.1-.2zM106
.9 132.9c0 .1 0 .1-.1.2.1-.1.1-.1.1-.2zM103.8 135.1c-.2.1-.3.1-.5.2.1 0 .3-.1.5-.2zM106.9 132.6v0zM95.8 130.5h.2-.2zM98.7 136.9c-.2.1-.5.1-.7.2.2-.1.5-.1.7-.2zM97.5 137.2c-.3.1-.5.1-.8.2.3 0 .6-.1.8-.2zM99.8 136.6c-.2.1-.5.1-.7.2.3-.1.5-.2.7-.2zM101 136.2c-.3.1-.5.2-.8.3.2-.1.5-.2.8-.3zM102.1 135.8l-.9.3.9-.3zM103 135.4c-.2.1-.4.2-.6.2.2 0 .4-.1.6-.2zM59.3 111.8h-.1.3-.2zM58.4 111.9h.2-.2zM57.6 112.2c-.1.1-.2.2-.3.2.1 0 .2-.1.3-.2zM74.2 116.6v0zM61 112.2c.1 0 .1.1.2.1-.1 0-.2 0-.2-.1zM65.4 114l.1-.1-.1.1zM61.6 112.8l.2.2c0-.1-.1-.2-.2-.2zM62.7 115.2c.7-.2 1.5-.4 2.3-.5-.8.1-1.5.3-2.3.5 0-.5-.1-1.1-.4-1.6.3.5.4 1 .4 1.6zM60.1 111.9h0zM64.3 111.8c.1-.1.1-.2.2-.3l-1.2-.3c.3.3.5.6.7.9l.3-.3z" fill="#FFF"/><path d="M79.1 113.9c-.5 0-1 0-1.5-.1-.3.9-.8 1.9-1.2 2.9 0 .4-.1.9-.3 1.3l-1.9 4.4c0 .1 0 .2-.1.3 0 .1 0 .1-.1.2.4.2.8.3 1.1.5 10.3 4.3 18.9 4.8 24.5 5.2 4.9.3 8.1.5 9.2 3.2.3.9.2 1.8-.3 2.7-2.3 3.4-17.1 7.7-30.4 7.7-1.4 0-2.8 0-4.1-.1.6 1.1 1 2.1 1.4 3 .1 0 .1 0 .2-.1.6-.1 3.7-.3 5.5
.4 7.3-.3 13.6-1.7 16.9-2.6 10.5-2.8 12.4-5.5 13-6.5 1.2-1.8 1.4-3.9.7-5.8-1.9-4.7-6.8-5-12.1-5.3-5.1-.3-12.6-.8-21.5-4.1l.7-1.7c.2-.6.4-1.1.5-1.7 0-.1 0-.1.1-.2.6-1.3 1.1-2.6 1.5-3.8-.5.2-1.1.2-1.8.2z" fill="#F9F9FA"/><path d="M56.8 110.8c.1.3.1.5.2.8 0-.3-.1-.5-.2-.8zM66.7 112c-.3.6-.6 1-.7 1.2.1-.2.4-.6.7-1.2z" fill="#FFF"/><path d="M58.4 107.7c2.3.6 4.7 1.2 7 1.8 1.7-4.3 3.2-13.6-7-26-1.7 7.8-1.7 15.9 0 24.2z" fill="url(#a)"/><path d="M81.2 111.4c2.9-1.6 5.3-1.6 8.6-1.7 1.8 0 3.8-.1 6.3-.3 6.8-.7 10.9-5.8 10.9-7.8 0-.4.1-.7.3-1.1-1.7.2-3.2.2-4.6.2-6.7 0-10.6-1.5-10.8-1.6-.3-.1-.4-.4-.3-.7.1-.3.4-.4.7-.3.1 0 6 2.4 15.9 1.2 1.2-1.2 3.1-2.7 5.8-4.6 1.8-1.3 4.4-3.1 5.3-4.2-1.5-.3-5.2-.3-8.6-.3-8-.1-18.9-.1-25.4-2.8C78.5 84.6 72.6 79.5 69 76c11 13.8 11.5 25.8 9.7 33.9 0 0-.2.7-.5 1.8 1.5.1 2.5 0 3-.3z" fill="url(#b)"/><path d="M28.3 16.1c1.8-1.9 3-3.1 3.9-3.7-.2 0-.5 0-.7-.1H29c-.4 0-.7 0-1.1.1-.7.1-1.4.1-2.1.2h-.2l-1.5.3c1.5.7 3 1.8 4.2 3.2z" fill="url(#c)"/><path d="M60.1 146.8s-4.
3 5.9-3.1 9c1.2 3.1 9.3 12.9 9.3 12.9s-1.2 8.1-.8 9.6c.4 1.5 4.2 5.8 12.7 2.5s8.8-8.3 8.9-12.3c0-1.6.3-4.2.1-7.8 0-.3 3.5-4.3 1.7-11.3-.8-3.1-2.5-4.3-2.8-4.3-1.1 0-.4 0-.7-.6-1.1-2.2-25.3 2.3-25.3 2.3z" fill="#F9F9FA"/><path d="M8.9 30.2c.1.2.1.4.2.7.1.2.1.5.2.7.1.2.2.5.3.7l.3.6c.1.2.2.5.4.7.1.2.2.4.3.5.4.6.8 1.2 1.2 1.7.2.3.5.5.7.8l.3.3c.3.3.5.5.8.7l.3.3s.1 0 .1.1c.4-1 .8-1.9 1.3-2.7-2.6-.8-4.9-2.6-6.4-5.1z" fill="url(#d)"/><path d="M16.6 30.2c-.3.5-1 .7-1.5.3-.5-.3-.7-1-.3-1.5.1-.1 1.8-2.7 5.1-2.7h.4c-.6-.2-1.1-.8-1.1-1.5l.1-3.5c0-.9.7-1.5 1.6-1.5.9 0 1.5.7 1.5 1.6l-.1 2.4c.9-1.3 1.9-2.5 2.9-3.7-.1-.2-.2-.5 0-.7 1.1-1.4 2.1-2.5 3-3.4-1.2-1.4-2.7-2.4-4.3-3.2-1.5-.7-3.1-1-4.8-1h-1.5c-.2 0-.5.1-.7.1-.1 0-.2 0-.3.1-.4.1-.7.2-1.1.3-.8.2-1.5.6-2.2 1-.7.4-1.4.8-1.9 1.3-1.5 1.3-2.6 2.9-3.4 4.7-.4 1.1-.7 2.3-.8 3.5-.1 1.5 0 3.1.5 4.7.1.5.3.9.5 1.3 0 0 0 .1.1.1l.6 1.2c1.5 2.5 3.8 4.3 6.5 5.2.7-1.3 1.4-2.2 1.4-2.3.1-.1.2-.2.3-.2.6-1.4 1.4-2.9 2.2-4.3-1.7.3-2.6 1.6-2.7 1.7z" fill="#F9F9FA"/><
path d="M20.9 19.8c-.9 0-1.6.7-1.6 1.5l-.1 3.5c0 .7.4 1.3 1.1 1.5h-.4c-3.4 0-5 2.5-5.1 2.7-.3.5-.2 1.2.3 1.5.5.3 1.2.2 1.5-.3 0 0 .9-1.3 2.6-1.6.9-1.6 1.9-3.2 3.1-4.7l.1-2.4c0-.9-.6-1.6-1.5-1.7z" fill="url(#e)"/><path d="M77.5 13.6c2.2 0 4.2.6 6 1.6-1.1-.8-2-1.3-2.6-1.6-1.9-.7-3.9-1.2-6-1.6.8.9 1.6 1.6 2.6 1.6z" fill="url(#f)"/><path fill="url(#g)" d="M19.1 113.1v-.1l-.1.1"/><path d="M68 122.3c.2.1.4.2.6.4-.2-.2-.4-.3-.6-.4z" fill="url(#h)"/><path d="M46.2 67.8c.6 0 1.3 0 2-.1 6.3-.4 13.8-2.8 13.9-2.9.2-.1.5-.1.7-.1h.3c1.3-2.7 2.6-5.2 3.8-7.5-3.4 1.7-10.3 4.6-22 6.8-.9 1.1-1.7 2.2-2.6 3.4.9.3 2.2.4 3.9.4z" fill="url(#i)"/><path d="M24.7 143.9s-4.7 5.6-3.8 8.8c.9 3.2 8.4 13.7 8.4 13.7s-1.8 8.1-1.5 9.6c.3 1.5 3.8 6.1 12.6 3.5 8.8-2.6 8.9-6.7 9.3-10.7.4-4 1-16.3.7-18.8-.3-2.5-25.7-6.1-25.7-6.1z" fill="#F9F9FA"/><path d="M69.7 127.3c.1-.2.1-.5.3-.8l-.3.6v.2z" fill="url(#j)"/><path d="M65.9 150c.8.3 2.4.4 5.3-.3 1.7-.4 2.7-.9 3.3-1.3l-.6-1.8c-.6-1.4-1.3-3.1-2.2-4.8-2.1-3.4-3.7-6.1-3.7-6.
1-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2 0 0 1.1 1.8 2.6 4.3.2 0 .4.1.6.1.2 0 .4 0 .6.1.4 0 .9.1 1.3.1h.6c.4 0 .9.1 1.4.1h6c.3 0 .6 0 1-.1h.6c.3 0 .6-.1 1-.1h.5c.4 0 .7-.1 1-.1h.4c.5-.1 1-.1 1.4-.2h.3c.4-.1.8-.1 1.1-.2.2 0 .3-.1.5-.1.3 0 .6-.1.9-.1.2 0 .4-.1.5-.1.3-.1.6-.1.9-.2.2 0 .3-.1.5-.1.3-.1.6-.1.9-.2.1 0 .3-.1.4-.1l1.2-.3h.1l1.2-.3c.1 0 .3-.1.4-.1.3-.1.5-.1.8-.2.2 0 .3-.1.4-.1.2-.1.5-.1.7-.2.1 0 .3-.1.4-.1.2-.1.5-.1.7-.2.1 0 .3-.1.4-.1.3-.1.5-.2.8-.3.1 0 .1 0 .2-.1l.9-.3c.1 0 .2-.1.2-.1.2-.1.4-.2.6-.2.1 0 .2-.1.3-.1.2-.1.3-.1.5-.2.1 0 .2-.1.3-.1.2-.1.3-.1.4-.2.1 0 .2-.1.2-.1.2-.1.3-.2.4-.2.1 0 .1-.1.2-.1.2-.1.4-.2.5-.3 0 0 .1 0 .1-.1.1-.1.2-.2.3-.2l.1-.1.2-.2.1-.1c0-.1.1-.1.1-.2 0 0 0-.1.1-.1 0-.1 0-.1.1-.2v-.1-.2c-.7-1.8-4.7-1.6-10.9-2.1h-.2c-5.6-.5-12.9-1.5-21.4-5.1-.4-.2-.8-.3-1.2-.5-.7 1.6-1.3 3.1-1.3 3.5-.1 1-1.2 2.7-2.7 3.6-.8.5-1.6.7-2.5.7-.5 0-1-.1-1.5-.3-.5-.2-.8-.8-.7-1.3-1.6-.8-2.2-2.3-2.3-3.2 0-.3.2-.6.5-.6h.1c.1-1.1.7-2.2 1.8-2.8 1-.5 2.1-.5 3-.1l.4-.9-.1-.1c-.4-.2-.7-.4
-1.1-.6l-.4-.2-.5-.3-1.7 1c-.3 1.3-1.3 3.4-3.5 3.5h-.2c-3 0-3.8-1.9-4.2-3.3-.1-.3.1-.6.4-.7h.1c0-.4 0-.8.1-1.2.5-1.8 2.5-2.9 4.3-2.3.8.2 1.4.7 1.9 1.4l.2-.1c-.3-.3-.6-.5-.8-.7-.2-.2-.4-.4-.7-.6l-.9-.7c-.9.2-1.8.3-2.6.3-.5 0-.9-.1-1.2-.2-2.3-.9-2.3-3.8-2.3-3.9 0-.3.3-.5.6-.6.2 0 .3.1.4.2.1-.9.6-1.7 1.4-2.2-.1-.3-.2-.6-.2-.9-.1-.3-.1-.5-.2-.8-.1-.4-.2-.9-.3-1.3 0-.2-.1-.4-.1-.6-.1-.6-.3-1.2-.4-1.8v-.1c-1.5-8.1-1.7-17.2 1-26.8-.9-1.2-1.5-1.9-2-2.4-2 .4-4.1.6-6.5.6h-.2c-1.3 3.8-2 7.3-2.3 10.5l2.3.1c.4 0 .8.3 1 .7.2.4 0 .9-.3 1.2l-3.1 2.9c.3 6.4 2.1 11.8 3.5 16 .4 1.2.8 2.4 1.1 3.4 2.8 9.4 2.6 17.3-.4 22.2-1.7 2.7-4.1 4.4-7.1 4.9-.4.1-.9.1-1.4.1-2.3 0-4.8-1-7-2.7-2.8-2.3-7.7-7.9-8.2-20.8C26 108.9 28 101 30.6 94c-.4-.1-.7-.3-.8-.6-.2-.3-.1-.7.1-1.1l6.2-10.2c1.1-2.1 2.2-3.9 3.1-5.3-2.9-1-4.3-2.4-5-3.3-4.3 3.1-8 6.3-10.9 9.7 0 0 0 .1-.1.2 1.2-1.4 2-2.2 2.1-2.3.3-.3.7-.3 1 0 .3.3.3.7 0 1 0 0-2.8 2.8-5.2 6.6-1.3 3.7-2.7 8.5-2.6 12.2.1 4.7 1.3 7.8 2.1 9.3.9.3 1.9.5 2.9.8-.1.8-.3 1.8-.3 2.9-.5-
.1-1-.3-1.4-.4.5.3.9.6 1.4.8.2-1.5.4-2.5.4-2.7.1-.3.3-.5.6-.5.3.1.5.3.5.6 0 .1-2 11.3.5 19.2.2.6.5 1.2.7 1.8 0 .1.1.1.1.2.7 1.4 1.4 2.7 2.3 3.9 0 .2.1.4.1.6.1.3.1.6.2 1v.1c.6 3.6 1.4 7.2 2.3 9.8.8.4 2.2.6 4.7.5 2-.1 3-.5 3.6-.8 0-1 0-2-.1-3v-.1c-4.5-1.2-6.1-2.9-6.2-3-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0 0 0 1.5 1.5 5.4 2.6v-.1l2.4.6h.2c.8.2 1.6.3 2.4.4h.2c1.6.2 3.2.3 4.7.3h1.7c1.1 0 2.1-.1 3.1-.3h.3c.4 0 .8-.1 1.1-.2.1 0 .3 0 .4-.1.3-.1.6-.1 1-.2.2 0 .3-.1.5-.1.3-.1.6-.1.9-.2.2 0 .3-.1.5-.1.3-.1.6-.1.9-.2.1 0 .3-.1.4-.1l1.2-.3c1.3 2.3 3 4.6 4.9 6.9zm8-22.2c.1-.2.3-.4.5-.5.4-.1.8.1 1.2.3 4.8 2.9 14 4.5 27.2 4.6.1 0 .6 0 .8.4.1.2.1.5-.1.8-.5.7-8.8 1.8-15.3 1.8-2 0-3.8-.1-5.2-.3-5.8-1-8-3.7-8.6-4.9-.6-.8-.7-1.6-.5-2.2zm-49.7-17.2c0 .3-.3.5-.6.5s-.5-.3-.5-.6c0-.9.1-1.8.3-2.7 0-.2-.1-.3-.1-.5v-.1c0-.3-.1-.6-.1-.9v-.1-1-.1-1.1-.1c.2-3.2 1.2-7.3 4.2-11.8l.1-.1c.3-.5.7-1 1-1.5.8-2 1.5-3.3 1.5-3.5.1-.3.5-.4.7-.3.3.1.4.5.3.7-.1.4-6.3 13.7-6.8 23.2z" fill="url(#k)"/><path d="M37.2 63.9h.4c.8 0 1.6-.
1 2.4-.2h.4l2.4-.3c.1 0 .3 0 .4-.1.5-.1 1-.2 1.5-.2 13.5-2.6 20.6-6 23.1-7.5.1-.1.2-.1.4-.2.5-.3.7-.4.7-.5.1-.1.2-.1.3-.1 1.7-1 3.4-2 4.9-3.1-4.2-.1-7.5-1.9-7.7-2-.3-.1-.4-.5-.2-.8.1-.3.5-.4.8-.2 0 0 4.6 2.4 9.5 1.7 1.1-.2 2.2-.5 3.2-.8 6.7-2.1 12-6.3 14.5-11.6.2-.5.5-1.1.7-1.6.6-1.6.9-3.3.9-5.1 0-2.2-.5-4.2-1.3-6.2-.2-.5-.4-.9-.7-1.4l-.9-1.5c-.4-.6-.8-1.1-1.3-1.7-.4-.4-.8-.9-1.2-1.3l-.8-.8c.9 1.6 1.5 3.4 1.7 5.6.9 1.4 1.6 2.9 1.8 4.6 1.4 7.8-5.3 15.4-14.8 17.1-3.2.6-6.3.4-9-.4-6.2 3.4-14.2 5.7-22.1 6.6-16.5 1.9-29.8-1.4-28.8-13.1.8-8.9 9.4-22.1 19.5-29.1-.5.3-1.1.6-1.6.9-.8.5-1.6 1-2.4 1.6 0 0-2.4 1.2-7.7 7.7-.1.1-.3.2-.4.2-.1 0-.2 0-.4-.1l-.1-.1c-1 1.2-2 2.4-2.9 3.7-1.1 1.5-2.1 3.1-3.1 4.7-.8 1.4-1.5 2.8-2.2 4.3.2 0 .3 0 .5.1.3.2.3.5.1.8 0 0-2.2 3.2-3 6.3-.1.3-.1.6-.2.8 0 .1-.1.3-.1.4-.1.7-.3 1.4-.4 2.1-.1.7-.2 1.4-.2 2v.5c0 .7-.1 1.3 0 2 0 .6.1 1.2.1 1.8v.4c.1.6.2 1.1.3 1.7 0 .1 0 .1.1.2.1.5.3.9.4 1.4 0 .1.1.2.1.3.2.5.4.9.6 1.4 0 .1.1.2.1.3.2.4.4.8.7 1.1 0 .1.1.2.1.2.3.4.6.8.9 1.
1.1.1.1.2.2.2l.9.9.1.1 1.2.9c.1.1.2.1.3.2.4.3.8.5 1.3.8h.1c.4.2.9.4 1.3.7.1 0 .2.1.3.1l1.5.6c.1 0 .2.1.2.1.5.1.9.3 1.4.4.1 0 .2.1.3.1.6.1 1.1.2 1.7.3.1 0 .2 0 .4.1.5.1 1.1.2 1.6.2h.3c.6.1 1.2.1 1.9.1h2.4c1 .6 1.8.6 2.6.6z" fill="url(#l)"/><path d="M68.1 113.9c1.7-2.1 3.7-5.6 4.9-11.1 1.6-7-3-17.6-6.6-24.5-1-1.3-2-2.5-2.8-3.4-1.7.9-4.2 1.9-7.3 2.6.4.5.9 1.1 1.5 1.8 14.4 15.6 11.4 27.5 9.3 32-.1.3-.2.5-.4.7-.3.6-.6 1-.7 1.2-.2.2-.3.4-.5.6l-.1.1c-.1.2-.3.4-.4.7 1.1-.2 2.1-.4 3.1-.7z" fill="url(#m)"/><path d="M76.4 110.7c.2-.8.3-1.3.3-1.3 1.2-5.5.8-10.8-.6-15.7 1.7 6.5 1.4 12.4.3 17z" fill="url(#n)"/><path d="M30.7 86.9c-.3-.1-.6 0-.7.3-.1.2-.7 1.5-1.5 3.5-.4.5-.7 1-1 1.5l-.1.1c-3 4.5-4 8.6-4.2 11.8V106.5c0 .3.1.6.1.9v.1c0 .2 0 .3.1.5l-.3 2.7c0 .3.2.6.5.6s.5-.2.6-.5c.4-9.5 6.7-22.8 6.7-23 .2-.4.1-.8-.2-.9z" fill="url(#o)"/><path d="M32.7 105.7c-.2 0-.4-.1-.6-.2-.4-.3-.6-.8-.4-1.3l3.6-9.5-4.5-.6c-2.6 6.9-4.5 14.9-4.2 22.8.6 12.8 5.4 18.5 8.2 20.8 2.2 1.7 4.7 2.7 7 2.7.5 0 .9 0 1.4-.1 3-.
5 5.4-2.2 7.1-4.9 3-4.9 3.2-12.8.4-22.2-.3-1-.7-2.2-1.1-3.4-1.4-4.2-3.2-9.5-3.5-16l-12.5 11.6c-.4.2-.7.3-.9.3zM36.2 82.1c.2-.3.6-.6 1-.5l7.8.4c.4 0 .8.3 1 .6.2.4.1.8-.1 1.2l-3.9 5 4.1.2c.3-3.3 1-6.8 2.3-10.5-1.1 0-2.1-.1-3.2-.2-2.5-.2-4.5-.7-6-1.2-.9 1.4-1.9 3.2-3.1 5.3l.1-.3zM82.9 134.9c1.4.2 3.2.3 5.2.3 6.5 0 14.8-1.1 15.3-1.8.2-.2.2-.5.1-.8-.2-.4-.6-.4-.8-.4-13.2-.1-22.3-1.7-27.2-4.6-.5-.3-.8-.5-1.2-.3-.2.1-.4.3-.5.5-.2.5 0 1.3.4 2.2.7 1.1 2.9 3.9 8.7 4.9zM69.5 120.6h-.4l-1.9 1.2 1.3-.8c.2.1.5.2.8.2l-.6 1.4.8-2zM65.4 118.7c.1.2.2.4.4.6h.1c-.2-.3-.4-.4-.5-.6z" fill="#F9F9FA"/><path d="M57.3 112.5c-.8.5-1.2 1.4-1.4 2.2.1.1.1.2.1.3 0 0 0 2.2 1.6 2.8 1.2.5 5.3-.7 7.5-1.5h.3l.2-.1.4 1.2c.1.4.3.6.6 1l.9 1-1.1.7-1.4.9-.6.4-.6-.4c-.1-.1-.3-.2-.4-.3l-.2.1c-.4-.6-1.1-1.1-1.9-1.4-1.8-.5-3.8.5-4.3 2.3-.1.4-.1.8-.1 1.2.3 0 .5.1.6.4.4 1.5 1.1 2.5 3.3 2.5 2-.1 2.5-2.8 2.5-2.8 0-.2.1-.3.3-.4l4.5-2.8c.1 0 .1-.1.2-.1l.2-.1.3-.2h.6l1.9-.2-.8 1.8-.9 2.1-.5 1.1-1-.5-.4.9c-.9-.4-2.1-.4-3 .1-1.1.6-1.7
1.6-1.8 2.8.2 0 .5.2.5.5 0 .1.3 1.9 2.1 2.5h.5c.3.1.5.1.8.1h.3c.3-.1.6-.2.9-.4.6-.4 1-.9 1.3-1.3.3-.5.4-1 .4-1.1 0-.1 0-.3.1-.4v-.2l.3-.6c.4-1 1-2.3 1.4-3.1l2.7-6.2c0-.1.1-.2.1-.3v-.2-.3c1.1-2 1.8-4.2 2.2-5.6 1.1-4.7 1.4-10.5-.2-17-2.2-7.6-6.7-14.2-11.3-19.4-.3.2-.7.4-1.2.6.9 1 1.8 2.2 2.8 3.4 3.6 6.8 8.2 17.5 6.6 24.5-1.2 5.4-3.2 8.9-4.9 11.1-1 .2-2 .5-3 .7-.8.2-1.6.4-2.3.5 0-.5-.1-1.1-.4-1.6-.1-.3-.3-.5-.5-.7l-.2-.2c-.2-.1-.3-.3-.5-.4-.1 0-.1-.1-.2-.1-.2-.1-.5-.2-.7-.3h-.1c-.2-.1-.4-.1-.7-.1h-.3c-.2 0-.4 0-.5.1h-.2c-.3.1-.5.2-.7.3-.5 0-.6.1-.7.2zM64.4 123.5l1.7-1-1.7 1zM18.4 39.1c-1.1 11.7 12.3 15 28.8 13.1 7.9-.9 15.9-3.2 22.1-6.6 2.8.8 5.8 1 9 .4 9.5-1.7 16.1-9.3 14.8-17.1-.3-1.7-.9-3.2-1.8-4.6.2 2.6-.3 5.5-2 8.7-.1.2-.2.3-.4.4-2 4.2-6.7 7-12 6.6-4.3-.4-7.9-2.8-9.8-6.2-2.6-3.7-1.8-7.3-1.7-7.5.1-.3.4-.5.7-.4.3.1.5.4.4.7 0 .1-.4 1.5.1 3.5 1.7 4.1 5.3 7 10.3 7.2.1-.1.2-.1.4-.1.4 0 10.5-.3 11.6-9.9.7-6.3-2.5-10-5.2-12-1.8-1-3.8-1.6-6-1.6-1 0-1.8-.7-2.6-1.5h-.2c-5.5-3.8-12.5-6.3-20.1
-6.3-3.4 0-7 .5-10.6 1.6-2.1.6-4.1 1.5-6.1 2.6-10.3 6.9-18.9 20-19.7 29zM60 42c-.1 0-.2.1-.2.1-.2 0-.4-.1-.5-.3-2.6-5.6-.5-10.6-.4-10.8.1-.3.4-.4.7-.3.3.1.4.5.3.7 0 0-2 4.7.4 9.9.1.2 0 .6-.3.7zm25.3-12.3c.3.5.2 1.2-.3 1.5-.2.1-.4.2-.6.2-.4 0-.7-.2-.9-.5 0-.1-1.1-1.6-3.2-1.6s-3.2 1.6-3.2 1.6c-.3.5-1 .7-1.5.3-.5-.3-.7-1-.3-1.5.1-.1 1.8-2.7 5.1-2.7 3.2.1 4.9 2.6 4.9 2.7zm-17.2-.9h-.2c-.2 0-.5-.1-.5-.4l-.1-.3c-.1-.3.1-.6.4-.7.3-.1.6.1.7.4l.1.3c.1.3-.1.6-.4.7zm5.6 6.2h-.1c-.1 0-2.9-.6-5.1-4.3-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2 2 3.3 4.4 3.8 4.4 3.8.3.1.5.3.4.6-.1.4-.3.5-.6.5zm8.1-12.2l-.1 3.5v.3c-.4-.1-.9-.2-1.4-.2-.6 0-1.1.1-1.6.2 0-.1-.1-.3 0-.4l.1-3.5c0-.9.7-1.5 1.6-1.5.7 0 1.4.7 1.4 1.6zM72.7 14c.1.3 0 .6-.3.7 0 0-2.4.9-3.6 3.3-.1.2-.3.3-.5.3-.1 0-.2 0-.2-.1-.3-.1-.4-.5-.2-.7 1.4-2.8 4.1-3.8 4.2-3.9.2-.1.5.1.6.4zM23.4 111.2c-1-.3-2-.6-2.9-.8-.8-1.5-2-4.7-2.1-9.3-.1-3.7 1.3-8.5 2.6-12.2 2.4-3.8 5.2-6.6 5.2-6.6.3-.3.3-.7 0-1-.3-.3-.7-.3-1 0-.1.1-1 .9-2.1 2.3.1-.1.1-.2.1-.2-4.4 5.1-7.1 10.6
-8.2 16.4-1 5.3-.2 9.7.6 12.4-.1.1-.1.2-.2.3v.1c0 .1-.1.1-.1.2v.4c0 .1 0 .2.1.3l3.9 10.1v1.3c.1 1 .7 1.9 1.6 2.5.2.1.5.2.7.3h.1c.2.1.5.1.7.1H23.3c-.4-2.2-.5-4.5-.5-6.6-.1 0-.2-.1-.2-.2l-.1-.1c-.3 0-.7.1-1 .2l-1-2.7-1-1.2c-.2-.2-.2-.6.1-.8.2-.2.6-.2.8.1l1.1 1.3 1.4 1c.1-1.2.1-2.3.2-3.3-1.6-.9-3.3-2-3.6-2.1-.3-.1-.4-.4-.3-.6v-.1c.1-.3.4-.4.7-.3.2.1 1 .5 1.9 1.1.4.1.9.3 1.4.4-.1-.9 0-1.9.2-2.7z" fill="#F9F9FA"/><path d="M64.4 121.4l.6-.4 1.4-.9 1.1-.7-.9-1c-.4-.4-.5-.6-.6-1l-.4-1.2-.2.1h-.3c-2.2.8-6.3 2-7.5 1.5-1.6-.6-1.6-2.8-1.6-2.8 0-.1-.1-.3-.1-.3-.1-.1-.2-.2-.4-.2-.3 0-.6.2-.6.6 0 .1 0 3 2.3 3.9.3.1.7.2 1.2.2.8 0 1.7-.1 2.6-.3l.9.7c.3.2.5.4.7.6.2.2.5.4.8.7.1.1.2.2.4.3l.6.2zm1.4-2.1l-1.3.8c-.9-.6-1.1-.9-1.9-1.5.9-.2 1.6-.3 2.4-.7.1.4.2.6.4.9.1.1.3.2.4.5z" fill="url(#p)"/><path d="M69.6 123.1l.9-2.1.8-1.8-1.9.2h-.6l-.3.2-.2.1c-.1 0-.1 0-.2.1l-4.5 2.8c-.1.1-.2.2-.3.4 0 0-.4 2.8-2.5 2.8-2.2 0-2.9-1-3.3-2.5-.1-.3-.3-.4-.6-.4h-.1c-.3.1-.5.4-.4.7.4 1.4 1.3 3.3 4.2 3.3h.2c2.2-.1 3.2-2.2 3.
5-3.5l1.6-1 .5.3.4.2c.4.2.7.4 1.1.6l.1.1 1 .5.6-1zm-1-.4c-.2-.1-.4-.2-.6-.4-.3-.2-.6-.3-.8-.5l1.9-1.2h.4l-.9 2.1z" fill="url(#q)"/><path d="M78.7 22.7l-.1 3.5v.4c.5-.1 1-.2 1.6-.2.5 0 .9.1 1.4.2v-.3l.1-3.5c0-.9-.7-1.6-1.5-1.6-.8-.1-1.5.6-1.5 1.5z" fill="url(#r)"/><path d="M80.2 27.1c-3.4 0-5 2.5-5.1 2.7-.3.5-.2 1.2.3 1.5.5.3 1.2.2 1.5-.3 0 0 1.1-1.6 3.2-1.6s3.2 1.6 3.2 1.6c.2.3.6.5.9.5.2 0 .4-.1.6-.2.5-.3.7-1 .3-1.5.2-.2-1.5-2.7-4.9-2.7z" fill="url(#s)"/><path d="M67.8 17.5c-.1.3 0 .6.2.7.1 0 .2.1.2.1.2 0 .4-.1.5-.3 1.2-2.4 3.6-3.3 3.6-3.3.3-.1.4-.4.3-.7-.1-.3-.4-.4-.7-.3 0 0-2.7 1-4.1 3.8z" fill="url(#t)"/><path d="M59.9 31.3c.1-.3 0-.6-.3-.7-.3-.1-.6 0-.7.3-.1.2-2.2 5.2.4 10.8.1.2.3.3.5.3.1 0 .2 0 .2-.1.3-.1.4-.5.3-.7-2.4-5.1-.4-9.8-.4-9.9z" fill="url(#u)"/><path d="M73.8 33.9s-2.4-.5-4.4-3.8c-.2-.3-.5-.3-.8-.2-.3.2-.4.5-.2.8 2.3 3.8 5 4.3 5.1 4.3h.1c.3 0 .5-.2.5-.5.2-.2 0-.5-.3-.6z" fill="url(#v)"/><path d="M68.5 28.1l-.1-.3c-.1-.3-.4-.4-.7-.4-.3.1-.4.4-.4.7l.1.3c.1.2.3.4.5.4h.2c
.3-.1.5-.4.4-.7z" fill="url(#w)"/><path d="M65 71.5s0-1.4-.4-2.6c0-.2-.1-.3-.2-.4-1.4.6-6.2 2.4-15.4 3.3-6.1.6-9.9-.8-11.5-1.6l-1.9 1.7s1.1 3.3 9.7 4.1c1.1.1 2.2.1 3.2.1 10.4 0 16.5-4.6 16.5-4.6z" fill="url(#x)"/><path d="M49 71.8c9.2-.9 14-2.7 15.4-3.3-.5-.9-1.7-1.4-1.7-1.4s-7.8 2.6-14.5 3c-.7 0-1.4.1-2.1.1-5.2 0-7.2-1.2-7.2-1.2l-1.4 1.3c1.6.7 5.4 2.1 11.5 1.5z" fill="#FFF"/><path d="M47.9 83.5c.3-.3.3-.8.1-1.2-.2-.4-.5-.6-1-.6l-7.8-.4c-.4 0-.8.2-1 .5l-.1.2-6.2 10.2c-.2.3-.2.7-.1 1.1.2.3.5.6.8.6l4.5.6-3.6 9.5c-.2.5 0 1 .4 1.3.2.1.4.2.6.2.3 0 .5-.1.8-.3l12.5-11.6 3.1-2.9c.3-.3.4-.8.3-1.2-.2-.4-.5-.7-1-.7l-2.3-.1-4.1-.2 4.1-5z" fill="url(#y)"/><path d="M77.3 148.2c-.5 1.6-2.3 2.8-5.6 3.7-3.5.9-6 .8-7.5-.3-.2-.2-.4-.3-.6-.5-1.1.7-1.6 1.7-1.3 2.4.5 1.4 3.5 2.3 9.2.9 8.2-2 9.3-4.8 9.5-5.6.1-.8-.2-1.2-.3-1.3-.5-.3-1.9-.5-3.2-.4-.1.3-.1.7-.2 1.1z" fill="#FFF"/><path d="M75.7 144.9c-.1 0-.2 0-.2.1-.4-.9-.8-1.9-1.4-3 1.3.1 2.7.1 4.1.1 13.4 0 28.1-4.3 30.4-7.7.6-.8.7-1.8.3-2.7-1.1-2.7-4.3-2.
9-9.2-3.2-5.7-.4-14.2-.9-24.5-5.2-.4-.2-.8-.3-1.1-.5 0-.1 0-.1.1-.2 0-.1.1-.2.1-.3l1.9-4.4c.2-.4.3-.9.3-1.3.5-1 .9-2 1.2-2.9.5 0 1 .1 1.5.1.7 0 1.3 0 1.8-.1s1-.2 1.3-.4c2.4-1.3 4.4-1.4 7.6-1.4 1.7 0 3.8-.1 6.5-.3 7.8-.8 12.9-6.6 12.9-10 .2-.9 3.9-3.5 6.1-5.1 4.5-3.2 6.8-4.9 6.5-6.6-.3-1.8-2.7-1.9-11.1-1.9-7.8-.1-18.4-.1-24.5-2.6-4.7-1.9-8.9-5-12.2-7.9-4-3.5-6.6-6.6-6.7-6.6 0-.1-.1-.1-.2-.1 0-.6-.2-1.5-.4-2.4-.3-1.1-1.1-1.9-1.7-2.4 1.3-2.8 2.8-5.7 4.4-8.6 2.5-1.4 4.9-2.8 7-4.4C89.2 50.6 98 41.8 98 31.6c0-10.4-9.4-19.4-22.3-21.6-6.1-4.1-13.5-6.4-20.9-6.4-3.8 0-7.6.6-11.3 1.7-3.4 1.1-6.8 2.7-10.1 4.9-.6-.1-1.2-.1-1.8-.1h-1.2c-2 0-4.1.2-6.1.6-1.6-.6-3.3-.9-5-.9-1.4 0-2.9.2-4.3.7-7.5 2.4-11.7 10.4-9.3 17.9.3 1 .7 1.9 1.3 2.9.8 3.2 2.8 6.1 5.7 8.5-.7 2.9-1 5.7-1 8.4.2 11.8 8.5 18.3 23.3 18.3 1.9 0 3.8-.1 5.9-.3-.3.3-.5.7-.7 1-.3-.1-.6-.2-.9-.2-.5 0-1.1.2-1.5.6l-3.3 3c-.3.3-.6.7-.7 1.1C22 79.9 15.1 89.3 13.2 99.8c-1 5.2-.4 9.6.4 12.6-.3.8-.3 1.7 0 2.5l3.7 9.6c-.2 2.1.8 4.2 2.7 5.4.8.5 1.7.
8 2.7.8.9 3 2.1 5.6 3.7 7.8.6 3.6 1.2 6.5 1.9 8.9-1.4.4-2.5 1.3-3.1 2.3-.4.7-.6 1.5-.5 2.3.1.4.3 1.2.9 1.9 3.4 5.5 7 11.8 7.1 12.9 0 .4-.2 1.1-.3 1.9-.5 2.4-1.1 5.5-.3 7.3.4 1.1 1.8 1.6 3.8 1.6h.5c3.2-.1 8.6-1.8 9.9-6 1.4-4.1 1.2-15.5 1.1-20.3v-1.2-.9-.1-.1c0-.1 0-.2-.1-.3v-.1c-.1-.3-.2-.6-.4-.8.8 0 1.6.1 2.4.1 3.7 0 7.5-.5 11.2-1.5.9 1.1 1.7 2.1 2.4 3.1-1.2.8-2 1.8-2.3 2.9-.2.7-.2 1.4 0 2.1 0 .1-.1.1-.1.2-.1.4 0 .8.2 1 4.2 5.2 8.7 11.3 9 12.4 0 .4-.1 1.1-.2 1.9-.3 2.5-.7 5.6.3 7.3.6 1.1 2.1 1.4 3.5 1.4.6 0 1.1-.1 1.6-.1 4-.5 8.5-2.8 9.5-6.5.7-2.6.5-8 .2-12.9.9-.5 1.8-1.3 2.2-2.4 1.6-4.2 0-7.3 0-7.4-.1-.2-.3-.3-.5-.3s-.4.1-.5.3c-.4.9-1 2.3-1.8 3.3-.2-1.9-.4-3.1-.4-3.3.2-1.6-.5-2.8-1.3-3.3l-.6-.3c-2.3-1.2-5.3-.9-6-.9zm5.7 13.8c-.3.1-.5.4-.4.7.1.3.4.5.7.4 0 0 .1 0 .3-.1.3 4.5.4 9.2-.2 11.4-.5 1.9-2.6 3.5-5.6 4.4-2.6.8-4.6.6-4.9.3-.6-1.1-.3-4.1 0-5.9.1-.6.1-1.1.2-1.5.7.2 1.3.3 1.9.3 1.7 0 2.8-.7 2.9-.8.3-.2.3-.5.2-.8-.2-.3-.5-.3-.8-.2 0 0-1.8 1.1-4.3.2-.6-1.8-3.6-6-6.8-10 .6.1 1.2.1 1.
9.1 1.5 0 3.3-.2 5.6-.8 4.9-1.2 7.7-2.7 9.3-4.2 0 .4.1.9.2 1.5-1.2.4-2.8.9-3.4 2.8-.7 2.4.8 4.1.9 4.2.1.1.3.2.4.2.1 0 .3 0 .4-.1.2-.2.2-.6 0-.8 0-.1-1.2-1.3-.6-3.1.4-1.4 1.6-1.8 2.8-2.1.2-.1.3-.1.5-.2 0 .1 0 .1.1.2.1.2.3.3.5.3.1 0 .2 0 .3-.1.6-.4 2.5-1.6 2.6-2.8 0-.3-.2-.6-.5-.6h-.1c.2-.3.3-.6.5-.9.3 1.2.4 3-.4 5.2-1.1 2-4.2 2.8-4.2 2.8zm-.8-11.2c.1.1.5.5.3 1.3-.1.8-1.2 3.6-9.5 5.6-5.7 1.4-8.7.5-9.2-.9-.2-.7.2-1.7 1.3-2.4.2.2.3.3.6.5 1.5 1 4 1.1 7.5.3 3.3-.8 5.1-2 5.6-3.7.1-.4.1-.8.1-1.1 1.4 0 2.8.1 3.3.4zM69.1 76c3.5 3.5 9.4 8.6 16.3 11.4 6.5 2.7 17.4 2.8 25.4 2.8 3.4 0 7.1 0 8.6.3-.9 1-3.5 2.9-5.3 4.2-2.7 1.9-4.7 3.3-5.8 4.6-9.9 1.2-15.8-1.2-15.9-1.2-.3-.1-.6 0-.7.3-.1.3 0 .6.3.7.2.1 4 1.6 10.8 1.6 1.4 0 3-.1 4.6-.2-.2.4-.3.7-.3 1.1 0 2.1-4.1 7.1-10.9 7.8-2.6.3-4.5.3-6.3.3-3.3.1-5.7.1-8.6 1.7-.5.3-1.5.4-2.8.3.3-1.1.5-1.8.5-1.8 1.7-8.1 1.1-20.1-9.9-33.9zM44.8 64.2c11.7-2.2 18.6-5 22-6.8-1.2 2.2-2.5 4.8-3.8 7.5h-.3c-.2 0-.5 0-.7.1-.1 0-7.6 2.5-13.9 2.9-.7 0-1.3.1-2 .1-1.7 0-3-.1-4-.
3.9-1.3 1.8-2.4 2.7-3.5zm3.7 11.9c-1 0-2.1 0-3.2-.1-8.5-.8-9.7-4.1-9.7-4.1l1.9-1.7 1.4-1.3s2.1 1.2 7.2 1.2c.6 0 1.3 0 2.1-.1 6.7-.4 14.5-3 14.5-3s1.1.5 1.7 1.4c.1.1.1.3.2.4.4 1.2.4 2.6.4 2.6s-6.1 4.7-16.5 4.7zM34.7 63.9h-2.3c-.6 0-1.3-.1-1.9-.1h-.3c-.5-.1-1.1-.1-1.6-.2-.1 0-.2 0-.4-.1-.6-.1-1.1-.2-1.7-.3-.1 0-.2-.1-.3-.1-.5-.1-1-.3-1.4-.4-.1 0-.2 0-.2-.1l-1.5-.6c-.1 0-.2-.1-.3-.1-.5-.2-.9-.4-1.3-.7h-.1c-.4-.2-.9-.5-1.3-.8-.1-.1-.2-.1-.3-.2l-1.2-.9-.1-.1-.9-.9c-.1-.1-.1-.2-.2-.2-.3-.4-.6-.7-.9-1.1-.1-.1-.1-.2-.1-.2-.2-.4-.5-.7-.7-1.1 0-.1-.1-.2-.1-.3-.2-.4-.4-.9-.6-1.4 0-.1-.1-.2-.1-.3-.2-.5-.3-.9-.4-1.4 0-.1 0-.1-.1-.2-.1-.5-.2-1.1-.3-1.7V50c-.1-.6-.1-1.2-.1-1.8v-2-.5c0-.7.1-1.3.2-2s.2-1.4.4-2.1c0-.1.1-.3.1-.4.1-.3.1-.6.2-.8.8-3.1 3-6.2 3-6.3.2-.3.1-.6-.1-.8-.1-.1-.3-.1-.5-.1-.1 0-.2.1-.3.2 0 .1-.7 1-1.4 2.3-.4.8-.9 1.7-1.3 2.7 0 0-.1 0-.1-.1l-.3-.3c-.3-.2-.5-.5-.8-.7l-.3-.3c-.2-.3-.5-.5-.7-.8-.5-.5-.9-1.1-1.2-1.7-.1-.2-.2-.4-.3-.5-.1-.2-.3-.5-.4-.7l-.3-.6c-.1-.2-.2-.5-.3-.7-.1-.2-.
2-.5-.2-.7-.1-.2-.1-.4-.2-.7-.2-.4-.5-.8-.6-1.2 0 0 0-.1-.1-.1-.2-.4-.4-.9-.5-1.3-.5-1.6-.6-3.1-.5-4.7.1-1.2.4-2.4.8-3.5.7-1.8 1.9-3.4 3.4-4.7.6-.5 1.2-1 1.9-1.3.7-.4 1.4-.7 2.2-1 .4-.1.7-.2 1.1-.3.1 0 .2 0 .3-.1.2 0 .5-.1.7-.1H19.4c1.7 0 3.3.4 4.8 1l1.5-.3h.2c.7-.1 1.4-.2 2.1-.2.4 0 .7-.1 1.1-.1h2.5c.2 0 .5 0 .7.1-.8.7-2.1 1.8-3.9 3.7-.9.9-1.8 2.1-3 3.4-.2.2-.2.5 0 .7l.1.1c.1.1.2.1.4.1s.3-.1.4-.2c5.3-6.5 7.6-7.7 7.7-7.7.8-.6 1.6-1.1 2.4-1.6.5-.3 1.1-.6 1.6-.9 2-1.1 4-2 6.1-2.6 3.6-1.1 7.2-1.6 10.6-1.6 7.6 0 14.5 2.4 20.1 6.3h.2c2.1.3 4.1.9 6 1.6.6.3 1.6.8 2.6 1.6 2.7 2 5.9 5.7 5.2 12-1.1 9.6-11.2 9.9-11.6 9.9-.1 0-.3.1-.4.1-5-.2-8.6-3.1-10.3-7.2-.5-1.9-.1-3.3-.1-3.5.1-.3-.1-.6-.4-.7-.3-.1-.6.1-.7.4 0 .2-.9 3.8 1.7 7.5 1.8 3.4 5.5 5.9 9.8 6.2 5.3.4 10-2.3 12-6.6.2-.1.3-.2.4-.4 1.7-3.3 2.2-6.2 2-8.7-.2-2.1-.8-4-1.7-5.6l.8.8c.4.4.8.9 1.2 1.3.5.5.9 1.1 1.3 1.7l.9 1.5c.2.4.5.9.7 1.4.8 1.9 1.3 4 1.3 6.2 0 1.8-.3 3.5-.9 5.1-.2.5-.4 1.1-.7 1.6-2.5 5.2-7.7 9.4-14.5 11.6-1 .3-2.1.6-3.2.8-4.9
.7-9.5-1.7-9.5-1.7-.3-.1-.6 0-.8.2-.1.3 0 .6.2.8.2.1 3.5 1.8 7.7 2-1.6 1.1-3.2 2.1-4.9 3.1-.1 0-.2 0-.3.1 0 0-.2.2-.7.5-.1.1-.2.1-.4.2-2.5 1.4-9.6 4.9-23.1 7.5-.5.1-1 .2-1.5.2-.1 0-.3 0-.4.1l-2.4.3h-.4c-.8.1-1.6.1-2.4.2h-.4c-.8 0-1.6.1-2.4.1v-.8zm9.2 106.6c-.9 2.8-4.7 3.9-5.8 4.2-2.5.6-4 .2-4.2 0-.5-1.2.1-4.2.4-6l.3-1.5c.8.3 1.5.4 2.1.4 1.4 0 2.3-.5 2.3-.6.3-.2.3-.5.2-.8-.2-.3-.5-.3-.8-.2 0 0-1.7 1-3.8-.1-.4-1.9-3.1-6.6-5.5-10.6 1.1.2 2.4.4 4 .4.6 0 1.2 0 1.9-.1 5.1-.3 8.1-1.4 9.8-2.7.2 5.6.1 14.4-.9 17.6zm.7-21.7c.1.1.3.6.1 1.2-.3.7-1.8 3.2-9.8 3.7-5.5.4-8.2-1-8.4-2.3-.1-.7.5-1.5 1.6-2 .1.2.3.4.4.6 1.2 1.2 3.6 1.8 7 1.5 3.2-.2 5.2-1 5.9-2.5.2-.3.3-.7.3-1 1.3.1 2.5.4 2.9.8zm16.2-5.3l-1.2.3c-.1 0-.3.1-.4.1-.3.1-.6.2-.9.2-.2 0-.3.1-.5.1-.3.1-.6.1-.9.2-.2 0-.3.1-.5.1-.3.1-.6.1-1 .2-.1 0-.3.1-.4.1-.4.1-.8.1-1.1.2h-.3c-1 .1-2 .2-3.1.3H49h-.1-.1c-1.5 0-3.1-.1-4.7-.3h-.2c-.8-.1-1.6-.2-2.4-.4h-.2l-2.4-.6v.1c-3.9-1.1-5.3-2.6-5.4-2.6-.2-.2-.6-.2-.8 0-.2.2-.2.6 0 .8.1.1 1.8 1.8 6.2 3v.1c0 1 .1
2 .1 3-.5.3-1.6.7-3.6.8-2.5.2-3.9-.1-4.7-.5-.9-2.6-1.7-6.2-2.3-9.8v-.1c-.1-.3-.1-.6-.2-1 0-.2-.1-.4-.1-.6-.9-1.2-1.7-2.5-2.3-3.9 0-.1-.1-.1-.1-.2-.3-.6-.5-1.2-.7-1.8-2.5-7.9-.5-19.1-.5-19.2.1-.3-.1-.6-.5-.6-.3-.1-.6.1-.6.5 0 .1-.2 1.1-.4 2.7-.5-.3-1-.6-1.4-.8-.9-.6-1.7-1-1.9-1.1-.3-.1-.6.1-.7.3v.1c-.1.3.1.5.3.6.2.1 2 1.1 3.6 2.1-.1 1-.2 2.1-.2 3.3v.7l-1.4-1.7-1.1-1.3c-.2-.2-.5-.3-.8-.1-.2.2-.3.5-.1.8l1 1.2 2 2.5.1.1.2.2c0 2.1.1 4.4.5 6.6h-.8-.1c-.2 0-.5-.1-.7-.1h-.1c-.2-.1-.5-.2-.7-.3-.9-.6-1.5-1.5-1.6-2.5v-.1-.5-.1-.3-.3l-3.9-10.1c0-.1-.1-.2-.1-.3v-.1-.2-.1c0-.1 0-.1.1-.2v-.1c.1-.1.1-.2.2-.3-.8-2.8-1.5-7.1-.6-12.4 1.1-5.8 3.8-11.3 8.2-16.4 2.9-3.4 6.5-6.6 10.9-9.7.7 1 2.1 2.3 5 3.3 1.5.5 3.5 1 6 1.2 1.1.1 2.2.1 3.2.2h.2c2.4 0 4.6-.2 6.5-.6.4.5 1.1 1.2 2 2.4-2.7 9.6-2.5 18.7-1 26.8v.1c.1.6.2 1.2.4 1.8 0 .2.1.4.1.6.1.4.2.9.3 1.3.1.3.1.5.2.8.1.3.2.6.2.9.1-.1.2-.2.3-.2.2-.1.5-.2.7-.3h.2c.2 0 .4-.1.5-.1h.2c.2 0 .5 0 .7.1h.1c.3.1.5.2.7.3.1 0 .1.1.2.1.2.1.3.2.5.4l.2.2c.2.2.4.4.5.7.3.5.4
1 .4 1.6.7-.2 1.5-.4 2.3-.5.1-.2.2-.5.4-.7 0-.1.1-.1.1-.1.1-.2.3-.4.5-.6.1-.2.4-.6.7-1.2.1-.2.2-.5.4-.7 2.1-4.5 5.1-16.4-9.3-32-.6-.8-1.1-1.4-1.5-1.8 3.1-.7 5.6-1.7 7.3-2.6.5-.2.9-.4 1.2-.6 4.6 5.2 9.2 11.8 11.3 19.4 1.4 4.9 1.8 10.2.6 15.7 0 0-.1.5-.3 1.3-.4 1.4-1.1 3.6-2.2 5.6v.5c0 .1 0 .2-.1.3l-2.7 6.2c-.4.8-1 2.1-1.4 3.1-.1.3-.2.6-.3.8 0 .2-.1.3-.1.4 0 .1-.1.6-.4 1.1-.3.4-.7.9-1.3 1.3-.3.2-.6.3-.9.4h-.3c-.3 0-.5 0-.8-.1-.2-.1-.3-.1-.5 0-1.8-.6-2.1-2.4-2.1-2.5 0-.3-.2-.4-.5-.5h-.1c-.3 0-.5.3-.5.6.1.8.7 2.4 2.3 3.2-.1.5.2 1.1.7 1.3.5.2 1 .3 1.5.3.8 0 1.7-.2 2.5-.7 1.5-.9 2.6-2.6 2.7-3.6.1-.4.6-1.9 1.3-3.5.4.2.8.3 1.2.5 8.5 3.5 15.9 4.6 21.4 5.1h.2c6.3.5 10.2.3 10.9 2.1V133.5c0 .1 0 .1-.1.2 0 0 0 .1-.1.1 0 .1-.1.1-.1.2l-.1.1-.2.2-.1.1c-.1.1-.2.2-.3.2 0 0-.1 0-.1.1-.2.1-.3.2-.5.3-.1 0-.1.1-.2.1-.1.1-.3.2-.4.2-.1 0-.2.1-.2.1-.1.1-.3.1-.4.2-.1 0-.2.1-.3.1-.2.1-.3.1-.5.2-.1 0-.2.1-.3.1-.2.1-.4.2-.6.2-.1 0-.2.1-.2.1l-.9.3c-.1 0-.1 0-.2.1-.3.1-.5.2-.8.3-.1 0-.2.1-.4.1-.2.1-.5.1-.7.2-.1 0
-.3.1-.4.1-.2.1-.5.1-.7.2-.1 0-.3.1-.4.1-.3.1-.5.1-.8.2-.1 0-.3.1-.4.1l-1.2.3h-.1l-1.2.3c-.1 0-.3.1-.4.1-.3.1-.6.1-.9.2-.2 0-.3.1-.5.1-.3.1-.6.1-.9.2-.2 0-.4.1-.5.1-.3.1-.6.1-.9.1-.2 0-.3.1-.5.1-.4.1-.8.1-1.1.2h-.3c-.5.1-1 .1-1.4.2h-.4c-.3 0-.7.1-1 .1h-.5c-.3 0-.6.1-1 .1h-.6c-.3 0-.6 0-1 .1h-6c-.5 0-.9 0-1.4-.1h-.6c-.4 0-.9-.1-1.3-.1-.2 0-.4 0-.6-.1-.2 0-.4-.1-.6-.1-1.5-2.5-2.6-4.3-2.6-4.3-.2-.3-.5-.4-.8-.2-.3.2-.4.5-.2.8 0 0 1.6 2.7 3.7 6.1.9 1.7 1.7 3.3 2.2 4.7l.6 1.8c-.6.4-1.6.9-3.3 1.3-2.8.7-4.4.6-5.3.3-1.4-2.6-3.1-4.9-4.6-6.8zm3.7-32c-.1.1-.1.2-.2.3l-.3.3c-.2-.3-.5-.6-.7-.9l1.2.3zm1-2c-2.4-.6-4.8-1.2-7-1.8-1.7-8.3-1.7-16.4 0-24.2 10.1 12.4 8.6 21.7 7 26z" fill="url(#z)"/><path d="M35 155.9c-.7 0-1.3.1-1.9.1-1.6 0-3-.2-4-.4 2.4 4 5 8.7 5.5 10.6 2.2 1.1 3.8.1 3.8.1.3-.2.6-.1.8.2.2.3.1.6-.2.8-.1 0-1 .6-2.3.6-.6 0-1.3-.1-2.1-.4-.1.4-.2.9-.3 1.5-.3 1.8-.9 4.8-.4 6 .2.2 1.8.5 4.2 0 1.1-.3 4.8-1.3 5.8-4.2 1.1-3.2 1.1-12 1-17.3-1.8 1-4.7 2-9.9 2.4z" fill="url(#A)"/><path d="M41.5 148.8
c-.8 1.5-2.7 2.3-5.9 2.5-3.4.2-5.8-.3-7-1.5-.2-.2-.3-.4-.4-.6-1.1.5-1.7 1.3-1.6 2 .2 1.4 2.9 2.7 8.4 2.3 8-.5 9.5-2.9 9.8-3.7.2-.6 0-1.1-.1-1.2-.4-.4-1.6-.7-2.8-.9-.1.5-.2.8-.4 1.1z" fill="#FFF"/><path d="M85.3 156c.8-2.2.7-4.1.4-5.2-.1.3-.3.6-.5.9h.1c.3 0 .5.3.5.6-.2 1.1-2.1 2.4-2.6 2.8-.1.1-.2.1-.3.1-.2 0-.4-.1-.5-.3 0-.1-.1-.1-.1-.2-.2.1-.3.1-.5.2-1.1.4-2.3.7-2.8 2.1-.6 1.7.6 3 .6 3.1.2.2.2.6 0 .8-.1.1-.2.1-.4.1s-.3-.1-.4-.2c-.1-.1-1.6-1.8-.9-4.2.6-1.9 2.2-2.4 3.4-2.8-.1-.5-.1-1-.2-1.5-1.6 1.5-4.4 3-9.3 4.2-2.3.6-4.1.8-5.6.8-.7 0-1.3-.1-1.9-.1 3.2 4.1 6.2 8.2 6.8 10 2.5 1 4.3-.2 4.3-.2.3-.2.6-.1.8.2.2.3.1.6-.2.8-.1 0-1.2.8-2.9.8-.6 0-1.2-.1-1.9-.3 0 .4-.1 1-.2 1.5-.2 1.8-.6 4.8 0 5.9.3.3 2.3.5 4.9-.3 3-.9 5.1-2.6 5.6-4.4.6-2.2.5-6.9.2-11.4-.2 0-.3.1-.3.1-.3.1-.6-.1-.7-.4-.1-.3.1-.6.4-.7.3-.1 3.4-.9 4.2-2.8z" fill="url(#B)"/></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/figure_private.svg b/browser/extensions/onboarding/content/img/figure_private.svg
deleted file mode 100644
index f90163e4b4d7..000000000000
--- a/browser/extensions/onboarding/content/img/figure_private.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="289" height="237" viewBox="0 0 289 237" xmlns="http://www.w3.org/2000/svg"><title>private-browsing</title><defs><linearGradient x1="12.376%" y1="17.359%" x2="82.943%" y2="91.352%" id="a"><stop stop-color="#E60024" offset="0%"/><stop stop-color="#ED00B5" offset="51.53%"/><stop stop-color="#8000D7" offset="100%"/></linearGradient><linearGradient x1="-3.914%" y1=".14%" x2="98.417%" y2="106.522%" id="b"><stop stop-color="#E60024" offset="0%"/><stop stop-color="#ED00B5" offset="51.53%"/><stop stop-color="#8000D7" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M-30-29h352v303H-30z"/><g fill-rule="nonzero"><g><ellipse fill="#EDEDF0" cx="226.9" cy="229.8" rx="54.2" ry="6.7"/><g fill="#D7D7DB"><path d="M195.6 79.5h-76.5c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h76.5c.6 0 1.1.5 1.1 1.1 0 .6-.4 1.1-1.1 1.1zM148.7 73.8h-19.2c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h19.2c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zM260.7 84.5h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0
.6.2.6.6 0 .4-.3.6-.6.6zm-5.6 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-12.3 0h-13.4c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-23.4 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5.6 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-12.3 0h-13.4c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zm-23.4 0H177c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5.6 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-12.2 0h-13.4c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6z"/></g><g transform="translate(171 26)"><path d="M31.5 4.5c0 .1 0 .1-.1.2l-3.7.6-2.3.4c-.1 0-.1 0-.2-.1l-.7-4.2c0-.1 0-.1.1-.2l6-.9c.1 0 .1 0 .2.1l.7 4.1z" fill="#D7D7DB"/><path d="M35 26.7L5.2 31.4c-.8.1-1.5-.4-1.7-1.2L.2 9.2c-.1-.8.4-1.5 1.2-1.7l29.8-4.7c.8-.1 1.5.4 1.7 1.2l3.3 21c.1.8-.4 1.5-1.2 1.7z" fill="#D7D7DB"/><path d="
M32.1 9.4s-.1.1 0 0l-4.8.8h-.1l-.3-1.9s0-.1.1-.1l4.7-.7h.1l.3 1.9z" fill="#F9F9FA"/><circle transform="rotate(-8.946 119.14 -7.38)" cx="2.592" cy="2.794" r="1.7" fill="#F9F9FA"/><circle transform="rotate(-8.946 52.95 -31.036)" cx="11.1" cy="10.705" r="9.3" fill="#F9F9FA"/><path d="M17.2 10.9c-3.2.5-5.4 3.5-4.9 6.7s3.5 5.4 6.7 4.9 5.4-3.5 4.9-6.7c-.5-3.3-3.5-5.4-6.7-4.9z" fill="#D7D7DB"/><circle fill="#F9F9FA" transform="rotate(-8.946 19.487 14.795)" cx="19.487" cy="14.795" r="1.1"/></g><g transform="translate(46)"><path d="M30.4 4.8c0 .1 0 .1-.1.1l-3.6.3-2.2.2c-.1 0-.1 0-.1-.1L24 1.2c0-.1 0-.1.1-.1l5.8-.5c.1 0 .1 0 .1.1l.4 4.1z" fill="#D7D7DB"/><path d="M32.3 26.2L3.5 28.7c-.8.1-1.4-.5-1.5-1.3L.2 7.1c-.1-.8.5-1.4 1.3-1.5l28.8-2.5c.8-.1 1.4.5 1.5 1.3l1.8 20.3c0 .7-.6 1.4-1.3 1.5z" fill="#D7D7DB"/><path d="M30.6 9.4c0 .1 0 .1 0 0l-4.7.5c-.1 0-.1 0-.1-.1l-.2-1.9s0-.1.1-.1l4.6-.4c.1 0 .1 0 .1.1l.2 1.9z" fill="#F9F9FA"/><circle transform="rotate(-4.97 187.782 -12.435)" cx="2.497" cy="2.6
01" r="1.7" fill="#E1E1E6"/><circle transform="rotate(-4.97 70.888 -67.624)" cx="9.799" cy="10.501" r="8.9" fill="#F9F9FA"/><path d="M16.3 9.9c-3.1.3-5.4 3-5.1 6.1.3 3.1 3 5.4 6.1 5.1 3.1-.3 5.4-3 5.1-6.1-.3-3.1-3-5.4-6.1-5.1z" fill="#D7D7DB"/><circle fill="#F9F9FA" transform="rotate(-4.97 18.195 13.8)" cx="18.195" cy="13.8" r="1"/></g><path d="M170.8 55.2h24.5s-7.7-17.2 8.6-19.4c14.5-2 20.3 13 20.3 13s1.7-8.6 10.4-7c8.5 1.6 14.8 15.3 14.8 15.3h21.4" fill="#F9F9FA"/><path d="M271.2 53.1h-8.6c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h8.6c.3 0 .6.2.6.6 0 .3-.3.6-.6.6zm-18.6 0h-1.1c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.1c.3 0 .6.2.6.6-.1.3-.3.6-.6.6zm-56.9-.7h-2.2c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.4c0-.1-.1-.2-.1-.3-.1-.3 0-.6.3-.7.3-.1.6 0 .7.3.2.6.4 1 .4 1 .1.2.1.4 0 .5-.1.3-.3.4-.5.4zm-11.1 0h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm63.8-1.8c-.2 0-.4-.1-.5-.3-.6-1-1.2-1.9-1.9-2.7-.2-.2-.1-.6.1-.8.2-.2.6-.1.8.1.7.9 1.3 1.8 1.9 2.8.2.3.1.6-.2.8 0 .1-.1.1-.2.1zm-5
4.2-3.5c-.3 0-.5-.2-.5-.5-.1-.4-.1-.7-.2-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.2 1.1 0 .2-.2.5-.6.6zm28.8-4.2c-.2 0-.4-.1-.5-.3l-.6-.9c-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.2.3.4.7.6 1 .2.3.1.6-.2.8-.1-.1-.2 0-.3 0zm17.3-1.4c-.1 0-.2 0-.3-.1-1.7-1.2-3.4-2-5.1-2.4-.7-.1-1.4-.2-2-.2-1.8 0-3.3.5-4.6 1.5-.2.2-.6.2-.8-.1-.2-.2-.2-.6.1-.8 1.5-1.2 3.3-1.8 5.3-1.8.7 0 1.5.1 2.2.2 1.8.4 3.7 1.2 5.6 2.5.2.2.3.5.1.8-.1.3-.3.4-.5.4zm-20.7-3.1c-.1 0-.3-.1-.4-.2-.8-.8-1.6-1.5-2.4-2.1-.2-.2-.3-.5-.1-.8.2-.2.5-.3.8-.1.9.7 1.8 1.4 2.6 2.3.2.2.2.6 0 .8-.2.1-.3.1-.5.1zm-23.1-1.8c-.1 0-.3 0-.4-.2-.2-.2-.2-.6 0-.8 1.8-2 4.6-3.2 8.2-3.7 1.6-.2 3.2-.2 4.7-.1.3 0 .5.3.5.6s-.3.5-.6.5c-1.4-.2-2.9-.1-4.5.1-3.3.5-5.9 1.6-7.5 3.4-.1.1-.2.2-.4.2z" fill="#D7D7DB"/><path d="M271.9 57.4H170.8c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1H272c.6 0 1.1.5 1.1 1.1-.1.6-.6 1.1-1.2 1.1z" fill="#F9F9FA"/><g><path d="M26.5 27h13.7s-4.3-9.5 4.8-10.8c8.1-1.1 11.3 7.2 11.3 7.2s1-4.8 5.8-3.9c4.7.9 8.2 8.5 8.2 8.5h11.9" fill="#F9F9FA"/><pat
h d="M40.3 25.5H26.9c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm41.5-.2h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5.6 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-19.6-3.4c-.2 0-.4-.1-.5-.4 0 0-.1-.4-.4-.9-.1-.3 0-.6.2-.8.2-.1.4-.1.6 0 .7-1.5 2.2-3.2 4.7-3.2.4 0 .8 0 1.3.1 1.4.3 2.9 1 4.3 2.2.2.2.3.6.1.8-.2.2-.6.3-.8.1-1.3-1.1-2.5-1.7-3.8-2-.4-.1-.7-.1-1.1-.1-3.3 0-4 3.4-4 3.5 0 .2-.2.4-.4.4-.1.3-.1.3-.2.3zm-16-4.8c-.1 0-.2 0-.3-.1-.3-.2-.3-.5-.1-.8.7-1 1.7-1.7 2.9-2.1.3-.1.6 0 .7.3.1.3 0 .6-.3.7-1 .4-1.8 1-2.4 1.7-.2.3-.4.3-.5.3zm8.1-2.3h-.1c-.3-.1-.7-.1-1-.1-.3 0-.5-.3-.5-.6s.3-.5.6-.5c.4 0 .8.1 1.2.2.3.1.5.4.4.7-.1.1-.3.3-.6.3z" fill="#D7D7DB"/><path d="M83 29.3H26.7c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1H83c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1z" fill="#F9F9FA"/></g><g><path d="M6.5 172.2c-2.8 0-5-2.1-5-4.8v-118c0-2.9 2.4-5.3 5.3-5.3h126.7c2.9 0 5.3 2.4 5.3 5.3v118c0 2.6-2.3 4.8-5 4.8H6.5z" f
ill="#FFF"/><path d="M133.5 45.1c2.3 0 4.2 1.9 4.2 4.2v118c0 2-1.8 3.7-3.9 3.7H6.5c-2.2 0-3.9-1.6-3.9-3.7V49.4c0-2.3 1.9-4.2 4.2-4.2h126.7v-.1zm0-2.2H6.8c-3.6 0-6.5 2.9-6.5 6.5v118c0 3.3 2.8 5.9 6.2 5.9h127.3c3.4 0 6.2-2.6 6.2-5.9v-118c0-3.6-2.9-6.5-6.5-6.5z" fill="#D7D7DB"/><path d="M133.1 66.2v99.1c0 1-.1 1.2-.1 1.2s-.3.1-1.2.1H8.5c-1 0-1.2-.1-1.2-.1s-.1-.3-.1-1.2V66.2h125.9zm1.2-1.1H6.1v100.2c0 2.1.4 2.5 2.5 2.5h123.3c2.1 0 2.5-.4 2.5-2.5V65.1h-.1z" fill="#D7D7DB"/><g fill="#D7D7DB"><circle cx="3.6" cy="3" r="2.9" transform="translate(10 52)"/><circle cx="2.9" cy="3" r="2.9" transform="translate(20 52)"/><path d="M102 58.3H38.3c-1.7 0-3.1-1.4-3.1-3.1v-.3c0-1.7 1.4-3.1 3.1-3.1H102c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.7-1.4 3.1-3.1 3.1z"/><g><circle cx="3.5" cy="3" r="2.9" transform="translate(114 52)"/><circle cx="3.7" cy="3" r="2.9" transform="translate(123 52)"/></g></g><path d="M88.2 127.5c-7.2 0-12.1-8.6-19-8.6s-12.2 8.6-19 8.6c-8.8 0-15.4-8.3-15.5-22.6-.1-8.9 2.6-11.7 14.1-11.7s14.8
4.7 20.4 4.7c5.6 0 8.9-4.7 20.4-4.7 11.5 0 14.1 2.8 14.1 11.7-.1 14.3-6.7 22.6-15.5 22.6zm-33.8-23.4c-7 .3-9.8 4.4-9.8 5.5 0 1 4.6 3.9 9.1 3.9s9.8-1.7 9.8-3.1c.1-1.7-2.5-6.6-9.1-6.3zm29.6 0c-6.6-.3-9.1 4.6-9.1 6.2 0 1.5 5.3 3.1 9.8 3.1 4.5 0 9.1-2.9 9.1-3.9 0-.9-2.8-5.1-9.8-5.4z" fill="#D7D7DB"/></g></g><path d="M215.6 218.3c.2.5.4.9.6 1.4.4.9.8 1.6 1.2 2.2-.4-.6-.7-1.4-1.2-2.2-.2-.5-.4-.9-.6-1.4z" fill="#FFF"/><g transform="translate(78 151)"><ellipse fill="#EDEDF0" cx="25.2" cy="77.6" rx="21.9" ry="4.3"/><circle fill="#D7D7DB" cx="24.7" cy="37.4" r="6.9"/><path d="M30.2 80.7c-.6 0-1-.4-1.1-1l-4.6-39.3c-4.8 15.4-10.8 34.9-11 36.3 0 .6-.5 1.1-1.1 1.1-.6 0-1.1-.5-1.1-1.2 0-1.3 8.8-29.7 12.7-41.9.2-.5.7-.8 1.2-.8s.9.5 1 1l5.3 44.5c.1.6-.4 1.2-1 1.2-.2.1-.3.1-.3.1z" fill="#D7D7DB"/><path d="M35 75.4c-.5 0-1-.3-1.1-.8L23.8 35.3c-.2-.6.2-1.2.8-1.4.6-.2 1.2.2 1.4.8L36.1 74c.2.6-.2 1.2-.8 1.4H35zM38.9 5.7c0 .1 0 .2-.1.2l-4.6.9-2.8.6c-.1 0-.2 0-.2-.1l-1-5.3c0-.1 0-.2.1-.2L37.7.3c.1 0 .2 0 .
2.1l1 5.3z" fill="#D7D7DB"/><path d="M44.4 33.2l-37 7.3c-1 .2-1.9-.4-2.1-1.4L.1 13c-.2-1 .4-1.9 1.4-2.1l37-7.3c1-.2 1.9.4 2.1 1.4l5.2 26.1c.2 1-.4 1.9-1.4 2.1z" fill="#D7D7DB"/><path d="M39.5 9.7c0 .1 0 .1-.1.1L33.5 11c-.1 0-.1 0-.2-.1l-.6-3.2c0-.1 0-.1.1-.1l5.9-1.2c.1 0 .1 0 .2.1l.6 3.2z" fill="#F9F9FA"/><circle transform="rotate(-11.21 127.568 -5.075)" cx="3.292" cy="3.304" r="2.2" fill="#F9F9FA"/><circle transform="rotate(-11.21 54.056 -27.865)" cx="13.892" cy="14.489" r="11.7" fill="#F9F9FA"/><path d="M21.4 14.3c-4 .8-6.5 4.6-5.8 8.6.8 4 4.6 6.5 8.6 5.8 4-.8 6.5-4.6 5.8-8.6-.7-4-4.6-6.6-8.6-5.8z" fill="#D7D7DB"/><path d="M21.8 16.1c-2.9.6-4.8 3.4-4.3 6.4.6 2.9 3.4 4.8 6.4 4.3 2.9-.6 4.8-3.4 4.3-6.4-.6-3-3.5-4.9-6.4-4.3zm2.9 4.4c-.7.1-1.4-.3-1.6-1-.2-.7.3-1.4 1-1.6.7-.1 1.4.3 1.6 1 .2.7-.3 1.4-1 1.6z" fill="#F9F9FA"/></g><g><path d="M281 118c.4-.9 1.4-1.3 2.3-.9.2.1.4.2.5.4-.1-.2-.3-.3-.5-.4-.2-.1-.5-.2-.7-.2-.7 0-1.3.4-1.6 1.1l-.1.1.1-.1zM265.6 124.8c0 .1 0 .1.1.2h-.1.1c0-.1-.1-
.2-.1-.2zM277.6 116.2c.1-.9.9-1.7 1.8-1.6.4 0 .6.2.8.4-.2-.2-.4-.3-.8-.4h-.1c-.9 0-1.6.7-1.7 1.6 0 0 0 .5-.1 1.2.1-.7.1-1.1.1-1.2zM179.4 147.8c-.4-.1-.7-.3-1-.6.2.3.6.5 1 .6zM184.1 82.5c2.8-1.7 11.1.7 17.1 3.9 1.5.8 3.4 1.9 5.1 3.4 3-1.1 6.5-2.1 10.9-2.9 4.4-.8 8.2-1 11.4-.8 1.2-2 2.6-3.8 3.8-5.1 4.6-5.1 11.6-10.1 14.7-9.5 3.7.7 10.7 12.6 10.2 25.1l.1.1c.5-12.6-6.5-24.6-10.3-25.3-.2 0-.4-.1-.6-.1-3.5 0-9.9 4.8-14.2 9.6-1.2 1.3-2.6 3.1-3.8 5.1h-1.7c-2.8 0-5.9.2-9.5.9-4.3.8-7.9 1.8-10.8 2.9-1.8-1.4-3.7-2.6-5.2-3.4-4.6-2.5-10.6-4.5-14.4-4.5-1.2 0-2.1.2-2.8.6-3.3 2-5.8 15.5-1.1 27.1 0-.1.1-.1.1-.2-4.7-11.6-2.3-25 1-26.9zM272.8 116.3c-.5-.9-.1-2.1.8-2.5.9-.5 1.6.7 2.1 1.3.5.5.9.7 1.3 1.4-.4-.7-.8-.8-1.3-1.4-.4-.5-1-1.4-1.7-1.4-.1 0-.3 0-.4.1-.9.4-1.3 1.6-.8 2.5l1.4 2.9.6 1.3-.6-1.3-1.4-2.9zM266.8 122.7c.7-.3 1.2-.9 1.6-1.2.7-.5 2.4-.8 3.3-.6 1 .2 2 .4 2.8.8-.9-.4-1.8-.6-2.8-.8h-.5c-.9 0-2.2.3-2.8.7-.4.2-.9.8-1.6 1.1-.3.1-.6.3-.9.5.3-.2.6-.4.9-.5zM180.6 127.8c0 .3.1.6.1.9.1.6.2 1.2.4 1.7-
.1-.6-.3-1.1-.4-1.7 0-.4 0-.7-.1-.9zM183.5 110.6c0 .1-.1.1-.1.2-.1.2-.1.3-.2.5.1-.2.2-.5.3-.7zM206.3 174.4c-1.3 3.9-2.3 7.7-2.9 11.2.6-3.6 1.6-7.6 3-11.5-.1.2-.1.2-.1.3zM166.4 141.2c-.3-.4-.3-.7-.7-1.3.4.6.4.9.7 1.3zM168.8 133.7h-.2c.3 0 .6 0 .8.1-.1-.1-.4-.1-.6-.1zM171 135.2c.2-1 .6-1.3.9-2 .3-.7.6-2 1.7-1.9.5.1.9.4 1.2.8-.3-.4-.7-.7-1.2-.8h-.2c-.9 0-1.2 1.2-1.5 1.9-.4.7-.8.9-.9 2 0 .2-.1.4-.1.7 0-.3 0-.5.1-.7zM167.8 137.6c-.1-.5-.1-1.2-.2-1.8-.2-.9-.3-1.6.6-2 .1 0 .1 0 .2-.1h-.2c-.9.3-.8 1.1-.6 2 .1.7.1 1.3.2 1.9l-.1-.1c-.3-.4-.8-.6-1.3-.6h-.2c.5-.1 1.1.1 1.5.6l.1.1zM199.5 161.1l-.2.2c-.5.4-1.2.7-1.8.7-.8 0-1.6-.4-2.2-1-.1-.1-2.7-3.3-4.4-7.2-.6-1.5-1.2-3-1.7-4.4-.4.9-.8 1.7-1.4 2.4.1.3.1.6.1.9 0 .3.5 6.4 6.5 8.9 1.8.8 3.6 1.1 5.4 1.1 3.3 0 6-1.2 7.9-2.4-2.8.5-5.5.8-7.5.8h-.7zM171.2 146.5s.1 0 0 0c.1 0 0 0 0 0zM259.3 150.6c-1.4.6-3.2 1.1-5.1 1.5 1.9-.1 3.7-.5 5.4-1.3-.2-.1-.2-.2-.3-.2zM266.1 138.4c-.1-.3-.1-.6-.2-1-.2-.1-.4-.3-.6-.5 0 1.3-.1 2.6-.1 3.9-.1 2.4-.6 4.6-1 6.2 2.9-3.9 1
.9-8.4 1.9-8.6zM172.9 149.4c.1.3.3.5.5.7-.2-.2-.4-.5-.5-.7zM185 139.2l-.6.1.6-.1zM180.7 137.2c.5.1 1.2.6 1.9.6.5.1 1.2.1 1.6.7-.4-.6-1-.6-1.6-.7-.7-.1-1.4-.5-1.9-.6-.3-.1-.6-.1-.9-.1-.9 0-1.9.2-2.4.5-.6.3-1.1.6-1.6 1 .5-.4 1.1-.7 1.6-1 .8-.5 2.5-.7 3.3-.4zM165.3 137.3c.1-.1.1-.1.2-.1-.1 0-.2 0-.2.1-.6.5-.6 1.2-.1 1.9-.5-.7-.5-1.3.1-1.9zM154.9 192c0-.2.1-.3.2-.5.3-.2 4.6-3.8 12.5-6.1.1-.2.2-.3.4-.4.3-.1.6-.1.9 0 2.2-.6 4.7-1 7.5-1.3l.3-.3c.5-.3 1.1-.2 1.4.2.3 0 .7-.1 1-.1 2.2-.1 4.3 0 6.3.1.3-.2.6-.3.9-.3.1 0 .3.1.6.3 3 .2 5.6.7 7.8 1.2.4-.4 1-.4 1.4-.1 0 0 .3.2.6.6 2.7.7 4.5 1.4 5.5 1.9v-.1c-.9-.4-2.7-1.1-5.3-1.8-.4-.4-.7-.6-.7-.7-.2-.2-.5-.3-.8-.3-.3 0-.6.1-.9.4-2.1-.5-4.7-.9-7.6-1.1-.3-.3-.5-.4-.7-.4h-.2c-.3 0-.6.1-.9.3-1.2-.1-2.5-.1-3.8-.1H179c-.3 0-.6 0-.9.1-.2-.3-.6-.5-1-.5-.2 0-.4.1-.7.2-.2.1-.3.2-.4.4-2.6.2-5.1.7-7.3 1.2-.2-.1-.4-.2-.6-.2-.2 0-.3 0-.5.1s-.4.3-.5.5c-7.8 2.3-12.1 5.9-12.4 6.1.2.3.1.5.2.7-2.4 1.7-4.1 3.7-4.5 5.9-.1.5-.1 1.1-.1 1.6 0-.5 0-1 .1-1.6.5-2.2 2.2-4.2 4
.5-5.9zM246.5 220.3c.1-1.9.2-5.6.3-9.1-.1 3.4-.2 7.2-.3 9.1 0 1 0 1.8.2 2.3-.1-.6-.2-1.4-.2-2.3zM208.9 217.4c.2.5.4.9.6 1.4.4.9.8 1.6 1.2 2.2-.4-.6-.7-1.4-1.2-2.2-.2-.4-.4-.9-.6-1.4z" fill="#FFF"/><path d="M285.4 113.6c-.4-.2-.7-.3-1.1-.4-1.3-2.1-3.4-2.4-4.3-2.5h-.5c-.6 0-1.2.1-1.8.3-.8-.6-2-1.2-3.4-1.2-.8 0-1.6.2-2.4.6-.7.3-1.2.7-1.7 1.2-1.3-5.5-4.1-10.6-8.1-14.9.3-13.8-7.2-27.9-13.9-29.2-.5-.1-1-.1-1.5-.1-6 0-13.9 7-17.6 11.1-.8.9-1.9 2.2-2.9 3.6-3.1 0-6.3.4-9.6.9-3.3.6-6.4 1.3-9.3 2.3-1.4-1-2.8-1.8-3.8-2.3-4.3-2.3-11.2-5-16.5-5-2.1 0-3.8.4-5.1 1.2-5.8 3.5-8.1 19.3-3.1 32.2-2.3 5.4-3.1 11.2-2.5 16.8-.6-.3-1.2-.5-1.9-.6-.3-.1-.6-.1-.9-.1-1.4 0-3.1.5-4.5 2.4-.8 0-1.5.1-2.2.4-.8.3-2.7 1.3-3.3 3.6-.3.2-.6.4-.9.7-2.1 1.8-3 5.1-.3 8.4v.1c.2.4.5 1.1 1.1 1.9.1.1.3.4.6.7 1 1.2 1.8 2.1 2.3 2.7l.7.7.6.6c.4 1 .9 1.8 1.5 2.6.1.1.2.3.3.4.2.3.4.5.5.8 1.4 1.9 2.9 3.2 4.5 4.2 1.1 4.9 4.5 13.3 14.6 17.6 3.6 1.5 7.3 2.3 11.1 2.3h.9c-.5 1.6-.8 3.1-1.2 4.6-.1 0-.2-.1-.3-.1-.1-.1-.1-.1-.2-.1-1-.8-2.3-1
.3-3.6-1.3-.5 0-.9.1-1.4.2-1.8-.3-3.7-.6-5.6-.8-.4-.2-.9-.4-1.3-.5-.4-.1-.7-.1-1.1-.1-.6 0-1.2.1-1.8.3-1 0-1.9-.1-2.9-.1h-2.1c-.7-.3-1.4-.4-2.1-.4-1 0-2 .3-2.8.8-1.9.2-3.7.5-5.5 1h-.6c-.8 0-1.6.2-2.4.5-.4.2-.7.4-1 .6-7.9 2.5-12.4 6.2-12.9 6.6-.4.3-.8.7-1 1.2-2.8 2.3-4.5 4.9-5.1 7.7-1.3 6.3 3.3 12.9 12.1 17.4.2.4.5.9.8 1.2 1.1 1.3 2.7 2 4.3 2 .7 0 1.3-.1 1.9-.3 2.3.7 4.7 1.3 7.1 1.6l.1.1c1 .8 2.3 1.3 3.6 1.3 1.1 0 2.2-.3 3.2-.9.8 0 1.6-.1 2.4-.1 1.9-.2 3.7-.4 5.6-.8.1 0 .2.1.3.1.8.3 1.6.5 2.4.5 1.9 0 3.7-1 4.8-2.6 1.4-.5 2.7-1 4.1-1.5.6.2 1.3.3 1.9.3.9 0 1.8-.2 2.6-.6.7 2.3 1.5 4.3 2.4 6.2 2.8 5.5 4.9 8.5 8.3 8.5 1.3 0 2.6-.5 3.6-1.5 1.6-1.7 1.8-4 1.7-6.1 0-1.1-.1-2.8-.1-4.7 1.2.2 2.4.3 3.7.4 1.9.2 3.9.2 5.7.2 4.9 0 9.6-.5 13.8-1.5 0 1.6-.1 3-.1 4-.1 2.1.1 4.4 1.7 6.1.9 1 2.2 1.5 3.6 1.5 3.4 0 5.5-3 8.3-8.5 2.5-5 3.6-10.7 4.1-14.8 3-8.3.5-23.5-2.4-31.9-.7-2.1-1.5-4.2-2.2-6.2 6.1-.3 11.7-2.5 16.6-6.6 8.3-7.1 9.1-16.1 8.8-21.1 1.2-1.3 2.3-3.1 3-5.3l.3-.9c.1-.2.1-.3.2-.5.3-.9.5-1.9.7-2.
9l.5-.9.4-.8c.3-.7.8-1.8 1.5-3.2.1-.3.3-.6.3-.8.4-.9.5-1.7.5-2.1v-.1c1.5-4.3-.3-7.2-2.8-8.3z" fill="#F9F9FA"/><path d="M183.3 144.3c.3 1.5-.5 2.9-1.9 3.5-.4.2-.8.2-1.2.2h-.5c.5.1 1.1 0 1.6-.2 1.5-.6 2.3-2.1 2-3.5-.1-.7.1-1.3.4-1.8-.3.4-.5 1.1-.4 1.8zM164.1 212.7c-.2.2-.5.3-.7.3-.3 0-.6-.1-.8-.4-.3-.3-.3-.8-.2-1.2 0 0-.1 0-.1-.1-.2.4-.1 1 .2 1.3.2.3.6.4 1 .4.1.1.4 0 .6-.3.1.1.3-.1.6-.4h-.1c-.3.3-.5.4-.5.4zM176.9 215.2c-.2.3-.5.4-.9.4-.2 0-.5-.1-.7-.3-.2-.2-.3-.4-.4-.7h-.2c0 .3.2.6.4.8.2.2.5.3.8.3.5.1.9-.1 1-.5.1 0 .3-.1.4-.4h-.1c-.1.3-.2.4-.3.4zM205.9 205.9c.1 1.1.3 2.3.6 3.6-.2-1.3-.4-2.5-.6-3.6.1 0 0 0 0 0zM190.8 213.7c-.2.4-.6.7-1 .7-.2 0-.3 0-.5-.1-.3-.2-.6-.5-.6-.8h-.1c.1.4.3.7.7.9.2.1.3.1.5.1.5 0 .9-.3 1.1-.7 0-.1.2-.4.4-1h-.2c-.1.5-.2.9-.3.9zM201.6 210c-.2.4-.6.6-1 .6-.2 0-.3 0-.5-.1-.3-.2-.5-.5-.6-.9 0 0-.1 0-.1.1.1.4.3.7.6.9.2.1.4.1.6.1.5 0 .9-.2 1.1-.7 0-.1.4-.8.8-2-.1 0-.1.1-.2.1-.4 1.2-.7 1.8-.7 1.9zM271.1 131.8h-.3c-.9-.1-1.7-.6-2.3-1.3.5.7 1.3 1.2 2.3 1.3 1.7.1 3.2-1.1
3.4-2.9.1-.8-.2-1.7-.6-2.4.5.7.7 1.6.6 2.4-.1 1.7-1.5 2.9-3.1 2.9zM197.7 158.4c.1.2.2.3.2.3.2.2.2.6 0 .8-.1.1-.2.2-.4.2-.1 0-.3-.1-.4-.2 0 0-.4-.4-.8-1 .4.6.7.9.8 1 .1.1.3.2.5.2.1 0 .3 0 .4-.1.3-.2.3-.6.1-.9.6.1 1.4.2 2.3.2 3 0 7.6-.7 12-1.9l-.1-.1c-4.6 1.2-9 1.9-11.9 1.9-1.2-.1-2.1-.2-2.7-.4zM191.5 146.3c.5 1.6 1.1 3.4 1.8 5.2-.5-1.5-.9-3-1.2-4.7-.2-.1-.4-.3-.6-.5zM181.1 143.8h-1.5c-.2.4-.2.9-.1 1.4.2.4.5.6.8.6.1 0 .2 0 .3-.1.4-.2.6-.6.5-1v-.9zM244.6 151s0 .1-.1.1c6.9-.5 13.9-2.1 15.9-3.7-.1.3-.2.5-.2.5-.1.3.1.7.4.8h.2c.3 0 .5-.2.6-.4 0-.1.6-1.6 1-3.8-.5 2.1-1 3.6-1.1 3.7-.1.2-.3.4-.5.4h-.2c-.3-.1-.4-.4-.3-.7 0 0 .1-.4.3-1 0 0 0 .1-.1.1-1.3 1.7-8.3 3.5-15.9 4zM264.4 132.1c.1.2.2.5.3.7-.1-.2-.2-.4-.3-.7-.3-.6.1-1.8 0-2.5 0-.3-.1-.6-.1-.8 0 .3 0 .5.1.8.1.8-.2 1.9 0 2.5zM212.1 159.6c.3-.7.6-1.3.9-1.9-.3.6-.6 1.2-.9 1.9zM262.1 133.6c-.1.2-.2.4-.4.6.2 1.7.3 3.4.4 4.9.1-2 0-3.9 0-5.5z" fill="#FFF"/><path d="M271.1 129.6c.5 0 .9-.4 1-.8 0-.5-.2-1-.5-1.3l-1.5.5c.1.3.1.5.2.8 0 .4.3.8.8.8z"
fill="#FFF"/><path d="M196.3 184.9c-.4-.3-1-.3-1.4.1-2.2-.5-4.8-.9-7.8-1.2-.2-.2-.4-.3-.6-.3-.3-.1-.7 0-.9.3-1.9-.1-4-.1-6.3-.1-.4 0-.7 0-1 .1-.4-.4-1-.5-1.4-.2l-.3.3c-2.7.3-5.2.7-7.5 1.3-.3-.1-.6-.2-.9 0-.2.1-.3.2-.4.4-7.8 2.3-12.2 5.9-12.5 6.1-.1.1-.2.3-.2.5 0 .1 0 .2.1.3.1.1.3.2.4.2.1 0 .3 0 .4-.1.1 0 4.2-3.5 11.7-5.7.3.8 2.2 5.7.6 13.1-1.7 7.9-5.5 11.3-5.5 11.3-.1.1-.2.2-.3.4-.2.4-.1.9.2 1.2.2.3.5.4.8.4.3 0 .5-.1.7-.3l.4-.4c1.1-1.2 4.2-4.9 5.8-12.1 1.6-7.4 0-12.6-.6-14.1 2-.5 4.3-.9 6.7-1.2v.1c0 .1 3.5 5.6 2.9 15-.6 9.3-4.1 13.8-4.2 13.8-.2.3-.3.6-.2.9 0 .3.2.5.4.7.2.2.5.3.7.3.3 0 .6-.1.9-.4 0 0 .1-.2.3-.4.9-1.3 3.9-6.1 4.4-14.7.5-7.9-1.7-13.3-2.7-15.4h.4c2.1-.1 4 0 5.9.1.1.2.2.5.5.7.1.1.1.1.2.1.9.9 4.4 5 5 11.8.8 8.8-2 15.3-2.1 15.3-.1.2-.1.4-.1.6.1.4.3.7.6.8.1.1.3.1.5.1.4 0 .8-.2 1-.7 0-.1.2-.4.4-.9.8-2.2 2.6-8 1.9-15.5-.6-5.8-3-10.1-4.8-12.2 2.4.2 4.5.6 6.3 1 .1.2.2.4.4.6 0 0 4.1 3.3 5.5 9.6 1.7 7.6-.8 12.7-.8 12.8-.1.2-.1.4-.1.6 0 .4.2.7.6.9.2.1.3.1.5.1.4 0 .8-.2 1-.6 0-.1.4
-.7.7-1.8.7-2.3 1.6-6.7.3-12.5-.9-4-2.7-6.9-4.2-8.7 2.3.7 3.7 1.3 4.1 1.5 0-.5-.1-.9-.1-1.3-1-.4-2.8-1.2-5.5-1.9-.5-.5-.8-.7-.8-.7zM240.9 161.8c-2.2 1.7-5.8 3.7-11 4.4-5.7.8-10.2-.7-12.9-2.1-4.7 6.9-9.4 17.7-9.1 27.9.4 16.8 14.5 19.1 23.7 18.7 6-.3 11.7-2.4 15.5-6.7v-.1l.1-.1c2-2.3 3.4-5.1 4.1-8.6 1.9-10.3-2.7-20.6-6.9-28.5-1.1-1.9-2.3-3.6-3.5-4.9zM183.7 110.2c-.1.1-.1.2-.2.3.1 0 .2-.1.2-.3zM185.2 84.4c.3-.2.8-.3 1.5-.3 2.7 0 8.1 1.4 13.4 4.2 1.4.8 2.7 1.6 3.8 2.4-7.2 3.2-9.7 6.7-9.8 6.9-.2.3-.1.6.1.8.1.1.2.1.3.1.2 0 .3-.1.5-.2.1-.1 5.2-7.3 22.4-10.3 17.1-3 24.8 2.9 24.9 3 .2.2.6.2.8-.1.2-.2.2-.6-.1-.8-.2-.2-4-3.1-11.9-3.9.8-1.2 1.8-2.5 3-3.8 4.8-5.3 10.5-8.8 12.4-8.8h.2c2.1.4 8.4 10.1 8.4 21.3.7.5 1.4 1 2.2 1.6.5-12.5-6.4-24.3-10.2-25.1-3.2-.6-10.2 4.4-14.7 9.5-1.2 1.3-2.6 3.1-3.8 5.1-3.2-.1-7 .1-11.4.8-4.4.8-7.9 1.8-10.9 2.9-1.8-1.4-3.7-2.6-5.1-3.4-6-3.2-14.3-5.5-17.1-3.9-3.2 2-5.7 15.3-1.1 26.8.5-.8 1-1.6 1.5-2.2-3.7-10.4-1.1-21.5.7-22.6zM193.3 151.5c.1.2.2.4.3.7 1.2 2.9 3.4 5.5
4.1 6.3.6.2 1.5.3 2.6.3 2.9 0 7.3-.6 11.9-1.9-1.4-1.8-1.6-3.8-1.6-3.8v-.1c0-.1-.1-.3-.1-.4l-.1-1.2v-.4c-1.1.3-2.2.4-3.4.2l-2.5.4c-6.1 1.1-11.9-3-12.9-9l-.2-1.3h-.2c.2 1.8.5 3.8.9 5.6.3 1.6.8 3.1 1.2 4.6z" fill="#F9F9FA"/><path d="M196.3 124.7c.7-5 5.3-8.5 10.3-7.9l4.9.7c3.3.5 6 2.7 7.2 5.6 1.1-.8 2.4-1.4 3.8-1.6 1.4-.2 2.7-.2 4 .2.3-2.3 1.5-4.6 3.5-6.1l4-3c4-3.1 9.8-2.3 12.8 1.7l3.8 5 4.7-.8c.8-.1 1.6.4 1.8 1.2.1.7-.2 1.3-.8 1.6.8.6 1.4 1.7 1.7 3.3l1 5.8c1.1 6.1-3 11.9-9 12.9l-1.7.3c-1.1.4-2.3.6-3.5.6l-.5.1h-.3s0 .1.1.1l.1.1c0 .1.1.2.1.3l.2.5s.1.2.1.3l.1.4c0 .2.1.3.1.4l.1.6V148.4c0 .9-.2 1.7-.4 2.5 7.7-.5 14.6-2.3 16-3.9 0 0 0-.1.1-.1.5-1.5 1.3-4.6 1.4-7.3v-.6c0-1.6-.1-3.2-.4-4.9-.2-1.8-.6-3.6-1-5.4l-1.8.3-.5-3 1.4-.3c-.5-1.6-1.2-3.2-2.1-4.7 0-.2 0-.4-.1-.6-2.6-14.6-19.6-23.8-38-20.6-17.4 3.1-29.9 16.2-29 30l5.1-.9.7-4.2z" fill="#F9F9FA"/><path d="M210.5 150.9v-.1-.3h-.2l-3.2.6c1.1.1 2.3 0 3.4-.2zM245 144.3c1.2 0 2.3-.2 3.5-.6l-3.5.6zM229.5 159.8s.1 0 0 0z" fill="#D9EBFF"/><path d="
M43.7 146.5h-.1c-1.7.4-3.6.8-5.4 1h-.1c-.6.1-1.2.2-1.9.2-1 .1-1.9.1-2.9.1h-.9-.1c.9-1.3 3.9-6.1 4.4-14.7.5-7.9-1.7-13.3-2.7-15.4h.4c2.1-.1 4 0 5.9.1.1.2.2.5.5.7.1.1.1.1.2.1.9.9 4.4 5 5 11.8.8 8.8-2 15.3-2.1 15.3-.2.3-.2.5-.2.8zm-26.1-2.4s3.8-3.4 5.5-11.3c1.6-7.3-.2-12.3-.6-13.1-7.5 2.3-11.6 5.7-11.7 5.7-.1.1-.2.1-.4.1s-.3-.1-.4-.2c-.1-.1-.1-.2-.1-.3-2.4 1.7-4.1 3.7-4.5 5.9-.1.5-.1 1-.1 1.6v.1c0 .2 0 .4.1.6v.3c0 .2.1.4.1.6 0 .1.1.2.1.3.1.2.1.3.2.5.1.1.1.3.2.4.1.1.1.3.2.4l.3.6c.1.1.1.2.2.3 2 3 5.8 5.8 10.4 7.9 0 0 .1 0 .1.1.2-.3.3-.4.4-.5zm37-2.1s2.6-5.2.8-12.8c-1.4-6.3-5.4-9.6-5.5-9.6-.2-.2-.3-.4-.4-.6-1.8-.4-3.9-.8-6.3-1 1.8 2.2 4.3 6.4 4.8 12.2.7 7.5-1.1 13.4-1.9 15.5h.2c2.9-.9 5.6-1.9 8-3.1 0 0 .1 0 .1-.1.1-.1.1-.3.2-.5zm-24.4 4.8s3.6-4.5 4.2-13.8c.6-9.4-2.9-14.9-2.9-15v-.1c-2.4.2-4.7.6-6.7 1.2.6 1.5 2.2 6.7.6 14.1-1.6 7.2-4.7 10.9-5.8 12.1h.1c3.2 1.2 6.7 2 10.2 2.3h.2c-.2-.2-.1-.5.1-.8zm108.6-96.3c.3.4.3 1.1 0 1.9-.4 1.1-.2 1.4-.5 2-.3.7-1.3 3-1.7 3.8-.1.2-.7 1.2-1.3 2.5 0 .9-.2
1.8-.5 2.7-.1.2-.1.4-.2.6l-.3.9c-.7 1.9-1.8 4-3.6 4.9.5 2.6 1.6 12.4-6.9 19.6-5.1 4.3-10.5 5.6-15.1 5.6-1.4 0-2.8-.1-4-.3-1.2-2.5-2.8-4.8-2.9-4.9-.2-.2-.5-.3-.8-.1-.2.2-.3.5-.1.8 0 0 2.1 2.8 3.2 5.7 0 0 0 .1.1.1.1.2.1.4.2.6l.1.1c1.4 3.4 2.6 6.9 3.7 10.1 2.9 8.6 4.9 23.1 2.2 29.4-.4 3.7-1.4 9.2-3.7 13.9-2.2 4.3-3.5 6-4.3 6h-.2l-.1-.1-.1-.1s0-.1-.1-.1c0-.1-.1-.2-.1-.3-.2-.5-.2-1.3-.2-2.3.1-1.9.2-5.6.3-9.1 2.8-1.3 4.6-2.8 4.6-2.9.2-.2.2-.6 0-.8-.2-.2-.6-.2-.8 0 0 0-1.8 1.6-4.4 2.7-4.6 1.8-10.6 3-17.9 3-1.7 0-3.5-.1-5.4-.2-3.4-.3-6.3-.8-8.7-1.5v.2c-2.1-.9-3.8-2.3-3.8-2.4-.2-.2-.6-.2-.8 0-.2.2-.2.6 0 .8.1.1 2.1 1.9 4.6 2.7.1 3.4.2 7 .3 8.9.1 1.8-.2 3-.8 3-.1 0-.2 0-.3-.1-.1 0-.2-.1-.3-.2l-.1-.1-.3-.3-.1-.1c-.1-.1-.2-.3-.3-.4l-.2-.2c-.1-.1-.2-.3-.3-.5-.1-.1-.2-.2-.2-.4-.1-.2-.2-.3-.3-.5-.1-.2-.2-.3-.3-.5-.1-.1-.2-.3-.2-.4-.4-.6-.7-1.4-1.2-2.2-.2-.5-.4-.9-.6-1.4 0-.1 0-.1-.1-.1-.2-.4-.4-.9-.5-1.3 0-.1-.1-.2-.1-.2-.2-.5-.3-.9-.5-1.4 0-.1 0-.1-.1-.2-.1-.5-.3-.9-.4-1.4 0-.1 0-.1-.1-.2-.1-.5-.
2-.9-.4-1.4v-.1c-.1-.5-.2-1-.3-1.4v-.1c-.2-1.3-.4-2.5-.6-3.5-1 .7-2.2 1.4-3.5 2.1-.1 0-.1.1-.2.1.7-2.3 1.6-6.7.3-12.5-.9-4-2.7-6.9-4.2-8.7 2.3.7 3.7 1.3 4.1 1.5.2 3 .7 7.5 1.4 11.6 0 .3.3.5.5.5h.1c.3-.1.5-.3.5-.6-1-5.8-1.5-12.1-1.6-14.3.6-3.6 1.6-7.6 3-11.5 2.2-6.1 4.2-8.1 4.2-8.1.2-.2.2-.6 0-.8-.2-.2-.6-.2-.8 0-.1.1-1.7 1.7-3.6 6.3-1.9.5-4 .9-6.3.9-2.9 0-6-.6-9.3-2-10.2-4.4-12.1-14.1-12.4-16.7-2-.4-3.6-2-4.8-3.6-.2-.2-.3-.5-.5-.7-.1-.1-.3-.3-.4-.5-.2-.3-.5-.7-.7-1.1 0-.1-.1-.1-.1-.2-.2-.4-.3-.7-.5-1.1v-.1l-2-2c-.6-.6-2.2-2.6-2.7-3.1-.1-.1-.1-.1-.1-.2-.3-.4-.3-.7-.7-1.3-.1-.1-.1-.2-.2-.3-.1-.1-.2-.2-.2-.3-.5-.7-.6-1.4.1-1.9.1-.1.1-.1.2-.1l.1-.1c.1-.1.3-.1.5-.2h.1c.5-.1 1.1.1 1.5.6l.1.1c-.1-.5-.1-1.2-.2-1.8-.2-.9-.3-1.6.6-2 .1 0 .1 0 .2-.1h.2c.3 0 .6 0 .8.1 0 0 .1 0 .1.1.1 0 .2.1.2.1.1.1.2.2.3.2l.1.1c.1.1.2.3.2.4 0 0 .2.5.4 1.1 0-.3.1-.5.1-.7.2-1 .6-1.3.9-2 .3-.7.6-2 1.7-1.9.5.1.9.4 1.2.8.3.4.4.9.3 1.4l-.5 3.2-.4 2.3c-.5.9-1.2 2.1-1.7 3.4-.1.3.1.6.3.7h.2c.2 0 .4-.1.5-.4.7-1.9 1.7-3.5
2.2-4.2.5-.4 1.1-.7 1.6-1 .8-.4 2.5-.6 3.4-.4.5.1 1.2.6 1.9.6.5.1 1.2.1 1.6.7.1.2.2.4.2.8l-.7.1c-.8.1-1.4.9-1.2 1.8 0 .1.1.2.1.3-.2.1-.4.1-.7.1l-3.2-.1c-1.4.7-1.9 2.9-1.3 4.4.1.2.2.4.3.5 0 .1.1.1.1.1.1.1.1.2.2.3l.2.2c.1.1.1.1.2.1.3.3.7.4 1 .6.1 0 .3.1.4.1.5.1 1.1 0 1.6-.2 1.4-.6 2.2-2 1.9-3.5-.1-.7 0-1.3.4-1.9h.5l2.2-.4c.2.4.3 1.1.5 1.7.1.7.8 1.7.8 2.4-.2 1.9-1.2 3.9-2.5 5 .3.5.5 1 .5 1.6 0 .3.6 7.7 7.9 10.8 2.2 1 4.3 1.3 6.3 1.3 6.5 0 11.2-4.1 12.1-5 0-.1.1-.2.1-.3.3-.7.6-1.3.9-1.9.7.6 1.7 1.2 2.9 1.5 3.5 1 5.2.8 5.9.6.7.7 2.8 2.3 5.9 2.3.5 0 1.1-.1 1.7-.2 4.1-.8 6.3-3.7 6.8-4.5 1.1-.3 5.8-2 7.8-5.6l.9.3c.3.1 3.9 2 8.5 2 3.2 0 6.9-.9 10.4-3.8 6.1-5.2 4.4-12.6 4.3-12.6-.1-.6-.1-1.1 0-1.7-.9-.4-1.9-1.2-2.7-2.1-.1-.2-.3-.4-.4-.5-.1-.2-.2-.3-.3-.5 0 0 0-.1-.1-.1-.1-.2-.2-.4-.3-.7-.3-.7.1-1.8 0-2.5 0-.3-.1-.6-.1-.8-.4 1-.8 1.9-1.3 2.9-.1-1.3-.2-2.1-.2-2.1 0-.3-.3-.5-.6-.5s-.5.3-.5.6c0 0 .2 1.6.3 3.9-.1.2-.2.4-.4.6-.2-1.8-.6-3.6-1-5.4l4.9-.9c.5-.1.9-.4 1.1-.8.2.1.3.2.4.3.1.1.2.2.3.4 0 0
0 .1.1.1.1.1.2.3.2.4v.1c.1.2.1.4.1.6.1.6.3 1.1.6 1.5.5.7 1.3 1.2 2.3 1.3 1.7.1 3.2-1.1 3.4-2.9.1-.8-.2-1.7-.6-2.4-.5-.7-1.1-1.3-1.9-1.4l-3.1 1c-.2 0-.4.1-.7.1-.4 0-.8-.1-1.1-.2-.2-.5-.6-.9-1.1-1 0-.1-.1-.1-.1-.2v.2h-.5l-5.2.9c-.5-1.6-1.2-3.2-2.1-4.7 0-.2 0-.4-.1-.6-2.6-14.6-19.6-23.8-38-20.6-17.4 3.1-29.9 16.2-29 30h-.1c-.8.1-1.4.9-1.2 1.8.1.8.9 1.3 1.7 1.3-.5.9-.7 2-.4 3.6l.3 1.5-5.9 1c-.9-1.4-1.7-2.9-2.4-4.4-.1-.3-.2-.5-.3-.8-.1-.2-.1-.4-.2-.6-.1-.4-.3-.7-.4-1.1 0-.1-.1-.3-.1-.4-.1-.5-.3-1-.4-1.5-.1-.6-.3-1.1-.4-1.7-.1-.3-.1-.6-.1-.9 0-.3-.1-.7-.1-1 0-.4-.1-.7-.1-1.1v-.9-1.1-.9c0-.6.1-1.2.1-1.8 0-.3.1-.7.1-1 .1-.3.1-.7.2-1 .1-.3.1-.6.2-1 .1-.3.1-.7.2-1 .1-.4.2-.7.3-1.1.1-.3.2-.6.3-1 .2-.6.4-1.1.6-1.7.1-.3.2-.6.4-.9.1-.3.3-.7.4-1l.3-.6c.1-.1.1-.3.2-.4 2.7-4.5 5.9-7.4 6-7.4.2-.2.3-.6 0-.8-.2-.2-.6-.3-.8 0-.1.1-2.2 2-4.5 5.1-3.7-10.5-1.1-21.6.7-22.7.3-.2.8-.3 1.5-.3 2.7 0 8.1 1.4 13.4 4.2 1.4.8 2.7 1.6 3.8 2.4-7.2 3.2-9.7 6.7-9.8 6.9-.2.3-.1.6.1.8.1.1.2.1.3.1.2 0 .3-.1.5-.2.1-.1 5.2
-7.3 22.4-10.3 17.1-3 24.8 2.9 24.9 3 .2.2.6.2.8-.1.2-.2.2-.6-.1-.8-.2-.2-4-3.1-11.9-3.9.8-1.2 1.8-2.5 3-3.8 4.8-5.3 10.5-8.8 12.4-8.8h.2c2.1.4 8.4 10.1 8.4 21.3-2.6-1.7-4.9-2.6-5-2.7-.3-.1-.6 0-.7.3-.1.3 0 .6.3.7.1 0 5.2 2.1 9.1 6l.2.2c1 1.1 1.9 2.3 2.7 3.5 0 .1.1.1.1.2.4.6.7 1.2 1.1 1.7l.1.1c.7 1.3 1.3 2.6 1.8 4 0 .1.1.2.1.3.2.6.4 1.2.6 1.9 0 .1 0 .2.1.3.2.7.3 1.4.5 2.2l.3 2.4c.2 2.4.1 4.8-.3 7.1.3-.2.6-.4.9-.5.7-.3 1.2-.9 1.6-1.2.7-.5 2.4-.8 3.3-.6 1 .2 2 .4 2.8.8 1.8 1.5 3.5 3 3.7 3.4.1.2.3.3.5.3.1 0 .2 0 .2-.1.3-.1.4-.5.2-.7-.4-.8-3.1-3-4.4-4.2L129 52l-1.5-2.9c-.5-.9-.1-2.1.8-2.5.9-.5 1.6.7 2.1 1.3.5.5.9.7 1.3 1.4.1.1.1.2.2.3l.3.6c0-.7.1-1.1.1-1.2.1-.9.9-1.7 1.8-1.6.4 0 .6.2.8.4.3.3.3.8.4 1.4 0 .1 0 .3.1.4 0 .1 0 .2.1.3.1.4.2.7.2 1.1l.1-.1c.4-.9 1.4-1.3 2.3-.9.4.2.6.3.7.5zM99.3 99.7c-1.1-2-2.2-3.6-3.4-5-2.2 1.7-5.8 3.7-11 4.4-5.7.8-10.2-.7-12.9-2.1-4.7 6.9-9.4 17.7-9.1 27.9.4 16.8 14.5 19.1 23.7 18.7 6-.3 11.7-2.4 15.5-6.7v-.1l.1-.1c2-2.3 3.4-5.1 4.1-8.6 1.8-10.2-2.8-20.5-7-28.
4zM66.6 50.5l-4.9-.7c-5-.7-9.6 2.9-10.3 7.9l-.6 4.4 20.9-3.7c.6-.9 1.3-1.6 2.2-2.3-1.3-2.9-4-5.2-7.3-5.6zm22.5-5l-4 3c-2 1.5-3.2 3.7-3.5 6.1 1.1.3 2.1.8 3 1.4l21.2-3.8-3.8-5c-3.1-3.9-8.9-4.7-12.9-1.7zM66.6 85.3l-.1-1.1v-.3-.4l.1-.3c5.3-1.7 8.6-7 7.6-12.6l-.1-.3c.1 0 .2-.1.4-.1l1 5.5c.1.8.9 1.3 1.7 1.2.8-.1 1.3-.9 1.2-1.7l-1.3-7c2.4-1.3 5.4-1.4 7.9 0 .3.2.7.2 1 .2.1 0 .2-.1.3-.1l.1.3c1 5.6 5.9 9.4 11.4 9.2l.2.3c0 .1.1.1.1.2v.1c0 .1.1.2.1.2l.1.4c0 .1.1.2.1.3l.1.5c0 .1 0 .2.1.4v2.6c-.5 2.6-2.6 4.5-5.9 5.2h-.1H92.3c-.1 0-.3.1-.4.1-.5.1-1 .4-1.5.7-.5.3-.9.7-1.2 1.1-.4.4-.7.8-1.1 1.1-.3.4-.7.7-1.1 1l-.9.5-.2.1c-.1 0-.1.1-.2.1l-.2.1h-.1l-.2.1h-.1l-.3.1-.4.1H83c-.5 0-1-.1-1.4-.2-.5-.1-.9-.3-1.4-.5-.5-.2-.9-.5-1.4-.7-.5-.2-1-.5-1.5-.6-.5-.1-1.1-.2-1.7-.1H75.3h-.1-.1-.1c-3.4.6-6.1-.5-7.5-2.8l-.1-.1-.1-.3v-.1l-.1-.1s0-.1-.1-.1l-.1-.4c0-.1 0-.1-.1-.2v-.1-.1l-.2-1c0-.2 0-.3-.1-.4zm9.5-1c.2 1 1 2.3 2.2 2.9.3.2.6.2.9.1.4-.1.8-.3 1-.8.4-.7.1-1.6-.6-2-.3-.2-.6-.7-.7-.8-.2-.8-.9-1.3-1.7-1.2-.7.3-1.3
1-1.1 1.8zm-2.4-17.5l.3-.3-.1-.4c-.1-.8.4-1.6 1.2-1.7.6-.1 1.1.1 1.4.6 3-1.4 6.4-1.4 9.4 0l-.4-2.4c-.3-1.6-.1-2.8.4-3.6l-14.2 2.5c.8.6 1.3 1.7 1.6 3.3l.4 2zm4.1-11.2c-1.8.3-3.4 1.2-4.5 2.5l9.7-1.7c-1.6-.9-3.4-1.2-5.2-.8z" fill="url(#a)" opacity=".2" transform="translate(145 67)"/><path d="M228.8 160c0-.1 0 0 0 0z" fill="#59ACFF"/><path d="M223.3 154.2c.3.2.6.2.9.1.4-.1.8-.3 1-.8.4-.7.1-1.6-.6-2-.3-.2-.6-.7-.7-.8-.2-.8-.9-1.3-1.7-1.2-.8.1-1.3.9-1.2 1.7.2 1.1 1.1 2.4 2.3 3zM220.1 131.4c-.8.1-1.3.9-1.2 1.7l.1.4c.8-.6 1.6-1.2 2.5-1.6-.3-.4-.9-.6-1.4-.5zM222.3 143.8c.8-.1 1.3-.9 1.2-1.7l-1.3-7c-.8.4-1.6 1-2.2 1.8-.1.1-.3.2-.4.3l1 5.5c.1.7.9 1.2 1.7 1.1z" fill="#F9F9FA"/><path d="M265.6 125c.1 0 .1 0 0 0v-.2.2z" fill="#59ACFF"/><path d="M113.9 62.2l1.8-.3 4.9-.9c.5-.1.9-.4 1.1-.8.2.1.3.2.4.3.1.1.2.2.3.4 0 0 0 .1.1.1.1.1.2.3.2.4v.1c.1.2.1.4.1.6.1.6.3 1.1.6 1.5.5.7 1.3 1.2 2.3 1.3h.3c1.6 0 3-1.2 3.1-2.9.1-.8-.2-1.7-.6-2.4-.5-.7-1.1-1.3-1.9-1.4l-3.1 1c-.2 0-.4.1-.7.1-.4 0-.8-.1-1.1-.2-.2-.5-
.6-.9-1.1-1h-.6l-5.2.9-1.4.3.5 2.9zm12.6-1.7c.2.3.5.8.5 1.3s-.4.8-.9.8h-.1c-.4 0-.8-.4-.8-.8 0-.3-.1-.6-.2-.8l1.5-.5zM38.7 72.4c-.8.1-1.4.9-1.2 1.8 0 .1.1.2.1.3-.2.1-.4.1-.7.1l-3.2-.1c-1.4.7-1.9 2.9-1.3 4.4.1.2.2.4.3.5 0 .1.1.1.1.1.1.1.1.2.2.3l.2.2c.1.1.1.1.2.1.3.2.7.4 1 .6.1 0 .3.1.4.1h.5c.4 0 .8-.1 1.2-.2 1.4-.6 2.2-2 1.9-3.5-.1-.7 0-1.3.4-1.8h.5l2.2-.4c.2.4.3 1.1.5 1.7.1.7.8 1.7.8 2.4-.2 1.9-1.2 3.9-2.5 5 .3.5.5 1 .5 1.6 0 .3.6 7.7 7.9 10.8 2.2 1 4.3 1.3 6.3 1.3 6.5 0 11.2-4.1 12.1-5 0-.1.1-.2.1-.3.3-.7.6-1.3.9-2 .7.6 1.7 1.2 2.9 1.5 3.5 1 5.2.8 5.9.6.7.7 2.8 2.3 5.9 2.3.5 0 1.1-.1 1.7-.2 4.1-.8 6.3-3.7 6.8-4.5 1.1-.3 5.8-2 7.8-5.6l.9.3c.3.1 3.9 2 8.5 2 3.2 0 6.9-.9 10.4-3.8 6.1-5.2 4.4-12.6 4.3-12.6-.1-.6-.1-1.1 0-1.7-.9-.4-1.9-1.2-2.7-2.1-.1-.2-.3-.4-.4-.5-.1-.2-.2-.3-.3-.5 0 0 0-.1-.1-.1-.1-.2-.2-.5-.3-.7-.3-.7.1-1.8 0-2.5 0-.3-.1-.5-.1-.8-.4 1-.8 1.9-1.3 2.9-.1-1.3-.2-2.1-.2-2.1 0-.3-.3-.5-.6-.5s-.5.3-.5.6c0 0 .2 1.6.3 3.9.1 1.6.1 3.5 0 5.5v.6c-.1 2.7-1 5.8-1.4 7.3-.2.6-.3.9-
.3 1-.1.3.1.6.3.7h.2c.2 0 .4-.1.5-.4 0-.1.6-1.7 1.1-3.7-.4 2.1-1 3.7-1 3.8-.1.3-.3.4-.6.4h-.2c-.3-.1-.5-.5-.4-.8 0 0 .1-.2.2-.5-1.9 1.7-9 3.3-15.9 3.7 0 0 0-.1.1-.1.3-.8.4-1.6.4-2.5v-.4-.8-.1-.1l-.1-.6c0-.1-.1-.3-.1-.4l-.1-.4c0-.1-.1-.2-.1-.3l-.2-.5c0-.1-.1-.2-.1-.3l-.1-.1s0-.1-.1-.1h.3l.5-.1 3.5-.6 1.7-.3c6.1-1.1 10.1-6.9 9-12.9l-1-5.8c-.3-1.7-.9-2.7-1.7-3.3.5-.3.9-.9.8-1.6-.1-.8-.9-1.4-1.8-1.2l-4.7.8L84.5 56c-.9-.6-1.9-1.1-3-1.4-1.3-.3-2.6-.4-4-.2-1.4.3-2.7.8-3.8 1.6-.9.6-1.6 1.4-2.2 2.3L50.6 62l-5.1.9h-.1c-.8.1-1.4.9-1.2 1.8.1.8.9 1.3 1.7 1.3-.5.9-.7 2-.4 3.6l.3 1.5-5.9 1-.6.1-.6.2zm-3.1 6.3c-.1 0-.2.1-.3.1-.3 0-.7-.2-.8-.6-.2-.4-.1-1 .1-1.4h1.5c0 .3 0 .6.1.8 0 .5-.2.9-.6 1.1zm84.6-4.9c.1-1.3.1-2.6.1-3.9.2.2.4.3.6.5 0 .3.1.6.2 1 0 .2 1 4.7-1.9 8.6.4-1.6.8-3.8 1-6.2zm-5.9 9.8c.1.1.2.1.3.2-1.7.8-3.5 1.3-5.4 1.3 1.9-.5 3.7-1 5.1-1.5zm-59.4 12c-1.8 0-3.6-.4-5.4-1.1-6-2.5-6.5-8.7-6.5-8.9 0-.3-.1-.6-.1-.9.5-.7 1-1.5 1.4-2.4.5 1.4 1.1 3 1.7 4.4 1.7 4 4.3 7.1 4.4 7.2.6.7 1.4 1 2.2 1 .7 0
1.3-.2 1.8-.7l.2-.2h.7c2 0 4.7-.3 7.5-.8-1.9 1.2-4.7 2.4-7.9 2.4zm22.9-40c1.8-.3 3.6 0 5.2.8l-9.7 1.7c1.1-1.3 2.7-2.2 4.5-2.5zm8.1 3.3c-.5.9-.7 2-.4 3.6l.4 2.4c-3-1.4-6.5-1.4-9.4 0-.9.4-1.7.9-2.5 1.6l-.3.3-.4-2.1c-.3-1.6-.8-2.6-1.6-3.3l14.2-2.5zM66.6 83.8v-.4l.1-.3c5.3-1.7 8.6-7 7.6-12.6l-.1-.3c.1 0 .2-.1.4-.1.2-.1.3-.2.4-.3.6-.7 1.4-1.3 2.2-1.8 2.4-1.3 5.4-1.4 7.9 0 .3.2.7.2 1 .2.1 0 .2-.1.3-.1l.1.3c1 5.6 5.9 9.4 11.4 9.2l.2.3c0 .1.1.1.1.2v.1c0 .1.1.2.1.2l.1.4c0 .1.1.2.1.3l.1.5c0 .1 0 .2.1.4v2.6c-.5 2.6-2.6 4.5-5.9 5.2h-.1H92.4c-.1 0-.3.1-.4.1-.5.1-1 .4-1.5.7-.5.3-.9.7-1.2 1.1-.4.4-.7.8-1.1 1.1-.3.4-.7.7-1.1 1l-.9.5-.2.1c-.1 0-.1.1-.2.1l-.2.1h-.1l-.2.1h-.1l-.3.1-.4.1H83.1c-.5 0-1-.1-1.4-.2-.5-.1-.9-.3-1.4-.5-.5-.2-.9-.5-1.4-.7-.5-.2-1-.5-1.5-.6-.5-.1-1.1-.2-1.7-.1H75.4h-.1-.1-.1c-3.4.6-6.1-.5-7.5-2.8l-.1-.1-.1-.3v-.1l-.1-.1s0-.1-.1-.1l-.1-.4c0-.1 0-.1-.1-.2v-.1-.1l-.2-1c0-.1 0-.2-.1-.4l-.1-1.1v-.2zm-20.4-9.6h.2l.2 1.3c1.1 6.1 6.9 10.1 12.9 9l2.5-.4 3.2-.6h.2v.8l.1 1.2c0 .1 0 .3.1.
4v.1s.2 2 1.6 3.8c0 0 0 .1.1.1-4.5 1.2-9 1.9-12 1.9-.9 0-1.7-.1-2.3-.2.2.3.2.7-.1.9-.1.1-.3.1-.4.1-.2 0-.4-.1-.5-.2 0 0-.3-.4-.8-1 .5.6.8.9.8 1 .1.1.3.2.4.2.1 0 .3-.1.4-.2.2-.2.2-.6 0-.8 0 0-.1-.1-.2-.3-.7-.8-2.9-3.4-4.1-6.3-.1-.2-.2-.4-.3-.7-.7-1.8-1.3-3.6-1.8-5.2-.8-2.4-1.2-4.3-1.2-4.3-.1-.3-.4-.5-.7-.4-.3.1-.5.4-.4.7 0 0 .3 1.1.7 2.6-1-1-2-2-2.9-3l4.3-.5zm93-26.2c-.5-.2-1-.3-1.6-.3-.6-1.8-1.8-2.3-2.9-2.3h-.3c-.8 0-1.6.3-2.3.7-.6-.7-1.5-1.7-3-1.7-.5 0-1 .1-1.4.3-2 1-2.9 3.5-1.9 5.5l.7 1.3h-.2c-.8 0-1.8.1-2.7.4 0-1.9-.1-3.9-.4-5.8-1.1-6-4-11.7-8.5-16.3.7-13.5-6.9-26.8-12.1-27.9-.3-.1-.7-.1-1.1-.1-4.9 0-12.2 6.2-15.9 10.3-.9 1-2.2 2.6-3.4 4.4h-.5c-3.1 0-6.5.3-9.9.9-3.6.6-7 1.5-10 2.6-1.7-1.2-3.3-2.2-4.5-2.8-4.4-2.4-10.9-4.7-15.5-4.7-1.7 0-3 .3-4 .9-4.5 2.7-7.1 17.8-1.8 30.3-2.7 5.9-3.5 12.2-2.5 18.3.4 2 .9 3.9 1.7 5.8h-.4c-.8 0-1.9.1-2.8.4l.2-1.5c.4-2.2-1.1-4.4-3.4-4.7h-.5c-2 0-2.9 1.7-3.3 2.6-.4-.1-.8-.2-1.2-.2-.5 0-1 .1-1.4.3-1 .4-2.1 1.2-2.1 3.1-.6.2-1.1.4-1.5.8-1.2 1.1-1.9 3-.1
5.3.2.2.2.4.3.6.1.3.3.8.8 1.3.1.1.3.4.6.7.9 1.1 1.8 2.1 2.2 2.5l.6.6 1 1c.4 1 .8 1.8 1.4 2.5.1.2.2.3.4.5.2.3.3.5.5.8 1.5 1.9 3 3.3 4.6 4 .8 4.2 3.6 12.8 13.5 17.1 3.3 1.4 6.8 2.1 10.2 2.1 1.3 0 2.7-.1 4-.3-1.2 3.7-2.1 7.1-2.6 10-.9-.3-1.9-.7-3.1-1-.3-.2-.4-.4-.5-.4-.6-.5-1.4-.8-2.2-.8-.4 0-.9.1-1.3.2-2.1-.4-4.2-.7-6.4-.9-.4-.2-.7-.4-1.1-.5-.2 0-.4-.1-.7-.1-.5 0-1 .1-1.4.3-1.1-.1-2.2-.1-3.3-.1h-2.6c-.5-.3-1.1-.4-1.6-.4-.7 0-1.3.2-1.8.5-.1 0-.1.1-.2.1-2.1.2-4.2.6-6.2 1.1-.2 0-.4-.1-.7-.1-.5 0-1 .1-1.4.3-.3.1-.6.3-.9.6-7.7 2.4-12.1 5.9-12.5 6.3-.3.3-.6.6-.7.9-2.6 2.1-4.2 4.3-4.7 6.7-1.1 5.5 3.4 11.3 11.7 15.4.1.5.4 1 .7 1.4.7.8 1.6 1.2 2.6 1.2.6 0 1.2-.2 1.8-.5 2.7.9 5.5 1.5 8.3 1.9.1.2.3.3.4.4.6.5 1.4.8 2.2.8.9 0 1.7-.3 2.4-.9 1 0 2-.1 2.9-.1 2.1-.2 4.1-.5 6.2-1 .2.2.5.3.7.5.5.2.9.3 1.4.3 1.4 0 2.6-.8 3.2-2.1 0 0 0-.1.1-.1 1.9-.6 3.8-1.3 5.6-2.1.1.1.2.1.3.2.5.3 1.1.4 1.6.4 1.3 0 2.5-.7 3.1-1.9 0-.1.3-.6.6-1.5.6 3.2 1.6 6.9 3.3 10.2 2.7 5.4 4.3 7.3 6.3 7.3.7 0 1.4-.3 2-.8.8-.9 1.2-2.2
1.1-4.5 0-1.6-.1-4.5-.2-7.4 1.9.4 3.9.7 6.2.9 1.9.1 3.7.2 5.6.2 5.9 0 11.4-.8 16.1-2.2-.1 2.8-.2 5.5-.2 7-.1 2.3.3 3.6 1.1 4.5.5.5 1.2.8 2 .8 2 0 3.6-1.8 6.3-7.3 2.4-4.8 3.4-10.4 3.9-14.3 2.9-7.6.4-22.8-2.3-30.7-1.1-3.3-2.2-6.3-3.3-9.1.6 0 1.2.1 1.8.1 6.2 0 11.8-2.1 16.6-6.1 8.2-6.9 8.4-16.1 7.9-20.3 1.3-1.2 2.4-2.9 3.3-5.2l.3-.9c.1-.2.2-.4.2-.5.3-.9.5-1.8.6-2.8l.9-1.8.2-.3c.3-.6.8-1.7 1.4-3.1.1-.3.3-.6.3-.8.3-.6.3-1.1.4-1.5 0-.2 0-.4.2-.6 1.2-2.7 0-4.4-1.5-5.1zm-.5 4.3c-.4 1.1-.2 1.4-.5 2-.3.7-1.3 3-1.7 3.8-.1.2-.7 1.2-1.3 2.5 0 .9-.2 1.8-.5 2.7-.1.2-.1.4-.2.6l-.3.9c-.7 1.9-1.8 4-3.6 4.9.5 2.6 1.6 12.4-6.9 19.6-5.1 4.3-10.5 5.6-15.1 5.6-1.4 0-2.8-.1-4-.3-1.2-2.5-2.8-4.8-2.9-4.9-.2-.2-.5-.3-.8-.1-.2.2-.3.5-.1.8 0 0 2.1 2.8 3.2 5.7 0 0 0 .1.1.1.1.2.1.4.2.6l.1.1c1.4 3.4 2.6 6.9 3.7 10.1 2.9 8.6 4.9 23.1 2.2 29.4-.4 3.7-1.4 9.2-3.7 13.9-2.2 4.3-3.5 6-4.3 6h-.2l-.1-.1-.1-.1s0-.1-.1-.1c0-.1-.1-.2-.1-.3-.2-.5-.2-1.3-.2-2.3.1-1.9.2-5.6.3-9.1 2.8-1.3 4.6-2.8 4.6-2.9.2-.2.2-.6 0-.8-.2-.2-.6-
.2-.8 0 0 0-1.8 1.6-4.4 2.7-4.6 1.8-10.6 3-17.9 3-1.7 0-3.5-.1-5.4-.2-3.4-.3-6.3-.8-8.7-1.5v.2c-2.1-.9-3.8-2.3-3.8-2.4-.2-.2-.6-.2-.8 0-.2.2-.2.6 0 .8.1.1 2.1 1.9 4.6 2.7.1 3.4.2 7 .3 8.9.1 1.8-.2 3-.8 3-.1 0-.2 0-.3-.1-.1 0-.2-.1-.3-.2l-.1-.1-.3-.3-.1-.1c-.1-.1-.2-.3-.3-.4l-.2-.2c-.1-.1-.2-.3-.3-.5-.1-.1-.2-.2-.2-.4-.1-.2-.2-.3-.3-.5-.1-.2-.2-.3-.3-.5-.1-.1-.2-.3-.2-.4-.4-.7-.8-1.4-1.2-2.2-.2-.4-.4-.9-.6-1.4 0-.1 0-.1-.1-.1-.2-.4-.4-.9-.5-1.3 0-.1-.1-.2-.1-.2-.2-.5-.3-.9-.5-1.4 0-.1 0-.1-.1-.2-.1-.5-.3-.9-.4-1.4 0-.1 0-.1-.1-.2-.1-.5-.2-.9-.4-1.4v-.1c-.1-.5-.2-1-.3-1.4v-.1c-.2-1.3-.4-2.5-.6-3.6-1 .7-2.2 1.4-3.5 2.1-.4 1.2-.7 1.9-.8 2-.2.4-.7.7-1.1.7-.2 0-.4 0-.6-.1-.4-.2-.6-.5-.6-.9-2.4 1.1-5 2.2-8 3.1-.2.6-.4 1-.4 1-.2.5-.7.7-1.1.7-.2 0-.3 0-.5-.1-.4-.2-.6-.5-.7-.9-1.7.4-3.6.8-5.4 1h-.1c-.6.1-1.2.2-1.9.2-1 .1-1.9.1-2.9.1h-.9c-.2.3-.3.4-.3.5-.2.3-.6.5-1 .5-.3 0-.6-.1-.8-.3-.3-.2-.4-.5-.4-.8-3.5-.3-7-1.1-10.2-2.3l-.5.5c-.2.2-.5.3-.8.3-.4 0-.7-.1-1-.4-.3-.4-.4-.9-.2-1.3-4.6-2.1-8.4-4
.9-10.4-7.9-.1-.1-.1-.2-.2-.3l-.3-.6c-.1-.1-.1-.3-.2-.4-.1-.1-.1-.3-.2-.4-.1-.2-.1-.3-.2-.5 0-.1-.1-.2-.1-.3-.1-.2-.1-.4-.1-.6v-.3c0-.2-.1-.4-.1-.6v-.1c0-.5 0-1.1.1-1.6.4-2.2 2.1-4.1 4.4-5.8 0-.2 0-.4.2-.6.3-.2 4.6-3.8 12.4-6.1.1-.2.3-.4.5-.5.2-.1.3-.1.5-.1s.4.1.6.2c2.2-.6 4.6-1 7.3-1.2.1-.2.2-.3.4-.4.2-.1.4-.2.7-.2.4 0 .7.2 1 .5.3 0 .6 0 .9-.1h2.3c1.3 0 2.6 0 3.8.1.2-.2.5-.3.9-.3h.2c.1 0 .4.2.7.4 2.9.2 5.4.6 7.6 1.1.2-.2.6-.4.9-.4.3 0 .5.1.8.3l.7.7c2.6.7 4.3 1.4 5.3 1.8v.1c0 .4.1.8.1 1.3.2 3 .7 7.5 1.4 11.6 0 .3.3.5.5.5h.1c.3-.1.5-.3.5-.6-1-5.8-1.5-12.1-1.6-14.3.5-3.5 1.6-7.4 2.9-11.2 0-.1.1-.2.1-.3 2.2-6.1 4.2-8.1 4.2-8.1.2-.2.2-.6 0-.8-.2-.2-.6-.2-.8 0-.1.1-1.7 1.7-3.6 6.3-1.9.5-4 .9-6.3.9-2.9 0-6-.6-9.3-2-10.2-4.4-12.1-14.1-12.4-16.7-2-.4-3.6-2-4.8-3.6-.2-.2-.3-.5-.5-.7-.1-.1-.3-.3-.4-.5-.2-.3-.5-.7-.7-1.1 0-.1-.1-.1-.1-.2-.2-.4-.3-.7-.5-1.1v-.1l-2-2c-.6-.6-2.2-2.6-2.7-3.1-.1-.1-.1-.1-.1-.2-.3-.4-.3-.7-.7-1.3-.1-.1-.1-.2-.2-.3-.1-.1-.2-.2-.2-.3-.5-.8-.6-1.4 0-2 .1-.1.1-.1.2-.1l.
1-.1c.1-.1.3-.1.5-.2H21.6c.5 0 1 .2 1.3.6l.1.1c-.1-.5-.1-1.2-.2-1.8-.2-.9-.3-1.6.6-2H24c.2 0 .4.1.7.1 0 0 .1 0 .1.1.1 0 .2.1.2.1.1.1.2.2.3.2l.1.1c.1.1.2.3.2.4 0 0 .2.5.4 1.1 0-.3.1-.5.1-.7.2-1 .6-1.3.9-2 .3-.7.6-1.9 1.5-1.9h.2c.5.1.9.4 1.2.8.3.4.4.9.3 1.4l-.5 3.2-.4 2.3c-.5.9-1.2 2.1-1.7 3.4-.1.3.1.6.3.7h.2c.2 0 .4-.1.5-.4.7-1.9 1.7-3.5 2.2-4.2.5-.3 1-.7 1.6-1 .6-.3 1.6-.5 2.4-.5.3 0 .7 0 .9.1.5.1 1.2.6 1.9.6.5.1 1.2.1 1.6.7.1.2.2.4.2.8l.6-.1c-.9-1.4-1.7-2.9-2.4-4.4-.1-.3-.2-.5-.3-.8-.1-.2-.1-.4-.2-.6-.1-.4-.3-.7-.4-1.1 0-.1-.1-.3-.1-.4-.1-.5-.3-1-.4-1.5-.1-.6-.3-1.1-.4-1.7-.1-.3-.1-.6-.1-.9 0-.3-.1-.7-.1-1 0-.4-.1-.7-.1-1.1v-.9V57v-.9c0-.6.1-1.2.1-1.8 0-.3.1-.7.1-1 .1-.3.1-.7.2-1 .1-.3.1-.6.2-1 .1-.3.1-.7.2-1 .1-.4.2-.7.3-1.1.1-.3.2-.6.3-1 .2-.6.4-1.1.6-1.7.1-.3.2-.6.4-.9.1-.3.3-.7.4-1 .1-.2.1-.3.2-.5 0-.1.1-.1.1-.2.1-.1.1-.2.2-.3 2.7-4.5 5.9-7.4 6-7.4.2-.2.3-.6 0-.8-.2-.2-.6-.3-.8 0-.1.1-2.2 2-4.5 5.1-.5.7-1 1.4-1.5 2.2 0 .1-.1.1-.1.2-4.7-11.6-2.2-25.2 1.1-27.1.7-.4 1.6-.6 2.8-.6
3.8 0 9.8 2 14.4 4.5 1.5.8 3.4 2 5.2 3.4 2.9-1.1 6.5-2.1 10.8-2.9 3.6-.6 6.7-.9 9.5-.9h1.7c1.2-2 2.6-3.8 3.8-5.1 4.3-4.8 10.7-9.6 14.2-9.6.2 0 .4 0 .6.1 3.8.8 10.8 12.8 10.3 25.3l-.1-.1c-.7-.6-1.5-1.1-2.2-1.6-2.6-1.7-4.9-2.6-5-2.7-.3-.1-.6 0-.7.3-.1.3 0 .6.3.7.1 0 5.2 2.1 9.1 6l.2.2c1 1.1 1.9 2.3 2.7 3.5 0 .1.1.1.1.2.4.6.7 1.2 1.1 1.7l.1.1c.7 1.3 1.3 2.6 1.8 4 0 .1.1.2.1.3.2.6.4 1.2.6 1.9 0 .1 0 .2.1.3.2.7.3 1.4.5 2.2l.3 2.4c.2 2.4.1 4.8-.3 7.1.3-.2.6-.4.9-.5.7-.3 1.2-.9 1.6-1.2.6-.4 1.9-.7 2.8-.7h.5c1 .2 2 .4 2.8.8 1.8 1.5 3.5 3 3.7 3.4.1.2.3.3.5.3.1 0 .2 0 .2-.1.3-.1.4-.5.2-.7-.4-.8-3.1-3-4.4-4.2l-.6-1.3-1.5-2.9c-.5-.9-.1-2.1.8-2.5.1-.1.3-.1.4-.1.7 0 1.3.9 1.7 1.4.5.5.9.7 1.3 1.4.1.1.1.2.2.3l.3.6c0-.7.1-1.1.1-1.2.1-.9.8-1.6 1.7-1.6h.1c.4 0 .6.2.8.4.3.3.3.8.4 1.4 0 .1 0 .3.1.4 0 .1 0 .2.1.3.1.4.2.7.2 1.1l.1-.1c.3-.6.9-1 1.6-1 .2 0 .5 0 .7.2.2.1.4.2.5.4.3.1.3.7-.1 1.5z" fill="url(#b)" transform="translate(145 67)"/></g></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/figure_screenshots.svg b/browser/extensions/onboarding/content/img/figure_screenshots.svg
deleted file mode 100644
index f4930d09f7af..000000000000
--- a/browser/extensions/onboarding/content/img/figure_screenshots.svg
+++ /dev/null
@@ -1,191 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="281" height="233">
- <defs>
- <linearGradient id="a" x1="-26.7072552%" x2="121.200691%" y1="-8.21456664%" y2="115.364749%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="b" x1="-171.534367%" x2="377.694136%" y1="-258.916232%" y2="507.082022%">
- <stop stop-color="#E6FCFF" offset="0%"/>
- <stop stop-color="#B5F2FF" offset="100%"/>
- </linearGradient>
- <linearGradient id="c" x1="-275.615152%" x2="393.814483%" y1="-214.880097%" y2="329.931438%">
- <stop stop-color="#E6FCFF" offset="0%"/>
- <stop stop-color="#B5F2FF" offset="100%"/>
- </linearGradient>
- <linearGradient id="d" x1="-71.2230562%" x2="141.268437%" y1="-46.5567621%" y2="122.213199%">
- <stop stop-color="#E6FCFF" offset="0%"/>
- <stop stop-color="#B5F2FF" offset="100%"/>
- </linearGradient>
- <linearGradient id="e" x1="-912.187374%" x2="706.872366%" y1="-223.131903%" y2="247.7375%">
- <stop stop-color="#E6FCFF" offset="0%"/>
- <stop stop-color="#B5F2FF" offset="100%"/>
- </linearGradient>
- <linearGradient id="f" x1="-636.509606%" x2="265.115932%" y1="-364.308744%" y2="178.753736%">
- <stop stop-color="#E6FCFF" offset="0%"/>
- <stop stop-color="#B5F2FF" offset="100%"/>
- </linearGradient>
- <linearGradient id="g" x1="-96.7324958%" x2="214.858961%" y1="-489.128132%" y2="600.29142%">
- <stop stop-color="#E6FCFF" offset="0%"/>
- <stop stop-color="#B5F2FF" offset="100%"/>
- </linearGradient>
- <linearGradient id="h" x1="-370.226425%" x2="176.655533%" y1="-420.236682%" y2="206.08556%">
- <stop stop-color="#E6FCFF" offset="0%"/>
- <stop stop-color="#B5F2FF" offset="100%"/>
- </linearGradient>
- <linearGradient id="i" x1="-1573.85207%" x2="2621.18334%" y1="-918.807829%" y2="1582.542%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="j" x1="-1977.10979%" x2="2217.92561%" y1="-1158.35597%" y2="1342.99386%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="k" x1="-635.169191%" x2="1018.69953%" y1="-1184.44408%" y2="1785.60576%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="l" x1="-278.76866%" x2="377.256589%" y1="-697.981967%" y2="835.635246%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="m" x1="-553.131633%" x2="647.619338%" y1="-1374.34047%" y2="1418.49315%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="n" x1="-450.59361%" x2="546.286439%" y1="-895.950857%" y2="958.91224%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="o" x1="-511.211278%" x2="295.07392%" y1="-745.273546%" y2="396.265912%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="p" x1="-871.182847%" x2="303.781403%" y1="-595.928571%" y2="241.5435%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="q" x1="-450.336951%" x2="307.764971%" y1="-505.416691%" y2="315.448433%">
- <stop stop-color="#E6FCFF" offset="0%"/>
- <stop stop-color="#B5F2FF" offset="100%"/>
- </linearGradient>
- <linearGradient id="r" x1="-2519.79056%" x2="1944.50093%" y1="-1090.70814%" y2="890.815528%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="s" x1="-134.127826%" x2="165.330874%" y1="-297.102666%" y2="260.202663%">
- <stop stop-color="#E6FCFF" offset="0%"/>
- <stop stop-color="#B5F2FF" offset="100%"/>
- </linearGradient>
- <linearGradient id="t" x1="-1132.52358%" x2="304.180944%" y1="-1559.01765%" y2="393.843988%">
- <stop stop-color="#E6FCFF" offset="0%"/>
- <stop stop-color="#B5F2FF" offset="100%"/>
- </linearGradient>
- <linearGradient id="u" x1="-1884.94918%" x2="1592.74001%" y1="-342.289711%" y2="381.222953%">
- <stop stop-color="#E6FCFF" offset="0%"/>
- <stop stop-color="#B5F2FF" offset="100%"/>
- </linearGradient>
- <linearGradient id="v" x1="-109.932792%" x2="195.629347%" y1="-425.144051%" y2="431.622036%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="w" x1="-813.648281%" x2="368.736119%" y1="-1076.38789%" y2="459.249729%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="x" x1="-1092.12785%" x2="635.82518%" y1="-4587.46665%" y2="2425.66052%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="y" x1="-415.250984%" x2="1490.35841%" y1="-442.448072%" y2="1582.67684%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="z" x1="-167.167389%" x2="492.546376%" y1="-2085.55413%" y2="4392.09342%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="A" x1="-2989.85248%" x2="1926.86535%" y1="-1363.11821%" y2="921.90878%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- <linearGradient id="B" x1="-2586.45105%" x2="2652.41027%" y1="-792.93501%" y2="883.790987%">
- <stop stop-color="#00C8D7" offset="0%"/>
- <stop stop-color="#008EA4" offset="100%"/>
- </linearGradient>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <g fill="#D7D7DB" fill-rule="nonzero">
- <path d="M204.3 76.7h-77c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h77c.6 0 1.1.5 1.1 1.1 0 .6-.4 1.1-1.1 1.1zM193.9 71h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zM176.4 81.7H163c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zm-22.2 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-7.8 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-11.2 0h-13.4c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-22.2 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-7.8 0H104c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.2.6-.5.6zm-11.2 0H80.6c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6H94c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-22.3 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-7.8 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6z"/>
- </g>
- <g fill-rule="nonzero">
- <path fill="#F9F9FA" d="M152.3 47.8h23.8s-7.4-16.6 8.3-18.8c14.1-1.9 19.6 12.5 19.6 12.5s1.7-8.3 10-6.7c8.3 1.6 14.3 14.8 14.3 14.8H249"/>
- <path fill="#D7D7DB" d="M249.5 45.8H245c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h4.5c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm-14.5 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5.6 0h-.6c-.2 0-.4-.1-.5-.3-.1-.2-.6-1.1-1.3-2.3-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.6.9 1 1.7 1.2 2.1h.3c.3 0 .6.2.6.6 0 .4-.4.5-.7.5zm-52.9-.7H175c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h.6c-.1-.3-.2-.6-.4-1-.1-.3.1-.6.4-.7.3-.1.6.1.7.4.3 1 .6 1.7.6 1.7.1.2.1.4 0 .5-.1.1-.3.3-.4.3zm-10.4 0h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm8.7-6.1c-.3 0-.5-.2-.6-.5 0-.4-.1-.8-.1-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.1 1.1.1.3-.1.6-.5.6.1 0 .1 0 0 0zm29.2-1.1c-.2 0-.4-.1-.5-.3-.1-.3-.3-.6-.5-1-.1-.3 0-.6.2-.8.3-.1.6 0 .8.2.2.4.4.7.5 1 .1.3 0 .6-.3.7-.1.2-.2.2-.2.2zm17.9-1.4c-.1 0-.3-.1-.4-.2-2.4-2.3-4.8-3.7-7.2-4.1-1.6-.3-3.1-.2-4.3.2-.3.1-.6-.1-.7-.4-.1-.3.1-.6.4-.7 1.4-.5 3.1-.6 4.9-.2 2.6.5 5.2 2 7.7 4.4.2.2.2.6 0 .8-.1.1-.2.2-.4.2zM201 33.2c-.2 0-.3-.1-.4-.2-.7-.9-1.4-1.7-2.2-2
.4-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0 .8.7 1.6 1.6 2.3 2.5.2.2.2.6-.1.8-.2 0-.3.1-.4.1zm-22.8-4.3c-.2 0-.3-.1-.4-.2-.2-.2-.2-.6.1-.8 1.7-1.4 4.1-2.3 6.9-2.7 2.2-.3 4.3-.2 6.3.2.3.1.5.4.4.7-.1.3-.4.5-.7.4-1.9-.4-3.9-.5-5.9-.2-2.7.4-4.8 1.2-6.4 2.4-.1.2-.2.2-.3.2z"/>
- <path fill="#F9F9FA" d="M250.2 50.1h-97.9c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h97.9c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1z"/>
- </g>
- <g fill-rule="nonzero">
- <path fill="#F9F9FA" d="M49.3 29.4h13.2s-4.1-9.2 4.6-10.4c7.8-1.1 10.9 7 10.9 7s.9-4.6 5.6-3.8c4.6.9 8 8.3 8 8.3h11.5"/>
- <path fill="#D7D7DB" d="M62.9 27.9H49.7c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h12.8s.1-.1.2-.1c.3-.1.6 0 .7.3l.1.1c.1.2.1.4 0 .5-.2.3-.4.4-.6.4zm36.6-.1h-3.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .3-.3.6-.6.6zm-20.9-3.6h-.2c-.3-.1-.5-.4-.4-.7.3-.9 1.5-4 4.9-4 .4 0 .8 0 1.2.1 1.8.3 3.6 1.5 5.4 3.4.2.2.2.6 0 .8-.2.2-.6.2-.8 0-1.6-1.7-3.2-2.7-4.8-3-.4-.1-.7-.1-1-.1-2.6 0-3.5 2.2-3.8 3.2-.1.1-.3.3-.5.3zm-15.2-4.9c-.1 0-.3-.1-.4-.2-.2-.2-.2-.6 0-.8.8-.8 1.8-1.4 3.1-1.7.3-.1.6.1.7.4.1.3-.1.6-.4.7-1.1.3-2 .8-2.6 1.4-.1.2-.3.2-.4.2zm8.4-1.5h-.2c-.3-.1-.7-.2-1-.3-.3-.1-.5-.3-.4-.7.1-.3.4-.5.7-.4.4.1.8.2 1.1.3.3.1.5.4.4.7-.2.3-.4.4-.6.4z"/>
- <path fill="#F9F9FA" d="M104 31.6H49.6c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1H104c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1z"/>
- </g>
- <g fill-rule="nonzero">
- <path fill="#FFF" d="M19.6 169.1c-2.8 0-5-2.2-5-4.8V46c0-3 2.4-5.4 5.4-5.4h127c3 0 5.4 2.4 5.4 5.4v118.3c0 2.6-2.3 4.8-5 4.8H19.6z"/>
- <path fill="#D7D7DB" d="M146.9 41.8c2.3 0 4.2 1.9 4.2 4.2v118.3c0 2-1.8 3.7-3.9 3.7H19.6c-2.2 0-3.9-1.6-3.9-3.7V46c0-2.3 1.9-4.2 4.2-4.2h127zm0-2.2h-127c-3.6 0-6.5 2.9-6.5 6.5v118.3c0 3.3 2.8 5.9 6.2 5.9h127.6c3.4 0 6.2-2.7 6.2-5.9V46c0-3.5-2.9-6.4-6.5-6.4z"/>
- </g>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M145.8 62.9V161c0 1-.1 1.2-.1 1.2s-.2.1-1.2.1h-122c-1 0-1.2-.1-1.2-.1s-.1-.2-.1-1.2V62.9h124.6zm1.1-1.2H20v99.2c0 2 .4 2.5 2.5 2.5h122c2 0 2.5-.4 2.5-2.5V61.7h-.1z"/>
- <g fill="#D7D7DB" fill-rule="nonzero">
- <circle cx="3.8" cy="3.7" r="2.9" transform="translate(23 48)"/>
- <circle cx="3" cy="3.7" r="2.9" transform="translate(33 48)"/>
- <path d="M115.3 54.9H51.5c-1.7 0-3.1-1.4-3.1-3.1v-.3c0-1.7 1.4-3.1 3.1-3.1h63.8c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.8-1.4 3.1-3.1 3.1z"/>
- <g>
- <circle cx="3.8" cy="3.7" r="2.9" transform="translate(127 48)"/>
- <circle cx="3.1" cy="3.7" r="2.9" transform="translate(137 48)"/>
- </g>
- </g>
- <g transform="translate(149 84)">
- <ellipse cx="42.7" cy="142" fill="#EDEDF0" fill-rule="nonzero" rx="42.5" ry="6.5"/>
- <path fill="#F9F9FA" fill-rule="nonzero" d="M121.2 99.6c-1.3-3.1-4.3-5.2-7.7-5.2-.7 0-1.4.1-2.1.3-.8 0-3.1-.3-7.2-2-1.7-.7-4.8-3.9-8.4-10.5 5.2-19.9 5.5-36.8.7-50.3-.4-1-.9-2.1-1.5-3.2l-.3-1.4 2-1.7c1.6-1.4 2.3-3.5 1.7-5.6-.3-1.2-1-2.2-2-2.9 0-.3 0-.6-.1-.9-.4-2.3-2.2-4.1-4.5-4.4-.4-.1-10.6-1.7-17.1-1.7h-.4l-1.7-2.8C70 3.1 65.5.6 60.5.6c-2.6 0-5.2.7-7.5 2.1-2.6 1.6-4.5 3.9-5.7 6.7-6 .7-12.1 2.3-18.2 4.7l-3.4-1.4c-1.7-.7-3.5-1.1-5.4-1.1-5.8 0-10.9 3.5-13.1 8.8-2.7 6.6-.1 14 5.8 17.5-1.1 5.9-1.5 12.4-1 19.6.6 9-2.2 13.5-5.1 18.2-4.4 7.1-9.4 15.1 0 33.8 0 2.2.1 4.2.2 5.8 1.3 11.8 4.6 17.7 10 17.7.9 0 1.9-.2 2.7-.6 2.2-1.1 3.3-2.6 5-9.9 9.3 3.1 21.2 5.8 30.9 6.9-1.7 7.6-1.5 9.4 0 11.4 1.2 1.5 3 2.4 5 2.4 4.1 0 8.8-4.1 14-12.1 1.3-2.1 2.8-5 4.4-8.5 1.4-2.4 5.5-9.7 10-20.9 2.8 2.9 5.6 5 8.6 6.2 5.2 2.1 9.8 3.2 13.5 3.2 2.5 0 4.2-.5 5.1-.9 4.6-1.5 6.6-6.4 4.9-10.6z"/>
- <path d="M115.2 101.4c-.4-.9-1.5-1.4-2.4-1-.2.1-.6.1-1.2.1-1.4 0-4.6-.3-9.8-2.4-5.5-2.2-10.3-10.6-12.7-15.5-.1-.2-.1-.5-.1-.8 5.4-19.5 5.9-35.8 1.4-48.4-.3-.8-.7-1.8-1.3-2.7-.1-.1-.1-.2-.1-.3L87.7 25c-.1-.4 0-.8.4-1.1l2.6-2.2-5.8-.9c-.5-.1-.9-.4-.9-.9s.2-.9.6-1.2l3-1.6c-3.5-.5-8.9-1.1-12.7-1.1-1.1 0-2 .1-2.6.2l-.4.1c-.4.1-.9-.1-1.1-.5l-3.4-5.5C66 8 63.5 6.7 60.9 6.7c-1.4 0-2.8.4-4.1 1.2-2.2 1.4-3.5 3.7-3.6 6.3 0 .6-.5 1-1.1 1.1-7.2.4-14.7 2.2-22.2 5.4-.3.1-.6.1-.9 0l-5.4-2.2c-.9-.4-1.9-.6-2.9-.6-3.1 0-5.9 1.9-7.1 4.8-1.6 3.9.3 8.4 4.2 10l2.3.9c.5.2.8.8.6 1.3-1.8 6.2-2.4 13.6-1.8 21.9.7 11.1-2.9 16.9-6.1 22.1-4.3 6.9-7.7 12.3.9 28.6.1.2.1.4.1.5-.1 2.6 0 4.7.2 6.3.8 7.8 2.6 11.1 3.4 11.8.4-.8 1.2-3.3 2.9-11.3.1-.3.3-.6.6-.8.2-.1.3-.1.5-.1.1 0 .3 0 .4.1 10.8 4.5 29.6 8.7 41.2 9.1.3 0 .7.2.9.4.2.3.3.6.2.9-2.1 8.3-2.5 11-2.5 11.9 1.1-.3 4.2-2.7 8.3-9.1 1.2-1.9 2.5-4.5 4-7.9 0 0 0-.1.1-.1 3.3-5.6 8.7-16.6 13-29.4.1-.4.5-.7.9-.8.4 0 .9.2 1.1.5 3.7 6.2 7.8 10.4 11.7 12 5.5 2.2 9.1 2.7
11.1 2.7 1.6 0 2.4-.3 2.7-.4.6-.4 1-1.5.7-2.4z"/>
- <path fill="url(#a)" fill-rule="nonzero" d="M114.6 98c-.8-2.1-2.9-3.4-5.1-3.4-.6 0-1.1.1-1.7.3-.7 0-3.4 0-8.7-2.2-3-1.2-6.8-6-10.3-12.8 5.4-19.8 5.7-36.5 1-49.7-.3-1-.8-2-1.4-3l-.9-3.4 3.3-2.8c.8-.7 1.1-1.7.8-2.7-.3-1-1.1-1.7-2.1-1.9l-.7-.1c.5-.6.8-1.4.6-2.2-.2-1.1-1-2-2.1-2.1-.1 0-10.3-1.6-16.7-1.6-.7 0-1.3 0-1.9.1l-2.6-4.2C64 2.9 60.4.9 56.4.9c-2.1 0-4.2.6-6 1.7-2.5 1.6-4.3 4.1-5 6.9-6.6.6-13.5 2.3-20.3 5.1l-4.4-1.8c-1.4-.6-2.8-.8-4.3-.8-4.7 0-8.8 2.8-10.6 7.1-2.4 5.8.4 12.5 6.2 14.9l.2.1c-1.4 6.1-1.9 13.2-1.4 20.9.7 9.9-2.5 15-5.6 19.9-4.3 6.9-8.7 14 .4 31.7 0 2.4 0 4.5.2 6.2.6 5.7 2.4 15.2 7.2 15.2.5 0 1-.1 1.5-.4 1.3-.6 2.1-1.5 4.2-11.1 10.3 3.8 25.5 7.2 36.4 8.1-2.6 10.4-2 11.1-1.2 12.2.7.9 1.7 1.4 2.8 1.4 4.1 0 9-6.8 11.6-10.8 1.3-2 2.7-4.8 4.2-8.3C75.5 114 80 104.9 84 94c3.4 4.5 6.9 7.6 10.6 9.1 4.9 2 9.1 3 12.5 3 2 0 3.3-.4 4.1-.7 3.2-1.4 4.5-4.6 3.4-7.4zm-4.4 3.8c-.3.1-1.1.4-2.7.4-2 0-5.6-.5-11.1-2.7-3.9-1.6-8-5.7-11.7-12-.2-.4-.6-.6-1.1-.5-.4 0-.8.3-.9.8-4.3 12.8-9.
7 23.9-13 29.4 0 0 0 .1-.1.1-1.5 3.4-2.8 6.1-4 7.9-4.1 6.4-7.1 8.8-8.3 9.1 0-.9.4-3.6 2.5-11.9.1-.3 0-.7-.2-.9-.2-.3-.5-.4-.9-.4-11.6-.4-30.4-4.6-41.2-9.1-.1-.1-.3-.1-.4-.1-.2 0-.4 0-.5.1-.3.2-.5.4-.6.8-1.7 8.1-2.5 10.6-2.9 11.3-.8-.7-2.6-4-3.4-11.8-.2-1.7-.2-3.8-.2-6.3 0-.2 0-.4-.1-.5-8.5-16.3-5.2-21.7-.9-28.6 3.2-5.1 6.8-11 6.1-22.1-.5-8.3.1-15.7 1.8-21.9.2-.5-.1-1.1-.6-1.3l-2.3-.9c-3.9-1.6-5.8-6.1-4.2-10 1.2-2.9 4-4.8 7.1-4.8 1 0 2 .2 2.9.6l5.4 2.2c.3.1.6.1.9 0 7.5-3.2 15-5 22.2-5.4.6 0 1-.5 1.1-1.1.1-2.6 1.5-4.9 3.6-6.3 1.2-.8 2.6-1.2 4.1-1.2 2.7 0 5.1 1.4 6.5 3.6l3.4 5.5c.2.4.7.6 1.1.5l.4-.1c.7-.1 1.6-.2 2.6-.2 3.8 0 9.2.6 12.7 1.1l-3 1.6c-.4.2-.7.7-.6 1.2.1.5.5.8.9.9l5.8.9-2.6 2.2c-.3.3-.5.7-.4 1.1l1.3 5.4c0 .1.1.2.1.3.6 1 1 1.9 1.3 2.7 4.5 12.7 4 29-1.4 48.4-.1.3 0 .5.1.8 2.4 4.8 7.1 13.2 12.7 15.5 5.2 2.1 8.4 2.4 9.8 2.4.6 0 1 0 1.2-.1.9-.4 2 .1 2.4 1 .6.9.2 2-.7 2.4z" transform="translate(4 2)"/>
- <path fill="url(#b)" fill-rule="nonzero" d="M36.6 40.6c-1.1 0-2.2-.2-3.3-.7l-16.2-6.6c-4.5-1.8-6.7-7-4.8-11.5 1.8-4.5 7-6.7 11.5-4.8L40 23.6c4.5 1.8 6.7 7 4.8 11.5-1.4 3.4-4.7 5.5-8.2 5.5z"/>
- <path fill="url(#c)" fill-rule="nonzero" d="M70.8 39.3c-2.9 0-5.8-1.5-7.5-4.2L53.1 18.6c-2.6-4.1-1.3-9.6 2.8-12.1C60 3.9 65.5 5.2 68 9.3l10.2 16.5c2.6 4.1 1.3 9.6-2.8 12.1-1.4 1-3 1.4-4.6 1.4z"/>
- <path fill="url(#d)" fill-rule="nonzero" d="M28.6 19.4c-2.2.9-12.8 10.5-11.1 37.1 1.7 26.2-21.6 21.8-3.8 53.4 3.9 6.9 50.2 17.7 58.6 12.7 2.5-1.5 31.6-54.6 19.1-89.8-4.1-11.5-28.5-28-62.8-13.4z"/>
- <path fill="url(#e)" fill-rule="nonzero" d="M14.3 87.5s-2.6 17.8-1.7 26.6c1 8.8 3.3 13.7 5.1 12.8 1.7-.8 6.2-26.8 6.2-26.8l-9.6-12.6z"/>
- <path fill="url(#f)" fill-rule="nonzero" d="M80.7 103s-5.5 17.1-10.3 24.6c-4.8 7.5-9.1 10.8-10.2 9.3-1.2-1.5 6.2-26.8 6.2-26.8l14.3-7.1z"/>
- <path fill="url(#g)" fill-rule="nonzero" d="M33.5 19c7.8-4 28.9-2.7 38.4-4.1C77 14.1 91 16.3 91 16.3l-6 3.2 8.2 1.2-4.5 3.8 1.8 7.3-1.3-.7-46.3-12.8-9.4.7z"/>
- <path fill="url(#h)" fill-rule="nonzero" d="M111.4 105.1c-2.3 0-6-.6-11.5-2.8-10-4-16.7-20.9-17.4-22.9-.6-1.5.2-3.2 1.7-3.8 1.5-.6 3.2.2 3.8 1.7 1.7 4.5 7.7 16.9 14.1 19.5 7.1 2.9 10.2 2.3 10.2 2.3 1.5-.6 3.2.1 3.8 1.6.6 1.5-.1 3.2-1.6 3.8-.4.3-1.4.6-3.1.6z"/>
- <path fill="#FFF" fill-rule="nonzero" d="M35.4 29.8c-8.3 5.5-3.2 72.6 2.7 79.8 9.5 11.8 31.7 9.3 34.6 3 1.1-2.3 26-48.2 14.3-79.8-3-8-22.5-22.3-51.6-3z"/>
- <path fill="url(#i)" fill-rule="nonzero" d="M50.3 43.8c.9.2 1.4 1.1 1.2 1.9l-.8 3.5c-.2.9-1.1 1.4-1.9 1.2-.9-.2-1.4-1.1-1.2-1.9l.8-3.5c.2-.9 1.1-1.4 1.9-1.2z"/>
- <path fill="url(#j)" fill-rule="nonzero" d="M81.4 44.8c.9.2 1.4 1.1 1.2 1.9l-.8 3.5c-.2.9-1.1 1.4-1.9 1.2-.9-.2-1.4-1.1-1.2-1.9l.8-3.5c.2-.9 1-1.4 1.9-1.2z"/>
- <path fill="url(#k)" fill-rule="nonzero" d="M48.9 57.6c-.5 0-1-.1-1.5-.2-3.5-.8-4.7-3.9-4.7-4.1-.3-.8.1-1.6.9-1.9.8-.3 1.6.1 1.9.9 0 .1.7 1.8 2.6 2.2 1.9.5 3.3-.8 3.3-.8.6-.6 1.5-.5 2.1 0 .6.6.5 1.5 0 2.1-.2.1-2 1.8-4.6 1.8z"/>
- <path fill="url(#l)" fill-rule="nonzero" d="M56.6 69.2c-.8 0-1.4-.6-1.5-1.3-.1-.8.5-1.5 1.3-1.6 8.9-.7 17.1-2.5 18-3.8 1-1.7 1.2-4 1.2-4.1 0-.8.7-1.4 1.4-1.4.8 0 1.4.5 1.5 1.3.1 1.3.6 3.4 1.2 4.1 1.1 1.3 2.3 1.2 2.3 1.2.8 0 1.5.6 1.6 1.4.1.8-.6 1.5-1.4 1.6-1 .1-3.2-.3-4.8-2.3-.1-.2-.3-.4-.4-.6-.1.1-.1.2-.2.3-2 3.3-14.8 4.7-20.3 5.2h.1z"/>
- <g fill-rule="nonzero">
- <path fill="url(#m)" d="M2.4 4.3C1.3 5 7.7 8.2 8.6 8.2c1.3 0 7.8-2.8 7.6-5C16 2.1 6.8 1.3 2.4 4.3z" transform="translate(70 52)"/>
- <path fill="url(#n)" d="M8.6 9.7C7.5 9.7 1.5 7 .9 5c-.2-.8.1-1.5.7-2C5.8.2 13.9.3 16.3 1.4c1 .4 1.2 1.1 1.3 1.6.1.9-.2 1.7-1 2.6-1.8 2.1-6.4 4.1-8 4.1zm-3.9-5c1.3.8 3.5 1.9 4.1 2 .9-.1 4.3-1.7 5.5-2.8-2-.4-6.5-.5-9.6.8z" transform="translate(70 52)"/>
- </g>
- <g fill-rule="nonzero">
- <path fill="#C8C8CC" d="M115 92.8l-7.2.1-.5-40.7c0-3.3 2.5-6.1 5.7-6.3.3 0 .5.2.5.4l1.5 46.5z"/>
- <path fill="#E1E1E6" d="M130.1 53.3c.2-.2.5-.1.7.1 1.9 2.7 1.4 6.4-1.1 8.5l-31.3 26-4.6-5.5 36.3-29.1z"/>
- <path fill="url(#o)" d="M.7 10c-.4 2.6.2 5.2 1.9 7.1.8 1 1.8 1.7 2.9 2.3 3.5 1.6 7.8 1 11-1.7.2-.2.5-.4.7-.6l10.1-8.4c.4-.4.7-.9.8-1.4.1-.6-.1-1.1-.5-1.5l-2.9-3.4c-.2-.2-.4-.4-.7-.6-.2-.1-.5-.2-.7-.2-.6-.1-1.1.1-1.5.5l-2.9 2.4c-.1-.2-.2-.3-.4-.5-.8-1-1.8-1.7-2.9-2.3-3.5-1.6-7.8-1-11 1.7C2.5 5.1 1.2 7.5.7 10zm6.6-3.4c1.9-1.6 4.5-2.1 6.5-1.1.6.3 1.1.7 1.5 1.1 1.4 1.6 1.3 4.1.1 6.1-.5.7-1.1 1.4-2 2.1-1.9 1.3-4.2 1.5-5.9.7-.6-.3-1.1-.7-1.5-1.1-.8-1-1.2-2.4-.9-3.8 0-1.5.9-2.9 2.2-4z" transform="translate(77 75)"/>
- <path fill="url(#p)" d="M0 2.5l.2 13.2v.9c.1 4.1 2.3 7.8 5.7 9.4 1.2.6 2.5.9 3.8.8 5.1-.1 9.3-4.7 9.2-10.4-.1-4.1-2.3-7.8-5.7-9.4-1.2-.6-2.5-.9-3.8-.8h-.6V2.4c0-.8-.5-1.5-1.2-1.9C7.3.4 7 .3 6.7.3L2.2.4C1.6.4 1.1.6.7 1 .2 1.4 0 2 0 2.5zm11.3 8.3c1.9.9 3.2 3.1 3.3 5.6 0 3.4-2.2 6.1-5 6.2-.7 0-1.3-.1-1.9-.4-1.8-.8-3-2.7-3.2-4.9v-.1c0-1.2.1-2.1.3-2.9.7-2.2 2.5-3.9 4.7-3.9.5 0 1.2.1 1.8.4z" transform="translate(107 83)"/>
- <path fill="#C8C8CC" d="M111.3 70.6c1.3.1 2.2 1.3 2.1 2.5-.1 1.3-1.3 2.2-2.5 2.1-1.3-.1-2.2-1.3-2.1-2.5.1-1.2 1.2-2.2 2.5-2.1z"/>
- </g>
- <path fill="url(#q)" fill-rule="nonzero" d="M1.4 2.1L.3 5.7c-1 3.1.7 6.4 3.8 7.4 3.1 1 6.4-.7 7.4-3.8L14.4.1l-13 2z" transform="translate(57 67)"/>
- <path fill="url(#r)" fill-rule="nonzero" d="M63.3 74.7h-.2c-.4-.1-.6-.5-.5-.9l2.2-6.8c.1-.4.5-.6.9-.5.4.1.6.5.5.9L64 74.2c-.1.3-.4.5-.7.5z"/>
- <path fill="url(#s)" fill-rule="nonzero" d="M58.7 98.1c-17.5 0-33-27.8-33.6-29-.8-1.4-.3-3.2 1.2-4 1.4-.8 3.2-.3 4 1.2 4.2 7.6 17.5 27 29.4 25.9 15.2-1.4 22.4-6.9 22.4-7 1.3-1 3.1-.8 4.1.5 1 1.3.8 3.1-.4 4.1-.3.3-8.5 6.7-25.6 8.2-.5.1-1 .1-1.5.1z"/>
- <path fill="url(#t)" fill-rule="nonzero" d="M112.5 97.8s-8 3.2-8.1 5.9c-.1 2.7 8.2 6 11.8.7 3.6-5.2-2.3-7.2-3.7-6.6z"/>
- <path fill="url(#u)" fill-rule="nonzero" d="M30.5 65.3s.7 5.9 4.4 9.2c3.7 3.3-4.8 8.1-4.4 15.4.4 7.4 0-24.6 0-24.6z"/>
- <path fill="url(#v)" fill-rule="nonzero" d="M58.8 98.9h-1.1C44 98.5 32 81 31.5 80.2c-.2-.3-.1-.8.2-1 .3-.2.8-.1 1 .2.1.2 12.1 17.7 25 18 12.8.3 25.3-6.2 27.1-7.7.5-.4.9-2.6.2-3.7-.7-1-2.4-.3-3.6.5-.3.2-.8.1-1-.2-.2-.3-.1-.8.2-1 3.4-2.1 4.9-.9 5.6-.1 1.2 1.6.8 4.7-.4 5.7-1.2 1-13.4 8-27 8z"/>
- <path fill="url(#w)" fill-rule="nonzero" d="M110.8 108.3c-1.3 0-2.8-.3-4.4-1.3-1.9-1-2.8-2.2-2.7-3.6.2-2.7 4.7-4.5 5.2-4.7.4-.1.8 0 1 .4.1.4 0 .8-.4 1-1.6.6-4.2 2.1-4.3 3.5-.1.9 1 1.7 1.9 2.2 2.2 1.2 4.3 1.4 6.1.6 2.1-1 3.1-2.8 3.2-3.2.1-.6.5-2.4-.5-3.5-.7-.8-2.1-1.1-4.1-.9-.4 0-.8-.3-.8-.7 0-.4.3-.8.7-.8 2.5-.2 4.3.2 5.3 1.4 1.5 1.6 1 4 .8 4.7-.2.9-1.6 3.2-4 4.3-.8.3-1.8.6-3 .6z"/>
- <path fill="url(#x)" fill-rule="nonzero" d="M61.1 125.5c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7 3.2 0 8.1-1 8.2-1 .4-.1.8.2.9.6.1.4-.2.8-.6.9-.2-.1-5.1.9-8.5.9z"/>
- <path fill="url(#y)" fill-rule="nonzero" d="M23 25.4h-.2c-.4-.1-.6-.5-.5-.9.2-.7 2.4-5 7.8-7.4.4-.2.8 0 1 .4.2.4 0 .8-.4 1-4.7 2-6.7 5.8-6.9 6.4-.2.3-.5.5-.8.5z"/>
- <path fill="url(#z)" fill-rule="nonzero" d="M68.5 14.8c-8.9 0-18.2-1.2-18.3-1.2-.4-.1-.7-.4-.6-.8.1-.4.4-.7.8-.6.1 0 14.1 1.8 24.1 1 .4 0 .8.3.8.7 0 .4-.3.8-.7.8-2 0-4 .1-6.1.1z"/>
- <path fill="url(#A)" fill-rule="nonzero" d="M88.8 89h-.2c-.4-.1-.6-.5-.5-.9l2-6c.1-.4.5-.6.9-.5.4.1.6.5.5.9l-2 6c-.1.3-.4.5-.7.5z"/>
- <path fill="url(#B)" fill-rule="nonzero" d="M21 119.1h-.1c-.4-.1-.7-.5-.6-.9l1.7-8.6c.1-.4.5-.7.9-.6.4.1.7.5.6.9l-1.7 8.6c-.2.4-.5.6-.8.6z"/>
- </g>
- <path fill="#D7D7DB" fill-rule="nonzero" d="M70.8 82.4c-3.7 0-6.6 3-6.6 6.6h6.6v-6.6zm20 0h-6.6V89h6.6v-6.6zm13.3 0V89h6.6c0-3.6-3-6.6-6.6-6.6zm-23.3 0h-6.6V89h6.6v-6.6zm19.9 0h-6.6V89h6.6v-6.6zm3.4 16.6h6.6v-6.6h-6.6V99zm0 20c3.7 0 6.6-3 6.6-6.6h-6.6v6.6zm0-10h6.6v-6.6h-6.6v6.6zm-1.5-7.2c-2.1-3-6.2-3.7-9.3-1.6l-12.7 9.4-6.5-4.6c0-.3.1-.6.1-1 0-2.7-1.3-5.1-3.3-6.6v-5h-6.6v3.5c-3.8.8-6.6 4.1-6.6 8.1 0 4.6 3.7 8.3 8.3 8.3 1.8 0 3.5-.6 4.8-1.6l4.1 2.9-4.6 3.3c-1.3-.8-2.7-1.2-4.3-1.2-4.6 0-8.3 3.7-8.3 8.3 0 4.6 3.7 8.3 8.3 8.3 4.6 0 8.3-3.7 8.3-8.3 0-.6-.1-1.1-.2-1.6l28.5-20.6zm-36.7 6.4c-2.3 0-4.2-1.9-4.2-4.2 0-2.3 1.9-4.2 4.2-4.2 2.3 0 4.2 1.9 4.2 4.2-.1 2.3-1.9 4.2-4.2 4.2zm0 19.9c-2.3 0-4.2-1.9-4.2-4.2 0-2.3 1.9-4.2 4.2-4.2 2.3 0 4.2 1.9 4.2 4.2-.1 2.4-1.9 4.2-4.2 4.2zm17.9-8l10 7.6c3 2.1 7.2 1.4 9.3-1.6L89.6 116l-5.8 4.1z"/>
- <g fill="#D7D7DB" fill-rule="nonzero">
- <path d="M17.5 26.8l-.1-.1.1.1zM266.5 1.5v4.4c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5V3h-2.9c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h4.4c.8 0 1.5.7 1.5 1.5zM266.5 14.4v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17V40c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.6 1.5 1.4zm0 17.1V57c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17V74c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17V91c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17.1v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17.1v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.6 1.5 1.5zm0 17v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5
1.5zM266.5 184.8v4.4c0 .8-.7 1.5-1.5 1.5h-4.4c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h2.9v-2.9c0-.8.7-1.5 1.5-1.5s1.5.6 1.5 1.5zM253.3 189.2c0 .8-.7 1.5-1.5 1.5H243c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5H208c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.4.7 1.4 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8
c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5H94c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5H59c.8 0 1.4.7 1.4 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zM7.8 189.2c0 .8-.7 1.5-1.5 1.5H2c-.8 0-1.5-.7-1.5-1.5v-4.4c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5v2.9h2.9c.8 0 1.4.7 1.4 1.5zM3.4 14.4v8.5c0 .8-.7 1.5-1.5 1.5S.4 23.7.4 22.9v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17V40c0 .8-.7 1.5-1.5 1.5S.4 40.8.4 40v-8.5c0-.8.7-1.5 1.5-1.5s1.5.6 1.5 1.4zm0 17.1V57c0 .8-.7 1.5-1.5 1.5S.4 57.8.4 57v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17V74c0 .8-.7 1.5-1.5 1.5S.4 74.8.4 74v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17V91c0 .8-.7 1.5-1.5 1.5S.4 91.8.4 91v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17.1v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7
-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17.1v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.6 1.5 1.5zm0 17v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zM7.8 1.5c0 .8-.7 1.5-1.5 1.5H3.4v2.9c0 .8-.7 1.5-1.5 1.5S.4 6.7.4 5.9V1.5C.4.7 1.1 0 1.9 0h4.4c.9 0 1.5.7 1.5 1.5zM253.3 1.5c0 .8-.7 1.5-1.5 1.5H243c-.8 0-1.5-.7-1.5-1.5S242.2 0 243 0h8.8c.8 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5H208c-.8 0-1.5-.7-1.5-1.5S207.2 0 208 0h8.8c.8 0 1.4.7 1.4 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5h-8.8c-
.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5S137 0 137.8 0h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5S84.4 0 85.2 0H94c.9 0 1.5.7 1.5 1.5zM78 1.5c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5S66.9 0 67.7 0h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5S49.3 0 50.1 0H59c.8 0 1.4.7 1.4 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5S31.8 0 32.6 0h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5S14.3 0 15.1 0h8.8c.8 0 1.5.7 1.5 1.5z"/>
- </g>
- <path d="M-18-32h352v303H-18z"/>
- </g>
-</svg>
diff --git a/browser/extensions/onboarding/content/img/figure_singlesearch.svg b/browser/extensions/onboarding/content/img/figure_singlesearch.svg
deleted file mode 100644
index 9be029397ccf..000000000000
--- a/browser/extensions/onboarding/content/img/figure_singlesearch.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="303" height="253" viewBox="0 0 303 253" xmlns="http://www.w3.org/2000/svg"><title>search</title><defs><linearGradient x1="-18.632%" y1="-397.383%" x2="117.795%" y2="492.152%" id="a"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-312.046%" y1="-3945.649%" x2="293.266%" y2="2768.992%" id="b"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-291.258%" y1="-362.215%" x2="267.9%" y2="331.228%" id="c"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-145.39%" y1="-145.464%" x2="148.231%" y2="148.054%" id="d"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-760.952%" y1="-957.112%" x2="540.851%" y2="637.214%" id="e"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></
linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M-18-9h352v303H-18z"/><g fill-rule="nonzero"><g fill="#D7D7DB"><path d="M262.3 209.3H138.8c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h123.5c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1zM245.6 203.7h-31c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h31c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zM217.5 214.1h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-22.3 0h-3.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-7.8 0h-1.1c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-11.1 0h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm-22.4 0h-3.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zm-7.8 0H145c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-11.1 0h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6H135c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm-22.3 0h-3.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h3.3c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm-7.8 0h-1.1c-.3 0-.6-.2-.6
-.6 0-.3.2-.6.6-.6h1.1c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm-11.2 0H80.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-22.3 0H68c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.2.6-.5.6zm-7.8 0h-1.1c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.1c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm-11.2 0H39c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6z"/></g><path d="M6.3 148.8c-2.8 0-5.1-2.3-5.1-5.1v-27.2c0-2.8 2.3-5.1 5.1-5.1h245.8c2.8 0 5.1 2.3 5.1 5.1v27.2c0 2.8-2.3 5.1-5.1 5.1H6.3z" fill="#FFF"/><path d="M252.1 2.4c2.2 0 4 1.8 4 4v27.2c0 2.2-1.8 4-4 4H6.3c-2.2 0-4-1.8-4-4V6.4c0-2.2 1.8-4 4-4h245.8zm0-2.2H6.3C2.9.2.1 3 .1 6.4v27.2c0 3.4 2.8 6.2 6.2 6.2h245.8c3.4 0 6.2-2.8 6.2-6.2V6.4c.1-3.4-2.7-6.2-6.2-6.2z" fill="url(#a)" transform="translate(0 110)"/><path d="M157 23.5h24.1s-7.5-16.9 8.5-19c14.3-1.9 19.9 12.7 19.9 12.7s1.7-8.5 10.2-6.8c8.4 1.6 14.6 15.1 14.6 15.1h21" fill="#F9F9FA"/><path d="M255.6 21.4h-6.2c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h6.2c.3 0 .6.2.6.6 0 .
4-.3.6-.6.6zm-16.2 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-57.9-.6h-1.8c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1c-.1-.2-.2-.4-.3-.7-.1-.3.1-.6.3-.7.3-.1.6.1.7.3.3.9.5 1.4.5 1.4.1.2.1.4 0 .5 0 .3-.2.4-.4.4zm-10.7 0h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6-.1.3-.3.6-.6.6zm63.4-.1c-.2 0-.4-.1-.5-.3-.4-.6-.9-1.6-1.7-2.8-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.8 1.2 1.4 2.2 1.8 2.9.2.3.1.6-.2.8h-.4zM179.9 15c-.3 0-.5-.2-.6-.5-.1-.4-.1-.8-.1-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.1 1.1.1.2-.1.5-.5.6.1 0 0 0 0 0zm29.1-2.5c-.2 0-.4-.1-.5-.3-.2-.3-.3-.6-.5-1-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.2.4.4.7.6 1 .1.3 0 .6-.2.8-.3.1-.3.1-.4.1zm17.7-1.4c-.1 0-.3 0-.4-.1-2.1-1.8-4.3-3-6.3-3.4-2-.4-3.8-.2-5.3.6-.3.1-.6 0-.8-.2-.1-.3 0-.6.2-.8 1.7-.9 3.8-1.1 6.1-.7 2.3.4 4.6 1.6 6.9 3.6.2.2.3.6.1.8-.2.1-.4.2-.5.2zm-20.9-3.2c-.2 0-.3-.1-.4-.2-.7-.8-1.5-1.6-2.3-2.3-.2-.2-.3-.6-.1-.8.2-.2.5-.3.8-.1.9.7 1.7 1.5 2.4 2.4.2.2.2.6-.1.8 0 .2-.2.2-.3.2zm-23-3.2c-.2 0-.3-.1-.4-.2-.2-.
2-.2-.6 0-.8 1.8-1.6 4.3-2.7 7.5-3.1 1.9-.3 3.8-.2 5.7.1.3.1.5.3.5.6-.1.3-.3.5-.6.5-1.7-.3-3.5-.3-5.3-.1-2.9.4-5.3 1.3-6.9 2.8-.2.1-.4.2-.5.2z" fill="#D7D7DB"/><path d="M256.3 25.7H157c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h99.4c.6 0 1.1.5 1.1 1.1 0 .6-.6 1.1-1.2 1.1zM4 46.5h13.4s-4.2-9.4 4.7-10.6C30 34.8 33.2 43 33.2 43s.9-4.7 5.7-3.8c4.7.9 8.1 8.4 8.1 8.4h11.7" fill="#F9F9FA"/><path d="M17.8 45H4.5c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.7.6zm41.3-.1h-.5c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h.5c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-20.4-3.4c-.2 0-.4-.2-.5-.4L33 41c-.1-.3 0-.6.2-.7.5-1.6 2-3.8 4.9-3.8.4 0 .8 0 1.3.1 1.7.3 3.3 1.3 5 2.9.2.2.2.6 0 .8-.2.2-.6.2-.8 0-1.5-1.4-3-2.3-4.4-2.6-.4-.1-.7-.1-1-.1-3.2 0-3.9 3.3-4 3.5-.1.2-.3.4-.5.4zm-15.6-4.9c-.1 0-.3 0-.4-.1-.2-.2-.3-.6-.1-.8.7-.9 1.8-1.5 3.1-1.9.3-.1.6.1.7.4.1.3-.1.6-.4.7-1.1.3-1.9.9-2.5 1.6 0 0-.2.1-.4.1zm8.3-1.9h-.1c-.3-.1-.7-.2-1-.2-.3
0-.5-.3-.5-.6s.3-.5.6-.5c.4.1.8.1 1.2.2.3.1.5.4.4.7-.1.2-.3.4-.6.4z" fill="#D7D7DB"/><path d="M59.5 48.8H4.3c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h55.3c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.2 1.1z" fill="#F9F9FA"/><g><path d="M210 92.1v-9.5c0-2-1.6-3.6-3.6-3.6H38.3c-2 0-3.6 1.6-3.6 3.6v9.5c0 2 1.6 3.6 3.6 3.6h168.1c2 0 3.6-1.6 3.6-3.6zm0-34.8v-9.5c0-2-1.6-3.6-3.6-3.6H38.3c-2 0-3.6 1.6-3.6 3.6v9.5c0 2 1.6 3.6 3.6 3.6h168.1c2 0 3.6-1.6 3.6-3.6zm0 121.3v-9.5c0-2-1.6-3.6-3.6-3.6H38.3c-2 0-3.6 1.6-3.6 3.6v9.5c0 2 1.6 3.6 3.6 3.6h168.1c2 0 3.6-1.6 3.6-3.6z" fill="#FFF"/><path d="M206 44.2c2.2 0 4 1.8 4 4v8.7c0 2.2-1.8 4-4 4H38.8c-2.2 0-4-1.8-4-4v-8.7c0-2.2 1.8-4 4-4H206zm0 34.8c2.2 0 4 1.8 4 4v8.7c0 2.2-1.8 4-4 4H38.8c-2.2 0-4-1.8-4-4V83c0-2.2 1.8-4 4-4H206zm0 86.5c2.2 0 4 1.8 4 4v8.7c0 2.2-1.8 4-4 4H38.8c-2.2 0-4-1.8-4-4v-8.7c0-2.2 1.8-4 4-4H206zm0-123.6H38.8c-3.4 0-6.2 2.8-6.2 6.2v8.7c0 3.4 2.8 6.2 6.2 6.2H206c3.4 0 6.2-2.8 6.2-6.2v-8.7c0-3.4-2.8-6.2-6.2-6.2zm0 34.8H38.8c-3.4 0-6.2 2.8-6.
2 6.2v8.7c0 3.4 2.8 6.2 6.2 6.2H206c3.4 0 6.2-2.8 6.2-6.2V83c0-3.5-2.8-6.3-6.2-6.3zm0 86.6H38.8c-3.4 0-6.2 2.8-6.2 6.2v8.7c0 3.4 2.8 6.2 6.2 6.2H206c3.4 0 6.2-2.8 6.2-6.2v-8.7c0-3.4-2.8-6.2-6.2-6.2z" fill="#D7D7DB"/></g><path d="M300.8 176.6l-.1-.1-4.7-4.3c-.2-1.2-.8-2.3-1.7-3.1l-17.4-16c-.9-.8-2-1.3-3.2-1.4l-8.3-7.6c-1-1-2.2-1.7-3.5-2.1 10.8-18 8.1-41.3-6.9-56.4-8.7-8.7-20.3-13.5-32.6-13.5s-23.9 4.8-32.6 13.5c-18 18-18 47.3 0 65.2 8.7 8.7 20.3 13.5 32.6 13.5 8.3 0 16.6-2.3 23.7-6.6.4 1.3 1.2 2.6 2.2 3.6l7.6 8.3c.1 1.2.6 2.3 1.4 3.2l16 17.4c.8.9 1.9 1.5 3.1 1.7l4.2 4.6.1.1c1.5 1.5 3.4 2.3 5.7 2.3 3.6 0 7.8-2 11.2-5.4 5.7-5.8 7.1-13 3.2-16.9z" fill="#F9F9FA"/><g><path d="M224.1 88.7c-10.7 0-20.3 5.1-26.3 13h52.6c-6.1-7.9-15.6-13-26.3-13z" fill="#F9F9FA"/><path d="M248.9 152.7c.5-1.5 1.4-3.1 3.1-4.8 1.6-1.6 3.2-2.6 4.8-3.1l-2.5-2.5c12-15.9 10.8-38.6-3.7-53.1-7.9-7.9-18.3-11.9-28.7-11.9-10.4 0-20.8 4-28.7 11.9-15.8 15.8-15.8 41.5 0 57.4 7.9 7.9 18.3 11.9 28.7 11.9 8.6 0 17.2-2.7 24.4-8
.2l2.6 2.4zm-27-1.8c-11.8 0-22.1-6.2-28-15.4.1.1.1.3.2.4-1-1.6-1.9-3.3-2.7-5.1v-.1c-.2-.4-.4-.9-.5-1.3l-.6-1.8v-.1c-.9-3-1.4-6.2-1.4-9.6 0-3.8.7-7.5 1.8-10.9.6-1.8 1.4-3.6 2.4-5.3h.2c5.7-10 16.4-16.7 28.8-16.7 12.3 0 23.1 6.7 28.7 16.7h.1c.9 1.7 1.7 3.4 2.4 5.3 1.2 3.4 1.8 7 1.8 10.9-.1 18.2-14.9 33-33.2 33z" fill="#CCEDF0"/><path d="M253.2 107h-58.7c-2.2 4.4-3.5 9.5-3.5 14.8 0 4.9 1.1 9.6 3 13.7 5.9 9.3 16.2 15.4 28 15.4 18.3 0 33.1-14.8 33.1-33.1-.1-3.8-.7-7.4-1.9-10.8zM190.8 107h-.1c-1.2 3.4-1.8 7-1.8 10.9 0 3.3.5 6.5 1.4 9.6-.9-3-1.3-6.1-1.3-9.3-.1-4 .6-7.8 1.8-11.2zM190.9 129.3l-.6-1.8.6 1.8z" fill="#FFF"/><path d="M71.3 26.7H18.7c-1.3 1.6-2.4 3.4-3.3 5.3h58.7c-.6-1.8-1.4-3.6-2.4-5.3h-.1c.4.7.8 1.5 1.2 2.2-.4-.7-.9-1.5-1.5-2.2z" fill="url(#b)" transform="translate(179 75)"/><path d="M193.3 101.7h-.2c-.9 1.7-1.7 3.4-2.4 5.3h.1c.7-1.9 1.5-3.6 2.5-5.3z" fill="#E9E9EE"/><path d="M15.5 32c.9-1.9 2-3.6 3.3-5.3 6-7.9 15.6-13 26.3-13 10.7 0 20.2 5.1 26.3 13 .5.7 1.1 1.5 1.6 2.2-.4-.8-.
7-1.5-1.2-2.2C66.1 16.7 55.4 10 43.1 10S20 16.7 14.3 26.7c-1 1.7-1.8 3.4-2.4 5.3-1.2 3.5-1.9 7.2-1.9 11.1 0 3.2.5 6.4 1.3 9.3v.1l.6 1.8c.2.5.3.9.5 1.3v.1c.7 1.8 1.6 3.5 2.7 5.1-.1-.1-.1-.3-.2-.4-1.9-4.2-3-8.8-3-13.7.1-5.3 1.4-10.3 3.6-14.7z" fill="url(#c)" opacity=".4" transform="translate(179 75)"/><path d="M119.1 103.6l-5.7-5.2c0-.2.1-.3.1-.5 0-.6-.3-1.2-.7-1.6l-17.4-16c-.4-.4-1-.6-1.5-.6-.2 0-.4 0-.7.1l-9.4-8.6c-.8-.8-1.8-1.3-3-1.5l-2.5-2.5c11.6-16.8 9.5-39.9-5-54.5C65.2 4.6 54.5.2 43 .2S20.8 4.7 12.7 12.7C-4 29.4-4 56.5 12.7 73.2c8.1 8.1 18.8 12.5 30.2 12.5 8.6 0 17.1-2.7 24.2-7.5l2.6 2.6c.2 1.2.8 2.2 1.6 3l8.6 9.4c-.2.7-.1 1.6.5 2.2l16 17.4c.4.4 1 .7 1.6.7.2 0 .3 0 .5-.1l5.2 5.7c.8.8 2 1.3 3.3 1.3 2.7 0 6.1-1.7 8.8-4.5 4.4-4.5 5.8-9.8 3.3-12.3zM14.3 71.5C-1.5 55.7-1.5 30 14.3 14.1 22.2 6.2 32.6 2.2 43 2.2c10.4 0 20.8 4 28.7 11.9 14.5 14.5 15.7 37.2 3.7 53.1l2.5 2.5c-1.6.5-3.2 1.5-4.8 3.1-1.7 1.7-2.7 3.3-3.1 4.8l-2.5-2.5c-7.2 5.5-15.8 8.2-24.4 8.2-10.5.1-20.9-3.9-28.8-11.8zm96.9
26.3L98 111.1 82 93.7l11.8-11.8 17.4 15.9z" fill="url(#d)" transform="translate(179 75)"/><path fill="#CCEDF0" d="M277 186.1l13.2-13.3-17.4-15.9-11.8 11.8"/></g><ellipse fill="#EDEDF0" cx="242.1" cy="246.7" rx="57.2" ry="5.8"/><g><path d="M21.3 33.9c-.6 0-1.3-.2-1.8-.6L7.1 23.2c-1.3-.9-2.4-2-3.2-3.2C1 15.5 1.6 9.5 5.4 5.8c2.1-2.1 5-3.3 8-3.3s5.8 1.1 7.9 3.2c2.1-2 4.9-3.2 7.9-3.2 3.3 0 6.5 1.5 8.7 4 3.2 3.8 3.5 9.4.8 13.5-.8 1.3-1.9 2.3-3.2 3.2l-12.3 10c-.6.5-1.2.7-1.9.7z" fill="url(#e)" transform="translate(201 113)"/><path d="M214.4 117c2.5 0 5 1 6.9 2.9.3.3.6.4 1 .4s.7-.1 1-.4c1.9-1.9 4.4-2.8 6.9-2.8 2.7 0 5.5 1.2 7.5 3.5 2.8 3.3 3 8.1.7 11.7-.8 1.1-1.7 2-2.7 2.7l-12.4 10.1c-.2.2-.5.3-.8.3-.3 0-.5-.1-.8-.3L209.2 135c-1.1-.7-2.1-1.6-2.8-2.8-2.5-3.8-2-9 1.3-12.2 1.7-2 4.2-3 6.7-3zm0-3.1c-3.4 0-6.7 1.3-9.1 3.8-4.3 4.3-5 11.1-1.7 16.2.9 1.4 2.2 2.7 3.6 3.7l12.4 10c.8.6 1.8 1 2.8 1 1 0 2-.3 2.7-1l12.3-10.1c1.4-1 2.6-2.1 3.5-3.5 3.1-4.7 2.8-11.1-.9-15.4-2.5-2.9-6.1-4.6-9.9-4.6-2.9 0-5.
6.9-7.9 2.7-2.2-1.9-4.9-2.8-7.8-2.8z" fill="#FFF"/><path d="M208.6 128.1h-.1c-.9-.1-1.6-.9-1.5-1.8.3-3.2 2.5-5.8 5.7-6.5.9-.2 1.8.4 1.9 1.2.2.9-.4 1.8-1.2 1.9-1.7.4-3 1.8-3.1 3.6-.2 1-.9 1.6-1.7 1.6z" fill="#F9F9FA"/></g></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/figure_sync.svg b/browser/extensions/onboarding/content/img/figure_sync.svg
deleted file mode 100644
index 74562d37236d..000000000000
--- a/browser/extensions/onboarding/content/img/figure_sync.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="279" height="212" viewBox="0 0 279 212" xmlns="http://www.w3.org/2000/svg"><title>sync</title><defs><linearGradient x1="-424.525%" y1="-219.797%" x2="201.215%" y2="136.157%" id="a"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1416.558%" y1="-1417.275%" x2="631.855%" y2="631.14%" id="b"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1909.4%" y1="-1924.057%" x2="675.504%" y2="691.989%" id="c"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1453.558%" y1="-828.355%" x2="354.762%" y2="235.706%" id="d"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-608.073%" y1="-599.552%" x2="1804.502%" y2="1813.024%" id="e"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"
/></linearGradient><linearGradient x1="-55.527%" y1="-25.138%" x2="334.297%" y2="252.524%" id="f"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-359.418%" y1="-359.43%" x2="1512.409%" y2="1512.397%" id="g"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-393.876%" y1="-203.242%" x2="1247.254%" y2="755.651%" id="h"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-772.819%" y1="-773.412%" x2="1098.573%" y2="1098.414%" id="i"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1129.33%" y1="-1133.526%" x2="1256.735%" y2="1279.05%" id="j"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-78.929%" y1="-156.663%" x2="182.03%" y2="261.703%" id
="k"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-2.965%" y1="-86.281%" x2="110.352%" y2="213.059%" id="l"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-833.673%" y1="-459.972%" x2="807.063%" y2="498.921%" id="m"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-17.606%" y1="-93.916%" x2="104.414%" y2="177.35%" id="n"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M-37-28h352v268H-37z"/><g fill-rule="nonzero"><g><path d="M23 23.1h23.9S39.4 6.4 55.3 4.2c14.2-1.9 19.8 12.6 19.8 12.6s1.7-8.4 10.1-6.8c8.3 1.6 14.5 15 14.5 15h20.8" fill="#F9F9FA"/><path d="M121 21.1h-5.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h5.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-15.4 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4
.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zm-5.5-.1c-.2 0-.4-.1-.5-.3-.2-.3-.7-1.4-1.7-2.9-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2 1 1.5 1.6 2.6 1.7 2.9.1.3 0 .6-.2.8-.1.1-.2.1-.3.1zm-52.7-.6h-1.6c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h.8c-.1-.2-.2-.5-.3-.9-.1-.3.1-.6.4-.7.3-.1.6.1.7.4.3 1 .6 1.6.6 1.6.1.2.1.4 0 .5-.3.2-.5.3-.6.3zm-10.6 0H23.4c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm8.9-5.9c-.3 0-.5-.2-.6-.5 0-.4-.1-.8-.1-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.1 1.1.1.2-.1.5-.5.6.1-.1.1 0 0 0zm29.2-1.8c-.2 0-.4-.1-.5-.3-.1-.3-.3-.6-.5-1-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.2.4.4.7.5 1 .1.3 0 .6-.2.8-.2.1-.2.1-.3.1zm17.8-1.4c-.1 0-.3 0-.4-.1-2.3-2.1-4.6-3.4-6.8-3.8-.7-.1-1.4-.2-2-.2-1 0-2 .2-2.8.5-.3.1-.6 0-.7-.3-.1-.3 0-.6.3-.7 1-.4 2.1-.6 3.3-.6.7 0 1.4.1 2.2.2 2.4.5 4.9 1.8 7.3 4 .2.2.2.6 0 .8-.1.1-.2.2-.4.2zM71.8 8c-.2 0-.3-.1-.4-.2-.7-.9-1.5-1.6-2.3-2.3-.2-.2-.3-.6-.1-.8.2-.2.6-.3.8-.1.8.7 1.6 1.6 2.4 2.5.2.2.2.6-.1.8-.1.1-.2.1-.3.1zM48.9 4.2c-.2 0-.3-.1-.4-.2-.2-.2-.2-.6.
1-.8C50.4 1.7 52.8.8 55.8.3c2.1-.3 4.1-.2 6 .1.3.1.5.4.4.7-.1.3-.3.5-.7.4-1.8-.4-3.7-.4-5.6-.1-2.8.4-5 1.3-6.6 2.6-.2.2-.3.2-.4.2z" fill="#D7D7DB"/><path d="M121.6 25.3H23c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h98.6c.6 0 1.1.5 1.1 1.1 0 .6-.4 1.1-1.1 1.1zM222.4 31.5h13.3s-4.2-9.3 4.7-10.5c7.9-1.1 11 7 11 7s.9-4.7 5.6-3.8c4.6.9 8 8.3 8 8.3h11.6" fill="#F9F9FA"/><path d="M236.1 30h-13.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.3v.5l.5-.2c.1.2.1.4 0 .6-.2.2-.3.3-.5.3zm36.5-.2h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-20.8-3.3h-.1c-.3-.1-.5-.4-.4-.7.1-.4 1.1-4.3 5-4.3.4 0 .8 0 1.2.1 1.7.3 3.5 1.4 5.2 3.1.2.2.2.6 0 .8-.2.2-.6.2-.8 0-1.6-1.6-3.1-2.5-4.6-2.8-.4-.1-.7-.1-1-.1-3 0-3.8 2.8-3.9 3.4-.1.3-.4.5-.6.5zm-15.3-5.1c-.1 0-.3 0-.4-.1-.2-.2-.2-.6 0-.8.8-.8 1.8-1.5 3.1-1.8.3-.1.6.1.7.4.1.3-.1.6-.4.7-1.1.3-2 .8-2.6 1.5-.1.1-.3.1-.4.1zm8.3-1.6h-.2c-.3-.1-.7-.2-1-.2-.3-.1-.5-.3-.5-.6.1-.3.3-.5.6-.5l1.2.3c.3.1.5.4.4.7 0 .1-.2.3-.5.3z" fill="#D7D7DB"/><path d="M277.5
33.7h-54.9c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h54.9c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1z" fill="#F9F9FA"/><ellipse fill="#EDEDF0" cx="144.1" cy="206.4" rx="59.7" ry="5.2"/><path d="M187.8 21.6h.1c.7 0 1.3-.5 1.3-1.2.1-1.5 1.2-2.7 2.6-3 .7-.2 1.2-.9 1-1.6-.2-.7-.9-1.2-1.6-1-2.6.6-4.5 2.8-4.7 5.4 0 .7.6 1.4 1.3 1.4z" fill="#F9F9FA"/><ellipse fill="#EDEDF0" cx="248.8" cy="206.4" rx="25.7" ry="4.5"/><ellipse fill="#EDEDF0" cx="35.7" cy="206.4" rx="35" ry="4.5"/></g><path d="M173 63.2c-.1-.3-.5-.5-.9-.4-.9.4-1.8.7-2.7 1.1-.2.1-.3.3-.4.5h2.7c.3-.1.6-.3.9-.4.4-.1.6-.5.4-.8zM231.7 155.7c.1.1.3.2.5.2s.3-.1.5-.2c.2-.2.4-.5.7-.7h-1.8c-.1.2-.1.5.1.7zM149.2 63.7c.3-.2.3-.7.1-.9-.2-.3-.7-.3-.9-.1-.3.3-.7.6-1 .8-.3.2-.3.6-.1.9h1.1c.2-.2.5-.4.8-.7zM65.2 62.8c-.2.1-.3.1-.5.2.5 0 .9.1 1.3.2-.1-.4-.5-.5-.8-.4zM129.2 63.9c.1.1.3.2.4.2.2 0 .4-.1.5-.2.2-.3.2-.7-.1-.9-.3-.3-.7-.6-1-.8-.3-.2-.7-.2-.9.1-.2.3-.2.7.1.9.3.1.6.4 1 .7zM42.3 62.8c-.2-.3-.7-.3-.9-.1l-.3.3h1.4c-.1-.1-.1-.2-.2-.2z" fill="#F3
F3F7"/><path d="M196.2 171.5c0 .4-.3.7-.6.7-1 .1-2 .1-2.9.1h-.1c-3.9 0-7.9-.4-11.7-1.2-.4-.1-.6-.4-.5-.8.1-.4.4-.6.8-.5 3.7.8 7.6 1.2 11.4 1.2 1 0 2 0 2.9-.1.4-.1.7.2.7.6zm10.5-109.3c3.7 1 7.4 2.4 10.8 4.1.1 0 .2.1.3.1.2 0 .5-.1.6-.4.2-.3 0-.7-.3-.9-3.5-1.8-7.2-3.2-11.1-4.2-.4-.1-.7.1-.8.5 0 .3.2.7.5.8zm-11.3-3.1c-4.9-.2-9.9.2-14.7 1.2-.4.1-.6.4-.5.8.1.3.3.5.7.5h.1c4.7-1 9.6-1.4 14.4-1.2.4 0 .7-.3.7-.6-.1-.4-.3-.7-.7-.7zm-25.5 108.4c.3 0 .5-.1.6-.4.2-.3 0-.7-.3-.9-.6-.3-1.1-.5-1.7-.8h-2.9c1.3.7 2.7 1.4 4.1 2 0 0 .1.1.2.1zM223.3 68c-.3-.2-.7-.1-.9.2-.2.3-.1.7.2.9.8.5 1.6 1.1 2.4 1.6.1.1.3.1.4.1.2 0 .4-.1.5-.3.2-.3.1-.7-.2-.9-.8-.5-1.6-1-2.4-1.6zm-.6 94c-3.2 2.1-6.7 3.9-10.3 5.3-.3.1-.5.5-.4.9.1.3.4.4.6.4h.2c3.7-1.4 7.2-3.2 10.5-5.4.3-.2.4-.6.2-.9 0-.4-.5-.5-.8-.3zm-15.8 7c-.9.2-1.9.5-2.8.7-.4.1-.6.4-.5.8.1.3.3.5.7.5h.1c1-.2 1.9-.4 2.9-.7.4-.1.6-.5.5-.8-.1-.3-.5-.6-.9-.5zM192.6 54.7c16.8 0 32 6.8 43.1 17.9h3.7C227.7 60 211.1 52 192.6 52c-14.1 0-27.1 4.6-37.7 12.4h4.7c9.6-6.1 20.9-9.7
33-9.7zm0 121.8c-13.1 0-25.2-4.1-35.1-11.2H153c10.9 8.7 24.6 13.9 39.6 13.9 20.2 0 38.3-9.5 49.9-24.3H239c-11.1 13.2-27.8 21.6-46.4 21.6zm11.8 5.8c-5 .9-10.2 1.2-15.2.9-.3 0-.7.3-.7.6 0 .4.3.7.6.7 1.2.1 2.3.1 3.5.1 4 0 8.1-.4 12-1 .4-.1.6-.4.5-.8 0-.4-.3-.6-.7-.5zm-25.4-.4c-1.2-.3-2.5-.5-3.7-.9-.4-.1-.7.1-.8.5-.1.4.1.7.5.8 1.3.3 2.5.6 3.8.9h.1c.3 0 .6-.2.7-.5 0-.3-.2-.7-.6-.8zm37.7-3c-.4.2-.8.3-1.2.4-.3.1-.5.5-.4.9.1.3.4.4.6.4h.2c.4-.1.8-.3 1.2-.5.3-.1.5-.5.4-.9-.1-.3-.5-.5-.8-.3zm19.4-115c.1.1.3.2.4.2.2 0 .4-.1.5-.2.2-.3.2-.7-.1-.9-.3-.3-.7-.6-1-.8-.3-.2-.7-.2-.9.1-.2.3-.2.7.1.9.4.1.7.4 1 .7zm-65.7 115.7c-.4-.1-.8-.3-1.2-.4-.3-.1-.7 0-.9.4-.1.3 0 .7.4.9.4.2.8.3 1.2.4h.2c.3 0 .5-.2.6-.5.3-.3.1-.7-.3-.8zm54.4-4.4c-1.1.6-2.3 1.2-3.4 1.7-.3.2-.5.6-.3.9.1.2.4.4.6.4.1 0 .2 0 .3-.1 1.2-.6 2.3-1.1 3.5-1.8.3-.2.4-.6.3-.9-.3-.3-.7-.4-1-.2zm19.6-16.1c-3.3 3.9-7 7.4-11.1 10.5-.3.2-.4.6-.1.9.1.2.3.3.5.3.1 0 .3 0 .4-.1 4.1-3.1 7.9-6.7 11.3-10.7.2-.3.2-.7-.1-.9-.2-.3-.6-.3-.9 0zm.9-88c-.2-.3-.7-.
3-.9-.1-.3.2-.3.7-.1.9.2.2.3.4.5.6h1.7c-.4-.4-.8-.9-1.2-1.4zm-87-13.9c.1 0 .2 0 .3-.1 4.4-2.6 9.1-4.6 14-6.1.4-.1.6-.5.4-.8-.1-.4-.5-.6-.8-.4-5 1.5-9.8 3.6-14.3 6.3-.3.2-.4.6-.2.9.1.1.3.2.6.2zm45.8-8.2c5 .9 10 2.3 14.7 4.3.1 0 .2.1.3.1.3 0 .5-.2.6-.4.1-.3 0-.7-.4-.9-4.8-2-9.8-3.5-15-4.4-.4-.1-.7.2-.8.5 0 .3.3.7.6.8zm23.8 8.9c1.1.7 2.2 1.4 3.2 2.1.1.1.3.1.4.1.2 0 .4-.1.6-.3.2-.3.1-.7-.2-.9-1.1-.7-2.2-1.5-3.3-2.1-.3-.2-.7-.1-.9.2-.2.3-.1.7.2.9zM191.4 48h1.3c.4 0 .6-.3.6-.7 0-.4-.4-.7-.7-.7h-1.2c-.4 0-.7.3-.7.7 0 .4.3.7.7.7zm-45.8 118.2c3.8 3.5 8 6.7 12.5 9.3.1.1.2.1.3.1.2 0 .5-.1.6-.3.2-.3.1-.7-.2-.9-4.3-2.5-8.4-5.5-12.1-8.9h-1.2c-.1.1-.1.5.1.7zm36.8-117.5c.1 0 .1 0 0 0 1.3-.2 2.6-.3 3.9-.5.4 0 .6-.4.6-.7 0-.4-.4-.6-.7-.6-1.3.1-2.6.3-3.9.5-.4.1-.6.4-.6.8.1.3.4.5.7.5zM97.3 171h.1c1-.2 1.9-.4 2.9-.7.4-.1.6-.5.5-.8-.1-.4-.5-.6-.8-.5-.9.2-1.9.5-2.8.7-.4.1-.6.4-.5.8 0 .3.3.5.6.5zm2-109.6c-.1.4.1.7.5.8 2.3.6 4.5 1.4 6.7 2.3h3.3c-3.1-1.5-6.4-2.7-9.7-3.6-.4-.1-.7.1-.8.5zm-25.6-1.1c-.4.1-.6.4-
.5.8.1.3.3.5.7.5h.1c4.7-1 9.6-1.4 14.4-1.2.4 0 .7-.3.7-.6 0-.4-.3-.7-.6-.7-5-.3-10 .1-14.8 1.2zm-.3 110c-.1.4.2.7.5.8 3.8.8 7.8 1.2 11.7 1.2h.1c1 0 2 0 2.9-.1.4 0 .7-.3.6-.7 0-.4-.3-.7-.7-.6-1 0-1.9.1-2.9.1-3.9 0-7.7-.4-11.4-1.2-.4-.2-.7.1-.8.5zm31.7-2.2c.1.3.4.4.6.4h.2c2.3-.9 4.6-2 6.7-3.1h-2.9c-1.4.7-2.8 1.3-4.3 1.9-.3.1-.5.5-.3.8zm-42.2-.6c.3 0 .5-.1.6-.4.2-.3 0-.7-.3-.9-1.8-.8-3.6-1.7-5.3-2.7h-2.6c2.3 1.5 4.8 2.8 7.3 3.9.1 0 .2.1.3.1zM85.6 54.7c12.1 0 23.4 3.6 32.9 9.7h4.7C112.7 56.6 99.7 52 85.6 52 72.4 52 60.1 56 50 62.9h5.1c9-5.2 19.4-8.2 30.5-8.2zm0 121.8c-14.2 0-27.2-4.9-37.6-13.1h-4.2c11.2 9.8 25.8 15.7 41.8 15.7 15 0 28.7-5.2 39.6-13.9h-4.5c-9.9 7.2-22 11.3-35.1 11.3zm32.2-1.3c-1.1.6-2.3 1.2-3.4 1.7-.3.2-.5.6-.3.9.1.2.4.4.6.4.1 0 .2 0 .3-.1 1.2-.6 2.3-1.1 3.5-1.8.3-.2.4-.6.3-.9-.3-.3-.7-.4-1-.2zm3.1-117.3c1.1.7 2.2 1.4 3.2 2.1.1.1.3.1.4.1.2 0 .4-.1.6-.3.2-.3.1-.7-.2-.9-1.1-.7-2.2-1.5-3.3-2.1-.3-.2-.7-.1-.9.2-.2.3-.1.7.2.9zM97.4 182.3c-5 .9-10.2 1.2-15.2.9-.4 0-.7.3-.7.6 0
.4.3.7.6.7 1.2.1 2.3.1 3.5.1 4 0 8.1-.4 12-1 .4-.1.6-.4.5-.8 0-.4-.3-.6-.7-.5zm-34-2.7c-.4-.1-.8-.3-1.2-.4-.3-.1-.7 0-.9.4-.1.3 0 .7.4.9.4.2.8.3 1.2.4h.2c.3 0 .5-.2.6-.5.3-.3.1-.7-.3-.8zm8.7 2.3c-1.2-.3-2.5-.5-3.7-.9-.4-.1-.7.1-.8.5-.1.4.1.7.5.8 1.3.3 2.5.6 3.8.9h.1c.3 0 .6-.2.7-.5 0-.3-.3-.7-.6-.8zm54.3-12.3c-.3.2-.4.6-.1.9.1.2.3.3.5.3.1 0 .3 0 .4-.1 2.2-1.7 4.3-3.4 6.2-5.3h-2c-1.6 1.5-3.3 2.9-5 4.2zm-16.7 9.3c-.4.2-.8.3-1.2.4-.3.1-.5.5-.4.9.1.3.4.4.6.4h.2c.4-.1.8-.3 1.2-.5.3-.1.5-.5.4-.9-.1-.3-.5-.5-.8-.3zM97.1 49c5 .9 10 2.3 14.7 4.3.1 0 .2.1.3.1.3 0 .5-.2.6-.4.1-.3 0-.7-.4-.9-4.8-2-9.8-3.5-15-4.4-.4-.1-.7.2-.8.5 0 .3.3.7.6.8zm-12.7-1h1.3c.4 0 .6-.3.6-.7 0-.4-.4-.7-.7-.7h-1.2c-.4 0-.7.3-.7.7.1.4.4.7.7.7zm-33.1 9.2c.1 0 .2 0 .3-.1 4.4-2.6 9.1-4.6 14-6.1.4-.1.6-.5.4-.8-.1-.4-.5-.6-.8-.4-5 1.5-9.8 3.6-14.3 6.3-.3.2-.4.6-.2.9.1.1.3.2.6.2zm.6 117.1c-4.4-2.5-8.6-5.6-12.3-9.1-.3-.3-.7-.2-1 0-.3.3-.2.7 0 1 3.8 3.5 8 6.7 12.5 9.3.1.1.2.1.3.1.2 0 .5-.1.6-.3.3-.4.2-.8-.1-1zM75.4 48.7c.1 0
.1 0 0 0 1.3-.2 2.6-.3 3.9-.5.4 0 .6-.4.6-.7 0-.4-.4-.6-.7-.6-1.3.1-2.6.3-3.9.5-.4.1-.6.4-.6.8.1.3.4.5.7.5z" fill="#D7D7DB"/><path d="M261.6 34.4h-30.1c-1.3 0-2.3 1-2.3 2.3v56.4c0 1.3 1 2.3 2.3 2.3h30.1c1.3 0 2.3-1 2.3-2.3V36.7c0-1.2-1-2.3-2.3-2.3zm-15.5 4.9c4.2 0 7.7 3.5 7.7 7.7s-3.5 7.7-7.7 7.7-7.7-3.5-7.7-7.7 3.5-7.7 7.7-7.7zm-7.5 23.1c.1-.4.5-.8 1-.9l3.7-.7 2.1-4.1.8-.1c.5 0 .9.3 1.1.7l1.7 3.5 4.4.8.3.7c.1.4 0 .9-.3 1.3l-2.6 2.8.7 4.7-.6.5c-.4.3-.9.3-1.3.1l-3.3-1.7-4 2.1-.7-.4c-.4-.3-.6-.7-.5-1.2l.6-3.9-3.1-3.4v-.8zm8.2 17.3c0-.7.5-1.2 1.2-1.2h1.3c-.8-.9-1.9-1.4-3.2-1.4-2 0-3.8 1.4-4.3 3.3-.1.5-.6.9-1.1.9h-.3c-.6-.2-1-.8-.9-1.4.8-3 3.4-5.1 6.6-5.1 1.6 0 3.2.6 4.4 1.7V76c0-.7.5-1.2 1.2-1.2s1.2.5 1.2 1.2v3.7c0 .7-.5 1.2-1.2 1.2H248c-.7 0-1.2-.5-1.2-1.2zm-.7 8.7c-1.6 0-3.2-.6-4.4-1.7v.5c0 .7-.5 1.2-1.2 1.2s-1.2-.5-1.2-1.2v-3.7c0-.7.5-1.2 1.2-1.2h3.7c.7 0 1.2.5 1.2 1.2s-.5 1.2-1.2 1.2h-1.3c.8.9 1.9 1.4 3.2 1.4 2 0 3.8-1.4 4.3-3.3.2-.6.8-1 1.4-.9.6.2 1 .8.9 1.4-.8 3-3.5 5.1-6.6 5.1z"
fill="url(#a)" transform="translate(1 46)"/><path d="M246.1 52.4c2.9 0 5.3-2.4 5.3-5.3s-2.4-5.3-5.3-5.3-5.3 2.4-5.3 5.3 2.4 5.3 5.3 5.3zm-1.1-8.6c0-.4.3-.7.7-.7.4 0 .7.3.7.7v3.1h3.1c.4 0 .7.3.7.7 0 .4-.3.7-.7.7h-3.7c-.4 0-.7-.3-.7-.7v-3.8h-.1z" fill="url(#b)" transform="translate(1 46)"/><path fill="url(#c)" d="M243.6 68.7l2.5-1.3 2.6 1.3-.5-3 2.1-2.2-2.9-.5-1.3-2.6-1.3 2.6-2.9.5 2.1 2.2" transform="translate(1 46)"/><path d="M240.9 70.5c-.1.5.1.9.5 1.2l.7.4 4-2.1 3.3 1.7c.4.2.9.2 1.3-.1l.6-.5-.7-4.7 2.6-2.8c.3-.3.4-.8.3-1.3l-.3-.7-4.4-.8-1.7-3.5c-.2-.4-.7-.7-1.1-.7l-.8.1-2.1 4.1-3.7.7c-.5.1-.8.4-1 .9l-.2.8 3.1 3.4-.4 3.9zm3.9-7.5l1.3-2.6 1.3 2.6 2.9.5-2.1 2.2.4 3-2.5-1.3-2.5 1.3.4-3-2.1-2.2 2.9-.5z" fill="url(#d)" transform="translate(1 46)"/><path fill="url(#e)" d="M35 60.4l-1.4 2.8-3.1.6 2.2 2.4-.4 3.2 2.7-1.5 2.7 1.5-.4-3.2 2.2-2.4-3.1-.6" transform="translate(1 46)"/><path d="M10.2 103.3h50.7c1.4 0 2.5-1.1 2.5-2.5V27.6c0-1.4-1.1-2.5-2.5-2.5H10.2c-1.4 0-2.5 1.1-2.5 2.5v73.2c.1
1.4 1.2 2.5 2.5 2.5zm32.1-14.5c-.8 3.3-3.8 5.7-7.3 5.7-1.8 0-3.5-.7-4.8-1.8v.4c0 .7-.6 1.3-1.3 1.3-.7 0-1.3-.6-1.3-1.3V89c0-.7.6-1.3 1.3-1.3H33c.7 0 1.3.6 1.3 1.3 0 .7-.6 1.3-1.3 1.3h-1.3c.9.9 2.1 1.4 3.4 1.4 2.2 0 4.1-1.5 4.6-3.6.2-.7.9-1.2 1.6-1 .7.2 1.1 1 1 1.7zm.2-3.9c0 .7-.6 1.3-1.3 1.3h-4.1c-.7 0-1.3-.6-1.3-1.3 0-.7.6-1.3 1.3-1.3h1.3c-.9-.9-2.1-1.4-3.4-1.4-2.2 0-4.1 1.5-4.6 3.6-.2.6-.7 1-1.3 1h-.3c-.7-.2-1.2-.9-1-1.6.8-3.3 3.8-5.7 7.3-5.7 1.8 0 3.5.7 4.8 1.8v-.4c0-.7.6-1.3 1.3-1.3.7 0 1.3.6 1.3 1.3v4zm.5-21L40.1 67l.7 5.1-.7.6c-.4.3-1 .4-1.5.1L35 71l-4.4 2.3-.8-.5c-.4-.3-.7-.8-.6-1.4l.6-4.3-3.4-3.7.2-.9c.2-.5.6-.9 1.1-1l4-.7 2.3-4.6.9-.1c.6 0 1 .3 1.3.8l1.9 3.8 4.8.9.3.8c.3.6.2 1.2-.2 1.5zm-8-30.2c4.7 0 8.5 3.8 8.5 8.5s-3.8 8.5-8.5 8.5-8.5-3.8-8.5-8.5 3.8-8.5 8.5-8.5z" fill="url(#f)" transform="translate(1 46)"/><path d="M29.2 42.2c0 3.2 2.6 5.8 5.8 5.8 3.2 0 5.8-2.6 5.8-5.8 0-3.2-2.6-5.8-5.8-5.8-3.2 0-5.8 2.6-5.8 5.8zm4.6-3.6c0-.4.3-.7.7-.7.4 0 .7.3.7.7V42h3.4c.4 0 .7.3.7.7 0
.4-.3.7-.7.7h-4.1c-.4 0-.7-.3-.7-.7v-4.1z" fill="url(#g)" transform="translate(1 46)"/><path d="M43 61.7l-4.8-.9-1.9-3.8c-.2-.5-.7-.8-1.3-.8l-.9.1-2.3 4.6-4 .7c-.5.1-1 .5-1.1 1l-.2.9 3.4 3.7-.6 4.3c-.1.5.1 1.1.6 1.4l.8.5L35 71l3.6 1.9c.5.3 1.1.2 1.5-.1l.7-.6-.7-5.1L43 64c.4-.4.5-.9.3-1.4l-.3-.9zm-5.7 4.5l.4 3.2L35 68l-2.7 1.4.4-3.2-2.2-2.4 3.1-.6 1.4-2.8 1.4 2.8 3.1.6-2.2 2.4z" fill="url(#h)" transform="translate(1 46)"/><path d="M119.4 59.6c3.2 0 5.8-2.6 5.8-5.8 0-3.2-2.6-5.8-5.8-5.8-3.2 0-5.8 2.6-5.8 5.8-.1 3.1 2.6 5.8 5.8 5.8zm-1.2-9.5c0-.4.3-.7.7-.7.4 0 .7.3.7.7v3.4h3.4c.4 0 .7.3.7.7 0 .4-.3.7-.7.7h-4.1c-.4 0-.7-.3-.7-.7v-4.1z" fill="url(#i)" transform="translate(1 46)"/><path fill="url(#j)" d="M143.4 52.3l-1.3-2.8-1.4 2.8-3.2.6 2.3 2.4-.5 3.2 2.8-1.4 2.7 1.4-.5-3.2 2.3-2.4" transform="translate(1 46)"/><path d="M102.8 81.1h77.6c1.6 0 2.8-1.3 2.8-2.8V32c0-1.6-1.3-2.8-2.8-2.8h-77.6c-1.6 0-2.8 1.3-2.8 2.8v46.3c-.1 1.6 1.2 2.8 2.8 2.8zm44.4-24.9l.7 5.1-.7.6c-.4.3-1 .4-1.5.1l-3.6-1
.9-4.4 2.3-.8-.5c-.4-.3-.7-.8-.6-1.4l.6-4.3-3.4-3.7.2-.9c.2-.5.6-.9 1.1-1l4-.7 2.3-4.6.9-.1c.5 0 1 .3 1.3.8l1.9 3.8 4.8.9.3.8c.2.5 0 1.1-.3 1.4l-2.8 3.3zm10.3-4.3c.8-3.3 3.8-5.7 7.3-5.7 1.8 0 3.5.7 4.8 1.8v-.4c0-.7.6-1.3 1.3-1.3.7 0 1.3.6 1.3 1.3v4.1c0 .7-.6 1.3-1.3 1.3h-4.1c-.7 0-1.3-.6-1.3-1.3 0-.7.6-1.3 1.3-1.3h1.3c-.9-.9-2.1-1.4-3.4-1.4-2.2 0-4.1 1.5-4.6 3.6-.2.6-.7 1-1.3 1h-.3c-.8-.2-1.2-1-1-1.7zm-.3 3.9c0-.7.6-1.3 1.3-1.3h4.1c.7 0 1.3.6 1.3 1.3 0 .7-.6 1.3-1.3 1.3h-1.3c.9.9 2.1 1.4 3.4 1.4 2.2 0 4.1-1.5 4.6-3.6.2-.7.9-1.2 1.6-1 .7.2 1.2.9 1 1.6-.8 3.3-3.8 5.7-7.3 5.7-1.8 0-3.5-.7-4.8-1.8v.4c0 .7-.6 1.3-1.3 1.3-.7 0-1.3-.6-1.3-1.3v-4zm-37.8-10.6c4.7 0 8.5 3.8 8.5 8.5s-3.8 8.5-8.5 8.5-8.5-3.8-8.5-8.5c-.1-4.7 3.8-8.5 8.5-8.5z" fill="url(#k)" transform="translate(1 46)"/><path d="M264.7 75.3h-34.4c-2.6 0-4.6 2.1-4.6 4.6v67.7c0 2.6 2.1 4.6 4.6 4.6h34.4c2.6 0 4.6-2.1 4.6-4.6V79.9c.1-2.5-2-4.6-4.6-4.6zm-11.8 71.1c0 1.2-.9 2.1-2.1 2.1h-6.7c-1.2 0-2.1-.9-2.1-2.1v-.1c0-1.2.9-2.1 2.1-2.1
h6.7c1.2.1 2.1 1 2.1 2.2zm12-7.3c0 1.3-1 2.3-2.3 2.3h-30.1c-1.3 0-2.3-1-2.3-2.3V82.7c0-1.3 1-2.3 2.3-2.3h30.1c1.3 0 2.3 1 2.3 2.3v56.4zM9 160.8h55.2c2.7 0 4.9-2.2 4.9-4.9V70.6c0-2.7-2.2-4.9-4.9-4.9H9c-2.7 0-4.9 2.2-4.9 4.9v85.3c-.1 2.7 2.1 4.9 4.9 4.9zm19.4-5.3v-1.7c0-1 .8-1.8 1.8-1.8H43c1 0 1.8.8 1.8 1.8v1.7c0 1-.8 1.8-1.8 1.8H30.2c-1 0-1.8-.9-1.8-1.8zM8.8 73.6c0-1.4 1.1-2.5 2.5-2.5H62c1.4 0 2.5 1.1 2.5 2.5v73.2c0 1.4-1.1 2.5-2.5 2.5H11.2c-1.4 0-2.5-1.1-2.5-2.5V73.6h.1zm92.4 57.9h82.7c2.6 0 4.8-2.1 4.8-4.8V71.9c0-2.6-2.1-4.8-4.8-4.8h-82.7c-2.6 0-4.8 2.1-4.8 4.8v54.8c0 2.7 2.2 4.8 4.8 4.8zM141 71c0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6 0 .9-.7 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6zm-40.1 7c0-1.6 1.3-2.8 2.8-2.8h77.6c1.6 0 2.8 1.3 2.8 2.8v46.3c0 1.6-1.3 2.8-2.8 2.8h-77.6c-1.6 0-2.8-1.3-2.8-2.8V78zm94.8 84.7c1.6 0 3-1.2 3-2.6v-1.4c0-.3-.1-.7-.2-1l-9.9-21.7c-.5-1-1.5-1.7-2.8-1.7H98.7c-1.2 0-2.4.7-2.8 1.7l-9.3 21.7c-.1.3-.2.6-.2.9v1.4c0 1.5 1.3 2.6 3 2.6h106.3v.1zm-11.4-20.2l.5 1.5c.1.4-.5.9-1.2
.9h-5c-.4 0-.8-.2-.8-.4-.1-.6-.2-.9-.5-1.5-.2-.4.4-.9 1.1-.9h5c.4 0 .8.1.9.4zm-7.4-5.3h4.7c.4 0 .7.2.8.4.1.6.2.9.4 1.5.1.4-.4.8-1 .8h-4.6c-.4 0-.8-.2-.9-.4l-.5-1.5c-.2-.4.4-.8 1.1-.8zm-4.3 5.3c.1.6.2.9.3 1.5.1.4-.6.9-1.3.9h-5.1c-.5 0-.8-.2-.9-.5-.2-.6-.2-.9-.4-1.5-.1-.4.5-.9 1.3-.9h5.3c.4.1.8.3.8.5zm-7.1-5.3h5c.4 0 .8.2.8.4.1.6.2.9.3 1.5.1.4-.5.8-1.2.8h-4.9c-.4 0-.8-.2-.8-.4-.2-.6-.2-.9-.4-1.5-.1-.4.5-.8 1.2-.8zm-5.8 5.5c.1.6.1.9.2 1.6.1.4-.5.8-1.2.8h-5.3c-.5 0-.9-.2-1-.5-.1-.6-.2-.9-.3-1.6-.1-.4.5-.8 1.2-.8h5.5c.4-.1.8.1.9.5zm-6.8-5.5h5.2c.5 0 .9.2.9.5.1.6.1.9.2 1.5.1.4-.5.8-1.1.8H153c-.5 0-.9-.2-.9-.5-.1-.6-.2-.9-.3-1.5-.1-.4.5-.8 1.1-.8zm-13.4.6c.1-.3.5-.5 1.1-.5h4.7c.5 0 1 .2 1 .5.1.6.1.9.2 1.5.1.4-.4.7-1.1.7h-5.3c-.6 0-1.1-.3-1-.7.2-.6.2-.9.4-1.5zm-.4 5c.1-.3.5-.6 1.1-.6h5c.6 0 1 .2 1.1.6.1.6.2.9.3 1.6.1.4-.5.8-1.1.8H140c-.7 0-1.2-.4-1.1-.8 0-.6.1-1 .2-1.6zm-11.4-5.5h5.2c.7 0 1.2.4 1.1.8l-.5 1.5c-.1.3-.5.5-1 .5h-5.1c-.6 0-1.2-.4-1.1-.8.1-.6.2-.9.3-1.5.2-.3.6-.5 1.1-.5zm-2 5.5c.
1-.3.5-.5 1-.5h5.5c.7 0 1.3.4 1.1.8-.2.6-.3 1-.4 1.6-.1.3-.5.5-1 .5h-5.3c-.7 0-1.3-.4-1.2-.8.1-.6.2-.9.3-1.6zm-17.7.4c-.3.6-.4 1-.5 1.6-.1.3-.4.5-.8.5h-5c-.7 0-1.3-.4-1.2-.9.2-.6.3-1 .5-1.6.1-.3.5-.5.9-.5h5c.7 0 1.2.5 1.1.9zm1.2-3.5c-.1.3-.5.4-.9.4h-4.6c-.6 0-1.1-.4-.9-.8l.5-1.5c.1-.3.4-.4.8-.4h4.7c.7 0 1.2.4 1.1.8-.3.6-.5.9-.7 1.5zm10.5 5.1c-.1.3-.4.5-.9.5h-5.1c-.7 0-1.3-.4-1.2-.9.1-.6.2-1 .4-1.6.1-.3.4-.5.9-.5h5.3c.7 0 1.3.4 1.2.9-.3.6-.4 1-.6 1.6zm1.1-5.1c-.1.3-.4.4-.9.4H115c-.7 0-1.2-.4-1.1-.8.2-.6.3-.9.4-1.5.1-.3.4-.4.9-.4h5c.7 0 1.2.4 1.1.8l-.5 1.5zm3.1 14.6c.4-2.3.6-3.5 1.1-5.9 0-.3.4-.6.9-.6 13.6-.1 20.5-.2 34.1-.3.5 0 .9.2.9.6.3 2.4.5 3.6.6 6.1 0 .4-.6.8-1.2.8h-35.4c-.6.1-1.1-.3-1-.7z" fill="#FFF"/><path d="M263.7 26.6h-.2v-1.3c0-.6-.5-1.2-1.2-1.2h-6.5c-.6 0-1.2.5-1.2 1.2v1.3h-25.4c-4 0-7.3 3.3-7.3 7.3v67.7c0 4 3.3 7.3 7.3 7.3h34.4c4 0 7.3-3.3 7.3-7.3V33.9c.1-4-3.1-7.3-7.2-7.3zm4.7 75c0 2.6-2.1 4.6-4.6 4.6h-34.4c-2.6 0-4.6-2.1-4.6-4.6V33.9c0-2.6 2.1-4.6 4.6-4.6h34.4c2.6 0 4
.6 2.1 4.6 4.6v67.7zm-16.5-1.2c0 1.2-.9 2.2-2.1 2.2h-6.7c-1.2 0-2.1-.9-2.1-2.1v-.1c0-1.2.9-2.1 2.1-2.1h6.7c1.2 0 2.1.9 2.1 2.1zM54.3 117.5h8.8c4.2 0 7.6-3.4 7.6-7.6V24.6c0-3.6-2.4-6.5-5.7-7.4-.4-.1-.9-.2-1.3-.2H8C3.8 17 .4 20.4.4 24.6v85.3c0 4.2 3.4 7.6 7.6 7.6h46.3zM3 24.6c0-2.7 2.2-4.9 4.9-4.9h55.2c2.7 0 4.9 2.2 4.9 4.9v85.3c0 2.7-2.2 4.9-4.9 4.9H8c-2.7 0-4.9-2.2-4.9-4.9V24.6H3zm26.2 86.7c-1 0-1.8-.8-1.8-1.8v-1.7c0-1 .8-1.8 1.8-1.8H42c1 0 1.8.8 1.8 1.8v1.7c0 1-.8 1.8-1.8 1.8H29.2zm135.3 8.1H194.6c3.1 0 5.7-2.4 5.7-5.3v-1.4c0-.7-.2-1.4-.5-2.1l-9.9-21.7c-.5-1-1.2-1.8-2.2-2.4 1.6-1.4 2.6-3.4 2.6-5.6V26.1c0-4.1-3.4-7.5-7.5-7.5h-82.5c-4.1 0-7.5 3.4-7.5 7.5v54.8c0 2.1.9 4.1 2.3 5.4-1.2.6-2.1 1.5-2.6 2.7l-9.3 21.7c-.3.6-.4 1.3-.4 2v1.4c0 2.9 2.5 5.3 5.7 5.3h76zm-76-2.7c-1.6 0-3-1.2-3-2.6v-1.4c0-.3.1-.6.2-.9L95 90.1c.4-1 1.5-1.7 2.8-1.7h87.1c1.2 0 2.3.7 2.8 1.7l9.9 21.7c.1.3.2.6.2 1v1.4c0 1.5-1.3 2.6-3 2.6H88.5v-.1zm6.9-35.9V26c0-2.6 2.1-4.8 4.8-4.8h82.7c2.6 0 4.8 2.1 4.8 4.8v54.8c0 2.6-2
.1 4.8-4.8 4.8h-82.7c-2.6-.1-4.8-2.2-4.8-4.8zm27.5 27.5c.4-2.3.6-3.5 1.1-5.9 0-.3.4-.6.9-.6 13.6-.1 20.5-.2 34.1-.3.5 0 .9.2.9.6.3 2.4.5 3.6.6 6.1 0 .4-.6.8-1.2.8h-35.4c-.6.1-1.1-.3-1-.7zm-3.8-11.1c-.2.6-.3 1-.5 1.6-.1.3-.4.5-.9.5h-5.1c-.7 0-1.3-.4-1.2-.9.1-.6.2-1 .4-1.6.1-.3.4-.5.9-.5h5.3c.7 0 1.3.5 1.1.9zm5.3 1.2c.1-.6.2-1 .3-1.6.1-.3.5-.5 1-.5h5.5c.7 0 1.3.4 1.1.8-.2.6-.3 1-.4 1.6-.1.3-.5.5-1 .5h-5.3c-.7 0-1.2-.4-1.2-.8zm33.3-2.3c.5 0 .9.2 1 .5.1.6.1.9.2 1.6.1.4-.5.8-1.2.8h-5.3c-.5 0-.9-.2-1-.5-.1-.6-.2-.9-.3-1.6-.1-.4.5-.8 1.2-.8h5.4zm-19.9 2.3c.1-.6.2-.9.3-1.6.1-.3.5-.6 1.1-.6h5c.6 0 1 .2 1.1.6.1.6.2.9.3 1.6.1.4-.5.8-1.1.8H139c-.8-.1-1.3-.4-1.2-.8zm27.7-2.3h5.3c.5 0 .8.2.9.5.1.6.2.9.3 1.5.1.4-.6.9-1.3.9h-5.1c-.5 0-.8-.2-.9-.5-.2-.6-.2-.9-.4-1.5-.2-.5.5-.9 1.2-.9zm-45.1-3.9l-.5 1.5c-.1.3-.4.4-.9.4h-4.9c-.7 0-1.2-.4-1.1-.8.2-.6.3-.9.4-1.5.1-.3.4-.4.9-.4h5c.7 0 1.2.4 1.1.8zm6.3-.9h5.2c.7 0 1.2.4 1.1.8l-.5 1.5c-.1.3-.5.5-1 .5h-5.1c-.6 0-1.2-.4-1.1-.8.1-.6.2-.9.3-1.5.2-.3.6-.5 1.1-.
5zm24.4 2.2c-.1-.6-.2-.9-.3-1.5-.1-.4.5-.8 1.1-.8h5.2c.5 0 .9.2.9.5.1.6.1.9.2 1.5.1.4-.5.8-1.1.8H152c-.4 0-.8-.2-.9-.5zm-13-.2c.1-.6.2-.9.4-1.5.1-.3.5-.5 1.1-.5h4.7c.5 0 1 .2 1 .5.1.6.1.9.2 1.5.1.4-.4.7-1.1.7h-5.3c-.6 0-1.1-.3-1-.7zm25.6.2c-.2-.6-.2-.9-.4-1.5-.1-.4.5-.8 1.2-.8h5c.4 0 .8.2.8.4.1.6.2.9.3 1.5.1.4-.5.8-1.2.8h-4.9c-.4 0-.7-.1-.8-.4zM107 97.2c-.3.6-.4 1-.5 1.6-.1.3-.4.5-.8.5h-5c-.7 0-1.3-.4-1.2-.9.2-.6.3-1 .5-1.6.1-.3.5-.5.9-.5h5c.7 0 1.2.5 1.1.9zm1.8-5c-.2.6-.3.9-.6 1.5-.1.3-.5.4-.9.4h-4.6c-.6 0-1.1-.4-.9-.8l.5-1.5c.1-.3.4-.4.8-.4h4.7c.6 0 1.1.4 1 .8zm68.5 3.9h5c.4 0 .8.2.9.5l.5 1.5c.1.4-.5.9-1.2.9h-5c-.4 0-.8-.2-.8-.4-.1-.6-.2-.9-.5-1.5-.1-.6.4-1 1.1-1zm-2.1-2.6l-.5-1.5c-.1-.4.5-.8 1.2-.8h4.7c.4 0 .7.2.8.4.1.6.2.9.4 1.5.1.4-.4.8-1 .8h-4.6c-.5 0-.9-.2-1-.4zm-33.6-66.9c-.9 0-1.6-.7-1.6-1.6 0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6-.1.9-.8 1.6-1.6 1.6z" fill="url(#l)" transform="translate(1 46)"/><path d="M150.4 51.6l-.3-.8-4.8-.9-1.9-3.8c-.2-.5-.7-.8-1.3-.8l-.9.1-2.3 4.6-4 .7c
-.5.1-1 .5-1.1 1l-.2.9 3.4 3.7-.6 4.3c-.1.5.2 1.1.6 1.4l.8.5 4.4-2.3 3.6 1.9c.5.3 1.1.2 1.5-.1l.7-.6-.7-5.1 2.9-3.1c.3-.5.4-1.1.2-1.6zm-6.1 3.7l.4 3.2-2.7-1.4-2.7 1.4.4-3.2-2.2-2.4 3.1-.6 1.4-2.8 1.4 2.8 3.1.6-2.2 2.4z" fill="url(#m)" transform="translate(1 46)"/><path d="M238.4 47c0 4.2 3.5 7.7 7.7 7.7s7.7-3.5 7.7-7.7-3.5-7.7-7.7-7.7-7.7 3.5-7.7 7.7zm7.7-5.3c2.9 0 5.3 2.4 5.3 5.3s-2.4 5.3-5.3 5.3-5.3-2.4-5.3-5.3 2.4-5.3 5.3-5.3zm-1.1 5.8v-3.7c0-.4.3-.7.7-.7.4 0 .7.3.7.7v3.1h3.1c.4 0 .7.3.7.7 0 .4-.3.7-.7.7h-3.7c-.5-.1-.8-.4-.8-.8zm3 33.4c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2h1.3c-.8-.9-1.9-1.4-3.2-1.4-2 0-3.8 1.4-4.3 3.3-.1.5-.6.9-1.1.9h-.3c-.6-.2-1-.8-.9-1.4.8-3 3.4-5.1 6.6-5.1 1.6 0 3.2.6 4.4 1.7V76c0-.7.5-1.2 1.2-1.2s1.2.5 1.2 1.2v3.7c0 .7-.5 1.2-1.2 1.2H248zm-1.9 7.5c-1.6 0-3.2-.6-4.4-1.7v.5c0 .7-.5 1.2-1.2 1.2s-1.2-.5-1.2-1.2v-3.7c0-.7.5-1.2 1.2-1.2h3.7c.7 0 1.2.5 1.2 1.2s-.5 1.2-1.2 1.2h-1.3c.8.9 1.9 1.4 3.2 1.4 2 0 3.8-1.4 4.3-3.3.2-.6.8-1 1.4-.9.6.2 1 .8.9 1.4-.8 3-3.5 5.1-6.
6 5.1zM35 50.7c4.7 0 8.5-3.8 8.5-8.5s-3.8-8.5-8.5-8.5-8.5 3.8-8.5 8.5 3.8 8.5 8.5 8.5zm0-14.3c3.2 0 5.8 2.6 5.8 5.8 0 3.2-2.6 5.8-5.8 5.8-3.2 0-5.8-2.6-5.8-5.8 0-3.2 2.6-5.8 5.8-5.8zm-1.2 6.3v-4.1c0-.4.3-.7.7-.7.4 0 .7.3.7.7V42h3.4c.4 0 .7.3.7.7 0 .4-.3.7-.7.7h-4.1c-.4 0-.7-.3-.7-.7zm8.7 38.1v4.1c0 .7-.6 1.3-1.3 1.3h-4.1c-.7 0-1.3-.6-1.3-1.3 0-.7.6-1.3 1.3-1.3h1.3c-.9-.9-2.1-1.4-3.4-1.4-2.2 0-4.1 1.5-4.6 3.6-.2.6-.7 1-1.3 1h-.3c-.7-.2-1.2-.9-1-1.6.8-3.3 3.8-5.7 7.3-5.7 1.8 0 3.5.7 4.8 1.8v-.4c0-.7.6-1.3 1.3-1.3.7-.1 1.3.5 1.3 1.2zm-.2 8c-.8 3.3-3.8 5.7-7.3 5.7-1.8 0-3.5-.7-4.8-1.8v.4c0 .7-.6 1.3-1.3 1.3-.7 0-1.3-.6-1.3-1.3V89c0-.7.6-1.3 1.3-1.3H33c.7 0 1.3.6 1.3 1.3 0 .7-.6 1.3-1.3 1.3h-1.3c.9.9 2.1 1.4 3.4 1.4 2.2 0 4.1-1.5 4.6-3.6.2-.7.9-1.2 1.6-1 .7.2 1.1 1 1 1.7zm77.1-26.5c4.7 0 8.5-3.8 8.5-8.5s-3.8-8.5-8.5-8.5-8.5 3.8-8.5 8.5c-.1 4.6 3.8 8.5 8.5 8.5zm0-14.4c3.2 0 5.8 2.6 5.8 5.8 0 3.2-2.6 5.8-5.8 5.8-3.2 0-5.8-2.6-5.8-5.8-.1-3.2 2.6-5.8 5.8-5.8zm-1.2 6.3v-4.1c0-.4.3-.7.7-.7.4 0
.7.3.7.7v3.4h3.4c.4 0 .7.3.7.7 0 .4-.3.7-.7.7h-4.1c-.4 0-.7-.3-.7-.7zm39 5.7v-4.1c0-.7.6-1.3 1.3-1.3h4.1c.7 0 1.3.6 1.3 1.3 0 .7-.6 1.3-1.3 1.3h-1.3c.9.9 2.1 1.4 3.4 1.4 2.2 0 4.1-1.5 4.6-3.6.2-.7.9-1.2 1.6-1 .7.2 1.2.9 1 1.6-.8 3.3-3.8 5.7-7.3 5.7-1.8 0-3.5-.7-4.8-1.8v.4c0 .7-.6 1.3-1.3 1.3-.7.1-1.3-.5-1.3-1.2zm.3-8c.8-3.3 3.8-5.7 7.3-5.7 1.8 0 3.5.7 4.8 1.8v-.4c0-.7.6-1.3 1.3-1.3.7 0 1.3.6 1.3 1.3v4.1c0 .7-.6 1.3-1.3 1.3h-4.1c-.7 0-1.3-.6-1.3-1.3 0-.7.6-1.3 1.3-1.3h1.3c-.9-.9-2.1-1.4-3.4-1.4-2.2 0-4.1 1.5-4.6 3.6-.2.6-.7 1-1.3 1h-.3c-.8-.2-1.2-1-1-1.7z" fill="url(#n)" transform="translate(1 46)"/></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/figure_tor-circuit-display.png b/browser/extensions/onboarding/content/img/figure_tor-circuit-display.png
new file mode 100644
index 000000000000..ea6ecb7f82a3
Binary files /dev/null and b/browser/extensions/onboarding/content/img/figure_tor-circuit-display.png differ
diff --git a/browser/extensions/onboarding/content/img/figure_tor-expect-differences.png b/browser/extensions/onboarding/content/img/figure_tor-expect-differences.png
new file mode 100644
index 000000000000..36970bd711a8
Binary files /dev/null and b/browser/extensions/onboarding/content/img/figure_tor-expect-differences.png differ
diff --git a/browser/extensions/onboarding/content/img/figure_tor-network.png b/browser/extensions/onboarding/content/img/figure_tor-network.png
new file mode 100644
index 000000000000..87829397ab2a
Binary files /dev/null and b/browser/extensions/onboarding/content/img/figure_tor-network.png differ
diff --git a/browser/extensions/onboarding/content/img/figure_tor-onion-services.png b/browser/extensions/onboarding/content/img/figure_tor-onion-services.png
new file mode 100644
index 000000000000..018345e4b3a0
Binary files /dev/null and b/browser/extensions/onboarding/content/img/figure_tor-onion-services.png differ
diff --git a/browser/extensions/onboarding/content/img/figure_tor-privacy.png b/browser/extensions/onboarding/content/img/figure_tor-privacy.png
new file mode 100644
index 000000000000..38201ca5c878
Binary files /dev/null and b/browser/extensions/onboarding/content/img/figure_tor-privacy.png differ
diff --git a/browser/extensions/onboarding/content/img/figure_tor-security-level.png b/browser/extensions/onboarding/content/img/figure_tor-security-level.png
new file mode 100644
index 000000000000..9a5c221c8d8e
Binary files /dev/null and b/browser/extensions/onboarding/content/img/figure_tor-security-level.png differ
diff --git a/browser/extensions/onboarding/content/img/figure_tor-security.png b/browser/extensions/onboarding/content/img/figure_tor-security.png
new file mode 100644
index 000000000000..6eb7e5a9995c
Binary files /dev/null and b/browser/extensions/onboarding/content/img/figure_tor-security.png differ
diff --git a/browser/extensions/onboarding/content/img/figure_tor-toolbar-layout.png b/browser/extensions/onboarding/content/img/figure_tor-toolbar-layout.png
new file mode 100644
index 000000000000..6d8651e58c17
Binary files /dev/null and b/browser/extensions/onboarding/content/img/figure_tor-toolbar-layout.png differ
diff --git a/browser/extensions/onboarding/content/img/figure_tor-welcome.png b/browser/extensions/onboarding/content/img/figure_tor-welcome.png
new file mode 100644
index 000000000000..1bf27c5b9311
Binary files /dev/null and b/browser/extensions/onboarding/content/img/figure_tor-welcome.png differ
diff --git a/browser/extensions/onboarding/content/img/icons_addons.svg b/browser/extensions/onboarding/content/img/icons_addons.svg
deleted file mode 100644
index 6b27dea39252..000000000000
--- a/browser/extensions/onboarding/content/img/icons_addons.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="8 8 16 16"><title>Icons / Extension</title><g fill="none"><path d="M0 0h16v16H0z"/><path d="M22.5 16c-1 0-1 1-1.7 1-.5 0-.8-.3-.8-.7V13c0-.6-.4-1-1-1h-3.2c-.5 0-.8-.3-.8-.7 0-.8 1-.8 1-1.8 0-.9-.9-1.5-2-1.5s-2 .6-2 1.5c0 1 1 1 1 1.8 0 .4-.3.7-.7.7H9c-.6 0-1 .4-1 1v2.3c0 .4.3.7.8.7.7 0 .7-1 1.7-1 .9 0 1.5.9 1.5 2s-.6 2-1.5 2c-1 0-1-1-1.7-1-.5 0-.8.3-.8.8V23c0 .6.4 1 1 1h3.3c.4 0 .7-.3.7-.7 0-.8-1-.8-1-1.8 0-.9.9-1.5 2-1.5s2 .6 2 1.5c0 1-1 1-1 1.8 0 .4.3.7.8.7H19c.6 0 1-.4 1-1v-3.2c0-.5.3-.8.8-.8.7 0 .7 1 1.7 1 .9 0 1.5-.9 1.5-2s-.6-2-1.5-2z" fill="#3E3D40"/></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_customize.svg b/browser/extensions/onboarding/content/img/icons_customize.svg
deleted file mode 100644
index ae0a9409fa5c..000000000000
--- a/browser/extensions/onboarding/content/img/icons_customize.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><title>Glyph / Customize</title><g id="Symbols" fill="none" fill-rule="evenodd"><g id="Glyph-/-Customize" fill-rule="nonzero" fill="#3E3D40"><path d="M4 10c-.886.002-1.665.59-1.91 1.44 0 .01-.015.015-.018.025-.362 1.135-.705 2.11-1.76 2.573l-.022.012-.024.012c-.162.086-.265.254-.266.438 0 .276.224.5.5.5 1.74.12 3.46-.414 4.825-1.5.006-.006.007-.013.013-.02.62-.55.832-1.428.534-2.202C5.575 10.504 4.83 9.995 4 10zM15.693.307c-.365-.363-.95-.383-1.338-.046l-8.03 7c-.206.18-.327.435-.336.707-.01.27.093.535.285.727l1.032 1.03c.184.185.433.288.693.288h.033c.272-.01.527-.13.706-.335l7-8.03c.338-.39.318-.975-.047-1.34z" id="Shape"/></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_default.svg b/browser/extensions/onboarding/content/img/icons_default.svg
deleted file mode 100644
index 235f7d65b685..000000000000
--- a/browser/extensions/onboarding/content/img/icons_default.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><title>default-browser-16</title><path fill="context-fill" d="M8,6s0-4,3.5-4S15,5,15,6c0,4.5-7,9-7,9Z"/><path fill="context-fill" d="M8,6S8,2,4.5,2,1,5,1,6c0,4.5,7,9,7,9L9,9Z"/></svg>
diff --git a/browser/extensions/onboarding/content/img/icons_library.svg b/browser/extensions/onboarding/content/img/icons_library.svg
deleted file mode 100644
index 064c2e619486..000000000000
--- a/browser/extensions/onboarding/content/img/icons_library.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg width="92px" height="92px" viewBox="0 0 92 92" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Tip / Icon / Library</title><desc>Created with Sketch.</desc><defs></defs><g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Tip-/-Icon-/-Library" fill-rule="nonzero" fill="#0C0C0D"><g id="Icon-/-Library-/-Web"><path d="M28.7405828,17.2350375 C25.5662458,17.2350375 22.9929371,19.8060508 22.9929371,22.9775563 L22.9929371,80.402744 C22.9929371,83.5742496 25.5662458,86.1452628 28.7405828,86.1452628 C31.9149199,86.1452628 34.4882285,83.5742496 34.4882285,80.402744 L34.4882285,22.9775563 C34.4882285,19.8060508 31.9149199,17.2350375 28.7405828,17.2350375 Z M45.98352,11.4925188 C42.8091829,11.4925188 40.2358743,14.063532 40.2358743,17.2350375 L40.2358743,80.402744 C40.2358743,83.5742496 42.8091829,86.1452628 45.98352,86.1452628 C49.157857,86.1452628 51.7311657,83.574249
6 51.7311657,80.402744 L51.7311657,17.2350375 C51.7311657,14.063532 49.157857,11.4925188 45.98352,11.4925188 Z M91.6140792,78.4388026 L68.6234964,15.2710961 C67.9500245,13.3049026 66.2658683,11.8556604 64.2198302,11.4816739 C62.1737921,11.1076875 60.0851643,11.8673187 58.7585671,13.4679283 C57.4319699,15.0685378 57.0744241,17.2603443 57.8236701,19.198979 L80.814253,82.3666855 C81.4877249,84.332879 83.1718811,85.7821212 85.2179192,86.1561076 C87.2639573,86.5300941 89.3525851,85.7704629 90.6791823,84.1698533 C92.0057794,82.5692438 92.3633253,80.3774372 91.6140792,78.4388026 L91.6140792,78.4388026 Z M11.4976457,5.75 C8.32330864,5.75 5.75,8.32101323 5.75,11.4925188 L5.75,80.402744 C5.75,83.5742496 8.32330864,86.1452628 11.4976457,86.1452628 C14.6719828,86.1452628 17.2452914,83.5742496 17.2452914,80.402744 L17.2452914,11.4925188 C17.2452914,8.32101323 14.6719828,5.75 11.4976457,5.75 Z" id="Shape"></path></g></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_no-icon.png b/browser/extensions/onboarding/content/img/icons_no-icon.png
new file mode 100644
index 000000000000..21aae225793b
Binary files /dev/null and b/browser/extensions/onboarding/content/img/icons_no-icon.png differ
diff --git a/browser/extensions/onboarding/content/img/icons_performance.svg b/browser/extensions/onboarding/content/img/icons_performance.svg
deleted file mode 100644
index ad23ba27400c..000000000000
--- a/browser/extensions/onboarding/content/img/icons_performance.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="context-fill" d="M8 1a8.009 8.009 0 0 0-8 8 7.917 7.917 0 0 0 .78 3.43 1 1 0 1 0 1.8-.86A5.943 5.943 0 0 1 2 9a6 6 0 1 1 11.414 2.571 1 1 0 1 0 1.807.858A7.988 7.988 0 0 0 8 1z"/><path fill="context-fill" d="M11.769 7.078a.5.5 0 0 0-.69.153L8.616 11.1a2 2 0 1 0 .5 3.558 2.011 2.011 0 0 0 .54-.54 1.954 1.954 0 0 0-.2-2.479l2.463-3.871a.5.5 0 0 0-.15-.69z"/></svg>
diff --git a/browser/extensions/onboarding/content/img/icons_private.svg b/browser/extensions/onboarding/content/img/icons_private.svg
deleted file mode 100755
index 7d4d2c416801..000000000000
--- a/browser/extensions/onboarding/content/img/icons_private.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="8 8 16 16"><title>Icons / Private Browsing</title><g fill="none"><path d="M0 0h32v32H0z"/><path d="M20.4 20c-1.7 0-2.8-2-4.4-2-1.6 0-2.8 2-4.4 2-2 0-3.5-2-3.5-5.3-.1-2 .6-2.7 3.2-2.7s3.4 1.1 4.7 1.1c1.3 0 2.1-1.1 4.7-1.1s3.3.7 3.2 2.7c0 3.3-1.5 5.3-3.5 5.3zm-7.8-5.4c-1.6 0-2.3 1-2.3 1.2 0 .3 1.1.9 2.1.9 1.1 0 2.3-.4 2.3-.7-.2-1-1.1-1.6-2.1-1.4zm6.8 0c-1-.2-1.9.4-2.1 1.4 0 .3 1.2.7 2.3.7 1 0 2.1-.6 2.1-.9 0-.2-.7-1.2-2.3-1.2z" fill="#3E3D40"/></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_screenshots.svg b/browser/extensions/onboarding/content/img/icons_screenshots.svg
deleted file mode 100644
index 8d219dce78b5..000000000000
--- a/browser/extensions/onboarding/content/img/icons_screenshots.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg width="92px" height="92px" viewBox="0 0 92 92" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Tip / Icon / Screenshots</title><desc>Created with Sketch.</desc><defs></defs><g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Tip-/-Icon-/-Screenshots" fill-rule="nonzero" fill="#0C0C0D"><g id="Icon-/-Screenshot-/-Web"><path d="M23.0526905,5.75 C16.7062659,5.75 11.5614723,10.8982866 11.5614723,17.2490201 L23.0526905,17.2490201 L23.0526905,5.75 Z M57.5263453,5.75 L46.035127,5.75 L46.035127,17.2490201 L57.5263453,17.2490201 L57.5263453,5.75 Z M80.5087818,5.75 L80.5087818,17.2490201 L92,17.2490201 C92,10.8982866 86.8552063,5.75 80.5087818,5.75 Z M40.2895179,5.75 L28.7982997,5.75 L28.7982997,17.2490201 L40.2895179,17.2490201 L40.2895179,5.75 Z M74.7631726,5.75 L63.2719544,5.75 L63.2719544,17.2490201 L74.7631726,17.2490201 L74.7631726,5.75 Z M80.5087818,34.4975502
L92,34.4975502 L92,22.9985301 L80.5087818,22.9985301 L80.5087818,34.4975502 Z M80.5087818,68.9946104 C86.8552063,68.9946104 92,63.8463237 92,57.4955903 L80.5087818,57.4955903 L80.5087818,68.9946104 Z M80.5087818,51.7460803 L92,51.7460803 L92,40.2470602 L80.5087818,40.2470602 L80.5087818,51.7460803 Z M77.9749681,39.286892 C74.3364854,34.0846734 67.1729138,32.8182928 61.9734467,36.4581331 L39.9390357,52.734996 L28.631677,44.8006721 C28.7205927,44.2448747 28.7762328,43.6842562 28.7982997,43.1218152 C28.7892628,38.6172543 26.6604054,34.3800822 23.0526905,31.6860398 L23.0526905,22.9985301 L11.5614723,22.9985301 L11.5614723,29.0355156 C5.79583786,30.1835386 1.31120668,34.7313256 0.240775953,40.5156383 C-0.829654779,46.2999509 1.73019662,52.1531434 6.70268981,55.2910372 C11.675183,58.4289309 18.0565494,58.2180974 22.811375,54.7588235 L29.9474215,59.7551477 L21.9035687,65.4011666 C16.3310302,62.0167647 9.17796578,62.8225007 4.49677041,67.3619045 C-0.184424965,71.9013083 -1.21401,79.0303725
1.99130168,84.710299 C5.19661336,90.3902255 11.8290284,93.1895755 18.1311131,91.5224455 C24.4331979,89.8553154 28.8167193,84.1418505 28.7982997,77.6188754 C28.7959008,76.6687877 28.699673,75.721263 28.5110192,74.7901165 L77.9749681,39.286892 Z M14.4342769,50.3087028 C10.4677615,50.3087028 7.25226545,47.0910236 7.25226545,43.1218152 C7.25226545,39.1526068 10.4677615,35.9349277 14.4342769,35.9349277 C18.4007922,35.9349277 21.6162883,39.1526068 21.6162883,43.1218152 C21.6162883,47.0910236 18.4007922,50.3087028 14.4342769,50.3087028 Z M14.4342769,84.805763 C10.4677615,84.805763 7.25226545,81.5880838 7.25226545,77.6188754 C7.25226545,73.649667 10.4677615,70.4319879 14.4342769,70.4319879 C18.4007922,70.4319879 21.6162883,73.649667 21.6162883,77.6188754 C21.6162883,81.5880838 18.4007922,84.805763 14.4342769,84.805763 Z M45.4605661,70.8402031 L62.7950688,84.0640762 C67.9945359,87.7039165 75.1581075,86.4375358 78.7965902,81.2353172 L55.457926,63.8200513 L45.4605661,70.8402031 Z" id="Shape"><
/path></g></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_singlesearch.svg b/browser/extensions/onboarding/content/img/icons_singlesearch.svg
deleted file mode 100644
index 3e06a3852288..000000000000
--- a/browser/extensions/onboarding/content/img/icons_singlesearch.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="8 8 16 16 "><title>Icons / Search</title><g fill="none"><path d="M0 0h32v32H0z"/><path d="M23.7 22.3l-4.8-4.8c1.8-2.5 1.4-6.1-1-8.1s-5.9-1.9-8.1.4c-2.3 2.2-2.4 5.7-.4 8.1 2 2.4 5.6 2.8 8.1 1l4.8 4.8c.4.4 1 .4 1.4 0 .4-.4.4-1 0-1.4zM14 18c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4c0 1.1-.4 2.1-1.1 2.9-.8.7-1.8 1.1-2.9 1.1z" fill="#3E3D40"/></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_sync.svg b/browser/extensions/onboarding/content/img/icons_sync.svg
deleted file mode 100644
index 286422275aa7..000000000000
--- a/browser/extensions/onboarding/content/img/icons_sync.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="8 8 16 16"><title> Icons / Sync</title><desc> Created with Sketch.</desc><g fill="none"><rect width="32" height="32"/><path d="M22 9C21.4 9 21 9.4 21 10L21 11.1C19.2 9.3 16.6 8.6 14.2 9.2 11.7 9.9 9.8 11.8 9.2 14.3 9.1 14.7 9.2 15 9.5 15.3 9.8 15.5 10.1 15.6 10.5 15.5 10.8 15.4 11.1 15.1 11.2 14.8 11.7 12.6 13.7 11 16 11 17.6 11 19 11.7 20 13L18 13C17.4 13 17 13.4 17 14 17 14.6 17.4 15 18 15L22 15C22.6 15 23 14.6 23 14L23 10C23 9.4 22.6 9 22 9ZM22 16.5C21.8 16.4 21.5 16.5 21.3 16.6 21.1 16.7 20.9 17 20.8 17.2 20.3 19.4 18.3 21 16 21 14.4 21 13 20.3 12 19L14 19C14.6 19 15 18.6 15 18 15 17.4 14.6 17 14 17L10 17C9.4 17 9 17.4 9 18L9 22C9 22.6 9.4 23 10 23 10.6 23 11 22.6 11 22L11 20.9C12.8 22.7 15.4 23.4 17.8 22.8 20.3 22.1 22.2 20.2 22.8 17.7 22.9 17.2 22.6 16.6 22 16.5Z" fill="#3E3D40"/></g></svg>
diff --git a/browser/extensions/onboarding/content/img/icons_tour-complete.png b/browser/extensions/onboarding/content/img/icons_tour-complete.png
new file mode 100644
index 000000000000..8802bf083ed3
Binary files /dev/null and b/browser/extensions/onboarding/content/img/icons_tour-complete.png differ
diff --git a/browser/extensions/onboarding/content/img/icons_tour-complete.svg b/browser/extensions/onboarding/content/img/icons_tour-complete.svg
index 173e72c332df..761c31cbf9d0 100644
--- a/browser/extensions/onboarding/content/img/icons_tour-complete.svg
+++ b/browser/extensions/onboarding/content/img/icons_tour-complete.svg
@@ -8,10 +8,10 @@
<g id="Tips-/-Navigation" transform="translate(-30.000000, -117.000000)" stroke-width="2">
<g id="Group">
<g id="Tip-/-Check" transform="translate(30.000000, 117.000000)">
- <circle id="Oval-2" stroke="#FFFFFF" fill="#33F70C" fill-rule="evenodd" cx="10" cy="10" r="9"></circle>
+ <circle id="Oval-2" stroke="#FFFFFF" fill="#00DDB3" fill-rule="evenodd" cx="10" cy="10" r="9"></circle>
<polyline id="Path-31" stroke="#165866" stroke-linecap="round" stroke-linejoin="round" points="5.5 10.5 8.5 13.5 14.5 6.5"></polyline>
</g>
</g>
</g>
</g>
-</svg>
\ No newline at end of file
+</svg>
diff --git a/browser/extensions/onboarding/content/img/watermark.svg b/browser/extensions/onboarding/content/img/watermark.svg
deleted file mode 100644
index c9345ed2ba1d..000000000000
--- a/browser/extensions/onboarding/content/img/watermark.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><title>newtab-firefox-gry</title><path d="M31.359,14.615h0c-.044-.289-.088-.459-.088-.459s-.113.131-.3.378A10.77,10.77,0,0,0,30.6,12.5a13.846,13.846,0,0,0-.937-2.411,10.048,10.048,0,0,0-.856-1.468q-.176-.263-.359-.51c-.57-.931-1.224-1.5-1.981-2.576a7.806,7.806,0,0,1-.991-2.685A10.844,10.844,0,0,0,25,4.607c-.777-.784-1.453-1.341-1.861-1.721C21.126,1.006,21.36.031,21.36.031h0S17.6,4.228,19.229,8.6a8.4,8.4,0,0,0,2.8,3.733c1.576,1.3,3.273,2.323,4.168,4.937a8.377,8.377,0,0,0-3.144-3.317,7.573,7.573,0,0,1,.6,3,7.124,7.124,0,0,1-8.711,6.94,6.561,6.561,0,0,1-1.765-.6,7.183,7.183,0,0,1-2.115-1.955l-.01-.017.126.046a6.5,6.5,0,0,0,.9.241,5.628,5.628,0,0,0,3.583-.423c1.126-.625,1.808-1.088,2.361-.905l.01,0c.54.172.966-.352.58-.9a2.94,2.94,0,0,0-2.848-1.112c-1.127.164-2.16.965-3.637.189a3.129,3.129,0,0,1-.277-.163c-.1-.057.317.087.22.022a7.33,7.33,0,0,1-.928-.554c-.022-.018.223.07.2.052a3.581,3.581,0,0,1-.968-.979
,1.741,1.741,0,0,1-.066-1.554,1.371,1.371,0,0,1,.6-.564c.191.094.309.165.309.165s-.087-.16-.134-.244c.017-.006.032,0,.049-.011.167.072.537.26.732.375a1.016,1.016,0,0,1,.335.3s.067-.033.017-.173a.9.9,0,0,0-.346-.424l.016,0a2.94,2.94,0,0,1,.426.265,2.079,2.079,0,0,0,.17-.9,1.178,1.178,0,0,0-.069-.5c-.053-.1.03-.14.123-.035a.976.976,0,0,0-.079-.238v-.008h0s.053-.069.077-.094a1.43,1.43,0,0,1,.216-.176,9.973,9.973,0,0,1,1.465-.747c.414-.181.757-.319.827-.359a2.3,2.3,0,0,0,.293-.225,1.968,1.968,0,0,0,.66-1.14,1.6,1.6,0,0,0,.017-.178v-.05l0-.03v0l0-.012v0l0-.013h0c-.06-.225-.448-.394-2.476-.584a1.773,1.773,0,0,1-1.45-1.36l0,.009c-.029.074-.055.149-.081.225.026-.075.052-.15.081-.225l0-.016a5.138,5.138,0,0,1,1.986-2.466c.052-.042-.208.011-.156-.032a5.156,5.156,0,0,1,.53-.224c.091-.038-.39-.222-.815-.177a2.2,2.2,0,0,0-.756.178c.1-.086.4-.2.329-.2a4.865,4.865,0,0,0-1.542.583.314.314,0,0,1,.03-.14,2.4,2.4,0,0,0-.964.744,1.275,1.275,0,0,0,.01-.174,2.876,2.876,0,0,0-.473.444l-.009.007a6.285,6.285
,0,0,0-3.517-.3l-.01-.009.012,0a2.943,2.943,0,0,1-.625-.7L6.1,5.852,6.081,5.83c-.077-.114-.156-.243-.237-.387-.058-.1-.117-.217-.176-.338,0-.008-.009-.011-.013-.012-.024,0-.041.111-.061.082l0-.006a4.308,4.308,0,0,1-.283-1.687l-.016.008a1.884,1.884,0,0,0-.714.934c-.061.137-.1.212-.14.287,0,.006,0-.01,0-.035.009-.069.039-.211.032-.2s-.012.019-.019.029a1.733,1.733,0,0,0-.251.372,2.355,2.355,0,0,0-.15.382c-.006.021,0-.018,0-.064s.009-.128,0-.111l-.022.043a9.5,9.5,0,0,0-.8,3.035A3.022,3.022,0,0,0,3.2,8.7v.016a6.628,6.628,0,0,0-.817,1.1,15.606,15.606,0,0,0-1.727,4.23,10.351,10.351,0,0,1,.925-1.621,15,15,0,0,0-1.045,5.5,14.233,14.233,0,0,1,.45-1.629A13.807,13.807,0,0,0,2.234,22.76a15.037,15.037,0,0,0,5.951,6.748h0a13.016,13.016,0,0,0,3.468,1.662c.162.059.326.117.494.173-.053-.021-.1-.044-.153-.067a15.7,15.7,0,0,0,4.5.662c5.394,0,7.175-2.054,7.339-2.259h0a2.73,2.73,0,0,0,.637-.856h0q.156-.064.315-.137l.067-.03.121-.057a11.312,11.312,0,0,0,2.277-1.426,5.5,5.5,0,0,0,2.123-3.1h0a1.938,1.938,0,
0,0,.029-1.428q.083-.131.171-.28a12.706,12.706,0,0,0,1.907-6.181v-.006c0-.059,0-.118,0-.177A7.731,7.731,0,0,0,31.359,14.615Z" fill="context-fill"/></svg>
diff --git a/browser/extensions/onboarding/content/onboarding-tor-circuit-display.js b/browser/extensions/onboarding/content/onboarding-tor-circuit-display.js
new file mode 100644
index 000000000000..de4b23c84c2a
--- /dev/null
+++ b/browser/extensions/onboarding/content/onboarding-tor-circuit-display.js
@@ -0,0 +1,283 @@
+// Copyright (c) 2018, The Tor Project, Inc.
+// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
+
+let gStringBundle;
+
+let domLoadedListener = (aEvent) => {
+ let doc = aEvent.originalTarget;
+ if (doc.nodeName == "#document") {
+ removeEventListener("DOMContentLoaded", domLoadedListener);
+ beginCircuitDisplayOnboarding();
+ }
+};
+
+addEventListener("DOMContentLoaded", domLoadedListener, false);
+
+function beginCircuitDisplayOnboarding() {
+ // 1 of 3: Show the introductory "How do circuits work?" info panel.
+ let target = "torBrowser-circuitDisplay";
+ let title = getStringFromName("intro.title");
+ let msg = getStringFromName("intro.msg");
+ let button1Label = getStringFromName("one-of-three");
+ let button2Label = getStringFromName("next");
+ let buttons = [];
+ buttons.push({label: button1Label, style: "text"});
+ buttons.push({label: button2Label, style: "primary", callback: function() {
+ showCircuitDiagram(); }});
+ let options = {closeButtonCallback: function() { cleanUp(); }};
+ Mozilla.UITour.showInfo(target, title, msg, undefined, buttons, options);
+}
+
+function showCircuitDiagram() {
+ // 2 of 3: Open the control center and show the circuit diagram info panel.
+ Mozilla.UITour.showMenu("controlCenter", function() {
+ let target = "torBrowser-circuitDisplay-diagram";
+ let title = getStringFromName("diagram.title");
+ let msg = getStringFromName("diagram.msg");
+ let button1Label = getStringFromName("two-of-three");
+ let button2Label = getStringFromName("next");
+ let buttons = [];
+ buttons.push({label: button1Label, style: "text"});
+ buttons.push({label: button2Label, style: "primary", callback: function() {
+ showNewCircuitButton(); }});
+ let options = {closeButtonCallback: function() { cleanUp(); }};
+ Mozilla.UITour.showInfo(target, title, msg, undefined, buttons, options);
+ });
+}
+
+function showNewCircuitButton() {
+ // 3 of 3: Show the New Circuit button info panel.
+ let target = "torBrowser-circuitDisplay-newCircuitButton";
+ let title = getStringFromName("new-circuit.title");
+ let msg = getStringFromName("new-circuit.msg");
+ let button1Label = getStringFromName("three-of-three");
+ let button2Label = getStringFromName("done");
+ let buttons = [];
+ buttons.push({label: button1Label, style: "text"});
+ buttons.push({label: button2Label, style: "primary", callback: function() {
+ cleanUp(); }});
+ let options = {closeButtonCallback: function() { cleanUp(); }};
+ Mozilla.UITour.showInfo(target, title, msg, undefined, buttons, options);
+}
+
+function cleanUp() {
+ Mozilla.UITour.hideMenu("controlCenter");
+ Mozilla.UITour.closeTab();
+}
+
+function getStringFromName(aName) {
+ const TORBUTTON_BUNDLE_URI = "chrome://torbutton/locale/browserOnboarding.properties";
+ const PREFIX = "onboarding.tor-circuit-display.";
+
+ if (!gStringBundle) {
+ gStringBundle = Services.strings.createBundle(TORBUTTON_BUNDLE_URI)
+ }
+
+ let result;
+ try {
+ result = gStringBundle.GetStringFromName(PREFIX + aName);
+ } catch (e) {
+ result = aName;
+ }
+ return result;
+}
+
+
+// The remainder of the code in this file was adapted from
+// browser/components/uitour/UITour-lib.js (unfortunately, we cannot use that
+// code here because it directly accesses 'document' and it assumes that the
+// content window is the global JavaScript object),
+
+/* 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/. */
+
+// create namespace
+if (typeof Mozilla == "undefined") {
+ var Mozilla = {};
+}
+
+(function($) {
+ "use strict";
+
+ // create namespace
+ if (typeof Mozilla.UITour == "undefined") {
+ /**
+ * Library that exposes an event-based Web API for communicating with the
+ * desktop browser chrome. It can be used for tasks such as opening menu
+ * panels and highlighting the position of buttons in the toolbar.
+ *
+ * <p>For security/privacy reasons `Mozilla.UITour` will only work on a list of allowed
+ * secure origins. The list of allowed origins can be found in
+ * {@link https://dxr.mozilla.org/mozilla-central/source/browser/app/permissions|
+ * browser/app/permissions}.</p>
+ *
+ * @since 29
+ * @namespace
+ */
+ Mozilla.UITour = {};
+ }
+
+ function _sendEvent(action, data) {
+ var event = new content.CustomEvent("mozUITour", {
+ bubbles: true,
+ detail: {
+ action,
+ data: data || {}
+ }
+ });
+
+ content.document.dispatchEvent(event);
+ }
+
+ function _generateCallbackID() {
+ return Math.random().toString(36).replace(/[^a-z]+/g, "");
+ }
+
+ function _waitForCallback(callback) {
+ var id = _generateCallbackID();
+
+ function listener(event) {
+ if (typeof event.detail != "object")
+ return;
+ if (event.detail.callbackID != id)
+ return;
+
+ content.document.removeEventListener("mozUITourResponse", listener);
+ callback(event.detail.data);
+ }
+ content.document.addEventListener("mozUITourResponse", listener);
+
+ return id;
+ }
+
+ /**
+ * Show an arrow panel with optional images and buttons anchored at a specific UI target.
+ *
+ * @see Mozilla.UITour.hideInfo
+ *
+ * @param {Mozilla.UITour.Target} target - Identifier of the UI widget to anchor the panel at.
+ * @param {String} title - Title text to be shown as the heading of the panel.
+ * @param {String} text - Body text of the panel.
+ * @param {String} [icon=null] - URL of a 48x48px (96px @ 2dppx) image (which will be resolved
+ * relative to the tab's URI) to display in the panel.
+ * @param {Object[]} [buttons=[]] - Array of objects describing buttons.
+ * @param {String} buttons[].label - Button label
+ * @param {String} buttons[].icon - Button icon URL
+ * @param {String} buttons[].style - Button style ("primary" or "link")
+ * @param {Function} buttons[].callback - Called when the button is clicked
+ * @param {Object} [options={}] - Advanced options
+ * @param {Function} options.closeButtonCallback - Called when the panel's close button is clicked.
+ *
+ * @example
+ * var buttons = [
+ * {
+ * label: 'Cancel',
+ * style: 'link',
+ * callback: cancelBtnCallback
+ * },
+ * {
+ * label: 'Confirm',
+ * style: 'primary',
+ * callback: confirmBtnCallback
+ * }
+ * ];
+ *
+ * var icon = '//mozorg.cdn.mozilla.net/media/img/firefox/australis/logo.png';
+ *
+ * var options = {
+ * closeButtonCallback: closeBtnCallback
+ * };
+ *
+ * Mozilla.UITour.showInfo('appMenu', 'my title', 'my text', icon, buttons, options);
+ */
+ Mozilla.UITour.showInfo = function(target, title, text, icon, buttons, options) {
+ var buttonData = [];
+ if (Array.isArray(buttons)) {
+ for (var i = 0; i < buttons.length; i++) {
+ buttonData.push({
+ label: buttons[i].label,
+ icon: buttons[i].icon,
+ style: buttons[i].style,
+ callbackID: _waitForCallback(buttons[i].callback)
+ });
+ }
+ }
+
+ var closeButtonCallbackID, targetCallbackID;
+ if (options && options.closeButtonCallback)
+ closeButtonCallbackID = _waitForCallback(options.closeButtonCallback);
+ if (options && options.targetCallback)
+ targetCallbackID = _waitForCallback(options.targetCallback);
+
+ _sendEvent("showInfo", {
+ target,
+ title,
+ text,
+ icon,
+ buttons: buttonData,
+ closeButtonCallbackID,
+ targetCallbackID
+ });
+ };
+
+ /**
+ * Hide any visible info panels.
+ * @see Mozilla.UITour.showInfo
+ */
+ Mozilla.UITour.hideInfo = function() {
+ _sendEvent("hideInfo");
+ };
+
+ /**
+ * Open the named application menu.
+ *
+ * @see Mozilla.UITour.hideMenu
+ *
+ * @param {Mozilla.UITour.MenuName} name - Menu name
+ * @param {Function} [callback] - Callback to be called with no arguments when
+ * the menu opens.
+ *
+ * @example
+ * Mozilla.UITour.showMenu('appMenu', function() {
+ * console.log('menu was opened');
+ * });
+ */
+ Mozilla.UITour.showMenu = function(name, callback) {
+ var showCallbackID;
+ if (callback)
+ showCallbackID = _waitForCallback(callback);
+
+ _sendEvent("showMenu", {
+ name,
+ showCallbackID,
+ });
+ };
+
+ /**
+ * Close the named application menu.
+ *
+ * @see Mozilla.UITour.showMenu
+ *
+ * @param {Mozilla.UITour.MenuName} name - Menu name
+ */
+ Mozilla.UITour.hideMenu = function(name) {
+ _sendEvent("hideMenu", {
+ name
+ });
+ };
+
+ /**
+ * @summary Closes the tab where this code is running. As usual, if the tab is in the
+ * foreground, the tab that was displayed before is selected.
+ *
+ * @description The last tab in the current window will never be closed, in which case
+ * this call will have no effect. The calling code is expected to take an
+ * action after a small timeout in order to handle this case, for example by
+ * displaying a goodbye message or a button to restart the tour.
+ * @since 46
+ */
+ Mozilla.UITour.closeTab = function() {
+ _sendEvent("closeTab");
+ };
+})();
diff --git a/browser/extensions/onboarding/content/onboarding-tour-agent.js b/browser/extensions/onboarding/content/onboarding-tour-agent.js
index d60a41b2c9f5..7cdb10063f28 100644
--- a/browser/extensions/onboarding/content/onboarding-tour-agent.js
+++ b/browser/extensions/onboarding/content/onboarding-tour-agent.js
@@ -18,6 +18,18 @@ let onCanSetDefaultBrowserInBackground = () => {
let onClick = evt => {
switch (evt.target.id) {
+ case "onboarding-tour-tor-security-button":
+ Mozilla.UITour.torBrowserOpenSecurityLevelPanel();
+ break;
+ case "onboarding-tour-tor-toolbar-update-9-0-button":
+ Mozilla.UITour.showHighlight("torBrowser-newIdentityButton", "zoom");
+ break;
+ case "onboarding-tour-tor-network-action-button":
+ Mozilla.UITour.openPreferences("tor");
+ break;
+#if 0
+// Firefox onboarding actions. To reduce conflicts when rebasing against
+// newer Firefox code, we use the preprocessor to omit this code block.
case "onboarding-tour-addons-button":
Mozilla.UITour.showHighlight("addons");
break;
@@ -60,6 +72,7 @@ let onClick = evt => {
case "onboarding-tour-sync-connect-device-button":
Mozilla.UITour.showConnectAnotherDevice();
break;
+#endif
}
let classList = evt.target.classList;
// On keyboard navigation the target would be .onboarding-tour-item.
diff --git a/browser/extensions/onboarding/content/onboarding.css b/browser/extensions/onboarding/content/onboarding.css
index 8f2431477634..e801790bf5a8 100644
--- a/browser/extensions/onboarding/content/onboarding.css
+++ b/browser/extensions/onboarding/content/onboarding.css
@@ -14,8 +14,8 @@
/* Ensuring we can put the overlay over elements using
z-index on original page */
z-index: 20999;
- color: #4d4d4d;
- background: var(--newtab-overlay-color, rgb(245, 245, 247, 0.9)); /* #f7f7f5, 0.9 opacity */
+ color: #4a4a4a;
+ background: rgba(0,0,0,0);
display: none;
}
@@ -23,12 +23,45 @@
display: block;
}
-#onboarding-overlay-button {
- padding: 10px 0 0 0;
+#onboarding-overlay-button-container {
+ padding: 16px 0 0 0;
position: fixed;
- cursor: pointer;
top: 4px;
inset-inline-start: 12px;
+}
+
+/*
+ * Define an animated attention-grabbing dot which is shown on the
+ * speech bubble when we are displaying the "updated" tour.
+*/
+#onboarding-overlay-button-container.onboarding-overlay-attention-dot::after {
+ display: inline-block;
+ position: relative;
+ content: " ";
+ width: 20px;
+ height: 20px;
+ top: -8px;
+ inset-inline-start: -16px;
+ background-color: #00E2B1;
+ border-radius: 50%;
+ animation: pulsate 2.0s ease-out;
+ animation-iteration-count: 7;
+}
+
+@keyframes pulsate {
+ 0% {
+ opacity: 1.0;
+ }
+ 50% {
+ opacity: 0.5;
+ }
+ 100% {
+ opacity: 1.0;
+ }
+}
+
+#onboarding-overlay-button {
+ cursor: pointer;
border: none;
/* Set to none so no grey contrast background in the high-contrast mode */
background: none;
@@ -56,7 +89,7 @@
margin-top: -1px;
margin-inline-start: -13px;
border: 2px solid #f2f2f2;
- background: #0A84FF;
+ background: #420c5d;
padding: 0;
width: 10px;
height: 10px;
@@ -70,7 +103,7 @@
#onboarding-overlay-button:hover::after,
#onboarding-overlay-button.onboarding-speech-bubble::after {
- background: #0060df;
+ background: rgba(255,255,255,0.2);
font-size: 13px;
text-align: center;
color: #fff;
@@ -78,7 +111,7 @@
font-weight: 400;
content: attr(aria-label);
border: 1px solid transparent;
- border-radius: 2px;
+ border-radius: 12px;
padding: 10px 16px;
width: auto;
height: auto;
@@ -94,21 +127,6 @@
box-shadow: 2px 0 5px 0 rgba(74, 74, 79, 0.25);
}
-#onboarding-overlay-button-watermark-icon {
- -moz-context-properties: fill;
- fill: var(--newtab-icon-tertiary-color, #d7d7db);
-}
-
-#onboarding-overlay-button-watermark-icon,
-#onboarding-overlay-button.onboarding-watermark::after,
-#onboarding-overlay-button.onboarding-watermark:not(:hover) > #onboarding-overlay-button-icon {
- display: none;
-}
-
-#onboarding-overlay-button.onboarding-watermark:not(:hover) > #onboarding-overlay-button-watermark-icon {
- display: block;
-}
-
#onboarding-overlay-dialog,
.onboarding-hidden,
#onboarding-tour-sync-page[data-login-state=logged-in] .show-on-logged-out,
@@ -124,24 +142,17 @@
width: 16px;
height: 16px;
border: none;
- background: none;
+ background: url("img/close.png") center no-repeat;
padding: 0;
}
-.onboarding-close-btn::before {
- content: url("chrome://global/skin/icons/close.svg");
- -moz-context-properties: fill, fill-opacity;
- fill-opacity: 0;
- fill: var(--newtab-icon-primary-color, currentColor);
-}
-
-.onboarding-close-btn:-moz-any(:hover, :active, :focus, :-moz-focusring)::before {
- fill-opacity: 0.1;
+.onboarding-close-btn:-moz-any(:hover, :active, :focus, :-moz-focusring) {
+ background-color: rgba(0, 0, 0, 0.1);
}
#onboarding-overlay.onboarding-opened > #onboarding-overlay-dialog {
width: 960px;
- height: 510px;
+ height: 540px;
background: #fff;
border: 1px solid rgba(9, 6, 13, 0.2); /* #09060D, 0.2 opacity */
border-radius: 3px;
@@ -218,7 +229,7 @@
font-size: 16px;
cursor: pointer;
max-height: 54px;
- --onboarding-tour-item-active-color: #0A84FF;
+ --onboarding-tour-item-active-color: #420c5d;
}
#onboarding-tour-list .onboarding-tour-item:dir(rtl) {
@@ -226,7 +237,7 @@
}
#onboarding-tour-list .onboarding-tour-item.onboarding-complete::before {
- content: url("img/icons_tour-complete.svg");
+ content: url("img/icons_tour-complete.png");
position: relative;
inset-inline-start: 3px;
top: -10px;
@@ -262,6 +273,7 @@
#onboarding-tour-list .onboarding-tour-item.onboarding-active,
#onboarding-tour-list .onboarding-tour-item-container:hover .onboarding-tour-item {
+ font-weight: bold;
color: var(--onboarding-tour-item-active-color);
/* With 1px transparent outline, could see a border in the high-constrast mode */
outline: 1px solid transparent;
@@ -319,6 +331,18 @@
grid-template-columns: [tour-page-start] 368px [tour-content-start] 1fr [tour-page-end];
}
+.onboarding-tour-description-highlight {
+ display: inline-block;
+ margin-inline-start: 8px;
+ padding: 6px 8px;
+ vertical-align: middle;
+ background-color: #F1F1F3;
+ border-radius: 4px;
+ font-size: 10px;
+ font-weight: 600;
+ text-transform: uppercase;
+}
+
.onboarding-tour-description {
grid-row: tour-page-start / tour-page-end;
grid-column: tour-page-start / tour-content-start;
@@ -326,15 +350,26 @@
line-height: 22px;
padding-inline-start: 40px;
padding-inline-end: 28px;
- max-height: 360px;
+ max-height: 370px;
overflow: auto;
}
.onboarding-tour-description > h1 {
- font-size: 36px;
- margin-top: 16px;
+ font-size: 30px;
+ margin: 16px 0px 10px 0px;
font-weight: 300;
- line-height: 44px;
+ line-height: 36px;
+ color: #420c5d;
+}
+
+.onboarding-tour-description-para2 {
+ margin-top: 16px;
+}
+
+.onboarding-tour-description-suffix {
+ margin-top: 6px;
+ font-size: 13px;
+ line-height: 16px;
}
.onboarding-tour-content {
@@ -345,8 +380,8 @@
}
.onboarding-tour-content > img {
- width: 352px;
- margin: 0;
+ width: 300px;
+ margin: 20px;
}
/* These illustrations need to be stuck on the right side to the border. Thus we
@@ -369,7 +404,7 @@
}
.onboarding-tour-action-button {
- background: #0060df;
+ background: #4d0c5d;
/* With 1px transparent border, could see a border in the high-constrast mode */
border: 1px solid transparent;
border-radius: 2px;
@@ -399,18 +434,43 @@
}
.onboarding-tour-action-button:hover:not([disabled]) {
- background: #003eaa;
+ background: #410a4e;
cursor: pointer;
}
.onboarding-tour-action-button:active:not([disabled]) {
- background: #002275;
+ background: #34083f;
}
.onboarding-tour-action-button:disabled {
opacity: 0.5;
}
+/* Tor action buttons appear in the description column rather than the content one. */
+.onboarding-tour-tor-action-button-container {
+ /* Get higher z-index in order to ensure buttons within container are selectable */
+ z-index: 2;
+ grid-row: tour-button-start / tour-page-end;
+ grid-column: tour-page-start / tour-content-start;
+}
+
+.onboarding-tour-tor-action-button-container > .onboarding-tour-action-button {
+ margin-inline-start: 40px; /* match .onboarding-tour-description */
+ float: inline-start;
+ background: #e6e6e6;
+ color: #303030;
+}
+
+.onboarding-tour-tor-action-button-container > .onboarding-tour-action-button:hover:not([disabled]) {
+ background: #d6d6d6;
+ cursor: pointer;
+}
+
+.onboarding-tour-tor-action-button-container > .onboarding-tour-action-button:active:not([disabled]) {
+ background: #c6c6c6;
+}
+
+
/* Tour Icons */
#onboarding-tour-singlesearch.onboarding-tour-item::after,
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-singlesearch] #onboarding-notification-tour-title::before {
@@ -457,6 +517,15 @@
mask-image: url("img/icons_screenshots.svg");
}
+a#onboarding-tour-tor-expect-differences-button,
+a#onboarding-tour-tor-expect-differences-button:hover,
+a#onboarding-tour-tor-expect-differences-button:visited,
+a#onboarding-tour-tor-onion-services-button,
+a#onboarding-tour-tor-onion-services-button:hover,
+a#onboarding-tour-tor-onion-services-button:visited,
+a#onboarding-tour-tor-learn-more-button,
+a#onboarding-tour-tor-learn-more-button:hover,
+a#onboarding-tour-tor-learn-more-button:visited,
a#onboarding-tour-screenshots-button,
a#onboarding-tour-screenshots-button:hover,
a#onboarding-tour-screenshots-button:visited {
@@ -464,6 +533,12 @@ a#onboarding-tour-screenshots-button:visited {
text-decoration: none;
}
+/* The Tor Browswer tour items do not have icons, so we use a transparent PNG. */
+.onboarding-tour-item::after,
+#onboarding-notification-bar[data-target-tour-id] #onboarding-notification-tour-title::before {
+ mask-image: url("img/icons_no-icon.png");
+}
+
/* Tour Notifications */
#onboarding-notification-bar {
position: fixed;
diff --git a/browser/extensions/onboarding/content/onboarding.js b/browser/extensions/onboarding/content/onboarding.js
index fd4275a14072..db808278a4e0 100644
--- a/browser/extensions/onboarding/content/onboarding.js
+++ b/browser/extensions/onboarding/content/onboarding.js
@@ -12,6 +12,7 @@ ChromeUtils.defineModuleGetter(this, "Onboarding", "resource://onboarding/Onboar
const ABOUT_HOME_URL = "about:home";
const ABOUT_NEWTAB_URL = "about:newtab";
const ABOUT_WELCOME_URL = "about:welcome";
+const ABOUT_TOR_URL = "about:tor";
// Load onboarding module only when we enable it.
if (Services.prefs.getBoolPref("browser.onboarding.enabled", false)) {
@@ -22,7 +23,7 @@ if (Services.prefs.getBoolPref("browser.onboarding.enabled", false)) {
let window = evt.target.defaultView;
let location = window.location.href;
- if (location == ABOUT_NEWTAB_URL || location == ABOUT_HOME_URL || location == ABOUT_WELCOME_URL) {
+ if (location == ABOUT_TOR_URL) {
// We just want to run tests as quickly as possible
// so in the automation test, we don't do `requestIdleCallback`.
if (Cu.isInAutomation) {
diff --git a/browser/extensions/onboarding/jar.mn b/browser/extensions/onboarding/jar.mn
index 1d580be9861f..af83e1d06e6c 100644
--- a/browser/extensions/onboarding/jar.mn
+++ b/browser/extensions/onboarding/jar.mn
@@ -6,9 +6,14 @@
# resource://onboarding/ is referenced in about:home about:newtab and about:welcome,
# so make it content-accessible.
% resource onboarding %content/ contentaccessible=yes
- content/ (content/*)
+ content/ (content/*.css)
+ content/img/ (content/img/*)
+* content/onboarding-tour-agent.js (content/onboarding-tour-agent.js)
+ content/onboarding.js (content/onboarding.js)
+* content/Onboarding.jsm (content/Onboarding.jsm)
+ content/onboarding-tor-circuit-display.js (content/onboarding-tor-circuit-display.js)
# Package UITour-lib.js in here rather than under
# /browser/components/uitour to avoid "unreferenced files" error when
# Onboarding extension is not built.
content/lib/UITour-lib.js (/browser/components/uitour/UITour-lib.js)
- content/modules/ (*.jsm)
+ content/modules/OnboardingTourType.jsm (OnboardingTourType.jsm)
diff --git a/browser/extensions/onboarding/moz.build b/browser/extensions/onboarding/moz.build
index 4756afe507fb..a5a4b99a4712 100644
--- a/browser/extensions/onboarding/moz.build
+++ b/browser/extensions/onboarding/moz.build
@@ -13,12 +13,15 @@ DEFINES["MOZ_APP_MAXVERSION"] = CONFIG["MOZ_APP_MAXVERSION"]
DIRS += ["locales"]
FINAL_TARGET_FILES.features["onboarding(a)mozilla.org"] += [
- "api.js",
"background.js",
"manifest.json",
"schema.json",
]
+FINAL_TARGET_PP_FILES.features["onboarding(a)mozilla.org"] += [
+ "api.js",
+]
+
BROWSER_CHROME_MANIFESTS += ["test/browser/browser.ini"]
XPCSHELL_TESTS_MANIFESTS += ["test/unit/xpcshell.ini"]
diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css
index a14abba4c209..03ddd497bb2d 100644
--- a/browser/themes/linux/browser.css
+++ b/browser/themes/linux/browser.css
@@ -355,15 +355,6 @@ menuitem.bookmark-item {
margin-inline-end: -4px;
}
-/**
- * Override the --arrowpanel-padding so the background extends
- * to the sides and bottom of the panel.
- */
-#UITourTooltipButtons {
- margin-inline-start: -10px;
- margin-bottom: -10px;
-}
-
%include ../shared/contextmenu.inc.css
#context-navigation > .menuitem-iconic > .menu-iconic-left {
diff --git a/browser/themes/shared/UITour.inc.css b/browser/themes/shared/UITour.inc.css
index f47a9db8cfc4..730d47ce13af 100644
--- a/browser/themes/shared/UITour.inc.css
+++ b/browser/themes/shared/UITour.inc.css
@@ -39,7 +39,6 @@
#UITourTooltipTitleContainer {
-moz-box-align: start;
- margin-bottom: 10px;
}
#UITourTooltipIcon {
@@ -54,15 +53,25 @@
}
#UITourTooltipTitle {
- font-size: 1.45rem;
- font-weight: bold;
+ font-size: 1.25em;
+ font-weight: 600;
margin: 0;
}
+#UITourTooltipToolbarSeparator {
+ appearance: none;
+ min-height: 0;
+ border-top: 1px solid var(--panel-separator-color);
+ border-bottom: none;
+ margin: var(--panel-separator-margin);
+ margin-inline: 0;
+ padding: 0;
+}
+
#UITourTooltipDescription {
margin-inline: 0;
- font-size: 1.15rem;
- line-height: 1.8rem;
+ font-size: 1.11em;
+ line-height: normal;
margin-bottom: 0; /* Override global.css */
}
@@ -82,10 +91,7 @@
#UITourTooltipButtons {
-moz-box-pack: end;
- background-color: var(--arrowpanel-dimmed);
- border-top: 1px solid var(--panel-separator-color);
- margin: 10px -16px -16px;
- padding: 16px;
+ padding-block-start: 16px;
}
#UITourTooltipButtons > label,
@@ -111,25 +117,14 @@
#UITourTooltipButtons > label,
#UITourTooltipButtons > button .button-text {
- font-size: 1.15rem;
+ font-weight: 600;
+ margin-inline: 0;
}
#UITourTooltipButtons > button:not(.button-link) {
appearance: none;
- background-color: rgb(251,251,251);
- border-radius: 3px;
- border: 1px solid;
- border-color: rgb(192,192,192);
- color: rgb(71,71,71);
- padding: 4px 30px;
- transition-property: background-color, border-color;
- transition-duration: 150ms;
-}
-
-#UITourTooltipButtons > button:not(.button-link, :active):hover {
- background-color: hsla(210,4%,10%,.15);
- border-color: hsla(210,4%,10%,.15);
- box-shadow: 0 1px 0 0 hsla(210,4%,10%,.05) inset;
+ border-radius: 4px;
+ padding: 8px 16px;
}
#UITourTooltipButtons > label,
@@ -138,17 +133,18 @@
background: transparent;
border: none;
box-shadow: none;
- color: var(--panel-disabled-color);
padding-inline: 10px;
}
-/* The primary button gets the same color as the customize button. */
#UITourTooltipButtons > button.button-primary {
- background-color: rgb(116,191,67);
- color: white;
- padding-inline: 30px;
+ background-color: var(--button-primary-bgcolor);
+ color: var(--button-primary-color);
+}
+
+#UITourTooltipButtons > button.button-primary:active {
+ background-color: var(--button-primary-active-bgcolor);
}
#UITourTooltipButtons > button.button-primary:not(:active):hover {
- background-color: rgb(105,173,61);
+ background-color: var(--button-primary-hover-bgcolor);
}
diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css
index 7f4eb881cc9e..b60e9143fc86 100644
--- a/browser/themes/windows/browser.css
+++ b/browser/themes/windows/browser.css
@@ -624,15 +624,6 @@ toolbarbutton.bookmark-item[dragover="true"][open="true"] {
%include ../shared/UITour.inc.css
-#UITourTooltipButtons {
- /**
- * Override the --arrowpanel-padding so the background extends
- * to the sides and bottom of the panel.
- */
- margin-inline: -10px;
- margin-bottom: -10px;
-}
-
%include ../shared/contextmenu.inc.css
/* Make menu items larger when opened through touch. */
diff --git a/intl/strres/nsStringBundle.cpp b/intl/strres/nsStringBundle.cpp
index 7579ae9b2e38..7d0e2df12857 100644
--- a/intl/strres/nsStringBundle.cpp
+++ b/intl/strres/nsStringBundle.cpp
@@ -78,6 +78,7 @@ static const char kContentBundles[][52] = {
"chrome://global/locale/svg/svg.properties",
"chrome://global/locale/xul.properties",
"chrome://necko/locale/necko.properties",
+ "chrome://torbutton/locale/onboarding.properties",
};
static bool IsContentBundle(const nsCString& aUrl) {
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-2] Bring back old Firefox onboarding
by richard@torproject.org 01 Feb '22
by richard@torproject.org 01 Feb '22
01 Feb '22
commit 568cc5bac63236f5721f1230c3fddfb0fbcc197c
Author: Alex Catarineu <acat(a)torproject.org>
Date: Wed May 29 20:04:37 2019 +0200
Bring back old Firefox onboarding
Revert "Bug 1462415 - Delete onboarding system add-on r=Standard8,k88hudson"
This reverts commit f7ffd78b62541d44d0102f8051d2f4080bdbc432.
Revert "Bug 1498378 - Actually remove the old onboarding add-on's prefs r=Gijs"
This reverts commit 057fe36fc6f3e93e265505c7dcc703a0941778e2.
Bug 28822: Convert onboarding to webextension
Partially revert 1564367 (controlCenter in UITour.jsm)
---
browser/app/profile/firefox.js | 16 +
browser/components/BrowserGlue.jsm | 11 -
browser/components/uitour/UITour.jsm | 42 +
browser/extensions/moz.build | 2 +-
.../extensions/onboarding/OnboardingTelemetry.jsm | 578 +++++++
.../extensions/onboarding/OnboardingTourType.jsm | 40 +
browser/extensions/onboarding/README.md | 87 ++
browser/extensions/onboarding/api.js | 238 +++
browser/extensions/onboarding/background.js | 8 +
.../extensions/onboarding/content/Onboarding.jsm | 1581 ++++++++++++++++++++
.../onboarding/content/img/figure_addons.svg | 1 +
.../onboarding/content/img/figure_customize.svg | 561 +++++++
.../onboarding/content/img/figure_default.svg | 1 +
.../onboarding/content/img/figure_library.svg | 689 +++++++++
.../onboarding/content/img/figure_performance.svg | 1 +
.../onboarding/content/img/figure_private.svg | 1 +
.../onboarding/content/img/figure_screenshots.svg | 191 +++
.../onboarding/content/img/figure_singlesearch.svg | 1 +
.../onboarding/content/img/figure_sync.svg | 1 +
.../onboarding/content/img/icons_addons.svg | 1 +
.../onboarding/content/img/icons_customize.svg | 1 +
.../onboarding/content/img/icons_default.svg | 1 +
.../onboarding/content/img/icons_library.svg | 1 +
.../onboarding/content/img/icons_performance.svg | 1 +
.../onboarding/content/img/icons_private.svg | 1 +
.../onboarding/content/img/icons_screenshots.svg | 1 +
.../onboarding/content/img/icons_singlesearch.svg | 1 +
.../onboarding/content/img/icons_sync.svg | 1 +
.../onboarding/content/img/icons_tour-complete.svg | 17 +
.../onboarding/content/img/watermark.svg | 1 +
.../onboarding/content/onboarding-tour-agent.js | 94 ++
.../extensions/onboarding/content/onboarding.css | 589 ++++++++
.../extensions/onboarding/content/onboarding.js | 37 +
browser/extensions/onboarding/data_events.md | 154 ++
browser/extensions/onboarding/jar.mn | 14 +
.../onboarding/locales/en-US/onboarding.properties | 126 ++
browser/extensions/onboarding/locales/jar.mn | 8 +
browser/extensions/onboarding/locales/moz.build | 7 +
browser/extensions/onboarding/manifest.json | 26 +
browser/extensions/onboarding/moz.build | 26 +
browser/extensions/onboarding/schema.json | 1 +
.../onboarding/test/browser/.eslintrc.js | 7 +
.../extensions/onboarding/test/browser/browser.ini | 18 +
.../browser/browser_onboarding_accessibility.js | 89 ++
.../test/browser/browser_onboarding_keyboard.js | 137 ++
.../browser/browser_onboarding_notification.js | 62 +
.../browser/browser_onboarding_notification_2.js | 80 +
.../browser/browser_onboarding_notification_3.js | 82 +
.../browser/browser_onboarding_notification_4.js | 84 ++
.../browser/browser_onboarding_notification_5.js | 25 +
...arding_notification_click_auto_complete_tour.js | 33 +
.../browser_onboarding_select_default_tour.js | 80 +
.../test/browser/browser_onboarding_skip_tour.js | 47 +
.../test/browser/browser_onboarding_tours.js | 115 ++
.../test/browser/browser_onboarding_tourset.js | 82 +
.../test/browser/browser_onboarding_uitour.js | 167 +++
browser/extensions/onboarding/test/browser/head.js | 288 ++++
.../extensions/onboarding/test/unit/.eslintrc.js | 7 +
browser/extensions/onboarding/test/unit/head.js | 54 +
.../test/unit/test-onboarding-tour-type.js | 89 ++
.../extensions/onboarding/test/unit/xpcshell.ini | 5 +
browser/installer/package-manifest.in | 1 +
browser/locales/Makefile.in | 2 +
browser/locales/filter.py | 1 +
browser/locales/l10n.ini | 1 +
browser/locales/l10n.toml | 4 +
extensions/permissions/PermissionManager.cpp | 6 +-
tools/lint/codespell.yml | 1 +
68 files changed, 6713 insertions(+), 13 deletions(-)
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index 8ace92e9bf07..3f90fcad3602 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -2040,6 +2040,22 @@ pref("browser.sessionstore.restore_tabs_lazily", true);
pref("browser.suppress_first_window_animation", true);
+// Preferences for Photon onboarding system extension
+pref("browser.onboarding.enabled", true);
+// Mark this as an upgraded profile so we don't offer the initial new user onboarding tour.
+pref("browser.onboarding.tourset-version", 2);
+pref("browser.onboarding.state", "default");
+// On the Activity-Stream page, the snippet's position overlaps with our notification.
+// So use `browser.onboarding.notification.finished` to let the AS page know
+// if our notification is finished and safe to show their snippet.
+pref("browser.onboarding.notification.finished", false);
+pref("browser.onboarding.notification.mute-duration-on-first-session-ms", 300000); // 5 mins
+pref("browser.onboarding.notification.max-life-time-per-tour-ms", 432000000); // 5 days
+pref("browser.onboarding.notification.max-life-time-all-tours-ms", 1209600000); // 14 days
+pref("browser.onboarding.notification.max-prompt-count-per-tour", 8);
+pref("browser.onboarding.newtour", "performance,private,screenshots,addons,customize,default");
+pref("browser.onboarding.updatetour", "performance,library,screenshots,singlesearch,customize,sync");
+
// Preference that allows individual users to disable Screenshots.
pref("extensions.screenshots.disabled", false);
diff --git a/browser/components/BrowserGlue.jsm b/browser/components/BrowserGlue.jsm
index e6e1d217885e..e3b29f47f8cb 100644
--- a/browser/components/BrowserGlue.jsm
+++ b/browser/components/BrowserGlue.jsm
@@ -3359,17 +3359,6 @@ BrowserGlue.prototype = {
}
}
- if (currentUIVersion < 76) {
- // Clear old onboarding prefs from profile (bug 1462415)
- let onboardingPrefs = Services.prefs.getBranch("browser.onboarding.");
- if (onboardingPrefs) {
- let onboardingPrefsArray = onboardingPrefs.getChildList("");
- for (let item of onboardingPrefsArray) {
- Services.prefs.clearUserPref("browser.onboarding." + item);
- }
- }
- }
-
if (currentUIVersion < 77) {
// Remove currentset from all the toolbars
let toolbars = [
diff --git a/browser/components/uitour/UITour.jsm b/browser/components/uitour/UITour.jsm
index 807de6e22bea..29e8944e0e99 100644
--- a/browser/components/uitour/UITour.jsm
+++ b/browser/components/uitour/UITour.jsm
@@ -845,6 +845,14 @@ var UITour = {
["ViewShowing", this.onAppMenuSubviewShowing],
],
},
+ {
+ name: "controlCenter",
+ node: aWindow.gIdentityHandler._identityPopup,
+ events: [
+ ["popuphidden", this.onPanelHidden],
+ ["popuphiding", this.onControlCenterHiding],
+ ],
+ },
];
for (let panel of panels) {
// Ensure the menu panel is hidden and clean up panel listeners after calling hideMenu.
@@ -1439,6 +1447,31 @@ var UITour = {
} else if (aMenuName == "bookmarks") {
let menuBtn = aWindow.document.getElementById("bookmarks-menu-button");
openMenuButton(menuBtn);
+ } else if (aMenuName == "controlCenter") {
+ let popup = aWindow.gIdentityHandler._identityPopup;
+
+ // Add the listener even if the panel is already open since it will still
+ // only get registered once even if it was UITour that opened it.
+ popup.addEventListener("popuphiding", this.onControlCenterHiding);
+ popup.addEventListener("popuphidden", this.onPanelHidden);
+
+ popup.setAttribute("noautohide", "true");
+ this.clearAvailableTargetsCache();
+
+ if (popup.state == "open") {
+ if (aOpenCallback) {
+ aOpenCallback();
+ }
+ return;
+ }
+
+ this.recreatePopup(popup);
+
+ // Open the control center
+ if (aOpenCallback) {
+ popup.addEventListener("popupshown", aOpenCallback, { once: true });
+ }
+ aWindow.document.getElementById("identity-box").click();
} else if (aMenuName == "pocket") {
let button = aWindow.document.getElementById("save-to-pocket-button");
if (!button) {
@@ -1485,6 +1518,9 @@ var UITour = {
} else if (aMenuName == "bookmarks") {
let menuBtn = aWindow.document.getElementById("bookmarks-menu-button");
closeMenuButton(menuBtn);
+ } else if (aMenuName == "controlCenter") {
+ let panel = aWindow.gIdentityHandler._identityPopup;
+ panel.hidePopup();
} else if (aMenuName == "urlbar") {
aWindow.gURLBar.view.close();
}
@@ -1563,6 +1599,12 @@ var UITour = {
UITour._hideAnnotationsForPanel(aEvent, false, UITour.targetIsInAppMenu);
},
+ onControlCenterHiding(aEvent) {
+ UITour._hideAnnotationsForPanel(aEvent, true, aTarget => {
+ return aTarget.targetName.startsWith("controlCenter-");
+ });
+ },
+
onPanelHidden(aEvent) {
aEvent.target.removeAttribute("noautohide");
UITour.recreatePopup(aEvent.target);
diff --git a/browser/extensions/moz.build b/browser/extensions/moz.build
index ab735cf2688f..339702b90a8a 100644
--- a/browser/extensions/moz.build
+++ b/browser/extensions/moz.build
@@ -4,7 +4,7 @@
# 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/.
-DIRS += []
+DIRS += ["onboarding"]
if CONFIG["NIGHTLY_BUILD"]:
DIRS += [
diff --git a/browser/extensions/onboarding/OnboardingTelemetry.jsm b/browser/extensions/onboarding/OnboardingTelemetry.jsm
new file mode 100644
index 000000000000..494c8d246d87
--- /dev/null
+++ b/browser/extensions/onboarding/OnboardingTelemetry.jsm
@@ -0,0 +1,578 @@
+/* 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";
+
+var EXPORTED_SYMBOLS = ["OnboardingTelemetry"];
+
+ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
+XPCOMUtils.defineLazyModuleGetters(this, {
+ PingCentre: "resource:///modules/PingCentre.jsm",
+});
+XPCOMUtils.defineLazyServiceGetter(this, "gUUIDGenerator",
+ "@mozilla.org/uuid-generator;1", "nsIUUIDGenerator");
+
+// Validate the content has non-empty string
+function hasString(str) {
+ return typeof str == "string" && str.length > 0;
+}
+
+// Validate the content is an empty string
+function isEmptyString(str) {
+ return typeof str == "string" && str === "";
+}
+
+// Validate the content is an interger
+function isInteger(i) {
+ return Number.isInteger(i);
+}
+
+// Validate the content is a positive interger
+function isPositiveInteger(i) {
+ return Number.isInteger(i) && i > 0;
+}
+
+// Validate the number is -1
+function isMinusOne(num) {
+ return num === -1;
+}
+
+// Validate the category value is within the list
+function isValidCategory(category) {
+ return ["logo-interactions", "onboarding-interactions",
+ "overlay-interactions", "notification-interactions"]
+ .includes(category);
+}
+
+// Validate the page value is within the list
+function isValidPage(page) {
+ return ["about:newtab", "about:home", "about:welcome"].includes(page);
+}
+
+// Validate the tour_type value is within the list
+function isValidTourType(type) {
+ return ["new", "update"].includes(type);
+}
+
+// Validate the bubble state value is within the list
+function isValidBubbleState(str) {
+ return ["bubble", "dot", "hide"].includes(str);
+}
+
+// Validate the logo state value is within the list
+function isValidLogoState(str) {
+ return ["logo", "watermark"].includes(str);
+}
+
+// Validate the notification state value is within the list
+function isValidNotificationState(str) {
+ return ["show", "hide", "finished"].includes(str);
+}
+
+// Validate the column must be defined per ping
+function definePerPing(column) {
+ return function() {
+ throw new Error(`Must define the '${column}' validator per ping because it is not the same for all pings`);
+ };
+}
+
+// Basic validators for session pings
+// client_id, locale are added by PingCentre, IP is added by server
+// so no need check these column here
+const BASIC_SESSION_SCHEMA = {
+ addon_version: hasString,
+ category: isValidCategory,
+ page: isValidPage,
+ parent_session_id: hasString,
+ root_session_id: hasString,
+ session_begin: isInteger,
+ session_end: isInteger,
+ session_id: hasString,
+ tour_type: isValidTourType,
+ type: hasString,
+};
+
+// Basic validators for event pings
+// client_id, locale are added by PingCentre, IP is added by server
+// so no need check these column here
+const BASIC_EVENT_SCHEMA = {
+ addon_version: hasString,
+ bubble_state: definePerPing("bubble_state"),
+ category: isValidCategory,
+ current_tour_id: definePerPing("current_tour_id"),
+ logo_state: definePerPing("logo_state"),
+ notification_impression: definePerPing("notification_impression"),
+ notification_state: definePerPing("notification_state"),
+ page: isValidPage,
+ parent_session_id: hasString,
+ root_session_id: hasString,
+ target_tour_id: definePerPing("target_tour_id"),
+ timestamp: isInteger,
+ tour_type: isValidTourType,
+ type: hasString,
+ width: isPositiveInteger,
+};
+
+/**
+ * We send 2 kinds (firefox-onboarding-event2, firefox-onboarding-session2) of pings to ping centre
+ * server (they call it `topic`). The `internal` state in `topic` field means this event is used internaly to
+ * track states and will not send out any message.
+ *
+ * To save server space and make query easier, we track session begin and end but only send pings
+ * when session end. Therefore the server will get single "onboarding/overlay/notification-session"
+ * event which includes both `session_begin` and `session_end` timestamp.
+ *
+ * We send `session_begin` and `session_end` timestamps instead of `session_duration` diff because
+ * of analytics engineer's request.
+ */
+const EVENT_WHITELIST = {
+ // track when a notification appears.
+ "notification-appear": {
+ topic: "firefox-onboarding-event2",
+ category: "notification-interactions",
+ parent: "notification-session",
+ validators: Object.assign({}, BASIC_EVENT_SCHEMA, {
+ bubble_state: isValidBubbleState,
+ current_tour_id: hasString,
+ logo_state: isValidLogoState,
+ notification_impression: isPositiveInteger,
+ notification_state: isValidNotificationState,
+ target_tour_id: isEmptyString,
+ }),
+ },
+ // track when a user clicks close notification button
+ "notification-close-button-click": {
+ topic: "firefox-onboarding-event2",
+ category: "notification-interactions",
+ parent: "notification-session",
+ validators: Object.assign({}, BASIC_EVENT_SCHEMA, {
+ bubble_state: isValidBubbleState,
+ current_tour_id: hasString,
+ logo_state: isValidLogoState,
+ notification_impression: isPositiveInteger,
+ notification_state: isValidNotificationState,
+ target_tour_id: hasString,
+ }),
+ },
+ // track when a user clicks notification's Call-To-Action button
+ "notification-cta-click": {
+ topic: "firefox-onboarding-event2",
+ category: "notification-interactions",
+ parent: "notification-session",
+ validators: Object.assign({}, BASIC_EVENT_SCHEMA, {
+ bubble_state: isValidBubbleState,
+ current_tour_id: hasString,
+ logo_state: isValidLogoState,
+ notification_impression: isPositiveInteger,
+ notification_state: isValidNotificationState,
+ target_tour_id: hasString,
+ }),
+ },
+ // track the start and end time of the notification session
+ "notification-session": {
+ topic: "firefox-onboarding-session2",
+ category: "notification-interactions",
+ parent: "onboarding-session",
+ validators: BASIC_SESSION_SCHEMA,
+ },
+ // track the start of a notification
+ "notification-session-begin": {topic: "internal"},
+ // track the end of a notification
+ "notification-session-end": {topic: "internal"},
+ // track when a user clicks the Firefox logo
+ "onboarding-logo-click": {
+ topic: "firefox-onboarding-event2",
+ category: "logo-interactions",
+ parent: "onboarding-session",
+ validators: Object.assign({}, BASIC_EVENT_SCHEMA, {
+ bubble_state: isValidBubbleState,
+ current_tour_id: isEmptyString,
+ logo_state: isValidLogoState,
+ notification_impression: isMinusOne,
+ notification_state: isValidNotificationState,
+ target_tour_id: isEmptyString,
+ }),
+ },
+ // track when the onboarding is not visisble due to small screen in the 1st load
+ "onboarding-noshow-smallscreen": {
+ topic: "firefox-onboarding-event2",
+ category: "onboarding-interactions",
+ parent: "onboarding-session",
+ validators: Object.assign({}, BASIC_EVENT_SCHEMA, {
+ bubble_state: isEmptyString,
+ current_tour_id: isEmptyString,
+ logo_state: isEmptyString,
+ notification_impression: isMinusOne,
+ notification_state: isEmptyString,
+ target_tour_id: isEmptyString,
+ }),
+ },
+ // init onboarding session with session_key, page url, and tour_type
+ "onboarding-register-session": {topic: "internal"},
+ // track the start and end time of the onboarding session
+ "onboarding-session": {
+ topic: "firefox-onboarding-session2",
+ category: "onboarding-interactions",
+ parent: "onboarding-session",
+ validators: BASIC_SESSION_SCHEMA,
+ },
+ // track onboarding start time (when user loads about:home or about:newtab)
+ "onboarding-session-begin": {topic: "internal"},
+ // track onboarding end time (when user unloads about:home or about:newtab)
+ "onboarding-session-end": {topic: "internal"},
+ // track when a user clicks the close overlay button
+ "overlay-close-button-click": {
+ topic: "firefox-onboarding-event2",
+ category: "overlay-interactions",
+ parent: "overlay-session",
+ validators: Object.assign({}, BASIC_EVENT_SCHEMA, {
+ bubble_state: isEmptyString,
+ current_tour_id: hasString,
+ logo_state: isEmptyString,
+ notification_impression: isMinusOne,
+ notification_state: isEmptyString,
+ target_tour_id: hasString,
+ }),
+ },
+ // track when a user clicks outside the overlay area to end the tour
+ "overlay-close-outside-click": {
+ topic: "firefox-onboarding-event2",
+ category: "overlay-interactions",
+ parent: "overlay-session",
+ validators: Object.assign({}, BASIC_EVENT_SCHEMA, {
+ bubble_state: isEmptyString,
+ current_tour_id: hasString,
+ logo_state: isEmptyString,
+ notification_impression: isMinusOne,
+ notification_state: isEmptyString,
+ target_tour_id: hasString,
+ }),
+ },
+ // track when a user clicks overlay's Call-To-Action button
+ "overlay-cta-click": {
+ topic: "firefox-onboarding-event2",
+ category: "overlay-interactions",
+ parent: "overlay-session",
+ validators: Object.assign({}, BASIC_EVENT_SCHEMA, {
+ bubble_state: isEmptyString,
+ current_tour_id: hasString,
+ logo_state: isEmptyString,
+ notification_impression: isMinusOne,
+ notification_state: isEmptyString,
+ target_tour_id: hasString,
+ }),
+ },
+ // track when a tour is shown in the overlay
+ "overlay-current-tour": {
+ topic: "firefox-onboarding-event2",
+ category: "overlay-interactions",
+ parent: "overlay-session",
+ validators: Object.assign({}, BASIC_EVENT_SCHEMA, {
+ bubble_state: isEmptyString,
+ current_tour_id: hasString,
+ logo_state: isEmptyString,
+ notification_impression: isMinusOne,
+ notification_state: isEmptyString,
+ target_tour_id: isEmptyString,
+ }),
+ },
+ // track when an overlay is opened and disappeared because the window is resized too small
+ "overlay-disapear-resize": {
+ topic: "firefox-onboarding-event2",
+ category: "overlay-interactions",
+ parent: "overlay-session",
+ validators: Object.assign({}, BASIC_EVENT_SCHEMA, {
+ bubble_state: isEmptyString,
+ current_tour_id: isEmptyString,
+ logo_state: isEmptyString,
+ notification_impression: isMinusOne,
+ notification_state: isEmptyString,
+ target_tour_id: isEmptyString,
+ }),
+ },
+ // track when a user clicks a navigation button in the overlay
+ "overlay-nav-click": {
+ topic: "firefox-onboarding-event2",
+ category: "overlay-interactions",
+ parent: "overlay-session",
+ validators: Object.assign({}, BASIC_EVENT_SCHEMA, {
+ bubble_state: isEmptyString,
+ current_tour_id: hasString,
+ logo_state: isEmptyString,
+ notification_impression: isMinusOne,
+ notification_state: isEmptyString,
+ target_tour_id: hasString,
+ }),
+ },
+ // track the start and end time of the overlay session
+ "overlay-session": {
+ topic: "firefox-onboarding-session2",
+ category: "overlay-interactions",
+ parent: "onboarding-session",
+ validators: BASIC_SESSION_SCHEMA,
+ },
+ // track the start of an overlay session
+ "overlay-session-begin": {topic: "internal"},
+ // track the end of an overlay session
+ "overlay-session-end": {topic: "internal"},
+ // track when a user clicks 'Skip Tour' button in the overlay
+ "overlay-skip-tour": {
+ topic: "firefox-onboarding-event2",
+ category: "overlay-interactions",
+ parent: "overlay-session",
+ validators: Object.assign({}, BASIC_EVENT_SCHEMA, {
+ bubble_state: isEmptyString,
+ current_tour_id: hasString,
+ logo_state: isEmptyString,
+ notification_impression: isMinusOne,
+ notification_state: isEmptyString,
+ target_tour_id: isEmptyString,
+ }),
+ },
+};
+
+const ONBOARDING_ID = "onboarding";
+
+let OnboardingTelemetry = {
+ sessionProbe: null,
+ eventProbe: null,
+ state: {
+ sessions: {},
+ },
+
+ init(startupData) {
+ this.sessionProbe = new PingCentre({topic: "firefox-onboarding-session2"});
+ this.eventProbe = new PingCentre({topic: "firefox-onboarding-event2"});
+ this.state.addon_version = startupData.version;
+ },
+
+ // register per tab session data
+ registerNewOnboardingSession(data) {
+ let { page, session_key, tour_type } = data;
+ if (this.state.sessions[session_key]) {
+ return;
+ }
+ // session_key and page url are must have
+ if (!session_key || !page || !tour_type) {
+ throw new Error("session_key, page url, and tour_type are required for onboarding-register-session");
+ }
+ let onboarding_session_id = gUUIDGenerator.generateUUID().toString();
+ this.state.sessions[session_key] = {
+ onboarding_session_id,
+ overlay_session_id: "",
+ notification_session_id: "",
+ page,
+ tour_type,
+ };
+ },
+
+ process(data) {
+ let { type, session_key } = data;
+ if (type === "onboarding-register-session") {
+ this.registerNewOnboardingSession(data);
+ return;
+ }
+
+ if (!this.state.sessions[session_key]) {
+ throw new Error(`${type} should pass valid session_key`);
+ }
+
+ switch (type) {
+ case "onboarding-session-begin":
+ if (!this.state.sessions[session_key].onboarding_session_id) {
+ throw new Error(`should fire onboarding-register-session event before ${type}`);
+ }
+ this.state.sessions[session_key].onboarding_session_begin = Date.now();
+ return;
+ case "onboarding-session-end":
+ data = Object.assign({}, data, {
+ type: "onboarding-session",
+ });
+ this.state.sessions[session_key].onboarding_session_end = Date.now();
+ break;
+ case "overlay-session-begin":
+ this.state.sessions[session_key].overlay_session_id = gUUIDGenerator.generateUUID().toString();
+ this.state.sessions[session_key].overlay_session_begin = Date.now();
+ return;
+ case "overlay-session-end":
+ data = Object.assign({}, data, {
+ type: "overlay-session",
+ });
+ this.state.sessions[session_key].overlay_session_end = Date.now();
+ break;
+ case "notification-session-begin":
+ this.state.sessions[session_key].notification_session_id = gUUIDGenerator.generateUUID().toString();
+ this.state.sessions[session_key].notification_session_begin = Date.now();
+ return;
+ case "notification-session-end":
+ data = Object.assign({}, data, {
+ type: "notification-session",
+ });
+ this.state.sessions[session_key].notification_session_end = Date.now();
+ break;
+ }
+ let topic = EVENT_WHITELIST[data.type] && EVENT_WHITELIST[data.type].topic;
+ if (!topic) {
+ throw new Error(`ping-centre doesn't know ${type} after processPings, only knows ${Object.keys(EVENT_WHITELIST)}`);
+ }
+ this._sendPing(topic, data);
+ },
+
+ // send out pings by topic
+ _sendPing(topic, data) {
+ if (topic === "internal") {
+ throw new Error(`internal ping ${data.type} should be processed within processPings`);
+ }
+
+ let {
+ addon_version,
+ } = this.state;
+ let {
+ bubble_state = "",
+ current_tour_id = "",
+ logo_state = "",
+ notification_impression = -1,
+ notification_state = "",
+ session_key,
+ target_tour_id = "",
+ type,
+ width,
+ } = data;
+ let {
+ notification_session_begin,
+ notification_session_end,
+ notification_session_id,
+ onboarding_session_begin,
+ onboarding_session_end,
+ onboarding_session_id,
+ overlay_session_begin,
+ overlay_session_end,
+ overlay_session_id,
+ page,
+ tour_type,
+ } = this.state.sessions[session_key];
+ let {
+ category,
+ parent,
+ } = EVENT_WHITELIST[type];
+ let parent_session_id;
+ let payload;
+ let session_begin;
+ let session_end;
+ let session_id;
+ let root_session_id = onboarding_session_id;
+
+ // assign parent_session_id
+ switch (parent) {
+ case "onboarding-session":
+ parent_session_id = onboarding_session_id;
+ break;
+ case "overlay-session":
+ parent_session_id = overlay_session_id;
+ break;
+ case "notification-session":
+ parent_session_id = notification_session_id;
+ break;
+ }
+ if (!parent_session_id) {
+ throw new Error(`Unable to find the ${parent} parent session for the event ${type}`);
+ }
+
+ switch (topic) {
+ case "firefox-onboarding-session2":
+ switch (type) {
+ case "onboarding-session":
+ session_id = onboarding_session_id;
+ session_begin = onboarding_session_begin;
+ session_end = onboarding_session_end;
+ delete this.state.sessions[session_key];
+ break;
+ case "overlay-session":
+ session_id = overlay_session_id;
+ session_begin = overlay_session_begin;
+ session_end = overlay_session_end;
+ break;
+ case "notification-session":
+ session_id = notification_session_id;
+ session_begin = notification_session_begin;
+ session_end = notification_session_end;
+ break;
+ }
+ if (!session_id || !session_begin || !session_end) {
+ throw new Error(`should fire ${type}-begin and ${type}-end event before ${type}`);
+ }
+
+ payload = {
+ addon_version,
+ category,
+ page,
+ parent_session_id,
+ root_session_id,
+ session_begin,
+ session_end,
+ session_id,
+ tour_type,
+ type,
+ };
+ this._validatePayload(payload);
+ this.sessionProbe && this.sessionProbe.sendPing(payload,
+ {filter: ONBOARDING_ID});
+ break;
+ case "firefox-onboarding-event2":
+ let timestamp = Date.now();
+ payload = {
+ addon_version,
+ bubble_state,
+ category,
+ current_tour_id,
+ logo_state,
+ notification_impression,
+ notification_state,
+ page,
+ parent_session_id,
+ root_session_id,
+ target_tour_id,
+ timestamp,
+ tour_type,
+ type,
+ width,
+ };
+ this._validatePayload(payload);
+ this.eventProbe && this.eventProbe.sendPing(payload,
+ {filter: ONBOARDING_ID});
+ break;
+ }
+ },
+
+ // validate data sanitation and make sure correct ping params are sent
+ _validatePayload(payload) {
+ let type = payload.type;
+ let { validators } = EVENT_WHITELIST[type];
+ if (!validators) {
+ throw new Error(`Event ${type} without validators should not be sent.`);
+ }
+ let validatorKeys = Object.keys(validators);
+ // Not send with undefined column
+ if (Object.keys(payload).length > validatorKeys.length) {
+ throw new Error(`Event ${type} want to send more columns than expect, should not be sent.`);
+ }
+ let results = {};
+ let failed = false;
+ // Per column validation
+ for (let key of validatorKeys) {
+ if (payload[key] !== undefined) {
+ results[key] = validators[key](payload[key]);
+ if (!results[key]) {
+ failed = true;
+ }
+ } else {
+ results[key] = false;
+ failed = true;
+ }
+ }
+ if (failed) {
+ throw new Error(`Event ${type} contains incorrect data: ${JSON.stringify(results)}, should not be sent.`);
+ }
+ },
+};
diff --git a/browser/extensions/onboarding/OnboardingTourType.jsm b/browser/extensions/onboarding/OnboardingTourType.jsm
new file mode 100644
index 000000000000..d984fc42f390
--- /dev/null
+++ b/browser/extensions/onboarding/OnboardingTourType.jsm
@@ -0,0 +1,40 @@
+/* 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";
+
+var EXPORTED_SYMBOLS = ["OnboardingTourType"];
+
+ChromeUtils.defineModuleGetter(this, "Services",
+ "resource://gre/modules/Services.jsm");
+
+var OnboardingTourType = {
+ /**
+ * Determine the current tour type (new user tour or update user tour).
+ * The function checks 2 criterias
+ * - TOURSET_VERSION: current onboarding tourset version
+ * - PREF_SEEN_TOURSET_VERSION: the user seen tourset version
+ * As the result the function will set the right current tour type in the tour type pref (PREF_TOUR_TYPE) for later use.
+ */
+ check() {
+ const PREF_TOUR_TYPE = "browser.onboarding.tour-type";
+ const PREF_SEEN_TOURSET_VERSION = "browser.onboarding.seen-tourset-version";
+ const TOURSET_VERSION = Services.prefs.getIntPref("browser.onboarding.tourset-version");
+
+ if (!Services.prefs.prefHasUserValue(PREF_SEEN_TOURSET_VERSION)) {
+ // User has never seen an onboarding tour, present the user with the new user tour.
+ Services.prefs.setStringPref(PREF_TOUR_TYPE, "new");
+ } else if (Services.prefs.getIntPref(PREF_SEEN_TOURSET_VERSION) < TOURSET_VERSION) {
+ // show the update user tour when tour set version is larger than the seen tourset version
+ Services.prefs.setStringPref(PREF_TOUR_TYPE, "update");
+ // Reset all the notification-related prefs because tours update.
+ Services.prefs.setBoolPref("browser.onboarding.notification.finished", false);
+ Services.prefs.clearUserPref("browser.onboarding.notification.prompt-count");
+ Services.prefs.clearUserPref("browser.onboarding.notification.last-time-of-changing-tour-sec");
+ Services.prefs.clearUserPref("browser.onboarding.notification.tour-ids-queue");
+ Services.prefs.clearUserPref("browser.onboarding.state");
+ }
+ Services.prefs.setIntPref(PREF_SEEN_TOURSET_VERSION, TOURSET_VERSION);
+ },
+};
diff --git a/browser/extensions/onboarding/README.md b/browser/extensions/onboarding/README.md
new file mode 100644
index 000000000000..c63be42b7181
--- /dev/null
+++ b/browser/extensions/onboarding/README.md
@@ -0,0 +1,87 @@
+# Onboarding
+
+System addon to provide the onboarding overlay for user-friendly tours.
+
+## How to show the onboarding tour
+
+Open `about:config` page and filter with `onboarding` keyword. Then set following preferences:
+
+```
+browser.onboarding.disabled = false
+browser.onboarding.tour-set = "new" // for new user tour, or "update" for update user tour
+```
+And make sure the value of `browser.onboarding.tourset-verion` and `browser.onboarding.seen-tourset-verion` are the same.
+
+## How to show the onboarding notification
+
+Besides above settings, notification will wait 5 minutes before showing the first notification on a new profile or the updated user profile (to not put too much information to the user at once).
+
+To manually remove the mute duration, set pref `browser.onboarding.notification.mute-duration-on-first-session-ms` to `0` and notification will be shown at the next time you open `about:home`, `about:newtab`, or `about:welcome`.
+
+## How to show the snippets
+
+Snippets (the remote notification that handled by activity stream) will only be shown after onboarding notifications are all done. You can set preference `browser.onboarding.notification.finished` to `true` to disable onboarding notification and accept snippets right away.
+
+## Architecture
+
+
+
+During booting from `bootstrap.js`, `OnboardingTourType.jsm` will check the onboarding tour type (`new` and `update` are supported types) and set required initial states into preferences.
+
+Everytime `about:home`, `about:newtab`, or `about:welcome` page is opened, `onboarding.js` is injected into that page via [frame scripts](https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox/M….
+
+Then in `onboarding.js`, all tours are defined inside of `onboardingTourset` dictionary. `getTourIDList` function will load tours from proper preferences. (Check `How to change the order of tours` section for more detail).
+
+When user clicks the action button in each tour, We use [UITour](http://bedrock.readthedocs.io/en/latest/uitour.html) to highlight the correspondent browser UI element. The UITour client is bundled in onboarding addon via `jar.mn`.
+
+## Landing rules
+
+We would apply some rules:
+
+* To avoid conflict with the origin page, all styles and ids should be formatted as `onboarding-*`.
+* For consistency and easier filtering, all strings in `locales` should be formatted as `onboarding.*`.
+* For consistency, all related preferences should be formatted as `browser.onboarding.*`.
+* For accessibility, images that are for presentation only should have `role="presentation"` attribute.
+
+## How to change the order of tours
+
+Edit `browser/app/profile/firefox.js` and modify `browser.onboarding.newtour` for the new user tour or `browser.onboarding.updatetour` for the update user tour. You can change the tour list and the order by concate `tourIds` with `,` sign. You can find available `tourId` from `onboardingTourset` in `onboarding.js`.
+
+## How to pump tour set version after update tours
+
+We only update the tourset version when we have different **update** tourset. Update the new tourset **does not** require update the tourset version.
+
+The tourset version is used to track the last major tourset change version. The `tourset-version` pref store the major tourset version (ex: `1`) but not the current browser version. When browser update to the next version (ex: 58, 59) the tourset pref is still `1` if we didn't do any major tourset update.
+
+Once the tour set version is updated (ex: `2`), onboarding overlay should show the update tour to the updated user (ex: update from v56 -> v57), even when user has watched the previous tours or preferred to hide the previous tours.
+
+Edit `browser/app/profile/firefox.js` and set `browser.onboarding.tourset-version` as `[tourset version]` (in integer format).
+
+For example, if we update the tourset in v60 and decide to show all update users the tour, we set `browser.onboarding.tourset-version` as `3`.
+
+## Icon states
+
+Onboarding module has two states for its overlay icon: `default` and `watermark`.
+By default, it shows `default` state.
+When either tours or notifications are all completed, the icon changes to the `watermark` state.
+The icon state is stored in `browser.onboarding.state`.
+When `tourset-version` is updated, or when we detect the `tour-type` is changed to `update`, icon state will be changed back to the `default` state.
+
+## Customizable preferences
+
+Here are current support preferences that allow to customize the Onboarding's behavior.
+
+| PREF | DESCRIPTION | DEFAULT |
+|-----|-------------|:-----:|
+| `browser.onboarding.enabled` | disable onboarding experience entirely | true
+| `browser.onboarding.notification.finished` | Decide if we want to hide the notification permanently. | false
+| `browser.onboarding.notification.mute-duration-on-first-session-ms` |Notification mute duration. It also effect when the speech bubble is hidden and turned into the blue dot | 300000 (5 Min)
+| `browser.onboarding.notification.max-life-time-all-tours-ms` | Notification tours will all hide after this period | 1209600000 (10 Days)
+| `browser.onboarding.notification.max-life-time-per-tours-ms` | Per Notification tours will hide and show the next tour after this period | 432000000 (5 Days)
+| `browser.onboarding.notification.max-prompt-count-per-tour` | Each tour can only show the specific times in notification bar if user didn't interact with the tour notification. | 8
+| `browser.onboarding.newtour` | The tourset of new user tour. | performance,private,screenshots,addons,customize,default
+| `browser.onboarding.newtour.tooltip` | The string id which is shown in the new user tour's speech bubble. The preffered length is 2 lines. Should use `%S` to denote Firefox (brand short name) in string, or use `%1$S` if the name shows more than 1 time. | `onboarding.overlay-icon-tooltip2`
+| `browser.onboarding.updatetour` | The tourset of new user tour. | performance,library,screenshots,singlesearch,customize,sync
+| `browser.onboarding.updatetour.tooltip` | The string id which is shown in the update user tour's speech bubble. The preffered length is 2 lines. Should use `%S` to denote Firefox (brand short name) in string, or use `%1$S` if the name shows shows more than 1 time. | `onboarding.overlay-icon-tooltip-updated2`
+| `browser.onboarding.default-icon-src` | The default icon url. Should be svg or at least 64x64 | `chrome://branding/content/icon64.png`
+| `browser.onboarding.watermark-icon-src` | The watermark icon url. Should be svg or at least 64x64 | `resource://onboarding/img/watermark.svg`
diff --git a/browser/extensions/onboarding/api.js b/browser/extensions/onboarding/api.js
new file mode 100644
index 000000000000..dcdcb988451a
--- /dev/null
+++ b/browser/extensions/onboarding/api.js
@@ -0,0 +1,238 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 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/. */
+/* globals APP_STARTUP, ADDON_INSTALL */
+"use strict";
+
+ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
+XPCOMUtils.defineLazyModuleGetters(this, {
+ OnboardingTourType: "resource://onboarding/modules/OnboardingTourType.jsm",
+ OnboardingTelemetry: "resource://onboarding/modules/OnboardingTelemetry.jsm",
+ Services: "resource://gre/modules/Services.jsm",
+ UIState: "resource://services-sync/UIState.jsm",
+});
+
+XPCOMUtils.defineLazyServiceGetter(this, "resProto",
+ "@mozilla.org/network/protocol;1?name=resource",
+ "nsISubstitutingProtocolHandler");
+
+const RESOURCE_HOST = "onboarding";
+
+const {PREF_STRING, PREF_BOOL, PREF_INT} = Ci.nsIPrefBranch;
+
+const BROWSER_READY_NOTIFICATION = "browser-delayed-startup-finished";
+const BROWSER_SESSION_STORE_NOTIFICATION = "sessionstore-windows-restored";
+const PREF_WHITELIST = [
+ ["browser.onboarding.enabled", PREF_BOOL],
+ ["browser.onboarding.state", PREF_STRING],
+ ["browser.onboarding.notification.finished", PREF_BOOL],
+ ["browser.onboarding.notification.prompt-count", PREF_INT],
+ ["browser.onboarding.notification.last-time-of-changing-tour-sec", PREF_INT],
+ ["browser.onboarding.notification.tour-ids-queue", PREF_STRING],
+];
+
+[
+ "onboarding-tour-addons",
+ "onboarding-tour-customize",
+ "onboarding-tour-default-browser",
+ "onboarding-tour-library",
+ "onboarding-tour-performance",
+ "onboarding-tour-private-browsing",
+ "onboarding-tour-screenshots",
+ "onboarding-tour-singlesearch",
+ "onboarding-tour-sync",
+].forEach(tourId => PREF_WHITELIST.push([`browser.onboarding.tour.${tourId}.completed`, PREF_BOOL]));
+
+let waitingForBrowserReady = true;
+let startupData;
+
+/**
+ * Set pref. Why no `getPrefs` function is due to the privilege level.
+ * We cannot set prefs inside a framescript but can read.
+ * For simplicity and efficiency, we still read prefs inside the framescript.
+ *
+ * @param {Array} prefs the array of prefs to set.
+ * The array element carries info to set pref, should contain
+ * - {String} name the pref name, such as `browser.onboarding.state`
+ * - {*} value the value to set
+ **/
+function setPrefs(prefs) {
+ prefs.forEach(pref => {
+ let prefObj = PREF_WHITELIST.find(([name ]) => name == pref.name);
+ if (!prefObj) {
+ return;
+ }
+
+ let [name, type] = prefObj;
+
+ switch (type) {
+ case PREF_BOOL:
+ Services.prefs.setBoolPref(name, pref.value);
+ break;
+ case PREF_INT:
+ Services.prefs.setIntPref(name, pref.value);
+ break;
+ case PREF_STRING:
+ Services.prefs.setStringPref(name, pref.value);
+ break;
+ default:
+ throw new TypeError(`Unexpected type (${type}) for preference ${name}.`);
+ }
+ });
+}
+
+/**
+ * syncTourChecker listens to and maintains the login status inside, and can be
+ * queried at any time once initialized.
+ */
+let syncTourChecker = {
+ _registered: false,
+ _loggedIn: false,
+
+ isLoggedIn() {
+ return this._loggedIn;
+ },
+
+ observe(subject, topic) {
+ const state = UIState.get();
+ if (state.status == UIState.STATUS_NOT_CONFIGURED) {
+ this._loggedIn = false;
+ } else {
+ this.setComplete();
+ }
+ },
+
+ init() {
+ if (!Services.prefs.getBoolPref("identity.fxaccounts.enabled")) {
+ return;
+ }
+ // Check if we've already logged in at startup.
+ const state = UIState.get();
+ if (state.status != UIState.STATUS_NOT_CONFIGURED) {
+ this.setComplete();
+ }
+ this.register();
+ },
+
+ register() {
+ if (this._registered) {
+ return;
+ }
+ Services.obs.addObserver(this, "sync-ui-state:update");
+ this._registered = true;
+ },
+
+ setComplete() {
+ this._loggedIn = true;
+ Services.prefs.setBoolPref("browser.onboarding.tour.onboarding-tour-sync.completed", true);
+ },
+
+ unregister() {
+ if (!this._registered) {
+ return;
+ }
+ Services.obs.removeObserver(this, "sync-ui-state:update");
+ this._registered = false;
+ },
+
+ uninit() {
+ this.unregister();
+ },
+};
+
+/**
+ * Listen and process events from content.
+ */
+function initContentMessageListener() {
+ Services.mm.addMessageListener("Onboarding:OnContentMessage", msg => {
+ switch (msg.data.action) {
+ case "set-prefs":
+ setPrefs(msg.data.params);
+ break;
+ case "get-login-status":
+ msg.target.messageManager.sendAsyncMessage("Onboarding:ResponseLoginStatus", {
+ isLoggedIn: syncTourChecker.isLoggedIn(),
+ });
+ break;
+ case "ping-centre":
+ try {
+ OnboardingTelemetry.process(msg.data.params.data);
+ } catch (e) {
+ Cu.reportError(e);
+ }
+ break;
+ }
+ });
+}
+
+/**
+ * onBrowserReady - Continues startup of the add-on after browser is ready.
+ */
+function onBrowserReady() {
+ waitingForBrowserReady = false;
+
+ OnboardingTourType.check();
+ OnboardingTelemetry.init(startupData);
+ Services.mm.loadFrameScript("resource://onboarding/onboarding.js", true);
+ initContentMessageListener();
+}
+
+/**
+ * observe - nsIObserver callback to handle various browser notifications.
+ */
+function observe(subject, topic, data) {
+ switch (topic) {
+ case BROWSER_READY_NOTIFICATION:
+ Services.obs.removeObserver(observe, BROWSER_READY_NOTIFICATION);
+ onBrowserReady();
+ break;
+ case BROWSER_SESSION_STORE_NOTIFICATION:
+ Services.obs.removeObserver(observe, BROWSER_SESSION_STORE_NOTIFICATION);
+ // Postpone Firefox account checking until "before handling user events"
+ // phase to meet performance criteria. The reason we don't postpone the
+ // whole onBrowserReady here is because in that way we will miss onload
+ // events for onboarding.js.
+ Services.tm.idleDispatchToMainThread(() => syncTourChecker.init());
+ break;
+ }
+}
+
+this.onboarding = class extends ExtensionAPI {
+ onStartup() {
+ resProto.setSubstitutionWithFlags(RESOURCE_HOST,
+ Services.io.newURI("chrome/content/", null, this.extension.rootURI),
+ resProto.ALLOW_CONTENT_ACCESS);
+
+ if (this.extension.rootURI instanceof Ci.nsIJARURI) {
+ this.manifest = this.extension.rootURI.JARFile.QueryInterface(Ci.nsIFileURL).file;
+ } else if (this.extension.rootURI instanceof Ci.nsIFileURL) {
+ this.manifest = this.extension.rootURI.file;
+ }
+
+ if (this.manifest) {
+ Components.manager.addBootstrappedManifestLocation(this.manifest);
+ } else {
+ Cu.reportError("Cannot find onboarding chrome.manifest for registring translated strings");
+ }
+
+ // Only start Onboarding when the browser UI is ready
+ if (Services.startup.startingUp) {
+ Services.obs.addObserver(observe, BROWSER_READY_NOTIFICATION);
+ Services.obs.addObserver(observe, BROWSER_SESSION_STORE_NOTIFICATION);
+ } else {
+ onBrowserReady();
+ syncTourChecker.init();
+ }
+ }
+
+ onShutdown() {
+ resProto.setSubstitution(RESOURCE_HOST, null);
+
+ // Stop waiting for browser to be ready
+ if (waitingForBrowserReady) {
+ Services.obs.removeObserver(observe, BROWSER_READY_NOTIFICATION);
+ }
+ syncTourChecker.uninit();
+ }
+};
diff --git a/browser/extensions/onboarding/background.js b/browser/extensions/onboarding/background.js
new file mode 100644
index 000000000000..efe296ff2278
--- /dev/null
+++ b/browser/extensions/onboarding/background.js
@@ -0,0 +1,8 @@
+/* eslint-env webextensions */
+
+"use strict";
+
+browser.runtime.onUpdateAvailable.addListener(details => {
+ // By listening to but ignoring this event, any updates will
+ // be delayed until the next browser restart.
+});
diff --git a/browser/extensions/onboarding/content/Onboarding.jsm b/browser/extensions/onboarding/content/Onboarding.jsm
new file mode 100644
index 000000000000..de95a66632ab
--- /dev/null
+++ b/browser/extensions/onboarding/content/Onboarding.jsm
@@ -0,0 +1,1581 @@
+/* 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/. */
+
+/* eslint-env mozilla/frame-script */
+
+"use strict";
+
+var EXPORTED_SYMBOLS = ["Onboarding"];
+
+const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+
+const ONBOARDING_CSS_URL = "resource://onboarding/onboarding.css";
+const BUNDLE_URI = "chrome://onboarding/locale/onboarding.properties";
+const UITOUR_JS_URI = "resource://onboarding/lib/UITour-lib.js";
+const TOUR_AGENT_JS_URI = "resource://onboarding/onboarding-tour-agent.js";
+const BRAND_SHORT_NAME = Services.strings
+ .createBundle("chrome://branding/locale/brand.properties")
+ .GetStringFromName("brandShortName");
+const PROMPT_COUNT_PREF = "browser.onboarding.notification.prompt-count";
+const NOTIFICATION_FINISHED_PREF = "browser.onboarding.notification.finished";
+const ONBOARDING_DIALOG_ID = "onboarding-overlay-dialog";
+const ONBOARDING_MIN_WIDTH_PX = 960;
+const SPEECH_BUBBLE_MIN_WIDTH_PX = 1365;
+const SPEECH_BUBBLE_NEWTOUR_STRING_ID = "onboarding.overlay-icon-tooltip2";
+const SPEECH_BUBBLE_UPDATETOUR_STRING_ID = "onboarding.overlay-icon-tooltip-updated2";
+const ICON_STATE_WATERMARK = "watermark";
+const ICON_STATE_DEFAULT = "default";
+
+/**
+ * Helper function to create the tour description UI element.
+ */
+function createOnboardingTourDescription(div, title, description) {
+ let doc = div.ownerDocument;
+ let section = doc.createElement("section");
+ section.className = "onboarding-tour-description";
+
+ let h1 = doc.createElement("h1");
+ h1.setAttribute("data-l10n-id", title);
+ section.appendChild(h1);
+
+ let p = doc.createElement("p");
+ p.setAttribute("data-l10n-id", description);
+ section.appendChild(p);
+
+ div.appendChild(section);
+ return section;
+}
+
+/**
+ * Helper function to create the tour content UI element.
+ */
+function createOnboardingTourContent(div, imageSrc) {
+ let doc = div.ownerDocument;
+ let section = doc.createElement("section");
+ section.className = "onboarding-tour-content";
+
+ let img = doc.createElement("img");
+ img.setAttribute("src", imageSrc);
+ img.setAttribute("role", "presentation");
+ section.appendChild(img);
+
+ div.appendChild(section);
+ return section;
+}
+
+/**
+ * Helper function to create the tour button UI element.
+ */
+function createOnboardingTourButton(div, buttonId, l10nId, buttonElementTagName = "button") {
+ let doc = div.ownerDocument;
+ let aside = doc.createElement("aside");
+ aside.className = "onboarding-tour-button-container";
+
+ let button = doc.createElement(buttonElementTagName);
+ button.id = buttonId;
+ button.className = "onboarding-tour-action-button";
+ button.setAttribute("data-l10n-id", l10nId);
+ aside.appendChild(button);
+
+ div.appendChild(aside);
+ return aside;
+}
+
+/**
+ * Add any number of tours, key is the tourId, value should follow the format below
+ * "tourId": { // The short tour id which could be saved in pref
+ * // The unique tour id
+ * id: "onboarding-tour-addons",
+ * // (optional) mark tour as complete instantly when the user enters the tour
+ * instantComplete: false,
+ * // The string id of tour name which would be displayed on the navigation bar
+ * tourNameId: "onboarding.tour-addon",
+ * // The method returing strings used on tour notification
+ * getNotificationStrings(bundle):
+ * - title: // The string of tour notification title
+ * - message: // The string of tour notification message
+ * - button: // The string of tour notification action button title
+ * // Return a div appended with elements for this tours.
+ * // Each tour should contain the following 3 sections in the div:
+ * // .onboarding-tour-description, .onboarding-tour-content, .onboarding-tour-button-container.
+ * // If there was a .onboarding-tour-action-button present and was clicked, tour would be marked as completed.
+ * getPage() {},
+ * },
+ **/
+var onboardingTourset = {
+ "private": {
+ id: "onboarding-tour-private-browsing",
+ tourNameId: "onboarding.tour-private-browsing",
+ getNotificationStrings(bundle) {
+ return {
+ title: bundle.GetStringFromName("onboarding.notification.onboarding-tour-private-browsing.title"),
+ message: bundle.GetStringFromName("onboarding.notification.onboarding-tour-private-browsing.message2"),
+ button: bundle.GetStringFromName("onboarding.button.learnMore"),
+ };
+ },
+ getPage(win) {
+ let div = win.document.createElement("div");
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-private-browsing.title2", "onboarding.tour-private-browsing.description3");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_private.svg");
+ createOnboardingTourButton(div,
+ "onboarding-tour-private-browsing-button", "onboarding.tour-private-browsing.button");
+
+ return div;
+ },
+ },
+ "addons": {
+ id: "onboarding-tour-addons",
+ tourNameId: "onboarding.tour-addons",
+ getNotificationStrings(bundle) {
+ return {
+ title: bundle.GetStringFromName("onboarding.notification.onboarding-tour-addons.title"),
+ message: bundle.formatStringFromName("onboarding.notification.onboarding-tour-addons.message", [BRAND_SHORT_NAME], 1),
+ button: bundle.GetStringFromName("onboarding.button.learnMore"),
+ };
+ },
+ getPage(win) {
+ let div = win.document.createElement("div");
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-addons.title2", "onboarding.tour-addons.description2");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_addons.svg");
+ createOnboardingTourButton(div,
+ "onboarding-tour-addons-button", "onboarding.tour-addons.button");
+
+ return div;
+ },
+ },
+ "customize": {
+ id: "onboarding-tour-customize",
+ tourNameId: "onboarding.tour-customize",
+ getNotificationStrings(bundle) {
+ return {
+ title: bundle.GetStringFromName("onboarding.notification.onboarding-tour-customize.title"),
+ message: bundle.formatStringFromName("onboarding.notification.onboarding-tour-customize.message", [BRAND_SHORT_NAME], 1),
+ button: bundle.GetStringFromName("onboarding.button.learnMore"),
+ };
+ },
+ getPage(win) {
+ let div = win.document.createElement("div");
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-customize.title2", "onboarding.tour-customize.description2");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_customize.svg");
+ createOnboardingTourButton(div,
+ "onboarding-tour-customize-button", "onboarding.tour-customize.button");
+
+ return div;
+ },
+ },
+ "default": {
+ id: "onboarding-tour-default-browser",
+ instantComplete: true,
+ tourNameId: "onboarding.tour-default-browser",
+ getNotificationStrings(bundle) {
+ return {
+ title: bundle.formatStringFromName("onboarding.notification.onboarding-tour-default-browser.title", [BRAND_SHORT_NAME], 1),
+ message: bundle.formatStringFromName("onboarding.notification.onboarding-tour-default-browser.message", [BRAND_SHORT_NAME], 1),
+ button: bundle.GetStringFromName("onboarding.button.learnMore"),
+ };
+ },
+ getPage(win, bundle) {
+ let div = win.document.createElement("div");
+ let setFromBackGround = bundle.formatStringFromName("onboarding.tour-default-browser.win7.button", [BRAND_SHORT_NAME], 1);
+ let setFromPanel = bundle.GetStringFromName("onboarding.tour-default-browser.button");
+ let isDefaultMessage = bundle.GetStringFromName("onboarding.tour-default-browser.is-default.message");
+ let isDefault2ndMessage = bundle.formatStringFromName("onboarding.tour-default-browser.is-default.2nd-message", [BRAND_SHORT_NAME], 1);
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-default-browser.title2", "onboarding.tour-default-browser.description2");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_default.svg");
+
+ let aside = win.document.createElement("aside");
+ aside.className = "onboarding-tour-button-container";
+ div.appendChild(aside);
+
+ let button = win.document.createElement("button");
+ button.id = "onboarding-tour-default-browser-button";
+ button.className = "onboarding-tour-action-button";
+ button.setAttribute("data-bg", setFromBackGround);
+ button.setAttribute("data-panel", setFromPanel);
+ aside.appendChild(button);
+
+ let isDefaultBrowserMsg = win.document.createElement("div");
+ isDefaultBrowserMsg.id = "onboarding-tour-is-default-browser-msg";
+ isDefaultBrowserMsg.className = "onboarding-hidden";
+ aside.appendChild(isDefaultBrowserMsg);
+ isDefaultBrowserMsg.append(isDefaultMessage);
+
+ let br = win.document.createElement("br");
+ isDefaultBrowserMsg.appendChild(br);
+ isDefaultBrowserMsg.append(isDefault2ndMessage);
+
+ div.addEventListener("beforeshow", () => {
+ win.document.dispatchEvent(new Event("Agent:CanSetDefaultBrowserInBackground"));
+ });
+ return div;
+ },
+ },
+ "sync": {
+ id: "onboarding-tour-sync",
+ instantComplete: true,
+ tourNameId: "onboarding.tour-sync2",
+ getNotificationStrings(bundle) {
+ return {
+ title: bundle.GetStringFromName("onboarding.notification.onboarding-tour-sync.title"),
+ message: bundle.GetStringFromName("onboarding.notification.onboarding-tour-sync.message"),
+ button: bundle.GetStringFromName("onboarding.button.learnMore"),
+ };
+ },
+ getPage(win, bundle) {
+ const STATE_LOGOUT = "logged-out";
+ const STATE_LOGIN = "logged-in";
+ let div = win.document.createElement("div");
+ div.dataset.loginState = STATE_LOGOUT;
+ // The email validation pattern used in the form comes from IETF rfc5321,
+ // which is identical to server-side checker of Firefox Account. See
+ // discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1378770#c6
+ // for detail.
+ let emailRegex = "^[\\w.!#$%&’*+\\/=?^`{|}~-]{1,64}@[a-z\\d](?:[a-z\\d-]{0,253}[a-z\\d])?(?:\\.[a-z\\d](?:[a-z\\d-]{0,253}[a-z\\d])?)+$";
+
+ let description = createOnboardingTourDescription(div,
+ "onboarding.tour-sync.title2", "onboarding.tour-sync.description2");
+
+ description.querySelector("h1").className = "show-on-logged-out";
+ description.querySelector("p").className = "show-on-logged-out";
+
+ let h1LoggedIn = win.document.createElement("h1");
+ h1LoggedIn.setAttribute("data-l10n-id", "onboarding.tour-sync.logged-in.title");
+ h1LoggedIn.className = "show-on-logged-in";
+ description.appendChild(h1LoggedIn);
+
+ let pLoggedIn = win.document.createElement("p");
+ pLoggedIn.setAttribute("data-l10n-id", "onboarding.tour-sync.logged-in.description");
+ pLoggedIn.className = "show-on-logged-in";
+ description.appendChild(pLoggedIn);
+
+ let content = win.document.createElement("section");
+ content.className = "onboarding-tour-content";
+ div.appendChild(content);
+
+ let form = win.document.createElement("form");
+ form.className = "show-on-logged-out";
+ content.appendChild(form);
+
+ let h3 = win.document.createElement("h3");
+ h3.setAttribute("data-l10n-id", "onboarding.tour-sync.form.title");
+ form.appendChild(h3);
+
+ let p = win.document.createElement("p");
+ p.setAttribute("data-l10n-id", "onboarding.tour-sync.form.description");
+ form.appendChild(p);
+
+ let input = win.document.createElement("input");
+ input.id = "onboarding-tour-sync-email-input";
+ input.setAttribute("required", "true");
+ input.setAttribute("type", "email");
+ input.placeholder =
+ bundle.GetStringFromName("onboarding.tour-sync.email-input.placeholder");
+ input.pattern = emailRegex;
+ form.appendChild(input);
+
+ let br = win.document.createElement("br");
+ form.appendChild(br);
+
+ let button = win.document.createElement("button");
+ button.id = "onboarding-tour-sync-button";
+ button.className = "onboarding-tour-action-button";
+ button.setAttribute("data-l10n-id", "onboarding.tour-sync.button");
+ form.appendChild(button);
+
+ let img = win.document.createElement("img");
+ img.setAttribute("src", "resource://onboarding/img/figure_sync.svg");
+ img.setAttribute("role", "presentation");
+ content.appendChild(img);
+
+ let aside = win.document.createElement("aside");
+ aside.className = "onboarding-tour-button-container show-on-logged-in";
+ div.appendChild(aside);
+
+ let connectDeviceButton = win.document.createElement("button");
+ connectDeviceButton.id = "onboarding-tour-sync-connect-device-button";
+ connectDeviceButton.className = "onboarding-tour-action-button";
+ connectDeviceButton.setAttribute("data-l10n-id", "onboarding.tour-sync.connect-device.button");
+ aside.appendChild(connectDeviceButton);
+
+ div.addEventListener("beforeshow", () => {
+ function loginStatusListener(msg) {
+ removeMessageListener("Onboarding:ResponseLoginStatus", loginStatusListener);
+ div.dataset.loginState = msg.data.isLoggedIn ? STATE_LOGIN : STATE_LOGOUT;
+ }
+ this.sendMessageToChrome("get-login-status");
+ this.mm.addMessageListener("Onboarding:ResponseLoginStatus", loginStatusListener);
+ });
+
+ return div;
+ },
+ },
+ "library": {
+ id: "onboarding-tour-library",
+ tourNameId: "onboarding.tour-library",
+ getNotificationStrings(bundle) {
+ return {
+ title: bundle.GetStringFromName("onboarding.notification.onboarding-tour-library.title"),
+ message: bundle.formatStringFromName("onboarding.notification.onboarding-tour-library.message", [BRAND_SHORT_NAME], 1),
+ button: bundle.GetStringFromName("onboarding.button.learnMore"),
+ };
+ },
+ getPage(win) {
+ let div = win.document.createElement("div");
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-library.title", "onboarding.tour-library.description2");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_library.svg");
+ createOnboardingTourButton(div,
+ "onboarding-tour-library-button", "onboarding.tour-library.button2");
+
+ return div;
+ },
+ },
+ "singlesearch": {
+ id: "onboarding-tour-singlesearch",
+ tourNameId: "onboarding.tour-singlesearch",
+ getNotificationStrings(bundle) {
+ return {
+ title: bundle.GetStringFromName("onboarding.notification.onboarding-tour-singlesearch.title"),
+ message: bundle.GetStringFromName("onboarding.notification.onboarding-tour-singlesearch.message"),
+ button: bundle.GetStringFromName("onboarding.button.learnMore"),
+ };
+ },
+ getPage(win, bundle) {
+ let div = win.document.createElement("div");
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-singlesearch.title", "onboarding.tour-singlesearch.description");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_singlesearch.svg");
+ createOnboardingTourButton(div,
+ "onboarding-tour-singlesearch-button", "onboarding.tour-singlesearch.button");
+
+ return div;
+ },
+ },
+ "performance": {
+ id: "onboarding-tour-performance",
+ instantComplete: true,
+ tourNameId: "onboarding.tour-performance",
+ getNotificationStrings(bundle) {
+ return {
+ title: bundle.GetStringFromName("onboarding.notification.onboarding-tour-performance.title"),
+ message: bundle.formatStringFromName("onboarding.notification.onboarding-tour-performance.message", [BRAND_SHORT_NAME], 1),
+ button: bundle.GetStringFromName("onboarding.button.learnMore"),
+ };
+ },
+ getPage(win, bundle) {
+ let div = win.document.createElement("div");
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-performance.title", "onboarding.tour-performance.description");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_performance.svg");
+
+ return div;
+ },
+ },
+ "screenshots": {
+ id: "onboarding-tour-screenshots",
+ tourNameId: "onboarding.tour-screenshots",
+ getNotificationStrings(bundle) {
+ return {
+ title: bundle.GetStringFromName("onboarding.notification.onboarding-tour-screenshots.title"),
+ message: bundle.formatStringFromName("onboarding.notification.onboarding-tour-screenshots.message", [BRAND_SHORT_NAME], 1),
+ button: bundle.GetStringFromName("onboarding.button.learnMore"),
+ };
+ },
+ getPage(win, bundle) {
+ let div = win.document.createElement("div");
+ // Screenshot tour opens the screenshot page directly, see below a#onboarding-tour-screenshots-button.
+ // The screenshots page should be responsible for highlighting the Screenshots button
+
+ createOnboardingTourDescription(div,
+ "onboarding.tour-screenshots.title", "onboarding.tour-screenshots.description");
+ createOnboardingTourContent(div, "resource://onboarding/img/figure_screenshots.svg");
+
+ let aside = createOnboardingTourButton(div,
+ "onboarding-tour-screenshots-button",
+ "onboarding.tour-screenshots.button",
+ "a");
+
+ let button = aside.querySelector("a");
+ button.setAttribute("href", "https://screenshots.firefox.com/#tour");
+ button.setAttribute("target", "_blank");
+
+ return div;
+ },
+ },
+};
+
+/**
+ * The script won't be initialized if we turned off onboarding by
+ * setting "browser.onboarding.enabled" to false.
+ */
+class Onboarding {
+ constructor(mm, contentWindow) {
+ this.mm = mm;
+ this.init(contentWindow);
+ }
+
+
+ /**
+ * @param {String} action the action to ask the chrome to do
+ * @param {Array | Object} params the parameters for the action
+ */
+ sendMessageToChrome(action, params) {
+ this.mm.sendAsyncMessage("Onboarding:OnContentMessage", {
+ action, params,
+ });
+ }
+
+ /**
+ * Template code for talking to `PingCentre`
+ * @param {Object} data the payload for the telemetry
+ */
+ telemetry(data) {
+ this.sendMessageToChrome("ping-centre", {data});
+ }
+
+ registerNewTelemetrySession(data) {
+ this.telemetry(Object.assign(data, {
+ type: "onboarding-register-session",
+ }));
+ }
+
+ async init(contentWindow) {
+ this._window = contentWindow;
+ // session_key is used for telemetry to track the current tab.
+ // The number will renew after reloading the page.
+ this._session_key = Date.now();
+ this._tours = [];
+ this._tourType = Services.prefs.getStringPref("browser.onboarding.tour-type", "update");
+
+ let tourIds = this._getTourIDList();
+ tourIds.forEach(tourId => {
+ if (onboardingTourset[tourId]) {
+ this._tours.push(onboardingTourset[tourId]);
+ }
+ });
+
+ if (this._tours.length === 0) {
+ return;
+ }
+
+ // We want to create and append elements after CSS is loaded so
+ // no flash of style changes and no additional reflow.
+ await this._loadCSS();
+ this._bundle = Services.strings.createBundle(BUNDLE_URI);
+
+ this._loadJS(UITOUR_JS_URI);
+
+ this.uiInitialized = false;
+ let doc = this._window.document;
+ if (doc.hidden) {
+ // When the preloaded-browser feature is on,
+ // it would preload a hidden about:newtab in the background.
+ // We don't want to show onboarding experience in that hidden state.
+ let onVisible = () => {
+ if (!doc.hidden) {
+ doc.removeEventListener("visibilitychange", onVisible);
+ this._startUI();
+ }
+ };
+ doc.addEventListener("visibilitychange", onVisible);
+ } else {
+ this._startUI();
+ }
+ }
+
+ _startUI() {
+ this.registerNewTelemetrySession({
+ page: this._window.location.href,
+ session_key: this._session_key,
+ tour_type: this._tourType,
+ });
+
+ this._window.addEventListener("beforeunload", this);
+ this._window.addEventListener("unload", this);
+ this._window.addEventListener("resize", this);
+ this._resizeTimerId =
+ this._window.requestIdleCallback(() => this._resizeUI());
+ // start log the onboarding-session when the tab is visible
+ this.telemetry({
+ type: "onboarding-session-begin",
+ session_key: this._session_key,
+ });
+ }
+
+ _resizeUI() {
+ this._windowWidth = this._window.document.body.getBoundingClientRect().width;
+ if (this._windowWidth < ONBOARDING_MIN_WIDTH_PX) {
+ // Don't show the overlay UI before we get to a better, responsive design.
+ this.destroy();
+ return;
+ }
+
+ this._initUI();
+ if (this._isFirstSession && this._windowWidth >= SPEECH_BUBBLE_MIN_WIDTH_PX) {
+ this._overlayIcon.classList.add("onboarding-speech-bubble");
+ } else {
+ this._overlayIcon.classList.remove("onboarding-speech-bubble");
+ }
+ }
+
+ _initUI() {
+ if (this.uiInitialized) {
+ return;
+ }
+ this.uiInitialized = true;
+ this._tourItems = [];
+ this._tourPages = [];
+
+ let { body } = this._window.document;
+ this._overlayIcon = this._renderOverlayButton();
+ this._overlayIcon.addEventListener("click", this);
+ this._overlayIcon.addEventListener("keypress", this);
+ body.insertBefore(this._overlayIcon, body.firstChild);
+
+ this._overlay = this._renderOverlay();
+ this._overlay.addEventListener("click", this);
+ this._overlay.addEventListener("keydown", this);
+ this._overlay.addEventListener("keypress", this);
+ body.appendChild(this._overlay);
+
+ this._loadJS(TOUR_AGENT_JS_URI);
+
+ this._initPrefObserver();
+ this._onIconStateChange(Services.prefs.getStringPref("browser.onboarding.state", ICON_STATE_DEFAULT));
+
+ // Doing tour notification takes some effort. Let's do it on idle.
+ this._window.requestIdleCallback(() => this.showNotification());
+ }
+
+ _getTourIDList() {
+ let tours = Services.prefs.getStringPref(`browser.onboarding.${this._tourType}tour`, "");
+ return tours.split(",").filter(tourId => {
+ if (tourId === "sync" && !Services.prefs.getBoolPref("identity.fxaccounts.enabled")) {
+ return false;
+ }
+ return tourId !== "";
+ }).map(tourId => tourId.trim());
+ }
+
+ _initPrefObserver() {
+ if (this._prefsObserved) {
+ return;
+ }
+
+ this._prefsObserved = new Map();
+ this._prefsObserved.set("browser.onboarding.state", () => {
+ this._onIconStateChange(Services.prefs.getStringPref("browser.onboarding.state", ICON_STATE_DEFAULT));
+ });
+ this._tours.forEach(tour => {
+ let tourId = tour.id;
+ this._prefsObserved.set(`browser.onboarding.tour.${tourId}.completed`, () => {
+ this.markTourCompletionState(tourId);
+ this._checkWatermarkByTours();
+ });
+ });
+ for (let [name, callback] of this._prefsObserved) {
+ Services.prefs.addObserver(name, callback);
+ }
+ }
+
+ _checkWatermarkByTours() {
+ let tourDone = this._tours.every(tour => this.isTourCompleted(tour.id));
+ if (tourDone) {
+ this.sendMessageToChrome("set-prefs", [{
+ name: "browser.onboarding.state",
+ value: ICON_STATE_WATERMARK,
+ }]);
+ }
+ }
+
+ _clearPrefObserver() {
+ if (this._prefsObserved) {
+ for (let [name, callback] of this._prefsObserved) {
+ Services.prefs.removeObserver(name, callback);
+ }
+ this._prefsObserved = null;
+ }
+ }
+
+ /**
+ * Find a tour that should be selected. It is either a first tour that was not
+ * yet complete or the first one in the tab list.
+ */
+ get _firstUncompleteTour() {
+ return this._tours.find(tour => !this.isTourCompleted(tour.id)) ||
+ this._tours[0];
+ }
+
+ /*
+ * Return currently showing tour navigation item
+ */
+ get _activeTourId() {
+ // We are doing lazy load so there might be no items.
+ if (!this._tourItems) {
+ return "";
+ }
+
+ let tourItem = this._tourItems.find(item => item.classList.contains("onboarding-active"));
+ return tourItem ? tourItem.id : "";
+ }
+
+ /**
+ * Return current logo state as "logo" or "watermark".
+ */
+ get _logoState() {
+ return this._overlayIcon.classList.contains("onboarding-watermark") ?
+ "watermark" : "logo";
+ }
+
+ /**
+ * Return current speech bubble state as "bubble", "dot" or "hide".
+ */
+ get _bubbleState() {
+ let state;
+ if (this._overlayIcon.classList.contains("onboarding-watermark")) {
+ state = "hide";
+ } else if (this._overlayIcon.classList.contains("onboarding-speech-bubble")) {
+ state = "bubble";
+ } else {
+ state = "dot";
+ }
+ return state;
+ }
+
+ /**
+ * Return current notification state as "show", "hide" or "finished".
+ */
+ get _notificationState() {
+ if (this._notificationCachedState === "finished") {
+ return this._notificationCachedState;
+ }
+
+ if (Services.prefs.getBoolPref(NOTIFICATION_FINISHED_PREF, false)) {
+ this._notificationCachedState = "finished";
+ } else if (this._notification) {
+ this._notificationCachedState = "show";
+ } else {
+ // we know it is in the hidden state if there's no notification bar
+ this._notificationCachedState = "hide";
+ }
+
+ return this._notificationCachedState;
+ }
+
+ /**
+ * Return current notification prompt count.
+ */
+ get _notificationPromptCount() {
+ return Services.prefs.getIntPref(PROMPT_COUNT_PREF, 0);
+ }
+
+ /**
+ * Return current screen width and round it up to the nearest 50 pixels.
+ * Collecting rounded values reduces the risk that this could be used to
+ * derive a unique user identifier
+ */
+ get _windowWidthRounded() {
+ return Math.round(this._windowWidth / 50) * 50;
+ }
+
+ handleClick(target) {
+ let { id, classList } = target;
+ // Only containers receive pointer events in onboarding tour tab list,
+ // actual semantic tab is their first child.
+ if (classList.contains("onboarding-tour-item-container")) {
+ ({ id, classList } = target.firstChild);
+ }
+
+ switch (id) {
+ case "onboarding-overlay-button-icon":
+ case "onboarding-overlay-button":
+ this.telemetry({
+ type: "onboarding-logo-click",
+ bubble_state: this._bubbleState,
+ logo_state: this._logoState,
+ notification_state: this._notificationState,
+ session_key: this._session_key,
+ width: this._windowWidthRounded,
+ });
+ this.showOverlay();
+ this.gotoPage(this._firstUncompleteTour.id);
+ break;
+ case "onboarding-skip-tour-button":
+ this.hideNotification();
+ this.hideOverlay();
+ this.skipTour();
+ break;
+ case "onboarding-overlay-close-btn":
+ // If the clicking target is directly on the outer-most overlay,
+ // that means clicking outside the tour content area.
+ // Let's toggle the overlay.
+ case "onboarding-overlay":
+ let eventName = id === "onboarding-overlay-close-btn" ?
+ "overlay-close-button-click" : "overlay-close-outside-click";
+ this.telemetry({
+ type: eventName,
+ current_tour_id: this._activeTourId,
+ session_key: this._session_key,
+ target_tour_id: this._activeTourId,
+ width: this._windowWidthRounded,
+ });
+ this.hideOverlay();
+ break;
+ case "onboarding-notification-close-btn":
+ let currentTourId = this._notificationBar.dataset.targetTourId;
+ // should trigger before notification-session event is sent
+ this.telemetry({
+ type: "notification-close-button-click",
+ bubble_state: this._bubbleState,
+ current_tour_id: currentTourId,
+ logo_state: this._logoState,
+ notification_impression: this._notificationPromptCount,
+ notification_state: this._notificationState,
+ session_key: this._session_key,
+ target_tour_id: currentTourId,
+ width: this._windowWidthRounded,
+ });
+ this.hideNotification();
+ this._removeTourFromNotificationQueue(currentTourId);
+ break;
+ case "onboarding-notification-action-btn":
+ let tourId = this._notificationBar.dataset.targetTourId;
+ this.telemetry({
+ type: "notification-cta-click",
+ bubble_state: this._bubbleState,
+ current_tour_id: tourId,
+ logo_state: this._logoState,
+ notification_impression: this._notificationPromptCount,
+ notification_state: this._notificationState,
+ session_key: this._session_key,
+ target_tour_id: tourId,
+ width: this._windowWidthRounded,
+ });
+ this.showOverlay();
+ this.gotoPage(tourId);
+ this._removeTourFromNotificationQueue(tourId);
+ break;
+ }
+ if (classList.contains("onboarding-tour-item")) {
+ this.telemetry({
+ type: "overlay-nav-click",
+ current_tour_id: this._activeTourId,
+ session_key: this._session_key,
+ target_tour_id: id,
+ width: this._windowWidthRounded,
+ });
+ this.gotoPage(id);
+ // Keep focus (not visible) on current item for potential keyboard
+ // navigation.
+ target.focus();
+ } else if (classList.contains("onboarding-tour-action-button")) {
+ let activeTourId = this._activeTourId;
+ this.setToursCompleted([ activeTourId ]);
+ this.telemetry({
+ type: "overlay-cta-click",
+ current_tour_id: activeTourId,
+ session_key: this._session_key,
+ target_tour_id: activeTourId,
+ width: this._windowWidthRounded,
+ });
+ }
+ }
+
+ /**
+ * Wrap keyboard focus within the dialog.
+ * When moving forward, focus on the first element when the current focused
+ * element is the last one.
+ * When moving backward, focus on the last element when the current focused
+ * element is the first one.
+ * Do nothing if focus is moving in the middle of the list of dialog's focusable
+ * elements.
+ *
+ * @param {DOMNode} current currently focused element
+ * @param {Boolean} back direction
+ * @return {DOMNode} newly focused element if any
+ */
+ wrapMoveFocus(current, back) {
+ let elms = [...this._dialog.querySelectorAll(
+ `button, input[type="checkbox"], input[type="email"], [tabindex="0"]`)];
+ let next;
+ if (back) {
+ if (elms.indexOf(current) === 0) {
+ next = elms[elms.length - 1];
+ next.focus();
+ }
+ } else if (elms.indexOf(current) === elms.length - 1) {
+ next = elms[0];
+ next.focus();
+ }
+ return next;
+ }
+
+ handleKeydown(event) {
+ let { target, key, shiftKey } = event;
+
+ // Currently focused item could be tab container if previous navigation was done
+ // via mouse.
+ if (target.classList.contains("onboarding-tour-item-container")) {
+ target = target.firstChild;
+ }
+ let targetIndex;
+ switch (key) {
+ case "ArrowUp":
+ // Go to and focus on the previous tab if it's available.
+ targetIndex = this._tourItems.indexOf(target);
+ if (targetIndex > 0) {
+ let previous = this._tourItems[targetIndex - 1];
+ this.handleClick(previous);
+ previous.focus();
+ }
+ event.preventDefault();
+ break;
+ case "ArrowDown":
+ // Go to and focus on the next tab if it's available.
+ targetIndex = this._tourItems.indexOf(target);
+ if (targetIndex > -1 && targetIndex < this._tourItems.length - 1) {
+ let next = this._tourItems[targetIndex + 1];
+ this.handleClick(next);
+ next.focus();
+ }
+ event.preventDefault();
+ break;
+ case "Escape":
+ this.hideOverlay();
+ break;
+ case "Tab":
+ let next = this.wrapMoveFocus(target, shiftKey);
+ // If focus was wrapped, prevent Tab key default action.
+ if (next) {
+ event.preventDefault();
+ }
+ break;
+ default:
+ break;
+ }
+ event.stopPropagation();
+ }
+
+ handleKeypress(event) {
+ let { target, key } = event;
+
+ if (target === this._overlayIcon) {
+ if ([" ", "Enter"].includes(key)) {
+ // Remember that the dialog was opened with a keyboard.
+ this._overlayIcon.dataset.keyboardFocus = true;
+ this.handleClick(target);
+ event.preventDefault();
+ }
+ return;
+ }
+
+ // Currently focused item could be tab container if previous navigation was done
+ // via mouse.
+ if (target.classList.contains("onboarding-tour-item-container")) {
+ target = target.firstChild;
+ }
+ switch (key) {
+ case " ":
+ case "Enter":
+ // Assume that the handle function should be identical for keyboard
+ // activation if there is a click handler for the target.
+ if (target.classList.contains("onboarding-tour-item")) {
+ this.handleClick(target);
+ target.focus();
+ }
+ break;
+ default:
+ break;
+ }
+ event.stopPropagation();
+ }
+
+ handleEvent(evt) {
+ switch (evt.type) {
+ case "beforeunload":
+ // To make sure the telemetry pings are sent,
+ // we send "onboarding-session-end" ping as well as
+ // "overlay-session-end" and "notification-session-end" ping
+ // (by hiding the overlay and notificaiton) on beforeunload.
+ this.hideOverlay();
+ this.hideNotification();
+ this.telemetry({
+ type: "onboarding-session-end",
+ session_key: this._session_key,
+ });
+ break;
+ case "unload":
+ // Notice: Cannot do `destroy` on beforeunload, must do on unload.
+ // Otherwise, we would hit the docShell leak in the test.
+ // See Bug 1413830#c190 and Bug 1429652 for details.
+ this.destroy();
+ break;
+ case "resize":
+ this._window.cancelIdleCallback(this._resizeTimerId);
+ this._resizeTimerId =
+ this._window.requestIdleCallback(() => this._resizeUI());
+ break;
+ case "keydown":
+ this.handleKeydown(evt);
+ break;
+ case "keypress":
+ this.handleKeypress(evt);
+ break;
+ case "click":
+ this.handleClick(evt.target);
+ break;
+ default:
+ break;
+ }
+ }
+
+ destroy() {
+ if (!this.uiInitialized) {
+ return;
+ }
+ this.uiInitialized = false;
+
+ this._overlayIcon.dispatchEvent(new this._window.CustomEvent("Agent:Destroy"));
+
+ this._clearPrefObserver();
+ this._overlayIcon.remove();
+ if (this._overlay) {
+ // send overlay-session telemetry
+ this.hideOverlay();
+ this._overlay.remove();
+ }
+ if (this._notificationBar) {
+ // send notification-session telemetry
+ this.hideNotification();
+ this._notificationBar.remove();
+ }
+ this._tourItems = this._tourPages =
+ this._overlayIcon = this._overlay = this._notificationBar = null;
+ }
+
+ _onIconStateChange(state) {
+ switch (state) {
+ case ICON_STATE_DEFAULT:
+ this._overlayIcon.classList.remove("onboarding-watermark");
+ break;
+ case ICON_STATE_WATERMARK:
+ this._overlayIcon.classList.add("onboarding-watermark");
+ break;
+ }
+ return true;
+ }
+
+ showOverlay() {
+ if (this._tourItems.length == 0) {
+ // Lazy loading until first toggle.
+ this._loadTours(this._tours);
+ }
+
+ if (this._overlay && !this._overlay.classList.contains("onboarding-opened")) {
+ this.hideNotification();
+ this._overlay.classList.add("onboarding-opened");
+ this.toggleModal(true);
+ this.telemetry({
+ type: "overlay-session-begin",
+ session_key: this._session_key,
+ });
+ }
+ }
+
+ hideOverlay() {
+ if (this._overlay && this._overlay.classList.contains("onboarding-opened")) {
+ this._overlay.classList.remove("onboarding-opened");
+ this.toggleModal(false);
+ this.telemetry({
+ type: "overlay-session-end",
+ session_key: this._session_key,
+ });
+ }
+ }
+
+ /**
+ * Set modal dialog state and properties for accessibility purposes.
+ * @param {Boolean} opened whether the dialog is opened or closed.
+ */
+ toggleModal(opened) {
+ let { document: doc } = this._window;
+ if (opened) {
+ // Set aria-hidden to true for the rest of the document.
+ [...doc.body.children].forEach(
+ child => child.id !== "onboarding-overlay" &&
+ child.setAttribute("aria-hidden", true));
+ // When dialog is opened with the keyboard, focus on the first
+ // uncomplete tour because it will be the selected tour.
+ if (this._overlayIcon.dataset.keyboardFocus) {
+ doc.getElementById(this._firstUncompleteTour.id).focus();
+ } else {
+ // When the dialog is opened with the mouse, focus on the dialog
+ // itself to avoid visible keyboard focus styling.
+ this._dialog.focus();
+ }
+ } else {
+ // Remove all set aria-hidden attributes.
+ [...doc.body.children].forEach(
+ child => child.removeAttribute("aria-hidden"));
+ // If dialog was opened with a keyboard, set the focus back to the overlay
+ // button.
+ if (this._overlayIcon.dataset.keyboardFocus) {
+ delete this._overlayIcon.dataset.keyboardFocus;
+ this._overlayIcon.focus();
+ } else {
+ this._window.document.activeElement.blur();
+ }
+ }
+ }
+
+ /**
+ * Switch to proper tour.
+ * @param {String} tourId specify which tour should be switched.
+ */
+ gotoPage(tourId) {
+ let targetPageId = `${tourId}-page`;
+ for (let page of this._tourPages) {
+ if (page.id === targetPageId) {
+ page.style.display = "";
+ page.dispatchEvent(new this._window.CustomEvent("beforeshow"));
+ } else {
+ page.style.display = "none";
+ }
+ }
+ for (let tab of this._tourItems) {
+ if (tab.id == tourId) {
+ tab.classList.add("onboarding-active");
+ tab.setAttribute("aria-selected", true);
+ this.telemetry({
+ type: "overlay-current-tour",
+ current_tour_id: tourId,
+ session_key: this._session_key,
+ width: this._windowWidthRounded,
+ });
+
+ // Some tours should complete instantly upon showing.
+ if (tab.getAttribute("data-instant-complete")) {
+ this.setToursCompleted([tourId]);
+ }
+ } else {
+ tab.classList.remove("onboarding-active");
+ tab.setAttribute("aria-selected", false);
+ }
+ }
+ }
+
+ isTourCompleted(tourId) {
+ return Services.prefs.getBoolPref(`browser.onboarding.tour.${tourId}.completed`, false);
+ }
+
+ setToursCompleted(tourIds) {
+ let params = [];
+ tourIds.forEach(id => {
+ if (!this.isTourCompleted(id)) {
+ params.push({
+ name: `browser.onboarding.tour.${id}.completed`,
+ value: true,
+ });
+ }
+ });
+ if (params.length > 0) {
+ this.sendMessageToChrome("set-prefs", params);
+ }
+ }
+
+ markTourCompletionState(tourId) {
+ // We are doing lazy load so there might be no items.
+ if (!this._tourItems || this._tourItems.length === 0) {
+ return;
+ }
+
+ let completed = this.isTourCompleted(tourId);
+ let targetItem = this._tourItems.find(item => item.id == tourId);
+ let completedTextId = `onboarding-complete-${tourId}-text`;
+ // Accessibility: Text version of the auxiliary information about the tour
+ // item completion is provided via an invisible node with an aria-label that
+ // the tab is pointing to via aria-described by.
+ let completedText = targetItem.querySelector(`#${completedTextId}`);
+ if (completed) {
+ targetItem.classList.add("onboarding-complete");
+ if (!completedText) {
+ completedText = this._window.document.createElement("span");
+ completedText.id = completedTextId;
+ completedText.setAttribute("aria-label",
+ this._bundle.GetStringFromName("onboarding.complete"));
+ targetItem.appendChild(completedText);
+ targetItem.setAttribute("aria-describedby", completedTextId);
+ }
+ } else {
+ targetItem.classList.remove("onboarding-complete");
+ targetItem.removeAttribute("aria-describedby");
+ if (completedText) {
+ completedText.remove();
+ }
+ }
+ }
+
+ get _isFirstSession() {
+ // Should only directly return on the "false" case. Consider:
+ // 1. On the 1st session, `_firstSession` is true
+ // 2. During the 1st session, user resizes window so that the UI is destroyed
+ // 3. After the 1st mute session, user resizes window so that the UI is re-init
+ if (this._firstSession === false) {
+ return false;
+ }
+ this._firstSession = true;
+
+ // There is a queue, which means we had prompted tour notifications before. Therefore this is not the 1st session.
+ if (Services.prefs.prefHasUserValue("browser.onboarding.notification.tour-ids-queue")) {
+ this._firstSession = false;
+ }
+
+ // When this is set to 0 on purpose, always judge as not the 1st session
+ if (Services.prefs.getIntPref("browser.onboarding.notification.mute-duration-on-first-session-ms") === 0) {
+ this._firstSession = false;
+ }
+
+ return this._firstSession;
+ }
+
+ _getLastTourChangeTime() {
+ return 1000 * Services.prefs.getIntPref("browser.onboarding.notification.last-time-of-changing-tour-sec", 0);
+ }
+
+ _muteNotificationOnFirstSession(lastTourChangeTime) {
+ if (!this._isFirstSession) {
+ return false;
+ }
+
+ if (lastTourChangeTime <= 0) {
+ this.sendMessageToChrome("set-prefs", [{
+ name: "browser.onboarding.notification.last-time-of-changing-tour-sec",
+ value: Math.floor(Date.now() / 1000),
+ }]);
+ return true;
+ }
+ let muteDuration = Services.prefs.getIntPref("browser.onboarding.notification.mute-duration-on-first-session-ms");
+ return Date.now() - lastTourChangeTime <= muteDuration;
+ }
+
+ _isTimeForNextTourNotification(lastTourChangeTime) {
+ let maxCount = Services.prefs.getIntPref("browser.onboarding.notification.max-prompt-count-per-tour");
+ if (this._notificationPromptCount >= maxCount) {
+ return true;
+ }
+
+ let maxTime = Services.prefs.getIntPref("browser.onboarding.notification.max-life-time-per-tour-ms");
+ if (lastTourChangeTime && Date.now() - lastTourChangeTime >= maxTime) {
+ return true;
+ }
+
+ return false;
+ }
+
+ _removeTourFromNotificationQueue(tourId) {
+ let params = [];
+ let queue = this._getNotificationQueue();
+ params.push({
+ name: "browser.onboarding.notification.tour-ids-queue",
+ value: queue.filter(id => id != tourId).join(","),
+ });
+ params.push({
+ name: "browser.onboarding.notification.last-time-of-changing-tour-sec",
+ value: 0,
+ });
+ params.push({
+ name: "browser.onboarding.notification.prompt-count",
+ value: 0,
+ });
+ this.sendMessageToChrome("set-prefs", params);
+ }
+
+ _getNotificationQueue() {
+ let queue = "";
+ if (Services.prefs.prefHasUserValue("browser.onboarding.notification.tour-ids-queue")) {
+ queue = Services.prefs.getStringPref("browser.onboarding.notification.tour-ids-queue");
+ } else {
+ // For each tour, it only gets 2 chances to prompt with notification
+ // (each chance includes 8 impressions or 5-days max life time)
+ // if user never interact with it.
+ // Assume there are tour #0 ~ #5. Here would form the queue as
+ // "#0,#1,#2,#3,#4,#5,#0,#1,#2,#3,#4,#5".
+ // Then we would loop through this queue and remove prompted tour from the queue
+ // until the queue is empty.
+ let ids = this._tours.map(tour => tour.id).join(",");
+ queue = `${ids},${ids}`;
+ this.sendMessageToChrome("set-prefs", [{
+ name: "browser.onboarding.notification.tour-ids-queue",
+ value: queue,
+ }]);
+ }
+ return queue ? queue.split(",") : [];
+ }
+
+ showNotification() {
+ if (this._notificationState === "finished") {
+ return;
+ }
+
+ let lastTime = this._getLastTourChangeTime();
+ if (this._muteNotificationOnFirstSession(lastTime)) {
+ return;
+ }
+
+ // After the notification mute on the 1st session,
+ // we don't want to show the speech bubble by default
+ this._overlayIcon.classList.remove("onboarding-speech-bubble");
+
+ let queue = this._getNotificationQueue();
+ let totalMaxTime = Services.prefs.getIntPref("browser.onboarding.notification.max-life-time-all-tours-ms");
+ if (lastTime && Date.now() - lastTime >= totalMaxTime) {
+ // Reach total max life time for all tour notifications.
+ // Clear the queue so that we would finish tour notifications below
+ queue = [];
+ }
+
+ let startQueueLength = queue.length;
+ // See if need to move on to the next tour
+ if (queue.length > 0 && this._isTimeForNextTourNotification(lastTime)) {
+ queue.shift();
+ }
+ // We don't want to prompt the completed tour.
+ while (queue.length > 0 && this.isTourCompleted(queue[0])) {
+ queue.shift();
+ }
+
+ if (queue.length == 0) {
+ this.sendMessageToChrome("set-prefs", [
+ {
+ name: NOTIFICATION_FINISHED_PREF,
+ value: true,
+ },
+ {
+ name: "browser.onboarding.notification.tour-ids-queue",
+ value: "",
+ },
+ {
+ name: "browser.onboarding.state",
+ value: ICON_STATE_WATERMARK,
+ },
+ ]);
+ return;
+ }
+ let targetTourId = queue[0];
+ let targetTour = this._tours.find(tour => tour.id == targetTourId);
+
+ // Show the target tour notification
+ this._notificationBar = this._renderNotificationBar();
+ this._notificationBar.addEventListener("click", this);
+ this._notificationBar.dataset.targetTourId = targetTour.id;
+ let notificationStrings = targetTour.getNotificationStrings(this._bundle);
+ let actionBtn = this._notificationBar.querySelector("#onboarding-notification-action-btn");
+ actionBtn.textContent = notificationStrings.button;
+ let tourTitle = this._notificationBar.querySelector("#onboarding-notification-tour-title");
+ tourTitle.textContent = notificationStrings.title;
+ let tourMessage = this._notificationBar.querySelector("#onboarding-notification-tour-message");
+ tourMessage.textContent = notificationStrings.message;
+ this._notificationBar.classList.add("onboarding-opened");
+ this._window.document.body.appendChild(this._notificationBar);
+
+ let params = [];
+ let promptCount = 1;
+ if (startQueueLength != queue.length) {
+ // We just change tour so update the time, the count and the queue
+ params.push({
+ name: "browser.onboarding.notification.last-time-of-changing-tour-sec",
+ value: Math.floor(Date.now() / 1000),
+ });
+ params.push({
+ name: PROMPT_COUNT_PREF,
+ value: promptCount,
+ });
+ params.push({
+ name: "browser.onboarding.notification.tour-ids-queue",
+ value: queue.join(","),
+ });
+ } else {
+ promptCount = this._notificationPromptCount + 1;
+ params.push({
+ name: PROMPT_COUNT_PREF,
+ value: promptCount,
+ });
+ }
+ this.sendMessageToChrome("set-prefs", params);
+ this.telemetry({
+ type: "notification-session-begin",
+ session_key: this._session_key,
+ });
+ // since set-perfs is async, pass promptCount directly to avoid gathering the wrong
+ // notification_impression.
+ this.telemetry({
+ type: "notification-appear",
+ bubble_state: this._bubbleState,
+ current_tour_id: targetTourId,
+ logo_state: this._logoState,
+ notification_impression: promptCount,
+ notification_state: this._notificationState,
+ session_key: this._session_key,
+ width: this._windowWidthRounded,
+ });
+ }
+
+ hideNotification() {
+ if (this._notificationBar) {
+ if (this._notificationBar.classList.contains("onboarding-opened")) {
+ this._notificationBar.classList.remove("onboarding-opened");
+ this.telemetry({
+ type: "notification-session-end",
+ session_key: this._session_key,
+ });
+ }
+ }
+ }
+
+ _renderNotificationBar() {
+ let footer = this._window.document.createElement("footer");
+ footer.id = "onboarding-notification-bar";
+ footer.setAttribute("aria-live", "polite");
+ footer.setAttribute("aria-labelledby", "onboarding-notification-tour-title");
+
+ let section = this._window.document.createElement("section");
+ section.id = "onboarding-notification-message-section";
+ section.setAttribute("role", "presentation");
+ footer.appendChild(section);
+
+ let icon = this._window.document.createElement("div");
+ icon.id = "onboarding-notification-tour-icon";
+ icon.setAttribute("role", "presentation");
+ section.appendChild(icon);
+
+ let onboardingNotificationBody = this._window.document.createElement("div");
+ onboardingNotificationBody.id = "onboarding-notification-body";
+ onboardingNotificationBody.setAttribute("role", "presentation");
+ section.appendChild(onboardingNotificationBody);
+
+ let title = this._window.document.createElement("h1");
+ title.id = "onboarding-notification-tour-title";
+ onboardingNotificationBody.appendChild(title);
+
+ let message = this._window.document.createElement("p");
+ message.id = "onboarding-notification-tour-message";
+ onboardingNotificationBody.appendChild(message);
+
+ let actionButton = this._window.document.createElement("button");
+ actionButton.id = "onboarding-notification-action-btn";
+ actionButton.className = "onboarding-action-button";
+ section.appendChild(actionButton);
+
+ let closeButton = this._window.document.createElement("button");
+ closeButton.id = "onboarding-notification-close-btn";
+ closeButton.className = "onboarding-close-btn";
+ footer.appendChild(closeButton);
+
+ closeButton.setAttribute("title",
+ this._bundle.GetStringFromName("onboarding.notification-close-button-tooltip"));
+
+ return footer;
+ }
+
+ skipTour() {
+ this.setToursCompleted(this._tours.map(tour => tour.id));
+ this.sendMessageToChrome("set-prefs", [
+ {
+ name: NOTIFICATION_FINISHED_PREF,
+ value: true,
+ },
+ {
+ name: "browser.onboarding.state",
+ value: ICON_STATE_WATERMARK,
+ },
+ ]);
+ this.telemetry({
+ type: "overlay-skip-tour",
+ current_tour_id: this._activeTourId,
+ session_key: this._session_key,
+ width: this._windowWidthRounded,
+ });
+ }
+
+ _renderOverlay() {
+ let div = this._window.document.createElement("div");
+ div.id = "onboarding-overlay";
+
+ this._dialog = this._window.document.createElement("div");
+ this._dialog.setAttribute("role", "dialog");
+ this._dialog.setAttribute("tabindex", "-1");
+ this._dialog.setAttribute("aria-labelledby", "onboarding-header");
+ this._dialog.id = ONBOARDING_DIALOG_ID;
+ div.appendChild(this._dialog);
+
+ let header = this._window.document.createElement("header");
+ header.id = "onboarding-header";
+ header.textContent = this._bundle.GetStringFromName("onboarding.overlay-title2");
+ this._dialog.appendChild(header);
+
+ let nav = this._window.document.createElement("nav");
+ this._dialog.appendChild(nav);
+
+ let tourList = this._window.document.createElement("ul");
+ tourList.id = "onboarding-tour-list";
+ tourList.setAttribute("role", "tablist");
+ nav.appendChild(tourList);
+
+ let footer = this._window.document.createElement("footer");
+ footer.id = "onboarding-footer";
+ this._dialog.appendChild(footer);
+
+ let button = this._window.document.createElement("button");
+ button.id = "onboarding-overlay-close-btn";
+ button.className = "onboarding-close-btn";
+ button.setAttribute("title",
+ this._bundle.GetStringFromName("onboarding.overlay-close-button-tooltip"));
+ this._dialog.appendChild(button);
+
+ // support show/hide skip tour button via pref
+ if (!Services.prefs.getBoolPref("browser.onboarding.skip-tour-button.hide", false)) {
+ let skipButton = this._window.document.createElement("button");
+ skipButton.id = "onboarding-skip-tour-button";
+ skipButton.classList.add("onboarding-action-button");
+ skipButton.textContent = this._bundle.GetStringFromName("onboarding.skip-tour-button-label");
+ footer.appendChild(skipButton);
+ }
+
+ return div;
+ }
+
+ _renderOverlayButton() {
+ let button = this._window.document.createElement("button");
+ // support customize speech bubble string via pref
+ let tooltipStringPrefId = "";
+ let defaultTourStringId = "";
+ if (this._tourType === "new") {
+ tooltipStringPrefId = "browser.onboarding.newtour.tooltip";
+ defaultTourStringId = SPEECH_BUBBLE_NEWTOUR_STRING_ID;
+ } else {
+ tooltipStringPrefId = "browser.onboarding.updatetour.tooltip";
+ defaultTourStringId = SPEECH_BUBBLE_UPDATETOUR_STRING_ID;
+ }
+ let tooltip = "";
+ try {
+ let tooltipStringId = Services.prefs.getStringPref(tooltipStringPrefId, defaultTourStringId);
+ tooltip = this._bundle.formatStringFromName(tooltipStringId, [BRAND_SHORT_NAME], 1);
+ } catch (e) {
+ Cu.reportError(e);
+ // fallback to defaultTourStringId to proceed
+ tooltip = this._bundle.formatStringFromName(defaultTourStringId, [BRAND_SHORT_NAME], 1);
+ }
+ button.setAttribute("aria-label", tooltip);
+ button.id = "onboarding-overlay-button";
+ button.setAttribute("aria-haspopup", true);
+ button.setAttribute("aria-controls", `${ONBOARDING_DIALOG_ID}`);
+ let defaultImg = this._window.document.createElement("img");
+ defaultImg.id = "onboarding-overlay-button-icon";
+ defaultImg.setAttribute("role", "presentation");
+ defaultImg.src = Services.prefs.getStringPref("browser.onboarding.default-icon-src",
+ "chrome://branding/content/icon64.png");
+ button.appendChild(defaultImg);
+ let watermarkImg = this._window.document.createElement("img");
+ watermarkImg.id = "onboarding-overlay-button-watermark-icon";
+ watermarkImg.setAttribute("role", "presentation");
+ watermarkImg.src = Services.prefs.getStringPref("browser.onboarding.watermark-icon-src",
+ "resource://onboarding/img/watermark.svg");
+ button.appendChild(watermarkImg);
+ return button;
+ }
+
+ _loadTours(tours) {
+ let itemsFrag = this._window.document.createDocumentFragment();
+ let pagesFrag = this._window.document.createDocumentFragment();
+ for (let tour of tours) {
+ // Create tour navigation items dynamically
+ let li = this._window.document.createElement("li");
+ // List item should have no semantics. It is just a container for an
+ // actual tab.
+ li.setAttribute("role", "presentation");
+ li.className = "onboarding-tour-item-container";
+ // Focusable but not tabbable.
+ li.tabIndex = -1;
+
+ let tab = this._window.document.createElement("span");
+ tab.id = tour.id;
+ tab.textContent = this._bundle.GetStringFromName(tour.tourNameId);
+ tab.className = "onboarding-tour-item";
+ if (tour.instantComplete) {
+ tab.dataset.instantComplete = true;
+ }
+ tab.tabIndex = 0;
+ tab.setAttribute("role", "tab");
+
+ let tourPanelId = `${tour.id}-page`;
+ tab.setAttribute("aria-controls", tourPanelId);
+
+ li.appendChild(tab);
+ itemsFrag.appendChild(li);
+ // Dynamically create tour pages
+ let div = tour.getPage.call(this, this._window, this._bundle);
+
+ // Do a traverse for elements in the page that need to be localized.
+ let l10nElements = div.querySelectorAll("[data-l10n-id]");
+ for (let i = 0; i < l10nElements.length; i++) {
+ let element = l10nElements[i];
+ // We always put brand short name as the first argument for it's the
+ // only and frequently used arguments in our l10n case. Rewrite it if
+ // other arguments appear.
+ element.textContent = this._bundle.formatStringFromName(
+ element.dataset.l10nId, [BRAND_SHORT_NAME], 1);
+ }
+
+ div.id = tourPanelId;
+ div.classList.add("onboarding-tour-page");
+ div.setAttribute("role", "tabpanel");
+ div.setAttribute("aria-labelledby", tour.id);
+ div.style.display = "none";
+ pagesFrag.appendChild(div);
+ // Cache elements in arrays for later use to avoid cost of querying elements
+ this._tourItems.push(tab);
+ this._tourPages.push(div);
+
+ this.markTourCompletionState(tour.id);
+ }
+
+ let ul = this._window.document.getElementById("onboarding-tour-list");
+ ul.appendChild(itemsFrag);
+ let footer = this._window.document.getElementById("onboarding-footer");
+ this._dialog.insertBefore(pagesFrag, footer);
+ }
+
+ _loadCSS() {
+ // Returning a Promise so we can inform caller of loading complete
+ // by resolving it.
+ return new Promise(resolve => {
+ let doc = this._window.document;
+ let link = doc.createElement("link");
+ link.rel = "stylesheet";
+ link.type = "text/css";
+ link.href = ONBOARDING_CSS_URL;
+ link.addEventListener("load", resolve);
+ doc.head.appendChild(link);
+ });
+ }
+
+ _loadJS(uri) {
+ let doc = this._window.document;
+ let script = doc.createElement("script");
+ script.type = "text/javascript";
+ script.src = uri;
+ doc.head.appendChild(script);
+ }
+}
diff --git a/browser/extensions/onboarding/content/img/figure_addons.svg b/browser/extensions/onboarding/content/img/figure_addons.svg
new file mode 100644
index 000000000000..b5f056737f11
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/figure_addons.svg
@@ -0,0 +1 @@
+<svg width="295" height="199" viewBox="0 0 295 199" xmlns="http://www.w3.org/2000/svg"><title>addons</title><defs><linearGradient x1="-3335.765%" y1="-2236.632%" x2="5558.543%" y2="3780.103%" id="a"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-251.09%" y1="-799.657%" x2="413.095%" y2="1054.368%" id="b"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-573.525%" y1="-521.071%" x2="763.527%" y2="703.894%" id="c"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-2190.515%" y1="-1349.885%" x2="1528.924%" y2="974.764%" id="d"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1533.42%" y1="-541.311%" x2="2119.6%" y2="822.483%" id="e"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="1
00%"/></linearGradient><linearGradient x1="-16561.05%" y1="-16565.77%" x2="3895.86%" y2="3891.14%" id="f"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-204.8%" y1="-96.752%" x2="205.158%" y2="122.743%" id="g"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-112.715%" y1="-148.497%" x2="122.964%" y2="186.313%" id="h"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-817.408%" y1="-862.654%" x2="1335.951%" y2="1471.194%" id="i"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-923.374%" y1="-755.994%" x2="781.368%" y2="664.624%" id="j"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-57.385%" y1="-74.839%" x2="205.558%" y2="247.317%" i
d="k"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-136.437%" y1="-251.542%" x2="257.723%" y2="370.248%" id="l"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-3134.668%" y1="-1436.328%" x2="4644.893%" y2="2194.132%" id="m"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-3763.993%" y1="-1729.31%" x2="4015.564%" y2="1901.152%" id="n"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-967.977%" y1="-2316.493%" x2="1244.002%" y2="2869.881%" id="o"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-828.528%" y1="-1974.736%" x2="1398.399%" y2="3211.636%" id="p"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100
%"/></linearGradient><linearGradient x1="-341.455%" y1="-545.157%" x2="204.062%" y2="280.185%" id="q"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-6989.704%" y1="-10987.987%" x2="1723.404%" y2="2626.238%" id="r"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-346.468%" y1="-491.716%" x2="205.755%" y2="249.195%" id="s"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-163.142%" y1="-212.577%" x2="367.782%" y2="441.559%" id="t"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-431.069%" y1="-1508.892%" x2="196.676%" y2="489.527%" id="u"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-46.826%" y1="-91.711%" x2="115.212%" y2="164.256%
" id="v"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-469.407%" y1="-1536.217%" x2="369.344%" y2="1016.816%" id="w"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1395.389%" y1="-1859.067%" x2="1629.996%" y2="2107.556%" id="x"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2132.529%" y1="-2452.139%" x2="1054.189%" y2="1199.521%" id="y"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1425.341%" y1="-2206.746%" x2="1446.3%" y2="2189.629%" id="z"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1606.851%" y1="-1906.042%" x2="1515.309%" y2="1780.906%" id="A"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offse
t="100%"/></linearGradient><linearGradient x1="-2952.119%" y1="-1785.48%" x2="1577.955%" y2="986.112%" id="B"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1774.73%" y1="-1132.379%" x2="2586.424%" y2="1691.85%" id="C"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2922.831%" y1="-2221.905%" x2="1969.085%" y2="1525.629%" id="D"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2790%" y1="-1744.265%" x2="1698.406%" y2="1091.887%" id="E"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2160.459%" y1="-2153.729%" x2="1208.199%" y2="1206.393%" id="F"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2197.557%" y1="-2601.613%" x2="936.46
2%" y2="1097.31%" id="G"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2154.892%" y1="-3309.827%" x2="719.541%" y2="1068.777%" id="H"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-548.887%" y1="-964.209%" x2="654.188%" y2="1081.481%" id="I"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-318.202%" y1="-291.169%" x2="636.625%" y2="583.64%" id="J"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-455.827%" y1="-310.105%" x2="637.3%" y2="482.798%" id="K"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-5771.947%" y1="-7842.936%" x2="4994.847%" y2="6769.143%" id="L"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF"
offset="100%"/></linearGradient><linearGradient x1="-4086.052%" y1="-5400.884%" x2="4096.712%" y2="5365.911%" id="M"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1126.574%" y1="-1260.202%" x2="1146.414%" y2="1265.342%" id="N"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1150.53%" y1="-1333.596%" x2="1122.46%" y2="1289.085%" id="O"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-3947.183%" y1="-5480.943%" x2="3106.924%" y2="4260.443%" id="P"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-3712.853%" y1="-2757.137%" x2="2679.931%" y2="2000.284%" id="Q"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1265.89%" y1="-1395.587%"
x2="1007.1%" y2="1099.159%" id="R"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-2822.135%" y1="-2883.724%" x2="1935.286%" y2="1986.969%" id="S"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1548.018%" y1="-2218.877%" x2="1374.022%" y2="1940.124%" id="T"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1369.976%" y1="-1928.433%" x2="1334.398%" y2="1827.217%" id="U"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-2000.906%" y1="-2495.611%" x2="1322.352%" y2="1633.822%" id="V"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1470.604%" y1="-2072.202%" x2="1136.662%" y2="1558.26%" id="W"><stop stop-color="#00C8D7" offset="0%"/><st
op stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1194.36%" y1="-1336.72%" x2="901.341%" y2="996.106%" id="X"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-3044.038%" y1="-2935.975%" x2="2075.73%" y2="2014.652%" id="Y"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1070.957%" y1="-1207.499%" x2="1021.673%" y2="1139.289%" id="Z"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-668.331%" y1="-735.951%" x2="792.876%" y2="862.245%" id="aa"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-757.712%" y1="-833.503%" x2="703.496%" y2="764.693%" id="ab"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-27.011%" y1
="-65.863%" x2="141.75%" y2="151.803%" id="ac"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1321.337%" y1="-997.486%" x2="1168.46%" y2="905.137%" id="ad"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-1178.308%" y1="-888.422%" x2="1311.49%" y2="1014.201%" id="ae"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-546.976%" y1="-767.016%" x2="189.173%" y2="248.435%" id="af"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-93.493%" y1="-91.832%" x2="384.41%" y2="447.193%" id="ag"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-258.202%" y1="-134.734%" x2="952.458%" y2="591.721%" id="ah"><stop stop-color="#00C8D7" offset="0%"/><stop
stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-764.248%" y1="-327.902%" x2="2650.413%" y2="1243.88%" id="ai"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-341.63%" y1="-267.69%" x2="726.152%" y2="596.706%" id="aj"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-517.979%" y1="-536.225%" x2="166.434%" y2="167.425%" id="ak"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-792.149%" y1="-462.294%" x2="98.549%" y2="87.052%" id="al"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-964.554%" y1="-879.35%" x2="1659.876%" y2="1524.226%" id="am"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-797.538%" y1="-665.
814%" x2="581.403%" y2="509.871%" id="an"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1165.123%" y1="-1561.869%" x2="356.021%" y2="461.04%" id="ao"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-505.775%" y1="-623.411%" x2="1092.421%" y2="1325.92%" id="ap"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-365.189%" y1="-194.484%" x2="727.939%" y2="447.534%" id="aq"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-2359.875%" y1="-1563.43%" x2="1606.616%" y2="1099.129%" id="ar"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M-31-68h352v303H-31z"/><g fill-rule="nonzero"><g fill="#D7D7DB"><path d="M23
8.3 15.6c-5.5 0-8.3-1.5-11-3-2.6-1.4-5-2.7-9.9-2.7s-7.4 1.3-9.9 2.7c-2.7 1.5-5.5 3-11 3s-8.3-1.5-11-3c-2.6-1.4-5-2.7-9.9-2.7s-7.4 1.3-9.9 2.7c-2.7 1.5-5.5 3-11 3-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1 4.9 0 7.4-1.3 9.9-2.7 2.7-1.5 5.5-3 11-3s8.3 1.5 11 3c2.6 1.4 5 2.7 9.9 2.7s7.4-1.3 9.9-2.7c2.7-1.5 5.5-3 11-3s8.3 1.5 11 3c2.6 1.4 5 2.7 9.9 2.7s7.4-1.3 9.9-2.7c2.7-1.5 5.5-3 11-3 .6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1-4.9 0-7.4 1.3-9.9 2.7-2.7 1.5-5.5 3-11 3zM196.2 7.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6 1.2 0 2.2-.1 3.2-.3.3-.1.6.2.6.5.1.3-.2.6-.5.6-1 .3-2.1.4-3.3.4zm7.6-1.6c-.2 0-.4-.1-.5-.3-.1-.3 0-.6.3-.7.3-.2.7-.3 1-.5.3-.1.6 0 .7.2.1.3 0 .6-.2.7-.3.2-.7.3-1 .5-.2.1-.2.1-.3.1zm-16.3-.1c-.1 0-.2 0-.2-.1-.8-.4-1.5-.7-2.2-1.1-2.6-1.4-5.1-2.8-10.2-2.8-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6 5.4 0 8.1 1.5 10.7 2.9.7.4 1.4.7 2.1 1.1.3.1.4.5.3.7-.1.4-.3.5-.5.5zm26.6-3.8c-.3 0-.5-.2-.6-.5 0-.3.2-.6.5-.6.8-.1 1.7-.1 2.7-.1.3 0 .6.2.6.6 0 .3-.2.6-.6.6-.9-.2-1.7-.1-2.6 0 .1 0 0 0 0 0zM238.5 23.1c-.3
0-.6-.2-.6-.6 0-.3.2-.6.6-.6 1.2 0 2.2-.1 3.2-.3.3-.1.6.2.6.5.1.3-.2.6-.5.6-1 .3-2.1.4-3.3.4zm7.6-1.5c-.2 0-.4-.1-.5-.3-.1-.3 0-.6.3-.7.3-.2.7-.3 1-.5.3-.1.6 0 .7.2.1.3 0 .6-.2.7-.3.2-.7.3-1 .5-.2 0-.3.1-.3.1zm-16.3-.2c-.1 0-.2 0-.2-.1-.8-.4-1.5-.7-2.2-1.1-2.6-1.4-5.1-2.8-10.2-2.8-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6 5.4 0 8.1 1.5 10.7 2.9.7.4 1.4.7 2.1 1.1.3.1.4.5.3.7-.1.4-.3.5-.5.5zm26.6-3.8c-.3 0-.5-.2-.6-.5 0-.3.2-.6.5-.6.8-.1 1.7-.1 2.6-.1.3 0 .6.2.6.6 0 .3-.2.6-.6.6-.8-.1-1.6-.1-2.5 0z"/></g><path d="M6.2 133.5c-2.8 0-5.1-2.2-5.1-4.8V10.2c0-3 2.4-5.4 5.4-5.4h127.2c3 0 5.4 2.4 5.4 5.4v118.5c0 2.6-2.3 4.8-5 4.8H6.2z" fill="#FFF"/><path d="M133.7 6c2.3 0 4.2 1.9 4.2 4.2v118.5c0 2-1.8 3.7-3.9 3.7H6.2c-2.2 0-3.9-1.7-3.9-3.7V10.2C2.3 7.9 4.2 6 6.5 6h127.2zm0-2.2H6.6C3 3.8.1 6.7.1 10.3v118.4c0 3.3 2.8 5.9 6.2 5.9H134c3.4 0 6.2-2.7 6.2-5.9V10.2c0-3.5-2.9-6.4-6.5-6.4z" fill="#D7D7DB"/><path d="M132.6 27.1v98.2c0 1-.1 1.2-.1 1.2s-.2.1-1.2.1H9.1c-1 0-1.2-.1-1.2-.1s-.1-.2-.1-1.2V27.1h124.8zm1.
1-1.1H6.6v99.3c0 2 .4 2.5 2.5 2.5h122.2c2 0 2.5-.4 2.5-2.5V26h-.1z" fill="#D7D7DB"/><g fill="#D7D7DB"><circle cx="3.4" cy="2.9" r="2.9" transform="translate(10 13)"/><circle cx="3.7" cy="2.9" r="2.9" transform="translate(19 13)"/><path d="M102.1 19.2H38.2c-1.7 0-3.1-1.4-3.1-3.1v-.3c0-1.7 1.4-3.1 3.1-3.1h63.9c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.7-1.4 3.1-3.1 3.1z"/><g><circle cx="3.6" cy="2.9" r="2.9" transform="translate(114 13)"/><circle cx="2.9" cy="2.9" r="2.9" transform="translate(124 13)"/></g></g><ellipse fill="#EDEDF0" cx="177.8" cy="191.1" rx="78.4" ry="7.4"/><g fill="#D7D7DB"><path d="M241.5 164.9c-5.5 0-8.3-1.5-11-3-2.6-1.4-5-2.7-9.9-2.7s-7.4 1.3-9.9 2.7c-2.7 1.5-5.5 3-11 3s-8.3-1.5-11-3c-2.6-1.4-5-2.7-9.9-2.7s-7.4 1.3-9.9 2.7c-2.7 1.5-5.5 3-11 3s-8.3-1.5-11-3c-2.6-1.4-5-2.7-9.9-2.7s-7.4 1.3-9.9 2.7c-2.7 1.5-5.5 3-11 3s-8.3-1.5-11-3c-2.6-1.4-5-2.7-9.9-2.7-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1 5.5 0 8.3 1.5 11 3 2.6 1.4 5 2.7 9.9 2.7s7.4-1.3 9.9-2.7c2.7-1.5 5.5-3 11-3s8.3 1.5 11
3c2.6 1.4 5 2.7 9.9 2.7s7.4-1.3 9.9-2.7c2.7-1.5 5.5-3 11-3s8.3 1.5 11 3c2.6 1.4 5 2.7 9.9 2.7s7.4-1.3 9.9-2.7c2.7-1.5 5.5-3 11-3s8.3 1.5 11 3c2.6 1.4 5 2.7 9.9 2.7.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1zM200.5 155.8c-.8 0-1.5 0-2.3-.1-.3 0-.5-.3-.5-.6s.3-.5.6-.5c.7.1 1.4.1 2.2.1h1.1c.3 0 .6.2.6.5s-.2.6-.5.6h-1.2zm-41.4 0c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6 1.2 0 2.2-.1 3.2-.3.3-.1.6.2.6.5.1.3-.2.6-.5.6-1 .3-2.1.4-3.3.4zm46.9-.7c-.2 0-.5-.2-.5-.4-.1-.3.1-.6.4-.7.4-.1.7-.2 1-.3.3-.1.6.1.7.3.1.3-.1.6-.3.7-.4.1-.7.2-1.1.3-.1.1-.2.1-.2.1zm-39.3-.9c-.2 0-.4-.1-.5-.3-.1-.3 0-.6.3-.7.3-.2.7-.3 1-.5.3-.1.6 0 .7.2.1.3 0 .6-.2.7-.3.2-.7.3-1 .5-.2.1-.3.1-.3.1zm-16.3-.1c-.1 0-.2 0-.2-.1-.8-.4-1.5-.7-2.2-1.1-2.6-1.4-5.1-2.8-10.2-2.8-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6 5.4 0 8.1 1.5 10.7 2.9.7.4 1.4.7 2.1 1.1.3.1.4.5.3.7-.1.3-.3.5-.5.5zm39.5-1.2c-.1 0-.2 0-.3-.1-2.4-1.3-4.9-2.7-10-2.7-.9 0-1.7 0-2.5.1-.3 0-.6-.2-.6-.5s.2-.6.5-.6c.8-.1 1.7-.1 2.7-.1 5.4 0 8.1 1.5 10.5 2.8.3.1.4.5.2.8-.1.1-.3.3-.5.3zm26.3-2
.2c-.2 0-.5-.2-.5-.4-.1-.3.1-.6.4-.7 1.6-.4 3.3-.6 5.3-.6.3 0 .6.2.6.6 0 .3-.2.6-.6.6-1.9 0-3.5.2-5 .6-.1-.1-.2-.1-.2-.1z"/></g><g fill="#D7D7DB"><path d="M76.9 101c-.8 0-2.2-.1-3.6-.7-1.8-.8-2.7-2.2-2.7-4.1 0-1.6.9-2.6 1.8-3.5 1-1 1.9-2 1.9-3.8 0-1.5-2.1-3.7-5.8-3.7-3.8 0-5.5 2.2-5.5 3.7 0 1.8.9 2.8 1.9 3.8.9.9 1.9 1.9 1.9 3.5 0 3.5-3.2 4.8-6.2 4.8H47.8c-2.4 0-4.3-2-4.3-4.4V84.9c0-.1-.2-3 1.5-4.8.8-.9 1.9-1.3 3.3-1.3 1.6 0 2.5 1 3.4 1.9.9 1 1.8 2 3.6 2 1.6 0 3.3-1.9 3.3-5.4 0-3.6-1.7-5.2-3.3-5.2-1.8 0-2.7 1-3.6 2-.9 1-1.7 2-3.4 2-1.4 0-2.5-.4-3.3-1.3-1.7-1.8-1.5-4.9-1.5-5v-7.4c0-.9.3-1.8.8-2.6.8-1.1 2.1-1.8 3.5-1.8h9.3s2.7-.5 2.7-2.3c0-.7-.4-1.2-1.1-1.9-1-1-2.2-2.2-2.2-4.9 0-2.3 1.1-6.2 8.2-6.2 7.6 0 8.5 4.3 8.5 6.2 0 2.7-1.3 4-2.4 5-.8.7-1.2 1.2-1.2 1.9 0 1.8 2.8 2.3 2.8 2.3h9.9c2.4 0 4.3 2 4.3 4.4v5.6s.4 3 2.1 3c.7 0 1.1-.4 1.7-1.1.8-1 2-2.4 4.7-2.4 2.4 0 6.5 1 6.5 8.1 0 7.8-4.9 8.4-6.5 8.4-2.8 0-3.9-1.4-4.7-2.5-.6-.8-1-1.2-1.7-1.2-1.8 0-2.1 3-2.2 3v13.5c0 2.4-1.9 4.4-4.3 4.4h-5c
0-.3-.1-.3-.3-.3z"/></g></g><path d="M258.9 143.4c-.2.6-.7 1.1-1.2 1.5 0 1-.2 1.9-.6 2.8.9-.3 1.8-.8 2.6-1.6.7-.8 1.1-1.6 1.5-2.3.8-2 .4-4.2-1.1-5.5-.4-.4-1-.6-1.5-.8-.7-.2-1.5-.2-2.3 0 2.2 1.4 3.6 3.4 2.6 5.9zM129.7 89.8l-.2-.1c-.2 0-.3-.1-.5-.1h-.1-.1-.1H128.1c-.1 0-.1 0-.1.1 0 0-.1 0-.2.1-.1 0-.2.1-.3.2-.3.2-.7.6-1.1 1.1l-.7.7c.1.1.2.3.1.5-.2 1.1-.5 1.9-.8 2.7.2.6.4 1.1.6 1.6.4.8.9 1.6 1.5 2.4.6.8 1.3 1.5 2.2 2.2.5.4.9.7 1.3.9h.1c.4.3.9.5 1.5.7 1 .4 2.1.7 3.2.8.3 0 .7.1 1.1.1h2.1c.6-.1 1.1-.3 1.5-.4.6-.2 1-.4 1.3-.6.3-.2.5-.3.8-.5.5-3.3.9-7 1.1-11.2-1.3-.6-2.6-1.3-3.7-2.1-1 1-2 1.6-2.9 1.6-.3 0-.5 0-.8-.1l-3-1.2c-1.2.6-2.3.9-3.2.6z"/><path d="M141.1 57.4c0 .7 0 1.4.1 2.1-.3.3-.7.6-1 .9.3-.3.6-.6 1-.9-.1-.7-.1-1.4-.1-2.1zM180.3 24.8c-2-.4-4-.6-6-.6-.7 0-1.4 0-2.1.1.7 0 1.4-.1 2.1-.1 2 .1 4 .2 6 .6zM122.9 136.4c.6-.6 1.2-1.3 1.8-2-.6.6-1.2 1.3-1.8 2-1 1-2 2-3 2.9 1-.9 2-1.9 3-2.9zM134.2 123.6c.3-.4.7-.7 1.1-1.1l-1.1 1.1c-1.3 1.4-2.6 2.8-3.9 4.3-.6.7-1.2 1.5-1.9 2.2.6-.7 1.2-1.5 1.9
-2.2 1.2-1.4 2.5-2.9 3.9-4.3zM129.1 119.1l1.8.9c.6.3 1.3.5 1.9.7-.7-.2-1.3-.5-1.9-.7l-1.8-.9zM241.7 82.7v-.3M244.7 142.3h-.4.4zM145.9 40.2c.6-.9 1.2-1.8 1.8-2.6-.7.8-1.3 1.7-1.8 2.6zM211 186.6h.2-.5.3zM137.4 186.6h.3-.5.2zM177.3 142.7c-.3-.8-.6-1.5-.9-2.2.3.7.6 1.4.9 2.2zM109.4 153.9c1 .2 2.1.3 3.2.3h1.4-1.4c-1.1 0-2.2-.1-3.2-.3zM144.3 43c.5-1 1-1.9 1.5-2.8-.5.9-1 1.9-1.5 2.8z" fill="#FFF" fill-rule="nonzero"/><path d="M142 102c-.3.2-.5.3-.8.5-.3.2-.8.4-1.3.6-.4.1-.9.3-1.5.4h-1-1.1c-.4 0-.8 0-1.1-.1-1.1-.1-2.2-.4-3.2-.8-.6-.2-1-.5-1.5-.7h-.1c-.4-.2-.8-.5-1.3-.9-.8-.7-1.6-1.5-2.2-2.2-.6-.8-1.1-1.6-1.5-2.4-.2-.5-.5-1-.6-1.6-.5.9-1 1.6-1.8 2.1h-.1c.1.2.1.3.2.5.5 1 1 1.9 1.7 2.8.7.9 1.6 1.8 2.6 2.6.6.5 1.1.8 1.6 1.1.5.3 1.1.6 1.8.9 1.2.5 2.5.9 3.8 1 .4 0 .8.1 1.3.1h2.5c.7-.2 1.3-.3 1.8-.5.7-.3 1.2-.5 1.6-.7.6-.3 1.2-.8 1.8-1.2.7-4 1.2-8.6 1.4-13.9-1.6-.6-3.1-1.3-4.4-2.3-.4.6-.8 1.2-1.3 1.6 1.1.8 2.4 1.6 3.7 2.1-.1 4-.4 7.7-1 11z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M140.8 174.9
c.5-.5 1-1 1.4-1.5-.4.5-.9 1-1.4 1.5zM198.7 183.3c1.1.6 2.1 1.1 3.1 1.5.5.2 1 .4 1.5.5-.5-.2-1-.3-1.5-.5-1-.4-2-.9-3.1-1.5zM203.8 136.1c.6.1 1.2.2 1.9.4.3.1.6.2.9.2-.3-.1-.6-.2-.9-.2-.7-.2-1.3-.3-1.9-.4zM182.4 161.8c.2.7.5 1.4.7 2.1.5 1.4 1.1 2.8 1.8 4.1-.7-1.3-1.2-2.7-1.8-4.1-.2-.7-.4-1.4-.7-2.1zM180.3 153v.1-.1zM255 146.2c-.1.6-.4 1.1-.7 1.6.1 0 .1.1.2.1.8.2 1.7.2 2.6-.1.4-.9.6-1.8.6-2.8-.7.5-1.6.9-2.7 1.2z" fill="#FFF" fill-rule="nonzero"/><path d="M249.9 67.3c-.6.7-1.1 1.3-1.6 1.9-.5.7-1.1 1.4-1.5 2.2-.5.8-.9 1.6-1.3 2.3-.3.7-.7 1.5-1 2.4-.5 1.6-.7 3.4-.7 5.4V83.2l.1 1.2v.4c0 .4.1.7.1 1 .1 2 .1 4.1 0 6.1-.3 4.7-1.3 9.1-2.9 13.1-1 2.4-2.1 4.6-3.5 6.6-1.2 1.8-2.7 3.4-4.4 4.9-.3.4-.8.8-1.2 1.2-.3.2-.5.4-.8.5-1.8 1.3-3.7 2.5-5.8 3.4-1 .4-1.9.7-2.8 1 2.1 1.6 4.8 4.3 7.8 8.7 4.8 7.1 10.4 8.7 14.7 9 .4-.9.8-1.7 1.2-2.2-4.1-.1-9.3-1.3-13.8-8-1.9-2.8-3.7-5-5.4-6.6 2.5-1.1 4.8-2.6 6.9-4.3 2.2-1.8 4.2-3.9 5.8-6.2 1.5-2.1 2.8-4.5 3.8-7 1.7-4.2 2.7-8.8 3.1-13.8.1-2.1.1-4.2 0-6.3 0-.4 0-.7-.1
-1.1v-.4l-.1-1.1V82.4v-.5-.2c0-1.7.2-3.3.6-4.7.2-.6.5-1.3.9-2.2.3-.7.7-1.4 1.1-2 .4-.7.9-1.3 1.4-2 .4-.5.8-1 1.3-1.6-.8-.6-1.5-1.2-1.9-1.9zM138.8 58.5v-1.1c0-19.5 15.9-35.4 35.4-35.4s35.4 15.9 35.4 35.4v1.1c3.8 3.5 5.9 8.3 5.9 13.5 0 7.9-4.9 14.7-12.2 17.3 0 .8.1 1.5.1 2.3 0 0 .1.1.1.2.2.3.3.6.5.9l.3.6v.1c.1.3.3.5.4.8v.1c.1.2.2.3.2.5 0 .1.1.1.1.2l.1.2v.1l.1.2.1.2.3.6c.1.1.1.2.2.4.1.1.2.3.2.4.4.6.7 1.1 1 1.5.4.5.9 1 1.3 1.4.9.8 2 1.4 3.2 1.7h.1c.5.2 1.1.2 1.8.2h.2c.4 0 .8-.1 1.3-.1h.1c1.2-.2 2.2-.7 3.1-1.3.7-.5 1.2-1 1.6-1.5.5-.6 1-1.3 1.4-2.1 1-1.9 1.7-4.1 2-6.4.2-1.5.4-2.7.4-3.8v-.1-.5-1-2.3c0-.4.1-.9.1-1.3.4-4 1.7-8 3.5-11.5 1.6-3 3.6-5.7 6.1-8.2 1.8-1.8 3.8-3.3 6.3-4.9 1.9-1.3 3.6-2.1 5.1-2.9l.2-.1-.3-1-3.2 1.1c-.3.1-.7.2-1.1.2h-.2l-1.5.9c-2.6 1.6-4.7 3.3-6.6 5.2-2.7 2.6-4.9 5.6-6.5 8.7-2 3.7-3.3 8-3.7 12.3 0 .4-.1.9-.1 1.3v.4l-.1.7v2.9c-.1 1-.2 2.2-.4 3.6-.3 2.1-1 4.1-1.8 5.7-.3.6-.7 1.2-1.1 1.7-.3.4-.7.7-1.2 1.1-.7.5-1.4.8-2.2 1-.4.1-.8.1-1 .1h-.1c-.3 0-.9-.1-1.2-.1h-.1c-.8-.2-
1.6-.6-2.3-1.2-.4-.3-.7-.7-1-1.1-.2-.3-.5-.7-.8-1.2-.1-.1-.1-.3-.2-.4 0-.1-.1-.1-.1-.2-.1-.2-.2-.5-.3-.7l-.1-.1-.1-.2s0-.1-.1-.1l-.1-.2v-.1c-.1-.2-.2-.3-.3-.5v-.1c-.1-.2-.3-.5-.4-.7 0-.1-.1-.1-.1-.2-.1-.2-.2-.4-.3-.5-.1-.2-.2-.4-.4-.7v-.1c7.3-3.3 12.1-10.5 12.1-18.8 0-5.4-2.1-10.6-5.9-14.4V58c0-20.8-16.9-37.6-37.6-37.6-20.7 0-37.6 16.9-37.6 37.6v.2c-3.2 3.2-5.1 7.3-5.7 11.8l1.9.8c.5-5.1 2.5-9.2 5.8-12.3z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M238.7 153.9h-1.6.4c.5.1.9.1 1.2 0zM223.8 148.2c-.4-.3-.9-.7-1.3-1-.7-.5-1.3-1.1-2-1.6.6.5 1.3 1.1 2 1.6.4.3.9.6 1.3 1z" fill="#FFF" fill-rule="nonzero"/><path d="M251.4 150.6c-.1.1-.2.2-.4.3-.9.7-1.9 1.4-3.2 2.2-1.3.8-3 1.7-5.2 2.3-1.1.3-2.3.6-3.7.7-.4 0-.9.1-1.4.1-.9 0-1.9-.1-2.8-.2-3.2-.5-6-1.9-7.8-3-2.2-1.3-4.1-2.8-5.8-4.1-.8-.6-1.5-1.3-2.3-1.9-.7-.6-1.4-1.1-2.1-1.7-.2-.1-.5-.3-.7-.5-.4-.3-.7-.6-1-.9-1-.8-2-1.5-2.9-2.1-.6-.4-1.2-.7-1.9-1.2-.7-.4-1.3-.7-1.9-.9-1.1-.5-2.1-.9-3.3-1.2-.9-.2-1.9-.4-2.8-.5v7c.1 1.4.1 2.8.1 4.2v1.5c.4 16.7
4.3 19.4 9.8 23.1 6.3 4.2 8.2 5.5 7.7 9-.1 3.1-2.7 5.7-5.8 5.7h-.1c-.5.1-1.5.2-3 .2-.5 0-1.1 0-1.6-.1-1.8-.1-3.6-.4-5.3-.9-1.1-.3-2.2-.6-3.2-1.1-1.3-.5-2.4-1-3.4-1.6-1.2-.7-2.3-1.4-3.4-2.2-1.1-.9-2.2-1.8-3.3-2.8-1-1-2-2.1-3-3.4-1-1.2-1.9-2.5-2.7-3.8-1.6-2.6-3-5.5-4.1-8.4-.5-1.4-1-2.9-1.4-4.4-.2-.6-.3-1.2-.5-1.8v-.2l-.1-.4c-.1-.6-.3-1.2-.4-1.9l-.4-2v-.2V153.2l-.1-.4-.2-.8c-.3-1-.5-2.1-.8-3.2-.5-2-1.1-3.8-1.7-5.2-.4-.9-.6-1.5-.9-2.1-.1-.1-.1-.2-.2-.3 0 .1-.1.2-.1.3-.3.6-.5 1.2-.9 2.1-.6 1.5-1.2 3.2-1.7 5.3-.3 1-.6 2.1-.8 3.2l-.2.8-.1.4v.5l-.4 2c-.1.7-.3 1.3-.4 1.9l-.1.4-.1.5c-.1.6-.3 1.2-.5 1.7-.4 1.5-.9 3-1.4 4.4-1.1 3-2.5 5.8-4.1 8.4-.8 1.3-1.7 2.6-2.7 3.8-1.1 1.3-2 2.4-3 3.4s-2.2 2-3.3 2.8c-1.1.8-2.2 1.5-3.4 2.2-1 .6-2.1 1.1-3.4 1.6-1 .4-2.1.8-3.2 1.1-1.7.5-3.5.8-5.3.9h-1.6c-1.5 0-2.5-.1-3-.2h-.1c-3.2 0-5.8-2.7-5.8-5.9 0-3 2.3-5.6 5.3-5.9l.2-.1c.4-.2 1-.4 1.7-.8.8-.4 1.6-1 2.4-1.6.4-.4.9-.7 1.3-1.1.4-.3.8-.8 1.3-1.3.4-.5.8-1 1.2-1.6.4-.6.7-1.2 1.1-1.8.3-.6.6-1.3.9-2.1.3-.7.5-1.5.8-
2.3.2-.7.4-1.6.6-2.6.2-.8.3-1.7.4-2.7.1-.9.2-1.9.3-3 0-.4 0-.8.1-1.2v-.3V151.3v-.1-1.9c0-1.5 0-2.9.1-4.3l.3-3.9c-.9.5-1.8 1.2-3 2-.8.5-1.6 1.1-2.4 1.7-2.4 1.6-5 3.5-7.9 5.2-2.2 1.4-4.3 2.4-6.2 3.3-2.4 1.1-4.7 1.9-7 2.5-1.1.3-2.3.5-3.7.6-1 .1-1.9.1-2.8.1h-.9c-1.8-.1-3.5-.3-5.3-.8.4.8.7 1.6.9 2.4 1.5.3 3 .5 4.6.6h1c.9 0 1.9 0 3-.2h.1c1.5-.2 2.8-.4 4-.7 2.4-.6 4.9-1.4 7.4-2.6 2-.9 4.1-2 6.4-3.4 2.9-1.8 5.6-3.6 8-5.3.5-.4 1-.7 1.5-1.1-.1 1.3-.1 2.5-.1 3.9v5.2c0 .4 0 .8-.1 1.2v.1c-.1 1-.2 2-.3 2.8-.1 1-.3 1.8-.4 2.5-.2.9-.4 1.7-.6 2.4-.2.8-.5 1.5-.7 2.2-.3.7-.6 1.3-.9 1.9l-.9 1.5c-.4.5-.7 1-1 1.4-.4.5-.8.9-1.1 1.2-.4.3-.8.7-1.2 1-.8.6-1.6 1.1-2.1 1.4-.6.3-1.1.6-1.5.7-3.9.6-6.9 4-6.9 8 0 4.4 3.5 8 7.9 8.1.5.1 1.7.2 3.3.2.6 0 1.1 0 1.7-.1 2-.1 3.9-.4 5.7-.9 1.2-.3 2.3-.7 3.4-1.1 1.3-.5 2.5-1.1 3.6-1.7 1.3-.7 2.5-1.5 3.6-2.3 1.2-.9 2.4-1.9 3.5-3 1.1-1 2.1-2.2 3.2-3.6 1-1.3 2-2.6 2.8-4 1.7-2.8 3.2-5.7 4.3-8.8.5-1.5 1-3 1.5-4.6.2-.6.3-1.2.5-1.8l.1-.4v-.1l.1-.4c.1-.6.3-1.3.4-2l.4-2v-.2-.2l.1-.
5.2-.8c.2-1 .5-2.1.8-3.1l.6-2.1c.2.7.4 1.3.6 2.1.3 1 .5 2.1.8 3.1l.2.8.1.4v.4l.4 2c.1.7.3 1.3.4 2l.1.4v.1l.1.4c.1.6.3 1.2.5 1.9.4 1.6.9 3.1 1.5 4.6 1.1 3.1 2.6 6 4.3 8.8.9 1.4 1.8 2.8 2.8 4 1.1 1.4 2.2 2.6 3.2 3.6 1.1 1.1 2.3 2.1 3.5 3 1.2.9 2.4 1.6 3.7 2.4 1.1.6 2.3 1.2 3.6 1.7 1.1.4 2.3.8 3.4 1.1 1.8.5 3.8.8 5.7.9.6 0 1.2.1 1.7.1 1.6 0 2.7-.1 3.3-.2 4.2-.1 7.7-3.5 7.9-7.7.6-4.8-2.3-6.8-8.7-11.1-5.1-3.4-8.5-5.7-8.9-21.2v-1.5c0-1.4 0-2.9-.1-4.3v-3.9-.4c1.1.3 2 .6 2.9 1h.1c.5.2 1 .5 1.6.8.7.4 1.3.7 1.8 1.1 1.2.8 2.5 1.7 4 3 .8.6 1.6 1.3 2.4 2 .7.6 1.5 1.3 2.3 1.9 1.8 1.4 3.7 2.9 6.1 4.3 2 1.2 5 2.7 8.6 3.3 1.1.2 2.1.3 3.2.3.5 0 1.1 0 1.6-.1 1.5-.1 2.8-.4 4.1-.8 2.4-.7 4.3-1.7 5.7-2.5 1.4-.9 2.5-1.7 3.4-2.4l.1-.1c.5-.4.9-.7 1.2-1-.1 0-.3 0-.4-.1-.2-.2-1-.5-1.6-1z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M258.3 51.2c-.2-.3-.5-.5-.8-.7l.3.9c.1-.1.3-.1.5-.2z" fill="#FFF" fill-rule="nonzero"/><path d="M100.3 137.6c.1-.1.1-.1.2-.1.3-.1.6.1.7.4 0 .1.1.3.1.4.7.2 1.4.4 2.3.7 2.3.8 5.5 1.
8 8.4 1.8 1 0 1.9-.1 2.6-.4 1-.6 2.1-1.4 3.2-2.3 1.1-.9 2.2-2 3.5-3.4 1.8-1.9 3.5-3.9 5.4-6.1.6-.8 1.3-1.5 1.9-2.3 1.3-1.5 2.4-2.7 3.4-3.8-.7-.2-1.3-.5-1.9-.7-2.7-1.1-5.1-2.6-7.3-4.4-1.1-.9-2.1-1.8-2.9-2.7-.8-.8-1.6-1.8-2.4-2.9-1.4-1.9-2.4-3.9-3.2-5.9-.3-.7-.5-1.4-.7-2-.5-.4-.9-1-1-1.7v-.3-.1-.2-.8-1.2c0-.2 0-.4.1-.6-.1-.9-.2-1.8-.2-2.7v-.8V94.7v-.2c-1-1.1-1.4-2.3-1.6-3.3-.1.4-.2.8-.2 1.2l-.1.8c0 .4-.1.9-.1 1.3v1.7c0 1.6.2 3.1.4 4.6.3 2 .9 3.9 1.6 5.8.9 2.2 2 4.3 3.5 6.4.9 1.2 1.7 2.2 2.6 3.2.9 1 2 2 3.1 2.9 2.1 1.7 4.3 3.1 6.8 4.2-.4.4-.8.9-1.2 1.4-.7.8-1.3 1.5-2 2.3-1.8 2.1-3.5 4.2-5.3 6-1.2 1.3-2.3 2.3-3.3 3.2-.9.8-1.8 1.4-2.6 1.9-.5.1-1.1.2-1.8.2-2.5 0-5.4-.9-7.6-1.7-1.5-.5-2.6-.9-3.7-1-.4-.1-.7-.1-1.1-.1-.3 0-.6 0-.8.1l.1.6c.3.5.8.9 1.1 1.4z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M146.2 166.2c-.1.4-.2.7-.4 1.1.2-.3.3-.7.4-1.1z" fill="#FFF" fill-rule="nonzero"/><path d="M37.1 92.1c.1 0 .2-.1.3-.1-.6-.9-1.2-1.8-1.7-2.7-.2.1-.4.2-.6.2.1.2.2.5.2.7.3.8.7 1.6 1.1 2.5.2-.3.4-.5
.7-.6z" fill="url(#a)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M65.2 105.7s2.7-.5 6.3-2.1c.1-.3.1-.5.2-.8-3.1 1.1-6.7 1.7-10.9 1.7h-1.1c-8.8-.2-15.1-4.7-18.7-8.2.2 1 .1 1.8-.1 2.5.7.7 1.5 1.5 2.3 2.1 1.5 1.2 3.1 2.3 4.9 3.2l1.8.9c.6.3 1.3.5 1.9.7.7.2 1.3.4 2 .6l1 .2c.1 0 .2 0 .3.1l-.1.1c3.6.6 6.8.7 9.2.6 0-.1-.1-.2-.1-.2.1-.7.5-1.3 1.1-1.4z" fill="url(#b)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M38.9 124.2c2.9-2.4 6.1-6.1 10-10.6 1.6-1.8 3.4-3.9 5.3-6.1l-1.1 1.1c-1.3 1.4-2.6 2.8-3.9 4.3-.6.7-1.2 1.5-1.9 2.2-.6.7-1.2 1.4-1.8 2.2l-1.8 2.1c-.6.7-1.2 1.4-1.8 2-1 1-2 2-3 2.8z" fill="url(#c)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M65.2 151.2c-.1.4-.2.7-.4 1.1-.3.8-.7 1.5-1 2.3-.4.7-.8 1.4-1.2 2-.4.6-.9 1.2-1.3 1.8-.5.5-.9 1.1-1.4 1.5-.1.1-.1.1-.2.1 2.5-1.8 4.4-4.6 5.5-8.8z" fill="url(#d)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M70.5 73.8c-.1 0-.1 0 0 0-.2 0-.8.1-1.8.1-.7 0-1.5 0-2.3-.1-.2 5.8-.7 10.7-1.5 15 .6
-.7 1-1.3 1.4-1.9 1.9-3.4 3.4-9.4 4.2-13.1z" fill="url(#e)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M171.4 131.5s.1 0 0 0c.1 0 .1 0 0 0 .1 0 .1 0 0 0z" fill="url(#f)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M162.9 131.2c-7.1 3-14.2-.7-19.1-5.2-4.9-4.5-16.4-17.9-16.4-17.9l9.3-.7s.5.1 1.5.6c-.3-.3-.7-.5-1-.8h-1.3c-2.6 0-4.7-.4-4.8-.4-.3-.1-.5-.3-.5-.6.1-.3.3-.5.6-.5 0 0 4 .7 7.7.2.4-.1.7-.1 1.1-.2 1.2-.3 2.4-.7 3.5-1.2 1-.4 1.9-.9 2.9-1.4-.4-1 .4-2.7 2.1-3.9 1.5-1.1 3.1-1.5 4-1 .9-.9 1.6-1.9 2.3-2.9 1-1.5 1.9-3 2.6-4.6.2-.5.5-1 .7-1.6.6-1.4 1-2.8 1.4-4.3-.3.1-.5.1-.8.1-1.2-.3-1.6-2.3-1.1-4.4.6-2.1 2-3.6 3.1-3.3v-.4c.1-2 .1-3.9 0-5.8 0-.5-.1-.9-.1-1.4 0-.4-.1-.8-.1-1.2v-.8-.2-.7c0-1.6.1-3.2.4-4.6.1-.5.2-1 .4-1.4.3-.9.7-1.8 1.1-2.7.4-.9.9-1.7 1.4-2.6l1.5-2.1c-.4 0-.7-.2-.9-.4-.8-.9-.2-2.8 1.4-4.3.4-.4.9-.7 1.3-1l-.6-1.7c-1.8 1.2-3.6 2.7-4.8 4.8-3.6 6.1-4.4 8.7-4.4 13.9v1.3c0 6.1.1 17.4-4.2 23.9-5.6 8.4-14 12.5-25.6 12.5H126c2.9.5 6 .7 9.4.2.6-.1 1.2
.3 1.3.9.1.6-.3 1.2-.9 1.3-1.5.2-3 .4-4.5.4-5.3 0-9.9-1.4-13.2-2.9.7 4 1.1 8.1 1.2 12.3.3 0 .5.2.5.5 0 0 .2 2.3.2 6.2.4 0 .8 0 1.2.1.4 0 .9.1 1.4.2.6.1 1.2.2 1.9.4.3.1.6.2.9.2.6.2 1.2.4 1.9.6.3.1.6.3 1 .4.7.3 1.3.6 2 1s1.4.8 2.1 1.3c.3.2.5.4.8.6.8-.8 2.7-.5 4.4.7 1.8 1.3 2.7 3.2 2 4.1.6.5 1.3 1.1 2 1.6.4.3.8.7 1.3 1 .4.3.9.7 1.3 1l1.8 1.2c0-.1 0-.3.1-.4.4-1.1 2.5-1.3 4.5-.5 2.1.8 3.4 2.4 2.9 3.5-.1.2-.2.4-.4.5.3.1.7.2 1 .2.6.1 1.1.1 1.7.2h2c1.2-.1 2.2-.3 3.2-.6.2-.1.4-.1.6-.2l-.3-.3c-.6-1 .5-2.8 2.4-3.9 1.4-.8 3.1-1.1 4.3-.8l-.6-1.2c-1-.4-1.8-1-2.4-1.6-.7.1-1.4.4-2.1.7z" fill="url(#g)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M134.8 169.1c-3.6 0-10.7-2.3-15.5-4.8-7.7-4.1-13.4-16.9-14.8-26.9-1.7-12.1-5.1-22.4-8.1-25.1-1.3-1.1-2.5-1.7-3.5-1.9-2.6.9-4.7 2.6-6.1 5.1-2 3.5-2.8 10.4-3.7 17.7-1 8.3-2.1 16.9-4.9 21.5-5.7 9.4-11.9 13.8-20.6 14.8-1.1.1-2.1.2-2.9.2-2.8 0-4.2-.6-4.9-1.1.4 1.6 1.8 2.8 3.5 2.8h4.5c1.4-.1 3-.3 4.8-.8.5-.1.9-.3 1.4-.4.5-.2 1-.3 1.5-.5s1-.4 1.5-.7c
.5-.2 1-.5 1.6-.8 1.1-.6 2.1-1.3 3.2-2 .2-.2.5-.4.7-.6-.1 0-.1-.1-.2-.1-.9-.8-.3-2.8 1.3-4.4 1.6-1.6 3.5-2.2 4.4-1.3 0 0 .1.1.1.2.8-1 1.5-2 2.2-3.1.4-.6.8-1.3 1.1-1.9.7-1.3 1.4-2.7 2-4 .3-.7.6-1.4.8-2.1.4-1.1.8-2.2 1.1-3.3h-.7c-1.1-.4-1.4-2.4-.7-4.5.7-1.9 2-3.2 3.1-3.1l.1-.2.1-.4.2-.9c.3-1.1.5-2.2.8-3.2.3-1 .6-2 .9-2.9.3-.9.6-1.8.9-2.6.3-.8.6-1.5.9-2.2.2-.3.3-.6.5-.9.1-.3.3-.6.4-.9.5-.8.9-1.5 1.3-2.2.4.6.8 1.4 1.3 2.2.1.3.3.6.4.9.1.3.3.6.5.9.3.7.6 1.4.9 2.2.6 1.6 1.2 3.4 1.8 5.5.3 1 .6 2.1.8 3.2l.2.9.1.4.1.2V138.3l.4 2c.1.8.3 1.5.5 2.2l.6 2.1.6 2.1c.2.7.5 1.4.7 2.1.5 1.4 1.1 2.8 1.8 4.1.7 1.3 1.4 2.7 2.2 3.9.8 1.3 1.6 2.5 2.5 3.6.9 1.1 1.8 2.2 2.9 3.2.5.5 1 .9 1.5 1.4.5.4 1 .9 1.6 1.2.5.4 1.1.8 1.6 1.1.5.3 1.1.7 1.6 1 1.1.6 2.1 1.1 3.1 1.5.5.2 1 .4 1.5.5.5.2 1 .3 1.4.4 1.9.5 3.5.7 4.8.8h4.6c1.7 0 3.1-1.1 3.5-2.7h-.1c-.4.2-1 .3-1.7.3z" fill="url(#h)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M62.2 64.1c0 1.5-.3 3.3-1.1 5.3-.1.2-.2.5-.3.7 1.6 1.2 3.5 2.1 5.6 2.6 1.9.3
3.7.1 3.9.1-.7-1-1.4-2-2.1-3.1-2.4-1.4-4.5-3.3-6-5.6z" fill="url(#i)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M129.4 88.3c-1.2-.4-2.3-1.1-3.3-1.9-.6-.5-1.1-1.1-1.6-1.7-.2-.3-.5-.6-.7-.9l-.6-.9c-.2-.3-.4-.6-.5-.9-.1-.2-.2-.3-.2-.5-.1-.2-.1-.3-.2-.5-.1-.1-.2-.3-.2-.4-.1-.1-.1-.3-.2-.4-.1-.3-.3-.6-.4-.8-.1-.3-.3-.5-.4-.8-.1-.2-.2-.5-.4-.7-.1-.2-.2-.4-.3-.5-.1-1.1-.2-2.3-.2-3.5-1.2.2-2.3.3-2.8.3.1 2.1.3 4.3.9 5.8.7 1.7 3.6 7.6 11.1 8.3z" fill="url(#j)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M64.6 42.9c-.1-1.1-.2-2.1-.2-3.2C64.4 23.8 77.3 11 93.1 11c15.9 0 28.7 12.9 28.7 28.7v1.5c4.1 3.1 6.7 7.9 6.7 13.4 0 6.4-3.6 12-8.8 14.8-.7 1.2-1.5 2.4-2.3 3.5.6 0 1.7-.1 3-.3.7-.2 1.4-.4 2.1-.7.8-.4 1.6-.8 2.3-1.3 4.4-2.9 7.4-7.9 7.4-13.5 0-2.5-.6-4.9-1.6-7-1-2.1-2.5-4-4.3-5.5 0-.7.1-1.4.1-2.1 0-2.8-.3-5.4-1-8-.1-.2-.1-.4-.2-.6-1.5-5.7-4.5-10.8-8.6-14.8-1-1-2.1-2-3.2-2.8-1.1-.9-2.3-1.7-3.6-2.4-2.5-1.4-5.2-2.6-8-3.3-.2-.1-.4-.1-.6-.2-.6-.2-1.3-.3-1.9-.4-2-.4-4-
.6-6-.6-.7 0-1.4 0-2.1.1-2.1.1-4.2.5-6.2 1-6.9 1.8-12.9 5.7-17.3 11-.3.4-.7.8-1 1.3-.6.9-1.2 1.7-1.8 2.6-.6.9-1.1 1.9-1.5 2.8-.7 1.5-1.3 3-1.8 4.5-.3 1-.6 2.1-.8 3.2-.4 2.2-.7 4.4-.7 6.7 0 .7 0 1.4.1 2.1-.3.3-.7.6-1 .9-.6.6-1.2 1.3-1.7 2-.3.4-.5.7-.7 1.1-.6 1-1.1 2.1-1.5 3.2-.5 1.4-.8 2.9-.9 4.4l1.8.7c.9.4 1.4 1.4 1.6 2.8l3 1.2c-.7-1.8-1.1-3.8-1.1-5.9-.2-4.9 1.8-9.1 4.9-12.2z" fill="url(#k)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M70.7 106.4c-.2.1-.5.2-.7.3.2.1.3.2.4.4.1.3-.1.6-.4.7-.2 0-2.9.7-7.2.7-1 0-2.1 0-3.3-.1l1.9.7c.1 0 .2.1.3.2.2.4 1.1 2.5-4.2 7.8l-1.3 1.3c-5.2 5.2-13 13.1-21.1 13.8-.7.1-1.4.1-2 .1-5.2 0-10.7-1.5-14.3-2.7l.6 5.5c.3.1.5.2.8.3v-.1c.6-1 2.7-1 4.6.2 1.6.9 2.5 2.3 2.5 3.3.4.1.7.2 1.1.2 1 .2 2.1.3 3.2.3H33.4c.5 0 1-.1 1.5-.1h.2c-.1-.1-.2-.2-.2-.3-.4-1.1.9-2.7 2.9-3.5 2.1-.8 4.1-.6 4.5.5.2.5 0 1.1-.4 1.7l3-1.2c1.5-.7 2.9-1.4 4.2-2.2-.2-.1-.3-.2-.4-.4-.7-1 .2-2.8 2-4.1 1.8-1.3 3.8-1.6 4.5-.6.2.3.3.7.2 1.2 1.2-.8 2.3-1.6 3.4-2.3.8-.6 1.6-1.1 2.3-1
.6 1.5-1 2.9-2 4.2-2.7.6-.4 1.2-.7 1.8-1 .8-4.4 1-7.1 1-7.2 0-.3.3-.5.5-.5.1-.3.1-.6.2-.9.4-2.2 1.1-4.8 1.9-7.7z" fill="url(#l)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M153.8 118c.1 0 .2-.1.3-.1.9-.4 1.9-1.2 2.7-1.9-.9.5-1.8 1-2.8 1.4-.1.2-.1.4-.2.6z" fill="#FAFAFA" fill-rule="nonzero"/><path d="M131.2 182.5c.3.3 1.9 1.5 7.2.9 8.3-1 14.3-5.3 19.8-14.3 2.7-4.4 3.7-12.9 4.8-21.1.9-7.4 1.8-14.4 3.8-18.2 1.1-2 2.6-3.5 4.2-4.5-.5.2-.8.3-.8.3l-1.1.7 4-22.6c-.5-.6-1-1.2-1.4-1.8-2.8-4.2.3-9.3 4.1-13.4v-.3h.2c3.5-3.7 7.5-6.4 7.8-6.6l.2-.1 14.6 1.2-.1.6s-.2 2-.2 4.4h.2c.9-1.1 1.6-2.3 2.3-3.5 5.3-2.8 8.8-8.4 8.8-14.8 0-5.5-2.7-10.4-6.7-13.4v-1.5c0-15.9-12.9-28.7-28.7-28.7-15.9 0-28.7 12.9-28.7 28.7 0 1.1.1 2.2.2 3.2-3.1 3.1-5.1 7.3-5.1 12 0 2.1.4 4 1.1 5.9 1 .4 1.6 1.6 1.6 3.2 1.5 2.3 3.5 4.2 6 5.6.6 1.1 1.3 2.1 2.1 3.1.1 0 .3 0 .4.1.3-1.4.4-2.3.5-2.3l.1-.3.3-.1c.5-.2 13.4-5.6 18.2-1.2 2 1.8 2.3 5 .9 9.4-2.5 8-5.5 14.5-10 19 .1 0 .2.1.3.2.5.4.5 1.1.1 1.6-.1.2-3.7 4.2-6.9 5.
8-.7.4-1.4.7-2.1 1-.9 3.3-1.6 6.1-2 8.3-1.8 10-1.9 13.6-2.1 21 0 1.7-.1 3.7-.2 6-.4 12-3.6 18.7-9.9 21.2-.5.2-1.1.4-1.6.6-.6.2-1.1.4-1.6.6-.3.1-.5.2-.7.3-.4.2-.6.3-.5.3h-.2c-1.9.9-3.1 1.9-3.2 3.5zm63.3-112.3c0 .8-.6 1.4-1.4 1.4-.8 0-1.4-.6-1.4-1.4V67c0-.8.6-1.4 1.4-1.4.8 0 1.4.6 1.4 1.4v3.2zm-6.2-15c.1-.1 1.6-2.5 4.8-2.5 3.1 0 4.7 2.4 4.8 2.5.3.5.2 1.2-.3 1.5-.2.1-.4.2-.6.2-.4 0-.7-.2-.9-.5 0-.1-1-1.5-2.9-1.5s-2.9 1.4-2.9 1.5c-.3.5-1 .7-1.5.3-.7-.3-.8-1-.5-1.5zm-29 15c0 .8-.6 1.4-1.4 1.4-.8 0-1.4-.6-1.4-1.4V67c0-.8.6-1.4 1.4-1.4.8 0 1.4.6 1.4 1.4v3.2zm3-7c-.2.1-.4.2-.6.2-.4 0-.7-.2-.9-.5 0-.1-1-1.5-2.9-1.5s-2.9 1.4-2.9 1.5c-.3.5-1 .7-1.5.3-.5-.3-.7-1-.3-1.5.1-.1 1.6-2.5 4.8-2.5 3.2 0 4.7 2.4 4.8 2.5.2.5 0 1.2-.5 1.5z" fill="#FAFAFA" fill-rule="nonzero"/><path d="M138.7 177.3c6.3-2.5 9.5-9.2 9.9-21.2.1-2.3.1-4.2.2-6 .2-7.3.3-11 2.1-21 .4-2.2 1.1-5 2-8.3-.5.2-.9.4-1.3.5-.8 2.9-1.4 5.6-1.8 7.6-.1.3-.1.6-.2.9h.1c.3 0 .5.3.5.6 0 0-.2 3.5-1.3 8.9-.1.6-.2 1.1-.3 1.7-.2 1.4-.3 2.7-.4 4.1 0
.7-.1 1.4-.1 2.1v7.2c0 .5 0 1.1-.1 1.6-.1 1-.2 2.1-.3 3.1-.1.5-.1 1-.2 1.5s-.2 1-.3 1.4c-.2.9-.4 1.9-.7 2.7-.2.5-.3 1-.5 1.4-1.1 4.1-3 7-5.5 8.8-.4.4-.9.8-1.3 1.1-1 .7-1.9 1.3-2.7 1.8l-1.2.6c.5-.2 1.1-.4 1.6-.6.8-.1 1.3-.3 1.8-.5z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M76.9 50.6c-.8 0-1.4.6-1.4 1.4v3.2c0 .8.6 1.4 1.4 1.4.8 0 1.4-.6 1.4-1.4V52c0-.8-.6-1.4-1.4-1.4z" fill="url(#m)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M112.1 50.6c-.8 0-1.4.6-1.4 1.4v3.2c0 .8.6 1.4 1.4 1.4.8 0 1.4-.6 1.4-1.4V52c0-.8-.7-1.4-1.4-1.4z" fill="url(#n)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M107.6 41.7c.5.3 1.2.2 1.5-.3 0 0 1-1.5 2.9-1.5s2.8 1.4 2.9 1.5c.2.3.6.5.9.5.2 0 .4-.1.6-.2.5-.3.7-1 .3-1.5-.1-.1-1.6-2.5-4.8-2.5-3.1 0-4.7 2.4-4.8 2.5-.1.5 0 1.2.5 1.5z" fill="url(#o)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M76.9 44.2c-3.1 0-4.7 2.4-4.8 2.5-.3.5-.2 1.2.3 1.5.5.3 1.2.2 1.5-.3 0 0 1-1.5 2.9-1.5s2.8 1.4 2.9 1.5c.2.3.6.5.9.5.2 0 .4-.1.6-.2
.5-.3.7-1 .3-1.5.1-.1-1.5-2.5-4.6-2.5z" fill="url(#p)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M140.7 118.4c15.7.3 23.7-6.5 29.7-25.4 1.3-4 1.1-6.7-.6-8.2-3.9-3.6-14.8.6-16.7 1.3-.3 1.9-2.2 11.5-4.9 16.3-2.3 4.1-7.5 7.6-13.9 6.2-6.5-1.5-12.3-5.7-14.1-10.1 0 0 0 .1-.1.1-.2.6-.4 1.1-.6 1.7-.2.6-.5 1.1-.7 1.5-.3.5-.5.9-.8 1.2-.2.3-.4.5-.5.6 1 1.7 2.2 3.5 3.7 5.3 3.1 3.4 9.6 9.3 19.5 9.5z" fill="#FAFAFA" fill-rule="nonzero"/><path d="M120.3 98.4c1.9 4.4 7.6 8.7 14.1 10.1 6.4 1.4 11.6-2.1 13.9-6.2 2.7-4.8 4.5-14.4 4.9-16.3 1.9-.8 12.8-4.9 16.7-1.3 1.6 1.5 1.8 4.3.6 8.2-6 18.9-14 25.8-29.7 25.4-9.9-.2-16.4-6.1-19.4-9.5-1.5-1.7-2.7-3.5-3.7-5.3l-.1.1-.2.2-.1.1c-.2.1-.4.3-.6.4.5.9 1.1 1.8 1.7 2.7 1.1-.1 2.5 1.1 3.2 3 .2.4.3.9.4 1.3 3.6 3.5 9.8 8 18.7 8.2h1.1c4.2 0 7.8-.6 10.9-1.7-.1.3-.2.5-.2.8.4-.2.9-.4 1.3-.6.1-.2.1-.4.2-.6 1-.4 1.9-.9 2.8-1.4 1.9-1.6 3.4-3.4 3.5-3.4.3-.4.8-.5 1.3-.3 4.5-4.5 7.4-11 10-19 1.4-4.4 1.1-7.6-.9-9.4-4.8-4.4-17.7 1-18.2 1.2l-.3.1-.1.3s-.2.9-.5
2.3c.1.1.2.2.2.4 0 .3-.2.5-.4.6-.8 3.7-2.3 9.7-4.1 13-.3.6-.8 1.3-1.4 1.9 0 .2-.1.4-.1.6-.8.8-1.7 1.4-2.8 2-.3.2-.6.3-.9.5-.3.1-.6.3-1 .4-.3.1-.7.2-1 .3-.4.1-.7.2-1.1.3h.2H136.1c-.5 0-1.1 0-1.6-.1-1.1-.1-2.3-.4-3.4-.8-.4-.1-.7-.3-1.1-.4-.4-.2-.7-.3-1-.5-.3-.2-.7-.4-1-.6-.3-.2-.6-.4-1-.6-.3-.2-.6-.4-.9-.7-1.2-.9-2.2-2-3-3-.6-.8-1.1-1.6-1.5-2.4-.1-.3-.3-.5-.4-.8-.1-.3-.2-.5-.3-.8h-.2c0 .1-.1.1-.1.2-.1.7-.2.9-.3 1.1z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M174 104.9l-3.4 19.5c.5-.2 1.2-.3 2-.3 1.5 0 3.4.5 5.5 2.3 3.8 3.4 7 15.4 8.5 25.8 1.6 11.5 7.8 22.7 14.2 26.1 6.5 3.4 14.5 5.4 16.3 4.5.1 0 .1-.1.2-.1.3-1.7-.2-2.2-6.5-6.4-5.7-3.9-10.7-7.2-11.1-25.4-.1-3.3-.1-6.6-.1-9.8 0-8.9 0-17.1-1.5-24.9-.4-.2-.8-.4-1.1-.6-9.5-1.9-18.1-5.9-23-10.7z" fill="#FAFAFA" fill-rule="nonzero"/><path d="M198 116.2c1.5 7.8 1.5 15.9 1.5 24.9 0 3.2 0 6.4.1 9.8.4 18.2 5.3 21.5 11.1 25.4 6.3 4.2 6.8 4.7 6.5 6.4 0 0-.1.1-.2.1-1.7.9-9.7-1.1-16.3-4.5-6.5-3.4-12.6-14.6-14.2-26.1-1.5-10.4-4.7-22.4-8.5-25.8-2-
1.8-4-2.3-5.5-2.3-.8 0-1.5.1-2 .3l3.4-19.5c4.9 4.9 13.5 8.9 22.9 10.8-1.8-.9-2.9-1.7-3-1.8 0 0 0-.1-.1-.1-9.5-2.5-17.7-7.1-21.2-12.4-4.6-6.9 10-17.4 11.7-18.6l13.1 1.1c-.1 1.9-.5 8 .8 11.3.9 2.4 4.9 10.1 15.3 9.2 9.7-.8 12.1-9.5 13.2-17.9.1-1.2.3-2.2.4-3.2.8-6.3 1-8.4 3.6-14.2l.3-.6c-.4.7-.9 1.4-1.3 2.2-1.6 3.1-2.8 6.8-3.2 10.7-.1.5-.1 1-.1 1.6v3.5c-.1 1.4-.3 2.7-.5 4.1-.4 2.6-1.2 5.1-2.3 7.1-.5 1-1.1 1.9-1.7 2.6-.6.7-1.3 1.3-1.9 1.8-.7.5-1.3.8-2 1.1-.7.3-1.4.5-2.1.6-.6.1-1.2.2-1.8.2h-.4c-.7 0-1.5-.1-2.2-.3-.3-.1-.5-.2-.8-.3-7.4-.7-10.4-6.5-11.2-8.5-.6-1.5-.8-3.7-.9-5.8h-.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h.3c0-2.4.2-4.4.2-4.4l.1-.6-14.6-1.2-.2.1c-.3.2-4.3 2.9-7.8 6.6h-.2v.3c-3.8 4-6.9 9.1-4.1 13.4.4.6.9 1.2 1.4 1.8l-4 22.6 1.1-.7s.3-.2.8-.3c-1.6 1-3.1 2.4-4.2 4.5-2.1 3.7-2.9 10.7-3.8 18.2-1 8.2-2 16.6-4.8 21.1-5.5 9.1-11.4 13.3-19.8 14.3-5.2.6-6.8-.5-7.2-.9.1-1.7 1.3-2.7 2.9-3.5-1.9.1-3.5 1.7-3.5 3.7 0 .3 0 .6.1.9.7.5 2.1 1.1 4.9 1.1.8 0 1.8-.1 2.9-.2 8.7-1 14.9-5.5 20.6-14.8 2.8-4
.7 3.9-13.2 4.9-21.5.9-7.3 1.7-14.2 3.7-17.7 1.4-2.5 3.4-4.2 6.1-5.1 1 .2 2.2.8 3.5 1.9 3 2.7 6.4 13 8.1 25.1 1.4 10 7.1 22.9 14.8 26.9 4.8 2.5 11.9 4.8 15.5 4.8.7 0 1.3-.1 1.8-.3h.1c.1-.3.2-.7.2-1 .1-.5.1-1 0-1.4-.3-1.1-1.6-2.1-4.6-4.2-.6-.4-1.3-.9-2.1-1.4-2.5-1.7-4.7-3.3-6.5-5.7-1.1-1.5-2-3.3-2.7-5.7-.4-1.2-.7-2.5-.9-4-.4-2.6-.7-5.7-.8-9.5v-1.5c0-1.3 0-2.7-.1-4.1v-9.4c-.1-3.8-.2-6.1-.2-6.1 0-.3.2-.6.5-.6h.1c-.2-4.2-.5-8.3-1.2-12.3-.7-.5-1.1-.7-1.5-.9z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M227 83.3c-.1 1-.2 2-.4 3.2-1.1 8.4-3.4 17.1-13.2 17.9-10.4.9-14.3-6.8-15.3-9.2-1.3-3.3-1-9.4-.8-11.3l-13.1-1.1c-1.7 1.2-16.3 11.6-11.7 18.6 3.5 5.3 11.7 9.9 21.2 12.4-.4-.4-.5-1-.2-1.5.4-.5 1.1-.6 1.6-.3 0 0 2.6 1.8 6.6 3.3 1.5.2 3 .3 4.5.4 12.5.6 21.4-3.3 27.1-11.9 4.1-6.2 4.1-17.7 4.1-23.3v-1.3c0-5.5.9-8.2 4.6-14.5 1.4-2.3 3.4-4 5.4-5.3l-1.3-3.9c-.3.2-.6.3-1 .5-1.1.6-2.4 1.3-3.8 2.2l-.1.1c-2.3 1.6-4.6 3.5-6.5 5.4-.8.8-1.5 1.6-2.2 2.6-.5.7-1 1.3-1.5 2.1l-.3.6c-2.7 5.8-3 8-3.7 14.3z" fil
l="#FAFAFA" fill-rule="nonzero"/><path d="M241.9 64.8c-3.7 6.3-4.6 9-4.6 14.5v1.3c0 5.5.1 17-4.1 23.3-5.8 8.6-14.6 12.5-27.1 11.9-1.5-.1-3-.2-4.5-.4 1.6.6 3.5 1.2 5.5 1.5h1.5c11.6 0 20-4.1 25.6-12.5 4.3-6.5 4.3-17.8 4.2-23.9v-1.3c0-5.2.8-7.8 4.4-13.9 1.2-2 3-3.6 4.8-4.8l-.4-1.1c-1.9 1.4-3.9 3.1-5.3 5.4zM235.3 63c-.3.2-.5.5-.8.8 1.9-1.9 4.2-3.7 6.5-5.4-1.7 1.2-3.7 2.7-5.7 4.6z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M127.4 108s11.6 13.5 16.4 17.9c4.9 4.5 12 8.2 19.1 5.2.7-.3 1.4-.6 2-.8-.5-.5-.9-1.1-1.1-1.8-.1-.4-.2-.9-.2-1.3h-.4c-.2 0-.4 0-.6-.1-.2 0-.3 0-.5-.1-.2 0-.4-.1-.6-.1-.2 0-.3-.1-.5-.1s-.4-.1-.6-.1c-.2 0-.4-.1-.5-.1-.2-.1-.4-.1-.7-.2-.2-.1-.4-.1-.6-.2-.2-.1-.4-.2-.7-.2-.2-.1-.4-.1-.6-.2-.2-.1-.4-.2-.7-.3l-.6-.3c-.2-.1-.5-.2-.7-.4l-.6-.3c-.2-.1-.5-.3-.7-.4-.2-.1-.4-.2-.6-.4-.2-.2-.5-.3-.7-.5-.2-.1-.4-.3-.6-.4-.2-.2-.5-.4-.7-.6-.2-.2-.4-.3-.5-.5l-.7-.7-.5-.5c-.3-.3-.5-.6-.8-.9-.1-.2-.3-.3-.4-.5-.4-.5-.8-1-1.2-1.6-.4-.5-.7-1-1-1.5-.1-.1-.2-.2-.2-.3-.3-.5-.7-.9-1-1.3v-.1c
-.3-.4-.6-.8-.9-1.1-.1-.1-.1-.2-.2-.2-.3-.3-.6-.7-.9-1l-.1-.1-.8-.8-.2-.2c-.3-.3-.5-.5-.8-.7-.1 0-.1-.1-.2-.1-.2-.2-.4-.3-.6-.5-.1-.1-.2-.1-.2-.2-.2-.2-.4-.3-.6-.4-.1-.1-.2-.1-.3-.2-.1-.1-.2-.1-.3-.2-.1-.1-.2-.1-.3-.2-.3-.2-.5-.3-.7-.4-.9-.5-1.5-.6-1.5-.6l-9.1.6z" fill="url(#q)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M116 146c7.7-.7 15.4-8.4 20.4-13.5l1.3-1.3c3.9-3.9 4.1-5.8 4-6.3l-5.4-2c-2.1 2.3-3.9 4.5-5.6 6.4-6.1 7-10.5 12.1-15.1 13.6-4.4 1.4-9.5-.3-13-1.4-.5-.2-1-.3-1.5-.5-.1.3-.2.7-.4 1-.3.5-.6.9-1 1.3 4 1.4 10.7 3.2 16.3 2.7z" fill="#FAFAFA" fill-rule="nonzero"/><path d="M116.1 147.1c8.1-.7 16-8.6 21.1-13.8l1.3-1.3c5.3-5.3 4.4-7.4 4.2-7.8-.1-.1-.2-.2-.3-.2l-1.9-.7c-1.6-.1-3.4-.3-5.2-.7-1.9 2.2-3.7 4.2-5.3 6.1-3.9 4.5-7.1 8.2-10 10.6-.2.2-.5.4-.7.6-1.2 1-2.5 1.9-3.7 2.6-1.1.4-2.3.5-3.5.5-4 0-8.1-1.7-10.6-2.4 0 .2-.1.4-.1.5.5.1.9.3 1.5.5 3.4 1.1 8.6 2.9 13 1.4 4.6-1.5 9-6.6 15.1-13.6 1.7-1.9 3.6-4.1 5.6-6.4l5.4 2c0 .5-.2 2.4-4 6.3l-1.3 1.3c-5.1 5.1-12.7 12.8-
20.4 13.5-5.6.5-12.3-1.4-16.2-2.6l-.2.2.1 1c3.5 1.2 9.1 2.7 14.3 2.7.4-.2 1.1-.2 1.8-.3z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M171.5 131.5c.1.2.3.4.5.6.4.3.8.5 1.3.7.3-.5.6-1 .7-1.6-.8.2-1.6.3-2.5.3z" fill="url(#r)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M149.4 116.1c-3-4.4-5.7-7.1-7.8-8.7.9-.2 1.8-.6 2.8-1 2.1-.9 4.1-2 5.8-3.4-1.5.9-3.1.9-3.7.1-.1-.1-.1-.2-.1-.3-.9.5-1.9 1-2.9 1.4-1.1.5-2.3.9-3.5 1.2-.3.1-.7.1-1.1.2-3.7.5-7.7-.1-7.7-.2-.3-.1-.6.2-.6.5-.1.3.2.6.5.6.1 0 2.2.4 4.8.4h1.3c.3.3.7.5 1 .8.2.1.5.2.7.4.1.1.2.1.3.2.1.1.2.1.3.2.1.1.2.1.3.2.2.1.4.3.6.4.1.1.2.1.2.2.2.1.4.3.6.5.1 0 .1.1.2.1.2.2.5.5.8.7l.2.2c.3.2.5.5.8.8l.1.1c.3.3.6.6.9 1 .1.1.1.2.2.2.3.4.6.7.9 1.1v.1c.3.4.7.8 1 1.3.1.1.2.2.2.3.3.5.7 1 1 1.5.4.6.8 1.1 1.2 1.6.1.2.3.3.4.5.3.3.5.7.8.9l.5.5c.2.3.5.5.7.7.2.2.4.3.5.5.2.2.5.4.7.6.2.2.4.3.6.4.2.2.5.4.7.5.2.1.4.3.6.4.2.2.5.3.7.4l.6.3c.2.1.5.2.7.4l.6.3c.2.1.4.2.7.3.2.1.4.2.6.2.2.1.4.2.7.2.2.1.4.1.6.2.2.1.4.1.7.2.2 0 .4.1.5.1.2.1.4.1.6.1.2 0 .4.
1.5.1.2 0 .4.1.6.1.2 0 .3.1.5.1s.4 0 .6.1h.4c0 .4 0 .9.2 1.3.2.7.6 1.3 1.1 1.8.6.6 1.4 1.1 2.4 1.6.6.2 1.2.5 1.9.6h.1c.2 0 .5-.2.5-.4.1-.3-.1-.6-.4-.7-.1 0-.2-.1-.3-.1-2.4-.7-3.8-1.8-4.2-3.2-.7-2.5 1.8-5.4 1.9-5.4.1-.1.2-.3.1-.5 0-.1-.1-.2-.2-.3-.2-.2-.6-.2-.8 0 0 0-.3.3-.6.7-.4.5-.9 1.3-1.2 2.2-4.5.3-10.1-1.3-14.9-8.4z" fill="url(#s)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M31.3 79.8v1.6c0 .9.1 1.8.2 2.7 0-.3.1-.6.2-1 .1-.3.1-.6.2-.9.1-.3.2-.7.3-1 .1-.2.1-.4.2-.6.7.5 1.6.9 2.8 1.3 1.3.4 2.7.7 4.1.7H39.9c.1.3.2.5.3.8.1.3.3.5.4.8.4.8.9 1.6 1.5 2.4.8 1.1 1.8 2.1 3 3 .3.2.6.5.9.7.3.2.6.4 1 .6.3.2.7.4 1 .6.3.2.7.3 1 .5.4.2.7.3 1.1.4 1.1.4 2.2.6 3.4.8.5.1 1.1.1 1.6.1h3.1-.2c.4-.1.7-.2 1.1-.3.4-.1.7-.2 1-.3.3-.1.7-.3 1-.4.3-.1.6-.3.9-.5 1-.6 2-1.3 2.8-2 0-.2.1-.4.1-.6.8-4.3 1.3-9.2 1.5-15 .8.1 1.6.1 2.3.1.9 0 1.6-.1 1.7-.1h.1c.3-.1.4-.3.4-.6 0-.2-.1-.3-.2-.4-.1-.1-.3-.1-.4-.1-.1 0-2 .2-3.9-.1-2-.5-3.9-1.4-5.6-2.6.1-.2.2-.5.3-.7.8-1.9 1.1-3.8 1.1-5.3-.1-1.6-.6-2.8-1.6-3
.2l-3-1.2c.1.4.1.8.1 1.2l2.5 1c1.1.5 1.4 3.5-.1 7.1-1.5 3.6-3.7 5.6-4.9 5.1l-2.5-1c-.3.3-.6.6-.9.8l3 1.2c.2.1.5.1.8.1.9 0 1.9-.6 2.9-1.6.4-.5.9-1 1.3-1.6 1.4.9 2.8 1.7 4.4 2.3-.2 5.3-.7 9.9-1.4 13.9-.5.5-1.1.9-1.8 1.2-.4.2-.9.5-1.6.7-.5.2-1.1.3-1.8.5h-.8H55.1c-.5 0-.9 0-1.3-.1-1.3-.1-2.6-.5-3.8-1l-1.8-.9c-.5-.3-1-.7-1.6-1.1-1-.8-1.9-1.7-2.6-2.6-.7-.9-1.2-1.8-1.7-2.8-.1-.2-.1-.3-.2-.5h.1c.8-.5 1.3-1.2 1.8-2.1.4-.7.7-1.6.8-2.7 0-.2 0-.3-.1-.5-.1-.1-.2-.2-.3-.2-.3-.1-.6.2-.6.5 0 .1-.1.3-.1.4-.4 1.8-1 3-2 3.6-1.3.8-3.1.8-6.1-.1-5.7-1.7-4.6-6-4.5-6.2.1-.2 0-.5-.2-.6-.1 0-.1-.1-.2-.1-.3-.1-.6.1-.7.4 0 0-.2.9-.1 2.1.1 1 .5 2.2 1.6 3.3-.2 0-.2.1-.2.1z" fill="url(#t)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M157.7 138.9c-.4 0-.8.1-1.2.1h-.8c-.5 0-1.1-.1-1.7-.2-.3-.1-.7-.1-1-.2-.8.6-2.4.7-4.1 0-1.8-.7-3.1-2.1-3-3.1l-1.8-1.2c-.5-.3-.9-.7-1.3-1-.4-.3-.9-.7-1.3-1-.7-.5-1.3-1.1-2-1.6-.6.8-2.2.7-3.8-.2.7.5 1.4 1.1 2.1 1.7.7.6 1.5 1.2 2.3 1.9 1.7 1.4 3.6 2.8 5.8 4.1 1.8 1.1 4.6 2
.5 7.8 3 1 .1 1.9.2 2.8.2.5 0 .9 0 1.4-.1 1.3-.1 2.5-.3 3.7-.7 2.2-.6 3.8-1.5 5.2-2.3 1.3-.8 2.3-1.6 3.2-2.2.1-.1.3-.2.4-.3-.3-.2-.6-.4-.8-.6-.2-.2-.4-.4-.6-.5-.2 1-1.6 2.3-3.1 3.2-1.7 1-3.5 1.2-4.3.4-.2.1-.4.1-.6.2-1 .1-2.1.3-3.3.4z" fill="url(#u)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M31.5 141.4h.9c.9 0 1.8 0 2.8-.1 1.4-.2 2.6-.4 3.7-.6 2.3-.5 4.6-1.4 7-2.5 1.9-.9 4-2 6.2-3.3 2.9-1.7 5.5-3.6 7.9-5.2.8-.6 1.6-1.1 2.4-1.7 1.1-.8 2.1-1.4 3-2-.2 1.3-.3 2.6-.3 3.9-.1 1.4-.1 2.8-.1 4.3V139.6c0 .4 0 .8-.1 1.2-.1 1.1-.2 2.1-.3 3-.1 1-.3 1.9-.4 2.7-.2 1-.4 1.8-.6 2.6-.2.8-.5 1.6-.8 2.3-.3.8-.7 1.5-.9 2.1-.3.6-.7 1.2-1.1 1.8-.4.6-.8 1.1-1.2 1.6-.5.6-.9 1-1.3 1.3-.4.4-.9.8-1.3 1.1-.8.6-1.6 1.1-2.4 1.6-.7.4-1.3.7-1.7.8l-.2.1c-3 .3-5.3 2.8-5.3 5.9 0 3.2 2.6 5.9 5.8 5.9h.1c.5.1 1.5.2 3 .2h1.6c1.8-.1 3.6-.4 5.3-.9 1.1-.3 2.1-.6 3.2-1.1 1.2-.5 2.4-1 3.4-1.6 1.2-.7 2.3-1.4 3.4-2.2 1.1-.9 2.3-1.8 3.3-2.8 1-1 2-2.1 3-3.4 1-1.2 1.9-2.5 2.7-3.8 1.6-2.6 3-5.5 4.1-8.4.5-1.4 1-2.9 1
.4-4.4.2-.6.3-1.2.5-1.7l.1-.5.1-.4c.1-.6.3-1.2.4-1.9l.4-2v-.2V138.2l.1-.4.2-.8c.2-1 .5-2.1.8-3.2.5-2 1.1-3.8 1.7-5.3.3-.8.6-1.5.9-2.1 0-.1.1-.2.1-.3.1.1.1.2.2.3.2.5.5 1.2.9 2.1.6 1.5 1.2 3.2 1.7 5.2.3 1 .6 2.1.8 3.2l.2.8.1.4v.5l.4 2c.1.7.3 1.3.4 1.9l.1.4.1.5c.1.6.3 1.2.5 1.8.4 1.5.9 3 1.4 4.4 1.1 2.9 2.5 5.8 4.1 8.4.8 1.3 1.7 2.6 2.7 3.8 1 1.3 2 2.4 3 3.4s2.2 2 3.3 2.8c1.1.8 2.2 1.5 3.4 2.2 1 .6 2.1 1.1 3.4 1.6 1 .4 2.1.8 3.2 1.1 1.7.5 3.5.8 5.3.9.5 0 1.1.1 1.6.1 1.5 0 2.5-.1 3-.2h.1c3.1 0 5.7-2.6 5.8-5.7.5-3.5-1.5-4.8-7.7-9-5.5-3.7-9.5-6.4-9.8-23.1v-1.5c0-1.4 0-2.8-.1-4.2v-4-3c.9.1 1.9.3 2.8.5 1.2.3 2.3.7 3.3 1.2.6.3 1.2.6 1.9.9.7.4 1.3.8 1.9 1.2.9.6 1.8 1.3 2.9 2.1-1.1-1.2-1.5-2.5-1-3.2l.1-.1c-.3-.2-.5-.4-.8-.6-.7-.5-1.4-.9-2.1-1.3-.7-.4-1.3-.7-2-1-.3-.2-.6-.3-1-.4-.6-.3-1.3-.5-1.9-.6-.3-.1-.6-.2-.9-.2-.7-.2-1.3-.3-1.9-.4-.5-.1-.9-.1-1.4-.2-.4 0-.8-.1-1.2-.1-.1-3.9-.2-6.2-.2-6.2 0-.3-.2-.5-.5-.5h-.1c-.3 0-.5.3-.5.6 0 0 .2 2.3.2 6.1v9.4c.1 1.4.1 2.8.1 4.1v1.5c.1 3.8.4 6.9.8 9.5.2 1
.5.6 2.8.9 4 .7 2.4 1.6 4.2 2.7 5.7 1.7 2.4 3.9 4 6.5 5.7.8.5 1.5 1 2.1 1.4 3.1 2.1 4.3 3.1 4.6 4.2.1.4.1.9 0 1.4 0 .4-.1.7-.2 1-.4 1.5-1.8 2.7-3.5 2.7h-.1H132h-.5H128.1c-1.4-.1-3-.3-4.8-.8-.5-.1-.9-.3-1.4-.4-.5-.2-1-.3-1.5-.5-1-.4-2.1-.9-3.1-1.5-.5-.3-1.1-.6-1.6-1-.5-.3-1.1-.7-1.6-1.1-.5-.4-1-.8-1.6-1.2-.5-.4-1-.9-1.5-1.4-1-1-1.9-2-2.9-3.2-.9-1.1-1.8-2.3-2.5-3.6-.8-1.3-1.5-2.6-2.2-3.9-.7-1.3-1.2-2.7-1.8-4.1-.3-.7-.5-1.4-.7-2.1l-.6-2.1-.6-2.1c-.2-.7-.3-1.4-.5-2.2l-.4-2v-.2-.1l-.1-.2-.1-.4-.2-.9c-.3-1.1-.5-2.2-.8-3.2-.6-2.1-1.2-3.9-1.8-5.5-.3-.8-.6-1.5-.9-2.2-.2-.3-.3-.6-.5-.9-.1-.3-.3-.6-.4-.9-.5-.8-.9-1.5-1.3-2.2-.4.6-.8 1.4-1.3 2.2-.1.3-.3.6-.4.9-.1.3-.3.6-.5.9-.3.7-.6 1.4-.9 2.2-.3.8-.6 1.6-.9 2.6-.3.9-.6 1.9-.9 2.9-.3 1-.6 2.1-.8 3.2l-.2.9-.1.4-.1.2h.3c1.1.4 1.4 2.4.7 4.5-.6 1.7-1.7 2.9-2.7 3.1-.3 1.1-.7 2.2-1.1 3.3-.3.7-.5 1.4-.8 2.1-.6 1.4-1.2 2.7-2 4-.4.7-.7 1.3-1.1 1.9-.7 1.1-1.4 2.1-2.2 3.1.7.9.1 2.7-1.4 4.2s-3.3 2.1-4.2 1.5c-.2.2-.5.4-.7.6-1.1.8-2.1 1.5-3.2 2-.5.3-1.1.6-1.
6.8-.5.2-1 .5-1.5.7-.5.2-1 .4-1.5.5-.5.2-1 .3-1.4.4-1.9.5-3.5.7-4.8.8H54.1h-1-.2c-1.7 0-3.1-1.2-3.5-2.8-.1-.3-.1-.6-.1-.9 0-2 1.5-3.6 3.5-3.7h.2c-.1 0 .1-.1.5-.3.2-.1.4-.2.7-.3.3-.2.7-.4 1.2-.6.8-.4 1.7-1 2.7-1.8.4-.3.9-.7 1.3-1.1.1-.1.1-.1.2-.1.5-.5 1-1 1.4-1.5.5-.5.9-1.1 1.3-1.8.4-.6.8-1.3 1.2-2 .4-.7.7-1.5 1-2.3.1-.3.2-.7.4-1.1.2-.5.3-.9.5-1.4.3-.9.5-1.8.7-2.7.1-.5.2-.9.3-1.4.1-.5.1-1 .2-1.5.1-1 .2-2 .3-3.1 0-.5.1-1 .1-1.6V136.2v.1-1.8-2.1c0-.7 0-1.4.1-2.1.1-1.3.2-2.7.4-4.1.1-.6.2-1.1.3-1.7 1.1-5.4 1.3-8.9 1.3-8.9 0-.3-.2-.6-.5-.6h-.1c-.3 0-.5.2-.5.5 0 0-.2 2.8-1 7.2-.6.3-1.1.6-1.8 1-1.3.8-2.7 1.7-4.2 2.7-.8.5-1.5 1-2.3 1.6-1.1.7-2.2 1.5-3.4 2.3-.2.9-1 2.1-2.2 2.9-1.5 1.1-3.2 1.5-4.1 1-1.4.8-2.8 1.5-4.2 2.2-1 .4-2 .9-3 1.2-.5.7-1.4 1.4-2.5 1.8-1.8.7-3.6.6-4.3-.2h-.2c-.5 0-1 .1-1.5.1h-1.8c-1.1 0-2.2-.2-3.2-.3-.4-.1-.7-.2-1.1-.2 0 .2 0 .4-.2.6-.2.4-.7.6-1.4.7-1.3-2.1-3.3-3.8-5.6-4.7-.3-.1-.5-.2-.8-.3l-.6-5.5-.1-1 .2-.2c.4-.4.7-.8 1-1.3.2-.3.3-.6.4-1 .1-.2.1-.4.1-.5 2.5.8 6.6 2.4 10
.6 2.4 1.2 0 2.4-.2 3.5-.5 1.2-.7 2.5-1.6 3.7-2.6.2-.2.5-.4.7-.6 1-.9 2-1.8 3-2.9.6-.6 1.2-1.3 1.8-2l1.8-2.1c.6-.7 1.2-1.4 1.8-2.2.6-.7 1.2-1.5 1.9-2.2 1.3-1.5 2.5-2.9 3.9-4.3.3-.4.7-.7 1.1-1.1 1.9.4 3.6.6 5.2.7 1.2.1 2.3.1 3.3.1 4.3 0 7-.7 7.2-.7.3-.1.5-.4.4-.7-.1-.2-.2-.3-.4-.4h-.3s-2 .5-5.3.6c-2.4.1-5.6 0-9.2-.6l.1-.1c-.1 0-.2 0-.3-.1l-1-.2c-.7-.2-1.3-.4-2-.6-.7-.2-1.3-.5-1.9-.7l-1.8-.9c-1.8-.9-3.4-2-4.9-3.2-.8-.7-1.6-1.4-2.3-2.1-.2.4-.4.6-.7.8-1.1.5-2.7-.8-3.5-2.9-.6-1.6-.7-3.1-.1-4-.4-.8-.8-1.7-1.1-2.5-.1-.2-.2-.5-.2-.7-.1 0-.2.1-.3.1-.8.1-1.7-.1-2.3-.6.2.7.4 1.4.7 2 .8 2 1.9 4 3.2 5.9.8 1.1 1.6 2.1 2.4 2.9.8.9 1.8 1.8 2.9 2.7 2.2 1.8 4.6 3.3 7.3 4.4.6.3 1.2.5 1.9.7-1 1.1-2.1 2.3-3.4 3.8-.7.8-1.3 1.5-1.9 2.3-1.8 2.2-3.6 4.2-5.4 6.1-1.3 1.4-2.4 2.5-3.5 3.4-1.1.9-2.1 1.7-3.2 2.3-.8.2-1.7.4-2.6.4-2.9 0-6-1.1-8.4-1.8-.9-.3-1.7-.6-2.3-.7 0-.1 0-.3-.1-.4-.1-.3-.4-.4-.7-.4-.1 0-.1.1-.2.1-.2.1-.2.4-.2.6.4 1.2.3 2.3-.3 3.4-1 1.7-3.2 2.9-4.9 3.3-2.5.6-4.4.3-5.6-.7-1.5-1.2-1.4-3.3-1.4-3.3
0-.3-.2-.5-.4-.5h-.2c-.3 0-.6.2-.6.5 0 .1-.1 2.6 1.8 4.2.6.5 1.4.9 2.3 1.1l.5 4.8c-1.3.7-2.5 1.7-3.4 2.8-1.9 2.4-2.8 5.4-2.5 8.4.5 4.6 3.6 8.4 8 9.8.2.1.3.1.5.1h.2c.4 0 .8-.3 1.1-.6.3-.3.4-.8.4-1.2v-.2l-.8-7.7c0-.2.1-.3.1-.3 0-.1.1-.1.3-.2l2-.2.8-.1.8-.1c.3 0 .5.2.5.4l.8 7.9c.1.8.8 1.5 1.6 1.5h.2c.2 0 .4-.1.6-.2.4-.2.9-.5 1.3-.9.8-.6 1.4-1.2 2-1.9 1.9-2.4 2.8-5.4 2.5-8.4L27 143c-.2-.9-.5-1.7-.9-2.4 1.8.5 3.6.8 5.4.8zm-5.2 3.6c.3 2.9-.6 5.6-2.3 7.6-.5.6-1.1 1.2-1.8 1.7l-.8-7.7c0-.4-.2-.8-.5-1-.3-.2-.6-.4-1-.4h-.2l-3.6.4-2 .2c-.4 0-.8.3-1 .6-.3.3-.4.7-.3 1.1l.8 7.7c-3.2-1.5-5.5-4.6-5.9-8.3-.3-2.9.6-5.6 2.3-7.6 1-1.2 2.3-2.2 3.7-2.9l-.6-5.3c.4-.1.7-.1 1.1-.2 1.1-.2 2.4-.8 3.5-1.5l.7 6.5c4.2 1 7.5 4.5 7.9 9.1z" fill="url(#v)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M114.1 97.1c-.5-.4-1.2-.2-1.6.3-.3.5-.2 1.1.2 1.5 0 0 0 .1.1.1.1.1 1.2.9 3 1.8.3.2.7.4 1.1.6l1.2.6c3.3 1.4 7.9 2.9 13.2 2.9 1.5 0 2.9-.1 4.5-.4.6-.1 1-.7.9-1.3-.1-.6-.7-1-1.3-.9-3.3.5-6.5.3-9.4-.2-2-.4-3.9
-.9-5.5-1.5-3.8-1.7-6.3-3.5-6.4-3.5z" fill="url(#w)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M24.8 135.4c-1.9-1.1-4-1.2-4.6-.2v.1c2.4.9 4.3 2.6 5.6 4.7.6-.1 1.1-.3 1.4-.7.1-.2.1-.4.2-.6-.1-1.1-1.1-2.4-2.6-3.3z" fill="url(#x)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M148.5 99.1c-1.6 1.2-2.5 2.9-2.1 3.9 0 .1.1.2.1.3.6.8 2.2.7 3.7-.1.3-.2.5-.3.8-.5.5-.4.9-.8 1.2-1.2.9-1.1 1.2-2.3.7-3-.1-.2-.3-.3-.5-.4-.8-.5-2.4-.1-3.9 1z" fill="url(#y)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M42.4 135.7c-.4-1.1-2.5-1.3-4.5-.5-2.1.8-3.4 2.4-2.9 3.5.1.1.1.2.2.3.7.8 2.5.9 4.3.2 1.1-.5 2-1.1 2.5-1.8.4-.6.6-1.2.4-1.7z" fill="url(#z)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M55.3 128.9c-.7-1-2.7-.7-4.5.6-1.8 1.3-2.7 3.2-2 4.1.1.2.3.3.4.4.9.5 2.6.1 4.1-1 1.2-.9 2-2 2.2-2.9.1-.5 0-.9-.2-1.2z" fill="url(#A)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M157.7 80.4c-.6 2.1-.1 4.1 1.1 4.4.3.1.5 0 .8-.1 1-.3 1.9-1.6 2.4-3.3.
6-2.1.1-4.1-1.1-4.4-1.2-.2-2.6 1.3-3.2 3.4z" fill="url(#B)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M41 96.3c-.1-.4-.2-.9-.4-1.3-.8-1.9-2.1-3.1-3.2-3-.1 0-.2 0-.3.1-.3.1-.5.3-.6.6-.5.9-.5 2.4.1 4 .8 2.1 2.4 3.4 3.5 2.9.3-.1.6-.4.7-.8.4-.7.4-1.6.2-2.5z" fill="url(#C)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M164.5 52.7c.2.2.6.4.9.4.9.1 2.1-.4 3.2-1.4v-.1l-1.4-4.3c-.4.3-.9.6-1.3 1-1.6 1.5-2.2 3.5-1.4 4.4z" fill="url(#D)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M84 141c-.7 2.1-.4 4.1.7 4.5.2.1.4.1.7 0 1-.2 2.1-1.4 2.7-3.1.7-2.1.4-4.1-.7-4.5h-.3c-1.1-.1-2.4 1.2-3.1 3.1z" fill="url(#E)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M73.7 161.2c-1.6 1.6-2.1 3.5-1.3 4.4 0 0 .1.1.2.1.9.6 2.7 0 4.2-1.5s2.1-3.3 1.4-4.2c0-.1-.1-.1-.1-.2-.9-.8-2.9-.2-4.4 1.4z" fill="url(#F)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M139.6 130.5c.8-1-.1-2.9-1.9-4.2-1.7-1.2-3.6-1.5-4.4-.7l-.1.1c-.6.8-.1 2.1 1 3.2.3.3.6.6 1 .9.
2.2.5.3.7.5 1.4.9 3 1 3.7.2z" fill="url(#G)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M149 138.6c1.7.7 3.3.6 4.1 0 .2-.1.4-.3.4-.5.4-1.1-.9-2.7-2.9-3.5-2.1-.8-4.1-.6-4.5.5 0 .1-.1.3-.1.4-.1 1 1.1 2.3 3 3.1z" fill="url(#H)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M72 105.8c.7-.3 1.4-.6 2.1-1 3.2-1.6 6.7-5.7 6.9-5.8.4-.5.4-1.2-.1-1.6-.1-.1-.2-.1-.3-.2-.4-.2-.9-.1-1.3.3 0 0-1.6 1.8-3.5 3.4-.9.8-1.9 1.5-2.7 1.9-.1 0-.2.1-.3.1-.5.2-.9.4-1.3.6-3.6 1.6-6.2 2.1-6.3 2.1-.6.1-1 .7-.9 1.3 0 .1.1.2.1.2 3.3-.1 5.3-.6 5.3-.6h.3c.2-.1.5-.2.7-.3.4 0 .8-.2 1.3-.4z" fill="url(#I)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M11.6 117.5c-4.2-1-7.4-4.5-7.8-9.1-.3-2.9.6-5.6 2.3-7.6.5-.6 1.1-1.2 1.8-1.7l.8 7.7c.1.8.8 1.4 1.5 1.4h.2l2-.2 3.6-.4c.4 0 .8-.3 1-.6.3-.3.4-.7.3-1.1l-.8-7.7c3.2 1.5 5.5 4.6 5.9 8.3.3 2.9-.6 5.6-2.3 7.6-1 1.2-2.3 2.2-3.7 2.9l.4 3.7c.4.2.8.3 1.2.6l-.1-.6-.3-3.1c1.3-.7 2.5-1.7 3.4-2.8 1.9-2.4 2.8-5.4 2.5-8.4-.4-4-2.8-7.5-6.5-9.2l-1
.5-.6c-.2-.1-.3-.1-.5-.1h-.2c-.4 0-.8.3-1.1.6-.3.3-.4.8-.4 1.2l.8 7.9c0 .2-.1.3-.1.3 0 .1-.1.1-.3.2l-1.6.2-2 .2c-.3 0-.5-.2-.5-.4L9 99v-.2c-.1-.8-.8-1.5-1.6-1.5h-.2c-.2 0-.4.1-.6.2-1.3.7-2.4 1.7-3.3 2.8-1.9 2.4-2.8 5.4-2.5 8.4.5 4.7 3.7 8.5 8.1 9.9l.3 2.8c.8-.5 1.8-.8 2.9-1l-.5-2.9z" fill="url(#J)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M18.3 135.9l-.7-6.5c-1.1.8-2.4 1.3-3.5 1.5-.4.1-.7.1-1.1.2l.6 5.3c-1.5.7-2.7 1.7-3.7 2.9-1.7 2.1-2.6 4.8-2.3 7.6.4 3.8 2.7 6.8 5.9 8.3l-.8-7.7c0-.4.1-.8.3-1.1.3-.3.6-.5 1-.6l2-.2 3.6-.4h.2c.4 0 .8.1 1 .4.3.2.5.6.5 1l.8 7.7c.7-.5 1.3-1.1 1.8-1.7 1.7-2.1 2.6-4.8 2.3-7.6-.3-4.6-3.6-8.1-7.9-9.1z" fill="url(#K)" fill-rule="nonzero" transform="translate(81 15)"/><path fill="url(#L)" fill-rule="nonzero" d="M171.1 22.7l-.3-.8-1.6 1.4" transform="translate(81 15)"/><path fill="url(#M)" fill-rule="nonzero" d="M158.9 18.3l.3 1.1 2.2-1.9" transform="translate(81 15)"/><path d="M168.9 16.1l-.3-.9-2 .7-6.4 5.4c-.1.1-.2.1-.3.2l.6 1.8 8.1-6.9c.1-
.2.2-.3.3-.3z" fill="url(#N)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M161.1 25.2l.2.7 2.7-.9 5.8-4.9c.1-.1.2-.1.3-.2l-.6-1.8-8.1 6.9c-.1.1-.2.1-.3.2z" fill="url(#O)" fill-rule="nonzero" transform="translate(81 15)"/><path fill="url(#P)" fill-rule="nonzero" d="M165 37.1l.4 1.2 2.5-2.1" transform="translate(81 15)"/><path d="M170.3 41.7l-2.7 2.3c-.1.1-.2.1-.3.2l.6 1.8 2.6-2.2c-.2-.8-.2-1.5-.2-2.1z" fill="url(#Q)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M175.1 35l-.4-1.1-1.6.5-6.7 5.7c-.1.1-.2.1-.3.2l.6 1.8 8.1-6.9c.1-.1.2-.1.3-.2z" fill="url(#R)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M171.5 45.5l-2.6 2.2c-.1.1-.2.1-.3.2l.6 1.8 3.7-3.1c-.6-.3-1-.7-1.4-1.1z" fill="url(#S)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M164 25l5.2-1.7 1.6-1.4.3-.3c.4-.4.5-1 .1-1.5-.3-.3-.7-.4-1.1-.3-.1 0-.2.1-.3.2l-5.8 5z" fill="url(#T)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M166.6 15.8l-5.2 1.7-2.2 1.9-.3.3c-.4
.4-.5 1-.1 1.5l.3.3c.2.1.5.1.8.1.1 0 .2-.1.3-.2l6.4-5.6z" fill="url(#U)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M175 47.4c-.8-.2-1.6-.5-2.2-.9l-3.7 3.1-.3.3c-.4.4-.5 1-.1 1.5l.3.3c.3.1.6.1.8 0 .1 0 .2-.1.3-.2l4.9-4.1z" fill="url(#V)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M173.2 34.5l-5.2 1.7-2.5 2.1-.3.3c-.4.4-.5 1-.1 1.5l.3.3c.2.1.5.1.8.1.1 0 .2-.1.3-.2l6.7-5.8z" fill="url(#W)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M170.3 41.7c.1-1.1.6-2 .6-2 .1-.3.5-.4.7-.2.1 0 .1.1.2.1 1.1-1.3 2.8-2.3 4.5-3 .2-.4.2-.9-.1-1.2-.3-.3-.7-.4-1.1-.3-.1 0-.2.1-.3.2l-8.1 6.9-.3.3c-.4.4-.5 1-.1 1.5l.3.3c.2.1.5.1.8.1.1 0 .2-.1.3-.2l2.6-2.5z" fill="url(#X)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M171.5 45.5c-.3-.4-.6-.7-.8-1.2-.1-.2-.2-.4-.2-.7l-2.6 2.2-.3.3c-.4.4-.5 1-.1 1.5l.3.3c.2.1.5.1.8.1.1 0 .2-.1.3-.2l2.6-2.3z" fill="url(#Y)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M161.1 25.2c.1 0 .2-.1.3-.2l8.1-6.9.
3-.3c.4-.4.5-1 .1-1.5-.3-.3-.7-.4-1.1-.3-.1 0-.2.1-.3.2l-8.1 6.9-.3.3c-.4.4-.5 1-.1 1.5l.3.3c.3 0 .5.1.8 0z" fill="url(#Z)" fill-rule="nonzero" transform="translate(81 15)"/><path fill="url(#aa)" fill-rule="nonzero" d="M165.6 4.8l-11 3.6 3 9.2 11-3.7" transform="translate(81 15)"/><path fill="url(#ab)" fill-rule="nonzero" d="M174.8 32.7l-3-9.1-11 3.6 3 9.2" transform="translate(81 15)"/><path d="M160.8 38.5l3.2-1.1.3 1-.2.1c-1.5.7-3.2 1.6-5.1 2.9-2.4 1.6-4.4 3.1-6.3 4.9-2.5 2.5-4.6 5.2-6.1 8.2-1.8 3.5-3 7.4-3.5 11.5 0 .4-.1.8-.1 1.3v3.9c-.1 1.1-.2 2.3-.4 3.8-.4 2.3-1.1 4.5-2 6.4-.4.8-.9 1.5-1.4 2.1-.4.5-.9 1-1.6 1.5-.9.7-1.9 1.1-3.1 1.3h-.1c-.5.1-.9.1-1.3.1h-.2c-.6 0-1.3-.1-1.8-.2h-.1c-1.2-.3-2.3-.9-3.2-1.7-.5-.4-.9-.9-1.3-1.4-.3-.4-.6-.9-1-1.5-.1-.1-.1-.3-.2-.4-.1-.1-.1-.2-.2-.4l-.3-.6-.1-.2-.1-.2v-.1l-.1-.2c0-.1-.1-.1-.1-.2-.1-.2-.2-.3-.2-.5v-.1c-.1-.3-.3-.5-.4-.8v-.1l-.3-.6c-.2-.3-.3-.6-.5-.9 0-.1-.1-.1-.1-.2-.1-.7-.1-1.5-.1-2.3 7.3-2.6 12.2-9.4 12.2-17.3 0-5.2-2.1-10-5.9-13.5v-1
.1c0-19.5-15.9-35.4-35.4-35.4S58.3 22.4 58.3 41.9V43c-3.3 3.1-5.4 7.2-5.8 11.6l2.2.9c.1-1.5.4-3 .9-4.4.4-1.1.9-2.2 1.5-3.2.2-.4.5-.7.7-1.1.5-.7 1.1-1.4 1.7-2 .3-.3.6-.6 1-.9 0-.7-.1-1.4-.1-2.1 0-2.3.2-4.5.7-6.7.2-1.1.5-2.1.8-3.2.5-1.6 1.1-3.1 1.8-4.5.5-1 1-1.9 1.5-2.8.6-.9 1.2-1.8 1.8-2.6.3-.4.6-.8 1-1.3 4.4-5.3 10.4-9.3 17.3-11 2-.5 4-.8 6.2-1 .7 0 1.4-.1 2.1-.1 2.1 0 4.1.2 6 .6.7.1 1.3.3 1.9.4.2.1.4.1.6.2 2.8.8 5.5 1.9 8 3.3 1.2.7 2.4 1.5 3.6 2.4 1.1.9 2.2 1.8 3.2 2.8 4 4 7 9.1 8.6 14.8.1.2.1.4.2.6.6 2.6 1 5.2 1 8 0 .7 0 1.4-.1 2.1 1.8 1.5 3.3 3.3 4.3 5.5 1 2.1 1.6 4.5 1.6 7 0 5.7-2.9 10.7-7.4 13.5-.7.5-1.5.9-2.3 1.3-.7.3-1.4.5-2.1.7-1.3.2-2.4.3-3 .3h-.5c-.3 0-.6.3-.6.6s.2.6.6.6h.3c.5 0 1.5-.1 2.8-.3.1 1.2.1 2.4.2 3.5.1.2.2.3.3.5.1.2.2.5.4.7.1.2.3.5.4.8.1.3.3.5.4.8.1.1.1.3.2.4.1.1.2.3.2.4.1.1.1.3.2.5s.2.3.2.5c.1.3.3.6.5.9l.6.9c.2.3.4.6.7.9.5.6 1 1.2 1.6 1.7 1 .8 2.1 1.5 3.3 1.9.3.1.5.2.8.3.7.2 1.5.3 2.2.3h.4c.6 0 1.2-.1 1.8-.2.7-.1 1.4-.3 2.1-.6.7-.3 1.3-.7 2-1.1.6-.5 1.3-1.1 1.9-
1.8.6-.7 1.2-1.6 1.7-2.6 1-2 1.8-4.4 2.3-7.1.2-1.3.4-2.7.5-4.1V68.8 67c0-.5.1-1.1.1-1.6.4-3.9 1.6-7.6 3.2-10.7.4-.8.8-1.5 1.3-2.2l1.5-2.1c.7-.9 1.5-1.8 2.2-2.6l.8-.8c2-1.9 4-3.4 5.8-4.6l.1-.1c1.4-.9 2.7-1.6 3.8-2.2.3-.2.7-.3 1-.5l1.3 3.9.4 1.1.6 1.7 1.4 4.3v.1c-1.1.9-2.3 1.4-3.2 1.4l-1.5 2.1c-.5.8-1 1.7-1.4 2.6-.4.9-.8 1.8-1.1 2.7-.1.5-.3.9-.4 1.4-.3 1.5-.5 3-.4 4.6v1.7c0 .4.1.8.1 1.2 0 .5.1.9.1 1.4.1 1.9.1 3.8 0 5.8v.4c1.1.3 1.6 2.3 1.1 4.4-.4 1.7-1.4 3-2.4 3.3-.4 1.4-.8 2.8-1.4 4.3-.2.5-.4 1-.7 1.6-.7 1.6-1.6 3.1-2.6 4.6-.7 1-1.5 2-2.3 2.9.2.1.4.2.5.4.5.7.2 1.9-.7 3 1.7-1.5 3.1-3.2 4.4-4.9 1.4-2 2.6-4.2 3.5-6.6 1.6-4 2.6-8.4 2.9-13.1.1-2 .1-4.1 0-6.1 0-.3 0-.7-.1-1v-.4l-.1-1.2V66.3v0-.1-.4-.3c0-2 .2-3.8.7-5.4.3-.9.7-1.8 1-2.4.4-.8.8-1.5 1.3-2.3.5-.7 1-1.5 1.5-2.2.5-.6 1-1.2 1.6-1.9.4.7 1 1.3 1.8 1.7.5.2 1.1.4 1.7.4.4 0 .8-.1 1.2-.2l4.4-1.4c1-.3 1.8-1 2.3-2 .5-.9.6-2 .2-3l-.2-.7c-.4.1-.7.2-1.1.2l.3.8c.5 1.5-.3 3.1-1.8 3.6l-4.4 1.4c-.3.1-.6.1-.9.1-1 0-2-.6-2.5-1.5-.3.1-.6.1-.8 0-.1-
.1-.2-.1-.3-.3-.4-.4-.3-1.1.1-1.5l.3-.3-.6-1.8c-.3.1-.5.1-.8-.1-.1-.1-.2-.1-.3-.3-.4-.4-.3-1.1.1-1.5l.3-.3-.6-1.8c-.3.1-.5.1-.8-.1-.1-.1-.2-.1-.3-.3-.4-.4-.3-1.1.1-1.5l.3-.3-.6-1.8c-.3.1-.5.1-.8-.1-.1-.1-.2-.1-.3-.3-.4-.4-.3-1.1.1-1.5l.3-.3-.4-1.2 2.9-1 5.2-1.7 1.6-.5.4 1.1c.4-.1.8 0 1.1.3.3.4.3.9.1 1.2.2-.1.3-.1.5-.2l-.3-.9-.6-2 3.2-1.1c.9-.3 1.6-.9 2-1.7.4-.8.5-1.7.2-2.6l-1.6-4.8c-.6-1.8-2.5-2.7-4.3-2.2l-3.2 1.1-2.5-7.5 3.2-1.1c.9-.3 1.6-.9 2-1.7.1-.2.2-.4.2-.6.1-.2.1-.4.1-.6 0-.4 0-.9-.2-1.3l-1.6-4.8c-.3-.9-.9-1.6-1.7-2-.8-.4-1.7-.5-2.6-.2l-18.3 6c-1.8.6-2.7 2.5-2.2 4.3l1.6 4.8c.3.9.9 1.6 1.7 2 .5.2 1 .4 1.5.4.4 0 .7-.1 1.1-.2l3.2-1.1 2.5 7.5-3.2 1.1c-.9.3-1.6.9-2 1.7-.4.8-.5 1.7-.2 2.6l1.6 4.8c.3.9.9 1.6 1.7 2 .4.2.9.3 1.4.3h.2c.3 1.9.6 1.8 1 1.7zm14.9-16.2c1.2-.4 2.5.3 2.9 1.5l1.6 4.8c.2.6.1 1.2-.1 1.7-.3.5-.7.9-1.3 1.1l-2.8.9-3-9.2 2.7-.8zm-6.2-18.8c.6-.2 1.2-.1 1.7.1.5.3.9.7 1.1 1.3l1.6 4.8c.2.6.1 1.2-.1 1.7-.3.5-.7.9-1.3 1.1l-2.8.9-3-9.2 2.8-.7zm-11.7 14.6l-3.4 1.1c-1.5.5-3.
1-.3-3.6-1.8l-1.6-4.8c-.5-1.5.3-3.1 1.8-3.6l3.4-1.1.2.5 11-3.6 3 9.2-11 3.6.2.5zm2.2 6.8c-.4-.4-.3-1.1.1-1.5l.3-.3-.6-1.8c-.3.1-.5.1-.8-.1-.1-.1-.2-.1-.3-.3-.4-.4-.3-1.1.1-1.5l.3-.3-.3-1 2.5-.8 5.2-1.7 2-.7.3.9c.4-.1.8 0 1.1.3.4.4.3 1.1-.1 1.5l-.3.3.6 1.8c.4-.1.8 0 1.1.3.4.4.3 1.1-.1 1.5l-.3.3.2.8-1.9.6L164 25l-2.7.9-.2-.7c-.3.1-.5.1-.8-.1-.1 0-.2-.1-.3-.2zm-3 11.3l-1.6-4.8c-.5-1.5.3-3.1 1.8-3.6l3.4-1.1.2.5 11-3.6 3 9.2-11 3.6.2.5-3.4 1.1c-1.5.5-3.1-.3-3.6-1.8z" fill="url(#ac)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M164 36.9l-.2-.5-3-9.2-.2-.5-3.4 1.1c-1.5.5-2.3 2.1-1.8 3.6l1.6 4.8c.5 1.5 2.1 2.3 3.6 1.8l3.4-1.1z" fill="url(#ad)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M154.4 7.9L151 9c-1.5.5-2.3 2.1-1.8 3.6l1.6 4.8c.5 1.5 2.1 2.3 3.6 1.8l3.4-1.1-.2-.5-3-9.2-.2-.5z" fill="url(#ae)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M253.5 27.7c.6-.2 1-.6 1.3-1.1.3-.5.3-1.2.1-1.7l-1.6-4.8c-.2-.6-.6-1-1.1-1.3-.5-.3-1.2-.3-1.7-.1l-2.8.9 3
9.2 2.8-1.1zM259.7 46.5c.6-.2 1-.6 1.3-1.1.3-.5.3-1.2.1-1.7l-1.6-4.8c-.4-1.2-1.7-1.8-2.9-1.5l-2.8.9 3 9.2 2.9-1z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M190.7 121.8c0-.2-.1-.4-.2-.6-.1-.3-.3-.5-.5-.7l-3.2-2.6c-.1-.1-.2-.1-.3-.2-.1-.1-.3-.1-.4-.2-.2-.1-.4-.1-.7-.1h-.2c-.4.1-.8.3-1.1.7l-2.2 2.7-.4-.4c-.9-.7-1.9-1.2-3-1.5-3-.8-6.3.2-8.7 2.5 1.8-.1 3.8.3 5.5 1.3.8-.2 1.5-.2 2.3 0 .6.1 1.1.4 1.5.8 1.5 1.2 1.9 3.4 1.1 5.5-.3.7-.8 1.4-1.5 2.3-.8.7-1.7 1.3-2.6 1.6-.9.3-1.8.3-2.6.1-.1 0-.1-.1-.2-.1-.5-.2-.9-.4-1.3-.7-.2-.2-.4-.3-.5-.5-.8 0-1.6 0-2.3-.1.1 0 .2.1.3.1.3.1.5.4.4.7-.1.2-.3.4-.5.4h-.1c-.7-.2-1.3-.4-1.9-.6l.6 1.2c-1.1-.3-2.9 0-4.3.8-1.9 1.1-3 2.9-2.4 3.9l.3.3c.8.7 2.6.6 4.3-.4 1.5-.9 2.9-2.2 3.1-3.2.2.2.4.4.6.5.3.2.5.4.8.6.7.4 1.4.7 2.2.9.1 0 .3 0 .4.1 3.3.7 6.9-.6 9.2-3.5.2-.2.3-.4.5-.7l3-3.7 4.6-5.6c.3-.6.5-1.1.4-1.6z" fill="url(#af)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M126.4 68.5l-.1-.1c-.2-.3-.5-.6-.8-.7-.2-.1-.3-.1-.5-.1h-.2l-.1-.1c-7.8-4.7-17.8
-11.7-21.3-17.9-.2-.5-.4-.9-.6-1.2-.5-.8-1.1-1.3-1.8-1.6-1.9-.8-4.5.3-7.3 3-2.9 2.8-5.5 7-7.5 11.8-3.9 9.7-3.8 19.3.3 20.9 1.2.5 2.7.3 4.3-.7l.1-.1c6.9-1.7 18.4.3 26.8 2.2h.2l.1.2c.2.2.4.4.6.5.4.2.8.1 1.3-.1l.2-.1h.2c.2.1.4.1.6.2 1.8-1.1 3.8-3.7 5.1-7 1.4-3.5 1.8-6.8 1.1-8.8-.2-.1-.4-.3-.7-.4v.1zm-23.7-6.6s0 .1 0 0c-.1.6-.3 1.2-.4 1.7 0 .1 0 .2-.1.3-.1.5-.3 1-.5 1.5 0 .1-.1.2-.1.3-.2.6-.4 1.2-.7 1.8-.2.6-.5 1.1-.7 1.7 0 .1-.1.2-.1.3-.3.5-.5 1-.8 1.5-2.9 5.3-6.6 8.7-9.6 8.7-.5 0-.9-.1-1.4-.3-1.9-.8-3-3.1-3-6.4-.1-3.2.7-7.1 2.3-11 1.6-3.9 3.7-7.2 6-9.5 2.4-2.4 4.8-3.3 6.7-2.5 2.8 1.2 3.7 6 2.4 11.9z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M39.9 69.8c-.2-.1-.4-.1-.6-.2h-.2l-.2.1c-.5.2-1 .2-1.3.1-.2-.1-.4-.3-.6-.5l-.1-.2h-.2c-8.4-1.9-19.9-3.8-26.8-2.2l-.1.1c-1.6.9-3.1 1.1-4.3.7-4.1-1.7-4.2-11.2-.3-20.9 2-4.8 4.6-9 7.5-11.8 2.7-2.6 5.4-3.7 7.3-3 .7.3 1.3.8 1.8 1.6.2.3.4.7.6 1.2 3.5 6.2 13.5 13.1 21.3 17.9l.1.1h.2c.2 0 .4 0 .5.1.3.1.5.3.8.7l.1.1.1.1c.2.1.5.3.7.4-.3-.9-.7-1.5-1.4-1.8
l1.9.8c-.2-.1-.3-.2-.5-.3-.3-.5-.7-.8-1.2-1-.2-.1-.5-.2-.8-.2-6.3-3.8-17.2-11.2-20.8-17.3-.2-.5-.4-.9-.7-1.3-.6-1-1.4-1.6-2.3-2-2.4-1-5.4.2-8.5 3.2-3 2.9-5.7 7.2-7.8 12.2C-.2 57.1.2 66.9 5 68.9c1.5.6 3.3.4 5.2-.7 6.6-1.6 17.8.3 26 2.1.3.3.6.5.9.7.5.2 1.1.2 1.7.1l-1.5-.6c.9 0 1.7-.2 2.6-.7z" fill="url(#ag)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M133.7 88l2.5 1c1.1.5 3.4-1.5 4.9-5.1 1.5-3.6 1.2-6.6.1-7.1l-2.5-1c0 1.9-.5 4.2-1.4 6.5-1 2.4-2.3 4.4-3.6 5.7z" fill="#F9F9FA" fill-rule="nonzero"/><path d="M19.3 35c-1.9-.8-4.2.1-6.7 2.5-2.3 2.3-4.5 5.6-6 9.5-1.6 3.9-2.4 7.8-2.3 11 .1 3.4 1.2 5.7 3 6.4.4.2.9.3 1.4.3 3 0 6.8-3.4 9.6-8.7.3-.5.5-1 .8-1.5.1-.1.1-.2.1-.3.3-.5.5-1.1.7-1.7.2-.6.5-1.2.7-1.8 0-.1.1-.2.1-.3.2-.5.3-1 .5-1.5 0-.1 0-.2.1-.3.2-.6.3-1.1.4-1.7v-.1c1.3-5.8.4-10.6-2.4-11.8zm1.6 10.3c-.4 2.2-1 4.5-1.9 6.8-.9 2.3-2.1 4.4-3.3 6.2h-.1c-.9-.4-1.1-3.3.5-7.4.7-1.8 1.7-3.4 2.7-4.5.7-.8 1.4-1.2 1.9-1.2l.2.1c-.1-.1 0-.1 0 0z" fill="url(#ah)" fill-rule="nonzero" tran
sform="translate(81 15)"/><path d="M18.7 46.4c-1 1.1-2 2.7-2.7 4.5-1.6 4-1.4 7-.5 7.4h.1c1.3-1.8 2.4-4 3.3-6.2.9-2.3 1.6-4.6 1.9-6.8H20.5c-.4-.1-1.1.3-1.8 1.1z" fill="url(#ai)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M43.6 77.3c0-.1.1-.3.1-.4.1-.3.3-.5.6-.5.1 0 .2.1.3.2.2-.3.5-.5.7-.7.4-.5.8-.8 1.1-1.1.1-.1.3-.2.3-.2.1-.1.1-.1.2-.1s0 0 .1-.1H47.9c.2.1.3.1.5.1l.2.1c.9.4 2 0 3.2-.9.3-.2.6-.5.9-.8 1.3-1.3 2.6-3.3 3.5-5.7 1-2.4 1.4-4.7 1.4-6.5 0-.4 0-.9-.1-1.2-.2-1.4-.7-2.5-1.6-2.8l-1.8-.7-2.2-.9-1.9-.8-.8-.3-2.8-1.1-1.9-.8c.7.3 1.1.9 1.4 1.8.6 2 .3 5.4-1.1 8.8-1.3 3.3-3.3 5.9-5.1 7-.9.6-1.8.7-2.5.4l1.5.6h.1c-.1.2-.3.3-.4.5-.1.1-.2.2-.2.3 2.5 1.1 4.9 3.4 5.4 5.8z" fill="url(#aj)" fill-rule="nonzero" transform="translate(81 15)"/><g fill-rule="nonzero"><path d="M283.2 146.6l-6.8.9-5.3-38.5c-.4-3.1 1.6-6 4.7-6.7.2-.1.5.1.5.4l6.9 43.9z" fill="#C8C8CC"/><path d="M292.8 107.4c.2-.2.5-.2.6 0 2.1 2.3 2.1 5.9-.1 8.2L266.8 144l-5-4.7 31-31.9z" fill="#E1E1E6"/><path d="M.9 10.6
c-.1 2.6.8 4.9 2.6 6.5.9.8 1.9 1.4 3 1.8 3.5 1.2 7.5 0 10.2-2.9l.6-.6 8.6-9.2c.4-.4.6-.9.5-1.4 0-.5-.2-1-.6-1.4L22.7.5c-.2-.2-.5-.4-.7-.4-.2-.1-.5-.1-.7-.1-.5 0-1 .2-1.4.6l-2.5 2.6-.4-.4c-.9-.8-1.9-1.4-3-1.8C10.5-.2 6.5 1 3.8 3.9 2 5.7 1 8.1.9 10.6zm5.8-4c1.6-1.7 4.1-2.5 6-1.8.6.2 1.1.5 1.5.9 1.5 1.4 1.7 3.7.8 5.8-.4.7-.9 1.5-1.7 2.3-1.6 1.4-3.8 2-5.5 1.4-.6-.2-1.1-.5-1.5-.9-.9-.9-1.4-2.1-1.3-3.5 0-1.5.6-3 1.7-4.2z" transform="translate(246 133)" fill="url(#ak)"/><path d="M.7 3.7l1.7 12.5c0 .3 0 .6.1.9C3 21 5.6 24.2 9 25.3c1.2.4 2.4.5 3.7.3 4.9-.7 8.2-5.6 7.5-11-.5-3.9-3.1-7.1-6.5-8.2-1.2-.4-2.4-.5-3.7-.3-.2 0-.4.1-.6.1l-.5-3.6c-.1-.8-.7-1.4-1.4-1.6-.3-.1-.6-.1-.9-.1l-4.2.6c-.5.1-1 .4-1.3.8-.3.3-.5.8-.4 1.4zm11.7 6.5c2 .6 3.4 2.6 3.7 4.9.4 3.2-1.4 6.1-4 6.4-.6.1-1.3 0-1.9-.2-1.8-.6-3.1-2.2-3.6-4.3v-.1c-.1-1.1-.2-2-.1-2.8.4-2.2 2-4 4-4.2.6 0 1.3.1 1.9.3z" transform="translate(274 137)" fill="url(#al)"/><path d="M277.1 126c1.2 0 2.3.9 2.3 2.2 0 1.2-.9 2.3-2.2 2.3-1.3 0-2.3-.9-2.3-2.2
0-1.2.9-2.2 2.2-2.3z" fill="#C8C8CC"/></g><path d="M36.2 88.9s.1 0 0 0l.2-.2.1-.1c.1-.2.3-.4.5-.6.2-.3.5-.7.8-1.2.3-.5.5-1 .7-1.5.2-.5.4-1.1.6-1.7 0 0 0-.1.1-.1.1-.2.2-.5.3-.7 0-.1.1-.1.1-.2h-.4c-1.4 0-2.8-.4-4.1-.7-1.1-.3-2-.8-2.8-1.3-.1.2-.1.4-.2.6-.1.4-.2.7-.3 1-.1.3-.2.6-.2.9-.1.3-.1.7-.2 1 0 .2-.1.4-.1.6v2.6c.1.7.5 1.3 1 1.7.6.5 1.4.8 2.3.6.1 0 .2-.1.3-.1.2-.1.4-.1.6-.2.4-.1.6-.3.7-.4z" fill="url(#am)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M176.3 36.6c-1.7.6-3.4 1.7-4.5 3 .2.2.2.4.1.6 0 0-1 2-.2 3.7.5 1.2 1.8 2 3.8 2.5.3.1.5.4.4.7-.1.3-.3.4-.5.4h-.1c-.1 0-.1 0-.2-.1l-4.8 4.1c-.1.1-.2.1-.3.2.5.9 1.5 1.5 2.5 1.5.3 0 .6 0 .9-.1l4.4-1.4c1.5-.5 2.3-2.1 1.8-3.6l-.3-.8c.4-.1.7-.1 1.1-.2.7-.2 1.4-.5 2-.9 3.7-2.4 3.3-8.5-2-10.3-.6-.2-1.8-.1-3.1.3-.2 0-.3.1-.5.2s-.3.1-.5.2z" fill="url(#an)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M166.8 122.9s-2.6 2.9-1.9 5.4c.4 1.4 1.8 2.5 4.2 3.2.7.1 1.5.1 2.3.1h.1c.9 0 1.7-.1 2.5-.3 1-.2 2-.6 2.7-1.2.5-.4.9-.9 1
.2-1.5 1-2.6-.4-4.6-2.6-5.8-1.6-.9-3.7-1.4-5.5-1.3-.7 0-1.4.2-2 .4-.3.1-.6.3-1 .6.1.1.1.3 0 .4z" fill="url(#ao)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M35.5 80.8c2.9.9 4.8.9 6.1.1 1-.6 1.7-1.8 2-3.6-.5-2.4-2.8-4.7-5.3-5.7-.8-.3-1.6-.6-2.3-.6-1.5-.1-4.1 1-5.2 3 .2.1.3.4.2.6-.1.2-1.2 4.5 4.5 6.2z" fill="url(#ap)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M6.9 125.8s-.1 2.1 1.4 3.3c1.2 1 3.1 1.2 5.6.7 1.7-.4 3.9-1.5 4.9-3.3.6-1 .7-2.2.3-3.4-.1-.2 0-.4.2-.6-.3-.5-.8-.9-1.3-1.2l-1.2-.6-.4-3.7c1.5-.7 2.7-1.7 3.7-2.9 1.7-2.1 2.6-4.8 2.3-7.6-.4-3.8-2.7-6.8-5.9-8.3l.8 7.7c0 .4-.1.8-.3 1.1-.3.3-.6.5-1 .6l-3.6.4-2 .2h-.2c-.8 0-1.5-.6-1.5-1.4l-.8-7.7c-.7.5-1.3 1.1-1.8 1.7-1.7 2.1-2.6 4.8-2.3 7.6.5 4.5 3.7 8 7.8 9.1l.3 2.9c-1.1.2-2.1.5-2.9 1-.2.1-.3.2-.5.3-.8.6-1.7 2-2 3.5.3.2.4.4.4.6z" fill="url(#aq)" fill-rule="nonzero" transform="translate(81 15)"/><path d="M170.9 39.7c0 .1-.4.9-.6 2-.1.6-.1 1.3.1 2 .1.2.1.4.2.7.2.4.5.8.8 1.2.4.4.8.7 1.3 1 .6.4 1.3.6 2.2.
9.1 0 .1 0 .2.1h.1c.3 0 .5-.2.5-.4.1-.3-.1-.6-.4-.7-1.9-.5-3.2-1.3-3.8-2.5-.8-1.7.2-3.7.2-3.7.1-.2.1-.5-.1-.6 0 0-.1-.1-.2-.1 0-.3-.3-.2-.5.1z" fill="url(#ar)" fill-rule="nonzero" transform="translate(81 15)"/></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/figure_customize.svg b/browser/extensions/onboarding/content/img/figure_customize.svg
new file mode 100644
index 000000000000..0c0cb30df5dc
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/figure_customize.svg
@@ -0,0 +1,561 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="295" height="238">
+ <defs>
+ <linearGradient id="a" x1="-678.179817%" x2="218.03211%" y1="-1879.5122%" y2="503.09878%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="b" x1="-2438.15968%" x2="713.035484%" y1="-2346.83281%" y2="705.8875%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="c" x1="-1876.47349%" x2="477.431325%" y1="-2215.7169%" y2="536.030986%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="d" x1="-300.502319%" x2="326.878731%" y1="-277.869139%" y2="301.876261%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="e" x1="-556.386842%" x2="471.897895%" y1="-1050.94952%" y2="809.757143%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="f" x1="-2301.11875%" x2="1769.175%" y1="-4460.38%" y2="3354.584%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="g" x1="-14090.38%" x2="5447.03%" y1="-14085.94%" y2="5451.47%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="h" x1="-1245.88053%" x2="483.093805%" y1="-2962.82857%" y2="1024.39796%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="i" x1="-4762.32308%" x2="1072.27051%" y1="-2525.31233%" y2="591.799315%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="j" x1="-419.785061%" x2="175.867683%" y1="-263.047589%" y2="146.541719%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="k" x1="-13945.16%" x2="5592.25%" y1="-13931.16%" y2="5606.26%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="l" x1="-93.8791876%" x2="171.036409%" y1="-368.29%" y2="383.149231%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="m" x1="-105.119971%" x2="175.589943%" y1="-106.702736%" y2="160.566895%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="n" x1="-4526.45652%" x2="3968.06957%" y1="-3864.98889%" y2="3371.08889%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="o" x1="-1590.58053%" x2="2387.43252%" y1="-835.835705%" y2="1325.72397%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="p" x1="-1174.27536%" x2="1657.23333%" y1="-1275.87873%" y2="1781.26242%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="q" x1="-8557.56%" x2="10979.85%" y1="-4234.38%" y2="5534.325%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="r" x1="-949.737079%" x2="1245.47865%" y1="-1023.81277%" y2="1336.75514%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="s" x1="-850.555238%" x2="1010.15048%" y1="-759.279881%" y2="912.10717%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="t" x1="-2526.775%" x2="962.048214%" y1="-2513.94763%" y2="949.261152%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="u" x1="-953.117868%" x2="406.88755%" y1="-1083.71008%" y2="471.112383%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="v" x1="-1736.94827%" x2="671.463404%" y1="-2238.58822%" y2="855.656147%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="w" x1="-9592.54%" x2="9944.87%" y1="-9613.77%" y2="9923.64%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="x" x1="-546.9251%" x2="669.232184%" y1="-637.97868%" y2="716.339388%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="y" x1="-2626.25%" x2="2515.17368%" y1="-10166.57%" y2="9370.85%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="z" x1="-26076.58%" x2="9092.02%" y1="-26064.58%" y2="9104.02%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="A" x1="-11996.8348%" x2="3293.86087%" y1="-4084.84179%" y2="1164.20299%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="B" x1="-1988.44219%" x2="759.104687%" y1="-1576.81875%" y2="621.219375%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="C" x1="-4889.30185%" x2="1623.40185%" y1="-2351.25495%" y2="817.087387%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="D" x1="-2655.5559%" x2="951.48%" y1="-6714.61282%" y2="2302.97692%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="E" x1="-11418.996%" x2="2648.448%" y1="-28603.67%" y2="6564.93%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="F" x1="-1067.54883%" x2="792.163033%" y1="-899.682353%" y2="691.657014%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="G" x1="-3245.82558%" x2="2272.05861%" y1="-2753.32267%" y2="1935.824%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="H" x1="-835.133806%" x2="827.684161%" y1="-835.133806%" y2="827.684161%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="I" x1="-4541.82131%" x2="1223.52295%" y1="-2322.54576%" y2="657.84322%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="J" x1="-2057.47051%" x2="889.742903%" y1="-1738.77914%" y2="791.335971%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="K" x1="-1278.62667%" x2="1189.34526%" y1="-1278.9986%" y2="1188.97333%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="L" x1="-6112.0075%" x2="2680.1425%" y1="-6270.03333%" y2="2747.55641%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="M" x1="-1115.93023%" x2="572.391158%" y1="-1175.6355%" y2="582.7945%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="N" x1="-9656.07586%" x2="2471.02759%" y1="-9322.84667%" y2="2400.02%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="O" x1="-7887.73698%" x2="3321.17237%" y1="-6188.2325%" y2="2603.9175%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="P" x1="-984.783738%" x2="288.77261%" y1="-1902.68288%" y2="506.125342%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="Q" x1="-2522.67732%" x2="1102.95155%" y1="-5039.01837%" y2="2138.24694%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="R" x1="-5921.7225%" x2="2870.4275%" y1="-6075.45385%" y2="2942.1359%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="S" x1="-5881.53%" x2="2910.62%" y1="-5881.26%" y2="2910.89%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="T" x1="-5841.3375%" x2="2950.8125%" y1="-5841.4525%" y2="2950.6975%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="U" x1="-7423.23691%" x2="3785.67244%" y1="-5801.6425%" y2="2990.5075%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="V" x1="-4020.34%" x2="1003.74571%" y1="-2527.16182%" y2="669.983636%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="W" x1="-4517.96032%" x2="1064.35714%" y1="-5480.38654%" y2="1282.80577%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="X" x1="-3834.66828%" x2="2163.11753%" y1="-3992.49299%" y2="2248.99581%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="Y" x1="-132.800878%" x2="141.123835%" y1="-126.933901%" y2="145.268963%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="Z" x1="-8624.4%" x2="10913.01%" y1="-4751.06111%" y2="6103.05556%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aa" x1="-20576.83%" x2="14591.77%" y1="-11391.2944%" y2="8146.81667%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ab" x1="-3210.85073%" x2="1716.38147%" y1="-3721.57455%" y2="1963.19067%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ac" x1="-964.539164%" x2="305.324758%" y1="-1877.16986%" y2="531.638356%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ad" x1="-5971.9075%" x2="2820.24%" y1="-7463.6%" y2="3526.5875%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ae" x1="-3626.20024%" x2="2128.73795%" y1="-3780.54791%" y2="2217.23789%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="af" x1="-3545.17742%" x2="2127.17742%" y1="-3793.28448%" y2="2270.26724%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ag" x1="-8571.16538%" x2="4955.21923%" y1="-4812.20217%" y2="2833.14565%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ah" x1="-921.592388%" x2="295.314187%" y1="-948.070803%" y2="335.454745%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ai" x1="-1521.4596%" x2="706.721231%" y1="-1247.46875%" y2="591.922626%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aj" x1="-678.258824%" x2="423.307164%" y1="-682.475952%" y2="429.068947%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ak" x1="-6036.96%" x2="2755.19%" y1="-6038.3275%" y2="2753.82%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="al" x1="-876.033667%" x2="359.821607%" y1="-805.490909%" y2="336.346753%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="am" x1="-6523.57663%" x2="4813.74946%" y1="-5038.58141%" y2="3749.13318%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="an" x1="-2645.94937%" x2="963.166315%" y1="-6683.46667%" y2="2334.12564%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ao" x1="-6631.98345%" x2="4705.34265%" y1="-5121.96932%" y2="3665.74527%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ap" x1="-1435.66843%" x2="1068.42563%" y1="-2846.04456%" y2="2010.54343%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aq" x1="-2633.78646%" x2="975.329221%" y1="-6654.88205%" y2="2362.70769%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ar" x1="-2206.3925%" x2="2189.6825%" y1="-2444.83034%" y2="2406.01103%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="as" x1="-5385.00363%" x2="1874.66412%" y1="-10484.884%" y2="3582.556%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="at" x1="-2391.91311%" x2="1397.1783%" y1="-5593.4125%" y2="3198.7375%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="au" x1="-2264.71662%" x2="1521.15732%" y1="-5306.3925%" y2="3485.7575%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="av" x1="-8124.26538%" x2="5402.11923%" y1="-4560.45%" y2="3084.89783%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aw" x1="-651.882139%" x2="479.56521%" y1="-1403.71323%" y2="934.962067%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ax" x1="-782.651586%" x2="579.099454%" y1="-1688.18577%" y2="1133.37245%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ay" x1="-2808.00445%" x2="930.963547%" y1="-4874.39455%" y2="1519.89636%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="az" x1="-3080.27111%" x2="827.351111%" y1="-4651.45333%" y2="1209.98%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aA" x1="-17842.03%" x2="17326.57%" y1="-17824.13%" y2="17344.47%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aB" x1="-4927.80617%" x2="7466.4141%" y1="-2177.67416%" y2="3371.61183%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aC" x1="-20583.89%" x2="14584.71%" y1="-5842.07714%" y2="4206.09429%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aD" x1="-13953.96%" x2="21214.64%" y1="-2172.57143%" y2="3409.74603%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aE" x1="-13796.3%" x2="21372.3%" y1="-1986.00882%" y2="3185.84412%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aF" x1="-13888.17%" x2="21280.43%" y1="-2353.96379%" y2="3709.58793%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aG" x1="-9372.00909%" x2="6613.71818%" y1="-2958.36812%" y2="2138.53043%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aH" x1="-16384.5222%" x2="12067.4729%" y1="-4573.9%" y2="3418.96364%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aI" x1="-17462.5%" x2="5983.23333%" y1="-13777.5842%" y2="4732.21053%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aJ" x1="-7480.69%" x2="7500.95%" y1="-7483.33%" y2="7498.32%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aK" x1="-7021.27187%" x2="3968.91562%" y1="-20520.9909%" y2="11450.4636%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aL" x1="-9826.0913%" x2="5464.60435%" y1="-22671.15%" y2="12497.45%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aM" x1="-2964.13075%" x2="2873.3758%" y1="-3993.57709%" y2="3854.15587%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aN" x1="-2330.22879%" x2="2205.28384%" y1="-2914.60952%" y2="2667.70794%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aO" x1="-1407.98283%" x2="1424.97017%" y1="-1728.51863%" y2="1719.38333%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aP" x1="-1807.9102%" x2="1780.72245%" y1="-2740.56%" y2="2669.99385%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aQ" x1="-1472.82%" x2="1783.415%" y1="-4365.0426%" y2="5068.41814%">
+ <stop stop-color="#FFFBCC" offset="0%"/>
+ <stop stop-color="#FFC9D5" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aR" x1="-511.087979%" x2="436.292949%" y1="-431.133333%" y2="359.905%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aS" x1="-2336.83483%" x2="1396.15506%" y1="-7055.5%" y2="4019.03333%">
+ <stop stop-color="#FFE900" offset="18.75%"/>
+ <stop stop-color="#FF0039" offset="100%"/>
+ </linearGradient>
+ </defs>
+ <g fill="none" fill-rule="evenodd">
+ <path d="M149.5 168.5c-.1 0-.1.1-.2.1l-3.3 1.5c-.2.1-.3.1-.5.2.7.3 1.4.5 2.2.5 1.6 0 3.1-.7 4.2-1.9 1-1.1 1.4-2.5 1.3-4-.1-.9-.3-1.7-.7-2.4l-1.6 4.4c-.3.6-.8 1.2-1.4 1.6zM178.7 206.1c-.1-.1-.2-.3-.2-.4l-2 2.7 3.1 1.1-.8-2.6c-.1-.2-.1-.5-.1-.8zM240.6 207.9h0zM168.5 200.6h-.2c-.2.2-.5.3-.7.4l-2.5.7.2.8c1.1.7 2 1.7 2.5 2.9l1 .4 3.7-5c.9-1.2 2.2-1.9 3.7-2l-.1-.3-2.5.7c-.2.1-.4.1-.6.1h-.2c-.2.2-.5.3-.7.4l-3.1.9c-.1-.1-.3 0-.5 0zM146.9 159.8c.1.1.2.1.3.2 0-.1.1-.2.1-.3-.1 0-.2 0-.4.1zM143.3 112.9c.2-.3.4-.6.7-.8l4.4-2.8-.1-.1-4.2 2.7c-.3.2-.6.6-.8 1zM142.2 166c.3-.5.7-1 1.3-1.2h.1l.2-.1-1.9-.7c.2.4.2.8.2 1.3 0 .2.1.4.1.7zM200.9 117.6c-1.9 0-3.2 1-3.9 1.7.7-.7 2-1.7 3.9-1.7zM206.8 158.8c-.1 0-.1.1-.2.1.1 0 .1 0 .2-.1zM174.5 190.8c.2-.1.4-.1.6-.1h.2c.2-.2.5-.3.7-.4.5-.2 1-.2 1.6-.2 2.4 0 4.5 1.5 5.2 3.9.1.3.1.5.1.8.2.2.3.5.4.7l.9 3.1c.1.3.1.5.1.8.2.2.3.5.4.7l.3 1.1c.3.2.6.4.9.7-1.7-3.9-2.3-8.6-1.6-13.7-1.1.2-2.3.3-3.5.3-3.4 0-6.8-1-9.7-2.8-.7-.5-1.4-1-2.1-1.6 1.7 2.3 3.5 4.6 5.3 6.7h.2z
M143.4 119.9c-1.1-.3-2-.8-2.8-1.6l-.7.5v.1l.7-.4c.8.7 1.7 1.2 2.8 1.4.4.2.9.2 1.3.2 1.4 0 2.7-.5 3.8-1.3-1.1.8-2.4 1.3-3.7 1.3-.5 0-.9-.1-1.4-.2zM198.7 120.8c.4-.4 1.2-.9 2.2-.9-1 0-1.8.5-2.2.9zM213.3 214.1c-1 0-2 0-3-.1 1.2 4.1 1.9 6.8 2.2 8.8 3.2-.1 6.5-.2 9.9-.2-.1-1.7-.1-3.8-.1-6.6l-7-2c-.6.1-1.3.1-2 .1zM275.4 138.9l.9-.3c-.1-.7.1-1.4.4-2.1-1.5 2-3.5 3.6-5.8 4.5.1 0 .1.1.2.1.2-.2.5-.3.7-.4 1.1-.7 2.4-1.3 3.6-1.8zM139.9 151.5c.5-.3 1.1-.5 1.7-.5.3 0 .7.1 1 .2.7.3 1.3.8 1.6 1.5.1.1.1.3.1.4 1-.3 2-.4 3-.4-2.2-4.2-4.8-9.7-7.4-15.2v14z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M227.5 226.4c.1.1.1.1.2.1 0 0-.1 0-.2-.1z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M228.2 231c-1.2 0-2.4-.4-3.4-1.2-1.3-1.1-2.1-2-2.4-7.2-3.4 0-6.7.1-9.9.2.6 3.3.2 4.4-.7 5.6-1 1.4-2.6 2.2-4.3 2.2-2.9 0-5.3-2.1-9.6-7-15.1 1.3-25.3 3.8-25.3 6.6 0 4.3 23.1 7.7 51.6 7.7s51.6-3.4 51.6-7.7c0-3.6-16.7-6.7-39.3-7.5-2.3 5.7-5.1 8.3-8.3 8.3z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M158.9 75.5h13.4c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-13.4c-.3 0-.6.2-.6.6.1.4.3.6.6.6zM155.4 85.7c0-.3-.2-.6-.6-.6h-13.4c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h13.4c.3-.1.6-.3.6-.6z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M134.3 114.7l.6-.4.4-.2c0-.7.1-1.3.2-2 0-.1.1-.2.1-.4-.4-.9-.8-2-1.2-3v6h-.1zM131.8 102.3c-.1-.3 0-.6.3-.7.3-.1.6 0 .7.3l.3.9V67h-13c.7 2.2 1.8 5.2 3.1 8.8.1.3 0 .6-.3.7h-.2c-.2 0-.4-.1-.5-.4-1.3-3.8-2.4-7-3.2-9.2h-3.4c1.1 3.8 3.1 10.1 5.8 18.2l-.1-.5c1.6 4.4 8.9 24.1 11.5 31l.4-.3v-9.5c-.6-1.4-1.1-2.7-1.4-3.5zM121.2 91.2c-3.9-10.9-6.6-19.6-7.9-24.2H7.1v98.7c0 .6 0 .9.1 1 .1 0 .4.1 1 .1h124c.6 0 .9 0 1-.1 0-.1.1-.4.1-1v-38.4l-1.6 1-.4.2c-.3.2-.6.4-1 .6-.6.3-1.2.4-1.9.4h-.2c-2 0-3.8-1.2-4.6-3-1-2.2-.3-4.7 1.5-6 .2-.2.5-.3.7-.5l2.3-1.4 2.7-1.7c-2.5-6.4-7-18.6-9.6-25.7zm-25.6 27.1h-7.1c-.5 2.1-1.4 4-2.6 5.8l5.1 5.1c1.2 1.6 1.2 3.6.1 5.1-.8 1.1-2 1.7-3.4 1.7-.9 0-1.8-.3-2.5-.8L80 130c-1.8 1.1-3.8 1.8-5.8 2.3v7.1c0 2.3-1.9 4.2-4.2 4.2-2.3 0-4.2-1.9-4.2-4.2V132c-2-.4-4-1.2-5.8-2.3l-4.7 5.1c-.2.3-.5.6-.8.8-.7.6-1.6.8-2.5.8-1.3 0-2.6-.6-3.4-1.7-1.4-1.9-1-4.5.8-5.9l5-4.7c-1.1-1.8-1.8-3.7-2.3-5.8H45c-2.3 0-4.2-1.9-4.2-4.2 0-2.3 1.9-4.2 4.2-4.2h7.1c
.4-2.1 1.2-4 2.3-5.8l-5.1-4.7c-.9-.9-1.3-2-1.3-3.2 0-1.2.5-2.3 1.3-3.1.8-.8 2-1.3 3.1-1.3 1.2 0 2.3.5 3.1 1.3l4.7 5.1c1.8-1.1 3.7-1.8 5.8-2.3v-7.1c0-2.3 1.9-4.2 4.2-4.2 2.3 0 4.2 1.9 4.2 4.2v7.1c2.1.4 4 1.2 5.8 2.3l5.1-5.1c.8-.6 1.7-.9 2.6-.9.9 0 1.8.3 2.5.8.9.7 1.5 1.7 1.6 2.8.2 1.1-.1 2.2-.8 3.1l-5.1 5.1c1.1 1.8 1.8 3.8 2.3 5.8h7.1c2.3 0 4.2 1.9 4.2 4.2.2 2.4-1.7 4.3-4.1 4.3zm28.9-11.5c.3-.1.6.1.7.3l1.7 4.7c.1.3-.1.6-.3.7h-.2c-.2 0-.4-.1-.5-.4l-1.7-4.7c-.1-.2.1-.5.3-.6z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M70.3 103.8c-5.6 0-10.2 4.6-10.2 10.2s4.6 10.2 10.2 10.2 10.2-4.6 10.2-10.2c.1-5.6-4.5-10.2-10.2-10.2zM137.7 124.4l-.9.6.9 2.1v-2.7zM135.3 121.7s0 .1 0 0l2.4-1.5v-.1l-2.4 1.6z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M134.8 126.3l-.5.3v39.1c0 1.9-.3 2.2-2.2 2.2H8.1c-1.9 0-2.2-.3-2.2-2.2V65.8h107c-.2-.8-.4-1.4-.4-1.8-.1-.6.3-1.2.9-1.3.6-.1 1.2.3 1.3.9.1.4.3 1.2.6 2.2h3.4l-.8-2.4c-.1-.3.1-.6.4-.7.3-.1.6.1.7.4 0 0 .3 1 .9 2.7h14.5v39.7c.6 1.5 1.3 3.1 1.8 4.4.4-.9.9-1.6 1.6-2.3V49.7c0-2.3-1.9-4.2-4.2-4.2H6.8c-2.3 0-4.2 1.9-4.2 4.2v118c0 2 1.8 3.7 3.9 3.7h127.3c1 0 1.9-.4 2.6-.9-.8-1.6-1.2-3.4-1.3-5.3 0-1.5.9-2.7 2.2-3.3-.8-.8-1.1-2-.7-3.1l1.1-2.9v-23.4c-1-2.1-2-4.3-2.9-6.2zm-18.1-73.5c.3-.1.5 0 .6.3l1.9 5.3v.1c.1.3-.1.5-.4.6h-.1c-.2 0-.4-.1-.4-.3l-1.9-5.3c-.1-.4.1-.6.3-.7zm-1.7.4c0-.3.2-.5.5-.5s.5.2.5.5v5.3c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-5.3zm-1.5.5c0-.3.2-.5.5-.5s.5.2.5.5v4.8c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-4.8zm-1.4-1c0-.3.2-.5.5-.5s.5.2.5.5v5.8c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-5.8zm-77.7 2.7c0-1.7 1.4-3.1 3.1-3.1h63.6c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.7-1.4 3.1-3.1 3.1H37.5c-1.7 0-3.1-1.4-3.1-3.1v-.3zM22 52.7c1.6 0 2.9 1.3 2.9 2.9 0 1.6-1.3 2.9-2.9 2.9-1.6 0-2.9-1.3
-2.9-2.9.1-1.6 1.3-2.9 2.9-2.9zm-9.2 0c1.6 0 2.9 1.3 2.9 2.9 0 1.6-1.3 2.9-2.9 2.9-1.6 0-2.9-1.3-2.9-2.9.1-1.6 1.3-2.9 2.9-2.9z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M129.1 125.6c-.1.1-.2.2-.4.2-.2.1-.4.1-.6.1.2 0 .4 0 .6-.1.2 0 .3-.1.4-.2l4.1-2.5v-.1l-4.1 2.6z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M137.7 120.2v.1l2.2-1.5M139 115.8c-.2-.5-.2-1-.3-1.5 0 .5.1 1 .3 1.5z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M133.8 171.4H6.5c-2.2 0-3.9-1.6-3.9-3.7v-118c0-2.3 1.9-4.2 4.2-4.2h126.6c2.3 0 4.2 1.9 4.2 4.2V107.6c.6-.7 1.4-1.3 2.2-1.8V81.2h27.6c.1-.2.2-.4.2-.6 0-.2.3-.2.3 0 .1.2.1.4.2.6h14.5c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-42.8V49.7c0-3.6-2.9-6.5-6.5-6.5H6.8c-3.6 0-6.5 2.9-6.5 6.5v118c0 3.3 2.8 5.9 6.1 5.9h127.3c1.4 0 2.7-.5 3.7-1.2-.4-.6-.8-1.3-1.1-1.9-.7.5-1.6.9-2.5.9z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M137.7 127.1l-.9-2.1-1.9 1.2c.9 2 1.9 4.1 2.9 6.3V156l1.2-3.2c.2-.5.6-1 1-1.3v-14.1c2.6 5.5 5.2 11 7.4 15.2h.4c.7 0 1.4.1 2.1.2-3.1-6.1-6.1-12.1-8.7-17.9-.2-.5-.7-1.5-1.2-2.7V123l-2.2 1.4v2.7h-.1z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M134.3 65.8h-14.5c-.6-1.7-.9-2.7-.9-2.7-.1-.3-.4-.4-.7-.4-.3.1-.4.4-.4.7l.8 2.4h-3.4c-.3-1-.5-1.8-.6-2.2-.1-.6-.7-1-1.3-.9-.6.1-1 .7-.9 1.3.1.4.2 1 .4 1.8H6v99.8c0 1.9.3 2.2 2.2 2.2h124c1.9 0 2.2-.3 2.2-2.2v-39.1l-1.1.7v38.4c0 .6 0 .9-.1 1-.1 0-.4.1-1 .1H8.2c-.6 0-.9 0-1-.1 0-.1-.1-.4-.1-1V67h106.2c1.3 4.6 4 13.3 7.9 24.2h.1c2.5 7.2 7.1 19.3 9.6 25.7l2-1.2c-2.7-6.9-9.9-26.7-11.5-31l.1.5c-2.8-8.1-4.7-14.4-5.8-18.2h3.4c.8 2.2 1.8 5.4 3.2 9.2.1.2.3.4.5.4h.2c.3-.1.4-.4.3-.7-1.3-3.6-2.3-6.6-3.1-8.8h13v35.8l-.3-.9c-.1-.3-.4-.4-.7-.3-.3.1-.4.4-.3.7.3.8.8 2.1 1.4 3.5v9.5l.2-.1.9-.6v-6c.4 1.1.8 2.1 1.2 3l.6-1.8c-.5-1.3-1.2-2.9-1.8-4.4V65.8h-.1zM12.8 58.4c1.6 0 2.9-1.3 2.9-2.9 0-1.6-1.3-2.9-2.9-2.9-1.6 0-2.9 1.3-2.9 2.9.1 1.7 1.3 2.9 2.9 2.9zM22 58.4c1.6 0 2.9-1.3 2.9-2.9 0-1.6-1.3-2.9-2.9-2.9-1.6 0-2.9 1.3-2.9 2.9.1 1.7 1.3 2.9 2.9 2.9zM37.5 58.8h63.6c1.7 0 3.1-1.4 3.1-3.1v-.3c0-1.7-1.4-3.1-3.1-3.1H37.5c-1.7 0-3.1 1.4-3.1 3.1v.3c0 1.7 1.4 3.1 3
.1 3.1z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M95.6 109.8h-7.1c-.4-2.1-1.2-4-2.3-5.8l5.1-5.1c.7-.9 1-2 .8-3.1-.2-1.1-.7-2.1-1.6-2.8-.7-.6-1.6-.8-2.5-.8-.9 0-1.8.3-2.6.9l-5.1 5.1c-1.8-1.1-3.7-1.8-5.8-2.3v-7.1c0-2.3-1.9-4.2-4.2-4.2-2.3 0-4.2 1.9-4.2 4.2v7.1c-2.1.4-4 1.2-5.8 2.3l-4.7-5.1c-.8-.8-2-1.3-3.1-1.3-1.2 0-2.3.5-3.1 1.3-.8.8-1.3 2-1.3 3.1 0 1.2.5 2.3 1.3 3.2l5.1 4.7c-1.1 1.8-1.8 3.7-2.3 5.8H45c-2.3 0-4.2 1.9-4.2 4.2 0 2.3 1.9 4.2 4.2 4.2h7.1c.4 2.1 1.2 4 2.3 5.8l-5 4.7c-1.9 1.4-2.2 4.1-.8 5.9.8 1.1 2 1.7 3.4 1.7.9 0 1.8-.3 2.5-.8.3-.2.6-.5.8-.8l4.7-5.1c1.8 1.1 3.7 1.8 5.8 2.3v7.4c0 2.3 1.9 4.2 4.2 4.2 2.3 0 4.2-1.9 4.2-4.2v-7.1c2.1-.4 4-1.2 5.8-2.3l5.1 5.1c.7.6 1.6.8 2.5.8 1.3 0 2.6-.6 3.4-1.7 1.1-1.5 1.1-3.6-.1-5.1l-5.1-5.1c1.2-1.8 2.1-3.7 2.6-5.8h7.1c2.3 0 4.2-1.9 4.2-4.2.2-2.3-1.7-4.2-4.1-4.2zm-25.3 14.5c-5.6 0-10.2-4.6-10.2-10.2s4.6-10.2 10.2-10.2 10.2 4.6 10.2 10.2c.1 5.6-4.5 10.2-10.2 10.2zM115.3 21.3h1.1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-1.1c-.3 0-.6.2-.6.6 0 .4.3.6.6.
6zM126.4 21.3h4.5c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-4.5c-.3 0-.6.2-.6.6.1.4.3.6.6.6zM34.1 20.6h13.4c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6H34.1c-.3 0-.6.2-.6.6.1.4.3.6.6.6zM82 8.5c.1.1.3.2.4.2.1 0 .2 0 .3-.1.2-.2.3-.5.1-.8-.7-.9-1.5-1.8-2.3-2.5-.2-.2-.6-.2-.8 0-.2.2-.2.6 0 .8.8.7 1.6 1.5 2.3 2.4zM109.7 21c.1.2.3.3.5.3h.6c.3 0 .6-.2.6-.6 0-.4-.2-.6-.6-.6h-.3c-.2-.4-.6-1.2-1.2-2.1-.2-.3-.5-.3-.8-.2-.3.2-.3.5-.2.8.9 1.3 1.3 2.2 1.4 2.4zM59.6 4.4c.1 0 .2 0 .3-.1 1.6-1.2 3.7-2.1 6.4-2.4 2.1-.3 4-.2 5.9.2.3.1.6-.1.7-.4.1-.3-.1-.6-.4-.7-2-.4-4.1-.5-6.3-.2-2.9.4-5.2 1.3-6.9 2.7-.2.2-.3.5-.1.8 0 0 .2.1.4.1zM91.5 7.8c1.3-.4 2.7-.5 4.3-.2 2.3.4 4.8 1.8 7.2 4.1.1.1.2.2.4.2.1 0 .3-.1.4-.2.2-.2.2-.6 0-.8-2.6-2.5-5.2-3.9-7.7-4.4-1.8-.3-3.4-.3-4.9.2-.3.1-.4.4-.4.7.1.4.4.5.7.4zM84.9 13c.1.2.3.3.5.3.1 0 .2 0 .2-.1.3-.1.4-.5.3-.7-.1-.3-.3-.6-.5-1-.1-.3-.5-.4-.8-.2-.3.1-.4.5-.2.8.2.3.3.7.5.9zM56.2 14.5c.1 0 .1 0 0 0 .4 0 .6-.3.6-.6 0-.4-.1-.7-.1-1.1 0-.3-.3-.5-.6-.5H56c-.2.1-.4.3-.4.6 0 .4.1.8.1 1.1 0 .1 0 .
1.1.2 0 .2.2.3.4.3zM58.3 20.4c.1-.2.1-.4 0-.5 0 0-.3-.7-.6-1.7-.1-.3-.4-.5-.7-.4-.3.1-.5.4-.4.7.1.4.3.7.4 1h-.7c-.2.1-.4.3-.4.5 0 .3.2.6.6.6H57.9c.2 0 .3-.1.4-.2z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M33.7 25.5h97.9c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-22.8c-2-3.7-7.1-11.7-13.4-12.9-8.4-1.6-10 6.7-10 6.7S79.8 2.6 65.8 4.5c-6.5.9-9 4.2-9.8 7.8h.1c.3 0 .6.2.6.5 0 .4.1.7.1 1.1 0 .3-.2.6-.5.6h-.1c-.2 0-.4-.1-.5-.3-.1 1.9.1 3.8.5 5.3H57c-.1-.3-.2-.6-.4-1-.1-.3.1-.6.4-.7.3-.1.6.1.7.4.3 1 .6 1.7.6 1.7.1.2.1.4 0 .5-.1.2-.3.3-.5.3h-1.3c.4 1.5.9 2.5.9 2.7H33.7c-.6 0-1.1.5-1.1 1.1 0 .5.5 1 1.1 1z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M205.5 42.3c.1 0 .3-.1.4-.2.6-.7 1.5-1.1 2.6-1.4.3-.1.5-.4.4-.7-.1-.3-.4-.5-.7-.4-1.3.4-2.4.9-3.1 1.7-.2.2-.2.6 0 .8.1.2.3.2.4.2zM212.7 40.5c.4.1.7.2 1 .3h.2c.2 0 .5-.1.5-.4.1-.3-.1-.6-.4-.7-.4-.1-.8-.2-1.1-.3-.3-.1-.6.1-.7.4 0 .4.2.7.5.7zM238.3 50.7h3.3c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-3.3c-.3 0-.6.2-.6.6 0 .4.3.6.6.6zM221.2 46.7c.3-1 1.2-3.2 3.8-3.2.3 0 .7 0 1 .1 1.6.3 3.2 1.3 4.8 3 .2.2.6.2.8 0 .2-.2.2-.6 0-.8-1.8-1.9-3.6-3-5.4-3.4-.4-.1-.8-.1-1.2-.1-3.5 0-4.6 3-4.9 4-.1.3.1.6.4.7h.2c.1 0 .2 0 .3-.1.1.1.2 0 .2-.2zM205.5 50.6c.1-.2.1-.4 0-.5l-.1-.1c-.1-.3-.4-.4-.7-.3-.1 0-.1.1-.2.1h-12.7c-.3 0-.6.2-.6.6 0 .3.2.6.6.6H205c.2-.1.4-.2.5-.4z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M191.7 54.6h54.4c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-12.9c-1.1-2.1-3.9-6.5-7.4-7.2-2.4-.5-3.8.5-4.6 1.6 0 .1-.1.2-.2.3-.6 1-.8 1.9-.8 1.9s-3.1-8-10.9-7c-5.7.8-6 5-5.4 7.8h.7s.1-.1.2-.1c.3-.1.6 0 .7.3l.1.1c.1.2.1.4 0 .5-.1.2-.3.3-.5.3h-.9c.2.9.5 1.4.5 1.5h-13.2.2c-.6 0-1.1.5-1.1 1.1-.1.6.4 1.1 1.1 1.1z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M107.4 231.1c-4 0-5.8-2.5-6.2-4.6l-.1-.5c-7 .5-12.1 2.1-12.1 4 0 2.3 7.3 4.1 16.3 4.1s16.3-1.8 16.3-4.1c0-1.4-2.7-2.6-6.7-3.3-.2.7-.6 1.3-1 1.9-2 2.4-5.7 2.5-6.5 2.5z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M227.3 225.7c-.1-.3-.1-.6-.1-1 0 .4 0 .7.1 1zM228 226.5h-.1.1zM226.9 216v0zM199.5 218.8c.3.3.5.6.8.9-.3-.3-.6-.6-.8-.9z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M237.7 208.7c1-.3 1.9-.5 2.8-.8h.1c6.5-2 12.4-4.7 17.4-7.6-7.2 3.5-15 5-20 5.6 0 1-.1 1.9-.3 2.8z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M241.9 163c.1-.2.2-.4.2-.6 0 .2-.1.4-.2.6zM234.1 70.2c-.3 0-.5-.1-.8-.1-.3 0-.7 0-1 .1.3 0 .7-.1 1-.1.2 0 .5 0 .8.1zM232 70.2c-2.5.4-4.6 2.2-5.5 4.5.9-2.3 3-4 5.5-4.5zM219.1 84.9c0-.1 0-.1 0 0 0-.1 0-.1 0 0zM221.2 79.8c.5-.5 1.1-.9 1.7-1.3-.6.3-1.2.8-1.7 1.3zM226 76.7c-.4.3-.7.7-1 1-.7.1-1.4.4-2.1.7.6-.3 1.3-.6 2.1-.7.3-.3.7-.6 1-1zM207.3 226.3s0-.1 0 0h-.1c0-.1.1 0 .1 0zM263.6 172.3c-.4.1-.8.3-1.2.4.4-.1.8-.2 1.2-.4zM248.7 65.6h.8c-.3.1-.5 0-.8 0zM237.3 69.6c1.3-.5 2.6-.9 4-1.2-1.4.4-2.7.8-4 1.2zM189.2 186.5v0zM252.5 139.1h-1c.3.1.6.1 1 0zM272.6 164c-.5 1.3-1.7 3.4-3.8 5.3 2.2-2 3.3-4.1 3.8-5.3zM262.6 67.9h-.6.6zM219.1 84.9c0 .3 0 .7.1 1-.2.3-.3.6-.5 1 .2-.3.3-.7.5-1 0-.3-.1-.6-.1-1zM202.8 96.1c.1.1.1.2.2.2.1.1.3.2.4.3-.1-.1-.3-.2-.4-.3-.1 0-.2-.1-.2-.2zM202.5 90.4c-.1-.1-.2-.1-.2-.2-.1-.1-.1-.2-.2-.3 0 .1.1.3.2.3l.2.2zM259.2 140.3h-.3.3zM277.1 177.5c-.1 0-.1 0 0 0-.1 0-.1 0 0 0-.1.1-.1 0 0 0zM274.7 180c0-.1 0-.1 0 0-.2 0-.4-.1-.6-.1.2 0
.4 0 .6.1z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M235.8 218c-.5 1.4-1.1 3.2-2 4.9-1.5 3.1-3.5 5.9-5.8 5.9-.7 0-1.3-.2-1.8-.6-.6-.5-1.2-.9-1.4-5.4-.1-1.5-.1-3.5-.1-6.2-.5 0-1-.1-1.6-.2l-.7-.2c0 2.8 0 4.9.1 6.6.2 5.1 1 6.1 2.4 7.2 1 .8 2.1 1.2 3.4 1.2 3.2 0 6-2.7 8.4-8.1.6-1.3 1.2-2.8 1.7-4.4.7-2 1.3-4.8 1.9-8.2-.9.3-1.9.5-2.9.8-.5 2.6-1.1 4.9-1.6 6.7zM265 198.7c-2.4 1.6-5 3.1-7.8 4.7 1.6-.7 3.1-1.4 4.6-2.3h.2c3.7 0 7.1-.5 10.2-1.4-1.7-.2-3.3-.6-4.7-1.3-.8.1-1.6.2-2.5.3z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M284.9 173c.8-.7 1.8-1.2 2.9-1.2.4 0 .7 0 1 .1h.1c-.7-.6-1.5-1.1-2.4-1.2-.3-.1-.6-.1-.8-.1-.8 0-1.6.2-2.3.6l-.2.2c.6.6 1.2 1.1 1.7 1.6zM287.7 188c.3-.6.6-1.1.9-1.7-.4.3-.8.6-1.3.8.1.4.3.6.4.9z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M266.3 154.9c-1.2.6-2.1.9-2.7 1.2-.3.1-.6.2-.8.3-.2.1-.3.1-.3.1-.2.1-.4.1-.7.1-.6 0-1.2-.3-1.7-.7-6.4 3.3-13.7 6.8-16.1 7.9-.1.2-.2.4-.2.6.8-.1 1.7-.1 2.5-.1 3.5 0 6.8.6 9.7 1.8 2.7 1.1 5 2.5 7 4.3 6.4-2.4 7.9-7.8 7.9-8 .2-.9.9-1.5 1.8-1.7h.3c.8 0 1.5.4 1.9 1.1.1.2 1.7 2.9 2.3 7.1 1 .2 2 .6 2.9 1-.5-5.5-2.5-9.1-2.9-9.7-.9-1.4-2.4-2.3-4-2.3-.2 0-.5 0-.7.1-1.9.3-3.4 1.7-3.9 3.5 0 .1-1 3.6-5.1 5.7-1.9-1.4-4-2.7-6.4-3.7-1.3-.6-2.8-1-4.2-1.3 5.1-2.5 10.1-5 13.8-7.1-.1-.1-.1-.2-.2-.2 0-.1-.1-.1-.2 0z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M265.3 137.7h.5-.5zM246.3 166.4h-.3H246.3z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M284.3 126.3l1.2-1.8c4.6-2.2 7.4-7.2 6.8-12.3v-.2c1.4-2.3 2-5 1.7-7.7-.3-2.4-1.3-4.6-2.8-6.4-.3-2.1-.7-4.1-1.3-6.1v-1c0-4-2-7.7-5.3-9.9-2.8-4.1-6.5-7.8-10.6-10.6-1.8-4.4-6.2-7.3-11-7.3-1.4 0-2.9.3-4.3.8-.8-.2-1.6-.4-2.4-.5-2.1-1.6-4.7-2.5-7.3-2.5-.5 0-1 0-1.5.1-2.2.3-4.4 1.2-6.1 2.6-2.1.4-4.2 1.1-6.2 1.9-.6-.1-1.1-.1-1.7-.1-5.2 0-9.9 3.5-11.4 8.4-4.4 1.8-7.4 6.2-7.4 11.1v.2c-.2.5-.4 1-.6 1.4-.4.4-.8.7-1.2 1.2-.1-2.2-1.1-4.2-2.2-6.3-.2-.4-.4-.8-.6-1.3-.9-1.8-2.7-3-4.6-3-3.8 0-5.5 3.8-6.2 5.3-1 2.1-2.3 5.9-1.3 9-.4 3.7.2 6.5 1.8 8.2.1.6.2 1.3.4 1.8-8.4 3.3-26.4 11.2-32.7 19.4-1.9 2.4-2.2 5.7-1 9.8 2.6 8.9 10.6 18.2 15.5 20.1 6.2 2.3 14.3 3.8 22.5 4.3-4.1 1.6-7.4 2.9-10 4.1.6.7 1.1 1.4 1.6 2.2 2.6-1.1 5.7-2.3 9.5-3.9 1.9-1.6 3.9-3.1 6-4.5h-2c-9.9 0-19.7-1.6-27.1-4.3-5.2-1.9-12.1-11.9-14-18.4-.9-3.3-.7-5.8.6-7.6 5.6-7.3 22.8-15.2 33.8-19.4-.6-1.4-.9-3-1.1-4.6l-.1-.1c-1.4-1.1-1.9-3.5-1.5-7.1-1.1-2.3.3-6 1.1-7.6 1.2-2.6 2.4-3.8 3.9-3.8 1 0 1
.9.6 2.4 1.6.2.5.5.9.7 1.3 1.2 2.3 2.2 4.3 1.8 6.3.7 1 1.3 2.1 1.4 3.4.7.6 1.3 1.1 1.9 1.7-.1-.3-.1-.7-.1-1.1 0-2 1-3.8 2.6-4.8.3-.8.7-1.7 1.1-2.5v-.7c0-4.3 2.9-8 7-9.1l.1-.1c.8-4.4 4.7-7.8 9.3-7.8.7 0 1.3.1 2 .2 2.3-1 4.6-1.7 7-2.1 1.5-1.4 3.3-2.2 5.3-2.5.4 0 .8-.1 1.2-.1 2.3 0 4.5.9 6.2 2.4 1.2.2 2.4.5 3.6.8 1.3-.6 2.7-.9 4.1-.9 4.1 0 7.7 2.6 9 6.4 4.3 2.8 8 6.5 10.8 10.8 2.8 1.7 4.6 4.8 4.6 8.1 0 .4 0 .8-.1 1.3.7 2.3 1.2 4.6 1.5 7 1.5 1.5 2.5 3.4 2.7 5.6.3 2.5-.4 4.9-1.8 6.8.1.4.2.7.2 1.1.5 4.3-2 8.5-6 10-.6 1-1.2 1.9-1.8 2.8-.5 3.2-2.7 5.8-5.7 6.9-1.6 4.5-5.8 7.5-10.7 7.5-.5 0-1 0-1.5-.1-1 1.6-2.8 2.7-4.9 2.7-1.4 0-2.7-.5-3.7-1.3-1.3.2-2.7.2-4 .2-.4 1.9-1 3.9-1.6 5.8 8.1-1.9 16.9-3.8 18-3.9h.8c.1-.1.3-.2.4-.3l.6-.5c.2-.2.4-.3.6-.4.4-.3.8-.6 1.2-.8-.1 0-.1-.1-.2-.1 2.3-1 4.3-2.5 5.8-4.5.2-.4.4-.7.7-.9.3-.5.5-.9.8-1.4 2.8-2 5.1-4.9 5.8-8.4z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M287.7 101.9c-.4-.6-.9-1.1-1.4-1.5.6.4 1 .9 1.4 1.5zM286.9 111.2c.2.6.4 1.2.5 1.9 0 .2 0 .5.1.7 0-.2 0-.5-.1-.7-.1-.7-.3-1.3-.5-1.9zM289 106c0-.3 0-.6-.1-.9 0-.4-.1-.7-.2-1.1.1.3.2.7.2 1.1.1.3.1.6.1.9zM263.6 137.5c-.3-.1-.7-.1-1-.2h-.1.1c.3.1.6.1 1 .2zM259.6 140.2c.4-.1.7-.2 1.1-.4-.4.2-.7.4-1.1.4zM188.5 192.2v0zM218.2 88.3c-.2.4-.4.9-.5 1.3-.2.1-.3.1-.5.2.1-.1.3-.2.5-.2.1-.4.3-.9.5-1.3zM186 170.6c0-.1-.1-.1-.1-.2 0 .1 0 .2.1.2zM215.8 97.7c0-.4.1-.9.2-1.3-.1.4-.1.8-.2 1.3z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M207.5 230.7c1.7 0 3.3-.8 4.3-2.2.9-1.2 1.3-2.3.7-5.6-.3-2-1.1-4.8-2.2-8.8 1 0 2 .1 3 .1h2.1l-3.8-1.1-4.8-.6c1.6 5.2 2.4 8.5 2.9 10.6.6 3.2.3 3.7-.2 4.3-.5.8-1.4 1.2-2.3 1.2-1.7 0-3.4-1.3-6.6-4.9-.8-.9-1.8-2-2.9-3.3-3.3-3.8-5.6-8.6-7.1-12.7-1-.5-2-1.1-2.9-1.7 1.6 4.8 4.3 11 8.4 15.8.6.8 1.3 1.5 1.8 2.1 4.4 4.8 6.7 6.8 9.6 6.8zM185.9 201.9c1.2.9 2.4 1.7 3.6 2.5l-.3-.9c-2.1-3-3.1-7-3-11.4-.4-.3-.8-.5-1.2-.8-.2-.2-.3-.5-.1-.8.2-.2.5-.3.8-.1.2.1.4.3.6.4.1-1 .2-2.1.3-3.2-.8.3-1.6.5-2.4.6-.5 5.1 0 9.8 1.7 13.7z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M206.8 158.8c.5-.4 1-.9 1.6-1.3-.6.4-1.1.9-1.6 1.3z"/>
+ <path fill="url(#a)" fill-rule="nonzero" d="M237.4 200.4c-.1 1-.2 2-.2 2.9 4.1-.4 10.5-1.6 17.1-4.5 1.7-.8 3.3-1.6 4.7-2.6-.7-.2-1.4-.6-1.9-1.1-3.5 1.9-8.3 4-14.2 4.8-1.9.2-3.7.4-5.5.5z"/>
+ <path fill="url(#b)" fill-rule="nonzero" d="M268.8 169.3c1.6-.6 3.4-.9 5.1-.9.4 0 .7 0 1.1.1-.4-2.3-1.1-4-1.5-4.9-.1-.3-.3-.5-.3-.6v-.1s0 .1-.1.3c0 .1-.1.2-.1.3-.1.1-.1.3-.2.5-.7 1.2-1.8 3.3-4 5.3z"/>
+ <path fill="url(#c)" fill-rule="nonzero" d="M274.9 176.9c-.3 0-.6-.1-.9-.1-2.6 0-5 1.4-6.3 3.6-.3.5-.7 1-1.1 1.4l1.6.4c0-.1.1-.2.2-.3l.9-.7c.2-.2.6-.1.8.1.2.2.1.6-.1.8l-.5.4.9.2c.8.2 1.5.6 2 1.2.7-1.4 1.3-2.8 1.8-4.1.2-1 .5-1.9.7-2.9z"/>
+ <path fill="url(#d)" fill-rule="nonzero" d="M189.9 156.3c-2.8-1.8-6-2.6-9.1-2.6-5.6 0-11.1 2.8-14.3 7.8-5 7.9-2.7 18.3 5.2 23.3 2.8 1.8 6 2.6 9.1 2.6 2.1 0 4.2-.4 6.1-1.1.3-1.5.7-3.1 1.2-4.6-.5 0-1-.1-1.5-.4-1.5-.8-2.1-2.6-1.3-4s2.6-1.9 4.1-1.1c.3.2.5.3.7.5.6-1.3 1.3-2.6 2-3.9-3.2.4-4.2.5-4.7.5h-.6c-1-.1-2.3-.6-2.9-1.8-.5-.8-.7-2.3.5-4.3.5-.7 1.1-1.9 10.6-5.9-1.4-1.9-3-3.7-5.1-5zm-14.1 2.1c1.7 0 3.1 1.3 3.1 2.9 0 1.6-1.4 2.9-3.1 2.9-1.7 0-3.1-1.3-3.1-2.9 0-1.6 1.4-2.9 3.1-2.9zm-8.7 10.8c.8-1.4 2.6-1.9 4.1-1.1 1.5.8 2.1 2.6 1.3 4s-2.6 1.9-4.1 1.1c-1.4-.8-2.1-2.6-1.3-4zm13.4 12.7c-.6 1-1.9 1.5-3.3 1.2l1.7 1.7c.2.2.2.6 0 .8-.1.1-.3.2-.4.2-.1 0-.3 0-.4-.1-3.1-2.9-6.2-6.2-9.2-9.8-.2-.2-.2-.6.1-.8.2-.2.6-.2.8.1 1.2 1.5 2.5 2.9 3.7 4.3 0-.4.1-.8.3-1.1.4-.7 1.1-1.2 2-1.3l-.9-1.1c-.2-.2-.2-.6.1-.8.2-.2.6-.2.8.1l1.6 1.9c.4.1.8.2 1.1.4 1.9.9 2.8 2.9 2 4.3zm8.2-19.6c-.8 1.3-2.6 1.5-4 .7-1.4-.9-1.9-2.6-1.1-3.9.8-1.3 2.6-1.5 4-.7 1.4.9 1.9 2.7 1.1 3.9z"/>
+ <path fill="url(#e)" fill-rule="nonzero" d="M204.7 160.7c-9.4 3.5-17.8 8.2-17.9 8.3-.1.1-.2.1-.3.1-.2 0-.4-.1-.5-.3-.2.3-.3.6-.3.9v.6c0 .1 0 .2.1.2 0 .1.1.1.1.2.4.5 1.2.5 1.2.5H188c.2 0 .4 0 .6-.1.3 0 .6-.1.9-.1h.2c.3 0 .6-.1.9-.1h.2c.4 0 .7-.1 1.1-.2h.1c.9-.1 2-.3 3.1-.5 2.9-4 5-6.2 5.1-6.4.2-.2.6-.2.8 0 .1.1.2.2.2.4 1.1-1.2 2.2-2.3 3.5-3.5z"/>
+ <path fill="url(#f)" fill-rule="nonzero" d="M187.9 167.1c-.1 0-.1.1-.2.1s-.1.1-.2.1c1.1-.6 2.7-1.4 4.8-2.5-1.8.9-3.4 1.7-4.4 2.3z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M213.3 204.7c-.7-.2-1.3-.7-1.7-1.2l-.4 1.3 1.9.5c.3-.1.7-.2 1-.3l-.8-.3z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M188.7 193.1c0 .1-.1.1-.1.1v1.6c0 .4.1.8.2 1.2 0 .2.1.4.1.5l.3 1.2c0 .2.1.3.1.5.1.4.3.8.4 1.2v.1c.8 1.6 2.9 4.5 8.2 5.4.3.1.5.3.4.6-.1.3-.3.5-.5.5h-.1c-2.7-.5-4.6-1.5-6-2.5l.3.9c.2.5.3 1 .5 1.5 1.4.7 2.7 1.2 4.1 1.7 2.4.8 4.8 1.4 7.2 1.9 0-.1-.1-.3-.1-.4 0-.1-.1-.3-.1-.4-.2-.5-.4-1-.5-1.5-.1-.3-.2-.6-.3-.8h.2c0-.6 0-1.1.2-1.7l1.2-4.1c-.7-.2-1.5-.4-2.2-.6-.3-.1-.5-.4-.4-.7.1-.3.4-.5.7-.4.7.2 1.5.4 2.2.6l4.1-14.3c.7-2.4 2.9-4 5.4-4 .5 0 1 .1 1.6.2l15.3 4.4c2-6.2 3.9-13.4 9.5-22.5.5-1.1 1.1-2.1 1.4-2.4.6-.4 12.5-5.9 18-8.5l.1-.1c.1-.2.3-.4.5-.7.3-.5.9-1.3 1.8-2.3.8-1 1.8-2 2.7-2.9l.6-.6c-3.9.8-12 2.6-19.4 4.4.4-.9.7-1.7 1-2.6.1-.2.1-.4.2-.6.5-1.4.9-2.9 1.3-4.3 1-5.6.1-9.3.1-9.4-.1-.3.1-.5.3-.6-.3-2.1-.8-3.8-1.6-5.3-3.1-1-5.4-3.9-5.4-7.4v-.1c-.8-1-1.4-2-2-2.9-.4-.4-.9-.9-1.3-1.4-2.1-2.7-3.1-5.6-3.5-7.3-.2-.4-.3-.7-.5-1.1-.7-.4-1.3-1-1.8-1.6-.8-.6-1.6-1.4-2-2.3-.5-1.3-.7-2.3-.6-3.2l-3.2-.1c-.2 0-.4-.2-.5-.4-.7 0-1.4 0-2.1.1-.4.6-1 1.2-1.7 1.5v
.1c0 .3-.2.6-.5.6h-.6c-1.5 0-2.7-.8-3.2-1.2l-1.4.4c1.1 1.2 2.1 2.8 2.1 4.8 0 4.6-4.6 6.2-4.7 6.2h-.2c-.2 0-.4-.1-.5-.3-.8.2-1.6.3-2.5.1-.2 0-.5-.2-.7-.3h-.2c-.2 0-4.3-.9-6.1-6.6-.1-.3 0-.5 0-.7-.2.1-.4.1-.6.2-.2.1-.3.1-.5.2-.3.1-.5.2-.8.3-.2.1-.4.1-.5.2-.3.1-.5.2-.8.3-.2.1-.4.1-.5.2-.3.1-.5.2-.8.3-.2.1-.4.2-.6.2-.3.1-.5.2-.8.3-.2.1-.4.2-.6.2-.3.1-.5.2-.8.3l-.6.3c-.3.1-.5.2-.8.3l-.6.3c-.3.1-.5.2-.8.3l-.6.3c-.5.2-.9.4-1.4.6-.3.1-.5.2-.8.3-.2.1-.4.2-.7.3-.2.1-.5.2-.7.3-.2.1-.5.2-.7.3-.2.1-.5.2-.7.3-.2.1-.4.2-.7.3-.2.1-.5.2-.7.3l-.6.3c-.2.1-.5.2-.7.4l-.6.3c-.2.1-.5.2-.7.4l-.6.3c-.2.1-.5.3-.7.4l-.6.3c-.2.1-.5.3-.7.4-.2.1-.4.2-.5.3-.3.1-.5.3-.7.4-.2.1-.3.2-.5.3-.3.2-.7.4-1 .6-.1.1-.2.1-.3.2-.3.2-.7.4-1 .6-.1.1-.2.2-.4.2-.2.2-.5.3-.7.5-.1.1-.3.2-.4.3-.2.1-.4.3-.6.4-.1.1-.3.2-.4.3-.2.1-.4.3-.6.4-.1.1-.3.2-.4.3-.2.1-.4.3-.5.4-.1.1-.3.2-.4.3-.2.1-.3.3-.5.4-.1.1-.2.2-.4.3-.2.1-.3.3-.5.4l-.3.3c-.2.1-.3.3-.4.4l-.3.3c-.2.2-.3.3-.4.5-.1.1-.1.2-.2.2-.2.2-.4.5-.6.7-.3.4-.5 1-.7 1.6v.1c.5 0 .9.4 1 .8
0 .1 6.4 15.3 12 18.1 5.1 2.5 24.4 4.5 39.2 3.2 9-1.8 12.1-3.7 19.4-11 2.3-2.3 3.5 6.1-.8 10.1-3.6 3.4-12.9 4.7-23.1 4.7-.8.4-1.6.9-2.4 1.4-.1.1-.3.2-.4.3-.6.3-1.1.7-1.6 1-.2.1-.4.3-.6.4-.8.5-1.6 1.1-2.3 1.6-.3.3-.7.5-1 .8-.4.3-.7.6-1.1.8-.5.4-1.1.9-1.6 1.3-.1 0-.1.1-.2.1-4.6 1.8-10.2 4-14.3 5.9-2.1 1-3.8 1.9-4.8 2.5-.6.4-1.1.7-1.2 1-.1.1-.1.3-.2.4.1.2.3.3.5.3.1 0 .2 0 .3-.1.1-.1 8.5-4.8 17.9-8.3-1.2 1.1-2.4 2.3-3.5 3.5 0 .2 0 .3-.2.4 0 0-2.4 2.4-5.4 6.8-.2.3-.4.6-.6.8-.1.2-.2.4-.3.5-.4.6-.7 1.2-1 1.8-.1.2-.3.5-.4.7-.3.5-.6 1.1-.8 1.6-.1.3-.2.5-.4.8-.2.5-.5 1-.7 1.5-.1.3-.2.6-.3.8-.2.5-.4 1-.5 1.4-.1.3-.2.6-.3.8-.2.5-.3.9-.4 1.4-.1.3-.2.6-.2.8-.1.5-.2.9-.3 1.4 0 .2-.1.4-.1.6v.2c-.1.5-.2.9-.2 1.3 0 .3-.1.5-.1.8-.1.4-.1.9-.1 1.3 0 .2 0 .5-.1.7V191.3c.5 1.2.5 1.5.4 1.8zm7.3-73.4c.5-.8 1.8-2 3.7-2.4 0-.1-.1-.2-.1-.3v-3c0-.7.6-1.3 1.3-1.3.7 0 1.3.6 1.3 1.3v3c0 .1 0 .2-.1.3 1.9.4 3.2 1.6 3.7 2.4.5.8.3 1.8-.5 2.3-.3.2-.6.3-.9.3-.5 0-1.1-.3-1.4-.7-.1-.1-.8-1.1-2.2-1.1-1.4 0-2.1 1.1-2.2 1.1
-.5.8-1.5 1-2.3.5-.6-.6-.8-1.7-.3-2.4zm12 18.1c0 .1-.1.1-.1.2l-.4.3c-.9.8-1.8 1.4-2.6 1.9-.9.5-1.7 1-2.5 1.3-1.6.7-3.1 1.2-4.6 1.5-.4.1-.8.1-1.2.2-2.4.3-4.7.1-6.9-.5h-.1-.1c-2.1-.7-4.2-1.8-6-3.3.2-.1.4-.1.6-.1-.2 0-.4.1-.6.1-.3-.3-.6-.5-.9-.8-1.1-1.1-2.1-2.3-3-3.8-.5-.8-.9-1.6-1.3-2.5-.4-.9-.8-1.9-1.2-3l-.1-.5c-.1-.2 0-.5.3-.5h.2c.5.1 1.1.2 1.6.4.3.1.5.1.8.2.3 1.3.6 2.7.7 2.9.2.3 2.7 1.8 3.1 1.5.2-.2.6-1.8.9-3.2l.6.1c.5.1.9.3 1.4.4-.4 1.6-.8 3.3-.7 3.5.2.3 3.1 1 3.5.8.5-.2 1.7-1.4 2.8-2.7.2.1.4.1.6.2l7.5 2.4 3.8 1.3c.7.3 1.5.5 2.2.8l1.5.6c.1-.1.3.1.2.3zm20.6-15.8c-.3.2-.6.3-.9.3-.5 0-1.1-.3-1.4-.7-.1-.1-.8-1.1-2.2-1.1-1.4 0-2.1 1.1-2.2 1.1-.5.8-1.5 1-2.3.5-.8-.5-1-1.5-.5-2.3.5-.8 1.8-2 3.7-2.4 0-.1-.1-.2-.1-.3v-3c0-.7.6-1.3 1.3-1.3.7 0 1.3.6 1.3 1.3v3c0 .1 0 .2-.1.3 1.9.4 3.2 1.6 3.7 2.4.7.7.4 1.7-.3 2.2zm-37.1 72.8c.1-.3.5-.4.8-.2.3.2.6.4 1 .5.3.1.4.5.2.8-.1.2-.3.3-.5.3-.1 0-.2 0-.3-.1-.3-.2-.7-.4-1-.5-.2-.2-.3-.5-.2-.8z"/>
+ <path fill="url(#g)" fill-rule="nonzero" d="M203.6 209.1c0-.1 0-.1 0 0-.1-.2-.2-.3-.2-.4.1.1.1.2.2.4z"/>
+ <path fill="url(#h)" fill-rule="nonzero" d="M222.3 203.8l-1.9-.6c0 .1 0 .2-.1.3-.4 1.3-1.6 2.2-2.9 2.2-.3 0-.6 0-.9-.1l-2.4-.7c-.3.1-.7.2-1 .3l10 2.9 1.3-4.5c-.4.2-.8.3-1.3.3-.2.1-.5 0-.8-.1z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M227.1 224.7c0 .4.1.7.1 1 0 .3.1.5.2.6 0 .1.1.1.1.1.1.1.1.1.2.1H228.3s.1 0 .1-.1c.1 0 .1-.1.2-.1l.1-.1c.1 0 .1-.1.2-.1l.1-.1.2-.2.1-.1c.1-.1.2-.2.2-.3l.1-.1c.1-.2.3-.3.4-.5v-.1c.1-.2.2-.3.4-.5 0-.1.1-.2.1-.2.1-.1.2-.3.3-.4.1-.1.1-.2.2-.3.1-.1.1-.2.2-.3-1.4 0-2.9-.1-4.3-.1v.9c.2.2.2.5.2.9z"/>
+ <path fill="url(#i)" fill-rule="nonzero" d="M230 212.6c-.5 1.6-1.6 2.8-3.1 3.5v7.5c0 .4.1.7.1 1.1 0 .4.1.7.1 1 0 .3.1.5.2.6 0 .1.1.1.1.1.1.1.1.1.2.1H228.2s.1 0 .1-.1c.1 0 .1-.1.2-.1l.1-.1c.1 0 .1-.1.2-.1l.1-.1.2-.2.1-.1c.1-.1.2-.2.2-.3l.1-.1c.1-.2.3-.3.4-.5v-.1c.1-.2.2-.3.4-.5 0-.1.1-.2.1-.2.1-.1.2-.3.3-.4.1-.1.1-.2.2-.3.1-.1.1-.2.2-.3 0 0 0-.1.1-.1.1-.1.1-.2.2-.3.1-.2.2-.3.2-.5.1-.1.1-.2.2-.4s.2-.4.2-.5c.1-.1.1-.3.2-.4.1-.2.2-.4.2-.6.1-.1.1-.3.2-.4.1-.2.2-.5.3-.7 0-.1.1-.2.1-.4.1-.4.3-.7.4-1.1.1-.4.3-.9.4-1.4.1-.5.3-1 .4-1.5v-.1c.1-.5.2-1 .3-1.6v-.1c.1-.3.1-.6.2-1-1.3.1-3 .4-4.7.7z"/>
+ <path fill="url(#j)" fill-rule="nonzero" d="M240.1 167.1c-.1.2-.3.3-.5.3h-.2c-.3-.1-.4-.4-.3-.7.4-.9.9-2.1 1.4-3.2-5.6 9-7.5 16.2-9.5 22.5l.9.3c1.4.4 2.6 1.4 3.3 2.7.7 1.3.9 2.8.5 4.3l-4.9 17.1c1.6-.3 3.2-.6 4.7-.9v-.1-.1c.1-.6.2-1.1.2-1.7v-.1c0-.2.1-.5.1-.7 0-.1-.1-.2 0-.3.5-4.5 1.9-23.7 1.9-23.9 0-.3.3-.5.6-.5s.5.3.5.6c0 .1-.7 9.5-1.3 16.7 1.7-.1 3.5-.2 5.3-.5 5.6-.8 10.3-2.8 13.7-4.7-.5-.9-.6-2-.4-3l1.9-7.3c.4-1.4 1.4-2.4 2.6-2.8-.9-1.2-1-2.9-.3-4.3.8-1.6 2-3.1 3.3-4.3-.4.1-.8.3-1.2.4-1.1.3-2.2.6-3.5.7-1-.8-2.2-1.2-3.6-1.3-.9 0-1.8.1-2.7.4-1.4-1.3-3.3-2-5.3-1.8-1.8.1-3.4.9-4.5 2.1-.9.1-1.8.2-2.6.4-.3 1.5-.5 2.7-.5 2.9 0 .3-.1.5-.4.6h-.2c-.2 0-.5-.1-.5-.4-.1-.2-.1-.4.9-5.1.3-1.6.7-3 1.1-4.4.1-.5.3-.9.4-1.3.1-.4.3-.8.4-1.2v-.1c.1-.4.3-.7.4-1.1 0 0 0-.1.1-.1.1-.2.1-.4.2-.5-.4.7-1.3 2.6-2 4.4zm2.2 29.4c3.9-1.5 8-3.4 12-5.7.3-.1.6-.1.8.2.1.3.1.6-.2.8-4.1 2.3-8.2 4.2-12.2 5.7h-.2c-.2 0-.4-.1-.5-.4-.1-.2 0-.5.3-.6z"/>
+ <path fill="url(#k)" fill-rule="nonzero" d="M202.7 206.4c.1.2.2.5.3.8 0-.3-.1-.5-.1-.8h-.2z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M194.4 210.8c.3.6.6 1.3 1 1.9 0 .1.1.1.1.2.3.6.7 1.3 1.1 1.9 0 .1.1.1.1.2l1.2 1.8.1.1c.5.6.9 1.3 1.5 1.9.3.3.5.6.8.9.1.1.1.2.2.2l.6.6c.1.1.2.2.2.3.2.2.3.4.5.5.1.1.2.2.2.3.2.2.3.3.4.5.1.1.2.2.2.3l.5.5.2.2.2.2.4.4.1.1.5.5.2.2.3.3.2.2.3.3c.1.1.1.1.2.1.1.1.2.1.3.2l.1.1c.1.1.2.1.3.2 0 0 .1 0 .1.1.1.1.2.1.3.2h.1c.1 0 .2.1.2.1h.6c.1 0 .2-.1.2-.2 0 0 .1-.1.1-.2v-.1-.3-.1c0-.2 0-.4-.1-.6v-.2c0-.2-.1-.4-.1-.6v-.2c0-.2-.1-.4-.1-.6v-.2-.1c-.1-.3-.1-.6-.2-.9 0-.1 0-.2-.1-.3-.1-.3-.1-.6-.2-.8 0-.1 0-.1-.1-.2-.1-.4-.2-.7-.3-1.1 0-.1-.1-.2-.1-.3-.1-.3-.2-.6-.2-.9 0-.1-.1-.2-.1-.3l-.3-1.2v-.1c-.1-.4-.2-.7-.3-1.1 0-.1-.1-.2-.1-.3-.1-.4-.2-.7-.3-1.1v-.1c-.1-.4-.2-.8-.4-1.2 0-.1 0-.1-.1-.2-.1-.2-.1-.4-.2-.6-2.8-.6-5.7-1.3-8.6-2.2-.8-.2-1.5-.5-2.3-.8.2.6.5 1.1.7 1.7-.1-.2-.1-.2-.1-.1zM196.5 122c.8.5 1.8.3 2.3-.5 0 0 .8-1.1 2.2-1.1 1.4 0 2.1 1 2.2 1.1.3.5.9.7 1.4.7.3 0 .6-.1.9-.3.8-.5 1-1.5.5-2.3-.5-.8-1.8-2-3.7-2.4-.4-.1-.8-.1-1.3-.1-.4 0-.9.1-1.3.1-1.9.4-
3.2 1.6-3.7 2.4-.5.8-.3 1.9.5 2.4zm0-2s.1-.2.3-.4l.3-.3c.7-.7 2-1.7 3.9-1.7 2.9 0 4.4 2.2 4.5 2.3.3.5.2 1.2-.3 1.5-.2.1-.4.2-.6.2-.4 0-.7-.2-.9-.5 0-.1-.9-1.3-2.6-1.3-1.1 0-1.8.5-2.2.9l-.4.4c-.3.5-1 .7-1.5.3-.7-.2-.9-.9-.5-1.4zM225.4 117.2c-.4-.1-.8-.1-1.3-.1-.4 0-.9.1-1.3.1-1.9.4-3.2 1.6-3.7 2.4-.5.8-.3 1.8.5 2.3.8.5 1.8.3 2.3-.5 0 0 .8-1.1 2.2-1.1 1.4 0 2.1 1 2.2 1.1.3.5.9.7 1.4.7.3 0 .6-.1.9-.3.8-.5 1-1.5.5-2.3-.5-.6-1.8-1.9-3.7-2.3zm2.9 4.3c-.2.1-.4.2-.6.2-.4 0-.7-.2-.9-.5l-.2-.2-.2-.2c-.4-.4-1.2-.9-2.3-.9-1.7 0-2.6 1.3-2.6 1.3-.3.5-1 .7-1.5.3-.5-.3-.7-1-.3-1.5.1-.1 1.5-2.3 4.5-2.3 1.4 0 2.5.5 3.2 1.1.1.1.2.2.3.2l.3.3c.4.4.6.7.7.8.2.4.1 1.1-.4 1.4z"/>
+ <path fill="url(#l)" fill-rule="nonzero" d="M241.8 136.3c-7.4 7.4-10.4 9.3-19.4 11-14.7 1.3-34.1-.7-39.2-3.2-5.6-2.7-12-17.9-12-18.1-.1-.5-.5-.8-1-.8-.4 2.5.9 6.1 2.9 9.7.3.6.7 1.2 1.1 1.8.6.9 1.2 1.8 1.8 2.6.4.6.8 1.1 1.2 1.6.4.5.8 1 1.3 1.5.2.2.4.5.6.7.4.4.8.8 1.3 1.2.2.2.4.3.6.5.8.6 1.6 1.1 2.3 1.4 6.8 2.5 16.4 4.1 26.3 4.1 1.7 0 3.4-.1 5.1-.2h.2c.1 0 12.1-1.3 17.8-3.6.3-.1.6 0 .7.3.1.3 0 .6-.3.7-3.8 1.5-10.1 2.6-14.2 3.2-.3.2-.6.3-1 .5 10.2 0 19.5-1.3 23.1-4.7 4.3-4 3.1-12.5.8-10.2z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M250.4 158.2c-3.6 1.7-6.5 3.1-7.6 3.6 2.1-1 4.8-2.2 7.6-3.6z"/>
+ <path fill="url(#m)" fill-rule="nonzero" d="M224.6 99.7c.7 0 1.4-.1 2.1-.1v-.2c0-.3.3-.6.6-.5l3.3.1c.3-1.1.7-1.7.8-1.7.2-.2.5-.3.8-.1.2.2.3.5.1.8-.1.1-1.4 1.9-.1 4.9.6 1.5 2.9 2.8 3.8 3.2.2.1.3.3.3.5 0 0 .4 4.6 3.5 8.4 3.4 4.2 8.4 5.7 8.5 5.7.2.1.4.2.4.4 0 0 .6 3.3 1.9 4.6.7.7 2.6 2.6 7.4 1.7.3-.1.6.1.6.4.1.3-.1.6-.4.6-1 .2-1.9.3-2.7.3-3.1 0-4.7-1.2-5.8-2.2-1.3-1.3-1.9-3.9-2.1-4.8-1.1-.4-4.5-1.7-7.4-4.6.6 1 1.2 1.9 2 2.9v.1c0 3.5 2.3 6.4 5.4 7.4.7 1.5 1.3 3.2 1.6 5.3h.1c.3-.1.6.1.7.4 0 .1.6 2.4.4 5.9h1.4c.3-1.1.6-2.3.9-3.5.2.1.5.1.8.2 1.6.2 3.1-.9 3.5-2.5h.2c.8.3 1.7.6 2.6.7 4.1.4 7.7-2.1 9-5.8 2.8-.2 5.1-2.2 5.5-5 .9-1.1 1.8-2.2 2.6-3.3 3.3-.5 5.8-3.4 5.7-6.9 0-.6-.1-1.2-.3-1.8 1.6-1.3 2.6-3.3 2.5-5.5 0-1.8-.8-3.5-2-4.7 0-1.5-.1-3-.3-4.4 1.3-1 2.2-2.5 2.5-4.2 0-.2.1-.5.1-.7V91v-.1c0-.3 0-.6-.1-.9v-.2c0-.3-.1-.5-.2-.7V89l-.3-.9s0-.1-.1-.1c-.1-.2-.2-.5-.4-.7 0 0 0-.1-.1-.1-.3-.5-.7-1-1.2-1.4-.5-.4-1-.8-1.6-1.1-1-.5-2-.8-3.2-.8-2.1-3.4-4.7-6.4-7.8-8.9 0-.4-.1-.9-.2-1.3s-.2-.8-.4-1
.1v-.1c-.1-.4-.3-.7-.5-1v-.1c-.2-.3-.4-.6-.7-.9-.3-.3-.5-.6-.8-.8l-.9-.6s-.1 0-.1-.1c-.3-.2-.6-.3-1-.4-.1 0-.1 0-.2-.1-.3-.1-.7-.2-1-.3h-.2c-.4-.1-.8-.1-1.2-.1h-1c-.2 0-.5.1-.7.2-.1 0-.2 0-.3.1-.6.2-1.2.5-1.8.8-1.6-.5-3.2-.9-4.9-1.1-.2-.2-.4-.4-.6-.5l-.2-.2c-.1-.1-.3-.2-.4-.3-.1-.1-.2-.1-.3-.2-.1-.1-.3-.2-.4-.2-.1 0-.2-.1-.3-.1-.1-.1-.3-.1-.4-.2-.1 0-.2-.1-.3-.1-.2-.1-.3-.1-.5-.1-.1 0-.2-.1-.3-.1-.2 0-.4-.1-.5-.1h-1c-.3 0-.6 0-.9.1-.9.1-1.7.4-2.5.8s-1.4.9-2 1.5c-.7.1-1.4.3-2.1.4-1.4.3-2.7.7-4 1.2-.6.2-1.3.5-1.9.8-.4-.1-.9-.2-1.3-.3-.3 0-.5-.1-.8-.1-.3 0-.7 0-1 .1h-.3c-2.5.4-4.6 2.2-5.5 4.5-.1.3-.2.7-.3 1-.1.3-.1.7-.2 1-.4.3-.7.7-1 1-.7.1-1.4.4-2.1.7-.6.3-1.2.8-1.7 1.3-.3.3-.6.6-.8.9-.5.7-.8 1.4-1.1 2.2-.2.6-.2 1.2-.3 1.8v.2c0 .3 0 .7.1 1-.2.3-.3.6-.5 1-.2.5-.4.9-.6 1.4-.2.4-.4.9-.5 1.3-.2.1-.3.1-.5.2-.1.1-.3.2-.4.3-.4.3-.7.7-.9 1.2-.2.5-.4 1-.4 1.5 0 .8.3 1.6.7 2.1-.1.4-.1.9-.2 1.3s-.1.9-.2 1.3c-.1.7-.1 1.4-.1 2.2.2.2.5.3.7.5l2.3-.7c.2-.1.4 0 .6.1 0 0 1.3 1.3 3.1 1.1.3 0 .5.1.6.3.6-
.3 1.2-.8 1.6-1.5zm37.2 25.8c.2-.2.6-.3.8-.1.1.1 2.3 1.9 4.9-.2 2.1-1.8 2.1-3.7 1.9-4.7-1.6 0-2.9-.6-3.7-1.2-.5-.4-.6-1-.3-1.6.4-.5 1-.6 1.6-.3.3.2 3.2 2.1 6.1-.9 3.4-3.4 1.7-6.8 1.7-6.8-.3-.5-.1-1.2.5-1.5.5-.3 1.2-.1 1.5.5.9 1.7 1.6 5.8-2.1 9.4-1.4 1.4-2.9 2-4.2 2.2.2 1.2.1 3.5-2.3 5.6-1.2 1-2.3 1.3-3.3 1.3-1.8 0-3.1-1.1-3.1-1.1-.2 0-.2-.4 0-.6zm-26-50.3c2.4-.3 3.9.7 4.7 1.7.1-.1.3-.1.4-.2 2.1-.9 3.9-.9 5.3-.4.6-1.2 1.9-2.7 4.7-3.1 4.2-.6 5.5 3.1 5.5 3.2.1.3-.1.6-.4.7-.3.1-.6-.1-.7-.4 0-.1-1-2.9-4.3-2.4-2.3.3-3.3 1.5-3.8 2.4 1.2.6 2 1.4 2.5 2.1.3.5.2 1.2-.3 1.5-.5.3-1.2.2-1.5-.3-.2-.3-2.3-3.1-6.1-1.4-4.4 2-4 5.8-4 5.8.1.6-.4 1.2-1 1.2h-.1c-.6 0-1-.4-1.1-1-.2-1.7.4-5.1 3.9-7.3-.6-.7-1.7-1.4-3.5-1.2-3.7.5-4.2 3.4-4.2 3.5 0 .3-.3.5-.5.5h-.1c-.3-.1-.5-.3-.5-.6 0 0 .6-3.7 5.1-4.3z"/>
+ <path fill="url(#n)" fill-rule="nonzero" d="M233 105.8c.5.6 1.1 1.2 1.8 1.6.1.3.3.7.5 1.1-.1-.6-.2-1.1-.3-1.4-.4-.3-1.2-.7-2-1.3z"/>
+ <path fill="url(#o)" fill-rule="nonzero" d="M202.5 90.4c1.3 1.2 3.4.6 4.4-.9v-.1c0-.1.3-5.4-2.2-7.4 0 0-.1 0-.1.1l-.2.2s-.1.1-.1.2c-.1.1-.1.2-.2.3 0 .1-.1.1-.1.2-.1.1-.1.2-.2.4 0 .1-.1.1-.1.2-.1.2-.2.3-.3.5 0 .1-.1.1-.1.2-.1.2-.2.5-.3.7 0 .1 0 .1-.1.2-.1.2-.2.4-.2.6 0 .1-.1.2-.1.3-.1.2-.1.3-.2.5 0 .1-.1.2-.1.3 0 .2-.1.3-.1.5 0 .1 0 .2-.1.3 0 .1-.1.3-.1.4V89.7c0 .1 0 .2.1.3v.2c0 .1.1.3.2.3.1-.2.1-.2.2-.1z"/>
+ <path fill="url(#p)" fill-rule="nonzero" d="M209.1 94.2V94c-.1-.5-.3-1.4-.7-2.6-.1-.3-.2-.5-.3-.7-.6 2.1-3.7 3.3-5.8 1.5 0 .4-.1.7-.1 1.1 0 .6 0 1.1.1 1.6s.2 1 .4 1.3c.1.1.1.2.2.2.1.1.3.2.4.3.1.1.3.1.4.2 2.1.7 4.6-.6 5.4-2.7z"/>
+ <path fill="url(#q)" fill-rule="nonzero" d="M204 98c0 .3.1.5.1.8-.1-.7-.2-1.3-.3-2 .1.4.1.8.2 1.2z"/>
+ <path fill="url(#r)" fill-rule="nonzero" d="M210.6 95.5c-.4 2.7-3.6 4.7-6.5 3.5v.2c.1.4.2.8.2 1.1.4 1.6 1 2.9 1.6 3.4 2.8.5 6.9-1.5 7.1-4.5v-.5c-.2-.6-.5-1.4-1.1-2.1-.4-.4-.9-.8-1.3-1.1z"/>
+ <path fill="url(#s)" fill-rule="nonzero" d="M214.2 112c-.1 0-.1-.1 0 0-.2-.4 0-.7.3-.8.2-.1 3.9-1.4 3.9-5.2 0-2.6-2.1-4.5-3.5-5.5.2 3.4-3.6 6.1-7 6 1.5 2.5 3.4 3 3.5 3 .6.1 1 .7.9 1.3-.1.5-.6.9-1.1.9.2.2.5.3.7.3.6.3 1.5.2 2.3 0z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M240.4 163.4c-.5 1.1-1 2.3-1.4 3.2-.1.3 0 .6.3.7h.2c.2 0 .4-.1.5-.3.7-1.7 1.6-3.7 2.1-4.6.1-.1.1-.3.2-.4.2-.1.3-.2.5-.2 1-.5 4-1.9 7.6-3.6 3-1.4 6.1-3 9-4.5 0-.3.1-.6.3-.9 0 0 0-.1.1-.2-5.5 2.5-17.4 8.1-18 8.5-.3.2-.8 1.2-1.4 2.3z"/>
+ <path fill="url(#t)" fill-rule="nonzero" d="M275.8 140c-.7.2-1.3.6-2 .9v.4c.4 1.9 1.8 3.4 3.5 4.2.5-.6.9-1.1 1.3-1.7.3-.5.6-.9.8-1.3-.8-.2-1.5-.6-2-1.1-.4-.5-.7-1-.9-1.5-.2-.1-.4 0-.7.1z"/>
+ <path fill="url(#u)" fill-rule="nonzero" d="M273.3 149.1c.1 0 .1-.1.2-.1l.6-.5c.2-.1.4-.3.6-.4.1-.1.2-.2.3-.2-.3-.2-.7-.4-1-.7-1.4-1.1-2.5-2.7-3-4.4-.1.1-.2.1-.3.2-.2.1-.4.3-.6.4l-.6.5c-.2.2-.4.3-.6.5-.6.5-1.2 1-1.7 1.5-.6.5-1.1 1-1.6 1.5-.9.9-1.8 1.9-2.6 2.9s-1.4 1.8-1.7 2.2c-.2.3-.3.5-.4.7l-.1.2c-.2.3-.2.7-.1 1 .1.4.3.7.6.8.3.2.7.2 1 .1 0 0 .1 0 .3-.1.2-.1.4-.1.7-.3.6-.2 1.4-.6 2.6-1.1h.1c-1.2-2.3-.6-5.1-.6-5.3.1-.6.7-1 1.3-.8.4.1.7.4.8.8 1.8-.4 4.1 0 5.8.6z"/>
+ <path fill="url(#v)" fill-rule="nonzero" d="M281.4 141.3c.9-.2 2.7-.9 4.2-3.5-1-.8-2.6.8-3.3-.6-.6-1.1.1-1.5-.4-2.1h-.6c-1.6 0-2.9.7-3.5 1.9-.6 1.1-.3 2.5.6 3.5.6.8 1.8 1.1 3 .8z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M267.5 148.5c.1.2.1.4 0 .6 0 0-.5 2.5.5 4.1.5.8 1.3 1.2 2.4 1.4 1.3.2 2.3 0 3.1-.6 1.2-.9 1.4-2.7 1.4-2.7 0-.4.3-.7.6-.9-.3-.3-.7-.5-1.1-.8-.3-.2-.7-.4-1.2-.5-1.6-.6-3.9-1-5.7-.6z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M148 139.7c-.3.1-.4.5-.3.7 2 4.3 4 8.2 6 12 .1.2.3.3.5.3.1 0 .2 0 .3-.1.3-.1.4-.5.2-.8-2-3.7-4-7.6-6-11.9-.1-.2-.4-.4-.7-.2zM160.4 163.3c.1 0 .2 0 .3-.1.3-.2.3-.5.2-.8-.6-.9-1.2-1.9-1.8-2.8-.1-.1-.2-.2-.4-.3.6 1.2 1 2.4 1.2 3.7.2.2.4.3.5.3zM143.3 129.9h-.2v.4l.4 1c.1.2.3.3.5.3h.2c.3-.1.4-.5.3-.7l-.4-1h-.8zM283.4 171.4c1.5-1.3 3.1-2.7 4.6-4.1.2-.2.2-.6 0-.8-.2-.2-.6-.2-.8 0-1.7 1.5-3.3 3-5 4.4.3.2.6.4.9.7.2-.1.2-.2.3-.2zM185 190.5c-.2.2-.1.6.1.8.4.3.8.5 1.2.8.5.4 1.1.8 1.6 1.1.1.1.2.1.3.1.1 0 .2-.1.3-.1l.1-.1c.2-.3.1-.6-.1-.8-.7-.5-1.5-1-2.2-1.5-.2-.1-.4-.3-.6-.4-.2-.2-.5-.1-.7.1zM242.5 197.6h.2c4-1.5 8-3.5 12.2-5.7.3-.1.4-.5.2-.8-.1-.3-.5-.4-.8-.2-4.1 2.2-8.1 4.1-12 5.7-.3.1-.4.4-.3.7.1.2.3.3.5.3zM270 181.4c-.2-.2-.5-.3-.8-.1l-.9.7c-.1.1-.2.2-.2.3l1.2.3.5-.4c.4-.2.4-.6.2-.8zM169.9 175c-.2-.2-.5-.3-.8-.1-.2.2-.3.5-.1.8 3 3.6 6 7 9.2 9.8.1.1.2.1.4.1.1 0 .3-.1.4-.2.2-.2.2-.6 0-.8-.6-.5-1.2-1.1-1.7-1.7-1.2-1.2-2.4-2.4-3.6-3.7-1.3-1.2-2.6-2
.7-3.8-4.2zM164 167l-.6-.9c-.2-.3-.5-.3-.8-.2-.3.2-.3.5-.2.8l.6.9c.1.2.3.2.5.2.1 0 .2 0 .3-.1.3-.1.3-.4.2-.7zM191.8 195.5c.3.2.7.4 1 .5.1 0 .2.1.3.1.2 0 .4-.1.5-.3.1-.3 0-.6-.2-.8-.3-.2-.6-.3-1-.5-.3-.1-.6-.1-.8.2-.2.4-.1.7.2.8zM202.4 198.9c-.3-.1-.6.1-.7.4-.1.3.1.6.4.7.7.2 1.5.4 2.2.6l.3-1.1c-.7-.1-1.5-.3-2.2-.6zM169.1 184.2c-1.7-2.3-3.4-4.7-5-7.1-1.6-2.4-3.2-4.9-4.7-7.4-.3.8-.7 1.5-1.2 2.3 4.5 7.3 9.2 13.9 14 19.6l2.3-.7c-1.9-2.1-3.7-4.3-5.4-6.7zM133.2 123l2.1-1.3-2.1 1.3zM271.7 191c.1 0 .2.1.3.1.6.1 1.2.2 1.8.2.3 0 .7 0 1-.1 3.4-2.9 5.2-5 5.3-5 0 0 0-.1.1-.1l-2.4-.6c-1 1-3.1 3-6.1 5.5zM193.6 208.9c.8.3 1.5.6 2.3.8 2.9.9 5.8 1.6 8.6 2.2.8.2 1.6.3 2.5.4 1.6.3 3.2.5 4.8.6l-4.8-1.4c-1.2-.3-2.2-1.1-2.9-2.1-.1 0-.2 0-.3-.1-2.4-.5-4.7-1.1-7.2-1.9-1.4-.4-2.8-1-4.1-1.7-1-.5-1.9-1-2.9-1.6-1.2-.7-2.4-1.6-3.6-2.5-.3-.2-.6-.4-.9-.7l.6 1.9c.1.3.1.5.1.8.2.2.3.5.4.7v.1c.5.4 1.1.7 1.6 1.1 1 .6 1.9 1.2 2.9 1.7.9.9 1.9 1.3 2.9 1.7zM266.3 197.8c-.7-.4-1.3-.8-2-1.3-1.9 1.3-4 2.6-6.2 3.9-5 2.9-10.9 5.
6-17.4 7.6h-.1c-.9.3-1.9.6-2.8.8-.8.2-1.6.4-2.3.6-1.5.4-3.1.7-4.7.9l-.7 2.3c1.7-.3 3.4-.5 5-.9l2.4-.6c1-.2 1.9-.5 2.9-.8 6.3-1.8 12-4.3 17-7 2.8-1.5 5.4-3.1 7.8-4.7.3-.2.7-.5 1.1-.8z"/>
+ <path fill="#FFFEFE" fill-rule="nonzero" d="M235.2 188.8c-.7-1.3-1.9-2.3-3.3-2.7l-.9-.3-15.3-4.4c-.5-.1-1-.2-1.6-.2-2.5 0-4.7 1.7-5.4 4l-4.1 14.3-.3 1.1-1.2 4.1c-.2.6-.2 1.1-.2 1.7 0 .3 0 .5.1.8.1.5.2 1 .5 1.5.1.1.1.2.1.3 0 0 0 .1.1.1.1.2.2.4.4.5.7 1 1.7 1.7 2.9 2.1l4.8 1.4 3.8 1.1 7 2 .7.2c.5.1 1 .2 1.6.2.8 0 1.5-.2 2.2-.5 1.5-.7 2.6-1.9 3.1-3.5l.7-2.3 4.9-17.1c.3-1.5.1-3.1-.6-4.4zm-1.7 3.7l-5.6 19.4c-.4 1.5-1.8 2.4-3.2 2.4-.3 0-.6 0-.9-.1l-16.2-4.7c-1.8-.5-2.8-2.4-2.3-4.2l5.6-19.4c.4-1.5 1.8-2.4 3.2-2.4.3 0 .6 0 .9.1l16.2 4.7c1.8.5 2.8 2.4 2.3 4.2z"/>
+ <path fill="#FFFEFE" fill-rule="nonzero" d="M228.7 191.1l-12.9-3.7c-.2 0-.3-.1-.5-.1-.7 0-1.4.5-1.6 1.2l-4.7 16.2c-.3.9.3 1.8 1.2 2.1l12.9 3.7c.2 0 .3.1.5.1.7 0 1.4-.5 1.6-1.2l4.7-16.2c.2-.9-.4-1.9-1.2-2.1zm-14.4 7.2c.1-.4.4-.6.8-.6h.2l8.1 2.3c.4.1.7.6.6 1-.1.4-.4.6-.8.6h-.2l-8.1-2.3c-.5-.1-.7-.5-.6-1zm-.9 3.2c.1-.4.4-.6.8-.6h.2l3.2.9c.4.1.7.6.6 1-.1.4-.4.6-.8.6h-.2l-3.2-.9c-.5 0-.8-.5-.6-1zm9.7 6.7l-10-2.9-1.9-.5.4-1.3c.4.6 1 1 1.7 1.2l.9.2 2.4.7c.3.1.6.1.9.1 1.4 0 2.6-.9 2.9-2.2 0-.1.1-.2.1-.3l1.9.6c.3.1.6.1.9.1.4 0 .9-.1 1.3-.3l-1.5 4.6zm1.8-10.3c-.1.4-.4.6-.8.6h-.2l-8.1-2.3c-.4-.1-.7-.6-.6-1 .1-.4.4-.6.8-.6h.2l8.1 2.3c.5.1.8.5.6 1zm1-3.3c-.1.4-.4.6-.8.6h-.2l-8.1-2.3c-.4-.1-.7-.6-.6-1 .1-.4.4-.6.8-.6h.2l8.1 2.3c.4.1.7.6.6 1zM275 168.4c-.4 0-.7-.1-1.1-.1-1.7 0-3.4.3-5.1.9-.7.3-1.4.5-2.1.9-1.1.6-2.1 1.3-3.1 2.2-1.3 1.2-2.5 2.7-3.3 4.3-.7 1.4-.6 3.1.3 4.3-1.3.4-2.3 1.5-2.6 2.8l-1.9 7.3c-.3 1-.1 2.1.4 3 0 .1 0 .1.1.2.2.3.4.5.6.8.5.5 1.2.9 1.9 1.1.3.1.7.1 1 .1 1.1 0 2.1-.4 2.9-1.2
.5.5.9.9 1.5 1.3.6.5 1.3.9 2 1.3l1.2.6c1.5.7 3.1 1.1 4.7 1.3.6.1 1.1.1 1.7.1 2.5 0 5-.6 7.2-1.8 2.8-1.5 5-3.7 6.4-6.5.5-1 .6-2.1.3-3.1 0-.1-.1-.2-.1-.3-.1-.3-.3-.6-.4-.8.5-.2.9-.5 1.3-.8.6-.5 1.1-1.2 1.3-2l1.9-7.3c.3-1.1.1-2.2-.4-3.1-.5-.9-1.4-1.6-2.4-1.9h-.1c-.3-.1-.7-.1-1-.1-1.1 0-2.1.4-2.9 1.2-.5-.6-1.1-1-1.7-1.5-.3-.2-.6-.5-.9-.7-.7-.4-1.4-.8-2.1-1.1-.9-.4-1.9-.7-2.9-1-1.1-.2-1.8-.3-2.6-.4zm10.6 22.1c-1.2 2.4-3.1 4.3-5.5 5.6-2 1-4.1 1.5-6.1 1.5-4.7 0-9.2-2.5-11.5-6.9l-.5 2c-.2.9-1 1.4-1.8 1.4-.2 0-.3 0-.5-.1-1-.3-1.6-1.3-1.4-2.3l1.9-7.3c.2-.9 1-1.4 1.8-1.4.2 0 .3 0 .5.1l7.3 1.9c1 .3 1.6 1.3 1.4 2.3-.2.9-1 1.4-1.8 1.4-.2 0-.3 0-.5-.1l-3.7-1c1.1 2.8 3.5 4.9 6.4 5.6.8.2 1.5.3 2.3.3 3.4 0 6.6-1.8 8.3-4.9.4-.6 1-.9 1.6-.9.3 0 .6.1.9.2h.1c.9.5 1.2 1.6.8 2.6zm-10.6-7c.6 1 1.4 1.6 2.5 1.9l.3.1 2.4.6 1 .3c-.4.3-.7.7-1 1.1v.1c-1.1 2-3.1 3.4-5.3 3.7-.3 0-.7.1-1 .1-.6 0-1.2-.1-1.8-.2-.1 0-.2-.1-.3-.1l-.9-.3c1.2-.5 2.2-1.5 2.5-2.8.4-1.4 0-2.8-1-3.8-.5-.6-1.2-1-2-1.2l-.9-.2-1.2-.3-1.6-.4c.5-.
4.8-.8 1.1-1.4 1.3-2.2 3.7-3.6 6.3-3.6.3 0 .6 0 .9.1.3 0 .6.1.9.2.4.1.8.3 1.2.4h-.1c-1 .4-1.9 1.3-2.3 2.4 0 .1-.1.2-.1.4-.3.8-.2 1.9.4 2.9zm10.4-6l.5-2c.2-.9 1-1.4 1.8-1.4.2 0 .3 0 .5.1 1 .3 1.6 1.3 1.4 2.3l-1.9 7.3c-.2.9-1 1.4-1.8 1.4-.2 0-.3 0-.5-.1l-7.3-1.9c-1-.3-1.6-1.3-1.4-2.3.2-.9 1-1.4 1.8-1.4.2 0 .3 0 .5.1l3.7 1c-1.1-2.8-3.5-4.9-6.4-5.6-.8-.2-1.6-.3-2.4-.3-3.3 0-6.5 1.8-8.2 4.8-.3.7-1 1.1-1.7 1.1-.2 0-.3 0-.5-.1l-.4-.1h-.1c-.9-.5-1.3-1.6-.8-2.5 1.2-2.4 3.1-4.3 5.5-5.6 2-1 4.1-1.5 6.1-1.5 4.8-.2 9.3 2.3 11.6 6.7zM160.2 164.9c0-.6-.1-1.3-.2-1.9-.2-1.3-.6-2.6-1.2-3.7-1.4-2.7-3.7-4.8-6.7-6-.7-.3-1.5-.5-2.3-.6-.7-.1-1.4-.2-2.1-.2h-.4c-1 0-2 .2-3 .4 0-.1-.1-.3-.1-.4-.3-.7-.9-1.2-1.6-1.5-.3-.1-.7-.2-1-.2-.6 0-1.2.2-1.7.5s-.8.8-1 1.3l-1.2 3.2-1.1 2.9c-.4 1.1-.1 2.3.7 3.1-1.3.5-2.2 1.8-2.2 3.3 0 1.9.5 3.7 1.3 5.3.3.7.7 1.3 1.1 1.9 2.3 3.2 6 5.2 10.2 5.2h.1c3.4 0 6.5-1.4 8.8-3.8.6-.6 1.1-1.2 1.6-1.9s.8-1.5 1.2-2.3c.5-1.3.8-2.9.8-4.6zm-12.5 10.5h-.1c-3.6 0-6.8-1.8-8.6-4.6-.6-.9-1.1-1.9
-1.3-3-.2-.8-.4-1.7-.4-2.6 0-.4.1-.7.4-.9.2-.2.6-.4.9-.4.7 0 1.3.6 1.3 1.3 0 2.2 1 4.4 2.7 5.9 1.5 1.3 3.3 1.9 5.1 1.9 2.2 0 4.3-.9 5.8-2.7 2.8-3.2 2.5-8.1-.7-10.9-1.5-1.3-3.3-1.9-5.1-1.9-2.2 0-4.3.9-5.8 2.7l3.7 1.4c.3.1.5.5.4.8-.1.3-.3.4-.6.4h-.2l-5.2-2-.8-.3c-.3-.1-.5-.5-.4-.8l1.2-3.2 1.1-2.8c.1-.3.3-.4.6-.4h.2c.3.1.5.5.4.8l-1.2 3.3c1.9-1.7 4.3-2.5 6.8-2.5 1.2 0 2.4.2 3.6.6 4 1.5 6.6 5.3 6.6 9.5-.1 5.7-4.7 10.3-10.4 10.4zm-5.8-11.5l1.9.7-.2.1h-.1c-.6.3-1 .7-1.3 1.2 0-.2-.1-.5-.1-.8 0-.3 0-.8-.2-1.2zm5.6 1.6l1.7-4.6c.1-.3.3-.4.6-.4h.2c.3.1.5.5.4.8l-1.8 4.8c0 .2-.1.3-.3.4L145 168l-.1-.2-.8-.3c-.1-.3 0-.7.3-.8l3.1-1.2zm-.6-5.7h.4c0 .1-.1.2-.1.3-.1-.2-.2-.3-.3-.3zm3.9 7l1.6-4.4c.4.7.7 1.5.7 2.4.1 1.5-.4 2.9-1.3 4-1 1.2-2.6 1.9-4.2 1.9-.8 0-1.5-.2-2.2-.5.2 0 .3-.1.5-.2l3.3-1.5c.1 0 .2-.1.2-.1.7-.3 1.2-.9 1.4-1.6zM185.7 204c0-.3 0-.5-.1-.8l-.6-1.9-.3-1.1c-.1-.3-.2-.5-.4-.7 0-.3 0-.5-.1-.8l-.9-3.1c-.1-.3-.2-.5-.4-.7 0-.3 0-.5-.1-.8-.7-2.3-2.8-3.9-5.2-3.9-.5 0-1.1.1-1.6.2-.3.1-.5.2-.7.4h-
.2c-.2 0-.4 0-.6.1h-.2l-2.3.7-.6.2c-.3.1-.5.2-.7.4h-.2c-.2 0-.4 0-.6.1l-3.1.9c-.3.1-.5.2-.7.4h-.2c-.2 0-.4 0-.6.1l-3.1.9c-.3.1-.5.2-.7.4h-.2c-.2 0-.4 0-.6.1-2.9.9-4.5 3.9-3.6 6.8.1.3.2.5.4.7 0 .3 0 .5.1.8l.1.2c-.7.7-1.2 1.5-1.5 2.5-.5 1.6-.4 3.3.3 4.8.7 1.4 1.8 2.4 3.2 3-.3.5-.6 1.1-.8 1.8-.9 3.3 1.1 6.7 4.5 7.6.5.1 1 .2 1.6.2 2.8 0 5.3-1.9 6-4.7.3-1 .3-2.1 0-3.1l.6-.8c.1.1.2.1.3.2l5.7 2.1h.1c.6.2 1.1.3 1.7.3 2.3 0 4.4-1.5 5.2-3.7v-.1c.3-1-.1-2-.9-2.5 2.1-1.2 3.2-3.8 2.5-6.2v-.1c-.2-.5-.3-.7-.5-.9zm-2.2-.2l-3.1.9-.9-3.1 3.1-.9.9 3.1zm-4 5.7l-3.1-1.1 2-2.7c.1.1.2.3.2.4 0 .3 0 .5.1.8l.8 2.6zm2.6-10.3l-3.1.9-.9-3.1 3.1-.9.9 3.1zm-4.4-6.8c1.4 0 2.6.9 3.1 2.3l-3.1.9-.9-3.1c.2-.1.5-.1.9-.1zm-2.5.6l.9 3.1-3.1.9-.9-3.1 3.1-.9zm-3 6.5c.3-.1.5-.2.7-.4h.2c.2 0 .4 0 .6-.1l2.5-.7.1.3c-1.5.1-2.8.9-3.7 2l-3.7 5-1-.4c-.5-1.2-1.4-2.2-2.5-2.9l-.2-.8 2.5-.7c.3-.1.5-.2.7-.4h.2c.2 0 .4 0 .6-.1l3-.8zm-1.6-5.2l.9 3.1-3.1.9-.9-3.1 3.1-.9zm-4.6 1.4l.9 3.1-3.1.9-.9-3.1 3.1-.9zm-4.6 1.4l.9 3.1-3.1.9c-.4-1.7.5
-3.5 2.2-4zm7.1 17.9c.1.2.2.5.2.8.2.7.2 1.5.1 2.2-.5 1.8-2.1 3-3.9 3-.3 0-.7 0-1-.1-2.1-.6-3.4-2.7-2.9-4.9.5-1.8 2.1-3 3.9-3 .3 0 .7 0 1 .1l1.7-2.2-2.3-.8c-.4.6-.9 1-1.5 1.4-.6.3-1.2.4-1.8.4-1.5 0-2.9-.8-3.6-2.2-1-2-.2-4.4 1.8-5.4l-.5-1.7 3.1-.9.7 2.3c1.2.4 2.1 1.4 2.5 2.6l.1.5 3.6 1.3 4.6-6.2c.6-.8 1.6-1.2 2.5-1.2.7 0 1.4.2 2 .7L168.5 215zm13.9-2.1c-.4 1.3-1.7 2.2-3 2.2.1.1.1.3 0 .4-.1.2-.3.4-.5.4h-.2l-3.8-1.3c-.3-.1-.4-.4-.4-.7 0-.1.1-.2.2-.3l-2.1-.8 2-2.6 7.8 2.7zm-.6-3.6l-.9-3.1 3.1-.9c.5 1.7-.5 3.5-2.2 4z"/>
+ <path fill="#FFFEFE" fill-rule="nonzero" d="M166.9 216.4c-.3-.9-1.1-1.5-2-1.5-.2 0-.4 0-.6.1-1.1.3-1.7 1.5-1.4 2.6.3.9 1.1 1.5 2 1.5.2 0 .4 0 .6-.1h.2c1-.3 1.6-1.4 1.3-2.4-.1-.1-.1-.2-.1-.2zM163.9 207.1c-.3-.8-1.1-1.3-1.9-1.3-.3 0-.5 0-.8.1-1.1.4-1.6 1.6-1.2 2.7.3.8 1.1 1.3 1.9 1.3.3 0 .5 0 .8-.1.1 0 .1 0 .2-.1 1-.4 1.5-1.5 1.1-2.5l-.1-.1zM136.1 109.9c-.3.6-.5 1.2-.6 1.8 0 .1-.1.2-.1.4-.1.7-.2 1.3-.2 2l-.4.2-.6.4-.9.6-.2.1-.4.3-2 1.2-2.7 1.7-2.3 1.4c-.3.1-.5.3-.7.5-1.8 1.4-2.5 3.9-1.5 6 .8 1.8 2.6 3 4.6 3h.2c.7 0 1.3-.2 1.9-.4.3-.2.7-.3 1-.6l.4-.2 1.6-1 1.1-.7.5-.3 1.9-1.2.9-.6 2.2-1.4.6-.4c.6.3 1.3.6 2 .7h.1c.7.2 1.4.2 2.1.2 4.5 0 8.4-3.1 9.4-7.5.3-1.4.3-2.9 0-4.4-.3-1.1-1-2-2.1-2.4h-.1c0-1.1-.5-2.1-1.3-2.8-1.1-.9-2.4-1.5-3.8-1.8h-.1c-.6-.1-1.3-.2-2-.2-1.8 0-3.4.5-4.9 1.4-.8.5-1.6 1.1-2.2 1.8-.4.6-1 1.4-1.4 2.2zm2.8 2.8c.6-2.9 3.2-4.9 6-4.9.4 0 .8 0 1.3.1.9.2 1.7.6 2.4 1.2l-.2.1.1.1-4.4 2.8c-.3.2-.6.5-.7.8-.2.6-.2 1.2.2 1.7.4.6 1 .9 1.7.9.4 0 .7-.1 1-.3l4.6-2.7c.2.9.2 1.9 0 2.8
-.3 1.5-1.2 2.7-2.2 3.5-1.1.8-2.4 1.3-3.8 1.3-.4 0-.9 0-1.3-.2-1-.3-2-.8-2.8-1.6l-.7.4-2.2 1.4-2.4 1.5-2.1 1.3-4 2.5c-.1.1-.2.2-.4.2-.2.1-.4.1-.6.1h-.1c-.6 0-1.1-.3-1.4-.9-.3-.8 0-1.7.8-2l11.5-7.3c-.1-.5-.2-1-.2-1.5-.3-.3-.3-.8-.1-1.3z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M154.8 144.4l-2.2-4.7c-.1-.3-.5-.4-.7-.3-.3.1-.4.5-.3.7l2.2 4.7c.1.2.3.3.5.3.1 0 .2 0 .2-.1.3 0 .4-.4.3-.6zM161 185.3c.1.2.3.2.5.2.1 0 .2 0 .3-.1.3-.2.3-.5.1-.8l-2.5-3.5c-.2-.3-.5-.3-.8-.1-.3.2-.3.5-.1.8l2.5 3.5z"/>
+ <path fill="#E1E1E6" fill-rule="nonzero" d="M179 214.8l-3.8-1.3c-.2-.1-.3 0-.5.1-.1.1-.2.2-.2.3-.1.3.1.6.4.7l3.8 1.3h.2c.2 0 .5-.1.5-.4v-.4c-.1-.2-.2-.3-.4-.3zM179.7 181.2c.1 0 .3 0 .4-.1.2-.2.3-.5.1-.8l-2.7-3.2-1.6-1.9c-.2-.2-.5-.3-.8-.1-.2.2-.3.5-.1.8l.9 1.1 3.3 4c.2.1.4.2.5.2z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M268.1 159.5l-6 5.5c-.2.2-.2.6 0 .8.1.1.3.2.4.2.1 0 .3 0 .4-.1l6-5.5c.2-.2.2-.6 0-.8-.2-.3-.5-.3-.8-.1zM125.9 112.2c.1.2.3.4.5.4h.2c.3-.1.4-.4.3-.7l-1.7-4.7c-.1-.3-.4-.4-.7-.3-.3.1-.4.4-.3.7l1.7 4.6z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M98.9 188.6c.6-.9 1.6-1.5 2.5-1.7-1.1.2-2.2.8-2.9 1.8-.2.2-.3.5-.4.7h.2c.2-.2.3-.5.6-.8zM113 187.5c-.7-.2-1.3-.4-2-.3-1.6 0-3.3.8-4.3 2.1 0 .1.1.2.1.3 1.4-2 3.9-2.8 6.2-2.1zM95.5 213.7c.3.6.7 1.2 1.3 1.6.5.4 1.1.6 1.7.6l-.1-.1c-.6-.1-1.2-.3-1.7-.7-.6-.4-1-.9-1.2-1.4zM90.5 210.7c-2-1.5-2.9-4-2.4-6.3-.6 2.4.3 5 2.4 6.5 1.1.8 2.4 1.1 3.6 1.1.3 0 .7 0 1-.1v-.2c-1.6.4-3.2.1-4.6-1zM91.6 191.8c.4-.5.8-1 1.3-1.4-.6.4-1.2.9-1.6 1.6-1.8 2.5-1.4 5.9.8 7.9.1 0 .2-.1.3-.1-2.3-2-2.7-5.5-.8-8zM116.4 197.4c.2.1.3.2.5.4-.2-.2-.4-.4-.7-.5-.2-.2-.5-.3-.8-.4.3.1.7.3 1 .5zM109.4 218.5l-.6-3.3h-.1l.5 3.3c.1.1.2.1.2 0zM108.5 214.1c.1 0 .1 0 0 0 .1 0 .1 0 0 0zM102.4 213.5c-.1.3-.2.5-.4.7l-.3.3s0 .1.1.1l.3-.3c.1-.2.2-.5.3-.8l.1.1c.3.2.6.3.9.5-.4-.1-.7-.3-1-.6 0 .1 0 0 0 0zM111.9 213.8c0 .1.1.2.2.4.2.4.4.9.5 1.4 0-.1 0-.1.1-.2-.2-.5-.4-1-.5-1.4-.1-.1-.2-.2-.3-.2 0-.3-.2-.5-.5-.5h-.2c-.1 0-.2.1-.2.2.1 0 .1-.1.2-.1.3 0 .6.1.7.4zM110.3 225.1c.1.3-.2.6-.6.8-.5.3-1.2.5
-1.8.5.7-.1 1.4-.3 2-.5.5-.2.8-.6.7-.9l-1-5.4h.1c-.1 0-.2.1-.2.1l.8 5.4zM99.7 215.7l.1.1h.1c-.1 0-.1 0-.2-.1zM104.3 217.3c-.7-.2-1.3-.5-1.9-.9.6.4 1.2.7 1.9.9z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M114.5 211.4c.3.1.5.4.5.7-.4 1.9-1 4.2-2.5 5.8l-.1.1c-.5.6-1.2 1.1-2 1.4.9-.4 1.6-.9 2.1-1.5l.1-.1c1.4-1.6 2-3.9 2.4-5.8.1-.3-.1-.6-.5-.7h-.1c-.3 0-.5.2-.6.5v.1c.1-.3.4-.5.7-.5z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M121.5 195.5c.4-1.4.5-2.9.2-4.4-.4-2.7-1.9-5.1-4.2-6.8-1.8-1.3-3.9-2-6.1-2-1.4 0-2.7.3-4 .8-1.4-.9-3.1-1.3-4.8-1.3-2.4 0-4.7.9-6.4 2.5-3.3.1-6.5 1.8-8.4 4.5-1.9 2.7-2.5 6.2-1.6 9.3-.3.3-.6.7-.9 1.1-3.5 4.9-2.4 11.7 2.5 15.2 1.2.8 2.5 1.4 3.8 1.8.6 1 1.4 1.9 2.4 2.6 1.2.9 2.6 1.4 4 1.5.7.6 1.5 1 2.4 1.5l.7 4.2.1.5c.3 2.1 2.2 4.6 6.2 4.6.7 0 4.4-.1 6.5-2.6.5-.6.8-1.2 1-1.9.2-.8.3-1.6.2-2.4l-.3-2.1c.4-.3.8-.7 1.2-1.1l.2-.2c2.2-2.5 3.1-5.7 3.5-7.9.1-.5.1-1.1.1-1.6.8-.6 1.5-1.4 2.1-2.2 1.8-2.4 2.5-5.4 2-8.4-.4-1.9-1.2-3.7-2.4-5.2zm-1.9 12.1c-.8 1.1-1.8 2-3 2.7.4.6.6 1.4.5 2.1-.4 1.9-1.1 4.8-2.8 6.8l-.1.1c-.6.7-1.3 1.2-2.1 1.7l.7 3.6c.1.5 0 1.1-.2 1.6-.1.3-.2.5-.4.7-1.1 1.3-3.1 1.8-4.6 1.8-2.4 0-3.6-1.2-3.8-2.5l-.1-.5-1-5.5c-1.5-.6-2.7-1.3-3.7-2.2-1.3 0-2.5-.3-3.5-1.1-1-.7-1.8-1.7-2.2-2.8-1.5-.1-2.9-.6-4.1-1.5-1.8-1.3-3.1-3.2-3.5-5.4-.4-2.2.1-4.4 1.4-6.3.5-.7 1.1-1.3 1.7-1.8-1.4-2.7-1.2-6 .6-8.6 1.5-2.2 4.1-3.6 6.8-3.6h.7c1.3-1.6 3.2-2.6 5.3
-2.6 1.4 0 2.8.4 4 1.2.2.2.4.3.6.5 1.2-.8 2.7-1.3 4.2-1.3 1.7 0 3.3.5 4.6 1.4 1.7 1.2 2.9 3 3.3 5.1.3 1.6.1 3.2-.6 4.6 1.5 1.3 2.4 3 2.8 5 .4 2.5-.1 4.9-1.5 6.8z"/>
+ <path fill="url(#w)" fill-rule="nonzero" d="M108.2 214.3c.1 0 .2-.1.3-.1-.1 0-.2 0-.3.1z"/>
+ <path fill="url(#x)" fill-rule="nonzero" d="M110.3 225.1l-.9-5.4c.1 0 .2-.1.2-.1.2-.1.5-.1.7-.2.8-.3 1.5-.8 2-1.4l.1-.1c1.4-1.6 2.1-3.9 2.5-5.8.1-.3-.1-.6-.5-.7-.3-.1-.6.1-.7.4-.2 1.2-.6 2.6-1.1 3.7v-.1c0 .1 0 .1-.1.2-.2-.5-.4-1-.5-1.4-.1-.2-.1-.3-.2-.4-.1-.3-.4-.5-.7-.4-.1 0-.1.1-.2.1-.1.2-.2.4-.1.6 0 .1.1.3.2.5.2.4.5 1 .6 1.6.2.6.1.9 0 .9l-.1.1c-.4.5-1 .9-1.6 1.1-.2.1-.3.1-.5.2h-.1l-.5-3.3c-.9.3-1.8.4-2.2.4h-.4c-.3 0-.5-.3-.5-.6 0-.1.1-.2.2-.3-.7 0-1.3-.2-2-.4h.1l.5 3s-.1 0-.1-.1c-.7-.2-1.3-.5-2-.9-.1 0-.2 0-.3-.1-1.2-.7-1.9-1.8-2.2-2.7v-.1-.2c-.1-.2-.1-.4-.1-.6v-.1c0-.1-.1-.3-.2-.4-.1-.1-.3-.1-.5 0-.3.1-.3.9-.1 1.8.2.6.6 1.2 1 1.7l.1.1c.3.4.7.7 1 1 1.1.9 2.5 1.4 3.8 1.8l1.3 7.2c1.3 0 2.6.1 3.8.1.1-.1.4-.3.3-.7z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M107.5 226.5h.4c.7-.1 1.4-.3 1.8-.5-1.2-.1-2.5-.1-3.8-.1v.1c.2.4.8.5 1.6.5z"/>
+ <path fill="url(#y)" fill-rule="nonzero" d="M107.5 226.5h.4c.7-.1 1.4-.3 1.8-.5-1.2-.1-2.5-.1-3.8-.1v.1c.2.4.8.5 1.6.5z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M105.2 203.6c.8-.3 1.5-.5 2.3-.8-.8.3-1.6.6-2.3.8zM102.8 204.3c-.7.2-1.5.3-2 .5.6-.2 1.3-.3 2-.5zM98.8 214s0 .1 0 0c.2.7.6 1.3.9 1.7h.1c-.5-.5-.8-1-1-1.7zM107.4 202.8c.7-.3 1.4-.6 1.9-.8-.5.2-1.2.5-1.9.8zM99.6 212.7s.1 0 0 0c.1.1.1 0 0 0z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M105.8 214.7c.1-.1.3-.2.4-.2 0 0 1 .1 2-.3.1 0 .2-.1.3-.1h.1c.4-.2.8-.5 1.2-.8l.1-.1.4-.4.5-.5c.1-.1.1-.2.2-.3.6-.9 1-2 1.1-3h.6c2 0 4-1 5.3-2.8 1.9-2.7 1.4-6.4-1-8.5-.1-.1-.3-.2-.5-.4-.3-.2-.6-.4-1-.6-.1 0-.1-.1-.2-.1.2-.2.4-.4.5-.6 1.8-2.6 1.2-6.1-1.4-7.9-.4-.3-.9-.5-1.3-.7-2.2-.7-4.8.1-6.2 2.1 0-.1-.1-.2-.1-.3-.1.1-.1.2-.2.2-.3-.8-.9-1.5-1.6-2-.8-.6-1.7-.8-2.7-.8-.3 0-.5.1-.8.1-1 .3-1.9.8-2.5 1.7-.2.3-.4.6-.5.9h-.2c0 .1-.1.1-.1.2-.6-.2-1.2-.2-1.8-.2-1.2 0-2.3.4-3.3 1-.5.4-1 .8-1.3 1.4-1.8 2.5-1.4 6 .8 8.1-.1 0-.2.1-.3.1l.1.1c-1.3.4-2.4 1.2-3.2 2.4-.2.3-.4.7-.6 1.1v.1l-.3.9c-.5 2.3.4 4.8 2.4 6.3 1.4 1 3.1 1.3 4.6 1.1v.2c0 .3 0 .6.1.9v.1c.1.2.1.4.2.6.3.6.7 1.1 1.2 1.4.5.4 1.1.6 1.7.7-.3-.4-.5-.9-.6-1.4-.7-2.4.3-3 .7-3.2.5-.2 1.1-.2 1.5.1.4.3.7.7.8 1.3 0 .5.3 1.3.9 2l.3-.3c.2-.2.3-.5.4-.7 0 0 .1 0 .1.1.3.2.6.4.9.5.1.1.3.1.4.2h.1c.5.2 1.1.3 1.8.3zm2.1-19.7c.6-.2 1.3.1 1.5.7l.8 2.4c-.8-.1-1.6.2-2.2.8l-.8-2.4c-.3-.7.1-1.3.7-1.5zM97 199.8c-.2
-.6.1-1.3.7-1.5.6-.2 1.3.1 1.5.7l.8 2.4c-.8-.1-1.6.2-2.2.8l-.8-2.4zm6.3 8.1c.1-.1.1-.2.2-.2-.1.1-.2.1-.2.2-.2 0-.4 0-.6-.1-.7-.1-1.4-.3-2.1-.6-.4-.2-.8-.3-1.1-.6-.4-.2-.8-.5-1.2-.8l-.2-.1c-.1-.1-.1-.2 0-.3 0 0 0-.1.1-.1.2-.1.5-.2.7-.3.3-.1.6-.3 1-.4l1.7-.6c1.1-.4 2.3-.8 3.4-1.2 1.2-.4 2.3-.7 3.5-1.1l1.7-.5c.3-.1.7-.2 1-.3.2-.1.5-.1.7-.2.1 0 .2 0 .2.1v.1l-.1.2c-.1.5-.3 1-.5 1.4-.2.4-.4.8-.6 1.1-.4.7-.9 1.3-1.3 1.8-.1.1-.3.2-.4.4-.8.8-1.7 1.3-2.7 1.6-1 .5-2.1.7-3.2.5z"/>
+ <path fill="url(#z)" fill-rule="nonzero" d="M203.6 209.1c.1.2.1.3.1.5.1 0 .2 0 .3.1-.1-.3-.3-.4-.4-.6z"/>
+ <path fill="url(#A)" fill-rule="nonzero" d="M227 221.9v-1.3-1.4-1.4-.7-1c-.7.3-1.5.5-2.2.5 0 2.6 0 4.6.1 6.2h2.2c-.1-.3-.1-.6-.1-.9z"/>
+ <path fill="url(#B)" fill-rule="nonzero" d="M203.3 223.1l-.2-.2-.5-.5c-.1-.1-.2-.2-.2-.3-.1-.2-.3-.3-.4-.5-.1-.1-.2-.2-.2-.3-.2-.2-.3-.4-.5-.5-.1-.1-.2-.2-.2-.3l-.6-.6c-.1-.1-.1-.2-.2-.2-.3-.3-.5-.6-.8-.9-.5-.6-1-1.2-1.5-1.9l-.1-.1-1.2-1.8c0-.1-.1-.1-.1-.2-.4-.6-.7-1.2-1.1-1.9 0-.1-.1-.1-.1-.2-.3-.6-.7-1.3-1-1.9 0-.1 0-.1-.1-.2-.3-.6-.5-1.1-.7-1.7-1-.4-2-.9-3-1.4 1.6 4.2 3.9 8.9 7.1 12.7 1.1 1.3 2 2.3 2.9 3.3.9-.1 1.9-.1 2.8-.2 0 0 0-.1-.1-.2z"/>
+ <path fill="url(#C)" fill-rule="nonzero" d="M204.7 212.6c0 .1 0 .1.1.2.1.4.2.8.4 1.2v.1c.1.4.2.7.3 1.1 0 .1.1.2.1.3.1.4.2.7.3 1.1v.1l.3 1.2c0 .1.1.2.1.3.1.3.2.6.2.9 0 .1.1.2.1.3.1.4.2.7.3 1.1 0 .1 0 .1.1.2.1.3.1.6.2.8 0 .1 0 .2.1.3.1.3.1.6.2.9V223c.7 0 1.5-.1 2.3-.1-.4-2.1-1.3-5.4-2.9-10.6-.8-.1-1.6-.3-2.5-.4.1.3.2.5.3.7z"/>
+ <path fill="url(#D)" fill-rule="nonzero" d="M214.9 199.4l8.1 2.3h.2c.4 0 .7-.2.8-.6.1-.4-.1-.9-.6-1l-8.1-2.3h-.2c-.4 0-.7.2-.8.6-.1.4.1.8.6 1z"/>
+ <path fill="url(#E)" fill-rule="nonzero" d="M267.5 198.4l-1.2-.6c-.4.3-.9.6-1.3.9.9-.1 1.7-.2 2.5-.3z"/>
+ <path fill="url(#F)" fill-rule="nonzero" d="M151.3 155.4c-1.2-.4-2.4-.6-3.6-.6-2.5 0-4.9.9-6.8 2.5l1.2-3.3c.1-.3 0-.7-.4-.8h-.2c-.3 0-.5.2-.6.4l-1.1 2.8v4.4l5.2 2h.2c.3 0 .5-.2.6-.4.1-.3 0-.7-.4-.8l-3.7-1.4c1.5-1.8 3.7-2.7 5.8-2.7 1.8 0 3.6.6 5.1 1.9 3.2 2.8 3.6 7.7.7 10.9-1.5 1.8-3.7 2.7-5.8 2.7-1.8 0-3.6-.6-5.1-1.9-1.7-1.5-2.7-3.6-2.7-5.9v2.5c0 1.1-.3 2.2-.9 3 1.9 2.8 5 4.6 8.6 4.6h.1c5.7-.1 10.3-4.7 10.2-10.4.2-4.2-2.4-8-6.4-9.5z"/>
+ <path fill="url(#G)" fill-rule="nonzero" d="M144.1 167.6l.8.3.1.2 3.3-1.5c.2-.1.3-.3.3-.4l1.8-4.8c.1-.3 0-.7-.4-.8h-.2c-.3 0-.5.2-.6.4l-1.7 4.6-3.1 1.3c-.3 0-.4.4-.3.7z"/>
+ <path fill="url(#H)" fill-rule="nonzero" d="M163 112.5c.1.5.7.5.8 0 1.2-4.8 5-8.6 9.8-9.8.5-.1.5-.7 0-.8-4.8-1.2-8.6-5-9.8-9.8-.1-.5-.7-.5-.8 0-1.2 4.8-5 8.6-9.8 9.8-.5.1-.5.7 0 .8 4.8 1.2 8.5 5 9.8 9.8z"/>
+ <path fill="url(#I)" fill-rule="nonzero" d="M234.8 212.7c-.1.5-.2 1.1-.3 1.6v.1c-.1.5-.2 1-.4 1.5-.1.5-.3.9-.4 1.4-.1.4-.3.8-.4 1.1 0 .1-.1.3-.1.4-.1.2-.2.5-.3.7-.1.1-.1.3-.2.4-.1.2-.2.4-.2.6-.1.1-.1.3-.2.4-.1.2-.2.4-.2.5-.1.1-.1.3-.2.4-.1.2-.2.3-.2.5-.1.1-.1.2-.2.3 0 0 0 .1-.1.1.8 0 1.7 0 2.5.1.8-1.7 1.5-3.5 2-4.9.6-1.7 1.1-4 1.6-6.9l-2.4.6c-.1.3-.1.6-.2 1l-.1.1z"/>
+ <path fill="url(#J)" fill-rule="nonzero" d="M191.9 204.4l-.3-.9c1.4 1.1 3.3 2 6 2.5h.1c.3 0 .5-.2.5-.5.1-.3-.1-.6-.4-.6-5.2-1-7.3-3.8-8.2-5.4-.1-.4-.3-.8-.4-1.2 0-.1-.1-.3-.1-.5l-.3-1.2c0-.2-.1-.4-.1-.5-.1-.4-.1-.8-.2-1.2v-.6-1c-.1.1-.2.1-.3.1-.1 0-.2 0-.3-.1-.5-.4-1.1-.7-1.6-1.1-.1 4.4.9 8.4 3 11.4l.3.9c1 .6 1.9 1.1 2.9 1.6-.3-.6-.4-1.2-.6-1.7z"/>
+ <path fill="url(#K)" fill-rule="nonzero" d="M178.1 85.3c-.1-.3-.5-.3-.6 0-.8 3.2-3.4 5.8-6.6 6.6-.3.1-.3.5 0 .6 3.2.8 5.8 3.4 6.6 6.6.1.3.5.3.6 0 .8-3.2 3.4-5.8 6.6-6.6.3-.1.3-.5 0-.6-3.3-.9-5.8-3.4-6.6-6.6z"/>
+ <path fill="url(#L)" fill-rule="nonzero" d="M180.4 204.7l3.1-.9-.9-3-3.1.9"/>
+ <path fill="url(#M)" fill-rule="nonzero" d="M176.8 200.9c-.9 0-1.9.4-2.5 1.2l-4.6 6.2-3.6-1.3-.1-.5c-.4-1.2-1.3-2.2-2.5-2.6l-.7-2.3-3.1.9.5 1.7c-2 1-2.8 3.4-1.8 5.4.7 1.4 2.1 2.2 3.6 2.2.6 0 1.2-.1 1.8-.4.6-.3 1.2-.8 1.5-1.4l2.3.8-1.7 2.2c-.3-.1-.7-.1-1-.1-1.8 0-3.4 1.2-3.9 3-.6 2.1.7 4.3 2.9 4.9.3.1.7.1 1 .1 1.8 0 3.4-1.2 3.9-3 .2-.7.2-1.5-.1-2.2-.1-.3-.1-.5-.2-.8l10.3-13.5c-.6-.3-1.3-.5-2-.5zm-13.9 8.8c-.1 0-.1 0-.2.1-.2.1-.5.1-.8.1-.8 0-1.6-.5-1.9-1.3-.4-1.1.1-2.3 1.2-2.7.2-.1.5-.1.8-.1.8 0 1.6.5 1.9 1.3 0 0 0 .1.1.1.4 1-.1 2.1-1.1 2.5zm2.8 9.2h-.2c-.2.1-.4.1-.6.1-.9 0-1.7-.6-2-1.5-.3-1.1.3-2.3 1.4-2.6.2-.1.4-.1.6-.1.9 0 1.7.6 2 1.5v.1c.4 1.1-.2 2.2-1.2 2.5z"/>
+ <path fill="url(#N)" fill-rule="nonzero" d="M274.7 179.9c.4-1.1 1.2-2 2.3-2.4-.4-.2-.8-.3-1.2-.4-.3-.1-.6-.1-.9-.2-.2 1-.4 1.9-.8 3h.6z"/>
+ <path fill="url(#O)" fill-rule="nonzero" d="M180.9 206.3l.9 3.1c1.7-.5 2.6-2.3 2.1-4l-3 .9z"/>
+ <path fill="url(#P)" fill-rule="nonzero" d="M284.7 187.9c-.4-.2-.7-.3-1-.3-.7 0-1.3.3-1.6.9-1.7 3.1-4.9 4.9-8.3 4.9-.8 0-1.5-.1-2.3-.3-2.9-.7-5.3-2.8-6.4-5.6l3.7 1c.2 0 .3.1.5.1.8 0 1.6-.6 1.8-1.4.3-1-.3-2-1.4-2.3l-7.3-1.9c-.2 0-.3-.1-.5-.1-.8 0-1.6.6-1.8 1.4l-1.9 7.3c-.3 1 .3 2 1.4 2.3.2 0 .3.1.5.1.8 0 1.6-.6 1.8-1.4l.5-2c2.4 4.4 6.9 6.9 11.5 6.9 2.1 0 4.2-.5 6.1-1.5 2.3-1.3 4.3-3.2 5.5-5.6.5-.9.2-2-.8-2.5z"/>
+ <path fill="url(#Q)" fill-rule="nonzero" d="M172.7 212.8l2.1.8c.1-.1.3-.1.5-.1l3.8 1.3c.2 0 .3.2.3.3 1.3 0 2.6-.9 3-2.2l-7.7-2.7-2 2.6z"/>
+ <path fill="url(#R)" fill-rule="nonzero" d="M176.1 196l-.9-3-3.1.9 1 3"/>
+ <path fill="url(#S)" fill-rule="nonzero" d="M171.5 197.4l-.9-3.1-3.1 1 1 3"/>
+ <path fill="url(#T)" fill-rule="nonzero" d="M166.9 198.8l-.9-3.1-3.1 1 1 3"/>
+ <path fill="url(#U)" fill-rule="nonzero" d="M162.3 200.2l-.9-3.1c-1.7.5-2.6 2.3-2.1 4l3-.9z"/>
+ <path fill="url(#V)" fill-rule="nonzero" d="M274.7 180c-.2 0-.4-.1-.6-.1-.4 1.3-1 2.7-1.8 4.1.9 1 1.3 2.4 1 3.8-.3 1.3-1.3 2.3-2.5 2.8l.9.3c3-2.5 5.1-4.5 6.1-5.5l-.3-.1c-1.1-.3-2-1-2.5-1.9-.6-1-.7-2.1-.4-3.1 0-.1.1-.2.1-.3z"/>
+ <path fill="url(#W)" fill-rule="nonzero" d="M274.9 191.2c2.2-.3 4.2-1.7 5.3-3.7v-.1c.3-.4.6-.8 1-1.1l-1-.3s0 .1-.1.1c0 .2-1.9 2.2-5.2 5.1z"/>
+ <path fill="url(#X)" fill-rule="nonzero" d="M187.6 158.4c-1.4-.9-3.2-.6-4 .7-.8 1.3-.3 3 1.1 3.9 1.4.9 3.2.6 4-.7.8-1.2.3-3-1.1-3.9z"/>
+ <path fill="url(#Y)" fill-rule="nonzero" d="M276.7 136.6c-.3.7-.4 1.4-.4 2.1l-.9.3c-1.2.5-2.5 1.1-3.7 1.8-.2.1-.4.3-.7.4-.4.2-.7.5-1.2.8-.2.1-.4.3-.6.4l-.6.5c-.1.1-.3.2-.4.3h-.8c-1.1.1-9.8 2-18 3.9.6-1.9 1.2-3.8 1.6-5.8 1.3 0 2.7-.1 4-.2 1 .9 2.3 1.3 3.7 1.3 2.1 0 3.9-1.1 4.9-2.7.5.1 1 .1 1.5.1 4.8 0 9.1-3 10.7-7.5 3-1 5.2-3.7 5.7-6.9.6-.9 1.2-1.8 1.8-2.8 4-1.5 6.6-5.7 6-10 0-.4-.1-.7-.2-1.1 1.5-1.9 2.1-4.4 1.8-6.8-.3-2.1-1.2-4.1-2.7-5.6-.3-2.4-.8-4.7-1.5-7 .1-.4.1-.9.1-1.3 0-3.3-1.7-6.4-4.6-8.1-2.8-4.3-6.6-8-10.8-10.8-1.3-3.8-4.8-6.4-9-6.4-1.4 0-2.8.3-4.1.9-1.2-.3-2.4-.6-3.6-.8-1.7-1.5-4-2.4-6.2-2.4-.4 0-.8 0-1.2.1-2 .2-3.8 1.1-5.3 2.5-2.4.5-4.8 1.2-7 2.1-.6-.1-1.3-.2-2-.2-4.6 0-8.5 3.4-9.3 7.8l-.1.1c-4.1 1.1-7 4.8-7 9.1v.7c-.4.8-.8 1.7-1.1 2.5-1.6 1-2.6 2.8-2.6 4.8 0 .4 0 .7.1 1.1-.6-.6-1.2-1.2-1.9-1.7-.2-1.3-.8-2.4-1.4-3.4.3-2-.6-3.9-1.8-6.3-.2-.4-.4-.9-.7-1.3-.5-1-1.4-1.6-2.4-1.6-1.5 0-2.7 1.2-3.9 3.8-.7 1.6-2.2 5.3-1.1 7.6-.5 3.6 0 6 1.5 7.1l.1.1c.2 1.6.6 3.2 1.1 4.6-11 4.2
-28.2 12.1-33.8 19.4-1.3 1.8-1.6 4.3-.6 7.6 1.9 6.5 8.8 16.5 14 18.4 7.3 2.7 17.2 4.3 27.1 4.3h2c-2.1 1.4-4.1 2.9-6 4.5-3.9 1.5-7 2.8-9.5 3.9-.5-.8-1-1.5-1.6-2.2-1.1-1.3-2.4-2.4-3.8-3.3-2.9-1.8-6.2-2.8-9.7-2.8-6.2 0-11.9 3.1-15.2 8.3-1.1 1.7-1.8 3.4-2.3 5.3l.6.9c.2.3.1.6-.1.8-.1.1-.2.1-.3.1-.2 0-.3-.1-.5-.2-.5 3.2-.1 6.5 1 9.4 1.6 2.5 3.3 4.8 5 7.1.6.6 1.3 1.1 2.1 1.6 2.9 1.8 6.2 2.8 9.7 2.8 1.2 0 2.4-.1 3.5-.3l2.4-.6c-.2 1.1-.3 2.1-.3 3.2.7.5 1.4 1 2.2 1.5v-.1-1.3c0-.2 0-.5.1-.7 0-.4.1-.9.1-1.3 0-.3.1-.5.1-.8.1-.4.2-.9.2-1.3v-.2c0-.2.1-.4.1-.6.1-.5.2-.9.3-1.4.1-.3.1-.6.2-.8.1-.5.3-.9.4-1.4.1-.3.2-.6.3-.8.2-.5.4-1 .5-1.4.1-.3.2-.6.3-.8.2-.5.4-1 .7-1.5.1-.3.2-.5.4-.8.3-.5.5-1.1.8-1.6.1-.2.2-.5.4-.7.3-.6.7-1.2 1-1.8.1-.2.2-.4.3-.5.2-.3.4-.6.6-.8 3-4.4 5.4-6.8 5.4-6.8.1-.1.2-.3.2-.4 0-.1-.1-.3-.2-.4-.2-.2-.6-.2-.8 0-.1.1-2.3 2.3-5.1 6.4-1.1.2-2.1.3-3.1.5h-.1c-.4.1-.8.1-1.1.2h-.2c-.3 0-.6.1-.9.1h-.2c-.3 0-.6.1-.9.1-.2 0-.4 0-.6.1h-.7-.2s-.8 0-1.2-.5c0-.1-.1-.1-.1-.2s-.1-.1-.1-.2v-.6c0-.
2.1-.5.3-.9.1-.1.1-.2.2-.4.2-.3.6-.6 1.2-1 .1 0 .1-.1.2-.1s.1-.1.2-.1c1.1-.6 2.6-1.4 4.4-2.2 4.1-1.9 9.7-4.1 14.3-5.9.1 0 .1-.1.2-.1.5-.4 1-.9 1.6-1.3.4-.3.7-.6 1.1-.8.3-.3.7-.5 1-.8.8-.6 1.5-1.1 2.3-1.6.2-.1.4-.3.6-.4.5-.3 1.1-.7 1.6-1 .1-.1.3-.2.4-.3.8-.5 1.6-.9 2.4-1.4.3-.2.6-.4 1-.5 4.1-.6 10.4-1.6 14.2-3.2.3-.1.4-.4.3-.7-.1-.3-.4-.4-.7-.3-5.7 2.3-17.7 3.6-17.8 3.6h-.2c-1.7.1-3.4.2-5.1.2-9.9 0-19.5-1.6-26.3-4.1-.7-.3-1.4-.7-2.3-1.4-.2-.2-.4-.3-.6-.5-.4-.4-.8-.8-1.3-1.2-.2-.2-.4-.4-.6-.7-.4-.5-.9-1-1.3-1.5s-.8-1.1-1.2-1.6c-.6-.8-1.2-1.7-1.8-2.6-.4-.6-.7-1.2-1.1-1.8-2-3.6-3.3-7.2-2.9-9.7v-.1c.1-.6.3-1.1.7-1.6.2-.2.4-.4.6-.7.1-.1.1-.2.2-.2.1-.2.3-.3.4-.5l.3-.3.4-.4.3-.3c.1-.1.3-.3.5-.4.1-.1.2-.2.4-.3.2-.1.3-.3.5-.4.1-.1.3-.2.4-.3.2-.1.3-.3.5-.4.1-.1.3-.2.4-.3.2-.1.4-.3.6-.4.1-.1.3-.2.4-.3.2-.1.4-.3.6-.4.1-.1.3-.2.4-.3.2-.2.5-.3.7-.5.1-.1.2-.2.4-.2.3-.2.7-.4 1-.6.1-.1.2-.1.3-.2.3-.2.7-.4 1-.6.2-.1.3-.2.5-.3.2-.1.5-.3.7-.4.2-.1.4-.2.5-.3.2-.1.5-.3.7-.4l.6-.3c.2-.1.5-.3.7-.4l.6-.3c.2-
.1.5-.2.7-.4l.6-.3c.2-.1.5-.2.7-.4l.6-.3c.2-.1.5-.2.7-.3.2-.1.4-.2.7-.3.2-.1.5-.2.7-.3.2-.1.5-.2.7-.3.2-.1.5-.2.7-.3.2-.1.4-.2.7-.3.3-.1.5-.2.8-.3.5-.2.9-.4 1.4-.6l.6-.3c.3-.1.5-.2.8-.3l.6-.3c.3-.1.5-.2.8-.3l.6-.3c.3-.1.5-.2.8-.3.2-.1.4-.2.6-.2.3-.1.5-.2.8-.3.2-.1.4-.2.6-.2.3-.1.5-.2.8-.3.2-.1.4-.1.5-.2.3-.1.5-.2.8-.3.2-.1.4-.1.5-.2.3-.1.5-.2.8-.3.2-.1.3-.1.5-.2s.4-.1.6-.2c-.1.2-.1.5 0 .7 1.8 5.7 5.9 6.6 6.1 6.6h.2c.5 0 1-.4 1.1-.9.1-.6-.3-1.2-.9-1.3-.1 0-2-.5-3.5-3 3.4.1 7.2-2.6 7-6 1.4 1 3.5 2.9 3.5 5.5 0 3.8-3.7 5.1-3.9 5.2-.3.1-.4.4-.4.7 0 0 0 .1.1.1.1.2.3.3.5.3h.2s4.6-1.6 4.7-6.2c0-2-1-3.6-2.1-4.8l1.4-.4c.5.4 1.7 1.2 3.2 1.2h.6c.3 0 .5-.3.5-.6v-.1c-.1-.2-.3-.4-.6-.3-1.7.2-3.1-1.1-3.1-1.1-.1-.1-.4-.2-.6-.1l-2.3.7c-.2-.2-.5-.4-.7-.5 0-.7.1-1.4.1-2.2 0-.4.1-.9.2-1.3s.1-.9.2-1.3c-.5-.6-.7-1.3-.7-2.1 0-.6.1-1.1.4-1.5.2-.5.5-.9.9-1.2.1-.1.3-.2.4-.3.1-.1.3-.2.5-.2.2-.5.3-.9.5-1.3.2-.5.4-.9.6-1.4.1-.3.3-.7.5-1 0-.3-.1-.7-.1-1v-.1-.1c0-.6.1-1.3.3-1.8.2-.8.6-1.6 1.1-2.2.2-.3.5-.7.8-.9.5-
.5 1.1-.9 1.7-1.3.6-.3 1.3-.6 2.1-.7.3-.4.7-.7 1-1 0-.3.1-.7.2-1 .1-.4.2-.7.3-1 .9-2.3 3-4 5.5-4.5h.3c.3 0 .7-.1 1-.1.3 0 .6 0 .8.1.5.1.9.1 1.3.3.6-.3 1.3-.5 1.9-.8 1.3-.5 2.6-.9 4-1.2.7-.2 1.4-.3 2.1-.4.6-.6 1.2-1.1 2-1.5.8-.4 1.6-.7 2.5-.8.3 0 .6-.1.9-.1h1c.2 0 .4.1.5.1.1 0 .2.1.3.1.2 0 .3.1.5.1.1 0 .2.1.3.1.1.1.3.1.4.2.1 0 .2.1.3.1.1.1.3.2.4.2.1.1.2.1.3.2.1.1.3.2.4.3l.2.2c.2.2.4.3.6.5 1.7.2 3.3.6 4.9 1.1.6-.3 1.2-.6 1.8-.8.1 0 .2 0 .3-.1.2-.1.5-.1.7-.2h1c.4 0 .8 0 1.2.1h.2c.4.1.7.2 1 .3.1 0 .1 0 .2.1.3.1.7.3 1 .4 0 0 .1 0 .1.1l.9.6c.3.2.6.5.8.8.3.3.5.6.7.9v.1c.2.3.4.7.5 1v.1c.1.4.3.7.4 1.1.1.4.2.8.2 1.3 3.1 2.5 5.8 5.5 7.8 8.9 1.2 0 2.2.3 3.2.8.6.3 1.1.7 1.6 1.1.5.4.9.9 1.2 1.4 0 0 0 .1.1.1.1.2.3.5.4.7 0 0 0 .1.1.1l.3.9v.1c.1.2.1.5.2.7v.2c0 .3.1.6.1.9V92.9c0 .2-.1.5-.1.7-.3 1.7-1.2 3.1-2.5 4.2.2 1.5.3 2.9.3 4.4 1.2 1.2 2 2.8 2 4.7.1 2.2-.9 4.2-2.5 5.5.2.6.3 1.2.3 1.8.1 3.4-2.4 6.3-5.7 6.9-.8 1.2-1.7 2.3-2.6 3.3-.5 2.8-2.8 4.8-5.5 5-1.2 3.7-4.9 6.2-9 5.8-.9-.1-1.8-.3-2.6-.7h-.2c-.
4 1.6-1.9 2.6-3.5 2.5-.3 0-.5-.1-.8-.2-.3 1.2-.6 2.4-.9 3.5h1-2.4c.2-3.6-.3-5.8-.4-5.9-.1-.3-.4-.5-.7-.4h-.1c-.2.1-.4.4-.3.6 0 0 .9 3.8-.1 9.4-.4 1.4-.8 2.8-1.3 4.3-.1.2-.1.4-.2.6-.3.9-.6 1.7-1 2.6 7.4-1.8 15.5-3.6 19.4-4.4l-.6.6c-.9.9-1.9 2-2.7 2.9-.8 1-1.4 1.8-1.8 2.3-.2.3-.4.5-.5.7 0 0 0 .1-.1.1-.1.1-.1.2-.1.2-.2.3-.2.6-.3.9-2.9 1.5-6 3.1-9 4.5-2.9 1.4-5.5 2.7-7.6 3.6-.2.1-.3.2-.5.2-.1.1-.1.3-.2.4-.1.2-.2.4-.2.6 0 0 0 .1-.1.1-.1.4-.3.7-.4 1.1v.1c-.1.4-.3.8-.4 1.2-.1.4-.3.9-.4 1.3-.4 1.4-.8 2.9-1.1 4.4-1 4.8-1 5-.9 5.1.1.2.3.4.5.4h.2c.3-.1.4-.3.4-.6s.2-1.4.5-2.9c.9-.2 1.8-.3 2.6-.4 1.2-1.2 2.8-2 4.5-2.1 2-.2 3.9.6 5.3 1.8.8-.3 1.7-.5 2.7-.4 1.3.1 2.6.5 3.6 1.3 1.3-.2 2.4-.4 3.5-.7.4-.1.8-.3 1.2-.4.9-.8 1.9-1.6 3.1-2.2.7-.4 1.4-.6 2.1-.9 2.1-1.9 3.3-4 3.8-5.3.1-.2.1-.3.2-.5 0-.1.1-.3.1-.3.1-.2.1-.3.1-.3v.1c.1.1.2.3.3.6.4.9 1.1 2.6 1.5 4.9.8.1 1.6.2 2.3.3-.6-4.3-2.2-7-2.3-7.1-.4-.7-1.1-1.1-1.9-1.1h-.3c-.9.1-1.6.8-1.8 1.7-.1.2-1.6 5.6-7.9 8-2-1.7-4.3-3.1-7-4.3-2.9-1.2-6.1-1.8-9.7-1.8
-.8 0-1.6 0-2.5.1.1-.2.2-.4.2-.6 2.4-1.1 9.7-4.6 16.1-7.9.5.4 1.1.7 1.7.7.2 0 .4 0 .7-.1 0 0 .1 0 .3-.1.2-.1.5-.2.8-.3.6-.2 1.5-.6 2.7-1.2.1 0 .1-.1.2-.1.1.1.1.2.2.2.8.9 2 1.5 3.4 1.7.5.1.9.1 1.3.1 1.3 0 2.5-.4 3.5-1.1 2-1.5 2.3-4.1 2.3-4.2.1-.6-.4-1.2-1-1.2-.2 0-.4 0-.6.1-.3.2-.6.5-.6.9 0 0-.2 1.8-1.4 2.7-.7.6-1.8.8-3.1.6-1.1-.2-1.9-.6-2.4-1.4-1.1-1.6-.6-4-.5-4.1v-.6c-.1-.4-.4-.7-.8-.8-.6-.1-1.2.2-1.3.8 0 .1-.7 2.9.6 5.3h-.1c-1.1.5-2 .9-2.6 1.1-.3.1-.6.2-.7.3-.2.1-.3.1-.3.1-.4.1-.7 0-1-.1-.3-.2-.6-.5-.6-.8-.1-.3-.1-.7.1-1l.1-.2c.1-.2.2-.4.4-.7.3-.4.8-1.2 1.7-2.2.8-1 1.7-2 2.6-2.9.5-.5 1-1 1.6-1.5.6-.5 1.1-1 1.7-1.5.2-.2.4-.3.6-.5l.6-.5c.2-.1.4-.3.6-.4.1-.1.2-.1.3-.2.5 1.7 1.6 3.3 3 4.4.3.2.7.5 1 .7-.1.1-.2.2-.3.2-.2.2-.4.3-.6.4l-.6.5c-.1 0-.1.1-.2.1.4.2.8.3 1.2.5l.3-.3c.2-.2.4-.3.6-.5.7-.5 1.2-1 1.7-1.5 1-1 1.9-2 2.6-3.1.5-.7.8-1.3 1.1-1.8.3 0 .6 0 .9-.1 1.3-.3 4.6-1.7 6.4-7.7.2-.5 0-1.1-.5-1.5-.4-.4-1-.4-1.5-.2-.9.5-2.5 1-4.4.9-1.7-.1-3.3.5-4.3 1.6-.4-.4-.6-.1-.8.3 0-.1 0 0 0 0zm1
2.3-31.5c0 .3.1.6.1.9-.1-.3-.1-.6-.1-.9 0-.4-.1-.7-.2-1.1.1.4.1.8.2 1.1zm-104.7 62.1c-1.2 2-.9 3.4-.5 4.3.7 1.2 1.9 1.7 2.9 1.8h.6c.5 0 1.5-.1 4.7-.5-.7 1.3-1.4 2.6-2 3.9-.2-.2-.4-.4-.7-.5-1.5-.8-3.3-.3-4.1 1.1-.8 1.4-.2 3.2 1.3 4 .5.3 1 .4 1.5.4-.5 1.6-.9 3.1-1.2 4.6-2 .8-4 1.1-6.1 1.1-3.1 0-6.3-.9-9.1-2.6-7.9-5-10.2-15.5-5.2-23.3 3.2-5.1 8.7-7.8 14.3-7.8 3.1 0 6.3.9 9.1 2.6 2.1 1.3 3.7 3.1 5 5-9.3 4-10 5.2-10.5 5.9zm17.8-77.5c0-.1 0-.2-.1-.3v-.2-.4-.3-.4-.3c0-.1.1-.3.1-.4 0-.1 0-.2.1-.3 0-.2.1-.3.1-.5 0-.1.1-.2.1-.3.1-.2.1-.3.2-.5 0-.1.1-.2.1-.3.1-.2.1-.4.2-.6 0-.1 0-.1.1-.2.1-.2.2-.5.3-.7 0-.1.1-.1.1-.2.1-.2.2-.3.3-.5 0-.1.1-.1.1-.2.1-.1.1-.2.2-.4 0-.1.1-.1.1-.2.1-.1.1-.2.2-.3 0-.1.1-.1.1-.2l.2-.2s.1 0 .1-.1c2.4 1.9 2.2 7.3 2.2 7.4v.1c-1.1 1.6-3.1 2.1-4.4.9-.1-.1-.2-.1-.2-.2-.1-.1-.1-.2-.2-.3v.1zM204 98c-.1-.4-.1-.8-.1-1.2-.1-.1-.3-.1-.4-.2-.1-.1-.3-.2-.4-.3-.1-.1-.2-.1-.2-.2-.2-.3-.3-.7-.4-1.3-.1-.5-.1-1-.1-1.6 0-.3 0-.7.1-1.1 2.1 1.8 5.2.5 5.8-1.5.1.2.2.4.3.7.4 1.2.6 2.2.7 2.6v
.2c-.8 2.2-3.3 3.4-5.3 2.7.1.7.2 1.3.3 2-.3-.2-.3-.5-.3-.8zm9.1 1.2c-.2 3-4.3 5-7.1 4.5-.7-.5-1.2-1.8-1.6-3.4-.1-.4-.2-.7-.2-1.1V99c2.9 1.2 6.1-.8 6.5-3.5.4.3.9.7 1.4 1.2.7.7 1 1.5 1.1 2.1-.1.1-.1.3-.1.4zm74.3 13.9c-.1-.7-.3-1.3-.5-1.9.2.6.4 1.2.5 1.9 0 .2 0 .5.1.7-.1-.3-.1-.5-.1-.7zm-1.1-12.7c.5.4 1 .9 1.4 1.5-.4-.6-.8-1.1-1.4-1.5zm-20.4 37.3h-.5.5zm-3.3-.4c.3.1.7.2 1 .2-.4-.1-.7-.1-1-.2-.1 0-.1 0 0 0-.1 0-.1 0 0 0zm-2 2.5c-.3.2-.7.3-1.1.4.5 0 .8-.2 1.1-.4zm-1.4.5h-.3.3zm-12.9 26.1h.1-.4.3zm31.4-29.4c.6-1.2 1.9-1.9 3.5-1.9h.6c.5.6-.2 1 .4 2.1.7 1.3 2.3-.3 3.3.6-1.5 2.6-3.3 3.3-4.2 3.5-1.2.3-2.5 0-3.1-.8-.8-1-1-2.4-.5-3.5zm-.2 4.3c.5.6 1.2.9 2 1.1-.2.4-.5.8-.8 1.3-.4.6-.9 1.2-1.3 1.7-1.7-.7-3.1-2.3-3.5-4.2v-.4c.7-.3 1.3-.7 2-.9.3-.1.5-.2.7-.3.2.7.5 1.2.9 1.7z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M219.1 84.8c0-.6.1-1.3.3-1.8-.2.5-.3 1.2-.3 1.8z"/>
+ <path fill="url(#Z)" fill-rule="nonzero" d="M219.1 84.8c0-.6.1-1.3.3-1.8-.2.5-.3 1.2-.3 1.8z"/>
+ <path fill="url(#aa)" fill-rule="nonzero" d="M219.1 84.8c0-.6.1-1.3.3-1.8-.2.5-.3 1.2-.3 1.8z"/>
+ <path fill="url(#ab)" fill-rule="nonzero" d="M178.6 177.5c-.4-.2-.8-.3-1.1-.4l2.7 3.2c.2.2.2.6-.1.8-.1.1-.2.1-.4.1s-.3-.1-.4-.2l-3.3-4c-.9.1-1.6.6-2 1.3-.2.3-.3.7-.3 1.1 1.2 1.3 2.4 2.6 3.6 3.7 1.4.3 2.7-.2 3.3-1.2.7-1.4-.2-3.4-2-4.4z"/>
+ <path fill="url(#ac)" fill-rule="nonzero" d="M267.8 172.1c-2.3 1.3-4.3 3.2-5.5 5.6-.5.9-.1 2.1.8 2.5h.1l.4.1c.2 0 .3.1.5.1.7 0 1.4-.4 1.7-1.1 1.7-3 4.9-4.8 8.2-4.8.8 0 1.6.1 2.4.3 2.9.7 5.3 2.8 6.4 5.6l-3.7-1c-.2 0-.3-.1-.5-.1-.8 0-1.6.6-1.8 1.4-.3 1 .3 2 1.4 2.3l7.3 1.9c.2 0 .3.1.5.1.8 0 1.6-.6 1.8-1.4l1.9-7.3c.3-1-.3-2-1.4-2.3-.2 0-.3-.1-.5-.1-.8 0-1.6.6-1.8 1.4l-.5 2c-2.4-4.4-6.9-6.9-11.5-6.9-2.2.2-4.3.7-6.2 1.7z"/>
+ <path fill="url(#ad)" fill-rule="nonzero" d="M180.7 194.6c-.4-1.4-1.7-2.3-3.1-2.3-.3 0-.6 0-.9.1l.9 3.1 3.1-.9z"/>
+ <path fill="url(#ae)" fill-rule="nonzero" d="M172.6 172.1c.8-1.4.2-3.2-1.3-4-1.5-.8-3.3-.3-4.1 1.1-.8 1.4-.2 3.2 1.3 4 1.5.8 3.3.3 4.1-1.1z"/>
+ <path fill="url(#af)" fill-rule="nonzero" d="M175.8 164.2c1.7 0 3.1-1.3 3.1-2.9 0-1.6-1.4-2.9-3.1-2.9-1.7 0-3.1 1.3-3.1 2.9 0 1.6 1.4 2.9 3.1 2.9z"/>
+ <path fill="url(#ag)" fill-rule="nonzero" d="M224.1 117.1c.4 0 .9.1 1.3.1 0-.1.1-.2.1-.3v-3c0-.7-.6-1.3-1.3-1.3-.7 0-1.3.6-1.3 1.3v3c0 .1 0 .2.1.3.2-.1.7-.1 1.1-.1z"/>
+ <path fill="url(#ah)" fill-rule="nonzero" d="M237.5 199.2c.6-7.2 1.2-16.6 1.3-16.7 0-.3-.2-.6-.5-.6s-.6.2-.6.5c0 .2-1.4 19.4-1.9 23.9v.3c0 .2-.1.5-.1.7v.1c-.1.6-.2 1.1-.2 1.7v.2c.8-.2 1.6-.4 2.3-.6.1-.9.3-1.8.4-2.8 5.1-.6 12.8-2.1 20-5.6 2.3-1.3 4.3-2.6 6.2-3.9-.5-.4-1-.8-1.5-1.3-.8.7-1.8 1.2-2.9 1.2-.3 0-.7 0-1-.1-1.4.9-3 1.8-4.7 2.6-6.6 3-13 4.1-17.1 4.5.1-.9.2-1.8.2-2.9 1.8-.1 3.6-.2 5.5-.5 5.9-.9 10.7-2.9 14.2-4.8-.2-.2-.4-.5-.6-.8 0 0 0-.1-.1-.2-3.4 1.9-8 3.8-13.7 4.7-1.8.2-3.5.4-5.2.4z"/>
+ <path fill="url(#ai)" fill-rule="nonzero" d="M264.9 127.4c1 0 2.1-.3 3.3-1.3 2.4-2 2.5-4.3 2.3-5.6 1.4-.2 2.8-.8 4.2-2.2 3.6-3.7 2.9-7.8 2.1-9.4-.3-.5-1-.8-1.5-.5-.5.3-.8 1-.5 1.5 0 0 1.7 3.4-1.7 6.8-2.9 2.9-5.8 1.1-6.1.9-.5-.4-1.2-.2-1.6.3-.4.5-.2 1.2.3 1.6.8.5 2.1 1.1 3.7 1.2.2.9.2 2.9-1.9 4.7-2.6 2.1-4.8.3-4.9.2-.2-.2-.6-.2-.8.1-.2.2-.2.6.1.8 0-.2 1.2.9 3 .9z"/>
+ <path fill="url(#aj)" fill-rule="nonzero" d="M249.6 126.6c1 1 2.7 2.2 5.8 2.2.8 0 1.7-.1 2.7-.3.3-.1.5-.3.4-.6-.1-.3-.3-.5-.6-.4-4.9.9-6.7-1-7.4-1.7-1.3-1.3-1.9-4.5-1.9-4.6 0-.2-.2-.4-.4-.4-.1 0-5.1-1.5-8.5-5.7-3.1-3.9-3.5-8.4-3.5-8.4 0-.2-.1-.4-.3-.5-.8-.4-3.2-1.7-3.8-3.2-1.3-3.1.1-4.9.1-4.9.2-.2.2-.6-.1-.8-.2-.2-.6-.2-.8.1 0 0-.5.6-.8 1.7l-3.3-.1c-.3 0-.6.2-.6.5v.2c.1.2.3.4.5.4l3.2.1c0 .9.1 2 .6 3.2.4.9 1.2 1.7 2 2.3.8.6 1.6 1.1 2.1 1.3 0 .3.1.8.3 1.4.4 1.8 1.3 4.7 3.5 7.3.4.5.8 1 1.3 1.4 2.9 2.9 6.4 4.2 7.4 4.6.2 1 .8 3.6 2.1 4.9z"/>
+ <path fill="url(#ak)" fill-rule="nonzero" d="M179 200.2l3.1-1-.9-3-3.1.9"/>
+ <path fill="url(#al)" fill-rule="nonzero" d="M231.2 188.3l-16.2-4.7c-.3-.1-.6-.1-.9-.1-1.5 0-2.8 1-3.2 2.4l-5.6 19.4c-.5 1.8.5 3.7 2.3 4.2l16.2 4.7c.3.1.6.1.9.1 1.5 0 2.8-1 3.2-2.4l5.6-19.4c.5-1.8-.5-3.7-2.3-4.2zm-1.4 4.9l-4.7 16.2c-.2.7-.9 1.2-1.6 1.2-.2 0-.3 0-.5-.1l-12.9-3.7c-.9-.3-1.4-1.2-1.2-2.1l4.7-16.2c.2-.7.9-1.2 1.6-1.2.2 0 .3 0 .5.1l12.9 3.7c.9.2 1.5 1.2 1.2 2.1z"/>
+ <path fill="url(#am)" fill-rule="nonzero" d="M99.3 199.1c-.2-.6-.9-1-1.5-.7-.6.2-1 .9-.7 1.5l.8 2.4c.6-.6 1.4-.9 2.2-.8l-.8-2.4z"/>
+ <path fill="url(#an)" fill-rule="nonzero" d="M224.4 196.8l-8.1-2.3h-.2c-.4 0-.7.2-.8.6-.1.4.1.9.6 1l8.1 2.3h.2c.4 0 .7-.2.8-.6.1-.4-.2-.8-.6-1z"/>
+ <path fill="url(#ao)" fill-rule="nonzero" d="M108 198.9c.6-.6 1.4-.9 2.2-.8l-.8-2.4c-.2-.6-.9-1-1.5-.7-.6.2-1 .9-.7 1.5l.8 2.4z"/>
+ <path fill="url(#ap)" fill-rule="nonzero" d="M106.2 206.7c1-.5 2-1 3.1-.7.1-.1.3-.2.4-.4.5-.5.9-1.1 1.3-1.8.2-.4.4-.7.6-1.1.2-.4.3-.9.5-1.4l.1-.2v-.1c0-.1-.1-.2-.2-.1-.2.1-.5.1-.7.2-.3.1-.7.2-1 .3l-1.7.5c-1.2.3-2.3.7-3.5 1.1-1.1.4-2.3.8-3.4 1.2l-1.7.6c-.3.1-.6.3-1 .4-.2.1-.5.2-.7.3 0 0-.1 0-.1.1-.1.1 0 .2 0 .3l.2.1c.4.3.8.6 1.2.8.4.2.8.4 1.1.6.7.3 1.4.5 2.1.6.2 0 .4 0 .5.1.1-.1.1-.2.2-.2.7-.9 1.7-1 2.7-1.2zm-5.4-1.9c.6-.1 1.3-.3 2-.5-.7.2-1.4.3-2 .5zm6.6-2c.7-.3 1.4-.6 1.9-.8-.5.2-1.2.5-1.9.8-.7.3-1.5.6-2.3.8.8-.2 1.6-.5 2.3-.8z"/>
+ <path fill="url(#aq)" fill-rule="nonzero" d="M225.3 193.6l-8.1-2.3h-.2c-.4 0-.7.2-.8.6-.1.4.1.9.6 1l8.1 2.3h.2c.4 0 .7-.2.8-.6.1-.4-.2-.9-.6-1z"/>
+ <path fill="url(#ar)" fill-rule="nonzero" d="M164 84.3c-.2 0-.2.3 0 .3 1.8.5 3.3 1.9 3.7 3.7 0 .2.3.2.3 0 .5-1.8 1.9-3.3 3.7-3.7.2 0 .2-.3 0-.3-1.6-.4-2.9-1.6-3.5-3.1h-.7c-.6 1.5-1.9 2.7-3.5 3.1z"/>
+ <path fill="url(#as)" fill-rule="nonzero" d="M213.9 202.6l3.2.9h.2c.4 0 .7-.2.8-.6.1-.4-.1-.9-.6-1l-3.2-.9h-.2c-.4 0-.7.2-.8.6-.1.4.2.9.6 1z"/>
+ <path fill="url(#at)" fill-rule="nonzero" d="M227.9 119.2l-.3-.3c-.1-.1-.2-.2-.3-.2-.7-.5-1.8-1.1-3.2-1.1-2.9 0-4.4 2.2-4.5 2.3-.3.5-.2 1.2.3 1.5.5.3 1.2.2 1.5-.3 0 0 .9-1.3 2.6-1.3 1.1 0 1.9.5 2.3.9l.2.2.2.2c.2.3.6.5.9.5.2 0 .4-.1.6-.2.5-.3.7-1 .3-1.5.1 0-.1-.3-.6-.7z"/>
+ <path fill="url(#au)" fill-rule="nonzero" d="M196.8 121.5c.5.3 1.2.2 1.5-.3 0 0 .1-.2.4-.4.4-.4 1.2-.9 2.2-.9 1.7 0 2.6 1.3 2.6 1.3.2.3.6.5.9.5.2 0 .4-.1.6-.2.5-.3.7-1 .3-1.5-.1-.1-1.5-2.3-4.5-2.3-1.9 0-3.2 1-3.9 1.7l-.3.3c-.2.2-.3.4-.3.4-.2.4 0 1.1.5 1.4z"/>
+ <path fill="url(#av)" fill-rule="nonzero" d="M200.9 117.1c.4 0 .9.1 1.3.1 0-.1.1-.2.1-.3v-3c0-.7-.6-1.3-1.3-1.3-.7 0-1.3.6-1.3 1.3v3c0 .1 0 .2.1.3.3-.1.7-.1 1.1-.1z"/>
+ <path fill="url(#aw)" fill-rule="nonzero" d="M207.7 137.3l-1.5-.6c-.7-.3-1.5-.5-2.2-.8l-3.8-1.3-7.5-2.4c-.2-.1-.4-.1-.6-.2-1.1 1.2-2.3 2.4-2.8 2.7-.4.2-3.4-.5-3.5-.8-.1-.2.3-1.9.7-3.5-.5-.1-.9-.3-1.4-.4l-.6-.1c-.3 1.4-.7 3.1-.9 3.2-.4.3-2.9-1.2-3.1-1.5-.1-.2-.5-1.6-.7-2.9-.3-.1-.5-.1-.8-.2-.5-.1-1.1-.2-1.6-.4h-.2c-.2.1-.3.3-.3.5l.1.5c.3 1.1.7 2.2 1.2 3 .4.9.9 1.7 1.3 2.5.9 1.5 1.9 2.7 3 3.8.3.3.6.5.9.8.2-.1.4-.1.6-.1-.2 0-.4.1-.6.1 1.9 1.6 3.9 2.7 6 3.3h.2c2.2.6 4.4.8 6.9.5.4 0 .8-.1 1.2-.2 1.5-.3 3-.8 4.6-1.5.8-.4 1.6-.8 2.5-1.3.8-.5 1.7-1.1 2.6-1.9l.4-.3c0-.1.1-.1.1-.2.2 0 0-.2-.2-.3z"/>
+ <path fill="url(#ax)" fill-rule="nonzero" d="M231.2 80.2c.4 0 .6-.2.6-.5 0-.1.5-3 4.2-3.5 1.8-.3 2.9.5 3.5 1.2-3.5 2.2-4.1 5.7-3.9 7.3.1.6.6 1 1.1 1h.1c.6-.1 1-.6 1-1.2 0 0-.4-3.8 4-5.8 3.8-1.7 5.8 1 6.1 1.4.3.5 1 .6 1.5.3s.6-1 .3-1.5c-.5-.7-1.3-1.5-2.5-2.1.5-.9 1.6-2.1 3.8-2.4 3.3-.5 4.2 2.3 4.3 2.4.1.3.4.5.7.4.3-.1.5-.4.4-.7 0 0-1.3-3.8-5.5-3.2-2.8.4-4.1 2-4.7 3.1-1.5-.5-3.3-.5-5.3.4-.1.1-.3.1-.4.2-.8-1-2.2-2.1-4.7-1.7-4.5.6-5.1 4.4-5.2 4.4 0 .2.3.5.6.5z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M207.7 223.7v.2c0 .2.1.4.1.6v.2c0 .2.1.4.1.6v.5c0 .1 0 .2-.1.2l-.2.2H207.3h-.1-.1c-.1 0-.1 0-.2-.1h-.1c-.1 0-.2-.1-.3-.2 0 0-.1 0-.1-.1-.1-.1-.2-.1-.3-.2l-.1-.1c-.1-.1-.2-.1-.3-.2-.1 0-.1-.1-.2-.1l-.3-.3-.2-.2-.3-.3-.2-.2-.5-.5-.1-.1-.4-.4c-1 .1-1.9.1-2.8.2 3.3 3.6 5 4.9 6.6 4.9.9 0 1.8-.4 2.3-1.2.4-.6.8-1.1.2-4.3-.8 0-1.5.1-2.3.1.1.4.1.6.2.8z"/>
+ <path fill="url(#ay)" fill-rule="nonzero" d="M207.7 223.7v.2c0 .2.1.4.1.6v.2c0 .2.1.4.1.6v.5c0 .1 0 .2-.1.2l-.2.2H207.3h-.1-.1c-.1 0-.1 0-.2-.1h-.1c-.1 0-.2-.1-.3-.2 0 0-.1 0-.1-.1-.1-.1-.2-.1-.3-.2l-.1-.1c-.1-.1-.2-.1-.3-.2-.1 0-.1-.1-.2-.1l-.3-.3-.2-.2-.3-.3-.2-.2-.5-.5-.1-.1-.4-.4c-1 .1-1.9.1-2.8.2 3.3 3.6 5 4.9 6.6 4.9.9 0 1.8-.4 2.3-1.2.4-.6.8-1.1.2-4.3-.8 0-1.5.1-2.3.1.1.4.1.6.2.8z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M231.2 223.1c-.1.1-.1.2-.2.3-.1.2-.2.3-.3.4 0 .1-.1.2-.1.2-.1.2-.2.4-.4.5v.1c-.1.2-.3.4-.4.5 0 .1-.1.1-.1.1-.1.1-.2.2-.2.3 0 .1-.1.1-.1.1l-.2.2-.1.1c-.1.1-.1.1-.2.1l-.1.1c-.1 0-.1.1-.2.1 0 0-.1 0-.1.1h-.2-.1-.1-.1c-.1 0-.2-.1-.2-.1l-.1-.1c-.1-.1-.1-.3-.2-.6s-.1-.6-.1-1c0-.3-.1-.7-.1-1.1v-.9h-2.2c.2 4.5.8 4.9 1.4 5.4.5.4 1.2.6 1.8.6 2.3 0 4.3-2.8 5.8-5.9-.8 0-1.6 0-2.5-.1-.3.4-.4.5-.4.6z"/>
+ <path fill="url(#az)" fill-rule="nonzero" d="M231.2 223.1c-.1.1-.1.2-.2.3-.1.2-.2.3-.3.4 0 .1-.1.2-.1.2-.1.2-.2.4-.4.5v.1c-.1.2-.3.4-.4.5 0 .1-.1.1-.1.1-.1.1-.2.2-.2.3 0 .1-.1.1-.1.1l-.2.2-.1.1c-.1.1-.1.1-.2.1l-.1.1c-.1 0-.1.1-.2.1 0 0-.1 0-.1.1h-.2-.1-.1-.1c-.1 0-.2-.1-.2-.1l-.1-.1c-.1-.1-.1-.3-.2-.6s-.1-.6-.1-1c0-.3-.1-.7-.1-1.1v-.9h-2.2c.2 4.5.8 4.9 1.4 5.4.5.4 1.2.6 1.8.6 2.3 0 4.3-2.8 5.8-5.9-.8 0-1.6 0-2.5-.1-.3.4-.4.5-.4.6z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M167.7 80.6c-.1.2-.1.4-.2.6h.7c-.1-.2-.2-.4-.2-.6 0-.2-.3-.2-.3 0z"/>
+ <path fill="url(#aA)" fill-rule="nonzero" d="M167.7 80.6c-.1.2-.1.4-.2.6h.7c-.1-.2-.2-.4-.2-.6 0-.2-.3-.2-.3 0z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M118.4 58.7c.1.2.2.3.4.3h.1c.3-.1.4-.3.4-.6v-.1l-1.9-5.3c-.1-.3-.4-.4-.6-.3-.3.1-.4.4-.3.6l1.9 5.4z"/>
+ <path fill="url(#aB)" fill-rule="nonzero" d="M118.4 58.7c.1.2.2.3.4.3h.1c.3-.1.4-.3.4-.6v-.1l-1.9-5.3c-.1-.3-.4-.4-.6-.3-.3.1-.4.4-.3.6l1.9 5.4z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M134.3 121.9c.2-.2.5-.4.9-.2v.1l2.4-1.5v-3.5l-3.4 2.1v3h.1zM137.7 164.3c-.2.2-.4.6-.4.9 0 .9.1 1.8.4 2.6v-3.5z"/>
+ <path fill="url(#aC)" fill-rule="nonzero" d="M137.7 164.3c-.2.2-.4.6-.4.9 0 .9.1 1.8.4 2.6v-3.5z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M115.5 59c.3 0 .5-.2.5-.5v-5.3c0-.3-.2-.5-.5-.5s-.5.2-.5.5v5.3c0 .3.2.5.5.5z"/>
+ <path fill="url(#aD)" fill-rule="nonzero" d="M115.5 59c.3 0 .5-.2.5-.5v-5.3c0-.3-.2-.5-.5-.5s-.5.2-.5.5v5.3c0 .3.2.5.5.5z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M112.6 59c.3 0 .5-.2.5-.5v-5.8c0-.3-.2-.5-.5-.5s-.5.2-.5.5v5.8c0 .3.2.5.5.5z"/>
+ <path fill="url(#aE)" fill-rule="nonzero" d="M112.6 59c.3 0 .5-.2.5-.5v-5.8c0-.3-.2-.5-.5-.5s-.5.2-.5.5v5.8c0 .3.2.5.5.5z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M114 59c.3 0 .5-.2.5-.5v-4.8c0-.3-.2-.5-.5-.5s-.5.2-.5.5v4.8c0 .3.3.5.5.5z"/>
+ <path fill="url(#aF)" fill-rule="nonzero" d="M114 59c.3 0 .5-.2.5-.5v-4.8c0-.3-.2-.5-.5-.5s-.5.2-.5.5v4.8c0 .3.3.5.5.5z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M129.1 125.6l4.1-2.6v-.5c0-.1-.1-.1-.1-.2 0 0 .1 0 .1.1v-2.9l-5.6 3.6c-.8.3-1.1 1.2-.8 2 .2.6.8.9 1.3.9.2 0 .4 0 .6-.1.1-.1.2-.2.4-.3z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M139 115.8l-1.3.9v3.5l2.2-1.4v-8.3c-.5.7-.9 1.5-1.1 2.3-.1.5-.1 1-.1 1.4.1.6.1 1.1.3 1.6zM139.9 165.2c0-.7-.6-1.3-1.3-1.3-.4 0-.7.1-.9.4v3.5c.3 1.1.7 2.1 1.3 3 .6-.9.9-1.9.9-3v-2.6z"/>
+ <path fill="url(#aG)" fill-rule="nonzero" d="M139.9 165.2c0-.7-.6-1.3-1.3-1.3-.4 0-.7.1-.9.4v3.5c.3 1.1.7 2.1 1.3 3 .6-.9.9-1.9.9-3v-2.6z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M138.7 159.7c-.1.3 0 .7.4.8l.8.3v-4.4l-1.2 3.3z"/>
+ <path fill="url(#aH)" fill-rule="nonzero" d="M138.7 159.7c-.1.3 0 .7.4.8l.8.3v-4.4l-1.2 3.3z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M198 217c.5.6.9 1.3 1.5 1.9-.5-.7-1-1.3-1.5-1.9z"/>
+ <path fill="url(#aI)" fill-rule="nonzero" d="M198 217c.5.6.9 1.3 1.5 1.9-.5-.7-1-1.3-1.5-1.9z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M207.8 226l-.2.2c.1-.1.2-.1.2-.2z"/>
+ <path fill="url(#aJ)" fill-rule="nonzero" d="M207.8 226l-.2.2c.1-.1.2-.1.2-.2z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M224.1 117.6c1.4 0 2.5.5 3.2 1.1-.7-.5-1.8-1.1-3.2-1.1z"/>
+ <path fill="url(#aK)" fill-rule="nonzero" d="M224.1 117.6c1.4 0 2.5.5 3.2 1.1-.7-.5-1.8-1.1-3.2-1.1z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M224.1 119.9c1.1 0 1.9.5 2.3.9-.4-.4-1.2-.9-2.3-.9z"/>
+ <path fill="url(#aL)" fill-rule="nonzero" d="M224.1 119.9c1.1 0 1.9.5 2.3.9-.4-.4-1.2-.9-2.3-.9z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M134.3 121.9v-3.1l-1.1.7v2.9s-.1 0-.1-.1c0 .1.1.1.1.2v.5l2.1-1.3v-.1c-.5-.1-.8 0-1 .3z"/>
+ <path fill="url(#aM)" fill-rule="nonzero" d="M150.7 112.6l-4.5 2.7c-.3.2-.7.3-1 .3-.6 0-1.3-.3-1.6-.9-.4-.6-.4-1.3-.1-1.8.1-.4.4-.7.8-1l4.2-2.7c-.7-.5-1.5-.9-2.3-1.1-.4-.1-.8-.1-1.3-.1-2 0-3.8 1-4.9 2.5-.5.7-.9 1.5-1.1 2.3-.1.5-.1 1-.1 1.4 0 .5.1 1 .3 1.5v.1l-1.3.8-3.4 2.1-1.1.7-5.6 3.6c-.8.3-1.1 1.2-.8 2 .2.6.8.9 1.3.9.2 0 .4 0 .6-.1.1-.1.3-.1.4-.2l4.1-2.6 2.1-1.3 2.4-1.5 2.2-1.4.7-.5c.8.8 1.7 1.3 2.8 1.6.5.1.9.2 1.4.2 1.4 0 2.7-.5 3.7-1.3s1.8-2 2.1-3.4c.2-1 .2-1.9 0-2.8z"/>
+ <path fill="#FFFEFE" fill-rule="nonzero" d="M143.5 114.7c.4.6 1 .9 1.6.9.4 0 .7-.1 1-.3l4.5-2.7c.2.9.2 1.9 0 2.8-.3 1.4-1.1 2.6-2.1 3.4 1.1-.8 1.9-2.1 2.2-3.5.2-.9.2-1.9 0-2.8l-4.6 2.7c-.3.2-.7.3-1 .3-.6 0-1.3-.3-1.7-.9-.3-.5-.4-1.2-.2-1.7-.1.5-.1 1.2.3 1.8z"/>
+ <path fill="url(#aN)" fill-rule="nonzero" d="M143.5 114.7c.4.6 1 .9 1.6.9.4 0 .7-.1 1-.3l4.5-2.7c.2.9.2 1.9 0 2.8-.3 1.4-1.1 2.6-2.1 3.4 1.1-.8 1.9-2.1 2.2-3.5.2-.9.2-1.9 0-2.8l-4.6 2.7c-.3.2-.7.3-1 .3-.6 0-1.3-.3-1.7-.9-.3-.5-.4-1.2-.2-1.7-.1.5-.1 1.2.3 1.8z"/>
+ <path fill="#FFFEFE" fill-rule="nonzero" d="M126.8 125.1c-.3-.8 0-1.7.8-2l5.6-3.6 1.1-.7 3.4-2.1 1.3-.8v-.1l-11.5 7.3c-.8.3-1.1 1.3-.8 2 .3.6.8.9 1.4.9h.1c-.7 0-1.2-.3-1.4-.9z"/>
+ <path fill="url(#aO)" fill-rule="nonzero" d="M126.8 125.1c-.3-.8 0-1.7.8-2l5.6-3.6 1.1-.7 3.4-2.1 1.3-.8v-.1l-11.5 7.3c-.8.3-1.1 1.3-.8 2 .3.6.8.9 1.4.9h.1c-.7 0-1.2-.3-1.4-.9z"/>
+ <path fill="#FFFEFE" fill-rule="nonzero" d="M139.9 110.5c1.1-1.5 2.9-2.5 4.9-2.5.4 0 .8 0 1.3.1.8.2 1.6.6 2.3 1.1l.2-.1c-.7-.6-1.5-1-2.4-1.2-.4-.1-.8-.1-1.3-.1-2.8 0-5.4 2-6 4.9-.1.5-.1 1-.1 1.6 0-.5 0-1 .1-1.4.1-1 .5-1.7 1-2.4z"/>
+ <path fill="url(#aP)" fill-rule="nonzero" d="M139.9 110.5c1.1-1.5 2.9-2.5 4.9-2.5.4 0 .8 0 1.3.1.8.2 1.6.6 2.3 1.1l.2-.1c-.7-.6-1.5-1-2.4-1.2-.4-.1-.8-.1-1.3-.1-2.8 0-5.4 2-6 4.9-.1.5-.1 1-.1 1.6 0-.5 0-1 .1-1.4.1-1 .5-1.7 1-2.4z"/>
+ <path fill="url(#aQ)" fill-rule="nonzero" d="M106.4 207.6c.1 0 .1 0 0 0h.1c1-.3 1.9-.9 2.7-1.6-1.1-.3-2 .2-3.1.7-1 .2-2 .3-2.7 1l-.2.2c1.2.2 2.3 0 3.2-.3z"/>
+ <path fill="url(#aR)" fill-rule="nonzero" d="M118.3 196.1c.7-1.4.9-3 .6-4.6-.4-2.1-1.5-3.9-3.3-5.1-1.4-1-3-1.4-4.6-1.4-1.5 0-3 .5-4.2 1.3-.2-.2-.4-.3-.6-.5-1.2-.8-2.5-1.2-4-1.2-2.1 0-4 1-5.3 2.6h-.7c-2.7 0-5.2 1.4-6.8 3.6-1.8 2.6-1.9 5.9-.6 8.6-.7.5-1.2 1.1-1.7 1.8-1.3 1.8-1.8 4.1-1.4 6.3.4 2.2 1.6 4.1 3.5 5.4 1.2.9 2.6 1.4 4.1 1.5.4 1.1 1.2 2.1 2.2 2.8 1 .7 2.2 1.1 3.5 1.1 1 .9 2.2 1.6 3.7 2.2l1 5.5h2.3l-1.3-7.2c-1.3-.4-2.7-1-3.8-1.8-.4-.3-.7-.6-1-1h-.1l-.1-.1c-.4-.4-.7-1-.9-1.6v-.1c-.3-.9-.2-1.7.1-1.8.2-.1.4-.1.5 0 .1.1.2.3.2.4v.2c0 .2.1.4.1.6V213.9c.3.9 1 2 2.2 2.7.1 0 .2.1.3.1.6.4 1.3.6 1.9.9 0 0 .1 0 .1.1l-.5-3h-.1-.1c-.1-.1-.3-.1-.4-.2-.3-.1-.6-.3-.9-.5 0 0-.1 0-.1-.1-.1.3-.2.5-.4.7l-.3.3s0-.1-.1-.1c-.6-.7-.9-1.5-.9-2-.1-.6-.3-1-.8-1.3-.4-.3-1-.3-1.5-.1-.5.2-1.4.8-.7 3.2.1.5.4 1 .6 1.4l.1.1c-.6-.1-1.2-.3-1.7-.6-.6-.4-1-1-1.3-1.6-.1-.2-.2-.4-.2-.6v-.1c-.1-.3-.1-.6-.1-.9-.3.1-.7.1-1 .1-1.2 0-2.5-.3-3.6-1.1-2.2-1.5-3-4.1-2.4-6.5l.3-.9v-.1c.2-.4.4-.7.6-1.1.8-1.2 2-2 3.2-2.4l-.
1-.1c-2.1-2.1-2.5-5.4-.8-7.9.5-.7 1-1.2 1.6-1.6 1-.7 2.2-1 3.3-1 .6 0 1.2.1 1.8.2 0-.1.1-.1.1-.2.1-.3.2-.5.4-.7.7-1 1.8-1.6 2.9-1.8.3 0 .5-.1.8-.1.9 0 1.8.2 2.7.8.7.5 1.3 1.2 1.6 2 .1-.1.1-.2.2-.2 1.1-1.4 2.7-2.1 4.3-2.1.7 0 1.3.1 2 .3.5.2.9.4 1.3.7 2.6 1.8 3.2 5.3 1.4 7.9-.2.2-.3.4-.5.6.1 0 .1.1.2.1.3.1.5.3.8.4.2.2.4.3.7.5 2.4 2.2 2.9 5.8 1 8.5-1.2 1.8-3.2 2.8-5.3 2.8h-.6c-.1 1.1-.4 2.1-1.1 3-.1.1-.1.2-.2.3-.1.2-.3.3-.5.5l-.4.4-.1.1c-.4.3-.8.6-1.2.8h-.1c-.1 0-.2.1-.3.1-1 .4-2 .3-2 .3-.2 0-.3.1-.4.2-.1.1-.2.2-.2.3 0 .3.2.6.5.6h.4c.5 0 1.3-.1 2.2-.4h.1l.6 3.3c.2-.1.4-.1.5-.2.6-.3 1.2-.7 1.6-1.1l.1-.1c.1-.1.1-.3 0-.9-.1-.6-.4-1.2-.6-1.6-.1-.2-.1-.3-.2-.5s0-.4.1-.6l.2-.2h.2c.2 0 .5.1.6.4 0 .1.1.2.2.4.2.4.4.9.5 1.4v.1c.6-1.2.9-2.5 1.1-3.7v-.1c.1-.3.3-.5.6-.5h.1c.3.1.5.4.5.7-.4 1.9-1 4.2-2.4 5.8l-.1.1c-.6.6-1.3 1.2-2.1 1.5-.2.1-.5.2-.7.2h-.1l1 5.4c.1.3-.2.7-.7.9l2.7.3c.2-.5.3-1 .2-1.6l-.7-3.6c.8-.4 1.4-1 2.1-1.7l.1-.1c1.8-2.1 2.5-4.9 2.8-6.8.1-.8 0-1.5-.5-2.1 1.2-.6 2.2-1.5 3-2.7 1.3-1.9
1.8-4.2 1.4-6.5.2-2.4-.8-4.2-2.2-5.4z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M107.9 226.5h-.4c-.8 0-1.5-.2-1.5-.6v-.1h-2.3l.1.5c.2 1.2 1.3 2.5 3.8 2.5 1.5 0 3.5-.5 4.6-1.8.2-.2.3-.5.4-.7l-2.7-.3c-.5.2-1.3.4-2 .5z"/>
+ <path fill="url(#aS)" fill-rule="nonzero" d="M107.9 226.5h-.4c-.8 0-1.5-.2-1.5-.6v-.1h-2.3l.1.5c.2 1.2 1.3 2.5 3.8 2.5 1.5 0 3.5-.5 4.6-1.8.2-.2.3-.5.4-.7l-2.7-.3c-.5.2-1.3.4-2 .5z"/>
+ <path d="M-30-28h352v303H-30z"/>
+ </g>
+</svg>
diff --git a/browser/extensions/onboarding/content/img/figure_default.svg b/browser/extensions/onboarding/content/img/figure_default.svg
new file mode 100644
index 000000000000..c52e4b8500f7
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/figure_default.svg
@@ -0,0 +1 @@
+<svg width="272" height="247" viewBox="0 0 272 247" xmlns="http://www.w3.org/2000/svg"><title>default-browser</title><defs><linearGradient x1="-12.708%" y1="-28.803%" x2="102.994%" y2="115.824%" id="a"><stop stop-color="#FFCCD7" offset="40.06%"/><stop stop-color="#EDBEE2" offset="100%"/></linearGradient><linearGradient x1="-78.121%" y1="-55.724%" x2="136.609%" y2="135.651%" id="b"><stop stop-color="#FFE900" offset="28.07%"/><stop stop-color="#FFCC07" offset="32.21%"/><stop stop-color="#FF8119" offset="41.22%"/><stop stop-color="#FF0B36" offset="54.35%"/><stop stop-color="#FF0039" offset="55.5%"/><stop stop-color="#ED00B5" offset="85.24%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M-36-18h352v303H-36z"/><g fill-rule="nonzero"><g fill="#D7D7DB"><path d="M116.6 201.9H42.1c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h74.6c.6 0 1.1.5 1.1 1.1-.1.6-.6 1.1-1.2 1.1zM104 195.9H71c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h33c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zM109.7 206.7h-3.3c-.3 0-.6-.
2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zm-12.2 0H84.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-23.5 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6H74c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zm-5.5 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-12.3 0H42.8c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-23.4 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5.6 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-12.3 0H1.5c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6z"/></g><path d="M138.8 171.9c-2.8 0-5-2.1-5-4.8V49.7c0-2.9 2.4-5.3 5.3-5.3h126.1c2.9 0 5.3 2.4 5.3 5.3v117.4c0 2.6-2.2 4.8-5 4.8H138.8z" fill="#FFF"/><path d="M265.2 45.4c2.3 0 4.2 1.9 4.2 4.2V167c0 2-1.7 3.7-3.9 3.7H138.8c-2.2 0-3.9-1.6-3.9-3.7V49.7c0-2.3 1.9-4.2 4.2-4.2h126.1v-.1zm0-2.2H139.1c-3.5 0-6.4 2.9-6.4 6.4V167c0 3.2 2.8 5.9 6.1 5.9h126.7c3.4 0 6.1-2.6 6.1-5.9V49.7c0-3.
6-2.9-6.5-6.4-6.5z" fill="#D7D7DB"/><path d="M264.8 66.4V165c0 .9-.1 1.2-.1 1.2s-.3.1-1.2.1H140.8c-.9 0-1.2-.1-1.2-.1s-.1-.3-.1-1.2V66.4h125.3zm1.1-1.1H138.3V165c0 2 .4 2.4 2.4 2.4h122.7c2 0 2.4-.4 2.4-2.4V65.3h.1z" fill="#D7D7DB"/><g fill="#D7D7DB"><circle cx="2.9" cy="3.3" r="2.8" transform="translate(143 52)"/><circle cx="3.1" cy="3.3" r="2.8" transform="translate(152 52)"/><path d="M233.8 58.5h-63.4c-1.7 0-3.1-1.4-3.1-3.1v-.3c0-1.7 1.4-3.1 3.1-3.1h63.4c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.7-1.4 3.1-3.1 3.1z"/><g><circle cx="3.2" cy="3.3" r="2.8" transform="translate(246 52)"/><circle cx="3.4" cy="3.3" r="2.8" transform="translate(255 52)"/></g></g><path d="M21.8 23.4h23.9S38.2 6.7 54.1 4.5c14.2-1.9 19.8 12.6 19.8 12.6s1.7-8.4 10.1-6.8c8.3 1.6 14.5 15 14.5 15h20.8" fill="#F9F9FA"/><path d="M119.7 21.4h-5.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h5.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-15.3 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5.5-.1c-.2 0-.4-.1-.5-.3-.2-.3-.7-1.
4-1.7-2.9-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2 1 1.5 1.6 2.6 1.7 2.9.1.3 0 .6-.2.8-.2.1-.3.1-.3.1zm-52.8-.6h-1.6c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h.8c-.1-.2-.2-.5-.3-.9-.1-.3.1-.6.4-.7.3-.1.6.1.7.4.3 1 .6 1.6.6 1.6.1.2.1.4 0 .5-.2.2-.4.3-.6.3zm-10.5 0H22.2c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm8.9-6c-.3 0-.5-.2-.6-.5 0-.4-.1-.8-.1-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.1 1.1.1.3-.1.6-.5.6.1 0 0 0 0 0zM73.6 13c-.2 0-.4-.1-.5-.3-.1-.3-.3-.6-.5-1-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.2.4.4.7.5 1 .1.3 0 .6-.2.8-.1 0-.2.1-.3.1zm17.9-1.5c-.1 0-.3 0-.4-.1-2.3-2.1-4.6-3.4-6.8-3.8-.7-.1-1.4-.2-2-.2-1 0-2 .2-2.8.5-.3.1-.6 0-.7-.3-.1-.3 0-.6.3-.7 1-.4 2.1-.6 3.3-.6.7 0 1.4.1 2.2.2 2.4.5 4.9 1.8 7.3 4 .2.2.2.6 0 .8-.1.2-.3.2-.4.2zM70.6 8.3c-.2 0-.3-.1-.4-.2-.7-.9-1.5-1.6-2.3-2.3-.2-.2-.3-.6-.1-.8.2-.2.6-.3.8-.1.8.7 1.6 1.6 2.4 2.5.2.2.2.6-.1.8-.1.1-.2.1-.3.1zm-23-3.8c-.2 0-.3-.1-.4-.2-.2-.2-.2-.6.1-.8C49.1 2 51.5 1.1 54.5.6c2.1-.3 4.1-.2 6 .1.3.1.5.4.4.7-.1.3-.3.5-.7.4-1.8-.4-3.7-
.4-5.6-.1-2.8.4-5 1.3-6.6 2.6-.1.2-.2.2-.4.2z" fill="#D7D7DB"/><path d="M120.4 25.6H21.8c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h98.6c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1z" fill="#F9F9FA"/><path d="M15.2 181.9c-2.8 0-5-2.1-5-4.8V59.7c0-2.9 2.4-5.3 5.3-5.3h126.1c2.9 0 5.3 2.4 5.3 5.3v117.4c0 2.6-2.2 4.8-5 4.8H15.2z" fill="#FFF"/><path d="M141.6 55.5c2.3 0 4.2 1.9 4.2 4.2V177.1c0 2-1.7 3.7-3.9 3.7H15.2c-2.2 0-3.9-1.6-3.9-3.7V59.7c0-2.3 1.9-4.2 4.2-4.2h126.1zm0-2.2H15.5c-3.5 0-6.4 2.9-6.4 6.4V177.1c0 3.2 2.8 5.9 6.1 5.9h126.7c3.4 0 6.1-2.6 6.1-5.9V59.7c0-3.5-2.9-6.4-6.4-6.4z" fill="#D7D7DB"/><path d="M141.2 76.4V175c0 .9-.1 1.2-.1 1.2s-.3.1-1.2.1H17.2c-.9 0-1.2-.1-1.2-.1s-.1-.3-.1-1.2V76.4h125.3zm1.1-1.1H14.8V175c0 2 .4 2.4 2.4 2.4h122.7c2 0 2.4-.4 2.4-2.4V75.3z" fill="#D7D7DB"/><g fill="#D7D7DB"><circle cx="3.3" cy="3.3" r="2.8" transform="translate(19 62)"/><circle cx="3.5" cy="3.3" r="2.8" transform="translate(28 62)"/><path d="M110.2 68.6H46.9c-1.7 0-3.1-1.4-3.1-3.1v-.3c0-1.7 1.4
-3.1 3.1-3.1h63.4c1.7 0 3.1 1.4 3.1 3.1v.3c-.1 1.7-1.5 3.1-3.2 3.1z"/><g><circle cx="3.6" cy="3.3" r="2.8" transform="translate(122 62)"/><circle cx="2.8" cy="3.3" r="2.8" transform="translate(132 62)"/></g></g><path d="M210 28.8h13.3s-4.2-9.3 4.7-10.5c7.9-1.1 11 7 11 7s.9-4.7 5.6-3.8c4.6.9 8 8.3 8 8.3h11.6" fill="#F9F9FA"/><path d="M223.7 27.3h-13.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.3v.5l.5-.2c.1.2.1.4 0 .6-.2.2-.3.3-.5.3zm36.5-.2h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-20.8-3.3h-.1c-.3-.1-.5-.4-.4-.7.1-.4 1.1-4.3 5-4.3.4 0 .8 0 1.2.1 1.7.3 3.5 1.4 5.2 3.1.2.2.2.6 0 .8-.2.2-.6.2-.8 0-1.6-1.6-3.1-2.5-4.6-2.8-.4-.1-.7-.1-1-.1-3 0-3.8 2.8-3.9 3.4-.1.3-.4.5-.6.5zm-15.3-5.1c-.1 0-.3 0-.4-.1-.2-.2-.2-.6 0-.8.8-.8 1.8-1.5 3.1-1.8.3-.1.6.1.7.4.1.3-.1.6-.4.7-1.1.3-2 .8-2.6 1.5-.1.1-.3.1-.4.1zm8.3-1.6h-.2c-.3-.1-.7-.2-1-.2-.3-.1-.5-.3-.5-.6.1-.3.3-.5.6-.5l1.2.3c.3.1.5.4.4.7 0 .1-.2.3-.5.3z" fill="#D7D7DB"/><path d="M265.1 31h-54.9c-.6 0-1.1-.5-1.1-1.1 0-.6.
5-1.1 1.1-1.1h54.9c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1zM237.9 58H87.8c-5.8 0-10.6 4.8-10.6 10.6v139.9c0 5.5 4.6 9.9 10.2 9.9h150.9c5.6 0 10.2-4.5 10.2-9.9V68.6c0-5.8-4.7-10.6-10.6-10.6z" fill="#F9F9FA"/><ellipse fill="#EDEDF0" cx="164.5" cy="239.7" rx="82" ry="6.8"/><path d="M148.2 68.3c-.5.4-1.1.6-1.8.6s-1.3-.2-1.8-.6l-6.3-5.1-.2-.2H87.7c-2.8 0-5 2.2-5 5v140c0 2.4 2.1 4.4 4.6 4.4h150.9c2.6 0 4.6-1.9 4.6-4.4V68.1c0-2.8-2.2-5-5-5h-83.3c-.1 0-.1.1-.2.2l-6.1 5zm-41.4 3.1c1.9 0 3.4 1.5 3.4 3.4s-1.5 3.4-3.4 3.4-3.4-1.5-3.4-3.4 1.5-3.4 3.4-3.4zm-10.9 0c1.9 0 3.4 1.5 3.4 3.4s-1.5 3.4-3.4 3.4-3.4-1.5-3.4-3.4 1.5-3.4 3.4-3.4zm133.9 0c1.9 0 3.4 1.5 3.4 3.4s-1.5 3.4-3.4 3.4-3.4-1.5-3.4-3.4 1.6-3.4 3.4-3.4zm-10.9 0c1.9 0 3.4 1.5 3.4 3.4s-1.5 3.4-3.4 3.4-3.4-1.5-3.4-3.4 1.6-3.4 3.4-3.4zm-18.3-.4c2 0 3.7 1.6 3.7 3.7v.3c0 2-1.6 3.7-3.7 3.7h-5.8c.9 2.6.9 5.5-.2 8h44.3v118.7c0 2.4-.5 2.9-2.9 2.9H89.8c-2.4 0-2.9-.5-2.9-2.9V86.7h73.3c-1.1-2.6-1.1-5.5-.2-8h-34.9c-2 0-3.7-1.6-3.7-3.7v-.3c0-2 1.6-3.7
3.7-3.7h75.5z" fill="#FFF"/><path d="M190.6 91.5l-11.1 9c-.6.5-1.3.7-2.1.7s-1.5-.3-2.1-.7l-11.1-9c-1.3-.8-2.3-1.9-3.1-3.1-.4-.6-.7-1.1-.9-1.7H86.9v118.7c0 2.4.5 2.9 2.9 2.9H236c2.4 0 2.9-.5 2.9-2.9V86.7h-44.3c-.3.6-.6 1.2-1 1.8-.8 1.2-1.8 2.2-3 3zm10.1 24c7.4 8.8 8.2 21.5 1.8 31.1-1.9 2.9-4.3 5.3-7.2 7.3l-30.2 24.7c-.9.7-2.1 1.1-3.3 1.1-1.2 0-2.4-.4-3.3-1.2l-30.4-24.6c-3-2-5.6-4.5-7.5-7.5-6.7-10.3-5.3-24 3.4-32.7 4.9-4.9 11.4-7.6 18.3-7.6 7 0 13.5 2.7 18.4 7.6.3.3.6.4.8.4.2 0 .5-.1.9-.4 4.9-4.9 11.4-7.6 18.3-7.6 7.8.2 15 3.5 20 9.4z" fill="url(#a)"/><path d="M162.5 113.8c-.3.3-.7.4-.9.4-.2 0-.5-.1-.8-.4-4.9-4.9-11.4-7.6-18.4-7.6-6.9 0-13.4 2.7-18.3 7.6-8.7 8.6-10.1 22.4-3.4 32.7 1.9 3 4.4 5.5 7.5 7.5l30.4 24.6c.9.7 2.1 1.2 3.3 1.2 1.2 0 2.3-.4 3.3-1.1l30.2-24.7c2.9-2 5.3-4.4 7.2-7.3 6.3-9.6 5.6-22.3-1.8-31.1-5-5.9-12.2-9.3-19.9-9.3-7 0-13.5 2.7-18.4 7.5zM199 117c6.7 8 7.4 19.7 1.6 28.4-1.8 2.8-4.2 5-6.7 6.7l-30.3 24.7c-.6.4-1.2.7-1.9.7s-1.3-.2-1.9-.7l-30.5-24.7c-2.6-1.7-5-4-6.9-6.9-
6.1-9.3-4.8-22 3.1-29.9 4.6-4.6 10.7-6.9 16.8-6.9 6.1 0 12.2 2.3 16.8 7 .7.7 1.5 1 2.4 1 .9 0 1.7-.3 2.4-1 4.6-4.6 10.7-6.9 16.8-6.9 6.8 0 13.5 2.8 18.3 8.5z" fill="#FFF"/><path d="M138 115.4c-7.6 1.7-13.2 8.1-13.8 15.8-.2 2.2 1.5 4.1 3.6 4.3h.3c2.1 0 3.8-1.6 3.9-3.6.4-4.3 3.4-7.8 7.6-8.7 2.2-.5 3.5-2.6 3-4.7-.3-2.2-2.4-3.6-4.6-3.1z" fill="#F9F9FA"/><path d="M184.5 71.4c-2.6 0-5.1.9-7.1 2.6-2-1.7-4.5-2.6-7.1-2.6-2.9 0-5.7 1.1-7.7 3.2-1.2 1.2-2 2.5-2.6 4-.9 2.6-.9 5.5.2 8 .3.6.6 1.2.9 1.7.8 1.2 1.8 2.3 3.1 3.1l11.1 9c.6.5 1.3.7 2.1.7s1.5-.3 2.1-.7l11.1-9c1.2-.8 2.2-1.8 3-3 .4-.6.7-1.2 1-1.8 1.1-2.6 1.1-5.5.2-8-.4-1.2-1.1-2.3-1.9-3.3-2.1-2.5-5.2-3.9-8.4-3.9zm7.3 15.8c-.7 1-1.5 1.8-2.5 2.5l-11.2 9.1c-.2.2-.4.2-.7.2-.2 0-.5-.1-.7-.2l-11.2-9.1c-1-.6-1.9-1.5-2.6-2.5-2.2-3.4-1.8-8.1 1.1-11 1.7-1.7 3.9-2.5 6.2-2.5 2.2 0 4.5.9 6.2 2.6.2.2.6.4.9.4.3 0 .6-.1.9-.4 1.7-1.7 3.9-2.6 6.2-2.6 2.5 0 4.9 1 6.7 3.1 2.5 2.9 2.8 7.2.7 10.4z" fill="#FFF"/><path d="M168.7 76.2c-2.8.6-4.8 3-5.1 5.8-.1.8.5 1
.5 1.3 1.6h.1c.8 0 1.4-.6 1.5-1.3.1-1.6 1.3-2.9 2.8-3.2.8-.2 1.3-1 1.1-1.7-.1-.9-.9-1.4-1.7-1.2zM138.1 63l.2.2 6.3 5.1c.5.4 1.1.6 1.8.6.6 0 1.3-.2 1.8-.6l6.2-5.1c.1 0 .1-.1.2-.2.7-.5 1.3-1.1 1.7-1.8.1-.1.2-.3.2-.4 1.5-2.6 1.2-5.9-.7-8.1-1.4-1.6-3.4-2.6-5.5-2.6-1.4 0-2.8.4-4 1.2-1.2-.8-2.6-1.2-4-1.2-1.9 0-3.7.7-5.1 2.1-2.3 2.3-2.7 5.8-1.2 8.6.1.1.1.3.2.4.6.7 1.2 1.3 1.9 1.8zm.8-9.2c1-1 2.2-1.4 3.5-1.4 1.3 0 2.5.5 3.5 1.5.1.1.3.2.5.2s.4-.1.5-.2c1-1 2.2-1.4 3.5-1.4 1.4 0 2.8.6 3.8 1.8 1.4 1.7 1.5 4.1.3 5.9-.4.6-.9 1-1.4 1.4l-6.3 5.1c-.1.1-.3.1-.4.1-.1 0-.3 0-.4-.1l-6.3-5.1c-.5-.4-1-.8-1.4-1.4-1.3-2.2-1.1-4.8.6-6.4z" fill="#F9F9FA"/><path d="M139.3 58c.1 0 .1 0 0 0 .5 0 .9-.3.9-.8.1-.9.7-1.6 1.6-1.8.4-.1.7-.5.6-1-.1-.4-.5-.7-1-.6-1.6.4-2.7 1.7-2.9 3.3 0 .4.4.8.8.9z" fill="#F9F9FA"/><path d="M245.2 68.1V208c0 3.6-3.1 6.6-6.9 6.6H87.4c-3.8 0-6.9-3-6.9-6.6V68.1c0-4 3.2-7.2 7.2-7.2h48.4c.1.1.1.3.2.4.5.7 1.1 1.3 1.8 1.8H87.7c-2.8 0-5 2.2-5 5V208c0 2.4 2.1 4.4 4.6 4.4h150.9c2.6 0 4.6-1.9 4.6-
4.4V68.1c0-2.8-2.2-5-5-5h-83.3c.7-.5 1.3-1.1 1.7-1.8.1-.1.2-.3.2-.4h81.4c4.1-.1 7.4 3.2 7.4 7.2zM95.9 78.2c1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4-3.4 1.5-3.4 3.4 1.5 3.4 3.4 3.4zm10.9 0c1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4-3.4 1.5-3.4 3.4 1.5 3.4 3.4 3.4zm14.6-3.6v.3c0 2 1.6 3.7 3.7 3.7H160c.5-1.5 1.4-2.8 2.6-4 2.1-2.1 4.8-3.2 7.7-3.2 2.6 0 5.1.9 7.1 2.6 2-1.7 4.5-2.6 7.1-2.6 3.2 0 6.3 1.4 8.4 3.9.8 1 1.5 2.1 1.9 3.3h5.8c2 0 3.7-1.6 3.7-3.7v-.3c0-2-1.6-3.7-3.7-3.7h-75.5c-2 .1-3.7 1.7-3.7 3.7zm97.5 3.6c1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4-3.4 1.5-3.4 3.4 1.6 3.4 3.4 3.4zm10.9 0c1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4-3.4 1.5-3.4 3.4 1.6 3.4 3.4 3.4zm-49 30.3c6.7 0 13.4 2.8 18.2 8.5 6.7 8 7.4 19.7 1.6 28.4-1.8 2.8-4.2 5-6.7 6.7l-30.3 24.7c-.6.4-1.2.7-1.9.7s-1.3-.2-1.9-.7l-30.5-24.7c-2.6-1.7-5-4-6.9-6.9-6.1-9.3-4.8-22 3.1-29.9 4.6-4.6 10.7-6.9 16.8-6.9 6.1 0 12.2 2.3 16.8 7 .7.7 1.5 1 2.4 1 .9 0 1.7-.3 2.4-1 4.8-4.6 10.9-6.9 16.9-6.9zm-38 9.9c-.5-2.2-2.6-3.5-4.7-3-7.6 1.7-13.2 8.1-1
3.8 15.8-.2 2.2 1.5 4.1 3.6 4.3h.3c2.1 0 3.8-1.6 3.9-3.6.4-4.3 3.4-7.8 7.6-8.7 2.2-.5 3.6-2.7 3.1-4.8zm48.4-41.6c2.5 2.9 2.7 7.3.6 10.5-.7 1-1.5 1.8-2.5 2.5l-11.2 9.1c-.2.2-.4.2-.7.2-.2 0-.5-.1-.7-.2l-11.2-9.1c-1-.6-1.9-1.5-2.6-2.5-2.2-3.4-1.8-8.1 1.1-11 1.7-1.7 3.9-2.5 6.2-2.5 2.2 0 4.5.9 6.2 2.6.2.2.6.4.9.4.3 0 .6-.1.9-.4 1.7-1.7 3.9-2.6 6.2-2.6 2.5-.1 5 .9 6.8 3zm-20.7.5c-.2-.8-1-1.3-1.7-1.1-2.8.6-4.8 3-5.1 5.8-.1.8.5 1.5 1.3 1.6h.1c.8 0 1.4-.6 1.5-1.3.1-1.6 1.3-2.9 2.8-3.2.7-.2 1.2-1 1.1-1.8zM138.2 60c-1.3-1.9-1-4.6.6-6.2 1-1 2.2-1.4 3.5-1.4 1.3 0 2.5.5 3.5 1.5.1.1.3.2.5.2s.4-.1.5-.2c1-1 2.2-1.4 3.5-1.4 1.4 0 2.8.6 3.8 1.8 1.4 1.7 1.5 4.1.3 5.9-.4.6-.9 1-1.4 1.4l-6.3 5.1c-.1.1-.3.1-.4.1-.1 0-.3 0-.4-.1l-6.3-5.1c-.5-.5-1-1-1.4-1.6zm.4-2.9c0 .5.3.9.8.9h.1c.4 0 .8-.3.8-.8.1-.9.7-1.6 1.6-1.8.4-.1.7-.5.6-1-.1-.4-.5-.7-1-.6-1.6.3-2.8 1.7-2.9 3.3zM158 42.4c-2.1-3.2-1.6-7.5 1.1-10.2 1.6-1.6 3.6-2.4 5.7-2.4s4.2.8 5.7 2.4c.2.2.5.3.8.3.3 0 .6-.1.8-.3 1.6-1.6 3.7-2.4 5.7-2.4 2.3 0 4.6 1 6.2
2.9 2.3 2.7 2.5 6.7.6 9.7-.6 1-1.4 1.7-2.3 2.3L172 53.2c-.2.2-.4.2-.6.2-.2 0-.5-.1-.6-.2l-10.4-8.4c-1-.7-1.8-1.4-2.4-2.4zm.6-4.8c-.1.7.5 1.4 1.2 1.5h.1c.7 0 1.3-.5 1.3-1.2.1-1.5 1.2-2.7 2.6-3 .7-.2 1.2-.9 1-1.6-.2-.7-.9-1.2-1.6-1-2.5.5-4.4 2.6-4.6 5.3z" fill="url(#b)"/><path d="M159 46.5l10.3 8.4c.6.5 1.3.7 2 .7s1.5-.3 2-.7l10.3-8.4c1.1-.8 2.1-1.7 2.8-2.8 2.5-3.8 2.2-8.9-.7-12.4-2-2.3-4.9-3.7-7.9-3.7-2.4 0-4.7.8-6.6 2.3-1.9-1.5-4.2-2.4-6.6-2.4-2.8 0-5.3 1.1-7.3 3-3.5 3.4-4 8.9-1.4 13 1 1.3 1.9 2.2 3.1 3zm0-14.3c1.6-1.6 3.6-2.4 5.7-2.4s4.2.8 5.7 2.4c.2.2.5.3.8.3.3 0 .6-.1.8-.3 1.6-1.6 3.7-2.4 5.7-2.4 2.3 0 4.6 1 6.2 2.9 2.3 2.7 2.5 6.7.6 9.7-.6 1-1.4 1.7-2.3 2.3L172 53.2c-.2.2-.4.2-.6.2-.2 0-.5-.1-.6-.2l-10.4-8.4c-.9-.6-1.7-1.4-2.4-2.4-2.1-3.2-1.7-7.5 1-10.2z" fill="#F9F9FA"/><path d="M159.8 39.1h.1c.7 0 1.3-.5 1.3-1.2.1-1.5 1.2-2.7 2.6-3 .7-.2 1.2-.9 1-1.6-.2-.7-.9-1.2-1.6-1-2.6.6-4.5 2.8-4.7 5.4 0 .6.6 1.3 1.3 1.4z" fill="#F9F9FA"/></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/figure_library.svg b/browser/extensions/onboarding/content/img/figure_library.svg
new file mode 100644
index 000000000000..aad20181b996
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/figure_library.svg
@@ -0,0 +1,689 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="267" height="240">
+ <defs>
+ <linearGradient id="a" x1="-287.251713%" x2="363.382118%" y1="-127.999431%" y2="247.172106%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="b" x1="-8347.28%" x2="11424.26%" y1="-8337.33%" y2="11434.21%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="c" x1="-2354.3122%" x2="2468.01463%" y1="-738.5544%" y2="843.1688%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="d" x1="-11316.73%" x2="8454.81%" y1="-5346.60952%" y2="4068.40952%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="e" x1="-156.148629%" x2="205.305484%" y1="-480.49483%" y2="430.938303%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="f" x1="-11777.11%" x2="7994.43%" y1="-1542.90541%" y2="1128.92432%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="g" x1="-1966.10678%" x2="1385.00169%" y1="-2646.49545%" y2="1847.03636%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="h" x1="-1259.26087%" x2="945.558937%" y1="-1283.95691%" y2="942.373333%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="i" x1="-4828.28387%" x2="3895.46452%" y1="-2550.56897%" y2="2112.12414%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="j" x1="-1420.34388%" x2="1159.68716%" y1="-3565.4194%" y2="2819.67133%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="k" x1="-6578.28%" x2="13193.26%" y1="-6566.33%" y2="13205.21%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="l" x1="-690.589109%" x2="1266.98911%" y1="-1068.60597%" y2="1882.37015%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="m" x1="-3693.78418%" x2="6240.18862%" y1="-1360.99327%" y2="2373.67085%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="n" x1="-51.4002563%" x2="99.3496099%" y1="-59.6430664%" y2="133.087695%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="o" x1="-47.4074974%" x2="121.810771%" y1="-106.87209%" y2="132.306567%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="p" x1="-701.943676%" x2="609.202314%" y1="-537.964802%" y2="487.22249%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="q" x1="-1074.53%" x2="834.91%" y1="-358.218519%" y2="348.981481%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="r" x1="-5230.64688%" x2="3222.21875%" y1="-2856.73793%" y2="1806.91207%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="s" x1="-1536.40601%" x2="955.898444%" y1="-3896.2795%" y2="2345.49035%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="t" x1="-2573.03736%" x2="4141.82528%" y1="-7694%" y2="12077.54%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="u" x1="-105.756%" x2="253.726545%" y1="-959.543678%" y2="1313.04713%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="v" x1="-113.495628%" x2="246.641894%" y1="-1951.93556%" y2="2441.74%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="w" x1="-203.741261%" x2="362.77851%" y1="-8794.04%" y2="10977.5%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="x" x1="-8901.65455%" x2="9072.47273%" y1="-4629.9%" y2="4785.11905%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="y" x1="-135.885507%" x2="273.463147%" y1="-6854.87692%" y2="8354%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="z" x1="-237.240755%" x2="222.496119%" y1="-950.902381%" y2="659.16369%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="A" x1="-323.294457%" x2="276.418625%" y1="-16784.12%" y2="10262.94%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="B" x1="-324.50885%" x2="273.863496%" y1="-16876.15%" y2="10170.29%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="C" x1="-8757.43409%" x2="-13250.9636%" y1="-25788.3267%" y2="-38969.3533%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="D" x1="-4977.81154%" x2="-7512.62308%" y1="-21732.3667%" y2="-32716.5611%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="E" x1="-778.197863%" x2="-1200.66709%" y1="-2873.70382%" y2="-4382.98244%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="F" x1="-3162.7925%" x2="-4810.42083%" y1="-25654.4533%" y2="-38835.4867%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="G" x1="-1053.32338%" x2="1514.40909%" y1="-4984.71765%" y2="6645.6%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="H" x1="-5039.72338%" x2="-7607.45714%" y1="-23040.7706%" y2="-34671.0941%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="I" x1="143.631333%" x2="-4.86%" y1="790.352632%" y2="-381.952632%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="J" x1="-2552.41333%" x2="-3870.516%" y1="-20494.2053%" y2="-30900.2789%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="K" x1="-1250.60304%" x2="-1918.56115%" y1="-38487.33%" y2="-58258.87%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="L" x1="-37598.9%" x2="-57370.44%" y1="-17879.1857%" y2="-27294.2048%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="M" x1="-882.727251%" x2="-1363.78637%" y1="-29434.6846%" y2="-44643.5692%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="N" x1="-268.313828%" x2="273.677355%" y1="-882.118713%" y2="699.481287%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="O" x1="-420.455862%" x2="943.098621%" y1="-4784.28571%" y2="9338.24286%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="P" x1="-587.656122%" x2="1429.84796%" y1="-3859.74375%" y2="8497.475%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="Q" x1="-597.567708%" x2="1461.96771%" y1="-6217.96%" y2="13553.58%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="R" x1="-989.3%" x2="1835.20571%" y1="-6563.19091%" y2="11410.9364%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="S" x1="-1683.03158%" x2="3520.00526%" y1="-4061.93125%" y2="8295.28125%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="T" x1="-289.56383%" x2="551.778298%" y1="-736.619802%" y2="1220.95842%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="U" x1="-8102.24%" x2="11669.3%" y1="-8112.37%" y2="11659.17%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="V" x1="-527.27218%" x2="959.309774%" y1="-7671.89%" y2="12099.65%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="W" x1="-563.298261%" x2="1155.96609%" y1="-4360.425%" y2="7996.7875%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="X" x1="-595.656881%" x2="1218.24587%" y1="-7031.95%" y2="12739.59%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="Y" x1="-4261.16471%" x2="7369.15294%" y1="-5186.16429%" y2="8936.36429%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="Z" x1="-7291.52%" x2="12480.03%" y1="-7323.1%" y2="12448.44%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aa" x1="-46.8866667%" x2="106.777333%" y1="-610.354545%" y2="437.354545%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="ab" x1="-954.992%" x2="1681.21333%" y1="-6801.97273%" y2="11172.1545%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ac" x1="-53.1965517%" x2="108.827586%" y1="-138.8375%" y2="154.825%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="ad" x1="-2268.40345%" x2="4549.36897%" y1="-4153.9%" y2="8203.3125%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ae" x1="-134.196822%" x2="349.214914%" y1="-7485.96%" y2="12285.58%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="af" x1="-203.129153%" x2="467.092542%" y1="-7412.3%" y2="12359.24%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ag" x1="-8254.16%" x2="11517.38%" y1="-4829.67647%" y2="6800.64118%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ah" x1="-261.207831%" x2="281.860241%" y1="-1137.19462%" y2="943.173846%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="ai" x1="-353.298433%" x2="352.892428%" y1="-15403.61%" y2="11643.5%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="aj" x1="-355.267885%" x2="350.914099%" y1="-15487.8%" y2="11558.97%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="ak" x1="-2084.69358%" x2="-3141.99572%" y1="-5548.86479%" y2="-8333.58732%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="al" x1="-2136.94011%" x2="-3223.28791%" y1="-39758.41%" y2="-59529.95%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="am" x1="-8671.43111%" x2="-13065.1111%" y1="-39159.26%" y2="-58930.8%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="an" x1="42.05%" x2="39.02%" y1="40.85%" y2="37.83%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ao" x1="-1655.02189%" x2="-2503.58541%" y1="-18008.5045%" y2="-26995.5636%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ap" x1="26.16%" x2="23.82%" y1="17.93%" y2="15.58%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aq" x1="-7321.04%" x2="-10915.8655%" y1="-26976.66%" y2="-40157.6867%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ar" x1="-3806.45143%" x2="-5689.45619%" y1="-33702.4583%" y2="-50178.75%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="as" x1="-719.07449%" x2="1298.42959%" y1="-4375.10588%" y2="7255.21176%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="at" x1="-4193.87653%" x2="-6211.37959%" y1="-24406.3118%" y2="-36036.6294%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="au" x1="-524.679508%" x2="1095.93852%" y1="-4333.45%" y2="8023.7625%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="av" x1="-3315.91393%" x2="-4936.53115%" y1="-25616.6063%" y2="-37973.8188%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aw" x1="-1422.94082%" x2="2612.06735%" y1="-5115.85714%" y2="9006.67143%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ax" x1="-8372.54082%" x2="-12407.5531%" y1="-29439.4643%" y2="-43561.9929%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="ay" x1="-2040.6303%" x2="3950.74545%" y1="-6860.53%" y2="12911.01%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="az" x1="-12359.7364%" x2="-18351.1091%" y1="-40913.58%" y2="-60685.12%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aA" x1="-1005.75152%" x2="1989.93788%" y1="-6296.96364%" y2="11677.1727%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aB" x1="-6165.30303%" x2="-9160.98939%" y1="-37254.2727%" y2="-55228.4%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aC" x1="-2871.84%" x2="5036.776%" y1="-4515.63125%" y2="7841.58125%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aD" x1="-16493.056%" x2="-24401.672%" y1="-25798.7875%" y2="-38156%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aE" x1="-4836.46667%" x2="8344.56%" y1="-7269.91%" y2="12501.63%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aF" x1="-27538.4933%" x2="-40719.52%" y1="-41322.96%" y2="-61094.5%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aG" x1="123.979381%" x2="7.09896907%" y1="645.125%" y2="-299.65%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="aH" x1="-4143.41443%" x2="-6181.71959%" y1="-33849.65%" y2="-50325.925%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aI" x1="110.22963%" x2="13.6574074%" y1="263.406667%" y2="-84.2533333%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="aJ" x1="-7493.57037%" x2="-11154.9667%" y1="-27110.28%" y2="-40291.3067%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aK" x1="-1314.06588%" x2="-1982.02331%" y1="-40374.36%" y2="-60145.89%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aL" x1="-39504.49%" x2="-59276.05%" y1="-23215.4176%" y2="-34845.7353%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aM" x1="-935.697066%" x2="-1419.10856%" y1="-40260.71%" y2="-60032.24%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aN" x1="-239.365731%" x2="302.59479%" y1="-1057.81832%" y2="1006.59618%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="aO" x1="-195.98196%" x2="188.238494%" y1="-262.20413%" y2="218.292299%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="aP" x1="-148.239568%" x2="156.504317%" y1="-236.10625%" y2="205.1375%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="aQ" x1="-684.479137%" x2="737.933813%" y1="-1012.53646%" y2="1046.99896%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="aR" x1="-802.736152%" x2="689.739334%" y1="-1056.80385%" y2="890.777014%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="aS" x1="-1124.88665%" x2="549.535228%" y1="-1423.71471%" y2="673.128094%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="aT" x1="-465.885211%" x2="339.528169%" y1="-152.931663%" y2="157.298039%">
+ <stop stop-color="#FFE900" offset="28.07%"/>
+ <stop stop-color="#FFCC07" offset="32.21%"/>
+ <stop stop-color="#FF8119" offset="41.22%"/>
+ <stop stop-color="#FF0B36" offset="54.35%"/>
+ <stop stop-color="#FF0039" offset="55.5%"/>
+ <stop stop-color="#ED00B5" offset="85.24%"/>
+ </linearGradient>
+ <linearGradient id="aU" x1="-632.473239%" x2="759.889437%" y1="-217.098158%" y2="319.212821%">
+ <stop stop-color="#FFCCD7" offset="40.06%"/>
+ <stop stop-color="#EDBEE2" offset="100%"/>
+ </linearGradient>
+ </defs>
+ <g fill="none" fill-rule="evenodd">
+ <path d="M150.1 145.9v-.2.2zM152.6 147.1c0 .9.3 1.9.9 2.8-.6-.9-.9-1.9-.9-2.8zM149.7 154.2c0-.2-.1-.5-.3-.6.2.2.3.4.3.6 0 0-.1.7.8 1.8-.9-1-.8-1.8-.8-1.8zM229.2 188.9c.4-1.5.7-3 .8-4.4 0-.5.1-1 .1-1.5 0 .5-.1 1-.1 1.5-.1 1.4-.4 2.9-.8 4.4zM103.1 216.7h.8l-.3-.3c-.1.2-.3.3-.5.3zM235.1 153.6v.2c.4.1.8.3 1.1.6.8.7 1 1.8.7 2.7.1-.2.1-.4.1-.6.1-1.3-.7-2.5-2-2.9v-.2l-.1-.9c-1.5-.1-3-.2-4.6-.4l-.3 3.3 5.1-1.8zM245.1 143.8c6.7-3.5 11.1-12.3 10.9-20.8.3 8.5-4.2 17.3-10.9 20.8-3.5 1.8-8.8 2.6-14.2 2.7 5.4-.1 10.7-.8 14.2-2.7zM228.5 173.5l-.1 1.1c.6.3 1.3.5 1.9.8v.1c.1 0 .1.1.2.1-.1-1.3-.2-2.8-.4-4.3.1 1 .1 2 .2 2.9-.6-.2-1.2-.4-1.8-.7zM147.3 150.3l1-2.8-.1.1-.9 2.7c-.2.3 0 .6.3.7h.1c-.4-.1-.5-.4-.4-.7zM210.1 73.1c.5.1 1 .2 1.6.4-.5-.1-1-.3-1.6-.4zM155.1 180c0 .1.5 2.8 1.3 6.9h.1c-.8-4.1-1.3-6.9-1.3-7 0-.2.1-.4.2-.5-.2.1-.4.3-.3.6zM160 204.4h.2c-1.2-5.1-2.3-10.7-3.2-15.3h-.1c.8 4.6 1.9 10.2 3.1 15.3z"/>
+ <path d="M239.9 150.3c-.8.1-1.6.2-2.4.2-.1-.1-.3-.1-.4-.1-2.1-.1-4.3-.2-6.4-.4v.1c2.1.2 4.2.4 6.3.5.1 0 .3 0 .4.1.8 0 1.6-.1 2.4-.2 6.9-.9 11-3.2 15.3-8.7 1.4-1.7 3-4.6 4.1-7.8-1.2 3.2-2.7 5.9-4.1 7.7-4.3 5.4-8.4 7.7-15.2 8.6zM104 200.6c0-.1 0-.1 0 0 0-.1 0-.1 0 0zM145.8 157.9l-.2-.3v-.1l.1.1M140.7 165.2h-.1l-.6.9v.1M252 110.6c-2.8-4.7-6.4-9.1-8.6-11.7 2.2 2.6 5.8 7 8.6 11.7zM206.9 117.5c-.2-.3-.5-.5-.7-.7-.6-.5-1.4-.7-2.1-.7 1 0 2.1.5 2.8 1.4.5.8 1.5 1 2.3.5.1-.1.2-.1.3-.2-.1.1-.2.1-.3.2-.8.5-1.8.3-2.3-.5zM218.4 218.6c-.2 3.3-.2 5.7-.2 7.4h.1c-.1-1.7 0-4.1.1-7.4-6.4 1.4-13 2.3-19.7 2.4-7.5.1-14.9-.8-22.2-2.6v.1c7.2 1.8 14.6 2.7 22.1 2.6 6.7-.2 13.3-1 19.8-2.5zM209 117.5h-.1.1zM244.8 117.2c-.5.4-1.2.3-1.6-.2-.2-.3-.4-.5-.7-.7-.7.4-1.4.6-2.2.6-1 0-1.9-.3-2.6-.9-.4.3-.8.6-1.1 1-.1.2-.3.4-.6.4.2.2.5.4.7.6 2.9 2 6.8 1.3 8.8-1.6.3-.5.2-1.2-.3-1.5-.3-.2-.6-.2-1-.1.3.3.6.6.8 1 .4.5.2 1.1-.2 1.4zM241.5 113.3c.3-.3.4-.6.4-1.1v-3.5c0-.7-.4-1.3-1.1-1.5.4.3.7.8.7 1.3v3.5c0 .2-.1.5-.2.7-.5-.
1-1.1-.2-1.6-.2-.3 0-.6 0-.9.1.1.2.1.4.3.5.7 0 1.6 0 2.4.2zM200.6 117.5l.3-.3.6-.6c-.2.2-.4.4-.6.7 0 0-.1.1-.3.2zM208.1 114.6c-.1 0-.1-.1-.2-.2-1.5-1.1-3.3-1.4-5-1 1.8-.4 3.7.1 5.2 1.2zM209.5 116.7c0-.2 0-.5-.1-.7l-.3-.3.3.3c.1.2.2.5.1.7zM159.7 206.8c.7 3.1 1.5 6.2 2.6 9.2.3.9 2.2 6 4.6 10.2h.1c-2.5-4.2-4.3-9.3-4.7-10.3-1-3-1.9-6-2.6-9.1-1.2.1-2.5.1-3.8.1-4-.1-7.9-.5-11.8-1.2v.1c3.9.7 7.8 1.1 11.7 1.1 1.3 0 2.6 0 3.9-.1zM198.4 115.7c1.1-1.5 2.7-2.5 4.4-2.8-.1-.2-.1-.4-.1-.6v-3.5c0-.9.7-1.6 1.6-1.6-.9 0-1.6.7-1.6 1.6v3.5c0 .2 0 .4.1.6-1.8.2-3.4 1.3-4.4 2.8-.5.7-.3 1.5.2 2.1-.6-.6-.7-1.5-.2-2.1zM156.8 110.8c.3-.1.4-.4.3-.7l-1.2-2.9V106.9l-.3-1 .3.9v.1l-.3-1 .4 1.1v.2l1.2 2.9c0 .3-.1.6-.4.7h-.3c.2.1.3.1.3 0zM164.8 90.6l-.1 4.1M164.9 97.3l-.3-2.4c.1.8.2 1.7.3 2.5V97.3zM184.8 79.4l.2-.2 2.6-1.1h-.1l-2.4 1c-.2.1-.3.2-.3.3z"/>
+ <path d="M214.8 223.5v-.9c-1.3.2-2.6.4-3.8.6-4.1.6-8.2 1-12.4 1-6.3 0-12.6-.5-18.8-1.7 0 1.3 0 2.3-.1 3.3 4.7-.1 9.6-.2 14.7-.2 7.1 0 13.9.1 20.4.3v-2.4zM159.1 216.9c-.7-1.9-1.3-4.2-2-6.8h-1.3c-3.9-.1-7.9-.4-11.7-1.1v1.9h1c1 0 1.9 1 1.9 2.2v1.4c0 1.2-.8 2.1-1.7 2.2h.2l.4.3c.2-.2.4-.3.7-.3h.8c1.9.1 3.1.4 3.6.9 1.6 1.3 2.6 4.2 2.6 7.5 0 .5-.1 1.2-.2 1.9 3.1-.2 6.3-.4 9.8-.6-.6-1-1.1-2.1-1.6-3.2-.9-1.9-1.8-4.1-2.5-6.3zM235.4 114.9c-.2.1-.3.3-.3.4.1-.1.2-.2.3-.4.1 0 .1 0 0 0zM150.3 134.7c0-12.6 1.1-21.9 3.3-27.6l-.2-.5c-.4-1.2.3-2.4 1.5-2.8l.3-.1c2-3.6 4.4-6.9 7.3-9.9l.1-3.3c0-1.2 1-2.2 2.2-2.2l3.5.1c3.3-2.6 6.8-5 10.5-7.1l1.4-5.3c.3-1.2 1.5-1.8 2.6-1.6h-.1c-1.2-.3-2.4.4-2.7 1.6l-1.4 5.3c-3.7 2-7.2 4.4-10.5 7.1l-3.5-.1c-1.2 0-2.2 1-2.2 2.2l-.1 3.3c-2.8 3-5.3 6.3-7.3 9.9l-.3.1c-1.2.4-1.8 1.6-1.5 2.8l.2.5c-2.2 5.7-3.3 15-3.3 27.6-.6 3.6-1.3 7.2-2.2 10.6l-4.8 2.9 5-2.8c.9-3.5 1.6-7.1 2.2-10.7zM149.2 158.3c.7.7 1.6 1.5 2.8 2.1-1.2-.6-2.1-1.3-2.8-2.1zM206.5 72.8c.6 0 1.3.1 1.9.1.6 0 1.1.
1 1.7.2-.7-.1-1.3-.2-1.9-.3-.6-.1-1.2-.1-1.9-.1-5.7.2-11.4 1.3-16.7 3.4l.2.1c5.3-2 10.9-3.2 16.7-3.4zM140.8 153.8c-.5-.9-.6-1.9-.4-2.8-.3.9-.2 1.9.4 2.8l2.6 4.3-2.6-4.3zM227.3 212.8c-1.9 1.7-4.1 3-6.5 4v.1c2.3-1 4.5-2.3 6.5-4.1-.1.1-.1.1 0 0zM162.3 170.7l-.1-1.2c-2.4.6-4.8 1.4-7.2 2.3-.4-2.9-.8-5.5-1.1-7.6.3 2.1.7 4.8 1.1 7.7-.1 0-.2.1-.4.2.4 2.2 1.1 5.1 1.5 7.4-.3-2.2-.7-4.4-1-6.4 2.4-1.1 4.7-1.9 7.2-2.4zM174.5 205.9v2.9"/>
+ <path d="M152.3 147.3c-.2-3.1-.3-6.4-.4-9.8.2-1 .4-1.9.5-2.8 0-10.7.9-20.1 2.9-26v-.1c-2 5.9-2.9 15.3-2.9 26.1-.2.9-.3 1.8-.5 2.8v.2c0-.1 0-.2.1-.3 0 3.5.1 6.8.3 9.9 0 .1 0 .1 0 0zM236.4 182.5c-.4 15.2-3.8 25.4-5.2 29-.3 1.4-.7 2.7-1.1 3.8-1.6 4.5-3.5 8.5-5.2 11.1 1.7-2.6 3.7-6.6 5.3-11.2.4-1.1.7-2.4 1.1-3.8 1.4-3.6 4.8-13.7 5.2-29v-2.3s-.1 0-.1-.1v2.5zM149 153.6c.1-.6.3-1.3.6-1.9-.3.6-.6 1.2-.6 1.9h.2c-.1-.1-.2-.1-.2 0zM174.2 215.2v.2h-.1l.1-.2-.1.3c.1 2.1.1 4.1.1 6 0 1.7 0 3.2-.1 4.5h.1c.1-1.3.1-2.9.1-4.6 0-1.9-.1-3.9-.1-6h.1v-.2l-.2-5.8c0-.1 0-.2.1-.3-.1.1-.2.3-.2.4l.2 5.7zM236.5 172.8v-2.2c-.1-.7-.1-1.6-.2-2.4.1 1.5.2 3 .2 4.6z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M7.7 72.3v98.1c0 1 .1 1.2.1 1.2s.2.1 1.2.1h121.1l-.6-1.9c-.9-3.1.3-6.3 2.9-7.9V72.3H7.7zm45.8 65.5c0 1.8-1.5 3.3-3.3 3.3-1.8 0-3.3-1.5-3.3-3.3V98.4c0-1.8 1.5-3.3 3.3-3.3 1.8 0 3.3 1.5 3.3 3.3v39.4zm9.8 0c0 1.8-1.5 3.3-3.3 3.3-1.8 0-3.3-1.5-3.3-3.3V105c0-1.8 1.5-3.3 3.3-3.3 1.8 0 3.3 1.5 3.3 3.3v32.8zm9.9 0c0 1.8-1.5 3.3-3.3 3.3-1.8 0-3.3-1.5-3.3-3.3v-36.1c0-1.8 1.5-3.3 3.3-3.3 1.8 0 3.3 1.5 3.3 3.3v36.1zm20.8 3.1c-.4.1-.8.2-1.1.2-1.3 0-2.6-.8-3.1-2.2l-13.1-36.1c-.6-1.7.3-3.6 2-4.2 1.7-.6 3.6.3 4.2 2L96 136.7c.6 1.7-.3 3.5-2 4.2zM133.5 171.4c-.1 0-.1 0 0 0l.5 1.7-.5-1.7z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M127.3 173.2l1.8.1c.1-.2.3-.4.5-.5H9c-2 0-2.5-.4-2.5-2.5V71.2h127v90.2c.2-.1.4-.2.7-.2l3.6-1.1v-4.8c-1.3-2.3-1.2-5 0-7.1V55.4c0-2.3-1.9-4.2-4.2-4.2H6.5c-2.3 0-4.2 1.9-4.2 4.2v118.3c0 2 1.8 3.7 3.9 3.7h90c.3-.6.6-1.2 1.1-1.5.9-.7 2.6-.8 3.8-.8.5 0 .9.2 1.2.5l.5-.4h19.1c1.3-1.2 3-2 4.9-2h.5zm9.1-13.5l-.1-.2.1.2zm-.1-.3v.4l-.3-.9.3.5zm-9.6-101.2c1.6 0 2.9 1.3 2.9 2.9 0 1.6-1.3 2.9-2.9 2.9-1.6 0-2.9-1.3-2.9-2.9 0-1.6 1.3-2.9 2.9-2.9zm-9.2 0c1.6 0 2.9 1.3 2.9 2.9 0 1.6-1.3 2.9-2.9 2.9-1.6 0-2.9-1.3-2.9-2.9 0-1.6 1.3-2.9 2.9-2.9zM35 61c0-1.7 1.4-3.1 3.1-3.1H102c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.7-1.4 3.1-3.1 3.1H38.1c-1.7 0-3.1-1.4-3.1-3.1V61zm-12.4-2.8c1.6 0 2.9 1.3 2.9 2.9 0 1.6-1.3 2.9-2.9 2.9-1.6 0-2.9-1.3-2.9-2.9 0-1.6 1.3-2.9 2.9-2.9zm-9.3 0c1.6 0 2.9 1.3 2.9 2.9 0 1.6-1.3 2.9-2.9 2.9-1.6 0-2.9-1.3-2.9-2.9 0-1.6 1.4-2.9 2.9-2.9zM136.4 173.1l-.1-.3-.2-.6-1.1-3.7c-.2-.8.2-1.6 1-1.8-.8.2-1.2 1.1-1 1.8l1.1 3.7.3.9.1.5c-.5.6-.9 1.1-1.4 1.7.5-.6 1-1
.1 1.4-1.7l-.1-.5z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M138.7 159.7c.3-.5.6-1.1.8-1.7l-1.7-2.8v4.7l.9-.2zM6.2 177.5c-2.2 0-3.9-1.6-3.9-3.7V55.4c0-2.3 1.9-4.2 4.2-4.2h127.1c2.3 0 4.2 1.9 4.2 4.2V148c.5-.9 1.3-1.7 2.2-2.3V55.4c0-3.6-2.9-6.5-6.5-6.5H6.5c-3.6 0-6.5 2.9-6.5 6.5v118.3c0 3.3 2.8 5.9 6.2 5.9h89.2c.2-.8.4-1.5.7-2.2H6.2v.1zM139 167.8l1.1-1.6v-.1l-1.1 1.7c-.2.1-.2.4 0 .5-.1-.1-.1-.3 0-.5z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M6.5 71.2v99.2c0 2 .4 2.5 2.5 2.5h120.5c.2-.2.4-.5.7-.7l-.1-.4H9c-1 0-1.2-.1-1.2-.1s-.1-.2-.1-1.2V72.3h124.7V162c.3-.2.7-.4 1.1-.6V71.2H6.5zM132.8 169.2c-.2-.7-.2-1.4 0-2.1-.3.6-.3 1.4 0 2.1l.7 2.3v-.1l-.7-2.2zM13.3 64c1.6 0 2.9-1.3 2.9-2.9 0-1.6-1.3-2.9-2.9-2.9-1.6 0-2.9 1.3-2.9 2.9 0 1.6 1.4 2.9 2.9 2.9zM22.6 64c1.6 0 2.9-1.3 2.9-2.9 0-1.6-1.3-2.9-2.9-2.9-1.6 0-2.9 1.3-2.9 2.9 0 1.6 1.3 2.9 2.9 2.9zM38.1 64.3H102c1.7 0 3.1-1.4 3.1-3.1V61c0-1.7-1.4-3.1-3.1-3.1H38.1c-1.7 0-3.1 1.4-3.1 3.1v.3c0 1.7 1.4 3 3.1 3zM117.5 64c1.6 0 2.9-1.3 2.9-2.9 0-1.6-1.3-2.9-2.9-2.9-1.6 0-2.9 1.3-2.9 2.9 0 1.6 1.3 2.9 2.9 2.9zM126.7 64c1.6 0 2.9-1.3 2.9-2.9 0-1.6-1.3-2.9-2.9-2.9-1.6 0-2.9 1.3-2.9 2.9 0 1.6 1.3 2.9 2.9 2.9z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M60 101.6c-1.8 0-3.3 1.5-3.3 3.3v32.8c0 1.8 1.5 3.3 3.3 3.3 1.8 0 3.3-1.5 3.3-3.3v-32.8c0-1.8-1.4-3.3-3.3-3.3zM69.9 98.4c-1.8 0-3.3 1.5-3.3 3.3v36.1c0 1.8 1.5 3.3 3.3 3.3 1.8 0 3.3-1.5 3.3-3.3v-36.1c0-1.9-1.5-3.3-3.3-3.3zM50.2 95.1c-1.8 0-3.3 1.5-3.3 3.3v39.4c0 1.8 1.5 3.3 3.3 3.3 1.8 0 3.3-1.5 3.3-3.3V98.4c0-1.8-1.5-3.3-3.3-3.3zM82.8 100.5c-.6-1.7-2.5-2.6-4.2-2-1.7.6-2.6 2.5-2 4.2l13.1 36.1c.5 1.3 1.7 2.2 3.1 2.2.4 0 .8-.1 1.1-.2 1.7-.6 2.6-2.5 2-4.2l-13.1-36.1zM122.5 21.4h1.1c.3 0 .6-.2.6-.6 0-.4-.2-.6-.6-.6h-1.1c-.3 0-.6.2-.6.6 0 .4.3.6.6.6zM133.7 21.4h4.5c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-4.5c-.3 0-.6.2-.6.6 0 .3.2.6.6.6zM116.9 21.1c.1.2.3.3.5.3h.6c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-.3c-.2-.4-.6-1.2-1.2-2.1-.2-.3-.5-.3-.8-.2-.3.2-.3.5-.2.8.9 1.3 1.3 2.1 1.4 2.4zM66.7 4.5c.1 0 .2 0 .3-.1 1.6-1.2 3.7-2.1 6.4-2.4 2.1-.3 4-.2 5.9.2.3.1.6-.1.7-.4.1-.3-.1-.6-.4-.7-2-.4-4.1-.5-6.3-.2-2.9.4-5.2 1.3-6.9 2.7-.2.2-.3.5-.1.8.1 0 .3.1.4.1zM41.3
20.7h13.4c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6H41.3c-.3 0-.6.2-.6.6 0 .3.3.6.6.6zM98.6 7.9c1.3-.4 2.7-.5 4.3-.2 2.3.4 4.8 1.8 7.2 4.1.1.1.2.2.4.2.1 0 .3-.1.4-.2.2-.2.2-.6 0-.8-2.6-2.5-5.2-3.9-7.7-4.4-1.8-.3-3.4-.3-4.9.2-.3.1-.4.4-.4.7.1.3.5.5.7.4zM92.1 13.1c.1.2.3.3.5.3.1 0 .2 0 .2-.1.3-.1.4-.5.3-.7-.1-.3-.3-.6-.5-1-.1-.3-.5-.4-.8-.2-.3.1-.4.5-.2.8.2.3.3.6.5.9zM89.1 8.5c.1.1.3.2.4.2.1 0 .2 0 .3-.1.2-.2.3-.5.1-.8-.7-.9-1.5-1.8-2.3-2.5-.2-.2-.6-.2-.8 0-.2.2-.2.6 0 .8.9.7 1.6 1.5 2.3 2.4zM63.4 14.6s.1 0 0 0c.4 0 .6-.3.6-.6 0-.4-.1-.7-.1-1.1 0-.3-.3-.5-.6-.5h-.1c-.2.1-.4.3-.4.6 0 .4.1.8.1 1.1 0 .1 0 .1.1.2 0 .2.2.3.4.3zM65.5 20.4c.1-.2.1-.4 0-.5 0 0-.3-.7-.6-1.7-.1-.3-.4-.5-.7-.4-.3.1-.5.4-.4.7.1.4.3.8.4 1h-.7c-.2.1-.4.3-.4.5 0 .3.2.6.6.6H65.1c.1.1.3 0 .4-.2z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M40.9 25.6h97.9c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1H116c-2-3.7-7.1-11.7-13.4-12.9-8.4-1.6-10 6.7-10 6.7S87 2.7 73 4.6c-6.5.9-9 4.2-9.8 7.8h.1c.3 0 .6.2.6.5 0 .4.1.7.1 1.1 0 .3-.2.6-.5.6h-.1c-.2 0-.4-.1-.5-.3-.1 1.9.1 3.8.5 5.3h.7c-.1-.3-.2-.6-.4-1-.1-.3.1-.6.4-.7.3-.1.6.1.7.4.3 1 .6 1.7.6 1.7.1.2.1.4 0 .5-.1.2-.3.3-.5.3h-1.3c.4 1.5.9 2.5.9 2.7H40.7c-.6 0-1.1.5-1.1 1.1.1.5.6 1 1.3 1z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M229.2 52.9c.3-1 1.2-3.2 3.8-3.2.3 0 .7 0 1 .1 1.6.3 3.2 1.3 4.8 3 .2.2.6.2.8 0 .2-.2.2-.6 0-.8-1.8-1.9-3.6-3-5.4-3.4-.4-.1-.8-.1-1.2-.1-3.5 0-4.6 3-4.9 4-.1.3.1.6.4.7h.2c.1 0 .2 0 .3-.1.1 0 .2-.1.2-.2zM213.5 48.4c.1 0 .3-.1.4-.2.6-.7 1.5-1.1 2.6-1.4.3-.1.5-.4.4-.7-.1-.3-.4-.5-.7-.4-1.3.4-2.4.9-3.1 1.7-.2.2-.2.6 0 .8.1.2.3.2.4.2zM246.3 56.9h3.3c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-3.3c-.3 0-.6.2-.6.6 0 .3.3.6.6.6zM220.7 46.6c.4.1.7.2 1 .3h.2c.2 0 .5-.1.5-.4.1-.3-.1-.6-.4-.7-.4-.1-.8-.2-1.1-.3-.3-.1-.6.1-.7.4 0 .4.2.7.5.7zM213.5 56.8c.1-.2.1-.4 0-.5l-.1-.1c-.1-.3-.4-.4-.7-.3-.1 0-.1.1-.2.1h-12.7c-.3 0-.6.2-.6.6 0 .3.2.6.6.6H213c.2-.2.4-.3.5-.4z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M199.6 60.7h54.5c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-12.9c-1.1-2.1-3.9-6.5-7.4-7.2-2.4-.5-3.8.5-4.6 1.6 0 .1-.1.2-.2.3-.6 1-.8 1.9-.8 1.9s-3.1-8-10.9-7c-5.8.8-6 5-5.4 7.8h.7s.1-.1.2-.1c.3-.1.6 0 .7.3l.1.1c.1.2.1.4 0 .5-.1.2-.3.3-.5.3h-.9c.2.9.5 1.4.5 1.5h-13.2.2c-.6 0-1.1.5-1.1 1.1-.1.6.4 1.1 1 1.1z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M173.7 229.1c-.1.2-.1.4-.2.5 0 0-.1 0-.1.1.1 0 .2-.1.3-.1.3-.3.5-1.6.6-3.6h-.1c-.2 1.5-.3 2.6-.5 3.1zM173.1 232c.5 0 1-.1 1.5-.4-.4.2-.9.4-1.5.4-2.1 0-4.3-2.7-6.1-5.8h-.1c1.8 3.2 4 5.8 6.2 5.8z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M231.1 226.7c-2.6 4.8-5.9 8.5-9.7 8.5-1.4 0-2.9-.5-4-1.4-1.7-1.4-2.5-2.9-2.6-7.8-6.4-.2-13.3-.3-20.4-.3-5 0-9.9.1-14.7.2-.2 5.1-1 6.6-2.7 7.9-1.1.9-2.5 1.4-4 1.4-4 0-6.8-3.6-8.7-6.8-.4-.6-.8-1.3-1.1-2-3.4.2-6.7.4-9.8.6-.3 2-1.1 4.5-2.2 5.4-1.1.9-3.1 1.1-4.5 1.1-.6 0-1-.3-1.4-.6l-.6.6H97.4c-1 0-1.9-.7-2.2-1.7l-.3-1.1v-.2c-5.9.7-9.4 1.5-9.4 2.4 0 2.1 17.6 3.7 39.4 3.7 3.5 0 6.8 0 10-.1 12.2 2.1 34.3 3.4 59.5 3.4 38.5 0 69.7-3.2 69.7-7.1 0-2.6-13.2-4.8-33-6.1z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M219.5 231.3c.5.4 1.2.7 1.9.7.6 0 1.3-.2 1.9-.6-.6.4-1.2.6-1.8.6-.7 0-1.4-.3-2-.7-.6-.6-1.2-1.1-1.3-5.3h-.1c.2 4.3.8 4.8 1.4 5.3zM223.3 228.4c.5-.5 1-1.2 1.5-2-.5.8-1 1.4-1.5 2z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M102.1 188.2l-.3-.2c-.1.2-.3.3-.6.3h-.7c-1.6-.1-2.6-.3-3.1-.7l-.6-.6H83c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h19.4c.1-.4.2-.7.5-.9h-.8v-.1zM156.8 189.1h.1c-.2-.8-.3-1.5-.4-2.2h-.1c.1.7.3 1.4.4 2.2zM27.3 194.1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6H24c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h3.3zM19.5 193h-1.1c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h1.1c.3 0 .6-.2.6-.6 0-.3-.3-.6-.6-.6zM68.5 194.1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-3.3c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h3.3zM49.6 194.1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6H36.2c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h13.4zM102 194.1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-1.1c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h1.1zM60.7 194.1c.3 0 .6-.2.6-.6 0-.3-.2-.6-.6-.6h-1.1c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h1.1zM91.4 193.6c0-.3-.2-.6-.6-.6H77.4c-.3 0-.6.2-.6.6 0 .3.2.6.6.6h13.4c.3-.1.6-.3.6-.6z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M65.7 230.4c-.3.9-.6 1.7-1.1 2.1-.8.8-2.3.9-3.4.9-.4 0-.8-.3-1-.6l-.5.5H24.5h-.1c2.2 1.6 12.1 2.7 24 2.7 13.5 0 24.4-1.5 24.4-3.4 0-.7-2.7-1.6-7.1-2.2z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M28.3 224.9h32.9c.1 0 .1 0 .2.1-.1-.4-.1-.7-.3-1H27.2v4.6h33.7c.2-.3.3-.7.4-1.1h-33c-.2 0-.4-.2-.4-.4s.2-.4.4-.4h32.9c.1 0 .2 0 .2.1v-1.1c-.1.1-.2.1-.3.1H28.3c-.2 0-.4-.2-.4-.4s.2-.5.4-.5z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M59.2 231.8l.8-.9.3.1c.3.1.5.3.6.5.1.1.2.3.3.3 1.2 0 2.1-.2 2.5-.6.6-.5 1.3-3.3 1.3-5.1 0-2.6-.7-4.6-1.4-5.2-.1-.1-.8-.3-1.9-.4-.1.4-.2.7-.7.8h-.3l-.9-.9H24.3c-.1 0-.3.1-.3.3v1.2c0 .2.1.3.3.3H62l.2.4c1.3 2.4.8 5.9-.4 7.3l-.2.2H24.3c-.1 0-.2 0-.2.1s-.1.2 0 .3l.2 1c0 .1.1.2.2.2h34.7v.1z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M59.7 233.4l.5-.5c.2.3.6.6 1 .6 1.1 0 2.6-.2 3.4-.9.4-.4.8-1.2 1.1-2.1.5-1.5.7-3.3.7-4.3 0-2.8-.8-5.4-1.9-6.5-.4-.4-1.3-.7-2.7-.8h-.6c-.3 0-.4.1-.5.3l-.3-.3h-36c-.9 0-1.7.9-1.7 2v1.2c0 1.1.7 2 1.7 2h.9v4.6h-.9c-.5 0-1 .3-1.3.8-.3.5-.4 1.1-.3 1.7l.2 1c.2.8.8 1.4 1.5 1.5h35.2v-.3zm-35.5-1.8l-.2-1v-.3c0-.1.1-.1.2-.1h37.2l.2-.2c1.3-1.4 1.7-4.9.4-7.3l-.2-.4H24.3c-.1 0-.3-.1-.3-.3v-1.2c0-.2.1-.3.3-.3h35.5l.9.9h.3c.4-.1.6-.5.7-.8 1.2.1 1.8.3 1.9.4.7.7 1.4 2.7 1.4 5.2 0 1.8-.7 4.6-1.3 5.1-.4.3-1.3.6-2.5.6-.1-.1-.2-.3-.3-.3-.2-.2-.3-.5-.6-.5l-.3-.1-.8.9H24.5l-.3-.3zm4.1-5.9h32.9c.1 0 .2-.1.3-.1v1.1c-.1-.1-.1-.1-.2-.1h-33c-.2 0-.4.2-.4.4s.2.4.4.4h33c-.1.4-.2.8-.4 1.1H27.2v-4.6h33.9c.1.3.2.7.3 1-.1 0-.1-.1-.2-.1H28.3c-.2 0-.4.2-.4.4s.2.5.4.5z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M174.2 215.4v-.2M236.7 157.9c.2-.2.3-.4.3-.6.1-.2.1-.5.1-.7 0 .2-.1.4-.1.6-.1.2-.2.4-.3.7zM161.3 204.2v.1h.1v-.1h-.1zM173.7 229.1c-.1.1-.1.2-.2.3-.4.3-1 .1-1.7-.5-.1 0-.1-.1-.2-.2-.3-.2-.5-.5-.8-.9.9 1.1 1.7 1.8 2.3 1.8h.2s.1 0 .1-.1c.1 0 .2-.1.3-.4z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M233.4 212.2c-.3 1.4-.7 2.7-1.1 3.8-.5 1.4-4.6 12.7-9 15.4-.6.4-1.3.6-1.9.6-.7 0-1.3-.2-1.9-.7-.7-.5-1.3-1-1.3-5.3 0-1.7 0-4.1.2-7.4-6.5 1.5-13.1 2.3-19.7 2.4-7.4.1-14.9-.7-22.1-2.6.2 11.4-.6 12-1.5 12.8-.1.1-.3.2-.5.3-.5.3-1 .4-1.5.4-2.2 0-4.4-2.6-6.2-5.8-2.5-4.2-4.3-9.3-4.6-10.2-1-3-1.9-6.1-2.6-9.2-1.3.1-2.6.1-3.9.1-3.9-.1-7.9-.5-11.7-1.1v3.2c3.9.7 7.8 1 11.7 1.1h1.3c.7 2.7 1.3 5 2 6.8.8 2.2 1.6 4.3 2.6 6.3.5 1.1 1 2.1 1.6 3.2.4.7.7 1.3 1.1 2 2 3.2 4.7 6.8 8.7 6.8 1.4 0 2.9-.5 4-1.4 1.6-1.3 2.4-2.9 2.7-7.9 0-1 .1-2.1.1-3.3 6.2 1.2 12.5 1.8 18.8 1.7 4.1 0 8.3-.4 12.4-1 1.2-.2 2.5-.4 3.8-.6v3.4c.1 4.9.9 6.4 2.6 7.8 1.1.9 2.5 1.4 4 1.4 3.8 0 7.1-3.7 9.7-8.5.2-.4.5-.8.7-1.3 1.4-2.8 2.6-5.6 3.6-8.5.4-1.1.8-2.4 1.2-3.9 1.5-4 4.8-14.1 5.4-29-1-1.2-2.1-2.3-3.3-3.3v1.8c-.5 15.4-3.9 25.8-5.4 29.7z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M137.8 148.1c-1.2 2.1-1.3 4.8 0 7.1v.1l1.7 2.8c-.3.6-.6 1.1-.8 1.7l-.8.3-3.6 1.1c-.2.1-.5.2-.7.2-.4.2-.8.4-1.1.6-2.5 1.7-3.8 4.9-2.9 7.9l.6 1.9.1.4c-.2.3-.4.5-.7.7-.2.2-.3.4-.5.5l-1.8-.1h-.6c-1.9 0-3.6.8-4.9 2h10.3l1.8-2.1-.5-1.7-.7-2.2c-.2-.7-.2-1.5 0-2.2.3-1.1 1.2-2.1 2.4-2.5l5.8-1.8c.8-1.4 1.6-3 2.3-4.7l-2.6-4.3c-.5-.9-.7-1.9-.4-2.8.2-.9.8-1.8 1.7-2.3l1.1-.7 4.8-2.9c.9-3.3 1.7-6.9 2.2-10.6 0-12.6 1.1-21.9 3.3-27.6l-.2-.5c-.4-1.2.3-2.4 1.5-2.8l.3-.1c2-3.6 4.4-6.9 7.3-9.9l.1-3.3c0-1.2 1-2.2 2.2-2.2l3.5.1c3.3-2.6 6.8-5 10.5-7.1l1.4-5.3c.3-1.2 1.6-1.9 2.7-1.6h.2l6.5 1.8c5.3-2.1 11-3.2 16.7-3.4.6 0 1.3 0 1.9.1.6 0 1.3.1 1.9.3h.1c.5.1 1 .2 1.6.4 3.9 1.1 8.5 3.5 13.9 7.2 6.2 4.5 12.1 9.4 17.5 14.7.7 0 1.3.3 1.8.8 3.5 3.3 6.7 7 9.7 10.8 3 3.2 6.8 8.1 8.1 13.3 2 7.8-2.2 17.9-5.9 22.5-4.7 5.9-9.2 8.5-16.7 9.5-.7.1-1.5.2-2.4.2 1.9 1.8 2.1 4.8.5 6.9 1 1.5 1.1 3.3.2 4.8-.1.1-.1.3-.2.5.2 4.9.4 10.9.4 14.4 1.1.9 2.2 1.9 3.2 3 .2-6.2 0-12.5-.4-18.7
l-.3.1c-.3 0-.5-.2-.5-.5s.2-.6.5-.6c.2 0 .4-.1.5-.2 0-.6-.1-1.2-.1-1.8 1-1.6 1.5-3.6 1.3-5.5l1-.2c.2-.3.5-.3.8-.2.9-.2 1.7-.4 2.5-.7 0-.3.2-.6.5-.6.2 0 .4.1.5.2 4.5-1.7 8.1-4.5 11.6-9 3.8-4.7 8.8-15.6 6.6-25 0-.1 0-.3-.1-.4-.1-.1-.1-.5-.2-.7-.6-1.8-1.3-3.5-2.2-5.2-.4-.7-.8-1.5-1.3-2.2-1.2-1.8-2.5-3.6-3.9-5.2-.3-.4-.6-.7-1-1.1l-.1-.2c-3-4-6.3-7.7-9.9-11.1-.7-.7-1.6-1.2-2.5-1.4-8-7.7-24.5-22.1-36.2-22.9-.7 0-1.4-.1-2.1-.1-5.8.1-11.5 1.2-16.9 3.2l-5.7-1.6c-3-.8-6 .9-6.8 3.9l-1.1 3.9c-3 1.8-6 3.7-8.7 5.9H165c-3 0-5.5 2.4-5.6 5.4v2c-2.4 2.6-4.5 5.5-6.3 8.5-2.1 1.2-3.3 3.6-2.8 5.9-2.1 6.1-3.2 15.3-3.2 27.5-.5 3-1.1 5.9-1.8 8.7l-4.8 2.9c-.1 0-.1.1-.2.1-1.2 1.2-2 2-2.5 3z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M136.3 159.7v-.3l-.2-.5.2.9M155.9 106.8l-.3-.9.3 1"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M230.3 174.3c0-1-.1-2-.2-2.9-.1-.7-.2-1.4-.2-2.1-.3-.1-.6-.1-1-.2l-.4 4.5c.6.2 1.2.4 1.8.7zM242.5 116.3c-.7-.6-1.6-.9-2.6-1-.8 0-1.6.2-2.3.7.7.6 1.7.9 2.6.9.9 0 1.7-.2 2.3-.6z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M174.5 205.9c9.6 4.4 20.4 5.7 30.8 3.8 14.7-2.9 21.6-12.6 23.9-20.8.4-1.5.7-3 .8-4.4 0-.5.1-1 .1-1.5.2-2.5.2-5 .2-7.5v-.1c-.6-.3-1.3-.6-1.9-.8l-1.1 11.7c-.1.9-.8 1.5-1.7 1.5l-22.1 3.1c-.9.9-2.9 2.3-6.5 2.5h-.8c-3.3 0-5.3-1.4-6.2-2.3l-24.9-3.6c-.9 0-1.6-.7-1.6-1.5l-1.2-15.4c-2.4.6-4.8 1.4-7.1 2.3.3 2 .6 4.2 1 6.4.1.1.2.2.2.4l.2.9c.6 3.2 2.6 14.1 4.8 23.4v.1h.1v.1h.1c.8 3.7 1.7 7.3 2.9 10.9 2 5.6 4.5 10.3 6.4 12.7.3.3.6.6.8.9.1 0 .1.1.2.2.7.6 1.3.8 1.7.5.1 0 .1-.1.2-.3.2-.5.3-1.6.4-3.2.1-1.3.1-2.8.1-4.5 0-1.9 0-3.9-.1-6v-.2h.1l-.2-5.8c0-.2.1-.3.2-.4.1-.1.2-.2.3-.2l-.1-2.9z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M152 137.6c.1 3.3.2 6.6.4 9.8l.3-.3v.1c-.1.9.3 1.9.8 2.9.8 1.4 2.1 2.7 3.2 3.7 1.8-1 3.3-1.2 4-1.2l-.3-4.3c0-.5.1-1 .5-1.3.3-.3.8-.5 1.3-.5h.3l1.4-6.1c.1-.4.4-.8.8-.8.4-.1 10.5-2.3 19.1 1.5 7.1 3.1 11.3 7.9 13.1 10.5 1.5-2.6 5.2-7.4 12.7-11 6.3-3.1 15.5-3.4 16.7-2.9.3.1.6.4.7.7.2.6 1.3 4.5 1.9 7.1h.2c.5 0 1 .1 1.3.5.2.2.4.5.4.8 5.4-.1 10.7-.9 14.2-2.7 6.7-3.5 11.1-12.3 10.9-20.7 0-1.2-.2-2.4-.4-3.6-.6-2.9-2-5.9-3.7-8.9-2.8-4.7-6.4-9.1-8.6-11.7-.3-.3-.5-.6-.8-.9 0 0-.1 0-.1.1C231 87.2 216.6 76.1 208 75.5c-.6 0-1.1-.1-1.7-.1-5.7.2-11.3 1.4-16.6 3.5l-.5-.1-3.8 1.7h-.1c-.3.1-.6 0-.7-.3-.1-.2 0-.4.1-.6 0-.1.1-.2.2-.3l2.4-1-5.1-1.4-1.7 6.2c-4.1 2.2-8 4.8-11.6 7.8l-4.3-.1-.1 4.1v.1l-.1.1.3 2.4v.3c0 .2-.2.4-.4.5h-.2c-.2 0-.4-.2-.5-.4l-.3-1.8c-2.7 2.9-5 6.1-6.8 9.6l-1.1.3.3 1V107.3l1.2 2.9c.1.3 0 .6-.3.7h-.3c-.2 0-.4-.1-.5-.4l-.7-1.7c-2 5.9-2.9 15.3-2.9 26 .1.9 0 1.8-.2 2.8zm82.7-21.8c.1-.2.2-.3.4-.4.1-.2.2-.3.3-.4.3-.2.5-.5.8-.7.8-.6 1.8-.9 2.
7-1.1-.1-.2-.2-.3-.3-.5h-.3c-.1-.2-.1-.4-.1-.6v-3.5c0-.9.7-1.6 1.6-1.6.3 0 .6.1.9.3.6.2 1.1.8 1.1 1.5v3.5c0 .4-.2.8-.4 1.1 1 .3 2 .8 2.8 1.5.3-.1.7-.1 1 .1.5.3.7 1 .3 1.5-2 2.9-5.9 3.6-8.8 1.6-.3-.2-.5-.4-.7-.6-.3.1-.7.1-1-.1-.5-.4-.6-1.1-.3-1.6zm-36.4-.2c1.1-1.5 2.7-2.5 4.5-2.8-.1-.2-.1-.4-.1-.6v-3.5c0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6v3.5c0 .2-.1.5-.2.7 1.6.4 3 1.4 4 2.7.4.7.3 1.6-.2 2.1-.1.1-.2.2-.3.2-.8.5-1.8.3-2.3-.5-.7-.9-1.7-1.4-2.8-1.5H203.5c-.2 0-.4.1-.5.1h-.1c-.6.2-1.2.6-1.6 1.2-.5.8-1.5 1-2.3.5-.1-.1-.2-.1-.3-.2-.7-.3-.8-1.2-.4-1.9zM236.2 154.4c-.3-.3-.7-.5-1.1-.6v-.2l-5 1.9v.1h.4c.1 0 3-.3 6.2 2.3.1-.2.2-.5.3-.7.3-1 0-2-.8-2.8z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M161.7 166.1c-3.6.4-6.2-.6-7.8-1.9.3 2.1.7 4.7 1.1 7.6 2.3-.9 4.7-1.7 7.2-2.3l-.1-.8c-.2-.9-.4-1.7-.4-2.6z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M136.4 159.7l-.1-.3"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M156.4 186.9H145c-.1.3-.2.5-.4.7h.8l.3.2c.1-.2.3-.3.6-.3h.7c1.6.1 2.6.3 3.1.7.3.2.5.5.8.8h6c-.2-.7-.4-1.4-.5-2.1zM150.2 182.9c0-.3-.2-.6-.6-.6h-7.5v1.1h7.5c.3 0 .6-.2.6-.5z"/>
+ <path fill="url(#a)" fill-rule="nonzero" d="M252 110.6c1.7 3 3.1 6 3.7 8.9.2 1.2.4 2.4.4 3.6.2 8.5-4.2 17.3-10.9 20.8-3.5 1.9-8.8 2.6-14.2 2.7v.5l-.3 2.9c2.1.2 4.2.4 6.4.4.1 0 .3 0 .4.1.8 0 1.6-.1 2.4-.2 6.9-.9 11-3.2 15.3-8.7 1.4-1.7 2.9-4.5 4.1-7.7 1.5-4.1 2.4-8.8 1.3-12.8-1.2-4.7-4.7-9.3-7.7-12.5-2.9-3.8-6-7.3-9.5-10.6-.1-.1-.3-.2-.5-.2-.1 0-.3.1-.4.1.2.3.5.6.8.9 2.3 2.7 5.9 7.1 8.7 11.8z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M242.6 98c.2.3.5.6.8.9-.3-.3-.6-.6-.8-.9z"/>
+ <path fill="url(#b)" fill-rule="nonzero" d="M242.6 98c.2.3.5.6.8.9-.3-.3-.6-.6-.8-.9z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M252 110.6c1.7 3 3.1 6 3.7 8.9.2 1.2.4 2.4.4 3.6 0-1.2-.2-2.4-.4-3.6-.6-2.9-2-6-3.7-8.9z"/>
+ <path fill="url(#c)" fill-rule="nonzero" d="M252 110.6c1.7 3 3.1 6 3.7 8.9.2 1.2.4 2.4.4 3.6 0-1.2-.2-2.4-.4-3.6-.6-2.9-2-6-3.7-8.9z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M229.9 169.3c.1.7.1 1.4.2 2.1 0-.8-.1-1.5-.2-2.1z"/>
+ <path fill="url(#d)" fill-rule="nonzero" d="M229.9 169.3c.1.7.1 1.4.2 2.1 0-.8-.1-1.5-.2-2.1z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M220.4 226.2c0 1.8.2 3.1.5 3.3.1.1.3.2.5.2.5 0 1.2-.5 1.9-1.3.5-.5 1-1.2 1.5-2-1.4-.1-2.9-.2-4.4-.2z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M205.3 209.7c-10.4 1.9-21.2.6-30.8-3.8 9.6 4.4 20.3 5.8 30.8 3.8 14.7-2.8 21.6-12.5 23.9-20.8-2.3 8.3-9.2 17.9-23.9 20.8z"/>
+ <path fill="url(#e)" fill-rule="nonzero" d="M205.3 209.7c-10.4 1.9-21.2.6-30.8-3.8 9.6 4.4 20.3 5.8 30.8 3.8 14.7-2.8 21.6-12.5 23.9-20.8-2.3 8.3-9.2 17.9-23.9 20.8z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M230.1 183c.2-2.5.3-5 .2-7.4 0 2.4 0 4.9-.2 7.4z"/>
+ <path fill="url(#f)" fill-rule="nonzero" d="M230.1 183c.2-2.5.3-5 .2-7.4 0 2.4 0 4.9-.2 7.4z"/>
+ <path fill="url(#g)" fill-rule="nonzero" d="M236.4 180.1v-1c-1.9-1.3-3.9-2.4-5.9-3.4 0 .7.1 1.3.1 1.8 2 .8 3.9 1.4 5.8 2.6z"/>
+ <path fill="url(#h)" fill-rule="nonzero" d="M236.5 172.8c-.1-1.6-.1-3.1-.2-4.6-1.4 1-3.6 1.6-6.4 1.1.1.7.2 1.4.2 2.1.2 1.5.3 3 .4 4.3-.1 0-.1-.1-.2-.1 0 2.5 0 5-.2 7.4 0 .5-.1 1-.1 1.5-.1 1.4-.4 2.9-.8 4.4-2.3 8.3-9.2 18-23.9 20.8-10.4 1.9-21.2.6-30.8-3.8v2.9h.1c.3 0 .6.2.6.5l.3 6.4c2.9.9 10.8 3 23.3 3 7.3-.2 14.5-1.1 21.5-2.9 2.3-.9 4.4-2.2 6.3-3.8.2-.2.6-.2.8 0 .2.2.2.6 0 .8h-.1v.1c-1.9 1.7-4.1 3-6.4 4-.2 2.9-.3 5.7-.3 7.9v1.4c0 1.8.2 3.1.5 3.3.1.1.3.2.5.2.5 0 1.2-.5 1.9-1.3.5-.5 1-1.2 1.5-2 1.7-2.6 3.6-6.5 5.2-11.1.4-1.1.8-2.4 1.1-3.8 1.4-3.6 4.8-13.8 5.2-29V180s.1 0 .1.1v-1.2c-.2-1.5-.1-4.1-.1-6.1z"/>
+ <path fill="url(#i)" fill-rule="nonzero" d="M202.7 108.7v3.5c0 .2 0 .4.1.6.4-.1.8-.1 1.2-.1.5 0 1.1.1 1.6.2.1-.2.2-.5.2-.7v-3.5c0-.9-.7-1.6-1.6-1.6-.8 0-1.5.7-1.5 1.6z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M202.8 112.8c-1.8.3-3.4 1.3-4.5 2.8-.4.7-.3 1.5.2 2.1.1.1.2.2.3.2.8.5 1.8.3 2.3-.5.4-.6 1-1 1.6-1.2h.1c.2-.1.4-.1.5-.1H203.9c.7 0 1.5.2 2.1.7.3.2.5.4.7.7.5.8 1.5 1 2.3.5.1-.1.2-.1.3-.2.6-.5.7-1.4.2-2.1-1-1.4-2.4-2.3-4-2.7-.5-.1-1.1-.2-1.6-.2-.3-.1-.7 0-1.1 0zm5.1 1.6c.1 0 .1.1.2.2s.3.2.4.4c.2.1.3.3.5.5.1.1.2.2.2.3l.3.3c.1.2.1.5.1.7v.1c0 .1-.1.2-.1.2 0 .1 0 .1-.1.2 0 .1-.1.1-.1.1l-.1.1h-.1-.1c-.1 0-.2.1-.2.1h-.1c-.4 0-.7-.1-1-.4-.8-1-2-1.7-3.3-1.7H203.8c-.2 0-.4.1-.6.1-.1 0-.3.1-.4.2-.1.1-.3.1-.4.2-.2.1-.4.2-.5.4l-.1.1-.6.6-.3.3c-.4.3-.9.3-1.2 0-.5-.3-.7-1-.3-1.5.2-.3.4-.5.6-.7l.1-.1c.2-.2.5-.5.8-.7h.1c.1-.1.3-.2.5-.3h.1c.2-.1.3-.2.5-.2h.1c.2-.1.3-.1.5-.2s.4-.1.6-.2c1.3-.4 3.1-.1 4.6.9z"/>
+ <path fill="url(#j)" fill-rule="nonzero" d="M202.9 113.4c-.2 0-.4.1-.6.2-.2.1-.4.1-.5.2h-.1c-.2.1-.3.2-.5.2h-.1c-.2.1-.3.2-.5.3h-.1c-.3.2-.5.4-.8.7l-.1.1c-.2.2-.4.5-.6.7-.3.5-.2 1.2.3 1.5.4.3.9.2 1.2 0l.3-.3c.2-.2.4-.5.6-.7l.1-.1c.2-.1.4-.3.5-.4.1-.1.2-.1.4-.2.1-.1.3-.1.4-.2.2-.1.4-.1.6-.1H204c1.3 0 2.5.6 3.3 1.7.2.3.6.4 1 .4h.1c.1 0 .2 0 .2-.1.1 0 .1 0 .2-.1h.1l.1-.1.1-.1s.1-.1.1-.2.1-.1.1-.2v-.1c0-.2 0-.5-.1-.7l-.3-.3c-.1-.1-.1-.2-.2-.3-.1-.2-.3-.3-.5-.5-.1-.1-.3-.2-.4-.4-1.2-.8-3.1-1.3-4.9-.9z"/>
+ <path fill="url(#k)" fill-rule="nonzero" d="M140 165.4v.7l.6-.9"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M137.8 166.1l-1.9.6c-.8.2-1.2 1.1-1 1.8l1.1 3.7.2.6.1.2v.1l.1.4c-.5.6-1 1.1-1.4 1.7h2.4c.2-.4.3-.9.3-1.4v-7.7h.1z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M140 168.2l-.1.2c-.2.3-.5.3-.8.2l-.2-.2c-.1-.2-.1-.4 0-.6l1.1-1.6v-.7l-2.2.7v7.7c0 .5-.1 1-.3 1.4h2.3c.1-.5.2-.9.2-1.4v-5.7z"/>
+ <path fill="url(#l)" fill-rule="nonzero" d="M154.4 170.6c-3.5 1.5-6.8 3.4-9.9 5.6.1.1.1.2.2.4l.2.7c3.1-2 6.3-3.8 9.7-5.2-.1-.6-.1-1.1-.2-1.5z"/>
+ <path fill="url(#m)" fill-rule="nonzero" d="M156.8 189.1c-.2-.8-.3-1.5-.4-2.2-.8-4.1-1.3-6.9-1.3-6.9 0-.3.1-.5.4-.6.1-.1.2-.1.2-.1.2 0 .3 0 .4.1-.4-2.2-1.1-5.2-1.5-7.4.1-.1.2-.1.4-.2-.4-2.9-.8-5.5-1.1-7.7-1.5-1.3-2.1-2.8-2-3.7v-.1c-1.2-.6-2.1-1.4-2.8-2.1-1.4-1.5-1.7-3-1.7-3.2v-.4c.1-.4.5-.8.9-.8h.3l.2-.2c.1-.6.3-1.3.6-1.9.8-1.9 2.1-3.5 2.7-4.3-.1-3.2-.2-6.5-.3-9.9 0 .1 0 .2-.1.3l-.6 3c-.1.2-.1.5-.2.7-.3 1.1-.5 2.3-.9 3.5-.1.2-.1.4-.2.6v.2l-.1.2-.1.5h-.1l-1.5 4.1c-.1.2-.3.4-.6.3h-.1-.1c-.3-.1-.4-.4-.3-.7l1-2.7-.3.2-4.7 2.9c-.7.4-.9 1.3-.5 2l2.9 4.7.1.1.1.1.2.3v.1c-1 2.3-2.1 4.5-3.3 6.7h-.1l-2.4 3.5-.1.2c-.2.3-.5.3-.8.2l-.2-.2c-.1-.2-.1-.4 0-.6l1.1-1.6v-.7l-2.2.7-1.9.6c-.8.2-1.2 1.1-1 1.8l1.1 3.7.2.6.1.2v.1l.1.4c-.5.6-1 1.1-1.4 1.7H142.6c.7 0 1.3.4 1.7.9.1.1.1.2.2.4l.2.7.1.2c.1.5 0 1.1-.3 1.5-.4.4-.9.7-1.5.7h-1v4h1c1 0 1.9.8 1.9 1.7v1.1c0 .1 0 .3-.1.4-.1.3-.2.5-.4.7h.8l.3.2c.1-.2.3-.3.6-.3h.7c1.6.1 2.6.3 3.1.7.3.2.5.5.8.8.9 1.2 1.4 3 1.4 5 0 1.5-.7 4.7-2 5.7-.9.7-2.6.8-3.8.8h-.2c.
2.3.4.6.5 1.1l.2 1.1c.1.4.1.7 0 1.1 3 .4 6 .7 9 .7 1.4 0 2.8-.1 4.1-.2-1.1-4.9-2.2-10.5-3.1-15.1z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M149.2 153.6s0-.1 0 0c.2 0 .2 0 .3.1.2.1.3.3.3.6 0 0-.1.7.8 1.8.5.6 1.3 1.2 2.5 1.9.2-.9.7-1.7 1.5-2.5s1.5-1.3 2.3-1.7c-1.2-1.1-2.4-2.4-3.2-3.7-.6-.9-.9-1.9-.9-2.8v-.1l-.3.3c-.6.7-1.9 2.4-2.7 4.3-.3.6-.5 1.3-.6 1.9-.2-.2-.1-.2 0-.1z"/>
+ <path fill="url(#n)" fill-rule="nonzero" d="M136.3 173.1l-.3-.9-1.1-3.7c-.2-.8.2-1.6 1-1.8l1.9-.6 2.2-.7.6-.2h.1l-.7 1-1.1 1.6c-.1.2-.1.4 0 .5 0 .1.1.2.2.2.3.2.6.1.8-.2l.1-.2 2.4-3.5h.1c1.2-2.2 2.4-4.4 3.3-6.7v-.1l-.2-.3-.1-.2-.1-.1-2.9-4.7c-.4-.7-.2-1.6.5-2l4.7-2.9.3-.2.1-.1-1 2.8c-.1.3.1.6.3.7h.1c.2 0 .5-.1.6-.3l1.5-4.1h.1l.1-.5.1-.2v-.2c.1-.2.1-.4.2-.6.3-1.2.6-2.3.9-3.5.1-.2.1-.5.2-.7l.6-3v-.2c.2-.9.3-1.9.5-2.8 0-10.8.9-20.2 2.9-26.1v.1l.7 1.7c.1.2.3.3.5.4h.2c.3-.1.4-.4.3-.7l-1.2-2.9v-.2l-.4-1.1 1.1-.3c1.8-3.5 4.1-6.7 6.8-9.6 0 .6.1 1.2.3 1.8.1.2.3.4.5.4h.2c.2-.1.4-.3.4-.5v-.2c-.1-.8-.2-1.7-.3-2.5l.1-.1v-.1l.1-4.1 4.3.1c3.6-3 7.5-5.6 11.6-7.8l1.7-6.2 5.1 1.4h.1l-2.6 1.1c-.1 0-.2.1-.2.2-.1.1-.2.4-.1.6.1.3.4.4.7.3h.1l3.8-1.7.5.1c5.3-2.1 10.9-3.3 16.6-3.5.6 0 1.2 0 1.7.1 8.6.6 23 11.7 34.3 22.9 0 0 .1 0 .1-.1.1-.1.3-.1.4-.1.2 0 .4.1.5.2 3.4 3.3 6.6 6.8 9.5 10.6 2.9 3.2 6.5 7.7 7.7 12.5 1 4 .2 8.7-1.3 12.8-1.2 3.2-2.8 6-4.1 7.8-4.3 5.5-8.4 7.8-15.3 8.7-.8.1-1.6.2-2.4.2-.1-.1-.3-.
1-.4-.1-2.1-.1-4.2-.2-6.3-.5l-.2 2.1c1.5.2 3 .3 4.6.4l.1.9v.2c1.3.4 2.1 1.6 2 2.9 0 .2 0 .5-.1.7l-.3.6.6.6c.3.3.6.7.9 1.1 1.6-2.1 1.5-5-.5-6.9.8 0 1.6-.1 2.4-.2 7.5-1 12.1-3.6 16.7-9.5 3.7-4.6 7.9-14.7 5.9-22.5-1.3-5.2-5.1-10.1-8.1-13.3-2.9-3.9-6.1-7.5-9.7-10.8-.5-.5-1.2-.8-1.8-.8-5.4-5.4-11.3-10.3-17.5-14.7-5.4-3.7-10-6.2-13.9-7.2-.5-.2-1.1-.3-1.6-.4h-.1c-.6-.1-1.2-.2-1.7-.2-.6 0-1.2-.1-1.9-.1-5.7.2-11.4 1.3-16.7 3.4l-.2-.1-6.5-1.8h-.1c-1.2-.3-2.3.4-2.6 1.6l-1.4 5.3c-3.7 2-7.2 4.4-10.5 7.1l-3.5-.1c-1.2 0-2.2 1-2.2 2.2l-.1 3.3c-2.8 3-5.3 6.3-7.3 9.9l-.3.1c-1.2.4-1.8 1.6-1.5 2.8l.2.5c-2.2 5.7-3.3 15-3.3 27.6-.6 3.6-1.4 7.2-2.2 10.6l-5 2.8-1.1.7c-.9.5-1.4 1.4-1.7 2.3-.2.9-.1 1.9.4 2.8l2.6 4.3c-.7 1.6-1.5 3.2-2.3 4.7l-5.8 1.8c-1.2.4-2.1 1.3-2.4 2.5-.2.7-.2 1.4 0 2.1l.7 2.2.5 1.7-1.8 2.1h2.9c.5-.6 1-1.1 1.4-1.7l-.2-.8z"/>
+ <path fill="url(#o)" fill-rule="nonzero" d="M237.3 167.2c-.2.3-.6.7-1 1 0 .9.1 1.7.2 2.4.1.5 0 1.3 0 2.2 0 2-.2 4.6 0 6.1v3.5c-.4 15.3-3.8 25.4-5.2 29-.4 1.4-.7 2.6-1.1 3.8-1.6 4.6-3.6 8.6-5.3 11.2-.5.8-1.1 1.5-1.5 2-.7.8-1.4 1.3-1.9 1.3-.2 0-.3-.1-.5-.2-.3-.3-.5-1.5-.5-3.3v-1-.3-.1c0-2.2.2-5.1.3-7.9v-.1c2.4-.9 4.6-2.3 6.5-4h.1c.2-.2.2-.6 0-.8-.2-.2-.6-.2-.8 0-1.9 1.6-4 2.9-6.3 3.8-7.1 1.8-14.3 2.7-21.5 2.9-12.5 0-20.4-2.1-23.3-3l-.3-6.4c0-.3-.3-.5-.6-.5h-.1c-.1 0-.2.1-.3.2-.1.1-.1.2-.1.3l.2 5.8v.2h-.1c0 2.1.1 4.1.1 6 0 1.7 0 3.3-.1 4.6-.1 2-.3 3.3-.6 3.6-.1.1-.2.1-.3.1h-.2c-.6 0-1.4-.6-2.3-1.8-2-2.4-4.5-7.1-6.4-12.7-1.2-3.6-2.1-7.2-2.9-10.9h-.2v-.2c-2.2-9.3-4.2-20.2-4.8-23.4l-.2-.9c0-.1-.1-.3-.2-.4-.1-.1-.3-.1-.4-.1-.1 0-.2.1-.2.1-.2.1-.2.3-.2.5 0 .1.5 2.9 1.3 7 .1.7.3 1.5.4 2.2.9 4.6 2 10.2 3.2 15.3h-.2c-1.4.1-2.7.2-4.1.2-3 0-6-.3-9-.7-.1.3-.2.6-.3.8-.4.5-.9.9-1.5.9h-1v.2c3.9.7 7.8 1.1 11.8 1.2 1.3 0 2.6 0 3.9-.1.7 3.1 1.5 6.2 2.6 9.2.3.9 2.2 6.1 4.7 10.3 1.8 3.1 4 5.7 6.2 5.7
.5 0 1-.1 1.4-.4.2-.1.3-.2.5-.3.9-.8 1.7-1.4 1.5-12.8v-.1c7.2 1.8 14.7 2.7 22.2 2.6 6.6-.1 13.3-.9 19.7-2.4-.2 3.3-.3 5.7-.2 7.5.1 4.2.7 4.7 1.3 5.2.5.4 1.2.7 1.9.7.6 0 1.2-.2 1.8-.6 4.4-2.7 8.5-14 9-15.4.4-1.1.8-2.4 1.1-3.8 1.5-3.9 4.9-14.2 5.3-29.7v-1.8-1.3c-.1-3.6-.2-9.6-.4-14.4-.4.6-.7 1.7-1.1 2.2z"/>
+ <path fill="url(#p)" fill-rule="nonzero" d="M152 160.4c.2-.2 1.1.2 1-.1-.2-.8-.2-1.6 0-2.4-1.2-.7-2-1.3-2.5-1.9-.9-1-.8-1.8-.8-1.8 0-.2-.1-.4-.2-.6-.1 0-.1-.1-.2-.1H149c-.1 0-.2.1-.2.2h-.3c-.5.1-.8.4-.9.8v.4c0 .2.3 1.7 1.7 3.2.6 1 1.5 1.7 2.7 2.3z"/>
+ <path fill="url(#q)" fill-rule="nonzero" d="M161.9 166s-.1 0-.2.1c.1.9.2 1.8.4 2.6l-.2-2.7z"/>
+ <path fill="url(#r)" fill-rule="nonzero" d="M241.3 112.7c.1-.2.2-.5.2-.7v-3.5c0-.5-.3-1-.7-1.3-.3-.2-.6-.3-.9-.3-.9 0-1.6.7-1.6 1.6v3.5c0 .2 0 .4.1.6h.3c.3 0 .6-.1.9-.1.6 0 1.2.1 1.7.2z"/>
+ <path fill="url(#s)" fill-rule="nonzero" d="M235.1 117.3c.3.2.7.2 1 .1.2-.1.4-.2.6-.4.3-.4.7-.7 1.1-1 .7-.4 1.4-.7 2.3-.7 1 0 1.9.4 2.6 1 .3.2.5.4.7.7.4.5 1.1.6 1.6.2.4-.3.6-.9.3-1.4-.2-.4-.5-.7-.8-1-.8-.8-1.8-1.3-2.8-1.5-.8-.2-1.6-.2-2.4-.1-1 .1-1.9.5-2.7 1.1-.3.2-.6.4-.8.7l-.4.4-.4.4c-.6.5-.5 1.2.1 1.5z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M102.5 224.6c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h44.2c.1 0 .2 0 .2.1-.1-.4-.2-.8-.4-1.2H101v5.2h45.2c.2-.3.4-.8.6-1.3H102.4c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h44.2c.1 0 .2 0 .3.1.1-.4.1-.8 0-1.3-.1.1-.2.2-.3.2h-44.1v.2z"/>
+ <path fill="url(#t)" fill-rule="nonzero" d="M96.8 230.3c.9-.1 1.9-.2 2.9-.3v-.3h-2.6c-.1 0-.2 0-.3.1 0 .2-.1.3 0 .5z"/>
+ <path fill="url(#u)" fill-rule="nonzero" d="M151.8 225.1c0-2.9-1-5.2-1.9-6-.2-.1-1-.4-2.6-.5-.1.4-.3.9-.9.9l-.4.1-1.2-1H97.1c-.2 0-.3.2-.3.3v1.4c0 .2.2.3.3.3h15.6l34.2-.6.6.6h.1l.2.3 1.1 1.1-.2 1.1c.3 1.4.2 3-.2 4.2l3-.3c.2-.6.3-1.3.3-1.9z"/>
+ <path fill="#EDEDF0" fill-rule="nonzero" d="M142.6 230.1h-43v-.1c-1 .1-2 .2-2.9.3l.3 1c0 .2.2.3.3.3H144l1.1-1 .5.1c.4.1.6.3.8.6l.4.4c1.6 0 2.8-.3 3.3-.7.5-.4 1.1-2.1 1.5-3.8l-3 .3c-.2.5-.4 1-.6 1.4l-.2 1-5.2.2z"/>
+ <path fill="url(#v)" fill-rule="nonzero" d="M142.6 230.1h-43v-.1c-1 .1-2 .2-2.9.3l.3 1c0 .2.2.3.3.3H144l1.1-1 .5.1c.4.1.6.3.8.6l.4.4c1.6 0 2.8-.3 3.3-.7.5-.4 1.1-2.1 1.5-3.8l-3 .3c-.2.5-.4 1-.6 1.4l-.2 1-5.2.2z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M112.7 220.7h34.9l-.7-.6"/>
+ <path fill="url(#w)" fill-rule="nonzero" d="M112.7 220.7h34.9l-.7-.6"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M147.9 221l.1.1c.4.6.7 1.3.8 2l.2-1.1-1.1-1z"/>
+ <path fill="url(#x)" fill-rule="nonzero" d="M147.9 221l.1.1c.4.6.7 1.3.8 2l.2-1.1-1.1-1z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M99.7 230.1h43l5.1-.3.2-1c-.2.3-.4.5-.6.7l-.3.3H99.7v.3z"/>
+ <path fill="url(#y)" fill-rule="nonzero" d="M99.7 230.1h43l5.1-.3.2-1c-.2.3-.4.5-.6.7l-.3.3H99.7v.3z"/>
+ <path fill="url(#z)" fill-rule="nonzero" d="M95.2 231.8c.2 1 1.1 1.7 2.2 1.7h47.3l.6-.6c.3.3.8.6 1.4.6 1.5 0 3.4-.2 4.5-1.1 1.1-.9 1.9-3.4 2.2-5.4.1-.7.2-1.4.2-1.9 0-3.2-1-6.2-2.6-7.5-.6-.4-1.8-.7-3.6-.9h-.8c-.3 0-.6.1-.7.3l-.4-.3H97c-1.2 0-2.2 1-2.2 2.2v1.4c0 1.2 1 2.2 2.2 2.2h1.2v5.2H97c-.7 0-1.3.3-1.8.9-.4.5-.5 1.1-.4 1.7v.2l.4 1.3zm1.6-1.9c.1-.1.2-.1.3-.1h50l.3-.3c.2-.2.4-.4.6-.7.3-.4.5-.9.6-1.4.4-1.3.5-2.8.2-4.2-.2-.7-.4-1.4-.8-2l-.1-.1-.2-.3H97.2c-.2 0-.3-.2-.3-.3v-1.4c0-.2.2-.3.3-.3h47.7l1.2 1 .4-.1c.6-.1.8-.5.9-.9 1.6.1 2.4.4 2.6.5.9.8 1.9 3.1 1.9 6 0 .6-.1 1.4-.2 2.1-.3 1.7-.9 3.4-1.5 3.8-.5.4-1.8.6-3.3.7l-.4-.4c-.2-.3-.4-.5-.8-.6l-.5-.1-1.1 1H97.5c-.2 0-.3-.1-.3-.3l-.3-1v-.1c-.2-.3-.1-.4-.1-.5zm50.2-4.1c.1.1.2.2.2.4s-.1.4-.3.4c-.1.5-.3.9-.6 1.3H101v-5.2h45.5c.2.4.3.8.4 1.2.1.1.2.2.2.4 0 .1-.1.2-.1.3.1.3.1.8 0 1.2z"/>
+ <path fill="url(#A)" fill-rule="nonzero" d="M147 223.8c-.1 0-.2-.1-.2-.1h-44.2c-.3 0-.5.2-.5.5s.2.5.5.5h44.2c.1 0 .3-.1.3-.2.1-.1.1-.2.1-.3 0-.2-.1-.3-.2-.4z"/>
+ <path fill="url(#B)" fill-rule="nonzero" d="M102.5 225.6c-.3 0-.5.2-.5.5s.2.5.5.5H146.9c.2-.1.3-.2.3-.4 0-.1-.1-.3-.2-.4-.1-.1-.2-.1-.3-.1h-44.2v-.1z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M103 210.8h38.8v-5.2h-38.5c-.8 1.1-1 3.5-.3 5.2z"/>
+ <path fill="url(#C)" fill-rule="nonzero" d="M134.5 203.4c-1.4-.5-2.8-.9-4.2-1.5h-.2l4.2 1.5h.2z"/>
+ <path fill="url(#D)" fill-rule="nonzero" d="M145.3 203.6c-2.5-.5-5.1-1-7.6-1.8h-.2c2.5.8 5.1 1.4 7.8 1.8z"/>
+ <path fill="url(#E)" fill-rule="nonzero" d="M103.2 213.9l.4-.1 1 1h40.6c.2 0 .3-.2.3-.3v-1.4c0-.2-.1-.3-.3-.3h-13.3l-29.1.6-.5-.6h-.1l-.2-.3-.9-1.1.1-1.1c-.4-2-.1-4.2.7-5.6l.1-1 4.4-.3h18.5c-.8-.4-1.7-.9-2.6-1.5h-17.1l-.9 1-.4-.1c-.3-.1-.5-.3-.7-.6-.1-.1-.2-.3-.3-.4-1.3 0-2.4.3-2.8.7-.7.6-1.4 3.8-1.4 5.9 0 2.9.8 5.2 1.6 6 .1.1.9.4 2.2.5 0-.5.2-.9.7-1z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M134.3 203.4c-1.4-.5-2.8-.9-4.2-1.5h-7.8c.9.6 1.8 1.1 2.6 1.5h9.4z"/>
+ <path fill="url(#F)" fill-rule="nonzero" d="M134.3 203.4c-1.4-.5-2.8-.9-4.2-1.5h-7.8c.9.6 1.8 1.1 2.6 1.5h9.4z"/>
+ <path fill="url(#G)" fill-rule="nonzero" d="M145.3 203.6c.1-.1.1-.2.1-.3l-.2-1.1c0-.2-.1-.3-.3-.3h-7.2c2.5.7 5 1.3 7.6 1.7z"/>
+ <path fill="url(#H)" fill-rule="nonzero" d="M145.3 203.6c.1-.1.1-.2.1-.3l-.2-1.1c0-.2-.1-.3-.3-.3h-7.2c2.5.7 5 1.3 7.6 1.7z"/>
+ <path fill="url(#I)" fill-rule="nonzero" d="M142.9 203.4v.3h2.2c.1 0 .1 0 .2-.1-2.6-.4-5.2-1-7.8-1.8h-7.2l4.2 1.5h8.4v.1z"/>
+ <path fill="url(#J)" fill-rule="nonzero" d="M142.9 203.4v.3h2.2c.1 0 .1 0 .2-.1-2.6-.4-5.2-1-7.8-1.8h-7.2l4.2 1.5h8.4v.1z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M131.8 212.7h-29.6l.5.7"/>
+ <path fill="url(#K)" fill-rule="nonzero" d="M131.8 212.7h-29.6l.5.7"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M101.9 212.4l-.1-.1c-.3-.6-.6-1.3-.7-2l-.1 1.1.9 1z"/>
+ <path fill="url(#L)" fill-rule="nonzero" d="M101.9 212.4l-.1-.1c-.3-.6-.6-1.3-.7-2l-.1 1.1.9 1z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M134.5 203.4h-28.1l-4.4.3-.1 1c.1-.3.3-.5.5-.7l.2-.3H143v-.3h-8.5z"/>
+ <path fill="url(#M)" fill-rule="nonzero" d="M134.5 203.4h-28.1l-4.4.3-.1 1c.1-.3.3-.5.5-.7l.2-.3H143v-.3h-8.5z"/>
+ <path fill="url(#N)" fill-rule="nonzero" d="M103 216.8h.2c.2 0 .4-.1.5-.3l.3.3H145.4c1-.1 1.7-1.1 1.7-2.2v-1.4c0-1.2-.9-2.2-1.9-2.2h-1v-5.5h1c.6 0 1.1-.3 1.5-.9.2-.3.3-.5.3-.8.1-.3.1-.7 0-1.1l-.2-1.1c-.1-.4-.3-.8-.5-1.1-.4-.1-.7-.3-1-.5l-.5.4h-40.1c-.2 0-.3 0-.5-.1-.4-.1-.7-.3-.9-.6h-.2c-1.2 0-2.9.2-3.9 1.1-1.3 1.3-2 5.5-2 7.4 0 3.2.9 6.2 2.2 7.5.5.4 1.5.7 3.1.9.1.1.3.2.5.2zm-2.8-2.5c-.8-.8-1.6-3.1-1.6-6 0-2.1.8-5.3 1.4-5.9.4-.4 1.5-.6 2.8-.7.1.1.3.3.3.4.2.3.4.5.7.6l.4.1.9-1H144.8c.1 0 .2.1.3.3l.2 1.1c0 .1 0 .2-.1.3l-.1.1s-.1.1-.2.1h-42.6l-.2.3c-.2.2-.3.4-.5.7-.8 1.4-1.1 3.6-.7 5.6.1.7.4 1.4.7 2l.1.1.2.3h43c.2 0 .3.2.3.3v1.4c0 .2-.1.3-.3.3h-40.6l-1-1-.4.1c-.5.1-.7.5-.8.9-1 0-1.8-.2-1.9-.4zm41.5-8.7v5.2H103c-.7-1.7-.5-4.1.3-5.2h38.4z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M108.9 193.8c-.2 0-.4-.2-.4-.4s.2-.4.4-.4h37.5c.1 0 .1 0 .2.1l-.3-.9h-38.6v4.1H146c.2-.3.4-.6.5-1h-37.6c-.2 0-.4-.2-.4-.4s.2-.4.4-.4h37.5c.1 0 .2 0 .3.1 0-.3.1-.7 0-1-.1.1-.2.1-.3.1h-37.5v.1z"/>
+ <path fill="url(#O)" fill-rule="nonzero" d="M104.3 198.9c0 .1.1.2.3.2h13.9c-.4-.4-.9-.8-1.3-1.1h-10.7v-.3h-2.2c-.1 0-.2 0-.2.1-.1.1-.1.1-.1.2l.3.9z"/>
+ <path fill="url(#P)" fill-rule="nonzero" d="M104.2 189.1c-.1 0-.2.1-.2.2v1.1c0 .1.1.3.3.3h9.3c0-.6.1-1.1.2-1.6h-9.6z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M113.8 189.1h-9.5-.1 9.6z"/>
+ <path fill="url(#Q)" fill-rule="nonzero" d="M113.8 189.1h-9.5-.1 9.6z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M117.2 198c.4.4.8.8 1.3 1.1h5.7c-.7-.4-1.4-.7-2-1.1h-5z"/>
+ <path fill="url(#R)" fill-rule="nonzero" d="M117.2 198c.4.4.8.8 1.3 1.1h5.7c-.7-.4-1.4-.7-2-1.1h-5z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M113.8 189.1c-.1.5-.2 1.1-.2 1.6h3.4c.1-.6.2-1.1.4-1.6h-3.6z"/>
+ <path fill="url(#S)" fill-rule="nonzero" d="M113.8 189.1c-.1.5-.2 1.1-.2 1.6h3.4c.1-.6.2-1.1.4-1.6h-3.6z"/>
+ <path fill="url(#T)" fill-rule="nonzero" d="M142.9 198h-15.8c.9.4 1.7.8 2.6 1.1h14.4l.9-.8.4.1c.3.1.5.3.7.5.1.1.2.3.3.3 1.3 0 2.4-.2 2.8-.5.7-.5 1.4-2.9 1.4-4.6 0-2.3-.8-4-1.6-4.6-.1-.1-.8-.3-2-.4h-.2c-.1.3-.3.6-.7.7h-.3l-1-.7h-13.3c-.4.5-.7.9-1.1 1.4l16.2-.3.5.5h.1l.2.2.9.8-.1.9c.4 1.6.1 3.2-.7 4.3l-.1.8-4.5.3z"/>
+ <path fill="url(#T)" fill-rule="nonzero" d="M142.9 198h-15.8c.9.4 1.7.8 2.6 1.1h14.4l.9-.8.4.1c.3.1.5.3.7.5.1.1.2.3.3.3 1.3 0 2.4-.2 2.8-.5.7-.5 1.4-2.9 1.4-4.6 0-2.3-.8-4-1.6-4.6-.1-.1-.8-.3-2-.4h-.2c-.1.3-.3.6-.7.7h-.3l-1-.7h-13.3c-.4.5-.7.9-1.1 1.4l16.2-.3.5.5h.1l.2.2.9.8-.1.9c.4 1.6.1 3.2-.7 4.3l-.1.8-4.5.3z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M146.8 189.1h.2-.2z"/>
+ <path fill="url(#U)" fill-rule="nonzero" d="M146.8 189.1h.2-.2zM146.8 189.1h.2-.2z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M144.8 189.1h-13.3 13.3z"/>
+ <path fill="url(#V)" fill-rule="nonzero" d="M144.8 189.1h-13.3 13.3zM144.8 189.1h-13.3 13.3z"/>
+ <path fill="url(#W)" fill-rule="nonzero" d="M119.8 189.1c-.3.5-.5 1-.6 1.6l10.5-.2c.3-.5.7-.9 1-1.4h-10.9z"/>
+ <path fill="url(#W)" fill-rule="nonzero" d="M119.8 189.1c-.3.5-.5 1-.6 1.6l10.5-.2c.3-.5.7-.9 1-1.4h-10.9z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M130.8 189.1h-10.9 10.9z"/>
+ <path fill="url(#X)" fill-rule="nonzero" d="M130.8 189.1h-10.9 10.9zM130.8 189.1h-10.9 10.9z"/>
+ <path fill="url(#Y)" fill-rule="nonzero" d="M129.7 190.5h.6c.4-.5.7-.9 1.1-1.4h-.7c-.3.5-.6.9-1 1.4z"/>
+ <path fill="url(#Y)" fill-rule="nonzero" d="M129.7 190.5h.6c.4-.5.7-.9 1.1-1.4h-.7c-.3.5-.6.9-1 1.4z"/>
+ <path fill="url(#Y)" fill-rule="nonzero" d="M129.7 190.5h.6c.4-.5.7-.9 1.1-1.4h-.7c-.3.5-.6.9-1 1.4z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M131.5 189.1h-.7.7z"/>
+ <path fill="url(#Z)" fill-rule="nonzero" d="M131.5 189.1h-.7.7zM131.5 189.1h-.7.7zM131.5 189.1h-.7.7z"/>
+ <path fill="url(#aa)" fill-rule="nonzero" d="M122.2 198c.6.4 1.3.8 2 1.1h5.5c-.9-.4-1.8-.7-2.6-1.1h-4.9z"/>
+ <path fill="url(#ab)" fill-rule="nonzero" d="M122.2 198c.6.4 1.3.8 2 1.1h5.5c-.9-.4-1.8-.7-2.6-1.1h-4.9z"/>
+ <path fill="url(#ac)" fill-rule="nonzero" d="M119.8 189.1h-2.5c-.2.5-.3 1-.4 1.6h2.3c.1-.6.3-1.1.6-1.6z"/>
+ <path fill="url(#ad)" fill-rule="nonzero" d="M119.8 189.1h-2.5c-.2.5-.3 1-.4 1.6h2.3c.1-.6.3-1.1.6-1.6z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M117.2 198H142.9l4.4-.2.1-.8c-.1.2-.3.4-.5.5l-.2.2h-40.2v.3h10.7z"/>
+ <path fill="url(#ae)" fill-rule="nonzero" d="M117.2 198H142.9l4.4-.2.1-.8c-.1.2-.3.4-.5.5l-.2.2h-40.2v.3h10.7z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M130.3 190.5h-.6l-10.5.2h-1.6 29.5l-.5-.5"/>
+ <path fill="url(#af)" fill-rule="nonzero" d="M130.3 190.5h-.6l-10.5.2h-1.6 29.5l-.5-.5"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M147.4 191l.1.1c.3.5.6 1 .7 1.6l.1-.9-.9-.8z"/>
+ <path fill="url(#ag)" fill-rule="nonzero" d="M147.4 191l.1.1c.3.5.6 1 .7 1.6l.1-.9-.9-.8z"/>
+ <path fill="url(#ah)" fill-rule="nonzero" d="M104.1 200.5c.2 0 .3.1.5.1h40.1l.5-.4c.2.2.6.4 1 .5h.2c1.2 0 2.9-.2 3.8-.8 1.3-1 2-4.2 2-5.7 0-2-.6-3.8-1.4-5-.2-.3-.5-.6-.8-.8-.5-.3-1.5-.6-3.1-.7h-.7c-.3 0-.5.1-.6.3l-.3-.2h-.8c-.3.4-.8.6-1.4.6h-40.2c-.2.3-.4.6-.5.9v1.3c0 1 .8 1.7 1.9 1.7h1v4.1h-1c-.6 0-1.1.2-1.5.7-.4.4-.5 1-.3 1.5l.2.9c.1.3.2.5.4.7.2 0 .5.2 1 .3-.1 0-.1 0 0 0zm0-2.7c.1-.1.1-.1.2-.1H146.7l.2-.2.5-.5c.8-1.1 1.1-2.8.7-4.3-.1-.6-.4-1.1-.7-1.6l-.1-.1-.2-.2h-42.8c-.2 0-.3-.1-.3-.3v-1.1c0-.1.1-.2.2-.2h40.6l1 .7h.3c.5-.1.7-.4.7-.7h.2c1.2.1 1.9.3 2 .4.8.6 1.6 2.4 1.6 4.6 0 1.6-.8 4.1-1.4 4.6-.4.3-1.5.5-2.8.5-.1-.1-.3-.2-.3-.3-.2-.2-.4-.4-.7-.5l-.4-.1-.9.8h-39.5c-.1 0-.2-.1-.3-.2l-.3-1s0-.1.1-.2zm42.5-3.2c.1.1.1.2.1.3 0 .2-.1.3-.3.3-.1.4-.3.7-.5 1h-38.4v-4.1h38.6l.3.9c.1.1.2.2.2.3 0 .1 0 .2-.1.3.2.4.2.7.1 1z"/>
+ <path fill="url(#ai)" fill-rule="nonzero" d="M146.6 193.1c-.1 0-.1-.1-.2-.1h-37.5c-.2 0-.4.2-.4.4s.2.4.4.4h37.5c.1 0 .2 0 .3-.1.1-.1.1-.2.1-.3 0-.1-.1-.2-.2-.3z"/>
+ <path fill="url(#aj)" fill-rule="nonzero" d="M108.9 194.6c-.2 0-.4.2-.4.4s.2.4.4.4h37.6c.2 0 .3-.2.3-.3 0-.1-.1-.2-.1-.3-.1-.1-.2-.1-.3-.1h-37.5v-.1z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M101.1 183.6h38.6v-4.1h-38.4c-.6 1-.8 2.8-.2 4.1z"/>
+ <path fill="url(#ak)" fill-rule="nonzero" d="M98.4 186.4c.1.1.9.3 2.2.4.1-.3.3-.7.8-.7h.3l1 .8h11.9c.2-.5.5-1 .8-1.4l-14.6.2-.5-.5h-.1l-.2-.2-.9-.8.1-.9c-.3-1.2-.2-2.5.2-3.5H97c-.2.7-.3 1.4-.3 2 .1 2.2.9 4 1.7 4.6z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M120.7 176.7h-17.3l-.9.8h17.9c0-.3.1-.5.3-.8z"/>
+ <path fill="url(#al)" fill-rule="nonzero" d="M120.7 176.7h-17.3l-.9.8h17.9c0-.3.1-.5.3-.8z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M102 177.4c-.3-.1-.5-.3-.7-.5-.1-.1-.2-.3-.3-.3-1.3 0-2.4.2-2.8.5l-.3.3h4.5-.4z"/>
+ <path fill="url(#am)" fill-rule="nonzero" d="M102 177.4c-.3-.1-.5-.3-.7-.5-.1-.1-.2-.3-.3-.3-1.3 0-2.4.2-2.8.5l-.3.3h4.5-.4z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M133 177.5c.2-.3.5-.5.8-.8l-.8.8z"/>
+ <path fill="url(#an)" fill-rule="nonzero" d="M133 177.5c.2-.3.5-.5.8-.8l-.8.8z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M100 178.9l.1-.8 4.4-.2h15.6c0-.1.1-.2.2-.4H97.9c-.3.5-.7 1.3-.9 2.2h2.5c.2-.3.3-.6.5-.8z"/>
+ <path fill="url(#ao)" fill-rule="nonzero" d="M100 178.9l.1-.8 4.4-.2h15.6c0-.1.1-.2.2-.4H97.9c-.3.5-.7 1.3-.9 2.2h2.5c.2-.3.3-.6.5-.8z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M133 177.5c-.2.1-.3.2-.4.4l.4-.4z"/>
+ <path fill="url(#ap)" fill-rule="nonzero" d="M133 177.5c-.2.1-.3.2-.4.4l.4-.4z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M120.2 185.3l-4.7.1c-.3.4-.6.9-.8 1.4h4.1c.3-.6.8-1.1 1.4-1.5z"/>
+ <path fill="url(#aq)" fill-rule="nonzero" d="M120.2 185.3l-4.7.1c-.3.4-.6.9-.8 1.4h4.1c.3-.6.8-1.1 1.4-1.5z"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M120.1 177.9h4c.7-.7 1.6-1.1 2.6-1.1h.3l3.3.3c.1-.1.2-.2.3-.4h-10c-.1.3-.3.5-.4.8 0 .1 0 .2-.1.4z"/>
+ <path fill="url(#ar)" fill-rule="nonzero" d="M120.1 177.9h4c.7-.7 1.6-1.1 2.6-1.1h.3l3.3.3c.1-.1.2-.2.3-.4h-10c-.1.3-.3.5-.4.8 0 .1 0 .2-.1.4z"/>
+ <path fill="url(#as)" fill-rule="nonzero" d="M143.1 186.7c.2 0 .3-.1.3-.3v-1.1c0-.1-.1-.3-.3-.3h-7.9l-1.6 1.6h9.5v.1z"/>
+ <path fill="url(#at)" fill-rule="nonzero" d="M143.1 186.7c.2 0 .3-.1.3-.3v-1.1c0-.1-.1-.3-.3-.3h-7.9l-1.6 1.6h9.5v.1z"/>
+ <path fill="url(#au)" fill-rule="nonzero" d="M122 186.7h10.7c.3-.3.6-.6.8-.9l.7-.7h-4.4l-5.8.1c-.7.6-1.4 1.1-2 1.5z"/>
+ <path fill="url(#av)" fill-rule="nonzero" d="M122 186.7h10.7c.3-.3.6-.6.8-.9l.7-.7h-4.4l-5.8.1c-.7.6-1.4 1.1-2 1.5z"/>
+ <path fill="url(#aw)" fill-rule="nonzero" d="M140.9 177.9v.3h1c.4-.3.9-.7 1.3-1l-.1-.2c0-.1-.1-.2-.3-.2h-3.6c-.2.4-.5.8-.9 1.1h2.6z"/>
+ <path fill="url(#ax)" fill-rule="nonzero" d="M140.9 177.9v.3h1c.4-.3.9-.7 1.3-1l-.1-.2c0-.1-.1-.2-.3-.2h-3.6c-.2.4-.5.8-.9 1.1h2.6z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M133.9 177.5c.9 0 1.7-.3 2.4-.8h-2.5c-.2.3-.5.5-.8.8h.9z"/>
+ <path fill="url(#ay)" fill-rule="nonzero" d="M133.9 177.5c.9 0 1.7-.3 2.4-.8h-2.5c-.2.3-.5.5-.8.8h.9z"/>
+ <path fill="url(#az)" fill-rule="nonzero" d="M133.9 177.5c.9 0 1.7-.3 2.4-.8h-2.5c-.2.3-.5.5-.8.8h.9z"/>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M133 177.5l-.4.4h5.7c.3-.3.6-.7.9-1.1h-3c-.7.5-1.5.8-2.4.8h-.8v-.1z"/>
+ <path fill="url(#aA)" fill-rule="nonzero" d="M133 177.5l-.4.4h5.7c.3-.3.6-.7.9-1.1h-3c-.7.5-1.5.8-2.4.8h-.8v-.1z"/>
+ <path fill="url(#aB)" fill-rule="nonzero" d="M133 177.5l-.4.4h5.7c.3-.3.6-.7.9-1.1h-3c-.7.5-1.5.8-2.4.8h-.8v-.1z"/>
+ <path fill="url(#aC)" fill-rule="nonzero" d="M132.7 186.7h.9c.5-.6 1.1-1.1 1.6-1.6h-.9l-.7.7-.9.9z"/>
+ <path fill="url(#aC)" fill-rule="nonzero" d="M132.7 186.7h.9c.5-.6 1.1-1.1 1.6-1.6h-.9l-.7.7-.9.9z"/>
+ <path fill="url(#aD)" fill-rule="nonzero" d="M132.7 186.7h.9c.5-.6 1.1-1.1 1.6-1.6h-.9l-.7.7-.9.9z"/>
+ <path fill="url(#aE)" fill-rule="nonzero" d="M143.1 178.1c.1 0 .2 0 .2-.1.1-.1.1-.1.1-.2l-.2-.7c-.4.3-.9.7-1.3 1h1.2z"/>
+ <path fill="url(#aE)" fill-rule="nonzero" d="M143.1 178.1c.1 0 .2 0 .2-.1.1-.1.1-.1.1-.2l-.2-.7c-.4.3-.9.7-1.3 1h1.2z"/>
+ <path fill="url(#aF)" fill-rule="nonzero" d="M143.1 178.1c.1 0 .2 0 .2-.1.1-.1.1-.1.1-.2l-.2-.7c-.4.3-.9.7-1.3 1h1.2z"/>
+ <path fill="url(#aG)" fill-rule="nonzero" d="M127 176.8h-.3c-1 0-1.9.4-2.6 1.1h8.5l.4-.4c.2-.3.5-.5.8-.8h-3c-.1.1-.2.2-.3.4l-3.5-.3z"/>
+ <path fill="url(#aH)" fill-rule="nonzero" d="M127 176.8h-.3c-1 0-1.9.4-2.6 1.1h8.5l.4-.4c.2-.3.5-.5.8-.8h-3c-.1.1-.2.2-.3.4l-3.5-.3z"/>
+ <path fill="url(#aI)" fill-rule="nonzero" d="M120.2 185.3c-.6.5-1.1 1-1.5 1.5h3.4c.6-.5 1.3-1 2-1.5h-3.9z"/>
+ <path fill="url(#aJ)" fill-rule="nonzero" d="M120.2 185.3c-.6.5-1.1 1-1.5 1.5h3.4c.6-.5 1.3-1 2-1.5h-3.9z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M115.4 185.3h4.8l3.9-.1 5.8-.1h-29.6l.6.5"/>
+ <path fill="url(#aK)" fill-rule="nonzero" d="M115.4 185.3h4.8l3.9-.1 5.8-.1h-29.6l.6.5"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M100.1 184.9l-.1-.1c-.3-.5-.6-1-.7-1.6l-.1.9.9.8z"/>
+ <path fill="url(#aL)" fill-rule="nonzero" d="M100.1 184.9l-.1-.1c-.3-.5-.6-1-.7-1.6l-.1.9.9.8z"/>
+ <path fill="#FAFAFA" fill-rule="nonzero" d="M138.4 177.9h-33.8l-4.4.2-.1.8c.1-.2.3-.4.5-.5l.2-.2H141v-.3h-2.6z"/>
+ <path fill="url(#aM)" fill-rule="nonzero" d="M138.4 177.9h-33.8l-4.4.2-.1.8c.1-.2.3-.4.5-.5l.2-.2H141v-.3h-2.6z"/>
+ <path fill="url(#aN)" fill-rule="nonzero" d="M97.4 187.5c.5.3 1.5.6 3.1.7h.7c.3 0 .5-.1.6-.3l.3.2h41c.6 0 1.1-.2 1.4-.6.2-.2.4-.5.4-.7 0-.1.1-.3.1-.4v-1.1c0-1-.8-1.7-1.9-1.7h-1v-4h1c.6 0 1.1-.2 1.5-.7.4-.4.5-1 .3-1.5l-.1-.2-.2-.7c0-.1-.1-.3-.2-.4-.3-.6-.9-.9-1.7-.9h-40l-.5.4c-.3-.2-.7-.5-1.2-.5-1.2 0-2.9.2-3.8.8-.4.3-.8.8-1.1 1.5-.3.7-.6 1.5-.7 2.2-.2.8-.3 1.5-.3 2 0 2.1.6 4 1.6 5.2.2.3.4.5.7.7zm-.4-7.8c.2-.9.5-1.8.9-2.2l.3-.3c.4-.3 1.5-.5 2.8-.5.1.1.3.2.3.3.2.2.4.4.7.5l.4.1.9-.8h39.4c.1 0 .2.1.3.2l.1.2.2.7c0 .1 0 .2-.1.2-.1.1-.1.1-.2.1H100.6l-.2.2-.5.5c-.2.3-.3.5-.5.8-.4 1-.5 2.3-.2 3.5.1.6.4 1.1.7 1.6l.1.1.2.2H143c.2 0 .3.1.3.3v1.1c0 .1-.1.3-.3.3h-40.4l-1-.8h-.3c-.5.1-.7.4-.8.7-1.3-.1-2.1-.3-2.2-.4-.8-.6-1.6-2.4-1.6-4.6.1-.6.2-1.3.3-2zm42.8-.1v4.1h-38.6c-.7-1.3-.5-3.2.3-4.1h38.3z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M190.1 151.1c-8.6-5.4-23.3-5.4-23.5-5.4-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6.1 0 7.6-.1 15.1 1.8 5.8 1.5 10 3.7 12.6 6.7h.2c-9.2-10.9-26.7-9.7-26.9-9.6-.3 0-.6-.2-.6-.5s.2-.6.5-.6c.2 0 15.7-1.1 25.6 7.7-2.1-2.3-5.5-5.2-10.1-7.3-6.7-2.9-14.7-1.9-17-1.5l-1.2 5.3 25.1 4.3c0 .3.1.3.2.3zM210.5 142.3c-5 2.4-8.1 5.4-10 7.7 8.8-8.7 22.6-8.9 22.7-8.9.3 0 .6.2.6.6 0 .3-.2.6-.6.6-.2 0-15.1.2-23.3 10 .2-.1.4-.2.6-.4 2.3-2.2 5.4-4 9.5-5.5 6.9-2.5 14.1-3.1 14.2-3.1.3 0 .6.2.6.5s-.2.6-.5.6c-.2 0-12 1-19.8 5.9l22.3-4.7c-.7-2.4-1.4-5-1.7-6.2-2.1 0-9.4.4-14.6 2.9z"/>
+ <path fill="url(#aO)" fill-rule="nonzero" d="M230.9 147v-.5c-.1-.3-.2-.6-.4-.8-.3-.4-.8-.5-1.3-.5h-.2c-.7-2.6-1.7-6.5-1.9-7.1-.1-.3-.4-.6-.7-.7-1.2-.5-10.5-.2-16.7 2.9-7.5 3.7-11.2 8.5-12.7 11-1.8-2.6-6-7.4-13.1-10.5-8.6-3.7-18.7-1.6-19.1-1.5-.4.1-.8.4-.8.8l-1.4 6.1h-.3c-.5 0-.9.2-1.3.5-.3.3-.5.8-.5 1.3l.3 4.3h.5l.4.1.5 4.9c1.6-.1 6-.5 6.5-.5.8 0 1.3.5 1.4 1.4.2 1.9-1.9 5-7.1 6.2-.3.1-.9.6-1.1.8-.1.1.2.6-.1.8l.2 2.7.1.8.1 1.2 1.2 15.4c.1.9.8 1.5 1.6 1.5l24.9 3.6c.9.9 2.9 2.3 6.2 2.3h.8c3.6-.2 5.6-1.6 6.5-2.5l22.1-3.1c.9 0 1.6-.7 1.7-1.5l1.1-11.7.1-1.1.4-4.5c-.3-.1-.7-.2-1-.3-.8-.3 1.5-.1.4-.3-3.5-.8-5.4-2.9-6.2-4.7l-10.6 1.6h-.2c-.3 0-.5-.1-.7-.3-.2-.2-.4-.5-.4-.9l.1-5.5c0-.5.4-1 .9-1.1l11.5-1.8c.3 0 .7 0 .9.3.2.2.4.5.4.9l.1 3c1.5.1 4.3.3 5.5.5l.5-4.9h.1v-.1l.3-3.3.2-2.1v-.1l.3-3zm-66.3-.2l1.2-5.3c2.4-.4 10.3-1.4 17 1.5 4.7 2 8 4.9 10.1 7.3-9.9-8.9-25.4-7.8-25.6-7.7-.3 0-.5.3-.5.6s.3.5.6.5c.2 0 17.7-1.3 26.9 9.6h-.2c-2.6-2.9-6.8-5.2-12.6-6.7-7.5-1.9-15-1.8-15.1-1.8-.3 0-.6.3-.6.
6s.3.5.6.6c.2 0 14.9-.1 23.5 5.4-.1 0-.2-.1-.3-.1l-25-4.5zm38.5 40.8s-1.4 3.6-6.7 3.1c-5.3-.5-6.4-2.8-6.4-2.8l-.3-33.2s3.3 2 7.5 1.7c4.2-.3 6.7-2.5 6.7-2.5l-.8 33.7zm1.3-37.2c7.9-4.9 19.6-5.9 19.8-5.9.3 0 .5-.3.5-.6s-.3-.5-.6-.5c-.1 0-7.2.6-14.2 3.1-4.1 1.5-7.2 3.3-9.5 5.5-.2.1-.4.2-.6.4 8.2-9.8 23.1-10 23.3-10 .3 0 .6-.3.6-.6s-.3-.6-.6-.6c-.2 0-14 .2-22.7 8.9 1.9-2.3 5.1-5.3 10-7.7 5.2-2.5 12.4-2.9 14.5-2.8.3 1.2 1 3.8 1.7 6.2l-22.2 4.6z"/>
+ <path fill="url(#aP)" fill-rule="nonzero" d="M223.7 156.1c-.2-.2-.6-.3-.9-.3l-11.5 1.8c-.5.1-.9.5-.9 1.1l-.1 5.5c0 .3.1.6.4.9.2.2.5.3.7.3h.2l10.6-1.6c-.4-.9-.5-1.8-.4-2.4.1-.8.6-1.4 1.4-1.4.1 0 .5 0 .9.1l.1-3.1c-.2-.4-.3-.7-.5-.9z"/>
+ <path fill="url(#aQ)" fill-rule="nonzero" d="M223.7 156.1c-.2-.2-.6-.3-.9-.3l-11.5 1.8c-.5.1-.9.5-.9 1.1l-.1 5.5c0 .3.1.6.4.9.2.2.5.3.7.3h.2l10.6-1.6c-.4-.9-.5-1.8-.4-2.4.1-.8.6-1.4 1.4-1.4.1 0 .5 0 .9.1l.1-3.1c-.2-.4-.3-.7-.5-.9z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M162.8 163.3c4.7-1 6.4-3.7 6.3-5 0-.4-.2-.4-.3-.4-.4 0-4.4.3-6.9.6h-.5l-.6-5.1c-.9 0-3.2.4-5.5 2.6-1.4 1.3-1.7 3.1-.9 4.6.9 2 3.7 3.8 8.4 2.7z"/>
+ <path fill="url(#aR)" fill-rule="nonzero" d="M161.7 166.1c.1 0 .2 0 .2-.1.3-.2 0-.7.1-.8.2-.2.8-.7 1.1-.8 5.2-1.1 7.3-4.3 7.1-6.2-.1-.8-.6-1.4-1.4-1.4-.5 0-4.9.4-6.5.5l-.5-4.9-.4-.1h-.5c-.8 0-2.3.2-4 1.2-.7.4-1.5 1-2.3 1.7-.8.7-1.3 1.6-1.5 2.5-.2.8-.2 1.6 0 2.4.1.3-.8-.1-1 .1v.1c-.1.9.5 2.4 2 3.7 1.4 1.5 3.9 2.5 7.6 2.1zm-6.5-9.9c2.3-2.3 4.6-2.6 5.5-2.6l.6 5.1h.5c2.6-.2 6.5-.6 6.9-.6.1 0 .2 0 .3.4.1 1.2-1.6 3.9-6.3 5-4.7 1-7.5-.7-8.5-2.5-.7-1.7-.3-3.4 1-4.8z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M231.1 156.6l-.6 5.1h-.5c-2.6-.2-6.5-.6-6.9-.6-.1 0-.2 0-.3.4-.1 1.2 1.6 3.9 6.3 5 4.7 1 7.5-.7 8.5-2.5.8-1.5.5-3.3-.9-4.6-2.5-2.4-4.7-2.7-5.6-2.8z"/>
+ <path fill="url(#aS)" fill-rule="nonzero" d="M236.7 157.9c-3.2-2.7-6.1-2.4-6.2-2.4h-.5l-.5 4.9c-1.2-.1-4-.3-5.5-.5-.5 0-.8-.1-.9-.1-.8 0-1.3.5-1.4 1.4-.1.6.1 1.5.4 2.4.8 1.9 2.7 4 6.2 4.7 1 .2-1.2 0-.4.3.4.1.7.2 1 .3.3.1.6.2 1 .2 2.8.5 5.1-.1 6.4-1.1.4-.3.8-.6 1-1 .4-.5.7-1.6.9-2.2.1-.2.2-.4.2-.5.8-1.6.7-3.3-.2-4.8-.2-.4-.5-.7-.9-1.1-.2-.1-.4-.3-.6-.5zm.8 6c-1 1.8-3.8 3.5-8.5 2.5s-6.4-3.7-6.3-5c0-.4.2-.4.3-.4.4 0 4.4.3 6.9.6h.5l.6-5.1c.9 0 3.2.4 5.5 2.6 1.5 1.5 1.8 3.2 1 4.8z"/>
+ <path fill="url(#aT)" fill-rule="nonzero" d="M189.7 154.7l.3 33.2s1.1 2.2 6.4 2.8c5.3.6 6.7-3.1 6.7-3.1l.8-33.7s-2.5 2.2-6.7 2.5c-4.2.3-7.5-1.7-7.5-1.7z"/>
+ <path fill="url(#aU)" fill-rule="nonzero" d="M189.7 154.7l.3 33.2s1.1 2.2 6.4 2.8c5.3.6 6.7-3.1 6.7-3.1l.8-33.7s-2.5 2.2-6.7 2.5c-4.2.3-7.5-1.7-7.5-1.7z"/>
+ <path d="M-31-22h352v303H-31z"/>
+ </g>
+</svg>
diff --git a/browser/extensions/onboarding/content/img/figure_performance.svg b/browser/extensions/onboarding/content/img/figure_performance.svg
new file mode 100644
index 000000000000..f7c5c219aada
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/figure_performance.svg
@@ -0,0 +1 @@
+<svg width="297" height="245" viewBox="0 0 297 245" xmlns="http://www.w3.org/2000/svg"><title>performance</title><defs><linearGradient x1="-920.838%" y1="-294.992%" x2="891.374%" y2="366.984%" id="a"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-162.81%" y1="-242.422%" x2="179.364%" y2="239.183%" id="b"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-347.431%" y1="-836.5%" x2="1777.43%" y2="3692.808%" id="c"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-494.697%" y1="-397.029%" x2="2194.58%" y2="1809.556%" id="d"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-358.927%" y1="-240.795%" x2="1727.185%" y2="1250.312%" id="e"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="1
00%"/></linearGradient><linearGradient x1="-626.22%" y1="-1767.938%" x2="1375.102%" y2="3610.616%" id="f"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-2092.13%" y1="-2092.3%" x2="2102.26%" y2="2102.09%" id="g"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-10687.27%" y1="-10695.62%" x2="6524.09%" y2="6515.75%" id="h"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-235.943%" y1="-613.083%" x2="463.706%" y2="1010.631%" id="i"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-10998.63%" y1="-10974.25%" x2="6212.73%" y2="6237.11%" id="j"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-73.995%" y1="-65.306%" x2="120.692%" y2="159.00
8%" id="k"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-21.918%" y1="-53.508%" x2="187.863%" y2="264.044%" id="l"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-489.211%" y1="-179.924%" x2="521.605%" y2="253.611%" id="m"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-7695.347%" y1="-543.989%" x2="5437.677%" y2="468.444%" id="n"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-871.152%" y1="-248.513%" x2="1179.248%" y2="414.667%" id="o"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-737.21%" y1="-1393.274%" x2="549.019%" y2="955.49%" id="p"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></li
nearGradient><linearGradient x1="-638.104%" y1="-1298.114%" x2="447.684%" y2="806.622%" id="q"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-1950.055%" y1="-1089.986%" x2="3277.839%" y2="1905.929%" id="r"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-575.859%" y1="-1406.193%" x2="985.226%" y2="2277.098%" id="s"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-1033.963%" y1="-1091.623%" x2="2289.262%" y2="2403.036%" id="t"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-2408.138%" y1="-454.703%" x2="4538.159%" y2="962.257%" id="u"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-998.9%" y1="-1143.058%" x2="1755.168%" y2="1997.85
%" id="v"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-4669.755%" y1="-4076.6%" x2="8549.086%" y2="7499.45%" id="w"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-195.59%" y1="-922.704%" x2="389.831%" y2="1341.95%" id="x"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient><linearGradient x1="-343.613%" y1="-263.57%" x2="487.353%" y2="406.119%" id="y"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-27.659%" y1="2.333%" x2="125.482%" y2="104.574%" id="z"><stop stop-color="#D7B600" offset="0%"/><stop stop-color="#05A700" offset="100%"/></linearGradient><linearGradient x1="-651.262%" y1="-472.878%" x2="435.248%" y2="317.591%" id="A"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGr
adient><linearGradient x1="-548.021%" y1="-473.693%" x2="248.049%" y2="204.898%" id="B"><stop stop-color="#FFFBCC" offset="0%"/><stop stop-color="#CEF7C6" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M-24-20h352v303H-24z"/><g fill-rule="nonzero"><path d="M13.6 181.6c-2.8 0-5.1-2.2-5.1-4.8V58.3c0-3 2.4-5.4 5.4-5.4h127.2c3 0 5.4 2.4 5.4 5.4v118.5c0 2.6-2.3 4.8-5 4.8H13.6z" fill="#FFF"/><path d="M141.1 54c2.3 0 4.2 1.9 4.2 4.2v118.5c0 2-1.8 3.7-3.9 3.7H13.6c-2.2 0-3.9-1.7-3.9-3.7V58.3c0-2.3 1.9-4.2 4.2-4.2h127.2V54zm0-2.2H13.9c-3.6 0-6.5 2.9-6.5 6.5v118.4c0 3.3 2.8 5.9 6.2 5.9h127.8c3.4 0 6.2-2.7 6.2-5.9V58.3c-.1-3.6-3-6.5-6.5-6.5z" fill="#D7D7DB"/></g><path d="M139.9 75.2v98.2c0 1-.1 1.2-.1 1.2s-.2.1-1.2.1H16.4c-1 0-1.2-.1-1.2-.1s-.1-.2-.1-1.2V75.2h124.8zM141 74H13.9v99.3c0 2 .4 2.5 2.5 2.5h122.2c2 0 2.5-.4 2.5-2.5V74h-.1z" fill-rule="nonzero" fill="#D7D7DB"/><g fill-rule="nonzero" fill="#D7D7DB"><circle cx="3.7" cy="3" r="2.9" transform="translat
e(17 61)"/><circle cx="3" cy="3" r="2.9" transform="translate(27 61)"/><path d="M109.4 67.2H45.5c-1.7 0-3.1-1.4-3.1-3.1v-.3c0-1.7 1.4-3.1 3.1-3.1h63.9c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.7-1.3 3.1-3.1 3.1z"/><g><circle cx="3" cy="3" r="2.9" transform="translate(122 61)"/><circle cx="3.2" cy="3" r="2.9" transform="translate(131 61)"/></g></g><g fill-rule="nonzero"><path d="M39.9 22.9h23.8S56.3 6.3 72.1 4.1c14.1-1.9 19.7 12.6 19.7 12.6s1.7-8.4 10.1-6.8c8.3 1.6 14.4 14.9 14.4 14.9H137" fill="#F9F9FA"/><path d="M137.2 20.9h-4.5c-.3 0-.6-.3-.6-.6s.3-.6.6-.6h4.5c.3 0 .6.3.6.6s-.2.6-.6.6zm-14.5 0h-1.1c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .3-.3.6-.6.6zm-5.5 0h-.6c-.2 0-.4-.1-.5-.3-.1-.2-.6-1.1-1.3-2.3-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.6.9 1 1.7 1.2 2.1h.3c.3 0 .6.2.6.6 0 .4-.4.5-.7.5zm-53.1-.7h-1.5c-.3 0-.6-.3-.6-.6s.3-.6.6-.6h.6c-.1-.3-.2-.6-.4-1-.1-.3.1-.6.4-.7.3-.1.6.1.7.4.3 1 .6 1.7.6 1.7.1.2.1.4 0 .5 0 .2-.2.3-.4.3zm-10.4 0H40.3c-.3 0-.6-.3-.6-.6s.3-.6.6-.6h13.4c.3 0 .6.3.6.6s-.3
.6-.6.6zm8.8-6.1c-.3 0-.5-.2-.6-.5 0-.4-.1-.8-.1-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.1 1.1.1.3-.1.6-.5.6zm29.1-1.2c-.2 0-.4-.1-.5-.3-.1-.3-.3-.6-.5-1-.1-.3 0-.6.2-.8.3-.1.6 0 .8.2.2.4.4.7.5 1 .1.3 0 .6-.3.7 0 .2-.1.2-.2.2zm18-1.4c-.1 0-.3-.1-.4-.2-2.4-2.3-4.8-3.7-7.2-4.1-1.6-.3-3.1-.2-4.3.2-.3.1-.6-.1-.7-.4-.1-.3.1-.6.4-.7 1.4-.5 3.1-.6 4.9-.2 2.6.5 5.2 2 7.7 4.4.2.2.2.6 0 .8-.1.2-.2.2-.4.2zM88.7 8.2c-.2 0-.3-.1-.4-.2-.7-.9-1.4-1.7-2.2-2.4-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0 .8.8 1.6 1.6 2.3 2.5.2.2.2.6-.1.8-.2.1-.3.1-.4.1zM65.8 4c-.2 0-.3-.1-.4-.2-.2-.2-.2-.6.1-.8C67.2 1.6 69.6.7 72.4.3c2.2-.3 4.3-.2 6.3.2.3.1.5.4.4.7-.1.3-.4.5-.7.4-1.9-.4-3.9-.5-5.9-.2-2.7.4-4.8 1.2-6.4 2.4-.1.1-.2.2-.3.2z" fill="#D7D7DB"/><path d="M137.9 25.1h-98c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h98c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1z" fill="#F9F9FA"/></g><path d="M261.4 80.6c.2-.3.6-1 .2-1.3-.3-.2-.6-.3-1-.3-.8 0-1.6.3-2.3.8-1.4 1-2.6 2.7-2.3 3.5 2.5-.5 4.6-1.5 5.4-2.7z"/><path d="M59.3 94.4c4.3.1 8.5-1 12
.1-3.3 3.3-2.1 7.2-3.1 11.1-3 3.9-.1 7.8 1 11.1 3 7.5 4.4 16.8 4.4 24.3 0 6.8-4 15.3-4 22.2 0 7.5 4.4 16.8 4.4 24.3 0 6.8-4 15.3-4 22.2 0 3.6 2.2 7.9 3.4 12.1 3.3.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1-3.9.1-7.8-.9-11.1-3-7.5-4.4-16.8-4.4-24.3 0-6.8 4-15.3 4-22.2 0-7.5-4.4-16.8-4.4-24.3 0-6.8 4-15.3 4-22.2 0-3.6-2.2-7.9-3.4-12.1-3.3-4.3-.1-8.5 1-12.1 3.3-3.3 2.1-7.2 3.1-11.1 3-3.9.1-7.8-.9-11.1-3-3.6-2.2-7.9-3.4-12.1-3.3-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1 3.9-.1 7.8.9 11.1 3 3.6 2.3 7.8 3.4 12.1 3.3zM269.2 82.1c-.2-.2-.5-.3-.8-.1-3.1 2-6.6 3.2-10.3 3.5-1.4.2-2.8.2-4.2 0 2.2-.7 4.2-1.7 5.1-2.9 1.1-1.5.4-2.4.1-2.7-1-.9-3.1-.7-4.7.4-1.2.9-3.2 3-2.8 4.7-1.8.4-3.6.7-5.4.8-.3 0-.6.2-.6.6 0 .4.2.6.6.6 2-.1 4-.4 6-.9 1 .8 2.9 1 6 .7 7-.8 10.7-3.6 10.8-3.8.3-.3.4-.6.2-.9zm-14.1-.9c.7-.5 1.5-.8 2.3-.8.4 0 .7.1 1 .3.3.3 0 1-.2 1.3-.8 1.2-3 2.1-5.4 2.8-.3-1 .9-2.6 2.3-3.6z" fill="#D7D7DB" fill-rule="nonzero"/><path d="M154.6 87.1c-.3 0-.6-.3-.7-.6 0-.4.2-.7.6-.7 1.4-.1 2.8-.4 4-.9.3-.1.7.1.9
.4.1.3-.1.7-.4.9-1.4.4-2.8.7-4.4.9zM202.6 86.9c-.3 0-.6-.2-.7-.6-.1-.4.2-.7.5-.8 3.4-.6 5.5-1.9 7.5-3.3.3-.2.7-.1.9.2.2.3.1.7-.2.9-2.1 1.3-4.4 2.8-8 3.4.1.2 0 .2 0 .2zM148.2 86.8h-.1c-3.5-.6-5.7-2.1-7.9-3.5l-.1-.1c-.3-.2-.4-.6-.2-.9.2-.3.6-.4.9-.2l.1.1c2.2 1.4 4.2 2.7 7.4 3.3.4.1.6.4.5.8 0 .3-.3.5-.6.5zM241.1 86.7h-.1c-3.2-.7-5.4-2.1-7.5-3.4l-.5-.3c-.3-.2-.4-.6-.2-.9.2-.3.6-.4.9-.2l.4.3c2.1 1.3 4 2.6 7 3.2.4.1.6.4.5.8.1.3-.2.5-.5.5zM194.1 86.7h-.2c-.4-.1-.7-.2-1.1-.3-.4-.1-.6-.5-.4-.8.1-.4.5-.6.8-.4.3.1.6.2 1 .3.4.1.6.4.5.8 0 .2-.3.4-.6.4zM189.2 84.7c-.1 0-.2 0-.3-.1-.7-.4-1.4-.8-2-1.3-.5-.3-1.1-.7-1.6-1-.3-.2-.4-.6-.2-.9.2-.3.6-.4.9-.2.6.3 1.1.7 1.6 1 .6.4 1.3.8 2 1.2.3.2.4.6.2.9-.1.3-.4.4-.6.4zM162.6 84.3c-.2 0-.4-.1-.6-.3-.2-.3-.1-.7.2-.9l.9-.6c.3-.2.7-.1.9.2.2.3.1.7-.2.9l-.9.6c-.1 0-.2.1-.3.1zM216.1 80.6c-.3 0-.5-.2-.6-.5-.1-.4.1-.7.4-.8 1.4-.4 2.8-.7 4.3-.8.4 0 .7.2.7.6 0 .4-.2.7-.6.7-1.5.1-2.8.4-4 .8h-.2zM123.2 80.5c-.3 0-.6-.2-.6-.5-.1-.4.1-.7.5-.8 1.4-.4 2.8-.6 4.4-.7.4 0 .7
.3.7.6 0 .4-.3.7-.6.7-1.5.1-2.8.3-4.1.7h-.3zM171.2 80.1c-.3 0-.6-.2-.7-.5-.1-.4.2-.7.5-.8 1.4-.3 2.9-.4 4.5-.4 1.5 0 2.9.1 4.2.4.4.1.6.4.5.8-.1.4-.4.6-.8.5-1.2-.2-2.5-.4-4-.4-1.6 0-2.9.1-4.2.4.1 0 0 0 0 0zM132.7 80h-.1c-.3-.1-.7-.1-1-.1-.4 0-.6-.4-.6-.7 0-.4.4-.6.7-.6.4 0 .7.1 1.1.2.4.1.6.4.5.8 0 .2-.3.4-.6.4zM225.6 79.9h-.1c-.3-.1-.7-.1-1-.1-.4 0-.6-.4-.6-.7 0-.4.4-.6.7-.6.4 0 .7.1 1.1.1.4.1.6.4.6.8-.1.3-.4.5-.7.5z" fill="#D7D7DB" fill-rule="nonzero"/><g fill-rule="nonzero" fill="#D7D7DB"><path d="M12 200.6c4.3.1 8.5-1 12.1-3.3 6.8-4 15.3-4 22.2 0 7.5 4.4 16.8 4.4 24.3 0 3.3-2.1 7.2-3.1 11.1-3 .6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1-4.3-.1-8.5 1-12.1 3.3-6.8 4-15.3 4-22.2 0-7.5-4.4-16.8-4.4-24.3 0-3.3 2.1-7.2 3.1-11.1 3-3.6.1-7.2-.8-10.3-2.6-.3.7-.7 1.3-1.2 1.9 3.5 2 7.5 3 11.5 2.9zM61.3 208.7c-.3 0-.6-.2-.7-.6-.1-.4.2-.7.5-.8 3.4-.6 5.5-1.9 7.5-3.3.3-.2.7-.1.9.2.2.3.1.7-.2.9-2.1 1.3-4.4 2.8-8 3.4v.2zM52.8 208.5h-.2c-.4-.1-.7-.2-1.1-.3-.4-.1-.6-.5-.4-.8.1-.4.5-.6.8-.4.3.1.6.2 1 .3.
4.1.6.4.5.8-.1.2-.3.4-.6.4zM47.8 206.5c-.1 0-.2 0-.3-.1-.7-.4-1.4-.8-2-1.3-.5-.3-1.1-.7-1.6-1-.3-.2-.4-.6-.2-.9.2-.3.6-.4.9-.2.6.3 1.1.7 1.6 1 .6.4 1.3.8 2 1.2.3.2.4.6.2.9-.1.3-.3.4-.6.4zM74.7 202.4c-.3 0-.5-.2-.6-.5-.1-.4.1-.7.4-.8 1.4-.4 2.8-.7 4.3-.8.4 0 .7.2.7.6 0 .4-.2.7-.6.7-1.5.1-2.8.4-4 .8h-.2z"/><path d="M29.8 202c-.3 0-.6-.2-.7-.5-.1-.4.2-.7.5-.8 1.4-.3 2.9-.4 4.5-.4 1.5 0 2.9.1 4.2.4.4.1.6.4.5.8-.1.4-.4.6-.8.5-1.2-.2-2.5-.4-4-.4-1.6 0-2.9.1-4.2.4.1-.1 0 0 0 0zM84.2 201.8h-.1c-.3-.1-.7-.1-1-.1-.4 0-.6-.4-.6-.7 0-.4.4-.6.7-.6.4 0 .7.1 1.1.1.4.1.6.4.6.8-.1.2-.4.5-.7.5z"/></g><path d="M112.1 196.9c-.2-.2-.5-.3-.8-.1-3.1 2-6.6 3.2-10.3 3.5-1.4.2-2.8.2-4.2 0 2.2-.7 4.2-1.7 5.1-2.9 1.1-1.5.4-2.4.1-2.7-1-.9-3.1-.7-4.7.4-1.2.9-3.2 3-2.8 4.7-1.8.4-3.6.7-5.4.8-.3 0-.6.2-.6.6 0 .3.2.6.6.6 2-.1 4-.4 6-.9 1 .8 2.9 1 6 .7 7-.8 10.7-3.6 10.8-3.8.3-.2.4-.6.2-.9zm-14.2-.9c.7-.5 1.5-.8 2.3-.8.4 0 .7.1 1 .3.3.3 0 1-.2 1.3-.8 1.2-3 2.1-5.4 2.8-.3-1 1-2.6 2.3-3.6z" fill="#D7D7DB" fill-rule="no
nzero"/><g fill-rule="nonzero" fill="#D7D7DB"><path d="M77 97.8c-14.9 0-27 12.1-27 27 0 4 .9 8 2.6 11.6.7 1.7 2.6 2.6 4.4 1.9 1.7-.7 2.6-2.6 1.9-4.4-.1-.2-.1-.3-.2-.4-1.3-2.7-2-5.7-2-8.7 0-11.2 9-20.3 20.2-20.3s20.3 9 20.3 20.2c0 3-.7 6-2 8.8-.8 1.7-.1 3.7 1.6 4.5 1.7.8 3.7.1 4.5-1.6 6.4-13.5.7-29.6-12.7-36-3.5-1.8-7.5-2.7-11.6-2.6z"/><path d="M89.8 118.3c-.8-.5-1.8-.3-2.3.5l-8.3 13.1c-3.6-1.2-7.4.8-8.5 4.3-1.2 3.6.8 7.4 4.3 8.5 2 .6 4.2.3 5.9-.8.7-.5 1.3-1.1 1.8-1.8 1.8-2.6 1.5-6.1-.7-8.4l8.3-13.1c.5-.8.3-1.8-.5-2.3z"/></g><g fill-rule="nonzero"><path d="M251.2 231.9l-13.4-1.7c-.5-.1-.9-.5-.9-1l-1.1-27.6-2.6 1.1c-.1.1-.3.1-.4.1-.2 0-.5-.1-.6-.2-.3-.2-.4-.6-.3-1l.8-3.6-3.6.6h-.2c-.3 0-.7-.2-.9-.5-.2-.3-.2-.8.1-1.1l4.2-5.6c.1-.1.2-.2.4-.3l7-3.3c.1-.1.3-.1.4-.1.2 0 .3 0 .4.1l7.8 3.9c.4.2.6.6.5 1 0 .4-.3.8-.7.9l-4.2 1.3 2 4c.2.3.1.7-.1 1-.2.3-.5.4-.8.4h-.2l-3.1-.5 10.3 30.8c.1.3 0 .7-.2 1-.2.2-.5.4-.8.4.3-.1.2-.1.2-.1z" fill="#F5F5F7"/><path d="M240.2 188.8l7.8 3.9-5.3 1.7 2.5 5-4.7-.8
10.9 32.4-13.4-1.7-1.1-29-3.9 1.7 1.1-5-5 .8 4.2-5.6 6.9-3.4zm0-2c-.3 0-.6.1-.9.2l-7 3.3c-.3.1-.5.3-.7.6l-4.2 5.6c-.5.7-.5 1.5-.1 2.2.4.6 1 1 1.7 1h.3l2.1-.3-.5 2.1c-.2.7.1 1.5.7 2 .4.3.8.5 1.3.5.3 0 .5-.1.8-.2l1.2-.5 1 26.1c0 1 .8 1.8 1.8 1.9l13.4 1.7h.2c.6 0 1.2-.3 1.5-.7.4-.5.6-1.3.3-1.9l-9.8-29.2 1.4.3h.3c.6 0 1.2-.3 1.6-.8.5-.6.5-1.4.2-2.1l-1.5-2.9 3.1-1c.8-.2 1.3-.9 1.4-1.7.1-.8-.4-1.6-1.1-1.9l-7.8-3.9c-.1-.3-.4-.4-.7-.4z" fill="#D7D7DB"/></g><g fill-rule="nonzero"><path d="M199.7 227.4c-.2 0-.5-.1-.7-.3-.2-.2-.3-.4-.3-.7l-1.1-24.8-2.6 1.1c-.1.1-.3.1-.4.1-.2 0-.5-.1-.6-.2-.3-.2-.4-.6-.3-1l.8-3.6-3.6.6h-.2c-.3 0-.7-.2-.9-.5-.2-.3-.2-.8.1-1.1l4.2-5.6c.1-.1.2-.2.4-.3l7-3.3c.1-.1.3-.1.4-.1.2 0 .3 0 .4.1l7.8 3.9c.4.2.6.6.5 1 0 .4-.3.8-.7.9l-4.2 1.3 2 4c.2.3.1.7-.1 1-.2.3-.5.4-.8.4h-.2l-3.2-.6 7.4 25.8c.1.3 0 .6-.1.9-.2.2-.5.4-.8.4.2.1-10.2.6-10.2.6z" fill="#F5F5F7"/><path d="M202 188.8l7.8 3.9-5.3 1.7 2.5 5-4.7-.8 7.8 27.3-10.3.6-1.1-26.2-3.9 1.7 1.1-5-5 .8 4.2-5.6 6.9-3.4zm0-2c-.
3 0-.6.1-.9.2l-7 3.3c-.3.1-.5.3-.7.6l-4.2 5.6c-.5.7-.5 1.5-.1 2.2.4.6 1 1 1.7 1h.3l2.1-.3-.5 2.1c-.2.7.1 1.5.7 2 .4.3.8.5 1.3.5.3 0 .5-.1.8-.2l1.2-.5 1 23.3c0 .5.3 1 .7 1.4.4.3.8.5 1.3.5h.1l10.3-.6c.6 0 1.2-.3 1.5-.8.3-.5.5-1.1.3-1.7l-6.9-24.3 1.6.3h.3c.6 0 1.2-.3 1.6-.8.5-.6.5-1.4.2-2.1l-1.5-2.9 3.1-1c.8-.2 1.3-.9 1.4-1.7.1-.8-.4-1.6-1.1-1.9l-7.8-3.9c-.2-.2-.5-.3-.8-.3z" fill="#D7D7DB"/></g><path d="M201.4 210.6l1.4 17.5" stroke="#D7D7DB" stroke-linecap="round" stroke-linejoin="round"/><path d="M203.6 221.7l2 11.7" stroke="#EAEAEE" stroke-linecap="round" stroke-linejoin="round"/><path d="M240.2 207.5l5 19" stroke="#D7D7DB" stroke-linecap="round" stroke-linejoin="round"/><path d="M236.5 220.6l1.2 10.9" stroke="#EAEAEE" stroke-linecap="round" stroke-linejoin="round"/><g transform="translate(153 210)" fill-rule="nonzero"><ellipse fill="#EDEDF0" cx="72.1" cy="27" rx="71.5" ry="7.9"/><ellipse fill="#F9F9FA" cx="72.2" cy="25.5" rx="56.8" ry="6.3"/><path d="M20.7 24.2l-.2-.2S12.4 7.7 28.1
4.9c14-2.5 20.1 11.8 20.1 11.8s1.4-8.4 9.8-7.1c8.3 1.3 14.9 14.3 14.9 14.3h.2" fill="#F9F9FA"/><path d="M79.4 19.7h-1.1c-.3 0-.6-.2-.6-.5s.2-.6.5-.6h1.1c.3 0 .6.2.6.5 0 .4-.2.6-.5.6zm-5.6.2h-.6c-.2 0-.4-.1-.5-.3-.1-.2-.6-1.1-1.4-2.3-.2-.3-.1-.6.1-.8.3-.2.6-.1.8.1.6.9 1.1 1.7 1.3 2.1h.3c.3 0 .6.2.6.5s-.3.7-.6.7zm-53 1.4l-1.5.1c-.3 0-.6-.2-.6-.5s.2-.6.5-.6h.6c-.1-.3-.3-.6-.4-1-.1-.3 0-.6.3-.7.3-.1.6 0 .7.3.4 1 .7 1.7.7 1.7.1.2.1.4 0 .5 0 .1-.2.2-.3.2zm-1.9-6.1c-.3 0-.5-.2-.6-.5-.1-.4-.1-.8-.1-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.1 1.1.1.3-.1.6-.5.6zM48 13c-.2 0-.4-.1-.5-.3-.1-.3-.3-.6-.5-1-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.2.4.4.7.6 1 .1.3 0 .6-.2.8-.2 0-.3.1-.4.1zm17.9-2.1c-.1 0-.3 0-.4-.1-2.5-2.2-5-3.5-7.3-3.9-1.6-.2-3.1-.1-4.3.3-.3.1-.6 0-.7-.3-.1-.3 0-.6.3-.7 1.4-.5 3.1-.7 4.9-.4 2.6.4 5.2 1.8 7.9 4.1.2.2.3.6 0 .8-.1.1-.2.2-.4.2zM44.8 8.4c-.2 0-.3-.1-.4-.2-.7-.8-1.5-1.6-2.3-2.3-.2-.2-.3-.6-.1-.8.2-.2.6-.3.8-.1.9.7 1.7 1.5 2.4 2.4.2.2.2.6-.1.8 0 .1-.2.2-.3.2zM21.8 5c-.2 0-.3-.1-.4-.2
-.2-.2-.2-.6.1-.8 1.7-1.4 4-2.4 6.8-2.9 2.2-.4 4.3-.4 6.3 0 .3.1.5.3.4.6-.1.3-.3.5-.6.4-1.9-.3-3.9-.3-5.9 0-2.7.5-4.8 1.4-6.3 2.7-.1.2-.3.2-.4.2z" fill="#D7D7DB"/><g><path d="M119.8 27l.2-.2s8.2-16.3-7.5-19.2C98.5 5 92.3 19.2 92.3 19.2S91 10.8 82.6 12c-8.3 1.2-15 14.2-15 14.2h-.2" fill="#F9F9FA"/><path d="M60.6 21.4c0-.3.3-.5.6-.5l1.1.1c.3 0 .5.3.5.6s-.3.5-.6.5l-1.1-.1c-.3 0-.5-.3-.5-.6zm5.5.3c0-.3.3-.5.6-.5h.3c.2-.4.7-1.1 1.3-2 .2-.3.5-.3.8-.1.3.2.3.5.1.8-.8 1.2-1.3 2-1.4 2.3-.1.2-.3.3-.5.3h-.6c-.3-.3-.6-.5-.6-.8zm53.2 2.1c-.1-.2-.1-.4 0-.5 0 0 .3-.6.7-1.7.1-.3.4-.4.7-.3.3.1.4.4.3.7-.1.4-.3.7-.4 1h.6c.3 0 .5.3.5.6s-.3.5-.6.5l-1.5-.1c-.1 0-.3-.1-.3-.2zm2.2-5.8c-.3-.1-.5-.3-.5-.6.1-.4.1-.7.1-1.1 0-.3.3-.5.6-.5s.5.3.5.6c0 .4-.1.8-.2 1.1.1.3-.1.5-.5.5.1 0 .1 0 0 0zm-29.2-2.6c-.3-.1-.4-.5-.2-.8.2-.3.3-.6.6-1 .2-.3.5-.3.8-.2.3.2.3.5.2.8-.2.4-.4.7-.5.9-.1.2-.3.3-.5.3-.2.1-.3.1-.4 0zm-18.1-2.3c-.2-.2-.2-.6.1-.8 2.7-2.3 5.3-3.7 7.9-4.1 1.8-.3 3.5-.1 4.9.4.3.1.4.4.3.7-.1.3-.4.4-.7.3-1.2-.5-2
.7-.6-4.3-.4-2.4.3-4.8 1.6-7.4 3.8-.1.1-.3.1-.4.1-.1.1-.3.1-.4 0zm21.2-2.3c-.2-.2-.3-.6 0-.8.8-.9 1.6-1.7 2.5-2.4.2-.2.6-.2.8.1.2.2.2.6-.1.8-.8.7-1.6 1.4-2.3 2.3-.1.1-.3.2-.4.2-.3-.1-.4-.1-.5-.2zm23-3.2c-1.5-1.3-3.6-2.2-6.3-2.7-2-.4-4-.4-5.9-.1-.3 0-.6-.2-.6-.5-.1-.3.2-.6.5-.6 2-.3 4.1-.3 6.3.1 2.9.5 5.1 1.5 6.8 3 .2.2.3.6.1.8-.1.1-.3.2-.4.2-.3-.1-.4-.1-.5-.2z" fill="#D7D7DB"/></g></g><g transform="translate(159 16)" fill-rule="nonzero"><path d="M125.2 89.7c-.8-4.6-5-4.7-14.4-4.7-7.5 0-17.8-.1-23.3-2.4-9.6-4-17.5-13.4-17.6-13.6-.6-.7-1.4-1.2-2.3-1.5l-.6 1.2c2.7 2.8 5 5.7 7 8.6 3.3 2.9 7.6 6 12.2 7.9 6.1 2.5 16.8 2.6 24.5 2.6 8.4.1 10.8.1 11.1 1.9.3 1.7-2 3.5-6.5 6.6-2.2 1.6-5.9 4.2-6.1 5.1 0 3.4-5.1 9.2-12.9 10-2.6.3-4.8.3-6.5.3-3.2.1-5.2.1-7.6 1.4-.3.2-.8.3-1.3.4-.4 1.1-.9 2.4-1.5 3.8 1.9 0 3.4-.3 4.4-.9 1.6-.9 2.8-.9 6-1 1.8 0 4-.1 6.8-.3 8.4-.8 14.8-6.8 15.8-12 1-.9 3.3-2.6 4.8-3.7 5.2-3.4 8.6-5.8 8-9.7z" fill="#F9F9FA"/><path d="M34.7 63.9h0zM37.6 63.9h-.4.4zM42.2 67.5c.8-1.1 1.
7-2.3 2.6-3.4-.9 1.2-1.8 2.3-2.6 3.4zM40.4 63.6H40c.1.1.2.1.4 0zM43.2 63.3c-.1 0-.3 0-.4.1.1-.1.3-.1.4-.1z" fill="#FFF"/><path d="M62.4 149.2c-.8-1-1.6-2-2.4-3.1-3.6 1-7.5 1.5-11.2 1.5-.8 0-1.6 0-2.4-.1.2.2.3.5.4.8v.1c0 .1.1.2.1.3v.2c.1.3.1.6 0 .9v1.2h1.5c3.2 0 6.6-.4 9.8-1.1.6.7 1.1 1.4 1.7 2.2.5-1.1 1.3-2.2 2.5-2.9z" fill="#F9F9FA"/><path d="M59.6 143.9c-.1 0-.3.1-.4.1.1 0 .3-.1.4-.1z" fill="#FFF"/><path d="M27.9 147c-.7-2.4-1.3-5.4-1.9-8.9-1.6-2.2-2.9-4.8-3.7-7.8-.9 0-1.9-.3-2.7-.8-1.9-1.1-2.9-3.2-2.7-5.4l-3.7-9.6c-.3-.8-.3-1.7 0-2.5-.8-3-1.3-7.3-.4-12.6 1.9-10.4 8.8-19.8 20.6-28.1.1-.4.3-.8.7-1.1l3.3-3c.4-.4 1-.6 1.5-.6.3 0 .6.1.9.2.2-.3.5-.7.7-1-2 .2-4 .3-5.9.3-14.8 0-23-6.5-23.3-18.3 0-2.7.3-5.5 1-8.4-2.9-2.4-4.8-5.3-5.7-8.5-.5-.9-1-1.9-1.3-2.9-2.4-7.5 1.8-15.5 9.3-17.9 1.4-.4 2.8-.7 4.3-.7 1.7 0 3.4.3 5 .9 2-.4 4-.6 6.1-.6h1.2c.6 0 1.2.1 1.8.1 3.3-2.2 6.7-3.9 10.1-4.9 3.7-1.1 7.5-1.7 11.3-1.7 7.4 0 14.8 2.3 20.9 6.4 13 2.2 22.3 11.2 22.3 21.6 0 10.2-8.8 18.9-21.5 21.4-2.1 1.6
-4.5 3-7 4.4-1.6 2.9-3.1 5.8-4.4 8.6.7.5 1.4 1.3 1.7 2.4.3.9.4 1.8.4 2.4.1 0 .1.1.2.1 0 .1 2.6 3.2 6.7 6.6-2-2.9-4.3-5.8-7-8.6l.6-1.2c1.2-2.6 2.5-5.2 4-7.9 2.1-1.2 4.1-2.4 5.9-3.7 13.9-3 23.4-12.9 23.4-24.5 0-11.8-10.2-22.1-24.4-24.7C69.6 2.3 61.8 0 54 0c-4.1 0-8.3.6-12.3 1.9-3.4 1.1-6.7 2.6-10 4.7h-2.2c-1.9 0-3.9.2-5.8.5-1.7-.5-3.5-.8-5.3-.8-1.8 0-3.5.3-5.3.8-4.5 1.4-8.2 4.5-10.3 8.7C.6 20 .2 24.7 1.6 29.2c.3 1.1.8 2.1 1.3 3.2.9 3.1 2.6 5.9 5.1 8.4-.5 2.5-.7 4.9-.6 7.2.1 5.4 1.7 9.9 4.7 13.5.4.4.7.8 1.1 1.2.8.8 1.6 1.5 2.6 2.1 3.6 2.5 8.3 4.1 13.9 4.6-11.9 8.6-19 18.5-21 29.5-1 5.4-.5 9.9.2 13.2-.2 1.2-.1 2.5.4 3.7l3.4 9c0 3.1 1.6 6 4.3 7.7.6.4 1.2.6 1.8.9.8 2.3 1.9 4.4 3.1 6.2.7 4 1.4 7.4 2.2 9.9 1.3-1.2 2.4-2.1 3.8-2.5z" fill="#F9F9FA"/><circle fill="#FFF" transform="rotate(-26.565 9.428 30.382)" cx="8.978" cy="29.932" r="1"/><path d="M7.2 22.9c-.1 1.5 0 3.1.5 4.7-.5-1.6-.7-3.2-.5-4.7zM22.6 128h.4-.6.2zM25.1 131.3c.2.6.4 1.2.7 1.8-.3-.6-.5-1.2-.7-1.8-.1 0 0 0 0 0zM22.7 119.8v-.7l
-1.4-1 1.4 1.7zM21.5 127.8c-.2-.1-.5-.2-.7-.3.2.2.5.3.7.3zM22.3 128c-.2 0-.5-.1-.7-.1.2 0 .5.1.7.1zM15.3 113v-.1.1zM15.3 113.3v-.1.1zM19.2 124.9v-.5c0 .2-.1.3 0 .5zM19.2 124.4v-.3.3zM50.5 145.3h-.1.1zM53.9 145h-.3.3zM28.5 138.9v-.1c-.1 0-.1 0 0 .1zM57 144.5c-.2 0-.3.1-.5.1.1 0 .3-.1.5-.1zM58.3 144.2c-.2 0-.3.1-.5.1.2 0 .4 0 .5-.1zM55.5 144.8c-.1 0-.3.1-.4.1.1-.1.3-.1.4-.1zM38.9 145.2c0 .1 0 .1 0 0 0 .1 0 .1 0 0zM48.8 145.4h.1-.2c.1-.1.1 0 .1 0zM41.5 144.6h-.2.2zM44 145h-.2.2zM95.7 31.4c0 1.8-.3 3.5-.9 5.1.6-1.6.9-3.3.9-5.1zM14.8 53.7c0-.1-.1-.2-.1-.3 0 .1 0 .2.1.3zM15.5 55.4c0-.1-.1-.2-.1-.3 0 .1.1.2.1.3zM16.3 56.7c-.1-.1-.1-.2-.1-.2 0 .1.1.2.1.2zM17.4 58.1c-.1-.1-.1-.2-.2-.2.1.1.2.1.2.2zM14.3 52c0-.1 0-.1-.1-.2 0 .1 0 .1.1.2zM14.4 41.2c0-.1.1-.3.1-.4 0 .1-.1.3-.1.4zM13.9 50.1v-.4.4zM13.8 45.9v-.5.5zM30.5 63.7h-.3.3zM18.5 59.2l-.1-.1s.1 0 .1.1zM28.6 63.5c-.1 0-.2 0-.4-.1.1 0 .3.1.4.1zM14.1 38l-.3-.3.3.3zM24.7 62.6c-.1 0-.2 0-.2-.1.1 0 .2 0 .2.1zM26.5 63.1c-.1 0-.2-.1-.3-.1.1 0 .2 0
.3.1zM19.9 60.3c-.1-.1-.2-.1-.3-.2.2.1.3.1.3.2zM23 61.9c-.1 0-.2-.1-.3-.1.1 0 .2.1.3.1zM8.3 29s0-.1-.1-.1c0 0 0 .1.1.1zM27.7 12.4c.4 0 .7-.1 1.1-.1-.3 0-.7 0-1.1.1zM18.1 11.9h.8-.8zM25.5 12.6h.2-.2zM30.3 12.2h-.7 1.8-1.1zM93.7 23.9c.2.4.5.9.7 1.4-.3-.5-.5-.9-.7-1.4zM89.5 18.7l.8.8c-.2-.3-.5-.6-.8-.8zM91.5 20.8c.5.5.9 1.1 1.3 1.7-.4-.6-.8-1.2-1.3-1.7zM10.6 34.1c-.1-.2-.2-.4-.3-.5.1.2.2.4.3.5zM9.3 31.6c-.1-.2-.2-.5-.2-.7.1.2.1.4.2.7zM12.9 37l-.3-.3.3.3zM17 12.1c.2 0 .5-.1.7-.1-.2 0-.5.1-.7.1zM11.9 35.9s0-.1 0 0c0-.1 0 0 0 0zM9.9 32.9l-.3-.6.3.6zM32.8 63.9h-.4.4zM11.4 14.7c.6-.5 1.2-1 1.9-1.3-.7.4-1.3.8-1.9 1.3zM15.6 12.4c.4-.1.7-.2 1.1-.3-.4.1-.8.2-1.1.3zM81.2 139.8h-1.1 1.1zM72.5 139.6c-.2 0-.4 0-.6-.1.2 0 .4 0 .6.1zM82.7 139.7c-.3 0-.6 0-1 .1.4-.1.7-.1 1-.1zM84.3 139.6c-.3 0-.6.1-1 .1.3-.1.6-.1 1-.1zM76.3 139.8h-.5.5zM74.4 139.7h-.6.6zM78.2 139.9h1.5-1.5zM92 138.5c-.3.1-.6.1-.9.2.3-.1.6-.1.9-.2zM90.6 138.8c-.3.1-.6.1-.9.1.3 0 .6-.1.9-.1zM85.9 139.4c-.3 0-.7.1-1 .1.3 0 .6 0 1-.1zM93.
4 138.2c-.3.1-.6.1-.9.2.3-.1.6-.1.9-.2zM89.2 139c-.4.1-.8.1-1.1.2.3-.1.7-.2 1.1-.2zM87.7 139.2c-.5.1-1 .1-1.4.2.5-.1 1-.1 1.4-.2zM69.2 121.2c-.3-.1-.5-.1-.8-.2l-1.3.8c.3.2.6.3.8.5l.6.3.7-1.4zM23.3 107.4v-.1.1zM23.2 105.3v-.1.1zM23.2 106.4v-.1.1zM71.5 141.8c.9 1.7 1.7 3.3 2.2 4.7-.5-1.4-1.3-3-2.2-4.7zM65.9 150c-1.8-2.3-3.6-4.6-5.1-6.4 1.5 1.8 3.2 4.1 5.1 6.4zM95 137.9l-1.2.3c.4-.2.8-.2 1.2-.3zM65 117.8c-.8.4-1.5.5-2.4.7.8.6 1 .9 1.9 1.5l1.3-.8c-.2-.2-.3-.4-.4-.6-.2-.2-.3-.4-.4-.8zM19.2 125c.1 1 .7 1.9 1.6 2.5-.9-.5-1.5-1.5-1.6-2.5zM38.9 144.1c0-.1 0-.1 0 0 0-.1 0-.1 0 0zM22.4 121.2l-2-2.5 1 2.7c.3-.2.6-.2 1-.2zM25.9 133.3c.7 1.4 1.4 2.7 2.3 3.9 0 .2.1.4.1.6 0-.2-.1-.4-.1-.6-.9-1.2-1.7-2.5-2.3-3.9zM96.3 137.5l-1.2.3c.5-.1.9-.2 1.2-.3zM105.8 134c-.2.1-.3.2-.5.3.2-.1.4-.2.5-.3zM106.2 133.7c-.1.1-.2.2-.3.2.1 0 .2-.1.3-.2zM105.2 134.4c-.1.1-.3.2-.4.2.1 0 .2-.1.4-.2zM106.6 133.5l-.2.2c0-.1.1-.2.2-.2zM104.5 134.8c-.1.1-.3.1-.4.2.1-.1.2-.2.4-.2zM106.8 133.2c0 .1-.1.1-.1.2 0-.1.1-.2.1-.2zM106
.9 132.9c0 .1 0 .1-.1.2.1-.1.1-.1.1-.2zM103.8 135.1c-.2.1-.3.1-.5.2.1 0 .3-.1.5-.2zM106.9 132.6v0zM95.8 130.5h.2-.2zM98.7 136.9c-.2.1-.5.1-.7.2.2-.1.5-.1.7-.2zM97.5 137.2c-.3.1-.5.1-.8.2.3 0 .6-.1.8-.2zM99.8 136.6c-.2.1-.5.1-.7.2.3-.1.5-.2.7-.2zM101 136.2c-.3.1-.5.2-.8.3.2-.1.5-.2.8-.3zM102.1 135.8l-.9.3.9-.3zM103 135.4c-.2.1-.4.2-.6.2.2 0 .4-.1.6-.2zM59.3 111.8h-.1.3-.2zM58.4 111.9h.2-.2zM57.6 112.2c-.1.1-.2.2-.3.2.1 0 .2-.1.3-.2zM74.2 116.6v0zM61 112.2c.1 0 .1.1.2.1-.1 0-.2 0-.2-.1zM65.4 114l.1-.1-.1.1zM61.6 112.8l.2.2c0-.1-.1-.2-.2-.2zM62.7 115.2c.7-.2 1.5-.4 2.3-.5-.8.1-1.5.3-2.3.5 0-.5-.1-1.1-.4-1.6.3.5.4 1 .4 1.6zM60.1 111.9h0zM64.3 111.8c.1-.1.1-.2.2-.3l-1.2-.3c.3.3.5.6.7.9l.3-.3z" fill="#FFF"/><path d="M79.1 113.9c-.5 0-1 0-1.5-.1-.3.9-.8 1.9-1.2 2.9 0 .4-.1.9-.3 1.3l-1.9 4.4c0 .1 0 .2-.1.3 0 .1 0 .1-.1.2.4.2.8.3 1.1.5 10.3 4.3 18.9 4.8 24.5 5.2 4.9.3 8.1.5 9.2 3.2.3.9.2 1.8-.3 2.7-2.3 3.4-17.1 7.7-30.4 7.7-1.4 0-2.8 0-4.1-.1.6 1.1 1 2.1 1.4 3 .1 0 .1 0 .2-.1.6-.1 3.7-.3 5.5
.4 7.3-.3 13.6-1.7 16.9-2.6 10.5-2.8 12.4-5.5 13-6.5 1.2-1.8 1.4-3.9.7-5.8-1.9-4.7-6.8-5-12.1-5.3-5.1-.3-12.6-.8-21.5-4.1l.7-1.7c.2-.6.4-1.1.5-1.7 0-.1 0-.1.1-.2.6-1.3 1.1-2.6 1.5-3.8-.5.2-1.1.2-1.8.2z" fill="#F9F9FA"/><path d="M56.8 110.8c.1.3.1.5.2.8 0-.3-.1-.5-.2-.8zM66.7 112c-.3.6-.6 1-.7 1.2.1-.2.4-.6.7-1.2z" fill="#FFF"/><path d="M58.4 107.7c2.3.6 4.7 1.2 7 1.8 1.7-4.3 3.2-13.6-7-26-1.7 7.8-1.7 15.9 0 24.2z" fill="url(#a)"/><path d="M81.2 111.4c2.9-1.6 5.3-1.6 8.6-1.7 1.8 0 3.8-.1 6.3-.3 6.8-.7 10.9-5.8 10.9-7.8 0-.4.1-.7.3-1.1-1.7.2-3.2.2-4.6.2-6.7 0-10.6-1.5-10.8-1.6-.3-.1-.4-.4-.3-.7.1-.3.4-.4.7-.3.1 0 6 2.4 15.9 1.2 1.2-1.2 3.1-2.7 5.8-4.6 1.8-1.3 4.4-3.1 5.3-4.2-1.5-.3-5.2-.3-8.6-.3-8-.1-18.9-.1-25.4-2.8C78.5 84.6 72.6 79.5 69 76c11 13.8 11.5 25.8 9.7 33.9 0 0-.2.7-.5 1.8 1.5.1 2.5 0 3-.3z" fill="url(#b)"/><path d="M28.3 16.1c1.8-1.9 3-3.1 3.9-3.7-.2 0-.5 0-.7-.1H29c-.4 0-.7 0-1.1.1-.7.1-1.4.1-2.1.2h-.2l-1.5.3c1.5.7 3 1.8 4.2 3.2z" fill="url(#c)"/><path d="M60.1 146.8s-4.
3 5.9-3.1 9c1.2 3.1 9.3 12.9 9.3 12.9s-1.2 8.1-.8 9.6c.4 1.5 4.2 5.8 12.7 2.5s8.8-8.3 8.9-12.3c0-1.6.3-4.2.1-7.8 0-.3 3.5-4.3 1.7-11.3-.8-3.1-2.5-4.3-2.8-4.3-1.1 0-.4 0-.7-.6-1.1-2.2-25.3 2.3-25.3 2.3z" fill="#F9F9FA"/><path d="M8.9 30.2c.1.2.1.4.2.7.1.2.1.5.2.7.1.2.2.5.3.7l.3.6c.1.2.2.5.4.7.1.2.2.4.3.5.4.6.8 1.2 1.2 1.7.2.3.5.5.7.8l.3.3c.3.3.5.5.8.7l.3.3s.1 0 .1.1c.4-1 .8-1.9 1.3-2.7-2.6-.8-4.9-2.6-6.4-5.1z" fill="url(#d)"/><path d="M16.6 30.2c-.3.5-1 .7-1.5.3-.5-.3-.7-1-.3-1.5.1-.1 1.8-2.7 5.1-2.7h.4c-.6-.2-1.1-.8-1.1-1.5l.1-3.5c0-.9.7-1.5 1.6-1.5.9 0 1.5.7 1.5 1.6l-.1 2.4c.9-1.3 1.9-2.5 2.9-3.7-.1-.2-.2-.5 0-.7 1.1-1.4 2.1-2.5 3-3.4-1.2-1.4-2.7-2.4-4.3-3.2-1.5-.7-3.1-1-4.8-1h-1.5c-.2 0-.5.1-.7.1-.1 0-.2 0-.3.1-.4.1-.7.2-1.1.3-.8.2-1.5.6-2.2 1-.7.4-1.4.8-1.9 1.3-1.5 1.3-2.6 2.9-3.4 4.7-.4 1.1-.7 2.3-.8 3.5-.1 1.5 0 3.1.5 4.7.1.5.3.9.5 1.3 0 0 0 .1.1.1l.6 1.2c1.5 2.5 3.8 4.3 6.5 5.2.7-1.3 1.4-2.2 1.4-2.3.1-.1.2-.2.3-.2.6-1.4 1.4-2.9 2.2-4.3-1.7.3-2.6 1.6-2.7 1.7z" fill="#F9F9FA"/><
path d="M20.9 19.8c-.9 0-1.6.7-1.6 1.5l-.1 3.5c0 .7.4 1.3 1.1 1.5h-.4c-3.4 0-5 2.5-5.1 2.7-.3.5-.2 1.2.3 1.5.5.3 1.2.2 1.5-.3 0 0 .9-1.3 2.6-1.6.9-1.6 1.9-3.2 3.1-4.7l.1-2.4c0-.9-.6-1.6-1.5-1.7z" fill="url(#e)"/><path d="M77.5 13.6c2.2 0 4.2.6 6 1.6-1.1-.8-2-1.3-2.6-1.6-1.9-.7-3.9-1.2-6-1.6.8.9 1.6 1.6 2.6 1.6z" fill="url(#f)"/><path fill="url(#g)" d="M19.1 113.1v-.1l-.1.1"/><path d="M68 122.3c.2.1.4.2.6.4-.2-.2-.4-.3-.6-.4z" fill="url(#h)"/><path d="M46.2 67.8c.6 0 1.3 0 2-.1 6.3-.4 13.8-2.8 13.9-2.9.2-.1.5-.1.7-.1h.3c1.3-2.7 2.6-5.2 3.8-7.5-3.4 1.7-10.3 4.6-22 6.8-.9 1.1-1.7 2.2-2.6 3.4.9.3 2.2.4 3.9.4z" fill="url(#i)"/><path d="M24.7 143.9s-4.7 5.6-3.8 8.8c.9 3.2 8.4 13.7 8.4 13.7s-1.8 8.1-1.5 9.6c.3 1.5 3.8 6.1 12.6 3.5 8.8-2.6 8.9-6.7 9.3-10.7.4-4 1-16.3.7-18.8-.3-2.5-25.7-6.1-25.7-6.1z" fill="#F9F9FA"/><path d="M69.7 127.3c.1-.2.1-.5.3-.8l-.3.6v.2z" fill="url(#j)"/><path d="M65.9 150c.8.3 2.4.4 5.3-.3 1.7-.4 2.7-.9 3.3-1.3l-.6-1.8c-.6-1.4-1.3-3.1-2.2-4.8-2.1-3.4-3.7-6.1-3.7-6.
1-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2 0 0 1.1 1.8 2.6 4.3.2 0 .4.1.6.1.2 0 .4 0 .6.1.4 0 .9.1 1.3.1h.6c.4 0 .9.1 1.4.1h6c.3 0 .6 0 1-.1h.6c.3 0 .6-.1 1-.1h.5c.4 0 .7-.1 1-.1h.4c.5-.1 1-.1 1.4-.2h.3c.4-.1.8-.1 1.1-.2.2 0 .3-.1.5-.1.3 0 .6-.1.9-.1.2 0 .4-.1.5-.1.3-.1.6-.1.9-.2.2 0 .3-.1.5-.1.3-.1.6-.1.9-.2.1 0 .3-.1.4-.1l1.2-.3h.1l1.2-.3c.1 0 .3-.1.4-.1.3-.1.5-.1.8-.2.2 0 .3-.1.4-.1.2-.1.5-.1.7-.2.1 0 .3-.1.4-.1.2-.1.5-.1.7-.2.1 0 .3-.1.4-.1.3-.1.5-.2.8-.3.1 0 .1 0 .2-.1l.9-.3c.1 0 .2-.1.2-.1.2-.1.4-.2.6-.2.1 0 .2-.1.3-.1.2-.1.3-.1.5-.2.1 0 .2-.1.3-.1.2-.1.3-.1.4-.2.1 0 .2-.1.2-.1.2-.1.3-.2.4-.2.1 0 .1-.1.2-.1.2-.1.4-.2.5-.3 0 0 .1 0 .1-.1.1-.1.2-.2.3-.2l.1-.1.2-.2.1-.1c0-.1.1-.1.1-.2 0 0 0-.1.1-.1 0-.1 0-.1.1-.2v-.1-.2c-.7-1.8-4.7-1.6-10.9-2.1h-.2c-5.6-.5-12.9-1.5-21.4-5.1-.4-.2-.8-.3-1.2-.5-.7 1.6-1.3 3.1-1.3 3.5-.1 1-1.2 2.7-2.7 3.6-.8.5-1.6.7-2.5.7-.5 0-1-.1-1.5-.3-.5-.2-.8-.8-.7-1.3-1.6-.8-2.2-2.3-2.3-3.2 0-.3.2-.6.5-.6h.1c.1-1.1.7-2.2 1.8-2.8 1-.5 2.1-.5 3-.1l.4-.9-.1-.1c-.4-.2-.7-.4
-1.1-.6l-.4-.2-.5-.3-1.7 1c-.3 1.3-1.3 3.4-3.5 3.5h-.2c-3 0-3.8-1.9-4.2-3.3-.1-.3.1-.6.4-.7h.1c0-.4 0-.8.1-1.2.5-1.8 2.5-2.9 4.3-2.3.8.2 1.4.7 1.9 1.4l.2-.1c-.3-.3-.6-.5-.8-.7-.2-.2-.4-.4-.7-.6l-.9-.7c-.9.2-1.8.3-2.6.3-.5 0-.9-.1-1.2-.2-2.3-.9-2.3-3.8-2.3-3.9 0-.3.3-.5.6-.6.2 0 .3.1.4.2.1-.9.6-1.7 1.4-2.2-.1-.3-.2-.6-.2-.9-.1-.3-.1-.5-.2-.8-.1-.4-.2-.9-.3-1.3 0-.2-.1-.4-.1-.6-.1-.6-.3-1.2-.4-1.8v-.1c-1.5-8.1-1.7-17.2 1-26.8-.9-1.2-1.5-1.9-2-2.4-2 .4-4.1.6-6.5.6h-.2c-1.3 3.8-2 7.3-2.3 10.5l2.3.1c.4 0 .8.3 1 .7.2.4 0 .9-.3 1.2l-3.1 2.9c.3 6.4 2.1 11.8 3.5 16 .4 1.2.8 2.4 1.1 3.4 2.8 9.4 2.6 17.3-.4 22.2-1.7 2.7-4.1 4.4-7.1 4.9-.4.1-.9.1-1.4.1-2.3 0-4.8-1-7-2.7-2.8-2.3-7.7-7.9-8.2-20.8C26 108.9 28 101 30.6 94c-.4-.1-.7-.3-.8-.6-.2-.3-.1-.7.1-1.1l6.2-10.2c1.1-2.1 2.2-3.9 3.1-5.3-2.9-1-4.3-2.4-5-3.3-4.3 3.1-8 6.3-10.9 9.7 0 0 0 .1-.1.2 1.2-1.4 2-2.2 2.1-2.3.3-.3.7-.3 1 0 .3.3.3.7 0 1 0 0-2.8 2.8-5.2 6.6-1.3 3.7-2.7 8.5-2.6 12.2.1 4.7 1.3 7.8 2.1 9.3.9.3 1.9.5 2.9.8-.1.8-.3 1.8-.3 2.9-.5-
.1-1-.3-1.4-.4.5.3.9.6 1.4.8.2-1.5.4-2.5.4-2.7.1-.3.3-.5.6-.5.3.1.5.3.5.6 0 .1-2 11.3.5 19.2.2.6.5 1.2.7 1.8 0 .1.1.1.1.2.7 1.4 1.4 2.7 2.3 3.9 0 .2.1.4.1.6.1.3.1.6.2 1v.1c.6 3.6 1.4 7.2 2.3 9.8.8.4 2.2.6 4.7.5 2-.1 3-.5 3.6-.8 0-1 0-2-.1-3v-.1c-4.5-1.2-6.1-2.9-6.2-3-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0 0 0 1.5 1.5 5.4 2.6v-.1l2.4.6h.2c.8.2 1.6.3 2.4.4h.2c1.6.2 3.2.3 4.7.3h1.7c1.1 0 2.1-.1 3.1-.3h.3c.4 0 .8-.1 1.1-.2.1 0 .3 0 .4-.1.3-.1.6-.1 1-.2.2 0 .3-.1.5-.1.3-.1.6-.1.9-.2.2 0 .3-.1.5-.1.3-.1.6-.1.9-.2.1 0 .3-.1.4-.1l1.2-.3c1.3 2.3 3 4.6 4.9 6.9zm8-22.2c.1-.2.3-.4.5-.5.4-.1.8.1 1.2.3 4.8 2.9 14 4.5 27.2 4.6.1 0 .6 0 .8.4.1.2.1.5-.1.8-.5.7-8.8 1.8-15.3 1.8-2 0-3.8-.1-5.2-.3-5.8-1-8-3.7-8.6-4.9-.6-.8-.7-1.6-.5-2.2zm-49.7-17.2c0 .3-.3.5-.6.5s-.5-.3-.5-.6c0-.9.1-1.8.3-2.7 0-.2-.1-.3-.1-.5v-.1c0-.3-.1-.6-.1-.9v-.1-1-.1-1.1-.1c.2-3.2 1.2-7.3 4.2-11.8l.1-.1c.3-.5.7-1 1-1.5.8-2 1.5-3.3 1.5-3.5.1-.3.5-.4.7-.3.3.1.4.5.3.7-.1.4-6.3 13.7-6.8 23.2z" fill="url(#k)"/><path d="M37.2 63.9h.4c.8 0 1.6-.
1 2.4-.2h.4l2.4-.3c.1 0 .3 0 .4-.1.5-.1 1-.2 1.5-.2 13.5-2.6 20.6-6 23.1-7.5.1-.1.2-.1.4-.2.5-.3.7-.4.7-.5.1-.1.2-.1.3-.1 1.7-1 3.4-2 4.9-3.1-4.2-.1-7.5-1.9-7.7-2-.3-.1-.4-.5-.2-.8.1-.3.5-.4.8-.2 0 0 4.6 2.4 9.5 1.7 1.1-.2 2.2-.5 3.2-.8 6.7-2.1 12-6.3 14.5-11.6.2-.5.5-1.1.7-1.6.6-1.6.9-3.3.9-5.1 0-2.2-.5-4.2-1.3-6.2-.2-.5-.4-.9-.7-1.4l-.9-1.5c-.4-.6-.8-1.1-1.3-1.7-.4-.4-.8-.9-1.2-1.3l-.8-.8c.9 1.6 1.5 3.4 1.7 5.6.9 1.4 1.6 2.9 1.8 4.6 1.4 7.8-5.3 15.4-14.8 17.1-3.2.6-6.3.4-9-.4-6.2 3.4-14.2 5.7-22.1 6.6-16.5 1.9-29.8-1.4-28.8-13.1.8-8.9 9.4-22.1 19.5-29.1-.5.3-1.1.6-1.6.9-.8.5-1.6 1-2.4 1.6 0 0-2.4 1.2-7.7 7.7-.1.1-.3.2-.4.2-.1 0-.2 0-.4-.1l-.1-.1c-1 1.2-2 2.4-2.9 3.7-1.1 1.5-2.1 3.1-3.1 4.7-.8 1.4-1.5 2.8-2.2 4.3.2 0 .3 0 .5.1.3.2.3.5.1.8 0 0-2.2 3.2-3 6.3-.1.3-.1.6-.2.8 0 .1-.1.3-.1.4-.1.7-.3 1.4-.4 2.1-.1.7-.2 1.4-.2 2v.5c0 .7-.1 1.3 0 2 0 .6.1 1.2.1 1.8v.4c.1.6.2 1.1.3 1.7 0 .1 0 .1.1.2.1.5.3.9.4 1.4 0 .1.1.2.1.3.2.5.4.9.6 1.4 0 .1.1.2.1.3.2.4.4.8.7 1.1 0 .1.1.2.1.2.3.4.6.8.9 1.
1.1.1.1.2.2.2l.9.9.1.1 1.2.9c.1.1.2.1.3.2.4.3.8.5 1.3.8h.1c.4.2.9.4 1.3.7.1 0 .2.1.3.1l1.5.6c.1 0 .2.1.2.1.5.1.9.3 1.4.4.1 0 .2.1.3.1.6.1 1.1.2 1.7.3.1 0 .2 0 .4.1.5.1 1.1.2 1.6.2h.3c.6.1 1.2.1 1.9.1h2.4c1 .6 1.8.6 2.6.6z" fill="url(#l)"/><path d="M68.1 113.9c1.7-2.1 3.7-5.6 4.9-11.1 1.6-7-3-17.6-6.6-24.5-1-1.3-2-2.5-2.8-3.4-1.7.9-4.2 1.9-7.3 2.6.4.5.9 1.1 1.5 1.8 14.4 15.6 11.4 27.5 9.3 32-.1.3-.2.5-.4.7-.3.6-.6 1-.7 1.2-.2.2-.3.4-.5.6l-.1.1c-.1.2-.3.4-.4.7 1.1-.2 2.1-.4 3.1-.7z" fill="url(#m)"/><path d="M76.4 110.7c.2-.8.3-1.3.3-1.3 1.2-5.5.8-10.8-.6-15.7 1.7 6.5 1.4 12.4.3 17z" fill="url(#n)"/><path d="M30.7 86.9c-.3-.1-.6 0-.7.3-.1.2-.7 1.5-1.5 3.5-.4.5-.7 1-1 1.5l-.1.1c-3 4.5-4 8.6-4.2 11.8V106.5c0 .3.1.6.1.9v.1c0 .2 0 .3.1.5l-.3 2.7c0 .3.2.6.5.6s.5-.2.6-.5c.4-9.5 6.7-22.8 6.7-23 .2-.4.1-.8-.2-.9z" fill="url(#o)"/><path d="M32.7 105.7c-.2 0-.4-.1-.6-.2-.4-.3-.6-.8-.4-1.3l3.6-9.5-4.5-.6c-2.6 6.9-4.5 14.9-4.2 22.8.6 12.8 5.4 18.5 8.2 20.8 2.2 1.7 4.7 2.7 7 2.7.5 0 .9 0 1.4-.1 3-.
5 5.4-2.2 7.1-4.9 3-4.9 3.2-12.8.4-22.2-.3-1-.7-2.2-1.1-3.4-1.4-4.2-3.2-9.5-3.5-16l-12.5 11.6c-.4.2-.7.3-.9.3zM36.2 82.1c.2-.3.6-.6 1-.5l7.8.4c.4 0 .8.3 1 .6.2.4.1.8-.1 1.2l-3.9 5 4.1.2c.3-3.3 1-6.8 2.3-10.5-1.1 0-2.1-.1-3.2-.2-2.5-.2-4.5-.7-6-1.2-.9 1.4-1.9 3.2-3.1 5.3l.1-.3zM82.9 134.9c1.4.2 3.2.3 5.2.3 6.5 0 14.8-1.1 15.3-1.8.2-.2.2-.5.1-.8-.2-.4-.6-.4-.8-.4-13.2-.1-22.3-1.7-27.2-4.6-.5-.3-.8-.5-1.2-.3-.2.1-.4.3-.5.5-.2.5 0 1.3.4 2.2.7 1.1 2.9 3.9 8.7 4.9zM69.5 120.6h-.4l-1.9 1.2 1.3-.8c.2.1.5.2.8.2l-.6 1.4.8-2zM65.4 118.7c.1.2.2.4.4.6h.1c-.2-.3-.4-.4-.5-.6z" fill="#F9F9FA"/><path d="M57.3 112.5c-.8.5-1.2 1.4-1.4 2.2.1.1.1.2.1.3 0 0 0 2.2 1.6 2.8 1.2.5 5.3-.7 7.5-1.5h.3l.2-.1.4 1.2c.1.4.3.6.6 1l.9 1-1.1.7-1.4.9-.6.4-.6-.4c-.1-.1-.3-.2-.4-.3l-.2.1c-.4-.6-1.1-1.1-1.9-1.4-1.8-.5-3.8.5-4.3 2.3-.1.4-.1.8-.1 1.2.3 0 .5.1.6.4.4 1.5 1.1 2.5 3.3 2.5 2-.1 2.5-2.8 2.5-2.8 0-.2.1-.3.3-.4l4.5-2.8c.1 0 .1-.1.2-.1l.2-.1.3-.2h.6l1.9-.2-.8 1.8-.9 2.1-.5 1.1-1-.5-.4.9c-.9-.4-2.1-.4-3 .1-1.1.6-1.7
1.6-1.8 2.8.2 0 .5.2.5.5 0 .1.3 1.9 2.1 2.5h.5c.3.1.5.1.8.1h.3c.3-.1.6-.2.9-.4.6-.4 1-.9 1.3-1.3.3-.5.4-1 .4-1.1 0-.1 0-.3.1-.4v-.2l.3-.6c.4-1 1-2.3 1.4-3.1l2.7-6.2c0-.1.1-.2.1-.3v-.2-.3c1.1-2 1.8-4.2 2.2-5.6 1.1-4.7 1.4-10.5-.2-17-2.2-7.6-6.7-14.2-11.3-19.4-.3.2-.7.4-1.2.6.9 1 1.8 2.2 2.8 3.4 3.6 6.8 8.2 17.5 6.6 24.5-1.2 5.4-3.2 8.9-4.9 11.1-1 .2-2 .5-3 .7-.8.2-1.6.4-2.3.5 0-.5-.1-1.1-.4-1.6-.1-.3-.3-.5-.5-.7l-.2-.2c-.2-.1-.3-.3-.5-.4-.1 0-.1-.1-.2-.1-.2-.1-.5-.2-.7-.3h-.1c-.2-.1-.4-.1-.7-.1h-.3c-.2 0-.4 0-.5.1h-.2c-.3.1-.5.2-.7.3-.5 0-.6.1-.7.2zM64.4 123.5l1.7-1-1.7 1zM18.4 39.1c-1.1 11.7 12.3 15 28.8 13.1 7.9-.9 15.9-3.2 22.1-6.6 2.8.8 5.8 1 9 .4 9.5-1.7 16.1-9.3 14.8-17.1-.3-1.7-.9-3.2-1.8-4.6.2 2.6-.3 5.5-2 8.7-.1.2-.2.3-.4.4-2 4.2-6.7 7-12 6.6-4.3-.4-7.9-2.8-9.8-6.2-2.6-3.7-1.8-7.3-1.7-7.5.1-.3.4-.5.7-.4.3.1.5.4.4.7 0 .1-.4 1.5.1 3.5 1.7 4.1 5.3 7 10.3 7.2.1-.1.2-.1.4-.1.4 0 10.5-.3 11.6-9.9.7-6.3-2.5-10-5.2-12-1.8-1-3.8-1.6-6-1.6-1 0-1.8-.7-2.6-1.5h-.2c-5.5-3.8-12.5-6.3-20.1
-6.3-3.4 0-7 .5-10.6 1.6-2.1.6-4.1 1.5-6.1 2.6-10.3 6.9-18.9 20-19.7 29zM60 42c-.1 0-.2.1-.2.1-.2 0-.4-.1-.5-.3-2.6-5.6-.5-10.6-.4-10.8.1-.3.4-.4.7-.3.3.1.4.5.3.7 0 0-2 4.7.4 9.9.1.2 0 .6-.3.7zm25.3-12.3c.3.5.2 1.2-.3 1.5-.2.1-.4.2-.6.2-.4 0-.7-.2-.9-.5 0-.1-1.1-1.6-3.2-1.6s-3.2 1.6-3.2 1.6c-.3.5-1 .7-1.5.3-.5-.3-.7-1-.3-1.5.1-.1 1.8-2.7 5.1-2.7 3.2.1 4.9 2.6 4.9 2.7zm-17.2-.9h-.2c-.2 0-.5-.1-.5-.4l-.1-.3c-.1-.3.1-.6.4-.7.3-.1.6.1.7.4l.1.3c.1.3-.1.6-.4.7zm5.6 6.2h-.1c-.1 0-2.9-.6-5.1-4.3-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2 2 3.3 4.4 3.8 4.4 3.8.3.1.5.3.4.6-.1.4-.3.5-.6.5zm8.1-12.2l-.1 3.5v.3c-.4-.1-.9-.2-1.4-.2-.6 0-1.1.1-1.6.2 0-.1-.1-.3 0-.4l.1-3.5c0-.9.7-1.5 1.6-1.5.7 0 1.4.7 1.4 1.6zM72.7 14c.1.3 0 .6-.3.7 0 0-2.4.9-3.6 3.3-.1.2-.3.3-.5.3-.1 0-.2 0-.2-.1-.3-.1-.4-.5-.2-.7 1.4-2.8 4.1-3.8 4.2-3.9.2-.1.5.1.6.4zM23.4 111.2c-1-.3-2-.6-2.9-.8-.8-1.5-2-4.7-2.1-9.3-.1-3.7 1.3-8.5 2.6-12.2 2.4-3.8 5.2-6.6 5.2-6.6.3-.3.3-.7 0-1-.3-.3-.7-.3-1 0-.1.1-1 .9-2.1 2.3.1-.1.1-.2.1-.2-4.4 5.1-7.1 10.6
-8.2 16.4-1 5.3-.2 9.7.6 12.4-.1.1-.1.2-.2.3v.1c0 .1-.1.1-.1.2v.4c0 .1 0 .2.1.3l3.9 10.1v1.3c.1 1 .7 1.9 1.6 2.5.2.1.5.2.7.3h.1c.2.1.5.1.7.1H23.3c-.4-2.2-.5-4.5-.5-6.6-.1 0-.2-.1-.2-.2l-.1-.1c-.3 0-.7.1-1 .2l-1-2.7-1-1.2c-.2-.2-.2-.6.1-.8.2-.2.6-.2.8.1l1.1 1.3 1.4 1c.1-1.2.1-2.3.2-3.3-1.6-.9-3.3-2-3.6-2.1-.3-.1-.4-.4-.3-.6v-.1c.1-.3.4-.4.7-.3.2.1 1 .5 1.9 1.1.4.1.9.3 1.4.4-.1-.9 0-1.9.2-2.7z" fill="#F9F9FA"/><path d="M64.4 121.4l.6-.4 1.4-.9 1.1-.7-.9-1c-.4-.4-.5-.6-.6-1l-.4-1.2-.2.1h-.3c-2.2.8-6.3 2-7.5 1.5-1.6-.6-1.6-2.8-1.6-2.8 0-.1-.1-.3-.1-.3-.1-.1-.2-.2-.4-.2-.3 0-.6.2-.6.6 0 .1 0 3 2.3 3.9.3.1.7.2 1.2.2.8 0 1.7-.1 2.6-.3l.9.7c.3.2.5.4.7.6.2.2.5.4.8.7.1.1.2.2.4.3l.6.2zm1.4-2.1l-1.3.8c-.9-.6-1.1-.9-1.9-1.5.9-.2 1.6-.3 2.4-.7.1.4.2.6.4.9.1.1.3.2.4.5z" fill="url(#p)"/><path d="M69.6 123.1l.9-2.1.8-1.8-1.9.2h-.6l-.3.2-.2.1c-.1 0-.1 0-.2.1l-4.5 2.8c-.1.1-.2.2-.3.4 0 0-.4 2.8-2.5 2.8-2.2 0-2.9-1-3.3-2.5-.1-.3-.3-.4-.6-.4h-.1c-.3.1-.5.4-.4.7.4 1.4 1.3 3.3 4.2 3.3h.2c2.2-.1 3.2-2.2 3.
5-3.5l1.6-1 .5.3.4.2c.4.2.7.4 1.1.6l.1.1 1 .5.6-1zm-1-.4c-.2-.1-.4-.2-.6-.4-.3-.2-.6-.3-.8-.5l1.9-1.2h.4l-.9 2.1z" fill="url(#q)"/><path d="M78.7 22.7l-.1 3.5v.4c.5-.1 1-.2 1.6-.2.5 0 .9.1 1.4.2v-.3l.1-3.5c0-.9-.7-1.6-1.5-1.6-.8-.1-1.5.6-1.5 1.5z" fill="url(#r)"/><path d="M80.2 27.1c-3.4 0-5 2.5-5.1 2.7-.3.5-.2 1.2.3 1.5.5.3 1.2.2 1.5-.3 0 0 1.1-1.6 3.2-1.6s3.2 1.6 3.2 1.6c.2.3.6.5.9.5.2 0 .4-.1.6-.2.5-.3.7-1 .3-1.5.2-.2-1.5-2.7-4.9-2.7z" fill="url(#s)"/><path d="M67.8 17.5c-.1.3 0 .6.2.7.1 0 .2.1.2.1.2 0 .4-.1.5-.3 1.2-2.4 3.6-3.3 3.6-3.3.3-.1.4-.4.3-.7-.1-.3-.4-.4-.7-.3 0 0-2.7 1-4.1 3.8z" fill="url(#t)"/><path d="M59.9 31.3c.1-.3 0-.6-.3-.7-.3-.1-.6 0-.7.3-.1.2-2.2 5.2.4 10.8.1.2.3.3.5.3.1 0 .2 0 .2-.1.3-.1.4-.5.3-.7-2.4-5.1-.4-9.8-.4-9.9z" fill="url(#u)"/><path d="M73.8 33.9s-2.4-.5-4.4-3.8c-.2-.3-.5-.3-.8-.2-.3.2-.4.5-.2.8 2.3 3.8 5 4.3 5.1 4.3h.1c.3 0 .5-.2.5-.5.2-.2 0-.5-.3-.6z" fill="url(#v)"/><path d="M68.5 28.1l-.1-.3c-.1-.3-.4-.4-.7-.4-.3.1-.4.4-.4.7l.1.3c.1.2.3.4.5.4h.2c
.3-.1.5-.4.4-.7z" fill="url(#w)"/><path d="M65 71.5s0-1.4-.4-2.6c0-.2-.1-.3-.2-.4-1.4.6-6.2 2.4-15.4 3.3-6.1.6-9.9-.8-11.5-1.6l-1.9 1.7s1.1 3.3 9.7 4.1c1.1.1 2.2.1 3.2.1 10.4 0 16.5-4.6 16.5-4.6z" fill="url(#x)"/><path d="M49 71.8c9.2-.9 14-2.7 15.4-3.3-.5-.9-1.7-1.4-1.7-1.4s-7.8 2.6-14.5 3c-.7 0-1.4.1-2.1.1-5.2 0-7.2-1.2-7.2-1.2l-1.4 1.3c1.6.7 5.4 2.1 11.5 1.5z" fill="#FFF"/><path d="M47.9 83.5c.3-.3.3-.8.1-1.2-.2-.4-.5-.6-1-.6l-7.8-.4c-.4 0-.8.2-1 .5l-.1.2-6.2 10.2c-.2.3-.2.7-.1 1.1.2.3.5.6.8.6l4.5.6-3.6 9.5c-.2.5 0 1 .4 1.3.2.1.4.2.6.2.3 0 .5-.1.8-.3l12.5-11.6 3.1-2.9c.3-.3.4-.8.3-1.2-.2-.4-.5-.7-1-.7l-2.3-.1-4.1-.2 4.1-5z" fill="url(#y)"/><path d="M77.3 148.2c-.5 1.6-2.3 2.8-5.6 3.7-3.5.9-6 .8-7.5-.3-.2-.2-.4-.3-.6-.5-1.1.7-1.6 1.7-1.3 2.4.5 1.4 3.5 2.3 9.2.9 8.2-2 9.3-4.8 9.5-5.6.1-.8-.2-1.2-.3-1.3-.5-.3-1.9-.5-3.2-.4-.1.3-.1.7-.2 1.1z" fill="#FFF"/><path d="M75.7 144.9c-.1 0-.2 0-.2.1-.4-.9-.8-1.9-1.4-3 1.3.1 2.7.1 4.1.1 13.4 0 28.1-4.3 30.4-7.7.6-.8.7-1.8.3-2.7-1.1-2.7-4.3-2.
9-9.2-3.2-5.7-.4-14.2-.9-24.5-5.2-.4-.2-.8-.3-1.1-.5 0-.1 0-.1.1-.2 0-.1.1-.2.1-.3l1.9-4.4c.2-.4.3-.9.3-1.3.5-1 .9-2 1.2-2.9.5 0 1 .1 1.5.1.7 0 1.3 0 1.8-.1s1-.2 1.3-.4c2.4-1.3 4.4-1.4 7.6-1.4 1.7 0 3.8-.1 6.5-.3 7.8-.8 12.9-6.6 12.9-10 .2-.9 3.9-3.5 6.1-5.1 4.5-3.2 6.8-4.9 6.5-6.6-.3-1.8-2.7-1.9-11.1-1.9-7.8-.1-18.4-.1-24.5-2.6-4.7-1.9-8.9-5-12.2-7.9-4-3.5-6.6-6.6-6.7-6.6 0-.1-.1-.1-.2-.1 0-.6-.2-1.5-.4-2.4-.3-1.1-1.1-1.9-1.7-2.4 1.3-2.8 2.8-5.7 4.4-8.6 2.5-1.4 4.9-2.8 7-4.4C89.2 50.6 98 41.8 98 31.6c0-10.4-9.4-19.4-22.3-21.6-6.1-4.1-13.5-6.4-20.9-6.4-3.8 0-7.6.6-11.3 1.7-3.4 1.1-6.8 2.7-10.1 4.9-.6-.1-1.2-.1-1.8-.1h-1.2c-2 0-4.1.2-6.1.6-1.6-.6-3.3-.9-5-.9-1.4 0-2.9.2-4.3.7-7.5 2.4-11.7 10.4-9.3 17.9.3 1 .7 1.9 1.3 2.9.8 3.2 2.8 6.1 5.7 8.5-.7 2.9-1 5.7-1 8.4.2 11.8 8.5 18.3 23.3 18.3 1.9 0 3.8-.1 5.9-.3-.3.3-.5.7-.7 1-.3-.1-.6-.2-.9-.2-.5 0-1.1.2-1.5.6l-3.3 3c-.3.3-.6.7-.7 1.1C22 79.9 15.1 89.3 13.2 99.8c-1 5.2-.4 9.6.4 12.6-.3.8-.3 1.7 0 2.5l3.7 9.6c-.2 2.1.8 4.2 2.7 5.4.8.5 1.7.
8 2.7.8.9 3 2.1 5.6 3.7 7.8.6 3.6 1.2 6.5 1.9 8.9-1.4.4-2.5 1.3-3.1 2.3-.4.7-.6 1.5-.5 2.3.1.4.3 1.2.9 1.9 3.4 5.5 7 11.8 7.1 12.9 0 .4-.2 1.1-.3 1.9-.5 2.4-1.1 5.5-.3 7.3.4 1.1 1.8 1.6 3.8 1.6h.5c3.2-.1 8.6-1.8 9.9-6 1.4-4.1 1.2-15.5 1.1-20.3v-1.2-.9-.1-.1c0-.1 0-.2-.1-.3v-.1c-.1-.3-.2-.6-.4-.8.8 0 1.6.1 2.4.1 3.7 0 7.5-.5 11.2-1.5.9 1.1 1.7 2.1 2.4 3.1-1.2.8-2 1.8-2.3 2.9-.2.7-.2 1.4 0 2.1 0 .1-.1.1-.1.2-.1.4 0 .8.2 1 4.2 5.2 8.7 11.3 9 12.4 0 .4-.1 1.1-.2 1.9-.3 2.5-.7 5.6.3 7.3.6 1.1 2.1 1.4 3.5 1.4.6 0 1.1-.1 1.6-.1 4-.5 8.5-2.8 9.5-6.5.7-2.6.5-8 .2-12.9.9-.5 1.8-1.3 2.2-2.4 1.6-4.2 0-7.3 0-7.4-.1-.2-.3-.3-.5-.3s-.4.1-.5.3c-.4.9-1 2.3-1.8 3.3-.2-1.9-.4-3.1-.4-3.3.2-1.6-.5-2.8-1.3-3.3l-.6-.3c-2.3-1.2-5.3-.9-6-.9zm5.7 13.8c-.3.1-.5.4-.4.7.1.3.4.5.7.4 0 0 .1 0 .3-.1.3 4.5.4 9.2-.2 11.4-.5 1.9-2.6 3.5-5.6 4.4-2.6.8-4.6.6-4.9.3-.6-1.1-.3-4.1 0-5.9.1-.6.1-1.1.2-1.5.7.2 1.3.3 1.9.3 1.7 0 2.8-.7 2.9-.8.3-.2.3-.5.2-.8-.2-.3-.5-.3-.8-.2 0 0-1.8 1.1-4.3.2-.6-1.8-3.6-6-6.8-10 .6.1 1.2.1 1.
9.1 1.5 0 3.3-.2 5.6-.8 4.9-1.2 7.7-2.7 9.3-4.2 0 .4.1.9.2 1.5-1.2.4-2.8.9-3.4 2.8-.7 2.4.8 4.1.9 4.2.1.1.3.2.4.2.1 0 .3 0 .4-.1.2-.2.2-.6 0-.8 0-.1-1.2-1.3-.6-3.1.4-1.4 1.6-1.8 2.8-2.1.2-.1.3-.1.5-.2 0 .1 0 .1.1.2.1.2.3.3.5.3.1 0 .2 0 .3-.1.6-.4 2.5-1.6 2.6-2.8 0-.3-.2-.6-.5-.6h-.1c.2-.3.3-.6.5-.9.3 1.2.4 3-.4 5.2-1.1 2-4.2 2.8-4.2 2.8zm-.8-11.2c.1.1.5.5.3 1.3-.1.8-1.2 3.6-9.5 5.6-5.7 1.4-8.7.5-9.2-.9-.2-.7.2-1.7 1.3-2.4.2.2.3.3.6.5 1.5 1 4 1.1 7.5.3 3.3-.8 5.1-2 5.6-3.7.1-.4.1-.8.1-1.1 1.4 0 2.8.1 3.3.4zM69.1 76c3.5 3.5 9.4 8.6 16.3 11.4 6.5 2.7 17.4 2.8 25.4 2.8 3.4 0 7.1 0 8.6.3-.9 1-3.5 2.9-5.3 4.2-2.7 1.9-4.7 3.3-5.8 4.6-9.9 1.2-15.8-1.2-15.9-1.2-.3-.1-.6 0-.7.3-.1.3 0 .6.3.7.2.1 4 1.6 10.8 1.6 1.4 0 3-.1 4.6-.2-.2.4-.3.7-.3 1.1 0 2.1-4.1 7.1-10.9 7.8-2.6.3-4.5.3-6.3.3-3.3.1-5.7.1-8.6 1.7-.5.3-1.5.4-2.8.3.3-1.1.5-1.8.5-1.8 1.7-8.1 1.1-20.1-9.9-33.9zM44.8 64.2c11.7-2.2 18.6-5 22-6.8-1.2 2.2-2.5 4.8-3.8 7.5h-.3c-.2 0-.5 0-.7.1-.1 0-7.6 2.5-13.9 2.9-.7 0-1.3.1-2 .1-1.7 0-3-.1-4-.
3.9-1.3 1.8-2.4 2.7-3.5zm3.7 11.9c-1 0-2.1 0-3.2-.1-8.5-.8-9.7-4.1-9.7-4.1l1.9-1.7 1.4-1.3s2.1 1.2 7.2 1.2c.6 0 1.3 0 2.1-.1 6.7-.4 14.5-3 14.5-3s1.1.5 1.7 1.4c.1.1.1.3.2.4.4 1.2.4 2.6.4 2.6s-6.1 4.7-16.5 4.7zM34.7 63.9h-2.3c-.6 0-1.3-.1-1.9-.1h-.3c-.5-.1-1.1-.1-1.6-.2-.1 0-.2 0-.4-.1-.6-.1-1.1-.2-1.7-.3-.1 0-.2-.1-.3-.1-.5-.1-1-.3-1.4-.4-.1 0-.2 0-.2-.1l-1.5-.6c-.1 0-.2-.1-.3-.1-.5-.2-.9-.4-1.3-.7h-.1c-.4-.2-.9-.5-1.3-.8-.1-.1-.2-.1-.3-.2l-1.2-.9-.1-.1-.9-.9c-.1-.1-.1-.2-.2-.2-.3-.4-.6-.7-.9-1.1-.1-.1-.1-.2-.1-.2-.2-.4-.5-.7-.7-1.1 0-.1-.1-.2-.1-.3-.2-.4-.4-.9-.6-1.4 0-.1-.1-.2-.1-.3-.2-.5-.3-.9-.4-1.4 0-.1 0-.1-.1-.2-.1-.5-.2-1.1-.3-1.7V50c-.1-.6-.1-1.2-.1-1.8v-2-.5c0-.7.1-1.3.2-2s.2-1.4.4-2.1c0-.1.1-.3.1-.4.1-.3.1-.6.2-.8.8-3.1 3-6.2 3-6.3.2-.3.1-.6-.1-.8-.1-.1-.3-.1-.5-.1-.1 0-.2.1-.3.2 0 .1-.7 1-1.4 2.3-.4.8-.9 1.7-1.3 2.7 0 0-.1 0-.1-.1l-.3-.3c-.3-.2-.5-.5-.8-.7l-.3-.3c-.2-.3-.5-.5-.7-.8-.5-.5-.9-1.1-1.2-1.7-.1-.2-.2-.4-.3-.5-.1-.2-.3-.5-.4-.7l-.3-.6c-.1-.2-.2-.5-.3-.7-.1-.2-.
2-.5-.2-.7-.1-.2-.1-.4-.2-.7-.2-.4-.5-.8-.6-1.2 0 0 0-.1-.1-.1-.2-.4-.4-.9-.5-1.3-.5-1.6-.6-3.1-.5-4.7.1-1.2.4-2.4.8-3.5.7-1.8 1.9-3.4 3.4-4.7.6-.5 1.2-1 1.9-1.3.7-.4 1.4-.7 2.2-1 .4-.1.7-.2 1.1-.3.1 0 .2 0 .3-.1.2 0 .5-.1.7-.1H19.4c1.7 0 3.3.4 4.8 1l1.5-.3h.2c.7-.1 1.4-.2 2.1-.2.4 0 .7-.1 1.1-.1h2.5c.2 0 .5 0 .7.1-.8.7-2.1 1.8-3.9 3.7-.9.9-1.8 2.1-3 3.4-.2.2-.2.5 0 .7l.1.1c.1.1.2.1.4.1s.3-.1.4-.2c5.3-6.5 7.6-7.7 7.7-7.7.8-.6 1.6-1.1 2.4-1.6.5-.3 1.1-.6 1.6-.9 2-1.1 4-2 6.1-2.6 3.6-1.1 7.2-1.6 10.6-1.6 7.6 0 14.5 2.4 20.1 6.3h.2c2.1.3 4.1.9 6 1.6.6.3 1.6.8 2.6 1.6 2.7 2 5.9 5.7 5.2 12-1.1 9.6-11.2 9.9-11.6 9.9-.1 0-.3.1-.4.1-5-.2-8.6-3.1-10.3-7.2-.5-1.9-.1-3.3-.1-3.5.1-.3-.1-.6-.4-.7-.3-.1-.6.1-.7.4 0 .2-.9 3.8 1.7 7.5 1.8 3.4 5.5 5.9 9.8 6.2 5.3.4 10-2.3 12-6.6.2-.1.3-.2.4-.4 1.7-3.3 2.2-6.2 2-8.7-.2-2.1-.8-4-1.7-5.6l.8.8c.4.4.8.9 1.2 1.3.5.5.9 1.1 1.3 1.7l.9 1.5c.2.4.5.9.7 1.4.8 1.9 1.3 4 1.3 6.2 0 1.8-.3 3.5-.9 5.1-.2.5-.4 1.1-.7 1.6-2.5 5.2-7.7 9.4-14.5 11.6-1 .3-2.1.6-3.2.8-4.9
.7-9.5-1.7-9.5-1.7-.3-.1-.6 0-.8.2-.1.3 0 .6.2.8.2.1 3.5 1.8 7.7 2-1.6 1.1-3.2 2.1-4.9 3.1-.1 0-.2 0-.3.1 0 0-.2.2-.7.5-.1.1-.2.1-.4.2-2.5 1.4-9.6 4.9-23.1 7.5-.5.1-1 .2-1.5.2-.1 0-.3 0-.4.1l-2.4.3h-.4c-.8.1-1.6.1-2.4.2h-.4c-.8 0-1.6.1-2.4.1v-.8zm9.2 106.6c-.9 2.8-4.7 3.9-5.8 4.2-2.5.6-4 .2-4.2 0-.5-1.2.1-4.2.4-6l.3-1.5c.8.3 1.5.4 2.1.4 1.4 0 2.3-.5 2.3-.6.3-.2.3-.5.2-.8-.2-.3-.5-.3-.8-.2 0 0-1.7 1-3.8-.1-.4-1.9-3.1-6.6-5.5-10.6 1.1.2 2.4.4 4 .4.6 0 1.2 0 1.9-.1 5.1-.3 8.1-1.4 9.8-2.7.2 5.6.1 14.4-.9 17.6zm.7-21.7c.1.1.3.6.1 1.2-.3.7-1.8 3.2-9.8 3.7-5.5.4-8.2-1-8.4-2.3-.1-.7.5-1.5 1.6-2 .1.2.3.4.4.6 1.2 1.2 3.6 1.8 7 1.5 3.2-.2 5.2-1 5.9-2.5.2-.3.3-.7.3-1 1.3.1 2.5.4 2.9.8zm16.2-5.3l-1.2.3c-.1 0-.3.1-.4.1-.3.1-.6.2-.9.2-.2 0-.3.1-.5.1-.3.1-.6.1-.9.2-.2 0-.3.1-.5.1-.3.1-.6.1-1 .2-.1 0-.3.1-.4.1-.4.1-.8.1-1.1.2h-.3c-1 .1-2 .2-3.1.3H49h-.1-.1c-1.5 0-3.1-.1-4.7-.3h-.2c-.8-.1-1.6-.2-2.4-.4h-.2l-2.4-.6v.1c-3.9-1.1-5.3-2.6-5.4-2.6-.2-.2-.6-.2-.8 0-.2.2-.2.6 0 .8.1.1 1.8 1.8 6.2 3v.1c0 1 .1
2 .1 3-.5.3-1.6.7-3.6.8-2.5.2-3.9-.1-4.7-.5-.9-2.6-1.7-6.2-2.3-9.8v-.1c-.1-.3-.1-.6-.2-1 0-.2-.1-.4-.1-.6-.9-1.2-1.7-2.5-2.3-3.9 0-.1-.1-.1-.1-.2-.3-.6-.5-1.2-.7-1.8-2.5-7.9-.5-19.1-.5-19.2.1-.3-.1-.6-.5-.6-.3-.1-.6.1-.6.5 0 .1-.2 1.1-.4 2.7-.5-.3-1-.6-1.4-.8-.9-.6-1.7-1-1.9-1.1-.3-.1-.6.1-.7.3v.1c-.1.3.1.5.3.6.2.1 2 1.1 3.6 2.1-.1 1-.2 2.1-.2 3.3v.7l-1.4-1.7-1.1-1.3c-.2-.2-.5-.3-.8-.1-.2.2-.3.5-.1.8l1 1.2 2 2.5.1.1.2.2c0 2.1.1 4.4.5 6.6h-.8-.1c-.2 0-.5-.1-.7-.1h-.1c-.2-.1-.5-.2-.7-.3-.9-.6-1.5-1.5-1.6-2.5v-.1-.5-.1-.3-.3l-3.9-10.1c0-.1-.1-.2-.1-.3v-.1-.2-.1c0-.1 0-.1.1-.2v-.1c.1-.1.1-.2.2-.3-.8-2.8-1.5-7.1-.6-12.4 1.1-5.8 3.8-11.3 8.2-16.4 2.9-3.4 6.5-6.6 10.9-9.7.7 1 2.1 2.3 5 3.3 1.5.5 3.5 1 6 1.2 1.1.1 2.2.1 3.2.2h.2c2.4 0 4.6-.2 6.5-.6.4.5 1.1 1.2 2 2.4-2.7 9.6-2.5 18.7-1 26.8v.1c.1.6.2 1.2.4 1.8 0 .2.1.4.1.6.1.4.2.9.3 1.3.1.3.1.5.2.8.1.3.2.6.2.9.1-.1.2-.2.3-.2.2-.1.5-.2.7-.3h.2c.2 0 .4-.1.5-.1h.2c.2 0 .5 0 .7.1h.1c.3.1.5.2.7.3.1 0 .1.1.2.1.2.1.3.2.5.4l.2.2c.2.2.4.4.5.7.3.5.4
1 .4 1.6.7-.2 1.5-.4 2.3-.5.1-.2.2-.5.4-.7 0-.1.1-.1.1-.1.1-.2.3-.4.5-.6.1-.2.4-.6.7-1.2.1-.2.2-.5.4-.7 2.1-4.5 5.1-16.4-9.3-32-.6-.8-1.1-1.4-1.5-1.8 3.1-.7 5.6-1.7 7.3-2.6.5-.2.9-.4 1.2-.6 4.6 5.2 9.2 11.8 11.3 19.4 1.4 4.9 1.8 10.2.6 15.7 0 0-.1.5-.3 1.3-.4 1.4-1.1 3.6-2.2 5.6v.5c0 .1 0 .2-.1.3l-2.7 6.2c-.4.8-1 2.1-1.4 3.1-.1.3-.2.6-.3.8 0 .2-.1.3-.1.4 0 .1-.1.6-.4 1.1-.3.4-.7.9-1.3 1.3-.3.2-.6.3-.9.4h-.3c-.3 0-.5 0-.8-.1-.2-.1-.3-.1-.5 0-1.8-.6-2.1-2.4-2.1-2.5 0-.3-.2-.4-.5-.5h-.1c-.3 0-.5.3-.5.6.1.8.7 2.4 2.3 3.2-.1.5.2 1.1.7 1.3.5.2 1 .3 1.5.3.8 0 1.7-.2 2.5-.7 1.5-.9 2.6-2.6 2.7-3.6.1-.4.6-1.9 1.3-3.5.4.2.8.3 1.2.5 8.5 3.5 15.9 4.6 21.4 5.1h.2c6.3.5 10.2.3 10.9 2.1V133.5c0 .1 0 .1-.1.2 0 0 0 .1-.1.1 0 .1-.1.1-.1.2l-.1.1-.2.2-.1.1c-.1.1-.2.2-.3.2 0 0-.1 0-.1.1-.2.1-.3.2-.5.3-.1 0-.1.1-.2.1-.1.1-.3.2-.4.2-.1 0-.2.1-.2.1-.1.1-.3.1-.4.2-.1 0-.2.1-.3.1-.2.1-.3.1-.5.2-.1 0-.2.1-.3.1-.2.1-.4.2-.6.2-.1 0-.2.1-.2.1l-.9.3c-.1 0-.1 0-.2.1-.3.1-.5.2-.8.3-.1 0-.2.1-.4.1-.2.1-.5.1-.7.2-.1 0
-.3.1-.4.1-.2.1-.5.1-.7.2-.1 0-.3.1-.4.1-.3.1-.5.1-.8.2-.1 0-.3.1-.4.1l-1.2.3h-.1l-1.2.3c-.1 0-.3.1-.4.1-.3.1-.6.1-.9.2-.2 0-.3.1-.5.1-.3.1-.6.1-.9.2-.2 0-.4.1-.5.1-.3.1-.6.1-.9.1-.2 0-.3.1-.5.1-.4.1-.8.1-1.1.2h-.3c-.5.1-1 .1-1.4.2h-.4c-.3 0-.7.1-1 .1h-.5c-.3 0-.6.1-1 .1h-.6c-.3 0-.6 0-1 .1h-6c-.5 0-.9 0-1.4-.1h-.6c-.4 0-.9-.1-1.3-.1-.2 0-.4 0-.6-.1-.2 0-.4-.1-.6-.1-1.5-2.5-2.6-4.3-2.6-4.3-.2-.3-.5-.4-.8-.2-.3.2-.4.5-.2.8 0 0 1.6 2.7 3.7 6.1.9 1.7 1.7 3.3 2.2 4.7l.6 1.8c-.6.4-1.6.9-3.3 1.3-2.8.7-4.4.6-5.3.3-1.4-2.6-3.1-4.9-4.6-6.8zm3.7-32c-.1.1-.1.2-.2.3l-.3.3c-.2-.3-.5-.6-.7-.9l1.2.3zm1-2c-2.4-.6-4.8-1.2-7-1.8-1.7-8.3-1.7-16.4 0-24.2 10.1 12.4 8.6 21.7 7 26z" fill="url(#z)"/><path d="M35 155.9c-.7 0-1.3.1-1.9.1-1.6 0-3-.2-4-.4 2.4 4 5 8.7 5.5 10.6 2.2 1.1 3.8.1 3.8.1.3-.2.6-.1.8.2.2.3.1.6-.2.8-.1 0-1 .6-2.3.6-.6 0-1.3-.1-2.1-.4-.1.4-.2.9-.3 1.5-.3 1.8-.9 4.8-.4 6 .2.2 1.8.5 4.2 0 1.1-.3 4.8-1.3 5.8-4.2 1.1-3.2 1.1-12 1-17.3-1.8 1-4.7 2-9.9 2.4z" fill="url(#A)"/><path d="M41.5 148.8
c-.8 1.5-2.7 2.3-5.9 2.5-3.4.2-5.8-.3-7-1.5-.2-.2-.3-.4-.4-.6-1.1.5-1.7 1.3-1.6 2 .2 1.4 2.9 2.7 8.4 2.3 8-.5 9.5-2.9 9.8-3.7.2-.6 0-1.1-.1-1.2-.4-.4-1.6-.7-2.8-.9-.1.5-.2.8-.4 1.1z" fill="#FFF"/><path d="M85.3 156c.8-2.2.7-4.1.4-5.2-.1.3-.3.6-.5.9h.1c.3 0 .5.3.5.6-.2 1.1-2.1 2.4-2.6 2.8-.1.1-.2.1-.3.1-.2 0-.4-.1-.5-.3 0-.1-.1-.1-.1-.2-.2.1-.3.1-.5.2-1.1.4-2.3.7-2.8 2.1-.6 1.7.6 3 .6 3.1.2.2.2.6 0 .8-.1.1-.2.1-.4.1s-.3-.1-.4-.2c-.1-.1-1.6-1.8-.9-4.2.6-1.9 2.2-2.4 3.4-2.8-.1-.5-.1-1-.2-1.5-1.6 1.5-4.4 3-9.3 4.2-2.3.6-4.1.8-5.6.8-.7 0-1.3-.1-1.9-.1 3.2 4.1 6.2 8.2 6.8 10 2.5 1 4.3-.2 4.3-.2.3-.2.6-.1.8.2.2.3.1.6-.2.8-.1 0-1.2.8-2.9.8-.6 0-1.2-.1-1.9-.3 0 .4-.1 1-.2 1.5-.2 1.8-.6 4.8 0 5.9.3.3 2.3.5 4.9-.3 3-.9 5.1-2.6 5.6-4.4.6-2.2.5-6.9.2-11.4-.2 0-.3.1-.3.1-.3.1-.6-.1-.7-.4-.1-.3.1-.6.4-.7.3-.1 3.4-.9 4.2-2.8z" fill="url(#B)"/></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/figure_private.svg b/browser/extensions/onboarding/content/img/figure_private.svg
new file mode 100644
index 000000000000..f90163e4b4d7
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/figure_private.svg
@@ -0,0 +1 @@
+<svg width="289" height="237" viewBox="0 0 289 237" xmlns="http://www.w3.org/2000/svg"><title>private-browsing</title><defs><linearGradient x1="12.376%" y1="17.359%" x2="82.943%" y2="91.352%" id="a"><stop stop-color="#E60024" offset="0%"/><stop stop-color="#ED00B5" offset="51.53%"/><stop stop-color="#8000D7" offset="100%"/></linearGradient><linearGradient x1="-3.914%" y1=".14%" x2="98.417%" y2="106.522%" id="b"><stop stop-color="#E60024" offset="0%"/><stop stop-color="#ED00B5" offset="51.53%"/><stop stop-color="#8000D7" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M-30-29h352v303H-30z"/><g fill-rule="nonzero"><g><ellipse fill="#EDEDF0" cx="226.9" cy="229.8" rx="54.2" ry="6.7"/><g fill="#D7D7DB"><path d="M195.6 79.5h-76.5c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h76.5c.6 0 1.1.5 1.1 1.1 0 .6-.4 1.1-1.1 1.1zM148.7 73.8h-19.2c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h19.2c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zM260.7 84.5h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0
.6.2.6.6 0 .4-.3.6-.6.6zm-5.6 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-12.3 0h-13.4c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-23.4 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5.6 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-12.3 0h-13.4c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zm-23.4 0H177c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5.6 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-12.2 0h-13.4c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6z"/></g><g transform="translate(171 26)"><path d="M31.5 4.5c0 .1 0 .1-.1.2l-3.7.6-2.3.4c-.1 0-.1 0-.2-.1l-.7-4.2c0-.1 0-.1.1-.2l6-.9c.1 0 .1 0 .2.1l.7 4.1z" fill="#D7D7DB"/><path d="M35 26.7L5.2 31.4c-.8.1-1.5-.4-1.7-1.2L.2 9.2c-.1-.8.4-1.5 1.2-1.7l29.8-4.7c.8-.1 1.5.4 1.7 1.2l3.3 21c.1.8-.4 1.5-1.2 1.7z" fill="#D7D7DB"/><path d="
M32.1 9.4s-.1.1 0 0l-4.8.8h-.1l-.3-1.9s0-.1.1-.1l4.7-.7h.1l.3 1.9z" fill="#F9F9FA"/><circle transform="rotate(-8.946 119.14 -7.38)" cx="2.592" cy="2.794" r="1.7" fill="#F9F9FA"/><circle transform="rotate(-8.946 52.95 -31.036)" cx="11.1" cy="10.705" r="9.3" fill="#F9F9FA"/><path d="M17.2 10.9c-3.2.5-5.4 3.5-4.9 6.7s3.5 5.4 6.7 4.9 5.4-3.5 4.9-6.7c-.5-3.3-3.5-5.4-6.7-4.9z" fill="#D7D7DB"/><circle fill="#F9F9FA" transform="rotate(-8.946 19.487 14.795)" cx="19.487" cy="14.795" r="1.1"/></g><g transform="translate(46)"><path d="M30.4 4.8c0 .1 0 .1-.1.1l-3.6.3-2.2.2c-.1 0-.1 0-.1-.1L24 1.2c0-.1 0-.1.1-.1l5.8-.5c.1 0 .1 0 .1.1l.4 4.1z" fill="#D7D7DB"/><path d="M32.3 26.2L3.5 28.7c-.8.1-1.4-.5-1.5-1.3L.2 7.1c-.1-.8.5-1.4 1.3-1.5l28.8-2.5c.8-.1 1.4.5 1.5 1.3l1.8 20.3c0 .7-.6 1.4-1.3 1.5z" fill="#D7D7DB"/><path d="M30.6 9.4c0 .1 0 .1 0 0l-4.7.5c-.1 0-.1 0-.1-.1l-.2-1.9s0-.1.1-.1l4.6-.4c.1 0 .1 0 .1.1l.2 1.9z" fill="#F9F9FA"/><circle transform="rotate(-4.97 187.782 -12.435)" cx="2.497" cy="2.6
01" r="1.7" fill="#E1E1E6"/><circle transform="rotate(-4.97 70.888 -67.624)" cx="9.799" cy="10.501" r="8.9" fill="#F9F9FA"/><path d="M16.3 9.9c-3.1.3-5.4 3-5.1 6.1.3 3.1 3 5.4 6.1 5.1 3.1-.3 5.4-3 5.1-6.1-.3-3.1-3-5.4-6.1-5.1z" fill="#D7D7DB"/><circle fill="#F9F9FA" transform="rotate(-4.97 18.195 13.8)" cx="18.195" cy="13.8" r="1"/></g><path d="M170.8 55.2h24.5s-7.7-17.2 8.6-19.4c14.5-2 20.3 13 20.3 13s1.7-8.6 10.4-7c8.5 1.6 14.8 15.3 14.8 15.3h21.4" fill="#F9F9FA"/><path d="M271.2 53.1h-8.6c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h8.6c.3 0 .6.2.6.6 0 .3-.3.6-.6.6zm-18.6 0h-1.1c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.1c.3 0 .6.2.6.6-.1.3-.3.6-.6.6zm-56.9-.7h-2.2c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.4c0-.1-.1-.2-.1-.3-.1-.3 0-.6.3-.7.3-.1.6 0 .7.3.2.6.4 1 .4 1 .1.2.1.4 0 .5-.1.3-.3.4-.5.4zm-11.1 0h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm63.8-1.8c-.2 0-.4-.1-.5-.3-.6-1-1.2-1.9-1.9-2.7-.2-.2-.1-.6.1-.8.2-.2.6-.1.8.1.7.9 1.3 1.8 1.9 2.8.2.3.1.6-.2.8 0 .1-.1.1-.2.1zm-5
4.2-3.5c-.3 0-.5-.2-.5-.5-.1-.4-.1-.7-.2-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.2 1.1 0 .2-.2.5-.6.6zm28.8-4.2c-.2 0-.4-.1-.5-.3l-.6-.9c-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.2.3.4.7.6 1 .2.3.1.6-.2.8-.1-.1-.2 0-.3 0zm17.3-1.4c-.1 0-.2 0-.3-.1-1.7-1.2-3.4-2-5.1-2.4-.7-.1-1.4-.2-2-.2-1.8 0-3.3.5-4.6 1.5-.2.2-.6.2-.8-.1-.2-.2-.2-.6.1-.8 1.5-1.2 3.3-1.8 5.3-1.8.7 0 1.5.1 2.2.2 1.8.4 3.7 1.2 5.6 2.5.2.2.3.5.1.8-.1.3-.3.4-.5.4zm-20.7-3.1c-.1 0-.3-.1-.4-.2-.8-.8-1.6-1.5-2.4-2.1-.2-.2-.3-.5-.1-.8.2-.2.5-.3.8-.1.9.7 1.8 1.4 2.6 2.3.2.2.2.6 0 .8-.2.1-.3.1-.5.1zm-23.1-1.8c-.1 0-.3 0-.4-.2-.2-.2-.2-.6 0-.8 1.8-2 4.6-3.2 8.2-3.7 1.6-.2 3.2-.2 4.7-.1.3 0 .5.3.5.6s-.3.5-.6.5c-1.4-.2-2.9-.1-4.5.1-3.3.5-5.9 1.6-7.5 3.4-.1.1-.2.2-.4.2z" fill="#D7D7DB"/><path d="M271.9 57.4H170.8c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1H272c.6 0 1.1.5 1.1 1.1-.1.6-.6 1.1-1.2 1.1z" fill="#F9F9FA"/><g><path d="M26.5 27h13.7s-4.3-9.5 4.8-10.8c8.1-1.1 11.3 7.2 11.3 7.2s1-4.8 5.8-3.9c4.7.9 8.2 8.5 8.2 8.5h11.9" fill="#F9F9FA"/><pat
h d="M40.3 25.5H26.9c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm41.5-.2h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5.6 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-19.6-3.4c-.2 0-.4-.1-.5-.4 0 0-.1-.4-.4-.9-.1-.3 0-.6.2-.8.2-.1.4-.1.6 0 .7-1.5 2.2-3.2 4.7-3.2.4 0 .8 0 1.3.1 1.4.3 2.9 1 4.3 2.2.2.2.3.6.1.8-.2.2-.6.3-.8.1-1.3-1.1-2.5-1.7-3.8-2-.4-.1-.7-.1-1.1-.1-3.3 0-4 3.4-4 3.5 0 .2-.2.4-.4.4-.1.3-.1.3-.2.3zm-16-4.8c-.1 0-.2 0-.3-.1-.3-.2-.3-.5-.1-.8.7-1 1.7-1.7 2.9-2.1.3-.1.6 0 .7.3.1.3 0 .6-.3.7-1 .4-1.8 1-2.4 1.7-.2.3-.4.3-.5.3zm8.1-2.3h-.1c-.3-.1-.7-.1-1-.1-.3 0-.5-.3-.5-.6s.3-.5.6-.5c.4 0 .8.1 1.2.2.3.1.5.4.4.7-.1.1-.3.3-.6.3z" fill="#D7D7DB"/><path d="M83 29.3H26.7c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1H83c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1z" fill="#F9F9FA"/></g><g><path d="M6.5 172.2c-2.8 0-5-2.1-5-4.8v-118c0-2.9 2.4-5.3 5.3-5.3h126.7c2.9 0 5.3 2.4 5.3 5.3v118c0 2.6-2.3 4.8-5 4.8H6.5z" f
ill="#FFF"/><path d="M133.5 45.1c2.3 0 4.2 1.9 4.2 4.2v118c0 2-1.8 3.7-3.9 3.7H6.5c-2.2 0-3.9-1.6-3.9-3.7V49.4c0-2.3 1.9-4.2 4.2-4.2h126.7v-.1zm0-2.2H6.8c-3.6 0-6.5 2.9-6.5 6.5v118c0 3.3 2.8 5.9 6.2 5.9h127.3c3.4 0 6.2-2.6 6.2-5.9v-118c0-3.6-2.9-6.5-6.5-6.5z" fill="#D7D7DB"/><path d="M133.1 66.2v99.1c0 1-.1 1.2-.1 1.2s-.3.1-1.2.1H8.5c-1 0-1.2-.1-1.2-.1s-.1-.3-.1-1.2V66.2h125.9zm1.2-1.1H6.1v100.2c0 2.1.4 2.5 2.5 2.5h123.3c2.1 0 2.5-.4 2.5-2.5V65.1h-.1z" fill="#D7D7DB"/><g fill="#D7D7DB"><circle cx="3.6" cy="3" r="2.9" transform="translate(10 52)"/><circle cx="2.9" cy="3" r="2.9" transform="translate(20 52)"/><path d="M102 58.3H38.3c-1.7 0-3.1-1.4-3.1-3.1v-.3c0-1.7 1.4-3.1 3.1-3.1H102c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.7-1.4 3.1-3.1 3.1z"/><g><circle cx="3.5" cy="3" r="2.9" transform="translate(114 52)"/><circle cx="3.7" cy="3" r="2.9" transform="translate(123 52)"/></g></g><path d="M88.2 127.5c-7.2 0-12.1-8.6-19-8.6s-12.2 8.6-19 8.6c-8.8 0-15.4-8.3-15.5-22.6-.1-8.9 2.6-11.7 14.1-11.7s14.8
4.7 20.4 4.7c5.6 0 8.9-4.7 20.4-4.7 11.5 0 14.1 2.8 14.1 11.7-.1 14.3-6.7 22.6-15.5 22.6zm-33.8-23.4c-7 .3-9.8 4.4-9.8 5.5 0 1 4.6 3.9 9.1 3.9s9.8-1.7 9.8-3.1c.1-1.7-2.5-6.6-9.1-6.3zm29.6 0c-6.6-.3-9.1 4.6-9.1 6.2 0 1.5 5.3 3.1 9.8 3.1 4.5 0 9.1-2.9 9.1-3.9 0-.9-2.8-5.1-9.8-5.4z" fill="#D7D7DB"/></g></g><path d="M215.6 218.3c.2.5.4.9.6 1.4.4.9.8 1.6 1.2 2.2-.4-.6-.7-1.4-1.2-2.2-.2-.5-.4-.9-.6-1.4z" fill="#FFF"/><g transform="translate(78 151)"><ellipse fill="#EDEDF0" cx="25.2" cy="77.6" rx="21.9" ry="4.3"/><circle fill="#D7D7DB" cx="24.7" cy="37.4" r="6.9"/><path d="M30.2 80.7c-.6 0-1-.4-1.1-1l-4.6-39.3c-4.8 15.4-10.8 34.9-11 36.3 0 .6-.5 1.1-1.1 1.1-.6 0-1.1-.5-1.1-1.2 0-1.3 8.8-29.7 12.7-41.9.2-.5.7-.8 1.2-.8s.9.5 1 1l5.3 44.5c.1.6-.4 1.2-1 1.2-.2.1-.3.1-.3.1z" fill="#D7D7DB"/><path d="M35 75.4c-.5 0-1-.3-1.1-.8L23.8 35.3c-.2-.6.2-1.2.8-1.4.6-.2 1.2.2 1.4.8L36.1 74c.2.6-.2 1.2-.8 1.4H35zM38.9 5.7c0 .1 0 .2-.1.2l-4.6.9-2.8.6c-.1 0-.2 0-.2-.1l-1-5.3c0-.1 0-.2.1-.2L37.7.3c.1 0 .2 0 .
2.1l1 5.3z" fill="#D7D7DB"/><path d="M44.4 33.2l-37 7.3c-1 .2-1.9-.4-2.1-1.4L.1 13c-.2-1 .4-1.9 1.4-2.1l37-7.3c1-.2 1.9.4 2.1 1.4l5.2 26.1c.2 1-.4 1.9-1.4 2.1z" fill="#D7D7DB"/><path d="M39.5 9.7c0 .1 0 .1-.1.1L33.5 11c-.1 0-.1 0-.2-.1l-.6-3.2c0-.1 0-.1.1-.1l5.9-1.2c.1 0 .1 0 .2.1l.6 3.2z" fill="#F9F9FA"/><circle transform="rotate(-11.21 127.568 -5.075)" cx="3.292" cy="3.304" r="2.2" fill="#F9F9FA"/><circle transform="rotate(-11.21 54.056 -27.865)" cx="13.892" cy="14.489" r="11.7" fill="#F9F9FA"/><path d="M21.4 14.3c-4 .8-6.5 4.6-5.8 8.6.8 4 4.6 6.5 8.6 5.8 4-.8 6.5-4.6 5.8-8.6-.7-4-4.6-6.6-8.6-5.8z" fill="#D7D7DB"/><path d="M21.8 16.1c-2.9.6-4.8 3.4-4.3 6.4.6 2.9 3.4 4.8 6.4 4.3 2.9-.6 4.8-3.4 4.3-6.4-.6-3-3.5-4.9-6.4-4.3zm2.9 4.4c-.7.1-1.4-.3-1.6-1-.2-.7.3-1.4 1-1.6.7-.1 1.4.3 1.6 1 .2.7-.3 1.4-1 1.6z" fill="#F9F9FA"/></g><g><path d="M281 118c.4-.9 1.4-1.3 2.3-.9.2.1.4.2.5.4-.1-.2-.3-.3-.5-.4-.2-.1-.5-.2-.7-.2-.7 0-1.3.4-1.6 1.1l-.1.1.1-.1zM265.6 124.8c0 .1 0 .1.1.2h-.1.1c0-.1-.1-
.2-.1-.2zM277.6 116.2c.1-.9.9-1.7 1.8-1.6.4 0 .6.2.8.4-.2-.2-.4-.3-.8-.4h-.1c-.9 0-1.6.7-1.7 1.6 0 0 0 .5-.1 1.2.1-.7.1-1.1.1-1.2zM179.4 147.8c-.4-.1-.7-.3-1-.6.2.3.6.5 1 .6zM184.1 82.5c2.8-1.7 11.1.7 17.1 3.9 1.5.8 3.4 1.9 5.1 3.4 3-1.1 6.5-2.1 10.9-2.9 4.4-.8 8.2-1 11.4-.8 1.2-2 2.6-3.8 3.8-5.1 4.6-5.1 11.6-10.1 14.7-9.5 3.7.7 10.7 12.6 10.2 25.1l.1.1c.5-12.6-6.5-24.6-10.3-25.3-.2 0-.4-.1-.6-.1-3.5 0-9.9 4.8-14.2 9.6-1.2 1.3-2.6 3.1-3.8 5.1h-1.7c-2.8 0-5.9.2-9.5.9-4.3.8-7.9 1.8-10.8 2.9-1.8-1.4-3.7-2.6-5.2-3.4-4.6-2.5-10.6-4.5-14.4-4.5-1.2 0-2.1.2-2.8.6-3.3 2-5.8 15.5-1.1 27.1 0-.1.1-.1.1-.2-4.7-11.6-2.3-25 1-26.9zM272.8 116.3c-.5-.9-.1-2.1.8-2.5.9-.5 1.6.7 2.1 1.3.5.5.9.7 1.3 1.4-.4-.7-.8-.8-1.3-1.4-.4-.5-1-1.4-1.7-1.4-.1 0-.3 0-.4.1-.9.4-1.3 1.6-.8 2.5l1.4 2.9.6 1.3-.6-1.3-1.4-2.9zM266.8 122.7c.7-.3 1.2-.9 1.6-1.2.7-.5 2.4-.8 3.3-.6 1 .2 2 .4 2.8.8-.9-.4-1.8-.6-2.8-.8h-.5c-.9 0-2.2.3-2.8.7-.4.2-.9.8-1.6 1.1-.3.1-.6.3-.9.5.3-.2.6-.4.9-.5zM180.6 127.8c0 .3.1.6.1.9.1.6.2 1.2.4 1.7-
.1-.6-.3-1.1-.4-1.7 0-.4 0-.7-.1-.9zM183.5 110.6c0 .1-.1.1-.1.2-.1.2-.1.3-.2.5.1-.2.2-.5.3-.7zM206.3 174.4c-1.3 3.9-2.3 7.7-2.9 11.2.6-3.6 1.6-7.6 3-11.5-.1.2-.1.2-.1.3zM166.4 141.2c-.3-.4-.3-.7-.7-1.3.4.6.4.9.7 1.3zM168.8 133.7h-.2c.3 0 .6 0 .8.1-.1-.1-.4-.1-.6-.1zM171 135.2c.2-1 .6-1.3.9-2 .3-.7.6-2 1.7-1.9.5.1.9.4 1.2.8-.3-.4-.7-.7-1.2-.8h-.2c-.9 0-1.2 1.2-1.5 1.9-.4.7-.8.9-.9 2 0 .2-.1.4-.1.7 0-.3 0-.5.1-.7zM167.8 137.6c-.1-.5-.1-1.2-.2-1.8-.2-.9-.3-1.6.6-2 .1 0 .1 0 .2-.1h-.2c-.9.3-.8 1.1-.6 2 .1.7.1 1.3.2 1.9l-.1-.1c-.3-.4-.8-.6-1.3-.6h-.2c.5-.1 1.1.1 1.5.6l.1.1zM199.5 161.1l-.2.2c-.5.4-1.2.7-1.8.7-.8 0-1.6-.4-2.2-1-.1-.1-2.7-3.3-4.4-7.2-.6-1.5-1.2-3-1.7-4.4-.4.9-.8 1.7-1.4 2.4.1.3.1.6.1.9 0 .3.5 6.4 6.5 8.9 1.8.8 3.6 1.1 5.4 1.1 3.3 0 6-1.2 7.9-2.4-2.8.5-5.5.8-7.5.8h-.7zM171.2 146.5s.1 0 0 0c.1 0 0 0 0 0zM259.3 150.6c-1.4.6-3.2 1.1-5.1 1.5 1.9-.1 3.7-.5 5.4-1.3-.2-.1-.2-.2-.3-.2zM266.1 138.4c-.1-.3-.1-.6-.2-1-.2-.1-.4-.3-.6-.5 0 1.3-.1 2.6-.1 3.9-.1 2.4-.6 4.6-1 6.2 2.9-3.9 1
.9-8.4 1.9-8.6zM172.9 149.4c.1.3.3.5.5.7-.2-.2-.4-.5-.5-.7zM185 139.2l-.6.1.6-.1zM180.7 137.2c.5.1 1.2.6 1.9.6.5.1 1.2.1 1.6.7-.4-.6-1-.6-1.6-.7-.7-.1-1.4-.5-1.9-.6-.3-.1-.6-.1-.9-.1-.9 0-1.9.2-2.4.5-.6.3-1.1.6-1.6 1 .5-.4 1.1-.7 1.6-1 .8-.5 2.5-.7 3.3-.4zM165.3 137.3c.1-.1.1-.1.2-.1-.1 0-.2 0-.2.1-.6.5-.6 1.2-.1 1.9-.5-.7-.5-1.3.1-1.9zM154.9 192c0-.2.1-.3.2-.5.3-.2 4.6-3.8 12.5-6.1.1-.2.2-.3.4-.4.3-.1.6-.1.9 0 2.2-.6 4.7-1 7.5-1.3l.3-.3c.5-.3 1.1-.2 1.4.2.3 0 .7-.1 1-.1 2.2-.1 4.3 0 6.3.1.3-.2.6-.3.9-.3.1 0 .3.1.6.3 3 .2 5.6.7 7.8 1.2.4-.4 1-.4 1.4-.1 0 0 .3.2.6.6 2.7.7 4.5 1.4 5.5 1.9v-.1c-.9-.4-2.7-1.1-5.3-1.8-.4-.4-.7-.6-.7-.7-.2-.2-.5-.3-.8-.3-.3 0-.6.1-.9.4-2.1-.5-4.7-.9-7.6-1.1-.3-.3-.5-.4-.7-.4h-.2c-.3 0-.6.1-.9.3-1.2-.1-2.5-.1-3.8-.1H179c-.3 0-.6 0-.9.1-.2-.3-.6-.5-1-.5-.2 0-.4.1-.7.2-.2.1-.3.2-.4.4-2.6.2-5.1.7-7.3 1.2-.2-.1-.4-.2-.6-.2-.2 0-.3 0-.5.1s-.4.3-.5.5c-7.8 2.3-12.1 5.9-12.4 6.1.2.3.1.5.2.7-2.4 1.7-4.1 3.7-4.5 5.9-.1.5-.1 1.1-.1 1.6 0-.5 0-1 .1-1.6.5-2.2 2.2-4.2 4
.5-5.9zM246.5 220.3c.1-1.9.2-5.6.3-9.1-.1 3.4-.2 7.2-.3 9.1 0 1 0 1.8.2 2.3-.1-.6-.2-1.4-.2-2.3zM208.9 217.4c.2.5.4.9.6 1.4.4.9.8 1.6 1.2 2.2-.4-.6-.7-1.4-1.2-2.2-.2-.4-.4-.9-.6-1.4z" fill="#FFF"/><path d="M285.4 113.6c-.4-.2-.7-.3-1.1-.4-1.3-2.1-3.4-2.4-4.3-2.5h-.5c-.6 0-1.2.1-1.8.3-.8-.6-2-1.2-3.4-1.2-.8 0-1.6.2-2.4.6-.7.3-1.2.7-1.7 1.2-1.3-5.5-4.1-10.6-8.1-14.9.3-13.8-7.2-27.9-13.9-29.2-.5-.1-1-.1-1.5-.1-6 0-13.9 7-17.6 11.1-.8.9-1.9 2.2-2.9 3.6-3.1 0-6.3.4-9.6.9-3.3.6-6.4 1.3-9.3 2.3-1.4-1-2.8-1.8-3.8-2.3-4.3-2.3-11.2-5-16.5-5-2.1 0-3.8.4-5.1 1.2-5.8 3.5-8.1 19.3-3.1 32.2-2.3 5.4-3.1 11.2-2.5 16.8-.6-.3-1.2-.5-1.9-.6-.3-.1-.6-.1-.9-.1-1.4 0-3.1.5-4.5 2.4-.8 0-1.5.1-2.2.4-.8.3-2.7 1.3-3.3 3.6-.3.2-.6.4-.9.7-2.1 1.8-3 5.1-.3 8.4v.1c.2.4.5 1.1 1.1 1.9.1.1.3.4.6.7 1 1.2 1.8 2.1 2.3 2.7l.7.7.6.6c.4 1 .9 1.8 1.5 2.6.1.1.2.3.3.4.2.3.4.5.5.8 1.4 1.9 2.9 3.2 4.5 4.2 1.1 4.9 4.5 13.3 14.6 17.6 3.6 1.5 7.3 2.3 11.1 2.3h.9c-.5 1.6-.8 3.1-1.2 4.6-.1 0-.2-.1-.3-.1-.1-.1-.1-.1-.2-.1-1-.8-2.3-1
.3-3.6-1.3-.5 0-.9.1-1.4.2-1.8-.3-3.7-.6-5.6-.8-.4-.2-.9-.4-1.3-.5-.4-.1-.7-.1-1.1-.1-.6 0-1.2.1-1.8.3-1 0-1.9-.1-2.9-.1h-2.1c-.7-.3-1.4-.4-2.1-.4-1 0-2 .3-2.8.8-1.9.2-3.7.5-5.5 1h-.6c-.8 0-1.6.2-2.4.5-.4.2-.7.4-1 .6-7.9 2.5-12.4 6.2-12.9 6.6-.4.3-.8.7-1 1.2-2.8 2.3-4.5 4.9-5.1 7.7-1.3 6.3 3.3 12.9 12.1 17.4.2.4.5.9.8 1.2 1.1 1.3 2.7 2 4.3 2 .7 0 1.3-.1 1.9-.3 2.3.7 4.7 1.3 7.1 1.6l.1.1c1 .8 2.3 1.3 3.6 1.3 1.1 0 2.2-.3 3.2-.9.8 0 1.6-.1 2.4-.1 1.9-.2 3.7-.4 5.6-.8.1 0 .2.1.3.1.8.3 1.6.5 2.4.5 1.9 0 3.7-1 4.8-2.6 1.4-.5 2.7-1 4.1-1.5.6.2 1.3.3 1.9.3.9 0 1.8-.2 2.6-.6.7 2.3 1.5 4.3 2.4 6.2 2.8 5.5 4.9 8.5 8.3 8.5 1.3 0 2.6-.5 3.6-1.5 1.6-1.7 1.8-4 1.7-6.1 0-1.1-.1-2.8-.1-4.7 1.2.2 2.4.3 3.7.4 1.9.2 3.9.2 5.7.2 4.9 0 9.6-.5 13.8-1.5 0 1.6-.1 3-.1 4-.1 2.1.1 4.4 1.7 6.1.9 1 2.2 1.5 3.6 1.5 3.4 0 5.5-3 8.3-8.5 2.5-5 3.6-10.7 4.1-14.8 3-8.3.5-23.5-2.4-31.9-.7-2.1-1.5-4.2-2.2-6.2 6.1-.3 11.7-2.5 16.6-6.6 8.3-7.1 9.1-16.1 8.8-21.1 1.2-1.3 2.3-3.1 3-5.3l.3-.9c.1-.2.1-.3.2-.5.3-.9.5-1.9.7-2.
9l.5-.9.4-.8c.3-.7.8-1.8 1.5-3.2.1-.3.3-.6.3-.8.4-.9.5-1.7.5-2.1v-.1c1.5-4.3-.3-7.2-2.8-8.3z" fill="#F9F9FA"/><path d="M183.3 144.3c.3 1.5-.5 2.9-1.9 3.5-.4.2-.8.2-1.2.2h-.5c.5.1 1.1 0 1.6-.2 1.5-.6 2.3-2.1 2-3.5-.1-.7.1-1.3.4-1.8-.3.4-.5 1.1-.4 1.8zM164.1 212.7c-.2.2-.5.3-.7.3-.3 0-.6-.1-.8-.4-.3-.3-.3-.8-.2-1.2 0 0-.1 0-.1-.1-.2.4-.1 1 .2 1.3.2.3.6.4 1 .4.1.1.4 0 .6-.3.1.1.3-.1.6-.4h-.1c-.3.3-.5.4-.5.4zM176.9 215.2c-.2.3-.5.4-.9.4-.2 0-.5-.1-.7-.3-.2-.2-.3-.4-.4-.7h-.2c0 .3.2.6.4.8.2.2.5.3.8.3.5.1.9-.1 1-.5.1 0 .3-.1.4-.4h-.1c-.1.3-.2.4-.3.4zM205.9 205.9c.1 1.1.3 2.3.6 3.6-.2-1.3-.4-2.5-.6-3.6.1 0 0 0 0 0zM190.8 213.7c-.2.4-.6.7-1 .7-.2 0-.3 0-.5-.1-.3-.2-.6-.5-.6-.8h-.1c.1.4.3.7.7.9.2.1.3.1.5.1.5 0 .9-.3 1.1-.7 0-.1.2-.4.4-1h-.2c-.1.5-.2.9-.3.9zM201.6 210c-.2.4-.6.6-1 .6-.2 0-.3 0-.5-.1-.3-.2-.5-.5-.6-.9 0 0-.1 0-.1.1.1.4.3.7.6.9.2.1.4.1.6.1.5 0 .9-.2 1.1-.7 0-.1.4-.8.8-2-.1 0-.1.1-.2.1-.4 1.2-.7 1.8-.7 1.9zM271.1 131.8h-.3c-.9-.1-1.7-.6-2.3-1.3.5.7 1.3 1.2 2.3 1.3 1.7.1 3.2-1.1
3.4-2.9.1-.8-.2-1.7-.6-2.4.5.7.7 1.6.6 2.4-.1 1.7-1.5 2.9-3.1 2.9zM197.7 158.4c.1.2.2.3.2.3.2.2.2.6 0 .8-.1.1-.2.2-.4.2-.1 0-.3-.1-.4-.2 0 0-.4-.4-.8-1 .4.6.7.9.8 1 .1.1.3.2.5.2.1 0 .3 0 .4-.1.3-.2.3-.6.1-.9.6.1 1.4.2 2.3.2 3 0 7.6-.7 12-1.9l-.1-.1c-4.6 1.2-9 1.9-11.9 1.9-1.2-.1-2.1-.2-2.7-.4zM191.5 146.3c.5 1.6 1.1 3.4 1.8 5.2-.5-1.5-.9-3-1.2-4.7-.2-.1-.4-.3-.6-.5zM181.1 143.8h-1.5c-.2.4-.2.9-.1 1.4.2.4.5.6.8.6.1 0 .2 0 .3-.1.4-.2.6-.6.5-1v-.9zM244.6 151s0 .1-.1.1c6.9-.5 13.9-2.1 15.9-3.7-.1.3-.2.5-.2.5-.1.3.1.7.4.8h.2c.3 0 .5-.2.6-.4 0-.1.6-1.6 1-3.8-.5 2.1-1 3.6-1.1 3.7-.1.2-.3.4-.5.4h-.2c-.3-.1-.4-.4-.3-.7 0 0 .1-.4.3-1 0 0 0 .1-.1.1-1.3 1.7-8.3 3.5-15.9 4zM264.4 132.1c.1.2.2.5.3.7-.1-.2-.2-.4-.3-.7-.3-.6.1-1.8 0-2.5 0-.3-.1-.6-.1-.8 0 .3 0 .5.1.8.1.8-.2 1.9 0 2.5zM212.1 159.6c.3-.7.6-1.3.9-1.9-.3.6-.6 1.2-.9 1.9zM262.1 133.6c-.1.2-.2.4-.4.6.2 1.7.3 3.4.4 4.9.1-2 0-3.9 0-5.5z" fill="#FFF"/><path d="M271.1 129.6c.5 0 .9-.4 1-.8 0-.5-.2-1-.5-1.3l-1.5.5c.1.3.1.5.2.8 0 .4.3.8.8.8z"
fill="#FFF"/><path d="M196.3 184.9c-.4-.3-1-.3-1.4.1-2.2-.5-4.8-.9-7.8-1.2-.2-.2-.4-.3-.6-.3-.3-.1-.7 0-.9.3-1.9-.1-4-.1-6.3-.1-.4 0-.7 0-1 .1-.4-.4-1-.5-1.4-.2l-.3.3c-2.7.3-5.2.7-7.5 1.3-.3-.1-.6-.2-.9 0-.2.1-.3.2-.4.4-7.8 2.3-12.2 5.9-12.5 6.1-.1.1-.2.3-.2.5 0 .1 0 .2.1.3.1.1.3.2.4.2.1 0 .3 0 .4-.1.1 0 4.2-3.5 11.7-5.7.3.8 2.2 5.7.6 13.1-1.7 7.9-5.5 11.3-5.5 11.3-.1.1-.2.2-.3.4-.2.4-.1.9.2 1.2.2.3.5.4.8.4.3 0 .5-.1.7-.3l.4-.4c1.1-1.2 4.2-4.9 5.8-12.1 1.6-7.4 0-12.6-.6-14.1 2-.5 4.3-.9 6.7-1.2v.1c0 .1 3.5 5.6 2.9 15-.6 9.3-4.1 13.8-4.2 13.8-.2.3-.3.6-.2.9 0 .3.2.5.4.7.2.2.5.3.7.3.3 0 .6-.1.9-.4 0 0 .1-.2.3-.4.9-1.3 3.9-6.1 4.4-14.7.5-7.9-1.7-13.3-2.7-15.4h.4c2.1-.1 4 0 5.9.1.1.2.2.5.5.7.1.1.1.1.2.1.9.9 4.4 5 5 11.8.8 8.8-2 15.3-2.1 15.3-.1.2-.1.4-.1.6.1.4.3.7.6.8.1.1.3.1.5.1.4 0 .8-.2 1-.7 0-.1.2-.4.4-.9.8-2.2 2.6-8 1.9-15.5-.6-5.8-3-10.1-4.8-12.2 2.4.2 4.5.6 6.3 1 .1.2.2.4.4.6 0 0 4.1 3.3 5.5 9.6 1.7 7.6-.8 12.7-.8 12.8-.1.2-.1.4-.1.6 0 .4.2.7.6.9.2.1.3.1.5.1.4 0 .8-.2 1-.6 0-.1.4
-.7.7-1.8.7-2.3 1.6-6.7.3-12.5-.9-4-2.7-6.9-4.2-8.7 2.3.7 3.7 1.3 4.1 1.5 0-.5-.1-.9-.1-1.3-1-.4-2.8-1.2-5.5-1.9-.5-.5-.8-.7-.8-.7zM240.9 161.8c-2.2 1.7-5.8 3.7-11 4.4-5.7.8-10.2-.7-12.9-2.1-4.7 6.9-9.4 17.7-9.1 27.9.4 16.8 14.5 19.1 23.7 18.7 6-.3 11.7-2.4 15.5-6.7v-.1l.1-.1c2-2.3 3.4-5.1 4.1-8.6 1.9-10.3-2.7-20.6-6.9-28.5-1.1-1.9-2.3-3.6-3.5-4.9zM183.7 110.2c-.1.1-.1.2-.2.3.1 0 .2-.1.2-.3zM185.2 84.4c.3-.2.8-.3 1.5-.3 2.7 0 8.1 1.4 13.4 4.2 1.4.8 2.7 1.6 3.8 2.4-7.2 3.2-9.7 6.7-9.8 6.9-.2.3-.1.6.1.8.1.1.2.1.3.1.2 0 .3-.1.5-.2.1-.1 5.2-7.3 22.4-10.3 17.1-3 24.8 2.9 24.9 3 .2.2.6.2.8-.1.2-.2.2-.6-.1-.8-.2-.2-4-3.1-11.9-3.9.8-1.2 1.8-2.5 3-3.8 4.8-5.3 10.5-8.8 12.4-8.8h.2c2.1.4 8.4 10.1 8.4 21.3.7.5 1.4 1 2.2 1.6.5-12.5-6.4-24.3-10.2-25.1-3.2-.6-10.2 4.4-14.7 9.5-1.2 1.3-2.6 3.1-3.8 5.1-3.2-.1-7 .1-11.4.8-4.4.8-7.9 1.8-10.9 2.9-1.8-1.4-3.7-2.6-5.1-3.4-6-3.2-14.3-5.5-17.1-3.9-3.2 2-5.7 15.3-1.1 26.8.5-.8 1-1.6 1.5-2.2-3.7-10.4-1.1-21.5.7-22.6zM193.3 151.5c.1.2.2.4.3.7 1.2 2.9 3.4 5.5
4.1 6.3.6.2 1.5.3 2.6.3 2.9 0 7.3-.6 11.9-1.9-1.4-1.8-1.6-3.8-1.6-3.8v-.1c0-.1-.1-.3-.1-.4l-.1-1.2v-.4c-1.1.3-2.2.4-3.4.2l-2.5.4c-6.1 1.1-11.9-3-12.9-9l-.2-1.3h-.2c.2 1.8.5 3.8.9 5.6.3 1.6.8 3.1 1.2 4.6z" fill="#F9F9FA"/><path d="M196.3 124.7c.7-5 5.3-8.5 10.3-7.9l4.9.7c3.3.5 6 2.7 7.2 5.6 1.1-.8 2.4-1.4 3.8-1.6 1.4-.2 2.7-.2 4 .2.3-2.3 1.5-4.6 3.5-6.1l4-3c4-3.1 9.8-2.3 12.8 1.7l3.8 5 4.7-.8c.8-.1 1.6.4 1.8 1.2.1.7-.2 1.3-.8 1.6.8.6 1.4 1.7 1.7 3.3l1 5.8c1.1 6.1-3 11.9-9 12.9l-1.7.3c-1.1.4-2.3.6-3.5.6l-.5.1h-.3s0 .1.1.1l.1.1c0 .1.1.2.1.3l.2.5s.1.2.1.3l.1.4c0 .2.1.3.1.4l.1.6V148.4c0 .9-.2 1.7-.4 2.5 7.7-.5 14.6-2.3 16-3.9 0 0 0-.1.1-.1.5-1.5 1.3-4.6 1.4-7.3v-.6c0-1.6-.1-3.2-.4-4.9-.2-1.8-.6-3.6-1-5.4l-1.8.3-.5-3 1.4-.3c-.5-1.6-1.2-3.2-2.1-4.7 0-.2 0-.4-.1-.6-2.6-14.6-19.6-23.8-38-20.6-17.4 3.1-29.9 16.2-29 30l5.1-.9.7-4.2z" fill="#F9F9FA"/><path d="M210.5 150.9v-.1-.3h-.2l-3.2.6c1.1.1 2.3 0 3.4-.2zM245 144.3c1.2 0 2.3-.2 3.5-.6l-3.5.6zM229.5 159.8s.1 0 0 0z" fill="#D9EBFF"/><path d="
M43.7 146.5h-.1c-1.7.4-3.6.8-5.4 1h-.1c-.6.1-1.2.2-1.9.2-1 .1-1.9.1-2.9.1h-.9-.1c.9-1.3 3.9-6.1 4.4-14.7.5-7.9-1.7-13.3-2.7-15.4h.4c2.1-.1 4 0 5.9.1.1.2.2.5.5.7.1.1.1.1.2.1.9.9 4.4 5 5 11.8.8 8.8-2 15.3-2.1 15.3-.2.3-.2.5-.2.8zm-26.1-2.4s3.8-3.4 5.5-11.3c1.6-7.3-.2-12.3-.6-13.1-7.5 2.3-11.6 5.7-11.7 5.7-.1.1-.2.1-.4.1s-.3-.1-.4-.2c-.1-.1-.1-.2-.1-.3-2.4 1.7-4.1 3.7-4.5 5.9-.1.5-.1 1-.1 1.6v.1c0 .2 0 .4.1.6v.3c0 .2.1.4.1.6 0 .1.1.2.1.3.1.2.1.3.2.5.1.1.1.3.2.4.1.1.1.3.2.4l.3.6c.1.1.1.2.2.3 2 3 5.8 5.8 10.4 7.9 0 0 .1 0 .1.1.2-.3.3-.4.4-.5zm37-2.1s2.6-5.2.8-12.8c-1.4-6.3-5.4-9.6-5.5-9.6-.2-.2-.3-.4-.4-.6-1.8-.4-3.9-.8-6.3-1 1.8 2.2 4.3 6.4 4.8 12.2.7 7.5-1.1 13.4-1.9 15.5h.2c2.9-.9 5.6-1.9 8-3.1 0 0 .1 0 .1-.1.1-.1.1-.3.2-.5zm-24.4 4.8s3.6-4.5 4.2-13.8c.6-9.4-2.9-14.9-2.9-15v-.1c-2.4.2-4.7.6-6.7 1.2.6 1.5 2.2 6.7.6 14.1-1.6 7.2-4.7 10.9-5.8 12.1h.1c3.2 1.2 6.7 2 10.2 2.3h.2c-.2-.2-.1-.5.1-.8zm108.6-96.3c.3.4.3 1.1 0 1.9-.4 1.1-.2 1.4-.5 2-.3.7-1.3 3-1.7 3.8-.1.2-.7 1.2-1.3 2.5 0 .9-.2
1.8-.5 2.7-.1.2-.1.4-.2.6l-.3.9c-.7 1.9-1.8 4-3.6 4.9.5 2.6 1.6 12.4-6.9 19.6-5.1 4.3-10.5 5.6-15.1 5.6-1.4 0-2.8-.1-4-.3-1.2-2.5-2.8-4.8-2.9-4.9-.2-.2-.5-.3-.8-.1-.2.2-.3.5-.1.8 0 0 2.1 2.8 3.2 5.7 0 0 0 .1.1.1.1.2.1.4.2.6l.1.1c1.4 3.4 2.6 6.9 3.7 10.1 2.9 8.6 4.9 23.1 2.2 29.4-.4 3.7-1.4 9.2-3.7 13.9-2.2 4.3-3.5 6-4.3 6h-.2l-.1-.1-.1-.1s0-.1-.1-.1c0-.1-.1-.2-.1-.3-.2-.5-.2-1.3-.2-2.3.1-1.9.2-5.6.3-9.1 2.8-1.3 4.6-2.8 4.6-2.9.2-.2.2-.6 0-.8-.2-.2-.6-.2-.8 0 0 0-1.8 1.6-4.4 2.7-4.6 1.8-10.6 3-17.9 3-1.7 0-3.5-.1-5.4-.2-3.4-.3-6.3-.8-8.7-1.5v.2c-2.1-.9-3.8-2.3-3.8-2.4-.2-.2-.6-.2-.8 0-.2.2-.2.6 0 .8.1.1 2.1 1.9 4.6 2.7.1 3.4.2 7 .3 8.9.1 1.8-.2 3-.8 3-.1 0-.2 0-.3-.1-.1 0-.2-.1-.3-.2l-.1-.1-.3-.3-.1-.1c-.1-.1-.2-.3-.3-.4l-.2-.2c-.1-.1-.2-.3-.3-.5-.1-.1-.2-.2-.2-.4-.1-.2-.2-.3-.3-.5-.1-.2-.2-.3-.3-.5-.1-.1-.2-.3-.2-.4-.4-.6-.7-1.4-1.2-2.2-.2-.5-.4-.9-.6-1.4 0-.1 0-.1-.1-.1-.2-.4-.4-.9-.5-1.3 0-.1-.1-.2-.1-.2-.2-.5-.3-.9-.5-1.4 0-.1 0-.1-.1-.2-.1-.5-.3-.9-.4-1.4 0-.1 0-.1-.1-.2-.1-.5-.
2-.9-.4-1.4v-.1c-.1-.5-.2-1-.3-1.4v-.1c-.2-1.3-.4-2.5-.6-3.5-1 .7-2.2 1.4-3.5 2.1-.1 0-.1.1-.2.1.7-2.3 1.6-6.7.3-12.5-.9-4-2.7-6.9-4.2-8.7 2.3.7 3.7 1.3 4.1 1.5.2 3 .7 7.5 1.4 11.6 0 .3.3.5.5.5h.1c.3-.1.5-.3.5-.6-1-5.8-1.5-12.1-1.6-14.3.6-3.6 1.6-7.6 3-11.5 2.2-6.1 4.2-8.1 4.2-8.1.2-.2.2-.6 0-.8-.2-.2-.6-.2-.8 0-.1.1-1.7 1.7-3.6 6.3-1.9.5-4 .9-6.3.9-2.9 0-6-.6-9.3-2-10.2-4.4-12.1-14.1-12.4-16.7-2-.4-3.6-2-4.8-3.6-.2-.2-.3-.5-.5-.7-.1-.1-.3-.3-.4-.5-.2-.3-.5-.7-.7-1.1 0-.1-.1-.1-.1-.2-.2-.4-.3-.7-.5-1.1v-.1l-2-2c-.6-.6-2.2-2.6-2.7-3.1-.1-.1-.1-.1-.1-.2-.3-.4-.3-.7-.7-1.3-.1-.1-.1-.2-.2-.3-.1-.1-.2-.2-.2-.3-.5-.7-.6-1.4.1-1.9.1-.1.1-.1.2-.1l.1-.1c.1-.1.3-.1.5-.2h.1c.5-.1 1.1.1 1.5.6l.1.1c-.1-.5-.1-1.2-.2-1.8-.2-.9-.3-1.6.6-2 .1 0 .1 0 .2-.1h.2c.3 0 .6 0 .8.1 0 0 .1 0 .1.1.1 0 .2.1.2.1.1.1.2.2.3.2l.1.1c.1.1.2.3.2.4 0 0 .2.5.4 1.1 0-.3.1-.5.1-.7.2-1 .6-1.3.9-2 .3-.7.6-2 1.7-1.9.5.1.9.4 1.2.8.3.4.4.9.3 1.4l-.5 3.2-.4 2.3c-.5.9-1.2 2.1-1.7 3.4-.1.3.1.6.3.7h.2c.2 0 .4-.1.5-.4.7-1.9 1.7-3.5
2.2-4.2.5-.4 1.1-.7 1.6-1 .8-.4 2.5-.6 3.4-.4.5.1 1.2.6 1.9.6.5.1 1.2.1 1.6.7.1.2.2.4.2.8l-.7.1c-.8.1-1.4.9-1.2 1.8 0 .1.1.2.1.3-.2.1-.4.1-.7.1l-3.2-.1c-1.4.7-1.9 2.9-1.3 4.4.1.2.2.4.3.5 0 .1.1.1.1.1.1.1.1.2.2.3l.2.2c.1.1.1.1.2.1.3.3.7.4 1 .6.1 0 .3.1.4.1.5.1 1.1 0 1.6-.2 1.4-.6 2.2-2 1.9-3.5-.1-.7 0-1.3.4-1.9h.5l2.2-.4c.2.4.3 1.1.5 1.7.1.7.8 1.7.8 2.4-.2 1.9-1.2 3.9-2.5 5 .3.5.5 1 .5 1.6 0 .3.6 7.7 7.9 10.8 2.2 1 4.3 1.3 6.3 1.3 6.5 0 11.2-4.1 12.1-5 0-.1.1-.2.1-.3.3-.7.6-1.3.9-1.9.7.6 1.7 1.2 2.9 1.5 3.5 1 5.2.8 5.9.6.7.7 2.8 2.3 5.9 2.3.5 0 1.1-.1 1.7-.2 4.1-.8 6.3-3.7 6.8-4.5 1.1-.3 5.8-2 7.8-5.6l.9.3c.3.1 3.9 2 8.5 2 3.2 0 6.9-.9 10.4-3.8 6.1-5.2 4.4-12.6 4.3-12.6-.1-.6-.1-1.1 0-1.7-.9-.4-1.9-1.2-2.7-2.1-.1-.2-.3-.4-.4-.5-.1-.2-.2-.3-.3-.5 0 0 0-.1-.1-.1-.1-.2-.2-.4-.3-.7-.3-.7.1-1.8 0-2.5 0-.3-.1-.6-.1-.8-.4 1-.8 1.9-1.3 2.9-.1-1.3-.2-2.1-.2-2.1 0-.3-.3-.5-.6-.5s-.5.3-.5.6c0 0 .2 1.6.3 3.9-.1.2-.2.4-.4.6-.2-1.8-.6-3.6-1-5.4l4.9-.9c.5-.1.9-.4 1.1-.8.2.1.3.2.4.3.1.1.2.2.3.4 0 0
0 .1.1.1.1.1.2.3.2.4v.1c.1.2.1.4.1.6.1.6.3 1.1.6 1.5.5.7 1.3 1.2 2.3 1.3 1.7.1 3.2-1.1 3.4-2.9.1-.8-.2-1.7-.6-2.4-.5-.7-1.1-1.3-1.9-1.4l-3.1 1c-.2 0-.4.1-.7.1-.4 0-.8-.1-1.1-.2-.2-.5-.6-.9-1.1-1 0-.1-.1-.1-.1-.2v.2h-.5l-5.2.9c-.5-1.6-1.2-3.2-2.1-4.7 0-.2 0-.4-.1-.6-2.6-14.6-19.6-23.8-38-20.6-17.4 3.1-29.9 16.2-29 30h-.1c-.8.1-1.4.9-1.2 1.8.1.8.9 1.3 1.7 1.3-.5.9-.7 2-.4 3.6l.3 1.5-5.9 1c-.9-1.4-1.7-2.9-2.4-4.4-.1-.3-.2-.5-.3-.8-.1-.2-.1-.4-.2-.6-.1-.4-.3-.7-.4-1.1 0-.1-.1-.3-.1-.4-.1-.5-.3-1-.4-1.5-.1-.6-.3-1.1-.4-1.7-.1-.3-.1-.6-.1-.9 0-.3-.1-.7-.1-1 0-.4-.1-.7-.1-1.1v-.9-1.1-.9c0-.6.1-1.2.1-1.8 0-.3.1-.7.1-1 .1-.3.1-.7.2-1 .1-.3.1-.6.2-1 .1-.3.1-.7.2-1 .1-.4.2-.7.3-1.1.1-.3.2-.6.3-1 .2-.6.4-1.1.6-1.7.1-.3.2-.6.4-.9.1-.3.3-.7.4-1l.3-.6c.1-.1.1-.3.2-.4 2.7-4.5 5.9-7.4 6-7.4.2-.2.3-.6 0-.8-.2-.2-.6-.3-.8 0-.1.1-2.2 2-4.5 5.1-3.7-10.5-1.1-21.6.7-22.7.3-.2.8-.3 1.5-.3 2.7 0 8.1 1.4 13.4 4.2 1.4.8 2.7 1.6 3.8 2.4-7.2 3.2-9.7 6.7-9.8 6.9-.2.3-.1.6.1.8.1.1.2.1.3.1.2 0 .3-.1.5-.2.1-.1 5.2
-7.3 22.4-10.3 17.1-3 24.8 2.9 24.9 3 .2.2.6.2.8-.1.2-.2.2-.6-.1-.8-.2-.2-4-3.1-11.9-3.9.8-1.2 1.8-2.5 3-3.8 4.8-5.3 10.5-8.8 12.4-8.8h.2c2.1.4 8.4 10.1 8.4 21.3-2.6-1.7-4.9-2.6-5-2.7-.3-.1-.6 0-.7.3-.1.3 0 .6.3.7.1 0 5.2 2.1 9.1 6l.2.2c1 1.1 1.9 2.3 2.7 3.5 0 .1.1.1.1.2.4.6.7 1.2 1.1 1.7l.1.1c.7 1.3 1.3 2.6 1.8 4 0 .1.1.2.1.3.2.6.4 1.2.6 1.9 0 .1 0 .2.1.3.2.7.3 1.4.5 2.2l.3 2.4c.2 2.4.1 4.8-.3 7.1.3-.2.6-.4.9-.5.7-.3 1.2-.9 1.6-1.2.7-.5 2.4-.8 3.3-.6 1 .2 2 .4 2.8.8 1.8 1.5 3.5 3 3.7 3.4.1.2.3.3.5.3.1 0 .2 0 .2-.1.3-.1.4-.5.2-.7-.4-.8-3.1-3-4.4-4.2L129 52l-1.5-2.9c-.5-.9-.1-2.1.8-2.5.9-.5 1.6.7 2.1 1.3.5.5.9.7 1.3 1.4.1.1.1.2.2.3l.3.6c0-.7.1-1.1.1-1.2.1-.9.9-1.7 1.8-1.6.4 0 .6.2.8.4.3.3.3.8.4 1.4 0 .1 0 .3.1.4 0 .1 0 .2.1.3.1.4.2.7.2 1.1l.1-.1c.4-.9 1.4-1.3 2.3-.9.4.2.6.3.7.5zM99.3 99.7c-1.1-2-2.2-3.6-3.4-5-2.2 1.7-5.8 3.7-11 4.4-5.7.8-10.2-.7-12.9-2.1-4.7 6.9-9.4 17.7-9.1 27.9.4 16.8 14.5 19.1 23.7 18.7 6-.3 11.7-2.4 15.5-6.7v-.1l.1-.1c2-2.3 3.4-5.1 4.1-8.6 1.8-10.2-2.8-20.5-7-28.
4zM66.6 50.5l-4.9-.7c-5-.7-9.6 2.9-10.3 7.9l-.6 4.4 20.9-3.7c.6-.9 1.3-1.6 2.2-2.3-1.3-2.9-4-5.2-7.3-5.6zm22.5-5l-4 3c-2 1.5-3.2 3.7-3.5 6.1 1.1.3 2.1.8 3 1.4l21.2-3.8-3.8-5c-3.1-3.9-8.9-4.7-12.9-1.7zM66.6 85.3l-.1-1.1v-.3-.4l.1-.3c5.3-1.7 8.6-7 7.6-12.6l-.1-.3c.1 0 .2-.1.4-.1l1 5.5c.1.8.9 1.3 1.7 1.2.8-.1 1.3-.9 1.2-1.7l-1.3-7c2.4-1.3 5.4-1.4 7.9 0 .3.2.7.2 1 .2.1 0 .2-.1.3-.1l.1.3c1 5.6 5.9 9.4 11.4 9.2l.2.3c0 .1.1.1.1.2v.1c0 .1.1.2.1.2l.1.4c0 .1.1.2.1.3l.1.5c0 .1 0 .2.1.4v2.6c-.5 2.6-2.6 4.5-5.9 5.2h-.1H92.3c-.1 0-.3.1-.4.1-.5.1-1 .4-1.5.7-.5.3-.9.7-1.2 1.1-.4.4-.7.8-1.1 1.1-.3.4-.7.7-1.1 1l-.9.5-.2.1c-.1 0-.1.1-.2.1l-.2.1h-.1l-.2.1h-.1l-.3.1-.4.1H83c-.5 0-1-.1-1.4-.2-.5-.1-.9-.3-1.4-.5-.5-.2-.9-.5-1.4-.7-.5-.2-1-.5-1.5-.6-.5-.1-1.1-.2-1.7-.1H75.3h-.1-.1-.1c-3.4.6-6.1-.5-7.5-2.8l-.1-.1-.1-.3v-.1l-.1-.1s0-.1-.1-.1l-.1-.4c0-.1 0-.1-.1-.2v-.1-.1l-.2-1c0-.2 0-.3-.1-.4zm9.5-1c.2 1 1 2.3 2.2 2.9.3.2.6.2.9.1.4-.1.8-.3 1-.8.4-.7.1-1.6-.6-2-.3-.2-.6-.7-.7-.8-.2-.8-.9-1.3-1.7-1.2-.7.3-1.3
1-1.1 1.8zm-2.4-17.5l.3-.3-.1-.4c-.1-.8.4-1.6 1.2-1.7.6-.1 1.1.1 1.4.6 3-1.4 6.4-1.4 9.4 0l-.4-2.4c-.3-1.6-.1-2.8.4-3.6l-14.2 2.5c.8.6 1.3 1.7 1.6 3.3l.4 2zm4.1-11.2c-1.8.3-3.4 1.2-4.5 2.5l9.7-1.7c-1.6-.9-3.4-1.2-5.2-.8z" fill="url(#a)" opacity=".2" transform="translate(145 67)"/><path d="M228.8 160c0-.1 0 0 0 0z" fill="#59ACFF"/><path d="M223.3 154.2c.3.2.6.2.9.1.4-.1.8-.3 1-.8.4-.7.1-1.6-.6-2-.3-.2-.6-.7-.7-.8-.2-.8-.9-1.3-1.7-1.2-.8.1-1.3.9-1.2 1.7.2 1.1 1.1 2.4 2.3 3zM220.1 131.4c-.8.1-1.3.9-1.2 1.7l.1.4c.8-.6 1.6-1.2 2.5-1.6-.3-.4-.9-.6-1.4-.5zM222.3 143.8c.8-.1 1.3-.9 1.2-1.7l-1.3-7c-.8.4-1.6 1-2.2 1.8-.1.1-.3.2-.4.3l1 5.5c.1.7.9 1.2 1.7 1.1z" fill="#F9F9FA"/><path d="M265.6 125c.1 0 .1 0 0 0v-.2.2z" fill="#59ACFF"/><path d="M113.9 62.2l1.8-.3 4.9-.9c.5-.1.9-.4 1.1-.8.2.1.3.2.4.3.1.1.2.2.3.4 0 0 0 .1.1.1.1.1.2.3.2.4v.1c.1.2.1.4.1.6.1.6.3 1.1.6 1.5.5.7 1.3 1.2 2.3 1.3h.3c1.6 0 3-1.2 3.1-2.9.1-.8-.2-1.7-.6-2.4-.5-.7-1.1-1.3-1.9-1.4l-3.1 1c-.2 0-.4.1-.7.1-.4 0-.8-.1-1.1-.2-.2-.5-
.6-.9-1.1-1h-.6l-5.2.9-1.4.3.5 2.9zm12.6-1.7c.2.3.5.8.5 1.3s-.4.8-.9.8h-.1c-.4 0-.8-.4-.8-.8 0-.3-.1-.6-.2-.8l1.5-.5zM38.7 72.4c-.8.1-1.4.9-1.2 1.8 0 .1.1.2.1.3-.2.1-.4.1-.7.1l-3.2-.1c-1.4.7-1.9 2.9-1.3 4.4.1.2.2.4.3.5 0 .1.1.1.1.1.1.1.1.2.2.3l.2.2c.1.1.1.1.2.1.3.2.7.4 1 .6.1 0 .3.1.4.1h.5c.4 0 .8-.1 1.2-.2 1.4-.6 2.2-2 1.9-3.5-.1-.7 0-1.3.4-1.8h.5l2.2-.4c.2.4.3 1.1.5 1.7.1.7.8 1.7.8 2.4-.2 1.9-1.2 3.9-2.5 5 .3.5.5 1 .5 1.6 0 .3.6 7.7 7.9 10.8 2.2 1 4.3 1.3 6.3 1.3 6.5 0 11.2-4.1 12.1-5 0-.1.1-.2.1-.3.3-.7.6-1.3.9-2 .7.6 1.7 1.2 2.9 1.5 3.5 1 5.2.8 5.9.6.7.7 2.8 2.3 5.9 2.3.5 0 1.1-.1 1.7-.2 4.1-.8 6.3-3.7 6.8-4.5 1.1-.3 5.8-2 7.8-5.6l.9.3c.3.1 3.9 2 8.5 2 3.2 0 6.9-.9 10.4-3.8 6.1-5.2 4.4-12.6 4.3-12.6-.1-.6-.1-1.1 0-1.7-.9-.4-1.9-1.2-2.7-2.1-.1-.2-.3-.4-.4-.5-.1-.2-.2-.3-.3-.5 0 0 0-.1-.1-.1-.1-.2-.2-.5-.3-.7-.3-.7.1-1.8 0-2.5 0-.3-.1-.5-.1-.8-.4 1-.8 1.9-1.3 2.9-.1-1.3-.2-2.1-.2-2.1 0-.3-.3-.5-.6-.5s-.5.3-.5.6c0 0 .2 1.6.3 3.9.1 1.6.1 3.5 0 5.5v.6c-.1 2.7-1 5.8-1.4 7.3-.2.6-.3.9-
.3 1-.1.3.1.6.3.7h.2c.2 0 .4-.1.5-.4 0-.1.6-1.7 1.1-3.7-.4 2.1-1 3.7-1 3.8-.1.3-.3.4-.6.4h-.2c-.3-.1-.5-.5-.4-.8 0 0 .1-.2.2-.5-1.9 1.7-9 3.3-15.9 3.7 0 0 0-.1.1-.1.3-.8.4-1.6.4-2.5v-.4-.8-.1-.1l-.1-.6c0-.1-.1-.3-.1-.4l-.1-.4c0-.1-.1-.2-.1-.3l-.2-.5c0-.1-.1-.2-.1-.3l-.1-.1s0-.1-.1-.1h.3l.5-.1 3.5-.6 1.7-.3c6.1-1.1 10.1-6.9 9-12.9l-1-5.8c-.3-1.7-.9-2.7-1.7-3.3.5-.3.9-.9.8-1.6-.1-.8-.9-1.4-1.8-1.2l-4.7.8L84.5 56c-.9-.6-1.9-1.1-3-1.4-1.3-.3-2.6-.4-4-.2-1.4.3-2.7.8-3.8 1.6-.9.6-1.6 1.4-2.2 2.3L50.6 62l-5.1.9h-.1c-.8.1-1.4.9-1.2 1.8.1.8.9 1.3 1.7 1.3-.5.9-.7 2-.4 3.6l.3 1.5-5.9 1-.6.1-.6.2zm-3.1 6.3c-.1 0-.2.1-.3.1-.3 0-.7-.2-.8-.6-.2-.4-.1-1 .1-1.4h1.5c0 .3 0 .6.1.8 0 .5-.2.9-.6 1.1zm84.6-4.9c.1-1.3.1-2.6.1-3.9.2.2.4.3.6.5 0 .3.1.6.2 1 0 .2 1 4.7-1.9 8.6.4-1.6.8-3.8 1-6.2zm-5.9 9.8c.1.1.2.1.3.2-1.7.8-3.5 1.3-5.4 1.3 1.9-.5 3.7-1 5.1-1.5zm-59.4 12c-1.8 0-3.6-.4-5.4-1.1-6-2.5-6.5-8.7-6.5-8.9 0-.3-.1-.6-.1-.9.5-.7 1-1.5 1.4-2.4.5 1.4 1.1 3 1.7 4.4 1.7 4 4.3 7.1 4.4 7.2.6.7 1.4 1 2.2 1 .7 0
1.3-.2 1.8-.7l.2-.2h.7c2 0 4.7-.3 7.5-.8-1.9 1.2-4.7 2.4-7.9 2.4zm22.9-40c1.8-.3 3.6 0 5.2.8l-9.7 1.7c1.1-1.3 2.7-2.2 4.5-2.5zm8.1 3.3c-.5.9-.7 2-.4 3.6l.4 2.4c-3-1.4-6.5-1.4-9.4 0-.9.4-1.7.9-2.5 1.6l-.3.3-.4-2.1c-.3-1.6-.8-2.6-1.6-3.3l14.2-2.5zM66.6 83.8v-.4l.1-.3c5.3-1.7 8.6-7 7.6-12.6l-.1-.3c.1 0 .2-.1.4-.1.2-.1.3-.2.4-.3.6-.7 1.4-1.3 2.2-1.8 2.4-1.3 5.4-1.4 7.9 0 .3.2.7.2 1 .2.1 0 .2-.1.3-.1l.1.3c1 5.6 5.9 9.4 11.4 9.2l.2.3c0 .1.1.1.1.2v.1c0 .1.1.2.1.2l.1.4c0 .1.1.2.1.3l.1.5c0 .1 0 .2.1.4v2.6c-.5 2.6-2.6 4.5-5.9 5.2h-.1H92.4c-.1 0-.3.1-.4.1-.5.1-1 .4-1.5.7-.5.3-.9.7-1.2 1.1-.4.4-.7.8-1.1 1.1-.3.4-.7.7-1.1 1l-.9.5-.2.1c-.1 0-.1.1-.2.1l-.2.1h-.1l-.2.1h-.1l-.3.1-.4.1H83.1c-.5 0-1-.1-1.4-.2-.5-.1-.9-.3-1.4-.5-.5-.2-.9-.5-1.4-.7-.5-.2-1-.5-1.5-.6-.5-.1-1.1-.2-1.7-.1H75.4h-.1-.1-.1c-3.4.6-6.1-.5-7.5-2.8l-.1-.1-.1-.3v-.1l-.1-.1s0-.1-.1-.1l-.1-.4c0-.1 0-.1-.1-.2v-.1-.1l-.2-1c0-.1 0-.2-.1-.4l-.1-1.1v-.2zm-20.4-9.6h.2l.2 1.3c1.1 6.1 6.9 10.1 12.9 9l2.5-.4 3.2-.6h.2v.8l.1 1.2c0 .1 0 .3.1.
4v.1s.2 2 1.6 3.8c0 0 0 .1.1.1-4.5 1.2-9 1.9-12 1.9-.9 0-1.7-.1-2.3-.2.2.3.2.7-.1.9-.1.1-.3.1-.4.1-.2 0-.4-.1-.5-.2 0 0-.3-.4-.8-1 .5.6.8.9.8 1 .1.1.3.2.4.2.1 0 .3-.1.4-.2.2-.2.2-.6 0-.8 0 0-.1-.1-.2-.3-.7-.8-2.9-3.4-4.1-6.3-.1-.2-.2-.4-.3-.7-.7-1.8-1.3-3.6-1.8-5.2-.8-2.4-1.2-4.3-1.2-4.3-.1-.3-.4-.5-.7-.4-.3.1-.5.4-.4.7 0 0 .3 1.1.7 2.6-1-1-2-2-2.9-3l4.3-.5zm93-26.2c-.5-.2-1-.3-1.6-.3-.6-1.8-1.8-2.3-2.9-2.3h-.3c-.8 0-1.6.3-2.3.7-.6-.7-1.5-1.7-3-1.7-.5 0-1 .1-1.4.3-2 1-2.9 3.5-1.9 5.5l.7 1.3h-.2c-.8 0-1.8.1-2.7.4 0-1.9-.1-3.9-.4-5.8-1.1-6-4-11.7-8.5-16.3.7-13.5-6.9-26.8-12.1-27.9-.3-.1-.7-.1-1.1-.1-4.9 0-12.2 6.2-15.9 10.3-.9 1-2.2 2.6-3.4 4.4h-.5c-3.1 0-6.5.3-9.9.9-3.6.6-7 1.5-10 2.6-1.7-1.2-3.3-2.2-4.5-2.8-4.4-2.4-10.9-4.7-15.5-4.7-1.7 0-3 .3-4 .9-4.5 2.7-7.1 17.8-1.8 30.3-2.7 5.9-3.5 12.2-2.5 18.3.4 2 .9 3.9 1.7 5.8h-.4c-.8 0-1.9.1-2.8.4l.2-1.5c.4-2.2-1.1-4.4-3.4-4.7h-.5c-2 0-2.9 1.7-3.3 2.6-.4-.1-.8-.2-1.2-.2-.5 0-1 .1-1.4.3-1 .4-2.1 1.2-2.1 3.1-.6.2-1.1.4-1.5.8-1.2 1.1-1.9 3-.1
5.3.2.2.2.4.3.6.1.3.3.8.8 1.3.1.1.3.4.6.7.9 1.1 1.8 2.1 2.2 2.5l.6.6 1 1c.4 1 .8 1.8 1.4 2.5.1.2.2.3.4.5.2.3.3.5.5.8 1.5 1.9 3 3.3 4.6 4 .8 4.2 3.6 12.8 13.5 17.1 3.3 1.4 6.8 2.1 10.2 2.1 1.3 0 2.7-.1 4-.3-1.2 3.7-2.1 7.1-2.6 10-.9-.3-1.9-.7-3.1-1-.3-.2-.4-.4-.5-.4-.6-.5-1.4-.8-2.2-.8-.4 0-.9.1-1.3.2-2.1-.4-4.2-.7-6.4-.9-.4-.2-.7-.4-1.1-.5-.2 0-.4-.1-.7-.1-.5 0-1 .1-1.4.3-1.1-.1-2.2-.1-3.3-.1h-2.6c-.5-.3-1.1-.4-1.6-.4-.7 0-1.3.2-1.8.5-.1 0-.1.1-.2.1-2.1.2-4.2.6-6.2 1.1-.2 0-.4-.1-.7-.1-.5 0-1 .1-1.4.3-.3.1-.6.3-.9.6-7.7 2.4-12.1 5.9-12.5 6.3-.3.3-.6.6-.7.9-2.6 2.1-4.2 4.3-4.7 6.7-1.1 5.5 3.4 11.3 11.7 15.4.1.5.4 1 .7 1.4.7.8 1.6 1.2 2.6 1.2.6 0 1.2-.2 1.8-.5 2.7.9 5.5 1.5 8.3 1.9.1.2.3.3.4.4.6.5 1.4.8 2.2.8.9 0 1.7-.3 2.4-.9 1 0 2-.1 2.9-.1 2.1-.2 4.1-.5 6.2-1 .2.2.5.3.7.5.5.2.9.3 1.4.3 1.4 0 2.6-.8 3.2-2.1 0 0 0-.1.1-.1 1.9-.6 3.8-1.3 5.6-2.1.1.1.2.1.3.2.5.3 1.1.4 1.6.4 1.3 0 2.5-.7 3.1-1.9 0-.1.3-.6.6-1.5.6 3.2 1.6 6.9 3.3 10.2 2.7 5.4 4.3 7.3 6.3 7.3.7 0 1.4-.3 2-.8.8-.9 1.2-2.2
1.1-4.5 0-1.6-.1-4.5-.2-7.4 1.9.4 3.9.7 6.2.9 1.9.1 3.7.2 5.6.2 5.9 0 11.4-.8 16.1-2.2-.1 2.8-.2 5.5-.2 7-.1 2.3.3 3.6 1.1 4.5.5.5 1.2.8 2 .8 2 0 3.6-1.8 6.3-7.3 2.4-4.8 3.4-10.4 3.9-14.3 2.9-7.6.4-22.8-2.3-30.7-1.1-3.3-2.2-6.3-3.3-9.1.6 0 1.2.1 1.8.1 6.2 0 11.8-2.1 16.6-6.1 8.2-6.9 8.4-16.1 7.9-20.3 1.3-1.2 2.4-2.9 3.3-5.2l.3-.9c.1-.2.2-.4.2-.5.3-.9.5-1.8.6-2.8l.9-1.8.2-.3c.3-.6.8-1.7 1.4-3.1.1-.3.3-.6.3-.8.3-.6.3-1.1.4-1.5 0-.2 0-.4.2-.6 1.2-2.7 0-4.4-1.5-5.1zm-.5 4.3c-.4 1.1-.2 1.4-.5 2-.3.7-1.3 3-1.7 3.8-.1.2-.7 1.2-1.3 2.5 0 .9-.2 1.8-.5 2.7-.1.2-.1.4-.2.6l-.3.9c-.7 1.9-1.8 4-3.6 4.9.5 2.6 1.6 12.4-6.9 19.6-5.1 4.3-10.5 5.6-15.1 5.6-1.4 0-2.8-.1-4-.3-1.2-2.5-2.8-4.8-2.9-4.9-.2-.2-.5-.3-.8-.1-.2.2-.3.5-.1.8 0 0 2.1 2.8 3.2 5.7 0 0 0 .1.1.1.1.2.1.4.2.6l.1.1c1.4 3.4 2.6 6.9 3.7 10.1 2.9 8.6 4.9 23.1 2.2 29.4-.4 3.7-1.4 9.2-3.7 13.9-2.2 4.3-3.5 6-4.3 6h-.2l-.1-.1-.1-.1s0-.1-.1-.1c0-.1-.1-.2-.1-.3-.2-.5-.2-1.3-.2-2.3.1-1.9.2-5.6.3-9.1 2.8-1.3 4.6-2.8 4.6-2.9.2-.2.2-.6 0-.8-.2-.2-.6-
.2-.8 0 0 0-1.8 1.6-4.4 2.7-4.6 1.8-10.6 3-17.9 3-1.7 0-3.5-.1-5.4-.2-3.4-.3-6.3-.8-8.7-1.5v.2c-2.1-.9-3.8-2.3-3.8-2.4-.2-.2-.6-.2-.8 0-.2.2-.2.6 0 .8.1.1 2.1 1.9 4.6 2.7.1 3.4.2 7 .3 8.9.1 1.8-.2 3-.8 3-.1 0-.2 0-.3-.1-.1 0-.2-.1-.3-.2l-.1-.1-.3-.3-.1-.1c-.1-.1-.2-.3-.3-.4l-.2-.2c-.1-.1-.2-.3-.3-.5-.1-.1-.2-.2-.2-.4-.1-.2-.2-.3-.3-.5-.1-.2-.2-.3-.3-.5-.1-.1-.2-.3-.2-.4-.4-.7-.8-1.4-1.2-2.2-.2-.4-.4-.9-.6-1.4 0-.1 0-.1-.1-.1-.2-.4-.4-.9-.5-1.3 0-.1-.1-.2-.1-.2-.2-.5-.3-.9-.5-1.4 0-.1 0-.1-.1-.2-.1-.5-.3-.9-.4-1.4 0-.1 0-.1-.1-.2-.1-.5-.2-.9-.4-1.4v-.1c-.1-.5-.2-1-.3-1.4v-.1c-.2-1.3-.4-2.5-.6-3.6-1 .7-2.2 1.4-3.5 2.1-.4 1.2-.7 1.9-.8 2-.2.4-.7.7-1.1.7-.2 0-.4 0-.6-.1-.4-.2-.6-.5-.6-.9-2.4 1.1-5 2.2-8 3.1-.2.6-.4 1-.4 1-.2.5-.7.7-1.1.7-.2 0-.3 0-.5-.1-.4-.2-.6-.5-.7-.9-1.7.4-3.6.8-5.4 1h-.1c-.6.1-1.2.2-1.9.2-1 .1-1.9.1-2.9.1h-.9c-.2.3-.3.4-.3.5-.2.3-.6.5-1 .5-.3 0-.6-.1-.8-.3-.3-.2-.4-.5-.4-.8-3.5-.3-7-1.1-10.2-2.3l-.5.5c-.2.2-.5.3-.8.3-.4 0-.7-.1-1-.4-.3-.4-.4-.9-.2-1.3-4.6-2.1-8.4-4
.9-10.4-7.9-.1-.1-.1-.2-.2-.3l-.3-.6c-.1-.1-.1-.3-.2-.4-.1-.1-.1-.3-.2-.4-.1-.2-.1-.3-.2-.5 0-.1-.1-.2-.1-.3-.1-.2-.1-.4-.1-.6v-.3c0-.2-.1-.4-.1-.6v-.1c0-.5 0-1.1.1-1.6.4-2.2 2.1-4.1 4.4-5.8 0-.2 0-.4.2-.6.3-.2 4.6-3.8 12.4-6.1.1-.2.3-.4.5-.5.2-.1.3-.1.5-.1s.4.1.6.2c2.2-.6 4.6-1 7.3-1.2.1-.2.2-.3.4-.4.2-.1.4-.2.7-.2.4 0 .7.2 1 .5.3 0 .6 0 .9-.1h2.3c1.3 0 2.6 0 3.8.1.2-.2.5-.3.9-.3h.2c.1 0 .4.2.7.4 2.9.2 5.4.6 7.6 1.1.2-.2.6-.4.9-.4.3 0 .5.1.8.3l.7.7c2.6.7 4.3 1.4 5.3 1.8v.1c0 .4.1.8.1 1.3.2 3 .7 7.5 1.4 11.6 0 .3.3.5.5.5h.1c.3-.1.5-.3.5-.6-1-5.8-1.5-12.1-1.6-14.3.5-3.5 1.6-7.4 2.9-11.2 0-.1.1-.2.1-.3 2.2-6.1 4.2-8.1 4.2-8.1.2-.2.2-.6 0-.8-.2-.2-.6-.2-.8 0-.1.1-1.7 1.7-3.6 6.3-1.9.5-4 .9-6.3.9-2.9 0-6-.6-9.3-2-10.2-4.4-12.1-14.1-12.4-16.7-2-.4-3.6-2-4.8-3.6-.2-.2-.3-.5-.5-.7-.1-.1-.3-.3-.4-.5-.2-.3-.5-.7-.7-1.1 0-.1-.1-.1-.1-.2-.2-.4-.3-.7-.5-1.1v-.1l-2-2c-.6-.6-2.2-2.6-2.7-3.1-.1-.1-.1-.1-.1-.2-.3-.4-.3-.7-.7-1.3-.1-.1-.1-.2-.2-.3-.1-.1-.2-.2-.2-.3-.5-.8-.6-1.4 0-2 .1-.1.1-.1.2-.1l.
1-.1c.1-.1.3-.1.5-.2H21.6c.5 0 1 .2 1.3.6l.1.1c-.1-.5-.1-1.2-.2-1.8-.2-.9-.3-1.6.6-2H24c.2 0 .4.1.7.1 0 0 .1 0 .1.1.1 0 .2.1.2.1.1.1.2.2.3.2l.1.1c.1.1.2.3.2.4 0 0 .2.5.4 1.1 0-.3.1-.5.1-.7.2-1 .6-1.3.9-2 .3-.7.6-1.9 1.5-1.9h.2c.5.1.9.4 1.2.8.3.4.4.9.3 1.4l-.5 3.2-.4 2.3c-.5.9-1.2 2.1-1.7 3.4-.1.3.1.6.3.7h.2c.2 0 .4-.1.5-.4.7-1.9 1.7-3.5 2.2-4.2.5-.3 1-.7 1.6-1 .6-.3 1.6-.5 2.4-.5.3 0 .7 0 .9.1.5.1 1.2.6 1.9.6.5.1 1.2.1 1.6.7.1.2.2.4.2.8l.6-.1c-.9-1.4-1.7-2.9-2.4-4.4-.1-.3-.2-.5-.3-.8-.1-.2-.1-.4-.2-.6-.1-.4-.3-.7-.4-1.1 0-.1-.1-.3-.1-.4-.1-.5-.3-1-.4-1.5-.1-.6-.3-1.1-.4-1.7-.1-.3-.1-.6-.1-.9 0-.3-.1-.7-.1-1 0-.4-.1-.7-.1-1.1v-.9V57v-.9c0-.6.1-1.2.1-1.8 0-.3.1-.7.1-1 .1-.3.1-.7.2-1 .1-.3.1-.6.2-1 .1-.3.1-.7.2-1 .1-.4.2-.7.3-1.1.1-.3.2-.6.3-1 .2-.6.4-1.1.6-1.7.1-.3.2-.6.4-.9.1-.3.3-.7.4-1 .1-.2.1-.3.2-.5 0-.1.1-.1.1-.2.1-.1.1-.2.2-.3 2.7-4.5 5.9-7.4 6-7.4.2-.2.3-.6 0-.8-.2-.2-.6-.3-.8 0-.1.1-2.2 2-4.5 5.1-.5.7-1 1.4-1.5 2.2 0 .1-.1.1-.1.2-4.7-11.6-2.2-25.2 1.1-27.1.7-.4 1.6-.6 2.8-.6
3.8 0 9.8 2 14.4 4.5 1.5.8 3.4 2 5.2 3.4 2.9-1.1 6.5-2.1 10.8-2.9 3.6-.6 6.7-.9 9.5-.9h1.7c1.2-2 2.6-3.8 3.8-5.1 4.3-4.8 10.7-9.6 14.2-9.6.2 0 .4 0 .6.1 3.8.8 10.8 12.8 10.3 25.3l-.1-.1c-.7-.6-1.5-1.1-2.2-1.6-2.6-1.7-4.9-2.6-5-2.7-.3-.1-.6 0-.7.3-.1.3 0 .6.3.7.1 0 5.2 2.1 9.1 6l.2.2c1 1.1 1.9 2.3 2.7 3.5 0 .1.1.1.1.2.4.6.7 1.2 1.1 1.7l.1.1c.7 1.3 1.3 2.6 1.8 4 0 .1.1.2.1.3.2.6.4 1.2.6 1.9 0 .1 0 .2.1.3.2.7.3 1.4.5 2.2l.3 2.4c.2 2.4.1 4.8-.3 7.1.3-.2.6-.4.9-.5.7-.3 1.2-.9 1.6-1.2.6-.4 1.9-.7 2.8-.7h.5c1 .2 2 .4 2.8.8 1.8 1.5 3.5 3 3.7 3.4.1.2.3.3.5.3.1 0 .2 0 .2-.1.3-.1.4-.5.2-.7-.4-.8-3.1-3-4.4-4.2l-.6-1.3-1.5-2.9c-.5-.9-.1-2.1.8-2.5.1-.1.3-.1.4-.1.7 0 1.3.9 1.7 1.4.5.5.9.7 1.3 1.4.1.1.1.2.2.3l.3.6c0-.7.1-1.1.1-1.2.1-.9.8-1.6 1.7-1.6h.1c.4 0 .6.2.8.4.3.3.3.8.4 1.4 0 .1 0 .3.1.4 0 .1 0 .2.1.3.1.4.2.7.2 1.1l.1-.1c.3-.6.9-1 1.6-1 .2 0 .5 0 .7.2.2.1.4.2.5.4.3.1.3.7-.1 1.5z" fill="url(#b)" transform="translate(145 67)"/></g></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/figure_screenshots.svg b/browser/extensions/onboarding/content/img/figure_screenshots.svg
new file mode 100644
index 000000000000..f4930d09f7af
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/figure_screenshots.svg
@@ -0,0 +1,191 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="281" height="233">
+ <defs>
+ <linearGradient id="a" x1="-26.7072552%" x2="121.200691%" y1="-8.21456664%" y2="115.364749%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="b" x1="-171.534367%" x2="377.694136%" y1="-258.916232%" y2="507.082022%">
+ <stop stop-color="#E6FCFF" offset="0%"/>
+ <stop stop-color="#B5F2FF" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="c" x1="-275.615152%" x2="393.814483%" y1="-214.880097%" y2="329.931438%">
+ <stop stop-color="#E6FCFF" offset="0%"/>
+ <stop stop-color="#B5F2FF" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="d" x1="-71.2230562%" x2="141.268437%" y1="-46.5567621%" y2="122.213199%">
+ <stop stop-color="#E6FCFF" offset="0%"/>
+ <stop stop-color="#B5F2FF" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="e" x1="-912.187374%" x2="706.872366%" y1="-223.131903%" y2="247.7375%">
+ <stop stop-color="#E6FCFF" offset="0%"/>
+ <stop stop-color="#B5F2FF" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="f" x1="-636.509606%" x2="265.115932%" y1="-364.308744%" y2="178.753736%">
+ <stop stop-color="#E6FCFF" offset="0%"/>
+ <stop stop-color="#B5F2FF" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="g" x1="-96.7324958%" x2="214.858961%" y1="-489.128132%" y2="600.29142%">
+ <stop stop-color="#E6FCFF" offset="0%"/>
+ <stop stop-color="#B5F2FF" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="h" x1="-370.226425%" x2="176.655533%" y1="-420.236682%" y2="206.08556%">
+ <stop stop-color="#E6FCFF" offset="0%"/>
+ <stop stop-color="#B5F2FF" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="i" x1="-1573.85207%" x2="2621.18334%" y1="-918.807829%" y2="1582.542%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="j" x1="-1977.10979%" x2="2217.92561%" y1="-1158.35597%" y2="1342.99386%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="k" x1="-635.169191%" x2="1018.69953%" y1="-1184.44408%" y2="1785.60576%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="l" x1="-278.76866%" x2="377.256589%" y1="-697.981967%" y2="835.635246%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="m" x1="-553.131633%" x2="647.619338%" y1="-1374.34047%" y2="1418.49315%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="n" x1="-450.59361%" x2="546.286439%" y1="-895.950857%" y2="958.91224%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="o" x1="-511.211278%" x2="295.07392%" y1="-745.273546%" y2="396.265912%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="p" x1="-871.182847%" x2="303.781403%" y1="-595.928571%" y2="241.5435%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="q" x1="-450.336951%" x2="307.764971%" y1="-505.416691%" y2="315.448433%">
+ <stop stop-color="#E6FCFF" offset="0%"/>
+ <stop stop-color="#B5F2FF" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="r" x1="-2519.79056%" x2="1944.50093%" y1="-1090.70814%" y2="890.815528%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="s" x1="-134.127826%" x2="165.330874%" y1="-297.102666%" y2="260.202663%">
+ <stop stop-color="#E6FCFF" offset="0%"/>
+ <stop stop-color="#B5F2FF" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="t" x1="-1132.52358%" x2="304.180944%" y1="-1559.01765%" y2="393.843988%">
+ <stop stop-color="#E6FCFF" offset="0%"/>
+ <stop stop-color="#B5F2FF" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="u" x1="-1884.94918%" x2="1592.74001%" y1="-342.289711%" y2="381.222953%">
+ <stop stop-color="#E6FCFF" offset="0%"/>
+ <stop stop-color="#B5F2FF" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="v" x1="-109.932792%" x2="195.629347%" y1="-425.144051%" y2="431.622036%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="w" x1="-813.648281%" x2="368.736119%" y1="-1076.38789%" y2="459.249729%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="x" x1="-1092.12785%" x2="635.82518%" y1="-4587.46665%" y2="2425.66052%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="y" x1="-415.250984%" x2="1490.35841%" y1="-442.448072%" y2="1582.67684%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="z" x1="-167.167389%" x2="492.546376%" y1="-2085.55413%" y2="4392.09342%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="A" x1="-2989.85248%" x2="1926.86535%" y1="-1363.11821%" y2="921.90878%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ <linearGradient id="B" x1="-2586.45105%" x2="2652.41027%" y1="-792.93501%" y2="883.790987%">
+ <stop stop-color="#00C8D7" offset="0%"/>
+ <stop stop-color="#008EA4" offset="100%"/>
+ </linearGradient>
+ </defs>
+ <g fill="none" fill-rule="evenodd">
+ <g fill="#D7D7DB" fill-rule="nonzero">
+ <path d="M204.3 76.7h-77c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h77c.6 0 1.1.5 1.1 1.1 0 .6-.4 1.1-1.1 1.1zM193.9 71h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zM176.4 81.7H163c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zm-22.2 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-7.8 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-11.2 0h-13.4c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-22.2 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-7.8 0H104c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.2.6-.5.6zm-11.2 0H80.6c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6H94c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-22.3 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-7.8 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6z"/>
+ </g>
+ <g fill-rule="nonzero">
+ <path fill="#F9F9FA" d="M152.3 47.8h23.8s-7.4-16.6 8.3-18.8c14.1-1.9 19.6 12.5 19.6 12.5s1.7-8.3 10-6.7c8.3 1.6 14.3 14.8 14.3 14.8H249"/>
+ <path fill="#D7D7DB" d="M249.5 45.8H245c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h4.5c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm-14.5 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5.6 0h-.6c-.2 0-.4-.1-.5-.3-.1-.2-.6-1.1-1.3-2.3-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.6.9 1 1.7 1.2 2.1h.3c.3 0 .6.2.6.6 0 .4-.4.5-.7.5zm-52.9-.7H175c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h.6c-.1-.3-.2-.6-.4-1-.1-.3.1-.6.4-.7.3-.1.6.1.7.4.3 1 .6 1.7.6 1.7.1.2.1.4 0 .5-.1.1-.3.3-.4.3zm-10.4 0h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm8.7-6.1c-.3 0-.5-.2-.6-.5 0-.4-.1-.8-.1-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.1 1.1.1.3-.1.6-.5.6.1 0 .1 0 0 0zm29.2-1.1c-.2 0-.4-.1-.5-.3-.1-.3-.3-.6-.5-1-.1-.3 0-.6.2-.8.3-.1.6 0 .8.2.2.4.4.7.5 1 .1.3 0 .6-.3.7-.1.2-.2.2-.2.2zm17.9-1.4c-.1 0-.3-.1-.4-.2-2.4-2.3-4.8-3.7-7.2-4.1-1.6-.3-3.1-.2-4.3.2-.3.1-.6-.1-.7-.4-.1-.3.1-.6.4-.7 1.4-.5 3.1-.6 4.9-.2 2.6.5 5.2 2 7.7 4.4.2.2.2.6 0 .8-.1.1-.2.2-.4.2zM201 33.2c-.2 0-.3-.1-.4-.2-.7-.9-1.4-1.7-2.2-2
.4-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0 .8.7 1.6 1.6 2.3 2.5.2.2.2.6-.1.8-.2 0-.3.1-.4.1zm-22.8-4.3c-.2 0-.3-.1-.4-.2-.2-.2-.2-.6.1-.8 1.7-1.4 4.1-2.3 6.9-2.7 2.2-.3 4.3-.2 6.3.2.3.1.5.4.4.7-.1.3-.4.5-.7.4-1.9-.4-3.9-.5-5.9-.2-2.7.4-4.8 1.2-6.4 2.4-.1.2-.2.2-.3.2z"/>
+ <path fill="#F9F9FA" d="M250.2 50.1h-97.9c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h97.9c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1z"/>
+ </g>
+ <g fill-rule="nonzero">
+ <path fill="#F9F9FA" d="M49.3 29.4h13.2s-4.1-9.2 4.6-10.4c7.8-1.1 10.9 7 10.9 7s.9-4.6 5.6-3.8c4.6.9 8 8.3 8 8.3h11.5"/>
+ <path fill="#D7D7DB" d="M62.9 27.9H49.7c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h12.8s.1-.1.2-.1c.3-.1.6 0 .7.3l.1.1c.1.2.1.4 0 .5-.2.3-.4.4-.6.4zm36.6-.1h-3.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .3-.3.6-.6.6zm-20.9-3.6h-.2c-.3-.1-.5-.4-.4-.7.3-.9 1.5-4 4.9-4 .4 0 .8 0 1.2.1 1.8.3 3.6 1.5 5.4 3.4.2.2.2.6 0 .8-.2.2-.6.2-.8 0-1.6-1.7-3.2-2.7-4.8-3-.4-.1-.7-.1-1-.1-2.6 0-3.5 2.2-3.8 3.2-.1.1-.3.3-.5.3zm-15.2-4.9c-.1 0-.3-.1-.4-.2-.2-.2-.2-.6 0-.8.8-.8 1.8-1.4 3.1-1.7.3-.1.6.1.7.4.1.3-.1.6-.4.7-1.1.3-2 .8-2.6 1.4-.1.2-.3.2-.4.2zm8.4-1.5h-.2c-.3-.1-.7-.2-1-.3-.3-.1-.5-.3-.4-.7.1-.3.4-.5.7-.4.4.1.8.2 1.1.3.3.1.5.4.4.7-.2.3-.4.4-.6.4z"/>
+ <path fill="#F9F9FA" d="M104 31.6H49.6c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1H104c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1z"/>
+ </g>
+ <g fill-rule="nonzero">
+ <path fill="#FFF" d="M19.6 169.1c-2.8 0-5-2.2-5-4.8V46c0-3 2.4-5.4 5.4-5.4h127c3 0 5.4 2.4 5.4 5.4v118.3c0 2.6-2.3 4.8-5 4.8H19.6z"/>
+ <path fill="#D7D7DB" d="M146.9 41.8c2.3 0 4.2 1.9 4.2 4.2v118.3c0 2-1.8 3.7-3.9 3.7H19.6c-2.2 0-3.9-1.6-3.9-3.7V46c0-2.3 1.9-4.2 4.2-4.2h127zm0-2.2h-127c-3.6 0-6.5 2.9-6.5 6.5v118.3c0 3.3 2.8 5.9 6.2 5.9h127.6c3.4 0 6.2-2.7 6.2-5.9V46c0-3.5-2.9-6.4-6.5-6.4z"/>
+ </g>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M145.8 62.9V161c0 1-.1 1.2-.1 1.2s-.2.1-1.2.1h-122c-1 0-1.2-.1-1.2-.1s-.1-.2-.1-1.2V62.9h124.6zm1.1-1.2H20v99.2c0 2 .4 2.5 2.5 2.5h122c2 0 2.5-.4 2.5-2.5V61.7h-.1z"/>
+ <g fill="#D7D7DB" fill-rule="nonzero">
+ <circle cx="3.8" cy="3.7" r="2.9" transform="translate(23 48)"/>
+ <circle cx="3" cy="3.7" r="2.9" transform="translate(33 48)"/>
+ <path d="M115.3 54.9H51.5c-1.7 0-3.1-1.4-3.1-3.1v-.3c0-1.7 1.4-3.1 3.1-3.1h63.8c1.7 0 3.1 1.4 3.1 3.1v.3c0 1.8-1.4 3.1-3.1 3.1z"/>
+ <g>
+ <circle cx="3.8" cy="3.7" r="2.9" transform="translate(127 48)"/>
+ <circle cx="3.1" cy="3.7" r="2.9" transform="translate(137 48)"/>
+ </g>
+ </g>
+ <g transform="translate(149 84)">
+ <ellipse cx="42.7" cy="142" fill="#EDEDF0" fill-rule="nonzero" rx="42.5" ry="6.5"/>
+ <path fill="#F9F9FA" fill-rule="nonzero" d="M121.2 99.6c-1.3-3.1-4.3-5.2-7.7-5.2-.7 0-1.4.1-2.1.3-.8 0-3.1-.3-7.2-2-1.7-.7-4.8-3.9-8.4-10.5 5.2-19.9 5.5-36.8.7-50.3-.4-1-.9-2.1-1.5-3.2l-.3-1.4 2-1.7c1.6-1.4 2.3-3.5 1.7-5.6-.3-1.2-1-2.2-2-2.9 0-.3 0-.6-.1-.9-.4-2.3-2.2-4.1-4.5-4.4-.4-.1-10.6-1.7-17.1-1.7h-.4l-1.7-2.8C70 3.1 65.5.6 60.5.6c-2.6 0-5.2.7-7.5 2.1-2.6 1.6-4.5 3.9-5.7 6.7-6 .7-12.1 2.3-18.2 4.7l-3.4-1.4c-1.7-.7-3.5-1.1-5.4-1.1-5.8 0-10.9 3.5-13.1 8.8-2.7 6.6-.1 14 5.8 17.5-1.1 5.9-1.5 12.4-1 19.6.6 9-2.2 13.5-5.1 18.2-4.4 7.1-9.4 15.1 0 33.8 0 2.2.1 4.2.2 5.8 1.3 11.8 4.6 17.7 10 17.7.9 0 1.9-.2 2.7-.6 2.2-1.1 3.3-2.6 5-9.9 9.3 3.1 21.2 5.8 30.9 6.9-1.7 7.6-1.5 9.4 0 11.4 1.2 1.5 3 2.4 5 2.4 4.1 0 8.8-4.1 14-12.1 1.3-2.1 2.8-5 4.4-8.5 1.4-2.4 5.5-9.7 10-20.9 2.8 2.9 5.6 5 8.6 6.2 5.2 2.1 9.8 3.2 13.5 3.2 2.5 0 4.2-.5 5.1-.9 4.6-1.5 6.6-6.4 4.9-10.6z"/>
+ <path d="M115.2 101.4c-.4-.9-1.5-1.4-2.4-1-.2.1-.6.1-1.2.1-1.4 0-4.6-.3-9.8-2.4-5.5-2.2-10.3-10.6-12.7-15.5-.1-.2-.1-.5-.1-.8 5.4-19.5 5.9-35.8 1.4-48.4-.3-.8-.7-1.8-1.3-2.7-.1-.1-.1-.2-.1-.3L87.7 25c-.1-.4 0-.8.4-1.1l2.6-2.2-5.8-.9c-.5-.1-.9-.4-.9-.9s.2-.9.6-1.2l3-1.6c-3.5-.5-8.9-1.1-12.7-1.1-1.1 0-2 .1-2.6.2l-.4.1c-.4.1-.9-.1-1.1-.5l-3.4-5.5C66 8 63.5 6.7 60.9 6.7c-1.4 0-2.8.4-4.1 1.2-2.2 1.4-3.5 3.7-3.6 6.3 0 .6-.5 1-1.1 1.1-7.2.4-14.7 2.2-22.2 5.4-.3.1-.6.1-.9 0l-5.4-2.2c-.9-.4-1.9-.6-2.9-.6-3.1 0-5.9 1.9-7.1 4.8-1.6 3.9.3 8.4 4.2 10l2.3.9c.5.2.8.8.6 1.3-1.8 6.2-2.4 13.6-1.8 21.9.7 11.1-2.9 16.9-6.1 22.1-4.3 6.9-7.7 12.3.9 28.6.1.2.1.4.1.5-.1 2.6 0 4.7.2 6.3.8 7.8 2.6 11.1 3.4 11.8.4-.8 1.2-3.3 2.9-11.3.1-.3.3-.6.6-.8.2-.1.3-.1.5-.1.1 0 .3 0 .4.1 10.8 4.5 29.6 8.7 41.2 9.1.3 0 .7.2.9.4.2.3.3.6.2.9-2.1 8.3-2.5 11-2.5 11.9 1.1-.3 4.2-2.7 8.3-9.1 1.2-1.9 2.5-4.5 4-7.9 0 0 0-.1.1-.1 3.3-5.6 8.7-16.6 13-29.4.1-.4.5-.7.9-.8.4 0 .9.2 1.1.5 3.7 6.2 7.8 10.4 11.7 12 5.5 2.2 9.1 2.7
11.1 2.7 1.6 0 2.4-.3 2.7-.4.6-.4 1-1.5.7-2.4z"/>
+ <path fill="url(#a)" fill-rule="nonzero" d="M114.6 98c-.8-2.1-2.9-3.4-5.1-3.4-.6 0-1.1.1-1.7.3-.7 0-3.4 0-8.7-2.2-3-1.2-6.8-6-10.3-12.8 5.4-19.8 5.7-36.5 1-49.7-.3-1-.8-2-1.4-3l-.9-3.4 3.3-2.8c.8-.7 1.1-1.7.8-2.7-.3-1-1.1-1.7-2.1-1.9l-.7-.1c.5-.6.8-1.4.6-2.2-.2-1.1-1-2-2.1-2.1-.1 0-10.3-1.6-16.7-1.6-.7 0-1.3 0-1.9.1l-2.6-4.2C64 2.9 60.4.9 56.4.9c-2.1 0-4.2.6-6 1.7-2.5 1.6-4.3 4.1-5 6.9-6.6.6-13.5 2.3-20.3 5.1l-4.4-1.8c-1.4-.6-2.8-.8-4.3-.8-4.7 0-8.8 2.8-10.6 7.1-2.4 5.8.4 12.5 6.2 14.9l.2.1c-1.4 6.1-1.9 13.2-1.4 20.9.7 9.9-2.5 15-5.6 19.9-4.3 6.9-8.7 14 .4 31.7 0 2.4 0 4.5.2 6.2.6 5.7 2.4 15.2 7.2 15.2.5 0 1-.1 1.5-.4 1.3-.6 2.1-1.5 4.2-11.1 10.3 3.8 25.5 7.2 36.4 8.1-2.6 10.4-2 11.1-1.2 12.2.7.9 1.7 1.4 2.8 1.4 4.1 0 9-6.8 11.6-10.8 1.3-2 2.7-4.8 4.2-8.3C75.5 114 80 104.9 84 94c3.4 4.5 6.9 7.6 10.6 9.1 4.9 2 9.1 3 12.5 3 2 0 3.3-.4 4.1-.7 3.2-1.4 4.5-4.6 3.4-7.4zm-4.4 3.8c-.3.1-1.1.4-2.7.4-2 0-5.6-.5-11.1-2.7-3.9-1.6-8-5.7-11.7-12-.2-.4-.6-.6-1.1-.5-.4 0-.8.3-.9.8-4.3 12.8-9.
7 23.9-13 29.4 0 0 0 .1-.1.1-1.5 3.4-2.8 6.1-4 7.9-4.1 6.4-7.1 8.8-8.3 9.1 0-.9.4-3.6 2.5-11.9.1-.3 0-.7-.2-.9-.2-.3-.5-.4-.9-.4-11.6-.4-30.4-4.6-41.2-9.1-.1-.1-.3-.1-.4-.1-.2 0-.4 0-.5.1-.3.2-.5.4-.6.8-1.7 8.1-2.5 10.6-2.9 11.3-.8-.7-2.6-4-3.4-11.8-.2-1.7-.2-3.8-.2-6.3 0-.2 0-.4-.1-.5-8.5-16.3-5.2-21.7-.9-28.6 3.2-5.1 6.8-11 6.1-22.1-.5-8.3.1-15.7 1.8-21.9.2-.5-.1-1.1-.6-1.3l-2.3-.9c-3.9-1.6-5.8-6.1-4.2-10 1.2-2.9 4-4.8 7.1-4.8 1 0 2 .2 2.9.6l5.4 2.2c.3.1.6.1.9 0 7.5-3.2 15-5 22.2-5.4.6 0 1-.5 1.1-1.1.1-2.6 1.5-4.9 3.6-6.3 1.2-.8 2.6-1.2 4.1-1.2 2.7 0 5.1 1.4 6.5 3.6l3.4 5.5c.2.4.7.6 1.1.5l.4-.1c.7-.1 1.6-.2 2.6-.2 3.8 0 9.2.6 12.7 1.1l-3 1.6c-.4.2-.7.7-.6 1.2.1.5.5.8.9.9l5.8.9-2.6 2.2c-.3.3-.5.7-.4 1.1l1.3 5.4c0 .1.1.2.1.3.6 1 1 1.9 1.3 2.7 4.5 12.7 4 29-1.4 48.4-.1.3 0 .5.1.8 2.4 4.8 7.1 13.2 12.7 15.5 5.2 2.1 8.4 2.4 9.8 2.4.6 0 1 0 1.2-.1.9-.4 2 .1 2.4 1 .6.9.2 2-.7 2.4z" transform="translate(4 2)"/>
+ <path fill="url(#b)" fill-rule="nonzero" d="M36.6 40.6c-1.1 0-2.2-.2-3.3-.7l-16.2-6.6c-4.5-1.8-6.7-7-4.8-11.5 1.8-4.5 7-6.7 11.5-4.8L40 23.6c4.5 1.8 6.7 7 4.8 11.5-1.4 3.4-4.7 5.5-8.2 5.5z"/>
+ <path fill="url(#c)" fill-rule="nonzero" d="M70.8 39.3c-2.9 0-5.8-1.5-7.5-4.2L53.1 18.6c-2.6-4.1-1.3-9.6 2.8-12.1C60 3.9 65.5 5.2 68 9.3l10.2 16.5c2.6 4.1 1.3 9.6-2.8 12.1-1.4 1-3 1.4-4.6 1.4z"/>
+ <path fill="url(#d)" fill-rule="nonzero" d="M28.6 19.4c-2.2.9-12.8 10.5-11.1 37.1 1.7 26.2-21.6 21.8-3.8 53.4 3.9 6.9 50.2 17.7 58.6 12.7 2.5-1.5 31.6-54.6 19.1-89.8-4.1-11.5-28.5-28-62.8-13.4z"/>
+ <path fill="url(#e)" fill-rule="nonzero" d="M14.3 87.5s-2.6 17.8-1.7 26.6c1 8.8 3.3 13.7 5.1 12.8 1.7-.8 6.2-26.8 6.2-26.8l-9.6-12.6z"/>
+ <path fill="url(#f)" fill-rule="nonzero" d="M80.7 103s-5.5 17.1-10.3 24.6c-4.8 7.5-9.1 10.8-10.2 9.3-1.2-1.5 6.2-26.8 6.2-26.8l14.3-7.1z"/>
+ <path fill="url(#g)" fill-rule="nonzero" d="M33.5 19c7.8-4 28.9-2.7 38.4-4.1C77 14.1 91 16.3 91 16.3l-6 3.2 8.2 1.2-4.5 3.8 1.8 7.3-1.3-.7-46.3-12.8-9.4.7z"/>
+ <path fill="url(#h)" fill-rule="nonzero" d="M111.4 105.1c-2.3 0-6-.6-11.5-2.8-10-4-16.7-20.9-17.4-22.9-.6-1.5.2-3.2 1.7-3.8 1.5-.6 3.2.2 3.8 1.7 1.7 4.5 7.7 16.9 14.1 19.5 7.1 2.9 10.2 2.3 10.2 2.3 1.5-.6 3.2.1 3.8 1.6.6 1.5-.1 3.2-1.6 3.8-.4.3-1.4.6-3.1.6z"/>
+ <path fill="#FFF" fill-rule="nonzero" d="M35.4 29.8c-8.3 5.5-3.2 72.6 2.7 79.8 9.5 11.8 31.7 9.3 34.6 3 1.1-2.3 26-48.2 14.3-79.8-3-8-22.5-22.3-51.6-3z"/>
+ <path fill="url(#i)" fill-rule="nonzero" d="M50.3 43.8c.9.2 1.4 1.1 1.2 1.9l-.8 3.5c-.2.9-1.1 1.4-1.9 1.2-.9-.2-1.4-1.1-1.2-1.9l.8-3.5c.2-.9 1.1-1.4 1.9-1.2z"/>
+ <path fill="url(#j)" fill-rule="nonzero" d="M81.4 44.8c.9.2 1.4 1.1 1.2 1.9l-.8 3.5c-.2.9-1.1 1.4-1.9 1.2-.9-.2-1.4-1.1-1.2-1.9l.8-3.5c.2-.9 1-1.4 1.9-1.2z"/>
+ <path fill="url(#k)" fill-rule="nonzero" d="M48.9 57.6c-.5 0-1-.1-1.5-.2-3.5-.8-4.7-3.9-4.7-4.1-.3-.8.1-1.6.9-1.9.8-.3 1.6.1 1.9.9 0 .1.7 1.8 2.6 2.2 1.9.5 3.3-.8 3.3-.8.6-.6 1.5-.5 2.1 0 .6.6.5 1.5 0 2.1-.2.1-2 1.8-4.6 1.8z"/>
+ <path fill="url(#l)" fill-rule="nonzero" d="M56.6 69.2c-.8 0-1.4-.6-1.5-1.3-.1-.8.5-1.5 1.3-1.6 8.9-.7 17.1-2.5 18-3.8 1-1.7 1.2-4 1.2-4.1 0-.8.7-1.4 1.4-1.4.8 0 1.4.5 1.5 1.3.1 1.3.6 3.4 1.2 4.1 1.1 1.3 2.3 1.2 2.3 1.2.8 0 1.5.6 1.6 1.4.1.8-.6 1.5-1.4 1.6-1 .1-3.2-.3-4.8-2.3-.1-.2-.3-.4-.4-.6-.1.1-.1.2-.2.3-2 3.3-14.8 4.7-20.3 5.2h.1z"/>
+ <g fill-rule="nonzero">
+ <path fill="url(#m)" d="M2.4 4.3C1.3 5 7.7 8.2 8.6 8.2c1.3 0 7.8-2.8 7.6-5C16 2.1 6.8 1.3 2.4 4.3z" transform="translate(70 52)"/>
+ <path fill="url(#n)" d="M8.6 9.7C7.5 9.7 1.5 7 .9 5c-.2-.8.1-1.5.7-2C5.8.2 13.9.3 16.3 1.4c1 .4 1.2 1.1 1.3 1.6.1.9-.2 1.7-1 2.6-1.8 2.1-6.4 4.1-8 4.1zm-3.9-5c1.3.8 3.5 1.9 4.1 2 .9-.1 4.3-1.7 5.5-2.8-2-.4-6.5-.5-9.6.8z" transform="translate(70 52)"/>
+ </g>
+ <g fill-rule="nonzero">
+ <path fill="#C8C8CC" d="M115 92.8l-7.2.1-.5-40.7c0-3.3 2.5-6.1 5.7-6.3.3 0 .5.2.5.4l1.5 46.5z"/>
+ <path fill="#E1E1E6" d="M130.1 53.3c.2-.2.5-.1.7.1 1.9 2.7 1.4 6.4-1.1 8.5l-31.3 26-4.6-5.5 36.3-29.1z"/>
+ <path fill="url(#o)" d="M.7 10c-.4 2.6.2 5.2 1.9 7.1.8 1 1.8 1.7 2.9 2.3 3.5 1.6 7.8 1 11-1.7.2-.2.5-.4.7-.6l10.1-8.4c.4-.4.7-.9.8-1.4.1-.6-.1-1.1-.5-1.5l-2.9-3.4c-.2-.2-.4-.4-.7-.6-.2-.1-.5-.2-.7-.2-.6-.1-1.1.1-1.5.5l-2.9 2.4c-.1-.2-.2-.3-.4-.5-.8-1-1.8-1.7-2.9-2.3-3.5-1.6-7.8-1-11 1.7C2.5 5.1 1.2 7.5.7 10zm6.6-3.4c1.9-1.6 4.5-2.1 6.5-1.1.6.3 1.1.7 1.5 1.1 1.4 1.6 1.3 4.1.1 6.1-.5.7-1.1 1.4-2 2.1-1.9 1.3-4.2 1.5-5.9.7-.6-.3-1.1-.7-1.5-1.1-.8-1-1.2-2.4-.9-3.8 0-1.5.9-2.9 2.2-4z" transform="translate(77 75)"/>
+ <path fill="url(#p)" d="M0 2.5l.2 13.2v.9c.1 4.1 2.3 7.8 5.7 9.4 1.2.6 2.5.9 3.8.8 5.1-.1 9.3-4.7 9.2-10.4-.1-4.1-2.3-7.8-5.7-9.4-1.2-.6-2.5-.9-3.8-.8h-.6V2.4c0-.8-.5-1.5-1.2-1.9C7.3.4 7 .3 6.7.3L2.2.4C1.6.4 1.1.6.7 1 .2 1.4 0 2 0 2.5zm11.3 8.3c1.9.9 3.2 3.1 3.3 5.6 0 3.4-2.2 6.1-5 6.2-.7 0-1.3-.1-1.9-.4-1.8-.8-3-2.7-3.2-4.9v-.1c0-1.2.1-2.1.3-2.9.7-2.2 2.5-3.9 4.7-3.9.5 0 1.2.1 1.8.4z" transform="translate(107 83)"/>
+ <path fill="#C8C8CC" d="M111.3 70.6c1.3.1 2.2 1.3 2.1 2.5-.1 1.3-1.3 2.2-2.5 2.1-1.3-.1-2.2-1.3-2.1-2.5.1-1.2 1.2-2.2 2.5-2.1z"/>
+ </g>
+ <path fill="url(#q)" fill-rule="nonzero" d="M1.4 2.1L.3 5.7c-1 3.1.7 6.4 3.8 7.4 3.1 1 6.4-.7 7.4-3.8L14.4.1l-13 2z" transform="translate(57 67)"/>
+ <path fill="url(#r)" fill-rule="nonzero" d="M63.3 74.7h-.2c-.4-.1-.6-.5-.5-.9l2.2-6.8c.1-.4.5-.6.9-.5.4.1.6.5.5.9L64 74.2c-.1.3-.4.5-.7.5z"/>
+ <path fill="url(#s)" fill-rule="nonzero" d="M58.7 98.1c-17.5 0-33-27.8-33.6-29-.8-1.4-.3-3.2 1.2-4 1.4-.8 3.2-.3 4 1.2 4.2 7.6 17.5 27 29.4 25.9 15.2-1.4 22.4-6.9 22.4-7 1.3-1 3.1-.8 4.1.5 1 1.3.8 3.1-.4 4.1-.3.3-8.5 6.7-25.6 8.2-.5.1-1 .1-1.5.1z"/>
+ <path fill="url(#t)" fill-rule="nonzero" d="M112.5 97.8s-8 3.2-8.1 5.9c-.1 2.7 8.2 6 11.8.7 3.6-5.2-2.3-7.2-3.7-6.6z"/>
+ <path fill="url(#u)" fill-rule="nonzero" d="M30.5 65.3s.7 5.9 4.4 9.2c3.7 3.3-4.8 8.1-4.4 15.4.4 7.4 0-24.6 0-24.6z"/>
+ <path fill="url(#v)" fill-rule="nonzero" d="M58.8 98.9h-1.1C44 98.5 32 81 31.5 80.2c-.2-.3-.1-.8.2-1 .3-.2.8-.1 1 .2.1.2 12.1 17.7 25 18 12.8.3 25.3-6.2 27.1-7.7.5-.4.9-2.6.2-3.7-.7-1-2.4-.3-3.6.5-.3.2-.8.1-1-.2-.2-.3-.1-.8.2-1 3.4-2.1 4.9-.9 5.6-.1 1.2 1.6.8 4.7-.4 5.7-1.2 1-13.4 8-27 8z"/>
+ <path fill="url(#w)" fill-rule="nonzero" d="M110.8 108.3c-1.3 0-2.8-.3-4.4-1.3-1.9-1-2.8-2.2-2.7-3.6.2-2.7 4.7-4.5 5.2-4.7.4-.1.8 0 1 .4.1.4 0 .8-.4 1-1.6.6-4.2 2.1-4.3 3.5-.1.9 1 1.7 1.9 2.2 2.2 1.2 4.3 1.4 6.1.6 2.1-1 3.1-2.8 3.2-3.2.1-.6.5-2.4-.5-3.5-.7-.8-2.1-1.1-4.1-.9-.4 0-.8-.3-.8-.7 0-.4.3-.8.7-.8 2.5-.2 4.3.2 5.3 1.4 1.5 1.6 1 4 .8 4.7-.2.9-1.6 3.2-4 4.3-.8.3-1.8.6-3 .6z"/>
+ <path fill="url(#x)" fill-rule="nonzero" d="M61.1 125.5c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7 3.2 0 8.1-1 8.2-1 .4-.1.8.2.9.6.1.4-.2.8-.6.9-.2-.1-5.1.9-8.5.9z"/>
+ <path fill="url(#y)" fill-rule="nonzero" d="M23 25.4h-.2c-.4-.1-.6-.5-.5-.9.2-.7 2.4-5 7.8-7.4.4-.2.8 0 1 .4.2.4 0 .8-.4 1-4.7 2-6.7 5.8-6.9 6.4-.2.3-.5.5-.8.5z"/>
+ <path fill="url(#z)" fill-rule="nonzero" d="M68.5 14.8c-8.9 0-18.2-1.2-18.3-1.2-.4-.1-.7-.4-.6-.8.1-.4.4-.7.8-.6.1 0 14.1 1.8 24.1 1 .4 0 .8.3.8.7 0 .4-.3.8-.7.8-2 0-4 .1-6.1.1z"/>
+ <path fill="url(#A)" fill-rule="nonzero" d="M88.8 89h-.2c-.4-.1-.6-.5-.5-.9l2-6c.1-.4.5-.6.9-.5.4.1.6.5.5.9l-2 6c-.1.3-.4.5-.7.5z"/>
+ <path fill="url(#B)" fill-rule="nonzero" d="M21 119.1h-.1c-.4-.1-.7-.5-.6-.9l1.7-8.6c.1-.4.5-.7.9-.6.4.1.7.5.6.9l-1.7 8.6c-.2.4-.5.6-.8.6z"/>
+ </g>
+ <path fill="#D7D7DB" fill-rule="nonzero" d="M70.8 82.4c-3.7 0-6.6 3-6.6 6.6h6.6v-6.6zm20 0h-6.6V89h6.6v-6.6zm13.3 0V89h6.6c0-3.6-3-6.6-6.6-6.6zm-23.3 0h-6.6V89h6.6v-6.6zm19.9 0h-6.6V89h6.6v-6.6zm3.4 16.6h6.6v-6.6h-6.6V99zm0 20c3.7 0 6.6-3 6.6-6.6h-6.6v6.6zm0-10h6.6v-6.6h-6.6v6.6zm-1.5-7.2c-2.1-3-6.2-3.7-9.3-1.6l-12.7 9.4-6.5-4.6c0-.3.1-.6.1-1 0-2.7-1.3-5.1-3.3-6.6v-5h-6.6v3.5c-3.8.8-6.6 4.1-6.6 8.1 0 4.6 3.7 8.3 8.3 8.3 1.8 0 3.5-.6 4.8-1.6l4.1 2.9-4.6 3.3c-1.3-.8-2.7-1.2-4.3-1.2-4.6 0-8.3 3.7-8.3 8.3 0 4.6 3.7 8.3 8.3 8.3 4.6 0 8.3-3.7 8.3-8.3 0-.6-.1-1.1-.2-1.6l28.5-20.6zm-36.7 6.4c-2.3 0-4.2-1.9-4.2-4.2 0-2.3 1.9-4.2 4.2-4.2 2.3 0 4.2 1.9 4.2 4.2-.1 2.3-1.9 4.2-4.2 4.2zm0 19.9c-2.3 0-4.2-1.9-4.2-4.2 0-2.3 1.9-4.2 4.2-4.2 2.3 0 4.2 1.9 4.2 4.2-.1 2.4-1.9 4.2-4.2 4.2zm17.9-8l10 7.6c3 2.1 7.2 1.4 9.3-1.6L89.6 116l-5.8 4.1z"/>
+ <g fill="#D7D7DB" fill-rule="nonzero">
+ <path d="M17.5 26.8l-.1-.1.1.1zM266.5 1.5v4.4c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5V3h-2.9c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h4.4c.8 0 1.5.7 1.5 1.5zM266.5 14.4v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17V40c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.6 1.5 1.4zm0 17.1V57c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17V74c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17V91c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17.1v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17.1v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.6 1.5 1.5zm0 17v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5
1.5zM266.5 184.8v4.4c0 .8-.7 1.5-1.5 1.5h-4.4c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h2.9v-2.9c0-.8.7-1.5 1.5-1.5s1.5.6 1.5 1.5zM253.3 189.2c0 .8-.7 1.5-1.5 1.5H243c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5H208c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.4.7 1.4 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8
c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5H94c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5H59c.8 0 1.4.7 1.4 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zM7.8 189.2c0 .8-.7 1.5-1.5 1.5H2c-.8 0-1.5-.7-1.5-1.5v-4.4c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5v2.9h2.9c.8 0 1.4.7 1.4 1.5zM3.4 14.4v8.5c0 .8-.7 1.5-1.5 1.5S.4 23.7.4 22.9v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17V40c0 .8-.7 1.5-1.5 1.5S.4 40.8.4 40v-8.5c0-.8.7-1.5 1.5-1.5s1.5.6 1.5 1.4zm0 17.1V57c0 .8-.7 1.5-1.5 1.5S.4 57.8.4 57v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17V74c0 .8-.7 1.5-1.5 1.5S.4 74.8.4 74v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17V91c0 .8-.7 1.5-1.5 1.5S.4 91.8.4 91v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17.1v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7
-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17.1v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.6 1.5 1.5zm0 17v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zm0 17v8.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5v-8.5c0-.8.7-1.5 1.5-1.5s1.5.7 1.5 1.5zM7.8 1.5c0 .8-.7 1.5-1.5 1.5H3.4v2.9c0 .8-.7 1.5-1.5 1.5S.4 6.7.4 5.9V1.5C.4.7 1.1 0 1.9 0h4.4c.9 0 1.5.7 1.5 1.5zM253.3 1.5c0 .8-.7 1.5-1.5 1.5H243c-.8 0-1.5-.7-1.5-1.5S242.2 0 243 0h8.8c.8 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5H208c-.8 0-1.5-.7-1.5-1.5S207.2 0 208 0h8.8c.8 0 1.4.7 1.4 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5h-8.8c-
.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5S137 0 137.8 0h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5S84.4 0 85.2 0H94c.9 0 1.5.7 1.5 1.5zM78 1.5c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5S66.9 0 67.7 0h8.8c.8 0 1.5.7 1.5 1.5zm-17.6 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5S49.3 0 50.1 0H59c.8 0 1.4.7 1.4 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5S31.8 0 32.6 0h8.8c.9 0 1.5.7 1.5 1.5zm-17.5 0c0 .8-.7 1.5-1.5 1.5h-8.8c-.8 0-1.5-.7-1.5-1.5S14.3 0 15.1 0h8.8c.8 0 1.5.7 1.5 1.5z"/>
+ </g>
+ <path d="M-18-32h352v303H-18z"/>
+ </g>
+</svg>
diff --git a/browser/extensions/onboarding/content/img/figure_singlesearch.svg b/browser/extensions/onboarding/content/img/figure_singlesearch.svg
new file mode 100644
index 000000000000..9be029397ccf
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/figure_singlesearch.svg
@@ -0,0 +1 @@
+<svg width="303" height="253" viewBox="0 0 303 253" xmlns="http://www.w3.org/2000/svg"><title>search</title><defs><linearGradient x1="-18.632%" y1="-397.383%" x2="117.795%" y2="492.152%" id="a"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-312.046%" y1="-3945.649%" x2="293.266%" y2="2768.992%" id="b"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-291.258%" y1="-362.215%" x2="267.9%" y2="331.228%" id="c"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-145.39%" y1="-145.464%" x2="148.231%" y2="148.054%" id="d"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-760.952%" y1="-957.112%" x2="540.851%" y2="637.214%" id="e"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></
linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M-18-9h352v303H-18z"/><g fill-rule="nonzero"><g fill="#D7D7DB"><path d="M262.3 209.3H138.8c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h123.5c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1zM245.6 203.7h-31c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h31c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zM217.5 214.1h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-22.3 0h-3.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-7.8 0h-1.1c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-11.1 0h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm-22.4 0h-3.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zm-7.8 0H145c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-11.1 0h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6H135c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm-22.3 0h-3.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h3.3c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm-7.8 0h-1.1c-.3 0-.6-.2-.6
-.6 0-.3.2-.6.6-.6h1.1c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm-11.2 0H80.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-22.3 0H68c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.2.6-.5.6zm-7.8 0h-1.1c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1.1c.3 0 .6.2.6.6-.1.4-.3.6-.6.6zm-11.2 0H39c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6z"/></g><path d="M6.3 148.8c-2.8 0-5.1-2.3-5.1-5.1v-27.2c0-2.8 2.3-5.1 5.1-5.1h245.8c2.8 0 5.1 2.3 5.1 5.1v27.2c0 2.8-2.3 5.1-5.1 5.1H6.3z" fill="#FFF"/><path d="M252.1 2.4c2.2 0 4 1.8 4 4v27.2c0 2.2-1.8 4-4 4H6.3c-2.2 0-4-1.8-4-4V6.4c0-2.2 1.8-4 4-4h245.8zm0-2.2H6.3C2.9.2.1 3 .1 6.4v27.2c0 3.4 2.8 6.2 6.2 6.2h245.8c3.4 0 6.2-2.8 6.2-6.2V6.4c.1-3.4-2.7-6.2-6.2-6.2z" fill="url(#a)" transform="translate(0 110)"/><path d="M157 23.5h24.1s-7.5-16.9 8.5-19c14.3-1.9 19.9 12.7 19.9 12.7s1.7-8.5 10.2-6.8c8.4 1.6 14.6 15.1 14.6 15.1h21" fill="#F9F9FA"/><path d="M255.6 21.4h-6.2c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h6.2c.3 0 .6.2.6.6 0 .
4-.3.6-.6.6zm-16.2 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-57.9-.6h-1.8c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h1c-.1-.2-.2-.4-.3-.7-.1-.3.1-.6.3-.7.3-.1.6.1.7.3.3.9.5 1.4.5 1.4.1.2.1.4 0 .5 0 .3-.2.4-.4.4zm-10.7 0h-13.4c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.4c.3 0 .6.2.6.6-.1.3-.3.6-.6.6zm63.4-.1c-.2 0-.4-.1-.5-.3-.4-.6-.9-1.6-1.7-2.8-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.8 1.2 1.4 2.2 1.8 2.9.2.3.1.6-.2.8h-.4zM179.9 15c-.3 0-.5-.2-.6-.5-.1-.4-.1-.8-.1-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.1 1.1.1.2-.1.5-.5.6.1 0 0 0 0 0zm29.1-2.5c-.2 0-.4-.1-.5-.3-.2-.3-.3-.6-.5-1-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.2.4.4.7.6 1 .1.3 0 .6-.2.8-.3.1-.3.1-.4.1zm17.7-1.4c-.1 0-.3 0-.4-.1-2.1-1.8-4.3-3-6.3-3.4-2-.4-3.8-.2-5.3.6-.3.1-.6 0-.8-.2-.1-.3 0-.6.2-.8 1.7-.9 3.8-1.1 6.1-.7 2.3.4 4.6 1.6 6.9 3.6.2.2.3.6.1.8-.2.1-.4.2-.5.2zm-20.9-3.2c-.2 0-.3-.1-.4-.2-.7-.8-1.5-1.6-2.3-2.3-.2-.2-.3-.6-.1-.8.2-.2.5-.3.8-.1.9.7 1.7 1.5 2.4 2.4.2.2.2.6-.1.8 0 .2-.2.2-.3.2zm-23-3.2c-.2 0-.3-.1-.4-.2-.2-.
2-.2-.6 0-.8 1.8-1.6 4.3-2.7 7.5-3.1 1.9-.3 3.8-.2 5.7.1.3.1.5.3.5.6-.1.3-.3.5-.6.5-1.7-.3-3.5-.3-5.3-.1-2.9.4-5.3 1.3-6.9 2.8-.2.1-.4.2-.5.2z" fill="#D7D7DB"/><path d="M256.3 25.7H157c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h99.4c.6 0 1.1.5 1.1 1.1 0 .6-.6 1.1-1.2 1.1zM4 46.5h13.4s-4.2-9.4 4.7-10.6C30 34.8 33.2 43 33.2 43s.9-4.7 5.7-3.8c4.7.9 8.1 8.4 8.1 8.4h11.7" fill="#F9F9FA"/><path d="M17.8 45H4.5c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.7.6zm41.3-.1h-.5c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h.5c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-5 0h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-20.4-3.4c-.2 0-.4-.2-.5-.4L33 41c-.1-.3 0-.6.2-.7.5-1.6 2-3.8 4.9-3.8.4 0 .8 0 1.3.1 1.7.3 3.3 1.3 5 2.9.2.2.2.6 0 .8-.2.2-.6.2-.8 0-1.5-1.4-3-2.3-4.4-2.6-.4-.1-.7-.1-1-.1-3.2 0-3.9 3.3-4 3.5-.1.2-.3.4-.5.4zm-15.6-4.9c-.1 0-.3 0-.4-.1-.2-.2-.3-.6-.1-.8.7-.9 1.8-1.5 3.1-1.9.3-.1.6.1.7.4.1.3-.1.6-.4.7-1.1.3-1.9.9-2.5 1.6 0 0-.2.1-.4.1zm8.3-1.9h-.1c-.3-.1-.7-.2-1-.2-.3
0-.5-.3-.5-.6s.3-.5.6-.5c.4.1.8.1 1.2.2.3.1.5.4.4.7-.1.2-.3.4-.6.4z" fill="#D7D7DB"/><path d="M59.5 48.8H4.3c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h55.3c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.2 1.1z" fill="#F9F9FA"/><g><path d="M210 92.1v-9.5c0-2-1.6-3.6-3.6-3.6H38.3c-2 0-3.6 1.6-3.6 3.6v9.5c0 2 1.6 3.6 3.6 3.6h168.1c2 0 3.6-1.6 3.6-3.6zm0-34.8v-9.5c0-2-1.6-3.6-3.6-3.6H38.3c-2 0-3.6 1.6-3.6 3.6v9.5c0 2 1.6 3.6 3.6 3.6h168.1c2 0 3.6-1.6 3.6-3.6zm0 121.3v-9.5c0-2-1.6-3.6-3.6-3.6H38.3c-2 0-3.6 1.6-3.6 3.6v9.5c0 2 1.6 3.6 3.6 3.6h168.1c2 0 3.6-1.6 3.6-3.6z" fill="#FFF"/><path d="M206 44.2c2.2 0 4 1.8 4 4v8.7c0 2.2-1.8 4-4 4H38.8c-2.2 0-4-1.8-4-4v-8.7c0-2.2 1.8-4 4-4H206zm0 34.8c2.2 0 4 1.8 4 4v8.7c0 2.2-1.8 4-4 4H38.8c-2.2 0-4-1.8-4-4V83c0-2.2 1.8-4 4-4H206zm0 86.5c2.2 0 4 1.8 4 4v8.7c0 2.2-1.8 4-4 4H38.8c-2.2 0-4-1.8-4-4v-8.7c0-2.2 1.8-4 4-4H206zm0-123.6H38.8c-3.4 0-6.2 2.8-6.2 6.2v8.7c0 3.4 2.8 6.2 6.2 6.2H206c3.4 0 6.2-2.8 6.2-6.2v-8.7c0-3.4-2.8-6.2-6.2-6.2zm0 34.8H38.8c-3.4 0-6.2 2.8-6.
2 6.2v8.7c0 3.4 2.8 6.2 6.2 6.2H206c3.4 0 6.2-2.8 6.2-6.2V83c0-3.5-2.8-6.3-6.2-6.3zm0 86.6H38.8c-3.4 0-6.2 2.8-6.2 6.2v8.7c0 3.4 2.8 6.2 6.2 6.2H206c3.4 0 6.2-2.8 6.2-6.2v-8.7c0-3.4-2.8-6.2-6.2-6.2z" fill="#D7D7DB"/></g><path d="M300.8 176.6l-.1-.1-4.7-4.3c-.2-1.2-.8-2.3-1.7-3.1l-17.4-16c-.9-.8-2-1.3-3.2-1.4l-8.3-7.6c-1-1-2.2-1.7-3.5-2.1 10.8-18 8.1-41.3-6.9-56.4-8.7-8.7-20.3-13.5-32.6-13.5s-23.9 4.8-32.6 13.5c-18 18-18 47.3 0 65.2 8.7 8.7 20.3 13.5 32.6 13.5 8.3 0 16.6-2.3 23.7-6.6.4 1.3 1.2 2.6 2.2 3.6l7.6 8.3c.1 1.2.6 2.3 1.4 3.2l16 17.4c.8.9 1.9 1.5 3.1 1.7l4.2 4.6.1.1c1.5 1.5 3.4 2.3 5.7 2.3 3.6 0 7.8-2 11.2-5.4 5.7-5.8 7.1-13 3.2-16.9z" fill="#F9F9FA"/><g><path d="M224.1 88.7c-10.7 0-20.3 5.1-26.3 13h52.6c-6.1-7.9-15.6-13-26.3-13z" fill="#F9F9FA"/><path d="M248.9 152.7c.5-1.5 1.4-3.1 3.1-4.8 1.6-1.6 3.2-2.6 4.8-3.1l-2.5-2.5c12-15.9 10.8-38.6-3.7-53.1-7.9-7.9-18.3-11.9-28.7-11.9-10.4 0-20.8 4-28.7 11.9-15.8 15.8-15.8 41.5 0 57.4 7.9 7.9 18.3 11.9 28.7 11.9 8.6 0 17.2-2.7 24.4-8
.2l2.6 2.4zm-27-1.8c-11.8 0-22.1-6.2-28-15.4.1.1.1.3.2.4-1-1.6-1.9-3.3-2.7-5.1v-.1c-.2-.4-.4-.9-.5-1.3l-.6-1.8v-.1c-.9-3-1.4-6.2-1.4-9.6 0-3.8.7-7.5 1.8-10.9.6-1.8 1.4-3.6 2.4-5.3h.2c5.7-10 16.4-16.7 28.8-16.7 12.3 0 23.1 6.7 28.7 16.7h.1c.9 1.7 1.7 3.4 2.4 5.3 1.2 3.4 1.8 7 1.8 10.9-.1 18.2-14.9 33-33.2 33z" fill="#CCEDF0"/><path d="M253.2 107h-58.7c-2.2 4.4-3.5 9.5-3.5 14.8 0 4.9 1.1 9.6 3 13.7 5.9 9.3 16.2 15.4 28 15.4 18.3 0 33.1-14.8 33.1-33.1-.1-3.8-.7-7.4-1.9-10.8zM190.8 107h-.1c-1.2 3.4-1.8 7-1.8 10.9 0 3.3.5 6.5 1.4 9.6-.9-3-1.3-6.1-1.3-9.3-.1-4 .6-7.8 1.8-11.2zM190.9 129.3l-.6-1.8.6 1.8z" fill="#FFF"/><path d="M71.3 26.7H18.7c-1.3 1.6-2.4 3.4-3.3 5.3h58.7c-.6-1.8-1.4-3.6-2.4-5.3h-.1c.4.7.8 1.5 1.2 2.2-.4-.7-.9-1.5-1.5-2.2z" fill="url(#b)" transform="translate(179 75)"/><path d="M193.3 101.7h-.2c-.9 1.7-1.7 3.4-2.4 5.3h.1c.7-1.9 1.5-3.6 2.5-5.3z" fill="#E9E9EE"/><path d="M15.5 32c.9-1.9 2-3.6 3.3-5.3 6-7.9 15.6-13 26.3-13 10.7 0 20.2 5.1 26.3 13 .5.7 1.1 1.5 1.6 2.2-.4-.8-.
7-1.5-1.2-2.2C66.1 16.7 55.4 10 43.1 10S20 16.7 14.3 26.7c-1 1.7-1.8 3.4-2.4 5.3-1.2 3.5-1.9 7.2-1.9 11.1 0 3.2.5 6.4 1.3 9.3v.1l.6 1.8c.2.5.3.9.5 1.3v.1c.7 1.8 1.6 3.5 2.7 5.1-.1-.1-.1-.3-.2-.4-1.9-4.2-3-8.8-3-13.7.1-5.3 1.4-10.3 3.6-14.7z" fill="url(#c)" opacity=".4" transform="translate(179 75)"/><path d="M119.1 103.6l-5.7-5.2c0-.2.1-.3.1-.5 0-.6-.3-1.2-.7-1.6l-17.4-16c-.4-.4-1-.6-1.5-.6-.2 0-.4 0-.7.1l-9.4-8.6c-.8-.8-1.8-1.3-3-1.5l-2.5-2.5c11.6-16.8 9.5-39.9-5-54.5C65.2 4.6 54.5.2 43 .2S20.8 4.7 12.7 12.7C-4 29.4-4 56.5 12.7 73.2c8.1 8.1 18.8 12.5 30.2 12.5 8.6 0 17.1-2.7 24.2-7.5l2.6 2.6c.2 1.2.8 2.2 1.6 3l8.6 9.4c-.2.7-.1 1.6.5 2.2l16 17.4c.4.4 1 .7 1.6.7.2 0 .3 0 .5-.1l5.2 5.7c.8.8 2 1.3 3.3 1.3 2.7 0 6.1-1.7 8.8-4.5 4.4-4.5 5.8-9.8 3.3-12.3zM14.3 71.5C-1.5 55.7-1.5 30 14.3 14.1 22.2 6.2 32.6 2.2 43 2.2c10.4 0 20.8 4 28.7 11.9 14.5 14.5 15.7 37.2 3.7 53.1l2.5 2.5c-1.6.5-3.2 1.5-4.8 3.1-1.7 1.7-2.7 3.3-3.1 4.8l-2.5-2.5c-7.2 5.5-15.8 8.2-24.4 8.2-10.5.1-20.9-3.9-28.8-11.8zm96.9
26.3L98 111.1 82 93.7l11.8-11.8 17.4 15.9z" fill="url(#d)" transform="translate(179 75)"/><path fill="#CCEDF0" d="M277 186.1l13.2-13.3-17.4-15.9-11.8 11.8"/></g><ellipse fill="#EDEDF0" cx="242.1" cy="246.7" rx="57.2" ry="5.8"/><g><path d="M21.3 33.9c-.6 0-1.3-.2-1.8-.6L7.1 23.2c-1.3-.9-2.4-2-3.2-3.2C1 15.5 1.6 9.5 5.4 5.8c2.1-2.1 5-3.3 8-3.3s5.8 1.1 7.9 3.2c2.1-2 4.9-3.2 7.9-3.2 3.3 0 6.5 1.5 8.7 4 3.2 3.8 3.5 9.4.8 13.5-.8 1.3-1.9 2.3-3.2 3.2l-12.3 10c-.6.5-1.2.7-1.9.7z" fill="url(#e)" transform="translate(201 113)"/><path d="M214.4 117c2.5 0 5 1 6.9 2.9.3.3.6.4 1 .4s.7-.1 1-.4c1.9-1.9 4.4-2.8 6.9-2.8 2.7 0 5.5 1.2 7.5 3.5 2.8 3.3 3 8.1.7 11.7-.8 1.1-1.7 2-2.7 2.7l-12.4 10.1c-.2.2-.5.3-.8.3-.3 0-.5-.1-.8-.3L209.2 135c-1.1-.7-2.1-1.6-2.8-2.8-2.5-3.8-2-9 1.3-12.2 1.7-2 4.2-3 6.7-3zm0-3.1c-3.4 0-6.7 1.3-9.1 3.8-4.3 4.3-5 11.1-1.7 16.2.9 1.4 2.2 2.7 3.6 3.7l12.4 10c.8.6 1.8 1 2.8 1 1 0 2-.3 2.7-1l12.3-10.1c1.4-1 2.6-2.1 3.5-3.5 3.1-4.7 2.8-11.1-.9-15.4-2.5-2.9-6.1-4.6-9.9-4.6-2.9 0-5.
6.9-7.9 2.7-2.2-1.9-4.9-2.8-7.8-2.8z" fill="#FFF"/><path d="M208.6 128.1h-.1c-.9-.1-1.6-.9-1.5-1.8.3-3.2 2.5-5.8 5.7-6.5.9-.2 1.8.4 1.9 1.2.2.9-.4 1.8-1.2 1.9-1.7.4-3 1.8-3.1 3.6-.2 1-.9 1.6-1.7 1.6z" fill="#F9F9FA"/></g></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/figure_sync.svg b/browser/extensions/onboarding/content/img/figure_sync.svg
new file mode 100644
index 000000000000..74562d37236d
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/figure_sync.svg
@@ -0,0 +1 @@
+<svg width="279" height="212" viewBox="0 0 279 212" xmlns="http://www.w3.org/2000/svg"><title>sync</title><defs><linearGradient x1="-424.525%" y1="-219.797%" x2="201.215%" y2="136.157%" id="a"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1416.558%" y1="-1417.275%" x2="631.855%" y2="631.14%" id="b"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1909.4%" y1="-1924.057%" x2="675.504%" y2="691.989%" id="c"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1453.558%" y1="-828.355%" x2="354.762%" y2="235.706%" id="d"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-608.073%" y1="-599.552%" x2="1804.502%" y2="1813.024%" id="e"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"
/></linearGradient><linearGradient x1="-55.527%" y1="-25.138%" x2="334.297%" y2="252.524%" id="f"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-359.418%" y1="-359.43%" x2="1512.409%" y2="1512.397%" id="g"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-393.876%" y1="-203.242%" x2="1247.254%" y2="755.651%" id="h"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-772.819%" y1="-773.412%" x2="1098.573%" y2="1098.414%" id="i"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-1129.33%" y1="-1133.526%" x2="1256.735%" y2="1279.05%" id="j"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-78.929%" y1="-156.663%" x2="182.03%" y2="261.703%" id
="k"><stop stop-color="#CCFBFF" offset="0%"/><stop stop-color="#C9E4FF" offset="100%"/></linearGradient><linearGradient x1="-2.965%" y1="-86.281%" x2="110.352%" y2="213.059%" id="l"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-833.673%" y1="-459.972%" x2="807.063%" y2="498.921%" id="m"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient><linearGradient x1="-17.606%" y1="-93.916%" x2="104.414%" y2="177.35%" id="n"><stop stop-color="#00C8D7" offset="0%"/><stop stop-color="#0A84FF" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M-37-28h352v268H-37z"/><g fill-rule="nonzero"><g><path d="M23 23.1h23.9S39.4 6.4 55.3 4.2c14.2-1.9 19.8 12.6 19.8 12.6s1.7-8.4 10.1-6.8c8.3 1.6 14.5 15 14.5 15h20.8" fill="#F9F9FA"/><path d="M121 21.1h-5.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h5.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-15.4 0h-1.1c-.3 0-.6-.2-.6-.6 0-.4
.2-.6.6-.6h1.1c.3 0 .6.2.6.6 0 .4-.2.6-.6.6zm-5.5-.1c-.2 0-.4-.1-.5-.3-.2-.3-.7-1.4-1.7-2.9-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2 1 1.5 1.6 2.6 1.7 2.9.1.3 0 .6-.2.8-.1.1-.2.1-.3.1zm-52.7-.6h-1.6c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h.8c-.1-.2-.2-.5-.3-.9-.1-.3.1-.6.4-.7.3-.1.6.1.7.4.3 1 .6 1.6.6 1.6.1.2.1.4 0 .5-.3.2-.5.3-.6.3zm-10.6 0H23.4c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h13.4c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm8.9-5.9c-.3 0-.5-.2-.6-.5 0-.4-.1-.8-.1-1.1 0-.3.2-.6.5-.6s.6.2.6.5c0 .4.1.7.1 1.1.1.2-.1.5-.5.6.1-.1.1 0 0 0zm29.2-1.8c-.2 0-.4-.1-.5-.3-.1-.3-.3-.6-.5-1-.2-.3-.1-.6.2-.8.3-.2.6-.1.8.2.2.4.4.7.5 1 .1.3 0 .6-.2.8-.2.1-.2.1-.3.1zm17.8-1.4c-.1 0-.3 0-.4-.1-2.3-2.1-4.6-3.4-6.8-3.8-.7-.1-1.4-.2-2-.2-1 0-2 .2-2.8.5-.3.1-.6 0-.7-.3-.1-.3 0-.6.3-.7 1-.4 2.1-.6 3.3-.6.7 0 1.4.1 2.2.2 2.4.5 4.9 1.8 7.3 4 .2.2.2.6 0 .8-.1.1-.2.2-.4.2zM71.8 8c-.2 0-.3-.1-.4-.2-.7-.9-1.5-1.6-2.3-2.3-.2-.2-.3-.6-.1-.8.2-.2.6-.3.8-.1.8.7 1.6 1.6 2.4 2.5.2.2.2.6-.1.8-.1.1-.2.1-.3.1zM48.9 4.2c-.2 0-.3-.1-.4-.2-.2-.2-.2-.6.
1-.8C50.4 1.7 52.8.8 55.8.3c2.1-.3 4.1-.2 6 .1.3.1.5.4.4.7-.1.3-.3.5-.7.4-1.8-.4-3.7-.4-5.6-.1-2.8.4-5 1.3-6.6 2.6-.2.2-.3.2-.4.2z" fill="#D7D7DB"/><path d="M121.6 25.3H23c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h98.6c.6 0 1.1.5 1.1 1.1 0 .6-.4 1.1-1.1 1.1zM222.4 31.5h13.3s-4.2-9.3 4.7-10.5c7.9-1.1 11 7 11 7s.9-4.7 5.6-3.8c4.6.9 8 8.3 8 8.3h11.6" fill="#F9F9FA"/><path d="M236.1 30h-13.3c-.3 0-.6-.2-.6-.6 0-.3.2-.6.6-.6h13.3v.5l.5-.2c.1.2.1.4 0 .6-.2.2-.3.3-.5.3zm36.5-.2h-3.3c-.3 0-.6-.2-.6-.6 0-.4.2-.6.6-.6h3.3c.3 0 .6.2.6.6 0 .4-.3.6-.6.6zm-20.8-3.3h-.1c-.3-.1-.5-.4-.4-.7.1-.4 1.1-4.3 5-4.3.4 0 .8 0 1.2.1 1.7.3 3.5 1.4 5.2 3.1.2.2.2.6 0 .8-.2.2-.6.2-.8 0-1.6-1.6-3.1-2.5-4.6-2.8-.4-.1-.7-.1-1-.1-3 0-3.8 2.8-3.9 3.4-.1.3-.4.5-.6.5zm-15.3-5.1c-.1 0-.3 0-.4-.1-.2-.2-.2-.6 0-.8.8-.8 1.8-1.5 3.1-1.8.3-.1.6.1.7.4.1.3-.1.6-.4.7-1.1.3-2 .8-2.6 1.5-.1.1-.3.1-.4.1zm8.3-1.6h-.2c-.3-.1-.7-.2-1-.2-.3-.1-.5-.3-.5-.6.1-.3.3-.5.6-.5l1.2.3c.3.1.5.4.4.7 0 .1-.2.3-.5.3z" fill="#D7D7DB"/><path d="M277.5
33.7h-54.9c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h54.9c.6 0 1.1.5 1.1 1.1 0 .6-.5 1.1-1.1 1.1z" fill="#F9F9FA"/><ellipse fill="#EDEDF0" cx="144.1" cy="206.4" rx="59.7" ry="5.2"/><path d="M187.8 21.6h.1c.7 0 1.3-.5 1.3-1.2.1-1.5 1.2-2.7 2.6-3 .7-.2 1.2-.9 1-1.6-.2-.7-.9-1.2-1.6-1-2.6.6-4.5 2.8-4.7 5.4 0 .7.6 1.4 1.3 1.4z" fill="#F9F9FA"/><ellipse fill="#EDEDF0" cx="248.8" cy="206.4" rx="25.7" ry="4.5"/><ellipse fill="#EDEDF0" cx="35.7" cy="206.4" rx="35" ry="4.5"/></g><path d="M173 63.2c-.1-.3-.5-.5-.9-.4-.9.4-1.8.7-2.7 1.1-.2.1-.3.3-.4.5h2.7c.3-.1.6-.3.9-.4.4-.1.6-.5.4-.8zM231.7 155.7c.1.1.3.2.5.2s.3-.1.5-.2c.2-.2.4-.5.7-.7h-1.8c-.1.2-.1.5.1.7zM149.2 63.7c.3-.2.3-.7.1-.9-.2-.3-.7-.3-.9-.1-.3.3-.7.6-1 .8-.3.2-.3.6-.1.9h1.1c.2-.2.5-.4.8-.7zM65.2 62.8c-.2.1-.3.1-.5.2.5 0 .9.1 1.3.2-.1-.4-.5-.5-.8-.4zM129.2 63.9c.1.1.3.2.4.2.2 0 .4-.1.5-.2.2-.3.2-.7-.1-.9-.3-.3-.7-.6-1-.8-.3-.2-.7-.2-.9.1-.2.3-.2.7.1.9.3.1.6.4 1 .7zM42.3 62.8c-.2-.3-.7-.3-.9-.1l-.3.3h1.4c-.1-.1-.1-.2-.2-.2z" fill="#F3
F3F7"/><path d="M196.2 171.5c0 .4-.3.7-.6.7-1 .1-2 .1-2.9.1h-.1c-3.9 0-7.9-.4-11.7-1.2-.4-.1-.6-.4-.5-.8.1-.4.4-.6.8-.5 3.7.8 7.6 1.2 11.4 1.2 1 0 2 0 2.9-.1.4-.1.7.2.7.6zm10.5-109.3c3.7 1 7.4 2.4 10.8 4.1.1 0 .2.1.3.1.2 0 .5-.1.6-.4.2-.3 0-.7-.3-.9-3.5-1.8-7.2-3.2-11.1-4.2-.4-.1-.7.1-.8.5 0 .3.2.7.5.8zm-11.3-3.1c-4.9-.2-9.9.2-14.7 1.2-.4.1-.6.4-.5.8.1.3.3.5.7.5h.1c4.7-1 9.6-1.4 14.4-1.2.4 0 .7-.3.7-.6-.1-.4-.3-.7-.7-.7zm-25.5 108.4c.3 0 .5-.1.6-.4.2-.3 0-.7-.3-.9-.6-.3-1.1-.5-1.7-.8h-2.9c1.3.7 2.7 1.4 4.1 2 0 0 .1.1.2.1zM223.3 68c-.3-.2-.7-.1-.9.2-.2.3-.1.7.2.9.8.5 1.6 1.1 2.4 1.6.1.1.3.1.4.1.2 0 .4-.1.5-.3.2-.3.1-.7-.2-.9-.8-.5-1.6-1-2.4-1.6zm-.6 94c-3.2 2.1-6.7 3.9-10.3 5.3-.3.1-.5.5-.4.9.1.3.4.4.6.4h.2c3.7-1.4 7.2-3.2 10.5-5.4.3-.2.4-.6.2-.9 0-.4-.5-.5-.8-.3zm-15.8 7c-.9.2-1.9.5-2.8.7-.4.1-.6.4-.5.8.1.3.3.5.7.5h.1c1-.2 1.9-.4 2.9-.7.4-.1.6-.5.5-.8-.1-.3-.5-.6-.9-.5zM192.6 54.7c16.8 0 32 6.8 43.1 17.9h3.7C227.7 60 211.1 52 192.6 52c-14.1 0-27.1 4.6-37.7 12.4h4.7c9.6-6.1 20.9-9.7
33-9.7zm0 121.8c-13.1 0-25.2-4.1-35.1-11.2H153c10.9 8.7 24.6 13.9 39.6 13.9 20.2 0 38.3-9.5 49.9-24.3H239c-11.1 13.2-27.8 21.6-46.4 21.6zm11.8 5.8c-5 .9-10.2 1.2-15.2.9-.3 0-.7.3-.7.6 0 .4.3.7.6.7 1.2.1 2.3.1 3.5.1 4 0 8.1-.4 12-1 .4-.1.6-.4.5-.8 0-.4-.3-.6-.7-.5zm-25.4-.4c-1.2-.3-2.5-.5-3.7-.9-.4-.1-.7.1-.8.5-.1.4.1.7.5.8 1.3.3 2.5.6 3.8.9h.1c.3 0 .6-.2.7-.5 0-.3-.2-.7-.6-.8zm37.7-3c-.4.2-.8.3-1.2.4-.3.1-.5.5-.4.9.1.3.4.4.6.4h.2c.4-.1.8-.3 1.2-.5.3-.1.5-.5.4-.9-.1-.3-.5-.5-.8-.3zm19.4-115c.1.1.3.2.4.2.2 0 .4-.1.5-.2.2-.3.2-.7-.1-.9-.3-.3-.7-.6-1-.8-.3-.2-.7-.2-.9.1-.2.3-.2.7.1.9.4.1.7.4 1 .7zm-65.7 115.7c-.4-.1-.8-.3-1.2-.4-.3-.1-.7 0-.9.4-.1.3 0 .7.4.9.4.2.8.3 1.2.4h.2c.3 0 .5-.2.6-.5.3-.3.1-.7-.3-.8zm54.4-4.4c-1.1.6-2.3 1.2-3.4 1.7-.3.2-.5.6-.3.9.1.2.4.4.6.4.1 0 .2 0 .3-.1 1.2-.6 2.3-1.1 3.5-1.8.3-.2.4-.6.3-.9-.3-.3-.7-.4-1-.2zm19.6-16.1c-3.3 3.9-7 7.4-11.1 10.5-.3.2-.4.6-.1.9.1.2.3.3.5.3.1 0 .3 0 .4-.1 4.1-3.1 7.9-6.7 11.3-10.7.2-.3.2-.7-.1-.9-.2-.3-.6-.3-.9 0zm.9-88c-.2-.3-.7-.
3-.9-.1-.3.2-.3.7-.1.9.2.2.3.4.5.6h1.7c-.4-.4-.8-.9-1.2-1.4zm-87-13.9c.1 0 .2 0 .3-.1 4.4-2.6 9.1-4.6 14-6.1.4-.1.6-.5.4-.8-.1-.4-.5-.6-.8-.4-5 1.5-9.8 3.6-14.3 6.3-.3.2-.4.6-.2.9.1.1.3.2.6.2zm45.8-8.2c5 .9 10 2.3 14.7 4.3.1 0 .2.1.3.1.3 0 .5-.2.6-.4.1-.3 0-.7-.4-.9-4.8-2-9.8-3.5-15-4.4-.4-.1-.7.2-.8.5 0 .3.3.7.6.8zm23.8 8.9c1.1.7 2.2 1.4 3.2 2.1.1.1.3.1.4.1.2 0 .4-.1.6-.3.2-.3.1-.7-.2-.9-1.1-.7-2.2-1.5-3.3-2.1-.3-.2-.7-.1-.9.2-.2.3-.1.7.2.9zM191.4 48h1.3c.4 0 .6-.3.6-.7 0-.4-.4-.7-.7-.7h-1.2c-.4 0-.7.3-.7.7 0 .4.3.7.7.7zm-45.8 118.2c3.8 3.5 8 6.7 12.5 9.3.1.1.2.1.3.1.2 0 .5-.1.6-.3.2-.3.1-.7-.2-.9-4.3-2.5-8.4-5.5-12.1-8.9h-1.2c-.1.1-.1.5.1.7zm36.8-117.5c.1 0 .1 0 0 0 1.3-.2 2.6-.3 3.9-.5.4 0 .6-.4.6-.7 0-.4-.4-.6-.7-.6-1.3.1-2.6.3-3.9.5-.4.1-.6.4-.6.8.1.3.4.5.7.5zM97.3 171h.1c1-.2 1.9-.4 2.9-.7.4-.1.6-.5.5-.8-.1-.4-.5-.6-.8-.5-.9.2-1.9.5-2.8.7-.4.1-.6.4-.5.8 0 .3.3.5.6.5zm2-109.6c-.1.4.1.7.5.8 2.3.6 4.5 1.4 6.7 2.3h3.3c-3.1-1.5-6.4-2.7-9.7-3.6-.4-.1-.7.1-.8.5zm-25.6-1.1c-.4.1-.6.4-
.5.8.1.3.3.5.7.5h.1c4.7-1 9.6-1.4 14.4-1.2.4 0 .7-.3.7-.6 0-.4-.3-.7-.6-.7-5-.3-10 .1-14.8 1.2zm-.3 110c-.1.4.2.7.5.8 3.8.8 7.8 1.2 11.7 1.2h.1c1 0 2 0 2.9-.1.4 0 .7-.3.6-.7 0-.4-.3-.7-.7-.6-1 0-1.9.1-2.9.1-3.9 0-7.7-.4-11.4-1.2-.4-.2-.7.1-.8.5zm31.7-2.2c.1.3.4.4.6.4h.2c2.3-.9 4.6-2 6.7-3.1h-2.9c-1.4.7-2.8 1.3-4.3 1.9-.3.1-.5.5-.3.8zm-42.2-.6c.3 0 .5-.1.6-.4.2-.3 0-.7-.3-.9-1.8-.8-3.6-1.7-5.3-2.7h-2.6c2.3 1.5 4.8 2.8 7.3 3.9.1 0 .2.1.3.1zM85.6 54.7c12.1 0 23.4 3.6 32.9 9.7h4.7C112.7 56.6 99.7 52 85.6 52 72.4 52 60.1 56 50 62.9h5.1c9-5.2 19.4-8.2 30.5-8.2zm0 121.8c-14.2 0-27.2-4.9-37.6-13.1h-4.2c11.2 9.8 25.8 15.7 41.8 15.7 15 0 28.7-5.2 39.6-13.9h-4.5c-9.9 7.2-22 11.3-35.1 11.3zm32.2-1.3c-1.1.6-2.3 1.2-3.4 1.7-.3.2-.5.6-.3.9.1.2.4.4.6.4.1 0 .2 0 .3-.1 1.2-.6 2.3-1.1 3.5-1.8.3-.2.4-.6.3-.9-.3-.3-.7-.4-1-.2zm3.1-117.3c1.1.7 2.2 1.4 3.2 2.1.1.1.3.1.4.1.2 0 .4-.1.6-.3.2-.3.1-.7-.2-.9-1.1-.7-2.2-1.5-3.3-2.1-.3-.2-.7-.1-.9.2-.2.3-.1.7.2.9zM97.4 182.3c-5 .9-10.2 1.2-15.2.9-.4 0-.7.3-.7.6 0
.4.3.7.6.7 1.2.1 2.3.1 3.5.1 4 0 8.1-.4 12-1 .4-.1.6-.4.5-.8 0-.4-.3-.6-.7-.5zm-34-2.7c-.4-.1-.8-.3-1.2-.4-.3-.1-.7 0-.9.4-.1.3 0 .7.4.9.4.2.8.3 1.2.4h.2c.3 0 .5-.2.6-.5.3-.3.1-.7-.3-.8zm8.7 2.3c-1.2-.3-2.5-.5-3.7-.9-.4-.1-.7.1-.8.5-.1.4.1.7.5.8 1.3.3 2.5.6 3.8.9h.1c.3 0 .6-.2.7-.5 0-.3-.3-.7-.6-.8zm54.3-12.3c-.3.2-.4.6-.1.9.1.2.3.3.5.3.1 0 .3 0 .4-.1 2.2-1.7 4.3-3.4 6.2-5.3h-2c-1.6 1.5-3.3 2.9-5 4.2zm-16.7 9.3c-.4.2-.8.3-1.2.4-.3.1-.5.5-.4.9.1.3.4.4.6.4h.2c.4-.1.8-.3 1.2-.5.3-.1.5-.5.4-.9-.1-.3-.5-.5-.8-.3zM97.1 49c5 .9 10 2.3 14.7 4.3.1 0 .2.1.3.1.3 0 .5-.2.6-.4.1-.3 0-.7-.4-.9-4.8-2-9.8-3.5-15-4.4-.4-.1-.7.2-.8.5 0 .3.3.7.6.8zm-12.7-1h1.3c.4 0 .6-.3.6-.7 0-.4-.4-.7-.7-.7h-1.2c-.4 0-.7.3-.7.7.1.4.4.7.7.7zm-33.1 9.2c.1 0 .2 0 .3-.1 4.4-2.6 9.1-4.6 14-6.1.4-.1.6-.5.4-.8-.1-.4-.5-.6-.8-.4-5 1.5-9.8 3.6-14.3 6.3-.3.2-.4.6-.2.9.1.1.3.2.6.2zm.6 117.1c-4.4-2.5-8.6-5.6-12.3-9.1-.3-.3-.7-.2-1 0-.3.3-.2.7 0 1 3.8 3.5 8 6.7 12.5 9.3.1.1.2.1.3.1.2 0 .5-.1.6-.3.3-.4.2-.8-.1-1zM75.4 48.7c.1 0
.1 0 0 0 1.3-.2 2.6-.3 3.9-.5.4 0 .6-.4.6-.7 0-.4-.4-.6-.7-.6-1.3.1-2.6.3-3.9.5-.4.1-.6.4-.6.8.1.3.4.5.7.5z" fill="#D7D7DB"/><path d="M261.6 34.4h-30.1c-1.3 0-2.3 1-2.3 2.3v56.4c0 1.3 1 2.3 2.3 2.3h30.1c1.3 0 2.3-1 2.3-2.3V36.7c0-1.2-1-2.3-2.3-2.3zm-15.5 4.9c4.2 0 7.7 3.5 7.7 7.7s-3.5 7.7-7.7 7.7-7.7-3.5-7.7-7.7 3.5-7.7 7.7-7.7zm-7.5 23.1c.1-.4.5-.8 1-.9l3.7-.7 2.1-4.1.8-.1c.5 0 .9.3 1.1.7l1.7 3.5 4.4.8.3.7c.1.4 0 .9-.3 1.3l-2.6 2.8.7 4.7-.6.5c-.4.3-.9.3-1.3.1l-3.3-1.7-4 2.1-.7-.4c-.4-.3-.6-.7-.5-1.2l.6-3.9-3.1-3.4v-.8zm8.2 17.3c0-.7.5-1.2 1.2-1.2h1.3c-.8-.9-1.9-1.4-3.2-1.4-2 0-3.8 1.4-4.3 3.3-.1.5-.6.9-1.1.9h-.3c-.6-.2-1-.8-.9-1.4.8-3 3.4-5.1 6.6-5.1 1.6 0 3.2.6 4.4 1.7V76c0-.7.5-1.2 1.2-1.2s1.2.5 1.2 1.2v3.7c0 .7-.5 1.2-1.2 1.2H248c-.7 0-1.2-.5-1.2-1.2zm-.7 8.7c-1.6 0-3.2-.6-4.4-1.7v.5c0 .7-.5 1.2-1.2 1.2s-1.2-.5-1.2-1.2v-3.7c0-.7.5-1.2 1.2-1.2h3.7c.7 0 1.2.5 1.2 1.2s-.5 1.2-1.2 1.2h-1.3c.8.9 1.9 1.4 3.2 1.4 2 0 3.8-1.4 4.3-3.3.2-.6.8-1 1.4-.9.6.2 1 .8.9 1.4-.8 3-3.5 5.1-6.6 5.1z"
fill="url(#a)" transform="translate(1 46)"/><path d="M246.1 52.4c2.9 0 5.3-2.4 5.3-5.3s-2.4-5.3-5.3-5.3-5.3 2.4-5.3 5.3 2.4 5.3 5.3 5.3zm-1.1-8.6c0-.4.3-.7.7-.7.4 0 .7.3.7.7v3.1h3.1c.4 0 .7.3.7.7 0 .4-.3.7-.7.7h-3.7c-.4 0-.7-.3-.7-.7v-3.8h-.1z" fill="url(#b)" transform="translate(1 46)"/><path fill="url(#c)" d="M243.6 68.7l2.5-1.3 2.6 1.3-.5-3 2.1-2.2-2.9-.5-1.3-2.6-1.3 2.6-2.9.5 2.1 2.2" transform="translate(1 46)"/><path d="M240.9 70.5c-.1.5.1.9.5 1.2l.7.4 4-2.1 3.3 1.7c.4.2.9.2 1.3-.1l.6-.5-.7-4.7 2.6-2.8c.3-.3.4-.8.3-1.3l-.3-.7-4.4-.8-1.7-3.5c-.2-.4-.7-.7-1.1-.7l-.8.1-2.1 4.1-3.7.7c-.5.1-.8.4-1 .9l-.2.8 3.1 3.4-.4 3.9zm3.9-7.5l1.3-2.6 1.3 2.6 2.9.5-2.1 2.2.4 3-2.5-1.3-2.5 1.3.4-3-2.1-2.2 2.9-.5z" fill="url(#d)" transform="translate(1 46)"/><path fill="url(#e)" d="M35 60.4l-1.4 2.8-3.1.6 2.2 2.4-.4 3.2 2.7-1.5 2.7 1.5-.4-3.2 2.2-2.4-3.1-.6" transform="translate(1 46)"/><path d="M10.2 103.3h50.7c1.4 0 2.5-1.1 2.5-2.5V27.6c0-1.4-1.1-2.5-2.5-2.5H10.2c-1.4 0-2.5 1.1-2.5 2.5v73.2c.1
1.4 1.2 2.5 2.5 2.5zm32.1-14.5c-.8 3.3-3.8 5.7-7.3 5.7-1.8 0-3.5-.7-4.8-1.8v.4c0 .7-.6 1.3-1.3 1.3-.7 0-1.3-.6-1.3-1.3V89c0-.7.6-1.3 1.3-1.3H33c.7 0 1.3.6 1.3 1.3 0 .7-.6 1.3-1.3 1.3h-1.3c.9.9 2.1 1.4 3.4 1.4 2.2 0 4.1-1.5 4.6-3.6.2-.7.9-1.2 1.6-1 .7.2 1.1 1 1 1.7zm.2-3.9c0 .7-.6 1.3-1.3 1.3h-4.1c-.7 0-1.3-.6-1.3-1.3 0-.7.6-1.3 1.3-1.3h1.3c-.9-.9-2.1-1.4-3.4-1.4-2.2 0-4.1 1.5-4.6 3.6-.2.6-.7 1-1.3 1h-.3c-.7-.2-1.2-.9-1-1.6.8-3.3 3.8-5.7 7.3-5.7 1.8 0 3.5.7 4.8 1.8v-.4c0-.7.6-1.3 1.3-1.3.7 0 1.3.6 1.3 1.3v4zm.5-21L40.1 67l.7 5.1-.7.6c-.4.3-1 .4-1.5.1L35 71l-4.4 2.3-.8-.5c-.4-.3-.7-.8-.6-1.4l.6-4.3-3.4-3.7.2-.9c.2-.5.6-.9 1.1-1l4-.7 2.3-4.6.9-.1c.6 0 1 .3 1.3.8l1.9 3.8 4.8.9.3.8c.3.6.2 1.2-.2 1.5zm-8-30.2c4.7 0 8.5 3.8 8.5 8.5s-3.8 8.5-8.5 8.5-8.5-3.8-8.5-8.5 3.8-8.5 8.5-8.5z" fill="url(#f)" transform="translate(1 46)"/><path d="M29.2 42.2c0 3.2 2.6 5.8 5.8 5.8 3.2 0 5.8-2.6 5.8-5.8 0-3.2-2.6-5.8-5.8-5.8-3.2 0-5.8 2.6-5.8 5.8zm4.6-3.6c0-.4.3-.7.7-.7.4 0 .7.3.7.7V42h3.4c.4 0 .7.3.7.7 0
.4-.3.7-.7.7h-4.1c-.4 0-.7-.3-.7-.7v-4.1z" fill="url(#g)" transform="translate(1 46)"/><path d="M43 61.7l-4.8-.9-1.9-3.8c-.2-.5-.7-.8-1.3-.8l-.9.1-2.3 4.6-4 .7c-.5.1-1 .5-1.1 1l-.2.9 3.4 3.7-.6 4.3c-.1.5.1 1.1.6 1.4l.8.5L35 71l3.6 1.9c.5.3 1.1.2 1.5-.1l.7-.6-.7-5.1L43 64c.4-.4.5-.9.3-1.4l-.3-.9zm-5.7 4.5l.4 3.2L35 68l-2.7 1.4.4-3.2-2.2-2.4 3.1-.6 1.4-2.8 1.4 2.8 3.1.6-2.2 2.4z" fill="url(#h)" transform="translate(1 46)"/><path d="M119.4 59.6c3.2 0 5.8-2.6 5.8-5.8 0-3.2-2.6-5.8-5.8-5.8-3.2 0-5.8 2.6-5.8 5.8-.1 3.1 2.6 5.8 5.8 5.8zm-1.2-9.5c0-.4.3-.7.7-.7.4 0 .7.3.7.7v3.4h3.4c.4 0 .7.3.7.7 0 .4-.3.7-.7.7h-4.1c-.4 0-.7-.3-.7-.7v-4.1z" fill="url(#i)" transform="translate(1 46)"/><path fill="url(#j)" d="M143.4 52.3l-1.3-2.8-1.4 2.8-3.2.6 2.3 2.4-.5 3.2 2.8-1.4 2.7 1.4-.5-3.2 2.3-2.4" transform="translate(1 46)"/><path d="M102.8 81.1h77.6c1.6 0 2.8-1.3 2.8-2.8V32c0-1.6-1.3-2.8-2.8-2.8h-77.6c-1.6 0-2.8 1.3-2.8 2.8v46.3c-.1 1.6 1.2 2.8 2.8 2.8zm44.4-24.9l.7 5.1-.7.6c-.4.3-1 .4-1.5.1l-3.6-1
.9-4.4 2.3-.8-.5c-.4-.3-.7-.8-.6-1.4l.6-4.3-3.4-3.7.2-.9c.2-.5.6-.9 1.1-1l4-.7 2.3-4.6.9-.1c.5 0 1 .3 1.3.8l1.9 3.8 4.8.9.3.8c.2.5 0 1.1-.3 1.4l-2.8 3.3zm10.3-4.3c.8-3.3 3.8-5.7 7.3-5.7 1.8 0 3.5.7 4.8 1.8v-.4c0-.7.6-1.3 1.3-1.3.7 0 1.3.6 1.3 1.3v4.1c0 .7-.6 1.3-1.3 1.3h-4.1c-.7 0-1.3-.6-1.3-1.3 0-.7.6-1.3 1.3-1.3h1.3c-.9-.9-2.1-1.4-3.4-1.4-2.2 0-4.1 1.5-4.6 3.6-.2.6-.7 1-1.3 1h-.3c-.8-.2-1.2-1-1-1.7zm-.3 3.9c0-.7.6-1.3 1.3-1.3h4.1c.7 0 1.3.6 1.3 1.3 0 .7-.6 1.3-1.3 1.3h-1.3c.9.9 2.1 1.4 3.4 1.4 2.2 0 4.1-1.5 4.6-3.6.2-.7.9-1.2 1.6-1 .7.2 1.2.9 1 1.6-.8 3.3-3.8 5.7-7.3 5.7-1.8 0-3.5-.7-4.8-1.8v.4c0 .7-.6 1.3-1.3 1.3-.7 0-1.3-.6-1.3-1.3v-4zm-37.8-10.6c4.7 0 8.5 3.8 8.5 8.5s-3.8 8.5-8.5 8.5-8.5-3.8-8.5-8.5c-.1-4.7 3.8-8.5 8.5-8.5z" fill="url(#k)" transform="translate(1 46)"/><path d="M264.7 75.3h-34.4c-2.6 0-4.6 2.1-4.6 4.6v67.7c0 2.6 2.1 4.6 4.6 4.6h34.4c2.6 0 4.6-2.1 4.6-4.6V79.9c.1-2.5-2-4.6-4.6-4.6zm-11.8 71.1c0 1.2-.9 2.1-2.1 2.1h-6.7c-1.2 0-2.1-.9-2.1-2.1v-.1c0-1.2.9-2.1 2.1-2.1
h6.7c1.2.1 2.1 1 2.1 2.2zm12-7.3c0 1.3-1 2.3-2.3 2.3h-30.1c-1.3 0-2.3-1-2.3-2.3V82.7c0-1.3 1-2.3 2.3-2.3h30.1c1.3 0 2.3 1 2.3 2.3v56.4zM9 160.8h55.2c2.7 0 4.9-2.2 4.9-4.9V70.6c0-2.7-2.2-4.9-4.9-4.9H9c-2.7 0-4.9 2.2-4.9 4.9v85.3c-.1 2.7 2.1 4.9 4.9 4.9zm19.4-5.3v-1.7c0-1 .8-1.8 1.8-1.8H43c1 0 1.8.8 1.8 1.8v1.7c0 1-.8 1.8-1.8 1.8H30.2c-1 0-1.8-.9-1.8-1.8zM8.8 73.6c0-1.4 1.1-2.5 2.5-2.5H62c1.4 0 2.5 1.1 2.5 2.5v73.2c0 1.4-1.1 2.5-2.5 2.5H11.2c-1.4 0-2.5-1.1-2.5-2.5V73.6h.1zm92.4 57.9h82.7c2.6 0 4.8-2.1 4.8-4.8V71.9c0-2.6-2.1-4.8-4.8-4.8h-82.7c-2.6 0-4.8 2.1-4.8 4.8v54.8c0 2.7 2.2 4.8 4.8 4.8zM141 71c0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6 0 .9-.7 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6zm-40.1 7c0-1.6 1.3-2.8 2.8-2.8h77.6c1.6 0 2.8 1.3 2.8 2.8v46.3c0 1.6-1.3 2.8-2.8 2.8h-77.6c-1.6 0-2.8-1.3-2.8-2.8V78zm94.8 84.7c1.6 0 3-1.2 3-2.6v-1.4c0-.3-.1-.7-.2-1l-9.9-21.7c-.5-1-1.5-1.7-2.8-1.7H98.7c-1.2 0-2.4.7-2.8 1.7l-9.3 21.7c-.1.3-.2.6-.2.9v1.4c0 1.5 1.3 2.6 3 2.6h106.3v.1zm-11.4-20.2l.5 1.5c.1.4-.5.9-1.2
.9h-5c-.4 0-.8-.2-.8-.4-.1-.6-.2-.9-.5-1.5-.2-.4.4-.9 1.1-.9h5c.4 0 .8.1.9.4zm-7.4-5.3h4.7c.4 0 .7.2.8.4.1.6.2.9.4 1.5.1.4-.4.8-1 .8h-4.6c-.4 0-.8-.2-.9-.4l-.5-1.5c-.2-.4.4-.8 1.1-.8zm-4.3 5.3c.1.6.2.9.3 1.5.1.4-.6.9-1.3.9h-5.1c-.5 0-.8-.2-.9-.5-.2-.6-.2-.9-.4-1.5-.1-.4.5-.9 1.3-.9h5.3c.4.1.8.3.8.5zm-7.1-5.3h5c.4 0 .8.2.8.4.1.6.2.9.3 1.5.1.4-.5.8-1.2.8h-4.9c-.4 0-.8-.2-.8-.4-.2-.6-.2-.9-.4-1.5-.1-.4.5-.8 1.2-.8zm-5.8 5.5c.1.6.1.9.2 1.6.1.4-.5.8-1.2.8h-5.3c-.5 0-.9-.2-1-.5-.1-.6-.2-.9-.3-1.6-.1-.4.5-.8 1.2-.8h5.5c.4-.1.8.1.9.5zm-6.8-5.5h5.2c.5 0 .9.2.9.5.1.6.1.9.2 1.5.1.4-.5.8-1.1.8H153c-.5 0-.9-.2-.9-.5-.1-.6-.2-.9-.3-1.5-.1-.4.5-.8 1.1-.8zm-13.4.6c.1-.3.5-.5 1.1-.5h4.7c.5 0 1 .2 1 .5.1.6.1.9.2 1.5.1.4-.4.7-1.1.7h-5.3c-.6 0-1.1-.3-1-.7.2-.6.2-.9.4-1.5zm-.4 5c.1-.3.5-.6 1.1-.6h5c.6 0 1 .2 1.1.6.1.6.2.9.3 1.6.1.4-.5.8-1.1.8H140c-.7 0-1.2-.4-1.1-.8 0-.6.1-1 .2-1.6zm-11.4-5.5h5.2c.7 0 1.2.4 1.1.8l-.5 1.5c-.1.3-.5.5-1 .5h-5.1c-.6 0-1.2-.4-1.1-.8.1-.6.2-.9.3-1.5.2-.3.6-.5 1.1-.5zm-2 5.5c.
1-.3.5-.5 1-.5h5.5c.7 0 1.3.4 1.1.8-.2.6-.3 1-.4 1.6-.1.3-.5.5-1 .5h-5.3c-.7 0-1.3-.4-1.2-.8.1-.6.2-.9.3-1.6zm-17.7.4c-.3.6-.4 1-.5 1.6-.1.3-.4.5-.8.5h-5c-.7 0-1.3-.4-1.2-.9.2-.6.3-1 .5-1.6.1-.3.5-.5.9-.5h5c.7 0 1.2.5 1.1.9zm1.2-3.5c-.1.3-.5.4-.9.4h-4.6c-.6 0-1.1-.4-.9-.8l.5-1.5c.1-.3.4-.4.8-.4h4.7c.7 0 1.2.4 1.1.8-.3.6-.5.9-.7 1.5zm10.5 5.1c-.1.3-.4.5-.9.5h-5.1c-.7 0-1.3-.4-1.2-.9.1-.6.2-1 .4-1.6.1-.3.4-.5.9-.5h5.3c.7 0 1.3.4 1.2.9-.3.6-.4 1-.6 1.6zm1.1-5.1c-.1.3-.4.4-.9.4H115c-.7 0-1.2-.4-1.1-.8.2-.6.3-.9.4-1.5.1-.3.4-.4.9-.4h5c.7 0 1.2.4 1.1.8l-.5 1.5zm3.1 14.6c.4-2.3.6-3.5 1.1-5.9 0-.3.4-.6.9-.6 13.6-.1 20.5-.2 34.1-.3.5 0 .9.2.9.6.3 2.4.5 3.6.6 6.1 0 .4-.6.8-1.2.8h-35.4c-.6.1-1.1-.3-1-.7z" fill="#FFF"/><path d="M263.7 26.6h-.2v-1.3c0-.6-.5-1.2-1.2-1.2h-6.5c-.6 0-1.2.5-1.2 1.2v1.3h-25.4c-4 0-7.3 3.3-7.3 7.3v67.7c0 4 3.3 7.3 7.3 7.3h34.4c4 0 7.3-3.3 7.3-7.3V33.9c.1-4-3.1-7.3-7.2-7.3zm4.7 75c0 2.6-2.1 4.6-4.6 4.6h-34.4c-2.6 0-4.6-2.1-4.6-4.6V33.9c0-2.6 2.1-4.6 4.6-4.6h34.4c2.6 0 4
.6 2.1 4.6 4.6v67.7zm-16.5-1.2c0 1.2-.9 2.2-2.1 2.2h-6.7c-1.2 0-2.1-.9-2.1-2.1v-.1c0-1.2.9-2.1 2.1-2.1h6.7c1.2 0 2.1.9 2.1 2.1zM54.3 117.5h8.8c4.2 0 7.6-3.4 7.6-7.6V24.6c0-3.6-2.4-6.5-5.7-7.4-.4-.1-.9-.2-1.3-.2H8C3.8 17 .4 20.4.4 24.6v85.3c0 4.2 3.4 7.6 7.6 7.6h46.3zM3 24.6c0-2.7 2.2-4.9 4.9-4.9h55.2c2.7 0 4.9 2.2 4.9 4.9v85.3c0 2.7-2.2 4.9-4.9 4.9H8c-2.7 0-4.9-2.2-4.9-4.9V24.6H3zm26.2 86.7c-1 0-1.8-.8-1.8-1.8v-1.7c0-1 .8-1.8 1.8-1.8H42c1 0 1.8.8 1.8 1.8v1.7c0 1-.8 1.8-1.8 1.8H29.2zm135.3 8.1H194.6c3.1 0 5.7-2.4 5.7-5.3v-1.4c0-.7-.2-1.4-.5-2.1l-9.9-21.7c-.5-1-1.2-1.8-2.2-2.4 1.6-1.4 2.6-3.4 2.6-5.6V26.1c0-4.1-3.4-7.5-7.5-7.5h-82.5c-4.1 0-7.5 3.4-7.5 7.5v54.8c0 2.1.9 4.1 2.3 5.4-1.2.6-2.1 1.5-2.6 2.7l-9.3 21.7c-.3.6-.4 1.3-.4 2v1.4c0 2.9 2.5 5.3 5.7 5.3h76zm-76-2.7c-1.6 0-3-1.2-3-2.6v-1.4c0-.3.1-.6.2-.9L95 90.1c.4-1 1.5-1.7 2.8-1.7h87.1c1.2 0 2.3.7 2.8 1.7l9.9 21.7c.1.3.2.6.2 1v1.4c0 1.5-1.3 2.6-3 2.6H88.5v-.1zm6.9-35.9V26c0-2.6 2.1-4.8 4.8-4.8h82.7c2.6 0 4.8 2.1 4.8 4.8v54.8c0 2.6-2
.1 4.8-4.8 4.8h-82.7c-2.6-.1-4.8-2.2-4.8-4.8zm27.5 27.5c.4-2.3.6-3.5 1.1-5.9 0-.3.4-.6.9-.6 13.6-.1 20.5-.2 34.1-.3.5 0 .9.2.9.6.3 2.4.5 3.6.6 6.1 0 .4-.6.8-1.2.8h-35.4c-.6.1-1.1-.3-1-.7zm-3.8-11.1c-.2.6-.3 1-.5 1.6-.1.3-.4.5-.9.5h-5.1c-.7 0-1.3-.4-1.2-.9.1-.6.2-1 .4-1.6.1-.3.4-.5.9-.5h5.3c.7 0 1.3.5 1.1.9zm5.3 1.2c.1-.6.2-1 .3-1.6.1-.3.5-.5 1-.5h5.5c.7 0 1.3.4 1.1.8-.2.6-.3 1-.4 1.6-.1.3-.5.5-1 .5h-5.3c-.7 0-1.2-.4-1.2-.8zm33.3-2.3c.5 0 .9.2 1 .5.1.6.1.9.2 1.6.1.4-.5.8-1.2.8h-5.3c-.5 0-.9-.2-1-.5-.1-.6-.2-.9-.3-1.6-.1-.4.5-.8 1.2-.8h5.4zm-19.9 2.3c.1-.6.2-.9.3-1.6.1-.3.5-.6 1.1-.6h5c.6 0 1 .2 1.1.6.1.6.2.9.3 1.6.1.4-.5.8-1.1.8H139c-.8-.1-1.3-.4-1.2-.8zm27.7-2.3h5.3c.5 0 .8.2.9.5.1.6.2.9.3 1.5.1.4-.6.9-1.3.9h-5.1c-.5 0-.8-.2-.9-.5-.2-.6-.2-.9-.4-1.5-.2-.5.5-.9 1.2-.9zm-45.1-3.9l-.5 1.5c-.1.3-.4.4-.9.4h-4.9c-.7 0-1.2-.4-1.1-.8.2-.6.3-.9.4-1.5.1-.3.4-.4.9-.4h5c.7 0 1.2.4 1.1.8zm6.3-.9h5.2c.7 0 1.2.4 1.1.8l-.5 1.5c-.1.3-.5.5-1 .5h-5.1c-.6 0-1.2-.4-1.1-.8.1-.6.2-.9.3-1.5.2-.3.6-.5 1.1-.
5zm24.4 2.2c-.1-.6-.2-.9-.3-1.5-.1-.4.5-.8 1.1-.8h5.2c.5 0 .9.2.9.5.1.6.1.9.2 1.5.1.4-.5.8-1.1.8H152c-.4 0-.8-.2-.9-.5zm-13-.2c.1-.6.2-.9.4-1.5.1-.3.5-.5 1.1-.5h4.7c.5 0 1 .2 1 .5.1.6.1.9.2 1.5.1.4-.4.7-1.1.7h-5.3c-.6 0-1.1-.3-1-.7zm25.6.2c-.2-.6-.2-.9-.4-1.5-.1-.4.5-.8 1.2-.8h5c.4 0 .8.2.8.4.1.6.2.9.3 1.5.1.4-.5.8-1.2.8h-4.9c-.4 0-.7-.1-.8-.4zM107 97.2c-.3.6-.4 1-.5 1.6-.1.3-.4.5-.8.5h-5c-.7 0-1.3-.4-1.2-.9.2-.6.3-1 .5-1.6.1-.3.5-.5.9-.5h5c.7 0 1.2.5 1.1.9zm1.8-5c-.2.6-.3.9-.6 1.5-.1.3-.5.4-.9.4h-4.6c-.6 0-1.1-.4-.9-.8l.5-1.5c.1-.3.4-.4.8-.4h4.7c.6 0 1.1.4 1 .8zm68.5 3.9h5c.4 0 .8.2.9.5l.5 1.5c.1.4-.5.9-1.2.9h-5c-.4 0-.8-.2-.8-.4-.1-.6-.2-.9-.5-1.5-.1-.6.4-1 1.1-1zm-2.1-2.6l-.5-1.5c-.1-.4.5-.8 1.2-.8h4.7c.4 0 .7.2.8.4.1.6.2.9.4 1.5.1.4-.4.8-1 .8h-4.6c-.5 0-.9-.2-1-.4zm-33.6-66.9c-.9 0-1.6-.7-1.6-1.6 0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6-.1.9-.8 1.6-1.6 1.6z" fill="url(#l)" transform="translate(1 46)"/><path d="M150.4 51.6l-.3-.8-4.8-.9-1.9-3.8c-.2-.5-.7-.8-1.3-.8l-.9.1-2.3 4.6-4 .7c
-.5.1-1 .5-1.1 1l-.2.9 3.4 3.7-.6 4.3c-.1.5.2 1.1.6 1.4l.8.5 4.4-2.3 3.6 1.9c.5.3 1.1.2 1.5-.1l.7-.6-.7-5.1 2.9-3.1c.3-.5.4-1.1.2-1.6zm-6.1 3.7l.4 3.2-2.7-1.4-2.7 1.4.4-3.2-2.2-2.4 3.1-.6 1.4-2.8 1.4 2.8 3.1.6-2.2 2.4z" fill="url(#m)" transform="translate(1 46)"/><path d="M238.4 47c0 4.2 3.5 7.7 7.7 7.7s7.7-3.5 7.7-7.7-3.5-7.7-7.7-7.7-7.7 3.5-7.7 7.7zm7.7-5.3c2.9 0 5.3 2.4 5.3 5.3s-2.4 5.3-5.3 5.3-5.3-2.4-5.3-5.3 2.4-5.3 5.3-5.3zm-1.1 5.8v-3.7c0-.4.3-.7.7-.7.4 0 .7.3.7.7v3.1h3.1c.4 0 .7.3.7.7 0 .4-.3.7-.7.7h-3.7c-.5-.1-.8-.4-.8-.8zm3 33.4c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2h1.3c-.8-.9-1.9-1.4-3.2-1.4-2 0-3.8 1.4-4.3 3.3-.1.5-.6.9-1.1.9h-.3c-.6-.2-1-.8-.9-1.4.8-3 3.4-5.1 6.6-5.1 1.6 0 3.2.6 4.4 1.7V76c0-.7.5-1.2 1.2-1.2s1.2.5 1.2 1.2v3.7c0 .7-.5 1.2-1.2 1.2H248zm-1.9 7.5c-1.6 0-3.2-.6-4.4-1.7v.5c0 .7-.5 1.2-1.2 1.2s-1.2-.5-1.2-1.2v-3.7c0-.7.5-1.2 1.2-1.2h3.7c.7 0 1.2.5 1.2 1.2s-.5 1.2-1.2 1.2h-1.3c.8.9 1.9 1.4 3.2 1.4 2 0 3.8-1.4 4.3-3.3.2-.6.8-1 1.4-.9.6.2 1 .8.9 1.4-.8 3-3.5 5.1-6.
6 5.1zM35 50.7c4.7 0 8.5-3.8 8.5-8.5s-3.8-8.5-8.5-8.5-8.5 3.8-8.5 8.5 3.8 8.5 8.5 8.5zm0-14.3c3.2 0 5.8 2.6 5.8 5.8 0 3.2-2.6 5.8-5.8 5.8-3.2 0-5.8-2.6-5.8-5.8 0-3.2 2.6-5.8 5.8-5.8zm-1.2 6.3v-4.1c0-.4.3-.7.7-.7.4 0 .7.3.7.7V42h3.4c.4 0 .7.3.7.7 0 .4-.3.7-.7.7h-4.1c-.4 0-.7-.3-.7-.7zm8.7 38.1v4.1c0 .7-.6 1.3-1.3 1.3h-4.1c-.7 0-1.3-.6-1.3-1.3 0-.7.6-1.3 1.3-1.3h1.3c-.9-.9-2.1-1.4-3.4-1.4-2.2 0-4.1 1.5-4.6 3.6-.2.6-.7 1-1.3 1h-.3c-.7-.2-1.2-.9-1-1.6.8-3.3 3.8-5.7 7.3-5.7 1.8 0 3.5.7 4.8 1.8v-.4c0-.7.6-1.3 1.3-1.3.7-.1 1.3.5 1.3 1.2zm-.2 8c-.8 3.3-3.8 5.7-7.3 5.7-1.8 0-3.5-.7-4.8-1.8v.4c0 .7-.6 1.3-1.3 1.3-.7 0-1.3-.6-1.3-1.3V89c0-.7.6-1.3 1.3-1.3H33c.7 0 1.3.6 1.3 1.3 0 .7-.6 1.3-1.3 1.3h-1.3c.9.9 2.1 1.4 3.4 1.4 2.2 0 4.1-1.5 4.6-3.6.2-.7.9-1.2 1.6-1 .7.2 1.1 1 1 1.7zm77.1-26.5c4.7 0 8.5-3.8 8.5-8.5s-3.8-8.5-8.5-8.5-8.5 3.8-8.5 8.5c-.1 4.6 3.8 8.5 8.5 8.5zm0-14.4c3.2 0 5.8 2.6 5.8 5.8 0 3.2-2.6 5.8-5.8 5.8-3.2 0-5.8-2.6-5.8-5.8-.1-3.2 2.6-5.8 5.8-5.8zm-1.2 6.3v-4.1c0-.4.3-.7.7-.7.4 0
.7.3.7.7v3.4h3.4c.4 0 .7.3.7.7 0 .4-.3.7-.7.7h-4.1c-.4 0-.7-.3-.7-.7zm39 5.7v-4.1c0-.7.6-1.3 1.3-1.3h4.1c.7 0 1.3.6 1.3 1.3 0 .7-.6 1.3-1.3 1.3h-1.3c.9.9 2.1 1.4 3.4 1.4 2.2 0 4.1-1.5 4.6-3.6.2-.7.9-1.2 1.6-1 .7.2 1.2.9 1 1.6-.8 3.3-3.8 5.7-7.3 5.7-1.8 0-3.5-.7-4.8-1.8v.4c0 .7-.6 1.3-1.3 1.3-.7.1-1.3-.5-1.3-1.2zm.3-8c.8-3.3 3.8-5.7 7.3-5.7 1.8 0 3.5.7 4.8 1.8v-.4c0-.7.6-1.3 1.3-1.3.7 0 1.3.6 1.3 1.3v4.1c0 .7-.6 1.3-1.3 1.3h-4.1c-.7 0-1.3-.6-1.3-1.3 0-.7.6-1.3 1.3-1.3h1.3c-.9-.9-2.1-1.4-3.4-1.4-2.2 0-4.1 1.5-4.6 3.6-.2.6-.7 1-1.3 1h-.3c-.8-.2-1.2-1-1-1.7z" fill="url(#n)" transform="translate(1 46)"/></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_addons.svg b/browser/extensions/onboarding/content/img/icons_addons.svg
new file mode 100644
index 000000000000..6b27dea39252
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/icons_addons.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="8 8 16 16"><title>Icons / Extension</title><g fill="none"><path d="M0 0h16v16H0z"/><path d="M22.5 16c-1 0-1 1-1.7 1-.5 0-.8-.3-.8-.7V13c0-.6-.4-1-1-1h-3.2c-.5 0-.8-.3-.8-.7 0-.8 1-.8 1-1.8 0-.9-.9-1.5-2-1.5s-2 .6-2 1.5c0 1 1 1 1 1.8 0 .4-.3.7-.7.7H9c-.6 0-1 .4-1 1v2.3c0 .4.3.7.8.7.7 0 .7-1 1.7-1 .9 0 1.5.9 1.5 2s-.6 2-1.5 2c-1 0-1-1-1.7-1-.5 0-.8.3-.8.8V23c0 .6.4 1 1 1h3.3c.4 0 .7-.3.7-.7 0-.8-1-.8-1-1.8 0-.9.9-1.5 2-1.5s2 .6 2 1.5c0 1-1 1-1 1.8 0 .4.3.7.8.7H19c.6 0 1-.4 1-1v-3.2c0-.5.3-.8.8-.8.7 0 .7 1 1.7 1 .9 0 1.5-.9 1.5-2s-.6-2-1.5-2z" fill="#3E3D40"/></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_customize.svg b/browser/extensions/onboarding/content/img/icons_customize.svg
new file mode 100644
index 000000000000..ae0a9409fa5c
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/icons_customize.svg
@@ -0,0 +1 @@
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><title>Glyph / Customize</title><g id="Symbols" fill="none" fill-rule="evenodd"><g id="Glyph-/-Customize" fill-rule="nonzero" fill="#3E3D40"><path d="M4 10c-.886.002-1.665.59-1.91 1.44 0 .01-.015.015-.018.025-.362 1.135-.705 2.11-1.76 2.573l-.022.012-.024.012c-.162.086-.265.254-.266.438 0 .276.224.5.5.5 1.74.12 3.46-.414 4.825-1.5.006-.006.007-.013.013-.02.62-.55.832-1.428.534-2.202C5.575 10.504 4.83 9.995 4 10zM15.693.307c-.365-.363-.95-.383-1.338-.046l-8.03 7c-.206.18-.327.435-.336.707-.01.27.093.535.285.727l1.032 1.03c.184.185.433.288.693.288h.033c.272-.01.527-.13.706-.335l7-8.03c.338-.39.318-.975-.047-1.34z" id="Shape"/></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_default.svg b/browser/extensions/onboarding/content/img/icons_default.svg
new file mode 100644
index 000000000000..235f7d65b685
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/icons_default.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><title>default-browser-16</title><path fill="context-fill" d="M8,6s0-4,3.5-4S15,5,15,6c0,4.5-7,9-7,9Z"/><path fill="context-fill" d="M8,6S8,2,4.5,2,1,5,1,6c0,4.5,7,9,7,9L9,9Z"/></svg>
diff --git a/browser/extensions/onboarding/content/img/icons_library.svg b/browser/extensions/onboarding/content/img/icons_library.svg
new file mode 100644
index 000000000000..064c2e619486
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/icons_library.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg width="92px" height="92px" viewBox="0 0 92 92" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Tip / Icon / Library</title><desc>Created with Sketch.</desc><defs></defs><g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Tip-/-Icon-/-Library" fill-rule="nonzero" fill="#0C0C0D"><g id="Icon-/-Library-/-Web"><path d="M28.7405828,17.2350375 C25.5662458,17.2350375 22.9929371,19.8060508 22.9929371,22.9775563 L22.9929371,80.402744 C22.9929371,83.5742496 25.5662458,86.1452628 28.7405828,86.1452628 C31.9149199,86.1452628 34.4882285,83.5742496 34.4882285,80.402744 L34.4882285,22.9775563 C34.4882285,19.8060508 31.9149199,17.2350375 28.7405828,17.2350375 Z M45.98352,11.4925188 C42.8091829,11.4925188 40.2358743,14.063532 40.2358743,17.2350375 L40.2358743,80.402744 C40.2358743,83.5742496 42.8091829,86.1452628 45.98352,86.1452628 C49.157857,86.1452628 51.7311657,83.574249
6 51.7311657,80.402744 L51.7311657,17.2350375 C51.7311657,14.063532 49.157857,11.4925188 45.98352,11.4925188 Z M91.6140792,78.4388026 L68.6234964,15.2710961 C67.9500245,13.3049026 66.2658683,11.8556604 64.2198302,11.4816739 C62.1737921,11.1076875 60.0851643,11.8673187 58.7585671,13.4679283 C57.4319699,15.0685378 57.0744241,17.2603443 57.8236701,19.198979 L80.814253,82.3666855 C81.4877249,84.332879 83.1718811,85.7821212 85.2179192,86.1561076 C87.2639573,86.5300941 89.3525851,85.7704629 90.6791823,84.1698533 C92.0057794,82.5692438 92.3633253,80.3774372 91.6140792,78.4388026 L91.6140792,78.4388026 Z M11.4976457,5.75 C8.32330864,5.75 5.75,8.32101323 5.75,11.4925188 L5.75,80.402744 C5.75,83.5742496 8.32330864,86.1452628 11.4976457,86.1452628 C14.6719828,86.1452628 17.2452914,83.5742496 17.2452914,80.402744 L17.2452914,11.4925188 C17.2452914,8.32101323 14.6719828,5.75 11.4976457,5.75 Z" id="Shape"></path></g></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_performance.svg b/browser/extensions/onboarding/content/img/icons_performance.svg
new file mode 100644
index 000000000000..ad23ba27400c
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/icons_performance.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="context-fill" d="M8 1a8.009 8.009 0 0 0-8 8 7.917 7.917 0 0 0 .78 3.43 1 1 0 1 0 1.8-.86A5.943 5.943 0 0 1 2 9a6 6 0 1 1 11.414 2.571 1 1 0 1 0 1.807.858A7.988 7.988 0 0 0 8 1z"/><path fill="context-fill" d="M11.769 7.078a.5.5 0 0 0-.69.153L8.616 11.1a2 2 0 1 0 .5 3.558 2.011 2.011 0 0 0 .54-.54 1.954 1.954 0 0 0-.2-2.479l2.463-3.871a.5.5 0 0 0-.15-.69z"/></svg>
diff --git a/browser/extensions/onboarding/content/img/icons_private.svg b/browser/extensions/onboarding/content/img/icons_private.svg
new file mode 100755
index 000000000000..7d4d2c416801
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/icons_private.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="8 8 16 16"><title>Icons / Private Browsing</title><g fill="none"><path d="M0 0h32v32H0z"/><path d="M20.4 20c-1.7 0-2.8-2-4.4-2-1.6 0-2.8 2-4.4 2-2 0-3.5-2-3.5-5.3-.1-2 .6-2.7 3.2-2.7s3.4 1.1 4.7 1.1c1.3 0 2.1-1.1 4.7-1.1s3.3.7 3.2 2.7c0 3.3-1.5 5.3-3.5 5.3zm-7.8-5.4c-1.6 0-2.3 1-2.3 1.2 0 .3 1.1.9 2.1.9 1.1 0 2.3-.4 2.3-.7-.2-1-1.1-1.6-2.1-1.4zm6.8 0c-1-.2-1.9.4-2.1 1.4 0 .3 1.2.7 2.3.7 1 0 2.1-.6 2.1-.9 0-.2-.7-1.2-2.3-1.2z" fill="#3E3D40"/></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_screenshots.svg b/browser/extensions/onboarding/content/img/icons_screenshots.svg
new file mode 100644
index 000000000000..8d219dce78b5
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/icons_screenshots.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg width="92px" height="92px" viewBox="0 0 92 92" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Tip / Icon / Screenshots</title><desc>Created with Sketch.</desc><defs></defs><g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Tip-/-Icon-/-Screenshots" fill-rule="nonzero" fill="#0C0C0D"><g id="Icon-/-Screenshot-/-Web"><path d="M23.0526905,5.75 C16.7062659,5.75 11.5614723,10.8982866 11.5614723,17.2490201 L23.0526905,17.2490201 L23.0526905,5.75 Z M57.5263453,5.75 L46.035127,5.75 L46.035127,17.2490201 L57.5263453,17.2490201 L57.5263453,5.75 Z M80.5087818,5.75 L80.5087818,17.2490201 L92,17.2490201 C92,10.8982866 86.8552063,5.75 80.5087818,5.75 Z M40.2895179,5.75 L28.7982997,5.75 L28.7982997,17.2490201 L40.2895179,17.2490201 L40.2895179,5.75 Z M74.7631726,5.75 L63.2719544,5.75 L63.2719544,17.2490201 L74.7631726,17.2490201 L74.7631726,5.75 Z M80.5087818,34.4975502
L92,34.4975502 L92,22.9985301 L80.5087818,22.9985301 L80.5087818,34.4975502 Z M80.5087818,68.9946104 C86.8552063,68.9946104 92,63.8463237 92,57.4955903 L80.5087818,57.4955903 L80.5087818,68.9946104 Z M80.5087818,51.7460803 L92,51.7460803 L92,40.2470602 L80.5087818,40.2470602 L80.5087818,51.7460803 Z M77.9749681,39.286892 C74.3364854,34.0846734 67.1729138,32.8182928 61.9734467,36.4581331 L39.9390357,52.734996 L28.631677,44.8006721 C28.7205927,44.2448747 28.7762328,43.6842562 28.7982997,43.1218152 C28.7892628,38.6172543 26.6604054,34.3800822 23.0526905,31.6860398 L23.0526905,22.9985301 L11.5614723,22.9985301 L11.5614723,29.0355156 C5.79583786,30.1835386 1.31120668,34.7313256 0.240775953,40.5156383 C-0.829654779,46.2999509 1.73019662,52.1531434 6.70268981,55.2910372 C11.675183,58.4289309 18.0565494,58.2180974 22.811375,54.7588235 L29.9474215,59.7551477 L21.9035687,65.4011666 C16.3310302,62.0167647 9.17796578,62.8225007 4.49677041,67.3619045 C-0.184424965,71.9013083 -1.21401,79.0303725
1.99130168,84.710299 C5.19661336,90.3902255 11.8290284,93.1895755 18.1311131,91.5224455 C24.4331979,89.8553154 28.8167193,84.1418505 28.7982997,77.6188754 C28.7959008,76.6687877 28.699673,75.721263 28.5110192,74.7901165 L77.9749681,39.286892 Z M14.4342769,50.3087028 C10.4677615,50.3087028 7.25226545,47.0910236 7.25226545,43.1218152 C7.25226545,39.1526068 10.4677615,35.9349277 14.4342769,35.9349277 C18.4007922,35.9349277 21.6162883,39.1526068 21.6162883,43.1218152 C21.6162883,47.0910236 18.4007922,50.3087028 14.4342769,50.3087028 Z M14.4342769,84.805763 C10.4677615,84.805763 7.25226545,81.5880838 7.25226545,77.6188754 C7.25226545,73.649667 10.4677615,70.4319879 14.4342769,70.4319879 C18.4007922,70.4319879 21.6162883,73.649667 21.6162883,77.6188754 C21.6162883,81.5880838 18.4007922,84.805763 14.4342769,84.805763 Z M45.4605661,70.8402031 L62.7950688,84.0640762 C67.9945359,87.7039165 75.1581075,86.4375358 78.7965902,81.2353172 L55.457926,63.8200513 L45.4605661,70.8402031 Z" id="Shape"><
/path></g></g></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_singlesearch.svg b/browser/extensions/onboarding/content/img/icons_singlesearch.svg
new file mode 100644
index 000000000000..3e06a3852288
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/icons_singlesearch.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="8 8 16 16 "><title>Icons / Search</title><g fill="none"><path d="M0 0h32v32H0z"/><path d="M23.7 22.3l-4.8-4.8c1.8-2.5 1.4-6.1-1-8.1s-5.9-1.9-8.1.4c-2.3 2.2-2.4 5.7-.4 8.1 2 2.4 5.6 2.8 8.1 1l4.8 4.8c.4.4 1 .4 1.4 0 .4-.4.4-1 0-1.4zM14 18c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4c0 1.1-.4 2.1-1.1 2.9-.8.7-1.8 1.1-2.9 1.1z" fill="#3E3D40"/></g></svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/icons_sync.svg b/browser/extensions/onboarding/content/img/icons_sync.svg
new file mode 100644
index 000000000000..286422275aa7
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/icons_sync.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="8 8 16 16"><title> Icons / Sync</title><desc> Created with Sketch.</desc><g fill="none"><rect width="32" height="32"/><path d="M22 9C21.4 9 21 9.4 21 10L21 11.1C19.2 9.3 16.6 8.6 14.2 9.2 11.7 9.9 9.8 11.8 9.2 14.3 9.1 14.7 9.2 15 9.5 15.3 9.8 15.5 10.1 15.6 10.5 15.5 10.8 15.4 11.1 15.1 11.2 14.8 11.7 12.6 13.7 11 16 11 17.6 11 19 11.7 20 13L18 13C17.4 13 17 13.4 17 14 17 14.6 17.4 15 18 15L22 15C22.6 15 23 14.6 23 14L23 10C23 9.4 22.6 9 22 9ZM22 16.5C21.8 16.4 21.5 16.5 21.3 16.6 21.1 16.7 20.9 17 20.8 17.2 20.3 19.4 18.3 21 16 21 14.4 21 13 20.3 12 19L14 19C14.6 19 15 18.6 15 18 15 17.4 14.6 17 14 17L10 17C9.4 17 9 17.4 9 18L9 22C9 22.6 9.4 23 10 23 10.6 23 11 22.6 11 22L11 20.9C12.8 22.7 15.4 23.4 17.8 22.8 20.3 22.1 22.2 20.2 22.8 17.7 22.9 17.2 22.6 16.6 22 16.5Z" fill="#3E3D40"/></g></svg>
diff --git a/browser/extensions/onboarding/content/img/icons_tour-complete.svg b/browser/extensions/onboarding/content/img/icons_tour-complete.svg
new file mode 100644
index 000000000000..173e72c332df
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/icons_tour-complete.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <!-- Generator: Sketch 44.1 (41455) - http://www.bohemiancoding.com/sketch -->
+ <title>Tip / Check</title>
+ <desc>Created with Sketch.</desc>
+ <defs></defs>
+ <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="Tips-/-Navigation" transform="translate(-30.000000, -117.000000)" stroke-width="2">
+ <g id="Group">
+ <g id="Tip-/-Check" transform="translate(30.000000, 117.000000)">
+ <circle id="Oval-2" stroke="#FFFFFF" fill="#33F70C" fill-rule="evenodd" cx="10" cy="10" r="9"></circle>
+ <polyline id="Path-31" stroke="#165866" stroke-linecap="round" stroke-linejoin="round" points="5.5 10.5 8.5 13.5 14.5 6.5"></polyline>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/browser/extensions/onboarding/content/img/watermark.svg b/browser/extensions/onboarding/content/img/watermark.svg
new file mode 100644
index 000000000000..c9345ed2ba1d
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/watermark.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><title>newtab-firefox-gry</title><path d="M31.359,14.615h0c-.044-.289-.088-.459-.088-.459s-.113.131-.3.378A10.77,10.77,0,0,0,30.6,12.5a13.846,13.846,0,0,0-.937-2.411,10.048,10.048,0,0,0-.856-1.468q-.176-.263-.359-.51c-.57-.931-1.224-1.5-1.981-2.576a7.806,7.806,0,0,1-.991-2.685A10.844,10.844,0,0,0,25,4.607c-.777-.784-1.453-1.341-1.861-1.721C21.126,1.006,21.36.031,21.36.031h0S17.6,4.228,19.229,8.6a8.4,8.4,0,0,0,2.8,3.733c1.576,1.3,3.273,2.323,4.168,4.937a8.377,8.377,0,0,0-3.144-3.317,7.573,7.573,0,0,1,.6,3,7.124,7.124,0,0,1-8.711,6.94,6.561,6.561,0,0,1-1.765-.6,7.183,7.183,0,0,1-2.115-1.955l-.01-.017.126.046a6.5,6.5,0,0,0,.9.241,5.628,5.628,0,0,0,3.583-.423c1.126-.625,1.808-1.088,2.361-.905l.01,0c.54.172.966-.352.58-.9a2.94,2.94,0,0,0-2.848-1.112c-1.127.164-2.16.965-3.637.189a3.129,3.129,0,0,1-.277-.163c-.1-.057.317.087.22.022a7.33,7.33,0,0,1-.928-.554c-.022-.018.223.07.2.052a3.581,3.581,0,0,1-.968-.979
,1.741,1.741,0,0,1-.066-1.554,1.371,1.371,0,0,1,.6-.564c.191.094.309.165.309.165s-.087-.16-.134-.244c.017-.006.032,0,.049-.011.167.072.537.26.732.375a1.016,1.016,0,0,1,.335.3s.067-.033.017-.173a.9.9,0,0,0-.346-.424l.016,0a2.94,2.94,0,0,1,.426.265,2.079,2.079,0,0,0,.17-.9,1.178,1.178,0,0,0-.069-.5c-.053-.1.03-.14.123-.035a.976.976,0,0,0-.079-.238v-.008h0s.053-.069.077-.094a1.43,1.43,0,0,1,.216-.176,9.973,9.973,0,0,1,1.465-.747c.414-.181.757-.319.827-.359a2.3,2.3,0,0,0,.293-.225,1.968,1.968,0,0,0,.66-1.14,1.6,1.6,0,0,0,.017-.178v-.05l0-.03v0l0-.012v0l0-.013h0c-.06-.225-.448-.394-2.476-.584a1.773,1.773,0,0,1-1.45-1.36l0,.009c-.029.074-.055.149-.081.225.026-.075.052-.15.081-.225l0-.016a5.138,5.138,0,0,1,1.986-2.466c.052-.042-.208.011-.156-.032a5.156,5.156,0,0,1,.53-.224c.091-.038-.39-.222-.815-.177a2.2,2.2,0,0,0-.756.178c.1-.086.4-.2.329-.2a4.865,4.865,0,0,0-1.542.583.314.314,0,0,1,.03-.14,2.4,2.4,0,0,0-.964.744,1.275,1.275,0,0,0,.01-.174,2.876,2.876,0,0,0-.473.444l-.009.007a6.285,6.285
,0,0,0-3.517-.3l-.01-.009.012,0a2.943,2.943,0,0,1-.625-.7L6.1,5.852,6.081,5.83c-.077-.114-.156-.243-.237-.387-.058-.1-.117-.217-.176-.338,0-.008-.009-.011-.013-.012-.024,0-.041.111-.061.082l0-.006a4.308,4.308,0,0,1-.283-1.687l-.016.008a1.884,1.884,0,0,0-.714.934c-.061.137-.1.212-.14.287,0,.006,0-.01,0-.035.009-.069.039-.211.032-.2s-.012.019-.019.029a1.733,1.733,0,0,0-.251.372,2.355,2.355,0,0,0-.15.382c-.006.021,0-.018,0-.064s.009-.128,0-.111l-.022.043a9.5,9.5,0,0,0-.8,3.035A3.022,3.022,0,0,0,3.2,8.7v.016a6.628,6.628,0,0,0-.817,1.1,15.606,15.606,0,0,0-1.727,4.23,10.351,10.351,0,0,1,.925-1.621,15,15,0,0,0-1.045,5.5,14.233,14.233,0,0,1,.45-1.629A13.807,13.807,0,0,0,2.234,22.76a15.037,15.037,0,0,0,5.951,6.748h0a13.016,13.016,0,0,0,3.468,1.662c.162.059.326.117.494.173-.053-.021-.1-.044-.153-.067a15.7,15.7,0,0,0,4.5.662c5.394,0,7.175-2.054,7.339-2.259h0a2.73,2.73,0,0,0,.637-.856h0q.156-.064.315-.137l.067-.03.121-.057a11.312,11.312,0,0,0,2.277-1.426,5.5,5.5,0,0,0,2.123-3.1h0a1.938,1.938,0,
0,0,.029-1.428q.083-.131.171-.28a12.706,12.706,0,0,0,1.907-6.181v-.006c0-.059,0-.118,0-.177A7.731,7.731,0,0,0,31.359,14.615Z" fill="context-fill"/></svg>
diff --git a/browser/extensions/onboarding/content/onboarding-tour-agent.js b/browser/extensions/onboarding/content/onboarding-tour-agent.js
new file mode 100644
index 000000000000..d60a41b2c9f5
--- /dev/null
+++ b/browser/extensions/onboarding/content/onboarding-tour-agent.js
@@ -0,0 +1,94 @@
+/* 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/. */
+
+/* globals Mozilla */
+
+(function() {
+"use strict";
+
+let onCanSetDefaultBrowserInBackground = () => {
+ Mozilla.UITour.getConfiguration("appinfo", config => {
+ let canSetInBackGround = config.canSetDefaultBrowserInBackground;
+ let btn = document.getElementById("onboarding-tour-default-browser-button");
+ btn.setAttribute("data-cansetbg", canSetInBackGround);
+ btn.textContent = canSetInBackGround ? btn.getAttribute("data-bg") : btn.getAttribute("data-panel");
+ });
+};
+
+let onClick = evt => {
+ switch (evt.target.id) {
+ case "onboarding-tour-addons-button":
+ Mozilla.UITour.showHighlight("addons");
+ break;
+ case "onboarding-tour-customize-button":
+ Mozilla.UITour.showHighlight("customize");
+ break;
+ case "onboarding-tour-default-browser-button":
+ Mozilla.UITour.getConfiguration("appinfo", (config) => {
+ let isDefaultBrowser = config.defaultBrowser;
+ let btn = document.getElementById("onboarding-tour-default-browser-button");
+ let msg = document.getElementById("onboarding-tour-is-default-browser-msg");
+ let canSetInBackGround = btn.getAttribute("data-cansetbg") === "true";
+ if (isDefaultBrowser || canSetInBackGround) {
+ btn.classList.add("onboarding-hidden");
+ msg.classList.remove("onboarding-hidden");
+ if (canSetInBackGround) {
+ Mozilla.UITour.setConfiguration("defaultBrowser");
+ }
+ } else {
+ btn.disabled = true;
+ Mozilla.UITour.setConfiguration("defaultBrowser");
+ }
+ });
+ break;
+ case "onboarding-tour-library-button":
+ Mozilla.UITour.showHighlight("library");
+ break;
+ case "onboarding-tour-private-browsing-button":
+ Mozilla.UITour.showHighlight("privateWindow");
+ break;
+ case "onboarding-tour-singlesearch-button":
+ Mozilla.UITour.showMenu("urlbar");
+ break;
+ case "onboarding-tour-sync-button":
+ let emailInput = document.getElementById("onboarding-tour-sync-email-input");
+ if (emailInput.checkValidity()) {
+ Mozilla.UITour.showFirefoxAccounts(null, emailInput.value);
+ }
+ break;
+ case "onboarding-tour-sync-connect-device-button":
+ Mozilla.UITour.showConnectAnotherDevice();
+ break;
+ }
+ let classList = evt.target.classList;
+ // On keyboard navigation the target would be .onboarding-tour-item.
+ // On mouse clicking the target would be .onboarding-tour-item-container.
+ if (classList.contains("onboarding-tour-item") || classList.contains("onboarding-tour-item-container")) {
+ Mozilla.UITour.hideHighlight(); // Clean up UITour if a user tries to change to other tours.
+ }
+};
+
+let overlay = document.getElementById("onboarding-overlay");
+overlay.addEventListener("submit", e => e.preventDefault());
+overlay.addEventListener("click", onClick);
+overlay.addEventListener("keypress", e => {
+ let { target, key } = e;
+ let classList = target.classList;
+ if ((key == " " || key == "Enter") &&
+ // On keyboard navigation the target would be .onboarding-tour-item.
+ // On mouse clicking the target would be .onboarding-tour-item-container.
+ (classList.contains("onboarding-tour-item") || classList.contains("onboarding-tour-item-container"))) {
+ Mozilla.UITour.hideHighlight(); // Clean up UITour if a user tries to change to other tours.
+ }
+});
+let overlayObserver = new MutationObserver(mutations => {
+ if (!overlay.classList.contains("onboarding-opened")) {
+ Mozilla.UITour.hideHighlight(); // Clean up UITour if a user tries to close the dialog.
+ }
+});
+overlayObserver.observe(overlay, { attributes: true });
+document.getElementById("onboarding-overlay-button").addEventListener("Agent:Destroy", () => Mozilla.UITour.hideHighlight());
+document.addEventListener("Agent:CanSetDefaultBrowserInBackground", onCanSetDefaultBrowserInBackground);
+
+})();
diff --git a/browser/extensions/onboarding/content/onboarding.css b/browser/extensions/onboarding/content/onboarding.css
new file mode 100644
index 000000000000..8f2431477634
--- /dev/null
+++ b/browser/extensions/onboarding/content/onboarding.css
@@ -0,0 +1,589 @@
+/* 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/. */
+#onboarding-overlay * {
+ box-sizing: border-box;
+}
+
+#onboarding-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ /* Ensuring we can put the overlay over elements using
+ z-index on original page */
+ z-index: 20999;
+ color: #4d4d4d;
+ background: var(--newtab-overlay-color, rgb(245, 245, 247, 0.9)); /* #f7f7f5, 0.9 opacity */
+ display: none;
+}
+
+#onboarding-overlay.onboarding-opened {
+ display: block;
+}
+
+#onboarding-overlay-button {
+ padding: 10px 0 0 0;
+ position: fixed;
+ cursor: pointer;
+ top: 4px;
+ inset-inline-start: 12px;
+ border: none;
+ /* Set to none so no grey contrast background in the high-contrast mode */
+ background: none;
+ /* make sure the icon stay above the activity-stream searchbar */
+ /* We want this always under #onboarding-overlay */
+ z-index: 10;
+}
+
+/* Keyboard focus styling */
+#onboarding-overlay-button:-moz-focusring {
+ outline: solid 2px rgba(0, 0, 0, 0.1);
+ -moz-outline-radius: 5px;
+ outline-offset: 5px;
+ transition: outline-offset 150ms;
+}
+
+#onboarding-overlay-button > img {
+ width: 32px;
+ vertical-align: top;
+}
+
+#onboarding-overlay-button::after {
+ content: " ";
+ border-radius: 50%;
+ margin-top: -1px;
+ margin-inline-start: -13px;
+ border: 2px solid #f2f2f2;
+ background: #0A84FF;
+ padding: 0;
+ width: 10px;
+ height: 10px;
+ min-width: unset;
+ max-width: unset;
+ display: block;
+ box-sizing: content-box;
+ float: inline-end;
+ position: relative;
+}
+
+#onboarding-overlay-button:hover::after,
+#onboarding-overlay-button.onboarding-speech-bubble::after {
+ background: #0060df;
+ font-size: 13px;
+ text-align: center;
+ color: #fff;
+ box-sizing: content-box;
+ font-weight: 400;
+ content: attr(aria-label);
+ border: 1px solid transparent;
+ border-radius: 2px;
+ padding: 10px 16px;
+ width: auto;
+ height: auto;
+ min-width: 100px;
+ max-width: 140px;
+ white-space: pre-line;
+ margin-inline-start: 4px;
+ margin-top: -10px;
+ box-shadow: -2px 0 5px 0 rgba(74, 74, 79, 0.25);
+}
+
+#onboarding-overlay-button:dir(rtl)::after {
+ box-shadow: 2px 0 5px 0 rgba(74, 74, 79, 0.25);
+}
+
+#onboarding-overlay-button-watermark-icon {
+ -moz-context-properties: fill;
+ fill: var(--newtab-icon-tertiary-color, #d7d7db);
+}
+
+#onboarding-overlay-button-watermark-icon,
+#onboarding-overlay-button.onboarding-watermark::after,
+#onboarding-overlay-button.onboarding-watermark:not(:hover) > #onboarding-overlay-button-icon {
+ display: none;
+}
+
+#onboarding-overlay-button.onboarding-watermark:not(:hover) > #onboarding-overlay-button-watermark-icon {
+ display: block;
+}
+
+#onboarding-overlay-dialog,
+.onboarding-hidden,
+#onboarding-tour-sync-page[data-login-state=logged-in] .show-on-logged-out,
+#onboarding-tour-sync-page[data-login-state=logged-out] .show-on-logged-in {
+ display: none;
+}
+
+.onboarding-close-btn {
+ position: absolute;
+ top: 15px;
+ inset-inline-end: 15px;
+ cursor: pointer;
+ width: 16px;
+ height: 16px;
+ border: none;
+ background: none;
+ padding: 0;
+ }
+
+.onboarding-close-btn::before {
+ content: url("chrome://global/skin/icons/close.svg");
+ -moz-context-properties: fill, fill-opacity;
+ fill-opacity: 0;
+ fill: var(--newtab-icon-primary-color, currentColor);
+}
+
+.onboarding-close-btn:-moz-any(:hover, :active, :focus, :-moz-focusring)::before {
+ fill-opacity: 0.1;
+}
+
+#onboarding-overlay.onboarding-opened > #onboarding-overlay-dialog {
+ width: 960px;
+ height: 510px;
+ background: #fff;
+ border: 1px solid rgba(9, 6, 13, 0.2); /* #09060D, 0.2 opacity */
+ border-radius: 3px;
+ position: relative;
+ margin: 0 calc(50% - 480px);
+ top: calc(50% - 255px);
+ display: grid;
+ grid-template-rows: [dialog-start] 70px [page-start] 1fr [footer-start] 30px [dialog-end];
+ grid-template-columns: [dialog-start] 230px [page-start] 1fr [dialog-end];
+ box-shadow: 0 3px rgba(0, 0, 0, 0.04);
+}
+
+#onboarding-overlay.onboarding-opened > #onboarding-overlay-dialog:-moz-focusring {
+ outline: none;
+}
+
+@media (max-height: 510px) {
+ #onboarding-overlay.onboarding-opened > #onboarding-overlay-dialog {
+ top: 0;
+ }
+}
+
+#onboarding-overlay-dialog > header {
+ grid-row: dialog-start / page-start;
+ grid-column: dialog-start / tour-end;
+ margin-top: 22px;
+ margin-bottom: 0;
+ margin-inline-end: 0;
+ margin-inline-start: 36px;
+ font-size: 22px;
+ font-weight: 200;
+}
+
+#onboarding-overlay-dialog > nav {
+ grid-row: dialog-start / footer-start;
+ grid-column-start: dialog-start;
+ margin-top: 40px;
+ margin-bottom: 0;
+ margin-inline-end: 0;
+ margin-inline-start: 0;
+ padding: 0;
+}
+
+#onboarding-overlay-dialog > footer {
+ grid-column: dialog-start / tour-end;
+ font-size: 13px;
+}
+
+#onboarding-skip-tour-button {
+ margin-inline-start: 27px;
+ margin-bottom: 27px;
+}
+
+/* Onboarding tour list */
+#onboarding-tour-list {
+ margin: 40px 0 0 0;
+ padding: 0;
+ margin-inline-start: 16px;
+}
+
+#onboarding-tour-list .onboarding-tour-item-container {
+ list-style: none;
+ outline: none;
+ position: relative;
+}
+
+#onboarding-tour-list .onboarding-tour-item {
+ pointer-events: none;
+ display: list-item;
+ padding-inline-start: 49px;
+ padding-top: 14px;
+ padding-bottom: 14px;
+ margin-bottom: 9px;
+ font-size: 16px;
+ cursor: pointer;
+ max-height: 54px;
+ --onboarding-tour-item-active-color: #0A84FF;
+}
+
+#onboarding-tour-list .onboarding-tour-item:dir(rtl) {
+ background-position-x: right 17px;
+}
+
+#onboarding-tour-list .onboarding-tour-item.onboarding-complete::before {
+ content: url("img/icons_tour-complete.svg");
+ position: relative;
+ inset-inline-start: 3px;
+ top: -10px;
+ float: inline-start;
+}
+
+#onboarding-tour-list .onboarding-tour-item.onboarding-complete {
+ padding-inline-start: 29px;
+}
+
+#onboarding-tour-list .onboarding-tour-item::after {
+ content: "";
+ display: block;
+ width: 48px;
+ height: 48px;
+ position: absolute;
+ inset-inline-start: 0px;
+ top: 0px;
+ background-color: #3E3D40;
+ mask-repeat: no-repeat;
+ mask-position: left 17px top 14px;
+ mask-size: 20px;
+}
+
+#onboarding-tour-list .onboarding-tour-item:dir(rtl)::after {
+ mask-position: right 17px top 14px;
+}
+
+#onboarding-tour-list .onboarding-tour-item.onboarding-active::after,
+#onboarding-tour-list .onboarding-tour-item-container:hover .onboarding-tour-item::after {
+ background-color: var(--onboarding-tour-item-active-color);
+}
+
+#onboarding-tour-list .onboarding-tour-item.onboarding-active,
+#onboarding-tour-list .onboarding-tour-item-container:hover .onboarding-tour-item {
+ color: var(--onboarding-tour-item-active-color);
+ /* With 1px transparent outline, could see a border in the high-constrast mode */
+ outline: 1px solid transparent;
+}
+
+/* Default browser tour */
+#onboarding-tour-is-default-browser-msg {
+ font-size: 16px;
+ line-height: 21px;
+ float: inline-end;
+ margin-inline-end: 26px;
+ margin-top: -32px;
+ text-align: center;
+}
+
+/* Sync tour */
+#onboarding-tour-sync-page form {
+ text-align: center;
+}
+
+#onboarding-tour-sync-page form > h3 {
+ text-align: center;
+ margin: 0;
+ font-size: 22px;
+ font-weight: normal;
+}
+
+#onboarding-tour-sync-page form > p {
+ text-align: center;
+ margin: 3px 0 0 0;
+ font-size: 15px;
+ font-weight: normal;
+}
+
+#onboarding-tour-sync-page form > input {
+ margin-top: 10px;
+ height: 40px;
+ width: 80%;
+ padding: 7px;
+}
+
+#onboarding-tour-sync-page form > #onboarding-tour-sync-button {
+ padding: 10px 20px;
+ min-width: 40%;
+ margin: 15px 0;
+ float: none;
+}
+
+/* Onboarding tour pages */
+.onboarding-tour-page {
+ grid-row: page-start / footer-end;
+ grid-column: page-start;
+ display: grid;
+ grid-template-rows: [tour-page-start] 393px [tour-button-start] 1fr [tour-page-end];
+ grid-template-columns: [tour-page-start] 368px [tour-content-start] 1fr [tour-page-end];
+}
+
+.onboarding-tour-description {
+ grid-row: tour-page-start / tour-page-end;
+ grid-column: tour-page-start / tour-content-start;
+ font-size: 15px;
+ line-height: 22px;
+ padding-inline-start: 40px;
+ padding-inline-end: 28px;
+ max-height: 360px;
+ overflow: auto;
+}
+
+.onboarding-tour-description > h1 {
+ font-size: 36px;
+ margin-top: 16px;
+ font-weight: 300;
+ line-height: 44px;
+}
+
+.onboarding-tour-content {
+ grid-row: tour-page-start / tour-button-start;
+ grid-column: tour-content-start / tour-page-end;
+ padding: 0;
+ text-align: end;
+}
+
+.onboarding-tour-content > img {
+ width: 352px;
+ margin: 0;
+}
+
+/* These illustrations need to be stuck on the right side to the border. Thus we
+ need to flip them horizontally on RTL . */
+.onboarding-tour-content > img:dir(rtl) {
+ transform: scaleX(-1);
+}
+
+.onboarding-tour-content > iframe {
+ width: 100%;
+ height: 100%;
+ border: none;
+}
+
+.onboarding-tour-button-container {
+ /* Get higher z-index in order to ensure buttons within container are selectable */
+ z-index: 2;
+ grid-row: tour-button-start / tour-page-end;
+ grid-column: tour-content-start / tour-page-end;
+}
+
+.onboarding-tour-action-button {
+ background: #0060df;
+ /* With 1px transparent border, could see a border in the high-constrast mode */
+ border: 1px solid transparent;
+ border-radius: 2px;
+ padding: 10px 20px;
+ font-size: 14px;
+ font-weight: 600;
+ line-height: 16px;
+ color: #fff;
+ float: inline-end;
+ margin-inline-end: 26px;
+ margin-top: -32px;
+}
+
+/* Remove default dotted outline around buttons' text */
+#onboarding-overlay button::-moz-focus-inner,
+#onboarding-overlay-button::-moz-focus-inner {
+ border: 0;
+}
+
+/* Keyboard focus specific outline */
+#onboarding-overlay button:-moz-focusring,
+.onboarding-action-button:-moz-focusring,
+#onboarding-tour-list .onboarding-tour-item:focus {
+ outline: 2px solid rgba(0,149,221,0.5);
+ outline-offset: 1px;
+ -moz-outline-radius: 2px;
+}
+
+.onboarding-tour-action-button:hover:not([disabled]) {
+ background: #003eaa;
+ cursor: pointer;
+}
+
+.onboarding-tour-action-button:active:not([disabled]) {
+ background: #002275;
+}
+
+.onboarding-tour-action-button:disabled {
+ opacity: 0.5;
+}
+
+/* Tour Icons */
+#onboarding-tour-singlesearch.onboarding-tour-item::after,
+#onboarding-notification-bar[data-target-tour-id=onboarding-tour-singlesearch] #onboarding-notification-tour-title::before {
+ mask-image: url("img/icons_singlesearch.svg");
+}
+
+#onboarding-tour-private-browsing.onboarding-tour-item::after,
+#onboarding-notification-bar[data-target-tour-id=onboarding-tour-private-browsing] #onboarding-notification-tour-title::before {
+ mask-image: url("img/icons_private.svg");
+}
+
+#onboarding-tour-addons.onboarding-tour-item::after,
+#onboarding-notification-bar[data-target-tour-id=onboarding-tour-addons] #onboarding-notification-tour-title::before {
+ mask-image: url("img/icons_addons.svg");
+}
+
+#onboarding-tour-customize.onboarding-tour-item::after,
+#onboarding-notification-bar[data-target-tour-id=onboarding-tour-customize] #onboarding-notification-tour-title::before {
+ mask-image: url("img/icons_customize.svg");
+}
+
+#onboarding-tour-default-browser.onboarding-tour-item::after,
+#onboarding-notification-bar[data-target-tour-id=onboarding-tour-default-browser] #onboarding-notification-tour-title::before {
+ mask-image: url("img/icons_default.svg");
+}
+
+#onboarding-tour-sync.onboarding-tour-item::after,
+#onboarding-notification-bar[data-target-tour-id=onboarding-tour-sync] #onboarding-notification-tour-title::before {
+ mask-image: url("img/icons_sync.svg");
+}
+
+#onboarding-tour-library.onboarding-tour-item::after,
+#onboarding-notification-bar[data-target-tour-id=onboarding-tour-library] #onboarding-notification-tour-title::before {
+ mask-image: url("img/icons_library.svg");
+}
+
+#onboarding-tour-performance.onboarding-tour-item::after,
+#onboarding-notification-bar[data-target-tour-id=onboarding-tour-performance] #onboarding-notification-tour-title::before {
+ mask-image: url("img/icons_performance.svg");
+}
+
+#onboarding-tour-screenshots.onboarding-tour-item::after,
+#onboarding-notification-bar[data-target-tour-id=onboarding-tour-screenshots] #onboarding-notification-tour-title::before {
+ mask-image: url("img/icons_screenshots.svg");
+}
+
+a#onboarding-tour-screenshots-button,
+a#onboarding-tour-screenshots-button:hover,
+a#onboarding-tour-screenshots-button:visited {
+ color: #fff;
+ text-decoration: none;
+}
+
+/* Tour Notifications */
+#onboarding-notification-bar {
+ position: fixed;
+ z-index: 20998; /* We want this always under #onboarding-overlay */
+ left: 0;
+ bottom: 0;
+ width: 100%;
+ height: 100px;
+ min-width: 640px;
+ background: var(--newtab-snippets-background-color, rgba(255, 255, 255, 0.97));
+ border-top: 1px solid var(--newtab-snippets-hairline-color, #e9e9e9);
+ box-shadow: 0 -1px 4px 0 rgba(12, 12, 13, 0.1);
+ transition: transform 0.8s;
+ transform: translateY(122px);
+}
+
+#onboarding-notification-bar.onboarding-opened {
+ transition: none;
+ transform: translateY(0px);
+}
+
+#onboarding-notification-close-btn {
+ position: absolute;
+ inset-block-start: 50%;
+ inset-inline-end: 24px;
+ transform: translateY(-50%);
+}
+
+#onboarding-notification-message-section {
+ height: 100%;
+ display: flex;
+ align-items: center;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+
+#onboarding-notification-body {
+ width: 500px;
+ margin: 0 18px;
+ color: var(--newtab-text-primary-color, #0c0c0d);
+ display: inline-block;
+ max-height: 120px;
+ overflow: auto;
+ padding: 15px 0;
+ box-sizing: border-box;
+}
+
+#onboarding-notification-body * {
+ font-size: 12px;
+ font-weight: normal;
+ margin-top: 5px;
+}
+
+#onboarding-notification-tour-title {
+ margin: 0;
+ font-weight: bold;
+ color: var(--newtab-text-primary-color, #0f1126);
+ font-size: 14px;
+}
+
+#onboarding-notification-tour-title::before {
+ content: "";
+ background-color: var(--newtab-text-primary-color, #0f1126);
+ mask-repeat: no-repeat;
+ mask-size: 14px;
+ height: 16px;
+ width: 16px;
+ float: inline-start;
+ margin-top: 2px;
+ margin-inline-end: 2px;
+}
+
+#onboarding-notification-tour-icon {
+ min-width: 64px;
+ height: 64px;
+ background-size: 64px;
+ background-repeat: no-repeat;
+ background-image: url("chrome://branding/content/icon64.png");
+}
+
+.onboarding-action-button {
+ background: #fbfbfb;
+ /* With 1px border, could see a border in the high-constrast mode */
+ border: 1px solid #c1c1c1;
+ border-radius: 2px;
+ padding: 10px 20px;
+ font-size: 14px;
+ font-weight: 600;
+ line-height: 16px;
+ color: #202340;
+ min-width: 130px;
+}
+
+.onboarding-action-button:hover {
+ background-color: #ebebeb;
+ cursor: pointer;
+}
+
+.onboarding-action-button:active {
+ background-color: #dadada;
+}
+
+#onboarding-notification-bar .onboarding-action-button {
+ background-color: var(--newtab-button-secondary-color);
+ border-color: var(--newtab-border-primary-color);
+ border-radius: 4px;
+ color: var(--newtab-text-primary-color);
+}
+
+#onboarding-notification-bar .onboarding-action-button:hover,
+#onboarding-notification-bar .onboarding-action-button:active {
+ background-color: var(--newtab-button-secondary-color);
+ box-shadow: 0 0 0 5px var(--newtab-card-active-outline-color);
+ transition: box-shadow 150ms;
+}
+
+@media (min-resolution: 2dppx) {
+ #onboarding-notification-tour-icon {
+ background-image: url("chrome://branding/content/icon128.png");
+ }
+}
diff --git a/browser/extensions/onboarding/content/onboarding.js b/browser/extensions/onboarding/content/onboarding.js
new file mode 100644
index 000000000000..fd4275a14072
--- /dev/null
+++ b/browser/extensions/onboarding/content/onboarding.js
@@ -0,0 +1,37 @@
+/* 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/. */
+
+/* eslint-env mozilla/frame-script */
+
+"use strict";
+
+const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+ChromeUtils.defineModuleGetter(this, "Onboarding", "resource://onboarding/Onboarding.jsm");
+
+const ABOUT_HOME_URL = "about:home";
+const ABOUT_NEWTAB_URL = "about:newtab";
+const ABOUT_WELCOME_URL = "about:welcome";
+
+// Load onboarding module only when we enable it.
+if (Services.prefs.getBoolPref("browser.onboarding.enabled", false)) {
+ addEventListener("load", function onLoad(evt) {
+ if (!content || evt.target != content.document) {
+ return;
+ }
+
+ let window = evt.target.defaultView;
+ let location = window.location.href;
+ if (location == ABOUT_NEWTAB_URL || location == ABOUT_HOME_URL || location == ABOUT_WELCOME_URL) {
+ // We just want to run tests as quickly as possible
+ // so in the automation test, we don't do `requestIdleCallback`.
+ if (Cu.isInAutomation) {
+ new Onboarding(this, window);
+ return;
+ }
+ window.requestIdleCallback(() => {
+ new Onboarding(this, window);
+ });
+ }
+ }, true);
+}
diff --git a/browser/extensions/onboarding/data_events.md b/browser/extensions/onboarding/data_events.md
new file mode 100644
index 000000000000..3fc5ffa41b86
--- /dev/null
+++ b/browser/extensions/onboarding/data_events.md
@@ -0,0 +1,154 @@
+# Metrics we collect
+
+We adhere to [Activity Stream's data collection policy](https://github.com/mozilla/activity-stream/blob/master/docs/v2-syst…. Data about your specific browsing behavior or the sites you visit is **never transmitted to any Mozilla server**. At any time, it is easy to **turn off** this data collection by [opting out of Firefox telemetry](https://support.mozilla.org/kb/share-telemetry-data-mozilla-help….
+
+## User event pings
+
+The Onboarding system add-on sends 2 types of pings(HTTPS POST) to the backend [Onyx server](https://github.com/mozilla/onyx) :
+- a `session` ping that describes the ending of an Onboarding session (a new tab is closed or refreshed, an overlay is closed, a notification bar is closed), and
+- an `event` ping that records specific data about individual user interactions while interacting with Onboarding
+
+For reference, Onyx is a Mozilla owned service to serve tiles for the current newtab in Firefox. It also receives all the telemetry from the about:newtab and about:home page as well as Activity Stream. It's operated and monitored by the Cloud Services team.
+
+# Example Onboarding `session` Log
+
+```js
+{
+ // These fields are sent from the client
+ "addon_version": "1.0.0",
+ "category": ["onboarding-interactions"|"overlay-interactions"|"notification-interactions"],
+ "client_id": "374dc4d8-0cb2-4ac5-a3cf-c5a9bc3c602e",
+ "locale": "en-US",
+ "type": ["onboarding_session" | "overlay_session" | "notification_session"],
+ "page": ["about:newtab" | "about:home" | "about:welcome"],
+ "parent_session_id": "{45cddbeb-2bec-4f3a-bada-fb87d4b79a6c}",
+ "root_session_id": "{45cddbeb-2bec-4f3a-bada-fb87d4b79a6c}",
+ "session_begin": 1505440017018,
+ "session_end": 1505440021992,
+ "session_id": "{12dasd-213asda-213dkakj}",
+ "tour_type" ["new" | "update"],
+
+ // These fields are generated on the server
+ "date": "2016-03-07",
+ "ip": "10.192.171.13",
+ "ua": "python-requests/2.9.1",
+ "receive_at": 1457396660000
+}
+```
+
+| KEY | DESCRIPTION | |
+|-----|-------------|:-----:|
+| `addon_version` | [Required] The version of the Onboarding addon. | :one:
+| `category` | [Required] Either ["", "overlay-interactions", "notification-interactions"] to identify which kind of the interaction | :one:
+| `client_id` | [Required] An identifier generated by [ClientID](https://github.com/mozilla/gecko-dev/blob/master/toolkit/modules/… module to provide an identifier for this device. This data is automatically appended by `ping-centre` module | :one:
+| `ip` | [Auto populated by Onyx] The IP address of the client. Onyx does use (with the permission) the IP address to infer user's geo-information so that it could prepare the corresponding tiles for the country she lives in. However, Ping-centre will NOT store IP address in the database, where only authorized Mozilla employees can access the telemetry data, and all the raw logs are being strictly managed by the Ops team and will expire according to the Mozilla's data retention policy.| :two:
+| `locale` | The browser chrome's language (e.g. en-US). | :two:
+| `page` | [Required] One of ["about:newtab", "about:home", "about:welcome"]| :one:
+| `parent_session_id` | [Required] The unique identifier generated by `gUUIDGenerator` service to identify this event belongs to which parent session. Events happen upon overlay will have the `overlay session uuid` as its `parent_session_id`. Events happen upon notification will have the `notification session uuid` as its `parent_session_id`. | :one:
+| `root_session_id` | [Required] The unique identifier generated by `gUUIDGenerator` service to identify this event belongs to which root session. Every event will have the same `onboarding session uuid` as its `root_session_id` when interact in the same tab. | :one:
+| `session_begin` | [Required] Timestamp in (integer) milliseconds when onboarding/overlay/notification becoming visible. | :one:
+| `session_end` | [Required] Timestamp in (integer) milliseconds when onboarding/overlay/notification losing focus. | :one:
+| `session_id` | [Required] The unique identifier generated by `gUUIDGenerator` service to identify the specific user session. We will log different uuid when onboarding is inited/when the overlay is opened/when notification is shown. | :one:
+| `tour_type` | [Required] One of ["new", "update"] indicates the user is a `new` user or the `update` user upgrade from the older version | :one:
+| `type` | [Required] The type of event. Allowed event strings are defined in the below section | :one:
+| `ua` | [Auto populated by Onyx] The user agent string. | :two:
+| `ver` | [Auto populated by Onyx] The version of the Onyx API the ping was sent to. | :one:
+
+# Example Onboarding `event` Log
+
+```js
+{
+ "addon_version": "1.0.0",
+ "bubble_state": ["bubble" | "dot" | "hide"],
+ "category": ["logo-interactions"|"overlay-interactions"|"notification-interactions"],
+ "client_id": "374dc4d8-0cb2-4ac5-a3cf-c5a9bc3c602e",
+ "locale": "en-US",
+ "logo_state": ["logo" | "watermark"],
+ "notification_impression": [1-8],
+ "notification_state": ["show" | "hide" | "finished"],
+ "page": ["about:newtab" | "about:home" | "about:welcome"],
+ "parent_session_id": "{45cddbeb-2bec-4f3a-bada-fb87d4b79a6c}",
+ "root_session_id": "{45cddbeb-2bec-4f3a-bada-fb87d4b79a6c}",
+ "current_tour_id": ["onboarding-tour-private-browsing" | "onboarding-tour-addons"|...], // tour ids defined in 'onboardingTourset'
+ "target_tour_id": ["onboarding-tour-private-browsing" | "onboarding-tour-addons"|...], // tour ids defined in 'onboardingTourset',
+ "tour_id": ["onboarding-tour-private-browsing" | "onboarding-tour-addons"|...], // tour ids defined in 'onboardingTourset'
+ "timestamp": 1505440017019,
+ "tour_type" ["new" | "update"],
+ "type": ["notification-cta-click" | "overlay-cta-click" | "overlay-nav-click" | "overlay-skip-tour"...],
+ "width": 950,
+
+ // These fields are generated on the server
+ "ip": "10.192.171.13",
+ "ua": "python-requests/2.9.1",
+ "receive_at": 1457396660000,
+ "date": "2016-03-07",
+}
+```
+
+
+| KEY | DESCRIPTION | |
+|-----|-------------|:-----:|
+| `addon_version` | [Required] The version of the Onboarding addon. | :one:
+| `bubble_state` | [Optional] | One of ["bubble", "dot", "hide"] indicates the current visual state of the speach bubble (content dialog besides the onboarding logo). | :one:
+| `category` | [Required] Either ("overlay-interactions", "notification-interactions") to identify which kind of the interaction | :one:
+| `client_id` | [Required] An identifier generated by [ClientID](https://github.com/mozilla/gecko-dev/blob/master/toolkit/modules/… module to provide an identifier for this device. This data is automatically appended by `ping-centre` module | :one:
+| `current_tour_id` | [Optional] id of the current tour. We put "" when this field is not relevant to this event. | :one:
+| `ip` | [Auto populated by Onyx] The IP address of the client. Onyx does use (with the permission) the IP address to infer user's geo-information so that it could prepare the corresponding tiles for the country she lives in. However, Ping-centre will NOT store IP address in the database, where only authorized Mozilla employees can access the telemetry data, and all the raw logs are being strictly managed by the Ops team and will expire according to the Mozilla's data retention policy.| :two:
+| `locale` | The browser chrome's language (e.g. en-US). | :two:
+| `logo_state` | [Optional] One of ["logo", "watermark"] indicates the overlay is opened while in the default or the watermark state. | :one:
+| `notification_impression` | [Optional] An integer to record how many times the current notification tour is shown to the user. Each Notification tour can show not more than 8 times. We put `-1` when this field is not relevant to this event | :one:
+| `notification_state` | [Optional] One of ["show", "hide", "finished"] indicates the current notification bar state. | :one:
+| `page` | [Required] One of ["about:newtab", "about:home"]| :one:
+| `parent_session_id` | [Required] The unique identifier generated by `gUUIDGenerator` service to identify this event belongs to which parent session. Events happen upon overlay will have the `overlay session uuid` as its `parent_session_id`. Events happen upon notification will have the `notification session uuid` as its `parent_session_id`. | :one:
+| `root_session_id` | [Required] The unique identifier generated by `gUUIDGenerator` service to identify this event belongs to which root session. Every event will have the same `onboarding session uuid` as its `root_session_id` when interact in the same tab. | :one:
+| `target_tour_id` | [Optional] id of the target switched tour. We put "" when this field is not relevant to this event. | :one:
+| `timestamp` | [Required] Timestamp in (integer) milliseconds when the event triggered | :one:
+| `tour_type` | [Required] One of ["new", "update"] indicates the user is a `new` user or the `update` user upgrade from the older version | :one:
+| `type` | [Required] The type of event. Allowed event strings are defined in the below section | :one:
+| `ua` | [Auto populated by Onyx] The user agent string. | :two:
+| `ver` | [Auto populated by Onyx] The version of the Onyx API the ping was sent to. | :one:
+| `width` | [Required] Current browser window width rounded by 50 pixels. Collecting rounded values reduces the risk to use these values to derive a unique user identifier. | :one:
+
+**Where:**
+
+:one: Firefox data
+:two: HTTP protocol data
+
+## Event types
+
+Here are all allowed event `type` strings that defined in `OnboardingTelemetry::EVENT_WHITELIST`.
+
+### Onboarding events
+
+| EVENT | DESCRIPTION |
+|-----------|---------------------|
+| `onboarding-logo-click` | event is triggered when a user clicks the logo to open the overlay. |
+| `onboarding-register-session` | internal event triggered when loading the onboarding module, will not send out any data. |
+| `onboarding-session` | event is sent when the tab unload to track the start and end time of the onboarding session. |
+| `onboarding-session-begin` | internal event triggered when the onboarding starts, will not send out any data. |
+| `onboarding-session-end` | internal event triggered when the onboarding ends, `onboarding-session` event is the actual event that send to the server. |
+
+### Overlay events
+
+| EVENT | DESCRIPTION |
+|-----------|---------------------|
+| `overlay-close-button-click` | event is triggered when a user clicks close overlay button. |
+| `overlay-close-outside-click` | event is triggered when a user clicks outside the overlay area to end the tour. |
+| `overlay-cta-click` | event is triggered when a user clicks overlay's Call-To-Action button. |
+| `overlay-current-tour` | event is sent when a tour is shown in the overlay. |
+| `overlay-nav-click` | event is sent when a user clicks a navigation button in the overlay. |
+| `overlay-session` | event is sent when an overlay is closed to track the start and end time of the overlay session. |
+| `overlay-session-begin` | internal event triggered when open the overlay, will not send out any data. |
+| `overlay-session-end` | internal event is triggered when an overlay session ends. `overlay-session` event is the actual event that send to the server. |
+| `overlay-skip-tour` | event is sent when a user clicks `Skip Tour` button in the overlay. |
+
+### Notification events
+
+| EVENT | DESCRIPTION |
+|-----------|---------------------|
+| `notification-appear` | event is sent when a notification appears. |
+| `notification-close-button-click` | event is sent when a user clicks close notification button. |
+| `notification-cta-click` | event is sent when a user clicks the notification's Call-To-Action button. |
+| `notification-session` | event is sent when user closes the notification to track the start and end time of the notification session. |
+| `notification-session-begin` | internal event triggered when user open the notification, will not send out any data. |
+| `notification-session-end` | internal event is triggered when a notification session ends. `notification-session` event is the actual event that send to the server. |
diff --git a/browser/extensions/onboarding/jar.mn b/browser/extensions/onboarding/jar.mn
new file mode 100644
index 000000000000..1d580be9861f
--- /dev/null
+++ b/browser/extensions/onboarding/jar.mn
@@ -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/.
+
+[features/onboarding(a)mozilla.org] chrome.jar:
+ # resource://onboarding/ is referenced in about:home about:newtab and about:welcome,
+ # so make it content-accessible.
+% resource onboarding %content/ contentaccessible=yes
+ content/ (content/*)
+ # Package UITour-lib.js in here rather than under
+ # /browser/components/uitour to avoid "unreferenced files" error when
+ # Onboarding extension is not built.
+ content/lib/UITour-lib.js (/browser/components/uitour/UITour-lib.js)
+ content/modules/ (*.jsm)
diff --git a/browser/extensions/onboarding/locales/en-US/onboarding.properties b/browser/extensions/onboarding/locales/en-US/onboarding.properties
new file mode 100644
index 000000000000..cc545222a107
--- /dev/null
+++ b/browser/extensions/onboarding/locales/en-US/onboarding.properties
@@ -0,0 +1,126 @@
+# 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/.
+# LOCALIZATION NOTE(onboarding.overlay-title2): This string will be used in the overlay title.
+onboarding.overlay-title2=Let’s get started
+onboarding.skip-tour-button-label=Skip Tour
+#LOCALIZATION NOTE(onboarding.button.learnMore): this string is used as a button label, displayed near the message, and shared across all the onboarding notifications.
+onboarding.button.learnMore=Learn More
+# LOCALIZATION NOTE(onboarding.overlay-icon-tooltip2): This string will be used
+# to show the tooltip alongside the notification icon in the overlay tour. %S is
+# brandShortName. The tooltip is designed to show in two lines. Please use \n to
+# do appropriate line breaking.
+onboarding.overlay-icon-tooltip2=New to %S?\nLet’s get started.
+# LOCALIZATION NOTE(onboarding.overlay-icon-tooltip-updated2): %S is
+# brandShortName. The tooltip is designed to show in two lines. Please use \n to
+# do appropriate line breaking.
+onboarding.overlay-icon-tooltip-updated2=%S is all new.\nSee what you can do!
+# LOCALIZATION NOTE(onboarding.overlay-close-button-tooltip): The overlay close button is an icon button. This tooltip would be shown when mousing hovering on the button.
+onboarding.overlay-close-button-tooltip=Close
+onboarding.notification-icon-tooltip-updated=See what’s new!
+# LOCALIZATION NOTE(onboarding.notification-close-button-tooltip): The notification close button is an icon button. This tooltip would be shown when mousing hovering on the button.
+onboarding.notification-close-button-tooltip=Dismiss
+
+# LOCALIZATION NOTE(onboarding.complete): This string is used to describe an
+# onboarding tour item that is complete.
+onboarding.complete=Complete
+
+onboarding.tour-private-browsing=Private Browsing
+onboarding.tour-private-browsing.title2=Browse by yourself.
+# LOCALIZATION NOTE(onboarding.tour-private-browsing.description3): This string will be used in the private-browsing tour description. %S is brandShortName.
+onboarding.tour-private-browsing.description3=Want to keep something to yourself? Use Private Browsing with Tracking Protection. %S will block online trackers while you browse and won’t remember your history after you’ve ended your session.
+onboarding.tour-private-browsing.button=Show Private Browsing in Menu
+onboarding.notification.onboarding-tour-private-browsing.title=Browse by yourself.
+onboarding.notification.onboarding-tour-private-browsing.message2=Want to keep something to yourself? Use Private Browsing with Tracking Protection.
+
+onboarding.tour-addons=Add-ons
+onboarding.tour-addons.title2=Get more done.
+# LOCALIZATION NOTE(onboarding.tour-addons.description2): This string will be used in the add-on tour description. %S is brandShortName
+onboarding.tour-addons.description2=Add-ons let you add features to %S, so your browser works harder for you. Compare prices, check the weather or express your personality with a custom theme.
+onboarding.tour-addons.button=Show Add-ons in Menu
+onboarding.notification.onboarding-tour-addons.title=Get more done.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-addons.message): This string will be used in the notification message for the add-ons tour. %S is brandShortName.
+onboarding.notification.onboarding-tour-addons.message=Add-ons are small apps you can add to %S that do lots of things — from managing to-do lists, to downloading videos, to changing the look of your browser.
+
+onboarding.tour-customize=Customize
+onboarding.tour-customize.title2=Rearrange your toolbar.
+# LOCALIZATION NOTE(onboarding.tour-customize.description2): This string will be used in the customize tour description. %S is brandShortName
+onboarding.tour-customize.description2=Put the tools you use most right at your fingertips. Drag, drop, and reorder %S’s toolbar and menu to fit your needs. Or choose a compact theme to make more room for tabbed browsing.
+onboarding.tour-customize.button=Show Customize in Menu
+onboarding.notification.onboarding-tour-customize.title=Rearrange your toolbar.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-customize.message): This string will be used in the notification message for Customize tour. %S is brandShortName.
+onboarding.notification.onboarding-tour-customize.message=Put the tools you use most right at your fingertips. Add more options to your toolbar. Or select a theme to make %S reflect your personality.
+
+onboarding.tour-default-browser=Default Browser
+# LOCALIZATION NOTE(onboarding.tour-default-browser.title2): This string will be used in the default browser tour title. %S is brandShortName
+onboarding.tour-default-browser.title2=Make %S your go-to browser.
+# LOCALIZATION NOTE(onboarding.tour-default-browser.description2): This string will be used in the default browser tour description. %1$S is brandShortName
+onboarding.tour-default-browser.description2=Love %1$S? Set it as your default browser. Open a link from another application, and %1$S will be there for you.
+# LOCALIZATION NOTE(onboarding.tour-default-browser.button): Label for a button to open the OS default browser settings where it's not possible to set the default browser directly. (OSX, Linux, Windows 8 and higher)
+onboarding.tour-default-browser.button=Open Default Browser Settings
+# LOCALIZATION NOTE(onboarding.tour-default-browser.win7.button): Label for a button to directly set the default browser (Windows 7). %S is brandShortName
+onboarding.tour-default-browser.win7.button=Make %S Your Default Browser
+# LOCALIZATION NOTE(onboarding.tour-default-browser.is-default.message): Label displayed when Firefox is already set as default browser. followed on a new line by "tour-default-browser.is-default.2nd-message".
+onboarding.tour-default-browser.is-default.message=You’ve got this!
+# LOCALIZATION NOTE(onboarding.tour-default-browser.is-default.2nd-message): Label displayed when Firefox is already set as default browser. %S is brandShortName
+onboarding.tour-default-browser.is-default.2nd-message=%S is already your default browser.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-default-browser.title): This string will be used in the notification title for the default browser tour. %S is brandShortName.
+onboarding.notification.onboarding-tour-default-browser.title=Make %S your go-to browser.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-default-browser.message): This string will be used in the notification message for the default browser tour. %1$S is brandShortName
+onboarding.notification.onboarding-tour-default-browser.message=It doesn’t take much to get the most from %1$S. Just set %1$S as your default browser and put control, customization, and protection on autopilot.
+
+onboarding.tour-sync2=Sync
+onboarding.tour-sync.title2=Pick up where you left off.
+onboarding.tour-sync.description2=Sync makes it easy to access bookmarks, passwords, and even open tabs on all your devices. Sync also gives you control of the types of information you want, and don’t want, to share.
+onboarding.tour-sync.logged-in.title=You’re signed in to Sync!
+# LOCALIZATION NOTE(onboarding.tour-sync.logged-in.description): %1$S is brandShortName.
+onboarding.tour-sync.logged-in.description=Sync works when you’re signed in to %1$S on more than one device. Have a mobile device? Install the %1$S app and sign in to get your bookmarks, history, and passwords on the go.
+# LOCALIZATION NOTE(onboarding.tour-sync.form.title): This string is displayed
+# as a title and followed by onboarding.tour-sync.form.description.
+onboarding.tour-sync.form.title=Create a Firefox Account
+# LOCALIZATION NOTE(onboarding.tour-sync.form.description): The description
+# continues after onboarding.tour-sync.form.title to create a complete sentence.
+# If it's not possible for your locale, you can translate this string as
+# "Continue to Firefox Sync" instead.
+onboarding.tour-sync.form.description=to continue to Firefox Sync
+onboarding.tour-sync.button=Next
+onboarding.tour-sync.connect-device.button=Connect Another Device
+onboarding.tour-sync.email-input.placeholder=Email
+onboarding.notification.onboarding-tour-sync.title=Pick up where you left off.
+onboarding.notification.onboarding-tour-sync.message=Still sending yourself links to save or read on your phone? Do it the easy way: get Sync and have the things you save here show up on all of your devices.
+
+onboarding.tour-library=Library
+onboarding.tour-library.title=Keep it together.
+# LOCALIZATION NOTE (onboarding.tour-library.description2): This string will be used in the library tour description. %1$S is brandShortName
+onboarding.tour-library.description2=Check out the new %1$S library in the redesigned toolbar. The library puts the things you’ve seen and saved to %1$S — your browsing history, bookmarks, Pocket list, and synced tabs — in one convenient place.
+onboarding.tour-library.button2=Show Library Menu
+onboarding.notification.onboarding-tour-library.title=Keep it together.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-library.message): This string will be used in the notification message for the library tour. %S is brandShortName
+onboarding.notification.onboarding-tour-library.message=The new %S library puts the great things you’ve discovered on the web in one convenient place.
+
+onboarding.tour-singlesearch=Address Bar
+onboarding.tour-singlesearch.title=Find it faster.
+# LOCALIZATION NOTE(onboarding.tour-singlesearch.description): %S is brandShortName
+onboarding.tour-singlesearch.description=The address bar might be the most powerful tool in the sleek new %S toolbar. Start typing, and see suggestions based on your browsing and search history. Go to a web address, search the whole web with your default search engine, or send your query directly to a single site with one-click search.
+onboarding.tour-singlesearch.button=Show Address Bar
+onboarding.notification.onboarding-tour-singlesearch.title=Find it faster.
+onboarding.notification.onboarding-tour-singlesearch.message=The unified address bar is the only tool you need to find your way around the web.
+
+onboarding.tour-performance=Performance
+onboarding.tour-performance.title=Browse with the best of ‘em.
+# LOCALIZATION NOTE(onboarding.tour-performance.description): %1$S is brandShortName.
+onboarding.tour-performance.description=It’s a whole new %1$S, built for faster page loading, smoother scrolling, and more responsive tab switching. These performance upgrades come paired with a modern, intuitive design. Start browsing and experience it for yourself: the best %1$S yet.
+onboarding.notification.onboarding-tour-performance.title=Browse with the best of ‘em.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-performance.message): %S is brandShortName.
+onboarding.notification.onboarding-tour-performance.message=Prepare yourself for the fastest, smoothest, most reliable %S yet.
+
+# LOCALIZATION NOTE (onboarding.tour-screenshots): "Screenshots" is the name of the Firefox Screenshots feature and should not be localized.
+onboarding.tour-screenshots=Screenshots
+onboarding.tour-screenshots.title=Take better screenshots.
+# LOCALIZATION NOTE(onboarding.tour-screenshots.description): %S is brandShortName.
+onboarding.tour-screenshots.description=Take, save and share screenshots — without leaving %S. Capture a region or an entire page as you browse. Then save to the web for easy access and sharing.
+# LOCALIZATION NOTE (onboarding.tour-screenshots.button): "Screenshots" is the name of the Firefox Screenshots feature and should not be localized.
+onboarding.tour-screenshots.button=Open Screenshots Website
+onboarding.notification.onboarding-tour-screenshots.title=Take better screenshots.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-screenshots.message): %S is brandShortName.
+onboarding.notification.onboarding-tour-screenshots.message=Take, save and share screenshots — without leaving %S.
diff --git a/browser/extensions/onboarding/locales/jar.mn b/browser/extensions/onboarding/locales/jar.mn
new file mode 100644
index 000000000000..0801f8512775
--- /dev/null
+++ b/browser/extensions/onboarding/locales/jar.mn
@@ -0,0 +1,8 @@
+#filter substitution
+# 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/.
+
+[features/onboarding(a)mozilla.org] @AB_CD@.jar:
+% locale onboarding @AB_CD@ %locale/@AB_CD@/
+ locale/@AB_CD@/onboarding.properties (%onboarding.properties)
diff --git a/browser/extensions/onboarding/locales/moz.build b/browser/extensions/onboarding/locales/moz.build
new file mode 100644
index 000000000000..d988c0ff9b16
--- /dev/null
+++ b/browser/extensions/onboarding/locales/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+JAR_MANIFESTS += ["jar.mn"]
diff --git a/browser/extensions/onboarding/manifest.json b/browser/extensions/onboarding/manifest.json
new file mode 100644
index 000000000000..fcf46b444c9b
--- /dev/null
+++ b/browser/extensions/onboarding/manifest.json
@@ -0,0 +1,26 @@
+{
+ "manifest_version": 2,
+ "name": "Onboarding",
+ "version": "1.0",
+
+ "applications": {
+ "gecko": {
+ "id": "onboarding(a)mozilla.org"
+ }
+ },
+
+ "background": {
+ "scripts": ["background.js"]
+ },
+
+ "experiment_apis": {
+ "onboarding": {
+ "schema": "schema.json",
+ "parent": {
+ "scopes": ["addon_parent"],
+ "script": "api.js",
+ "events": ["startup"]
+ }
+ }
+ }
+ }
diff --git a/browser/extensions/onboarding/moz.build b/browser/extensions/onboarding/moz.build
new file mode 100644
index 000000000000..4756afe507fb
--- /dev/null
+++ b/browser/extensions/onboarding/moz.build
@@ -0,0 +1,26 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+with Files("**"):
+ BUG_COMPONENT = ("Firefox", "Tours")
+
+DEFINES["MOZ_APP_VERSION"] = CONFIG["MOZ_APP_VERSION"]
+DEFINES["MOZ_APP_MAXVERSION"] = CONFIG["MOZ_APP_MAXVERSION"]
+
+DIRS += ["locales"]
+
+FINAL_TARGET_FILES.features["onboarding(a)mozilla.org"] += [
+ "api.js",
+ "background.js",
+ "manifest.json",
+ "schema.json",
+]
+
+BROWSER_CHROME_MANIFESTS += ["test/browser/browser.ini"]
+
+XPCSHELL_TESTS_MANIFESTS += ["test/unit/xpcshell.ini"]
+
+JAR_MANIFESTS += ["jar.mn"]
diff --git a/browser/extensions/onboarding/schema.json b/browser/extensions/onboarding/schema.json
new file mode 100644
index 000000000000..fe51488c7066
--- /dev/null
+++ b/browser/extensions/onboarding/schema.json
@@ -0,0 +1 @@
+[]
diff --git a/browser/extensions/onboarding/test/browser/.eslintrc.js b/browser/extensions/onboarding/test/browser/.eslintrc.js
new file mode 100644
index 000000000000..9236696e5732
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/.eslintrc.js
@@ -0,0 +1,7 @@
+"use strict";
+
+module.exports = {
+ "extends": [
+ "plugin:mozilla/browser-test"
+ ],
+};
diff --git a/browser/extensions/onboarding/test/browser/browser.ini b/browser/extensions/onboarding/test/browser/browser.ini
new file mode 100644
index 000000000000..abc2e915d551
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser.ini
@@ -0,0 +1,18 @@
+[DEFAULT]
+support-files =
+ head.js
+
+[browser_onboarding_accessibility.js]
+[browser_onboarding_keyboard.js]
+skip-if = debug || os == "mac" # Full keyboard navigation on OSX only works if Full Keyboard Access setting is set to All Control in System Keyboard Preferences
+[browser_onboarding_notification.js]
+[browser_onboarding_notification_2.js]
+[browser_onboarding_notification_3.js]
+[browser_onboarding_notification_4.js]
+[browser_onboarding_notification_5.js]
+[browser_onboarding_notification_click_auto_complete_tour.js]
+[browser_onboarding_select_default_tour.js]
+[browser_onboarding_skip_tour.js]
+[browser_onboarding_tours.js]
+[browser_onboarding_tourset.js]
+[browser_onboarding_uitour.js]
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_accessibility.js b/browser/extensions/onboarding/test/browser/browser_onboarding_accessibility.js
new file mode 100644
index 000000000000..37abbd3541d4
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_accessibility.js
@@ -0,0 +1,89 @@
+/* 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";
+
+add_task(async function test_onboarding_overlay_button() {
+ resetOnboardingDefaultState();
+
+ info("Wait for onboarding overlay loaded");
+ let tab = await openTab(ABOUT_HOME_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+
+ info("Test accessibility and semantics of the overlay button");
+ await ContentTask.spawn(tab.linkedBrowser, {}, function() {
+ let doc = content.document;
+ let button = doc.body.firstElementChild;
+ is(button.id, "onboarding-overlay-button",
+ "First child is an overlay button");
+ ok(button.getAttribute("aria-label"),
+ "Onboarding button has an accessible label");
+ is(button.getAttribute("aria-haspopup"), "true",
+ "Onboarding button should indicate that it triggers a popup");
+ is(button.getAttribute("aria-controls"), "onboarding-overlay-dialog",
+ "Onboarding button semantically controls an overlay dialog");
+ is(button.firstElementChild.getAttribute("role"), "presentation",
+ "Onboarding button icon should have presentation only semantics");
+ });
+
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_onboarding_notification_bar() {
+ resetOnboardingDefaultState();
+ skipMuteNotificationOnFirstSession();
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+
+ info("Test accessibility and semantics of the notification bar");
+ await ContentTask.spawn(tab.linkedBrowser, {}, function() {
+ let doc = content.document;
+ let footer = doc.getElementById("onboarding-notification-bar");
+
+ is(footer.getAttribute("aria-labelledby"), doc.getElementById("onboarding-notification-tour-title").id,
+ "Notification bar should be labelled by the notification tour title text");
+
+ is(footer.getAttribute("aria-live"), "polite",
+ "Notification bar should be a live region");
+ // Presentational elements
+ [
+ "onboarding-notification-message-section",
+ "onboarding-notification-tour-icon",
+ "onboarding-notification-body",
+ ].forEach(id =>
+ is(doc.getElementById(id).getAttribute("role"), "presentation",
+ "Element is only used for presentation"));
+ });
+
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_onboarding_overlay_dialog() {
+ resetOnboardingDefaultState();
+
+ info("Wait for onboarding overlay loaded");
+ let tab = await openTab(ABOUT_HOME_URL);
+ let browser = tab.linkedBrowser;
+ await promiseOnboardingOverlayLoaded(browser);
+
+ info("Test accessibility and semantics of the dialog overlay");
+ await assertModalDialog(browser, { visible: false });
+
+ info("Click on overlay button and check modal dialog state");
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-button",
+ {}, browser);
+ await promiseOnboardingOverlayOpened(browser);
+ await assertModalDialog(browser,
+ { visible: true, focusedId: "onboarding-overlay-dialog" });
+
+ info("Close the dialog and check modal dialog state");
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-close-btn",
+ {}, browser);
+ await promiseOnboardingOverlayClosed(browser);
+ await assertModalDialog(browser, { visible: false });
+
+ BrowserTestUtils.removeTab(tab);
+});
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_keyboard.js b/browser/extensions/onboarding/test/browser/browser_onboarding_keyboard.js
new file mode 100644
index 000000000000..ab9d2ed6afbc
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_keyboard.js
@@ -0,0 +1,137 @@
+/* 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";
+
+function assertOverlayState(browser, args) {
+ return ContentTask.spawn(browser, args, ({ tourId, focusedId, visible }) => {
+ let { document: doc, window} = content;
+ if (tourId) {
+ let items = [...doc.querySelectorAll(".onboarding-tour-item")];
+ items.forEach(item => is(item.getAttribute("aria-selected"),
+ item.id === tourId ? "true" : "false",
+ "Active item should have aria-selected set to true and inactive to false"));
+ }
+ if (focusedId) {
+ let focused = doc.getElementById(focusedId);
+ is(focused, doc.activeElement, `Focus should be set on ${focusedId}`);
+ }
+ if (visible !== undefined) {
+ let overlay = doc.getElementById("onboarding-overlay");
+ is(window.getComputedStyle(overlay).getPropertyValue("display"),
+ visible ? "block" : "none",
+ `Onboarding overlay should be ${visible ? "visible" : "invisible"}`);
+ }
+ });
+}
+
+const TOUR_LIST_TEST_DATA = [
+ { key: "VK_DOWN", expected: { tourId: TOUR_IDs[1], focusedId: TOUR_IDs[1] }},
+ { key: "VK_DOWN", expected: { tourId: TOUR_IDs[2], focusedId: TOUR_IDs[2] }},
+ { key: "VK_DOWN", expected: { tourId: TOUR_IDs[3], focusedId: TOUR_IDs[3] }},
+ { key: "VK_DOWN", expected: { tourId: TOUR_IDs[4], focusedId: TOUR_IDs[4] }},
+ { key: "VK_UP", expected: { tourId: TOUR_IDs[3], focusedId: TOUR_IDs[3] }},
+ { key: "VK_UP", expected: { tourId: TOUR_IDs[2], focusedId: TOUR_IDs[2] }},
+ { key: "VK_TAB", expected: { tourId: TOUR_IDs[2], focusedId: TOUR_IDs[3] }},
+ { key: "VK_TAB", expected: { tourId: TOUR_IDs[2], focusedId: TOUR_IDs[4] }},
+ { key: "VK_RETURN", expected: { tourId: TOUR_IDs[4], focusedId: TOUR_IDs[4] }},
+ { key: "VK_TAB", options: { shiftKey: true }, expected: { tourId: TOUR_IDs[4], focusedId: TOUR_IDs[3] }},
+ { key: "VK_TAB", options: { shiftKey: true }, expected: { tourId: TOUR_IDs[4], focusedId: TOUR_IDs[2] }},
+ // VK_SPACE does not work well with EventUtils#synthesizeKey use " " instead
+ { key: " ", expected: { tourId: TOUR_IDs[2], focusedId: TOUR_IDs[2] }},
+];
+
+const BUTTONS_TEST_DATA = [
+ { key: " ", expected: { focusedId: TOUR_IDs[0], visible: true }},
+ { key: "VK_ESCAPE", expected: { focusedId: "onboarding-overlay-button", visible: false }},
+ { key: "VK_RETURN", expected: { focusedId: TOUR_IDs[1], visible: true }},
+ { key: "VK_TAB", options: { shiftKey: true }, expected: { focusedId: TOUR_IDs[0], visible: true }},
+ { key: "VK_TAB", options: { shiftKey: true }, expected: { focusedId: "onboarding-overlay-close-btn", visible: true }},
+ { key: " ", expected: { focusedId: "onboarding-overlay-button", visible: false }},
+ { key: "VK_RETURN", expected: { focusedId: TOUR_IDs[1], visible: true }},
+ { key: "VK_TAB", options: { shiftKey: true }, expected: { focusedId: TOUR_IDs[0], visible: true }},
+ { key: "VK_TAB", options: { shiftKey: true }, expected: { focusedId: "onboarding-overlay-close-btn", visible: true }},
+ { key: "VK_TAB", expected: { focusedId: TOUR_IDs[0], visible: true }},
+ { key: "VK_TAB", options: { shiftKey: true }, expected: { focusedId: "onboarding-overlay-close-btn", visible: true }},
+ { key: "VK_RETURN", expected: { focusedId: "onboarding-overlay-button", visible: false }},
+];
+
+add_task(async function test_tour_list_keyboard_navigation() {
+ resetOnboardingDefaultState();
+
+ info("Display onboarding overlay on the home page");
+ let tab = await openTab(ABOUT_HOME_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-button",
+ {}, tab.linkedBrowser);
+ await promiseOnboardingOverlayOpened(tab.linkedBrowser);
+
+ info("Checking overall overlay tablist semantics");
+ await assertOverlaySemantics(tab.linkedBrowser);
+
+ info("Set initial focus on the currently active tab");
+ await ContentTask.spawn(tab.linkedBrowser, {}, () =>
+ content.document.querySelector(".onboarding-active").focus());
+ await assertOverlayState(tab.linkedBrowser,
+ { tourId: TOUR_IDs[0], focusedId: TOUR_IDs[0] });
+
+ for (let { key, options = {}, expected } of TOUR_LIST_TEST_DATA) {
+ info(`Pressing ${key} to select ${expected.tourId} and have focus on ${expected.focusedId}`);
+ await BrowserTestUtils.synthesizeKey(key, options, tab.linkedBrowser);
+ await assertOverlayState(tab.linkedBrowser, expected);
+ }
+
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_buttons_keyboard_navigation() {
+ resetOnboardingDefaultState();
+
+ info("Wait for onboarding overlay loaded");
+ let tab = await openTab(ABOUT_HOME_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+
+ info("Set keyboard focus on the onboarding overlay button");
+ await ContentTask.spawn(tab.linkedBrowser, {}, () =>
+ content.document.getElementById("onboarding-overlay-button").focus());
+ await assertOverlayState(tab.linkedBrowser,
+ { focusedId: "onboarding-overlay-button", visible: false });
+
+ for (let { key, options = {}, expected } of BUTTONS_TEST_DATA) {
+ info(`Pressing ${key} to have ${expected.visible ? "visible" : "invisible"} overlay and have focus on ${expected.focusedId}`);
+ await BrowserTestUtils.synthesizeKey(key, options, tab.linkedBrowser);
+ await assertOverlayState(tab.linkedBrowser, expected);
+ }
+
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_overlay_dialog_keyboard_navigation() {
+ resetOnboardingDefaultState();
+
+ info("Wait for onboarding overlay loaded");
+ let tab = await openTab(ABOUT_HOME_URL);
+ let browser = tab.linkedBrowser;
+ await promiseOnboardingOverlayLoaded(browser);
+
+ info("Test accessibility and semantics of the dialog overlay");
+ await assertModalDialog(browser, { visible: false });
+
+ info("Set keyboard focus on the onboarding overlay button");
+ await ContentTask.spawn(browser, {}, () =>
+ content.document.getElementById("onboarding-overlay-button").focus());
+ info("Open dialog with keyboard and check the dialog state");
+ await BrowserTestUtils.synthesizeKey(" ", {}, browser);
+ await promiseOnboardingOverlayOpened(browser);
+ await assertModalDialog(browser,
+ { visible: true, keyboardFocus: true, focusedId: TOUR_IDs[0] });
+
+ info("Close the dialog and check modal dialog state");
+ await BrowserTestUtils.synthesizeKey("VK_ESCAPE", {}, browser);
+ await promiseOnboardingOverlayClosed(browser);
+ await assertModalDialog(browser,
+ { visible: false, keyboardFocus: true, focusedId: "onboarding-overlay-button" });
+
+ BrowserTestUtils.removeTab(tab);
+});
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_notification.js b/browser/extensions/onboarding/test/browser/browser_onboarding_notification.js
new file mode 100644
index 000000000000..b3e7fc788681
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_notification.js
@@ -0,0 +1,62 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+requestLongerTimeout(3);
+
+add_task(async function test_show_tour_notifications_in_order() {
+ resetOnboardingDefaultState();
+ Preferences.set("browser.onboarding.notification.max-prompt-count-per-tour", 1);
+ skipMuteNotificationOnFirstSession();
+
+ let tourIds = TOUR_IDs;
+ let tab = null;
+ let targetTourId = null;
+ let expectedPrefUpdates = null;
+ await loopTourNotificationQueueOnceInOrder();
+ await loopTourNotificationQueueOnceInOrder();
+
+ expectedPrefUpdates = Promise.all([
+ promisePrefUpdated("browser.onboarding.notification.finished", true),
+ promisePrefUpdated("browser.onboarding.state", ICON_STATE_WATERMARK),
+ ]);
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await expectedPrefUpdates;
+ await assertWatermarkIconDisplayed(tab.linkedBrowser);
+ let tourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ ok(!tourId, "Should not prompt each tour for more than 2 chances.");
+ BrowserTestUtils.removeTab(tab);
+
+ async function loopTourNotificationQueueOnceInOrder() {
+ for (let i = 0; i < tourIds.length; ++i) {
+ if (tab) {
+ await reloadTab(tab);
+ } else {
+ tab = await openTab(ABOUT_NEWTAB_URL);
+ }
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ targetTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ is(targetTourId, tourIds[i], "Should show tour notifications in order");
+ }
+ }
+});
+
+add_task(async function test_open_target_tour_from_notification() {
+ resetOnboardingDefaultState();
+ skipMuteNotificationOnFirstSession();
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ let targetTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-notification-action-btn", {}, tab.linkedBrowser);
+ await promiseOnboardingOverlayOpened(tab.linkedBrowser);
+ let { activeNavItemId, activePageId } = await getCurrentActiveTour(tab.linkedBrowser);
+
+ is(targetTourId, activeNavItemId, "Should navigate to the target tour item.");
+ is(`${targetTourId}-page`, activePageId, "Should display the target tour page.");
+ BrowserTestUtils.removeTab(tab);
+});
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_notification_2.js b/browser/extensions/onboarding/test/browser/browser_onboarding_notification_2.js
new file mode 100644
index 000000000000..966102099f50
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_notification_2.js
@@ -0,0 +1,80 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+requestLongerTimeout(3);
+
+add_task(async function test_not_show_notification_for_completed_tour() {
+ resetOnboardingDefaultState();
+ skipMuteNotificationOnFirstSession();
+
+ let tourIds = TOUR_IDs;
+ // Make only the last tour uncompleted
+ let lastTourId = tourIds[tourIds.length - 1];
+ for (let id of tourIds) {
+ if (id != lastTourId) {
+ setTourCompletedState(id, true);
+ }
+ }
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ let targetTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ is(targetTourId, lastTourId, "Should not show notification for completed tour");
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_skip_notification_for_completed_tour() {
+ resetOnboardingDefaultState();
+ Preferences.set("browser.onboarding.notification.max-prompt-count-per-tour", 1);
+ skipMuteNotificationOnFirstSession();
+
+ let tourIds = TOUR_IDs;
+ // Make only 2nd tour completed
+ await setTourCompletedState(tourIds[1], true);
+
+ // Test show notification for the 1st tour
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ let targetTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ is(targetTourId, tourIds[0], "Should show notification for incompleted tour");
+
+ // Test skip the 2nd tour and show notification for the 3rd tour
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ targetTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ is(targetTourId, tourIds[2], "Should skip notification for the completed 2nd tour");
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_mute_notification_on_1st_session() {
+ resetOnboardingDefaultState();
+
+ // Test no notifications during the mute duration on the 1st session
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ // The tour notification would be prompted on idle, so we wait idle twice here before proceeding
+ await waitUntilWindowIdle(tab.linkedBrowser);
+ await waitUntilWindowIdle(tab.linkedBrowser);
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await waitUntilWindowIdle(tab.linkedBrowser);
+ await waitUntilWindowIdle(tab.linkedBrowser);
+ let promptCount = Preferences.get("browser.onboarding.notification.prompt-count", 0);
+ is(0, promptCount, "Should not prompt tour notification during the mute duration on the 1st session");
+
+ // Test notification prompted after the mute duration on the 1st session
+ let muteTime = Preferences.get("browser.onboarding.notification.mute-duration-on-first-session-ms");
+ let lastTime = Math.floor((Date.now() - muteTime - 1) / 1000);
+ Preferences.set("browser.onboarding.notification.last-time-of-changing-tour-sec", lastTime);
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ promptCount = Preferences.get("browser.onboarding.notification.prompt-count", 0);
+ is(1, promptCount, "Should prompt tour notification after the mute duration on the 1st session");
+ BrowserTestUtils.removeTab(tab);
+});
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_notification_3.js b/browser/extensions/onboarding/test/browser/browser_onboarding_notification_3.js
new file mode 100644
index 000000000000..0010cd90263b
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_notification_3.js
@@ -0,0 +1,82 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+requestLongerTimeout(3);
+
+add_task(async function test_move_on_to_next_notification_when_reaching_max_prompt_count() {
+ resetOnboardingDefaultState();
+ skipMuteNotificationOnFirstSession();
+ let maxCount = Preferences.get("browser.onboarding.notification.max-prompt-count-per-tour");
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ let previousTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+
+ let currentTourId = null;
+ for (let i = maxCount - 1; i > 0; --i) {
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ currentTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ is(previousTourId, currentTourId, "Should not move on to next tour notification until reaching the max prompt count per tour");
+ }
+
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ currentTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ isnot(previousTourId, currentTourId, "Should move on to next tour notification when reaching the max prompt count per tour");
+
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_move_on_to_next_notification_when_reaching_max_life_time() {
+ resetOnboardingDefaultState();
+ skipMuteNotificationOnFirstSession();
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ let previousTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+
+ let maxTime = Preferences.get("browser.onboarding.notification.max-life-time-per-tour-ms");
+ let lastTime = Math.floor((Date.now() - maxTime - 1) / 1000);
+ Preferences.set("browser.onboarding.notification.last-time-of-changing-tour-sec", lastTime);
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ let currentTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ isnot(previousTourId, currentTourId, "Should move on to next tour notification when reaching the max life time per tour");
+
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_move_on_to_next_notification_after_interacting_with_notification() {
+ resetOnboardingDefaultState();
+ skipMuteNotificationOnFirstSession();
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ let previousTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-notification-close-btn", {}, tab.linkedBrowser);
+
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ let currentTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ isnot(previousTourId, currentTourId, "Should move on to next tour notification after clicking #onboarding-notification-close-btn");
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-notification-action-btn", {}, tab.linkedBrowser);
+ previousTourId = currentTourId;
+
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ currentTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ isnot(previousTourId, currentTourId, "Should move on to next tour notification after clicking #onboarding-notification-action-btn");
+
+ BrowserTestUtils.removeTab(tab);
+});
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_notification_4.js b/browser/extensions/onboarding/test/browser/browser_onboarding_notification_4.js
new file mode 100644
index 000000000000..57e8ce840f2a
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_notification_4.js
@@ -0,0 +1,84 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+requestLongerTimeout(3);
+
+add_task(async function test_remove_all_tour_notifications_through_close_button() {
+ resetOnboardingDefaultState();
+ skipMuteNotificationOnFirstSession();
+
+ let tourIds = TOUR_IDs;
+ let tab = null;
+ let targetTourId = null;
+ await closeTourNotificationsOneByOne();
+
+ let expectedPrefUpdates = [
+ promisePrefUpdated("browser.onboarding.notification.finished", true),
+ promisePrefUpdated("browser.onboarding.state", ICON_STATE_WATERMARK),
+ ];
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await Promise.all(expectedPrefUpdates);
+ await assertWatermarkIconDisplayed(tab.linkedBrowser);
+
+ let tourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ ok(!tourId, "Should not prompt tour notifications any more after closing all notifcations.");
+ BrowserTestUtils.removeTab(tab);
+
+ async function closeTourNotificationsOneByOne() {
+ for (let i = 0; i < tourIds.length; ++i) {
+ if (tab) {
+ await reloadTab(tab);
+ } else {
+ tab = await openTab(ABOUT_NEWTAB_URL);
+ }
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ targetTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ is(targetTourId, tourIds[i], `Should show tour notifications of ${targetTourId}`);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-notification-close-btn", {}, tab.linkedBrowser);
+ await promiseTourNotificationClosed(tab.linkedBrowser);
+ }
+ }
+});
+
+add_task(async function test_remove_all_tour_notifications_through_action_button() {
+ resetOnboardingDefaultState();
+ skipMuteNotificationOnFirstSession();
+
+ let tourIds = TOUR_IDs;
+ let tab = null;
+ let targetTourId = null;
+ await clickTourNotificationActionButtonsOneByOne();
+
+ let expectedPrefUpdates = [
+ promisePrefUpdated("browser.onboarding.notification.finished", true),
+ promisePrefUpdated("browser.onboarding.state", ICON_STATE_WATERMARK),
+ ];
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await Promise.all(expectedPrefUpdates);
+ await assertWatermarkIconDisplayed(tab.linkedBrowser);
+
+ let tourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ ok(!tourId, "Should not prompt tour notifcations any more after taking actions on all notifcations.");
+ BrowserTestUtils.removeTab(tab);
+
+ async function clickTourNotificationActionButtonsOneByOne() {
+ for (let i = 0; i < tourIds.length; ++i) {
+ if (tab) {
+ await reloadTab(tab);
+ } else {
+ tab = await openTab(ABOUT_NEWTAB_URL);
+ }
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ targetTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ is(targetTourId, tourIds[i], `Should show tour notifications of ${targetTourId}`);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-notification-action-btn", {}, tab.linkedBrowser);
+ await promiseTourNotificationClosed(tab.linkedBrowser);
+ }
+ }
+});
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_notification_5.js b/browser/extensions/onboarding/test/browser/browser_onboarding_notification_5.js
new file mode 100644
index 000000000000..9fd2f25dfe4f
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_notification_5.js
@@ -0,0 +1,25 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+add_task(async function test_finish_tour_notifcations_after_total_max_life_time() {
+ resetOnboardingDefaultState();
+ skipMuteNotificationOnFirstSession();
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+
+ let totalMaxTime = Preferences.get("browser.onboarding.notification.max-life-time-all-tours-ms");
+ Preferences.set("browser.onboarding.notification.last-time-of-changing-tour-sec", Math.floor((Date.now() - totalMaxTime) / 1000));
+ let expectedPrefUpdates = Promise.all([
+ promisePrefUpdated("browser.onboarding.notification.finished", true),
+ promisePrefUpdated("browser.onboarding.state", ICON_STATE_WATERMARK),
+ ]);
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await expectedPrefUpdates;
+ await assertWatermarkIconDisplayed(tab.linkedBrowser);
+ BrowserTestUtils.removeTab(tab);
+});
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_notification_click_auto_complete_tour.js b/browser/extensions/onboarding/test/browser/browser_onboarding_notification_click_auto_complete_tour.js
new file mode 100644
index 000000000000..c505b62f7d38
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_notification_click_auto_complete_tour.js
@@ -0,0 +1,33 @@
+add_task(async function test_show_click_auto_complete_tour_in_notification() {
+ resetOnboardingDefaultState();
+ skipMuteNotificationOnFirstSession();
+ // the second tour is an click-auto-complete tour
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.newtour", "customize,library"],
+ ]});
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-button", {}, tab.linkedBrowser);
+ await promiseOnboardingOverlayOpened(tab.linkedBrowser);
+
+ // Trigger CTA button to mark the tour as complete
+ let expectedPrefUpdates = [
+ promisePrefUpdated(`browser.onboarding.tour.onboarding-tour-customize.completed`, true),
+ ];
+ BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-tour-customize", {}, tab.linkedBrowser);
+ BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-tour-customize-button", {}, tab.linkedBrowser);
+ await Promise.all(expectedPrefUpdates);
+
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-close-btn", {}, gBrowser.selectedBrowser);
+ let { activeNavItemId } = await getCurrentActiveTour(tab.linkedBrowser);
+ is("onboarding-tour-customize", activeNavItemId, "the active tour should be the previous shown tour");
+
+ await reloadTab(tab);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await promiseTourNotificationOpened(tab.linkedBrowser);
+ let targetTourId = await getCurrentNotificationTargetTourId(tab.linkedBrowser);
+ is("onboarding-tour-library", targetTourId, "correctly show the click-autocomplete-tour in notification");
+
+ BrowserTestUtils.removeTab(tab);
+});
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_select_default_tour.js b/browser/extensions/onboarding/test/browser/browser_onboarding_select_default_tour.js
new file mode 100644
index 000000000000..37f345f515fa
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_select_default_tour.js
@@ -0,0 +1,80 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+const OVERLAY_ICON_ID = "#onboarding-overlay-button";
+const PRIVATE_BROWSING_TOUR_ID = "#onboarding-tour-private-browsing";
+const ADDONS_TOUR_ID = "#onboarding-tour-addons";
+const CUSTOMIZE_TOUR_ID = "#onboarding-tour-customize";
+const CLASS_ACTIVE = "onboarding-active";
+
+add_task(async function test_default_tour_open_the_right_page() {
+ resetOnboardingDefaultState();
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.tour-type", "new"],
+ ["browser.onboarding.tourset-version", 1],
+ ["browser.onboarding.seen-tourset-version", 1],
+ ["browser.onboarding.newtour", "private,addons,customize"],
+ ]});
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter(OVERLAY_ICON_ID, {}, tab.linkedBrowser);
+ await promiseOnboardingOverlayOpened(tab.linkedBrowser);
+
+ info("Make sure the default tour is active and open the right page");
+ let { activeNavItemId, activePageId } = await getCurrentActiveTour(tab.linkedBrowser);
+ is(`#${activeNavItemId}`, PRIVATE_BROWSING_TOUR_ID, "default tour is active");
+ is(activePageId, "onboarding-tour-private-browsing-page", "default tour page is shown");
+
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_select_first_uncomplete_tour() {
+ resetOnboardingDefaultState();
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.tour-type", "new"],
+ ["browser.onboarding.tourset-version", 1],
+ ["browser.onboarding.seen-tourset-version", 1],
+ ["browser.onboarding.newtour", "private,addons,customize"],
+ ]});
+ setTourCompletedState("onboarding-tour-private-browsing", true);
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter(OVERLAY_ICON_ID, {}, tab.linkedBrowser);
+ await promiseOnboardingOverlayOpened(tab.linkedBrowser);
+
+ info("Make sure the first uncomplete tour is selected");
+ let { activeNavItemId, activePageId } = await getCurrentActiveTour(tab.linkedBrowser);
+ is(`#${activeNavItemId}`, ADDONS_TOUR_ID, "default tour is active");
+ is(activePageId, "onboarding-tour-addons-page", "default tour page is shown");
+
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_select_first_tour_when_all_tours_are_complete() {
+ resetOnboardingDefaultState();
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.tour-type", "new"],
+ ["browser.onboarding.tourset-version", 1],
+ ["browser.onboarding.seen-tourset-version", 1],
+ ["browser.onboarding.newtour", "private,addons,customize"],
+ ]});
+ setTourCompletedState("onboarding-tour-private-browsing", true);
+ setTourCompletedState("onboarding-tour-addons", true);
+ setTourCompletedState("onboarding-tour-customize", true);
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter(OVERLAY_ICON_ID, {}, tab.linkedBrowser);
+ await promiseOnboardingOverlayOpened(tab.linkedBrowser);
+
+ info("Make sure the first tour is selected when all tours are completed");
+ let { activeNavItemId, activePageId } = await getCurrentActiveTour(tab.linkedBrowser);
+ is(`#${activeNavItemId}`, PRIVATE_BROWSING_TOUR_ID, "default tour is active");
+ is(activePageId, "onboarding-tour-private-browsing-page", "default tour page is shown");
+
+ BrowserTestUtils.removeTab(tab);
+});
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_skip_tour.js b/browser/extensions/onboarding/test/browser/browser_onboarding_skip_tour.js
new file mode 100644
index 000000000000..58b2870ce7e6
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_skip_tour.js
@@ -0,0 +1,47 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+ "use strict";
+
+add_task(async function test_skip_onboarding_tours() {
+ resetOnboardingDefaultState();
+
+ let tourIds = TOUR_IDs;
+ let expectedPrefUpdates = [
+ promisePrefUpdated("browser.onboarding.notification.finished", true),
+ promisePrefUpdated("browser.onboarding.state", ICON_STATE_WATERMARK),
+ ];
+ tourIds.forEach((id, idx) => expectedPrefUpdates.push(promisePrefUpdated(`browser.onboarding.tour.${id}.completed`, true)));
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-button", {}, tab.linkedBrowser);
+ await promiseOnboardingOverlayOpened(tab.linkedBrowser);
+
+ let overlayClosedPromise = promiseOnboardingOverlayClosed(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-skip-tour-button", {}, tab.linkedBrowser);
+ await overlayClosedPromise;
+ await Promise.all(expectedPrefUpdates);
+ await assertWatermarkIconDisplayed(tab.linkedBrowser);
+
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_hide_skip_button_via_perf() {
+ resetOnboardingDefaultState();
+ Preferences.set("browser.onboarding.skip-tour-button.hide", true);
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ let browser = tab.linkedBrowser;
+ await promiseOnboardingOverlayLoaded(browser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-button", {}, browser);
+ await promiseOnboardingOverlayOpened(browser);
+
+ let hasTourButton = await ContentTask.spawn(browser, null, () => {
+ return content.document.querySelector("#onboarding-skip-tour-button") != null;
+ });
+
+ ok(!hasTourButton, "should not render the skip button");
+
+ BrowserTestUtils.removeTab(tab);
+});
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_tours.js b/browser/extensions/onboarding/test/browser/browser_onboarding_tours.js
new file mode 100644
index 000000000000..612c06ea6e25
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_tours.js
@@ -0,0 +1,115 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+ "use strict";
+
+requestLongerTimeout(2);
+
+function assertTourCompleted(tourId, expectComplete, browser) {
+ return ContentTask.spawn(browser, { tourId, expectComplete }, function(args) {
+ let item = content.document.querySelector(`#${args.tourId}.onboarding-tour-item`);
+ let completedTextId = `onboarding-complete-${args.tourId}-text`;
+ let completedText = item.querySelector(`#${completedTextId}`);
+ if (args.expectComplete) {
+ ok(item.classList.contains("onboarding-complete"), `Should set the complete #${args.tourId} tour with the complete style`);
+ ok(completedText, "Text label should be present for a completed item");
+ is(completedText.id, completedTextId, "Text label node should have a unique id");
+ ok(completedText.getAttribute("aria-label"), "Text label node should have an aria-label attribute set");
+ is(item.getAttribute("aria-describedby"), completedTextId,
+ "Completed item should have aria-describedby attribute set to text label node's id");
+ } else {
+ ok(!item.classList.contains("onboarding-complete"), `Should not set the incomplete #${args.tourId} tour with the complete style`);
+ ok(!completedText, "Text label should not be present for an incomplete item");
+ ok(!item.hasAttribute("aria-describedby"), "Incomplete item should not have aria-describedby attribute set");
+ }
+ });
+}
+
+add_task(async function test_set_right_tour_completed_style_on_overlay() {
+ resetOnboardingDefaultState();
+
+ let tourIds = TOUR_IDs;
+ // Mark the tours of even number as completed
+ for (let i = 0; i < tourIds.length; ++i) {
+ setTourCompletedState(tourIds[i], i % 2 == 0);
+ }
+
+ let tabs = [];
+ for (let url of URLs) {
+ let tab = await openTab(url);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-button", {}, tab.linkedBrowser);
+ await promiseOnboardingOverlayOpened(tab.linkedBrowser);
+ tabs.push(tab);
+ }
+
+ for (let i = tabs.length - 1; i >= 0; --i) {
+ let tab = tabs[i];
+ await assertOverlaySemantics(tab.linkedBrowser);
+ for (let j = 0; j < tourIds.length; ++j) {
+ await assertTourCompleted(tourIds[j], j % 2 == 0, tab.linkedBrowser);
+ }
+ BrowserTestUtils.removeTab(tab);
+ }
+});
+
+add_task(async function test_click_action_button_to_set_tour_completed() {
+ resetOnboardingDefaultState();
+ const CUSTOM_TOUR_IDs = [
+ "onboarding-tour-private-browsing",
+ "onboarding-tour-addons",
+ "onboarding-tour-customize",
+ ];
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.newtour", "private,addons,customize"],
+ ]});
+
+ let tourIds = CUSTOM_TOUR_IDs;
+ let tabs = [];
+ for (let url of URLs) {
+ let tab = await openTab(url);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-button", {}, tab.linkedBrowser);
+ await promiseOnboardingOverlayOpened(tab.linkedBrowser);
+ tabs.push(tab);
+ }
+
+ let completedTourId = tourIds[0];
+ let expectedPrefUpdate = promisePrefUpdated(`browser.onboarding.tour.${completedTourId}.completed`, true);
+ await BrowserTestUtils.synthesizeMouseAtCenter(`#${completedTourId}-page .onboarding-tour-action-button`, {}, gBrowser.selectedBrowser);
+ await expectedPrefUpdate;
+
+ for (let i = tabs.length - 1; i >= 0; --i) {
+ let tab = tabs[i];
+ await assertOverlaySemantics(tab.linkedBrowser);
+ for (let id of tourIds) {
+ await assertTourCompleted(id, id == completedTourId, tab.linkedBrowser);
+ }
+ BrowserTestUtils.removeTab(tab);
+ }
+});
+
+add_task(async function test_set_watermark_after_all_tour_completed() {
+ resetOnboardingDefaultState();
+
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.tour-type", "new"],
+ ]});
+
+ let tabs = [];
+ for (let url of URLs) {
+ let tab = await openTab(url);
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-button", {}, tab.linkedBrowser);
+ await promiseOnboardingOverlayOpened(tab.linkedBrowser);
+ tabs.push(tab);
+ }
+ let expectedPrefUpdate = promisePrefUpdated("browser.onboarding.state", ICON_STATE_WATERMARK);
+ TOUR_IDs.forEach(id => Preferences.set(`browser.onboarding.tour.${id}.completed`, true));
+ await expectedPrefUpdate;
+
+ for (let tab of tabs) {
+ await assertWatermarkIconDisplayed(tab.linkedBrowser);
+ BrowserTestUtils.removeTab(tab);
+ }
+});
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_tourset.js b/browser/extensions/onboarding/test/browser/browser_onboarding_tourset.js
new file mode 100644
index 000000000000..3bbc50b69083
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_tourset.js
@@ -0,0 +1,82 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+requestLongerTimeout(2);
+
+async function testTourIDs(browser, tourIDs) {
+ await ContentTask.spawn(browser, tourIDs, async (tourIDsContent) => {
+ let doc = content.document;
+ let doms = doc.querySelectorAll(".onboarding-tour-item");
+ Assert.equal(doms.length, tourIDsContent.length, "has exact tour numbers");
+ doms.forEach((dom, idx) => {
+ Assert.equal(tourIDsContent[idx], dom.id, "contain defined onboarding id");
+ });
+ });
+}
+
+add_task(async function test_onboarding_default_new_tourset() {
+ resetOnboardingDefaultState();
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ let browser = tab.linkedBrowser;
+ await promiseOnboardingOverlayLoaded(browser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-button", {}, browser);
+ await promiseOnboardingOverlayOpened(browser);
+
+ await testTourIDs(browser, TOUR_IDs);
+
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_onboarding_custom_new_tourset() {
+ const CUSTOM_NEW_TOURs = [
+ "onboarding-tour-private-browsing",
+ "onboarding-tour-addons",
+ "onboarding-tour-customize",
+ ];
+
+ resetOnboardingDefaultState();
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.tour-type", "new"],
+ ["browser.onboarding.tourset-version", 1],
+ ["browser.onboarding.seen-tourset-version", 1],
+ ["browser.onboarding.newtour", "private,addons,customize"],
+ ]});
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ let browser = tab.linkedBrowser;
+ await promiseOnboardingOverlayLoaded(browser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-button", {}, browser);
+ await promiseOnboardingOverlayOpened(browser);
+
+ await testTourIDs(browser, CUSTOM_NEW_TOURs);
+
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_onboarding_custom_update_tourset() {
+ const CUSTOM_UPDATE_TOURs = [
+ "onboarding-tour-customize",
+ "onboarding-tour-private-browsing",
+ "onboarding-tour-addons",
+ ];
+ resetOnboardingDefaultState();
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.tour-type", "update"],
+ ["browser.onboarding.tourset-version", 1],
+ ["browser.onboarding.seen-tourset-version", 1],
+ ["browser.onboarding.updatetour", "customize,private,addons"],
+ ]});
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ let browser = tab.linkedBrowser;
+ await promiseOnboardingOverlayLoaded(browser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-button", {}, browser);
+ await promiseOnboardingOverlayOpened(browser);
+
+ await testTourIDs(browser, CUSTOM_UPDATE_TOURs);
+
+ BrowserTestUtils.removeTab(tab);
+});
diff --git a/browser/extensions/onboarding/test/browser/browser_onboarding_uitour.js b/browser/extensions/onboarding/test/browser/browser_onboarding_uitour.js
new file mode 100644
index 000000000000..716dd59651e4
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/browser_onboarding_uitour.js
@@ -0,0 +1,167 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+requestLongerTimeout(3);
+
+function promisePopupChange(popup, expectedState) {
+ return new Promise(resolve => {
+ let event = expectedState == "open" ? "popupshown" : "popuphidden";
+ popup.addEventListener(event, resolve, { once: true });
+ });
+}
+
+async function promiseOpenOnboardingOverlay(tab) {
+ await promiseOnboardingOverlayLoaded(tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-overlay-button", {}, tab.linkedBrowser);
+ return promiseOnboardingOverlayOpened(tab.linkedBrowser);
+}
+
+async function triggerUITourHighlight(tourName, tab) {
+ await promiseOpenOnboardingOverlay(tab);
+ BrowserTestUtils.synthesizeMouseAtCenter(`#onboarding-tour-${tourName}`, {}, tab.linkedBrowser);
+ BrowserTestUtils.synthesizeMouseAtCenter(`#onboarding-tour-${tourName}-button`, {}, tab.linkedBrowser);
+}
+
+add_task(async function test_clean_up_uitour_after_closing_overlay() {
+ resetOnboardingDefaultState();
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.newtour", "library"],
+ ]});
+
+ // Trigger UITour showHighlight
+ let highlight = document.getElementById("UITourHighlightContainer");
+ let highlightOpenPromise = promisePopupChange(highlight, "open");
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await triggerUITourHighlight("library", tab);
+ await highlightOpenPromise;
+ is(highlight.state, "open", "Should show UITour highlight");
+ is(highlight.getAttribute("targetName"), "library", "UITour should highlight library");
+
+ // Close the overlay by clicking the overlay
+ let highlightClosePromise = promisePopupChange(highlight, "closed");
+ BrowserTestUtils.synthesizeMouseAtPoint(2, 2, {}, tab.linkedBrowser);
+ await promiseOnboardingOverlayClosed(tab.linkedBrowser);
+ await highlightClosePromise;
+ is(highlight.state, "closed", "Should close UITour highlight after closing the overlay by clicking the overlay");
+
+ // Trigger UITour showHighlight again
+ highlightOpenPromise = promisePopupChange(highlight, "open");
+ await triggerUITourHighlight("library", tab);
+ await highlightOpenPromise;
+ is(highlight.state, "open", "Should show UITour highlight");
+ is(highlight.getAttribute("targetName"), "library", "UITour should highlight library");
+
+ // Close the overlay by clicking the skip-tour button
+ highlightClosePromise = promisePopupChange(highlight, "closed");
+ BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-skip-tour-btn", {}, tab.linkedBrowser);
+ await promiseOnboardingOverlayClosed(tab.linkedBrowser);
+ await highlightClosePromise;
+ is(highlight.state, "closed", "Should close UITour highlight after closing the overlay by clicking the skip-tour button");
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_clean_up_uitour_after_navigating_to_other_tour_by_keyboard() {
+ resetOnboardingDefaultState();
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.newtour", "singlesearch,customize"],
+ ]});
+
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await promiseOpenOnboardingOverlay(tab);
+
+ // Navigate to the Customize tour to trigger UITour showHighlight
+ let highlight = document.getElementById("UITourHighlightContainer");
+ let highlightOpenPromise = promisePopupChange(highlight, "open");
+ tab.linkedBrowser.focus(); // Make sure the key event will be fired on the focused page
+ await BrowserTestUtils.synthesizeKey("VK_TAB", {}, tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeKey("VK_TAB", {}, tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeKey("VK_RETURN", {}, tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeKey("VK_TAB", {}, tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeKey("VK_RETURN", {}, tab.linkedBrowser);
+ await highlightOpenPromise;
+ is(highlight.state, "open", "Should show UITour highlight");
+ is(highlight.getAttribute("targetName"), "customize", "UITour should highlight customize");
+
+ // Navigate to the Single-Search tour
+ let highlightClosePromise = promisePopupChange(highlight, "closed");
+ tab.linkedBrowser.focus(); // Make sure the key event will be fired on the focused page
+ await BrowserTestUtils.synthesizeKey("VK_TAB", { shiftKey: true }, tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeKey("VK_TAB", { shiftKey: true }, tab.linkedBrowser);
+ await BrowserTestUtils.synthesizeKey("VK_RETURN", {}, tab.linkedBrowser);
+ await highlightClosePromise;
+ is(highlight.state, "closed", "Should close UITour highlight after navigating to another tour by keyboard");
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_clean_up_uitour_after_navigating_to_other_tour_by_mouse() {
+ resetOnboardingDefaultState();
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.newtour", "singlesearch,customize"],
+ ]});
+
+ // Navigate to the Customize tour to trigger UITour showHighlight
+ let highlight = document.getElementById("UITourHighlightContainer");
+ let highlightOpenPromise = promisePopupChange(highlight, "open");
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await triggerUITourHighlight("customize", tab);
+ await highlightOpenPromise;
+ is(highlight.state, "open", "Should show UITour highlight");
+ is(highlight.getAttribute("targetName"), "customize", "UITour should highlight customize");
+
+ // Navigate to the Single-Search tour
+ let highlightClosePromise = promisePopupChange(highlight, "closed");
+ BrowserTestUtils.synthesizeMouseAtCenter("#onboarding-tour-singlesearch", {}, tab.linkedBrowser);
+ await highlightClosePromise;
+ is(highlight.state, "closed", "Should close UITour highlight after navigating to another tour by mouse");
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_clean_up_uitour_on_page_unload() {
+ resetOnboardingDefaultState();
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.newtour", "singlesearch,customize"],
+ ]});
+
+ // Trigger UITour showHighlight
+ let highlight = document.getElementById("UITourHighlightContainer");
+ let highlightOpenPromise = promisePopupChange(highlight, "open");
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await triggerUITourHighlight("customize", tab);
+ await highlightOpenPromise;
+ is(highlight.state, "open", "Should show UITour highlight");
+ is(highlight.getAttribute("targetName"), "customize", "UITour should highlight customize");
+
+ // Load another page to unload the current page
+ let highlightClosePromise = promisePopupChange(highlight, "closed");
+ await BrowserTestUtils.loadURI(tab.linkedBrowser, "http://example.com");
+ await highlightClosePromise;
+ is(highlight.state, "closed", "Should close UITour highlight after page unloaded");
+ BrowserTestUtils.removeTab(tab);
+});
+
+add_task(async function test_clean_up_uitour_on_window_resize() {
+ resetOnboardingDefaultState();
+ await SpecialPowers.pushPrefEnv({set: [
+ ["browser.onboarding.newtour", "singlesearch,customize"],
+ ]});
+
+ // Trigger UITour showHighlight
+ let highlight = document.getElementById("UITourHighlightContainer");
+ let highlightOpenPromise = promisePopupChange(highlight, "open");
+ let tab = await openTab(ABOUT_NEWTAB_URL);
+ await triggerUITourHighlight("customize", tab);
+ await highlightOpenPromise;
+ is(highlight.state, "open", "Should show UITour highlight");
+ is(highlight.getAttribute("targetName"), "customize", "UITour should highlight customize");
+
+ // Resize window to destroy the onboarding tour
+ const originalWidth = window.innerWidth;
+ let highlightClosePromise = promisePopupChange(highlight, "closed");
+ window.innerWidth = 300;
+ await highlightClosePromise;
+ is(highlight.state, "closed", "Should close UITour highlight after window resized");
+ window.innerWidth = originalWidth;
+ BrowserTestUtils.removeTab(tab);
+});
diff --git a/browser/extensions/onboarding/test/browser/head.js b/browser/extensions/onboarding/test/browser/head.js
new file mode 100644
index 000000000000..9a66f60df88a
--- /dev/null
+++ b/browser/extensions/onboarding/test/browser/head.js
@@ -0,0 +1,288 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+let { Preferences } = ChromeUtils.import("resource://gre/modules/Preferences.jsm", {});
+
+const ABOUT_HOME_URL = "about:home";
+const ABOUT_NEWTAB_URL = "about:newtab";
+const URLs = [ABOUT_HOME_URL, ABOUT_NEWTAB_URL];
+const TOUR_IDs = [
+ "onboarding-tour-performance",
+ "onboarding-tour-private-browsing",
+ "onboarding-tour-screenshots",
+ "onboarding-tour-addons",
+ "onboarding-tour-customize",
+ "onboarding-tour-default-browser",
+];
+const UPDATE_TOUR_IDs = [
+ "onboarding-tour-performance",
+ "onboarding-tour-library",
+ "onboarding-tour-screenshots",
+ "onboarding-tour-singlesearch",
+ "onboarding-tour-customize",
+ "onboarding-tour-sync",
+];
+const ICON_STATE_WATERMARK = "watermark";
+const ICON_STATE_DEFAULT = "default";
+
+registerCleanupFunction(resetOnboardingDefaultState);
+
+function resetOnboardingDefaultState() {
+ // All the prefs should be reset to the default states
+ // and no need to revert back so we don't use `SpecialPowers.pushPrefEnv` here.
+ Preferences.set("browser.onboarding.enabled", true);
+ Preferences.set("browser.onboarding.state", ICON_STATE_DEFAULT);
+ Preferences.set("browser.onboarding.notification.finished", false);
+ Preferences.set("browser.onboarding.notification.mute-duration-on-first-session-ms", 300000);
+ Preferences.set("browser.onboarding.notification.max-life-time-per-tour-ms", 432000000);
+ Preferences.set("browser.onboarding.notification.max-life-time-all-tours-ms", 1209600000);
+ Preferences.set("browser.onboarding.notification.max-prompt-count-per-tour", 8);
+ Preferences.reset("browser.onboarding.notification.last-time-of-changing-tour-sec");
+ Preferences.reset("browser.onboarding.notification.prompt-count");
+ Preferences.reset("browser.onboarding.notification.tour-ids-queue");
+ Preferences.reset("browser.onboarding.skip-tour-button.hide");
+ TOUR_IDs.forEach(id => Preferences.reset(`browser.onboarding.tour.${id}.completed`));
+ UPDATE_TOUR_IDs.forEach(id => Preferences.reset(`browser.onboarding.tour.${id}.completed`));
+}
+
+function setTourCompletedState(tourId, state) {
+ Preferences.set(`browser.onboarding.tour.${tourId}.completed`, state);
+}
+
+async function openTab(url) {
+ let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser);
+ let loadedPromise = BrowserTestUtils.browserLoaded(tab.linkedBrowser);
+ await BrowserTestUtils.loadURI(tab.linkedBrowser, url);
+ await loadedPromise;
+ return tab;
+}
+
+function reloadTab(tab) {
+ let reloadPromise = BrowserTestUtils.browserLoaded(tab.linkedBrowser);
+ tab.linkedBrowser.reload();
+ return reloadPromise;
+}
+
+function promiseOnboardingOverlayLoaded(browser) {
+ function isLoaded() {
+ let doc = content && content.document;
+ if (doc.querySelector("#onboarding-overlay")) {
+ ok(true, "Should load onboarding overlay");
+ return Promise.resolve();
+ }
+ return new Promise(resolve => {
+ let observer = new content.MutationObserver(mutations => {
+ mutations.forEach(mutation => {
+ let overlay = Array.from(mutation.addedNodes)
+ .find(node => node.id == "onboarding-overlay");
+ if (overlay) {
+ observer.disconnect();
+ ok(true, "Should load onboarding overlay");
+ resolve();
+ }
+ });
+ });
+ observer.observe(doc.body, { childList: true });
+ });
+ }
+ return ContentTask.spawn(browser, {}, isLoaded);
+}
+
+function promiseOnboardingOverlayOpened(browser) {
+ return BrowserTestUtils.waitForCondition(() =>
+ ContentTask.spawn(browser, {}, () =>
+ content.document.querySelector("#onboarding-overlay").classList.contains(
+ "onboarding-opened")),
+ "Should open onboarding overlay",
+ 100,
+ 30
+ );
+}
+
+function promiseOnboardingOverlayClosed(browser) {
+ return BrowserTestUtils.waitForCondition(() =>
+ ContentTask.spawn(browser, {}, () =>
+ !content.document.querySelector("#onboarding-overlay").classList.contains(
+ "onboarding-opened")),
+ "Should close onboarding overlay",
+ 100,
+ 30
+ );
+}
+
+function promisePrefUpdated(name, expectedValue) {
+ return new Promise(resolve => {
+ let onUpdate = actualValue => {
+ Preferences.ignore(name, onUpdate);
+ is(expectedValue, actualValue, `Should update the pref of ${name}`);
+ resolve();
+ };
+ Preferences.observe(name, onUpdate);
+ });
+}
+
+function promiseTourNotificationOpened(browser) {
+ function isOpened() {
+ let doc = content && content.document;
+ let notification = doc.querySelector("#onboarding-notification-bar");
+ if (notification && notification.classList.contains("onboarding-opened")) {
+ ok(true, "Should open tour notification");
+ return Promise.resolve();
+ }
+ return new Promise(resolve => {
+ let observer = new content.MutationObserver(mutations => {
+ mutations.forEach(mutation => {
+ let bar = Array.from(mutation.addedNodes)
+ .find(node => node.id == "onboarding-notification-bar");
+ if (bar && bar.classList.contains("onboarding-opened")) {
+ observer.disconnect();
+ ok(true, "Should open tour notification");
+ resolve();
+ }
+ });
+ });
+ observer.observe(doc.body, { childList: true });
+ });
+ }
+ return ContentTask.spawn(browser, {}, isOpened);
+}
+
+function promiseTourNotificationClosed(browser) {
+ let condition = () => {
+ return ContentTask.spawn(browser, {}, function() {
+ return new Promise(resolve => {
+ let bar = content.document.querySelector("#onboarding-notification-bar");
+ if (bar && !bar.classList.contains("onboarding-opened")) {
+ resolve(true);
+ return;
+ }
+ resolve(false);
+ });
+ });
+ };
+ return BrowserTestUtils.waitForCondition(
+ condition,
+ "Should close tour notification",
+ 100,
+ 30
+ );
+}
+
+function getCurrentNotificationTargetTourId(browser) {
+ return ContentTask.spawn(browser, {}, function() {
+ let bar = content.document.querySelector("#onboarding-notification-bar");
+ return bar ? bar.dataset.targetTourId : null;
+ });
+}
+
+function getCurrentActiveTour(browser) {
+ return ContentTask.spawn(browser, {}, function() {
+ let list = content.document.querySelector("#onboarding-tour-list");
+ let items = list.querySelectorAll(".onboarding-tour-item");
+ let activeNavItemId = null;
+ for (let item of items) {
+ if (item.classList.contains("onboarding-active")) {
+ if (!activeNavItemId) {
+ activeNavItemId = item.id;
+ } else {
+ ok(false, "There are more than one item marked as active.");
+ }
+ }
+ }
+ let activePageId = null;
+ let pages = content.document.querySelectorAll(".onboarding-tour-page");
+ for (let page of pages) {
+ if (page.style.display != "none") {
+ if (!activePageId) {
+ activePageId = page.id;
+ } else {
+ ok(false, "Thre are more than one tour page visible.");
+ }
+ }
+ }
+ return { activeNavItemId, activePageId };
+ });
+}
+
+function waitUntilWindowIdle(browser) {
+ return ContentTask.spawn(browser, {}, function() {
+ return new Promise(resolve => content.requestIdleCallback(resolve));
+ });
+}
+
+function skipMuteNotificationOnFirstSession() {
+ Preferences.set("browser.onboarding.notification.mute-duration-on-first-session-ms", 0);
+}
+
+function assertOverlaySemantics(browser) {
+ return ContentTask.spawn(browser, {}, function() {
+ let doc = content.document;
+
+ info("Checking dialog");
+ let dialog = doc.getElementById("onboarding-overlay-dialog");
+ is(dialog.getAttribute("role"), "dialog",
+ "Dialog should have a dialog role attribute set");
+ is(dialog.tabIndex, "-1", "Dialog should be focusable but not in tab order");
+ is(dialog.getAttribute("aria-labelledby"), "onboarding-header",
+ "Dialog should be labaled by its header");
+
+ info("Checking the tablist container");
+ is(doc.getElementById("onboarding-tour-list").getAttribute("role"), "tablist",
+ "Tour list should have a tablist role attribute set");
+
+ info("Checking each tour item that represents the tab");
+ let items = [...doc.querySelectorAll(".onboarding-tour-item")];
+ items.forEach(item => {
+ is(item.parentNode.getAttribute("role"), "presentation",
+ "Parent should have no semantic value");
+ is(item.getAttribute("aria-selected"),
+ item.classList.contains("onboarding-active") ? "true" : "false",
+ "Active item should have aria-selected set to true and inactive to false");
+ is(item.tabIndex, "0", "Item tab index must be set for keyboard accessibility");
+ is(item.getAttribute("role"), "tab", "Item should have a tab role attribute set");
+ let tourPanelId = `${item.id}-page`;
+ is(item.getAttribute("aria-controls"), tourPanelId,
+ "Item should have aria-controls attribute point to its tabpanel");
+ let panel = doc.getElementById(tourPanelId);
+ is(panel.getAttribute("role"), "tabpanel",
+ "Tour panel should have a tabpanel role attribute set");
+ is(panel.getAttribute("aria-labelledby"), item.id,
+ "Tour panel should have aria-labelledby attribute point to its tab");
+ });
+ });
+}
+
+function assertModalDialog(browser, args) {
+ return ContentTask.spawn(browser, args, ({ keyboardFocus, visible, focusedId }) => {
+ let doc = content.document;
+ let overlayButton = doc.getElementById("onboarding-overlay-button");
+ if (visible) {
+ [...doc.body.children].forEach(child =>
+ child.id !== "onboarding-overlay" &&
+ is(child.getAttribute("aria-hidden"), "true",
+ "Content should not be visible to screen reader"));
+ is(focusedId ? doc.getElementById(focusedId) : doc.body,
+ doc.activeElement, `Focus should be on ${focusedId || "body"}`);
+ is(keyboardFocus ? "true" : undefined,
+ overlayButton.dataset.keyboardFocus,
+ "Overlay button focus state is saved correctly");
+ } else {
+ [...doc.body.children].forEach(
+ child => ok(!child.hasAttribute("aria-hidden"),
+ "Content should be visible to screen reader"));
+ if (keyboardFocus) {
+ is(overlayButton, doc.activeElement,
+ "Focus should be set on overlay button");
+ }
+ ok(!overlayButton.dataset.keyboardFocus,
+ "Overlay button focus state should be cleared");
+ }
+ });
+}
+
+function assertWatermarkIconDisplayed(browser) {
+ return ContentTask.spawn(browser, {}, function() {
+ let overlayButton = content.document.getElementById("onboarding-overlay-button");
+ ok(overlayButton.classList.contains("onboarding-watermark"), "Should display the watermark onboarding icon");
+ });
+}
diff --git a/browser/extensions/onboarding/test/unit/.eslintrc.js b/browser/extensions/onboarding/test/unit/.eslintrc.js
new file mode 100644
index 000000000000..58f8bd73ee48
--- /dev/null
+++ b/browser/extensions/onboarding/test/unit/.eslintrc.js
@@ -0,0 +1,7 @@
+"use strict";
+
+module.exports = {
+ "extends": [
+ "plugin:mozilla/xpcshell-test",
+ ],
+};
diff --git a/browser/extensions/onboarding/test/unit/head.js b/browser/extensions/onboarding/test/unit/head.js
new file mode 100644
index 000000000000..715ba8589b4e
--- /dev/null
+++ b/browser/extensions/onboarding/test/unit/head.js
@@ -0,0 +1,54 @@
+/**
+ * Provides infrastructure for automated onboarding components tests.
+ */
+
+"use strict";
+
+/* global Cc, Ci, Cu */
+ChromeUtils.import("resource://gre/modules/Preferences.jsm");
+ChromeUtils.import("resource://gre/modules/Services.jsm");
+ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
+
+XPCOMUtils.defineLazyServiceGetter(this, "resProto",
+ "@mozilla.org/network/protocol;1?name=resource",
+ "nsISubstitutingProtocolHandler");
+
+// Load our bootstrap extension manifest so we can access our chrome/resource URIs.
+// Cargo culted from formautofill system add-on
+const EXTENSION_ID = "onboarding(a)mozilla.org";
+let extensionDir = Services.dirsvc.get("GreD", Ci.nsIFile);
+extensionDir.append("browser");
+extensionDir.append("features");
+extensionDir.append(EXTENSION_ID);
+let resourceURI;
+// If the unpacked extension doesn't exist, use the packed version.
+if (!extensionDir.exists()) {
+ extensionDir.leafName += ".xpi";
+
+ resourceURI = "jar:" + Services.io.newFileURI(extensionDir).spec + "!/chrome/content/";
+} else {
+ resourceURI = Services.io.newFileURI(extensionDir).spec + "/chrome/content/";
+}
+Components.manager.addBootstrappedManifestLocation(extensionDir);
+
+resProto.setSubstitution("onboarding", Services.io.newURI(resourceURI));
+
+const TOURSET_VERSION = 1;
+const NEXT_TOURSET_VERSION = 2;
+const PREF_TOUR_TYPE = "browser.onboarding.tour-type";
+const PREF_TOURSET_VERSION = "browser.onboarding.tourset-version";
+const PREF_SEEN_TOURSET_VERSION = "browser.onboarding.seen-tourset-version";
+
+function resetOnboardingDefaultState() {
+ // All the prefs should be reset to what prefs should looks like in a new user profile
+ Services.prefs.setIntPref(PREF_TOURSET_VERSION, TOURSET_VERSION);
+ Services.prefs.clearUserPref(PREF_SEEN_TOURSET_VERSION);
+ Services.prefs.clearUserPref(PREF_TOUR_TYPE);
+}
+
+function resetOldProfileDefaultState() {
+ // All the prefs should be reset to what prefs should looks like in a older new user profile
+ Services.prefs.setIntPref(PREF_TOURSET_VERSION, TOURSET_VERSION);
+ Services.prefs.setIntPref(PREF_SEEN_TOURSET_VERSION, 0);
+ Services.prefs.clearUserPref(PREF_TOUR_TYPE);
+}
diff --git a/browser/extensions/onboarding/test/unit/test-onboarding-tour-type.js b/browser/extensions/onboarding/test/unit/test-onboarding-tour-type.js
new file mode 100644
index 000000000000..489ae6eebce1
--- /dev/null
+++ b/browser/extensions/onboarding/test/unit/test-onboarding-tour-type.js
@@ -0,0 +1,89 @@
+/*
+ * Test for onboarding tour type check.
+ */
+
+"use strict";
+
+ChromeUtils.import("resource://onboarding/modules/OnboardingTourType.jsm");
+
+add_task(async function() {
+ info("Starting testcase: When New user open the browser first time");
+ resetOnboardingDefaultState();
+ OnboardingTourType.check();
+
+ Assert.equal(Preferences.get(PREF_TOUR_TYPE), "new", "should show the new user tour");
+ Assert.equal(Preferences.get(PREF_TOURSET_VERSION), TOURSET_VERSION,
+ "tourset version should not change");
+ Assert.equal(Preferences.get(PREF_SEEN_TOURSET_VERSION), TOURSET_VERSION,
+ "seen tourset version should be set as the tourset version");
+});
+
+add_task(async function() {
+ info("Starting testcase: When New user restart the browser");
+ resetOnboardingDefaultState();
+ Preferences.set(PREF_TOUR_TYPE, "new");
+ Preferences.set(PREF_SEEN_TOURSET_VERSION, TOURSET_VERSION);
+ OnboardingTourType.check();
+
+ Assert.equal(Preferences.get(PREF_TOUR_TYPE), "new", "should show the new user tour");
+ Assert.equal(Preferences.get(PREF_TOURSET_VERSION), TOURSET_VERSION,
+ "tourset version should not change");
+ Assert.equal(Preferences.get(PREF_SEEN_TOURSET_VERSION), TOURSET_VERSION,
+ "seen tourset version should be set as the tourset version");
+});
+
+add_task(async function() {
+ info("Starting testcase: When New User choosed to hide the overlay and restart the browser");
+ resetOnboardingDefaultState();
+ Preferences.set(PREF_TOUR_TYPE, "new");
+ Preferences.set(PREF_SEEN_TOURSET_VERSION, TOURSET_VERSION);
+ OnboardingTourType.check();
+
+ Assert.equal(Preferences.get(PREF_TOUR_TYPE), "new", "should show the new user tour");
+ Assert.equal(Preferences.get(PREF_TOURSET_VERSION), TOURSET_VERSION,
+ "tourset version should not change");
+ Assert.equal(Preferences.get(PREF_SEEN_TOURSET_VERSION), TOURSET_VERSION,
+ "seen tourset version should be set as the tourset version");
+});
+
+add_task(async function() {
+ info("Starting testcase: When New User updated to the next major version and restart the browser");
+ resetOnboardingDefaultState();
+ Preferences.set(PREF_TOURSET_VERSION, NEXT_TOURSET_VERSION);
+ Preferences.set(PREF_TOUR_TYPE, "new");
+ Preferences.set(PREF_SEEN_TOURSET_VERSION, TOURSET_VERSION);
+ OnboardingTourType.check();
+
+ Assert.equal(Preferences.get(PREF_TOUR_TYPE), "update", "should show the update user tour");
+ Assert.equal(Preferences.get(PREF_TOURSET_VERSION), NEXT_TOURSET_VERSION,
+ "tourset version should not change");
+ Assert.equal(Preferences.get(PREF_SEEN_TOURSET_VERSION), NEXT_TOURSET_VERSION,
+ "seen tourset version should be set as the tourset version");
+});
+
+add_task(async function() {
+ info("Starting testcase: When New User prefer hide the tour, then updated to the next major version and restart the browser");
+ resetOnboardingDefaultState();
+ Preferences.set(PREF_TOURSET_VERSION, NEXT_TOURSET_VERSION);
+ Preferences.set(PREF_TOUR_TYPE, "new");
+ Preferences.set(PREF_SEEN_TOURSET_VERSION, TOURSET_VERSION);
+ OnboardingTourType.check();
+
+ Assert.equal(Preferences.get(PREF_TOUR_TYPE), "update", "should show the update user tour");
+ Assert.equal(Preferences.get(PREF_TOURSET_VERSION), NEXT_TOURSET_VERSION,
+ "tourset version should not change");
+ Assert.equal(Preferences.get(PREF_SEEN_TOURSET_VERSION), NEXT_TOURSET_VERSION,
+ "seen tourset version should be set as the tourset version");
+});
+
+add_task(async function() {
+ info("Starting testcase: When User update from browser version < 56");
+ resetOldProfileDefaultState();
+ OnboardingTourType.check();
+
+ Assert.equal(Preferences.get(PREF_TOUR_TYPE), "update", "should show the update user tour");
+ Assert.equal(Preferences.get(PREF_TOURSET_VERSION), TOURSET_VERSION,
+ "tourset version should not change");
+ Assert.equal(Preferences.get(PREF_SEEN_TOURSET_VERSION), TOURSET_VERSION,
+ "seen tourset version should be set as the tourset version");
+});
diff --git a/browser/extensions/onboarding/test/unit/xpcshell.ini b/browser/extensions/onboarding/test/unit/xpcshell.ini
new file mode 100644
index 000000000000..ed484d0f200f
--- /dev/null
+++ b/browser/extensions/onboarding/test/unit/xpcshell.ini
@@ -0,0 +1,5 @@
+[DEFAULT]
+firefox-appdir = browser
+head = head.js
+
+[test-onboarding-tour-type.js]
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index e6d5b31ce280..8f52da54f7b9 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -250,6 +250,7 @@
@RESPATH@/browser/chrome/icons/default/default64.png
@RESPATH@/browser/chrome/icons/default/default128.png
#endif
+@RESPATH@/browser/features/*
; [DevTools Startup Files]
@RESPATH@/browser/chrome/devtools-startup@JAREXT@
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
index 0946188813da..5a91aa599a1e 100644
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -58,6 +58,7 @@ l10n-%:
@$(MAKE) -C ../../toolkit/locales l10n-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
+ @$(MAKE) -C ../extensions/onboarding/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -C ../../devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) l10n AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
@@ -71,6 +72,7 @@ chrome-%:
@$(MAKE) -C ../../toolkit/locales chrome-$*
@$(MAKE) -C ../../services/sync/locales chrome AB_CD=$*
@$(MAKE) -C ../../extensions/spellcheck/locales chrome AB_CD=$*
+ @$(MAKE) -C ../extensions/onboarding/locales chrome AB_CD=$*
@$(MAKE) -C ../../devtools/client/locales chrome AB_CD=$*
@$(MAKE) -C ../../devtools/startup/locales chrome AB_CD=$*
@$(MAKE) chrome AB_CD=$*
diff --git a/browser/locales/filter.py b/browser/locales/filter.py
index 562465d06e6c..3178e7a05875 100644
--- a/browser/locales/filter.py
+++ b/browser/locales/filter.py
@@ -19,6 +19,7 @@ def test(mod, path, entity=None):
"devtools/startup",
"browser",
"browser/extensions/formautofill",
+ "browser/extensions/onboarding",
"browser/extensions/report-site-issue",
"extensions/spellcheck",
"other-licenses/branding/firefox",
diff --git a/browser/locales/l10n.ini b/browser/locales/l10n.ini
index 7a6599740b20..c70485a63d53 100644
--- a/browser/locales/l10n.ini
+++ b/browser/locales/l10n.ini
@@ -13,6 +13,7 @@ dirs = browser
devtools/client
devtools/startup
browser/extensions/formautofill
+ browser/extensions/onboarding
browser/extensions/report-site-issue
[includes]
diff --git a/browser/locales/l10n.toml b/browser/locales/l10n.toml
index 130de78b4602..67f7b08f28a0 100644
--- a/browser/locales/l10n.toml
+++ b/browser/locales/l10n.toml
@@ -131,6 +131,10 @@ locales = [
reference = "browser/extensions/formautofill/locales/en-US/**"
l10n = "{l}browser/extensions/formautofill/**"
+[[paths]]
+ reference = "browser/extensions/onboarding/locales/en-US/**"
+ l10n = "{l}browser/extensions/onboarding/**"
+
[[paths]]
reference = "browser/extensions/report-site-issue/locales/en-US/**"
l10n = "{l}browser/extensions/report-site-issue/**"
diff --git a/extensions/permissions/PermissionManager.cpp b/extensions/permissions/PermissionManager.cpp
index c7eeaa40413b..927224407ca7 100644
--- a/extensions/permissions/PermissionManager.cpp
+++ b/extensions/permissions/PermissionManager.cpp
@@ -125,7 +125,11 @@ static const nsLiteralCString kPreloadPermissions[] = {
// interception when a user has disabled storage for a specific site. Once
// service worker interception moves to the parent process this should be
// removed. See bug 1428130.
- "cookie"_ns};
+ "cookie"_ns,
+
+ // Bug 28822: Make sure uitour permissions are preloaded in content
+ // processes.
+ "uitour"_ns};
// NOTE: nullptr can be passed as aType - if it is this function will return
// "false" unconditionally.
diff --git a/tools/lint/codespell.yml b/tools/lint/codespell.yml
index e0144e5447cb..55d8047aa519 100644
--- a/tools/lint/codespell.yml
+++ b/tools/lint/codespell.yml
@@ -9,6 +9,7 @@ codespell:
- browser/components/touchbar/docs/
- browser/components/urlbar/docs/
- browser/extensions/formautofill/locales/en-US/
+ - browser/extensions/onboarding/locales/en-US/
- browser/extensions/report-site-issue/locales/en-US/
- browser/installer/windows/docs/
- browser/locales/en-US/
1
0

[tor-browser-build/master] Revert "Bug 40420: Temporarily stop building ofs4 master on nightly"
by boklm@torproject.org 31 Jan '22
by boklm@torproject.org 31 Jan '22
31 Jan '22
commit 9f0ce975cab384e83905706414f14ac83ccbd1af
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Jan 31 20:08:51 2022 +0100
Revert "Bug 40420: Temporarily stop building ofs4 master on nightly"
This reverts commit 247d79f92476f65998962ba3ed4eb187b0d59e9d.
---
projects/obfs4/config | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/projects/obfs4/config b/projects/obfs4/config
index 80b39c1..eec61bb 100644
--- a/projects/obfs4/config
+++ b/projects/obfs4/config
@@ -10,6 +10,12 @@ var:
container:
use_container: 1
+targets:
+ nightly:
+ git_hash: master
+ version: '[% c("abbrev") %]'
+ tag_gpg_id: 0
+
input_files:
- project: container-image
- name: go
1
0

[tor-browser-build/master] Bug 40416: updated obfsproxy to 0.0.12
by boklm@torproject.org 31 Jan '22
by boklm@torproject.org 31 Jan '22
31 Jan '22
commit d3e8a8ac42ae311a1f76d1b453c34a492d65deca
Author: Pier Angelo Vendrame <pierov(a)torproject.org>
Date: Mon Jan 24 09:29:46 2022 +0100
Bug 40416: updated obfsproxy to 0.0.12
---
projects/edwards25519-extra/config | 31 +++++++++++++++++++++++++++++++
projects/edwards25519/config | 17 +++++++++++++++++
projects/gobsaes/config | 8 ++++++--
projects/goutls/config | 3 +--
projects/goutls/sessionid.patch | 25 -------------------------
projects/obfs4/build | 3 ++-
projects/obfs4/config | 14 ++++++++------
7 files changed, 65 insertions(+), 36 deletions(-)
diff --git a/projects/edwards25519-extra/config b/projects/edwards25519-extra/config
new file mode 100644
index 0000000..2aa7390
--- /dev/null
+++ b/projects/edwards25519-extra/config
@@ -0,0 +1,31 @@
+# vim: filetype=yaml sw=2
+version: '[% c("abbrev") %]'
+git_url: https://gitlab.com/yawning/edwards25519-extra.git
+git_hash: 2f91fcc9fbdb888f3c795849b6777940135559b7
+filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
+
+build: '[% c("projects/go/var/build_go_lib") %]'
+
+var:
+ container:
+ use_container: 1
+ go_lib: gitlab.com/yawning/edwards25519-extra.git
+ go_lib_deps:
+ - goxcrypto
+ - edwards25519
+ go_lib_install:
+ - gitlab.com/yawning/edwards25519-extra.git/elligator2
+ - gitlab.com/yawning/edwards25519-extra.git/h2c
+ - gitlab.com/yawning/edwards25519-extra.git/vrf
+
+input_files:
+ - project: container-image
+ - name: go
+ project: go
+ - name: goxcrypto
+ project: goxcrypto
+ - name: edwards25519
+ project: edwards25519
+ - name: '[% c("var/compiler") %]'
+ project: '[% c("var/compiler") %]'
+ enable: '[% c("var/android") %]'
diff --git a/projects/edwards25519/config b/projects/edwards25519/config
new file mode 100644
index 0000000..0f3377d
--- /dev/null
+++ b/projects/edwards25519/config
@@ -0,0 +1,17 @@
+# vim: filetype=yaml sw=2
+version: '[% c("abbrev") %]'
+git_url: https://github.com/FiloSottile/edwards25519.git
+git_hash: 390f27c3be2014e4912ce88c6a1fff52ec60428b
+filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
+
+build: '[% c("projects/go/var/build_go_lib") %]'
+
+var:
+ container:
+ use_container: 1
+ go_lib: filippo.io/edwards25519
+
+input_files:
+ - project: container-image
+ - name: go
+ project: go
diff --git a/projects/gobsaes/config b/projects/gobsaes/config
index 3674488..cd8af1a 100644
--- a/projects/gobsaes/config
+++ b/projects/gobsaes/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
git_url: https://gitlab.com/yawning/bsaes.git
version: '[% c("abbrev") %]'
-git_hash: 26d1add596b6d800bdeeb3bc3b2c7b316c056b6d
+git_hash: 0a714cd429ec754482b4001e918db30cd2094405
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
build: '[% c("projects/go/var/build_go_lib") %]'
@@ -9,7 +9,9 @@ build: '[% c("projects/go/var/build_go_lib") %]'
var:
container:
use_container: 1
- go_lib: git.schwanenlied.me/yawning/bsaes.git
+ go_lib: gitlab.com/yawning/bsaes.git
+ go_lib_deps:
+ - goxsys
targets:
android:
@@ -21,6 +23,8 @@ input_files:
- project: container-image
- name: go
project: go
+ - name: goxsys
+ project: goxsys
- name: '[% c("var/compiler") %]'
project: '[% c("var/compiler") %]'
enable: '[% c("var/android") %]'
diff --git a/projects/goutls/config b/projects/goutls/config
index 7a46517..8052176 100644
--- a/projects/goutls/config
+++ b/projects/goutls/config
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
git_url: https://gitlab.com/yawning/utls.git
-version: 0.0.10-1
+version: 0.0.12-1
git_hash: 'v[% c("version") %]'
tag_gpg_id: 1
gpg_keyring: yawning.gpg
@@ -33,7 +33,6 @@ input_files:
project: gocompress
- name: gobsaes
project: gobsaes
- - filename: sessionid.patch
- name: '[% c("var/compiler") %]'
project: '[% c("var/compiler") %]'
enable: '[% c("var/android") %]'
diff --git a/projects/goutls/sessionid.patch b/projects/goutls/sessionid.patch
deleted file mode 100644
index fd3636d..0000000
--- a/projects/goutls/sessionid.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 4da67951864128358459681399dd208c49d5d001 Mon Sep 17 00:00:00 2001
-From: Rod Hynes <rod-hynes(a)users.noreply.github.com>
-Date: Mon, 12 Aug 2019 17:06:06 -0400
-Subject: [PATCH] Fix all-zeroes SessionID (#31)
-
----
- u_conn.go | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/u_conn.go b/u_conn.go
-index 9079460..2706373 100644
---- a/u_conn.go
-+++ b/u_conn.go
-@@ -121,7 +121,7 @@ func (uconn *UConn) SetSessionState(session *ClientSessionState) error {
- }
- }
- var sessionID [32]byte
-- _, err := io.ReadFull(uconn.config.rand(), uconn.HandshakeState.Hello.SessionId)
-+ _, err := io.ReadFull(uconn.config.rand(), sessionID[:])
- if err != nil {
- return err
- }
---
-2.22.0
-
diff --git a/projects/obfs4/build b/projects/obfs4/build
index b57b0c5..3aa2167 100644
--- a/projects/obfs4/build
+++ b/projects/obfs4/build
@@ -13,7 +13,8 @@ mkdir -p $PTDIR
[% END -%]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/goptlib') %]
-tar -C /var/tmp/dist -xf [% c('input_files_by_name/ed25519') %]
+tar -C /var/tmp/dist -xf [% c('input_files_by_name/edwards25519') %]
+tar -C /var/tmp/dist -xf [% c('input_files_by_name/edwards25519-extra') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/siphash') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/goxcrypto') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/goxnet') %]
diff --git a/projects/obfs4/config b/projects/obfs4/config
index eec61bb..a05d2d4 100644
--- a/projects/obfs4/config
+++ b/projects/obfs4/config
@@ -1,8 +1,8 @@
# vim: filetype=yaml sw=2
-version: 0.0.11
-git_url: https://git.torproject.org/pluggable-transports/obfs4.git
-git_hash: 40245c4a1cf221395c59d1f4bf274127045352f9
-tag_gpg_id: 0
+version: 0.0.12
+git_url: https://gitlab.com/yawning/obfs4.git
+git_hash: 'obfs4proxy-[% c("version") %]'
+tag_gpg_id: 1
gpg_keyring: yawning.gpg
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
@@ -22,8 +22,10 @@ input_files:
project: go
- name: goptlib
project: goptlib
- - name: ed25519
- project: ed25519
+ - name: edwards25519
+ project: edwards25519
+ - name: edwards25519-extra
+ project: edwards25519-extra
- name: siphash
project: siphash
- name: goxcrypto
1
0

[tor-browser-build/master] Bug 40400: Add tools/changelog-format-blog-post
by gk@torproject.org 28 Jan '22
by gk@torproject.org 28 Jan '22
28 Jan '22
commit ffc2c49558b9f7c330152987176af4d71f32fc0e
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Dec 14 13:20:23 2021 +0100
Bug 40400: Add tools/changelog-format-blog-post
---
tools/changelog-format-blog-post | 53 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/tools/changelog-format-blog-post b/tools/changelog-format-blog-post
new file mode 100755
index 0000000..a50ae8f
--- /dev/null
+++ b/tools/changelog-format-blog-post
@@ -0,0 +1,53 @@
+#!/usr/bin/perl -w
+
+# This script reads the ChangeLog.txt file and outputs it to stdout
+# in the format for the blog post.
+
+use strict;
+use FindBin;
+
+sub version_type {
+ return $_[0] =~ 'a' ? 'alpha' : 'release';
+}
+
+my ($changelog, $current_tbversion, $last_tbversion);
+
+if (!open(CHANGELOG, '<', "$FindBin::Bin/../ChangeLog.txt")) {
+ print STDERR "Error opening changelog file\n";
+ exit 1;
+}
+
+foreach (<CHANGELOG>) {
+ if (m/^Tor Browser ([^\s]+) -/) {
+ if ($current_tbversion) {
+ $last_tbversion = $1;
+ last if version_type($current_tbversion) eq version_type($last_tbversion);
+ next;
+ }
+ $current_tbversion = $1;
+ next;
+ }
+
+ next if $last_tbversion;
+
+ # Remove one space at the begining of all lines
+ s/^\s//;
+
+ # Replace '*' by '-'
+ s/^(\s*)\*/$1-/;
+
+ s/&/&/; s/</</; s/>/>/;
+
+ # Change bug numbers to links
+ s|Bug (\d+): ([^\[]+) \[([^\]]+)\]|[Bug $3#$1](https://gitlab.torproject.org/tpo/applications/$3/-/issues/$1): $2|;
+
+ $changelog .= $_;
+}
+
+my $changelog_branch = 'master';
+if (! ( $current_tbversion =~ m/a/ ) ) {
+ my @v = split(/\./, $current_tbversion);
+ $changelog_branch = "maint-$v[0].$v[1]";
+}
+print "The full changelog since [Tor Browser $last_tbversion](https://gitweb.torproject.org/builders/tor-browser-build.git/plain/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt?h=$changelog_branch) is:\n\n";
+print $changelog;
1
0

[tor-browser-build/master] Bug 40420: Temporarily stop building ofs4 master on nightly
by boklm@torproject.org 28 Jan '22
by boklm@torproject.org 28 Jan '22
28 Jan '22
commit 247d79f92476f65998962ba3ed4eb187b0d59e9d
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Jan 28 12:39:44 2022 +0100
Bug 40420: Temporarily stop building ofs4 master on nightly
To avoid a build failure on nightly, don't build the master branch of
obfs4 in nightly builds.
We should revert this after #40416 is merged.
---
projects/obfs4/config | 6 ------
1 file changed, 6 deletions(-)
diff --git a/projects/obfs4/config b/projects/obfs4/config
index eec61bb..80b39c1 100644
--- a/projects/obfs4/config
+++ b/projects/obfs4/config
@@ -10,12 +10,6 @@ var:
container:
use_container: 1
-targets:
- nightly:
- git_hash: master
- version: '[% c("abbrev") %]'
- tag_gpg_id: 0
-
input_files:
- project: container-image
- name: go
1
0
commit d88fc79d206438700b724e2b4b2cf9fce005ed37
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 20 16:40:00 2022 +0000
Bug 40015: Add FF81 audit
---
audits/FF81_NETWORK_AUDIT | 55 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/audits/FF81_NETWORK_AUDIT b/audits/FF81_NETWORK_AUDIT
new file mode 100644
index 0000000..ef138b7
--- /dev/null
+++ b/audits/FF81_NETWORK_AUDIT
@@ -0,0 +1,55 @@
+============ General =============
+
+The audit begins at the commit hash where the previous audit ended. Use
+code_audit.sh for creating the diff and highlighting potentially problematic
+code. The audit is scoped to a specific language (currently C/C++, Rust,
+Java/Kotlin, and Javascript).
+
+The output includes the entire patch where the new problematic code was
+introduced. Search for "XXX MATCH XXX" to find the next potential violation.
+
+code_audit.sh contains the list of known problematic APIs. New usage of these
+functions are documented and analyzed in this audit.
+
+============ Firefox General Portion =============
+
+(Note: While we later on use FIREFOX_XXX_BUILDN targets we use the _BASE ones
+ here as we do the audit retrospectively, long after those releases went out.)
+
+Start: 84cb11f03ecea33982cb53086c25d6b6df8b28cf # FIREFOX_RELEASE_80_BASE
+End: f127e1315fb82a7cc784b0c9928a062ae1e9ca7e # FIREFOX_RELEASE_81_BASE
+
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1657582 (DNS code related
+ refactoring), looks okay.
+
+# Nothing else of interest (using `code_audit.sh`)
+
+============ Application Services Portion =============
+
+Start: dd09c25f14dbf45f1637ed8dca2d1e5ff668479f # v61.0.10
+End: 89ea9cfa6eaa0763d17ec9aa04098839d028004c # v61.0.13
+
+Nothing new.
+
+============ Android Components Portion =============
+
+Start: cfc360e0587ccb7eb49689d08212f05ff0966fbb # v54.0.6
+End: eb4aebb91eb39a47c05fdf0b2cb1100c80cd344f # v57.0.4 (which is used by
+ Fenix v81.1.1-beta.3)
+
+Nothing new.
+
+============ Fenix Portion =============
+
+Start: bad13cc48c526fcc8ed2de5c58da1ae4a3b392dd # v80.1.3
+End: b54949e58f9fda3698ada3e64b9f4337177d84f0 # (HEAD~1 v81.1.1-beta.3)
+
+# Issue #1216 voice input for search
+# - I opened fenix#40204 for further investigation.
+
+============ Regression/Prior Vuln Review =========
+
+Review proxy bypass bugs; check for new vectors to look for:
+ - https://gitlab.torproject.org/groups/tpo/applications/-/issues?scope=all&ut…
+ - Look for new features like these. Especially external app launch vectors
+
1
0
commit 46f05a52f521767113d6e115def4e9ef1d1a671d
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 26 12:26:49 2022 +0000
Bug 40015: Add FF80 audit
---
audits/FF80_NETWORK_AUDIT | 57 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/audits/FF80_NETWORK_AUDIT b/audits/FF80_NETWORK_AUDIT
new file mode 100644
index 0000000..11bda7c
--- /dev/null
+++ b/audits/FF80_NETWORK_AUDIT
@@ -0,0 +1,57 @@
+============ General =============
+
+The audit begins at the commit hash where the previous audit ended. Use
+code_audit.sh for creating the diff and highlighting potentially problematic
+code. The audit is scoped to a specific language (currently C/C++, Rust,
+Java/Kotlin, and Javascript).
+
+The output includes the entire patch where the new problematic code was
+introduced. Search for "XXX MATCH XXX" to find the next potential violation.
+
+code_audit.sh contains the list of known problematic APIs. New usage of these
+functions are documented and analyzed in this audit.
+
+============ Firefox General Portion =============
+
+(Note: While we later on use FIREFOX_XXX_BUILDN targets we use the _BASE ones
+ here as we do the audit retrospectively, long after those releases went out.)
+
+Start: 2742c5c7b6a244c28f81391c9e1641cc79281ef6 # FIREFOX_RELEASE_79_BASE
+End: 84cb11f03ecea33982cb53086c25d6b6df8b28cf # FIREFOX_RELEASE_80_BASE
+
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1618271 got fixed, yay!
+
+# Nothing else of interest (using `code_audit.sh`)
+
+============ Application Services Portion =============
+
+Start: dd09c25f14dbf45f1637ed8dca2d1e5ff668479f # v61.0.10
+End: dd09c25f14dbf45f1637ed8dca2d1e5ff668479f # v61.0.10
+
+Nothing new, same commit.
+
+============ Android Components Portion =============
+
+Start: 8755ac0cdd88f2d549f65039413c41b6ccc02c5f # v48.0.15
+End: cfc360e0587ccb7eb49689d08212f05ff0966fbb # v54.0.6
+
+# Issue #4772 Improve our download manger to be able to forward downloads to
+ external download manager
+# - should be okay
+#
+# Issue #7366 Provide request interceptor to automatically navigate into PWAs
+# - should be covered by android-components#34333
+
+============ Fenix Portion =============
+
+Start: 6cb548575ff3af5c122c6a80d68a3dd483c596e7 # v79.0.5
+End: bad13cc48c526fcc8ed2de5c58da1ae4a3b392dd # v80.1.3
+
+Nothing new.
+
+============ Regression/Prior Vuln Review =========
+
+Review proxy bypass bugs; check for new vectors to look for:
+ - https://gitlab.torproject.org/groups/tpo/applications/-/issues?scope=all&ut…
+ - Look for new features like these. Especially external app launch vectors
+
1
0
commit 10a554de09ed718fd04f45026307dc815037dd97
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 27 09:26:42 2022 +0000
Bug 40015: Add FF79 Audit
---
audits/FF79_NETWORK_AUDIT | 60 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)
diff --git a/audits/FF79_NETWORK_AUDIT b/audits/FF79_NETWORK_AUDIT
new file mode 100644
index 0000000..eedde34
--- /dev/null
+++ b/audits/FF79_NETWORK_AUDIT
@@ -0,0 +1,60 @@
+============ General =============
+
+The audit begins at the commit hash where the previous audit ended. Use
+code_audit.sh for creating the diff and highlighting potentially problematic
+code. The audit is scoped to a specific language (currently C/C++, Rust,
+Java/Kotlin, and Javascript).
+
+The output includes the entire patch where the new problematic code was
+introduced. Search for "XXX MATCH XXX" to find the next potential violation.
+
+code_audit.sh contains the list of known problematic APIs. New usage of these
+functions are documented and analyzed in this audit.
+
+============ Firefox General Portion =============
+
+(Note: While we later on use FIREFOX_XXX_BUILDN targets we use the _BASE ones
+ here as we do the audit retrospectively, long after those releases went out.)
+
+Start: 53e19ba9c60bf6beb91d1968641e6e56c5fe702b # FIREFOX_RELEASE_78_BASE
+End: 2742c5c7b6a244c28f81391c9e1641cc79281ef6 # FIREFOX_RELEASE_79_BASE
+
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1628792 updated the exoplayer
+# library. Our proxy safeguard
+# (https://bugzilla.mozilla.org/show_bug.cgi?id=1459420) is kept.
+
+# Nothing else of interest (using `code_audit.sh`)
+
+============ Application Services Portion =============
+
+Start: 762791bd1ae8a7bf750208b6aab6ddb1cc4ea04c # v61.0.2
+End: dd09c25f14dbf45f1637ed8dca2d1e5ff668479f # v61.0.10
+
+Nothing of interest.
+
+============ Android Components Portion =============
+
+Start: 88694edfb7f97e2d5db9c22db5edd5a4eb621621 # (48.0.20200626213814 is the
+ version that gets used by
+ Fenix v78.0.1-beta.1 but it's
+ not exactly clear which
+ commit that corresponds to.
+ Thus, we play safe and use
+ v47.0.0)
+End: 8755ac0cdd88f2d549f65039413c41b6ccc02c5f # v48.0.15
+
+Nothing of interest.
+
+============ Fenix Portion =============
+
+Start: e0fa1c0db4ff806c991b13906ef6a30ba4d6054d # v78.0.1-beta.1
+End: 6cb548575ff3af5c122c6a80d68a3dd483c596e7 # v79.0.5
+
+Nothing new.
+
+============ Regression/Prior Vuln Review =========
+
+Review proxy bypass bugs; check for new vectors to look for:
+ - https://gitlab.torproject.org/groups/tpo/applications/-/issues?scope=all&ut…
+ - Look for new features like these. Especially external app launch vectors
+
1
0
commit 144aff729eeb102d4741f44263f314b593777e30
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 26 10:48:46 2022 +0000
Fix typos
---
audits/FF91_NETWORK_AUDIT | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/audits/FF91_NETWORK_AUDIT b/audits/FF91_NETWORK_AUDIT
index 21d9b62..99de476 100644
--- a/audits/FF91_NETWORK_AUDIT
+++ b/audits/FF91_NETWORK_AUDIT
@@ -18,13 +18,12 @@ End: e0fdc6e4749b33693b75b92309ba2a982a9bdfa9 # FIREFOX_91_0_BUILD2
# Nothing of interest (using `code_audit.sh`)
-
============ Application Services Portion =============
Start: dd09c25f14dbf45f1637ed8dca2d1e5ff668479f # v77.0.2
End: 89ea9cfa6eaa0763d17ec9aa04098839d028004c # v79.0.0
-Nothin new.
+Nothing new.
============ Android Components Portion =============
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-1] fixup! Add TorStrings module for localization
by richard@torproject.org 27 Jan '22
by richard@torproject.org 27 Jan '22
27 Jan '22
commit 8ef60e4178db89eaa8c70fb5da0f4b0d682097c0
Author: Pier Angelo Vendrame <pierov(a)torproject.org>
Date: Fri Jan 14 09:35:36 2022 +0100
fixup! Add TorStrings module for localization
Fixes #40777.
---
browser/modules/TorStrings.jsm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/modules/TorStrings.jsm b/browser/modules/TorStrings.jsm
index 73671c08693d..0ccbbb41a782 100644
--- a/browser/modules/TorStrings.jsm
+++ b/browser/modules/TorStrings.jsm
@@ -443,7 +443,7 @@ var TorStrings = {
offline: getStringNet("torConnect.offline", "Offline"),
// tor connect strings for message box in about:preferences#tor
- connectMessage: getStringNet("torConnect.connectMessage", "Changes to Tor Settings will not take effect until you connect to the Tor Network"),
+ connectMessage: getStringNet("torConnect.connectMessage", "Changes to Tor Settings will not take effect until you connect"),
tryAgainMessage: getStringNet("torConnect.tryAgainMessage", "Tor Browser has failed to establish a connection to the Tor Network"),
};
})(),
1
0

[Git][tpo/applications/fenix] Pushed new branch tor-browser-96.2.0-11.5-1
by boklm (@boklm) 25 Jan '22
by boklm (@boklm) 25 Jan '22
25 Jan '22
boklm pushed new branch tor-browser-96.2.0-11.5-1 at The Tor Project / Applications / fenix
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/fenix/-/tree/tor-browser-96.…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/android-components] Pushed new branch android-components-96.0.13-11.5-1
by boklm (@boklm) 25 Jan '22
by boklm (@boklm) 25 Jan '22
25 Jan '22
boklm pushed new branch android-components-96.0.13-11.5-1 at The Tor Project / Applications / android-components
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/android-components/-/tree/an…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[tor-browser-bundle-testsuite/master] Fixed tests for Tor Browser 11/Firefox 91.
by richard@torproject.org 19 Jan '22
by richard@torproject.org 19 Jan '22
19 Jan '22
commit b7bf572b77a1c355473204a79da912d2333e392f
Author: Piero V <vogliadifarniente(a)gmail.com>
Date: Fri Jan 7 12:49:02 2022 +0100
Fixed tests for Tor Browser 11/Firefox 91.
Canged fp_navigator and fp_useragent to test with the correct version.
The screen dimensions test was failing because letterboxing is disabled
on about:pages (I checked with Richard, and this is the indended
behavior).
Therefore, the test is now run on a TPO page, and it passes.
Updated the settings test, to check for new settings (see
tor-browser!215), and not to check anymore for deprecated and removed
settings (see tor-browser#40177).
As a result of these settings changes, some DOM objects are now
exposed:
* pointer events
* gamepads
* applicationCache
* visualViewport
However, Tor Browser already contains mitigatins against their use for
fingerprinting (e.g., gamepads do not work, Mozilla added some
protections to pointer events for Bugzilla#1363508, letterboxing should
prevent fingerprinting on visualViewport, cache storage is 0 bytes,
etc...).
Some other DOM objects are just new (e.g., clientInformation).
Finally, HTTPS everywhere test failed because now Firefox redirects to
HTTPS if available, even when HTTPS-Only Mode is not enabled.
To detect if HTTPS everywhere is actually the responsible of the
redirect, we need to run it with dom.security.https_first_pbm set to
false.
---
.../test_dom-objects-enumeration.py | 21 ++++++++--
marionette/tor_browser_tests/test_fp_navigator.py | 3 +-
.../tor_browser_tests/test_fp_screen_dimensions.py | 2 +
marionette/tor_browser_tests/test_fp_useragent.py | 3 +-
.../tor_browser_tests/test_https-everywhere.py | 7 +++-
marionette/tor_browser_tests/test_settings.py | 48 +++++++++++++++-------
6 files changed, 62 insertions(+), 22 deletions(-)
diff --git a/marionette/tor_browser_tests/test_dom-objects-enumeration.py b/marionette/tor_browser_tests/test_dom-objects-enumeration.py
index 26ff945..666e9b0 100644
--- a/marionette/tor_browser_tests/test_dom-objects-enumeration.py
+++ b/marionette/tor_browser_tests/test_dom-objects-enumeration.py
@@ -17,6 +17,7 @@ class Test(testsuite.TorBrowserTest):
"AbortSignal",
"AbstractRange",
"addEventListener",
+ "applicationCache",
"alert",
"Animation",
"AnimationEffect",
@@ -61,6 +62,7 @@ class Test(testsuite.TorBrowserTest):
"CharacterData",
"clearInterval",
"clearTimeout",
+ "clientInformation",
"Clipboard",
"ClipboardEvent",
"close",
@@ -368,6 +370,7 @@ class Test(testsuite.TorBrowserTest):
"NotifyPaintEvent",
"Number",
"Object",
+ "OfflineResourceList",
"onabort",
"onabsolutedeviceorientation",
"onafterprint",
@@ -376,6 +379,7 @@ class Test(testsuite.TorBrowserTest):
"onanimationiteration",
"onanimationstart",
"onauxclick",
+ "onbeforeinput",
"onbeforeprint",
"onbeforeunload",
"onblur",
@@ -387,10 +391,8 @@ class Test(testsuite.TorBrowserTest):
"oncontextmenu",
"oncuechange",
"ondblclick",
- "ondevicelight",
"ondevicemotion",
"ondeviceorientation",
- "ondeviceproximity",
"ondrag",
"ondragend",
"ondragenter",
@@ -405,6 +407,9 @@ class Test(testsuite.TorBrowserTest):
"onerror",
"onfocus",
"onformdata",
+ "ongamepadconnected",
+ "ongamepaddisconnected",
+ "ongotpointercapture",
"onhashchange",
"oninput",
"oninvalid",
@@ -417,6 +422,7 @@ class Test(testsuite.TorBrowserTest):
"onloadedmetadata",
"onloadend",
"onloadstart",
+ "onlostpointercapture",
"onmessage",
"onmessageerror",
"onmousedown",
@@ -435,6 +441,14 @@ class Test(testsuite.TorBrowserTest):
"onpause",
"onplay",
"onplaying",
+ "onpointercancel",
+ "onpointerdown",
+ "onpointerenter",
+ "onpointerleave",
+ "onpointermove",
+ "onpointerout",
+ "onpointerover",
+ "onpointerup",
"onpopstate",
"onprogress",
"onratechange",
@@ -459,7 +473,6 @@ class Test(testsuite.TorBrowserTest):
"ontransitionstart",
"onunhandledrejection",
"onunload",
- "onuserproximity",
"onvolumechange",
"onwaiting",
"onwebkitanimationend",
@@ -498,6 +511,7 @@ class Test(testsuite.TorBrowserTest):
"personalbar",
"Plugin",
"PluginArray",
+ "PointerEvent",
"PopStateEvent",
"PopupBlockedEvent",
"postMessage",
@@ -713,6 +727,7 @@ class Test(testsuite.TorBrowserTest):
"ValidityState",
"valueOf",
"VideoPlaybackQuality",
+ "visualViewport",
"VisualViewport",
"VTTCue",
"VTTRegion",
diff --git a/marionette/tor_browser_tests/test_fp_navigator.py b/marionette/tor_browser_tests/test_fp_navigator.py
index 91dc951..e976d85 100644
--- a/marionette/tor_browser_tests/test_fp_navigator.py
+++ b/marionette/tor_browser_tests/test_fp_navigator.py
@@ -56,7 +56,8 @@ class Test(MarionetteTestCase):
app_version = "5.0 (Macintosh)"
platform = "MacIntel"
oscpu = "Intel Mac OS X 10.13"
- nav_props["userAgent"] = "Mozilla/5.0 (" + ua_os + "; rv:78.0) Gecko/20100101 Firefox/78.0"
+ ua_ver = '91.0'
+ nav_props["userAgent"] = "Mozilla/5.0 (" + ua_os + "; rv:" + ua_ver + ") Gecko/20100101 Firefox/" + ua_ver
nav_props["appVersion"] = app_version
nav_props["platform"] = platform
nav_props["oscpu"] = oscpu
diff --git a/marionette/tor_browser_tests/test_fp_screen_dimensions.py b/marionette/tor_browser_tests/test_fp_screen_dimensions.py
index 2e0af6d..48de4d6 100644
--- a/marionette/tor_browser_tests/test_fp_screen_dimensions.py
+++ b/marionette/tor_browser_tests/test_fp_screen_dimensions.py
@@ -3,6 +3,8 @@ from marionette_harness import MarionetteTestCase
class Test(MarionetteTestCase):
def test_screen_dims(self):
with self.marionette.using_context('content'):
+ self.marionette.navigate('https://check.torproject.org/')
+
# https://gitweb.torproject.org/torbrowser.git/blob/HEAD:/src/current-patches…
js = self.marionette.execute_script
# check that availWidth and availHeight are equal to window innerWidth and innerHeight
diff --git a/marionette/tor_browser_tests/test_fp_useragent.py b/marionette/tor_browser_tests/test_fp_useragent.py
index 5b32bb3..13da933 100644
--- a/marionette/tor_browser_tests/test_fp_useragent.py
+++ b/marionette/tor_browser_tests/test_fp_useragent.py
@@ -15,5 +15,6 @@ class Test(MarionetteTestCase):
ua_os = 'Windows NT 6.1; Win64; x64'
if osname == 'MacOSX':
ua_os = 'Macintosh; Intel Mac OS X 10.13'
- self.assertEqual("Mozilla/5.0 (" + ua_os + "; rv:78.0) Gecko/20100101 Firefox/78.0",
+ ua_ver = '91.0'
+ self.assertEqual("Mozilla/5.0 (" + ua_os + "; rv:" + ua_ver + ") Gecko/20100101 Firefox/" + ua_ver,
js("return navigator.userAgent"))
diff --git a/marionette/tor_browser_tests/test_https-everywhere.py b/marionette/tor_browser_tests/test_https-everywhere.py
index 7819771..443c9a6 100644
--- a/marionette/tor_browser_tests/test_https-everywhere.py
+++ b/marionette/tor_browser_tests/test_https-everywhere.py
@@ -10,8 +10,8 @@ class Test(MarionetteTestCase):
ts = testsuite.TestSuite()
self.ts = ts
- self.HTTP_URL = "http://httpbin.org/"
- self.HTTPS_URL = "https://httpbin.org/"
+ self.HTTP_URL = "http://https-everywhere.badssl.com/redirect-test/status.svg"
+ self.HTTPS_URL = "https://https-everywhere.badssl.com/redirect-test/status.svg"
self.is_disabled = self.ts.t['test']['name'] == 'https-everywhere-disabled'
@@ -51,6 +51,9 @@ class Test(MarionetteTestCase):
lambda _: m.execute_script("return OnionAliasStore._onionMap.size;") > 0)
with self.marionette.using_context('content'):
+ # Even without HTTPS Everywhere, Firefox checks if HTTPS is
+ # available, with this set to true
+ self.marionette.set_pref('dom.security.https_first_pbm', False)
self.marionette.navigate(self.HTTP_URL)
if not self.is_disabled:
diff --git a/marionette/tor_browser_tests/test_settings.py b/marionette/tor_browser_tests/test_settings.py
index f24cdd0..86dfe77 100644
--- a/marionette/tor_browser_tests/test_settings.py
+++ b/marionette/tor_browser_tests/test_settings.py
@@ -32,11 +32,13 @@ class Test(MarionetteTestCase):
# Disk activity: Disable Browsing History Storage
"browser.privatebrowsing.autostart": True,
"browser.cache.disk.enable": False,
- "browser.cache.offline.enable": False,
"permissions.memory_only": True,
"network.cookie.lifetimePolicy": 2,
"security.nocertdb": True,
+ # Enabled LSNG
+ "dom.storage.next_gen": True,
+
# Disk activity: TBB Directory Isolation
"browser.download.useDownloadDir": False,
"browser.shell.checkDefaultBrowser": False,
@@ -60,6 +62,9 @@ class Test(MarionetteTestCase):
"datareporting.policy.dataSubmissionEnabled": False,
"security.mixed_content.block_active_content": True, # Activated with bug #21323
+ # Bug 40083: Make sure Region.jsm fetching is disabled
+ "browser.region.update.enabled": False,
+
# Make sure Unified Telemetry is really disabled, see: #18738.
"toolkit.telemetry.unified": False,
"toolkit.telemetry.enabled": True if ts.t["tbbinfos"]["version"].startswith("tbb-nightly") else False,
@@ -75,10 +80,8 @@ class Test(MarionetteTestCase):
"privacy.trackingprotection.pbmode.enabled": False,
# Disable the Pocket extension (Bug #18886 and #31602)
"extensions.pocket.enabled": False,
- "network.http.referer.hideOnionSource": True,
# Fingerprinting
- "webgl.disable-extensions": True,
"webgl.disable-fail-if-major-performance-caveat": True,
"webgl.enable-webgl2": False,
"gfx.downloadable_fonts.fallback_delay": -1,
@@ -91,22 +94,38 @@ class Test(MarionetteTestCase):
"privacy.resistFingerprinting.block_mozAddonManager": True, # Bug 26114
"dom.webaudio.enabled": False, # Bug 13017: Disable Web Audio API
"dom.w3c_touch_events.enabled": 0, # Bug 10286: Always disable Touch API
- "dom.w3c_pointer_events.enabled": False,
"dom.vr.enabled": False, # Bug 21607: Disable WebVR for now
# Disable randomised Firefox HTTP cache decay user test groups (Bug: 13575)
"security.webauth.webauthn": False, # Bug 26614: Disable Web Authentication API for now
+ # Disable SAB, no matter if the sites are cross-origin isolated.
+ "dom.postMessage.sharedArrayBuffer.withCOOP_COEP": False,
+ "network.http.referer.hideOnionSource": True,
+ # Bug 40463: Disable Windows SSO
+ "network.http.windows-sso.enabled": False,
+ # Bug 40383: Disable new PerformanceEventTiming
+ "dom.enable_event_timing": False,
+ # Disable API for measuring text width and height.
+ "dom.textMetrics.actualBoundingBox.enabled": False,
+ "dom.textMetrics.baselines.enabled": False,
+ "dom.textMetrics.emHeight.enabled": False,
+ "dom.textMetrics.fontBoundingBox.enabled": False,
+ "pdfjs.enableScripting": False,
# Third party stuff
"network.cookie.cookieBehavior": 1,
"privacy.firstparty.isolate": True,
"network.http.spdy.allow-push": False, # Disabled for now. See https://bugs.torproject.org/27127
"network.predictor.enabled": False, # Temporarily disabled. See https://bugs.torproject.org/16633
+ # Bug 40177: Make sure tracker cookie purging is disabled
+ "privacy.purge_trackers.enabled": False,
# Proxy and proxy security
"network.proxy.socks": "127.0.0.1",
"network.proxy.socks_remote_dns": True,
"network.proxy.no_proxies_on": "", # For fingerprinting and local service vulns (#10419)
"network.proxy.type": 1,
+ # Bug 40548: Disable proxy-bypass
+ "network.proxy.failover_direct": False,
"network.security.ports.banned": "9050,9051,9150,9151",
"network.dns.disablePrefetch": True,
"network.protocol-handler.external-default": False,
@@ -118,7 +137,6 @@ class Test(MarionetteTestCase):
"network.protocol-handler.warn-external.news": True,
"network.protocol-handler.warn-external.nntp": True,
"network.protocol-handler.warn-external.snews": True,
- "plugin.state.flash": 0,
"media.peerconnection.enabled": False, # Disable WebRTC interfaces
# Disables media devices but only if `media.peerconnection.enabled` is set to
# `false` as well. (see bug 16328 for this defense-in-depth measure)
@@ -173,14 +191,14 @@ class Test(MarionetteTestCase):
# extensions.enabledScopes is set to 5 by marionette_driver
#"extensions.enabledScopes": 1,
"extensions.pendingOperations": False,
- "xpinstall.whitelist.add": "",
- "xpinstall.whitelist.add.36": "",
# We don't know what extensions Mozilla is advertising to our users and we
# don't want to have some random Google Analytics script running either on the
# about:addons page, see bug 22073 and 22900.
"extensions.getAddons.showPane": False,
# Bug 26114: Allow NoScript to access addons.mozilla.org etc.
"extensions.webextensions.restrictedDomains": "",
+ # Don't give Mozilla-recommended third-party extensions special privileges.
+ "extensions.postDownloadThirdPartyPrompt": False,
"dom.enable_resource_timing": False,
@@ -190,16 +208,12 @@ class Test(MarionetteTestCase):
# Enforce certificate pinning, see: https://bugs.torproject.org/16206
"security.cert_pinning.enforcement_level": 2,
+ # Don't load OS client certs.
+ "security.osclientcerts.autoload": False,
+
# Don't allow MitM via Microsoft Family Safety, see bug 21686
"security.family_safety.mode": 0,
- # Disable the language pack signing check for now, see: bug 26465
-
- # Avoid report TLS errors to Mozilla. We might want to repurpose this feature
- # one day to help detecting bad relays (which is bug 19119). For now we just
- # hide the checkbox, see bug 22072.
- "security.ssl.errorReporting.enabled": False,
-
# Workaround for https://bugs.torproject.org/13579. Progress on
# `about:downloads` is only shown if the following preference is set to `true`
# in case the download panel got removed from the toolbar.
@@ -211,7 +225,7 @@ class Test(MarionetteTestCase):
# checking torbrowser.version match the version from the filename
"torbrowser.version": ts.t["tbbinfos"]["version"],
- "startup.homepage_override_url": "https://blog.torproject.org/category/tags/tor-browser",
+ "startup.homepage_override_url": "https://blog.torproject.org/category/applications",
# Disable network information API everywhere
# but, alas, the behavior is inconsistent across platforms, see:
@@ -220,6 +234,10 @@ class Test(MarionetteTestCase):
"dom.netinfo.enabled": False,
}
+ MOZ_BUNDLED_FONTS = True
+ if MOZ_BUNDLED_FONTS:
+ self.SETTINGS["gfx.bundled-fonts.activate"] = 1
+
# Settings for the Tor Browser 8.0
self.SETTINGS_80 = {
}
1
0

[tor-browser-bundle-testsuite/master] Changed the IP address for the bridge test
by richard@torproject.org 19 Jan '22
by richard@torproject.org 19 Jan '22
19 Jan '22
commit 0167631fd8a5737d9d6c21e1f5fa02e6c71bcff6
Author: Pier Angelo Vendrame <pierov(a)torproject.org>
Date: Mon Jan 10 17:31:51 2022 +0100
Changed the IP address for the bridge test
The bridge test was not ending, because the bridge specified in the
configuration was down. With this new bridge, the test passed as
expected.
---
tor-config/tor_bridge.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tor-config/tor_bridge.conf b/tor-config/tor_bridge.conf
index 5d82115..23eb9eb 100644
--- a/tor-config/tor_bridge.conf
+++ b/tor-config/tor_bridge.conf
@@ -1,4 +1,4 @@
[% INCLUDE main_config %]
UseBridges 1
-Bridge 35.170.192.213:12358
+Bridge 185.100.87.30:80 5B403DFE34F4872EB027059CECAE30B0C864B3A2
1
0

[tor-browser-bundle-testsuite/master] Bug 40033: Use Python 2 for the test virtual environment
by richard@torproject.org 19 Jan '22
by richard@torproject.org 19 Jan '22
19 Jan '22
commit 1e53c8a9667e3d3f429b4473ce5af1794ab0a8f1
Author: Pier Angelo Vendrame <pierov(a)torproject.org>
Date: Mon Jan 17 09:32:31 2022 +0100
Bug 40033: Use Python 2 for the test virtual environment
---
setup-virtualenv | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup-virtualenv b/setup-virtualenv
index f0c6288..9641ee1 100755
--- a/setup-virtualenv
+++ b/setup-virtualenv
@@ -42,7 +42,7 @@ if ($OSNAME eq 'cygwin') {
}
unless (-d $virtenv_marionette_dir) {
- run($virtualenv_cmd, $virtenv_marionette_dir);
+ run($virtualenv_cmd, $virtenv_marionette_dir, '-p', 'python2');
# upgrade pip and setuptools
run("$virtenv_marionette_dir/$bin/pip", 'install', '--upgrade', 'pip');
run("$virtenv_marionette_dir/$bin/pip", 'install', '--upgrade', 'setuptools');
1
0

[tor-browser-build/master] Bug 40419: Update namecoin-torbutton.patch
by gk@torproject.org 19 Jan '22
by gk@torproject.org 19 Jan '22
19 Jan '22
commit 003cff75564f89d6764666198a92dc8d574745fa
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Jan 19 12:59:02 2022 +0100
Bug 40419: Update namecoin-torbutton.patch
- Rebased patch to apply to torbutton after the tor-browser#40679 fix
---
projects/firefox/namecoin-torbutton.patch | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/projects/firefox/namecoin-torbutton.patch b/projects/firefox/namecoin-torbutton.patch
index 5649ee6..4e92628 100644
--- a/projects/firefox/namecoin-torbutton.patch
+++ b/projects/firefox/namecoin-torbutton.patch
@@ -1,5 +1,5 @@
diff --git a/chrome/content/tor-circuit-display.js b/chrome/content/tor-circuit-display.js
-index 119f6fca..477b0302 100644
+index d6034384..120d32a0 100644
--- a/chrome/content/tor-circuit-display.js
+++ b/chrome/content/tor-circuit-display.js
@@ -48,7 +48,11 @@ let credentialsToNodeDataMap = new Map(),
@@ -118,7 +118,7 @@ index 119f6fca..477b0302 100644
// Hide the note about guards if we are using a bridge.
document.getElementById("circuit-guard-note-container").style.display =
-@@ -450,6 +491,7 @@ let setupDisplay = function (enablePrefName) {
+@@ -454,6 +495,7 @@ let setupDisplay = function (enablePrefName) {
stopCollectingIsolationData = null,
stopCollectingBrowserCredentials = null,
stopEnsuringCorrectPopupDimensions = null,
@@ -126,7 +126,7 @@ index 119f6fca..477b0302 100644
stop = function() {
syncDisplayWithSelectedTab(false);
if (myController) {
-@@ -462,6 +504,9 @@ let setupDisplay = function (enablePrefName) {
+@@ -466,6 +508,9 @@ let setupDisplay = function (enablePrefName) {
if (stopEnsuringCorrectPopupDimensions) {
stopEnsuringCorrectPopupDimensions();
}
@@ -136,11 +136,11 @@ index 119f6fca..477b0302 100644
myController = null;
}
},
-@@ -475,6 +520,7 @@ let setupDisplay = function (enablePrefName) {
- stop();
- });
- syncDisplayWithSelectedTab(true);
-+ stopCollectingBitTargets = collectBitTargets(myController);
- stopCollectingIsolationData = collectIsolationData(myController, updateCircuitDisplay);
- stopCollectingBrowserCredentials = collectBrowserCredentials();
- stopEnsuringCorrectPopupDimensions = ensureCorrectPopupDimensions();
+@@ -474,6 +519,7 @@ let setupDisplay = function (enablePrefName) {
+ try {
+ myController = await wait_for_controller();
+ syncDisplayWithSelectedTab(true);
++ stopCollectingBitTargets = collectBitTargets(myController);
+ stopCollectingIsolationData = collectIsolationData(myController, updateCircuitDisplay);
+ stopCollectingBrowserCredentials = collectBrowserCredentials();
+ stopEnsuringCorrectPopupDimensions = ensureCorrectPopupDimensions();
1
0

[tor-launcher/master] Added extensions.torlauncher.launch_delay debug pref handling to simulate slow tor launch
by gk@torproject.org 19 Jan '22
by gk@torproject.org 19 Jan '22
19 Jan '22
commit db7845b74fd1778acd1d2c4c68f724a27ca8ca69
Author: Richard Pospesel <richard(a)torproject.org>
Date: Fri Dec 17 16:58:28 2021 +0100
Added extensions.torlauncher.launch_delay debug pref handling to simulate slow tor launch
---
src/components/tl-process.js | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/components/tl-process.js b/src/components/tl-process.js
index d52dcda..51369a6 100644
--- a/src/components/tl-process.js
+++ b/src/components/tl-process.js
@@ -3,6 +3,8 @@
//
// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
+const { setTimeout } = ChromeUtils.import("resource://gre/modules/Timer.jsm")
+
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cr = Components.results;
@@ -41,6 +43,8 @@ TorProcessService.prototype =
kPrefPromptAtStartup: "extensions.torlauncher.prompt_at_startup",
kPrefDefaultBridgeType: "extensions.torlauncher.default_bridge_type",
+ // useful for simulating slow tor daemon launch
+ kPrefTorDaemonLaunchDelay: "extensions.torlauncher.launch_delay",
kWizardProgressPageID: "progress",
@@ -528,7 +532,17 @@ TorProcessService.prototype =
for (var i = 0; i < args.length; ++i)
TorLauncherLogger.log(2, " " + args[i]);
- p.runwAsync(args, args.length, this, false);
+ const launchDelay = TorLauncherUtil.getIntPref(this.kPrefTorDaemonLaunchDelay, 0);
+ let runwAsync = () => p.runwAsync(args, args.length, this, false);
+
+ if (launchDelay > 0) {
+ setTimeout(() => {
+ runwAsync();
+ }, launchDelay);
+ } else {
+ runwAsync();
+ }
+
this.mTorProcess = p;
this.mTorProcessStartTime = Date.now();
}
1
0

[tor-launcher/master] Bug 40679: Missing features on first-time launch in esr91
by gk@torproject.org 19 Jan '22
by gk@torproject.org 19 Jan '22
19 Jan '22
commit d09cfa334a731e705568baf1cd75411b42db04fa
Author: Richard Pospesel <richard(a)torproject.org>
Date: Fri Dec 17 16:59:48 2021 +0100
Bug 40679: Missing features on first-time launch in esr91
- updated tor controller connect calls to use torbutton's new
async api
- fixes tor-browser#40679
---
src/components/tl-protocol.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/tl-protocol.js b/src/components/tl-protocol.js
index cdf5894..f5dddeb 100644
--- a/src/components/tl-protocol.js
+++ b/src/components/tl-protocol.js
@@ -775,7 +775,7 @@ TorProtocolService.prototype =
var conn;
try {
const avoidCache = true;
- conn = controller(e => { throw e; }, avoidCache);
+ conn = await controller(avoidCache);
if (!aIsEventConnection && TorLauncherUtil.shouldStartAndOwnTor &&
!TorLauncherUtil.shouldOnlyConfigureTor)
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-1] fixup! Bug 10760: Integrate TorButton to TorBrowser core
by gk@torproject.org 19 Jan '22
by gk@torproject.org 19 Jan '22
19 Jan '22
commit 2a8908bbdcbeb9aeec735e8a833a5650589653b9
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 19 13:37:52 2022 +0000
fixup! Bug 10760: Integrate TorButton to TorBrowser core
---
toolkit/torproject/torbutton | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/torproject/torbutton b/toolkit/torproject/torbutton
index 29445428ee7c..a7f607351517 160000
--- a/toolkit/torproject/torbutton
+++ b/toolkit/torproject/torbutton
@@ -1 +1 @@
-Subproject commit 29445428ee7c1e033d00d9332983b895dccc052d
+Subproject commit a7f6073515175a1f2d7a2bca1eaec2bfaff03c0c
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-1] fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
by gk@torproject.org 19 Jan '22
by gk@torproject.org 19 Jan '22
19 Jan '22
commit eefa8951d7eabcb2b079cb0719bbfc8daff2fc24
Author: Richard Pospesel <richard(a)torproject.org>
Date: Tue Dec 21 17:05:49 2021 +0100
fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
---
browser/base/content/utilityOverlay.js | 12 +++++++++---
browser/modules/TorConnect.jsm | 11 ++++++-----
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/browser/base/content/utilityOverlay.js b/browser/base/content/utilityOverlay.js
index 3d22093119ca..5f629dece94e 100644
--- a/browser/base/content/utilityOverlay.js
+++ b/browser/base/content/utilityOverlay.js
@@ -337,11 +337,17 @@ function openUILinkIn(
aPostData,
aReferrerInfo
) {
-
// make sure users are not faced with the scary red 'tor isn't working' screen
// if they navigate to about:tor before bootstrapped
- if (url === "about:tor" && TorConnect.shouldShowTorConnect) {
- url = `about:torconnect?redirect=${encodeURIComponent("about:tor")}`;
+ //
+ // fixes tor-browser#40752
+ // new tabs also redirect to about:tor if browser.newtabpage.enabled is true
+ // otherwise they go to about:blank
+ if (TorConnect.shouldShowTorConnect) {
+ if (url === "about:tor" ||
+ (url === "about:newtab" && Services.prefs.getBoolPref("browser.newtabpage.enabled", false))) {
+ url = TorConnect.getRedirectURL(url);
+ }
}
var params;
diff --git a/browser/modules/TorConnect.jsm b/browser/modules/TorConnect.jsm
index 7c8580b5d8a9..c7ab480e2be0 100644
--- a/browser/modules/TorConnect.jsm
+++ b/browser/modules/TorConnect.jsm
@@ -587,6 +587,10 @@ const TorConnect = (() => {
);
},
+ getRedirectURL: function(url) {
+ return `about:torconnect?redirect=${encodeURIComponent(url)}`;
+ },
+
// called from browser.js on browser startup, passed in either the user's homepage(s)
// or uris passed via command-line; we want to replace them with about:torconnect uris
// which redirect after bootstrapping
@@ -628,13 +632,10 @@ const TorConnect = (() => {
let uris = uriStrings.map(uriStringToUri);
// assume we have a valid uri and generate an about:torconnect redirect uri
- let uriToRedirectUri = (uri) => {
- return`about:torconnect?redirect=${encodeURIComponent(uri.spec)}`;
- };
- let redirectUris = uris.map(uriToRedirectUri);
+ let redirectUrls = uris.map((uri) => this.getRedirectURL(uri.spec));
console.log(`TorConnect: Will load after bootstrap => [${uris.map((uri) => {return uri.spec;}).join(", ")}]`);
- return redirectUris;
+ return redirectUrls;
},
};
retval.init();
1
0
commit a7f6073515175a1f2d7a2bca1eaec2bfaff03c0c
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 19 13:35:53 2022 +0000
Translations update
---
chrome/locale/ar/aboutTor.dtd | 28 ----------------------------
chrome/locale/bn-BD/aboutTor.dtd | 28 ----------------------------
chrome/locale/ca/aboutTor.dtd | 28 ----------------------------
chrome/locale/cs/aboutTor.dtd | 28 ----------------------------
chrome/locale/da/aboutTor.dtd | 28 ----------------------------
chrome/locale/de/aboutTor.dtd | 28 ----------------------------
chrome/locale/el/aboutTor.dtd | 28 ----------------------------
chrome/locale/el/torbutton.dtd | 6 +++---
chrome/locale/es-AR/aboutTor.dtd | 28 ----------------------------
chrome/locale/es-ES/aboutTor.dtd | 28 ----------------------------
chrome/locale/eu/aboutTor.dtd | 28 ----------------------------
chrome/locale/fa/aboutTor.dtd | 28 ----------------------------
chrome/locale/fr/aboutTor.dtd | 28 ----------------------------
chrome/locale/fr/torbutton.dtd | 2 +-
chrome/locale/ga-IE/aboutTor.dtd | 28 ----------------------------
chrome/locale/he/aboutTor.dtd | 28 ----------------------------
chrome/locale/hu/aboutTor.dtd | 28 ----------------------------
chrome/locale/id/aboutTor.dtd | 28 ----------------------------
chrome/locale/id/torbutton.dtd | 2 +-
chrome/locale/is/aboutTor.dtd | 28 ----------------------------
chrome/locale/it/aboutTor.dtd | 28 ----------------------------
chrome/locale/ja/aboutTor.dtd | 28 ----------------------------
chrome/locale/ja/torbutton.dtd | 4 ++--
chrome/locale/ka/aboutTor.dtd | 28 ----------------------------
chrome/locale/ko/aboutTor.dtd | 28 ----------------------------
chrome/locale/lt/aboutTor.dtd | 28 ----------------------------
chrome/locale/lt/torbutton.dtd | 4 ++--
chrome/locale/mk/aboutTor.dtd | 28 ----------------------------
chrome/locale/mk/torbutton.dtd | 4 ++--
chrome/locale/ms/aboutTor.dtd | 28 ----------------------------
chrome/locale/my/aboutTor.dtd | 28 ----------------------------
chrome/locale/nb-NO/aboutTor.dtd | 28 ----------------------------
chrome/locale/nl/aboutTor.dtd | 28 ----------------------------
chrome/locale/nl/torbutton.dtd | 4 ++--
chrome/locale/pl/aboutTor.dtd | 28 ----------------------------
chrome/locale/pt-BR/aboutTor.dtd | 28 ----------------------------
chrome/locale/ro/aboutTor.dtd | 28 ----------------------------
chrome/locale/ru/aboutTor.dtd | 28 ----------------------------
chrome/locale/sv-SE/aboutTor.dtd | 28 ----------------------------
chrome/locale/th/aboutTor.dtd | 28 ----------------------------
chrome/locale/tr/aboutTor.dtd | 28 ----------------------------
chrome/locale/vi/aboutTor.dtd | 28 ----------------------------
chrome/locale/zh-CN/aboutTor.dtd | 28 ----------------------------
chrome/locale/zh-CN/torbutton.dtd | 4 ++--
chrome/locale/zh-TW/aboutTor.dtd | 30 +-----------------------------
chrome/locale/zh-TW/torbutton.properties | 2 +-
46 files changed, 17 insertions(+), 1053 deletions(-)
diff --git a/chrome/locale/ar/aboutTor.dtd b/chrome/locale/ar/aboutTor.dtd
index 60f87894..00f2f913 100644
--- a/chrome/locale/ar/aboutTor.dtd
+++ b/chrome/locale/ar/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "اشترك للحصول على أخبار تور.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor متاح مجاناً بفضل تبرعات من أشخاص مثلك">
<!ENTITY aboutTor.donationBanner.buttonA "تبرع الآن">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "الخصوصية هي حق من حقوق الإنسان">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "سيتم مطابقة تبرعك بواسطة Friends of Tor ، حتى 150000 دولار.">
diff --git a/chrome/locale/bn-BD/aboutTor.dtd b/chrome/locale/bn-BD/aboutTor.dtd
index 0808560c..e52c4b7a 100644
--- a/chrome/locale/bn-BD/aboutTor.dtd
+++ b/chrome/locale/bn-BD/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "টর নিউজ-এর জন্য সাইন আপ করুন ।">
<!ENTITY aboutTor.donationBanner.freeToUse "আপনার মতো মানুষদের দানের জন্যই Tor বিনামূল্যে ব্যবহার করা যায়">
<!ENTITY aboutTor.donationBanner.buttonA "এখুনি দান করুন! ">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "গোপনীয়তা একটি মানুষের অধিকার">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "তোমার অনুদানের সমান পরিমাণ অনুদান $১,৫০,০০০ পর্যন্ত দিলে টরের বন্ধুরা তার সমান অনুদান টরকে দিবে।">
diff --git a/chrome/locale/ca/aboutTor.dtd b/chrome/locale/ca/aboutTor.dtd
index db8d2753..0741dd00 100644
--- a/chrome/locale/ca/aboutTor.dtd
+++ b/chrome/locale/ca/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Inscriviu-vos a les noticies de Tor.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor és d'ús gratuït gràcies als donatius de persones com vós.">
<!ENTITY aboutTor.donationBanner.buttonA "Feu una donació">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "La privadesa és un dret humà">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Amics del Tor igualarà la vostra donació fins a 150.000 dòlars.">
diff --git a/chrome/locale/cs/aboutTor.dtd b/chrome/locale/cs/aboutTor.dtd
index eaddc377..96eaad26 100644
--- a/chrome/locale/cs/aboutTor.dtd
+++ b/chrome/locale/cs/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Přihlaste se k odběru zpravodaje Toru.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor je zdarma k použití díky darům od lidí jako jste vy.">
<!ENTITY aboutTor.donationBanner.buttonA "Přispějte">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "RUCE\nPRYČ\nOD\nMÝCH\nDAT">
-<!ENTITY aboutTor.yec.motto "Soukromí je lidské právo">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Váš dar bude dorovnán společností Friends of Tor, a to až do výše 150 000 $.">
diff --git a/chrome/locale/da/aboutTor.dtd b/chrome/locale/da/aboutTor.dtd
index 62a0faa8..09c87f8c 100644
--- a/chrome/locale/da/aboutTor.dtd
+++ b/chrome/locale/da/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Tilmeld Tor-nyheder.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor er gratis at bruge takke være donationer fra personer som dig.">
<!ENTITY aboutTor.donationBanner.buttonA "Donér nu">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "Privatliv er en menneskeret">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Din donation vil blive matchet af venner af Tor, op til $150.000.">
diff --git a/chrome/locale/de/aboutTor.dtd b/chrome/locale/de/aboutTor.dtd
index b602df14..65f3834a 100644
--- a/chrome/locale/de/aboutTor.dtd
+++ b/chrome/locale/de/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Tor-Nachrichten abonnieren.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor ist aufgrund von Spenden von Leuten wie dir frei nutzbar.">
<!ENTITY aboutTor.donationBanner.buttonA "Spende jetzt">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HÄNDE\nWEG\nVON MEINEN\nDATEN">
-<!ENTITY aboutTor.yec.motto "Datenschutz ist ein Menschenrecht">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Deine Spende wird von Friends of Tor verdoppelt, bis zu 150.000 $.">
diff --git a/chrome/locale/el/aboutTor.dtd b/chrome/locale/el/aboutTor.dtd
index 43179324..bc3f7546 100644
--- a/chrome/locale/el/aboutTor.dtd
+++ b/chrome/locale/el/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Εγγραφτείτε για τα νέα του Tor.">
<!ENTITY aboutTor.donationBanner.freeToUse "Το Tor είναι δωρεάν επειδή στηρίζεται σε δωρεές από άτομα σαν κι εσάς.">
<!ENTITY aboutTor.donationBanner.buttonA "Κάνε μια δωρεά τώρα">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "ΚΑΤΩ ΤΑ\nΧΕΡΙΑ\nΑΠΟ ΤΑ\nΔΕΔΟΜΕΝΑ ΜΟΥ">
-<!ENTITY aboutTor.yec.motto "Η ιδιωτικότητα είναι ανθρώπινο δικαίωμα ">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Η Friends of Tor θα δωρίσει το ίδιο ποσό με τη δωρεά σας, μέχρι $150.000.">
diff --git a/chrome/locale/el/torbutton.dtd b/chrome/locale/el/torbutton.dtd
index b39def2c..2b43207e 100644
--- a/chrome/locale/el/torbutton.dtd
+++ b/chrome/locale/el/torbutton.dtd
@@ -1,8 +1,8 @@
<!ENTITY torbutton.context_menu.new_identity "Νέα Ταυτότητα">
-<!ENTITY torbutton.context_menu.new_identity_sentence_case "New identity">
+<!ENTITY torbutton.context_menu.new_identity_sentence_case "Νέα ταυτότητα">
<!ENTITY torbutton.context_menu.new_identity_key "I">
<!ENTITY torbutton.context_menu.new_circuit "Νέο κύκλωμα Tor για αυτήν την ιστοσελίδα">
-<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New tor circuit for this site">
+<!ENTITY torbutton.context_menu.new_circuit_sentence_case "Νέο κύκλωμα Tor για αυτό τον ιστότοπο">
<!ENTITY torbutton.context_menu.new_circuit_key "C">
<!ENTITY torbutton.context_menu.networksettings "Ρυθμίσεις του Δικτύου Tor...">
<!ENTITY torbutton.context_menu.networksettings.key "N">
@@ -47,7 +47,7 @@
<!ENTITY torbutton.prefs.sec_custom_summary "Οι προσαρμοσμένες προτιμήσεις του browser σας έχουν οδηγήσει σε ασυνήθιστες ρυθμίσεις ασφάλειας. Για λόγους ασφαλείας και ιδιωτικότητας, προτείνουμε να επιλέξετε ένα από τα προεπιλεγμένα επίπεδα ασφάλειας.">
<!ENTITY torbutton.prefs.sec_restore_defaults "Επαναφορά προεπιλογών">
<!ENTITY torbutton.prefs.sec_advanced_security_settings "Ρυθμίσεις ασφαλείας για προχωρημένους...">
-<!ENTITY torbutton.prefs.sec_change "Change…">
+<!ENTITY torbutton.prefs.sec_change "Αλλαγή...">
<!ENTITY torbutton.circuit_display.title "Κύκλωμα Tor">
<!ENTITY torbutton.circuit_display.new_circuit "Νέο κύκλωμα για αυτή την ιστοσελίδα">
diff --git a/chrome/locale/es-AR/aboutTor.dtd b/chrome/locale/es-AR/aboutTor.dtd
index 70d667bd..0c4ebb64 100644
--- a/chrome/locale/es-AR/aboutTor.dtd
+++ b/chrome/locale/es-AR/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Registrate en Tor News.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor puede ser usado libremente gracias a las donaciones de personas como vos.">
<!ENTITY aboutTor.donationBanner.buttonA "Doná ahora">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "NO\nTOQUÉS\nMIS\nDATOS">
-<!ENTITY aboutTor.yec.motto "La privacidad es un derecho humano">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Tu donación va a ser igualada por Amigos de Tor hasta USD 150.000">
diff --git a/chrome/locale/es-ES/aboutTor.dtd b/chrome/locale/es-ES/aboutTor.dtd
index 491c547a..0671a826 100644
--- a/chrome/locale/es-ES/aboutTor.dtd
+++ b/chrome/locale/es-ES/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Inscríbete en Tor News.">
<!ENTITY aboutTor.donationBanner.freeToUse "Se puede usar Tor libremente por las donaciones de personas como tu.">
<!ENTITY aboutTor.donationBanner.buttonA "Dona ahora.">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "NO\nTOQUES\nMIS\nDATOS">
-<!ENTITY aboutTor.yec.motto "La privacidad es un derecho humano.">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Tu donación será igualada por Amigos de Tor hasta $150.000.">
diff --git a/chrome/locale/eu/aboutTor.dtd b/chrome/locale/eu/aboutTor.dtd
index 75ec4f0b..b115af74 100644
--- a/chrome/locale/eu/aboutTor.dtd
+++ b/chrome/locale/eu/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Harpidetu Tor berrietara">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor is free to use because of donations from people like you.">
<!ENTITY aboutTor.donationBanner.buttonA "Egin dohaintza orain">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "Privacy is a human right">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Your donation will be matched by Friends of Tor, up to $150,000.">
diff --git a/chrome/locale/fa/aboutTor.dtd b/chrome/locale/fa/aboutTor.dtd
index c2438d36..44e1efbc 100644
--- a/chrome/locale/fa/aboutTor.dtd
+++ b/chrome/locale/fa/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "ثبتنام برای اخبار Tor.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor برای استفاده رایگان است، این به خاطر حمایت افرادی مانند شماست.">
<!ENTITY aboutTor.donationBanner.buttonA "اکنون حمایت کنید">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "دست\nاز\nاطلاعات\nمن\nبردارید">
-<!ENTITY aboutTor.yec.motto "حریم خصوصی یک حق انسانی است">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "کمک مالی شما با دوستان تور تا سقف 150000 دلار مطابقت داده می شود.">
diff --git a/chrome/locale/fr/aboutTor.dtd b/chrome/locale/fr/aboutTor.dtd
index 4b0fbbd8..75b45004 100644
--- a/chrome/locale/fr/aboutTor.dtd
+++ b/chrome/locale/fr/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Inscrivez-vous aux nouvelles de Tor.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor peut être utilisé gratuitement grâce aux dons de personnes telles que vous.">
<!ENTITY aboutTor.donationBanner.buttonA "Faites un don maintenant">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "NE TOUCHEZ\nPAS\nÀ MES\nDONNÉES">
-<!ENTITY aboutTor.yec.motto "La vie privée est un droit de la personne">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Votre don sera égalé par les Amis de Tor à concurrence de 150 000 $.">
diff --git a/chrome/locale/fr/torbutton.dtd b/chrome/locale/fr/torbutton.dtd
index d740bc37..1ba569b7 100644
--- a/chrome/locale/fr/torbutton.dtd
+++ b/chrome/locale/fr/torbutton.dtd
@@ -52,5 +52,5 @@
<!ENTITY torbutton.circuit_display.new_circuit "Nouveau circuit pour ce site">
<!-- Onion services strings. Strings are kept here for ease of translation. -->
-<!ENTITY torbutton.onionServices.authPrompt.tooltip "Ouvrir l’invite d’authentification du client du service oignon">
+<!ENTITY torbutton.onionServices.authPrompt.tooltip "Ouvrir l’invite d’authentification client du service oignon">
<!ENTITY torbutton.onionServices.authPrompt.persistCheckboxLabel "Mémoriser cette clé">
diff --git a/chrome/locale/ga-IE/aboutTor.dtd b/chrome/locale/ga-IE/aboutTor.dtd
index 88365aed..8f03245a 100644
--- a/chrome/locale/ga-IE/aboutTor.dtd
+++ b/chrome/locale/ga-IE/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Cláraigh le Nuachtlitir Tor.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tá Tor saor in aisce a bhuí le bronntanais airgid ó dhaoine cosúil leatsa.">
<!ENTITY aboutTor.donationBanner.buttonA "Tabhair síntiús airgid anois">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "Is buncheart daonna é an príobháideachas">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Your donation will be matched by Friends of Tor, up to $150,000.">
diff --git a/chrome/locale/he/aboutTor.dtd b/chrome/locale/he/aboutTor.dtd
index c48ae2b7..520d773b 100644
--- a/chrome/locale/he/aboutTor.dtd
+++ b/chrome/locale/he/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "הירשם עבור חדשות Tor.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor חינמי לשימוש בגלל תרומות מאנשים כמוך.">
<!ENTITY aboutTor.donationBanner.buttonA "תרום עכשיו">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "פרטיות היא זכות אדם">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "תרומתך תוכפל על ידי החברים של Tor, עד סכום של $150,000">
diff --git a/chrome/locale/hu/aboutTor.dtd b/chrome/locale/hu/aboutTor.dtd
index bfd3e056..0ea02599 100644
--- a/chrome/locale/hu/aboutTor.dtd
+++ b/chrome/locale/hu/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Iratkozzon fel a Tor hírekhez.">
<!ENTITY aboutTor.donationBanner.freeToUse "A Tor ingyenes az Önhöz hasonló személyek támogatásai miatt.">
<!ENTITY aboutTor.donationBanner.buttonA "Támogasson most">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "A magánélet emberi jog">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "A támogatásoddal egyező összeget ad a Friends of Tor, 150 000 dollárig.">
diff --git a/chrome/locale/id/aboutTor.dtd b/chrome/locale/id/aboutTor.dtd
index a6663ba9..be1ecb07 100644
--- a/chrome/locale/id/aboutTor.dtd
+++ b/chrome/locale/id/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Daftar untuk mendapatkan Berita Tor.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor bebas digunakan karena donasi dari orang-orang seperti Anda.">
<!ENTITY aboutTor.donationBanner.buttonA "Donasi Sekarang">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "Jauhi\nData\nSaya">
-<!ENTITY aboutTor.yec.motto "Privasi adalah sebuah hak asasi manusia">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Donasi Anda akan disesuaikan oleh "Friends of Tor", hingga $150.000.">
diff --git a/chrome/locale/id/torbutton.dtd b/chrome/locale/id/torbutton.dtd
index dbc6b90f..399c1624 100644
--- a/chrome/locale/id/torbutton.dtd
+++ b/chrome/locale/id/torbutton.dtd
@@ -2,7 +2,7 @@
<!ENTITY torbutton.context_menu.new_identity_sentence_case "Identitas baru">
<!ENTITY torbutton.context_menu.new_identity_key "I">
<!ENTITY torbutton.context_menu.new_circuit "Sirkuit Tor Baru untuk Situs ini">
-<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New tor circuit for this site">
+<!ENTITY torbutton.context_menu.new_circuit_sentence_case "Sirkuit tor baru untuk situs ini">
<!ENTITY torbutton.context_menu.new_circuit_key "C">
<!ENTITY torbutton.context_menu.networksettings "Pengaturan Jaringan Tor…">
<!ENTITY torbutton.context_menu.networksettings.key "N">
diff --git a/chrome/locale/is/aboutTor.dtd b/chrome/locale/is/aboutTor.dtd
index 84f950bc..14bad9ac 100644
--- a/chrome/locale/is/aboutTor.dtd
+++ b/chrome/locale/is/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Skráðu þig til að fá Tor-fréttir.">
<!ENTITY aboutTor.donationBanner.freeToUse "Öllum er frjálst að nota Tor vegna styrkja frá fólki eins og þér.">
<!ENTITY aboutTor.donationBanner.buttonA "Styrkja núna">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "Friðhelgi persónuupplýsinga er mannréttindi">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Styrkur frá þér verður jafnaður upp af Friends of Tor, allt að $150,000.">
diff --git a/chrome/locale/it/aboutTor.dtd b/chrome/locale/it/aboutTor.dtd
index 29d6ae12..34fe8006 100644
--- a/chrome/locale/it/aboutTor.dtd
+++ b/chrome/locale/it/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Registrati alle Tor News.">
<!ENTITY aboutTor.donationBanner.freeToUse "L'utilizzo di Tor è gratuito grazie alle donazioni fatte da persone come te.">
<!ENTITY aboutTor.donationBanner.buttonA "Dona Adesso">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "VIA\nDAI\nMEI\nDATI">
-<!ENTITY aboutTor.yec.motto "La privacy è un diritto umano">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "La tua donazione sarà abbinata a "Amici di Tor", fino a $ 150.000.">
diff --git a/chrome/locale/ja/aboutTor.dtd b/chrome/locale/ja/aboutTor.dtd
index 7a7d2dc9..10eb73a1 100644
--- a/chrome/locale/ja/aboutTor.dtd
+++ b/chrome/locale/ja/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Tor ニュースに申し込む。">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor は皆さんからの寄付に支えられています。">
<!ENTITY aboutTor.donationBanner.buttonA "今すぐ寄付">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "データ\nに\n手を\n触れるな">
-<!ENTITY aboutTor.yec.motto "プライバシーは人権です">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "あなたが寄付した額と同額を、Torのパートナーも寄付します (最大150,000ドル)">
diff --git a/chrome/locale/ja/torbutton.dtd b/chrome/locale/ja/torbutton.dtd
index fcc97264..0c0f78c0 100644
--- a/chrome/locale/ja/torbutton.dtd
+++ b/chrome/locale/ja/torbutton.dtd
@@ -1,5 +1,5 @@
<!ENTITY torbutton.context_menu.new_identity "新しい識別子">
-<!ENTITY torbutton.context_menu.new_identity_sentence_case "New identity">
+<!ENTITY torbutton.context_menu.new_identity_sentence_case "新しい識別子">
<!ENTITY torbutton.context_menu.new_identity_key "I">
<!ENTITY torbutton.context_menu.new_circuit "このサイト用の Tor 回線を再構築">
<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New tor circuit for this site">
@@ -47,7 +47,7 @@
<!ENTITY torbutton.prefs.sec_custom_summary "あなたのブラウザーにおけるカスタム設定はセキュリティ結果に影響を及ぼしません。セキュリティとプライバシーに関してはデフォルトのセキュリティレベルのひとつを選択することをおすすめいたします。">
<!ENTITY torbutton.prefs.sec_restore_defaults "デフォルトにもどす">
<!ENTITY torbutton.prefs.sec_advanced_security_settings "詳細セキュリティ設定…">
-<!ENTITY torbutton.prefs.sec_change "Change…">
+<!ENTITY torbutton.prefs.sec_change "変更…">
<!ENTITY torbutton.circuit_display.title "Tor 回線">
<!ENTITY torbutton.circuit_display.new_circuit "このサイト用の回線を再構築">
diff --git a/chrome/locale/ka/aboutTor.dtd b/chrome/locale/ka/aboutTor.dtd
index 14c2db32..1f1b89bf 100644
--- a/chrome/locale/ka/aboutTor.dtd
+++ b/chrome/locale/ka/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "გამოიწერეთ Tor-ის სიახლეები.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor უფასოა, თქვენნაირი ადამიანების შემოწირულობების წყალობით.">
<!ENTITY aboutTor.donationBanner.buttonA "გაიღეთ თანხა">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "ᲮᲔᲚᲔᲑᲘ\nᲨᲝᲠᲡ ᲩᲔᲛᲘ\nᲞᲘᲠᲐᲓᲘ\nᲡᲘᲕᲠᲪᲘᲓᲐᲜ">
-<!ENTITY aboutTor.yec.motto "პირადულობა ადამიანის ძირეული უფლებაა">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "თქვენი შემოწირულობა გაორმაგდება Tor-ის მეგობრების მიერ, $150,000-ამდე.">
diff --git a/chrome/locale/ko/aboutTor.dtd b/chrome/locale/ko/aboutTor.dtd
index 18bf3bfe..04e6de97 100644
--- a/chrome/locale/ko/aboutTor.dtd
+++ b/chrome/locale/ko/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Tor 뉴스를 구독.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor는 바로 당신과 같은 사람들의 기부 덕분에 자유롭게 사용할 수 있습니다.">
<!ENTITY aboutTor.donationBanner.buttonA "기부하기">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "프라이버시는 인권입니다">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Your donation will be matched by Friends of Tor, up to $150,000.">
diff --git a/chrome/locale/lt/aboutTor.dtd b/chrome/locale/lt/aboutTor.dtd
index 7885a6be..4b711723 100644
--- a/chrome/locale/lt/aboutTor.dtd
+++ b/chrome/locale/lt/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Užsisakykite Tor naujienas.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor yra nemokamas naudoti dėl paaukojimų iš tokių žmonių kaip jūs.">
<!ENTITY aboutTor.donationBanner.buttonA "Paaukokite dabar">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "PATRAUKITE\nRANKAS\nNUO\nMANO\nDUOMENŲ">
-<!ENTITY aboutTor.yec.motto "Privatumas yra žmogaus teisė">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "„Friends of Tor“ paaukos tiek pat, kiek ir jūs, iki $150000.">
diff --git a/chrome/locale/lt/torbutton.dtd b/chrome/locale/lt/torbutton.dtd
index 3e1e58e1..37326068 100644
--- a/chrome/locale/lt/torbutton.dtd
+++ b/chrome/locale/lt/torbutton.dtd
@@ -1,8 +1,8 @@
<!ENTITY torbutton.context_menu.new_identity "Nauja tapatybė">
-<!ENTITY torbutton.context_menu.new_identity_sentence_case "New identity">
+<!ENTITY torbutton.context_menu.new_identity_sentence_case "Nauja tapatybė">
<!ENTITY torbutton.context_menu.new_identity_key "T">
<!ENTITY torbutton.context_menu.new_circuit "Nauja Tor grandinė šiai svetainei">
-<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New tor circuit for this site">
+<!ENTITY torbutton.context_menu.new_circuit_sentence_case "Nauja Tor grandinė šiai svetainei">
<!ENTITY torbutton.context_menu.new_circuit_key "G">
<!ENTITY torbutton.context_menu.networksettings "Tor tinklo nustatymai…">
<!ENTITY torbutton.context_menu.networksettings.key "N">
diff --git a/chrome/locale/mk/aboutTor.dtd b/chrome/locale/mk/aboutTor.dtd
index 785c23f3..5853c075 100644
--- a/chrome/locale/mk/aboutTor.dtd
+++ b/chrome/locale/mk/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Пријавете се за Tor Вести.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor е бесплатен за користење благодарение на донациите од луѓе како вас.">
<!ENTITY aboutTor.donationBanner.buttonA "Донирај сега">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "РАЦЕТЕ\nПОНАСТРАНА\nОД\nМОИТЕ\nПОДАТОЦИ">
-<!ENTITY aboutTor.yec.motto "Приватноста е човеково право">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Вашата донација ќе биде дуплицирана од Пријателите на Tor, до $150,000.">
diff --git a/chrome/locale/mk/torbutton.dtd b/chrome/locale/mk/torbutton.dtd
index 35bc81b3..d8f0c6a8 100644
--- a/chrome/locale/mk/torbutton.dtd
+++ b/chrome/locale/mk/torbutton.dtd
@@ -1,8 +1,8 @@
<!ENTITY torbutton.context_menu.new_identity "Нов идентитет">
-<!ENTITY torbutton.context_menu.new_identity_sentence_case "New identity">
+<!ENTITY torbutton.context_menu.new_identity_sentence_case "Нов идентитет">
<!ENTITY torbutton.context_menu.new_identity_key "I">
<!ENTITY torbutton.context_menu.new_circuit "Нов Tor круг за оваа страна">
-<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New tor circuit for this site">
+<!ENTITY torbutton.context_menu.new_circuit_sentence_case "Нов Tor круг за оваа веб страна">
<!ENTITY torbutton.context_menu.new_circuit_key "C">
<!ENTITY torbutton.context_menu.networksettings "Тор мрежни поставки...">
<!ENTITY torbutton.context_menu.networksettings.key "N">
diff --git a/chrome/locale/ms/aboutTor.dtd b/chrome/locale/ms/aboutTor.dtd
index 231e59a1..b49406f7 100644
--- a/chrome/locale/ms/aboutTor.dtd
+++ b/chrome/locale/ms/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Daftar untuk dapatkan Berita Tor.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor sepenuhnya percuma digunakan kerana adanya derma oleh individu seperti anda.">
<!ENTITY aboutTor.donationBanner.buttonA "Dermalah Sekarang">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "Privasi atau kesendirian ialah hak asasi manusia">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Your donation will be matched by Friends of Tor, up to $150,000.">
diff --git a/chrome/locale/my/aboutTor.dtd b/chrome/locale/my/aboutTor.dtd
index d4be1cf6..06bc3410 100644
--- a/chrome/locale/my/aboutTor.dtd
+++ b/chrome/locale/my/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Tor News သတင်းများအတွက် အမည် စာရင်းသွင်းလိုက်ပါ။">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor သည် သင့်လို သုံးသူများမှ လှူဒါန်းငွေကြောင့် အခမဲ့သုံးနိုင်ပါသည်။">
<!ENTITY aboutTor.donationBanner.buttonA "အခုဘဲ လှူမယ်">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "Privacy is a human right">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Your donation will be matched by Friends of Tor, up to $150,000.">
diff --git a/chrome/locale/nb-NO/aboutTor.dtd b/chrome/locale/nb-NO/aboutTor.dtd
index fb6544bf..15c0c327 100644
--- a/chrome/locale/nb-NO/aboutTor.dtd
+++ b/chrome/locale/nb-NO/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Registrer deg for Tor-nyheter.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor er gratis å bruke, grunnet bidrag fra folk som deg.">
<!ENTITY aboutTor.donationBanner.buttonA "Donér nå">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "Personvern er en menneskerettighet">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Your donation will be matched by Friends of Tor, up to $150,000.">
diff --git a/chrome/locale/nl/aboutTor.dtd b/chrome/locale/nl/aboutTor.dtd
index 9af03022..ca46073b 100644
--- a/chrome/locale/nl/aboutTor.dtd
+++ b/chrome/locale/nl/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Meld u aan voor de Tor-nieuwsbrief.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor is gratis te gebruiken dankzij donaties van mensen zoals u.">
<!ENTITY aboutTor.donationBanner.buttonA "Doneer nu">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "Privacy is een mensenrecht">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Uw donatie wordt verdubbeld door Friends of Tor, tot een maximum van $150.000.">
diff --git a/chrome/locale/nl/torbutton.dtd b/chrome/locale/nl/torbutton.dtd
index 5efd0182..9d64c1d1 100644
--- a/chrome/locale/nl/torbutton.dtd
+++ b/chrome/locale/nl/torbutton.dtd
@@ -2,7 +2,7 @@
<!ENTITY torbutton.context_menu.new_identity_sentence_case "Nieuwe identiteit">
<!ENTITY torbutton.context_menu.new_identity_key "d">
<!ENTITY torbutton.context_menu.new_circuit "Nieuw Tor-circuit voor deze website">
-<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New tor circuit for this site">
+<!ENTITY torbutton.context_menu.new_circuit_sentence_case "Nieuw Torcircuit voor deze website">
<!ENTITY torbutton.context_menu.new_circuit_key "c">
<!ENTITY torbutton.context_menu.networksettings "Tor-netwerkinstellingen…">
<!ENTITY torbutton.context_menu.networksettings.key "n">
@@ -47,7 +47,7 @@
<!ENTITY torbutton.prefs.sec_custom_summary "Uw aangepaste browservoorkeuren hebben tot ongebruikelijke beveiligingsinstellingen geleid. Uit veiligheids- en privacyoverwegingen raden we aan een van de standaard beveiligingsniveaus te kiezen.">
<!ENTITY torbutton.prefs.sec_restore_defaults "Standaardwaarden herstellen">
<!ENTITY torbutton.prefs.sec_advanced_security_settings "Geavanceerde beveiligingsinstellingen…">
-<!ENTITY torbutton.prefs.sec_change "Change…">
+<!ENTITY torbutton.prefs.sec_change "Wijzigen …">
<!ENTITY torbutton.circuit_display.title "Tor-circuit">
<!ENTITY torbutton.circuit_display.new_circuit "Nieuw circuit voor deze website">
diff --git a/chrome/locale/pl/aboutTor.dtd b/chrome/locale/pl/aboutTor.dtd
index 6750b260..f67d40b9 100644
--- a/chrome/locale/pl/aboutTor.dtd
+++ b/chrome/locale/pl/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Zapisz się na newsletter.">
<!ENTITY aboutTor.donationBanner.freeToUse "Z przeglądarki Tor można korzystać bezpłatnie dzięki darowiznom od osób takich jak Ty.">
<!ENTITY aboutTor.donationBanner.buttonA "Wesprzyj teraz">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "RĘCE\nPRECZ\nOD\nMOICH\nDANYCH">
-<!ENTITY aboutTor.yec.motto "Prawo do prywatności jest prawem człowieka. ">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Twoja darowizna zostanie wyrównana przez przyjaciół sieci Tor, aż do 150 000 dolarów.">
diff --git a/chrome/locale/pt-BR/aboutTor.dtd b/chrome/locale/pt-BR/aboutTor.dtd
index 71aa2346..10cc06e9 100644
--- a/chrome/locale/pt-BR/aboutTor.dtd
+++ b/chrome/locale/pt-BR/aboutTor.dtd
@@ -30,31 +30,3 @@
<!ENTITY aboutTor.newsletter.link_text "Inscreva-se para receber Notícias do Tor.">
<!ENTITY aboutTor.donationBanner.freeToUse "O Tor é gratuito graças às doações de pessoas como você.">
<!ENTITY aboutTor.donationBanner.buttonA "Doe Agora">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "TIREM AS\nMÃOS\nDOS MEUS\nDADOS">
-<!ENTITY aboutTor.yec.motto "Privacidade é um direito humano.">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Os Amigos do Tor farão uma doação do mesmo valor da sua, no limite de $150,000.00.">
diff --git a/chrome/locale/ro/aboutTor.dtd b/chrome/locale/ro/aboutTor.dtd
index 9c5d3c33..07488af9 100644
--- a/chrome/locale/ro/aboutTor.dtd
+++ b/chrome/locale/ro/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Abonează-te la Tor News.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor poate fi folosit gratuit datorită donațiilor de la oameni ca tine.">
<!ENTITY aboutTor.donationBanner.buttonA "Donează Acum">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "IA-ȚI\nMÂINILE\nDE PE DATELE\nMELE">
-<!ENTITY aboutTor.yec.motto "Confidențialitatea este un drept uman">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Donația dumneavoastră va fi potrivită de Prietenii lui Tor, până la 150.000 USD.">
diff --git a/chrome/locale/ru/aboutTor.dtd b/chrome/locale/ru/aboutTor.dtd
index 7ea0b5f8..372bbcd5 100644
--- a/chrome/locale/ru/aboutTor.dtd
+++ b/chrome/locale/ru/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Подпишитесь на новости Tor.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor бесплатен благодаря пожертвованиям таких людей, как вы.">
<!ENTITY aboutTor.donationBanner.buttonA "Пожертвовать">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "РУКИ\nПРОЧЬ\nОТ МОИХ\nДАННЫХ">
-<!ENTITY aboutTor.yec.motto "Приватность – право человека">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Ваше пожертвование (до $150000) будет удвоено Friends of Tor.">
diff --git a/chrome/locale/sv-SE/aboutTor.dtd b/chrome/locale/sv-SE/aboutTor.dtd
index f5e56647..4ff532ec 100644
--- a/chrome/locale/sv-SE/aboutTor.dtd
+++ b/chrome/locale/sv-SE/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Anmäl dig till Tor-nyheter.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor är gratis att använda på grund av donationer från personer som du.">
<!ENTITY aboutTor.donationBanner.buttonA "Donera nu">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HÄNDERNA\nBORT FRÅN\nMINA\nDATA">
-<!ENTITY aboutTor.yec.motto "Integritet är en mänsklig rättighet">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Din donation kommer att matchas av Friends of Tor, upp till $150 000.">
diff --git a/chrome/locale/th/aboutTor.dtd b/chrome/locale/th/aboutTor.dtd
index 29531f5d..96ebca5e 100644
--- a/chrome/locale/th/aboutTor.dtd
+++ b/chrome/locale/th/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "สมัครรับข่าวสารเกี่ยวกับ Tor">
<!ENTITY aboutTor.donationBanner.freeToUse "บริการ Tor นี้ฟรี ไม่มีค่าใช้จ่ายใดๆเพราะเงินบริจาคจากผู้มีน้ำใจอย่างคุณ">
<!ENTITY aboutTor.donationBanner.buttonA "ร่วมบริจาค">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "ความเป็นส่วนตัวคือสิทธิมนุษยชน">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "เงินบริจาคของคุณจะส่งมอบให้ Tor สูงสุดถึง 150,000 ดอลลาร์สหรัฐ">
diff --git a/chrome/locale/tr/aboutTor.dtd b/chrome/locale/tr/aboutTor.dtd
index dc3eb89e..5c330e18 100644
--- a/chrome/locale/tr/aboutTor.dtd
+++ b/chrome/locale/tr/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Tor duyurularına abone olun">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor sizin gibi insanların bağışları ile desteklendiği için ücretsiz olarak kullanılabiliyor.">
<!ENTITY aboutTor.donationBanner.buttonA "Bağış yapın">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "VERİLERİME\nDOKUNMA">
-<!ENTITY aboutTor.yec.motto "Kişisel gizlilik bir insan hakkıdır">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Friends of Tor, $150.000 altında yaptığınız bağış kadar katkıda bulunacak.">
diff --git a/chrome/locale/vi/aboutTor.dtd b/chrome/locale/vi/aboutTor.dtd
index 45d44a81..b6bf4286 100644
--- a/chrome/locale/vi/aboutTor.dtd
+++ b/chrome/locale/vi/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Đăng kí nhận tin tức từ Tor.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor miễn phí là nhờ sự ủng hộ của những người như bạn.">
<!ENTITY aboutTor.donationBanner.buttonA "Đóng góp Ngay bây giờ">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "Privacy is a human right">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Your donation will be matched by Friends of Tor, up to $150,000.">
diff --git a/chrome/locale/zh-CN/aboutTor.dtd b/chrome/locale/zh-CN/aboutTor.dtd
index 4aa0815c..5b4f5fa7 100644
--- a/chrome/locale/zh-CN/aboutTor.dtd
+++ b/chrome/locale/zh-CN/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "订阅 Tor 的最新动态">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor 是免费使用的,因为有和您一样的人捐助。">
<!ENTITY aboutTor.donationBanner.buttonA "立即捐助">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "别碰\n我的\n隐私">
-<!ENTITY aboutTor.yec.motto "隐私是一项人权">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "您的捐款将由 Tor 的伙伴们配捐,最高15万美元。">
diff --git a/chrome/locale/zh-CN/torbutton.dtd b/chrome/locale/zh-CN/torbutton.dtd
index d6d1a237..221c89e4 100644
--- a/chrome/locale/zh-CN/torbutton.dtd
+++ b/chrome/locale/zh-CN/torbutton.dtd
@@ -2,7 +2,7 @@
<!ENTITY torbutton.context_menu.new_identity_sentence_case "新建身份">
<!ENTITY torbutton.context_menu.new_identity_key "I">
<!ENTITY torbutton.context_menu.new_circuit "为此站点使用新的 Tor 链路">
-<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New tor circuit for this site">
+<!ENTITY torbutton.context_menu.new_circuit_sentence_case "为此站点建立新的 Tor 链路">
<!ENTITY torbutton.context_menu.new_circuit_key "C">
<!ENTITY torbutton.context_menu.networksettings "Tor 网络设置…">
<!ENTITY torbutton.context_menu.networksettings.key "N">
@@ -47,7 +47,7 @@
<!ENTITY torbutton.prefs.sec_custom_summary "您自定义的浏览器设置导致了不安全的安全设置。出于安全和隐私考虑,我们建议您选择一个默认的安全级别。">
<!ENTITY torbutton.prefs.sec_restore_defaults "恢复默认设置">
<!ENTITY torbutton.prefs.sec_advanced_security_settings "高级安全选项…">
-<!ENTITY torbutton.prefs.sec_change "Change…">
+<!ENTITY torbutton.prefs.sec_change "更改…">
<!ENTITY torbutton.circuit_display.title "Tor 链路">
<!ENTITY torbutton.circuit_display.new_circuit "为此站点使用新线路">
diff --git a/chrome/locale/zh-TW/aboutTor.dtd b/chrome/locale/zh-TW/aboutTor.dtd
index 5dc4ac80..ead0eb2a 100644
--- a/chrome/locale/zh-TW/aboutTor.dtd
+++ b/chrome/locale/zh-TW/aboutTor.dtd
@@ -27,33 +27,5 @@
<!ENTITY aboutTor.newsletter.tagline "將 Tor 的最新消息直接傳送到您的收件匣。">
<!ENTITY aboutTor.newsletter.link_text "訂閱 Tor 的新資訊。">
-<!ENTITY aboutTor.donationBanner.freeToUse "由於有像您這樣的人捐款,Tor 可以免費使用。">
+<!ENTITY aboutTor.donationBanner.freeToUse "由於有像您這樣的人捐款,洋蔥路由才得以免費使用。">
<!ENTITY aboutTor.donationBanner.buttonA "立刻捐款">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "別\n碰\n我的\n資料">
-<!ENTITY aboutTor.yec.motto "隱私即人權">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Friends of Tor 組織將會捐助與您所捐助的款項相同的金額,上限為$150,000。">
diff --git a/chrome/locale/zh-TW/torbutton.properties b/chrome/locale/zh-TW/torbutton.properties
index fecce63a..586a922a 100644
--- a/chrome/locale/zh-TW/torbutton.properties
+++ b/chrome/locale/zh-TW/torbutton.properties
@@ -78,7 +78,7 @@ onionServices.descInvalid.longDescription=技術細節: %S — 該洋蔥服務
# Tor SOCKS error 0xF2:
onionServices.introFailed.pageTitle=載入洋蔥站台時發生問題
onionServices.introFailed.header=洋蔥站台已斷線
-onionServices.introFailed=最可能的原因是 Onion 網站已離線。請聯絡 Onion 網站管理員。
+onionServices.introFailed=最有可能的原因是該洋蔥站台已離線,請聯絡該站台的管理員。
onionServices.introFailed.longDescription=技術細節: %S — 該洋蔥服務之識別證已找到,但該服務與引見節點之連線已中斷,造成引見連線建立失敗。這通常是肇因於該服務更換識別證,或是已經不再提供服務。
# Tor SOCKS error 0xF3:
onionServices.rendezvousFailed.pageTitle=載入洋蔥站台發生問題
1
0

[torbutton/master] Bug 40679: Missing features on first-time launch in esr91
by gk@torproject.org 19 Jan '22
by gk@torproject.org 19 Jan '22
19 Jan '22
commit 10ecf6dd6ecf4ddf8f4cacfdfcb36be0881e83bb
Author: Richard Pospesel <richard(a)torproject.org>
Date: Thu Dec 16 14:38:05 2021 +0100
Bug 40679: Missing features on first-time launch in esr91
- fixes myriad problems with our async control port communication
logic
- fixes tor-browser#40679
---
chrome/content/tor-circuit-display.js | 21 +-
chrome/content/torbutton.js | 4 +-
modules/tor-control-port.js | 573 +++++++++++++++++++++-------------
3 files changed, 361 insertions(+), 237 deletions(-)
diff --git a/chrome/content/tor-circuit-display.js b/chrome/content/tor-circuit-display.js
index 4e0088f0..d6034384 100644
--- a/chrome/content/tor-circuit-display.js
+++ b/chrome/content/tor-circuit-display.js
@@ -29,7 +29,7 @@ let createTorCircuitDisplay = (function () {
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
// Import the controller code.
-let { controller } = ChromeUtils.import("resource://torbutton/modules/tor-control-port.js", {});
+let { wait_for_controller } = ChromeUtils.import("resource://torbutton/modules/tor-control-port.js", {});
// Utility functions
let { bindPrefAndInit, observe, getLocale, getDomainForBrowser, torbutton_get_property_string } = ChromeUtils.import("resource://torbutton/modules/utils.js", {});
@@ -458,7 +458,7 @@ let setupDisplay = function (enablePrefName) {
syncDisplayWithSelectedTab(false);
if (myController) {
if (stopCollectingIsolationData) {
- stopCollectingIsolationData();
+ stopCollectingIsolationData();
}
if (stopCollectingBrowserCredentials) {
stopCollectingBrowserCredentials();
@@ -469,19 +469,20 @@ let setupDisplay = function (enablePrefName) {
myController = null;
}
},
- start = function () {
+ start = async function () {
if (!myController) {
- myController = controller(function (err) {
- // An error has occurred.
+ try {
+ myController = await wait_for_controller();
+ syncDisplayWithSelectedTab(true);
+ stopCollectingIsolationData = collectIsolationData(myController, updateCircuitDisplay);
+ stopCollectingBrowserCredentials = collectBrowserCredentials();
+ stopEnsuringCorrectPopupDimensions = ensureCorrectPopupDimensions();
+ } catch (err) {
logger.eclog(5, err);
logger.eclog(5, "Disabling tor display circuit because of an error.");
myController.close();
stop();
- });
- syncDisplayWithSelectedTab(true);
- stopCollectingIsolationData = collectIsolationData(myController, updateCircuitDisplay);
- stopCollectingBrowserCredentials = collectBrowserCredentials();
- stopEnsuringCorrectPopupDimensions = ensureCorrectPopupDimensions();
+ }
}
};
try {
diff --git a/chrome/content/torbutton.js b/chrome/content/torbutton.js
index 65048b1a..3bfaa1f8 100644
--- a/chrome/content/torbutton.js
+++ b/chrome/content/torbutton.js
@@ -28,7 +28,7 @@ let {
torbutton_log,
torbutton_get_property_string,
} = ChromeUtils.import("resource://torbutton/modules/utils.js", {});
-let { configureControlPortModule, controller } = Cu.import("resource://torbutton/modules/tor-control-port.js", {});
+let { configureControlPortModule, wait_for_controller } = Cu.import("resource://torbutton/modules/tor-control-port.js", {});
const k_tb_tor_check_failed_topic = "Torbutton:TorCheckFailed";
@@ -352,7 +352,7 @@ async function torbutton_send_ctrl_cmd(command) {
let response = null;
try {
const avoidCache = true;
- let torController = controller(e => { throw e; }, avoidCache);
+ let torController = await wait_for_controller(avoidCache);
let bytes = await torController.sendCommand(command);
if (!bytes.startsWith("250")) {
diff --git a/modules/tor-control-port.js b/modules/tor-control-port.js
index ef7bbe69..51ac8ac0 100644
--- a/modules/tor-control-port.js
+++ b/modules/tor-control-port.js
@@ -7,16 +7,16 @@
//
// To import the module, use
//
-// let { configureControlPortModule, controller } =
+// let { configureControlPortModule, controller, wait_for_controller } =
// Components.utils.import("path/to/tor-control-port.js", {});
//
-// See the second-to-last function defined in this file:
+// See the third-to-last function defined in this file:
// configureControlPortModule(ipcFile, host, port, password)
// for usage of the configureControlPortModule function.
//
-// See the last function defined in this file:
-// controller(onError)
-// for usage of the controller function.
+// See the last functions defined in this file:
+// controller(avoidCache), wait_for_controller(avoidCache)
+// for usage of the controller functions.
/* jshint esnext: true */
/* jshint -W097 */
@@ -29,6 +29,14 @@ let { Constructor: CC } = Components;
// ### Import Mozilla Services
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+const { TorProtocolService, TorProcessStatus } = ChromeUtils.import(
+ "resource:///modules/TorProtocolService.jsm"
+);
+// tor-launcher observer topics
+const TorTopics = Object.freeze({
+ ProcessIsReady: "TorProcessIsReady",
+});
+
// __log__.
// Logging function
let logger = Cc["@torproject.org/torbutton-logger;1"]
@@ -38,159 +46,289 @@ let log = x => logger.eclog(3, x.trimRight().replace(/\r\n/g, "\n"));
// ### announce this file
log("Loading tor-control-port.js\n");
-// ## io
-// I/O utilities namespace
-let io = {};
+class AsyncSocket {
+ constructor(ipcFile, host, port) {
+ let sts = Cc["@mozilla.org/network/socket-transport-service;1"].getService(Ci.nsISocketTransportService);
+ const OPEN_UNBUFFERED = Ci.nsITransport.OPEN_UNBUFFERED;
-// __io.asyncSocketStreams(ipcFile, host, port)__.
-// Creates a pair of asynchronous input and output streams for a socket at the
-// given ipcFile or host and port.
-io.asyncSocketStreams = function (ipcFile, host, port) {
- let sts = Cc["@mozilla.org/network/socket-transport-service;1"]
- .getService(Ci.nsISocketTransportService),
- UNBUFFERED = Ci.nsITransport.OPEN_UNBUFFERED;
-
- // Create an instance of a socket transport.
- let socketTransport;
- if (ipcFile) {
- socketTransport = sts.createUnixDomainTransport(ipcFile);
- } else {
- socketTransport = sts.createTransport([], host, port, null, null);
+ let socketTransport = ipcFile ?
+ sts.createUnixDomainTransport(ipcFile) :
+ sts.createTransport([], host, port, null, null);
+
+
+ this.outputStream = socketTransport.openOutputStream(OPEN_UNBUFFERED, 1, 1).QueryInterface(Ci.nsIAsyncOutputStream);
+ this.outputQueue = [];
+
+ this.inputStream = socketTransport.openInputStream(OPEN_UNBUFFERED, 1, 1).QueryInterface(Ci.nsIAsyncInputStream);
+ this.scriptableInputStream = Cc["@mozilla.org/scriptableinputstream;1"].createInstance(Ci.nsIScriptableInputStream);
+ this.scriptableInputStream.init(this.inputStream);
+ this.inputQueue = [];
}
- // Open unbuffered asynchronous outputStream.
- let outputStream = socketTransport.openOutputStream(UNBUFFERED, 1, 1)
- .QueryInterface(Ci.nsIAsyncOutputStream),
- // Open unbuffered asynchronous inputStream.
- inputStream = socketTransport.openInputStream(UNBUFFERED, 1, 1)
- .QueryInterface(Ci.nsIAsyncInputStream);
- return [inputStream, outputStream];
-};
+ // asynchronously write string to underlying socket and return number of bytes written
+ async write(str) {
+ return new Promise((resolve, reject) => {
-// __io.pumpInputStream(scriptableInputStream, onInputData, onError)__.
-// Take an input stream and asynchronously pass data to the onInputData callback.
-io.pumpInputStream = function (inputStream, onInputData, onError) {
- // Wrap raw inputStream with a "ScriptableInputStream" so we can read incoming data.
- let ScriptableInputStream = Components.Constructor(
- "@mozilla.org/scriptableinputstream;1", "nsIScriptableInputStream", "init"),
- scriptableInputStream = new ScriptableInputStream(inputStream),
- awaitNextChunk = function () {
- inputStream.asyncWait({
- onInputStreamReady: (stream) => {
- try {
- let chunk = scriptableInputStream.read(scriptableInputStream.available());
- onInputData(chunk);
- awaitNextChunk();
- } catch (err) {
- if (err.result !== Cr.NS_BASE_STREAM_CLOSED) {
- onError(err);
- }
- }
+ // asyncWait next write request
+ const tryAsyncWait = () => {
+ if (this.outputQueue.length > 0) {
+ this.outputStream.asyncWait(
+ this.outputQueue.at(0), // next request
+ 0, 0, Services.tm.currentThread);
+ }
+ };
+
+ // output stream can only have 1 registered callback at a time, so multiple writes
+ // need to be queued up (see nsIAsyncOutputStream.idl)
+ this.outputQueue.push({
+ // Implement an nsIOutputStreamCallback:
+ onOutputStreamReady: () => {
+ try {
+ let bytesWritten = this.outputStream.write(str, str.length);
+
+ // remove this callback object from queue as it is now completed
+ this.outputQueue.shift();
+
+ // request next wait if there is one
+ tryAsyncWait();
+
+ // finally resolve promise
+ resolve(bytesWritten);
+ } catch (err) {
+ // reject promise on error
+ reject(err);
}
- }, 0, 0, Services.tm.currentThread);
+ }
+ });
+
+ // length 1 imples that there is no in-flight asyncWait, so we may immediately
+ // follow through on this write
+ if (this.outputQueue.length == 1) {
+ tryAsyncWait();
+ }
+ });
+ }
+
+ // asynchronously read string from underlying socket and return it
+ async read() {
+ return new Promise((resolve, reject) => {
+
+ const tryAsyncWait = () => {
+ if (this.inputQueue.length > 0) {
+ this.inputStream.asyncWait(
+ this.inputQueue.at(0), // next input request
+ 0, 0, Services.tm.currentThread);
+ }
};
- awaitNextChunk();
-};
-// __io.asyncSocket(ipcFile, host, port, onInputData, onError)__.
-// Creates an asynchronous, text-oriented IPC socket (if ipcFile is defined)
-// or a TCP socket at host:port.
-// The onInputData callback should accept a single argument, which will be called
-// repeatedly, whenever incoming text arrives. Returns a socket object with two methods:
-// socket.write(text) and socket.close(). onError will be passed the error object
-// whenever a write fails.
-io.asyncSocket = function (ipcFile, host, port, onInputData, onError) {
- let [inputStream, outputStream] = io.asyncSocketStreams(ipcFile, host, port),
- pendingWrites = [];
- // Run an input stream pump to send incoming data to the onInputData callback.
- io.pumpInputStream(inputStream, onInputData, onError);
- // Return the "socket object" as described.
- return {
- // Write a message to the socket.
- write : function(aString) {
- pendingWrites.push(aString);
- outputStream.asyncWait(
- // Implement an nsIOutputStreamCallback:
- { onOutputStreamReady : function () {
- let totalString = pendingWrites.join("");
- try {
- outputStream.write(totalString, totalString.length);
- log("controlPort << " + totalString);
- } catch (err) {
- onError(err);
- }
- pendingWrites = [];
- } },
- 0, 0, Services.tm.currentThread);
- },
- // Close the socket.
- close : function () {
- // Close stream objects.
- inputStream.close();
- outputStream.close();
- }
- };
-};
+ this.inputQueue.push({
+ onInputStreamReady: (stream) => {
+ try {
+ // read our string from input stream
+ let str = this.scriptableInputStream.read(this.scriptableInputStream.available());
-// __io.onDataFromOnLine(onLine)__.
-// Converts a callback that expects incoming individual lines of text to a callback that
-// expects incoming raw socket string data.
-io.onDataFromOnLine = function (onLine) {
- // A private variable that stores the last unfinished line.
- let pendingData = "";
- // Return a callback to be passed to io.asyncSocket. First, splits data into lines of
- // text. If the incoming data is not terminated by CRLF, then the last
- // unfinished line will be stored in pendingData, to be prepended to the data in the
- // next call to onData. The already complete lines of text are then passed in sequence
- // to onLine.
- return function (data) {
- let totalData = pendingData + data,
- lines = totalData.split("\r\n"),
- n = lines.length;
- pendingData = lines[n - 1];
- // Call onLine for all completed lines.
- lines.slice(0,-1).map(onLine);
- };
+ // remove this callback object from queue now that we have read
+ this.inputQueue.shift();
+
+ // request next wait if there is one
+ tryAsyncWait();
+
+ // finally resolve promise
+ resolve(str);
+ } catch (err) {
+ reject(err);
+ }
+ }
+ });
+
+ // length 1 imples that there is no in-flight asyncWait, so we may immediately
+ // follow through on this read
+ if (this.inputQueue.length == 1) {
+ tryAsyncWait();
+ }
+ });
+ }
+
+ close() {
+ this.outputStream.close();
+ this.inputStream.close();
+ }
};
-// __io.onLineFromOnMessage(onMessage)__.
-// Converts a callback that expects incoming control port multiline message strings to a
-// callback that expects individual lines.
-io.onLineFromOnMessage = function (onMessage) {
- // A private variable that stores the last unfinished line.
- let pendingLines = [],
- // A private variable to monitor whether we are receiving a multiline
- // value, beginning with ###+ and ending with a single ".".
- multilineValueInProgress = false;
- // Return a callback that expects individual lines.
- return function (line) {
- // Add to the list of pending lines.
- pendingLines.push(line);
- // 'Multiline values' are possible. We avoid interrupting one by detecting it
- // and waiting for a terminating "." on its own line.
- // (See control-spec section 3.9 and https://trac.torproject.org/16990#comment:28
- if (line.match(/^\d\d\d\+.+?=$/) && pendingLines.length === 1) {
- multilineValueInProgress = true;
+class ControlSocket {
+ constructor(asyncSocket) {
+ this.socket = asyncSocket;
+ this._isOpen = true;
+ this.pendingData = "";
+ this.pendingLines = [];
+
+ this.mainDispatcher = io.callbackDispatcher();
+ this.notificationDispatcher = io.callbackDispatcher();
+ // mainDispatcher pushes only async notifications (650) to notificationDispatcher
+ this.mainDispatcher.addCallback(/^650/, this._handleNotification.bind(this));
+ // callback for handling responses and errors
+ this.mainDispatcher.addCallback(/^[245]\d\d/, this._handleCommandReply.bind(this) );
+
+ this.commandQueue = [];
+
+ this._startMessagePump();
+ }
+
+ // blocks until an entire line is read and returns it
+ // immediately returns next line in queue (pendingLines) if present
+ async _readLine() {
+ // keep reading from socket until we have a full line to return
+ while(this.pendingLines.length == 0) {
+ // read data from our socket and spit on newline tokens
+ this.pendingData += await this.socket.read();
+ let lines = this.pendingData.split("\r\n");
+
+ // the last line will either be empty string, or a partial read of a response/event
+ // so save it off for the next socket read
+ this.pendingData = lines.pop();
+
+ // copy remaining full lines to our pendingLines list
+ this.pendingLines = this.pendingLines.concat(lines);
+
}
- if (multilineValueInProgress && line.match(/^\.$/)) {
- multilineValueInProgress = false;
+ return this.pendingLines.shift();
+ }
+
+ // blocks until an entire message is ready and returns it
+ async _readMessage() {
+ // whether we are searching for the end of a multi-line values
+ // See control-spec section 3.9
+ let handlingMultlineValue = false;
+ let endOfMessageFound = false;
+ const message = [];
+
+ do {
+ const line = await this._readLine();
+ message.push(line);
+
+ if (handlingMultlineValue) {
+ // look for end of multiline
+ if (line.match(/^\.$/)) {
+ handlingMultlineValue = false;
+ }
+ } else {
+ // 'Multiline values' are possible. We avoid interrupting one by detecting it
+ // and waiting for a terminating "." on its own line.
+ // (See control-spec section 3.9 and https://trac.torproject.org/16990#comment:28
+ // Ensure this is the first line of a new message
+ if (message.length === 1 && line.match(/^\d\d\d\+.+?=$/)) {
+ handlingMultlineValue = true;
+ }
+ // look for end of message (note the space character at end of the regex)
+ else if(line.match(/^\d\d\d /)) {
+ if (message.length == 1) {
+ endOfMessageFound = true;
+ } else {
+ let firstReplyCode = message[0].substring(0,3);
+ let lastReplyCode = line.substring(0,3);
+ if (firstReplyCode == lastReplyCode) {
+ endOfMessageFound = true;
+ }
+ }
+ }
+ }
+ } while(!endOfMessageFound);
+
+ // join our lines back together to form one message
+ return message.join("\r\n");
+ }
+
+ async _startMessagePump() {
+ try {
+ while(true) {
+ let message = await this._readMessage();
+ log("controlPort >> " + message);
+ this.mainDispatcher.pushMessage(message);
+ }
+ } catch (err) {
+ this._isOpen = false;
+ for(const cmd of this.commandQueue) {
+ cmd.reject(err);
+ }
+ this.commandQueue = [];
}
- // If line is the last in a message, then pass on the full multiline message.
- if (!multilineValueInProgress &&
- line.match(/^\d\d\d /) &&
- (pendingLines.length === 1 ||
- pendingLines[0].substring(0,3) === line.substring(0,3))) {
- // Combine pending lines to form message.
- let message = pendingLines.join("\r\n");
- log("controlPort >> " + message);
- // Wipe pendingLines before we call onMessage, in case onMessage throws an error.
- pendingLines = [];
- // Pass multiline message to onMessage.
- onMessage(message);
+ }
+
+ _writeNextCommand() {
+ let cmd = this.commandQueue[0];
+ log("controlPort << " + cmd.commandString);
+ this.socket.write(`${cmd.commandString}\r\n`).catch(cmd.reject);
+ }
+
+ async sendCommand(commandString) {
+ if (!this.isOpen()) {
+ throw new Error("ControlSocket not open");
}
- };
+
+ // this promise is resolved either in _handleCommandReply, or
+ // in _startMessagePump (on stream error)
+ return new Promise((resolve, reject) => {
+ let command = {
+ commandString: commandString,
+ resolve: resolve,
+ reject: reject,
+ };
+
+ this.commandQueue.push(command);
+ if (this.commandQueue.length == 1) {
+ this._writeNextCommand();
+ }
+ });
+ }
+
+ _handleCommandReply(message) {
+ let cmd = this.commandQueue.shift();
+ if (message.match(/^2/)) {
+ cmd.resolve(message);
+ } else if (message.match(/^[45]/)) {
+ let myErr = new Error(cmd.commandString + " -> " + message);
+ // Add Tor-specific information to the Error object.
+ let idx = message.indexOf(' ');
+ if (idx > 0) {
+ myErr.torStatusCode = message.substring(0, idx);
+ myErr.torMessage = message.substring(idx);
+ } else {
+ myErr.torStatusCode = message;
+ }
+ cmd.reject(myErr);
+ } else {
+ cmd.reject(new Error(`ControlSocket::_handleCommandReply received unexpected message:\n----\n${message}\n----`));
+ }
+
+ // send next command if one is available
+ if (this.commandQueue.length > 0) {
+ this._writeNextCommand();
+ }
+ }
+
+ _handleNotification(message) {
+ this.notificationDispatcher.pushMessage(message);
+ }
+
+ close() {
+ this.socket.close();
+ this._isOpen = false;
+ }
+
+ addNotificationCallback(regex, callback) {
+ this.notificationDispatcher.addCallback(regex, callback);
+ }
+
+ isOpen() {
+ return this._isOpen;
+ }
};
+// ## io
+// I/O utilities namespace
+
+let io = {};
+
// __io.callbackDispatcher()__.
// Returns dispatcher object with three member functions:
// dispatcher.addCallback(regex, callback), dispatcher.removeCallback(callback),
@@ -222,77 +360,30 @@ io.callbackDispatcher = function () {
addCallback : addCallback };
};
-// __io.matchRepliesToCommands(asyncSend, dispatcher)__.
-// Takes asyncSend(message), an asynchronous send function, and the callback
-// dispatcher, and returns a function Promise<response> sendCommand(command).
-io.matchRepliesToCommands = function (asyncSend, dispatcher) {
- let commandQueue = [],
- sendCommand = function (command, replyCallback, errorCallback) {
- commandQueue.push([command, replyCallback, errorCallback]);
- asyncSend(command);
- };
- // Watch for responses (replies or error messages)
- dispatcher.addCallback(/^[245]\d\d/, function (message) {
- let [command, replyCallback, errorCallback] = commandQueue.shift();
- if (message.match(/^2/) && replyCallback) replyCallback(message);
- if (message.match(/^[45]/) && errorCallback) {
- let myErr = new Error(command + " -> " + message);
- // Add Tor-specific information to the Error object.
- let idx = message.indexOf(' ');
- if (idx > 0) {
- myErr.torStatusCode = message.substring(0, idx);
- myErr.torMessage = message.substring(idx);
- } else {
- myErr.torStatusCode = message;
- }
- errorCallback(myErr);
- }
- });
- // Create and return a version of sendCommand that returns a Promise.
- return command => new Promise(function (replyCallback, errorCallback) {
- sendCommand(command, replyCallback, errorCallback);
- });
-};
-
-// __io.controlSocket(ipcFile, host, port, password, onError)__.
+// __io.controlSocket(ipcFile, host, port, password)__.
// Instantiates and returns a socket to a tor ControlPort at ipcFile or
-// host:port, authenticating with the given password. onError is called with an
-// error object as its single argument whenever an error occurs. Example:
+// host:port, authenticating with the given password. Example:
//
// // Open the socket
-// let socket = controlSocket(undefined, "127.0.0.1", 9151, "MyPassw0rd",
-// function (error) { console.log(error.message || error); });
-// // Send command and receive "250" reply or error message
-// socket.sendCommand(commandText, replyCallback, errorCallback);
+// let socket = await io.controlSocket(undefined, "127.0.0.1", 9151, "MyPassw0rd");
+// // Send command and receive "250" response reply or error is thrown
+// await socket.sendCommand(commandText);
// // Register or deregister for "650" notifications
// // that match regex
// socket.addNotificationCallback(regex, callback);
// socket.removeNotificationCallback(callback);
// // Close the socket permanently
// socket.close();
-io.controlSocket = function (ipcFile, host, port, password, onError) {
- // Produce a callback dispatcher for Tor messages.
- let mainDispatcher = io.callbackDispatcher(),
- // Open the socket and convert format to Tor messages.
- socket = io.asyncSocket(ipcFile, host, port,
- io.onDataFromOnLine(
- io.onLineFromOnMessage(mainDispatcher.pushMessage)),
- onError),
- // Controllers should send commands terminated by CRLF.
- writeLine = function (text) { socket.write(text + "\r\n"); },
- // Create a sendCommand method from writeLine.
- sendCommand = io.matchRepliesToCommands(writeLine, mainDispatcher),
- // Create a secondary callback dispatcher for Tor notification messages.
- notificationDispatcher = io.callbackDispatcher();
- // Pass asynchronous notifications to notification dispatcher.
- mainDispatcher.addCallback(/^650/, notificationDispatcher.pushMessage);
+io.controlSocket = async function (ipcFile, host, port, password) {
+ let socket = new AsyncSocket(ipcFile, host, port);
+ let controlSocket = new ControlSocket(socket);
+
// Log in to control port.
- sendCommand("authenticate " + (password || "")).catch(onError);
+ await controlSocket.sendCommand("authenticate " + (password || ""));
// Activate needed events.
- sendCommand("setevents stream").catch(onError);
- return { close : socket.close, sendCommand : sendCommand,
- addNotificationCallback : notificationDispatcher.addCallback,
- removeNotificationCallback : notificationDispatcher.removeCallback };
+ await controlSocket.sendCommand("setevents stream");
+
+ return controlSocket;
};
// ## utils
@@ -684,13 +775,11 @@ let tor = {};
// redundant instantiation of control sockets.
tor.controllerCache = new Map();
-// __tor.controller(ipcFile, host, port, password, onError)__.
+// __tor.controller(ipcFile, host, port, password)__.
// Creates a tor controller at the given ipcFile or host and port, with the
// given password.
-// onError returns asynchronously whenever a connection error occurs.
-tor.controller = function (ipcFile, host, port, password, onError) {
- let socket = io.controlSocket(ipcFile, host, port, password, onError),
- isOpen = true;
+tor.controller = async function (ipcFile, host, port, password) {
+ let socket = await io.controlSocket(ipcFile, host, port, password);
return { getInfo : key => info.getInfo(socket, key),
getConf : key => info.getConf(socket, key),
onionAuthViewKeys : () => onionAuth.viewKeys(socket),
@@ -701,8 +790,8 @@ tor.controller = function (ipcFile, host, port, password, onError) {
onionAuth.remove(socket, hsAddress),
watchEvent : (type, filter, onData, raw=false) =>
event.watchEvent(socket, type, filter, onData, raw),
- isOpen : () => isOpen,
- close : () => { isOpen = false; socket.close(); },
+ isOpen : () => socket.isOpen(),
+ close : () => { socket.close(); },
sendCommand: cmd => socket.sendCommand(cmd),
};
};
@@ -722,23 +811,24 @@ var configureControlPortModule = function (ipcFile, host, port, password) {
controlPortInfo.password = password;
};
-// __controller(onError)__.
+// __controller(avoidCache)__.
// Instantiates and returns a controller object that is connected and
// authenticated to a Tor ControlPort using the connection parameters
// provided in the most recent call to configureControlPortModule(), if
// the controller doesn't yet exist. Otherwise returns the existing
-// controller to the given ipcFile or host:port.
-// onError is called with an error object as its single argument whenever
-// an error occurs. Example:
+// controller to the given ipcFile or host:port. Throws on error.
//
-// // Get the controller
-// let c = controller(
-// function (error) { console.log(error.message || error); });
+// Example:
+//
+// // Get a new controller
+// const avoidCache = true;
+// let c = controller(avoidCache);
// // Send command and receive `250` reply or error message in a promise:
// let replyPromise = c.getInfo("ip-to-country/16.16.16.16");
// // Close the controller permanently
// c.close();
-var controller = function (onError, avoidCache) {
+var controller = async function (avoidCache) {
+
if (!controlPortInfo.ipcFile && !controlPortInfo.host)
throw new Error("Please call configureControlPortModule first");
@@ -748,18 +838,17 @@ var controller = function (onError, avoidCache) {
// constructor shorthand
const newTorController =
- () => {
- return tor.controller(
+ async () => {
+ return await tor.controller(
controlPortInfo.ipcFile,
controlPortInfo.host,
controlPortInfo.port,
- controlPortInfo.password,
- onError);
+ controlPortInfo.password);
};
// avoid cache so always return a new controller
if (avoidCache) {
- return newTorController();
+ return await newTorController();
}
// first check our cache and see if we already have one
@@ -769,10 +858,44 @@ var controller = function (onError, avoidCache) {
}
// create a new one and store in the map
- cachedController = newTorController();
+ cachedController = await newTorController();
+ // overwrite the close() function to prevent consumers from closing a shared/cached controller
+ cachedController.close = () => {
+ throw new Error("May not close cached Tor Controller as it may be in use");
+ };
+
tor.controllerCache.set(dest, cachedController);
return cachedController;
};
+// __wait_for_controller(avoidCache)
+// Same as controller() function, but explicitly waits until there is a tor daemon
+// to connect to (either launched by tor-launcher, or if we have an existing system
+// tor daemon)
+var wait_for_controller = async function(avoidCache) {
+ // if tor process is running (either ours or system) immediately return controller
+ if (!TorProtocolService.ownsTorDaemon ||
+ TorProtocolService.torProcessStatus == TorProcessStatus.Running) {
+ return await controller(avoidCache);
+ }
+
+ // otherwise we must wait for tor to finish launching before resolving
+ return new Promise((resolve, reject) => {
+ let observer = {
+ observe : async (subject, topic, data) => {
+ if (topic === TorTopics.ProcessIsReady) {
+ try {
+ resolve(await controller(avoidCache));
+ } catch (err) {
+ reject(err);
+ }
+ Services.obs.removeObserver(observer, TorTopics.ProcessIsReady);
+ }
+ },
+ };
+ Services.obs.addObserver(observer, TorTopics.ProcessIsReady);
+ });
+};
+
// Export functions for external use.
-var EXPORTED_SYMBOLS = ["configureControlPortModule", "controller"];
+var EXPORTED_SYMBOLS = ["configureControlPortModule", "controller", "wait_for_controller"];
1
0

[torbutton/master] fixup! Bug 40718: Application Menu items should be sentence case
by richard@torproject.org 17 Jan '22
by richard@torproject.org 17 Jan '22
17 Jan '22
commit 733224de60725b73421a174d26bf60ac32e07626
Author: Pier Angelo Vendrame <pierov(a)torproject.org>
Date: Thu Jan 13 20:11:17 2022 +0100
fixup! Bug 40718: Application Menu items should be sentence case
Closes tor-browser#40776.
---
chrome/locale/en-US/torbutton.dtd | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chrome/locale/en-US/torbutton.dtd b/chrome/locale/en-US/torbutton.dtd
index cf744d25..4b89fcee 100644
--- a/chrome/locale/en-US/torbutton.dtd
+++ b/chrome/locale/en-US/torbutton.dtd
@@ -2,7 +2,7 @@
<!ENTITY torbutton.context_menu.new_identity_sentence_case "New identity">
<!ENTITY torbutton.context_menu.new_identity_key "I">
<!ENTITY torbutton.context_menu.new_circuit "New Tor Circuit for this Site">
-<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New tor circuit for this site">
+<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New Tor circuit for this site">
<!ENTITY torbutton.context_menu.new_circuit_key "C">
<!ENTITY torbutton.context_menu.networksettings "Tor Network Settings…">
<!ENTITY torbutton.context_menu.networksettings.key "N">
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-1] fixup! Bug 40645: Migrate Moat APIs to Moat.jsm module
by gk@torproject.org 17 Jan '22
by gk@torproject.org 17 Jan '22
17 Jan '22
commit 286900688251c4e89662d34a42e08ff32de14b29
Author: Richard Pospesel <richard(a)torproject.org>
Date: Thu Jan 6 18:27:51 2022 +0100
fixup! Bug 40645: Migrate Moat APIs to Moat.jsm module
---
browser/modules/Moat.jsm | 133 ++++++++++++++++++++++++++++++++++-------------
1 file changed, 98 insertions(+), 35 deletions(-)
diff --git a/browser/modules/Moat.jsm b/browser/modules/Moat.jsm
index b26eb32bdfb3..d02075e4412f 100644
--- a/browser/modules/Moat.jsm
+++ b/browser/modules/Moat.jsm
@@ -16,7 +16,7 @@ const { TorProtocolService } = ChromeUtils.import(
"resource:///modules/TorProtocolService.jsm"
);
-const { TorSettings } = ChromeUtils.import(
+const { TorSettings, TorBridgeSource, TorProxyType } = ChromeUtils.import(
"resource:///modules/TorSettings.jsm"
);
@@ -489,11 +489,10 @@ class MoatRPC {
await ch.asyncOpen(listener, ch);
// wait for response
- const response = await listener.response();
+ const responseJSON = await listener.response();
// parse that JSON
- const retval = JSON.parse(response);
- return retval;
+ return JSON.parse(responseJSON);
}
//
@@ -527,16 +526,16 @@ class MoatRPC {
},
],
};
- const retval = await this._makeRequest("fetch", args);
- if ("errors" in retval) {
- const code = retval.errors[0].code;
- const detail = retval.errors[0].detail;
+ const response = await this._makeRequest("fetch", args);
+ if ("errors" in response) {
+ const code = response.errors[0].code;
+ const detail = response.errors[0].detail;
throw new Error(`MoatRPC: ${detail} (${code})`);
}
- const transport = retval.data[0].transport;
- const image = retval.data[0].image;
- const challenge = retval.data[0].challenge;
+ const transport = response.data[0].transport;
+ const image = response.data[0].image;
+ const challenge = response.data[0].challenge;
return { transport, image, challenge };
}
@@ -568,10 +567,10 @@ class MoatRPC {
},
],
};
- const retval = await this._makeRequest("check", args);
- if ("errors" in retval) {
- const code = retval.errors[0].code;
- const detail = retval.errors[0].detail;
+ const response = await this._makeRequest("check", args);
+ if ("errors" in response) {
+ const code = response.errors[0].code;
+ const detail = response.errors[0].detail;
if (code == 419 && detail === "The CAPTCHA solution was incorrect.") {
return {};
}
@@ -579,12 +578,74 @@ class MoatRPC {
throw new Error(`MoatRPC: ${detail} (${code})`);
}
- const bridges = retval.data[0].bridges;
- const qrcodeImg = qrcode ? retval.data[0].qrcode : null;
+ const bridges = response.data[0].bridges;
+ const qrcodeImg = qrcode ? response.data[0].qrcode : null;
return { bridges, qrcode: qrcodeImg };
}
+ // Convert received settings object to format used by TorSettings module
+ // In the event of error, just return null
+ _fixupSettings(settings) {
+ try {
+ let retval = TorSettings.defaultSettings()
+ if ("bridges" in settings) {
+ retval.bridges.enabled = true;
+ switch(settings.bridges.source) {
+ case "builtin":
+ retval.bridges.source = TorBridgeSource.BuiltIn;
+ retval.bridges.builtin_type = settings.bridges.type;
+ // Tor Browser will periodically update the built-in bridge strings list using the
+ // circumvention_builtin() function, so we can ignore the bridge strings we have received here;
+ // BridgeDB only returns a subset of the available built-in bridges through the circumvention_settings()
+ // function which is fine for our 3rd parties, but we're better off ignoring them in Tor Browser, otherwise
+ // we get in a weird situation of needing to update our built-in bridges in a piece-meal fashion which
+ // seems over-complicated/error-prone
+ break;
+ case "bridgedb":
+ retval.bridges.source = TorBridgeSource.BridgeDB;
+ if (settings.bridges.bridge_strings) {
+ retval.bridges.bridge_strings = settings.bridges.bridge_strings;
+ } else {
+ throw new Error("MoatRPC::_fixupSettings(): Received no bridge-strings for BridgeDB bridge source");
+ }
+ break;
+ default:
+ throw new Error(`MoatRPC::_fixupSettings(): Unexpected bridge source '${settings.bridges.source}'`);
+ }
+ }
+ if ("proxy" in settings) {
+ // TODO: populate proxy settings
+ }
+ if ("firewall" in settings) {
+ // TODO: populate firewall settings
+ }
+ return retval;
+ } catch(ex) {
+ console.log(ex.message);
+ return null;
+ }
+ }
+
+ // Converts a list of settings objects received from BridgeDB to a list of settings objects
+ // understood by the TorSettings module
+ // In the event of error, returns and empty list
+ _fixupSettingsList(settingsList) {
+ try {
+ let retval = [];
+ for (let settings of settingsList) {
+ settings = this._fixupSettings(settings);
+ if (settings != null) {
+ retval.push(settings);
+ }
+ }
+ return retval;
+ } catch (ex) {
+ console.log(ex.message);
+ return [];
+ }
+ }
+
// Request tor settings for the user optionally based on their location (derived
// from their IP), takes the following parameters:
// - transports: optional, an array of transports available to the client; if empty (or not
@@ -596,16 +657,16 @@ class MoatRPC {
// object on the TorSettings module.
// - If the server cannot determine the user's country (and no country code is provided),
// then null is returned
- // - If the country has no associated settings, an empty object is returned
+ // - If the country has no associated settings, an empty array is returned
async circumvention_settings(transports, country) {
const args = {
transports: transports ? transports : [],
country: country,
};
- const retval = await this._makeRequest("circumvention/settings", args);
- if ("errors" in retval) {
- const code = retval.errors[0].code;
- const detail = retval.errors[0].detail;
+ const response = await this._makeRequest("circumvention/settings", args);
+ if ("errors" in response) {
+ const code = response.errors[0].code;
+ const detail = response.errors[0].detail;
if (code == 406) {
console.log("MoatRPC::circumvention_settings(): Cannot automatically determine user's country-code");
// cannot determine user's country
@@ -613,28 +674,30 @@ class MoatRPC {
}
throw new Error(`MoatRPC: ${detail} (${code})`);
+ } else if ("settings" in response) {
+ return this._fixupSettingsList(response.settings);
}
- return retval;
+ return [];
}
// Request a copy of the censorship circumvention map (as if cirumvention_settings were
// queried for all country codes)
//
- // returns a map whose key is an ISO 3166-1 alpha-2 country code and those
+ // returns a map whose key is an ISO 3166-1 alpha-2 country code and whose
// values are arrays of settings objects
async circumvention_map() {
const args = { };
- const retval = await this._makeRequest("circumvention/map", args);
- if ("errors" in retval) {
- const code = retval.errors[0].code;
- const detail = retval.errors[0].detail;
+ const response = await this._makeRequest("circumvention/map", args);
+ if ("errors" in response) {
+ const code = response.errors[0].code;
+ const detail = response.errors[0].detail;
throw new Error(`MoatRPC: ${detail} (${code})`);
}
let map = new Map();
- for (const [country, config] of Object.entries(retval)) {
- map.set(country, config);
+ for (const [country, config] of Object.entries(response)) {
+ map.set(country, this._fixupSettingsList(config.settings));
}
return map;
@@ -650,15 +713,15 @@ class MoatRPC {
const args = {
transports: transports ? transports : [],
};
- const retval = await this._makeRequest("circumvention/builtin", args);
- if ("errors" in retval) {
- const code = retval.errors[0].code;
- const detail = retval.errors[0].detail;
+ const response = await this._makeRequest("circumvention/builtin", args);
+ if ("errors" in response) {
+ const code = response.errors[0].code;
+ const detail = response.errors[0].detail;
throw new Error(`MoatRPC: ${detail} (${code})`);
}
let map = new Map();
- for (const [transport, bridge_strings] of Object.entries(retval)) {
+ for (const [transport, bridge_strings] of Object.entries(response)) {
map.set(transport, bridge_strings);
}
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-1] fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
by gk@torproject.org 17 Jan '22
by gk@torproject.org 17 Jan '22
17 Jan '22
commit 7f8276faefc398180879e755a2cf1c87eb28b715
Author: Richard Pospesel <richard(a)torproject.org>
Date: Thu Nov 11 13:03:23 2021 +0100
fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
---
.../torconnect/content/aboutTorConnect.js | 6 +-
browser/modules/TorConnect.jsm | 541 +++++++++++++--------
browser/modules/TorProtocolService.jsm | 125 ++++-
3 files changed, 466 insertions(+), 206 deletions(-)
diff --git a/browser/components/torconnect/content/aboutTorConnect.js b/browser/components/torconnect/content/aboutTorConnect.js
index b53f8b13cb80..26b17afb6938 100644
--- a/browser/components/torconnect/content/aboutTorConnect.js
+++ b/browser/components/torconnect/content/aboutTorConnect.js
@@ -144,7 +144,7 @@ class AboutTorConnect {
this.hide(this.elements.cancelButton);
}
- update_AutoConfiguring(state) {
+ update_AutoBootstrapping(state) {
// TODO: noop until this state is used
}
@@ -180,10 +180,6 @@ class AboutTorConnect {
this.hide(this.elements.cancelButton);
}
- update_FatalError(state) {
- // TODO: noop until this state is used
- }
-
update_Bootstrapped(state) {
const hasError = false;
const showProgressbar = true;
diff --git a/browser/modules/TorConnect.jsm b/browser/modules/TorConnect.jsm
index ddc14148eb88..7c8580b5d8a9 100644
--- a/browser/modules/TorConnect.jsm
+++ b/browser/modules/TorConnect.jsm
@@ -10,7 +10,7 @@ const { BrowserWindowTracker } = ChromeUtils.import(
"resource:///modules/BrowserWindowTracker.jsm"
);
-const { TorProtocolService, TorProcessStatus } = ChromeUtils.import(
+const { TorProtocolService, TorProcessStatus, TorTopics, TorBootstrapRequest } = ChromeUtils.import(
"resource:///modules/TorProtocolService.jsm"
);
@@ -18,23 +18,17 @@ const { TorLauncherUtil } = ChromeUtils.import(
"resource://torlauncher/modules/tl-util.jsm"
);
-const { TorSettings, TorSettingsTopics } = ChromeUtils.import(
+const { TorSettings, TorSettingsTopics, TorBridgeSource, TorBuiltinBridgeTypes, TorProxyType } = ChromeUtils.import(
"resource:///modules/TorSettings.jsm"
);
+const { MoatRPC } = ChromeUtils.import("resource:///modules/Moat.jsm");
+
/* Browser observer topis */
const BrowserTopics = Object.freeze({
ProfileAfterChange: "profile-after-change",
});
-/* tor-launcher observer topics */
-const TorTopics = Object.freeze({
- BootstrapStatus: "TorBootstrapStatus",
- BootstrapError: "TorBootstrapError",
- ProcessExited: "TorProcessExited",
- LogHasWarnOrErr: "TorLogHasWarnOrErr",
-});
-
/* Relevant prefs used by tor-launcher */
const TorLauncherPrefs = Object.freeze({
prompt_at_startup: "extensions.torlauncher.prompt_at_startup",
@@ -45,14 +39,12 @@ const TorConnectState = Object.freeze({
Initial: "Initial",
/* In-between initial boot and bootstrapping, users can change tor network settings during this state */
Configuring: "Configuring",
- /* Geo-location and setting bridges/etc */
- AutoConfiguring: "AutoConfiguring",
+ /* Tor is attempting to bootstrap with settings from censorship-circumvention db */
+ AutoBootstrapping: "AutoBootstrapping",
/* Tor is bootstrapping */
Bootstrapping: "Bootstrapping",
- /* Passthrough state back to Configuring or Fatal */
+ /* Passthrough state back to Configuring */
Error: "Error",
- /* An unrecoverable error */
- FatalError: "FatalError",
/* Final state, after successful bootstrap */
Bootstrapped: "Bootstrapped",
/* If we are using System tor or the legacy Tor-Launcher */
@@ -60,60 +52,54 @@ const TorConnectState = Object.freeze({
});
/*
-
- TorConnect State Transitions
-
- ┌──────────────────────┐
- │ Disabled │
- └──────────────────────┘
- ▲
- │ legacyOrSystemTor()
- │
- ┌──────────────────────┐
- ┌────────────────────── │ Initial │ ───────────────────────────┐
- │ └──────────────────────┘ │
- │ │ │
- │ │ beginBootstrap() │
- │ ▼ │
-┌────────────────┐ │ bootstrapComplete() ┌────────────────────────────────────────────────┐ │ beginBootstrap()
-│ Bootstrapped │ ◀──┼────────────────────── │ Bootstrapping │ ◀┼─────────────────┐
-└────────────────┘ │ └────────────────────────────────────────────────┘ │ │
- │ │ ▲ │ │ │
- │ │ cancelBootstrap() │ beginBootstrap() └────┼─────────────┐ │
- │ ▼ │ │ │ │
- │ beginConfigure() ┌────────────────────────────────────────────────┐ │ │ │
- └─────────────────────▶ │ │ │ │ │
- │ │ │ │ │
- beginConfigure() │ │ │ │ │
- ┌──────────────────────────▶ │ Configuring │ │ │ │
- │ │ │ │ │ │
- │ │ │ │ │ │
- │ ┌─────────────────────▶ │ │ │ │ │
- │ │ └────────────────────────────────────────────────┘ │ │ │
- │ │ │ │ │ │ │
- │ │ cancelAutoconfigure() │ autoConfigure() │ ┌────┼─────────────┼───┘
- │ │ ▼ │ │ │ │
- │ │ ┌──────────────────────┐ │ │ │ │
- │ └────────────────────── │ AutoConfiguring │ ─┼────────────────────┘ │ │
- │ └──────────────────────┘ │ │ │
- │ │ │ │ onError() │
- │ │ onError() │ onError() │ │
- │ ▼ ▼ │ │
- │ ┌────────────────────────────────────────────────┐ │ │
- └─────────────────────────── │ Error │ ◀┘ │
- └────────────────────────────────────────────────┘ │
- │ ▲ onError() │
- │ onFatalError() └──────────────────┘
- ▼
- ┌──────────────────────┐
- │ FatalError │
- └──────────────────────┘
-
+ TorConnect State Transitions
+
+ ┌─────────┐ ┌────────┐
+ │ ▼ ▼ │
+ │ ┌──────────────────────────────────────────────────────────┐ │
+ ┌─┼────── │ Error │ ◀───┐ │
+ │ │ └──────────────────────────────────────────────────────────┘ │ │
+ │ │ ▲ │ │
+ │ │ │ │ │
+ │ │ │ │ │
+ │ │ ┌───────────────────────┐ ┌──────────┐ │ │
+ │ │ ┌──── │ Initial │ ────────────────────▶ │ Disabled │ │ │
+ │ │ │ └───────────────────────┘ └──────────┘ │ │
+ │ │ │ │ │ │
+ │ │ │ │ beginBootstrap() │ │
+ │ │ │ ▼ │ │
+ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │
+ │ │ │ │ Bootstrapping │ ────┘ │
+ │ │ │ └──────────────────────────────────────────────────────────┘ │
+ │ │ │ │ ▲ │ │
+ │ │ │ │ cancelBootstrap() │ beginBootstrap() └────┐ │
+ │ │ │ ▼ │ │ │
+ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │
+ │ │ └───▶ │ │ ─┼────┘
+ │ │ │ │ │
+ │ │ │ │ │
+ │ │ │ Configuring │ │
+ │ │ │ │ │
+ │ │ │ │ │
+ └─┼─────▶ │ │ │
+ │ └──────────────────────────────────────────────────────────┘ │
+ │ │ ▲ │
+ │ │ beginAutoBootstrap() │ cancelAutoBootstrap() │
+ │ ▼ │ │
+ │ ┌───────────────────────┐ │ │
+ └────── │ AutoBootstrapping │ ─┘ │
+ └───────────────────────┘ │
+ │ │
+ │ │
+ ▼ │
+ ┌───────────────────────┐ │
+ │ Bootstrapped │ ◀───────────────────────────────────┘
+ └───────────────────────┘
*/
-
/* Maps allowed state transitions
TorConnectStateTransitions[state] maps to an array of allowed states to transition to
+ This is just an encoding of the above transition diagram that we verify at runtime
*/
const TorConnectStateTransitions =
Object.freeze(new Map([
@@ -123,22 +109,20 @@ const TorConnectStateTransitions =
TorConnectState.Configuring,
TorConnectState.Error]],
[TorConnectState.Configuring,
- [TorConnectState.AutoConfiguring,
+ [TorConnectState.AutoBootstrapping,
TorConnectState.Bootstrapping,
TorConnectState.Error]],
- [TorConnectState.AutoConfiguring,
+ [TorConnectState.AutoBootstrapping,
[TorConnectState.Configuring,
- TorConnectState.Bootstrapping,
+ TorConnectState.Bootstrapped,
TorConnectState.Error]],
[TorConnectState.Bootstrapping,
[TorConnectState.Configuring,
TorConnectState.Bootstrapped,
TorConnectState.Error]],
[TorConnectState.Error,
- [TorConnectState.Configuring,
- TorConnectState.FatalError]],
+ [TorConnectState.Configuring]],
// terminal states
- [TorConnectState.FatalError, []],
[TorConnectState.Bootstrapped, []],
[TorConnectState.Disabled, []],
]));
@@ -149,9 +133,70 @@ const TorConnectTopics = Object.freeze({
BootstrapProgress: "torconnect:bootstrap-progress",
BootstrapComplete: "torconnect:bootstrap-complete",
BootstrapError: "torconnect:bootstrap-error",
- FatalError: "torconnect:fatal-error",
});
+// The StateCallback is a wrapper around an async function which executes during
+// the lifetime of a TorConnect State. A system is also provided to allow this
+// ongoing function to early-out via a per StateCallback on_transition callback
+// which may be called externally when we need to early-out and move on to another
+// state (for example, from Bootstrapping to Configuring in the event the user
+// cancels a bootstrap attempt)
+class StateCallback {
+
+ constructor(state, callback) {
+ this._state = state;
+ this._callback = callback;
+ this._init();
+ }
+
+ _init() {
+ // this context object is bound to the callback each time transition is
+ // attempted via begin()
+ this._context = {
+ // This callback may be overwritten in the _callback for each state
+ // States may have various pieces of work which need to occur
+ // before they can be exited (eg resource cleanup)
+ // See the _stateCallbacks map for examples
+ on_transition: (nextState) => {},
+
+ // flag used to determine if a StateCallback should early-out
+ // its work
+ _transitioning: false,
+
+ // may be called within the StateCallback to determine if exit is possible
+ get transitioning() {
+ return this._transitioning;
+ }
+ };
+ }
+
+ async begin(...args) {
+ console.log(`TorConnect: Entering ${this._state} state`);
+ this._init();
+ try {
+ // this Promise will block until this StateCallback has completed its work
+ await Promise.resolve(this._callback.call(this._context, ...args));
+ console.log(`TorConnect: Exited ${this._state} state`);
+
+ // handled state transition
+ Services.obs.notifyObservers({state: this._nextState}, TorConnectTopics.StateChange);
+ TorConnect._callback(this._nextState).begin(...this._nextStateArgs);
+ } catch (obj) {
+ TorConnect._changeState(TorConnectState.Error, obj?.message, obj?.details);
+ }
+ }
+
+ transition(nextState, ...args) {
+ this._nextState = nextState;
+ this._nextStateArgs = [...args];
+
+ // calls the on_transition callback to resolve any async work or do per-state cleanup
+ // this call to on_transition should resolve the async work currentlying going on in this.begin()
+ this._context.on_transition(nextState);
+ this._context._transitioning = true;
+ }
+}
+
const TorConnect = (() => {
let retval = {
@@ -161,59 +206,207 @@ const TorConnect = (() => {
_errorMessage: null,
_errorDetails: null,
_logHasWarningOrError: false,
+ _transitionPromise: null,
- /* These functions are called after transitioning to a new state */
- _transitionCallbacks: Object.freeze(new Map([
+ /* These functions represent ongoing work associated with one of our states
+ Some of these functions are mostly empty, apart from defining an
+ on_transition function used to resolve their Promise */
+ _stateCallbacks: Object.freeze(new Map([
/* Initial is never transitioned to */
- [TorConnectState.Initial, null],
- /* Configuring */
- [TorConnectState.Configuring, async (self, prevState) => {
- // TODO move this to the transition function
- if (prevState === TorConnectState.Bootstrapping) {
- await TorProtocolService.torStopBootstrap();
- }
- }],
- /* AutoConfiguring */
- [TorConnectState.AutoConfiguring, async (self, prevState) => {
+ [TorConnectState.Initial, new StateCallback(TorConnectState.Initial, async function() {
+ // The initial state doesn't actually do anything, so here is a skeleton for other
+ // states which do perform work
+ await new Promise(async (resolve, reject) => {
+ // This function is provided to signal to the callback that it is complete.
+ // It is called as a result of _changeState and at the very least must
+ // resolve the root Promise object within the StateCallback function
+ // The on_transition callback may also perform necessary cleanup work
+ this.on_transition = (nextState) => {
+ resolve();
+ };
+
+ try {
+ // each state may have a sequence of async work to do
+ let asyncWork = async () => {};
+ await asyncWork();
- }],
+ // after each block we may check for an opportunity to early-out
+ if (this.transitioning) {
+ return;
+ }
+
+ // repeat the above pattern as necessary
+ } catch(err) {
+ // any thrown exceptions here will trigger a transition to the Error state
+ TorConnect._changeState(TorConnectState.Error, err?.message, err?.details);
+ }
+ });
+ })],
+ /* Configuring */
+ [TorConnectState.Configuring, new StateCallback(TorConnectState.Configuring, async function() {
+ await new Promise(async (resolve, reject) => {
+ this.on_transition = (nextState) => {
+ resolve();
+ };
+ });
+ })],
/* Bootstrapping */
- [TorConnectState.Bootstrapping, async (self, prevState) => {
- let error = await TorProtocolService.connect();
- if (error) {
- self.onError(error.message, error.details);
- } else {
- self._errorMessage = self._errorDetails = null;
- }
- }],
+ [TorConnectState.Bootstrapping, new StateCallback(TorConnectState.Bootstrapping, async function() {
+ // wait until bootstrap completes or we get an error
+ await new Promise(async (resolve, reject) => {
+ const tbr = new TorBootstrapRequest();
+ this.on_transition = async (nextState) => {
+ if (nextState === TorConnectState.Configuring) {
+ // stop bootstrap process if user cancelled
+ await tbr.cancel();
+ }
+ resolve();
+ };
+
+ tbr.onbootstrapstatus = (progress, status) => {
+ TorConnect._updateBootstrapStatus(progress, status);
+ };
+ tbr.onbootstrapcomplete = () => {
+ TorConnect._changeState(TorConnectState.Bootstrapped);
+ };
+ tbr.onbootstraperror = (message, details) => {
+ TorConnect._changeState(TorConnectState.Error, message, details);
+ };
+
+ tbr.bootstrap();
+ });
+ })],
+ /* AutoBootstrapping */
+ [TorConnectState.AutoBootstrapping, new StateCallback(TorConnectState.AutoBootstrapping, async function(countryCode) {
+ await new Promise(async (resolve, reject) => {
+ this.on_transition = (nextState) => {
+ resolve();
+ };
+
+ // lookup user's potential censorship circumvention settings from Moat service
+ try {
+ this.mrpc = new MoatRPC();
+ await this.mrpc.init();
+
+ this.settings = await this.mrpc.circumvention_settings([...TorBuiltinBridgeTypes, "vanilla"], countryCode);
+
+ if (this.transitioning) return;
+
+ if (this.settings === null) {
+ // unable to determine country
+ TorConnect._changeState(TorConnectState.Error, "Unable to determine user country", "DETAILS_STRING");
+ return;
+ } else if (this.settings.length === 0) {
+ // no settings available for country
+ TorConnect._changeState(TorConnectState.Error, "No settings available for your location", "DETAILS_STRING");
+ return;
+ }
+ } catch (err) {
+ TorConnect._changeState(TorConnectState.Error, err?.message, err?.details);
+ return;
+ } finally {
+ // important to uninit MoatRPC object or else the pt process will live as long as tor-browser
+ this.mrpc?.uninit();
+ }
+
+ // apply each of our settings and try to bootstrap with each
+ try {
+ this.originalSettings = TorSettings.getSettings();
+
+ let index = 0;
+ for (let currentSetting of this.settings) {
+ // let us early out if user cancels
+ if (this.transitioning) return;
+
+ console.log(`TorConnect: Attempting Bootstrap with configuration ${++index}/${this.settings.length}`);
+
+ TorSettings.setSettings(currentSetting);
+ await TorSettings.applySettings();
+
+ // build out our bootstrap request
+ const tbr = new TorBootstrapRequest();
+ tbr.onbootstrapstatus = (progress, status) => {
+ TorConnect._updateBootstrapStatus(progress, status);
+ };
+ tbr.onbootstraperror = (message, details) => {
+ console.log(`TorConnect: Auto-Bootstrap error => ${message}; ${details}`);
+ };
+
+ // update transition callback for user cancel
+ this.on_transition = async (nextState) => {
+ if (nextState === TorConnectState.Configuring) {
+ await tbr.cancel();
+ }
+ resolve();
+ };
+
+ // begin bootstrap
+ if (await tbr.bootstrap()) {
+ // persist the current settings to preferences
+ TorSettings.saveToPrefs();
+ TorConnect._changeState(TorConnectState.Bootstrapped);
+ return;
+ }
+ }
+ // bootstrapped failed for all potential settings, so reset daemon to use original
+ TorSettings.setSettings(this.originalSettings);
+ await TorSettings.applySettings();
+ TorSettings.saveToPrefs();
+
+ // only explicitly change state here if something else has not transitioned us
+ if (!this.transitioning) {
+ TorConnect._changeState(TorConnectState.Error, "AutoBootstrapping failed", "DETAILS_STRING");
+ }
+ return;
+ } catch (err) {
+ // restore original settings in case of error
+ try {
+ TorSettings.setSettings(this.originalSettings);
+ await TorSettings.applySettings();
+ } catch(err) {
+ console.log(`TorConnect: Failed to restore original settings => ${err}`);
+ }
+ TorConnect._changeState(TorConnectState.Error, err?.message, err?.details);
+ return;
+ }
+ });
+ })],
/* Bootstrapped */
- [TorConnectState.Bootstrapped, async (self,prevState) => {
- // notify observers of bootstrap completion
- Services.obs.notifyObservers(null, TorConnectTopics.BootstrapComplete);
- }],
+ [TorConnectState.Bootstrapped, new StateCallback(TorConnectState.Bootstrapped, async function() {
+ await new Promise((resolve, reject) => {
+ // on_transition not defined because no way to leave Bootstrapped state
+ // notify observers of bootstrap completion
+ Services.obs.notifyObservers(null, TorConnectTopics.BootstrapComplete);
+ });
+ })],
/* Error */
- [TorConnectState.Error, async (self, prevState, errorMessage, errorDetails, fatal) => {
- self._errorMessage = errorMessage;
- self._errorDetails = errorDetails;
+ [TorConnectState.Error, new StateCallback(TorConnectState.Error, async function(errorMessage, errorDetails) {
+ await new Promise((resolve, reject) => {
+ this.on_transition = async(nextState) => {
+ resolve();
+ };
- Services.obs.notifyObservers({message: errorMessage, details: errorDetails}, TorConnectTopics.BootstrapError);
- if (fatal) {
- self.onFatalError();
- } else {
- self.beginConfigure();
- }
- }],
- /* FatalError */
- [TorConnectState.FatalError, async (self, prevState) => {
- Services.obs.notifyObservers(null, TorConnectTopics.FatalError);
- }],
- /* Disabled */
- [TorConnectState.Disabled, (self, prevState) => {
+ TorConnect._errorMessage = errorMessage;
+ TorConnect._errorDetails = errorDetails;
- }],
+ Services.obs.notifyObservers({message: errorMessage, details: errorDetails}, TorConnectTopics.BootstrapError);
+
+ TorConnect._changeState(TorConnectState.Configuring);
+ });
+ })],
+ /* Disabled */
+ [TorConnectState.Disabled, new StateCallback(TorConnectState.Disabled, async function() {
+ await new Promise((resolve, reject) => {
+ // no-op, on_transition not defined because no way to leave Disabled state
+ });
+ })],
])),
- _changeState: async function(newState, ...args) {
+ _callback: function(state) {
+ return this._stateCallbacks.get(state);
+ },
+
+ _changeState: function(newState, ...args) {
const prevState = this._state;
// ensure this is a valid state transition
@@ -221,28 +414,40 @@ const TorConnect = (() => {
throw Error(`TorConnect: Attempted invalid state transition from ${prevState} to ${newState}`);
}
- console.log(`TorConnect: transitioning state from ${prevState} to ${newState}`);
+ console.log(`TorConnect: Try transitioning from ${prevState} to ${newState}`);
// set our new state first so that state transitions can themselves trigger
// a state transition
this._state = newState;
- // call our transition function and forward any args
- await this._transitionCallbacks.get(newState)(this, prevState, ...args);
+ // call our state function and forward any args
+ this._callback(prevState).transition(newState, ...args);
+ },
+
+ _updateBootstrapStatus: function(progress, status) {
+ this._bootstrapProgress= progress;
+ this._bootstrapStatus = status;
- Services.obs.notifyObservers({state: newState}, TorConnectTopics.StateChange);
+ console.log(`TorConnect: Bootstrapping ${this._bootstrapProgress}% complete (${this._bootstrapStatus})`);
+ Services.obs.notifyObservers({
+ progress: TorConnect._bootstrapProgress,
+ status: TorConnect._bootstrapStatus,
+ hasWarnings: TorConnect._logHasWarningOrError
+ }, TorConnectTopics.BootstrapProgress);
},
// init should be called on app-startup in MainProcessingSingleton.jsm
- init : function() {
- console.log("TorConnect: Init");
+ init: function() {
+ console.log("TorConnect: init()");
// delay remaining init until after profile-after-change
Services.obs.addObserver(this, BrowserTopics.ProfileAfterChange);
+
+ this._callback(TorConnectState.Initial).begin();
},
observe: async function(subject, topic, data) {
- console.log(`TorConnect: observed ${topic}`);
+ console.log(`TorConnect: Observed ${topic}`);
switch(topic) {
@@ -250,19 +455,17 @@ const TorConnect = (() => {
case BrowserTopics.ProfileAfterChange: {
if (TorLauncherUtil.useLegacyLauncher || !TorProtocolService.ownsTorDaemon) {
// Disabled
- this.legacyOrSystemTor();
+ this._changeState(TorConnectState.Disabled);
} else {
let observeTopic = (topic) => {
Services.obs.addObserver(this, topic);
- console.log(`TorConnect: observing topic '${topic}'`);
+ console.log(`TorConnect: Observing topic '${topic}'`);
};
// register the Tor topics we always care about
- for (const topicKey in TorTopics) {
- const topic = TorTopics[topicKey];
- observeTopic(topic);
- }
- observeTopic(TorSettingsTopics.Ready);
+ observeTopic(TorTopics.ProcessExited);
+ observeTopic(TorTopics.LogHasWarnOrErr);
+ observeTopic(TorSettingsTopics.Ready);
}
Services.obs.removeObserver(this, topic);
break;
@@ -271,45 +474,13 @@ const TorConnect = (() => {
case TorSettingsTopics.Ready: {
if (this.shouldQuickStart) {
// Quickstart
- this.beginBootstrap();
+ this._changeState(TorConnectState.Bootstrapping);
} else {
// Configuring
- this.beginConfigure();
+ this._changeState(TorConnectState.Configuring);
}
break;
}
- /* Updates our bootstrap status */
- case TorTopics.BootstrapStatus: {
- if (this._state != TorConnectState.Bootstrapping) {
- console.log(`TorConnect: observed ${TorTopics.BootstrapStatus} topic while in state TorConnectState.${this._state}`);
- break;
- }
-
- const obj = subject?.wrappedJSObject;
- if (obj) {
- this._bootstrapProgress= obj.PROGRESS;
- this._bootstrapStatus = TorLauncherUtil.getLocalizedBootstrapStatus(obj, "TAG");
-
- console.log(`TorConnect: Bootstrapping ${this._bootstrapProgress}% complete (${this._bootstrapStatus})`);
- Services.obs.notifyObservers({
- progress: this._bootstrapProgress,
- status: this._bootstrapStatus,
- hasWarnings: this._logHasWarningOrError
- }, TorConnectTopics.BootstrapProgress);
-
- if (this._bootstrapProgress === 100) {
- this.bootstrapComplete();
- }
- }
- break;
- }
- /* Handle bootstrap error*/
- case TorTopics.BootstrapError: {
- const obj = subject?.wrappedJSObject;
- await TorProtocolService.torStopBootstrap();
- this.onError(obj.message, obj.details);
- break;
- }
case TorTopics.LogHasWarnOrErr: {
this._logHasWarningOrError = true;
break;
@@ -365,55 +536,27 @@ const TorConnect = (() => {
},
/*
- These functions tell TorConnect to transition states
+ These functions allow external consumers to tell TorConnect to transition states
*/
- legacyOrSystemTor: function() {
- console.log("TorConnect: legacyOrSystemTor()");
- this._changeState(TorConnectState.Disabled);
- },
-
beginBootstrap: function() {
console.log("TorConnect: beginBootstrap()");
this._changeState(TorConnectState.Bootstrapping);
},
- beginConfigure: function() {
- console.log("TorConnect: beginConfigure()");
- this._changeState(TorConnectState.Configuring);
- },
-
- autoConfigure: function() {
- console.log("TorConnect: autoConfigure()");
- // TODO: implement
- throw Error("TorConnect: not implemented");
- },
-
- cancelAutoConfigure: function() {
- console.log("TorConnect: cancelAutoConfigure()");
- // TODO: implement
- throw Error("TorConnect: not implemented");
- },
-
cancelBootstrap: function() {
console.log("TorConnect: cancelBootstrap()");
this._changeState(TorConnectState.Configuring);
},
- bootstrapComplete: function() {
- console.log("TorConnect: bootstrapComplete()");
- this._changeState(TorConnectState.Bootstrapped);
- },
-
- onError: function(message, details) {
- console.log("TorConnect: onError()");
- this._changeState(TorConnectState.Error, message, details, false);
+ beginAutoBootstrap: function(countryCode) {
+ console.log("TorConnect: beginAutoBootstrap()");
+ this._changeState(TorConnectState.AutoBootstrapping, countryCode);
},
- onFatalError: function() {
- console.log("TorConnect: onFatalError()");
- // TODO: implement
- throw Error("TorConnect: not implemented");
+ cancelAutoBootstrap: function() {
+ console.log("TorConnect: cancelAutoBootstrap()");
+ this._changeState(TorConnectState.Configuring);
},
/*
@@ -490,7 +633,7 @@ const TorConnect = (() => {
};
let redirectUris = uris.map(uriToRedirectUri);
- console.log(`TorConnect: will load after bootstrap => [${uris.map((uri) => {return uri.spec;}).join(", ")}]`);
+ console.log(`TorConnect: Will load after bootstrap => [${uris.map((uri) => {return uri.spec;}).join(", ")}]`);
return redirectUris;
},
};
diff --git a/browser/modules/TorProtocolService.jsm b/browser/modules/TorProtocolService.jsm
index b8678fbca9aa..ac6d643691f6 100644
--- a/browser/modules/TorProtocolService.jsm
+++ b/browser/modules/TorProtocolService.jsm
@@ -2,12 +2,18 @@
"use strict";
-var EXPORTED_SYMBOLS = ["TorProtocolService", "TorProcessStatus"];
+var EXPORTED_SYMBOLS = ["TorProtocolService", "TorProcessStatus", "TorTopics", "TorBootstrapRequest"];
const { Services } = ChromeUtils.import(
"resource://gre/modules/Services.jsm"
);
+const { setTimeout, clearTimeout } = ChromeUtils.import("resource://gre/modules/Timer.jsm");
+
+const { TorLauncherUtil } = ChromeUtils.import(
+ "resource://torlauncher/modules/tl-util.jsm"
+);
+
// see tl-process.js
const TorProcessStatus = Object.freeze({
Unknown: 0,
@@ -16,6 +22,14 @@ const TorProcessStatus = Object.freeze({
Exited: 3,
});
+/* tor-launcher observer topics */
+const TorTopics = Object.freeze({
+ BootstrapStatus: "TorBootstrapStatus",
+ BootstrapError: "TorBootstrapError",
+ ProcessExited: "TorProcessExited",
+ LogHasWarnOrErr: "TorLogHasWarnOrErr",
+});
+
/* Browser observer topis */
const BrowserTopics = Object.freeze({
ProfileAfterChange: "profile-after-change",
@@ -360,4 +374,111 @@ var TorProtocolService = {
return TorProcessStatus.Unknown;
},
};
-TorProtocolService.init();
\ No newline at end of file
+TorProtocolService.init();
+
+// modeled after XMLHttpRequest
+// nicely encapsulates the observer register/unregister logic
+class TorBootstrapRequest {
+ constructor() {
+ // number of ms to wait before we abandon the bootstrap attempt
+ // a value of 0 implies we never wait
+ this.timeout = 0;
+ // callbacks for bootstrap process status updates
+ this.onbootstrapstatus = (progress, status) => {};
+ this.onbootstrapcomplete = () => {};
+ this.onbootstraperror = (message, details) => {};
+
+ // internal resolve() method for bootstrap
+ this._bootstrapPromiseResolve = null;
+ this._bootstrapPromise = null;
+ this._timeoutID = null;
+ }
+
+ async observe(subject, topic, data) {
+ const obj = subject?.wrappedJSObject;
+ switch(topic) {
+ case TorTopics.BootstrapStatus: {
+ const progress = obj.PROGRESS;
+ const status = TorLauncherUtil.getLocalizedBootstrapStatus(obj, "TAG");
+ if (this.onbootstrapstatus) {
+ this.onbootstrapstatus(progress, status);
+ }
+ if (progress === 100) {
+ if (this.onbootstrapcomplete) {
+ this.onbootstrapcomplete();
+ }
+ this._bootstrapPromiseResolve(true);
+ clearTimeout(this._timeoutID);
+ }
+
+ break;
+ }
+ case TorTopics.BootstrapError: {
+ // first stop our bootstrap timeout before handling the error
+ clearTimeout(this._timeoutID);
+
+ await TorProtocolService.torStopBootstrap();
+
+ const message = obj.message;
+ const details = obj.details;
+ if (this.onbootstraperror) {
+ this.onbootstraperror(message, details);
+ }
+ this._bootstrapPromiseResolve(false);
+ break;
+ }
+ }
+ }
+
+ // resolves 'true' if bootstrap succeeds, false otherwise
+ async bootstrap() {
+ if (this._bootstrapPromise) return this._bootstrapPromise;
+
+ this._bootstrapPromise = new Promise(async (resolve, reject) => {
+ this._bootstrapPromiseResolve = resolve;
+
+ // register ourselves to listen for bootstrap events
+ Services.obs.addObserver(this, TorTopics.BootstrapStatus);
+ Services.obs.addObserver(this, TorTopics.BootstrapError);
+
+ // optionally cancel bootstrap after a given timeout
+ if (this.timeout > 0) {
+ this._timeoutID = setTimeout(async () => {
+ await TorProtocolService.torStopBootstrap();
+ if (this.onbootstraperror) {
+ this.onbootstraperror("Tor Bootstrap process timed out", `Bootstrap attempt abandoned after waiting ${this.timeout} ms`);
+ }
+ this._bootstrapPromiseResolve(false);
+ }, this.timeout);
+ }
+
+ // wait for bootstrapping to begin and maybe handle error
+ let err = await TorProtocolService.connect();
+ if (err) {
+ clearTimeout(this._timeoutID);
+ await TorProtocolService.torStopBootstrap();
+
+ const message = err.message;
+ const details = err.details;
+ if (this.onbootstraperror) {
+ this.onbootstraperror(message, details);
+ }
+ this._bootstrapPromiseResolve(false);
+ }
+ }).finally(() => {
+ // and remove ourselves once bootstrap is resolved
+ Services.obs.removeObserver(this, TorTopics.BootstrapStatus);
+ Services.obs.removeObserver(this, TorTopics.BootstrapError);
+ });
+
+ return this._bootstrapPromise;
+ }
+
+ async cancel() {
+ clearTimeout(this._timeoutID);
+
+ await TorProtocolService.torStopBootstrap();
+
+ this._bootstrapPromiseResolve(false);
+ }
+};
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-1] fixup! Bug 40597: Implement TorSettings module
by gk@torproject.org 17 Jan '22
by gk@torproject.org 17 Jan '22
17 Jan '22
commit 58466dd7347595752663d96bdc6e4f2bdcebbe5f
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Nov 10 16:03:45 2021 +0100
fixup! Bug 40597: Implement TorSettings module
resolves tor-browser#40598
---
browser/modules/TorSettings.jsm | 243 ++++++++++------------------------------
1 file changed, 61 insertions(+), 182 deletions(-)
diff --git a/browser/modules/TorSettings.jsm b/browser/modules/TorSettings.jsm
index 6d2a6c4a07cf..1b5b564e1e62 100644
--- a/browser/modules/TorSettings.jsm
+++ b/browser/modules/TorSettings.jsm
@@ -303,214 +303,49 @@ const TorSettings = (() => {
return settings;
},
- /* try and load our settings, and register observers */
+ /* load or init our settings, and register observers */
init: function() {
if (TorProtocolService.ownsTorDaemon) {
// if the settings branch exists, load settings from prefs
if (Services.prefs.getBoolPref(TorSettingsPrefs.enabled, false)) {
this.loadFromPrefs();
- Services.obs.notifyObservers(null, TorSettingsTopics.Ready);
+ } else {
+ // otherwise load defaults
+ this._settings = this.defaultSettings();
}
Services.obs.addObserver(this, BrowserTopics.ProfileAfterChange);
Services.obs.addObserver(this, TorTopics.ProcessIsReady);
}
},
- /* wait for relevant life-cycle events to load and/or apply saved settings */
+ /* wait for relevant life-cycle events to apply saved settings */
observe: async function(subject, topic, data) {
- console.log(`TorSettings: observed ${topic}`);
+ console.log(`TorSettings: Observed ${topic}`);
- // once the process is ready, we need to apply our settings
+ // once the tor daemon is ready, we need to apply our settings
let handleProcessReady = async () => {
- Services.obs.removeObserver(this, TorTopics.ProcessIsReady);
- if (this._settings == null) {
- // load settings from tor if our load in init() failed and save them to prefs
- await this.loadLegacy();
- this.saveToPrefs();
- } else {
- // push down settings to tor
- await this.applySettings();
- }
+ // push down settings to tor
+ await this.applySettings();
+ console.log("TorSettings: Ready");
Services.obs.notifyObservers(null, TorSettingsTopics.Ready);
};
switch (topic) {
case BrowserTopics.ProfileAfterChange: {
+ Services.obs.removeObserver(this, BrowserTopics.ProfileAfterChange);
if (TorProtocolService.torProcessStatus == TorProcessStatus.Running) {
await handleProcessReady();
}
}
break;
case TorTopics.ProcessIsReady: {
+ Services.obs.removeObserver(this, TorTopics.ProcessIsReady);
await handleProcessReady();
}
break;
}
},
- // load our settings from old locations (misc prefs and from tor daemon)
- // TODO: remove this after some time has elapsed to ensure users have migrated to pref settings
- loadLegacy: async function() {
- console.log("TorSettings: loadLegacy()");
-
- let settings = this.defaultSettings();
-
- /* Quickstart */
- settings.quickstart.enabled = Services.prefs.getBoolPref(TorLauncherPrefs.quickstart, false);
-
- /* Bridges
-
- So the way tor-launcher determines the origin of the configured bridges is a bit
- weird and depends on inferring our scenario based on some firefox prefs and the
- relationship between the saved list of bridges in about:config vs the list saved in torrc
-
- first off, if "extensions.torlauncher.default_bridge_type" is set to one of our
- builtin default types (obfs4, meek-azure, snowflake, etc) then we provide the
- bridges in "extensions.torlauncher.default_bridge.*" (filtered by our default_bridge_type)
-
- next, we compare the list of bridges saved in torrc to the bridges stored in the
- "extensions.torlauncher.bridgedb_bridge."" branch. If they match *exactly* then we assume
- the bridges were retrieved from BridgeDB and use those. If the torrc list is empty then we know
- we have no bridge settings
-
- finally, if none of the previous conditions are not met, it is assumed the bridges stored in
- torrc are user-provided
- */
-
- let builtinType = Services.prefs.getCharPref(TorLauncherPrefs.default_bridge_type, null);
-
- // check if source is built-in
- if (builtinType) {
- let builtinBridgeStrings = getBuiltinBridgeStrings(builtinType);
- if (builtinBridgeStrings.length > 0) {
- settings.bridges.enabled = true;
- settings.bridges.source = TorBridgeSource.BuiltIn;
- settings.bridges.builtin_type = builtinType;
- settings.bridges.bridge_strings = builtinBridgeStrings;
- }
- } else {
- // get our currently configured bridges from tor
- let torrcBridgeStrings = await (async () => {
- let bridgeList = await TorProtocolService.readStringArraySetting(TorConfigKeys.bridgeList);
- let retval = [];
- for (const line of bridgeList) {
- let trimmedLine = line.trim();
- if (trimmedLine) {
- retval.push(trimmedLine);
- }
- }
- return retval;
- })();
-
- // torrc has bridges configured
- if (torrcBridgeStrings.length > 0) {
- // compare tor's bridges to our saved bridgedb bridges
- let bridgedbBBridgeStrings = (() => {
- let bridgeBranch = Services.prefs.getBranch(TorLauncherPrefs.bridgedb_bridge);
- let bridgeBranchPrefs = bridgeBranch.getChildList("");
- // the child prefs do not come in any particular order so sort the keys
- // so the values can be compared to what we get out off torrc
- bridgeBranchPrefs.sort();
-
- // just assume all of the prefs under the parent point to valid bridge string
- let retval = bridgeBranchPrefs.map(key =>
- bridgeBranch.getCharPref(key).trim()
- );
- return retval;
- })();
-
- let arraysEqual = (left, right) => {
- if (left.length != right.length) {
- return false;
- }
- const length = left.length;
- for (let i = 0; i < length; ++i) {
- if (left[i] != right[i]) {
- return false;
- }
- }
- return true;
- };
-
- if (arraysEqual(torrcBridgeStrings, bridgedbBBridgeStrings)) {
- settings.bridges.enabled = true;
- settings.bridges.source = TorBridgeSource.BridgeDB;
- settings.bridges.builtin_type = null;
- settings.bridges.bridge_strings = torrcBridgeStrings;
- } else {
- settings.bridges.enabled = true;
- settings.bridges.source = TorBridgeSource.UserProvided;
- settings.bridges.builtin_type = null;
- settings.bridges.bridge_strings = torrcBridgeStrings;
- }
- } else {
- // tor has no bridge strings saved, so bridges not in use
- settings.bridges.enabled = false;
- settings.bridges.source = TorBridgeSource.Invalid;
- settings.bridges.builtin_type = null;
- settings.bridges.bridge_strings = [];
- }
- }
-
- /* Proxy */
-
- let proxyString = null;
- if (proxyString = await TorProtocolService.readStringSetting(TorConfigKeys.socks4Proxy)) {
- let [address, port] = parseAddrPort(proxyString);
-
- settings.proxy.enabled = true;
- settings.proxy.type = TorProxyType.Socks4;
- settings.proxy.address = address;
- settings.proxy.port = port;
- settings.proxy.username = null;
- settings.proxy.password = null;
- } else if (proxyString = await TorProtocolService.readStringSetting(TorConfigKeys.socks5Proxy)) {
- let [address, port] = parseAddrPort(proxyString);
- let username = await TorProtocolService.readStringSetting(TorConfigKeys.socks5ProxyUsername);
- let password = await TorProtocolService.readStringSetting(TorConfigKeys.socks5ProxyPassword);
-
- settings.proxy.enabled = true;
- settings.proxy.type = TorProxyType.Socks5;
- settings.proxy.address = address;
- settings.proxy.port = port;
- settings.proxy.username = username;
- settings.proxy.password = password;
- } else if (proxyString = await TorProtocolService.readStringSetting(TorConfigKeys.httpsProxy)) {
- let [address, port] = parseAddrPort(proxyString);
- let authenticator = await TorProtocolService.readStringSetting(TorConfigKeys.httpsProxyAuthenticator);
- let [username, password] = parseUsernamePassword(authenticator);
-
- settings.proxy.enabled = true;
- settings.proxy.type = TorProxyType.HTTPS;
- settings.proxy.address = address;
- settings.proxy.port = port;
- settings.proxy.username = username;
- settings.proxy.password = password;
- } else {
- settings.proxy.enabled = false;
- settings.proxy.type = TorProxyType.Invalid;
- settings.proxy.address = null;
- settings.proxy.port = 0;
- settings.proxy.username = null;
- settings.proxy.password = null;
- }
-
- /* Firewall */
- let firewallString = await TorProtocolService.readStringSetting(TorConfigKeys.reachableAddresses);
- if (firewallString) {
- let allowedPorts = parseAddrPortList(firewallString);
- settings.firewall.enabled = allowedPorts.length > 0;
- settings.firewall.allowed_ports = allowedPorts;
- } else {
- settings.firewall.enabled = false;
- settings.firewall.allowed_ports = [];
- }
-
- this._settings = settings;
-
- return this;
- },
-
// load our settings from prefs
loadFromPrefs: function() {
console.log("TorSettings: loadFromPrefs()");
@@ -704,16 +539,60 @@ const TorSettings = (() => {
return this;
},
- /* Getters and Setters */
+ // set all of our settings at once from a settings object
+ setSettings: function(settings) {
+ console.log("TorSettings: setSettings()");
+ let backup = this.getSettings();
+
+ try {
+ if (settings.bridges.enabled) {
+ this._settings.bridges.enabled = true;
+ this._settings.bridges.source = settings.bridges.source;
+ switch(settings.bridges.source) {
+ case TorBridgeSource.BridgeDB:
+ case TorBridgeSource.UserProvided:
+ this._settings.bridges.bridge_strings = settings.bridges.bridge_strings
+ break;
+ case TorBridgeSource.BuiltIn: {
+ this._settings.bridges.builtin_type = settings.bridges.builtin_type;
+ let bridgeStrings = getBuiltinBridgeStrings(settings.bridges.builtin_type);
+ if (bridgeStrings.length > 0) {
+ this._settings.bridges.bridge_strings = bridgeStrings;
+ } else {
+ throw new Error(`No available builtin bridges of type ${settings.bridges.builtin_type}`);
+ }
+ break;
+ }
+ default:
+ throw new Error(`Bridge source '${settings.source}' is not a valid source`);
+ }
+ } else {
+ this.bridges.enabled = false;
+ }
+
+ // TODO: proxy and firewall
+ } catch(ex) {
+ this._settings = backup;
+ console.log(`TorSettings: setSettings failed => ${ex.message}`);
+ }
+
+ console.log("TorSettings: setSettings result");
+ console.log(this._settings);
+ },
+
+ // get a copy of all our settings
+ getSettings: function() {
+ console.log("TorSettings: getSettings()");
+ // TODO: replace with structuredClone someday (post esr94): https://developer.mozilla.org/en-US/docs/Web/API/structuredClone
+ return JSON.parse(JSON.stringify(this._settings));
+ },
+ /* Getters and Setters */
// Quickstart
get quickstart() {
return {
- // Avoid a race-condition on first-start where this property
- // may be accessed before `self._settings` is initialized.
- // This work-around can be removed when #40598 is resolved.
- get enabled() { return (self._settings ? self._settings.quickstart.enabled : false); },
+ get enabled() { return self._settings.quickstart.enabled; },
set enabled(val) {
if (val != self._settings.quickstart.enabled)
{
1
0

[tor-browser-spec/master] Merge remote-tracking branch 'gitlab-tpo/merge-requests/15'
by boklm@torproject.org 14 Jan '22
by boklm@torproject.org 14 Jan '22
14 Jan '22
commit e4f44d36b4118edaed5bd2158864289549ee4a90
Merge: 67f8b30 4663f9b
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Jan 14 18:02:20 2022 +0100
Merge remote-tracking branch 'gitlab-tpo/merge-requests/15'
processes/ReleaseProcess | 30 ++++++++++++++++++++++--------
1 file changed, 22 insertions(+), 8 deletions(-)
1
0

[tor-browser-spec/master] Bug 40009: Update signing process documentation
by boklm@torproject.org 14 Jan '22
by boklm@torproject.org 14 Jan '22
14 Jan '22
commit 4663f9bfc956e43ff2153e69a7b4996f9e53b5dc
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue Nov 17 03:24:20 2020 +0000
Bug 40009: Update signing process documentation
---
processes/ReleaseProcess | 30 ++++++++++++++++++++++--------
1 file changed, 22 insertions(+), 8 deletions(-)
diff --git a/processes/ReleaseProcess b/processes/ReleaseProcess
index 563f263..3dee1e9 100644
--- a/processes/ReleaseProcess
+++ b/processes/ReleaseProcess
@@ -50,28 +50,41 @@
# For stable releases put tails-dev(a)boum.org into Cc.
#. Codesign the macOS dmg files.
- # XXX: Update with Notarization bits once they are included in our signing
# setup
torsocks ssh mac-signer "mkdir $TORBROWSER_VERSION"
torsocks rsync -avP $TORBROWSER_BUILDDIR/*.dmg mac-signer:$TORBROWSER_VERSION/
torsocks ssh mac-signer
# Unlock the keychain and then...
cd $TORBROWSER_VERSION
+ # Enable networking
+ networksetup -setsecurewebproxystate Ethernet on
# Sign the bundles.
../gatekeeper-signing.sh $TORBROWSER_VERSION
+ # notarize and staple
+ ../notarization.sh $TORBROWSER_VERSION
+ ../stapler.sh $TORBROWSER_VERSION
# Check that it worked.
- tar xf torbrowser-$TORBROWSER_VERSION-osx_zh-CN-signed.tar.bz2
- spctl -a -t exec -vv TorBrowser.app/
- rm -rf TorBrowser.app
+ unzip -d test tb-$TORBROWSER_VERSION-osx_zh-CN-stapled.zip
+ pushd test
+ # Both should be "Tor Browser.app: Accepted" with "source=Notarized Developer ID"
+ spctl -vvvv --assess --type=exec --context context:primary-signature Tor\ Browser.app/
+ spctl -vvvv --assess --type=open --context context:primary-signature Tor\ Browser.app/
+ popd
+ rm -rf test
+ # Disable networking
+ networksetup -setsocksfirewallproxystate Ethernet off
exit
- torsocks rsync -avP mac-signer:$TORBROWSER_VERSION/*.bz2 .
+ torsocks rsync -avP mac-signer:$TORBROWSER_VERSION/tb-*-stapled.zip /path/to/builddir/$TORBROWSER_VERSION/
+
+ cp -rT tor-browser-build/projects/tor-browser/Bundle-Data/mac-applications.dmg dmg
#. Regenerate macOS MAR files from code signed dmg files.
# XXX Go to your directory prepared for recreating the .dmg files and containing
- # the uploaded .bz2 files.
+ # the uploaded .zip files.
./gatekeeper-bundling.sh $TORBROWSER_VERSION
- rsync -avP *.dmg $TORBROWSER_BUILDDIR/
+ rsync -avP ../$TORBROWSER_VERSION-signed/*.dmg $TORBROWSER_BUILDDIR/
cd tor-browser-build
+ mv $TORBROWSER_BUILDDIR/ release/signed/ (or alpha)
# The code signed dmg files should be in the $TORBROWSER_VERSION directory
# Install a recent p7zip version (see ../tools/dmg2mar for instructions)
make dmg2mar-release # or `make dmg2mar-alpha`
@@ -107,13 +120,14 @@
export OSSLSIGNCODE=/path/to/osslsigncode
/path/to/authenticode-timestamping.sh
# Hashes of the signed bundles
- ../tools/hash_signed_bundles.sh
+ ../../../tools/hash_signed_bundles.sh
# All the GPG signatures at last
torsocks rsync -avP $TORBROWSER_BUILDDIR/* signing-machine:tor-browser-bundle/gitian/$TORBROWSER_VERSION/
cd tor-browser-bundle/gitian/$TORBROWSER_VERSION
/path/to/tbb-signing.sh
exit
torsocks rsync -avP signing-machine:tor-browser-bundle/gitian/$TORBROWSER_VERSION/ $TORBROWSER_BUILDDIR
+ # Fetch signatures on unsigned sha256sums from other builds
#. Sync to people.torproject.org
torsocks rsync -avP $TORBROWSER_BUILDDIR/ people.torproject.org:public_html/builds/$TORBROWSER_BUILDDIR
1
0
commit 061d5d0f99cf9a07e471cd477527b1930e83806b
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 14 13:01:07 2022 +0000
Fold in 11.0.4 changelog
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index f7d3d82..f55d6ea 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -47,6 +47,16 @@ Tor Browser 11.5a2 - January 11 2022
* OS X
* Bug 40390: Remove workaround for macOS OpenSSL build breakage [tor-browser-build]
+Tor Browser 11.0.4 - January 11 2022
+ * Windows + OS X + Linux
+ * Update Firefox to 91.5.0esr
+ * Update NoScript to 11.2.14
+ * Bug 40405: Rotate deusexmachina IP address [tor-browser-build]
+ * Bug 40756: Fix up wrong observer removals [tor-browser]
+ * Bug 40758: Remove YEC takeover from about:tor [torbutton]
+ * Linux
+ * Bug 40399: Bring back Noto Sans Gurmukhi and Sinhala fonts [tor-browser-build]
+
Tor Browser 11.0.3 - December 20 2021
* Windows + OS X + Linux
* Update Firefox to 91.4.1esr
1
0

[tor-browser-build/master] Release prep for 11.5a3 (android only)
by sysrqb@torproject.org 13 Jan '22
by sysrqb@torproject.org 13 Jan '22
13 Jan '22
commit f39a438948e05ce1df277cd494c778b1db729ce0
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue Jan 11 17:32:38 2022 +0000
Release prep for 11.5a3 (android only)
Version bumps and changelog update
---
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 23 +
projects/tor-browser/allowed_addons.json | 1012 +++++++++-----------
rbm.conf | 2 +-
3 files changed, 460 insertions(+), 577 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index db93fe2..f7d3d82 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,25 @@
+Tor Browser 11.5a3 - January 14 2022
+ * Android
+ * Update Fenix to 94.1.1
+ * Update NoScript to 11.2.14
+ * Update OpenSSL to 1.1.1m
+ * Update Tor to 0.4.7.3-alpha
+ * Bug 40070: Temporarily redirect DW's v2 address to their new v3 address [android-components]
+ * Bug 40198: Spoof English toggle now overlaps with locale list [fenix]
+ * Bug 40393: Point to a forked version of pion/dtls with fingerprinting fix [tor-browser-build]
+ * Bug 40394: Bump version of Snowflake to 221f1c41 [tor-browser-build]
+ * Bug 40398: Jetify tor-android-service packages [tor-browser-build]
+ * Bug 40682: Disable network.proxy.allow_bypass [tor-browser]
+ * Bug 40736: Disable third-party cookies in Private Browsing Mode [tor-browser]
+ * Build System
+ * Android
+ * Bug 40345: Update Go to 1.17.5 [tor-browser-build]
+ * Bug 40366: Use bullseye to build https-everywhere [tor-browser-build]
+ * Bug 40368: Use system's python3 for android builds [tor-browser-build]
+ * Bug 40373: Update components for mozilla93 [tor-browser-build]
+ * Bug 40379: Update components for mozilla94 [tor-browser-build]
+ * Bug 40395: Update node to 12.22.1 [tor-browser-build]
+
Tor Browser 11.5a2 - January 11 2022
* Windows + OS X + Linux
* Update Firefox to 91.5.0esr
@@ -21,6 +43,7 @@ Tor Browser 11.5a2 - January 11 2022
* Build System
* Windows + OS X + Linux
* Bug 40345: Update Go to 1.17.5 [tor-browser-build]
+ * Bug 40395: Update node to 12.22.1 [tor-browser-build]
* OS X
* Bug 40390: Remove workaround for macOS OpenSSL build breakage [tor-browser-build]
diff --git a/projects/tor-browser/allowed_addons.json b/projects/tor-browser/allowed_addons.json
index d6b10b8..852f4e4 100644
--- a/projects/tor-browser/allowed_addons.json
+++ b/projects/tor-browser/allowed_addons.json
@@ -14,10 +14,10 @@
"name": "Alexander Shutau",
"url": "https://addons.mozilla.org/en-US/firefox/user/13299734/",
"username": "alexanderby",
- "picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/13/13299/13299734.png?mo…"
+ "picture_url": "https://addons.mozilla.org/user-media/userpics/13/13299/13299734.png?modifi…"
}
],
- "average_daily_users": 661457,
+ "average_daily_users": 720637,
"categories": {
"android": [
"experimental",
@@ -31,7 +31,7 @@
"contributions_url": "https://opencollective.com/darkreader?utm_content=product-page-contribute&u…",
"created": "2017-09-19T07:03:00Z",
"current_version": {
- "id": 5262581,
+ "id": 5333770,
"compatibility": {
"firefox": {
"min": "54.0",
@@ -42,20 +42,36 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/darkreader/versions/52625…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/darkreader/versions/53337…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 22,
+ "is_custom": false,
+ "name": {
+ "en-US": "The MIT License"
+ },
+ "url": "http://www.opensource.org/licenses/mit-license.php"
+ },
+ "release_notes": {
+ "en-US": "- Dynamic mode bug fixes.\n- Users' fixes for websites."
+ },
+ "reviewed": null,
+ "version": "4.9.43",
"files": [
{
- "id": 3806938,
- "created": "2021-07-07T11:58:46Z",
- "hash": "sha256:9ba482118d25675af31ee403c740972a106fdccfd117c4449c046b70f1a2d95d",
+ "id": 3878116,
+ "created": "2021-12-07T13:18:32Z",
+ "hash": "sha256:390bdc2609b43627b58e47bb3a3c2f42b156f16bd932b93746196615134db0b1",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 541270,
+ "size": 585173,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3806938/dark_reader-4.9.3…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3878116/dark_reader-4.9.4…",
"permissions": [
+ "alarms",
+ "contextMenus",
"storage",
"tabs",
"theme",
@@ -63,44 +79,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 22,
- "is_custom": false,
- "name": {
- "bg": "MIT/X11 ÐОÑеМз",
- "ca": "LlicÚncia MIT/X11",
- "cs": "MIT/X11 licence",
- "da": "MIT/X11-licens",
- "de": "MIT/X11-Lizenz",
- "el": "ÎΎεια MIT/X11",
- "en-US": "MIT/X11 License",
- "es": "Licencia MIT/X11",
- "eu": "MIT/X11 Lizentzia",
- "fa": "Ù
Ø¬ÙØ² MIT/X11",
- "fr": "Licence MIT/X11",
- "ga-IE": "Ceadúnas MIT/X11",
- "hu": "MIT/X11 licenc",
- "id": "Lisensi MIT/X11",
- "it": "Licenza MIT/X11",
- "nl": "MIT/X11-licentie",
- "pt-PT": "Licença MIT/X11",
- "ru": "ÐОÑÐµÐœÐ·ÐžÑ MIT/X11",
- "sk": "Licencia MIT/X11",
- "sq": "Leje MIT/X11",
- "sr": "MIT/X11 лОÑеМÑа",
- "sv-SE": "MIT/X11-licens",
- "vi": "Giấy phép MIT/X11",
- "zh-CN": "MIT/X11 讞å¯åè®®"
- },
- "url": "http://www.opensource.org/licenses/mit-license.php"
- },
- "release_notes": {
- "en-US": "- Dynamic mode bug fixes and performance improvements.\n- Minor UI improvements.\n- Users' fixes for websites."
- },
- "reviewed": null,
- "version": "4.9.34"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -156,15 +135,15 @@
"zh-CN": "http://darkreader.org/",
"zh-TW": "http://darkreader.org/"
},
- "icon_url": "data:image/png;base64,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",
+ "icon_url": "data:image/png;base64,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",
"icons": {
- "32": "https://addons.cdn.mozilla.net/user-media/addon_icons/855/855413-32.png?mod…",
- "64": "https://addons.cdn.mozilla.net/user-media/addon_icons/855/855413-64.png?mod…",
- "128": "https://addons.cdn.mozilla.net/user-media/addon_icons/855/855413-128.png?mo…"
+ "32": "https://addons.mozilla.org/user-media/addon_icons/855/855413-32.png?modifie…",
+ "64": "https://addons.mozilla.org/user-media/addon_icons/855/855413-64.png?modifie…",
+ "128": "https://addons.mozilla.org/user-media/addon_icons/855/855413-128.png?modifi…"
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-07-07T12:32:16Z",
+ "last_updated": "2021-12-07T16:09:38Z",
"name": {
"ar": "Dark Reader",
"bn": "Dark Reader",
@@ -205,12 +184,12 @@
2400,
1500
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/201/201069.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/201/201069.png?modified…",
"thumbnail_size": [
533,
333
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/201/201069.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/201/201069.jpg?modifi…"
},
{
"id": 201070,
@@ -221,12 +200,12 @@
2400,
1500
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/201/201070.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/201/201070.png?modified…",
"thumbnail_size": [
533,
333
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/201/201070.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/201/201070.jpg?modifi…"
}
],
"promoted": {
@@ -237,10 +216,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.5641,
- "bayesian_average": 4.562755895987041,
- "count": 3838,
- "text_count": 1244
+ "average": 4.5576,
+ "bayesian_average": 4.556315606540176,
+ "count": 4141,
+ "text_count": 1330
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/reviews/",
"requires_payment": false,
@@ -325,11 +304,13 @@
"zh-CN": "https://github.com/darkreader/darkreader",
"zh-TW": "https://github.com/darkreader/darkreader"
},
- "tags": [],
+ "tags": [
+ "dark mode"
+ ],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/versions/",
- "weekly_downloads": 21102
+ "weekly_downloads": 24544
},
"notes": null
},
@@ -342,10 +323,10 @@
"name": "EFF Technologists",
"url": "https://addons.mozilla.org/en-US/firefox/user/5474073/",
"username": "eff-technologists",
- "picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/5/5474/5474073.png?modif…"
+ "picture_url": "https://addons.mozilla.org/user-media/userpics/5/5474/5474073.png?modified=…"
}
],
- "average_daily_users": 704025,
+ "average_daily_users": 690147,
"categories": {
"android": [
"security-privacy"
@@ -369,6 +350,20 @@
}
},
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/https-everywhere/versions…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 5278,
+ "is_custom": true,
+ "name": {
+ "en-US": "Multiple"
+ },
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/license/202…"
+ },
+ "release_notes": {
+ "en-US": "2021.7.13\n* Amend Incognito Key for Chrome and Firefox #20092\n* Fix unexpected arithmetic operations on strings #20043\n* Remove Top Alexa Labeller #20083\n* Update deprecated log function #20101\n* Patch Chrome Test Failure #20102"
+ },
+ "reviewed": null,
+ "version": "2021.7.13",
"files": [
{
"id": 3809748,
@@ -393,21 +388,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 5278,
- "is_custom": true,
- "name": {
- "en-US": "Multiple"
- },
- "url": "https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/license/202…"
- },
- "release_notes": {
- "en-US": "2021.7.13\n* Amend Incognito Key for Chrome and Firefox #20092\n* Fix unexpected arithmetic operations on strings #20043\n* Remove Top Alexa Labeller #20083\n* Update deprecated log function #20101\n* Patch Chrome Test Failure #20102"
- },
- "reviewed": null,
- "version": "2021.7.13"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -437,9 +418,9 @@
},
"icon_url": "data:image/png;base64,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",
"icons": {
- "32": "https://addons.cdn.mozilla.net/user-media/addon_icons/229/229918-32.png?mod…",
- "64": "https://addons.cdn.mozilla.net/user-media/addon_icons/229/229918-64.png?mod…",
- "128": "https://addons.cdn.mozilla.net/user-media/addon_icons/229/229918-128.png?mo…"
+ "32": "https://addons.mozilla.org/user-media/addon_icons/229/229918-32.png?modifie…",
+ "64": "https://addons.mozilla.org/user-media/addon_icons/229/229918-64.png?modifie…",
+ "128": "https://addons.mozilla.org/user-media/addon_icons/229/229918-128.png?modifi…"
},
"is_disabled": false,
"is_experimental": false,
@@ -462,12 +443,12 @@
1280,
800
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/214/214771.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/214/214771.png?modified…",
"thumbnail_size": [
533,
333
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/214/214771.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/214/214771.jpg?modifi…"
}
],
"promoted": {
@@ -478,10 +459,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.6632,
- "bayesian_average": 4.66069632192248,
- "count": 2111,
- "text_count": 415
+ "average": 4.6651,
+ "bayesian_average": 4.66260537524599,
+ "count": 2189,
+ "text_count": 436
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/reviews/",
"requires_payment": false,
@@ -504,11 +485,13 @@
"support_url": {
"en-US": "https://www.eff.org/https-everywhere"
},
- "tags": [],
+ "tags": [
+ "security"
+ ],
"type": "extension",
"url": "https://www.eff.org/https-everywhere",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/versions/",
- "weekly_downloads": 12652
+ "weekly_downloads": 11296
},
"notes": null
},
@@ -521,10 +504,10 @@
"name": "Thomas Rientjes",
"url": "https://addons.mozilla.org/en-US/firefox/user/6937656/",
"username": "Synzvato",
- "picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/6/6937/6937656.png?modif…"
+ "picture_url": "https://addons.mozilla.org/user-media/userpics/6/6937/6937656.png?modified=…"
}
],
- "average_daily_users": 207951,
+ "average_daily_users": 224180,
"categories": {
"android": [
"security-privacy"
@@ -536,7 +519,7 @@
"contributions_url": "",
"created": "2014-06-10T05:46:02Z",
"current_version": {
- "id": 5128293,
+ "id": 5289638,
"compatibility": {
"firefox": {
"min": "56.0a1",
@@ -547,19 +530,34 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/decentraleyes/versions/51…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/decentraleyes/versions/52…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 3338,
+ "is_custom": false,
+ "name": {
+ "en-US": "Mozilla Public License 2.0"
+ },
+ "url": "http://www.mozilla.org/MPL/2.0/"
+ },
+ "release_notes": {
+ "en-US": "<i>New features:</i>\n\n- Added support for preconfigured enterprise policies.\n\n<i>New languages:</i>\n\n- Added support for the Albanian language.\n- Added partial support for the Sinhala language.\n- Added partial support for the Punjabi language.\n\n<i>Enhancements:</i>\n\n- Improved render performance of the popup panel.\n- Implemented preference prioritization logic.\n- Added additional resources to the staging environment.\n- Added dark mode-support to the welcome page.\n\n<i>Other changes:</i>\n\n- Applied a minor security update to the audit tool.\n- Applied various performance optimizations and stability improvements.\n- Improved and extended various existing localizations.",
+ "nl": ""
+ },
+ "reviewed": null,
+ "version": "2.0.16",
"files": [
{
- "id": 3672658,
- "created": "2020-11-05T02:52:56Z",
- "hash": "sha256:2554069168458cc1351e5d37ee995de044e514ec72369829ff0bcbf31d586ddf",
+ "id": 3833987,
+ "created": "2021-09-02T02:21:27Z",
+ "hash": "sha256:fa87ceac1242c26a40c07e31be62d519c4e2cd6ffb5c1f83248cc924766465c9",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 6857292,
+ "size": 6939989,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3672658/decentraleyes-2.0…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3833987/decentraleyes-2.0…",
"permissions": [
"*://*/*",
"privacy",
@@ -572,21 +570,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 3338,
- "is_custom": false,
- "name": {
- "en-US": "Mozilla Public License, version 2.0"
- },
- "url": "http://www.mozilla.org/MPL/2.0/"
- },
- "release_notes": {
- "en-US": "<i>New languages:</i>\n\n- Added support for the Ukrainian language.\n- Added support for the Catalan language.\n- Added partial support for the Bengali language.\n- Added support for the Croatian language.\n\n<i>Enhancements:</i>\n\n- Significantly optimized core web request listener-related logic.\n- Improved support for recent mobile versions of Firefox.\n\n<i>Other changes:</i>\n\n- Applied various performance optimizations and stability improvements.\n- Improved and extended various existing localizations."
- },
- "reviewed": null,
- "version": "2.0.15"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -655,13 +639,13 @@
},
"icon_url": "data:image/png;base64,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",
"icons": {
- "32": "https://addons.cdn.mozilla.net/user-media/addon_icons/521/521554-32.png?mod…",
- "64": "https://addons.cdn.mozilla.net/user-media/addon_icons/521/521554-64.png?mod…",
- "128": "https://addons.cdn.mozilla.net/user-media/addon_icons/521/521554-128.png?mo…"
+ "32": "https://addons.mozilla.org/user-media/addon_icons/521/521554-32.png?modifie…",
+ "64": "https://addons.mozilla.org/user-media/addon_icons/521/521554-64.png?modifie…",
+ "128": "https://addons.mozilla.org/user-media/addon_icons/521/521554-128.png?modifi…"
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2020-11-05T10:28:48Z",
+ "last_updated": "2021-09-03T09:18:28Z",
"name": {
"ar": "Decentraleyes",
"bg": "Decentraleyes",
@@ -705,12 +689,12 @@
700,
521
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/137/137406.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/137/137406.png?modified…",
"thumbnail_size": [
533,
397
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/137/137406.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/137/137406.jpg?modifi…"
},
{
"id": 205808,
@@ -721,12 +705,12 @@
700,
521
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/205/205808.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/205/205808.png?modified…",
"thumbnail_size": [
533,
397
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/205/205808.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/205/205808.jpg?modifi…"
}
],
"promoted": {
@@ -737,10 +721,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.8002,
- "bayesian_average": 4.795452199110953,
- "count": 1151,
- "text_count": 223
+ "average": 4.8099,
+ "bayesian_average": 4.805137452044962,
+ "count": 1189,
+ "text_count": 226
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/reviews/",
"requires_payment": false,
@@ -823,7 +807,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/versions/",
- "weekly_downloads": 4400
+ "weekly_downloads": 4750
},
"notes": null
},
@@ -836,10 +820,10 @@
"name": "EFF Technologists",
"url": "https://addons.mozilla.org/en-US/firefox/user/5474073/",
"username": "eff-technologists",
- "picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/5/5474/5474073.png?modif…"
+ "picture_url": "https://addons.mozilla.org/user-media/userpics/5/5474/5474073.png?modified=…"
}
],
- "average_daily_users": 928678,
+ "average_daily_users": 973188,
"categories": {
"android": [
"security-privacy"
@@ -851,7 +835,7 @@
"contributions_url": "https://www.paypal.me/SupportEFF?utm_content=product-page-contribute&utm_me…",
"created": "2014-05-01T18:23:16Z",
"current_version": {
- "id": 5282284,
+ "id": 5327937,
"compatibility": {
"firefox": {
"min": "52.0",
@@ -862,19 +846,33 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/privacy-badger17/versions…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/privacy-badger17/versions…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 6,
+ "is_custom": false,
+ "name": {
+ "en-US": "GNU General Public License v3.0"
+ },
+ "url": "http://www.gnu.org/licenses/gpl-3.0.html"
+ },
+ "release_notes": {
+ "en-US": "<ul><li>Improved widget replacement system to better handle Google reCAPTCHA. Privacy Badger replaces potentially useful widgets with placeholders. These replacements protect privacy while letting you restore the original widget whenever you want it or need it for the page to function.</li><li>Improved tracking script surrogation system to work across more websites. Script surrogates protect privacy while avoiding site breakages.</li><li>Fixed display of non-tracking domains</li><li>Added more widget replacement placeholders and fixed various site breakages</li><li>Improved translations (Dutch, Finnish, Greek, Persian, Brazilian Portuguese, European Portuguese, Swedish)</li></ul>"
+ },
+ "reviewed": null,
+ "version": "2021.11.23.1",
"files": [
{
- "id": 3826636,
- "created": "2021-08-17T21:36:14Z",
- "hash": "sha256:b7a4ad974856a4a1e1dd286d67f3e029bb74036e6b6f518451c2a1640bf769da",
+ "id": 3872283,
+ "created": "2021-11-23T20:48:55Z",
+ "hash": "sha256:50274cd280413bd0e7c4b53d2ef3d019f6a3ce14a7396fed6d248f295ae7f63e",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 1381527,
+ "size": 1417710,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3826636/privacy_badger-20…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3872283/privacy_badger-20…",
"permissions": [
"tabs",
"http://*/*",
@@ -1277,42 +1275,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 6,
- "is_custom": false,
- "name": {
- "ca": "LlicÚncia GPL (General Public License) de GNU, version 3.0",
- "cs": "GNU General Public License, verze 3.0",
- "de": "GNU General Public License, Version 3.0",
- "el": "GNU General Public License, ÎκΎοÏη 3.0",
- "en-US": "GNU General Public License, version 3.0",
- "es": "Licencia pública GNU, versión 3.0",
- "eu": "GNU General Public License, 3.0 bertsioa",
- "fa": "Ù
Ø¬ÙØ² عÙ
ÙÙ
Û Ú©ÙÛ Ú¯ÙÙØ ÙØ³Ø®ÙÙ Û³Ù«Û°",
- "ga-IE": "GNU General Public License, leagan 3.0",
- "id": "GNU General Public License, versi 3.0",
- "it": "Licenza GNU General Public License, versione 3.0",
- "ja": "GNU General Public License ããŒãžã§ã³ 3.0",
- "nl": "GNU General Public License, versie 3.0",
- "pl": "General Public Licence, wersja 3.0",
- "pt-PT": "GNU General Public License, versão 3.0",
- "ru": "GNU General Public License, веÑÑÐžÑ 3.0",
- "sk": "GNU General Public License, verzia 3.0",
- "sq": "Leje e Përgjithshme Publike GNU, version 3.0",
- "uk": "GNU General Public License, веÑÑÑÑ 3.0",
- "vi": "Giấy phép CÃŽng cá»ng GNU, phiên bản 3.0",
- "zh-CN": "GNU éçšå
Œ
±ææïŒçæ¬ 3.0",
- "zh-TW": "GNU General Public LicenseïŒçæ¬ 3.0"
- },
- "url": "http://www.gnu.org/licenses/gpl-3.0.html"
- },
- "release_notes": {
- "en-US": "2021.8.17 is a bug fix release to fix link clicking on various websites. Notes for 2021.8.11:\n\n<ul><li>Improved buttons in the popup: Disable and Report are larger and use less text, Donate is now a link</li><li>Removed \"Prevent WebRTC from leaking local IP address\" from the options page. If you previously enabled this setting, it remains available for now. However, the setting is now deprecated and will be removed in a future update. To learn more, visit <a href=\"https://outgoing.prod.mozaws.net/v1/af49a1a8134f54e070543c835f324c55c326cee…" rel=\"nofollow\">https://github.com/EFForg/privacybadger/issues/2782</a></li><li>Improved dark theme in Chrome</li><li>Fixed various site breakages</li><li>Improved translations (Simplified Chinese, Esperanto, French, German, Greek, Hebrew, Italian, Polish, Spanish, Swedish, Ukrainian)</li></ul>"
- },
- "reviewed": null,
- "version": "2021.8.17"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -1330,13 +1293,13 @@
},
"icon_url": "data:image/png;base64,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",
"icons": {
- "32": "https://addons.cdn.mozilla.net/user-media/addon_icons/506/506646-32.png?mod…",
- "64": "https://addons.cdn.mozilla.net/user-media/addon_icons/506/506646-64.png?mod…",
- "128": "https://addons.cdn.mozilla.net/user-media/addon_icons/506/506646-128.png?mo…"
+ "32": "https://addons.mozilla.org/user-media/addon_icons/506/506646-32.png?modifie…",
+ "64": "https://addons.mozilla.org/user-media/addon_icons/506/506646-64.png?modifie…",
+ "128": "https://addons.mozilla.org/user-media/addon_icons/506/506646-128.png?modifi…"
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-08-18T09:03:50Z",
+ "last_updated": "2021-11-29T15:57:49Z",
"name": {
"en-US": "Privacy Badger"
},
@@ -1350,12 +1313,12 @@
1920,
1080
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/225/225184.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/225/225184.png?modified…",
"thumbnail_size": [
533,
300
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/225/225184.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/225/225184.jpg?modifi…"
},
{
"id": 171793,
@@ -1366,12 +1329,12 @@
700,
394
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/171/171793.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/171/171793.png?modified…",
"thumbnail_size": [
533,
300
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/171/171793.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/171/171793.jpg?modifi…"
}
],
"promoted": {
@@ -1382,10 +1345,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7917,
- "bayesian_average": 4.788806543982308,
- "count": 1887,
- "text_count": 376
+ "average": 4.7993,
+ "bayesian_average": 4.796428745055322,
+ "count": 1968,
+ "text_count": 387
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/reviews/",
"requires_payment": false,
@@ -1409,7 +1372,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/versions/",
- "weekly_downloads": 15952
+ "weekly_downloads": 16349
},
"notes": null
},
@@ -1425,7 +1388,7 @@
"picture_url": null
}
],
- "average_daily_users": 4899877,
+ "average_daily_users": 5191457,
"categories": {
"android": [
"security-privacy"
@@ -1437,30 +1400,44 @@
"contributions_url": "",
"created": "2015-04-25T07:26:22Z",
"current_version": {
- "id": 5272512,
+ "id": 5341891,
"compatibility": {
"firefox": {
- "min": "57.0",
+ "min": "60.0",
"max": "*"
},
"android": {
- "min": "57.0",
+ "min": "60.0",
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/52…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/53…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 6,
+ "is_custom": false,
+ "name": {
+ "en-US": "GNU General Public License v3.0"
+ },
+ "url": "http://www.gnu.org/licenses/gpl-3.0.html"
+ },
+ "release_notes": {
+ "en-US": "See complete release notes for <a href=\"https://outgoing.prod.mozaws.net/v1/90bb2b83a5130b536588d759f90b137cbd7523e…" rel=\"nofollow\">1.40.2</a>.\n\n<b>Closed as fixed:</b>\n\n<ul><li><a href=\"https://outgoing.prod.mozaws.net/v1/ae662bdc4a6203c3e24028f680e9b6fdbb19b7b…" rel=\"nofollow\">localhost: breakage</a></li></ul>\n<a href=\"https://outgoing.prod.mozaws.net/v1/a10383476cb962cc4f0e0b9f32bba6d8ae0a175…" rel=\"nofollow\">Commits history since last version</a>."
+ },
+ "reviewed": null,
+ "version": "1.40.2",
"files": [
{
- "id": 3816867,
- "created": "2021-07-28T16:56:06Z",
- "hash": "sha256:b3a3c81891acb4620e33dd548b50375aad826376044a6143b5a947d0406a559e",
+ "id": 3886236,
+ "created": "2021-12-26T12:44:41Z",
+ "hash": "sha256:837915929c950651e46ed5cc30aa9faed84136e7715e74369a2eadf328bea065",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 2834032,
+ "size": 2961920,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3816867/ublock_origin-1.3…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3886236/ublock_origin-1.4…",
"permissions": [
"dns",
"menus",
@@ -1484,42 +1461,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 6,
- "is_custom": false,
- "name": {
- "ca": "LlicÚncia GPL (General Public License) de GNU, version 3.0",
- "cs": "GNU General Public License, verze 3.0",
- "de": "GNU General Public License, Version 3.0",
- "el": "GNU General Public License, ÎκΎοÏη 3.0",
- "en-US": "GNU General Public License, version 3.0",
- "es": "Licencia pública GNU, versión 3.0",
- "eu": "GNU General Public License, 3.0 bertsioa",
- "fa": "Ù
Ø¬ÙØ² عÙ
ÙÙ
Û Ú©ÙÛ Ú¯ÙÙØ ÙØ³Ø®ÙÙ Û³Ù«Û°",
- "ga-IE": "GNU General Public License, leagan 3.0",
- "id": "GNU General Public License, versi 3.0",
- "it": "Licenza GNU General Public License, versione 3.0",
- "ja": "GNU General Public License ããŒãžã§ã³ 3.0",
- "nl": "GNU General Public License, versie 3.0",
- "pl": "General Public Licence, wersja 3.0",
- "pt-PT": "GNU General Public License, versão 3.0",
- "ru": "GNU General Public License, веÑÑÐžÑ 3.0",
- "sk": "GNU General Public License, verzia 3.0",
- "sq": "Leje e Përgjithshme Publike GNU, version 3.0",
- "uk": "GNU General Public License, веÑÑÑÑ 3.0",
- "vi": "Giấy phép CÃŽng cá»ng GNU, phiên bản 3.0",
- "zh-CN": "GNU éçšå
Œ
±ææïŒçæ¬ 3.0",
- "zh-TW": "GNU General Public LicenseïŒçæ¬ 3.0"
- },
- "url": "http://www.gnu.org/licenses/gpl-3.0.html"
- },
- "release_notes": {
- "en-US": "<b>Closed as fixed:</b>\n\n- <a href=\"https://outgoing.prod.mozaws.net/v1/ed252fd41f6f4eae57ca94c28a28d4d595db8b3…" rel=\"nofollow\">uBO 1.37 breaks at least some sites that use googletagmanager if specific filters in use</a>"
- },
- "reviewed": null,
- "version": "1.37.2"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -1531,7 +1473,7 @@
"da": "En effektiv blocker: let pÃ¥ hukommelse og CPU forbrug,. Kan indlÊse og anvende tusindvis af flere filtre end andre populÊre blockere derude.\n\nIllustreret oversigt over effektiviteten: <a href=\"https://outgoing.prod.mozaws.net/v1/54af2c2b64bc518ff8c7fb93e22ea308d599fca…" rel=\"nofollow\">https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP</a> :-Efficiency-compared\n\nAnvendelse: Den Store power knap i pop-up-vinduet kan permanent deaktivere/aktivere uBlock pÃ¥ det aktuelle websted. Dette gÊlder kun for det aktuelle websted, det er ikke en global afbryderknap.\n\n***\n\nFleksibel, det er mere end en \"ad blocker\": den kan ogsÃ¥ lÊse og oprette filtre fra hosts-filer.\n\nFra starten af er disse lister over filtre indlÊst og anvendt:\n\n- EasyList\n- Peter Loweâs Ad server list\n- EasyPrivacy\n- Malware domains\n\nFlere lister er tilgÊngelige hvis du Þnsker det:\n\n- Fanboyâ
s Enhanced Tracking List\n- Dan Pollockâs hosts file\n- hpHostsâs Ad and tracking servers\n- MVPS HOSTS\n- Spam404\n- Osv.\n\nSelvfÞlgelig vil flere aktive filtre betyde hÞjere hukommelsesforbrug. Selv efter tilfÞjelse af Fanboys to ekstra lister, og hpHostsâs Ad and tracking server, har uBlockâ stadig et lavere hukommelsesforbrug end andre blockere derude.\n\nVÊr desuden opmÊrksom pÃ¥, at hvis du vÊlger nogle af disse ekstra lister kan det fÞre til hÞjere sandsynlighed for, at webstedet bliver vist forkert - isÊr de lister der normalt anvendes som hosts-fil.\n\n***\n\nUden de forudindstillede lister med filtre er denne udvidelse intet. Hvis du nogensinde virkelig Þnsker at bidrage med noget, sÃ¥ tÊnk pÃ¥ de mennesker der arbejder hÃ¥rdt for at vedligeholde de filterlister du bruger, som alle blev stillet gratis til rÃ¥dighed for alle.\n\n***\n\nGratis.\nOpen source med offentlig licens (GPLv3)\nFor brugere, af brugere.\n\nBidragydere @ Github: <a href=\"https:
//outgoing.prod.mozaws.net/v1/9bfaba4f3fe3310ae0a3189187f5fbab185097d85398752765e086889775079e/https%3A//github.com/gorhill/uBlock/graphs/contributors\" rel=\"nofollow\">https://github.com/gorhill/uBlock/graphs/contributors</a>\nBidragydere @ Crowdin: <a href=\"https://outgoing.prod.mozaws.net/v1/6a44868e1580018df8d4d87adf8e97cc74b71b9…" rel=\"nofollow\">https://crowdin.net/project/ublock</a>\n\n***\n\nDette er en tidlig version. Hav dette i tankerne nÃ¥r du skriver en anmeldelse.\n\nProjekt changelog:\n<a href=\"https://outgoing.prod.mozaws.net/v1/de148deb19b52874eb4c5726859834f3294a605…" rel=\"nofollow\">https://github.com/gorhill/uBlock/releases</a>",
"de": "Ein effizienter Blocker: Geringer Speicherbedarf und niedrige CPU-Belastung - und dennoch werden Tausende an Filtern mehr angewendet als bei anderen populÀren Blockern.\n\nEin illustrierter Ãberblick ÃŒber seine Effizienz: <a href=\"https://outgoing.prod.mozaws.net/v1/407a22e7e017297705e927653caa7e67ad67aab…" rel=\"nofollow\">https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared</a>\n\nBenutzung: Der An-/Ausschaltknopf beim Klicken des Erweiterungssymbols dient zum An-/Ausschalten von uBlock auf der aktuellen Webseite. Dies wirkt sich also nur auf die aktuelle Webseite aus und nicht global.\n\n***\n\nuBlock ist flexibel, denn es ist mehr als ein \"Werbeblocker\": Es verarbeitet auch Filter aus mehreren hosts-Dateien.\n\nStandardmÀÃig werden folgende Filterlisten geladen und angewandt:\n\n- EasyList\n- Peter Loweâs Ad server list\n- EasyP
rivacy\n- Malware domains\n\nAuf Wunsch können zusÀtzliche Listen ausgewÀhlt werden:\n\n- Fanboyâs Enhanced Tracking List\n- Dan Pollockâs hosts file\n- hpHostsâs Ad and tracking servers\n- MVPS HOSTS\n- Spam404\n- etc.\n\nNatÃŒrlich ist der Speicherbedarf umso höher, desto mehr Filter angewandt werden. Aber selbst mit den zwei zusÀtzlichen Listen von Fanboy und hpHostsâs Ad and tracking servers ist der Speicherbedarf von uBlockâ geringer als bei anderen sehr populÀren Blockern.\n\nBedenke allerdings, dass durch die Wahl zusÀtzlicher Listen die Wahrscheinlichkeit gröÃer wird, dass bestimmte Webseiten nicht richtig geladen werden - vor allem bei Listen, die normalerweise als hosts-Dateien verwendet werden.\n\n***\n\nOhne die vorgegebenen Filterlisten ist diese Erweiterung nichts. Wenn du also etwas beitragen möchtest, dann denke an die Menschen, die hart dafÃŒr arbeiten, die von dir benutzten Filterlisten zu pflegen, und diese fÃŒr uns alle frei verfÃŒgbar gemacht
haben.\n\n***\n\nKostenlos.\nOpen source mit Public License (GPLv3)\nFÃŒr Benutzer von Benutzern.\n\nMitwirkende @ Github: <a href=\"https://outgoing.prod.mozaws.net/v1/9bfaba4f3fe3310ae0a3189187f5fbab185097d…" rel=\"nofollow\">https://github.com/gorhill/uBlock/graphs/contributors</a>\nMitwirkende @ Crowdin: <a href=\"https://outgoing.prod.mozaws.net/v1/6a44868e1580018df8d4d87adf8e97cc74b71b9…" rel=\"nofollow\">https://crowdin.net/project/ublock</a>\n\n***\n\nDies ist eine ziemlich frÃŒhe Version - bitte denke daran, wenn du sie bewertest.\n\nChange log des Projekts:\n<a href=\"https://outgoing.prod.mozaws.net/v1/de148deb19b52874eb4c5726859834f3294a605…" rel=\"nofollow\">https://github.com/gorhill/uBlock/releases</a>",
"el": "ÎÎœÎ±Ï Î±ÏοÏελεÏΌαÏικÏÏ Î±ÎœÎ±ÏÏολÎÎ±Ï ÎŽÎ¹Î±ÏηΌίÏεÏΜ: ÏαÏÏλο Ïο ελαÏÏÏ ÏοÏ
αÏοÏÏÏÏΌα ÏÏη ΌΜήΌη και ÏοΜ εÏεΟεÏγαÏÏή ÎŒÏοÏεί Μα εÏαÏÎŒÏÏει ÏÎ¹Î»Î¹Î¬ÎŽÎµÏ ÏεÏιÏÏÏÏεÏα ÏίλÏÏα Ïε ÏÏÎÏη Όε άλλοÏ
Ï ÎŽÎ·ÎŒÎ¿ÏÎ¹Î»ÎµÎ¯Ï blockers.\n\nÎÏεικοΜιζÏΌεΜη εÏιÏκÏÏηÏη ÏÎ·Ï Î±ÏοÏελεÏΌαÏικÏÏηÏÎ¬Ï ÏοÏ
: <a href=\"https://outgoing.prod.mozaws.net/v1/407a22e7e017297705e927653caa7e67ad67aab…" rel=\"nofollow\">https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared</a>\n\nΧÏήÏη: ΀ο Όεγάλο ÏλήκÏÏο αÏεΜεÏγοÏοίηÏηÏ/εΜεÏγοÏοίηÏÎ·Ï ÏÏο αΜαΎÏ
ÏΌεΜο ÏαÏάΞÏ
Ïο, ÏÏηÏιΌεÏει ÏÏηΜ εΜαλλαγή καÏάÏÏαÏÎ·Ï ÏοÏ
uBlock
για ÏοΜ ÏÏÎÏοΜÏα ιÏÏÏÏοÏο. ΠεÏαÏΌογή ÏÎ·Ï ÏÏΞΌιÏÎ·Ï Î±Ï
ÏÎ®Ï Î³Î¯ÎœÎµÏαι ÎŒÏΜο για ÏοΜ ÏÏÎÏοΜÏα ιÏÏÏÏοÏο και ΎεΜ εÏιβάλλεÏαι καΞολικά.\n\n***\n\nÎÏ
ÎλικÏοÏ, είΜαι Ïολλά ÏεÏιÏÏÏÏεÏα αÏÏ ÎÎœÎ±Ï Î±ÏλÏÏ \"ad blocker\": ÎŒÏοÏεί εÏιÏλÎοΜ Μα Ύιαβάζει και Μα ΎηΌιοÏ
Ïγεί ÏίλÏÏα αÏÏ Î±ÏÏεία hosts.\n\nÎαÏά ÏÏοεÏιλογή, οι λίÏÏÎµÏ ÏίλÏÏÏΜ ÏοÏ
ÏοÏÏÏΜοΜÏαι και εÏιβάλλοΜÏαι είΜαι οι εΟήÏ:\n\n- EasyList\n- ÎίÏÏα ΎιακοΌιÏÏÏΜ ΎιαÏηΌίÏεÏΜ ÏοÏ
Peter Lowe\n- EasyPrivacy\n- ÎακÏβοÏ
λοι ÏοΌείÏ\n\nÎÏιÏλÎοΜ λίÏÏÎµÏ ÎµÎ¯ÎœÎ±Î¹ ΎιαΞÎÏÎ¹ÎŒÎµÏ Î³Î¹Î± Μα εÏιλÎΟεÏε εάΜ Ïο εÏιΞÏ
ΌείÏε:\n\n- ÎΜιÏÏÏ
ÎŒÎΜη ÎÏΜÏÏική ÎίÏÏα ÏοÏ
Fanboy\n- ÎÏÏείο hosts ÏÎ
¿Ï
Dan Pollock\n- ÎιαÏηΌίÏÎµÎ¹Ï ÎºÎ±Î¹ ΎιακοΌιÏÏÎÏ Î¯ÏΜÏÏÎ·Ï hpHosts\n- MVPS HOSTS\n- Spam404\n- και ÏολλÎÏ Î¬Î»Î»ÎµÏ\n\nΊÏ
Ïικά, ÏÏο ÏεÏιÏÏÏÏεÏα ÏίλÏÏα εΜεÏγοÏοιοÏΜÏαι, ÏÏÏο αÏ
ΟάΜεÏαι Ïο αÏοÏÏÏÏΌα ÏÎ·Ï ÎŒÎœÎ®ÎŒÎ·Ï. ΩÏÏÏÏο, ακÏΌη και ΌεÏά αÏÏ ÏηΜ ÏÏοÏΞήκη ÎŽÏ
ο εÏιÏλÎοΜ λιÏÏÏΜ, ÏοÏ
Fanboy και ÏÎ·Ï Î»Î¯ÏÏÎ±Ï ÎŽÎ¹Î±ÏηΌίÏεÏΜ και ΎιακοΌιÏÏÏΜ ίÏΜÏÏÎ·Ï hpHosts, Ïο uBlockâ ÏÏ
ΜεÏίζει Μα ÎÏει ÏαΌηλÏÏεÏο αÏοÏÏÏÏΌα ÎŒÎœÎ®ÎŒÎ·Ï Î±ÏÏ Î¬Î»Î»Î¿Ï
Ï ÎŽÎ·ÎŒÎ¿ÏÎ¹Î»ÎµÎ¯Ï Î±ÎœÎ±ÏÏολείÏ.\n\nÎÏίÏηÏ, ÎÏεÏε Ï
Ï'ÏÏηΜ ÏÏι ΎιαλÎγοΜÏÎ±Ï ÎŒÎµÏικÎÏ Î±ÏÏ ÏÎ¹Ï ÎΟÏÏα λίÏÏÎµÏ ÎŒÏοÏεί Μα οΎηγήÏει Ïε ÏÎ¹ÎžÎ±ÎœÏ ÏÏάλΌα ÏÏηΜ ιÏÏοÏελίΎα -- ειΎικά ÎµÎºÎµÎ¯ÎœÎµÏ ÏοÏ
καΜοΜικά ÏÏηÏι
ΌοÏοιοÏΜÏαι ÏαΜ host αÏÏεία.\n\n***\n\nΧÏÏÎ¯Ï ÏÎ¹Ï Ï
ÏάÏÏοÏ
ÏÎµÏ Î»Î¯ÏÏÎµÏ ÏίλÏÏÏΜ, αÏ
Ïή η εÏÎκÏαÏη ΎεΜ ÎÏει καΌία αΟία. ÎάΜ ÏοÏΠλοιÏÏΜ ΞελήÏεÏε ÏÏαγΌαÏικά Μα ÏÏ
ΜειÏÏÎÏεÏε κάÏι, αΜαλογιÏÏείÏε ÏοÏ
Ï Î±ÎœÎžÏÏÏοÏ
Ï ÏοÏ
εÏγάζοΜÏαι ÏκληÏά για Μα ΎιαÏηÏήÏοÏ
Μ ÏÎ¹Ï Î»Î¯ÏÏÎµÏ ÏίλÏÏÏΜ ÏοÏ
ÏÏηÏιΌοÏοιείÏε, οι οÏÎ¿Î¯ÎµÏ ÎŽÎ¹Î±ÏÎΞηκαΜ ÏÏÎ¿Ï ÏÏήÏη Ïε ÏλοÏ
Ï, ÎŽÏÏεάΜ.\n\n***\n\nÎÏÏεάΜ.\nÎΜοιÏÏÎ¿Ï ÎºÏΎικα Όε άΎεια ΎηΌÏÏÎ¹Î±Ï ÏÏήÏÎ·Ï (GPLv3)\nÎÏÏ ÏοÏ
Ï ÏÏήÏÏÎµÏ Î³Î¹Î± ÏοÏ
Ï ÏÏήÏÏεÏ.\n\nΣÏ
ΜειÏÏÎÏοΜÏÎµÏ @ Github: <a href=\"https://outgoing.prod.mozaws.net/v1/9bfaba4f3fe3310ae0a3189187f5fbab185097d…" rel=\"nofollow\">htt
ps://github.com/gorhill/uBlock/graphs/contributors</a>\nΣÏ
ΜειÏÏÎÏοΜÏÎµÏ @ Crowdin: <a href=\"https://outgoing.prod.mozaws.net/v1/6a44868e1580018df8d4d87adf8e97cc74b71b9…" rel=\"nofollow\">https://crowdin.net/project/ublock</a>\n\n***\n\nÎίΜαι Όια αÏκεÏά ÏÏÏÏÏη ÎκΎοÏη, κÏαÏήÏÏε Ïο Ï
ÏÏÏη καÏά ÏηΜ αΟιολÏγηÏη.\n\nÎÏÏείο αλλαγÏΜ ÏοÏ
ÎÏγοÏ
:\n<a href=\"https://outgoing.prod.mozaws.net/v1/de148deb19b52874eb4c5726859834f3294a605…" rel=\"nofollow\">https://github.com/gorhill/uBlock/releases</a>",
- "en-US": "uBlock Origin is <b>not</b> an \"ad blocker\", it's a wide-spectrum content blocker with CPU and memory efficiency as a primary feature.\n\n***\n\nOut of the box, these lists of filters are loaded and enforced:\n\n- EasyList (ads)\n- Peter Loweâs Ad server list (ads and tracking)\n- EasyPrivacy (tracking)\n- Malware domains\n\nMore lists are available for you to select if you wish:\n\n- Fanboyâs Enhanced Tracking List\n- Dan Pollockâs hosts file\n- MVPS HOSTS\n- Spam404\n- And many others\n\nAdditionally, you can point-and-click to block JavaScript locally or globally, create your own global or local rules to override entries from filter lists, and many more advanced features.\n\n***\n\nFree.\nOpen source with public license (GPLv3)\nFor users by users.\n\nIf ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.\n\n***\n\n<ul><li><a h
ref=\"https://outgoing.prod.mozaws.net/v1/788d66e7299bdfb1da05832994551640d0ad441…" rel=\"nofollow\">Documentation</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/de148deb19b52874eb4c5726859834f3294a605…" rel=\"nofollow\">Release notes</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/32c3d6819f5263e56c265042e8d34e2da4d974e…" rel=\"nofollow\">Community support @ Reddit</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/9bfaba4f3fe3310ae0a3189187f5fbab185097d…" rel=\"nofollow\">Contributors @ GitHub</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/6a44868e1580018df8d4d87adf8e97cc74b71b9…" rel=\"nofoll
ow\">Contributors @ Crowdin</a></li></ul>",
+ "en-US": "uBlock Origin is <b>not</b> an \"ad blocker\", it's a wide-spectrum content blocker with CPU and memory efficiency as a primary feature.\n\n***\n\nOut of the box, uBO blocks ads, trackers, coin miners, popups, etc. through the following lists of filters, enabled by default:\n\n- EasyList (ads)\n- EasyPrivacy (tracking)\n- Peter Loweâs Ad server list (ads and tracking)\n- Online Malicious URL Blocklist\n- uBO's own lists\n\nMore lists are available for you to select if you wish:\n\n- EasyList Cookie\n- Fanboy Annoyances\n- AdGuard Annoyances\n- Dan Pollockâs hosts file\n- And many others\n\nAdditionally, you can point-and-click to block JavaScript locally or globally, create your own global or local rules to override entries from filter lists, and many more advanced features.\n\n***\n\nFree.\nOpen source with public license (GPLv3)\nFor users by users.\n\nIf ever you really do want to contribute something, think about the people working hard to maintain the fi
lter lists you are using, which were made available to use by all for free.\n\n***\n\n<ul><li><a href=\"https://outgoing.prod.mozaws.net/v1/788d66e7299bdfb1da05832994551640d0ad441…" rel=\"nofollow\">Documentation</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/de148deb19b52874eb4c5726859834f3294a605…" rel=\"nofollow\">Release notes</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/32c3d6819f5263e56c265042e8d34e2da4d974e…" rel=\"nofollow\">Community support @ Reddit</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/9bfaba4f3fe3310ae0a3189187f5fbab185097d…" rel=\"nofollow\">Contributors @ GitHub</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/6a44868e1580018df8
d4d87adf8e97cc74b71b962a73dd5a64604f99db767287/https%3A//crowdin.net/projec…" rel=\"nofollow\">Contributors @ Crowdin</a></li></ul>",
"es": "Un bloqueador eficiente: capaz de cargar y aplicar miles más de filtros en comparación con otros populares bloqueadores, manteniendo un mÃnimo consumo de memoria y CPU.\n\nEjemplo con imágenes ilustrando su eficiencia (en inglés): <a href=\"https://outgoing.prod.mozaws.net/v1/407a22e7e017297705e927653caa7e67ad67aab…" rel=\"nofollow\">https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared</a>\n\nUso: El botón grande de apagado/encendido en la ventana emergente de la extensión, es para deshabilitar/habilitar uBlockâ permanentemente en el sitio web actual. Aplica solo al sitio web actual, no activa o desactiva la extensión de forma general.\n\n***\n\nFlexible, es más que un \"bloqueador de anuncios\": también puede leer y crear filtros desde archivos hosts.\n\nPor defecto ya trae configuradas las siguientes listas de filtros:\n\n- Easy
List\n- Peter Loweâs Ad server list\n- EasyPrivacy\n- Malware domains\n\nOtras listas disponibles pueden ser seleccionadas, si se desea:\n\n- Fanboyâs Enhanced Tracking List\n- Dan Pollockâs hosts file\n- hpHostsâs Ad and tracking servers\n- MVPS HOSTS\n- Spam404\n- Y muchas más\n\nPor supuesto, mientras más filtros se activen, mayor será el consumo de memoria. No obstante, incluso después de agregar las dos listas adicionales de \"Fanboy's\" y la \"hpHostsâs Ad and tracking servers\", uBlockâ consume menos memoria que otros bloqueadores similares.\n\nTambién tenga en cuenta que seleccionar algunas de estas listas adicionales puede conducir a una mayor probabilidad de aparición de problemas al mostrar un sitio web -- especialmente las listas utilizadas normalmente como archivo hosts.\n\n***\n\nSin las listas preestablecidas de filtros, esta extensión no serÃa nada. Asà que si alguna vez realmente quieres aportar algo, piensa en las personas que trabajan duro par
a mantener estas listas de filtros, disponibles de forma gratuita para todos.\n\n***\n\nLibre.\nCódigo abierto con licencia pública (GPLv3)\nHecho para usuarios por los usuarios.\n\nColaboradores @ Github: <a href=\"https://outgoing.prod.mozaws.net/v1/9bfaba4f3fe3310ae0a3189187f5fbab185097d…" rel=\"nofollow\">https://github.com/gorhill/uBlock/graphs/contributors</a>\nColaboradores @ Crowdin: <a href=\"https://outgoing.prod.mozaws.net/v1/7bae4395c4e5926bb237c1ef9b0f391cb005dbd…" rel=\"nofollow\">https://crowdin.com/project/ublock</a>\n\n***\n\nRegistro de cambios del proyecto:\n<a href=\"https://outgoing.prod.mozaws.net/v1/de148deb19b52874eb4c5726859834f3294a605…" rel=\"nofollow\">https://github.com/gorhill/uBlock/releases</a>",
"eu": "Blokeatzaile eraginkor bat: Memoria eta PUZ erabileran arina da, eta hala ere beste blokeatzaile ezagun batzuk baino milaka iragazki gehiago kargatu eta ezarri ditzake.\n\nBere eraginkortasunaren adibide grafikoa: <a href=\"https://outgoing.prod.mozaws.net/v1/407a22e7e017297705e927653caa7e67ad67aab…" rel=\"nofollow\">https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared</a>\n\nErabilera: Laster-leihoko pizte botoi handia uBlock uneko gunean behin betiko gaitu edo desgaitzeko da. Uneko guneari dagokio soilik, ez da botoi orokor bat.\n\n***\n\nMalgua, iragarki blokeatzaile bat baino gehiago da, ostalarietako iragazkiak sortu eta irakurri ditzake ere.\n\nLehenetsita, honako iragazki zerrendak kargatu eta ezartzen ditu:\n\n- EasyList\n- Peter Loweren iragarki zerbitzarien zerrenda\n- EasyPrivacy\n- Malware domeinuak\n\nZerrenda gehiago dituzu esku
ra hautatzeko hala nahiez gero:\n\n- Fanboyren hobetutako jarraipen zerrenda\n- Dan Pollocken ostalari zerrenda\n- hpHostsen iragarki eta jarraipen zerbitzariak\n- MVPS Ostalariak\n- Spam404\n- Eta beste hainbat gehiago\n\nJakina, iragazki gehiago kargatuta memoria erabilera handiagoa da. Hala ere, Fanboyren bi zerrenda gehigarriak eta hpHostsen iragarki eta jarraipen zerbitzariak kargatuta, uBlockek beste blokeatzaile ezagun batzuk baino memoria gutxiago erabiltzen du.\n\nBestalde, kontuan izan zerrenda gehigarri hauetako batzuk gaitzeak guneren bat hausteko aukerak handitzen dituela, batez ere ostalari fitxategi gisa erabili ohi diren zerrendak.\n\n***\n\nLehenetsitako iragazki zerrendarik gabe gehigarri honek ez du ezer egiten. Beraz ezertan lagundu nahi baduzu pentsa ezazu erabiltzen dituzun iragazki zerrendak egunean mantentzeko tinko lanean dabiltzan horietan, guztiek erabiltzeko moduan doan eskuragarri jarri dituztenak.\n\n***\n\nDoan.\nLizentzia libreduna (GPLv3)\nErabiltzai
leek erabiltzaileentzat sortua.\n\nParte-hartzaileak @ Github: <a href=\"https://outgoing.prod.mozaws.net/v1/9bfaba4f3fe3310ae0a3189187f5fbab185097d…" rel=\"nofollow\">https://github.com/gorhill/uBlock/graphs/contributors</a>\nParte-hartzaileak @ Crowdin: <a href=\"https://outgoing.prod.mozaws.net/v1/6a44868e1580018df8d4d87adf8e97cc74b71b9…" rel=\"nofollow\">https://crowdin.net/project/ublock</a>\n\n***\n\nNahiko berria da bertsio hau, kontua izan honi buruz idaztean.\n\nProiektuaren aldaketa egunkaria:\n<a href=\"https://outgoing.prod.mozaws.net/v1/de148deb19b52874eb4c5726859834f3294a605…" rel=\"nofollow\">https://github.com/gorhill/uBlock/releases</a>",
"fa": "ÛÚ© ØšÙØ§Ú©Ø± Ù
ÙØ«Ø±: ÙÛØ§Ø² ؚ٠ٟرداز؎ ØØ§ÙØžÙ Ù Ø³Û ÙŸÛ ÛÙ Ú©Ù
تر ٠در عÛÙ ØØ§Ù Ø§Ø¬Ø±Ø§Û ÙØ²Ø§Ø±Ø§Ù ÙÛÙØªØ± ØšÛØŽØªØ± از Ø³Ø§ÛØ± Ø±ÙØšØ§Û ØšÙØ§Ú©Ø± Ù
ÙØ¬Ùد.\n\nØšØ±Ø±Ø³Û ØªØµÙÛØ±Û از کاراÛÛ Ø§ÛÙ Ù
ØØµÙÙ: <a href=\"https://outgoing.prod.mozaws.net/v1/407a22e7e017297705e927653caa7e67ad67aab…" rel=\"nofollow\">https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared</a>\n\nکارؚرد: دکÙ
Ù Û ÙŸØ§ÙØ± ؚزرگ در ÙŸÙØ¬Ø±Ù ØšØ±Ø§Û ÙØ¹Ø§Ù ÛØ§ ØºÛØ± ÙØ¹Ø§Ù کرد٠uBlock ØšØ±Ø§Û ØµÙØÙ Û Ø¬Ø§Ø±Û Ø§Ø³Øª. ÙÙØ· ØšØ±Ø§Û ÙÙ
ÛÙ Ø³Ø§ÛØª اعÙ
ا٠Ù
ÛØŽÙØ¯Ø Ø¯Ú©Ù
Ù Û ÙŸØ§ÙØ±Û ØšØ±Ø§Û ØªÙ
اÙ
Ø³Ø§ÛØª ÙØ§ ÙÛØ³Øª.\n\n***\n\nØ§ÙØ¹Ø·Ø§Ù ÙŸØ°ÛØ±Û Ø¢Ù ØšÛØŽØªØ± از \"ad blocker\" است: ÙÙ
ÚÙÛÙ Ù
Û ØªÙØ§Ùد ÙÛÙØªØ± ÙØ§ را از ÙØ§Ø³Øª
Ù
ÛØ²ØšØ§ÙØ ØšØ®ÙØ§Ùد ٠ؚسازد.\n\nØšÛØ±Ù٠از Ø¬Ø¹ØšÙØ اÛÙ ÙÛØ³Øª ÙÛÙØªØ±Ùا ØšØ§Ø±Ú¯Ø°Ø§Ø±Û Ù Ø§Ø¬Ø±Ø§ Ù
ÛØŽÙÙØ¯:\n\n- EasyList\n- ÙÛØ³Øª Ø³Ø±ÙØ± تؚÙÛØºØ§ØªÛ Peter Lowe\n- EasyPrivacy\n-داÙ
ÙÙ ÙØ§Û ØªØ±ÙØ¬Ø§Ù\n\nاگر Ù
ÛØ®ÙاÙÛØ¯ ÙÛØ³Øª ÙØ§Û ØšÛØŽØªØ± ØšØ±Ø§Û Ø§ÙØªØ®Ø§Øš ØŽÙ
ا در دسترس ÙØ³ØªÙد:\n\n- Ø±Ø¯ÛØ§ØšÛ ÙÛØ³Øª ÙŸÛØŽØ±ÙØªÙ Û Fanboy\n- Ù
ÛØ²ØšØ§ÙÛ ÙØ§ÛÙ Dan Pollock\n- تؚÙÛØº Ù Ø±Ø¯ÛØ§ØšÛ Ø³Ø±ÙØ± hpHosts\n- ÙØ§Ø³Øª ÙØ§Û MVPS\n- اسٟÙ
404\n- Ù ØšØ³ÛØ§Ø±Û دÛگر\n\nØ§ÙØšØªÙ ÙØ±ÚÙ ÙÛÙØªØ±ÙØ§Û ØšÛØŽØªØ±Û ÙØ¹Ø§Ù ØšØ§ØŽÙØ¯Ø ØØ§ÙØžÙ Û ØšÛØŽØªØ±Û Ø§ØŽØºØ§Ù Ø®ÙØ§Ùد ؎د. ؚا اÛÙØØ§ÙØ ØØªÛ ٟس از اضاÙ٠کرد٠د٠ÙÛØ³Øª اضاÙÛ Fanboy Ù Ø³Ø±ÙØ± ÙØ§Û Ø±Ø¯ÛØ§ØšÛ ٠تؚÙÛØº hpHosts Ø Ù
ÛØšÛÙÛÙ
Ú©Ù uBlock ÙÙÙØ² ØØ§Ù؞٠ٟاÛÛÙ ØªØ±Û Ø§Ø² دÛگر ØšØ±ÙØ§Ù
Ù ÙØ§Û Ù
؎اؚ٠ا؎غا٠Ù
ÛÚ©ÙØ¯.\n\nÙÙ
ÚÙÛ
ÙØ ؚداÙÛØ¯ Ú©Ù Ø§ÙØªØ®Ø§Øš ØšØ±Ø®Û Ø§Ø² اÛÙ ÙÛØ³Øª ÙØ§ Ù
Ù
ک٠است Ø§ÙØ²Ø§ÛØŽ Ø§ØØªÙ
Ø§Ù ØŽÚ©Ø³ØªÚ¯Û ÙØš Ø³Ø§ÛØª--ØšÙ ÙÛÚ٠آÙÙØ§ÛÛ Ú©Ù ØšÙ Ø·ÙØ± Ù
عÙ
Ù٠ؚ٠عÙÙØ§Ù Ù
ÛØ²ØšØ§Ù ÙØ§ÛÙ ØŽÙØ§Ø®ØªÙ Ù
ÛØŽÙÙØ¯ را در ÙŸÛ Ø¯Ø§ØŽØªÙ ØšØ§ØŽØ¯.\n\n***\n\nؚدÙÙ ÙÙØ±Ø³Øª از ÙŸÛØŽ ØªØ¹ÛÛÙ ØŽØ¯Ù Û ÙÛÙØªØ±Ø اÛÙ Ø§ÙØ²ÙÙÙ ÙÛÚ Ø§Ø³Øª. ٟس اگر ÙØ§Ùعا Ù
Û Ø®ÙØ§ÙÛØ¯ Ú©Ù
Ú©Û Ú©Ø±Ø¯Ù ØšØ§ØŽÛØ¯Ø ØšÙ Ø§ÙØ±Ø§Ø¯Û Ùکر Ú©ÙÛØ¯ Ú©Ù ØšØ±Ø§Û ØÙØž ÙÛØ³Øª ÙÛÙØªØ± Ù
ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù ØŽÙ
ا سخت کار Ù
ÛÚ©ÙÙØ¯ Ú©Ù ØšØ±Ø§Û Ø§Ø³ØªÙØ§Ø¯Ù ÙÙ
٠ؚ٠راÛگا٠در دسترس ؚا؎د.\n\n***\n\nراÛگاÙ.\nÙ
ت٠ؚاز ؚا Ù
Ø¬ÙØ² عÙ
ÙÙ
Û (GPLv3)\nØšØ±Ø§Û Ú©Ø§Ø±ØšØ±Ø§Ù ØªÙØ³Ø· کارؚراÙ.\n\nÙ
؎ارکت Ú©ÙÙØ¯Ú¯Ø§Ù در Ú¯ÛØª ÙØ§Øš: <a href=\"https://outgoing.prod.mozaws.net/v1/9bfaba4f3fe3310ae0a3189187f5fbab185097d…
gorhill/uBlock/graphs/contributors\" rel=\"nofollow\">https://github.com/gorhill/uBlock/graphs/contributors</a>\nÙ
؎ارکت Ú©ÙÙØ¯Ú¯Ø§Ù در کرادÛÙ <a href=\"https://outgoing.prod.mozaws.net/v1/6a44868e1580018df8d4d87adf8e97cc74b71b9…" rel=\"nofollow\">https://crowdin.net/project/ublock</a>\n\n***\n\nاÛ٠کاÙ
ÙØ§ ÛÚ© ÙØ³Ø®Ù اÙÙÛÙ Ø§Ø³ØªØ ÙÙگاÙ
ØšØ±Ø±Ø³Û Ø§ÛÙØ±Ø§ ؚخاطر Ø¯Ø§ØŽØªÙ ØšØ§ØŽÛØ¯.\n\nتغÛÛØ±Ø§Øª Ø§Ø®ÛØ± ٟرÙÚÙ:\n<a href=\"https://outgoing.prod.mozaws.net/v1/de148deb19b52874eb4c5726859834f3294a605…" rel=\"nofollow\">https://github.com/gorhill/uBlock/releases</a>",
@@ -1603,13 +1545,13 @@
},
"icon_url": "data:image/png;base64,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",
"icons": {
- "32": "https://addons.cdn.mozilla.net/user-media/addon_icons/607/607454-32.png?mod…",
- "64": "https://addons.cdn.mozilla.net/user-media/addon_icons/607/607454-64.png?mod…",
- "128": "https://addons.cdn.mozilla.net/user-media/addon_icons/607/607454-128.png?mo…"
+ "32": "https://addons.mozilla.org/user-media/addon_icons/607/607454-32.png?modifie…",
+ "64": "https://addons.mozilla.org/user-media/addon_icons/607/607454-64.png?modifie…",
+ "128": "https://addons.mozilla.org/user-media/addon_icons/607/607454-128.png?modifi…"
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-08-27T15:05:49Z",
+ "last_updated": "2022-01-11T16:21:16Z",
"name": {
"ar": "uBlock Origin",
"bg": "uBlock Origin",
@@ -1658,12 +1600,12 @@
1011,
758
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/238/238546.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/238/238546.png?modified…",
"thumbnail_size": [
533,
400
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/238/238546.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/238/238546.jpg?modifi…"
},
{
"id": 238548,
@@ -1674,12 +1616,12 @@
1011,
758
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/238/238548.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/238/238548.png?modified…",
"thumbnail_size": [
533,
400
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/238/238548.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/238/238548.jpg?modifi…"
},
{
"id": 238547,
@@ -1690,12 +1632,12 @@
1011,
758
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/238/238547.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/238/238547.png?modified…",
"thumbnail_size": [
533,
400
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/238/238547.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/238/238547.jpg?modifi…"
},
{
"id": 238549,
@@ -1706,12 +1648,12 @@
1011,
758
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/238/238549.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/238/238549.png?modified…",
"thumbnail_size": [
533,
400
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/238/238549.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/238/238549.jpg?modifi…"
},
{
"id": 238552,
@@ -1722,12 +1664,12 @@
970,
1800
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/238/238552.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/238/238552.png?modified…",
"thumbnail_size": [
216,
400
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/238/238552.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/238/238552.jpg?modifi…"
},
{
"id": 230370,
@@ -1738,12 +1680,12 @@
800,
600
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/230/230370.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/230/230370.png?modified…",
"thumbnail_size": [
533,
400
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/230/230370.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/230/230370.jpg?modifi…"
}
],
"promoted": {
@@ -1754,10 +1696,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7674,
- "bayesian_average": 4.766958863380986,
- "count": 12311,
- "text_count": 3351
+ "average": 4.7716,
+ "bayesian_average": 4.771167323690879,
+ "count": 12979,
+ "text_count": 3480
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/reviews/",
"requires_payment": false,
@@ -1808,11 +1750,18 @@
"ka": "https://old.reddit.com/r/uBlockOrigin/",
"ur": "https://old.reddit.com/r/uBlockOrigin/"
},
- "tags": [],
+ "tags": [
+ "ad blocker",
+ "anti malware",
+ "anti tracker",
+ "content blocker",
+ "privacy",
+ "security"
+ ],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/versions/",
- "weekly_downloads": 113962
+ "weekly_downloads": 125806
},
"notes": null
},
@@ -1828,7 +1777,7 @@
"picture_url": null
}
],
- "average_daily_users": 78944,
+ "average_daily_users": 87644,
"categories": {
"android": [
"photos-media"
@@ -1852,6 +1801,22 @@
}
},
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/video-background-play-fix…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 22,
+ "is_custom": false,
+ "name": {
+ "en-US": "The MIT License"
+ },
+ "url": "http://www.opensource.org/licenses/mit-license.php"
+ },
+ "release_notes": {
+ "de": "Experimentelle Verbesserungen der Handhabung von Youtube.",
+ "en-US": "Experimental improvement of Youtube handling.",
+ "ro": "ÃmbunÄtÄÈiri experimentale pentru Youtube."
+ },
+ "reviewed": null,
+ "version": "1.6.0",
"files": [
{
"id": 3764692,
@@ -1871,46 +1836,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 22,
- "is_custom": false,
- "name": {
- "bg": "MIT/X11 ÐОÑеМз",
- "ca": "LlicÚncia MIT/X11",
- "cs": "MIT/X11 licence",
- "da": "MIT/X11-licens",
- "de": "MIT/X11-Lizenz",
- "el": "ÎΎεια MIT/X11",
- "en-US": "MIT/X11 License",
- "es": "Licencia MIT/X11",
- "eu": "MIT/X11 Lizentzia",
- "fa": "Ù
Ø¬ÙØ² MIT/X11",
- "fr": "Licence MIT/X11",
- "ga-IE": "Ceadúnas MIT/X11",
- "hu": "MIT/X11 licenc",
- "id": "Lisensi MIT/X11",
- "it": "Licenza MIT/X11",
- "nl": "MIT/X11-licentie",
- "pt-PT": "Licença MIT/X11",
- "ru": "ÐОÑÐµÐœÐ·ÐžÑ MIT/X11",
- "sk": "Licencia MIT/X11",
- "sq": "Leje MIT/X11",
- "sr": "MIT/X11 лОÑеМÑа",
- "sv-SE": "MIT/X11-licens",
- "vi": "Giấy phép MIT/X11",
- "zh-CN": "MIT/X11 讞å¯åè®®"
- },
- "url": "http://www.opensource.org/licenses/mit-license.php"
- },
- "release_notes": {
- "de": "Experimentelle Verbesserungen der Handhabung von Youtube.",
- "en-US": "Experimental improvement of Youtube handling.",
- "ro": "ÃmbunÄtÄÈiri experimentale pentru Youtube."
- },
- "reviewed": null,
- "version": "1.6.0"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -1928,9 +1854,9 @@
},
"icon_url": "data:image/png;base64,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",
"icons": {
- "32": "https://addons.cdn.mozilla.net/user-media/addon_icons/811/811592-32.png?mod…",
- "64": "https://addons.cdn.mozilla.net/user-media/addon_icons/811/811592-64.png?mod…",
- "128": "https://addons.cdn.mozilla.net/user-media/addon_icons/811/811592-128.png?mo…"
+ "32": "https://addons.mozilla.org/user-media/addon_icons/811/811592-32.png?modifie…",
+ "64": "https://addons.mozilla.org/user-media/addon_icons/811/811592-64.png?modifie…",
+ "128": "https://addons.mozilla.org/user-media/addon_icons/811/811592-128.png?modifi…"
},
"is_disabled": false,
"is_experimental": false,
@@ -1948,10 +1874,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.5203,
- "bayesian_average": 4.51525768651512,
- "count": 1009,
- "text_count": 381
+ "average": 4.5126,
+ "bayesian_average": 4.507501759055358,
+ "count": 1030,
+ "text_count": 390
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/re…",
"requires_payment": false,
@@ -1973,7 +1899,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/ve…",
- "weekly_downloads": 349
+ "weekly_downloads": 253
},
"notes": null
},
@@ -1989,7 +1915,7 @@
"picture_url": null
}
],
- "average_daily_users": 95431,
+ "average_daily_users": 92805,
"categories": {
"android": [
"experimental",
@@ -2014,6 +1940,20 @@
}
},
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/privacy-possum/versions/4…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 6,
+ "is_custom": false,
+ "name": {
+ "en-US": "GNU General Public License v3.0"
+ },
+ "url": "http://www.gnu.org/licenses/gpl-3.0.html"
+ },
+ "release_notes": {
+ "en-US": "First update in a while! Sorry, having a full-time job does that. I welcome all the help I can get at <a href=\"https://outgoing.prod.mozaws.net/v1/602e8bbf1bf2ebf94898d7014c9c33280d857cb…" rel=\"nofollow\">https://github.com/cowlicks/privacypossum</a>\n\nI'm always happy to help folk contribute at any skill level. There is always some way to help.\n\nThis is mostly a release that improves testing and developer workflow stuff, which should help me make more frequent releases in the future.\n\nThere are also several minor bugfixes and updates."
+ },
+ "reviewed": null,
+ "version": "2019.7.18",
"files": [
{
"id": 3360398,
@@ -2041,42 +1981,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 6,
- "is_custom": false,
- "name": {
- "ca": "LlicÚncia GPL (General Public License) de GNU, version 3.0",
- "cs": "GNU General Public License, verze 3.0",
- "de": "GNU General Public License, Version 3.0",
- "el": "GNU General Public License, ÎκΎοÏη 3.0",
- "en-US": "GNU General Public License, version 3.0",
- "es": "Licencia pública GNU, versión 3.0",
- "eu": "GNU General Public License, 3.0 bertsioa",
- "fa": "Ù
Ø¬ÙØ² عÙ
ÙÙ
Û Ú©ÙÛ Ú¯ÙÙØ ÙØ³Ø®ÙÙ Û³Ù«Û°",
- "ga-IE": "GNU General Public License, leagan 3.0",
- "id": "GNU General Public License, versi 3.0",
- "it": "Licenza GNU General Public License, versione 3.0",
- "ja": "GNU General Public License ããŒãžã§ã³ 3.0",
- "nl": "GNU General Public License, versie 3.0",
- "pl": "General Public Licence, wersja 3.0",
- "pt-PT": "GNU General Public License, versão 3.0",
- "ru": "GNU General Public License, веÑÑÐžÑ 3.0",
- "sk": "GNU General Public License, verzia 3.0",
- "sq": "Leje e Përgjithshme Publike GNU, version 3.0",
- "uk": "GNU General Public License, веÑÑÑÑ 3.0",
- "vi": "Giấy phép CÃŽng cá»ng GNU, phiên bản 3.0",
- "zh-CN": "GNU éçšå
Œ
±ææïŒçæ¬ 3.0",
- "zh-TW": "GNU General Public LicenseïŒçæ¬ 3.0"
- },
- "url": "http://www.gnu.org/licenses/gpl-3.0.html"
- },
- "release_notes": {
- "en-US": "First update in a while! Sorry, having a full-time job does that. I welcome all the help I can get at <a href=\"https://outgoing.prod.mozaws.net/v1/602e8bbf1bf2ebf94898d7014c9c33280d857cb…" rel=\"nofollow\">https://github.com/cowlicks/privacypossum</a>\n\nI'm always happy to help folk contribute at any skill level. There is always some way to help.\n\nThis is mostly a release that improves testing and developer workflow stuff, which should help me make more frequent releases in the future.\n\nThere are also several minor bugfixes and updates."
- },
- "reviewed": null,
- "version": "2019.7.18"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -2092,9 +1997,9 @@
},
"icon_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAFGUlEQVRo3sWZe0xWZRzHPy+gCET0UkLcQiNLIKyRDnQhbeJmGZVmrQuNLixjC9dKXRAqhTV1buUmNY02W3M0W1vzurStoaVoYOSiGWxEhMhVQ1GigNMfnBfO5XfgPQd4fX7/Pc/v8n2e5zy/23Fhd9zEQh4ggQTicBOKQi89dNFIA2epoo0pG/dQzBn+QxmTfmMbiybbdCAvUTOOYT39zjrCJsf4DNbRZsu4h66wBfdEzT9HEz28y2JSSGMV73GUPhsgulmDv1PjURxCQeG0YT6YlRxiwGsQVSQ5Mf8YXaqCIRKE9ViKueAlhGu8bM+4iyIGNQresOALoZgeL0F8QoC35v353CD82RjcEVR6CeEwwWbxANH884Y58x1Gk0gCUcwkmtu83NjDHCCb6+Md/h4Be5MGXhblNDp6lgoKR5g2NoB3RLHzqvFcGhyb9lD5WOZXMiQKHQOSODVh48OUb2U+lksWIh+RY8v9eGgtGWRRRLVuto/75dv/1lLROYd7/XBEewKF1I/M/yx9CbmTdMBaajdsMYvD6kohJvfaYqnmBPvHDcJWFGHaaDaNKFwhUj+9wUJBA2kAbHEIIEa4bDdVKJTp998lip/hFpVjhSPzgwSKn3sig/Rx++jEalG8nnBNWHYC4IRoPoM/UFB4f3TqVxH9gxqhzY4AmIPYTHaNhLlWTyBIEYXLdJ6/3dEb0Cdlt7KJyzqO5da76ydu5PGsolXkqOBJZgMh5NAhcORpjMezg14Tx87hRcnN7FEFF3FS3F0NKYaMudvAcRI/APxYSoXFMz4HEK5LPTyUCaRy0OJwvyTIdLsbDccfC8xhM81jXNIQ4ZAtLDSTytcWgUlht7o3/dA68qtks4YqL76Th2CTMN1raVxhLy7B/GKdRLfXKevr8I
WtL/t70bWEc96hpyzDVpSvH/GM2pFOneNwtT+AKBvZcj876ONvIIgZhDCdMGZx9wQKnygXnV4nlVMx/vIjlBs5gv3Eb9qHAFxc4jqDuG/QSfzrIpB+ACK5jyVkk+hTAJelR1UhOuepoWYZ10LHebBdqnQRSDIxhHGNGg2eUA6Q6YMr2AXLNHh+4BENhGYfnEA+hBkCx2iofXsCijspp4AlzOVmNVrMZzUXTXzJAGcNk9+puVqMRUzbRylreIZMkoghjW1C2bZWPPByA1fHsBcqkYIkAN+IAF40KV5Kv4GnQARQIDc+kk0m2tReRqr4II8IqksNPIdEABsNXMs8C7UmI2+qK9sFAAPMFRq4nYZkK0sAcFTH0zpaouYJ/b0ItU0p1QyVTDcpLzSd4iwDR4ohzyoZXQoSSrNjKr54/hQgHDClpaE0GXjq1Bfg6Uad1pU9p/SZyHqxLeHJ6cv4Ude8GOQC201xdB6/aLLi43xAvGY1kqd4hVd5gUdJN4e+ILE8f9rAE088btxjNJrCuZNoQpw4xRyxw7nIl6HxsAChy1ABTemIE5tU7b7MEJaLjsenEEpE59vCvb4C4GK3COEqK3wFwZ99Fv2eIl9l0P58ahHlD9qqoyZ0ESUW9XEX+d7/eJjoi+iy/DOYKwQjq7GAn/jYGYQ7OGKZcrWwcdyi1EUGexngOHc5P4dnxQbVaKdoK48bvotgUniC9XxFBwrtvCb2U+xUb7wl9sC09A9NVFNNve4XVg+lk1XwhZBn6PmP/+u2YPKrzXlsoGacsm2QOrYy386DszvCSGcBc5hNNG6CmEYPHVyknjpqqaXXnrr/AUHCIxVzVKDBAAAAAElFTkSuQmCC",
"icons": {
- "32": "https://addons.cdn.mozilla.net/user-media/addon_icons/953/953945-32.png?mod…",
- "64": "https://addons.cdn.mozilla.net/user-media/addon_icons/953/953945-64.png?mod…",
- "128": "https://addons.cdn.mozilla.net/user-media/addon_icons/953/953945-128.png?mo…"
+ "32": "https://addons.mozilla.org/user-media/addon_icons/953/953945-32.png?modifie…",
+ "64": "https://addons.mozilla.org/user-media/addon_icons/953/953945-64.png?modifie…",
+ "128": "https://addons.mozilla.org/user-media/addon_icons/953/953945-128.png?modifi…"
},
"is_disabled": false,
"is_experimental": false,
@@ -2112,12 +2017,12 @@
640,
400
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/201/201244.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/201/201244.png?modified…",
"thumbnail_size": [
533,
333
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/201/201244.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/201/201244.jpg?modifi…"
}
],
"promoted": {
@@ -2128,10 +2033,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4718,
- "bayesian_average": 4.456933270509478,
- "count": 337,
- "text_count": 95
+ "average": 4.4497,
+ "bayesian_average": 4.435310659280604,
+ "count": 358,
+ "text_count": 99
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/reviews/",
"requires_payment": false,
@@ -2147,11 +2052,13 @@
"support_url": {
"en-US": "https://github.com/cowlicks"
},
- "tags": [],
+ "tags": [
+ "privacy"
+ ],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/versions/",
- "weekly_downloads": 1484
+ "weekly_downloads": 1674
},
"notes": null
},
@@ -2164,10 +2071,10 @@
"name": "Armin Sebastian",
"url": "https://addons.mozilla.org/en-US/firefox/user/12929064/",
"username": "dessant",
- "picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/12/12929/12929064.png?mo…"
+ "picture_url": "https://addons.mozilla.org/user-media/userpics/12/12929/12929064.png?modifi…"
}
],
- "average_daily_users": 186586,
+ "average_daily_users": 196402,
"categories": {
"android": [
"photos-media",
@@ -2181,33 +2088,49 @@
"contributions_url": "https://www.paypal.com/donate?hosted_button_id=GLL4UNSNU6SQN&utm_content=pr…",
"created": "2017-06-17T15:23:33Z",
"current_version": {
- "id": 5270922,
+ "id": 5346569,
"compatibility": {
"firefox": {
"min": "68.0",
"max": "*"
},
"android": {
- "min": "68.0",
+ "min": "79.0",
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/search_by_image/versions/…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/search_by_image/versions/…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 6,
+ "is_custom": false,
+ "name": {
+ "en-US": "GNU General Public License v3.0"
+ },
+ "url": "http://www.gnu.org/licenses/gpl-3.0.html"
+ },
+ "release_notes": {
+ "en-US": "Learn more about this release from the <a href=\"https://outgoing.prod.mozaws.net/v1/034fc31c913b4c441795892fe3d65db9f7edbe6…" rel=\"nofollow\">changelog</a>."
+ },
+ "reviewed": null,
+ "version": "4.5.0",
"files": [
{
- "id": 3815277,
- "created": "2021-07-25T20:46:43Z",
- "hash": "sha256:c893835efe00471376df0f60cb519bf35ffb72ed3c32362e4fb9b2faca87d1b9",
+ "id": 3890914,
+ "created": "2022-01-08T16:57:01Z",
+ "hash": "sha256:2b0406167991bf6aa8e297fa28390f93a368d82ee78d94ba11508a6adb977012",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 704857,
+ "size": 681142,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3815277/search_by_image-3…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3890914/search_by_image-4…",
"permissions": [
+ "alarms",
"contextMenus",
"storage",
+ "unlimitedStorage",
"tabs",
"activeTab",
"notifications",
@@ -2220,46 +2143,11 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 6,
- "is_custom": false,
- "name": {
- "ca": "LlicÚncia GPL (General Public License) de GNU, version 3.0",
- "cs": "GNU General Public License, verze 3.0",
- "de": "GNU General Public License, Version 3.0",
- "el": "GNU General Public License, ÎκΎοÏη 3.0",
- "en-US": "GNU General Public License, version 3.0",
- "es": "Licencia pública GNU, versión 3.0",
- "eu": "GNU General Public License, 3.0 bertsioa",
- "fa": "Ù
Ø¬ÙØ² عÙ
ÙÙ
Û Ú©ÙÛ Ú¯ÙÙØ ÙØ³Ø®ÙÙ Û³Ù«Û°",
- "ga-IE": "GNU General Public License, leagan 3.0",
- "id": "GNU General Public License, versi 3.0",
- "it": "Licenza GNU General Public License, versione 3.0",
- "ja": "GNU General Public License ããŒãžã§ã³ 3.0",
- "nl": "GNU General Public License, versie 3.0",
- "pl": "General Public Licence, wersja 3.0",
- "pt-PT": "GNU General Public License, versão 3.0",
- "ru": "GNU General Public License, веÑÑÐžÑ 3.0",
- "sk": "GNU General Public License, verzia 3.0",
- "sq": "Leje e Përgjithshme Publike GNU, version 3.0",
- "uk": "GNU General Public License, веÑÑÑÑ 3.0",
- "vi": "Giấy phép CÃŽng cá»ng GNU, phiên bản 3.0",
- "zh-CN": "GNU éçšå
Œ
±ææïŒçæ¬ 3.0",
- "zh-TW": "GNU General Public LicenseïŒçæ¬ 3.0"
- },
- "url": "http://www.gnu.org/licenses/gpl-3.0.html"
- },
- "release_notes": {
- "en-US": "Learn more about this release from the <a href=\"https://outgoing.prod.mozaws.net/v1/034fc31c913b4c441795892fe3d65db9f7edbe6…" rel=\"nofollow\">changelog</a>."
- },
- "reviewed": null,
- "version": "3.7.1"
+ ]
},
"default_locale": "en-US",
"description": {
- "en-US": "Search by Image is a browser extension for Firefox that makes effortless reverse image searches possible, and comes with support for more than 30 search engines.\n\nSearch by Image is an open source project made possible thanks to a community of awesome supporters. If you'd like to support the continued development of the extension, please consider contributing with <a href=\"https://outgoing.prod.mozaws.net/v1/41c106361a7c39f9d2001c93119b0d734fe2515…" rel=\"nofollow\">Patreon</a>, <a href=\"https://outgoing.prod.mozaws.net/v1/d401358dba8a5fc523e092e5f0a30df2e47898c…" rel=\"nofollow\">PayPal</a> or <a href=\"https://outgoing.prod.mozaws.net/v1/0dc030db8e27048be301cc63fcc0b39a33473a7…" rel=\"nofollow\">
Bitcoin</a>.\n\nThe extension helps journalists and researchers around the world to verify the authenticity of images, and assists the identification of false information and fake social media accounts. Search by Image is also popular among photographers, helping artists explore how their work is shared on the web, while shoppers find it valuable for discovering similar products at discounted prices.\n\nThe extension enables you to search for images from the context menu and the browser toolbar with the help of a diverse set of reverse image search engines, which can be toggled and reordered from the extension's options. Visit the wiki for the full list of supported search engines.\n\n<a href=\"https://outgoing.prod.mozaws.net/v1/a1f33afb4059aef86430eb9249e5a6024756138…" rel=\"nofollow\">https://github.com/dessant/search-by-image/wiki/Search-engines</a>\n\nImages positioned at the selected area
are detected regardless of how they were embedded in the page. The extension also supports uploading local images, searching for video frames, capturing details within images, and searching for images from private sites.\n\nA handful of search modes are offered that serve different use cases. The search mode can be set independently for the context menu and browser toolbar from the extension's options.\n\n<b>Search modes:</b>\n<ul> <li><b>Select</b>: select an image on the page, then search for the image URL. Blob, data and file URLs will still be handled as image uploads. This is the default search mode.</li> <li><b>Select & Upload</b>: select an image on the page, then fetch the image, possibly from the browser cache, and upload it. This search mode is preferred for sites which do not allow direct linking of images, such as private sites.</li> <li><b>Capture</b>: select and capture a page area, then upload it.</li> <li><b>Upload</b>: select an image from your device, then
upload it.</li> <li><b>URL</b>: search for an image URL.</li></ul>\n<b>Features:</b>\n<ul> <li>Search with a single engine, or all enabled ones, directly from the top-level context menu item, or the browser toolbar button (see options)</li> <li>Detect any image on the page, including those declared in CSS and pseudo-elements</li> <li>Select the desired image from a dialog, when multiple images are found</li> <li>Search for images from private sites (see search modes)</li> <li>Search for local images (see search modes)</li> <li>Search for the current video frame</li></ul>\nRequired permissions:\n<ul> <li>Access your data for all tabs and websites: required for parsing web pages and performing image searches</li> <li>Display notifications: needed for displaying error messages</li></ul>\nThe context menu item is always visible, unless it is disabled. Visit the <a href=\"https://outgoing.prod.mozaws.net/v1/a079e4ad7483ccc5e2abccd748f5ae8137e21de…
3A//github.com/dessant/search-by-image/wiki/Why-is-the-extension-always-vis…" rel=\"nofollow\">wiki</a> for more details.\n\nThe image you select during a search is sent to the requested third-party service, such as Google Images. Visit the extension's <a href=\"https://addons.mozilla.org/en-US/firefox/addon/search_by_image/privacy/\" rel=\"nofollow\">privacy policy</a> for more information.\n\nKnown issues:\n<ul> <li>The context menu API is not available on Android, use the extension from the browser menu instead (<a href=\"https://outgoing.prod.mozaws.net/v1/eb4516646aa7e23fe04d20c5a45fa8cf79e09f8…" rel=\"nofollow\">1595822</a>)</li></ul>\nThe extension is also available for <a href=\"https://outgoing.prod.mozaws.net/v1/0e00cbe53cfbd165bdd5b0a4a2de549fd22b5c4…" rel=\"nof
ollow\">Chrome</a> and <a href=\"https://outgoing.prod.mozaws.net/v1/c4109e376b4ab1d016c6cbc059e135f8c1a7bce…" rel=\"nofollow\">Edge</a>.\n\n<b>Reviews are not monitored for bug reports, please use GitHub for issues and feature requests.</b>\n<a href=\"https://outgoing.prod.mozaws.net/v1/409bf55345207cc65f09ea6142e4b4cd069323e…" rel=\"nofollow\">https://github.com/dessant/search-by-image</a>"
+ "en-US": "Search by Image is a browser extension for Firefox that makes effortless reverse image searches possible, and comes with support for more than 30 search engines.\n\nSearch by Image is an open source project made possible thanks to a community of awesome supporters. If you'd like to support the continued development of the extension, please consider contributing with <a href=\"https://outgoing.prod.mozaws.net/v1/41c106361a7c39f9d2001c93119b0d734fe2515…" rel=\"nofollow\">Patreon</a>, <a href=\"https://outgoing.prod.mozaws.net/v1/d401358dba8a5fc523e092e5f0a30df2e47898c…" rel=\"nofollow\">PayPal</a> or <a href=\"https://outgoing.prod.mozaws.net/v1/0dc030db8e27048be301cc63fcc0b39a33473a7…" rel=\"nofollow\">
Bitcoin</a>.\n\nThe extension helps journalists and researchers verify the authenticity of images, and assists in the identification of false information on social media. Search by Image is also popular among photographers, helping artists explore how their work is shared on the web, while shoppers find it valuable for discovering similar products at discounted prices.\n\nThe extension enables you to search for images from the context menu and the browser toolbar with the help of a diverse set of reverse image search engines, which can be toggled and reordered from the extension's options. Visit the wiki for the full list of supported search engines.\n\n<a href=\"https://outgoing.prod.mozaws.net/v1/a1f33afb4059aef86430eb9249e5a6024756138…" rel=\"nofollow\">https://github.com/dessant/search-by-image/wiki/Search-engines</a>\n\nImages positioned at the selected area are detected regardless of how
they were embedded in the page. The extension also supports uploading local images, searching for video frames, capturing details within images, and searching for images from private sites.\n\nA handful of search modes are offered that serve different use cases. The search mode can be set independently for the context menu and the browser toolbar from the extension's options.\n\n<b>Search modes:</b>\n<ul> <li><b>Select URL</b>: select an image on the page, then search for the image URL. This is the default search mode.</li> <li><b>Select image</b>: select an image on the page, then fetch the image, possibly from the browser cache, and search for it. This search mode is preferred for sites which do not allow the direct linking of images, such as private sites.</li> <li><b>Capture</b>: select and capture a page area, then search for it.</li> <li><b>Browse</b>: select an image from your device, then search for it.</li> <li><b>URL</b>: search for an image URL.</li></ul>\nThe image
you select during a search is sent to the requested third-party service, such as Google Images. Visit the extension's <a href=\"https://addons.mozilla.org/en-US/firefox/addon/search_by_image/privacy/\" rel=\"nofollow\">privacy policy</a> for more information.\n\nThe extension is also available for <a href=\"https://outgoing.prod.mozaws.net/v1/7ed09b9ef47c6ca28528b04a7fc4f9d47d06cbe…" rel=\"nofollow\">Chrome</a> and <a href=\"https://outgoing.prod.mozaws.net/v1/32275a8494767c60b0f8570f5f7abcf126ad0a6…" rel=\"nofollow\">Safari</a>.\n\n<b>Reviews are not monitored for bug reports, please use GitHub for issues and feature requests.</b>\n<a href=\"https://outgoing.prod.mozaws.net/v1/409bf55345207cc65f09ea6142e4b4cd069323e…
earch-by-image\" rel=\"nofollow\">https://github.com/dessant/search-by-image</a>"
},
"developer_comments": null,
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/search_by_image/edit",
@@ -2267,118 +2155,132 @@
"has_eula": false,
"has_privacy_policy": true,
"homepage": {
- "en-US": "https://github.com/dessant/search-by-image"
+ "en-US": "https://github.com/dessant/search-by-image#readme"
},
- "icon_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFGklEQVR42u1bzW8TRxR3KbSFXntrVXEOl0qRIM2M4yCVyvLOOglSDq167oGqHErvllr+j15oFeWMEDcT1CNSUalQhUBIhP1wSGrUevth2Gzfb3bHmaYG1l57/TUjPdlZz3vzfm9m3sfspFAwzTTThtWiWuFIVKsdiT/7oZh3YsGPo6x8wK+vv47P7TJbaNpLVzzBrrgW/74XAg94IUOXOTHg3TKfe1It+u3zZ6PWaikK1pZ7IvCAFzIgayKMsJko6Aj2fkMUHzxdWYoci7Vdiz2nGX3WC4EHvJDREPwBZOpj5DejhcJr0hnRwPVS6Wg3wm+3Pp8/FoMvvePbxdt/0Aw6EjiPshBkQBZk/kqyMQbGepU+UmfSfSDLOW3zzp172xd8q0VL2JUzmQ28IsiCTN9mNyIhTgwTw39mXi25PbH0oW/zT3zBPu1GboV/Jj8FuxqslQYKXjdCEBv2qj5mVyJdobPaLj2vBMW4bS1W9qrFn3ZsHjarSxH248uoSUQePBw0+I4RLBY2V1LoQbpCZ+gODD35DhVzYcUYNGaUS2BpaFjgD4yQTg/oDN2BAVhS5RO1Qtxhu3z6PbL2U7LgUJZzXgTdJQbCAkw6xu6zTx5UxvAK+/qvATuyURpBYiFMOsYXeMyC3CfkSL77c215f1oMACzApGN86f5HKgqP6w3Fm/N9+gyR6Ogkn8W/DdgISfQgTK/0A8M0ADw4gFKeEO2RY/qdkpvW6rIkfMczP+4Hg4RTYwDMKkAhfLWkTN4muk+yr9PzDRC+x894G33icEqGGMiKGKEBAGLXLsrihuLyz/T3Jc9mpx6WSm8dHhvP8Bv6NGx+BzzgdTOn0yMygJvk8AT8Mf198dH6wvHuByb/Vwh9wfOEeLE9shlhBAaAwgEKGKt44+
HKmZN6mFWF1a35+WM6dQoYLUx5xOtbfCvIZIScDQBFUcs3BPvhXrn8Zgc4qsoU6ag0BPomhoAMyGr1bYQcDUCla4glSzF361oCfjOJu/rAzZXSByT7C89ilyXRdzw7rIfihSyKEDeTEjscSwMgdJHT2qe823tkLbwby6tJebXk0xGLH1NqWm8I/gwz+s/5s5LiFcORttbRR+dRMnZJJvkTD2P0FiZzMgBmRvJU+JeQUVfLPgHgWfzb3xD/qUBRWyUJiW21tPEb+qCvAg8Z9WQ7OBV+EWM442YAiteyTCXF7sKDo+DQwTuVxW/+pplWGaDXPb7vq4wQfcGjGwEyHTF/whHsrswTRNrKMw8DwOvjxKbKv+rMvqorqvwjKEx7+LmTIrFBH/SVPMSr8ne1ClybXYoBpXWIQzaAGyss++5W+RxmC4cPUUQrgGaNipEfsbR78eDoK3mIFzIgazOJDkiWMJZ/UFeMeAVYPMS+JWXu/7I+94buuBoVePvOUu0lrVV9Q8jQZWIMjJX4inD0KwCztQrHxq4rOUhspAEEv4Bip5/4HecTy4gOF3SZ0qHSWOkzxBwMEMQgN5QMpSxifDt2fu0+srg2eMmxXlYGONCPbQSpDWsMYLaAcYImDJpEyKTCphjKqxyWJesslsNqFch3+YLfnLkDEXMk1vVQlG95s3YoejhDxNH2Th/H4juTfCz+ghcjd/wUL0bQZ2caXox0ezUWpHg1FkzTqzHzcnTiXo/P/AWJWb8iM/OXpAZxTW5sqJ9rclkvSo4LZboo2c9V2bGjrFdlM180HsP/Xxjqdflxo4FdlzfNNNNMM80006a6/QttCg92SotlbgAAAABJRU5ErkJggg==",
+ "icon_url": "data:image/png;base64,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",
"icons": {
- "32": "https://addons.cdn.mozilla.net/user-media/addon_icons/824/824288-32.png?mod…",
- "64": "https://addons.cdn.mozilla.net/user-media/addon_icons/824/824288-64.png?mod…",
- "128": "https://addons.cdn.mozilla.net/user-media/addon_icons/824/824288-128.png?mo…"
+ "32": "https://addons.mozilla.org/user-media/addon_icons/824/824288-32.png?modifie…",
+ "64": "https://addons.mozilla.org/user-media/addon_icons/824/824288-64.png?modifie…",
+ "128": "https://addons.mozilla.org/user-media/addon_icons/824/824288-128.png?modifi…"
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-07-26T11:54:11Z",
+ "last_updated": "2022-01-10T20:04:05Z",
"name": {
"en-US": "Search by Image"
},
"previews": [
{
- "id": 230000,
+ "id": 263054,
"caption": null,
"image_size": [
- 1280,
- 800
+ 2400,
+ 1500
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/230/230000.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/263/263054.png?modified…",
"thumbnail_size": [
533,
333
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/230/230000.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/263/263054.jpg?modifi…"
},
{
- "id": 230001,
+ "id": 263055,
"caption": null,
"image_size": [
- 1280,
- 800
+ 2400,
+ 1500
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/230/230001.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/263/263055.png?modified…",
"thumbnail_size": [
533,
333
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/230/230001.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/263/263055.jpg?modifi…"
},
{
- "id": 230002,
+ "id": 263056,
"caption": null,
"image_size": [
- 1280,
- 800
+ 2400,
+ 1500
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/230/230002.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/263/263056.png?modified…",
"thumbnail_size": [
533,
333
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/230/230002.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/263/263056.jpg?modifi…"
},
{
- "id": 230003,
+ "id": 263057,
"caption": null,
"image_size": [
- 1280,
- 800
+ 2400,
+ 1500
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/230/230003.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/263/263057.png?modified…",
"thumbnail_size": [
533,
333
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/230/230003.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/263/263057.jpg?modifi…"
},
{
- "id": 230004,
+ "id": 263058,
"caption": null,
"image_size": [
- 1280,
- 800
+ 2400,
+ 1500
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/230/230004.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/263/263058.png?modified…",
"thumbnail_size": [
533,
333
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/230/230004.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/263/263058.jpg?modifi…"
},
{
- "id": 230005,
+ "id": 263059,
"caption": null,
"image_size": [
- 1280,
- 800
+ 2400,
+ 1500
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/230/230005.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/263/263059.png?modified…",
"thumbnail_size": [
533,
333
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/230/230005.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/263/263059.jpg?modifi…"
},
{
- "id": 230006,
+ "id": 263060,
"caption": null,
"image_size": [
- 1280,
- 800
+ 2400,
+ 1500
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/230/230006.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/263/263060.png?modified…",
"thumbnail_size": [
533,
333
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/230/230006.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/263/263060.jpg?modifi…"
+ },
+ {
+ "id": 263061,
+ "caption": null,
+ "image_size": [
+ 2400,
+ 1500
+ ],
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/263/263061.png?modified…",
+ "thumbnail_size": [
+ 533,
+ 333
+ ],
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/263/263061.jpg?modifi…"
}
],
"promoted": {
@@ -2389,10 +2291,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.655,
- "bayesian_average": 4.649572141760124,
- "count": 971,
- "text_count": 193
+ "average": 4.6529,
+ "bayesian_average": 4.6476691311094935,
+ "count": 1040,
+ "text_count": 203
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/reviews/",
"requires_payment": false,
@@ -2413,7 +2315,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/versions/",
- "weekly_downloads": 3454
+ "weekly_downloads": 3713
},
"notes": null
},
@@ -2436,7 +2338,7 @@
"picture_url": null
}
],
- "average_daily_users": 58115,
+ "average_daily_users": 69156,
"categories": {
"android": [
"other"
@@ -2456,6 +2358,20 @@
}
},
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/google-search-fixer/versi…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 3338,
+ "is_custom": false,
+ "name": {
+ "en-US": "Mozilla Public License 2.0"
+ },
+ "url": "http://www.mozilla.org/MPL/2.0/"
+ },
+ "release_notes": {
+ "en-US": "This version features improves the performance and reliability of the add-on,\nand allows the Desktop mode to behave as intended."
+ },
+ "reviewed": null,
+ "version": "1.6",
"files": [
{
"id": 3655036,
@@ -2670,21 +2586,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 3338,
- "is_custom": false,
- "name": {
- "en-US": "Mozilla Public License, version 2.0"
- },
- "url": "http://www.mozilla.org/MPL/2.0/"
- },
- "release_notes": {
- "en-US": "This version features improves the performance and reliability of the add-on,\nand allows the Desktop mode to behave as intended."
- },
- "reviewed": null,
- "version": "1.6"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -2700,9 +2602,9 @@
},
"icon_url": "data:image/png;base64,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",
"icons": {
- "32": "https://addons.cdn.mozilla.net/user-media/addon_icons/869/869140-32.png?mod…",
- "64": "https://addons.cdn.mozilla.net/user-media/addon_icons/869/869140-64.png?mod…",
- "128": "https://addons.cdn.mozilla.net/user-media/addon_icons/869/869140-128.png?mo…"
+ "32": "https://addons.mozilla.org/user-media/addon_icons/869/869140-32.png?modifie…",
+ "64": "https://addons.mozilla.org/user-media/addon_icons/869/869140-64.png?modifie…",
+ "128": "https://addons.mozilla.org/user-media/addon_icons/869/869140-128.png?modifi…"
},
"is_disabled": false,
"is_experimental": false,
@@ -2718,10 +2620,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4575,
- "bayesian_average": 4.452669484127272,
- "count": 1036,
- "text_count": 281
+ "average": 4.4399,
+ "bayesian_average": 4.43514347208329,
+ "count": 1082,
+ "text_count": 293
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/reviews/",
"requires_payment": false,
@@ -2741,7 +2643,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/versions/",
- "weekly_downloads": 29
+ "weekly_downloads": 108
},
"notes": null
},
@@ -2754,10 +2656,10 @@
"name": "Giorgio Maone",
"url": "https://addons.mozilla.org/en-US/firefox/user/143/",
"username": "giorgio-maone",
- "picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/0/0/143.png?modified=150…"
+ "picture_url": "https://addons.mozilla.org/user-media/userpics/0/0/143.png?modified=1506804…"
}
],
- "average_daily_users": 351112,
+ "average_daily_users": 348098,
"categories": {
"android": [
"performance",
@@ -2771,7 +2673,7 @@
"contributions_url": "https://www.paypal.me/NoScript?utm_content=product-page-contribute&utm_medi…",
"created": "2005-05-13T10:51:32Z",
"current_version": {
- "id": 5272300,
+ "id": 5343208,
"compatibility": {
"firefox": {
"min": "59.0",
@@ -2782,19 +2684,33 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/noscript/versions/5272300",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/noscript/versions/5343208",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 13,
+ "is_custom": false,
+ "name": {
+ "en-US": "GNU General Public License v2.0"
+ },
+ "url": "http://www.gnu.org/licenses/gpl-2.0.html"
+ },
+ "release_notes": {
+ "en-US": "v 11.2.14\n============================================================\nx [nscl] Updated SyncMessage fixes conflict with other\n content blockers (thanks gwarser, barbaz and Baraoic)"
+ },
+ "reviewed": null,
+ "version": "11.2.14",
"files": [
{
- "id": 3816655,
- "created": "2021-07-28T06:38:27Z",
- "hash": "sha256:b833e81823986646dbc473ebbee987bd47757fbe79c9d1720150f08ba6ca9ba9",
+ "id": 3887553,
+ "created": "2021-12-29T21:36:54Z",
+ "hash": "sha256:47399b94f57dde1162f74a49679c7cb3b6dfe684d4eee49842e65eae64e9982b",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 656784,
+ "size": 657255,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3816655/noscript_security…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3887553/noscript_security…",
"permissions": [
"contextMenus",
"storage",
@@ -2809,42 +2725,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 13,
- "is_custom": false,
- "name": {
- "ca": "LlicÚncia GPL (General Public License) de GNU, version 2.0",
- "cs": "GNU General Public License, verze 2.0",
- "de": "GNU General Public License, Version 2.0",
- "el": "GNU General Public License, ÎκΎοÏη 2.0",
- "en-US": "GNU General Public License, version 2.0",
- "es": "Licencia pública GNU, versión 2.0",
- "eu": "GNU General Public License, 2.0 bertsioa",
- "fa": "Ù
Ø¬ÙØ² عÙ
ÙÙ
Û Ú©ÙÛ Ú¯ÙÙØ ÙØ³Ø®ÙÙ Û²Ù«Û°",
- "ga-IE": "GNU General Public License, leagan 2.0",
- "id": "GNU General Public License, versi 2.0",
- "it": "Licenza GNU General Public License, versione 2.0",
- "ja": "GNU General Public License ããŒãžã§ã³ 2.0",
- "nl": "GNU General Public License, versie 2.0",
- "pl": "GNU General Public Licence, wersja 2.0",
- "pt-PT": "GNU General Public License, versão 2.0",
- "ru": "GNU General Public License, веÑÑÐžÑ 2.0",
- "sk": "GNU General Public License, verzia 2.0",
- "sq": "Leje e Përgjithshme Publike GNU, version 2.0",
- "uk": "GNU General Public License, веÑÑÑÑ 2.0",
- "vi": "Giấy phép CÃŽng cá»ng GNU, phiên bản 2.0",
- "zh-CN": "GNU éçšå
Œ
±ææïŒçæ¬ 2.0",
- "zh-TW": "GNU General Public LicenseïŒçæ¬ 2.0"
- },
- "url": "http://www.gnu.org/licenses/gpl-2.0.html"
- },
- "release_notes": {
- "en-US": "v 11.2.11\n============================================================\nx [nscl] Fixed JavaScript access to CSS rules broken on\n Chromium when unrestricted CSS is disabled - issue #204\nx Prevent Chromium builds from being sent to AMO for signing\nx [nscl] Fixed CPU/RAM overload on some pages with\n unrestricted CSS disabled but scripting enabled (not\n recommended setting) - issue #194, issue #199\nx [nscl] Fixed CPU spikes on Chromium triggered by automatic\n file downloads (thanks ptheborg for report)"
- },
- "reviewed": null,
- "version": "11.2.11"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -2865,7 +2746,7 @@
"zh-CN": "éèŠ\n<a href=\"https://outgoing.prod.mozaws.net/v1/e19d2306e457c98e6c3e03f52480e7206685d42…" rel=\"nofollow\">äžç¯åºç¡ç<b>NoScript 10 æå</b></a>\n\nä»è¢« NoScript 10 çæ° UI æå°æïŒ\nççè¿ç¯<a href=\"https://outgoing.prod.mozaws.net/v1/f5ad7f79289d1b2c198593e25708cba9ab4104a…" rel=\"nofollow\">çšæ·èŽ¡ç®ç NoScript 10 å
¥éš</a>ã\nè¿æè¿ç¯<a href=\"https://outgoing.prod.mozaws.net/v1/4e700d4e76086494b5553ff9e42d881037d3adc…" rel=\"nofollow\"> NoScript 10 \"Quantum\" vs NoScript 5 \"Classic\" (or \"Legacy\") comparison</a>ã\n\näœäžºâPC World World Class Awardâ倧å¥çè·åŸè
å¹¶å
çœ®äº Tor æµè§åšïŒNoScript å°äžºæšæäŸæäœ³ççœç»ä¿æ
€ã\n\nå®åªå
è®žåšæšéæ©çä¿¡ä»»åäžæ§è¡ JavaScriptãFlashãJava åå
¶ä»å¯æ§è¡å
容ïŒäŸåŠæšçå®¶åºé¶è¡çœç«ïŒèœå€çŒè§£å
æ¬ Spectre å Meltdown çè¿çšå¯å©çšæŒæŽã\n\nå€äºäºå
¶ç¬ç¹ç ClearClick ææ¯ïŒå®å¯ä»¥ä¿æ€æšçâ信任蟹çâäžåè·šç«ç¹èæ¬æ»å»ïŒXSSïŒïŒè·šåº DNS éæ°ç»å®/ CSRF æ»å»ïŒè·¯ç±åšé»å®¢ïŒåç¹å»å«æïŒClickjackingïŒå°è¯ã\n\nè¿ç§å
åå¶äººçæºå¶åšäžæå€±ä»»äœåèœçåæäžïŒé²æ¢å©çšå®å
šæŒæŽïŒå·²ç¥çè³æªç¥çïŒïŒè¿è¡æ»å»ã\näžå®¶ä»¬äžèŽåæïŒæ¥æ NoScript ç Firefox æŽå®å
š :-)\n\nåžžè§é®é¢è§£çïŒ<a href=\"https://outgoing.prod.mozaws.net/v1/8a4a623eb90a9becd02eed9474b3d82f9e6a93c…" rel=\"nofollow\">https://noscript.net/faq</a>\n论åïŒ<a href=\"https://outgoing.prod.mozaws.net/v1/8a6b9e607349db8d83719e8645277b459753899…
" rel=\"nofollow\">https://noscript.net/forum</a>"
},
"developer_comments": {
- "en-US": "Security issues affecting Firefox or the Tor Browser which can be fixed by a NoScript update are guaranteed to be addressed within 24 hours. This sometimes requires many updates to be issued in a short timespan, and when this happen you may notice NoScript UI's asking to \"<em>reload this page in order to operate properly</em>\". This is normal on \"live\" updates, and it just means the UI is out of sync with the page content, but there's no need to worry as <strong>all the restrictions to scripts and active content are still in place</strong>.",
+ "en-US": "Security issues affecting Firefox or the Tor Browser which can be fixed by a NoScript update are guaranteed to be addressed within 24 hours. This sometimes requires many updates to be issued in a short timespan, and when this happens you may notice NoScript UI's asking to \"<em>reload this page in order to operate properly</em>\". This is normal on \"live\" updates, and it just means the UI is out of sync with the page content, but there's no need to worry as <strong>all the restrictions to scripts and active content are still in place</strong>.",
"vi": "Vì nÆ¡i nà y khÃŽng phải là má»t diá»
n Äà n há» trợ, bạn sẜ khÃŽng nháºn ÄÆ°á»£c bất kì sá»± trợ giúp nà o á» Äây, và câu há»i cá»§a bạn có thá» sẜ bá» biến mất.\n\nNếu bạn cần há» trợ, vui lòng\n1) Äá»c FAQ: <a href=\"https://outgoing.prod.mozaws.net/v1/8e7d554d2a514b5ac64530fd2bee08d42dab512…" rel=\"nofollow\">http://noscript.net/faq</a>\n2) và o diá»
n Äà n nà y: <a href=\"https://outgoing.prod.mozaws.net/v1/a223b9b9c59b6a55f9c71a27aab7a5410118253…" rel=\"nofollow\">http://noscript.net/forum</a>\n3) liên há» trá»±c tiếp vá»i tÃŽi: <a href=\"https://outgoing.prod.mozaws.net/v1/8a23530493574ca29557b267b5d63d6f06fd0b8…" rel=\"nofollow\">http://maone.net</a>\n\nBạn luÃŽn ÄÆ°á»£c hoan nghênh!\n\nCÃC VẀN Äá» CÃI ÄẶT ÄÆ¯á»¢C NHẮC Tá»I TRONG FAQ 2.1, <a
href=\"https://outgoing.prod.mozaws.net/v1/b740116c06642d0cfd01391259960b99f7299fa…" rel=\"nofollow\">http://noscript.net/faq#qa2_1</a>",
"zh-CN": "å 䞺è¿éå¹¶äžæ¯åž®å©è®ºåïŒæä»¥æšåšè¿éæåºçé®é¢å°ç³æ²å€§æµ·ïŒåŸäžå°æä»¬çä»»äœåž®å©ã\n\nåŠææšéèŠåž®å©ïŒæšå¯ä»¥ïŒ\n1ïŒé
读垞è§é®é¢è§£çïŒ<a href=\"https://outgoing.prod.mozaws.net/v1/8e7d554d2a514b5ac64530fd2bee08d42dab512…" rel=\"nofollow\">http://noscript.net/faq</a>\n2ïŒè®¿é®è®ºåïŒ<a href=\"https://outgoing.prod.mozaws.net/v1/a223b9b9c59b6a55f9c71a27aab7a5410118253…" rel=\"nofollow\">http://noscript.net/forum</a>\n3ïŒçŽæ¥åæèç³»ïŒ<a href=\"https://outgoing.prod.mozaws.net/v1/8a23530493574ca29557b267b5d63d6f06fd0b8…" rel=\"nofollow\">http://maone.net</a>\n\néåžžæ¬¢è¿æšïŒ\n\næå
³å®è£
çé®é¢éœå
å«åšåžžè§é®é¢è§£ç2.1äžïŒ<a href=\"https://outgoing.prod.mozaws.net/v1/b740116c06642d0cfd01391259960b99f7299fa…
http%3A//noscript.net/faq%23qa2_1\" rel=\"nofollow\">http://noscript.net/faq#qa2_1</a>\n\néèŠäºé¡¹ïŒåšè¯¢é®æè¯è®ºå
³äºå¯åšæ¶åhttps://<a href=\"https://outgoing.prod.mozaws.net/v1/04f8ee575d40068bcc9955faa2f3969749fbe22…" rel=\"nofollow\">secure.informaction.com/ipecho</a> åéç*å®å
šå¿å*æ¥è¯¢æå®æåéä¿¡æ¯å°æšçWAN IPä¹åïŒè¯·é
读å
³äºWAN IPçä¿æ€ç¹æ§ <a href=\"https://outgoing.prod.mozaws.net/v1/5253c8b9f201aa735198552ef86d72cb558b30b…" rel=\"nofollow\">http://noscript.net/abe/wan</a> ïŒåš2.0çååžè¯Žæåè¿éçéç§æ¿çäžä¹ææå°ïŒãåŠææšå¯¹å®æŽçå¿åæ§åå®å
šçéç§ä¿æ€åèœæææçïŒåªéèŠæ£æ¥ïŒææŸæšä¿¡ä»»çäººæ£æ¥ïŒè¿éçæºä»£ç ïŒæä»¶æ¯content/DNS.jsã谢谢"
},
@@ -2888,13 +2769,13 @@
},
"icon_url": "data:image/png;base64,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",
"icons": {
- "32": "https://addons.cdn.mozilla.net/user-media/addon_icons/0/722-32.png?modified…",
- "64": "https://addons.cdn.mozilla.net/user-media/addon_icons/0/722-64.png?modified…",
- "128": "https://addons.cdn.mozilla.net/user-media/addon_icons/0/722-128.png?modifie…"
+ "32": "https://addons.mozilla.org/user-media/addon_icons/0/722-32.png?modified=mcr…",
+ "64": "https://addons.mozilla.org/user-media/addon_icons/0/722-64.png?modified=mcr…",
+ "128": "https://addons.mozilla.org/user-media/addon_icons/0/722-128.png?modified=mc…"
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-08-25T21:20:48Z",
+ "last_updated": "2021-12-30T08:43:35Z",
"name": {
"de": "NoScript",
"el": "NoScript",
@@ -2918,12 +2799,12 @@
291,
244
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/0/846.png?modified=…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/0/846.png?modified=1622…",
"thumbnail_size": [
291,
244
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/0/846.jpg?modifie…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/0/846.jpg?modified=16…"
},
{
"id": 1060,
@@ -2934,12 +2815,12 @@
423,
447
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/1/1060.png?modified…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/1/1060.png?modified=162…",
"thumbnail_size": [
379,
400
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/1/1060.jpg?modifi…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/1/1060.jpg?modified=1…"
},
{
"id": 1062,
@@ -2950,12 +2831,12 @@
457,
428
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/1/1062.png?modified…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/1/1062.png?modified=162…",
"thumbnail_size": [
427,
400
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/1/1062.jpg?modifi…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/1/1062.jpg?modified=1…"
},
{
"id": 52395,
@@ -2966,12 +2847,12 @@
504,
385
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/52/52395.png?modifi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/52/52395.png?modified=1…",
"thumbnail_size": [
504,
385
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/52/52395.jpg?modi…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/52/52395.jpg?modified…"
}
],
"promoted": {
@@ -2982,10 +2863,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.3838,
- "bayesian_average": 4.381087184465328,
- "count": 1811,
- "text_count": 722
+ "average": 4.4086,
+ "bayesian_average": 4.405844933901775,
+ "count": 1855,
+ "text_count": 725
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/reviews/",
"requires_payment": false,
@@ -3021,7 +2902,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/versions/",
- "weekly_downloads": 8234
+ "weekly_downloads": 9181
},
"notes": null
},
@@ -3037,7 +2918,7 @@
"picture_url": null
}
],
- "average_daily_users": 122541,
+ "average_daily_users": 126321,
"categories": {
"android": [
"performance",
@@ -3063,6 +2944,18 @@
}
},
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/youtube-high-definition/v…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 12,
+ "is_custom": false,
+ "name": {
+ "en-US": "GNU Library General Public License v3.0"
+ },
+ "url": "http://www.gnu.org/licenses/lgpl-3.0.html"
+ },
+ "release_notes": null,
+ "reviewed": null,
+ "version": "85.0.0",
"files": [
{
"id": 3719055,
@@ -3086,40 +2979,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 12,
- "is_custom": false,
- "name": {
- "ca": "LlicÚncia LGPL (Lesser General Public License) de GNU, versió 3.0",
- "cs": "GNU Lesser General Public License, verze 3.0",
- "de": "GNU Lesser General Public License, Version 3.0",
- "el": "GNU Lesser General Public License, ÎκΎοÏη 3.0",
- "en-US": "GNU Lesser General Public License, version 3.0",
- "es": "Licencia pública menor GNU Lesser, versión 3.0",
- "eu": "GNU Lesser General Public License, 3.0 bertsioa",
- "fa": "Ù
Ø¬ÙØ² عÙ
ÙÙ
Û Ú©ÙÛ Ú©Ø§ÙØŽâÛØ§ÙتÙÙ Ú¯ÙÙØ ÙØ³Ø®ÙÙ Û³Ù«Û°",
- "ga-IE": "GNU Lesser General Public License, leagan 3.0",
- "id": "GNU Lesser General Public License, versi 3.0",
- "it": "Licenza GNU Lesser General Public License, versione 3.0",
- "ja": "GNU Lesser General Public License ããŒãžã§ã³ 3.0",
- "nl": "GNU Lesser General Public License, versie 3.0",
- "pl": "GNU Lesser General Public License, wersja 3.0",
- "pt-PT": "GNU Lesser General Public License, versão 3.0",
- "ru": "GNU Lesser General Public License, веÑÑÐžÑ 3.0",
- "sk": "GNU Lesser General Public License, verzia 3.0",
- "sq": "Leje e Përgjithshme Publike Më e Pakët GNU, version 3.0",
- "uk": "GNU Lesser General Public License, веÑÑÑÑ 3.0",
- "vi": "Giấy phép CÃŽng cá»ng Ãt hÆ¡n GNU, phiên bản 3.0",
- "zh-CN": "GNU èŸå®œæŸå
Œ
±è®žå¯è¯ïŒLGPLïŒïŒçæ¬ 3.0",
- "zh-TW": "GNU Lesser General Public LicenseïŒçæ¬ 3.0"
- },
- "url": "http://www.gnu.org/licenses/lgpl-3.0.html"
- },
- "release_notes": null,
- "reviewed": null,
- "version": "85.0.0"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -3135,9 +2995,9 @@
},
"icon_url": "data:image/png;base64,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",
"icons": {
- "32": "https://addons.cdn.mozilla.net/user-media/addon_icons/328/328839-32.png?mod…",
- "64": "https://addons.cdn.mozilla.net/user-media/addon_icons/328/328839-64.png?mod…",
- "128": "https://addons.cdn.mozilla.net/user-media/addon_icons/328/328839-128.png?mo…"
+ "32": "https://addons.mozilla.org/user-media/addon_icons/328/328839-32.png?modifie…",
+ "64": "https://addons.mozilla.org/user-media/addon_icons/328/328839-64.png?modifie…",
+ "128": "https://addons.mozilla.org/user-media/addon_icons/328/328839-128.png?modifi…"
},
"is_disabled": false,
"is_experimental": false,
@@ -3154,12 +3014,12 @@
256,
256
],
- "image_url": "https://addons.cdn.mozilla.net/user-media/previews/full/104/104784.png?modi…",
+ "image_url": "https://addons.mozilla.org/user-media/previews/full/104/104784.png?modified…",
"thumbnail_size": [
256,
256
],
- "thumbnail_url": "https://addons.cdn.mozilla.net/user-media/previews/thumbs/104/104784.jpg?mo…"
+ "thumbnail_url": "https://addons.mozilla.org/user-media/previews/thumbs/104/104784.jpg?modifi…"
}
],
"promoted": {
@@ -3170,10 +3030,10 @@
"category": "recommended"
},
"ratings": {
- "average": 3.9125,
- "bayesian_average": 3.9081909928823353,
- "count": 994,
- "text_count": 358
+ "average": 3.9132,
+ "bayesian_average": 3.908896818499659,
+ "count": 1025,
+ "text_count": 366
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/revi…",
"requires_payment": false,
@@ -3192,7 +3052,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/vers…",
- "weekly_downloads": 1402
+ "weekly_downloads": 1454
},
"notes": null
}
diff --git a/rbm.conf b/rbm.conf
index beb1e47..47630c1 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -58,7 +58,7 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '11.5a2'
+ torbrowser_version: '11.5a3'
torbrowser_build: 'build1'
torbrowser_incremental_from:
- 11.5a1
1
0

[Git][tpo/applications/fenix] Pushed new tag tor-browser-94.1.1-11.5-1-build1
by Matthew Finkel (@sysrqb) 13 Jan '22
by Matthew Finkel (@sysrqb) 13 Jan '22
13 Jan '22
Matthew Finkel pushed new tag tor-browser-94.1.1-11.5-1-build1 at The Tor Project / Applications / fenix
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/fenix/-/tree/tor-browser-94.…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[tor-browser/geckoview-94.0-11.5-1] squash! TB4: Tor Browser's Firefox preference overrides.
by sysrqb@torproject.org 13 Jan '22
by sysrqb@torproject.org 13 Jan '22
13 Jan '22
commit 73f8c9d6ca176bdb67c52092c47b20795ca2165e
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Nov 26 10:01:18 2021 +0100
squash! TB4: Tor Browser's Firefox preference overrides.
Bug 40682: Disable network.proxy.allow_bypass
---
browser/app/profile/000-tor-browser.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 8a278cc48b4a..5e715361371a 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -209,6 +209,7 @@ pref("network.protocol-handler.warn-external.mailto", true);
pref("network.protocol-handler.warn-external.news", true);
pref("network.protocol-handler.warn-external.nntp", true);
pref("network.protocol-handler.warn-external.snews", true);
+pref("network.proxy.allow_bypass", false); // #40682
// Make sure we don't have any GIO supported protocols (defense in depth
// measure)
pref("network.gio.supported-protocols", "");
1
0

[tor-browser/geckoview-94.0-11.5-1] squash! TB4: Tor Browser's Firefox preference overrides.
by sysrqb@torproject.org 13 Jan '22
by sysrqb@torproject.org 13 Jan '22
13 Jan '22
commit a256bacf1cbbe28745832a5363806df078394981
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Dec 13 13:00:02 2021 +0000
squash! TB4: Tor Browser's Firefox preference overrides.
Bug 40736: Disable third-party cookies in PBM
---
browser/app/profile/000-tor-browser.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index cc716dd5a6b7..8a278cc48b4a 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -186,6 +186,7 @@ pref("dom.enable_event_timing", false);
pref("privacy.firstparty.isolate", true); // Always enforce first party isolation
pref("privacy.partition.network_state", false); // Disable for now until audit
pref("network.cookie.cookieBehavior", 1);
+pref("network.cookie.cookieBehavior.pbmode", 1);
pref("network.http.spdy.allow-push", false); // Disabled for now. See https://bugs.torproject.org/27127
pref("network.predictor.enabled", false); // Temporarily disabled. See https://bugs.torproject.org/16633
1
0

13 Jan '22
commit a6341f7df3fbd994bf67a5f9ba3665b1b2f5ecf5
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Thu Jan 13 17:20:46 2022 +0000
Refresh keys in torbutton keyring
---
keyring/torbutton.gpg | Bin 212576 -> 220030 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/keyring/torbutton.gpg b/keyring/torbutton.gpg
index c9b7ea9..791d49f 100644
Binary files a/keyring/torbutton.gpg and b/keyring/torbutton.gpg differ
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-1] fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
by richard@torproject.org 13 Jan '22
by richard@torproject.org 13 Jan '22
13 Jan '22
commit fe87f41e5cd329374c79d820fafc0a741f171928
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Jan 12 12:44:40 2022 +0100
fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
fixes tor-browser#40770
---
browser/themes/shared/identity-block/identity-block.inc.css | 4 ----
1 file changed, 4 deletions(-)
diff --git a/browser/themes/shared/identity-block/identity-block.inc.css b/browser/themes/shared/identity-block/identity-block.inc.css
index 145ea2732846..68ed0beed684 100644
--- a/browser/themes/shared/identity-block/identity-block.inc.css
+++ b/browser/themes/shared/identity-block/identity-block.inc.css
@@ -59,10 +59,6 @@
opacity: 1;
}
-toolbar[brighttext] #identity-box[pageproxystate="valid"].chromeUI #identity-icon-label {
- color: #CC80FF;
-}
-
#identity-box[pageproxystate="valid"].chromeUI #identity-icon-label,
#identity-box[pageproxystate="valid"].extensionPage #identity-icon-label,
.urlbar-label {
1
0

[tor-browser/tor-browser-91.5.0esr-11.5-1] fixup! Bug 40002: Remove about:ion
by richard@torproject.org 13 Jan '22
by richard@torproject.org 13 Jan '22
13 Jan '22
commit b383d8163a4dae9a1b6a997d5d77a47c17b6313b
Author: Pier Angelo Vendrame <pierov(a)torproject.org>
Date: Thu Jan 13 11:20:39 2022 +0100
fixup! Bug 40002: Remove about:ion
Fixes tor-browser#40775
---
browser/base/content/browser-siteIdentity.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js
index 6dcfbd1e491f..5a702254bb5c 100644
--- a/browser/base/content/browser-siteIdentity.js
+++ b/browser/base/content/browser-siteIdentity.js
@@ -58,8 +58,8 @@ var gIdentityHandler = {
* the browser UI.
*/
_secureInternalPages: (AppConstants.TOR_BROWSER_UPDATE ?
- /^(?:accounts|addons|cache|certificate|config|crashes|downloads|license|logins|preferences|protections|rights|sessionrestore|support|welcomeback|ion|tor|torconnect|tbupdate)(?:[?#]|$)/i :
- /^(?:accounts|addons|cache|certificate|config|crashes|downloads|license|logins|preferences|protections|rights|sessionrestore|support|welcomeback|ion|tor|torconnect)(?:[?#]|$)/i),
+ /^(?:accounts|addons|cache|certificate|config|crashes|downloads|license|logins|preferences|protections|rights|sessionrestore|support|welcomeback|tor|torconnect|tbupdate)(?:[?#]|$)/i :
+ /^(?:accounts|addons|cache|certificate|config|crashes|downloads|license|logins|preferences|protections|rights|sessionrestore|support|welcomeback|tor|torconnect)(?:[?#]|$)/i),
/**
1
0

[tor-browser-build/maint-11.0] Bug 40413: Removed lsb_release from Python build script
by boklm@torproject.org 11 Jan '22
by boklm@torproject.org 11 Jan '22
11 Jan '22
commit 0355d678334d3cec48ea901571832c5bb8137f5e
Author: Pier Angelo Vendrame <pierov(a)torproject.org>
Date: Mon Jan 10 18:10:39 2022 +0100
Bug 40413: Removed lsb_release from Python build script
`lsb_release -r` outputs testing/unstable on Debian testing, the slash
is seen as directory separator, and makes the build fail in turn.
Therefore, we decided to remove any lsb_release related variables from
the filename in the Python build script.
---
projects/python/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/python/config b/projects/python/config
index a5caece..deacca3 100644
--- a/projects/python/config
+++ b/projects/python/config
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
version: 3.6.8
-filename: 'python-[% c("lsb_release/id") %]-[% c("lsb_release/release") %]-[% c("var/build_id") %].tar.gz'
+filename: 'python-[% c("var/build_id") %].tar.gz'
var:
container:
use_container: 1
1
0

[tor-browser-build/master] Bug 40413: Removed lsb_release from Python build script
by boklm@torproject.org 11 Jan '22
by boklm@torproject.org 11 Jan '22
11 Jan '22
commit cd52af0e6d1bb74d164dcef1a58a400524545453
Author: Pier Angelo Vendrame <pierov(a)torproject.org>
Date: Mon Jan 10 18:10:39 2022 +0100
Bug 40413: Removed lsb_release from Python build script
`lsb_release -r` outputs testing/unstable on Debian testing, the slash
is seen as directory separator, and makes the build fail in turn.
Therefore, we decided to remove any lsb_release related variables from
the filename in the Python build script.
---
projects/python/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/python/config b/projects/python/config
index a5caece..deacca3 100644
--- a/projects/python/config
+++ b/projects/python/config
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
version: 3.6.8
-filename: 'python-[% c("lsb_release/id") %]-[% c("lsb_release/release") %]-[% c("var/build_id") %].tar.gz'
+filename: 'python-[% c("var/build_id") %].tar.gz'
var:
container:
use_container: 1
1
0

[tor-browser-build/master] Merge remote-tracking branch 'gitlab-tpo/merge-requests/392'
by boklm@torproject.org 11 Jan '22
by boklm@torproject.org 11 Jan '22
11 Jan '22
commit a47e11e35c20c9847f42f227eb0f24c2d00ca81a
Merge: e8436f2 cd52af0
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Jan 11 09:52:43 2022 +0100
Merge remote-tracking branch 'gitlab-tpo/merge-requests/392'
projects/python/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
1
0

07 Jan '22
commit e8436f2693dfb66fbe120448b91390b4ac180c2f
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 7 14:59:12 2022 +0000
Release prep for 11.5a2 (desktop only)
Version bumps and changelog update
---
projects/firefox/config | 2 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 26 ++++++++++++++++++++++
projects/tor-browser/config | 4 ++--
projects/tor/config | 2 +-
rbm.conf | 6 ++---
5 files changed, 33 insertions(+), 7 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index e180ee0..8556f6a 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -8,7 +8,7 @@ git_submodule: 1
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 91.4.0
+ firefox_platform_version: 91.5.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
torbrowser_branch: 11.5
branding_directory: 'browser/branding/alpha'
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index ad477dd..db93fe2 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,29 @@
+Tor Browser 11.5a2 - January 11 2022
+ * Windows + OS X + Linux
+ * Update Firefox to 91.5.0esr
+ * Update Tor to 0.4.7.3-alpha
+ * Update OpenSSL to 1.1.1m
+ * Update NoScript to 11.2.14
+ * Bug 40405: Rotate deusexmachina IP address [tor-browser-build]
+ * Bug 40645: Migrate Moat APIs to Moat.jsm module [tor-browser]
+ * Bug 40684: Misc UI bug fixes [tor-browser]
+ * Bug 40736: Disable third-party cookies in Private Browsing Mode [tor-browser]
+ * Bug 40756: Fix up wrong observer removals [tor-browser]
+ * Bug 40758: Remove YEC takeover from about:tor [torbutton]
+ * Translations update
+ * Windows
+ * Bug 40742: Remove workaround for fixing --disable-maintenance-service build bustage [tor-browser]
+ * Bug 40753: Revert fix for Youtube videos not playing on Windows [tor-browser]
+ * Linux
+ * Bug 40387: Fonts of the GUI do not render after update [tor-browser-build]
+ * Bug 40399: Bring back Noto Sans Gurmukhi and Sinhala fonts [tor-browser-build]
+ * Bug 40685: Monospace font in browser chrome [tor-browser]
+ * Build System
+ * Windows + OS X + Linux
+ * Bug 40345: Update Go to 1.17.5 [tor-browser-build]
+ * OS X
+ * Bug 40390: Remove workaround for macOS OpenSSL build breakage [tor-browser-build]
+
Tor Browser 11.0.3 - December 20 2021
* Windows + OS X + Linux
* Update Firefox to 91.4.1esr
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 228b472..76823b6 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -78,9 +78,9 @@ input_files:
enable: '[% ! c("var/android") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
+ - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
name: noscript
- sha256sum: b833e81823986646dbc473ebbee987bd47757fbe79c9d1720150f08ba6ca9ba9
+ sha256sum: 47399b94f57dde1162f74a49679c7cb3b6dfe684d4eee49842e65eae64e9982b
- filename: 'RelativeLink/start-tor-browser.desktop'
enable: '[% c("var/linux") %]'
- filename: 'RelativeLink/execdesktop'
diff --git a/projects/tor/config b/projects/tor/config
index c25dd4d..d86f0bf 100644
--- a/projects/tor/config
+++ b/projects/tor/config
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-version: 0.4.7.2-alpha
+version: 0.4.7.3-alpha
git_hash: 'tor-[% c("version") %]'
git_url: https://git.torproject.org/tor.git
git_submodule: 1
diff --git a/rbm.conf b/rbm.conf
index e09ee13..beb1e47 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -58,10 +58,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '11.5a1'
- torbrowser_build: 'build2'
+ torbrowser_version: '11.5a2'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 11.0a10
+ - 11.5a1
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0

[tor-browser/tor-browser-91.4.0esr-11.5-1] fixup! Bug 10760: Integrate TorButton to TorBrowser core
by gk@torproject.org 07 Jan '22
by gk@torproject.org 07 Jan '22
07 Jan '22
commit 433498935f956b33d0b459c69255ec038fd984ad
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 7 13:57:39 2022 +0000
fixup! Bug 10760: Integrate TorButton to TorBrowser core
---
toolkit/torproject/torbutton | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/torproject/torbutton b/toolkit/torproject/torbutton
index f672cf4426c5..29445428ee7c 160000
--- a/toolkit/torproject/torbutton
+++ b/toolkit/torproject/torbutton
@@ -1 +1 @@
-Subproject commit f672cf4426c595675fc374b4621740a348e3f591
+Subproject commit 29445428ee7c1e033d00d9332983b895dccc052d
1
0
commit 29445428ee7c1e033d00d9332983b895dccc052d
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 7 10:37:24 2022 +0000
Translations update
---
chrome/locale/he/torbutton.dtd | 4 +-
chrome/locale/id/aboutTor.dtd | 4 +-
chrome/locale/zh-TW/aboutTor.dtd | 2 +-
chrome/locale/zh-TW/brand.properties | 4 +-
chrome/locale/zh-TW/branding/brand.ftl | 4 +-
chrome/locale/zh-TW/torbutton.dtd | 10 +--
chrome/locale/zh-TW/torbutton.properties | 110 +++++++++++++++----------------
7 files changed, 69 insertions(+), 69 deletions(-)
diff --git a/chrome/locale/he/torbutton.dtd b/chrome/locale/he/torbutton.dtd
index c1afaa5e..250f5cac 100644
--- a/chrome/locale/he/torbutton.dtd
+++ b/chrome/locale/he/torbutton.dtd
@@ -1,8 +1,8 @@
<!ENTITY torbutton.context_menu.new_identity "זהות חדשה">
-<!ENTITY torbutton.context_menu.new_identity_sentence_case "New identity">
+<!ENTITY torbutton.context_menu.new_identity_sentence_case "זהות חדשה">
<!ENTITY torbutton.context_menu.new_identity_key "I">
<!ENTITY torbutton.context_menu.new_circuit "נתיב Tor חדש לאתר זה">
-<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New tor circuit for this site">
+<!ENTITY torbutton.context_menu.new_circuit_sentence_case "מעגל Tor חדש עבור אתר זה">
<!ENTITY torbutton.context_menu.new_circuit_key "C">
<!ENTITY torbutton.context_menu.networksettings "הגדרות רשת Tor…">
<!ENTITY torbutton.context_menu.networksettings.key "N">
diff --git a/chrome/locale/id/aboutTor.dtd b/chrome/locale/id/aboutTor.dtd
index 4918ea97..a6663ba9 100644
--- a/chrome/locale/id/aboutTor.dtd
+++ b/chrome/locale/id/aboutTor.dtd
@@ -48,7 +48,7 @@
Thank you!
-->
<!ENTITY aboutTor.yec.slogan "Jauhi\nData\nSaya">
-<!ENTITY aboutTor.yec.motto "Privasi adalah hak asasi manusia">
+<!ENTITY aboutTor.yec.motto "Privasi adalah sebuah hak asasi manusia">
<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
also format it like the name of an organization in whichever way that is appropriate for your locale.
@@ -56,4 +56,4 @@
Thank you!
-->
-<!ENTITY aboutTor.yec.donationMatch "Donasi anda akan disesuaikan oleh "Friends of Tor", hingga $150,000.">
+<!ENTITY aboutTor.yec.donationMatch "Donasi Anda akan disesuaikan oleh "Friends of Tor", hingga $150.000.">
diff --git a/chrome/locale/zh-TW/aboutTor.dtd b/chrome/locale/zh-TW/aboutTor.dtd
index 8ec68152..5dc4ac80 100644
--- a/chrome/locale/zh-TW/aboutTor.dtd
+++ b/chrome/locale/zh-TW/aboutTor.dtd
@@ -47,7 +47,7 @@
Thank you!
-->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
+<!ENTITY aboutTor.yec.slogan "別\n碰\n我的\n資料">
<!ENTITY aboutTor.yec.motto "隱私即人權">
<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
also format it like the name of an organization in whichever way that is appropriate for your locale.
diff --git a/chrome/locale/zh-TW/brand.properties b/chrome/locale/zh-TW/brand.properties
index ba17accb..91fb6df8 100644
--- a/chrome/locale/zh-TW/brand.properties
+++ b/chrome/locale/zh-TW/brand.properties
@@ -8,8 +8,8 @@ brandFullName=洋蔥路由瀏覽器
# LOCALIZATION NOTE(brandProductName):
# This brand name can be used in messages where the product name needs to
# remain unchanged across different versions (Nightly, Beta, etc.).
-brandProductName=Tor 瀏覽器
-vendorShortName=Tor 計畫
+brandProductName= 洋蔥路由瀏覽器
+vendorShortName=洋蔥路由專案計畫
homePageSingleStartMain=Firefox Start:包含內建搜尋的快速首頁
homePageImport=從 %S 匯入您的首頁
diff --git a/chrome/locale/zh-TW/branding/brand.ftl b/chrome/locale/zh-TW/branding/brand.ftl
index eca78d7c..3975bebd 100644
--- a/chrome/locale/zh-TW/branding/brand.ftl
+++ b/chrome/locale/zh-TW/branding/brand.ftl
@@ -7,6 +7,6 @@
-brand-full-name = 洋蔥路由瀏覽器
# This brand name can be used in messages where the product name needs to
# remain unchanged across different versions (Nightly, Beta, etc.).
--brand-product-name = Tor 瀏覽器
--vendor-short-name = Tor 計畫
+-brand-product-name = 洋蔥路由瀏覽器
+-vendor-short-name = 洋蔥路由專案計畫
trademarkInfo = 「Tor」和「Onion Logo」皆是 Tor Project, Inc 的註冊商標。
diff --git a/chrome/locale/zh-TW/torbutton.dtd b/chrome/locale/zh-TW/torbutton.dtd
index 285c64a9..5de16056 100644
--- a/chrome/locale/zh-TW/torbutton.dtd
+++ b/chrome/locale/zh-TW/torbutton.dtd
@@ -1,8 +1,8 @@
<!ENTITY torbutton.context_menu.new_identity "新識別身分">
-<!ENTITY torbutton.context_menu.new_identity_sentence_case "New identity">
+<!ENTITY torbutton.context_menu.new_identity_sentence_case "新識別身份">
<!ENTITY torbutton.context_menu.new_identity_key "I">
<!ENTITY torbutton.context_menu.new_circuit "建立新的洋蔥路由迴路來連接上此網站">
-<!ENTITY torbutton.context_menu.new_circuit_sentence_case "New tor circuit for this site">
+<!ENTITY torbutton.context_menu.new_circuit_sentence_case "用新的迴路連接此站台">
<!ENTITY torbutton.context_menu.new_circuit_key "C">
<!ENTITY torbutton.context_menu.networksettings "洋蔥路由網路設定...">
<!ENTITY torbutton.context_menu.networksettings.key "N">
@@ -47,10 +47,10 @@
<!ENTITY torbutton.prefs.sec_custom_summary "您的瀏覽器個人化設定可能會造成安全性的疑慮。基於個人網路安全與隱私的考量,建議您選用預設的安全性層級選項。">
<!ENTITY torbutton.prefs.sec_restore_defaults "恢復到預設值">
<!ENTITY torbutton.prefs.sec_advanced_security_settings "進階安全性設定…">
-<!ENTITY torbutton.prefs.sec_change "Change…">
-<!ENTITY torbutton.circuit_display.title "Tor 迴路">
+<!ENTITY torbutton.prefs.sec_change "變更...">
+<!ENTITY torbutton.circuit_display.title "洋蔥路由迴路">
<!ENTITY torbutton.circuit_display.new_circuit "建立新的迴路來連接上此網站">
<!-- Onion services strings. Strings are kept here for ease of translation. -->
-<!ENTITY torbutton.onionServices.authPrompt.tooltip "開啟 Onion 服務用戶端驗證提示">
+<!ENTITY torbutton.onionServices.authPrompt.tooltip "開啟洋蔥服務用戶端驗證提示">
<!ENTITY torbutton.onionServices.authPrompt.persistCheckboxLabel "記住此金鑰">
diff --git a/chrome/locale/zh-TW/torbutton.properties b/chrome/locale/zh-TW/torbutton.properties
index 19afc103..fecce63a 100644
--- a/chrome/locale/zh-TW/torbutton.properties
+++ b/chrome/locale/zh-TW/torbutton.properties
@@ -2,12 +2,12 @@ torbutton.circuit_display.internet = 網際網路
torbutton.circuit_display.ip_unknown = 未知的 IP
torbutton.circuit_display.onion_site = 洋蔥網站
torbutton.circuit_display.this_browser = 此瀏覽器
-torbutton.circuit_display.relay = 中繼
-torbutton.circuit_display.tor_bridge = 橋接器
+torbutton.circuit_display.relay = 中繼站
+torbutton.circuit_display.tor_bridge = 橋接中繼站
torbutton.circuit_display.unknown_country = 未知的國家
-torbutton.circuit_display.guard = Guard
-torbutton.circuit_display.guard_note = 你的[Guard]節點可能不會更改。
-torbutton.circuit_display.learn_more = 繼續閱讀
+torbutton.circuit_display.guard = 護衛節點
+torbutton.circuit_display.guard_note = 你的[護衛]節點可能不會更換。
+torbutton.circuit_display.learn_more = 了解更多
torbutton.circuit_display.click_to_copy = 按一下以複製
torbutton.circuit_display.copied = 已複製!
torbutton.content_sizer.margin_tooltip = 洋蔥路由瀏覽器特意將視窗邊框的寬度及高度重新設置,以便讓您的瀏覽器狀態資訊看起來更為普通,如此可以減少您的網路活動被識別並追蹤的可能性。
@@ -19,7 +19,7 @@ torbutton.popup.external.suggest = 為了安全起見,您應該只在離線狀
torbutton.popup.launch = 下載檔案
torbutton.popup.cancel = 取消
torbutton.popup.dontask = 從現在開始自動下載檔案
-torbutton.popup.no_newnym = Torbutton 無法安全地給你一個新的身份。它無法存取洋蔥路由的控制連接埠。\n\n您目前正在執行的是洋蔥路由瀏覽器嗎?
+torbutton.popup.no_newnym = Torbutton 無法安全地給你一個新的識別身份,它無法存取洋蔥路由的控制連接埠。\n\n您目前正在執行的是洋蔥路由瀏覽器嗎?
torbutton.security_settings.menu.title = 安全性設定
torbutton.title.prompt_torbrowser = 重要的 Torbutton 資訊
torbutton.popup.prompt_torbrowser = Torbutton 現在以不同的方式運作:您再也不能將其關閉。\n\n我們做了這樣的變更,因為若在同一個瀏覽器中,使用洋蔥路由造訪網站,又同時不經過洋蔥路由造訪其他網站,將會有安全上的疑慮。目前仍有太多我們無法修復的程式錯誤存在。\n\n如果您希望繼續正常使用火狐狸瀏覽器,您應解除安裝 Torbutton 並下載洋蔥路由瀏覽器套件。洋蔥路由瀏覽器的隱私性也優於普通的火狐狸瀏覽器,即使當火狐狸瀏覽器與 Torbutton 一起使用時也是。\n\n要移除 Torbutton,請前往 工具 -> 附加元件 -> 擴充套件 然後按一下 Torbutton 旁邊的 〔移除〕按鈕。
@@ -27,7 +27,7 @@ torbutton.popup.short_torbrowser = 重要的 Torbutton 資訊!\n\nTorbutton
torbutton.popup.confirm_plugins = 諸如 Flash 的瀏覽器外掛程式可能會危害您的隱私和匿名性。\n\n它們還可以繞過洋蔥路由,透露出您目前所在的位置和 IP 位址。\n\n您確定要啟用外掛程式嗎?\n
torbutton.popup.never_ask_again = 不要再問我
-torbutton.popup.confirm_newnym = 洋蔥路由瀏覽器將關閉所有視窗和分頁。所有已登入狀態中的網站資訊都將被清除。\n\n現在重新啟動洋蔥路由瀏覽器來重新設置您的身份?\n\n
+torbutton.popup.confirm_newnym = 洋蔥路由瀏覽器將關閉所有視窗和分頁。所有已登入狀態中的網站資訊都將被清除。\n\n您確定現在要重新啟動洋蔥路由瀏覽器來重新設置您的識別身份?\n\n
torbutton.maximize_warning = 若將洋蔥路由瀏覽器視窗最大化,可能會讓所造訪的網站能夠得知您的螢幕尺寸,此舉可能被利用來識別並追蹤您的網路活動。因此我們建議您讓洋蔥路由瀏覽器視窗保持原始的大小。
@@ -62,81 +62,81 @@ pageInfo_OnionName=洋蔥名稱:
onionServices.learnMore=了解更多
onionServices.errorPage.browser=瀏覧器
onionServices.errorPage.network=網路
-onionServices.errorPage.onionSite=Onion 網站
+onionServices.errorPage.onionSite=洋蔥站台
# LOCALIZATION NOTE: In the longDescription strings, %S will be replaced with
# an error code, e.g., 0xF3.
# Tor SOCKS error 0xF0:
-onionServices.descNotFound.pageTitle=載入 Onion 網站發生問題
-onionServices.descNotFound.header=找不到 Onion 網站
-onionServices.descNotFound=最可能的原因是 Onion 網站已離線。請聯絡 Onion 網站管理員。
-onionServices.descNotFound.longDescription=Details: %S — The requested onion service descriptor can't be found on the hashring and therefore the service is not reachable by the client.
+onionServices.descNotFound.pageTitle=載入洋蔥站台時發生問題
+onionServices.descNotFound.header=找不到洋蔥站台
+onionServices.descNotFound=最可能的原因是洋蔥站台已離線,請聯絡該網站的管理員。
+onionServices.descNotFound.longDescription=技術細節: %S — 該洋蔥服務之識別證不存在於雜湊環中,故無法與該服務建立連線。
# Tor SOCKS error 0xF1:
-onionServices.descInvalid.pageTitle=載入 Onion 網站發生問題
-onionServices.descInvalid.header=Onion 網站不可達
-onionServices.descInvalid=Onion 網站由於內部錯誤無法瀏覽。
-onionServices.descInvalid.longDescription=Details: %S — The requested onion service descriptor can't be parsed or signature validation failed.
+onionServices.descInvalid.pageTitle=載入洋蔥站台發生問題
+onionServices.descInvalid.header=無法連上洋蔥站台
+onionServices.descInvalid=洋蔥站台由於內部錯誤無法連接。
+onionServices.descInvalid.longDescription=技術細節: %S — 該洋蔥服務知識別證無法被解析,或是其數位簽章驗證失敗。
# Tor SOCKS error 0xF2:
-onionServices.introFailed.pageTitle=載入 Onion 網站發生問題
-onionServices.introFailed.header=Onion 網站已斷線
+onionServices.introFailed.pageTitle=載入洋蔥站台時發生問題
+onionServices.introFailed.header=洋蔥站台已斷線
onionServices.introFailed=最可能的原因是 Onion 網站已離線。請聯絡 Onion 網站管理員。
-onionServices.introFailed.longDescription=Details: %S — Introduction failed, which means that the descriptor was found but the service is no longer connected to the introduction point. It is likely that the service has changed its descriptor or that it is not running.
+onionServices.introFailed.longDescription=技術細節: %S — 該洋蔥服務之識別證已找到,但該服務與引見節點之連線已中斷,造成引見連線建立失敗。這通常是肇因於該服務更換識別證,或是已經不再提供服務。
# Tor SOCKS error 0xF3:
-onionServices.rendezvousFailed.pageTitle=載入 Onion 網站發生問題
-onionServices.rendezvousFailed.header=無法連線到 Onion 網站
-onionServices.rendezvousFailed=Onion 網站忙碌或過載。請稍後再試。
-onionServices.rendezvousFailed.longDescription=Details: %S — The client failed to rendezvous with the service, which means that the client was unable to finalize the connection.
+onionServices.rendezvousFailed.pageTitle=載入洋蔥站台發生問題
+onionServices.rendezvousFailed.header=無法連線到洋蔥站台
+onionServices.rendezvousFailed=洋蔥站台過於忙碌或洋蔥路由網路之頻寬負載已滿,請稍後再試。
+onionServices.rendezvousFailed.longDescription=技術細節: %S — 與該服務之會見連線建立失敗,通往該服務之連線未果。
# Tor SOCKS error 0xF4:
onionServices.clientAuthMissing.pageTitle=需要授權
-onionServices.clientAuthMissing.header=Onion 網站需要授權
-onionServices.clientAuthMissing=存取 Onion 網站需要金鑰,但是沒有提供。
-onionServices.clientAuthMissing.longDescription=Details: %S — The client downloaded the requested onion service descriptor but was unable to decrypt its content because client authorization information is missing.
+onionServices.clientAuthMissing.header=該洋蔥站台要求認證
+onionServices.clientAuthMissing=需要提供金鑰才能存取此洋蔥站台。
+onionServices.clientAuthMissing.longDescription=技術細節: %S — 已下載該洋蔥服務之識別證,但由於缺少認證資訊,故無法解密識別證之內容。
# Tor SOCKS error 0xF5:
onionServices.clientAuthIncorrect.pageTitle=授權失敗
-onionServices.clientAuthIncorrect.header=Onion 網站授權失敗
-onionServices.clientAuthIncorrect=提供的金鑰不正確或已被撤銷。請聯絡 Onion 網站管理員。
-onionServices.clientAuthIncorrect.longDescription=Details: %S — The client was able to download the requested onion service descriptor but was unable to decrypt its content using the provided client authorization information. This may mean that access has been revoked.
+onionServices.clientAuthIncorrect.header=洋蔥站台授權失敗
+onionServices.clientAuthIncorrect=您所提供的金鑰不正確或已被撤銷,請聯絡該洋蔥站台管理員。
+onionServices.clientAuthIncorrect.longDescription=技術細節: %S — 已成功下載該洋蔥服務之識別證,但無法使用客戶端認證資訊進行內容之解密,原因可能是存取權已被撤銷。
# Tor SOCKS error 0xF6:
-onionServices.badAddress.pageTitle=載入 Onion 網站發生問題
-onionServices.badAddress.header=無效的 Onion 網站位址
-onionServices.badAddress=提供的 Onion 網站位址無效。請檢查您是否輸入正確。
-onionServices.badAddress.longDescription=Details: %S — The provided .onion address is invalid. This error is returned due to one of the following reasons: the address checksum doesn't match, the ed25519 public key is invalid, or the encoding is invalid.
+onionServices.badAddress.pageTitle=載入洋蔥站台時發生問題
+onionServices.badAddress.header=無效的洋蔥站台位址
+onionServices.badAddress=您所提供的洋蔥站台位址無效,請檢查您是否輸入正確。
+onionServices.badAddress.longDescription=技術細節: %S — 您所提供的洋蔥服務位址無效,可能的原因有:位址之總和檢查碼不符、ed25519公開金鑰無效、無效的編碼。
# Tor SOCKS error 0xF7:
-onionServices.introTimedOut.pageTitle=載入 Onion 網站發生問題
-onionServices.introTimedOut.header=Onion 網站迴路建立逾時
-onionServices.introTimedOut=無法連線到 Onion 網站,可能是因為網路連線不佳。
-onionServices.introTimedOut.longDescription=Details: %S — The connection to the requested onion service timed out while trying to build the rendezvous circuit.
+onionServices.introTimedOut.pageTitle=載入洋蔥站台時發生問題
+onionServices.introTimedOut.header=洋蔥站台之迴路建立逾時
+onionServices.introTimedOut=無法連線到洋蔥站台,可能是因為網路連線品質不佳。
+onionServices.introTimedOut.longDescription=技術細節: %S — 建立通往該洋蔥服務之會見節點迴路時,發生連線逾時。
#
# LOCALIZATION NOTE: %S will be replaced with the .onion address.
onionServices.authPrompt.description2=%S 要求您驗證。
-onionServices.authPrompt.keyPlaceholder=請輸入私鑰以使用此 onion 服務
+onionServices.authPrompt.keyPlaceholder=請輸入您的私密金鑰以使用此洋蔥服務
onionServices.authPrompt.done=完成
onionServices.authPrompt.doneAccessKey=d
onionServices.authPrompt.invalidKey=請輸入有效金鑰(52 個 Base32 字元,或 44 個 Base64 字元)
-onionServices.authPrompt.failedToSetKey=無法使用您的金鑰設定 Tor
-onionServices.authPreferences.header=Onion 服務驗證
-onionServices.authPreferences.overview=部分洋蔥服務要求您要使用金鑰 (一種密碼) 辨識您的身分後,才能讓您使用這些服務。
+onionServices.authPrompt.failedToSetKey=無法使用您的金鑰設定洋蔥路由
+onionServices.authPreferences.header=洋蔥服務驗證
+onionServices.authPreferences.overview=部分洋蔥服務要求您使用金鑰 (一種密碼) 進行身份識別後,才允許存取。
onionServices.authPreferences.savedKeys=儲存的金鑰
onionServices.authPreferences.dialogTitle=洋蔥服務金鑰
onionServices.authPreferences.dialogIntro=下列洋蔥網站的金鑰已儲存於您的電腦
-onionServices.authPreferences.onionSite=Onion 網站
+onionServices.authPreferences.onionSite=洋蔥站台
onionServices.authPreferences.onionKey=金鑰
onionServices.authPreferences.remove=移除
onionServices.authPreferences.removeAll=全部移除
-onionServices.authPreferences.failedToGetKeys=無法從 Tor 擷取金鑰
+onionServices.authPreferences.failedToGetKeys=無法從洋蔥路由擷取金鑰
onionServices.authPreferences.failedToRemoveKey=無法移除金鑰
-onionServices.v2Deprecated.pageTitle=V2 Onion Site Deprecation Warning
-onionServices.v2Deprecated.header=Version 2 Onion Sites will be deprecated soon
-onionServices.v2Deprecated=This onion site will not be reachable soon. Please contact the site administrator and encourage them to upgrade.
-onionServices.v2Deprecated.longDescription=Tor is ending its support for version 2 onion services beginning in July 2021, and this onion site will no longer be reachable at this address. If you are the site administrator, upgrade to a version 3 onion service soon.
+onionServices.v2Deprecated.pageTitle=V2 版洋蔥站台位址廢棄警告
+onionServices.v2Deprecated.header=第2版的洋蔥站台位址即將被廢棄不用
+onionServices.v2Deprecated=此洋蔥站台即將失效,請聯繫該站台管理員並鼓勵他們進行網站升級。
+onionServices.v2Deprecated.longDescription=洋蔥路由將在2021年七月起停止支援第2版的洋蔥服務,故此洋蔥站台目前所使用的位址也將失效。若您是此站台的管理員,請盡速將此洋蔥服務升級至第3版。
onionServices.v2Deprecated.tryAgain=收到
-onionServices.v2Deprecated.tooltip=This onion site will not be reachable soon
+onionServices.v2Deprecated.tooltip=此洋蔥站台即將失效
# Onion-Location strings.
-onionLocation.alwaysPrioritize=洋蔥服務總是優先
+onionLocation.alwaysPrioritize=優先使用洋蔥服務
onionLocation.alwaysPrioritizeAccessKey=a
onionLocation.notNow=稍後
onionLocation.notNowAccessKey=n
-onionLocation.description=There's a more private and secure version of this site available over the Tor network via onion services. Onion services help website publishers and their visitors defeat surveillance and censorship.
+onionLocation.description=此網站有透過洋蔥路由網路提供洋蔥服務,這是一個較安全且私密的連線方式,洋蔥服務可以幫助網站擁有者以及其訪客對抗網路監控審查與過濾。
onionLocation.tryThis=試試洋蔥服務
onionLocation.onionAvailable=.onion 可用
onionLocation.learnMore=了解更多…
@@ -146,11 +146,11 @@ onionLocation.prioritizeOnionsDescription=優先使用洋蔥網站。
onionLocation.onionServicesTitle=洋蔥服務
# LOCALIZATION NOTE: %S will be replaced with the cryptocurrency address.
-cryptoSafetyPrompt.cryptoWarning=A cryptocurrency address (%S) has been copied from an insecure website. It could have been modified.
-cryptoSafetyPrompt.whatCanHeading=What can you do about it?
-cryptoSafetyPrompt.whatCanBody=You can try reconnecting with a new circuit to establish a secure connection, or accept the risk and dismiss this warning.
+cryptoSafetyPrompt.cryptoWarning=從某個不安全的網站上複製了一個加密貨幣的位址(%S),該位址可能已遭到竄改。
+cryptoSafetyPrompt.whatCanHeading=我能怎麼做?
+cryptoSafetyPrompt.whatCanBody=您可以試著重新建立一條新的迴路來確保連線安全,或者是忽略此警告並接受風險。
cryptoSafetyPrompt.learnMore=了解更多
-cryptoSafetyPrompt.primaryAction=Reload Tab with a New Circuit
+cryptoSafetyPrompt.primaryAction=用另一條新的迴路重新載入此分頁
cryptoSafetyPrompt.primaryActionAccessKey=R
-cryptoSafetyPrompt.secondaryAction=Dismiss Warning
+cryptoSafetyPrompt.secondaryAction=忽略警告
cryptoSafetyPrompt.secondaryActionAccessKey=B
1
0

[tor-browser-build/maint-11.0] Pick up correct tor-browser build tag
by gk@torproject.org 06 Jan '22
by gk@torproject.org 06 Jan '22
06 Jan '22
commit 5247b407a2dd5bfea0a26fa7e91ceb3fb1b1ca50
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 6 20:39:29 2022 +0000
Pick up correct tor-browser build tag
---
projects/firefox/config | 2 +-
rbm.conf | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index d8d48f5..5604d82 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -8,7 +8,7 @@ git_submodule: 1
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 91.4.1
+ firefox_platform_version: 91.5.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
torbrowser_branch: 11.0
branding_directory: 'browser/branding/alpha'
diff --git a/rbm.conf b/rbm.conf
index f3bc10f..5fead9d 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -58,7 +58,7 @@ buildconf:
var:
torbrowser_version: '11.0.4'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 11.0.3
project_name: tor-browser
1
0

06 Jan '22
commit 72c96508bde81a77f856e17b03e2b4d70671e6c6
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 6 20:31:18 2022 +0000
Release preparations for 11.0.4
Version bumps and changelog update
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 10 ++++++++++
projects/tor-browser/config | 4 ++--
rbm.conf | 4 ++--
3 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 6a76a73..032075d 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,13 @@
+Tor Browser 11.0.4 - January 11 2022
+ * Windows + OS X + Linux
+ * Update Firefox to 91.5.0esr
+ * Update NoScript to 11.2.14
+ * Bug 40405: Rotate deusexmachina IP address [tor-browser-build]
+ * Bug 40756: Fix up wrong observer removals [tor-browser]
+ * Bug 40758: Remove YEC takeover from about:tor [torbutton]
+ * Linux
+ * Bug 40399: Bring back Noto Sans Gurmukhi and Sinhala fonts [tor-browser-build]
+
Tor Browser 11.0.3 - December 20 2021
* Windows + OS X + Linux
* Update Firefox to 91.4.1esr
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 228b472..76823b6 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -78,9 +78,9 @@ input_files:
enable: '[% ! c("var/android") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
+ - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
name: noscript
- sha256sum: b833e81823986646dbc473ebbee987bd47757fbe79c9d1720150f08ba6ca9ba9
+ sha256sum: 47399b94f57dde1162f74a49679c7cb3b6dfe684d4eee49842e65eae64e9982b
- filename: 'RelativeLink/start-tor-browser.desktop'
enable: '[% c("var/linux") %]'
- filename: 'RelativeLink/execdesktop'
diff --git a/rbm.conf b/rbm.conf
index 30c021c..f3bc10f 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -57,10 +57,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '11.0.3'
+ torbrowser_version: '11.0.4'
torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 11.0.2
+ - 11.0.3
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0

[torbutton/maint-11.0] Bug 40758: Remove YEC takeover from about:tor in next release
by gk@torproject.org 06 Jan '22
by gk@torproject.org 06 Jan '22
06 Jan '22
commit a9a72729e8dd92ad5189434ae2857bcfedecebb6
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Dec 22 15:40:39 2021 +0100
Bug 40758: Remove YEC takeover from about:tor in next release
- reverts YEC-specific additions to about:tor
- fixes tor-browser#40758
---
LICENSE | 197 --------------
chrome/content/aboutTor/aboutTor-content.js | 4 -
chrome/content/aboutTor/aboutTor.xhtml | 17 +-
chrome/locale/en-US/aboutTor.dtd | 28 --
chrome/skin/aboutTor.css | 91 +------
chrome/skin/corben-font.css | 14 -
chrome/skin/yec-activist.svg | 1 -
chrome/skin/yec-placard.svg | 382 ----------------------------
8 files changed, 7 insertions(+), 727 deletions(-)
diff --git a/LICENSE b/LICENSE
index a8e43ed8..783d6a47 100644
--- a/LICENSE
+++ b/LICENSE
@@ -27,200 +27,3 @@ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
-===========================================================================
-
-"Corben" font embedded in chrome/skin/corben-font.css is licensed under:
-
-Copyright (c) 2010, 2011 by vernon adams (vern(a)newtypography.co.uk)
-with Reserved Font Name Corben.
-
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at:
-http://scripts.sil.org/OFL
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
-
-===========================================================================
-
-"Sniglet" font embedded in chrome/skin/yec-placard.svg is licensed under:
-
-Copyright (c) 2008, Haley Fiege (haley(a)kingdomofawesome.com)
-Copyright (c) 2012, Brenda Gallo (gbrenda1987(a)gmail.com)
-Copyright (c) 2013, Pablo Impallari (www.impallari.com|impallari@gmail.com)
-
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at:
-http://scripts.sil.org/OFL
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/chrome/content/aboutTor/aboutTor-content.js b/chrome/content/aboutTor/aboutTor-content.js
index c4b3506a..2d1ae71f 100644
--- a/chrome/content/aboutTor/aboutTor-content.js
+++ b/chrome/content/aboutTor/aboutTor-content.js
@@ -116,10 +116,6 @@ var AboutTorListener = {
"https://tb-manual.torproject.org/" + aLocale;
content.document.getElementById("getInvolvedLink").href =
"https://community.torproject.org/" + aLocale;
- content.document.getElementById("slogan-layer").src =
- "resource://torbutton-assets/yec-placard.svg#" + aLocale;
- content.document.getElementById("donateButton").href =
- "https://www.torproject.org/donate/donate-phr-bp1-" + aLocale;
// Display the Tor Browser product name and version.
try {
diff --git a/chrome/content/aboutTor/aboutTor.xhtml b/chrome/content/aboutTor/aboutTor.xhtml
index 5765fd58..f1b4dab1 100644
--- a/chrome/content/aboutTor/aboutTor.xhtml
+++ b/chrome/content/aboutTor/aboutTor.xhtml
@@ -20,11 +20,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <meta http-equiv="Content-Security-Policy" content="default-src resource:; font-src data:; object-src 'none'" />
+ <meta http-equiv="Content-Security-Policy" content="default-src resource:; object-src 'none'" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>&aboutTor.title;</title>
<link rel="stylesheet" href="chrome://browser/skin/onionPattern.css" type="text/css" media="all" />
- <link rel="stylesheet" href="resource://torbutton-assets/corben-font.css" type="text/css" media="all" />
<link rel="stylesheet" href="resource://torbutton-assets/aboutTor.css" type="text/css" media="all" />
<script type="text/javascript" src="resource://torbutton-abouttor/aboutTor.js"></script>
</head>
@@ -36,12 +35,6 @@
</div>
<img class="torcontent-logo" src="resource://torbutton-assets/torbrowser_mobile_logo.png"/>
<div id="torstatus" class="top">
- <div class="hideIfTorOff header-container">
- <div class="header-layered">
- <img id="base-layer" src="resource://torbutton-assets/yec-activist.svg"/>
- <img id="slogan-layer" src="resource://torbutton-assets/yec-placard.svg#en-US"/>
- </div>
- </div>
<div class="hideIfTorOff hideIfHasBeenUpdated torstatus-container">
<div class="heading1">&aboutTor.ready.label;</div>
<br/>
@@ -72,14 +65,6 @@
</form>
</div>
- <div id="donateMessageBox" class="hideIfTorOff">
- <div id="motto">&aboutTor.yec.motto;</div>
- <div id="donationBox">
- <div id="donationMatch">&aboutTor.yec.donationMatch;</div>
- <a id="donateButton" href="https://donate.torproject.org/" target="_blank">&aboutTor.donationBanner.buttonA;</a>
- </div>
- </div>
-
<div id="bottom">
<p id="donate" class="moreInfoLink">&aboutTor.donationBanner.freeToUse;
<a href="https://donate.torproject.org/" target="_blank">&aboutTor.donationBanner.buttonA; »</a>
diff --git a/chrome/locale/en-US/aboutTor.dtd b/chrome/locale/en-US/aboutTor.dtd
index cbc3d392..7b231095 100644
--- a/chrome/locale/en-US/aboutTor.dtd
+++ b/chrome/locale/en-US/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor is free to use because of donations from people like you.">
<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "Privacy is a human right">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Your donation will be matched by Friends of Tor, up to $150,000.">
diff --git a/chrome/skin/aboutTor.css b/chrome/skin/aboutTor.css
index 2e187aba..9c4d7f63 100644
--- a/chrome/skin/aboutTor.css
+++ b/chrome/skin/aboutTor.css
@@ -6,13 +6,8 @@
*/
:root {
- --abouttor-link-color: #e98346;
- --abouttor-donate-button-bg: #efb149;
- --abouttor-donate-button-bg-hover: #e5b6e3;
- --abouttor-donate-button-bg-active: #b28db0;
- --abouttor-donate-button-color: #0C0C0D;
- --abouttor-text-color: #faf5df;
- --abouttor-bg-toron-color: #05161c;
+ --abouttor-text-color: white;
+ --abouttor-bg-toron-color: #420C5D;
--abouttor-bg-toroff-color: #A4000F;
--onion-opacity: 0.2;
--onion-color: #fff;
@@ -57,14 +52,14 @@ body:not([initialized]) {
}
.torcontent-container {
- margin: 80px 20px 28px 20px;
+ margin: 40px 20px 28px 20px;
display: flex;
flex-direction: column;
}
@media only screen and (min-width: 900px) {
.torcontent-container {
- margin-inline: auto;
+ margin: 40px auto 28px auto;
max-width: 1000px;
}
}
@@ -91,10 +86,11 @@ body:not([updatechannel="release"]):not([updatechannel="alpha"]) #torbrowser-cha
}
a {
- color: var(--abouttor-link-color);
+ color: var(--abouttor-text-color);
}
#torstatus {
+ margin-top: 135px;
display: flex;
flex-direction: column;
align-content: center;
@@ -127,7 +123,6 @@ a {
margin-inline-start: -100%;
}
.torstatus-container {
- display: none;
text-align: center;
}
@@ -161,80 +156,6 @@ body:not([showmanual]) .showForManual {
margin-bottom: 20px;
}
-#donateMessageBox {
- max-width: 730px;
- margin-top: 2em;
- margin-inline: auto;
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- font-family: serif;
-}
-
-#donateMessageBox > * {
- width: 50%;
-}
-
-#motto {
- /* dynamically scale motto text based on window width */
- font-size: clamp(24px, calc(100vw / 768 * 36) , 36px);
- line-height: clamp(32px, calc(100vw / 768 * 48) , 48px);
- flex-grow: 1;
- font-family: Corben, sans-serif;
- font-weight: 700;
-}
-
-#donationBox {
- margin-inline-start: 2em;
- flex-grow: 1;
- display: flex;
- flex-direction: column;
-}
-
-#donationMatch {
- font-size: 1.1em;
- font-family: Corben, sans-serif;
- font-weight: 400;
- line-height: 1.3em;
-}
-
-#donateButton {
- margin-block-start: 1em;
- margin-inline-end: auto;
- background-color: var(--abouttor-donate-button-bg);
- outline-color: var(--abouttor-donate-button-bg);
- outline-style: none;
- color: var(--abouttor-donate-button-color);
- font-family: sans-serif;
- font-weight: bold;
- font-size: 0.9em;
- box-sizing: border-box;
- border-radius: 1.5em;
- padding-inline: 1.25em;
- text-decoration: none;
- max-height: 3em;
- height: 3em;
- line-height: 3em;
-
-
-}
-
-#donateButton:hover {
- background-color: var(--abouttor-donate-button-bg-hover);
- outline-color: var(--abouttor-donate-button-bg-hover);
-}
-
-#donateButton:active {
- background-color: var(--abouttor-donate-button-bg-active);
- outline-color: var(--abouttor-donate-button-bg-active);
-}
-
-#donateButton:focus-visible {
- outline-style: dotted;
- outline-width: 1px;
- outline-offset: 2px;
-}
-
#bottom {
margin-top: 10vh;
margin-inline: auto;
diff --git a/chrome/skin/corben-font.css b/chrome/skin/corben-font.css
deleted file mode 100644
index ad51514b..00000000
--- a/chrome/skin/corben-font.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@font-face {
- font-family: 'Corben';
- src: url('data:application/octet-stream;base64,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
mAigAAwABBAkADQEgAk4AAwABBAkADgA0A24AAwABBAkAEgAMAMgAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADAALAAgADIAMAAxADEAIABiAHkAIAB2AGUAcgBuAG8AbgAgAGEAZABhAG0AcwAgACgAdgBlAHIAbgBAAG4AZQB3AHQAeQBwAG8AZwByAGEAcABoAHkALgBjAG8ALgB1AGsAKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAAQwBvAHIAYgBlAG4ALgBDAG8AcgBiAGUAbgBSAGUAZwB1AGwAYQByAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAAQwBvAHIAYgBlAG4AIABSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAwADEAQwBvAHIAYgBlAG4ALQBSAGUAZwB1AGwAYQByAEMAbwByAGIAZQBuACAAaQBzACAAYQAgAHQAcgBhAGQAZQBtAGEAcgBrACAAbwBmACAAdgBlAHIAbgBvAG4AIABhAGQAYQBtAHMALgB2AGUAcgBuAG8AbgAgAGEAZABhAG0AcwBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAgAGIAeQAgAHYAZQByAG4AbwBuACAAYQBkAGEAbQBzAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4AbgBlAHcAdAB5AHAAbwBnAHIAYQBwAGgAeQAuAGMAbwAuAHUAawBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUA
bgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuACAAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABpAHMAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP9mAGYAAAAAAAAAAAAAAAAAAAAAAAAAAAFjAAAAAQACAQIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQMAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBBACKANoAgwCTAPIA8wCNAJcAiADDAN4A8QCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6AQUBBgEHAQgBCQEKAP0A/gELAQwBDQEOAP8BAAEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwA+AD5AR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgD6ANcBKwEsAS0BLgEvA
TABMQEyATMBNAE1ATYBNwE4ATkA4gDjAToBOwE8AT0BPgE/AUABQQFCAUMBRAFFALAAsQFGAUcBSAFJAUoBSwFMAU0BTgFPAPsA/ADkAOUBUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjALsBZAFlAWYBZwDmAOcApgFoAWkA2ADhANsA3ADdAOAA2QDfAWoBawFsAW0AsgCzALYAtwDEALQAtQDFAIIAwgCHAKsAvgC/ALwBbgFvAIwAwADBAXABcQFyAXMBdAF1AXYETlVMTAd1bmkwMEEwB3VuaTAwQUQHQW1hY3JvbgdhbWFjcm9uBkFicmV2ZQZhYnJldmUHQW9nb25lawdhb2dvbmVrC0NjaXJjdW1mbGV4C2NjaXJjdW1mbGV4CkNkb3RhY2NlbnQKY2RvdGFjY2VudAZEY2Fyb24GZGNhcm9uB0VtYWNyb24HZW1hY3JvbgZFYnJldmUGZWJyZXZlCkVkb3RhY2NlbnQKZWRvdGFjY2VudAdFb2dvbmVrB2VvZ29uZWsGRWNhcm9uBmVjYXJvbgtHY2lyY3VtZmxleAtnY2lyY3VtZmxleApHZG90YWNjZW50Cmdkb3RhY2NlbnQMR2NvbW1hYWNjZW50C0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4BGhiYXIGSXRpbGRlBml0aWxkZQdJbWFjcm9uB2ltYWNyb24GSWJyZXZlBmlicmV2ZQdJb2dvbmVrB2lvZ29uZWsCSUoCaWoLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgMS2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAxrZ3JlZW5sYW5kaWMGTGFjdXRlBmxhY3V0ZQxMY29tbWFhY2NlbnQMbGNvbW1hYWNjZW50BkxjYXJvbgZsY2Fyb24KTGRvdGFjY2VudARsZG90Bk5hY3V0ZQZuYWN1dGUMTmNvbW1hYWNjZW50DG5jb21tYW
FjY2VudAZOY2Fyb24GbmNhcm9uB09tYWNyb24Hb21hY3JvbgZPYnJldmUGb2JyZXZlDU9odW5nYXJ1bWxhdXQNb2h1bmdhcnVtbGF1dAZSYWN1dGUGcmFjdXRlDFJjb21tYWFjY2VudAxyY29tbWFhY2NlbnQGUmNhcm9uBnJjYXJvbgZTYWN1dGUGc2FjdXRlC1NjaXJjdW1mbGV4C3NjaXJjdW1mbGV4DFRjb21tYWFjY2VudAx0Y29tbWFhY2NlbnQGVGNhcm9uBnRjYXJvbgZVdGlsZGUGdXRpbGRlB1VtYWNyb24HdW1hY3JvbgZVYnJldmUGdWJyZXZlBVVyaW5nBXVyaW5nDVVodW5nYXJ1bWxhdXQNdWh1bmdhcnVtbGF1dAdVb2dvbmVrB3VvZ29uZWsLV2NpcmN1bWZsZXgLd2NpcmN1bWZsZXgLWWNpcmN1bWZsZXgLeWNpcmN1bWZsZXgGWmFjdXRlBnphY3V0ZQpaZG90YWNjZW50Cnpkb3RhY2NlbnQCRFoCRHoMZG90YWNjZW50Y21iB3VuaTAzMEYHdW5pMDMxMQd1bmkwMzI2DGZvdXJzdXBlcmlvcgRFdXJvA2ZmaQNmX2oIZG90bGVzc2oDY19rA2ZfdQNmZmwCZmYAAAAAAQAB//8ADwABAAAADAAAAAAAAAACAAQAAgFZAAEBWgFdAAIBXgFeAAEBXwFiAAIAAQAAAAoAJAAyAAJERkxUAA5sYXRuAA4ABAAAAAD//wABAAAAAWtlcm4ACAAAAAEAAAABAAQAAgAAAAEACAACAFgABAAAAGoAkgAGAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6EAAP9T/3b/Vf8u/7cAAP8A/y//C/8t/30AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAAQAHACUAKwA4ADoAOwBaAFsAAgAGACUAJQABACsAKwAFADgAOAACADoAOgACADsAOwADAFoAWwAEAAI
ACAAzADMABQBFAEUAAQBHAEcAAgBIAEgAAwBJAEkAAgBTAFMAAgBVAFUAAgFfAV8ABAABAAAACgAkADIAAkRGTFQADmxhdG4ADgAEAAAAAP//AAEAAAABbGlnYQAIAAAAAQAAAAEABAAEAAAAAQAIAAEAUgACAAoAFAABAAQBXwACAE8ABwAQABgAIAAmACwAMgA4AWEAAwBKAFABXAADAEoATQFgAAIAWQFbAAIAUAFdAAIATgFaAAIATQFiAAIASgABAAIARwBK') format('truetype');
-
- font-weight: 400 400;
- font-style: normal;
-}
-
-@font-face {
- font-family: 'Corben';
- src: url('data:application/octet-stream;base64,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
jc2Nzc+AzMyHgIVFA4CIyEiLgI1ND4ENRE0LgQ1ND4CMzIWFRQOBBUEBBkqNRwVTmZ2eXViShICAQIiRx8SJBwRIzdDIBhxk6WWeBwcNxgfLgNJEBgeDhoVDAwhDCw2PR4kPCwYIkRoRf25aKJvOhQeJB4UFB4kHhQ6b6Jo2OQUHyMfFAJCDRAZIhkSCAYVHCAhIBoUBQEJEAkVIxocKBwUCQYfKC0pIQcIDB7XISoWCAMBAok0SSwUGC0/KDiDckwYNVI6GhgKBhElJAKDJCUSBgwXGjlSNBhkcxoYCwcSJSP//wAH/GQF4gVtECYBkQAAEAcCEAFyAAAAAAABAAACHgDpAAcA4AAEAAIAJgA4AIsAAACxDW0AAwABAAAAAAAAAAAAAABsAHgBQwIYAx4EbQStBP4FUAYSBn8GtwbmBxcHYwe1B/oIaAkkCZUKDQqaCusLfQwMDGUMxg0aDWsNwA5dD4IQFBDTEUMRqxJCEsgTRxPXFCIUjBUzFZ0WLRa0FxQXnBgiGLoZRRmpGhwaoRtqHAkclB0JHU0dkB3UHiceNh5yHygf2CBEIOchXyIAIv0jgiPtJGAk+iU9Jh0mticTJ7coaijtKXAp3SpqKt0rcSwRLK8tOS28Le0ucS6+Lr4uxi+fMD8xCzHaMjAy6jM3M/c0BjSMNMY09TXXNgo2Yjb0Nvw3BDc9N9Q4OzhvOLQ4+DkAOZA6uTwGPdo94j30PgY+GD4qPjw+Tj9yP34/kD+iP7Q/xj/YP+o//EAOQJhAqkC8QM5A4EDyQQRBbUH2QghCGkIsQj5CUELgQ8lD20PtQ/9EEUQjRDVFV0VjRXVFh0WZRatGHkaPRxJHk0h0SIZImEiqSLxIzkjgSVJJ10npSftKDUofSjFKyEraSuxK/ksQSyJLLks6S0xLXktwS4JLlEumS7hLykvcS+5MeE14TYpNnE2uTcBN0k3eTepN/E4OTiBOMk5ETlZOaE56ToZOmE6qTr
xPblBDUFVQZ1B5UItQnVCpULVQx1EKURxRp1GzUb9SW1JtUn9Si1KdUq9SwVNPU7VTx1PZU+VT8VQDVBVU81WrVb1Vz1XhVfNWBVb3V7pXzFfeV+pX9lgIWBpYLFg+WFBYYlhuWHpYjFieWKpYtljIWNpZYFnvWgFaE1olWjdaSVpbWm1af1qRWqNar1q7Ws1a31rxWwNbFVsnWzlbS1tdW29bgVwwXEJcTlxaXGxceFyEXJBcnFzpXTZddV2DXdteI15wXtNe5V73XwlfG18tXz9fUV9jX3Vfh1+ZX6tfvV/PX+Ff82AFYBdgKWA7YE1gX2BxYINglWCnYLlgwWDwYR9hVmGRYaBiAGJlYnxjB2PZZAdkF2VdZall/mZgZxpoE2hCaT5p5mnua0RslG2PbdxuSm8Hb3tv3XBTcL1xT3HHchNyrHMVc6V0EXSKdQJ1Z3Xudk92unc9d9V4Ini3eV95vXpOett7XHvkfEt8tn1qfgh+pn9Ff86AtoDCgNSA5oD4gQqBFoEogTqBTIFegXCBgoGUgoaCkoKkgraCyILaguyC/oMQgyKDNINGg1iDaoN8g46DoIOyg8SD1oPog/qEBoQShCSEroTAhU+FYYXnhfOGA4YThiWGN4ZJhluGbYZ/hpGGo4a1hseG2Ybrhv2HBYcXhymHO4dHh1OHZYd3h4mHm4eth7+H0Yfjh/WIB4gZiCuIPYhPiQGJE4kfiTGJPYlPiVuJbYl5ifyKv4rRiuOK74sBiw2LH4sriz2LT4thi3OLhYuXi6mLu4vNi9+MGo5yj9iRR5MmlGGViZb2lwiXs5e/l7+Xv5e/AAAAAQAAAAEAAPg0aPVfDzz1AA0IAAAAAADJZSGOAAAAANXFL6//IfwUEpAK7wABAAgAAgAAAAAAAAAAAAAAAAAAAAAAAAH0AAADNABOBS8AKQf1ACkGGgAxDQwALQhlAC4CkQApBAoALQQJAAoIBwAsBTIAKQLfACkE8wA
0AuAAKgQKACcGhwBEBGkARAT1ACUFFQAXBd4ACwTmAAEGEgAiBOoABgX2AEQGEgAdAzgAVgMfAEMEAQArBJwAUQQBAE0FAAAkC+wAMwb///cHbgA2BhwANgeqADYG5QA2BnwAKgatACwIsgA3BEkANgZXAA0IIQA3BgYANwirAD4HEwBAB2sAOwdnADgHbgA9CAMANgYiADUGzAAKB1oAIQax//cKsf/xBuwAAwbQAAgGPQAeA18AkgQKACYDX//fBBYAGQSfAAsDJgAQBhQAKAb7ADoFMQAtBvcAMwVBAC0EIABGBmwAVAeUADIEAABCA70ADAc/ADsD/wA8CscAOgevAEAGJAArBrQAOwb2ADQFRQAlBQkALwRjAB0HlQAaBi7/4ggi/+MGQQABBnP/6QVMACkEfQADAu4AmgR7/9QFgwAbAfQAAAM0AE4FRwAuBokAMwUKAFUHEgAmAt4AkgQ9AEoF6AAoB80AMgZAADUHmAAbBIsANAMj/6EHzQAyBOIAKQPjACcFPwA0BGsAEAT6AAYDJQASB84ARAXLACsC5gAuArUAFwQVAEgFuAAwBq0ANgiEAEgI5ABBCb8AQwUAACQG/v/3Bv7/9wb+//cG/v/3Bv7/9wb+//cJof/2BiEAOQblADYG5QA2BuUANgblADYESQA2BEoANgRJADYESf9qB6oANgcUAEAHawA7B2sAOwdrADsHawA7B2sAOwRuAEcHZQA4B1oAIQdaACEHWgAhB1oAIQbPAAgHCABCB6sALwYUACgGFAAoBhQAKAYUACgGFAAoBhQAKAhGACYFMwAuBUIALQVCAC0FQgAtBUL/7AQA//YEAABCBAAAHQQA/yEGHwAYB68AQAYkACsGJAArBiQAKwYkACsGJAArBFIAKwYjACoHlAAaB5QAGgeUABoHlAAaBnP/6QbGAAYGc//pBv7/9wYUACgG/v/3BhQAKAb+//cGFgAoBhwANgUwAC0GHAA2BTAA
LQYcADYFMAAtBhwANgUwAC0HqgA2B/IAMweqADYG9wAzBuUANgVBAC0FQQAtBuUANgVBAC0G5QA2BUQALgblADYFQQAtBq0ALAZsAFQGrQAsBmwAVAatACwGbABUBqwALAZsAFQIsgA3B5QAMgiqADAHlAAyBEn/xwQA/6MESv/RBAD/uwQAABUEQwAzA/oAPARKADYEAQBCBlcADQO+AAMIIAA3Bz4AOwdEAEAGBgA3A/8APAYGADcD/wA8BscANwUOADwGDwADBDr/2gcUAEAHrwBABxMAQAevAEAHFABAB68AQAcXAEEHfQBAB2sAOwYkACsGJAArB2sAOwYkACsKagA+CLQAKwgDADYFRAAlCAMANgVEACUIAwA2BUQAJQYiADUFCQAvBiIANQUJAC8GIwA1BQsAMAYiADUFCQAvBswACgRiAB0GzAAKBGMAHQbMAAoEZAAdB1oAIQeUABoHWgAhB5QAGgdaACEHlAAaB1oAIQeUABoHWgAhB5QAGgdmACcHlQAaCrH/8Qgi/+MGzwAIBnP/6QbPAAgGPQAfBUwAKQY9AB8FTAApBj0AHwVMACkE7f/3BmwAVAduAD0GJgAsBmwAVAYiADUFCgAvBswACgRiAB0DsQAbA7EAGwQVACADqgAhA9UAIQLfABwFlwAhBaoAHgduADYG+wA6B6oANgb3ADMGfQAqBCAARgirAD4KxwA6B68AQAdmADcGtAA7BiIANQUJAC8GIgA1BQoALwbMAAoEYgAdCrH/8Qgi/+MKsf/xCCL/4wqx//EIIv/jBnP/6QVMACkGzwAIBnP/6QTzADQHPAA0BzwANALaAC4CzgAhAqsANwWcAC4FhAAhBUkANwYbADAGSwBIBH8ARAkdACoSvAAuBCAAGwPEADYFy//qBtkALQm7AC0EhQBFCCEASAeYAEQH6ABHDAMASAxkAEgHhgAeBDAASARrABAE/gAJBkcADQSn/+AGCAAeBQ///QYWA
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
BPSuwPystsIgssQE9K7BAKy2wiSyzCQQCA0VYIRsjIVlCK7AIZbADJFB4sQUBFUVYMFktAAAAAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrQAKRkDACqxAAdCty4CHggSBgMIKrEAB0K3MAAmBhgEAwgqsQAKQrwLwAfABMAAAwAJKrEADUK8AEAAQABAAAMACSqxAwBEsSQBiFFYsECIWLEDZESxJgGIUVi6CIAAAQRAiGNUWLEDZERZWVlZtzAAIAYUBAMMKrgB/4WwBI2xAgBEswVkBgBERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKNAo0BAQEBBW0FbQAA/+kFbQWF/+n/6QJfAl8BAAEABjkAAAdeBRAAAP3PBlT/5wdeBS3/5/3PADIAMgAyADIAAAAQAMYAAwABBAkAAADIAAAAAwABBAkAAQAMAMgAAwABBAkAAgAIANQAAwABBAkAAwA2ANwAAwABBAkABAAWARIAAwABBAkABQBCASgAAwABBAkABgAWAWoAAwABBAkABwBMAYAAAwABBAkACAAYAcwAAwABBAkACQAYAcwAAwABBAkACgBwAeQAAwABBAkACwAmAlQAAwABBAkADAAmAlQAAwABBAkADQEgAnoAAwABBAkADgA0A5oAAwABBAkAEgAMAMgAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADAALAAgADIAMAAxADEAIABiAHkAIAB2AGUAcgBuAG8AbgAgAGEAZABhAG0AcwAgACgAdgBlAHIAbgBAAG4AZQB3AHQAeQBwAG8AZwByAGEAcABoAHkALgBjAG8ALgB1AGsAKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAAQwBvAHIAYgBlAG4ALgBDAG8AcgBiAGUAbgBCAG8AbABkAEYAbwBuAHQARgBvAHIA
ZwBlACAAMgAuADAAIAA6ACAAQwBvAHIAYgBlAG4AIABCAG8AbABkAEMAbwByAGIAZQBuACAAQgBvAGwAZABWAGUAcgBzAGkAbwBuACAAMQAuADEAMAAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADYAKQBDAG8AcgBiAGUAbgAtAEIAbwBsAGQAQwBvAHIAYgBlAG4AIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIAB2AGUAcgBuAG8AbgAgAGEAZABhAG0AcwAuAHYAZQByAG4AbwBuACAAYQBkAGEAbQBzAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMAA5ACAAYgB5ACAAdgBlAHIAbgBvAG4AIABhAGQAYQBtAHMALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBuAGUAdwB0AHkAcABvAGcAcgBhAHAAaAB5AC4AYwBvAC4AdQBrAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4AIABUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6ACAAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/
2YAZgAAAAAAAAAAAAAAAAAAAAAAAAAAAh4AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQIAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBAwCKANoAgwCTAQQBBQCNAQYAiADDAN4BBwCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6AQgBCQEKAQsBDAENAP0A/gEOAQ8BEAERAP8BAAESARMBFAEBARUBFgEXARgBGQEaARsBHAEdAR4BHwD4APkBIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4A+gDXAS8BMAExATIBMwE0ATUBNgE3ATgBOQDiAOMBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgCwALEBRwFIAUkBSgFLAUwBTQFOAU8BUAD7APwA5ADlAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYAuwFnAWgBaQFqAOYA5wCmAWsBbAFtAW4BbwFwAXEBcgDYAOEA2wDcAN0A4ADZAN8BcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0AsgCzAY4Atg
C3AMQAtAC1AMUAggDCAIcAqwDGAL4AvwC8AY8AjADvAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIZAhoCGwIcAh0CHgIfAiACIQIiAiMCJAIlAiYCJwIoAikCKgIrAiwCLQIuAi8CMAIxAjICMwI0B3VuaTAwQTAHdW5pMDBBRAd1bmkwMEIyB3VuaTAwQjMHdW5pMDBCNQd1bmkwMEI5B0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleApDZG90YWNjZW50CmNkb3RhY2NlbnQGRGNhcm9uBmRjYXJvbgZEY3JvYXQHRW1hY3JvbgdlbWFjcm9uBmVicmV2ZQpFZG90YWNjZW50CmVkb3RhY2NlbnQHRW9nb25lawdlb2dvbmVrBkVjYXJvbgZlY2Fyb24LR2NpcmN1bWZsZXgLZ2NpcmN1bWZsZXgKR2RvdGFjY2VudApnZG90YWNjZW50DEdjb21tYWFjY2VudAxnY29tbWFhY2NlbnQLSGNpcmN1bWZsZXgLaGNpcmN1bWZsZXgESGJhcgRoYmFyBkl0aWxkZQZpdGlsZGUHSW1hY3JvbgdpbWFjcm9uBmlicmV2ZQdJb2dvbmV
rB2lvZ29uZWsLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgMS2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAxrZ3JlZW5sYW5kaWMGTGFjdXRlBmxhY3V0ZQxMY29tbWFhY2NlbnQMbGNvbW1hYWNjZW50BkxjYXJvbgZsY2Fyb24GTmFjdXRlBm5hY3V0ZQxOY29tbWFhY2NlbnQMbmNvbW1hYWNjZW50Bk5jYXJvbgZuY2Fyb24DRW5nA2VuZwdPbWFjcm9uB29tYWNyb24Gb2JyZXZlDU9odW5nYXJ1bWxhdXQNb2h1bmdhcnVtbGF1dAZSYWN1dGUGcmFjdXRlDFJjb21tYWFjY2VudAxyY29tbWFhY2NlbnQGUmNhcm9uBnJjYXJvbgZTYWN1dGUGc2FjdXRlC1NjaXJjdW1mbGV4C3NjaXJjdW1mbGV4DFRjb21tYWFjY2VudAx0Y29tbWFhY2NlbnQGVGNhcm9uBnRjYXJvbgRUYmFyBHRiYXIGVXRpbGRlBnV0aWxkZQdVbWFjcm9uB3VtYWNyb24GVWJyZXZlBnVicmV2ZQVVcmluZwV1cmluZw1VaHVuZ2FydW1sYXV0DXVodW5nYXJ1bWxhdXQHVW9nb25lawd1b2dvbmVrC1djaXJjdW1mbGV4C3djaXJjdW1mbGV4C1ljaXJjdW1mbGV4C3ljaXJjdW1mbGV4BlphY3V0ZQZ6YWN1dGUKWmRvdGFjY2VudAp6ZG90YWNjZW50BmdjYXJvbgd1bmkwMUVBB3VuaTAxRUIHdW5pMDFGNQxTY29tbWFhY2NlbnQMc2NvbW1hYWNjZW50B3VuaTAyMUEHdW5pMDIxQgd1bmkxRTAyB3VuaTFFMDMHdW5pMUUwQQd1bmkxRTBCB3VuaTFFMUUHdW5pMUUxRgd1bmkxRTQwB3VuaTFFNDEHdW5pMUU0NQd1bmkxRTU2B3VuaTFFNTcHdW5pMUU2MAd1bmkxRTYxB3VuaTFF
NjIHdW5pMUU2Mwd1bmkxRTZBB3VuaTFFNkIGV2dyYXZlBndncmF2ZQZXYWN1dGUGd2FjdXRlCVdkaWVyZXNpcwl3ZGllcmVzaXMHdW5pMUU4Rgd1bmkxRTkxBllncmF2ZQZ5Z3JhdmUJYWZpaTAwMjA4BEV1cm8HdW5pRkIwMAd1bmlGQjAxB3VuaUZCMDIHdW5pRkIwMwd1bmlGQjA0A3RfZgdvbmUub2xkB3R3by5vbGQJdGhyZWUub2xkCGZvdXIub2xkCGZpdmUub2xkB3NpeC5vbGQJc2V2ZW4ub2xkCWVpZ2h0Lm9sZAhuaW5lLm9sZAh6ZXJvLm9sZANmX2wEZC5zYwRoLnNjBGMuc2MEcC5zYwRnLnNjBGwuc2MEZi5zYwR0LnNjBHUuc2MEcS5zYwRyLnNjBGkuc2MEbS5zYwRhLnNjBG8uc2MEYi5zYwRzLnNjBHouc2MEeS5zYwRqLnNjBHYuc2MEdy5zYwR4LnNjBGsuc2MEZS5zYwRuLnNjBW9lLnNjCmFvZ29uZWsuc2MJc2Nhcm9uLnNjCXphY3V0ZS5zYwl6Y2Fyb24uc2MJY2Nhcm9uLnNjD3Njb21tYWFjY2VudC5zYw16ZG90YWNjZW50LnNjCWFncmF2ZS5zYwlhYWN1dGUuc2MOYWNpcmN1bWZsZXguc2MJYWJyZXZlLnNjDGFkaWVyZXNpcy5zYwljYWN1dGUuc2MFYWUuc2MLY2NlZGlsbGEuc2MJZWdyYXZlLnNjCWVhY3V0ZS5zYw5lY2lyY3VtZmxleC5zYwxlZGllcmVzaXMuc2MJaWdyYXZlLnNjCWlhY3V0ZS5zYw5pY2lyY3VtZmxleC5zYwxpZGllcmVzaXMuc2MJbmFjdXRlLnNjCW9ncmF2ZS5zYwlvYWN1dGUuc2MOb2NpcmN1bWZsZXguc2MQb2h1bmdhcnVtbGF1dC5zYwxvZGllcmVzaXMuc2MJc2FjdXRlLnNjEHVodW5nY
XJ1bWxhdXQuc2MJdWdyYXZlLnNjCXVhY3V0ZS5zYw51Y2lyY3VtZmxleC5zYwx1ZGllcmVzaXMuc2MKZW9nb25lay5zYw90Y29tbWFhY2NlbnQuc2MMeWRpZXJlc2lzLnNjBmV0aC5zYwlvdGlsZGUuc2MIdGhvcm4uc2MJbnRpbGRlLnNjCW9zbGFzaC5zYwZmX2Yuc2MIZl9mX2kuc2MIZl9mX2wuc2MJeWFjdXRlLnNjCnVuaTAxRjUuc2MJeWdyYXZlLnNjDmNjaXJjdW1mbGV4LnNjDnljaXJjdW1mbGV4LnNjDmdjaXJjdW1mbGV4LnNjCnVuaTFFOTEuc2MOc2NpcmN1bWZsZXguc2MNY2RvdGFjY2VudC5zYw1lZG90YWNjZW50LnNjCnVuaTFFNDUuc2MKdW5pMUU4Ri5zYw1nZG90YWNjZW50LnNjC2RvdGxlc3NpLnNjCGFyaW5nLnNjCHVyaW5nLnNjCWF0aWxkZS5zYwp1bmkwMUVCLnNjCnVvZ29uZWsuc2MJZ2Nhcm9uLnNjCWVicmV2ZS5zYwlvYnJldmUuc2MJdWJyZXZlLnNjCWdicmV2ZS5zYwlpYnJldmUuc2MJbGNhcm9uLnNjCXRjYXJvbi5zYwlyYWN1dGUuc2MJbGFjdXRlLnNjCWVjYXJvbi5zYwlkY2Fyb24uc2MJbmNhcm9uLnNjCXJjYXJvbi5zYwdoYmFyLnNjDmhjaXJjdW1mbGV4LnNjC3NjZWRpbGxhLnNjDmpjaXJjdW1mbGV4LnNjD3Jjb21tYWFjY2VudC5zYwlpdGlsZGUuc2MPbGNvbW1hYWNjZW50LnNjCmVtYWNyb24uc2MPZ2NvbW1hYWNjZW50LnNjB3RiYXIuc2MGZW5nLnNjCnVtYWNyb24uc2MJdXRpbGRlLnNjD2tjb21tYWFjY2VudC5zYwpvbWFjcm9uLnNjD25jb21tYWFjY2VudC5zYwppbWFjcm9uLnNjCm
lvZ29uZWsuc2MKYW1hY3Jvbi5zYwp1bmkxRTAzLnNjCnVuaTFFMEIuc2MKdW5pMUUxRi5zYwp1bmkxRTQxLnNjCXdncmF2ZS5zYwl3YWN1dGUuc2MMd2RpZXJlc2lzLnNjDndjaXJjdW1mbGV4LnNjCnVuaTFFNkIuc2MLY29tbWFhY2NlbnQFc190X2kDY19rA3NfawNzX2YDc19wA2ZfdQNzX2IKdW5pMUU2My5zYwlsc2xhc2guc2MKdW5pMDIxQi5zYwp1bmkxRTYxLnNjCnVuaTFFNjIuc2MKdW5pMUU2QS5zYwAAAAEAAf//AA8AAQAAAAwAAAAAAAAAAgAIAAIBeQABAXoBegACAXsBfQABAX4BfgACAX8BiAABAYoCDwABAhECFwACAhgCHQABAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAACAAofaAABAWYABAAAAK4DAgLGAswDAgMgA5IDxAPeA/QEFgQ8BMoE+AVmBXQFxgYgBkoGjAciB2wHogesB8oH4AfyB/gIDggYCEYIXAhqCHgIogjECN4I9AkWCRwJMgk8CVIJYAmKCawKPgqUCt4LNAtGC+QMAgwoDE4MbAyeDMwNfg2wDeYOHA4+DnQOrg7UDy4PaA+SD6wP4hBAEHoQwBD6ERQRvhHMGTQR2hHoEf4SGBIiEkQSahLcEyYc/hMsE1YTrBQCFBAUIhQwFPYVDBUeFTwVShWAFY4V0BXeFeQWrhd4F64YQBh2GOgY8hj8GPwY/BkUGQIZFBkmGTQZOhlEGYoZvBnSGjgaPhpEGq4awBrKGvgbNhtAG1IbfBuWG6gbuhvMG9IcBBwKHBwcKhwwHDYcRBxaHHQcehywHMoc6BzyHPgc/h0EHUIdSB1OHVwdah24Hb4dzB3aHigeQh5kHoIejB6qHrwAAQCuAAUABgAJAAoACwANAA4ADwAQABEAEgA
TABQAFQAWABcAGAAZABoAGwAcACAAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEQARQBGAEcASABJAEoATABNAE4ATwBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYwBtAHAAcgB5AH0AgQCRAKAAoQClAKYArQCxALIAtwC4AMEA0QDTANUA5wDpAOoA6wDsAO0A8gD7APwA/gEFAQYBHwEyAU8BZQFmAWcBaAFpAWsBbAFzAXQBdQF3AXgBeQF6AXwBfgF/AYABgQGCAYMBhAGFAYYBhwGIAYoBjAGNAY4BjwGQAZIBkwGUAZcBnAGdAZ4BnwGgAaEBowGwAbcBuwHAAcMBxwHKAc0BzgHjAesB7AHtAfkB/gIAAgQCEQIUAAEBgv/oAA0AOQARADsACwBU/9cAWQATAIj/WgCh/8wAsQBnALL/zgDo//8BaQAOAZ4AHQGy/2YBuwAZAAcArQABALEAwgDo//cA7AAlAbsAjQH5AG0CBAAVABwAE//WABf/yAAZ/90ATf/rAFT/3gBZ/8YAiAAfAK0ALwCxAQAAsv/kALj//gDAAB4A1f/fAOoAegDsAGAA8wAeAYIAFAGDAEABhP/fAYX/zQGH/98BiP/ZAZ7/1AGyACABuwDUAcoAAQH5ALQCBABnAAwAOQAPAFkATwBbADAAiP/jAKH/6ACxACsAsv/kAOcADgD+AF0BngA4AaAAJQGy/98ABgAV/9IAFv/eABr/ywF//+gBgP/jAYL/4QAFABP/6wAa/+MAHP/mAYX/rAGH/+QACAAU/+cAFf/jABb/7AAa/8MBf//nAYD/2gGB/+gCGQABAAkAGv/eABz/5AA5/4wAWf+RAIgAFwGF/6kBh//jAZ7/pAGyABoAIwAS/8wAE//eABf/1AAY/90AGf/bABv/6ABU/9UAiP+6AJEAnQCh/8kApv/uAK0A
IACxANYAsv/cALj/6wDpAEEA6gBVAOsANQDsAFMBf//fAYD/6wGB/+wBgv+3AYP/0gGE/84Bhv/mAYf/4QGI/9IBsAABAbL/twG4AAwBuwCyAesADAH5AGsCBABbAAsADP/WAA//7AAk/+UAPP/oAD//3wBA/9IARf/rAE7/6wBP/+sAYP/QAZf/5gAbAA7/6QAQ/+gAE//pACb/6AAq/+kAN//oADj/5QA5/+YAOv/oADz/5AA//9kATf/mAFP/5QBX/+cAWP/kAFn/5QBa/+YAXP/mAHL/5gB5/+gBeP/nAYz/6wGO/+wBkv/mAZz/5QGe/+YBn//nAAMADv/nAD//4wF4/+UAFAAM/+sAGv/oADf/4gA4/+kAOf/hADr/4gA8/98AP//RAED/6gBN/+oAU//pAFj/7ABZ/+AAWv/gAFz/4ABd/+sAcv/iAZz/4QGe/+MBn//kABYADP/oABcAIwAa/98ALQAeADf/1wA5/9cAOv/YADz/1AA9/+gAP//SAED/7ABT/+wAWf/aAFr/2wBc/9sAXf/qAHL/3wGb/+oBnP/YAZ0ACgGe/90Bn//dAAoATf/sAFP/4wBY/+UAWf/WAFr/2ABc/9cAXf/nAZv/7AGc/+kBnv/rABAAFwAVABr/5QAtABIAN//YADn/3AA6/90APP/aAD3/6gA//+AAWf/UAFr/1wBc/9UAcv/qAZz/0AGe/9cBn//XACUADAASAA7/6AAP/8EAEP/gABH/wQAS/9cAFQAMABYAEQAX/+QAGP/rABoAJgAg/9gAJP/KAC3/1wA3AAwAOAAYADkAOAA6AD4AOwAxADwALABA/+QARP/eAEf/5wBK/+AAVP/mAFb/6QBZAA8AWgAQAGD/4QF1/78BeP/iAYz/5wGO/+cBl//MAZ3/0AGeABkBnwAbABIADP/pADf/5wA4/+oAOf/kADr/5QA8/+EAP//TAED/5wBN/+oAU//pAFn/5gBa/+YAXP/mA
F3/7ABy/+cBnP/mAZ7/6AGf/+oADQAM/9wAD//gABH/4QAk/9kAQP/SAFkAGgBaABoAXAAXAGD/ywF1/94Bl//dAZ4ACgGfABMAAgAa/9EBf//pAAcAJP/OAFkALQBaAC0AXAAqAZf/2QGeABUBnwAgAAUAF//iABgANQAa/+MAHP/eAMD/8AAEAKH/5ACxAAMAwP/vAP7/7AABALEAKQAFABX/6gCh/90AwP/rAP4ABgGy/8sAAgCh//EAsQBAAAsAFgAYABf/2QAY/+sAGgAsAKH/ywCxAIQAsv+/AP4ALQGy/uMBuwBEAfkAFAAFABcAHwAZAA4Aof/pAMD/9QEhAAEAAwCxAIcBuwBDAfkADwADALEAhQG7AEIB+QAPAAoAGP/oABoACwBg/8oAof/EALEAmACy/9YBsv+VAbsAVgH5ACECBP/8AAgAFQAVABf/6QAYAEIArf/aALEAmgDz/+ABuwBbAfkAJgAGABcAHQAYACEAGv/VABz/2QB5/90AwP/0AAUAof/1ALEAhgCy/+QBuwBLAfkAEgAIABP/6gAX/+sAof/NALEAjACy/9kBsv/OAbsASwH5ABoAAQD+AAkABQAaABAAof+9ALL/2wD+ADwBsv8RAAIAQAACAP4ABwAFABQAFQAVAB4AFgASABf/2QAYAFEAAwCh/+sAsf/xAMD/7gAKABYAEgAX/9YAGgArAKH/0wCxAIEAsv/CAP4AKwGy/0ABuwBBAfkAEgAIABj/6QCh/8QAsQCXALL/1gDs/+EBsv+ZAbsAWQH5ACQAJAANABEAD/+MABL/xwAT/+QAFQAfABYAKwAX/8IAGP/gABn/0gAaADIAHf/YAB7/3AAiACwAQP/RAE3/zgBU/4MAWf/sAFv/0QBg/8YAiP70AKH/qACt/8oAsP/6ALEAygCy/8AAwAAlAOj/+ADq/+MA7AAVAPMADwF3AEoBngAQAbD/hAGy/rsBuwCKAfkAWQAVABP/4w
AVABwAFgAlABf/wwAY/98AGf/SABoALQCh/6QArf/EALD/9QCxAMQAsv/DAMAAHwDo//MA6v/fAOwADwDzAAkBsP98AbL+yQG7AIUB+QBUABIACf/eAAwAIwAPAC0AEgAkABQAEAAVACQAFgAOABf/6gAYAEwAQAAoAFT/7QBZ/4kAYABGAK3/5QCxAI4Bnv/pAbsATwH5AB8AFQAT/+EAFQAWABYAIQAX/7oAGP/gABn/0AAaACoAof+jAK3/vACw/+wAsQC8ALL/wwDAABcA6P/rAOr/2ADsAAkA8wABAbD/dQGy/zcBuwB+AfkATAAEABz/5gCxAJgBuwBlAfkARwAnABP/1AAX/84AGf/fABv/7AAc/+sAOf/PAFT/4gBZ/8cAiAApAJEA5QCtAFQArgA9ALEBEQCy/+MAuAABAMH/8ADV//0A6QCLAOoAgwDrAIIA7ACGAO0ANwFN//0BgQAdAYIAKAGDAHABhP/iAYX/1wGG/+kBiP/dAZ7/yAGyADQBuABwAbsA9wHH/+EBygAeAesAVwH5AJkCBACVAAcAOf/HAFn/1wCIAB4Baf/aAYMAJgGe/9UBsgAbAAkAGAAlABr/3wAm/+YAKv/qADf/vwA5/2EAOv9lADz/eADA//IACQAa/+MAMP/iADH/4gA3/9wAOf+SADr/lAA7/70APP+CAD3/3QAHADD/7wAx/+0AOf+zADr/sQA7/+UAPP+0AMD/9gAMACb/4wAq/+EALf/xADD/8wAx//IANv/pADf/0wA5/88AOv/QADz/zgA9/+kAsv/oAAsAGv/nADD/7AAx/+sAN//0ADn/vgA6/70AO//gADz/sgA9/+4Aof/2AMD/9QAsABQAkQAVAN8AFgDdABgAMQAaAQ0AGwBdABwAbwAjAEcALf/iADAA4gAxAOMANgBWADcA5wA5ASgAOgEuADsBIgA8ARcAPQDTAKUAwgCmAPQArAAkAK0BSgCuADEArwDXALA
BDwCxAToAtv/tALcAdgC4APAAvgBkAMEAugDDAIkAywAyANUAzQDWABQA6gF7AOwBZgDtALsA8f/4APMBQAEIAHcBCwCjARMAGgEjADEADAAUABkAFgAxABf/6QAaAE8AHAA6AC3/xwA3AFIAOQAZADoAIgA9AD0Aof/mALL/1gANABr/6AAm/+EAKv/fAC3/8QAw//AAMf/vADb/5wA3/9MAOf/KADr/zwA8/8MAPf/oALEATAANACb/7QAq//AAMP/oADH/5wA2//QAN//mADn/3gA6/9wAO//yADz/3wA9/+QAsQCKALL/9QAIABf/2QAYADYAJv/VACr/2QA3/+wAOf+1ADr/swA8/7MADQAT/+wAJv/jACr/4QAt/+8AMP/yADH/8AA2/+cAN//TADn/zwA6/84APP/OAD3/6AB5/+MADgAU/+wAFf/iABb/5AAa/9QAMP/VADH/1gA3/88AOf93ADr/eAA7/60APP95AD3/1wCh/+cAwP/zAAkAGv/hADD/5AAx/+MAN//cADn/kQA6/5MAO//FADz/gwA9/98AFgAJ/+QADP/iAA//5gAV/+gAIv/fACb/6gAq/+0ALf/fADD/2AAx/9cANv/0ADn/0wA6/9EAO//SADz/0gA//90AQP/rAFT/8wBg/+wAof/uALL/7QF3/+oADgAV/+oAGgASABwAIQAt/7YAMP/TADH/1QA3ABwAOf/1ADv/1gA8//MAof/rALL/5QDA//IA/gAuAAoAGv/nADD/7AAx/+sAN//kADn/rwA6/7IAO//nADz/rQA9/+oAwP/2AAYAF//cABgAIQAaABQAJv/1ACr/9QA3AA8ADQAYAAoAGv/iACb/3wAq/+EALf/2ADD/9gAx//UANv/uADf/0gA5/30AOv9+ADz/fgA9/+8AFwAJ//QADP/IAA0ATAAP/5IAEv/WABYACwAX/90AGP/sABoANwAcACcALf9lADD/0QAx/9IANwA6
ADv/6wA9ACUAQP/HAFT/6wBg/7sAof/tALL/mADA//QBdwAQAA4AFgAMABf/4gAY/+wAGgA2ABwAJgAt/4YAMP/TADH/1QA3ADcAO//zAD0AIwCh/+0Asv+6AMD/9AARAAn/5QAPABcAFQAKABf/4QAYADYAJv/UACr/1wAt//MANv/zADn/vwA6/8YAPP/CAD//5gBAABIAVP/oAGAAMQCy/+gADgAWAAoAF//eABj/7AAaADYAHAAmAC3/agAw/9MAMf/TADcAOAA7/+sAPQAkAKH/7gCy/5sAwP/yAAYAJv/oACr/6gA5/+MAOv/mADz/4gDA//AAKgAT/9UAFQAWABf/ygAZ/+MAHP/pADn/xwA7ACQAVP/kAFn/ugBbACEAiABBAJEA6ACtAFYArgAZALEBCQCy/+QAuAABAMH/+QDV//sA6QB5AOoAewDrAIsA7AB/AO0AOwFN//gBgAAXAYEAFwGCADgBgwBpAYX/yAGH/+gBiP/iAZ7/vwGgACYBsgBJAbgARQG7AO8Bx//tAcoAIAHrAFcB+QCSAgQAmQADALEAcgG7AEwB+QAyAAMAsQCMAbsAVQH5ADUAAwCI/9wA/gAcAbL/2gAFABf/6QGC/6kBg//gAYT/6AGI/+oABgAV/88AFv/lABr/3QAv/+sAT//jAYL/0gACAP0AHwIZADAACABZACAAiP+9AKH/4wCxAD0Asv/ZAP4ADwGeAA8Bsv+8AAkADAAoAD8AuwBAAQUARQBQAEsAWwBOAFAATwBPAF8ADgBgAQcAHAAM/78ADQAlAA//jgAS/+YAIv/hADn/3wA7/3EAP//jAED/xwBE/+8ARf/ZAEr/9gBL/9gATP/0AE7/2QBP/9gAVf/0AFkAHQBaABwAXAAWAGD/sgCI/yoBd//wAZb/9QGX/60Bnf/yAaD/1wGj//QAEgAN/9wAIv/VAD//wgBF//UASv/xAEz/6gBN/+8ATv/2AE//9QBT//EAV
f/rAFj/4wBZ/8AAWv/AAFv/6ABc/8YAXf/fAXf/0AABAD//1wAKAAwAUwA/AEEAQAB+AEUAMQBLADkATgAxAE8AMABgAIIA/AAwAXcAEwAVAAQAZwAFAKAACgCgAAwA2QANAAsAIgBOAD8ArQBAAOsARQCSAEsAmgBMAAEATQAzAE4AkQBPAJEAXwBLAGAA4QFoAAEBaQBeAWsAAQFsAF4BdwC2ABUADP/WACL/zQA//9AAQP/aAEX/7wBK/+kAS//tAEz/9QBN/+0ATv/vAE//8ABT/+8AVf/1AFj/5ABZ/+IAWv/iAFv/1gBc/+MAXf/vAGD/2QF3/9kAAwA///wAQAAyAGAAJQAEAAz/+QA//+kAQAABAGAAAQADAAz/3wBA//4AYP/8ADEABAD4AAUBEwAJAHwACgETAAwBKQANAOgAHQAXAB4AKAAiARoAPwEjAEABMQBFAPEASQCCAEsA+QBMAGMATQCAAE4A8ABPAPAAUABAAFEAOQBTAD0AVQA5AFcAgABYAGEAWQCtAFoArgBbAIcAXACmAF0AOwBfAOQAYAEpAHAAiwB9AHQAvABhASkAYQE4ADsBaADeAWkBBgFrAN4BbAEGAXQAdAF3ASgBeQCCAXoAhgF7AIIBfACCAX0AggF+AH8CFgCCAAUABf/8AAr//AAiAAEBaf/2AWz/9gAEAAwAAQA//+MAQAABAGAAAQAHAA0ADQBX//sAWQAZAFoAGABcABIBfv/7AZ4AAQADAD8AQQBAAK4AYABtAA0ABQABAAoAAQAMAHkAPwDdAEABNQBFAGsASwB1AE0ABQBOAGsATwBrAF8ANQBgASgBd//+AAMAPwAZAEAAaQBgAGkAEAAFACMACgAjAAwAZQAi//MAPwBJAEAAgwBFACUASwAuAE4AJQBPACQAYACEAPUAJQD6ACQBaQABAWwAAQF3ADUAAwA/AAEAQAAzAGAANwABAGD/2gAyAAUAAQAKAAEADAAlAA
3/8gAi//4ANwADADgABwA5ADAAOgA1ADsAJwA8AB8AP//fAEAAEgBZ/94AWv/fAFz/1wBgAAsAkQBEAJsABwCcAAcAnQAHAJ4ABwCfAB8BHAADAR4AAwEgAAMBIgAHASQABwEmAAcBKAAHASoABwEsAAEBLgA1ATAAHwEyAB8BQAADAVkAAwFbADUBXQA1AV8ANQFjAB8BaP/lAWkAAQFr/+UBbAABAXcALwGR/7cBnP/oAZ4AAQGfAAEAMgAEANoABQEDAAkAWAAKAQMADAEIAA0A5gAdABYAHgApACIBDwA/AOkAQAD2AEUAowBJAHAASwCrAEwANgBNAEIATgCjAE8AogBQAD8AUQA3AFMAPQBVADcAVwB7AFgAYABZAKgAWgCpAFsAhgBcAKIAXQA0AF8AgQBgAMMAcABnAH0AaAC8AGABBAA3ASkAYAE4ADQBaACzAWkA+wFrALMBbAD7AXQAaAF3AQ0BeQBwAXoAdAF7AHABfABwAX0AcAF+AHoCFgBwAA0ABQBBAAn/9QAKAEEADQBeACIAVAA///4AfQAbAWgAKAFpAE4BawAoAWwATgF0ABwBdwBtACQACf/zAA//6AAd/+QAHv/oAED/7ABE/9sARf/fAEf/3QBK/9AAS//iAEz/2ABN/9AATv/fAE//3gBT/9MAVP/eAFX/2ABY/9wAWf/TAFr/1QBb/+UAXP/VAF3/2gBg/+oAiP/mAXcADgGM/9EBjv/RAZL/5wGW/+MBl//SAZr/3gGb/90BnP/0AZ3/0gGj/+cADQAJ//MAIv/NAD//ygBE//QAR//2AEr/6wBL//YAWP/0AFn/9ABa//QAXP/zAF3/6wF3/9MAHAAEAG8ABQCuAAoArgAMAREAIgAuAD8BNQBAAX8ARQEGAEsBDwBMAGwATQCIAE4BBQBPAQQAWQAvAFoALgBbAA8AXAAoAF8AqwBgAYUApgEEAK8ApwC/ACgAzwBDANwAIAEbAHQBaQB
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
AAAAAAAAAAAAA/+oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAAAAAAAAAAAAAAAAAAAAD/5wAA/+sAAAAAAAAAAP/lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/98AAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/ZAAAAAAAAAAAAAAAA/+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/h
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/kAAAAAAAAAAAAAAAA/+UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGf/lAAD/0AAAAAD/5AAAAAAAAAAA/9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAb/+oAAP/P/87/0P/j/+v/1f/Q/8j/5f/V/9T/z//Q/9b/z//J/9QAAAAAAAAAAAAAAAAAAP/TAAD/0gAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAD/6//X/+YAAAAA/+MAAAAA/9z/1v/VAAD/1AAAAAAAAAAAAAD/3wAA/8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv/+gAAP/IAAAAAP/mAAAAAAAAAAD/0gAAAAAAAAAAAAAAA
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
AAAAAAAAAAAAAAAAAAAAAAAD/qAAAAAAAAAAA/3j/YAAAAAAAAAAAAAAAAAAAAAAAAAAA/+D/2gAAAAD/6gAAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAA/8AAAP/OACf/1f/IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9oAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//QAAAAAAAAAAAAAAAAAAAAAAAAAAP/B/78AAAAA/8cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8QAAAAAAAAAAAAD/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/xAAAAAAAAAAAAAAAAAAAAAAAAAAD/wP++AAAAAP/GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+8AAAAAAAAALwAA/+UAAAAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/r/+z/6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA/+sAAAAAAAAAAP/q/+gAAAAAAAAAAAAAAAAAAAAAAAAAAP/q/+sAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8gAAAAD/5wAAAAD/6wAA/+b/6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/1QAAAAAAAAAAAAAAAAAAAAD/6//rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/pAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5QAA/+3/5//k/9//5QAAAAAAAAAAAAAAAAAAAAAAAP/U/+L/1AAAAAAAAP/FAAAAAAAAAAD/7AAAAAD/3wAAAAAAAAAAAAAAAAAAAAAAAP/n/9P/wQAiAAAAAP/EAAAAAP/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/zAAD/8P/x//P/8wAAAAAAAAAA/+0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/y/+7/7//w/+4AAAAAAAAAAAAAAAAAAAAAAAD/6gAA/+v/5QAAAAD/1wAAAAAAAAAA//AAAAAA/+//1wAAAAAAAAAAAAAAAAAAAAAAAP/S/9X/4gAAAAD/3v/d/+EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAA/9QAAAAA/+3/9v/2//UAAAAA//QAAAAAAAAAAAAAAAAAAAAAAAD/2v/dAAAAAAAA/+D/6f/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+MAAAAAAAAAAAAAAAAAAAAA//T/8//uAAD/9P/z/+z/8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5AAA//L/8//
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
RAAAAEQAlACUAJQAlACcAVgAnAAYACgAGAAoABgAKAB8AEQAfABEAHwARAB8AEQA0AAwANAAMADQAEQARADQAEQA0ABEANAARACAADQAgAA0AIAANACAADQA0AA4ANAAOADQAOwA0ADsAOwA0ADsANAA7AAcAPAA0AA8AAAA0ABAANAAQADQAEAA0ABAANgA9ADYAPQA2AD0ANgA9ACEAEQARACEAEQAhABEANAA+ADQAPgA0AD4AIgATACIAEwAiABMAIgATAC8AJAAvACQALwAkADcAJQA3ACUANwAlADcAJQA3ACUANwAlAAkAJgA5ACcAOQAwAEEAMABBADAAQQAAAA0AAAAAAA0AIgATAC8AJAAAAAAAAAAAAAAAAAAAAAAANAALADQADAA0ADoANQA9AD0ANAAjACIAEwAiABMALwAkAAkAJgAJACYACQAmAAAAAAA5ACcAAgACAAIAMgAzABcAMgAzABcAAAAAAAAAAwAAAE4AVQAAAAAATwAAADoAOgA6ADoAOgAkAAAAAAAAABgAGQAaAAAAAAAAABsAAABCAEIAKABCACkAQgBCACoAKwAsAEIAQgBDABwALABCAEgARAAtAB0ARQAuAEYAQgBCAEcALAAcAEgARABEACgASABEABwAHAAcABwAHAAoAB4AKABCAEIAQgBCAEIAQgBCAEIARwAsACwALAAsACwASAArACsAKwArACsAQgAqAC0AQgAsAEIARwAsAAAAAAAAAC0AKQAtACgALQApAAAASAAoAEIARwAAACkAQgAcACsAHAAAACsAKQBCACwAKwApAEIAQgAqAEIAQgBCAEIARwBCAEIAQgBIAB0AQgBCAEIAQgApACoARwArACsAQgAsAEcAQgBCABwAQgBCAEIAQwAuAC4ALgAuACoAAAATABEAEwATABMAOgATAEgAQgAqAAAAAQAAAAoAJABWAAFsYXRuAAgABAAAAAD//wAEAAAAAQACAAMA
BGFhbHQAGmxpZ2EAIG9udW0AJnNtY3AALAAAAAEAAAAAAAEAAwAAAAEAAgAAAAEAAQAEAAoCdAS2BOIAAQAAAAEACAACATIAlgGIAX8BgAGBAYIBgwGEAYUBhgGHAZcBmQGMAYoBogGQAY4BiwGVAZ0BoQGPAZYBowGYAY0BkwGUAZoBkQGSAZ4BnwGgAZwBmwGsAa0BrgHjAbAB4QGyAbMBtAG1AbYBtwG4AbkBugG7AcsBzgG9Ab4BvwHMAcEBzwHEAcUBxgHHAdMBzQHKAgYBrwGlAbEB1gHbAakB8QH7AecB3AHIAfAB2AHqAd8B/AH1AfQB+QIEAesCBQHgAfcCAQHvAfoB7AIZAbwCAwHyAf4CAgHoAcABpAHuAfgB8wHCAdoB9gGmAckB7QH9AgAB/wHpAeIBwwHlAg4B1wGnAasBqAHmAeQB1AGqAhoCBwIIAgkCCgHdAhsCHAIYAh0CDwILAgwCDQHeAdkB1QHQAdEB0gABAJYAEwAUABUAFgAXABgAGQAaABsAHABEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AogCjAKQApQCmAKcAqACpAKoAqwCsAK0ArgCvALAAsQCyALMAtAC1ALYAtwC4ALoAuwC8AL0AvgC/AMAAwQDDAMUAxwDJAMsAzQDPANEA1QDWANgA2gDcAN4A4ADiAOQA5gDoAOoA7ADtAO8A8QDzAPUA+AD6APwA/gEAAQIBBAEGAQgBCQELAQ0BDwERARMBFQEXARkBGwEdAR8BIQEjASUBJwEpASsBLQEvATEBNAE2ATgBOgE8AT0BPwFBAUsBTQFPAVEBUgFWAVcBWAFZAVoBXAFeAWABYQFiAWQBeQF8AX0AAQAAAAEACAACAR4AjAGXAZkBjAGKAaIBkAGOAYsBlQGdAaEBjwGWAaMBmAGNAZMBlAGaAZEBkgGeAZ8BoAGcAZsBrAGtA
a4B4wGwAeEBsgGzAbQBtQG2AbcBuAG5AboBuwHLAc4BvQG+Ab8BzAHBAc8BxAHFAcYBxwHTAc0BygIGAa8BpQGxAdYB2wGpAfEB+wHnAdwByAHwAdgB6gHfAfwB9QH0AfkCBAHrAgUB4AH3AgEB7wH6AewCGQG8AgMB8gH+AgIB6AHAAaQB7gH4AfMBwgHaAfYBpgHJAe0B/QIAAf8B6QHiAcMB5QIOAdcBpwGrAagB5gHkAdQBqgIaAgcCCAIJAgoB3QIbAhwCGAIdAg8CCwIMAg0B3gHZAdUB0AHRAdIAAQCMAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAugC7ALwAvQC+AL8AwADBAMMAxQDHAMkAywDNAM8A0QDVANYA2ADaANwA3gDgAOIA5ADmAOgA6gDsAO0A7wDxAPMA9QD4APoA/AD+AQABAgEEAQYBCAEJAQsBDQEPAREBEwEVARcBGQEbAR0BHwEhASMBJQEnASkBKwEtAS8BMQE0ATYBOAE6ATwBPQE/AUEBSwFNAU8BUQFSAVYBVwFYAVkBWgFcAV4BYAFhAWIBZAF5AXwBfQABAAAAAQAIAAIAGgAKAYgBfwGAAYEBggGDAYQBhQGGAYcAAgABABMAHAAAAAQAAAABAAgAAQBgAAQADgAYACoAVgABAAQCEgACAE4AAgAGAAwCFgACAFgBegACAEwABQAMABQAGgAgACYCEQADAFcATAIVAAIAUwIUAAIASQITAAIATgIXAAIARQABAAQBfgACAEkAAQAEAEYASQBWAFc=') format('truetype');
- font-weight: 700 700;
- font-style: normal;
-}
\ No newline at end of file
diff --git a/chrome/skin/yec-activist.svg b/chrome/skin/yec-activist.svg
deleted file mode 100644
index 6a443a61..00000000
--- a/chrome/skin/yec-activist.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg fill="none" height="427" viewBox="0 0 714 427" width="714" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><pattern id="a" height=".092308" patternContentUnits="objectBoundingBox" width=".092308"><use transform="scale(.00096154)" xlink:href="#e"/></pattern><pattern id="b" height=".067606" patternContentUnits="objectBoundingBox" width=".055338"><use transform="scale(.00057644 .00070423)" xlink:href="#e"/></pattern><pattern id="c" height=".080917" patternContentUnits="objectBoundingBox" width=".146823"><use transform="scale(.0015294 .00084288)" xlink:href="#e"/></pattern><clipPath id="d"><path d="m0 0h714v427h-714z"/></clipPath><image id="e" height="96" width="96" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAM1BMVEUAAAAbGhkbGxocGhokJCQbGxsmJhodGxsbGhkbGhkbGxodHRseHBwtLS0cHBowMCAbGhliwhWoAAAAEHRSTlMA6bJ+FUIUfergs49lEZ0QrhFOkgAAAMBJREFUeF7t2EkOgzAUBNHvATIwxPc/bUR8AVciK5t660aWYOGm49FayzEktw7lPwfcYkhpHcj3A9IaQ+q
9XUC+H5CWGLRcT8B8nKXGsFqeGeZjGklSLTmXdV5+SeRi4fmawNUI8uByp3leT3h+/gHzXxHvPzzP+w/P8/7D85wk6SR95ti3bX+hPPoR532JTQkH7ktwDNm/KQNkztlonZl/wPxXBD+ye9HvJEnuRe5F7kXuRZLkXjS1L/1/L3IvegMJbB6jrsycWQAAAABJRU5ErkJggg=="/><mask id="f" height="111" maskUnits="userSpaceOnUse" width="106" x="309" y="145"><path d="m309.948 185.305c17.105-6.142 39.839-15.532 48.803-39.327 12.747 21.519 21.506 32.061 47.309 39.626-.69 2.928-1.689 6.952-3.02 11.605 2.29-1.086 9.96-2.76 10.96 5.24s-11.602 13.477-18.382 16.277c-7.777 18.702-19.763 37.252-36.867 37.252-24.243 0-35.21-32.043-43.222-55.452-1.99-5.814-3.798-11.095-5.581-15.221z" fill="#fff"/></mask></defs><g clip-path="url(#d)"><path d="m222.256 12.7789c14.44-17.03855 41.048-17.03854 55.488 0l5.923 6.9886c8.959 10.5708 23.318 15.1017 36.857 11.6297l9.252-2.3726c22.12-5.6729 43.968 10.0389 45.181 32.493l.35 6.4746c.765 14.1444 9.998 26.4908 23.497 31.4208l6.633 2.422c21.897 7.997 30.436 34.024 17.422 53.102l-2.911 4.268c-8.168 11.974-8.168 27.616 0 39.59l2.911
4.268c13.014 19.078 4.475 45.105-17.422 53.102l-6.633 2.422c-13.499 4.93-22.732 17.276-23.497 31.421l-.35 6.474c-1.213 22.455-23.06 38.166-45.181 32.493l-9.252-2.372c-13.539-3.472-27.898 1.059-36.857 11.629l-5.923 6.989c-14.44 17.039-41.048 17.039-55.488 0l-5.923-6.989c-8.959-10.57-23.318-15.101-36.857-11.629l-9.252 2.372c-22.12 5.673-43.968-10.038-45.181-32.493l-.35-6.474c-.765-14.145-9.998-26.491-23.497-31.421l-6.633-2.422c-21.8966-7.997-30.436-34.024-17.4222-53.102l2.9114-4.268c8.168-11.974 8.168-27.616 0-39.59l-2.9114-4.268c-13.0138-19.078-4.4744-45.105 17.4222-53.102l6.633-2.422c13.499-4.93 22.732-17.2764 23.497-31.4208l.35-6.4746c1.213-22.4541 23.061-38.1659 45.181-32.493l9.252 2.3726c13.539 3.472 27.898-1.0589 36.857-11.6297z" fill="#77adb9"/><path clip-rule="evenodd" d="m282.141 21.0606-5.923-6.9886c-13.641-16.09601-38.795-16.09601-52.436 0l-5.923 6.9886c-9.46 11.1616-24.608 15.9341-38.88 12.2739l-9.251-2.3726c-20.938-5.3694-41.545 9.5088-42.688 30.6636l-.35 6.4746c-.809 14
.959-10.571 27.9922-24.808 33.1919l-6.633 2.422c-20.6963 7.558-28.7202 32.117-16.4559 50.096l2.9113 4.268c8.6317 12.654 8.6317 29.19 0 41.844l-2.9114 4.268c-12.2642 17.979-4.2403 42.538 16.456 50.096l6.633 2.422c14.237 5.2 23.999 18.233 24.808 33.192l.35 6.475c1.143 21.154 21.75 36.032 42.688 30.663l9.251-2.373c14.272-3.66 29.42 1.113 38.88 12.274l5.923 6.989c13.641 16.096 38.795 16.096 52.436 0l5.923-6.989c9.46-11.161 24.608-15.934 38.88-12.274l9.251 2.373c20.938 5.369 41.545-9.509 42.688-30.663l.35-6.475c.809-14.959 10.571-27.992 24.808-33.192l6.633-2.422c20.696-7.558 28.72-32.117 16.456-50.096l-2.911-4.268c-8.632-12.654-8.632-29.19 0-41.844l2.911-4.268c12.264-17.979 4.24-42.538-16.456-50.096l-6.633-2.422c-14.237-5.1998-23.999-18.2328-24.808-33.1918l-.35-6.4747c-1.143-21.1548-21.75-36.033-42.688-30.6636l-9.251 2.3726c-14.272 3.6602-29.42-1.1123-38.88-12.2739zm-4.397-8.2817c-14.44-17.03854-41.048-17.03855-55.488 0l-5.923 6.9886c-8.959 10.5708-23.318 15.1017-36.857 11.6297l-9.252-2.
3726c-22.12-5.673-43.968 10.0389-45.181 32.493l-.35 6.4746c-.765 14.1444-9.998 26.4908-23.497 31.4208l-6.633 2.422c-21.8966 7.997-30.436 34.024-17.4222 53.102l2.9114 4.268c8.168 11.974 8.168 27.616 0 39.59l-2.9114 4.268c-13.0138 19.078-4.4744 45.105 17.4222 53.102l6.633 2.422c13.499 4.93 22.732 17.276 23.497 31.421l.35 6.474c1.213 22.455 23.061 38.166 45.181 32.493l9.252-2.372c13.539-3.472 27.898 1.059 36.857 11.629l5.923 6.989c14.44 17.039 41.048 17.039 55.488 0l5.923-6.989c8.959-10.57 23.318-15.101 36.857-11.629l9.252 2.372c22.121 5.673 43.968-10.038 45.181-32.493l.35-6.474c.765-14.145 9.998-26.491 23.497-31.421l6.633-2.422c21.897-7.997 30.436-34.024 17.422-53.102l-2.911-4.268c-8.168-11.974-8.168-27.616 0-39.59l2.911-4.268c13.014-19.078 4.475-45.105-17.422-53.102l-6.633-2.422c-13.499-4.93-22.732-17.2764-23.497-31.4208l-.35-6.4746c-1.213-22.4541-23.061-38.166-45.181-32.493l-9.252 2.3726c-13.539 3.472-27.898-1.0589-36.857-11.6297z" fill="#05161c" fill-rule="evenodd"/><path d="m225.8
21 34.1369c12.585-14.8492 35.773-14.8492 48.358.0001l5.162 6.0906c7.808 9.2125 20.322 13.1612 32.121 10.1353l8.063-2.0677c19.279-4.944 38.319 8.7489 39.376 28.3179l.305 5.6427c.666 12.3269 8.713 23.0872 20.478 27.3832l5.781 2.111c19.083 6.969 26.525 29.652 15.183 46.279l-2.537 3.719c-7.119 10.436-7.119 24.068 0 34.504l2.537 3.719c11.342 16.627 3.9 39.31-15.183 46.279l-5.781 2.111c-11.765 4.296-19.812 15.056-20.478 27.383l-.305 5.643c-1.057 19.569-20.097 33.262-39.376 28.318l-8.063-2.068c-11.799-3.026-24.313.923-32.121 10.135l-5.162 6.091c-12.585 14.849-35.773 14.849-48.358 0l-5.162-6.091c-7.808-9.212-20.322-13.161-32.121-10.135l-8.063 2.068c-19.279 4.944-38.319-8.749-39.376-28.318l-.305-5.643c-.666-12.327-8.713-23.087-20.478-27.383l-5.781-2.111c-19.0828-6.969-26.5249-29.652-15.1832-46.279l2.5372-3.719c7.119-10.436 7.119-24.068 0-34.504l-2.5372-3.719c-11.3417-16.627-3.8996-39.31 15.1832-46.279l5.781-2.111c11.765-4.296 19.812-15.0563 20.478-27.3832l.305-5.6427c1.057-19.569 20.097-33.2
619 39.376-28.3179l8.063 2.0677c11.799 3.0259 24.313-.9228 32.121-10.1353z" fill="#faf5df"/><path clip-rule="evenodd" d="m277.815 41.5207-5.161-6.0907c-11.786-13.9067-33.521-13.9067-45.308 0l-5.161 6.0907c-8.309 9.8033-21.611 13.9936-34.144 10.7795l-8.063-2.0677c-18.095-4.6405-35.895 8.2189-36.882 26.4885l-.305 5.6427c-.71 13.1416-9.286 24.5883-21.789 29.1543l-5.781 2.111c-17.8824 6.53-24.8091 27.745-14.217 43.273l2.537 3.719c7.582 11.116 7.582 25.642 0 36.758l-2.537 3.719c-10.5921 15.528-3.6654 36.743 14.217 43.273l5.781 2.111c12.503 4.566 21.079 16.013 21.789 29.154l.305 5.643c.987 18.27 18.787 31.129 36.882 26.488l8.063-2.067c12.533-3.214 25.835.976 34.144 10.779l5.161 6.091c11.786 13.907 33.522 13.907 45.308 0l5.161-6.091c8.309-9.803 21.611-13.993 34.144-10.779l8.063 2.068c18.095 4.64 35.895-8.219 36.882-26.489l.305-5.643c.71-13.141 9.286-24.588 21.789-29.154l5.781-2.111c17.882-6.53 24.809-27.745 14.217-43.273l-2.537-3.719c-7.582-11.116-7.582-25.642 0-36.758l2.537-3.719c10.592-1
5.528 3.665-36.743-14.217-43.273l-5.781-2.111c-12.503-4.566-21.079-16.0127-21.789-29.1543l-.305-5.6427c-.987-18.2696-18.787-31.129-36.882-26.4885l-8.063 2.0677c-12.533 3.2141-25.835-.9762-34.144-10.7795zm-3.636-7.3837c-12.585-14.8493-35.773-14.8493-48.358-.0001l-5.162 6.0907c-7.808 9.2125-20.322 13.1612-32.121 10.1353l-8.063-2.0677c-19.279-4.944-38.319 8.7489-39.376 28.3179l-.305 5.6427c-.666 12.3269-8.713 23.0872-20.478 27.3832l-5.781 2.111c-19.0828 6.969-26.5249 29.652-15.1832 46.279l2.5372 3.719c7.119 10.436 7.119 24.068 0 34.504l-2.5372 3.719c-11.3417 16.627-3.8996 39.31 15.1832 46.279l5.781 2.111c11.765 4.296 19.812 15.056 20.478 27.383l.305 5.643c1.057 19.569 20.097 33.262 39.376 28.318l8.063-2.068c11.799-3.026 24.313.923 32.121 10.135l5.162 6.091c12.585 14.849 35.773 14.849 48.358 0l5.162-6.091c7.808-9.212 20.322-13.161 32.121-10.135l8.063 2.068c19.279 4.944 38.319-8.749 39.376-28.318l.305-5.643c.666-12.327 8.713-23.087 20.478-27.383l5.781-2.111c19.083-6.969 26.525-29.652 15.
183-46.279l-2.537-3.719c-7.119-10.436-7.119-24.068 0-34.504l2.537-3.719c11.342-16.627 3.9-39.31-15.183-46.279l-5.781-2.111c-11.765-4.296-19.812-15.0563-20.478-27.3832l-.305-5.6427c-1.057-19.569-20.097-33.2619-39.376-28.3179l-8.063 2.0677c-11.799 3.0259-24.313-.9228-32.121-10.1353z" fill="#05161c" fill-rule="evenodd"/><path d="m229.541 56.4236c10.648-12.5648 30.27-12.5648 40.918 0l4.368 5.1536c6.607 7.7952 17.196 11.1364 27.18 8.576l6.822-1.7496c16.313-4.1834 32.424 7.403 33.318 23.9613l.258 4.7746c.564 10.4305 7.373 19.5355 17.328 23.1705l4.891 1.786c16.147 5.897 22.444 25.091 12.848 39.159l-2.147 3.147c-6.024 8.83-6.024 20.366 0 29.196l2.147 3.147c9.596 14.068 3.299 33.262-12.848 39.159l-4.891 1.786c-9.955 3.635-16.764 12.74-17.328 23.17l-.258 4.775c-.894 16.558-17.005 28.145-33.318 23.961l-6.822-1.749c-9.984-2.561-20.573.781-27.18 8.576l-4.368 5.153c-10.648 12.565-30.27 12.565-40.918 0l-4.368-5.153c-6.607-7.795-17.196-11.137-27.18-8.576l-6.822 1.749c-16.313 4.184-32.424-7.403-33.3
18-23.961l-.258-4.775c-.564-10.43-7.373-19.535-17.328-23.17l-4.891-1.786c-16.147-5.897-22.444-25.091-12.848-39.159l2.147-3.147c6.024-8.83 6.024-20.366 0-29.196l-2.147-3.147c-9.596-14.068-3.299-33.262 12.848-39.159l4.891-1.786c9.955-3.635 16.764-12.74 17.328-23.1705l.258-4.7746c.894-16.5583 17.005-28.1447 33.318-23.9613l6.822 1.7496c9.984 2.5604 20.573-.7808 27.18-8.576z" fill="#77adb9"/><path clip-rule="evenodd" d="m273.301 62.8703-4.367-5.1536c-9.85-11.6223-28.018-11.6223-37.868 0l-4.367 5.1536c-7.108 8.386-18.485 11.9688-29.202 9.2202l-6.823-1.7496c-15.129-3.8798-30 6.873-30.824 22.1319l-.258 4.7746c-.608 11.2456-7.946 21.0366-18.639 24.9416l-4.891 1.786c-14.947 5.458-20.729 23.183-11.881 36.153l2.147 3.147c6.487 9.51 6.487 21.94 0 31.45l-2.147 3.147c-8.848 12.97-3.066 30.695 11.881 36.153l4.891 1.786c10.693 3.905 18.031 13.696 18.639 24.942l.258 4.774c.824 15.259 15.695 26.012 30.824 22.132l6.823-1.75c10.717-2.748 22.094.835 29.202 9.221l4.367 5.153c9.85 11.623 28.018 11.623 37.8
68 0l4.367-5.153c7.108-8.386 18.485-11.969 29.202-9.221l6.823 1.75c15.129 3.88 30-6.873 30.824-22.132l.258-4.774c.608-11.246 7.946-21.037 18.639-24.942l4.891-1.786c14.947-5.458 20.729-23.183 11.881-36.153l-2.147-3.147c-6.487-9.51-6.487-21.94 0-31.45l2.147-3.147c8.848-12.97 3.066-30.695-11.881-36.153l-4.891-1.786c-10.693-3.905-18.031-13.696-18.639-24.9415l-.258-4.7747c-.824-15.2589-15.695-26.0117-30.824-22.1319l-6.823 1.7496c-10.717 2.7486-22.094-.8342-29.202-9.2202zm-2.842-6.4467c-10.648-12.5648-30.27-12.5648-40.918 0l-4.368 5.1536c-6.607 7.7952-17.196 11.1364-27.18 8.576l-6.822-1.7496c-16.313-4.1834-32.424 7.403-33.318 23.9613l-.258 4.7746c-.564 10.4305-7.373 19.5355-17.328 23.1705l-4.891 1.786c-16.147 5.897-22.444 25.091-12.848 39.159l2.147 3.147c6.024 8.83 6.024 20.366 0 29.196l-2.147 3.147c-9.596 14.068-3.299 33.262 12.848 39.159l4.891 1.786c9.955 3.635 16.764 12.74 17.328 23.17l.258 4.775c.894 16.558 17.005 28.145 33.318 23.961l6.822-1.749c9.984-2.561 20.573.781 27.18 8.576l4.3
68 5.153c10.648 12.565 30.27 12.565 40.918 0l4.368-5.153c6.607-7.795 17.196-11.137 27.18-8.576l6.822 1.749c16.313 4.184 32.424-7.403 33.318-23.961l.258-4.775c.564-10.43 7.373-19.535 17.328-23.17l4.891-1.786c16.147-5.897 22.444-25.091 12.848-39.159l-2.147-3.147c-6.024-8.83-6.024-20.366 0-29.196l2.147-3.147c9.596-14.068 3.299-33.262-12.848-39.159l-4.891-1.786c-9.955-3.635-16.764-12.74-17.328-23.1705l-.258-4.7746c-.894-16.5583-17.005-28.1447-33.318-23.9613l-6.822 1.7496c-9.984 2.5604-20.573-.7808-27.18-8.576z" fill="#05161c" fill-rule="evenodd"/><path d="m233.105 77.7816c8.794-10.3755 24.996-10.3755 33.79 0l3.606 4.2556c5.456 6.437 14.2 9.196 22.444 7.0818l5.633-1.4448c13.471-3.4545 26.774 6.1131 27.513 19.7858l.213 3.943c.466 8.613 6.088 16.131 14.309 19.133l4.039 1.475c13.333 4.87 18.533 20.719 10.609 32.336l-1.773 2.599c-4.974 7.291-4.974 16.817 0 24.108l1.773 2.599c7.924 11.617 2.724 27.466-10.609 32.336l-4.039 1.475c-8.221 3.002-13.843 10.52-14.309 19.133l-.213 3.943c-.739 13.673-
14.042 23.24-27.513 19.786l-5.633-1.445c-8.244-2.114-16.988.645-22.444 7.082l-3.606 4.255c-8.794 10.376-24.996 10.376-33.79 0l-3.606-4.255c-5.456-6.437-14.2-9.196-22.444-7.082l-5.633 1.445c-13.471 3.454-26.774-6.113-27.513-19.786l-.213-3.943c-.466-8.613-6.088-16.131-14.309-19.133l-4.039-1.475c-13.333-4.87-18.533-20.719-10.609-32.336l1.773-2.599c4.974-7.291 4.974-16.817 0-24.108l-1.773-2.599c-7.924-11.617-2.724-27.466 10.609-32.336l4.039-1.475c8.221-3.002 13.843-10.52 14.309-19.133l.213-3.943c.739-13.6727 14.042-23.2403 27.513-19.7858l5.633 1.4448c8.244 2.1142 16.988-.6448 22.444-7.0818z" fill="#faf5df"/><path clip-rule="evenodd" d="m268.975 83.3303-3.606-4.2556c-7.995-9.4329-22.743-9.4329-30.738 0l-3.606 4.2556c-5.957 7.0277-15.489 10.0284-24.467 7.726l-5.633-1.4448c-12.287-3.1509-24.351 5.583-25.019 17.9565l-.213 3.943c-.51 9.428-6.661 17.633-15.62 20.904l-4.039 1.475c-12.133 4.431-16.817 18.812-9.642 29.33l1.772 2.599c5.438 7.971 5.438 18.391 0 26.362l-1.772 2.599c-7.175 10.518-2.
491 24.899 9.642 29.33l4.039 1.475c8.959 3.271 15.11 11.476 15.62 20.904l.213 3.943c.668 12.373 12.732 21.107 25.019 17.956l5.633-1.444c8.978-2.303 18.51.698 24.467 7.726l3.606 4.255c7.995 9.433 22.743 9.433 30.738 0l3.606-4.255c5.957-7.028 15.489-10.029 24.467-7.726l5.633 1.445c12.287 3.15 24.351-5.584 25.019-17.957l.213-3.943c.51-9.428 6.662-17.633 15.62-20.904l4.039-1.475c12.133-4.431 16.817-18.812 9.642-29.33l-1.772-2.599c-5.438-7.971-5.438-18.391 0-26.362l1.772-2.599c7.175-10.518 2.491-24.899-9.642-29.33l-4.039-1.475c-8.959-3.271-15.11-11.476-15.62-20.904l-.213-3.943c-.668-12.3735-12.732-21.1074-25.019-17.9565l-5.633 1.4448c-8.978 2.3024-18.51-.6983-24.467-7.726zm-2.08-5.5487c-8.794-10.3755-24.996-10.3755-33.79 0l-3.606 4.2556c-5.456 6.437-14.2 9.196-22.444 7.0818l-5.633-1.4448c-13.471-3.4545-26.774 6.1131-27.513 19.7858l-.213 3.943c-.466 8.613-6.088 16.131-14.309 19.133l-4.039 1.475c-13.333 4.87-18.533 20.719-10.609 32.336l1.773 2.599c4.974 7.291 4.974 16.817 0 24.108l-1.773 2
.599c-7.924 11.617-2.724 27.466 10.609 32.336l4.039 1.475c8.221 3.002 13.843 10.52 14.309 19.133l.213 3.943c.739 13.673 14.042 23.24 27.513 19.786l5.633-1.445c8.244-2.114 16.988.645 22.444 7.082l3.606 4.255c8.794 10.376 24.996 10.376 33.79 0l3.606-4.255c5.456-6.437 14.2-9.196 22.444-7.082l5.633 1.445c13.471 3.454 26.774-6.113 27.513-19.786l.213-3.943c.466-8.613 6.088-16.131 14.309-19.133l4.039-1.475c13.333-4.87 18.533-20.719 10.609-32.336l-1.773-2.599c-4.974-7.291-4.974-16.817 0-24.108l1.773-2.599c7.924-11.617 2.724-27.466-10.609-32.336l-4.039-1.475c-8.221-3.002-13.843-10.52-14.309-19.133l-.213-3.943c-.739-13.6727-14.042-23.2403-27.513-19.7858l-5.633 1.4448c-8.244 2.1142-16.988-.6448-22.444-7.0818z" fill="#05161c" fill-rule="evenodd"/><path d="m235.394 103.771c7.593-9.028 21.619-9.028 29.212 0 4.711 5.602 12.279 8.004 19.411 6.16l.825-.213c11.246-2.906 22.36 5.116 22.975 16.583.387 7.213 5.07 13.511 11.922 16.032l.523.193c10.902 4.012 15.157 17.025 8.69 26.578-4.055 5.99-4.054 13.80
2 0 19.792 6.467 9.553 2.212 22.566-8.69 26.578l-.523.193c-6.852 2.521-11.535 8.819-11.922 16.032-.615 11.467-11.729 19.489-22.975 16.583l-.825-.213c-7.132-1.844-14.7.558-19.411 6.16-7.593 9.028-21.619 9.028-29.212 0-4.711-5.602-12.279-8.004-19.411-6.16l-.825.213c-11.246 2.906-22.36-5.116-22.975-16.583-.387-7.213-5.07-13.511-11.922-16.032l-.523-.193c-10.902-4.012-15.157-17.025-8.69-26.578 4.055-5.99 4.055-13.802 0-19.792-6.467-9.553-2.212-22.566 8.69-26.578l.523-.193c6.852-2.521 11.535-8.819 11.922-16.032.615-11.467 11.729-19.489 22.975-16.583l.825.213c7.132 1.844 14.7-.558 19.411-6.16z" fill="#77adb9"/><path clip-rule="evenodd" d="m285.342 111.655-.824.213c-7.872 2.034-16.232-.614-21.443-6.81-6.793-8.0774-19.357-8.0774-26.15 0-5.211 6.196-13.571 8.844-21.443 6.81l-.824-.213c-10.052-2.598-19.932 4.577-20.478 14.753-.43 8.022-5.637 15.009-13.228 17.802l-.524.193c-9.7 3.57-13.452 15.118-7.724 23.58 4.513 6.667 4.513 15.367 0 22.034-5.728 8.462-1.976 20.01 7.724 23.58l.524.193c7.591 2.
793 12.798 9.78 13.228 17.802.546 10.176 10.426 17.351 20.478 14.753l.824-.213c7.872-2.034 16.232.614 21.443 6.81 6.793 8.077 19.357 8.077 26.15 0 5.211-6.196 13.571-8.844 21.443-6.81l.824.213c10.052 2.598 19.932-4.577 20.478-14.753.43-8.022 5.637-15.009 13.228-17.802l.524-.193c9.7-3.57 13.452-15.118 7.724-23.58-4.513-6.667-4.513-15.367 0-22.034 5.728-8.462 1.976-20.01-7.724-23.58l-.524-.193c-7.591-2.793-12.798-9.78-13.228-17.802-.546-10.176-10.426-17.351-20.478-14.753zm-20.736-7.884c-7.593-9.028-21.619-9.028-29.212 0-4.711 5.602-12.279 8.004-19.411 6.16l-.825-.213c-11.246-2.906-22.36 5.116-22.975 16.583-.387 7.213-5.07 13.511-11.922 16.032l-.523.193c-10.902 4.012-15.157 17.025-8.69 26.578 4.055 5.99 4.055 13.802 0 19.792-6.467 9.553-2.212 22.566 8.69 26.578l.523.193c6.852 2.521 11.535 8.819 11.922 16.032.615 11.467 11.729 19.489 22.975 16.583l.825-.213c7.132-1.844 14.7.558 19.411 6.16 7.593 9.028 21.619 9.028 29.212 0 4.711-5.602 12.279-8.004 19.411-6.16l.825.213c11.246 2.906 22.36
-5.116 22.975-16.583.387-7.213 5.07-13.511 11.922-16.032l.523-.193c10.902-4.012 15.157-17.025 8.69-26.578-4.054-5.99-4.055-13.802 0-19.792 6.467-9.553 2.212-22.566-8.69-26.578l-.523-.193c-6.852-2.521-11.535-8.819-11.922-16.032-.615-11.467-11.729-19.489-22.975-16.583l-.825.213c-7.132 1.844-14.7-.558-19.411-6.16z" fill="#05161c" fill-rule="evenodd"/><path d="m303 179c0 28.719-23.281 52-52 52s-52-23.281-52-52 23.281-52 52-52 52 23.281 52 52z" fill="#efb149"/><path clip-rule="evenodd" d="m251 229c27.614 0 50-22.386 50-50s-22.386-50-50-50-50 22.386-50 50 22.386 50 50 50zm0 2c28.719 0 52-23.281 52-52s-23.281-52-52-52-52 23.281-52 52 23.281 52 52 52z" fill="#05161c" fill-rule="evenodd"/><path d="m303 179c0 28.719-23.281 52-52 52s-52-23.281-52-52 23.281-52 52-52 52 23.281 52 52z" fill="url(#a)"/><path clip-rule="evenodd" d="m12.4887 290c-7.91921-12.803-12.4887-27.887-12.4887-44.037 0-46.371 37.6752-83.963 84.15-83.963 33.457 0 62.354 19.482 75.917 47.697 9.973-8.506 22.919-13.642 37.068-13.
642 24.506 0 45.405 15.409 53.496 37.046 3.929-1.182 8.096-1.817 12.411-1.817 23.725 0 42.958 19.191 42.958 42.863 0 5.6-1.076 10.949-3.034 15.853z" fill="#faf5df" fill-rule="evenodd"/><path clip-rule="evenodd" d="m161.656 208.39c9.742-7.722 22.07-12.335 35.479-12.335 24.506 0 45.405 15.409 53.496 37.046 3.929-1.182 8.096-1.817 12.411-1.817 23.725 0 42.958 19.191 42.958 42.863 0 5.6-1.076 10.949-3.034 15.853h-290.4773c-7.91921-12.803-12.4887-27.887-12.4887-44.037 0-46.371 37.6752-83.963 84.15-83.963 32.723 0 61.083 18.636 75.002 45.851.312.611.617 1.226.915 1.846.522-.445 1.051-.881 1.589-1.307zm-148.0438 79.61c-7.37377-12.29-11.6122-26.667-11.6122-42.037 0-45.263 36.7756-81.963 82.15-81.963 32.661 0 60.872 19.017 74.114 46.563l1.125 2.34 1.976-1.685c9.624-8.208 22.114-13.163 35.77-13.163 23.646 0 43.815 14.867 51.623 35.746l.656 1.754 1.793-.539c3.744-1.126 7.717-1.732 11.835-1.732 22.625 0 40.958 18.299 40.958 40.863 0 4.866-.852 9.529-2.413 13.853z" fill="#05161c" fill-rule="even
odd"/><path d="m293.231 248.13c15.34 21.241 2.769 40.87 2.769 40.87h6.078c4.737-14.28 2.838-31.251-5.897-40.87-10.633-11.708-27.301-20.12-46.181-13.63 0 0 27.89-7.611 43.231 13.63z" fill="#05161c"/><path d="m165 227.747c8.5-40.747 46-29 46-29s-24.5-8.5-51 12z" fill="#05161c"/><path clip-rule="evenodd" d="m90.0008 162.959c-.0225.552.4066 1.018.9584 1.04 12.0468.492 30.3878 5.733 45.9228 18.734 15.499 12.971 28.241 33.696 29.118 65.267.016.552.476.987 1.028.971.552-.015.987-.475.972-1.027-.893-32.149-13.901-53.41-29.834-66.745-15.898-13.305-34.672-18.69-47.1252-19.198-.5518-.023-1.0174.406-1.04.958z" fill="#05161c" fill-rule="evenodd"/><path d="m270.914 181.007c5.854-1.228 12.093-2.536 20.586-11.029 4.161-4.161 7.545-9.473 11.101-15.055 10.115-15.879 21.623-33.945 56.399-33.945s46.284 18.066 56.399 33.945c3.556 5.582 6.94 10.894 11.101 15.055 8.493 8.493 14.732 9.801 20.586 11.029 5.175 1.084 10.049 2.106 15.914 7.971 5.725 5.726 6.835 9.982 8.038 14.597 1.424 5.459 2.978 11.419 12.46
2 20.903 9.317 9.317 15.941 10.272 22.136 11.166 5.441.784 10.551 1.521 16.864 7.834 6.949 6.949 8.334 11.645 9.678 16.204 1.267 4.298 2.499 8.473 8.322 14.296 5.939 5.939 13.225 8.326 20.585 10.738 7.512 2.461 15.101 4.948 21.415 11.262 6.606 6.606 7.92 13.226 9.158 19.469 1.105 5.57 2.151 10.84 6.842 15.531 4.969 4.969 11.458 7.469 17.957 9.972 6.514 2.509 13.037 5.022 18.043 10.028 4.626 4.626 5.828 9.893 7.12 15.555 1.502 6.578 3.125 13.69 10.38 20.945 4.878 4.878 10.89 6.407 17.821 8.171 12.252 3.117 27.376 6.965 44.179 31.329h-710c16.8028-24.364 31.9266-28.212 44.179-31.329 6.9311-1.764 12.9434-3.293 17.821-8.171 7.2555-7.255 8.8785-14.367 10.38-20.945 1.2922-5.662 2.4944-10.929 7.12-15.555 5.0063-5.006 11.529-7.519 18.043-10.028 6.499-2.503 12.988-5.003 17.957-9.972 4.691-4.691 5.737-9.961 6.842-15.531 1.238-6.243 2.552-12.863 9.158-19.469 6.314-6.314 13.903-8.801 21.415-11.262 7.36-2.412 14.646-4.799 20.585-10.738 5.823-5.823 7.055-9.998 8.322-14.296 1.344-4.559 2.729-9.255
9.678-16.204 6.313-6.313 11.423-7.05 16.864-7.834 6.195-.894 12.819-1.849 22.136-11.166 9.484-9.484 11.038-15.444 12.462-20.903 1.203-4.615 2.313-8.871 8.038-14.597 5.865-5.865 10.739-6.887 15.914-7.971z" fill="#002140"/><path d="m285.801 222.002c4.865-1.023 10.05-2.113 17.107-9.191 3.459-3.468 6.27-7.894 9.225-12.545 8.406-13.233 17.969-28.288 46.867-28.288s38.461 15.055 46.867 28.288c2.955 4.651 5.766 9.077 9.225 12.545 7.057 7.078 12.242 8.168 17.107 9.191 4.3.904 8.35 1.755 13.224 6.643 4.757 4.771 5.68 8.318 6.679 12.163 1.183 4.55 2.474 9.516 10.356 17.42 7.742 7.764 13.247 8.56 18.395 9.305 4.521.654 8.767 1.268 14.013 6.528 5.775 5.791 6.925 9.705 8.043 13.504 1.053 3.581 2.076 7.06 6.915 11.913 4.935 4.949 10.989 6.938 17.106 8.948 6.242 2.051 12.549 4.124 17.795 9.385 5.49 5.505 6.581 11.022 7.611 16.225.918 4.641 1.787 9.033 5.685 12.942 4.129 4.141 9.522 6.224 14.922 8.31 5.413 2.091 10.833 4.185 14.994 8.357 3.843 3.854 4.842 8.244 5.916 12.962 1.248 5.482 2.597 11.408
8.626 17.454 4.053 4.065 9.049 5.34 14.809 6.809 10.181 2.598 22.749 5.805 36.712 26.108h-590c13.9629-20.303 26.5305-23.51 36.712-26.108 5.76-1.469 10.756-2.744 14.809-6.809 6.029-6.046 7.378-11.972 8.626-17.454 1.074-4.718 2.073-9.108 5.916-12.962 4.161-4.172 9.581-6.266 14.994-8.357 5.4-2.086 10.793-4.169 14.922-8.31 3.898-3.909 4.767-8.301 5.685-12.942 1.03-5.203 2.121-10.72 7.611-16.225 5.246-5.261 11.553-7.334 17.795-9.385 6.117-2.01 12.171-3.999 17.106-8.948 4.839-4.853 5.862-8.332 6.915-11.913 1.118-3.799 2.269-7.713 8.043-13.504 5.246-5.26 9.492-5.874 14.013-6.528 5.148-.745 10.653-1.541 18.395-9.305 7.882-7.904 9.173-12.87 10.356-17.42.999-3.845 1.922-7.392 6.679-12.163 4.874-4.888 8.924-5.739 13.224-6.643z" fill="#e5b6e3"/><path d="m299.2 259.782c3.975-.835 8.21-1.724 13.976-7.497 2.825-2.829 5.122-6.439 7.536-10.233 6.867-10.794 14.68-23.074 38.288-23.074s31.421 12.28 38.288 23.074c2.414 3.794 4.711 7.404 7.536 10.233 5.766 5.773 10.001 6.662 13.976 7.497 3.512.737 6.821
1.432 10.803 5.418 3.887 3.892 4.64 6.786 5.457 9.922.966 3.711 2.021 7.762 8.46 14.209 6.325 6.333 10.822 6.982 15.027 7.59 3.694.533 7.163 1.034 11.449 5.325 4.717 4.723 5.657 7.916 6.57 11.014.86 2.922 1.696 5.76 5.65 9.718 4.031 4.037 8.977 5.66 13.974 7.299 5.1 1.673 10.252 3.364 14.538 7.655 4.485 4.491 5.377 8.991 6.217 13.234.751 3.786 1.46 7.368 4.645 10.557 3.373 3.377 7.779 5.077 12.19 6.778 4.423 1.706 8.851 3.414 12.25 6.817 3.14 3.144 3.956 6.725 4.833 10.573 1.02 4.472 2.121 9.306 7.047 14.237 3.311 3.316 7.393 4.356 12.098 5.554 8.318 2.119 18.585 4.735 29.992 21.296h-482c11.407-16.561 21.674-19.177 29.992-21.296 4.705-1.198 8.787-2.238 12.098-5.554 4.926-4.931 6.028-9.765 7.047-14.237.877-3.848 1.693-7.429 4.833-10.573 3.399-3.403 7.827-5.111 12.25-6.817 4.411-1.701 8.817-3.401 12.19-6.778 3.185-3.189 3.894-6.771 4.645-10.557.84-4.243 1.732-8.743 6.217-13.234 4.286-4.291 9.438-5.982 14.538-7.655 4.997-1.639 9.943-3.262 13.975-7.299 3.953-3.958 4.789-6.796 5.649-9.71
8.913-3.098 1.853-6.291 6.57-11.014 4.286-4.291 7.755-4.792 11.449-5.325 4.205-.608 8.702-1.257 15.027-7.59 6.439-6.447 7.494-10.498 8.46-14.209.817-3.136 1.57-6.03 5.457-9.922 3.982-3.986 7.291-4.681 10.803-5.418z" fill="#002140"/><path d="m331.006 279.478s2-1.478 2-40.5h51.096c1.398 40.522 4.027 46 4.027 46s117.871 12.5 149.871 44.022 22.5 97.978 22.5 97.978h-398.825c-12.021-20.4-10.351-68.167-8.014-89.5 6.355-58 98.839-63.978 177.345-58z" fill="#e98346"/><path d="m538 329c-32-31.5-150-44.022-150-44.022 118 55.988 99.5 142 99.5 142h72.5s10-66.478-22-97.978z" fill="url(#b)"/><path d="m383.108 238.978h-50.102v28c0 12.971 34.998 14.971 53 11.471-1-16.5-2.898-39.471-2.898-39.471z" fill="#ae6e40"/><path d="m383 244.978-43 6s22.5 16.5 44.5 15z" fill="#05161c"/><path clip-rule="evenodd" d="m332.006 237.978h52.023l.075.918-.996.082c.996-.082.996-.082.996-.082l.001.001.083 1.019c.054.661.132 1.623.229 2.829.193 2.412.462 5.801.762 9.705.599 7.806 1.324 17.68 1.825 25.939l.053.875-.86.167c-
9.117 1.772-22.483 2.149-33.593.448-5.55-.85-10.619-2.229-14.33-4.268-3.7-2.032-6.268-4.857-6.268-8.633zm50.18 2h-48.18v27c0 2.709 1.807 4.999 5.231 6.88 3.414 1.876 8.219 3.209 13.669 4.044 10.543 1.614 23.19 1.315 32.048-.274-.497-8.056-1.191-17.498-1.769-25.025-.3-3.902-.568-7.287-.762-9.698-.096-1.205-.174-2.166-.228-2.826z" fill="#05161c" fill-rule="evenodd"/><path d="m304.167 202.453c.833-9.004 9.189-6.389 9.189-6.389 2.246 7.499 6.032 18.401 7.644 22.914-5.86-2.604-17.67-7.492-16.833-16.525z" fill="#ae6e40"/><path d="m358.751 145.978c-8.964 23.795-31.698 33.185-48.803 39.327 8.964 20.735 18.538 70.673 48.803 70.673 29.039 0 43.325-53.469 47.309-70.374-25.803-7.565-34.562-18.107-47.309-39.626z" fill="#ae6e40"/><path clip-rule="evenodd" d="m296.016 189.068c-.098-.544.262-1.064.806-1.162 3.005-.545 6.717-1.482 10.833-2.863l-.389-.9 2.006-.72c17.144-6.156 38.999-15.299 47.607-38.15l1.469-3.899 2.124 3.585c6.362 10.741 11.608 18.523 18.371 24.574 6.724 6.017 15.071 10.426 27.78 14
.152l1.819.533-.225.956c3.902 1.059 8.193 1.969 12.941 2.728.545.087.917.6.829 1.145-.087.546-.6.917-1.145.83-4.783-.765-9.123-1.683-13.087-2.756-2.12 8.841-6.668 25.831-14.163 40.9-3.902 7.845-8.656 15.281-14.372 20.78-5.732 5.514-12.541 9.177-20.469 9.177-16.419 0-26.87-13.566-34.19-28.69-3.703-7.65-6.717-15.931-9.352-23.538-.546-1.576-1.074-3.119-1.588-4.621-1.86-5.433-3.533-10.321-5.174-14.242-4.26 1.437-8.121 2.416-11.269 2.986-.543.099-1.063-.262-1.162-.805zm109.813-2.49c.08-.336.158-.661.231-.974-.322-.094-.641-.189-.958-.285-24.196-7.284-33.141-17.364-45.055-37.17-.428-.711-.86-1.435-1.296-2.171-.299.793-.612 1.569-.941 2.33-9.173 21.258-29.707 30.367-45.978 36.315-.316.115-.631.23-.943.343-.316.114-.629.227-.941.339.13.301.26.608.39.921.127.303.254.613.381.927 1.536 3.806 3.106 8.395 4.81 13.373 8.012 23.409 18.979 55.452 43.222 55.452 28.502 0 42.792-51.511 47.078-69.4z" fill="#05161c" fill-rule="evenodd"/><path d="m403.04 197.209c2.29-1.086 9.96-2.76 10.96 5.24s-11.602 13
.477-18.382 16.277z" fill="#ae6e40"/><g mask="url(#f)"><path d="m359 137.478c38 67-.5 118.5-.5 118.5 24 4 134-78.5.5-118.5z" fill="url(#c)"/></g><path d="m402.008 191.978c0 11.046-8.955 20-20.002 20-11.046 0-20.001-8.954-20.001-20s8.955-20 20.001-20c11.047 0 20.002 8.954 20.002 20z" fill="#efb149"/><path clip-rule="evenodd" d="m382.006 209.978c9.943 0 18.002-8.059 18.002-18s-8.059-18-18.002-18c-9.942 0-18.001 8.059-18.001 18s8.059 18 18.001 18zm0 2c11.047 0 20.002-8.954 20.002-20s-8.955-20-20.002-20c-11.046 0-20.001 8.954-20.001 20s8.955 20 20.001 20z" fill="#05161c" fill-rule="evenodd"/><path d="m395.578 191.978c0 7.495-6.077 13.571-13.573 13.571s-13.573-6.076-13.573-13.571 6.077-13.571 13.573-13.571 13.573 6.076 13.573 13.571z" fill="#efb149"/><path clip-rule="evenodd" d="m382.005 203.549c6.392 0 11.573-5.18 11.573-11.571s-5.181-11.571-11.573-11.571c-6.391 0-11.573 5.18-11.573 11.571s5.182 11.571 11.573 11.571zm0 2c7.496 0 13.573-6.076 13.573-13.571s-6.077-13.571-13.573-13.571-13.
573 6.076-13.573 13.571 6.077 13.571 13.573 13.571z" fill="#05161c" fill-rule="evenodd"/><path d="m389.151 191.978c0 3.945-3.198 7.143-7.144 7.143-3.945 0-7.143-3.198-7.143-7.143s3.198-7.143 7.143-7.143c3.946 0 7.144 3.198 7.144 7.143z" fill="#efb149"/><path clip-rule="evenodd" d="m382.007 197.121c2.841 0 5.144-2.303 5.144-5.143s-2.303-5.143-5.144-5.143c-2.84 0-5.143 2.303-5.143 5.143s2.303 5.143 5.143 5.143zm0 2c3.946 0 7.144-3.198 7.144-7.143s-3.198-7.143-7.144-7.143c-3.945 0-7.143 3.198-7.143 7.143s3.198 7.143 7.143 7.143z" fill="#05161c" fill-rule="evenodd"/><path d="m356.004 191.978c0 11.046-8.956 20-20.002 20-11.047 0-20.002-8.954-20.002-20s8.955-20 20.002-20c11.046 0 20.002 8.954 20.002 20z" fill="#efb149"/><path clip-rule="evenodd" d="m336.002 209.978c9.942 0 18.002-8.059 18.002-18s-8.06-18-18.002-18-18.002 8.059-18.002 18 8.06 18 18.002 18zm0 2c11.046 0 20.002-8.954 20.002-20s-8.956-20-20.002-20c-11.047 0-20.002 8.954-20.002 20s8.955 20 20.002 20z" fill="#05161c" fill-rule=
"evenodd"/><path d="m349.573 191.978c0 7.495-6.076 13.571-13.572 13.571s-13.573-6.076-13.573-13.571 6.077-13.571 13.573-13.571 13.572 6.076 13.572 13.571z" fill="#efb149"/><path clip-rule="evenodd" d="m336.001 203.549c6.391 0 11.572-5.18 11.572-11.571s-5.181-11.571-11.572-11.571c-6.392 0-11.573 5.18-11.573 11.571s5.181 11.571 11.573 11.571zm0 2c7.496 0 13.572-6.076 13.572-13.571s-6.076-13.571-13.572-13.571-13.573 6.076-13.573 13.571 6.077 13.571 13.573 13.571z" fill="#05161c" fill-rule="evenodd"/><path d="m343.147 191.978c0 3.945-3.199 7.143-7.144 7.143s-7.143-3.198-7.143-7.143 3.198-7.143 7.143-7.143 7.144 3.198 7.144 7.143z" fill="#efb149"/><g fill="#05161c"><path clip-rule="evenodd" d="m336.003 197.121c2.841 0 5.144-2.303 5.144-5.143s-2.303-5.143-5.144-5.143-5.143 2.303-5.143 5.143 2.302 5.143 5.143 5.143zm0 2c3.945 0 7.144-3.198 7.144-7.143s-3.199-7.143-7.144-7.143-7.143 3.198-7.143 7.143 3.198 7.143 7.143 7.143z" fill-rule="evenodd"/><path clip-rule="evenodd" d="m354.003 196.97
8c0-.552.448-1 1-1h8.001c.552 0 1 .448 1 1s-.448 1-1 1h-8.001c-.552 0-1-.448-1-1z" fill-rule="evenodd"/><path d="m348 425.978c-4.804-18.478-7.082-51-10.88-51s-6.488 30.373-6.079 51z"/><path clip-rule="evenodd" d="m332.024 424.978h14.692c-1.872-7.605-3.358-17.256-4.703-25.998-.278-1.806-.55-3.573-.818-5.276-.823-5.224-1.609-9.826-2.42-13.116-.407-1.653-.808-2.918-1.199-3.751-.187-.396-.348-.643-.47-.783-.119.126-.278.352-.461.717-.386.771-.78 1.953-1.164 3.514-.764 3.105-1.438 7.495-1.984 12.565-1.057 9.81-1.624 22.037-1.473 32.128zm3.691-50.362c.337-.336.809-.638 1.405-.638.622 0 1.099.338 1.426.688.328.351.602.814.839 1.32.479 1.017.917 2.438 1.332 4.123.835 3.385 1.632 8.068 2.453 13.284.272 1.721.546 3.502.825 5.317 1.422 9.233 2.979 19.347 4.973 27.016l.325 1.252h-19.232l-.02-.98c-.205-10.357.367-23.149 1.467-33.362.55-5.102 1.235-9.595 2.031-12.829.396-1.609.832-2.961 1.318-3.932.242-.483.523-.925.858-1.259z" fill-rule="evenodd"/><path clip-rule="evenodd" d="m337.997 374.9c.043
.55-.368 1.032-.919 1.075-58.934 4.64-97.408 14.947-117.673 23.917-.505.224-1.096-.004-1.319-.509-.224-.505.004-1.096.509-1.319 20.543-9.094 59.261-19.433 118.327-24.083.55-.043 1.032.368 1.075.919z" fill-rule="evenodd"/><path d="m237 390.978s-2.25-14.366 0-31c.667 9 3.6 27.4 10 29z"/><path clip-rule="evenodd" d="m235.157 381.765c-.283-5.712-.283-13.526.852-21.921l1.988.06c.331 4.459 1.223 11.242 2.818 17.086.798 2.926 1.759 5.567 2.886 7.554 1.149 2.026 2.353 3.167 3.542 3.464l-.047 1.951-11.023 2.204-.161-1.03.988-.155c-.988.155-.988.155-.988.155l-.001-.004-.001-.009-.005-.034c-.005-.03-.011-.073-.019-.129-.017-.113-.04-.279-.069-.496-.059-.433-.139-1.067-.227-1.879-.178-1.624-.391-3.959-.533-6.817zm2.689 8.024 6.38-1.276c-.863-.794-1.612-1.832-2.265-2.982-1.244-2.194-2.257-5.016-3.076-8.015-.714-2.618-1.29-5.41-1.739-8.102-.227 4.621-.161 8.819.009 12.252.14 2.813.349 5.109.523 6.699.062.568.119 1.045.168 1.424z" fill-rule="evenodd"/><path d="m560.387 23.2305 1.118 3.3873s-47.719
260.8652-67.894 400.3562l-20.973.407c29.543-136.983 87.749-404.1505 87.749-404.1505z"/></g><path d="m550.163 21.4933 10.045 1.7346s-48.713 265.1351-68.781 403.7471l-18.926.368c28.042-135.769 77.662-405.8497 77.662-405.8497z" fill="#d4dfdc"/><path clip-rule="evenodd" d="m550.163 21.4933s-49.135 267.4417-77.249 403.8447c-.138.672-.276 1.34-.413 2.005l18.926-.368c19.058-131.634 63.949-377.3711 68.421-401.781.237-1.2941.36-1.9661.36-1.9661zm7.715 3.3605-6.106-1.0544-.204 1.1075c-.37 2.0115-.917 4.9794-1.623 8.8047-1.412 7.6508-3.46 18.7317-6.005 32.4531-5.09 27.4428-12.169 65.4473-20.125 107.6953-15.721 83.487-34.868 183.56-48.852 251.439l14.728-.287c10.072-69.282 27.113-169.288 41.681-252.221 7.344-41.809 14.061-79.2862 18.941-106.3107 2.441-13.5123 4.422-24.4117 5.794-31.9332.685-3.7607 1.219-6.677 1.58-8.6532.07-.382.134-.729.191-1.0401z" fill="#05161c" fill-rule="evenodd"/><path d="m441.747 214.887 186.981-168.7745 1.695 2.5767-37.705 192.4778-149.277-23.704z" fill="#05161c"/><path
d="m479.399 22.4091 149.267 23.7024-37.702 192.4695-149.268-23.702z" fill="#faf5df"/><path clip-rule="evenodd" d="m626.307 47.7602-145.318-23.0752-36.934 188.545 145.318 23.075zm-146.908-25.3511-37.703 192.4699 149.268 23.702 37.702-192.4695z" fill="#05161c" fill-rule="evenodd"/><path d="m487 355.478c-16.03 5.895-23 14-23 14s9.758-2.211 20.212-3.684z" fill="#05161c"/><path clip-rule="evenodd" d="m487.675 354.74c.276.253.388.638.29.999l-2.788 10.316c-.104.386-.429.673-.825.729-5.204.734-10.238 1.651-13.973 2.386-1.867.367-3.409.688-4.482.918-.537.114-.957.206-1.242.269-.143.031-.252.055-.325.072l-.082.018-.027.006-.221-.975c-.758-.652-.758-.652-.758-.653h.001l.002-.003.006-.006.019-.023c.017-.018.04-.044.07-.078.061-.067.149-.163.266-.286.234-.246.582-.598 1.048-1.037.931-.878 2.334-2.101 4.241-3.508 3.816-2.814 9.648-6.362 17.76-9.345.351-.129.744-.051 1.02.201zm-23.675 14.738-.758-.653c-.281.328-.321.799-.099 1.169.223.369.657.555 1.078.459zm3.228-1.713c.808-.167 1.737-.356 2.765-
.558 3.6-.708 8.409-1.587 13.426-2.31l2.104-7.786c-6.974 2.755-12.052 5.883-15.441 8.382-1.14.841-2.089 1.611-2.854 2.272z" fill="#05161c" fill-rule="evenodd"/><path d="m433.44 376.59c-25.141 3.555-99.085 6.695-99.085 6.695-4.437 32.212-3.195 42.693-3.195 42.693l95.299-.964c12.527-.998 77.44 3.123 81.665-11.714.791-2.78-1.064-6.322-.876-7.118.189-.795 4.573-3.131 5.312-6.791.812-4.02-2.345-5.765-2.218-6.589s4.268-3.734 5.176-7.321-2.293-6.639-2.218-7.321 4.744-2.364 5.749-7.847c3.124-17.044-60.468 2.722-85.609 6.277z" fill="#ae6e40"/><path clip-rule="evenodd" d="m458.078 372.689c-9.435 2.084-18.166 3.996-24.498 4.891-12.62 1.785-37.436 3.46-59.054 4.689-10.818.615-20.849 1.119-28.176 1.469-3.664.175-6.652.311-8.724.404-1.035.046-1.842.082-2.391.106h-.002c-2.129 15.619-2.902 26.006-3.14 32.5-.121 3.303-.105 5.597-.058 7.057.015.474.033.86.05 1.164l94.33-.955c2.671-.209 7.615-.194 13.744-.175 1.208.004 2.461.008 3.753.01 7.91.014 17.308-.028 26.441-.501 9.144-.473 17.968-1.377 24.748-
3.069 3.392-.846 6.218-1.877 8.304-3.116 2.092-1.243 3.327-2.626 3.757-4.136.318-1.117.117-2.473-.219-3.782-.107-.418-.214-.786-.317-1.136-.06-.205-.118-.403-.173-.603-.069-.25-.134-.503-.174-.731-.034-.197-.078-.512-.004-.823.092-.388.363-.684.499-.827.177-.187.4-.386.626-.581.126-.109.257-.22.393-.336.377-.32.789-.67 1.219-1.075 1.178-1.109 2.263-2.428 2.568-3.94.341-1.687-.139-2.865-.713-3.753-.23-.358-.462-.65-.69-.937-.073-.092-.146-.183-.218-.277-.135-.174-.29-.381-.405-.594-.106-.196-.267-.553-.2-.983.059-.381.291-.697.417-.861.16-.208.365-.434.579-.66.166-.176.34-.354.521-.541.317-.326.658-.677 1.027-1.083 1.148-1.26 2.261-2.73 2.651-4.268.364-1.442-.081-2.83-.714-4.042-.27-.517-.556-.969-.813-1.374-.043-.068-.085-.135-.126-.2-.136-.216-.275-.443-.378-.646-.052-.103-.108-.226-.15-.358-.038-.122-.089-.326-.062-.565.033-.3.174-.518.261-.633.095-.126.204-.231.295-.312.179-.161.413-.333.636-.496l.09-.066c.454-.331.997-.727 1.563-1.245 1.194-1.093 2.462-2.701 2.914-5.166.17-.925.
101-1.656-.121-2.242-.222-.583-.622-1.094-1.234-1.539-1.262-.919-3.361-1.512-6.266-1.752-5.776-.476-14.106.485-23.428 2.112-8.964 1.565-18.752 3.727-27.916 5.752zm-126.918 53.289c-.993.118-.993.117-.993.117v-.001l-.001-.003-.001-.009-.003-.029c-.002-.025-.006-.06-.01-.106-.009-.092-.021-.228-.034-.41-.026-.364-.058-.913-.082-1.668-.048-1.511-.065-3.851.058-7.195.246-6.686 1.048-17.394 3.271-33.526.066-.479.465-.842.948-.862l.042.999c-.042-.999-.043-.999-.042-.999l.835-.036c.548-.024 1.354-.06 2.389-.106 2.07-.093 5.056-.229 8.717-.404 7.323-.35 17.349-.853 28.159-1.468 21.639-1.23 46.366-2.902 58.887-4.672 6.239-.882 14.884-2.774 24.346-4.864l1.04-.229c9.15-2.021 18.976-4.192 27.986-5.765 9.328-1.628 17.881-2.635 23.936-2.135 3.011.248 5.563.879 7.279 2.128.877.638 1.547 1.447 1.926 2.446.378.994.441 2.106.219 3.312-.553 3.017-2.121 4.992-3.532 6.282-.65.594-1.273 1.049-1.724 1.378-.033.025-.066.048-.097.071-.076.056-.144.106-.203.15.034.054.071.115.113.181.037.059.076.12.117.185.25
6.404.59.932.902 1.528.721 1.382 1.422 3.313.879 5.458-.518 2.049-1.929 3.828-3.11 5.125-.385.423-.779.829-1.113 1.173-.173.178-.329.339-.46.478-.146.154-.262.281-.351.386.025.034.054.071.086.113.049.063.106.134.168.213.235.295.551.692.841 1.142.771 1.195 1.464 2.9.992 5.233-.433 2.148-1.911 3.827-3.157 5-.471.444-.943.844-1.327 1.171-.127.107-.244.207-.348.297-.203.175-.35.308-.452.412.024.124.065.289.124.503.041.148.093.324.149.517.109.375.239.818.352 1.26.347 1.356.678 3.162.204 4.825-.626 2.199-2.343 3.933-4.659 5.308-2.322 1.38-5.358 2.469-8.841 3.338-6.971 1.74-15.95 2.65-25.129 3.126-9.189.476-18.632.517-26.548.503-1.307-.002-2.571-.006-3.784-.01-6.165-.018-11.014-.033-13.586.172-.023.002-.046.003-.069.003l-95.299.964c-.51.005-.943-.376-1.003-.883zm180.144-33.318c0 .001.002.005.005.013-.004-.009-.006-.013-.005-.013z" fill="#05161c" fill-rule="evenodd"/><path clip-rule="evenodd" d="m497 371.478c-.723-.692-.723-.691-.723-.691l-.001.001-.001.001-.003.003-.006.007-.015.016c-.011.
012-.023.026-.038.043-.028.034-.062.077-.101.13-.076.106-.17.251-.26.437-.183.373-.352.903-.352 1.575 0 .673.17 1.198.359 1.569.094.184.192.327.272.431.041.053.077.095.108.128.015.017.028.031.04.043l.016.017.007.007.003.003.002.001.001.001s.001.001.692-.722l-.691.723c.399.381 1.032.367 1.413-.032.374-.39.369-1.005-.006-1.388-.001-.002-.002-.004-.004-.006-.013-.017-.041-.055-.072-.116-.06-.118-.14-.332-.14-.659 0-.328.081-.559.148-.697.035-.07.066-.117.083-.14.005-.007.008-.011.01-.014.362-.4.343-1.018-.05-1.393-.399-.382-1.032-.368-1.414.03z" fill="#05161c" fill-rule="evenodd"/><path clip-rule="evenodd" d="m496 383.5c-.723-.692-.723-.691-.723-.691l-.001.001-.001.001-.003.003-.006.007-.015.016c-.011.012-.023.026-.038.043-.028.034-.062.077-.101.13-.076.106-.17.251-.26.437-.183.373-.352.903-.352 1.575 0 .673.17 1.198.359 1.569.094.184.192.327.272.431.041.053.077.095.108.128.015.017.028.031.04.043l.016.017.007.007.003.003.002.001.001.001s.001.001.692-.722l-.691.723c.399.381 1.032.367 1.
413-.032.374-.39.369-1.005-.006-1.389-.001-.001-.002-.003-.004-.005-.013-.017-.041-.055-.072-.116-.06-.118-.14-.332-.14-.659 0-.328.081-.559.148-.697.035-.07.066-.117.083-.14.005-.007.008-.011.01-.014.362-.4.343-1.018-.05-1.393-.399-.382-1.032-.368-1.414.03z" fill="#05161c" fill-rule="evenodd"/><path clip-rule="evenodd" d="m495 396.5c-.723-.692-.723-.691-.723-.691l-.001.001-.001.001-.003.003-.006.007-.015.016c-.011.012-.023.026-.038.043-.028.034-.062.077-.101.13-.076.106-.17.251-.26.437-.183.373-.352.903-.352 1.575 0 .673.17 1.198.359 1.569.094.184.192.327.272.431.041.053.077.095.108.128.015.017.028.031.04.043l.016.017.007.007.003.003.002.001.001.001s.001.001.692-.722l-.691.723c.399.381 1.032.367 1.413-.032.374-.39.369-1.005-.006-1.389-.001-.001-.002-.003-.004-.005-.013-.017-.041-.055-.072-.116-.06-.118-.14-.332-.14-.659 0-.328.081-.559.148-.697.035-.07.066-.117.083-.14.005-.007.008-.011.01-.014.362-.4.343-1.018-.05-1.393-.399-.382-1.032-.368-1.414.03z" fill="#05161c" fill-rule="eve
nodd"/><path d="m148 296c0 7.732-6.268 14-14 14s-14-6.268-14-14 6.268-14 14-14 14 6.268 14 14z" fill="#faf5df"/><path clip-rule="evenodd" d="m134 308c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12zm0 2c7.732 0 14-6.268 14-14s-6.268-14-14-14-14 6.268-14 14 6.268 14 14 14z" fill="#05161c" fill-rule="evenodd"/><path d="m164 273c0 4.971-4.029 9-9 9s-9-4.029-9-9 4.029-9 9-9 9 4.029 9 9z" fill="#faf5df"/><path clip-rule="evenodd" d="m155 280c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm0 2c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9z" fill="#05161c" fill-rule="evenodd"/><path d="m639.688 280.561v23.439h2.624v-22.83l11.376 19.702 2.273-1.312-11.747-20.346 20.346 11.747 1.312-2.273-19.702-11.376h22.83v-2.624h-23.439l20.311-11.727-1.312-2.273-20.098 11.603 11.499-19.916-2.273-1.312-11.376 19.702v-22.765h-2.624v23.374l-11.727-20.311-2.273 1.312 11.355 19.668-19.668-11.355-1.312 2.273 20.311 11.727h-23.374v2.624h22.765l-19.703 11.376 1.313 2.273
19.916-11.499-11.603 20.098 2.273 1.312z" fill="#faf5df"/><path clip-rule="evenodd" d="m435.2 54c0 6.1856-5.014 11.2-11.2 11.2s-11.2-5.0144-11.2-11.2 5.014-11.2 11.2-11.2 11.2 5.0144 11.2 11.2zm-2.8 0c0 4.6392-3.761 8.4-8.4 8.4s-8.4-3.7608-8.4-8.4 3.761-8.4 8.4-8.4 8.4 3.7608 8.4 8.4z" fill="#faf5df" fill-rule="evenodd"/><path clip-rule="evenodd" d="m424 70.8c9.278 0 16.8-7.5216 16.8-16.8s-7.522-16.8-16.8-16.8-16.8 7.5216-16.8 16.8 7.522 16.8 16.8 16.8zm0-2.8c7.732 0 14-6.268 14-14s-6.268-14-14-14-14 6.268-14 14 6.268 14 14 14z" fill="#faf5df" fill-rule="evenodd"/><path clip-rule="evenodd" d="m446.4 54c0 12.3712-10.029 22.4-22.4 22.4s-22.4-10.0288-22.4-22.4 10.029-22.4 22.4-22.4 22.4 10.0288 22.4 22.4zm-2.8 0c0 10.8248-8.775 19.6-19.6 19.6s-19.6-8.7752-19.6-19.6 8.775-19.6 19.6-19.6 19.6 8.7752 19.6 19.6z" fill="#faf5df" fill-rule="evenodd"/><path clip-rule="evenodd" d="m452 54c0 15.464-12.536 28-28 28s-28-12.536-28-28 12.536-28 28-28 28 12.536 28 28zm-2.8 0c0 13.9176-11.282 25.2-25
.2 25.2s-25.2-11.2824-25.2-25.2 11.282-25.2 25.2-25.2 25.2 11.2824 25.2 25.2z" fill="#faf5df" fill-rule="evenodd"/></g></svg>
\ No newline at end of file
diff --git a/chrome/skin/yec-placard.svg b/chrome/skin/yec-placard.svg
deleted file mode 100644
index dc35b73a..00000000
--- a/chrome/skin/yec-placard.svg
+++ /dev/null
@@ -1,382 +0,0 @@
-<?xml version="1.0"?>
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" height="427" viewBox="0 0 714 427" width="714">
- <style>
- /* disables unused use nodes wit a _text suffix in the href attribute
- we don't want to blank disable all use nodes because the background
- placard path is included via use nodes in each locale group
- */
- use[href$="_text"]:not(:target) {
- display: none;
- }
-
- /* Sniglet font blob */
- @font-face {
- font-family: 'Sniglet';
- src: url('data:application/octet-stream;base64,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
GcAYgByAGUAbgBkAGEAMQA5ADgANwBAAGcAbQBhAGkAbAAuAGMAbwBtACkADQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEAMwAsACAAUABhAGIAbABvACAASQBtAHAAYQBsAGwAYQByAGkAIAAoAHcAdwB3AC4AaQBtAHAAYQBsAGwAYQByAGkALgBjAG8AbQB8AGkAbQBwAGEAbABsAGEAcgBpAEAAZwBtAGEAaQBsAC4AYwBvAG0AKQAsACAADQB3AGkAdABoACAAbgBvACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUALgBTAG4AaQBnAGwAZQB0AFIAZQBnAHUAbABhAHIASABhAGwAZQB5AEYAaQBlAGcAZQAsAFAAYQBiAGwAbwBJAG0AcABhAGwAbABhAHIAaQAsAEIAcgBlAG4AZABhAEcAYQBsAGwAbwA6ACAAUwBuAGkAZwBsAGUAdAAgAFIAZQBnAHUAbABhAHIAOgAgADIAMAAwADgAUwBuAGkAZwBsAGUAdAAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADIALgAwADAAMAA7ACAAdAB0AGYAYQB1AHQAbwBoAGkAbgB0ACAAKAB2ADAALgA5ADUAKQAgAC0AbAAgADgAIAAtAHIAIAA1ADAAIAAtAEcAIAAyADAAMAAgAC0AeAAgADEANAAgAC0AdwAgACIARwAiAFMAbgBpAGcAbABlAHQALQBSAGUAZwB1AGwAYQByAFMAbgBpAGcAbABlAHQAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABIAGEAbABlAHkAIABGAGkAZQBnAGUASABhAGwAZQB5ACAARgBpAGUAZwBlACwAIABQAGEAYgBsAG8AIABJAG0AcABhAGwAbABhAHIAaQAsACAAQgByAGUAbgBkAGEAIABHAGEAbA
BsAG8ASABhAGwAZQB5ACAARgBpAGUAZwBlAEEAIAByAG8AdQBuAGQAZQBkACAAZABpAHMAcABsAGEAeQAgAGYAYQBjAGUAIAB0AGgAYQB0ANUAcwAgAGcAcgBlAGEAdAAgAGYAbwByACAAaABlAGEAZABsAGkAbgBlAHMALgANAA0ATwByAGkAZwBpAG4AYQBsAGwAeQAgAGQAZQBzAGkAZwBuAGUAZAAgAGkAbgAgADIAMAAwADgAIABiAHkAIABIAGEAbABlAHkAIABGAGkAZQBnAGUAIABpAG4AIABFAHgAdAByAGEALQBiAG8AbABkAC4ADQBJAG4AIAAyADAAMQAzACAAQgByAGUAbgBkAGEAIABHAGEAbABsAG8AIABhAG4AZAAgAFAAYQBiAGwAbwAgAEkAbQBwAGEAbABsAGEAcgBpACAAYQBkAGQAZQBkACAAYQAgAFIAZQBnAHUAbABhAHIAIAB3AGUAaQBnAGgAdAANAA0AVABvACAAYwBvAG4AdAByAGkAYgB1AHQAZQAgAHQAbwAgAHQAaABlACAAcAByAG8AagBlAGMAdAAgAGMAbwBuAHQAYQBjAHQAIABIAGEAbABlAHkAIABGAGkAZQBnAGUAIAAoAGgAYQBsAGUAeQBAAGsAaQBuAGcAZABvAG0AbwBmAGEAdwBlAHMAbwBtAGUALgBjAG8AbQApACAAbwByACAAUABhAGIAbABvACAASQBtAHAAYQBsAGwAYQByAGkAIAAoAGkAbQBwAGEAbABsAGEAcgBpAEAAZwBtAGEAaQBsAC4AYwBvAG0AKQBrAGkAbgBnAGQAbwBtAG8AZgBhAHcAZQBzAG8AbQBlAC4AYwBvAG0AVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGU
AbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAgAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAaQBzACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoAIABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAA9AAAAQIAAgADAMcAYgCtAGMArgAlACYAkABkACcAKABlAMgAygDLAOkBAwApACoAKwAsAMwAzQDOAM8ALQAuAC8AMAAxACQAZgAyALAA0ADRAGcA0wCRAK8AMwA0ADUANgDkADcA7QA4ANQA1QBoANYAOQA6ADsAPADrALsAPQDmAEQAaQBrAI0AbABqAAkAbgBBAGEADQBtAEUAPwBfAF4AYAA+AEAAhwBGAOEAbwDeAIQA2AAdAA8ARwCDAI4AuAAHANcASABwAHIAcwBxABsAswCyACAA6gAEAKMASQAYABcAvABKAIkAQwAhAL4AvwBLABAATAB0AHYAdwB1AE0ATgBPAB8AUADvAJcA8ABRABwAeAAGAFIAeQB7AHwAegAUAKEAfQBTAIgACwAMAAgAEQAOAFQAIgCiAAUAxQC0ALUAtgC3AMQACgBVAN0AVgAeABoAGQASAMkAhQBXAO4AFgDZABUAWABCAQQBBQBZAFoAWwBcAJYAXQATAKsBBgEHAIYAggDCAOgApACpAKoAvQDDAQgAiwCKAJMAsQCgAQkApgDGAN8A4ADcAH8AfgCAAIEA5QDsALoA5wDbANoBCgDiAOMBCwEMACMAjACdAJ4A8QDy
APMBDQEOAQ8BEAERAPQA9QD2BE5VTEwERXVybwd1bmkwMEEwB3VuaTAwQUQHdW5pMjIxNQhkb3RsZXNzagd1bmkyMjE5B3VuaTAzQkMHdW5pMDJDOQNmX2kDZl9sDGZvdXJzdXBlcmlvcgtvbmVpbmZlcmlvcgt0d29pbmZlcmlvcg10aHJlZWluZmVyaW9yDGZvdXJpbmZlcmlvcgAAAAABAAH//wAPAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAADAAwDcAkmAAEALAAEAAAAEQBSAIAA3gEQAVYBaAGqAdAB6gJUAqYC9AMiAygDQgNIA1oAAQARAAkAFQAeAB8AIAAsAC0ALgAxADgAOQA6AFwAbgBwAJoAvQALAAv/4gAT/+wAMf/sADj/7AA5/+wAOv/sAKn/7ACu/+wAt//sALj/7AC5/+IAFwAL/2oAE//iAB3/iAAg/9gAKv/YAFr/2ABb/4gAZ//iAHD/sACD/7oAiP/2AJH/sACT/5wAmP+IAKj/2ACq/84Arv/YALf/ugC4/7oAuf+6AL3/4gDh/8QA4v/iAAwAE//YAB3/7AAx/+wAOP/sADn/7ABw/+IAqv/iAK7/7AC3/9gAuP/iAOH/4gDi/+wAEQAT/9gAMf9+ADj/sAA5/9gATP/iAGf/7ABw/9gAiP/OAJD/ugCp/9gAqv/sAK7/zgC3/84AuP/YAL3/4gDh/8QA4v/iAAQAMf/iADj/4gA5/+wAqf/sABAAC/+6AB3/xAAg//YAMf/2ADr/9gBb/7AAZ//sAG//9gBw/+wAg//sAJH/9gCT/+IAmP+wAKn/9gCuAAoA4f/2AAkAMf/OADj/7AA5/+wAWgAKAFsACgBn//YAmAAKAKgACgCp/+wABgAx//YAZ//2AG//9gBw//YAqf/2AKr/9gAaAAv/nAAT/84AHf+cACD/4gAq/84AWv/iAFv/u
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');
- font-weight: 400 400;
- font-style: normal;
- }
-
- /* Don't touch this block */
- text {
- /* set font to 'Sniglet' and fallback to firefox builtin sans-serif'd font */
- font-family: "Sniglet", sans-serif;
- /* set font-size to 0 to prevent hidden whitespace between tspan
- nodes from messing up the layout geometry */
- font-size: 0px;
- /* text color */
- fill: #05161c;
- /* centers the vertical origin of text node */
- dominant-baseline: middle;
- /* centers the horizontal origin of text node */
- text-anchor: middle;
- /* transforms the text onto the placard */
- transform: translate(555px, 36px) rotateZ(9.5deg) skew(-2deg);
- }
-
- tspan {
- /* default text size */
- font-size: 32px;
- }
-
- /* 30px font override */
- text.font30 > tspan { font-size: 30px; }
-
- /* 28px font override */
- text.font28 > tspan { font-size: 28px; }
-
- /* 26px font override */
- text.font26 > tspan { font-size: 26px; }
-
- /* 24px font override */
- text.font24 > tspan { font-size: 24px; }
-
- /* 22px font override */
- text.font22 > tspan { font-size: 22px; }
-
- /* 20px font override */
- text.font20 > tspan { font-size: 20px; }
-
- /* 18px font override */
- text.font18 > tspan { font-size: 18px; }
-
- </style>
-
- <!-- Fallback English (US)-->
- <g id="en_US_text">
- <text>
- <tspan x="0" y="50px">HANDS</tspan>
- <tspan x="0" dy="50px">OFF MY</tspan>
- <tspan x="0" dy="50px">DATA</tspan>
- </text>
- </g>
-
- <defs>
- <!-- We use this to overlay over the fallback en-US text above when a specfic locale is selected -->
- <path id="placard" fill="#faf5df" stroke-width="0px" d="M482,26 L625,48 L588,235 L445,212 L482,26"/>
-
- <!-- Arabic (right-to-left) -->
- <g id="ar_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Catalan -->
- <g id="ca_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Czech -->
- <g id="cs_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Danish -->
- <g id="da_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- German -->
- <g id="de_text">
- <use href="#placard"/>
- <text class="font22">
- <tspan x="0" y="45px">HÄNDE</tspan>
- <tspan x="0" dy="35px">WEG</tspan>
- <tspan x="0" dy="35px">VON MEINEN</tspan>
- <tspan x="0" dy="35px">DATEN</tspan>
- </text>
- </g>
- <!-- Greek -->
- <g id="el_text">
- <use href="#placard"/>
- <text class="font22">
- <tspan x="0" y="35px">ΚΑΤΩ ΤΑ</tspan>
- <tspan x="0" dy="32px">ΧΕΡΙΑ</tspan>
- <tspan x="0" dy="32px">ΑΠΟ ΤΑ</tspan>
- <tspan x="0" dy="32px">ΔΕΔΟΜΕΝΑ</tspan>
- <tspan x="0" dy="32px">ΜΟΥ</tspan>
- </text>
- </g>
- <!-- Spanish-Argentina -->
- <g id="es_AR_text">
- <use href="#placard"/>
- <text class="font30">
- <tspan x="0" y="35px">NO</tspan>
- <tspan x="0" dy="40px">TOQUÉS</tspan>
- <tspan x="0" dy="40px">MIS</tspan>
- <tspan x="0" dy="40px">DATOS</tspan>
- </text>
- </g>
-
- <!-- Spanish-Spain -->
- <g id="es_ES_text">
- <use href="#placard"/>
- <text class="font30">
- <tspan x="0" y="35px">NO</tspan>
- <tspan x="0" dy="40px">TOQUES</tspan>
- <tspan x="0" dy="40px">MIS</tspan>
- <tspan x="0" dy="40px">DATOS</tspan>
- </text>
- </g>
-
- <!-- Farsi (right-to-left) -->
- <g id="fa_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- French -->
- <g id="fr_text">
- <use href="#placard"/>
- <text class="font22">
- <tspan x="0" y="45px">NE TOUCHEZ</tspan>
- <tspan x="0" dy="35px">PAS</tspan>
- <tspan x="0" dy="35px">À MES</tspan>
- <tspan x="0" dy="35px">DONNÉES</tspan>
- </text>
- </g>
- <!-- Irish -->
- <g id="ga_IE_text">
- <use href="#placard"/>
- <text class="font26">
- <tspan x="0" y="45px">NÁ DRANN</tspan>
- <tspan x="0" dy="35px">LE MO</tspan>
- <tspan x="0" dy="35px">CHUID</tspan>
- <tspan x="0" dy="35px">SONRAÍ</tspan>
- </text>
- </g>
- <!-- Hebrew (right-to-left) -->
- <g id="he_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Hungarian -->
- <g id="hu_text">
- <use href="#placard"/>
- <text class="font22">
- <tspan x="0" y="40px">EL A</tspan>
- <tspan x="0" dy="38px">KEZEKKEL</tspan>
- <tspan x="0" dy="38px">AZ</tspan>
- <tspan x="0" dy="38px">ADATAIMTÓL</tspan>
- </text>
- </g>
- <!-- Indonesian -->
- <g id="id_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Icelandic -->
- <g id="is_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Italian -->
- <g id="it_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Japanese -->
- <g id="ja_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Georgian -->
- <g id="ka_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Korean -->
- <g id="ko_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Lithuanian -->
- <g id="lt_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Macedonian -->
- <g id="mk_text">
- <use href="#placard"/>
- <text class="font18">
- <tspan x="0" y="35px">РАЦЕТЕ</tspan>
- <tspan x="0" dy="30px">ПОНАСТРАНА</tspan>
- <tspan x="0" dy="30px">ОД</tspan>
- <tspan x="0" dy="30px">МОИТЕ</tspan>
- <tspan x="0" dy="30px">ПОДАТОЦИ</tspan>
- </text>
- </g>
- <!-- Malay -->
- <g id="ms_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Burmese -->
- <g id="my_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Norwegian -->
- <g id="nb_NO_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Dutch -->
- <g id="nl_text">
- <use href="#placard"/>
- <text class="font24">
- <tspan x="0" y="55px">HANDEN AF</tspan>
- <tspan x="0" dy="40px">VAN MIJN</tspan>
- <tspan x="0" dy="40px">GEGEVENS</tspan>
- </text>
- </g>
- <!-- Polish -->
- <g id="pl_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Portugese-Brazil -->
- <g id="pt_BR_text">
- <use href="#placard"/>
- <text class="font26">
- <tspan x="0" y="40px">TIREM AS</tspan>
- <tspan x="0" dy="40px">MÃOS</tspan>
- <tspan x="0" dy="40px">DOS MEUS</tspan>
- <tspan x="0" dy="40px">DADOS</tspan>
- </text>
- </g>
- <!-- Romanian -->
- <g id="ro_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Russian -->
- <g id="ru_text">
- <use href="#placard"/>
- <text class="font26">
- <tspan x="0" y="35px">РУКИ</tspan>
- <tspan x="0" dy="40px">ПРОЧЬ</tspan>
- <tspan x="0" dy="40px">ОТ МОИХ</tspan>
- <tspan x="0" dy="40px">ДАННЫХ</tspan>
- </text>
- </g>
- <!-- Swedish -->
- <g id="sv_SE_text">
- <use href="#placard"/>
- <text class="font24">
- <tspan x="0" y="45px">HÄNDERNA</tspan>
- <tspan x="0" dy="35px">BORT FRÅN</tspan>
- <tspan x="0" dy="35px">MINA</tspan>
- <tspan x="0" dy="35px">DATA</tspan>
- </text>
- </g>
- <!-- Thai -->
- <g id="th_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Turkish -->
- <g id="tr_text">
- <use href="#placard"/>
- <text class="font24">
- <tspan x="0" y="80px">VERİLERİME</tspan>
- <tspan x="0" dy="40px">DOKUNMA</tspan>
- </text>
- </g>
- <!-- Vietnamese -->
- <g id="vi_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Chinese Simplified/PRC -->
- <g id="zh_CN_text">
- <use href="#placard"/>
- <text>
- <tspan x="0" y="50px">别碰</tspan>
- <tspan x="0" dy="50px">我的</tspan>
- <tspan x="0" dy="50px">隐私</tspan>
- </text>
- </g>
- <!-- Chinese Traditional/Taiwan -->
- <g id="zh_TW_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- </defs>
-
- <!-- non en-US locales -->
- <!-- <use id="ar" href="#ar_text"/> -->
- <!-- <use id="ca" href="#ca_text"/> -->
- <!-- <use id="cs" href="#cs_text"/> -->
- <!-- <use id="da" href="#da_text"/> -->
- <use id="de" href="#de_text"/>
- <use id="el" href="#el_text"/>
- <use id="es-AR" href="#es_AR_text"/>
- <use id="es-ES" href="#es_ES_text"/>
- <!-- <use id="fa" href="#fa_text"/> -->
- <use id="fr" href="#fr_text"/>
- <use id="ga-IE" href="#ga_IE_text"/>
- <!-- <use id="he" href="#he_text"/> -->
- <use id="hu" href="#hu_text"/>
- <!-- <use id="id" href="#id_text"/> -->
- <!-- <use id="is" href="#is_text"/> -->
- <!-- <use id="it" href="#it_text"/> -->
- <!-- <use id="ja" href="#ja_text"/> -->
- <!-- <use id="ka" href="#ka_text"/> -->
- <!-- <use id="ko" href="#ko_text"/> -->
- <!-- <use id="lt" href="#lt_text"/> -->
- <use id="mk" href="#mk_text"/>
- <!-- <use id="ms" href="#ms_text"/> -->
- <!-- <use id="my" href="#my_text"/> -->
- <!-- <use id="nb-NO" href="#nb_NO_text"/> -->
- <use id="nl" href="#nl_text"/>
- <!-- <use id="pl" href="#pl_text"/> -->
- <use id="pt-BR" href="#pt_BR_text"/>
- <!-- <use id="ro" href="#ro_text"/> -->
- <use id="ru" href="#ru_text"/>
- <use id="sv-SE" href="#sv_SE_text"/>
- <!-- <use id="th" href="#th_text"/> -->
- <use id="tr" href="#tr_text"/>
- <!-- <use id="vi" href="#vi_text"/> -->
- <use id="zh-CN" href="#zh_CN_text"/>
- <!-- <use id="zh-TW" href="#zh_TW_text"/> -->
-</svg>
1
0

[torbutton/maint-11.0] fixup! Bug 40758: Remove YEC takeover from about:tor in next release
by gk@torproject.org 06 Jan '22
by gk@torproject.org 06 Jan '22
06 Jan '22
commit 04f6ee799985387684d079d80767a05fa3c1f009
Author: Richard Pospesel <richard(a)torproject.org>
Date: Thu Jan 6 20:46:46 2022 +0100
fixup! Bug 40758: Remove YEC takeover from about:tor in next release
---
chrome/skin/aboutTor.css | 20 --------------------
1 file changed, 20 deletions(-)
diff --git a/chrome/skin/aboutTor.css b/chrome/skin/aboutTor.css
index 9c4d7f63..1811c4d5 100644
--- a/chrome/skin/aboutTor.css
+++ b/chrome/skin/aboutTor.css
@@ -102,26 +102,6 @@ a {
white-space: nowrap;
}
-.header-container {
- display: flex;
- justify-content: center;
- max-width: 575px;
- margin-inline: auto;
-}
-
-.header-container > div.header-layered {
- width: 70%;
- overflow: auto
-}
-
-.header-container > div.header-layered > img {
- width: 100%;
- float: inline-start;
-}
-
-.header-container > div > img#slogan-layer {
- margin-inline-start: -100%;
-}
.torstatus-container {
text-align: center;
}
1
0

[torbutton/master] fixup! Bug 40758: Remove YEC takeover from about:tor in next release
by gk@torproject.org 06 Jan '22
by gk@torproject.org 06 Jan '22
06 Jan '22
commit 27380bd071a0b95eec9822116a89666f220bf95b
Author: Richard Pospesel <richard(a)torproject.org>
Date: Thu Jan 6 20:46:46 2022 +0100
fixup! Bug 40758: Remove YEC takeover from about:tor in next release
---
chrome/skin/aboutTor.css | 20 --------------------
1 file changed, 20 deletions(-)
diff --git a/chrome/skin/aboutTor.css b/chrome/skin/aboutTor.css
index 9c4d7f63..1811c4d5 100644
--- a/chrome/skin/aboutTor.css
+++ b/chrome/skin/aboutTor.css
@@ -102,26 +102,6 @@ a {
white-space: nowrap;
}
-.header-container {
- display: flex;
- justify-content: center;
- max-width: 575px;
- margin-inline: auto;
-}
-
-.header-container > div.header-layered {
- width: 70%;
- overflow: auto
-}
-
-.header-container > div.header-layered > img {
- width: 100%;
- float: inline-start;
-}
-
-.header-container > div > img#slogan-layer {
- margin-inline-start: -100%;
-}
.torstatus-container {
text-align: center;
}
1
0

[torbutton/master] Bug 40758: Remove YEC takeover from about:tor in next release
by gk@torproject.org 06 Jan '22
by gk@torproject.org 06 Jan '22
06 Jan '22
commit 469de7f6dba69f43c62534e0453b094224e9b33c
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Dec 22 15:40:39 2021 +0100
Bug 40758: Remove YEC takeover from about:tor in next release
- reverts YEC-specific additions to about:tor
- fixes tor-browser#40758
---
LICENSE | 197 --------------
chrome/content/aboutTor/aboutTor-content.js | 4 -
chrome/content/aboutTor/aboutTor.xhtml | 17 +-
chrome/locale/en-US/aboutTor.dtd | 28 --
chrome/skin/aboutTor.css | 91 +------
chrome/skin/corben-font.css | 14 -
chrome/skin/yec-activist.svg | 1 -
chrome/skin/yec-placard.svg | 382 ----------------------------
8 files changed, 7 insertions(+), 727 deletions(-)
diff --git a/LICENSE b/LICENSE
index a8e43ed8..783d6a47 100644
--- a/LICENSE
+++ b/LICENSE
@@ -27,200 +27,3 @@ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-
-===========================================================================
-
-"Corben" font embedded in chrome/skin/corben-font.css is licensed under:
-
-Copyright (c) 2010, 2011 by vernon adams (vern(a)newtypography.co.uk)
-with Reserved Font Name Corben.
-
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at:
-http://scripts.sil.org/OFL
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
-
-===========================================================================
-
-"Sniglet" font embedded in chrome/skin/yec-placard.svg is licensed under:
-
-Copyright (c) 2008, Haley Fiege (haley(a)kingdomofawesome.com)
-Copyright (c) 2012, Brenda Gallo (gbrenda1987(a)gmail.com)
-Copyright (c) 2013, Pablo Impallari (www.impallari.com|impallari@gmail.com)
-
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at:
-http://scripts.sil.org/OFL
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/chrome/content/aboutTor/aboutTor-content.js b/chrome/content/aboutTor/aboutTor-content.js
index c4b3506a..2d1ae71f 100644
--- a/chrome/content/aboutTor/aboutTor-content.js
+++ b/chrome/content/aboutTor/aboutTor-content.js
@@ -116,10 +116,6 @@ var AboutTorListener = {
"https://tb-manual.torproject.org/" + aLocale;
content.document.getElementById("getInvolvedLink").href =
"https://community.torproject.org/" + aLocale;
- content.document.getElementById("slogan-layer").src =
- "resource://torbutton-assets/yec-placard.svg#" + aLocale;
- content.document.getElementById("donateButton").href =
- "https://www.torproject.org/donate/donate-phr-bp1-" + aLocale;
// Display the Tor Browser product name and version.
try {
diff --git a/chrome/content/aboutTor/aboutTor.xhtml b/chrome/content/aboutTor/aboutTor.xhtml
index 5765fd58..f1b4dab1 100644
--- a/chrome/content/aboutTor/aboutTor.xhtml
+++ b/chrome/content/aboutTor/aboutTor.xhtml
@@ -20,11 +20,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <meta http-equiv="Content-Security-Policy" content="default-src resource:; font-src data:; object-src 'none'" />
+ <meta http-equiv="Content-Security-Policy" content="default-src resource:; object-src 'none'" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>&aboutTor.title;</title>
<link rel="stylesheet" href="chrome://browser/skin/onionPattern.css" type="text/css" media="all" />
- <link rel="stylesheet" href="resource://torbutton-assets/corben-font.css" type="text/css" media="all" />
<link rel="stylesheet" href="resource://torbutton-assets/aboutTor.css" type="text/css" media="all" />
<script type="text/javascript" src="resource://torbutton-abouttor/aboutTor.js"></script>
</head>
@@ -36,12 +35,6 @@
</div>
<img class="torcontent-logo" src="resource://torbutton-assets/torbrowser_mobile_logo.png"/>
<div id="torstatus" class="top">
- <div class="hideIfTorOff header-container">
- <div class="header-layered">
- <img id="base-layer" src="resource://torbutton-assets/yec-activist.svg"/>
- <img id="slogan-layer" src="resource://torbutton-assets/yec-placard.svg#en-US"/>
- </div>
- </div>
<div class="hideIfTorOff hideIfHasBeenUpdated torstatus-container">
<div class="heading1">&aboutTor.ready.label;</div>
<br/>
@@ -72,14 +65,6 @@
</form>
</div>
- <div id="donateMessageBox" class="hideIfTorOff">
- <div id="motto">&aboutTor.yec.motto;</div>
- <div id="donationBox">
- <div id="donationMatch">&aboutTor.yec.donationMatch;</div>
- <a id="donateButton" href="https://donate.torproject.org/" target="_blank">&aboutTor.donationBanner.buttonA;</a>
- </div>
- </div>
-
<div id="bottom">
<p id="donate" class="moreInfoLink">&aboutTor.donationBanner.freeToUse;
<a href="https://donate.torproject.org/" target="_blank">&aboutTor.donationBanner.buttonA; »</a>
diff --git a/chrome/locale/en-US/aboutTor.dtd b/chrome/locale/en-US/aboutTor.dtd
index cbc3d392..7b231095 100644
--- a/chrome/locale/en-US/aboutTor.dtd
+++ b/chrome/locale/en-US/aboutTor.dtd
@@ -29,31 +29,3 @@
<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
<!ENTITY aboutTor.donationBanner.freeToUse "Tor is free to use because of donations from people like you.">
<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-
-<!-- Year end campaign strings -->
-
-<!-- LOCALIZATION NOTE (aboutTor.yec.slogan): This string is written on a protest sign and the translated
- phrase needs to be a short and concise slogan. We would like the phrase to fit on 3 to 5 lines. If a
- translation of 'HANDS OFF MY DATA' cannot be made short, we have provided these alternative slogans
- with a similar theme:
-
- - DON'T TOUCH MY DATA
- - DON'T SPY ON MY DATA
- - MY DATA IS PRIVATE
- - KEEP OFF MY DATA
-
- Please place newline characters (\n) between words or phrases which can be placed in separate lines
- so we can word-wrap our final assets correctly.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.slogan "HANDS\nOFF\nMY\nDATA">
-<!ENTITY aboutTor.yec.motto "Privacy is a human right">
-<!-- LOCALIZATION NOTE (aboutTor.yec.donationMatch): Please translate the 'Friends of Tor' phrase, but
- also format it like the name of an organization in whichever way that is appropriate for your locale.
-
- Please keep the currency in USD.
-
- Thank you!
--->
-<!ENTITY aboutTor.yec.donationMatch "Your donation will be matched by Friends of Tor, up to $150,000.">
diff --git a/chrome/skin/aboutTor.css b/chrome/skin/aboutTor.css
index 2e187aba..9c4d7f63 100644
--- a/chrome/skin/aboutTor.css
+++ b/chrome/skin/aboutTor.css
@@ -6,13 +6,8 @@
*/
:root {
- --abouttor-link-color: #e98346;
- --abouttor-donate-button-bg: #efb149;
- --abouttor-donate-button-bg-hover: #e5b6e3;
- --abouttor-donate-button-bg-active: #b28db0;
- --abouttor-donate-button-color: #0C0C0D;
- --abouttor-text-color: #faf5df;
- --abouttor-bg-toron-color: #05161c;
+ --abouttor-text-color: white;
+ --abouttor-bg-toron-color: #420C5D;
--abouttor-bg-toroff-color: #A4000F;
--onion-opacity: 0.2;
--onion-color: #fff;
@@ -57,14 +52,14 @@ body:not([initialized]) {
}
.torcontent-container {
- margin: 80px 20px 28px 20px;
+ margin: 40px 20px 28px 20px;
display: flex;
flex-direction: column;
}
@media only screen and (min-width: 900px) {
.torcontent-container {
- margin-inline: auto;
+ margin: 40px auto 28px auto;
max-width: 1000px;
}
}
@@ -91,10 +86,11 @@ body:not([updatechannel="release"]):not([updatechannel="alpha"]) #torbrowser-cha
}
a {
- color: var(--abouttor-link-color);
+ color: var(--abouttor-text-color);
}
#torstatus {
+ margin-top: 135px;
display: flex;
flex-direction: column;
align-content: center;
@@ -127,7 +123,6 @@ a {
margin-inline-start: -100%;
}
.torstatus-container {
- display: none;
text-align: center;
}
@@ -161,80 +156,6 @@ body:not([showmanual]) .showForManual {
margin-bottom: 20px;
}
-#donateMessageBox {
- max-width: 730px;
- margin-top: 2em;
- margin-inline: auto;
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- font-family: serif;
-}
-
-#donateMessageBox > * {
- width: 50%;
-}
-
-#motto {
- /* dynamically scale motto text based on window width */
- font-size: clamp(24px, calc(100vw / 768 * 36) , 36px);
- line-height: clamp(32px, calc(100vw / 768 * 48) , 48px);
- flex-grow: 1;
- font-family: Corben, sans-serif;
- font-weight: 700;
-}
-
-#donationBox {
- margin-inline-start: 2em;
- flex-grow: 1;
- display: flex;
- flex-direction: column;
-}
-
-#donationMatch {
- font-size: 1.1em;
- font-family: Corben, sans-serif;
- font-weight: 400;
- line-height: 1.3em;
-}
-
-#donateButton {
- margin-block-start: 1em;
- margin-inline-end: auto;
- background-color: var(--abouttor-donate-button-bg);
- outline-color: var(--abouttor-donate-button-bg);
- outline-style: none;
- color: var(--abouttor-donate-button-color);
- font-family: sans-serif;
- font-weight: bold;
- font-size: 0.9em;
- box-sizing: border-box;
- border-radius: 1.5em;
- padding-inline: 1.25em;
- text-decoration: none;
- max-height: 3em;
- height: 3em;
- line-height: 3em;
-
-
-}
-
-#donateButton:hover {
- background-color: var(--abouttor-donate-button-bg-hover);
- outline-color: var(--abouttor-donate-button-bg-hover);
-}
-
-#donateButton:active {
- background-color: var(--abouttor-donate-button-bg-active);
- outline-color: var(--abouttor-donate-button-bg-active);
-}
-
-#donateButton:focus-visible {
- outline-style: dotted;
- outline-width: 1px;
- outline-offset: 2px;
-}
-
#bottom {
margin-top: 10vh;
margin-inline: auto;
diff --git a/chrome/skin/corben-font.css b/chrome/skin/corben-font.css
deleted file mode 100644
index ad51514b..00000000
--- a/chrome/skin/corben-font.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@font-face {
- font-family: 'Corben';
- src: url('data:application/octet-stream;base64,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
mAigAAwABBAkADQEgAk4AAwABBAkADgA0A24AAwABBAkAEgAMAMgAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADAALAAgADIAMAAxADEAIABiAHkAIAB2AGUAcgBuAG8AbgAgAGEAZABhAG0AcwAgACgAdgBlAHIAbgBAAG4AZQB3AHQAeQBwAG8AZwByAGEAcABoAHkALgBjAG8ALgB1AGsAKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAAQwBvAHIAYgBlAG4ALgBDAG8AcgBiAGUAbgBSAGUAZwB1AGwAYQByAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAAQwBvAHIAYgBlAG4AIABSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAwADEAQwBvAHIAYgBlAG4ALQBSAGUAZwB1AGwAYQByAEMAbwByAGIAZQBuACAAaQBzACAAYQAgAHQAcgBhAGQAZQBtAGEAcgBrACAAbwBmACAAdgBlAHIAbgBvAG4AIABhAGQAYQBtAHMALgB2AGUAcgBuAG8AbgAgAGEAZABhAG0AcwBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAgAGIAeQAgAHYAZQByAG4AbwBuACAAYQBkAGEAbQBzAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4AbgBlAHcAdAB5AHAAbwBnAHIAYQBwAGgAeQAuAGMAbwAuAHUAawBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUA
bgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuACAAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABpAHMAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP9mAGYAAAAAAAAAAAAAAAAAAAAAAAAAAAFjAAAAAQACAQIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQMAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBBACKANoAgwCTAPIA8wCNAJcAiADDAN4A8QCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6AQUBBgEHAQgBCQEKAP0A/gELAQwBDQEOAP8BAAEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwA+AD5AR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgD6ANcBKwEsAS0BLgEvA
TABMQEyATMBNAE1ATYBNwE4ATkA4gDjAToBOwE8AT0BPgE/AUABQQFCAUMBRAFFALAAsQFGAUcBSAFJAUoBSwFMAU0BTgFPAPsA/ADkAOUBUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjALsBZAFlAWYBZwDmAOcApgFoAWkA2ADhANsA3ADdAOAA2QDfAWoBawFsAW0AsgCzALYAtwDEALQAtQDFAIIAwgCHAKsAvgC/ALwBbgFvAIwAwADBAXABcQFyAXMBdAF1AXYETlVMTAd1bmkwMEEwB3VuaTAwQUQHQW1hY3JvbgdhbWFjcm9uBkFicmV2ZQZhYnJldmUHQW9nb25lawdhb2dvbmVrC0NjaXJjdW1mbGV4C2NjaXJjdW1mbGV4CkNkb3RhY2NlbnQKY2RvdGFjY2VudAZEY2Fyb24GZGNhcm9uB0VtYWNyb24HZW1hY3JvbgZFYnJldmUGZWJyZXZlCkVkb3RhY2NlbnQKZWRvdGFjY2VudAdFb2dvbmVrB2VvZ29uZWsGRWNhcm9uBmVjYXJvbgtHY2lyY3VtZmxleAtnY2lyY3VtZmxleApHZG90YWNjZW50Cmdkb3RhY2NlbnQMR2NvbW1hYWNjZW50C0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4BGhiYXIGSXRpbGRlBml0aWxkZQdJbWFjcm9uB2ltYWNyb24GSWJyZXZlBmlicmV2ZQdJb2dvbmVrB2lvZ29uZWsCSUoCaWoLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgMS2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAxrZ3JlZW5sYW5kaWMGTGFjdXRlBmxhY3V0ZQxMY29tbWFhY2NlbnQMbGNvbW1hYWNjZW50BkxjYXJvbgZsY2Fyb24KTGRvdGFjY2VudARsZG90Bk5hY3V0ZQZuYWN1dGUMTmNvbW1hYWNjZW50DG5jb21tYW
FjY2VudAZOY2Fyb24GbmNhcm9uB09tYWNyb24Hb21hY3JvbgZPYnJldmUGb2JyZXZlDU9odW5nYXJ1bWxhdXQNb2h1bmdhcnVtbGF1dAZSYWN1dGUGcmFjdXRlDFJjb21tYWFjY2VudAxyY29tbWFhY2NlbnQGUmNhcm9uBnJjYXJvbgZTYWN1dGUGc2FjdXRlC1NjaXJjdW1mbGV4C3NjaXJjdW1mbGV4DFRjb21tYWFjY2VudAx0Y29tbWFhY2NlbnQGVGNhcm9uBnRjYXJvbgZVdGlsZGUGdXRpbGRlB1VtYWNyb24HdW1hY3JvbgZVYnJldmUGdWJyZXZlBVVyaW5nBXVyaW5nDVVodW5nYXJ1bWxhdXQNdWh1bmdhcnVtbGF1dAdVb2dvbmVrB3VvZ29uZWsLV2NpcmN1bWZsZXgLd2NpcmN1bWZsZXgLWWNpcmN1bWZsZXgLeWNpcmN1bWZsZXgGWmFjdXRlBnphY3V0ZQpaZG90YWNjZW50Cnpkb3RhY2NlbnQCRFoCRHoMZG90YWNjZW50Y21iB3VuaTAzMEYHdW5pMDMxMQd1bmkwMzI2DGZvdXJzdXBlcmlvcgRFdXJvA2ZmaQNmX2oIZG90bGVzc2oDY19rA2ZfdQNmZmwCZmYAAAAAAQAB//8ADwABAAAADAAAAAAAAAACAAQAAgFZAAEBWgFdAAIBXgFeAAEBXwFiAAIAAQAAAAoAJAAyAAJERkxUAA5sYXRuAA4ABAAAAAD//wABAAAAAWtlcm4ACAAAAAEAAAABAAQAAgAAAAEACAACAFgABAAAAGoAkgAGAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6EAAP9T/3b/Vf8u/7cAAP8A/y//C/8t/30AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAAQAHACUAKwA4ADoAOwBaAFsAAgAGACUAJQABACsAKwAFADgAOAACADoAOgACADsAOwADAFoAWwAEAAI
ACAAzADMABQBFAEUAAQBHAEcAAgBIAEgAAwBJAEkAAgBTAFMAAgBVAFUAAgFfAV8ABAABAAAACgAkADIAAkRGTFQADmxhdG4ADgAEAAAAAP//AAEAAAABbGlnYQAIAAAAAQAAAAEABAAEAAAAAQAIAAEAUgACAAoAFAABAAQBXwACAE8ABwAQABgAIAAmACwAMgA4AWEAAwBKAFABXAADAEoATQFgAAIAWQFbAAIAUAFdAAIATgFaAAIATQFiAAIASgABAAIARwBK') format('truetype');
-
- font-weight: 400 400;
- font-style: normal;
-}
-
-@font-face {
- font-family: 'Corben';
- src: url('data:application/octet-stream;base64,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
jc2Nzc+AzMyHgIVFA4CIyEiLgI1ND4ENRE0LgQ1ND4CMzIWFRQOBBUEBBkqNRwVTmZ2eXViShICAQIiRx8SJBwRIzdDIBhxk6WWeBwcNxgfLgNJEBgeDhoVDAwhDCw2PR4kPCwYIkRoRf25aKJvOhQeJB4UFB4kHhQ6b6Jo2OQUHyMfFAJCDRAZIhkSCAYVHCAhIBoUBQEJEAkVIxocKBwUCQYfKC0pIQcIDB7XISoWCAMBAok0SSwUGC0/KDiDckwYNVI6GhgKBhElJAKDJCUSBgwXGjlSNBhkcxoYCwcSJSP//wAH/GQF4gVtECYBkQAAEAcCEAFyAAAAAAABAAACHgDpAAcA4AAEAAIAJgA4AIsAAACxDW0AAwABAAAAAAAAAAAAAABsAHgBQwIYAx4EbQStBP4FUAYSBn8GtwbmBxcHYwe1B/oIaAkkCZUKDQqaCusLfQwMDGUMxg0aDWsNwA5dD4IQFBDTEUMRqxJCEsgTRxPXFCIUjBUzFZ0WLRa0FxQXnBgiGLoZRRmpGhwaoRtqHAkclB0JHU0dkB3UHiceNh5yHygf2CBEIOchXyIAIv0jgiPtJGAk+iU9Jh0mticTJ7coaijtKXAp3SpqKt0rcSwRLK8tOS28Le0ucS6+Lr4uxi+fMD8xCzHaMjAy6jM3M/c0BjSMNMY09TXXNgo2Yjb0Nvw3BDc9N9Q4OzhvOLQ4+DkAOZA6uTwGPdo94j30PgY+GD4qPjw+Tj9yP34/kD+iP7Q/xj/YP+o//EAOQJhAqkC8QM5A4EDyQQRBbUH2QghCGkIsQj5CUELgQ8lD20PtQ/9EEUQjRDVFV0VjRXVFh0WZRatGHkaPRxJHk0h0SIZImEiqSLxIzkjgSVJJ10npSftKDUofSjFKyEraSuxK/ksQSyJLLks6S0xLXktwS4JLlEumS7hLykvcS+5MeE14TYpNnE2uTcBN0k3eTepN/E4OTiBOMk5ETlZOaE56ToZOmE6qTr
xPblBDUFVQZ1B5UItQnVCpULVQx1EKURxRp1GzUb9SW1JtUn9Si1KdUq9SwVNPU7VTx1PZU+VT8VQDVBVU81WrVb1Vz1XhVfNWBVb3V7pXzFfeV+pX9lgIWBpYLFg+WFBYYlhuWHpYjFieWKpYtljIWNpZYFnvWgFaE1olWjdaSVpbWm1af1qRWqNar1q7Ws1a31rxWwNbFVsnWzlbS1tdW29bgVwwXEJcTlxaXGxceFyEXJBcnFzpXTZddV2DXdteI15wXtNe5V73XwlfG18tXz9fUV9jX3Vfh1+ZX6tfvV/PX+Ff82AFYBdgKWA7YE1gX2BxYINglWCnYLlgwWDwYR9hVmGRYaBiAGJlYnxjB2PZZAdkF2VdZall/mZgZxpoE2hCaT5p5mnua0RslG2PbdxuSm8Hb3tv3XBTcL1xT3HHchNyrHMVc6V0EXSKdQJ1Z3Xudk92unc9d9V4Ini3eV95vXpOett7XHvkfEt8tn1qfgh+pn9Ff86AtoDCgNSA5oD4gQqBFoEogTqBTIFegXCBgoGUgoaCkoKkgraCyILaguyC/oMQgyKDNINGg1iDaoN8g46DoIOyg8SD1oPog/qEBoQShCSEroTAhU+FYYXnhfOGA4YThiWGN4ZJhluGbYZ/hpGGo4a1hseG2Ybrhv2HBYcXhymHO4dHh1OHZYd3h4mHm4eth7+H0Yfjh/WIB4gZiCuIPYhPiQGJE4kfiTGJPYlPiVuJbYl5ifyKv4rRiuOK74sBiw2LH4sriz2LT4thi3OLhYuXi6mLu4vNi9+MGo5yj9iRR5MmlGGViZb2lwiXs5e/l7+Xv5e/AAAAAQAAAAEAAPg0aPVfDzz1AA0IAAAAAADJZSGOAAAAANXFL6//IfwUEpAK7wABAAgAAgAAAAAAAAAAAAAAAAAAAAAAAAH0AAADNABOBS8AKQf1ACkGGgAxDQwALQhlAC4CkQApBAoALQQJAAoIBwAsBTIAKQLfACkE8wA
0AuAAKgQKACcGhwBEBGkARAT1ACUFFQAXBd4ACwTmAAEGEgAiBOoABgX2AEQGEgAdAzgAVgMfAEMEAQArBJwAUQQBAE0FAAAkC+wAMwb///cHbgA2BhwANgeqADYG5QA2BnwAKgatACwIsgA3BEkANgZXAA0IIQA3BgYANwirAD4HEwBAB2sAOwdnADgHbgA9CAMANgYiADUGzAAKB1oAIQax//cKsf/xBuwAAwbQAAgGPQAeA18AkgQKACYDX//fBBYAGQSfAAsDJgAQBhQAKAb7ADoFMQAtBvcAMwVBAC0EIABGBmwAVAeUADIEAABCA70ADAc/ADsD/wA8CscAOgevAEAGJAArBrQAOwb2ADQFRQAlBQkALwRjAB0HlQAaBi7/4ggi/+MGQQABBnP/6QVMACkEfQADAu4AmgR7/9QFgwAbAfQAAAM0AE4FRwAuBokAMwUKAFUHEgAmAt4AkgQ9AEoF6AAoB80AMgZAADUHmAAbBIsANAMj/6EHzQAyBOIAKQPjACcFPwA0BGsAEAT6AAYDJQASB84ARAXLACsC5gAuArUAFwQVAEgFuAAwBq0ANgiEAEgI5ABBCb8AQwUAACQG/v/3Bv7/9wb+//cG/v/3Bv7/9wb+//cJof/2BiEAOQblADYG5QA2BuUANgblADYESQA2BEoANgRJADYESf9qB6oANgcUAEAHawA7B2sAOwdrADsHawA7B2sAOwRuAEcHZQA4B1oAIQdaACEHWgAhB1oAIQbPAAgHCABCB6sALwYUACgGFAAoBhQAKAYUACgGFAAoBhQAKAhGACYFMwAuBUIALQVCAC0FQgAtBUL/7AQA//YEAABCBAAAHQQA/yEGHwAYB68AQAYkACsGJAArBiQAKwYkACsGJAArBFIAKwYjACoHlAAaB5QAGgeUABoHlAAaBnP/6QbGAAYGc//pBv7/9wYUACgG/v/3BhQAKAb+//cGFgAoBhwANgUwAC0GHAA2BTAA
LQYcADYFMAAtBhwANgUwAC0HqgA2B/IAMweqADYG9wAzBuUANgVBAC0FQQAtBuUANgVBAC0G5QA2BUQALgblADYFQQAtBq0ALAZsAFQGrQAsBmwAVAatACwGbABUBqwALAZsAFQIsgA3B5QAMgiqADAHlAAyBEn/xwQA/6MESv/RBAD/uwQAABUEQwAzA/oAPARKADYEAQBCBlcADQO+AAMIIAA3Bz4AOwdEAEAGBgA3A/8APAYGADcD/wA8BscANwUOADwGDwADBDr/2gcUAEAHrwBABxMAQAevAEAHFABAB68AQAcXAEEHfQBAB2sAOwYkACsGJAArB2sAOwYkACsKagA+CLQAKwgDADYFRAAlCAMANgVEACUIAwA2BUQAJQYiADUFCQAvBiIANQUJAC8GIwA1BQsAMAYiADUFCQAvBswACgRiAB0GzAAKBGMAHQbMAAoEZAAdB1oAIQeUABoHWgAhB5QAGgdaACEHlAAaB1oAIQeUABoHWgAhB5QAGgdmACcHlQAaCrH/8Qgi/+MGzwAIBnP/6QbPAAgGPQAfBUwAKQY9AB8FTAApBj0AHwVMACkE7f/3BmwAVAduAD0GJgAsBmwAVAYiADUFCgAvBswACgRiAB0DsQAbA7EAGwQVACADqgAhA9UAIQLfABwFlwAhBaoAHgduADYG+wA6B6oANgb3ADMGfQAqBCAARgirAD4KxwA6B68AQAdmADcGtAA7BiIANQUJAC8GIgA1BQoALwbMAAoEYgAdCrH/8Qgi/+MKsf/xCCL/4wqx//EIIv/jBnP/6QVMACkGzwAIBnP/6QTzADQHPAA0BzwANALaAC4CzgAhAqsANwWcAC4FhAAhBUkANwYbADAGSwBIBH8ARAkdACoSvAAuBCAAGwPEADYFy//qBtkALQm7AC0EhQBFCCEASAeYAEQH6ABHDAMASAxkAEgHhgAeBDAASARrABAE/gAJBkcADQSn/+AGCAAeBQ///QYWA
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
BPSuwPystsIgssQE9K7BAKy2wiSyzCQQCA0VYIRsjIVlCK7AIZbADJFB4sQUBFUVYMFktAAAAAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrQAKRkDACqxAAdCty4CHggSBgMIKrEAB0K3MAAmBhgEAwgqsQAKQrwLwAfABMAAAwAJKrEADUK8AEAAQABAAAMACSqxAwBEsSQBiFFYsECIWLEDZESxJgGIUVi6CIAAAQRAiGNUWLEDZERZWVlZtzAAIAYUBAMMKrgB/4WwBI2xAgBEswVkBgBERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKNAo0BAQEBBW0FbQAA/+kFbQWF/+n/6QJfAl8BAAEABjkAAAdeBRAAAP3PBlT/5wdeBS3/5/3PADIAMgAyADIAAAAQAMYAAwABBAkAAADIAAAAAwABBAkAAQAMAMgAAwABBAkAAgAIANQAAwABBAkAAwA2ANwAAwABBAkABAAWARIAAwABBAkABQBCASgAAwABBAkABgAWAWoAAwABBAkABwBMAYAAAwABBAkACAAYAcwAAwABBAkACQAYAcwAAwABBAkACgBwAeQAAwABBAkACwAmAlQAAwABBAkADAAmAlQAAwABBAkADQEgAnoAAwABBAkADgA0A5oAAwABBAkAEgAMAMgAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADAALAAgADIAMAAxADEAIABiAHkAIAB2AGUAcgBuAG8AbgAgAGEAZABhAG0AcwAgACgAdgBlAHIAbgBAAG4AZQB3AHQAeQBwAG8AZwByAGEAcABoAHkALgBjAG8ALgB1AGsAKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAAQwBvAHIAYgBlAG4ALgBDAG8AcgBiAGUAbgBCAG8AbABkAEYAbwBuAHQARgBvAHIA
ZwBlACAAMgAuADAAIAA6ACAAQwBvAHIAYgBlAG4AIABCAG8AbABkAEMAbwByAGIAZQBuACAAQgBvAGwAZABWAGUAcgBzAGkAbwBuACAAMQAuADEAMAAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADYAKQBDAG8AcgBiAGUAbgAtAEIAbwBsAGQAQwBvAHIAYgBlAG4AIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIAB2AGUAcgBuAG8AbgAgAGEAZABhAG0AcwAuAHYAZQByAG4AbwBuACAAYQBkAGEAbQBzAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMAA5ACAAYgB5ACAAdgBlAHIAbgBvAG4AIABhAGQAYQBtAHMALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBuAGUAdwB0AHkAcABvAGcAcgBhAHAAaAB5AC4AYwBvAC4AdQBrAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4AIABUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6ACAAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/
2YAZgAAAAAAAAAAAAAAAAAAAAAAAAAAAh4AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQIAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBAwCKANoAgwCTAQQBBQCNAQYAiADDAN4BBwCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6AQgBCQEKAQsBDAENAP0A/gEOAQ8BEAERAP8BAAESARMBFAEBARUBFgEXARgBGQEaARsBHAEdAR4BHwD4APkBIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4A+gDXAS8BMAExATIBMwE0ATUBNgE3ATgBOQDiAOMBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgCwALEBRwFIAUkBSgFLAUwBTQFOAU8BUAD7APwA5ADlAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYAuwFnAWgBaQFqAOYA5wCmAWsBbAFtAW4BbwFwAXEBcgDYAOEA2wDcAN0A4ADZAN8BcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0AsgCzAY4Atg
C3AMQAtAC1AMUAggDCAIcAqwDGAL4AvwC8AY8AjADvAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIZAhoCGwIcAh0CHgIfAiACIQIiAiMCJAIlAiYCJwIoAikCKgIrAiwCLQIuAi8CMAIxAjICMwI0B3VuaTAwQTAHdW5pMDBBRAd1bmkwMEIyB3VuaTAwQjMHdW5pMDBCNQd1bmkwMEI5B0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleApDZG90YWNjZW50CmNkb3RhY2NlbnQGRGNhcm9uBmRjYXJvbgZEY3JvYXQHRW1hY3JvbgdlbWFjcm9uBmVicmV2ZQpFZG90YWNjZW50CmVkb3RhY2NlbnQHRW9nb25lawdlb2dvbmVrBkVjYXJvbgZlY2Fyb24LR2NpcmN1bWZsZXgLZ2NpcmN1bWZsZXgKR2RvdGFjY2VudApnZG90YWNjZW50DEdjb21tYWFjY2VudAxnY29tbWFhY2NlbnQLSGNpcmN1bWZsZXgLaGNpcmN1bWZsZXgESGJhcgRoYmFyBkl0aWxkZQZpdGlsZGUHSW1hY3JvbgdpbWFjcm9uBmlicmV2ZQdJb2dvbmV
rB2lvZ29uZWsLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgMS2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAxrZ3JlZW5sYW5kaWMGTGFjdXRlBmxhY3V0ZQxMY29tbWFhY2NlbnQMbGNvbW1hYWNjZW50BkxjYXJvbgZsY2Fyb24GTmFjdXRlBm5hY3V0ZQxOY29tbWFhY2NlbnQMbmNvbW1hYWNjZW50Bk5jYXJvbgZuY2Fyb24DRW5nA2VuZwdPbWFjcm9uB29tYWNyb24Gb2JyZXZlDU9odW5nYXJ1bWxhdXQNb2h1bmdhcnVtbGF1dAZSYWN1dGUGcmFjdXRlDFJjb21tYWFjY2VudAxyY29tbWFhY2NlbnQGUmNhcm9uBnJjYXJvbgZTYWN1dGUGc2FjdXRlC1NjaXJjdW1mbGV4C3NjaXJjdW1mbGV4DFRjb21tYWFjY2VudAx0Y29tbWFhY2NlbnQGVGNhcm9uBnRjYXJvbgRUYmFyBHRiYXIGVXRpbGRlBnV0aWxkZQdVbWFjcm9uB3VtYWNyb24GVWJyZXZlBnVicmV2ZQVVcmluZwV1cmluZw1VaHVuZ2FydW1sYXV0DXVodW5nYXJ1bWxhdXQHVW9nb25lawd1b2dvbmVrC1djaXJjdW1mbGV4C3djaXJjdW1mbGV4C1ljaXJjdW1mbGV4C3ljaXJjdW1mbGV4BlphY3V0ZQZ6YWN1dGUKWmRvdGFjY2VudAp6ZG90YWNjZW50BmdjYXJvbgd1bmkwMUVBB3VuaTAxRUIHdW5pMDFGNQxTY29tbWFhY2NlbnQMc2NvbW1hYWNjZW50B3VuaTAyMUEHdW5pMDIxQgd1bmkxRTAyB3VuaTFFMDMHdW5pMUUwQQd1bmkxRTBCB3VuaTFFMUUHdW5pMUUxRgd1bmkxRTQwB3VuaTFFNDEHdW5pMUU0NQd1bmkxRTU2B3VuaTFFNTcHdW5pMUU2MAd1bmkxRTYxB3VuaTFF
NjIHdW5pMUU2Mwd1bmkxRTZBB3VuaTFFNkIGV2dyYXZlBndncmF2ZQZXYWN1dGUGd2FjdXRlCVdkaWVyZXNpcwl3ZGllcmVzaXMHdW5pMUU4Rgd1bmkxRTkxBllncmF2ZQZ5Z3JhdmUJYWZpaTAwMjA4BEV1cm8HdW5pRkIwMAd1bmlGQjAxB3VuaUZCMDIHdW5pRkIwMwd1bmlGQjA0A3RfZgdvbmUub2xkB3R3by5vbGQJdGhyZWUub2xkCGZvdXIub2xkCGZpdmUub2xkB3NpeC5vbGQJc2V2ZW4ub2xkCWVpZ2h0Lm9sZAhuaW5lLm9sZAh6ZXJvLm9sZANmX2wEZC5zYwRoLnNjBGMuc2MEcC5zYwRnLnNjBGwuc2MEZi5zYwR0LnNjBHUuc2MEcS5zYwRyLnNjBGkuc2MEbS5zYwRhLnNjBG8uc2MEYi5zYwRzLnNjBHouc2MEeS5zYwRqLnNjBHYuc2MEdy5zYwR4LnNjBGsuc2MEZS5zYwRuLnNjBW9lLnNjCmFvZ29uZWsuc2MJc2Nhcm9uLnNjCXphY3V0ZS5zYwl6Y2Fyb24uc2MJY2Nhcm9uLnNjD3Njb21tYWFjY2VudC5zYw16ZG90YWNjZW50LnNjCWFncmF2ZS5zYwlhYWN1dGUuc2MOYWNpcmN1bWZsZXguc2MJYWJyZXZlLnNjDGFkaWVyZXNpcy5zYwljYWN1dGUuc2MFYWUuc2MLY2NlZGlsbGEuc2MJZWdyYXZlLnNjCWVhY3V0ZS5zYw5lY2lyY3VtZmxleC5zYwxlZGllcmVzaXMuc2MJaWdyYXZlLnNjCWlhY3V0ZS5zYw5pY2lyY3VtZmxleC5zYwxpZGllcmVzaXMuc2MJbmFjdXRlLnNjCW9ncmF2ZS5zYwlvYWN1dGUuc2MOb2NpcmN1bWZsZXguc2MQb2h1bmdhcnVtbGF1dC5zYwxvZGllcmVzaXMuc2MJc2FjdXRlLnNjEHVodW5nY
XJ1bWxhdXQuc2MJdWdyYXZlLnNjCXVhY3V0ZS5zYw51Y2lyY3VtZmxleC5zYwx1ZGllcmVzaXMuc2MKZW9nb25lay5zYw90Y29tbWFhY2NlbnQuc2MMeWRpZXJlc2lzLnNjBmV0aC5zYwlvdGlsZGUuc2MIdGhvcm4uc2MJbnRpbGRlLnNjCW9zbGFzaC5zYwZmX2Yuc2MIZl9mX2kuc2MIZl9mX2wuc2MJeWFjdXRlLnNjCnVuaTAxRjUuc2MJeWdyYXZlLnNjDmNjaXJjdW1mbGV4LnNjDnljaXJjdW1mbGV4LnNjDmdjaXJjdW1mbGV4LnNjCnVuaTFFOTEuc2MOc2NpcmN1bWZsZXguc2MNY2RvdGFjY2VudC5zYw1lZG90YWNjZW50LnNjCnVuaTFFNDUuc2MKdW5pMUU4Ri5zYw1nZG90YWNjZW50LnNjC2RvdGxlc3NpLnNjCGFyaW5nLnNjCHVyaW5nLnNjCWF0aWxkZS5zYwp1bmkwMUVCLnNjCnVvZ29uZWsuc2MJZ2Nhcm9uLnNjCWVicmV2ZS5zYwlvYnJldmUuc2MJdWJyZXZlLnNjCWdicmV2ZS5zYwlpYnJldmUuc2MJbGNhcm9uLnNjCXRjYXJvbi5zYwlyYWN1dGUuc2MJbGFjdXRlLnNjCWVjYXJvbi5zYwlkY2Fyb24uc2MJbmNhcm9uLnNjCXJjYXJvbi5zYwdoYmFyLnNjDmhjaXJjdW1mbGV4LnNjC3NjZWRpbGxhLnNjDmpjaXJjdW1mbGV4LnNjD3Jjb21tYWFjY2VudC5zYwlpdGlsZGUuc2MPbGNvbW1hYWNjZW50LnNjCmVtYWNyb24uc2MPZ2NvbW1hYWNjZW50LnNjB3RiYXIuc2MGZW5nLnNjCnVtYWNyb24uc2MJdXRpbGRlLnNjD2tjb21tYWFjY2VudC5zYwpvbWFjcm9uLnNjD25jb21tYWFjY2VudC5zYwppbWFjcm9uLnNjCm
lvZ29uZWsuc2MKYW1hY3Jvbi5zYwp1bmkxRTAzLnNjCnVuaTFFMEIuc2MKdW5pMUUxRi5zYwp1bmkxRTQxLnNjCXdncmF2ZS5zYwl3YWN1dGUuc2MMd2RpZXJlc2lzLnNjDndjaXJjdW1mbGV4LnNjCnVuaTFFNkIuc2MLY29tbWFhY2NlbnQFc190X2kDY19rA3NfawNzX2YDc19wA2ZfdQNzX2IKdW5pMUU2My5zYwlsc2xhc2guc2MKdW5pMDIxQi5zYwp1bmkxRTYxLnNjCnVuaTFFNjIuc2MKdW5pMUU2QS5zYwAAAAEAAf//AA8AAQAAAAwAAAAAAAAAAgAIAAIBeQABAXoBegACAXsBfQABAX4BfgACAX8BiAABAYoCDwABAhECFwACAhgCHQABAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAACAAofaAABAWYABAAAAK4DAgLGAswDAgMgA5IDxAPeA/QEFgQ8BMoE+AVmBXQFxgYgBkoGjAciB2wHogesB8oH4AfyB/gIDggYCEYIXAhqCHgIogjECN4I9AkWCRwJMgk8CVIJYAmKCawKPgqUCt4LNAtGC+QMAgwoDE4MbAyeDMwNfg2wDeYOHA4+DnQOrg7UDy4PaA+SD6wP4hBAEHoQwBD6ERQRvhHMGTQR2hHoEf4SGBIiEkQSahLcEyYc/hMsE1YTrBQCFBAUIhQwFPYVDBUeFTwVShWAFY4V0BXeFeQWrhd4F64YQBh2GOgY8hj8GPwY/BkUGQIZFBkmGTQZOhlEGYoZvBnSGjgaPhpEGq4awBrKGvgbNhtAG1IbfBuWG6gbuhvMG9IcBBwKHBwcKhwwHDYcRBxaHHQcehywHMoc6BzyHPgc/h0EHUIdSB1OHVwdah24Hb4dzB3aHigeQh5kHoIejB6qHrwAAQCuAAUABgAJAAoACwANAA4ADwAQABEAEgA
TABQAFQAWABcAGAAZABoAGwAcACAAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEQARQBGAEcASABJAEoATABNAE4ATwBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYwBtAHAAcgB5AH0AgQCRAKAAoQClAKYArQCxALIAtwC4AMEA0QDTANUA5wDpAOoA6wDsAO0A8gD7APwA/gEFAQYBHwEyAU8BZQFmAWcBaAFpAWsBbAFzAXQBdQF3AXgBeQF6AXwBfgF/AYABgQGCAYMBhAGFAYYBhwGIAYoBjAGNAY4BjwGQAZIBkwGUAZcBnAGdAZ4BnwGgAaEBowGwAbcBuwHAAcMBxwHKAc0BzgHjAesB7AHtAfkB/gIAAgQCEQIUAAEBgv/oAA0AOQARADsACwBU/9cAWQATAIj/WgCh/8wAsQBnALL/zgDo//8BaQAOAZ4AHQGy/2YBuwAZAAcArQABALEAwgDo//cA7AAlAbsAjQH5AG0CBAAVABwAE//WABf/yAAZ/90ATf/rAFT/3gBZ/8YAiAAfAK0ALwCxAQAAsv/kALj//gDAAB4A1f/fAOoAegDsAGAA8wAeAYIAFAGDAEABhP/fAYX/zQGH/98BiP/ZAZ7/1AGyACABuwDUAcoAAQH5ALQCBABnAAwAOQAPAFkATwBbADAAiP/jAKH/6ACxACsAsv/kAOcADgD+AF0BngA4AaAAJQGy/98ABgAV/9IAFv/eABr/ywF//+gBgP/jAYL/4QAFABP/6wAa/+MAHP/mAYX/rAGH/+QACAAU/+cAFf/jABb/7AAa/8MBf//nAYD/2gGB/+gCGQABAAkAGv/eABz/5AA5/4wAWf+RAIgAFwGF/6kBh//jAZ7/pAGyABoAIwAS/8wAE//eABf/1AAY/90AGf/bABv/6ABU/9UAiP+6AJEAnQCh/8kApv/uAK0A
IACxANYAsv/cALj/6wDpAEEA6gBVAOsANQDsAFMBf//fAYD/6wGB/+wBgv+3AYP/0gGE/84Bhv/mAYf/4QGI/9IBsAABAbL/twG4AAwBuwCyAesADAH5AGsCBABbAAsADP/WAA//7AAk/+UAPP/oAD//3wBA/9IARf/rAE7/6wBP/+sAYP/QAZf/5gAbAA7/6QAQ/+gAE//pACb/6AAq/+kAN//oADj/5QA5/+YAOv/oADz/5AA//9kATf/mAFP/5QBX/+cAWP/kAFn/5QBa/+YAXP/mAHL/5gB5/+gBeP/nAYz/6wGO/+wBkv/mAZz/5QGe/+YBn//nAAMADv/nAD//4wF4/+UAFAAM/+sAGv/oADf/4gA4/+kAOf/hADr/4gA8/98AP//RAED/6gBN/+oAU//pAFj/7ABZ/+AAWv/gAFz/4ABd/+sAcv/iAZz/4QGe/+MBn//kABYADP/oABcAIwAa/98ALQAeADf/1wA5/9cAOv/YADz/1AA9/+gAP//SAED/7ABT/+wAWf/aAFr/2wBc/9sAXf/qAHL/3wGb/+oBnP/YAZ0ACgGe/90Bn//dAAoATf/sAFP/4wBY/+UAWf/WAFr/2ABc/9cAXf/nAZv/7AGc/+kBnv/rABAAFwAVABr/5QAtABIAN//YADn/3AA6/90APP/aAD3/6gA//+AAWf/UAFr/1wBc/9UAcv/qAZz/0AGe/9cBn//XACUADAASAA7/6AAP/8EAEP/gABH/wQAS/9cAFQAMABYAEQAX/+QAGP/rABoAJgAg/9gAJP/KAC3/1wA3AAwAOAAYADkAOAA6AD4AOwAxADwALABA/+QARP/eAEf/5wBK/+AAVP/mAFb/6QBZAA8AWgAQAGD/4QF1/78BeP/iAYz/5wGO/+cBl//MAZ3/0AGeABkBnwAbABIADP/pADf/5wA4/+oAOf/kADr/5QA8/+EAP//TAED/5wBN/+oAU//pAFn/5gBa/+YAXP/mA
F3/7ABy/+cBnP/mAZ7/6AGf/+oADQAM/9wAD//gABH/4QAk/9kAQP/SAFkAGgBaABoAXAAXAGD/ywF1/94Bl//dAZ4ACgGfABMAAgAa/9EBf//pAAcAJP/OAFkALQBaAC0AXAAqAZf/2QGeABUBnwAgAAUAF//iABgANQAa/+MAHP/eAMD/8AAEAKH/5ACxAAMAwP/vAP7/7AABALEAKQAFABX/6gCh/90AwP/rAP4ABgGy/8sAAgCh//EAsQBAAAsAFgAYABf/2QAY/+sAGgAsAKH/ywCxAIQAsv+/AP4ALQGy/uMBuwBEAfkAFAAFABcAHwAZAA4Aof/pAMD/9QEhAAEAAwCxAIcBuwBDAfkADwADALEAhQG7AEIB+QAPAAoAGP/oABoACwBg/8oAof/EALEAmACy/9YBsv+VAbsAVgH5ACECBP/8AAgAFQAVABf/6QAYAEIArf/aALEAmgDz/+ABuwBbAfkAJgAGABcAHQAYACEAGv/VABz/2QB5/90AwP/0AAUAof/1ALEAhgCy/+QBuwBLAfkAEgAIABP/6gAX/+sAof/NALEAjACy/9kBsv/OAbsASwH5ABoAAQD+AAkABQAaABAAof+9ALL/2wD+ADwBsv8RAAIAQAACAP4ABwAFABQAFQAVAB4AFgASABf/2QAYAFEAAwCh/+sAsf/xAMD/7gAKABYAEgAX/9YAGgArAKH/0wCxAIEAsv/CAP4AKwGy/0ABuwBBAfkAEgAIABj/6QCh/8QAsQCXALL/1gDs/+EBsv+ZAbsAWQH5ACQAJAANABEAD/+MABL/xwAT/+QAFQAfABYAKwAX/8IAGP/gABn/0gAaADIAHf/YAB7/3AAiACwAQP/RAE3/zgBU/4MAWf/sAFv/0QBg/8YAiP70AKH/qACt/8oAsP/6ALEAygCy/8AAwAAlAOj/+ADq/+MA7AAVAPMADwF3AEoBngAQAbD/hAGy/rsBuwCKAfkAWQAVABP/4w
AVABwAFgAlABf/wwAY/98AGf/SABoALQCh/6QArf/EALD/9QCxAMQAsv/DAMAAHwDo//MA6v/fAOwADwDzAAkBsP98AbL+yQG7AIUB+QBUABIACf/eAAwAIwAPAC0AEgAkABQAEAAVACQAFgAOABf/6gAYAEwAQAAoAFT/7QBZ/4kAYABGAK3/5QCxAI4Bnv/pAbsATwH5AB8AFQAT/+EAFQAWABYAIQAX/7oAGP/gABn/0AAaACoAof+jAK3/vACw/+wAsQC8ALL/wwDAABcA6P/rAOr/2ADsAAkA8wABAbD/dQGy/zcBuwB+AfkATAAEABz/5gCxAJgBuwBlAfkARwAnABP/1AAX/84AGf/fABv/7AAc/+sAOf/PAFT/4gBZ/8cAiAApAJEA5QCtAFQArgA9ALEBEQCy/+MAuAABAMH/8ADV//0A6QCLAOoAgwDrAIIA7ACGAO0ANwFN//0BgQAdAYIAKAGDAHABhP/iAYX/1wGG/+kBiP/dAZ7/yAGyADQBuABwAbsA9wHH/+EBygAeAesAVwH5AJkCBACVAAcAOf/HAFn/1wCIAB4Baf/aAYMAJgGe/9UBsgAbAAkAGAAlABr/3wAm/+YAKv/qADf/vwA5/2EAOv9lADz/eADA//IACQAa/+MAMP/iADH/4gA3/9wAOf+SADr/lAA7/70APP+CAD3/3QAHADD/7wAx/+0AOf+zADr/sQA7/+UAPP+0AMD/9gAMACb/4wAq/+EALf/xADD/8wAx//IANv/pADf/0wA5/88AOv/QADz/zgA9/+kAsv/oAAsAGv/nADD/7AAx/+sAN//0ADn/vgA6/70AO//gADz/sgA9/+4Aof/2AMD/9QAsABQAkQAVAN8AFgDdABgAMQAaAQ0AGwBdABwAbwAjAEcALf/iADAA4gAxAOMANgBWADcA5wA5ASgAOgEuADsBIgA8ARcAPQDTAKUAwgCmAPQArAAkAK0BSgCuADEArwDXALA
BDwCxAToAtv/tALcAdgC4APAAvgBkAMEAugDDAIkAywAyANUAzQDWABQA6gF7AOwBZgDtALsA8f/4APMBQAEIAHcBCwCjARMAGgEjADEADAAUABkAFgAxABf/6QAaAE8AHAA6AC3/xwA3AFIAOQAZADoAIgA9AD0Aof/mALL/1gANABr/6AAm/+EAKv/fAC3/8QAw//AAMf/vADb/5wA3/9MAOf/KADr/zwA8/8MAPf/oALEATAANACb/7QAq//AAMP/oADH/5wA2//QAN//mADn/3gA6/9wAO//yADz/3wA9/+QAsQCKALL/9QAIABf/2QAYADYAJv/VACr/2QA3/+wAOf+1ADr/swA8/7MADQAT/+wAJv/jACr/4QAt/+8AMP/yADH/8AA2/+cAN//TADn/zwA6/84APP/OAD3/6AB5/+MADgAU/+wAFf/iABb/5AAa/9QAMP/VADH/1gA3/88AOf93ADr/eAA7/60APP95AD3/1wCh/+cAwP/zAAkAGv/hADD/5AAx/+MAN//cADn/kQA6/5MAO//FADz/gwA9/98AFgAJ/+QADP/iAA//5gAV/+gAIv/fACb/6gAq/+0ALf/fADD/2AAx/9cANv/0ADn/0wA6/9EAO//SADz/0gA//90AQP/rAFT/8wBg/+wAof/uALL/7QF3/+oADgAV/+oAGgASABwAIQAt/7YAMP/TADH/1QA3ABwAOf/1ADv/1gA8//MAof/rALL/5QDA//IA/gAuAAoAGv/nADD/7AAx/+sAN//kADn/rwA6/7IAO//nADz/rQA9/+oAwP/2AAYAF//cABgAIQAaABQAJv/1ACr/9QA3AA8ADQAYAAoAGv/iACb/3wAq/+EALf/2ADD/9gAx//UANv/uADf/0gA5/30AOv9+ADz/fgA9/+8AFwAJ//QADP/IAA0ATAAP/5IAEv/WABYACwAX/90AGP/sABoANwAcACcALf9lADD/0QAx/9IANwA6
ADv/6wA9ACUAQP/HAFT/6wBg/7sAof/tALL/mADA//QBdwAQAA4AFgAMABf/4gAY/+wAGgA2ABwAJgAt/4YAMP/TADH/1QA3ADcAO//zAD0AIwCh/+0Asv+6AMD/9AARAAn/5QAPABcAFQAKABf/4QAYADYAJv/UACr/1wAt//MANv/zADn/vwA6/8YAPP/CAD//5gBAABIAVP/oAGAAMQCy/+gADgAWAAoAF//eABj/7AAaADYAHAAmAC3/agAw/9MAMf/TADcAOAA7/+sAPQAkAKH/7gCy/5sAwP/yAAYAJv/oACr/6gA5/+MAOv/mADz/4gDA//AAKgAT/9UAFQAWABf/ygAZ/+MAHP/pADn/xwA7ACQAVP/kAFn/ugBbACEAiABBAJEA6ACtAFYArgAZALEBCQCy/+QAuAABAMH/+QDV//sA6QB5AOoAewDrAIsA7AB/AO0AOwFN//gBgAAXAYEAFwGCADgBgwBpAYX/yAGH/+gBiP/iAZ7/vwGgACYBsgBJAbgARQG7AO8Bx//tAcoAIAHrAFcB+QCSAgQAmQADALEAcgG7AEwB+QAyAAMAsQCMAbsAVQH5ADUAAwCI/9wA/gAcAbL/2gAFABf/6QGC/6kBg//gAYT/6AGI/+oABgAV/88AFv/lABr/3QAv/+sAT//jAYL/0gACAP0AHwIZADAACABZACAAiP+9AKH/4wCxAD0Asv/ZAP4ADwGeAA8Bsv+8AAkADAAoAD8AuwBAAQUARQBQAEsAWwBOAFAATwBPAF8ADgBgAQcAHAAM/78ADQAlAA//jgAS/+YAIv/hADn/3wA7/3EAP//jAED/xwBE/+8ARf/ZAEr/9gBL/9gATP/0AE7/2QBP/9gAVf/0AFkAHQBaABwAXAAWAGD/sgCI/yoBd//wAZb/9QGX/60Bnf/yAaD/1wGj//QAEgAN/9wAIv/VAD//wgBF//UASv/xAEz/6gBN/+8ATv/2AE//9QBT//EAV
f/rAFj/4wBZ/8AAWv/AAFv/6ABc/8YAXf/fAXf/0AABAD//1wAKAAwAUwA/AEEAQAB+AEUAMQBLADkATgAxAE8AMABgAIIA/AAwAXcAEwAVAAQAZwAFAKAACgCgAAwA2QANAAsAIgBOAD8ArQBAAOsARQCSAEsAmgBMAAEATQAzAE4AkQBPAJEAXwBLAGAA4QFoAAEBaQBeAWsAAQFsAF4BdwC2ABUADP/WACL/zQA//9AAQP/aAEX/7wBK/+kAS//tAEz/9QBN/+0ATv/vAE//8ABT/+8AVf/1AFj/5ABZ/+IAWv/iAFv/1gBc/+MAXf/vAGD/2QF3/9kAAwA///wAQAAyAGAAJQAEAAz/+QA//+kAQAABAGAAAQADAAz/3wBA//4AYP/8ADEABAD4AAUBEwAJAHwACgETAAwBKQANAOgAHQAXAB4AKAAiARoAPwEjAEABMQBFAPEASQCCAEsA+QBMAGMATQCAAE4A8ABPAPAAUABAAFEAOQBTAD0AVQA5AFcAgABYAGEAWQCtAFoArgBbAIcAXACmAF0AOwBfAOQAYAEpAHAAiwB9AHQAvABhASkAYQE4ADsBaADeAWkBBgFrAN4BbAEGAXQAdAF3ASgBeQCCAXoAhgF7AIIBfACCAX0AggF+AH8CFgCCAAUABf/8AAr//AAiAAEBaf/2AWz/9gAEAAwAAQA//+MAQAABAGAAAQAHAA0ADQBX//sAWQAZAFoAGABcABIBfv/7AZ4AAQADAD8AQQBAAK4AYABtAA0ABQABAAoAAQAMAHkAPwDdAEABNQBFAGsASwB1AE0ABQBOAGsATwBrAF8ANQBgASgBd//+AAMAPwAZAEAAaQBgAGkAEAAFACMACgAjAAwAZQAi//MAPwBJAEAAgwBFACUASwAuAE4AJQBPACQAYACEAPUAJQD6ACQBaQABAWwAAQF3ADUAAwA/AAEAQAAzAGAANwABAGD/2gAyAAUAAQAKAAEADAAlAA
3/8gAi//4ANwADADgABwA5ADAAOgA1ADsAJwA8AB8AP//fAEAAEgBZ/94AWv/fAFz/1wBgAAsAkQBEAJsABwCcAAcAnQAHAJ4ABwCfAB8BHAADAR4AAwEgAAMBIgAHASQABwEmAAcBKAAHASoABwEsAAEBLgA1ATAAHwEyAB8BQAADAVkAAwFbADUBXQA1AV8ANQFjAB8BaP/lAWkAAQFr/+UBbAABAXcALwGR/7cBnP/oAZ4AAQGfAAEAMgAEANoABQEDAAkAWAAKAQMADAEIAA0A5gAdABYAHgApACIBDwA/AOkAQAD2AEUAowBJAHAASwCrAEwANgBNAEIATgCjAE8AogBQAD8AUQA3AFMAPQBVADcAVwB7AFgAYABZAKgAWgCpAFsAhgBcAKIAXQA0AF8AgQBgAMMAcABnAH0AaAC8AGABBAA3ASkAYAE4ADQBaACzAWkA+wFrALMBbAD7AXQAaAF3AQ0BeQBwAXoAdAF7AHABfABwAX0AcAF+AHoCFgBwAA0ABQBBAAn/9QAKAEEADQBeACIAVAA///4AfQAbAWgAKAFpAE4BawAoAWwATgF0ABwBdwBtACQACf/zAA//6AAd/+QAHv/oAED/7ABE/9sARf/fAEf/3QBK/9AAS//iAEz/2ABN/9AATv/fAE//3gBT/9MAVP/eAFX/2ABY/9wAWf/TAFr/1QBb/+UAXP/VAF3/2gBg/+oAiP/mAXcADgGM/9EBjv/RAZL/5wGW/+MBl//SAZr/3gGb/90BnP/0AZ3/0gGj/+cADQAJ//MAIv/NAD//ygBE//QAR//2AEr/6wBL//YAWP/0AFn/9ABa//QAXP/zAF3/6wF3/9MAHAAEAG8ABQCuAAoArgAMAREAIgAuAD8BNQBAAX8ARQEGAEsBDwBMAGwATQCIAE4BBQBPAQQAWQAvAFoALgBbAA8AXAAoAF8AqwBgAYUApgEEAK8ApwC/ACgAzwBDANwAIAEbAHQBaQB
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
AAAAAAAAAAAAA/+oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAAAAAAAAAAAAAAAAAAAAD/5wAA/+sAAAAAAAAAAP/lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/98AAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/ZAAAAAAAAAAAAAAAA/+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/h
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/kAAAAAAAAAAAAAAAA/+UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGf/lAAD/0AAAAAD/5AAAAAAAAAAA/9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAb/+oAAP/P/87/0P/j/+v/1f/Q/8j/5f/V/9T/z//Q/9b/z//J/9QAAAAAAAAAAAAAAAAAAP/TAAD/0gAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAD/6//X/+YAAAAA/+MAAAAA/9z/1v/VAAD/1AAAAAAAAAAAAAD/3wAA/8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv/+gAAP/IAAAAAP/mAAAAAAAAAAD/0gAAAAAAAAAAAAAAA
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
AAAAAAAAAAAAAAAAAAAAAAAD/qAAAAAAAAAAA/3j/YAAAAAAAAAAAAAAAAAAAAAAAAAAA/+D/2gAAAAD/6gAAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAA/8AAAP/OACf/1f/IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9oAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//QAAAAAAAAAAAAAAAAAAAAAAAAAAP/B/78AAAAA/8cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8QAAAAAAAAAAAAD/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/xAAAAAAAAAAAAAAAAAAAAAAAAAAD/wP++AAAAAP/GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+8AAAAAAAAALwAA/+UAAAAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/r/+z/6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA/+sAAAAAAAAAAP/q/+gAAAAAAAAAAAAAAAAAAAAAAAAAAP/q/+sAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8gAAAAD/5wAAAAD/6wAA/+b/6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/1QAAAAAAAAAAAAAAAAAAAAD/6//rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/pAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5QAA/+3/5//k/9//5QAAAAAAAAAAAAAAAAAAAAAAAP/U/+L/1AAAAAAAAP/FAAAAAAAAAAD/7AAAAAD/3wAAAAAAAAAAAAAAAAAAAAAAAP/n/9P/wQAiAAAAAP/EAAAAAP/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/zAAD/8P/x//P/8wAAAAAAAAAA/+0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/y/+7/7//w/+4AAAAAAAAAAAAAAAAAAAAAAAD/6gAA/+v/5QAAAAD/1wAAAAAAAAAA//AAAAAA/+//1wAAAAAAAAAAAAAAAAAAAAAAAP/S/9X/4gAAAAD/3v/d/+EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAA/9QAAAAA/+3/9v/2//UAAAAA//QAAAAAAAAAAAAAAAAAAAAAAAD/2v/dAAAAAAAA/+D/6f/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+MAAAAAAAAAAAAAAAAAAAAA//T/8//uAAD/9P/z/+z/8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5AAA//L/8//
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
RAAAAEQAlACUAJQAlACcAVgAnAAYACgAGAAoABgAKAB8AEQAfABEAHwARAB8AEQA0AAwANAAMADQAEQARADQAEQA0ABEANAARACAADQAgAA0AIAANACAADQA0AA4ANAAOADQAOwA0ADsAOwA0ADsANAA7AAcAPAA0AA8AAAA0ABAANAAQADQAEAA0ABAANgA9ADYAPQA2AD0ANgA9ACEAEQARACEAEQAhABEANAA+ADQAPgA0AD4AIgATACIAEwAiABMAIgATAC8AJAAvACQALwAkADcAJQA3ACUANwAlADcAJQA3ACUANwAlAAkAJgA5ACcAOQAwAEEAMABBADAAQQAAAA0AAAAAAA0AIgATAC8AJAAAAAAAAAAAAAAAAAAAAAAANAALADQADAA0ADoANQA9AD0ANAAjACIAEwAiABMALwAkAAkAJgAJACYACQAmAAAAAAA5ACcAAgACAAIAMgAzABcAMgAzABcAAAAAAAAAAwAAAE4AVQAAAAAATwAAADoAOgA6ADoAOgAkAAAAAAAAABgAGQAaAAAAAAAAABsAAABCAEIAKABCACkAQgBCACoAKwAsAEIAQgBDABwALABCAEgARAAtAB0ARQAuAEYAQgBCAEcALAAcAEgARABEACgASABEABwAHAAcABwAHAAoAB4AKABCAEIAQgBCAEIAQgBCAEIARwAsACwALAAsACwASAArACsAKwArACsAQgAqAC0AQgAsAEIARwAsAAAAAAAAAC0AKQAtACgALQApAAAASAAoAEIARwAAACkAQgAcACsAHAAAACsAKQBCACwAKwApAEIAQgAqAEIAQgBCAEIARwBCAEIAQgBIAB0AQgBCAEIAQgApACoARwArACsAQgAsAEcAQgBCABwAQgBCAEIAQwAuAC4ALgAuACoAAAATABEAEwATABMAOgATAEgAQgAqAAAAAQAAAAoAJABWAAFsYXRuAAgABAAAAAD//wAEAAAAAQACAAMA
BGFhbHQAGmxpZ2EAIG9udW0AJnNtY3AALAAAAAEAAAAAAAEAAwAAAAEAAgAAAAEAAQAEAAoCdAS2BOIAAQAAAAEACAACATIAlgGIAX8BgAGBAYIBgwGEAYUBhgGHAZcBmQGMAYoBogGQAY4BiwGVAZ0BoQGPAZYBowGYAY0BkwGUAZoBkQGSAZ4BnwGgAZwBmwGsAa0BrgHjAbAB4QGyAbMBtAG1AbYBtwG4AbkBugG7AcsBzgG9Ab4BvwHMAcEBzwHEAcUBxgHHAdMBzQHKAgYBrwGlAbEB1gHbAakB8QH7AecB3AHIAfAB2AHqAd8B/AH1AfQB+QIEAesCBQHgAfcCAQHvAfoB7AIZAbwCAwHyAf4CAgHoAcABpAHuAfgB8wHCAdoB9gGmAckB7QH9AgAB/wHpAeIBwwHlAg4B1wGnAasBqAHmAeQB1AGqAhoCBwIIAgkCCgHdAhsCHAIYAh0CDwILAgwCDQHeAdkB1QHQAdEB0gABAJYAEwAUABUAFgAXABgAGQAaABsAHABEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AogCjAKQApQCmAKcAqACpAKoAqwCsAK0ArgCvALAAsQCyALMAtAC1ALYAtwC4ALoAuwC8AL0AvgC/AMAAwQDDAMUAxwDJAMsAzQDPANEA1QDWANgA2gDcAN4A4ADiAOQA5gDoAOoA7ADtAO8A8QDzAPUA+AD6APwA/gEAAQIBBAEGAQgBCQELAQ0BDwERARMBFQEXARkBGwEdAR8BIQEjASUBJwEpASsBLQEvATEBNAE2ATgBOgE8AT0BPwFBAUsBTQFPAVEBUgFWAVcBWAFZAVoBXAFeAWABYQFiAWQBeQF8AX0AAQAAAAEACAACAR4AjAGXAZkBjAGKAaIBkAGOAYsBlQGdAaEBjwGWAaMBmAGNAZMBlAGaAZEBkgGeAZ8BoAGcAZsBrAGtA
a4B4wGwAeEBsgGzAbQBtQG2AbcBuAG5AboBuwHLAc4BvQG+Ab8BzAHBAc8BxAHFAcYBxwHTAc0BygIGAa8BpQGxAdYB2wGpAfEB+wHnAdwByAHwAdgB6gHfAfwB9QH0AfkCBAHrAgUB4AH3AgEB7wH6AewCGQG8AgMB8gH+AgIB6AHAAaQB7gH4AfMBwgHaAfYBpgHJAe0B/QIAAf8B6QHiAcMB5QIOAdcBpwGrAagB5gHkAdQBqgIaAgcCCAIJAgoB3QIbAhwCGAIdAg8CCwIMAg0B3gHZAdUB0AHRAdIAAQCMAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAugC7ALwAvQC+AL8AwADBAMMAxQDHAMkAywDNAM8A0QDVANYA2ADaANwA3gDgAOIA5ADmAOgA6gDsAO0A7wDxAPMA9QD4APoA/AD+AQABAgEEAQYBCAEJAQsBDQEPAREBEwEVARcBGQEbAR0BHwEhASMBJQEnASkBKwEtAS8BMQE0ATYBOAE6ATwBPQE/AUEBSwFNAU8BUQFSAVYBVwFYAVkBWgFcAV4BYAFhAWIBZAF5AXwBfQABAAAAAQAIAAIAGgAKAYgBfwGAAYEBggGDAYQBhQGGAYcAAgABABMAHAAAAAQAAAABAAgAAQBgAAQADgAYACoAVgABAAQCEgACAE4AAgAGAAwCFgACAFgBegACAEwABQAMABQAGgAgACYCEQADAFcATAIVAAIAUwIUAAIASQITAAIATgIXAAIARQABAAQBfgACAEkAAQAEAEYASQBWAFc=') format('truetype');
- font-weight: 700 700;
- font-style: normal;
-}
\ No newline at end of file
diff --git a/chrome/skin/yec-activist.svg b/chrome/skin/yec-activist.svg
deleted file mode 100644
index 6a443a61..00000000
--- a/chrome/skin/yec-activist.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg fill="none" height="427" viewBox="0 0 714 427" width="714" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><pattern id="a" height=".092308" patternContentUnits="objectBoundingBox" width=".092308"><use transform="scale(.00096154)" xlink:href="#e"/></pattern><pattern id="b" height=".067606" patternContentUnits="objectBoundingBox" width=".055338"><use transform="scale(.00057644 .00070423)" xlink:href="#e"/></pattern><pattern id="c" height=".080917" patternContentUnits="objectBoundingBox" width=".146823"><use transform="scale(.0015294 .00084288)" xlink:href="#e"/></pattern><clipPath id="d"><path d="m0 0h714v427h-714z"/></clipPath><image id="e" height="96" width="96" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAM1BMVEUAAAAbGhkbGxocGhokJCQbGxsmJhodGxsbGhkbGhkbGxodHRseHBwtLS0cHBowMCAbGhliwhWoAAAAEHRSTlMA6bJ+FUIUfergs49lEZ0QrhFOkgAAAMBJREFUeF7t2EkOgzAUBNHvATIwxPc/bUR8AVciK5t660aWYOGm49FayzEktw7lPwfcYkhpHcj3A9IaQ+q
9XUC+H5CWGLRcT8B8nKXGsFqeGeZjGklSLTmXdV5+SeRi4fmawNUI8uByp3leT3h+/gHzXxHvPzzP+w/P8/7D85wk6SR95ti3bX+hPPoR532JTQkH7ktwDNm/KQNkztlonZl/wPxXBD+ye9HvJEnuRe5F7kXuRZLkXjS1L/1/L3IvegMJbB6jrsycWQAAAABJRU5ErkJggg=="/><mask id="f" height="111" maskUnits="userSpaceOnUse" width="106" x="309" y="145"><path d="m309.948 185.305c17.105-6.142 39.839-15.532 48.803-39.327 12.747 21.519 21.506 32.061 47.309 39.626-.69 2.928-1.689 6.952-3.02 11.605 2.29-1.086 9.96-2.76 10.96 5.24s-11.602 13.477-18.382 16.277c-7.777 18.702-19.763 37.252-36.867 37.252-24.243 0-35.21-32.043-43.222-55.452-1.99-5.814-3.798-11.095-5.581-15.221z" fill="#fff"/></mask></defs><g clip-path="url(#d)"><path d="m222.256 12.7789c14.44-17.03855 41.048-17.03854 55.488 0l5.923 6.9886c8.959 10.5708 23.318 15.1017 36.857 11.6297l9.252-2.3726c22.12-5.6729 43.968 10.0389 45.181 32.493l.35 6.4746c.765 14.1444 9.998 26.4908 23.497 31.4208l6.633 2.422c21.897 7.997 30.436 34.024 17.422 53.102l-2.911 4.268c-8.168 11.974-8.168 27.616 0 39.59l2.911
4.268c13.014 19.078 4.475 45.105-17.422 53.102l-6.633 2.422c-13.499 4.93-22.732 17.276-23.497 31.421l-.35 6.474c-1.213 22.455-23.06 38.166-45.181 32.493l-9.252-2.372c-13.539-3.472-27.898 1.059-36.857 11.629l-5.923 6.989c-14.44 17.039-41.048 17.039-55.488 0l-5.923-6.989c-8.959-10.57-23.318-15.101-36.857-11.629l-9.252 2.372c-22.12 5.673-43.968-10.038-45.181-32.493l-.35-6.474c-.765-14.145-9.998-26.491-23.497-31.421l-6.633-2.422c-21.8966-7.997-30.436-34.024-17.4222-53.102l2.9114-4.268c8.168-11.974 8.168-27.616 0-39.59l-2.9114-4.268c-13.0138-19.078-4.4744-45.105 17.4222-53.102l6.633-2.422c13.499-4.93 22.732-17.2764 23.497-31.4208l.35-6.4746c1.213-22.4541 23.061-38.1659 45.181-32.493l9.252 2.3726c13.539 3.472 27.898-1.0589 36.857-11.6297z" fill="#77adb9"/><path clip-rule="evenodd" d="m282.141 21.0606-5.923-6.9886c-13.641-16.09601-38.795-16.09601-52.436 0l-5.923 6.9886c-9.46 11.1616-24.608 15.9341-38.88 12.2739l-9.251-2.3726c-20.938-5.3694-41.545 9.5088-42.688 30.6636l-.35 6.4746c-.809 14
.959-10.571 27.9922-24.808 33.1919l-6.633 2.422c-20.6963 7.558-28.7202 32.117-16.4559 50.096l2.9113 4.268c8.6317 12.654 8.6317 29.19 0 41.844l-2.9114 4.268c-12.2642 17.979-4.2403 42.538 16.456 50.096l6.633 2.422c14.237 5.2 23.999 18.233 24.808 33.192l.35 6.475c1.143 21.154 21.75 36.032 42.688 30.663l9.251-2.373c14.272-3.66 29.42 1.113 38.88 12.274l5.923 6.989c13.641 16.096 38.795 16.096 52.436 0l5.923-6.989c9.46-11.161 24.608-15.934 38.88-12.274l9.251 2.373c20.938 5.369 41.545-9.509 42.688-30.663l.35-6.475c.809-14.959 10.571-27.992 24.808-33.192l6.633-2.422c20.696-7.558 28.72-32.117 16.456-50.096l-2.911-4.268c-8.632-12.654-8.632-29.19 0-41.844l2.911-4.268c12.264-17.979 4.24-42.538-16.456-50.096l-6.633-2.422c-14.237-5.1998-23.999-18.2328-24.808-33.1918l-.35-6.4747c-1.143-21.1548-21.75-36.033-42.688-30.6636l-9.251 2.3726c-14.272 3.6602-29.42-1.1123-38.88-12.2739zm-4.397-8.2817c-14.44-17.03854-41.048-17.03855-55.488 0l-5.923 6.9886c-8.959 10.5708-23.318 15.1017-36.857 11.6297l-9.252-2.
3726c-22.12-5.673-43.968 10.0389-45.181 32.493l-.35 6.4746c-.765 14.1444-9.998 26.4908-23.497 31.4208l-6.633 2.422c-21.8966 7.997-30.436 34.024-17.4222 53.102l2.9114 4.268c8.168 11.974 8.168 27.616 0 39.59l-2.9114 4.268c-13.0138 19.078-4.4744 45.105 17.4222 53.102l6.633 2.422c13.499 4.93 22.732 17.276 23.497 31.421l.35 6.474c1.213 22.455 23.061 38.166 45.181 32.493l9.252-2.372c13.539-3.472 27.898 1.059 36.857 11.629l5.923 6.989c14.44 17.039 41.048 17.039 55.488 0l5.923-6.989c8.959-10.57 23.318-15.101 36.857-11.629l9.252 2.372c22.121 5.673 43.968-10.038 45.181-32.493l.35-6.474c.765-14.145 9.998-26.491 23.497-31.421l6.633-2.422c21.897-7.997 30.436-34.024 17.422-53.102l-2.911-4.268c-8.168-11.974-8.168-27.616 0-39.59l2.911-4.268c13.014-19.078 4.475-45.105-17.422-53.102l-6.633-2.422c-13.499-4.93-22.732-17.2764-23.497-31.4208l-.35-6.4746c-1.213-22.4541-23.061-38.166-45.181-32.493l-9.252 2.3726c-13.539 3.472-27.898-1.0589-36.857-11.6297z" fill="#05161c" fill-rule="evenodd"/><path d="m225.8
21 34.1369c12.585-14.8492 35.773-14.8492 48.358.0001l5.162 6.0906c7.808 9.2125 20.322 13.1612 32.121 10.1353l8.063-2.0677c19.279-4.944 38.319 8.7489 39.376 28.3179l.305 5.6427c.666 12.3269 8.713 23.0872 20.478 27.3832l5.781 2.111c19.083 6.969 26.525 29.652 15.183 46.279l-2.537 3.719c-7.119 10.436-7.119 24.068 0 34.504l2.537 3.719c11.342 16.627 3.9 39.31-15.183 46.279l-5.781 2.111c-11.765 4.296-19.812 15.056-20.478 27.383l-.305 5.643c-1.057 19.569-20.097 33.262-39.376 28.318l-8.063-2.068c-11.799-3.026-24.313.923-32.121 10.135l-5.162 6.091c-12.585 14.849-35.773 14.849-48.358 0l-5.162-6.091c-7.808-9.212-20.322-13.161-32.121-10.135l-8.063 2.068c-19.279 4.944-38.319-8.749-39.376-28.318l-.305-5.643c-.666-12.327-8.713-23.087-20.478-27.383l-5.781-2.111c-19.0828-6.969-26.5249-29.652-15.1832-46.279l2.5372-3.719c7.119-10.436 7.119-24.068 0-34.504l-2.5372-3.719c-11.3417-16.627-3.8996-39.31 15.1832-46.279l5.781-2.111c11.765-4.296 19.812-15.0563 20.478-27.3832l.305-5.6427c1.057-19.569 20.097-33.2
619 39.376-28.3179l8.063 2.0677c11.799 3.0259 24.313-.9228 32.121-10.1353z" fill="#faf5df"/><path clip-rule="evenodd" d="m277.815 41.5207-5.161-6.0907c-11.786-13.9067-33.521-13.9067-45.308 0l-5.161 6.0907c-8.309 9.8033-21.611 13.9936-34.144 10.7795l-8.063-2.0677c-18.095-4.6405-35.895 8.2189-36.882 26.4885l-.305 5.6427c-.71 13.1416-9.286 24.5883-21.789 29.1543l-5.781 2.111c-17.8824 6.53-24.8091 27.745-14.217 43.273l2.537 3.719c7.582 11.116 7.582 25.642 0 36.758l-2.537 3.719c-10.5921 15.528-3.6654 36.743 14.217 43.273l5.781 2.111c12.503 4.566 21.079 16.013 21.789 29.154l.305 5.643c.987 18.27 18.787 31.129 36.882 26.488l8.063-2.067c12.533-3.214 25.835.976 34.144 10.779l5.161 6.091c11.786 13.907 33.522 13.907 45.308 0l5.161-6.091c8.309-9.803 21.611-13.993 34.144-10.779l8.063 2.068c18.095 4.64 35.895-8.219 36.882-26.489l.305-5.643c.71-13.141 9.286-24.588 21.789-29.154l5.781-2.111c17.882-6.53 24.809-27.745 14.217-43.273l-2.537-3.719c-7.582-11.116-7.582-25.642 0-36.758l2.537-3.719c10.592-1
5.528 3.665-36.743-14.217-43.273l-5.781-2.111c-12.503-4.566-21.079-16.0127-21.789-29.1543l-.305-5.6427c-.987-18.2696-18.787-31.129-36.882-26.4885l-8.063 2.0677c-12.533 3.2141-25.835-.9762-34.144-10.7795zm-3.636-7.3837c-12.585-14.8493-35.773-14.8493-48.358-.0001l-5.162 6.0907c-7.808 9.2125-20.322 13.1612-32.121 10.1353l-8.063-2.0677c-19.279-4.944-38.319 8.7489-39.376 28.3179l-.305 5.6427c-.666 12.3269-8.713 23.0872-20.478 27.3832l-5.781 2.111c-19.0828 6.969-26.5249 29.652-15.1832 46.279l2.5372 3.719c7.119 10.436 7.119 24.068 0 34.504l-2.5372 3.719c-11.3417 16.627-3.8996 39.31 15.1832 46.279l5.781 2.111c11.765 4.296 19.812 15.056 20.478 27.383l.305 5.643c1.057 19.569 20.097 33.262 39.376 28.318l8.063-2.068c11.799-3.026 24.313.923 32.121 10.135l5.162 6.091c12.585 14.849 35.773 14.849 48.358 0l5.162-6.091c7.808-9.212 20.322-13.161 32.121-10.135l8.063 2.068c19.279 4.944 38.319-8.749 39.376-28.318l.305-5.643c.666-12.327 8.713-23.087 20.478-27.383l5.781-2.111c19.083-6.969 26.525-29.652 15.
183-46.279l-2.537-3.719c-7.119-10.436-7.119-24.068 0-34.504l2.537-3.719c11.342-16.627 3.9-39.31-15.183-46.279l-5.781-2.111c-11.765-4.296-19.812-15.0563-20.478-27.3832l-.305-5.6427c-1.057-19.569-20.097-33.2619-39.376-28.3179l-8.063 2.0677c-11.799 3.0259-24.313-.9228-32.121-10.1353z" fill="#05161c" fill-rule="evenodd"/><path d="m229.541 56.4236c10.648-12.5648 30.27-12.5648 40.918 0l4.368 5.1536c6.607 7.7952 17.196 11.1364 27.18 8.576l6.822-1.7496c16.313-4.1834 32.424 7.403 33.318 23.9613l.258 4.7746c.564 10.4305 7.373 19.5355 17.328 23.1705l4.891 1.786c16.147 5.897 22.444 25.091 12.848 39.159l-2.147 3.147c-6.024 8.83-6.024 20.366 0 29.196l2.147 3.147c9.596 14.068 3.299 33.262-12.848 39.159l-4.891 1.786c-9.955 3.635-16.764 12.74-17.328 23.17l-.258 4.775c-.894 16.558-17.005 28.145-33.318 23.961l-6.822-1.749c-9.984-2.561-20.573.781-27.18 8.576l-4.368 5.153c-10.648 12.565-30.27 12.565-40.918 0l-4.368-5.153c-6.607-7.795-17.196-11.137-27.18-8.576l-6.822 1.749c-16.313 4.184-32.424-7.403-33.3
18-23.961l-.258-4.775c-.564-10.43-7.373-19.535-17.328-23.17l-4.891-1.786c-16.147-5.897-22.444-25.091-12.848-39.159l2.147-3.147c6.024-8.83 6.024-20.366 0-29.196l-2.147-3.147c-9.596-14.068-3.299-33.262 12.848-39.159l4.891-1.786c9.955-3.635 16.764-12.74 17.328-23.1705l.258-4.7746c.894-16.5583 17.005-28.1447 33.318-23.9613l6.822 1.7496c9.984 2.5604 20.573-.7808 27.18-8.576z" fill="#77adb9"/><path clip-rule="evenodd" d="m273.301 62.8703-4.367-5.1536c-9.85-11.6223-28.018-11.6223-37.868 0l-4.367 5.1536c-7.108 8.386-18.485 11.9688-29.202 9.2202l-6.823-1.7496c-15.129-3.8798-30 6.873-30.824 22.1319l-.258 4.7746c-.608 11.2456-7.946 21.0366-18.639 24.9416l-4.891 1.786c-14.947 5.458-20.729 23.183-11.881 36.153l2.147 3.147c6.487 9.51 6.487 21.94 0 31.45l-2.147 3.147c-8.848 12.97-3.066 30.695 11.881 36.153l4.891 1.786c10.693 3.905 18.031 13.696 18.639 24.942l.258 4.774c.824 15.259 15.695 26.012 30.824 22.132l6.823-1.75c10.717-2.748 22.094.835 29.202 9.221l4.367 5.153c9.85 11.623 28.018 11.623 37.8
68 0l4.367-5.153c7.108-8.386 18.485-11.969 29.202-9.221l6.823 1.75c15.129 3.88 30-6.873 30.824-22.132l.258-4.774c.608-11.246 7.946-21.037 18.639-24.942l4.891-1.786c14.947-5.458 20.729-23.183 11.881-36.153l-2.147-3.147c-6.487-9.51-6.487-21.94 0-31.45l2.147-3.147c8.848-12.97 3.066-30.695-11.881-36.153l-4.891-1.786c-10.693-3.905-18.031-13.696-18.639-24.9415l-.258-4.7747c-.824-15.2589-15.695-26.0117-30.824-22.1319l-6.823 1.7496c-10.717 2.7486-22.094-.8342-29.202-9.2202zm-2.842-6.4467c-10.648-12.5648-30.27-12.5648-40.918 0l-4.368 5.1536c-6.607 7.7952-17.196 11.1364-27.18 8.576l-6.822-1.7496c-16.313-4.1834-32.424 7.403-33.318 23.9613l-.258 4.7746c-.564 10.4305-7.373 19.5355-17.328 23.1705l-4.891 1.786c-16.147 5.897-22.444 25.091-12.848 39.159l2.147 3.147c6.024 8.83 6.024 20.366 0 29.196l-2.147 3.147c-9.596 14.068-3.299 33.262 12.848 39.159l4.891 1.786c9.955 3.635 16.764 12.74 17.328 23.17l.258 4.775c.894 16.558 17.005 28.145 33.318 23.961l6.822-1.749c9.984-2.561 20.573.781 27.18 8.576l4.3
68 5.153c10.648 12.565 30.27 12.565 40.918 0l4.368-5.153c6.607-7.795 17.196-11.137 27.18-8.576l6.822 1.749c16.313 4.184 32.424-7.403 33.318-23.961l.258-4.775c.564-10.43 7.373-19.535 17.328-23.17l4.891-1.786c16.147-5.897 22.444-25.091 12.848-39.159l-2.147-3.147c-6.024-8.83-6.024-20.366 0-29.196l2.147-3.147c9.596-14.068 3.299-33.262-12.848-39.159l-4.891-1.786c-9.955-3.635-16.764-12.74-17.328-23.1705l-.258-4.7746c-.894-16.5583-17.005-28.1447-33.318-23.9613l-6.822 1.7496c-9.984 2.5604-20.573-.7808-27.18-8.576z" fill="#05161c" fill-rule="evenodd"/><path d="m233.105 77.7816c8.794-10.3755 24.996-10.3755 33.79 0l3.606 4.2556c5.456 6.437 14.2 9.196 22.444 7.0818l5.633-1.4448c13.471-3.4545 26.774 6.1131 27.513 19.7858l.213 3.943c.466 8.613 6.088 16.131 14.309 19.133l4.039 1.475c13.333 4.87 18.533 20.719 10.609 32.336l-1.773 2.599c-4.974 7.291-4.974 16.817 0 24.108l1.773 2.599c7.924 11.617 2.724 27.466-10.609 32.336l-4.039 1.475c-8.221 3.002-13.843 10.52-14.309 19.133l-.213 3.943c-.739 13.673-
14.042 23.24-27.513 19.786l-5.633-1.445c-8.244-2.114-16.988.645-22.444 7.082l-3.606 4.255c-8.794 10.376-24.996 10.376-33.79 0l-3.606-4.255c-5.456-6.437-14.2-9.196-22.444-7.082l-5.633 1.445c-13.471 3.454-26.774-6.113-27.513-19.786l-.213-3.943c-.466-8.613-6.088-16.131-14.309-19.133l-4.039-1.475c-13.333-4.87-18.533-20.719-10.609-32.336l1.773-2.599c4.974-7.291 4.974-16.817 0-24.108l-1.773-2.599c-7.924-11.617-2.724-27.466 10.609-32.336l4.039-1.475c8.221-3.002 13.843-10.52 14.309-19.133l.213-3.943c.739-13.6727 14.042-23.2403 27.513-19.7858l5.633 1.4448c8.244 2.1142 16.988-.6448 22.444-7.0818z" fill="#faf5df"/><path clip-rule="evenodd" d="m268.975 83.3303-3.606-4.2556c-7.995-9.4329-22.743-9.4329-30.738 0l-3.606 4.2556c-5.957 7.0277-15.489 10.0284-24.467 7.726l-5.633-1.4448c-12.287-3.1509-24.351 5.583-25.019 17.9565l-.213 3.943c-.51 9.428-6.661 17.633-15.62 20.904l-4.039 1.475c-12.133 4.431-16.817 18.812-9.642 29.33l1.772 2.599c5.438 7.971 5.438 18.391 0 26.362l-1.772 2.599c-7.175 10.518-2.
491 24.899 9.642 29.33l4.039 1.475c8.959 3.271 15.11 11.476 15.62 20.904l.213 3.943c.668 12.373 12.732 21.107 25.019 17.956l5.633-1.444c8.978-2.303 18.51.698 24.467 7.726l3.606 4.255c7.995 9.433 22.743 9.433 30.738 0l3.606-4.255c5.957-7.028 15.489-10.029 24.467-7.726l5.633 1.445c12.287 3.15 24.351-5.584 25.019-17.957l.213-3.943c.51-9.428 6.662-17.633 15.62-20.904l4.039-1.475c12.133-4.431 16.817-18.812 9.642-29.33l-1.772-2.599c-5.438-7.971-5.438-18.391 0-26.362l1.772-2.599c7.175-10.518 2.491-24.899-9.642-29.33l-4.039-1.475c-8.959-3.271-15.11-11.476-15.62-20.904l-.213-3.943c-.668-12.3735-12.732-21.1074-25.019-17.9565l-5.633 1.4448c-8.978 2.3024-18.51-.6983-24.467-7.726zm-2.08-5.5487c-8.794-10.3755-24.996-10.3755-33.79 0l-3.606 4.2556c-5.456 6.437-14.2 9.196-22.444 7.0818l-5.633-1.4448c-13.471-3.4545-26.774 6.1131-27.513 19.7858l-.213 3.943c-.466 8.613-6.088 16.131-14.309 19.133l-4.039 1.475c-13.333 4.87-18.533 20.719-10.609 32.336l1.773 2.599c4.974 7.291 4.974 16.817 0 24.108l-1.773 2
.599c-7.924 11.617-2.724 27.466 10.609 32.336l4.039 1.475c8.221 3.002 13.843 10.52 14.309 19.133l.213 3.943c.739 13.673 14.042 23.24 27.513 19.786l5.633-1.445c8.244-2.114 16.988.645 22.444 7.082l3.606 4.255c8.794 10.376 24.996 10.376 33.79 0l3.606-4.255c5.456-6.437 14.2-9.196 22.444-7.082l5.633 1.445c13.471 3.454 26.774-6.113 27.513-19.786l.213-3.943c.466-8.613 6.088-16.131 14.309-19.133l4.039-1.475c13.333-4.87 18.533-20.719 10.609-32.336l-1.773-2.599c-4.974-7.291-4.974-16.817 0-24.108l1.773-2.599c7.924-11.617 2.724-27.466-10.609-32.336l-4.039-1.475c-8.221-3.002-13.843-10.52-14.309-19.133l-.213-3.943c-.739-13.6727-14.042-23.2403-27.513-19.7858l-5.633 1.4448c-8.244 2.1142-16.988-.6448-22.444-7.0818z" fill="#05161c" fill-rule="evenodd"/><path d="m235.394 103.771c7.593-9.028 21.619-9.028 29.212 0 4.711 5.602 12.279 8.004 19.411 6.16l.825-.213c11.246-2.906 22.36 5.116 22.975 16.583.387 7.213 5.07 13.511 11.922 16.032l.523.193c10.902 4.012 15.157 17.025 8.69 26.578-4.055 5.99-4.054 13.80
2 0 19.792 6.467 9.553 2.212 22.566-8.69 26.578l-.523.193c-6.852 2.521-11.535 8.819-11.922 16.032-.615 11.467-11.729 19.489-22.975 16.583l-.825-.213c-7.132-1.844-14.7.558-19.411 6.16-7.593 9.028-21.619 9.028-29.212 0-4.711-5.602-12.279-8.004-19.411-6.16l-.825.213c-11.246 2.906-22.36-5.116-22.975-16.583-.387-7.213-5.07-13.511-11.922-16.032l-.523-.193c-10.902-4.012-15.157-17.025-8.69-26.578 4.055-5.99 4.055-13.802 0-19.792-6.467-9.553-2.212-22.566 8.69-26.578l.523-.193c6.852-2.521 11.535-8.819 11.922-16.032.615-11.467 11.729-19.489 22.975-16.583l.825.213c7.132 1.844 14.7-.558 19.411-6.16z" fill="#77adb9"/><path clip-rule="evenodd" d="m285.342 111.655-.824.213c-7.872 2.034-16.232-.614-21.443-6.81-6.793-8.0774-19.357-8.0774-26.15 0-5.211 6.196-13.571 8.844-21.443 6.81l-.824-.213c-10.052-2.598-19.932 4.577-20.478 14.753-.43 8.022-5.637 15.009-13.228 17.802l-.524.193c-9.7 3.57-13.452 15.118-7.724 23.58 4.513 6.667 4.513 15.367 0 22.034-5.728 8.462-1.976 20.01 7.724 23.58l.524.193c7.591 2.
793 12.798 9.78 13.228 17.802.546 10.176 10.426 17.351 20.478 14.753l.824-.213c7.872-2.034 16.232.614 21.443 6.81 6.793 8.077 19.357 8.077 26.15 0 5.211-6.196 13.571-8.844 21.443-6.81l.824.213c10.052 2.598 19.932-4.577 20.478-14.753.43-8.022 5.637-15.009 13.228-17.802l.524-.193c9.7-3.57 13.452-15.118 7.724-23.58-4.513-6.667-4.513-15.367 0-22.034 5.728-8.462 1.976-20.01-7.724-23.58l-.524-.193c-7.591-2.793-12.798-9.78-13.228-17.802-.546-10.176-10.426-17.351-20.478-14.753zm-20.736-7.884c-7.593-9.028-21.619-9.028-29.212 0-4.711 5.602-12.279 8.004-19.411 6.16l-.825-.213c-11.246-2.906-22.36 5.116-22.975 16.583-.387 7.213-5.07 13.511-11.922 16.032l-.523.193c-10.902 4.012-15.157 17.025-8.69 26.578 4.055 5.99 4.055 13.802 0 19.792-6.467 9.553-2.212 22.566 8.69 26.578l.523.193c6.852 2.521 11.535 8.819 11.922 16.032.615 11.467 11.729 19.489 22.975 16.583l.825-.213c7.132-1.844 14.7.558 19.411 6.16 7.593 9.028 21.619 9.028 29.212 0 4.711-5.602 12.279-8.004 19.411-6.16l.825.213c11.246 2.906 22.36
-5.116 22.975-16.583.387-7.213 5.07-13.511 11.922-16.032l.523-.193c10.902-4.012 15.157-17.025 8.69-26.578-4.054-5.99-4.055-13.802 0-19.792 6.467-9.553 2.212-22.566-8.69-26.578l-.523-.193c-6.852-2.521-11.535-8.819-11.922-16.032-.615-11.467-11.729-19.489-22.975-16.583l-.825.213c-7.132 1.844-14.7-.558-19.411-6.16z" fill="#05161c" fill-rule="evenodd"/><path d="m303 179c0 28.719-23.281 52-52 52s-52-23.281-52-52 23.281-52 52-52 52 23.281 52 52z" fill="#efb149"/><path clip-rule="evenodd" d="m251 229c27.614 0 50-22.386 50-50s-22.386-50-50-50-50 22.386-50 50 22.386 50 50 50zm0 2c28.719 0 52-23.281 52-52s-23.281-52-52-52-52 23.281-52 52 23.281 52 52 52z" fill="#05161c" fill-rule="evenodd"/><path d="m303 179c0 28.719-23.281 52-52 52s-52-23.281-52-52 23.281-52 52-52 52 23.281 52 52z" fill="url(#a)"/><path clip-rule="evenodd" d="m12.4887 290c-7.91921-12.803-12.4887-27.887-12.4887-44.037 0-46.371 37.6752-83.963 84.15-83.963 33.457 0 62.354 19.482 75.917 47.697 9.973-8.506 22.919-13.642 37.068-13.
642 24.506 0 45.405 15.409 53.496 37.046 3.929-1.182 8.096-1.817 12.411-1.817 23.725 0 42.958 19.191 42.958 42.863 0 5.6-1.076 10.949-3.034 15.853z" fill="#faf5df" fill-rule="evenodd"/><path clip-rule="evenodd" d="m161.656 208.39c9.742-7.722 22.07-12.335 35.479-12.335 24.506 0 45.405 15.409 53.496 37.046 3.929-1.182 8.096-1.817 12.411-1.817 23.725 0 42.958 19.191 42.958 42.863 0 5.6-1.076 10.949-3.034 15.853h-290.4773c-7.91921-12.803-12.4887-27.887-12.4887-44.037 0-46.371 37.6752-83.963 84.15-83.963 32.723 0 61.083 18.636 75.002 45.851.312.611.617 1.226.915 1.846.522-.445 1.051-.881 1.589-1.307zm-148.0438 79.61c-7.37377-12.29-11.6122-26.667-11.6122-42.037 0-45.263 36.7756-81.963 82.15-81.963 32.661 0 60.872 19.017 74.114 46.563l1.125 2.34 1.976-1.685c9.624-8.208 22.114-13.163 35.77-13.163 23.646 0 43.815 14.867 51.623 35.746l.656 1.754 1.793-.539c3.744-1.126 7.717-1.732 11.835-1.732 22.625 0 40.958 18.299 40.958 40.863 0 4.866-.852 9.529-2.413 13.853z" fill="#05161c" fill-rule="even
odd"/><path d="m293.231 248.13c15.34 21.241 2.769 40.87 2.769 40.87h6.078c4.737-14.28 2.838-31.251-5.897-40.87-10.633-11.708-27.301-20.12-46.181-13.63 0 0 27.89-7.611 43.231 13.63z" fill="#05161c"/><path d="m165 227.747c8.5-40.747 46-29 46-29s-24.5-8.5-51 12z" fill="#05161c"/><path clip-rule="evenodd" d="m90.0008 162.959c-.0225.552.4066 1.018.9584 1.04 12.0468.492 30.3878 5.733 45.9228 18.734 15.499 12.971 28.241 33.696 29.118 65.267.016.552.476.987 1.028.971.552-.015.987-.475.972-1.027-.893-32.149-13.901-53.41-29.834-66.745-15.898-13.305-34.672-18.69-47.1252-19.198-.5518-.023-1.0174.406-1.04.958z" fill="#05161c" fill-rule="evenodd"/><path d="m270.914 181.007c5.854-1.228 12.093-2.536 20.586-11.029 4.161-4.161 7.545-9.473 11.101-15.055 10.115-15.879 21.623-33.945 56.399-33.945s46.284 18.066 56.399 33.945c3.556 5.582 6.94 10.894 11.101 15.055 8.493 8.493 14.732 9.801 20.586 11.029 5.175 1.084 10.049 2.106 15.914 7.971 5.725 5.726 6.835 9.982 8.038 14.597 1.424 5.459 2.978 11.419 12.46
2 20.903 9.317 9.317 15.941 10.272 22.136 11.166 5.441.784 10.551 1.521 16.864 7.834 6.949 6.949 8.334 11.645 9.678 16.204 1.267 4.298 2.499 8.473 8.322 14.296 5.939 5.939 13.225 8.326 20.585 10.738 7.512 2.461 15.101 4.948 21.415 11.262 6.606 6.606 7.92 13.226 9.158 19.469 1.105 5.57 2.151 10.84 6.842 15.531 4.969 4.969 11.458 7.469 17.957 9.972 6.514 2.509 13.037 5.022 18.043 10.028 4.626 4.626 5.828 9.893 7.12 15.555 1.502 6.578 3.125 13.69 10.38 20.945 4.878 4.878 10.89 6.407 17.821 8.171 12.252 3.117 27.376 6.965 44.179 31.329h-710c16.8028-24.364 31.9266-28.212 44.179-31.329 6.9311-1.764 12.9434-3.293 17.821-8.171 7.2555-7.255 8.8785-14.367 10.38-20.945 1.2922-5.662 2.4944-10.929 7.12-15.555 5.0063-5.006 11.529-7.519 18.043-10.028 6.499-2.503 12.988-5.003 17.957-9.972 4.691-4.691 5.737-9.961 6.842-15.531 1.238-6.243 2.552-12.863 9.158-19.469 6.314-6.314 13.903-8.801 21.415-11.262 7.36-2.412 14.646-4.799 20.585-10.738 5.823-5.823 7.055-9.998 8.322-14.296 1.344-4.559 2.729-9.255
9.678-16.204 6.313-6.313 11.423-7.05 16.864-7.834 6.195-.894 12.819-1.849 22.136-11.166 9.484-9.484 11.038-15.444 12.462-20.903 1.203-4.615 2.313-8.871 8.038-14.597 5.865-5.865 10.739-6.887 15.914-7.971z" fill="#002140"/><path d="m285.801 222.002c4.865-1.023 10.05-2.113 17.107-9.191 3.459-3.468 6.27-7.894 9.225-12.545 8.406-13.233 17.969-28.288 46.867-28.288s38.461 15.055 46.867 28.288c2.955 4.651 5.766 9.077 9.225 12.545 7.057 7.078 12.242 8.168 17.107 9.191 4.3.904 8.35 1.755 13.224 6.643 4.757 4.771 5.68 8.318 6.679 12.163 1.183 4.55 2.474 9.516 10.356 17.42 7.742 7.764 13.247 8.56 18.395 9.305 4.521.654 8.767 1.268 14.013 6.528 5.775 5.791 6.925 9.705 8.043 13.504 1.053 3.581 2.076 7.06 6.915 11.913 4.935 4.949 10.989 6.938 17.106 8.948 6.242 2.051 12.549 4.124 17.795 9.385 5.49 5.505 6.581 11.022 7.611 16.225.918 4.641 1.787 9.033 5.685 12.942 4.129 4.141 9.522 6.224 14.922 8.31 5.413 2.091 10.833 4.185 14.994 8.357 3.843 3.854 4.842 8.244 5.916 12.962 1.248 5.482 2.597 11.408
8.626 17.454 4.053 4.065 9.049 5.34 14.809 6.809 10.181 2.598 22.749 5.805 36.712 26.108h-590c13.9629-20.303 26.5305-23.51 36.712-26.108 5.76-1.469 10.756-2.744 14.809-6.809 6.029-6.046 7.378-11.972 8.626-17.454 1.074-4.718 2.073-9.108 5.916-12.962 4.161-4.172 9.581-6.266 14.994-8.357 5.4-2.086 10.793-4.169 14.922-8.31 3.898-3.909 4.767-8.301 5.685-12.942 1.03-5.203 2.121-10.72 7.611-16.225 5.246-5.261 11.553-7.334 17.795-9.385 6.117-2.01 12.171-3.999 17.106-8.948 4.839-4.853 5.862-8.332 6.915-11.913 1.118-3.799 2.269-7.713 8.043-13.504 5.246-5.26 9.492-5.874 14.013-6.528 5.148-.745 10.653-1.541 18.395-9.305 7.882-7.904 9.173-12.87 10.356-17.42.999-3.845 1.922-7.392 6.679-12.163 4.874-4.888 8.924-5.739 13.224-6.643z" fill="#e5b6e3"/><path d="m299.2 259.782c3.975-.835 8.21-1.724 13.976-7.497 2.825-2.829 5.122-6.439 7.536-10.233 6.867-10.794 14.68-23.074 38.288-23.074s31.421 12.28 38.288 23.074c2.414 3.794 4.711 7.404 7.536 10.233 5.766 5.773 10.001 6.662 13.976 7.497 3.512.737 6.821
1.432 10.803 5.418 3.887 3.892 4.64 6.786 5.457 9.922.966 3.711 2.021 7.762 8.46 14.209 6.325 6.333 10.822 6.982 15.027 7.59 3.694.533 7.163 1.034 11.449 5.325 4.717 4.723 5.657 7.916 6.57 11.014.86 2.922 1.696 5.76 5.65 9.718 4.031 4.037 8.977 5.66 13.974 7.299 5.1 1.673 10.252 3.364 14.538 7.655 4.485 4.491 5.377 8.991 6.217 13.234.751 3.786 1.46 7.368 4.645 10.557 3.373 3.377 7.779 5.077 12.19 6.778 4.423 1.706 8.851 3.414 12.25 6.817 3.14 3.144 3.956 6.725 4.833 10.573 1.02 4.472 2.121 9.306 7.047 14.237 3.311 3.316 7.393 4.356 12.098 5.554 8.318 2.119 18.585 4.735 29.992 21.296h-482c11.407-16.561 21.674-19.177 29.992-21.296 4.705-1.198 8.787-2.238 12.098-5.554 4.926-4.931 6.028-9.765 7.047-14.237.877-3.848 1.693-7.429 4.833-10.573 3.399-3.403 7.827-5.111 12.25-6.817 4.411-1.701 8.817-3.401 12.19-6.778 3.185-3.189 3.894-6.771 4.645-10.557.84-4.243 1.732-8.743 6.217-13.234 4.286-4.291 9.438-5.982 14.538-7.655 4.997-1.639 9.943-3.262 13.975-7.299 3.953-3.958 4.789-6.796 5.649-9.71
8.913-3.098 1.853-6.291 6.57-11.014 4.286-4.291 7.755-4.792 11.449-5.325 4.205-.608 8.702-1.257 15.027-7.59 6.439-6.447 7.494-10.498 8.46-14.209.817-3.136 1.57-6.03 5.457-9.922 3.982-3.986 7.291-4.681 10.803-5.418z" fill="#002140"/><path d="m331.006 279.478s2-1.478 2-40.5h51.096c1.398 40.522 4.027 46 4.027 46s117.871 12.5 149.871 44.022 22.5 97.978 22.5 97.978h-398.825c-12.021-20.4-10.351-68.167-8.014-89.5 6.355-58 98.839-63.978 177.345-58z" fill="#e98346"/><path d="m538 329c-32-31.5-150-44.022-150-44.022 118 55.988 99.5 142 99.5 142h72.5s10-66.478-22-97.978z" fill="url(#b)"/><path d="m383.108 238.978h-50.102v28c0 12.971 34.998 14.971 53 11.471-1-16.5-2.898-39.471-2.898-39.471z" fill="#ae6e40"/><path d="m383 244.978-43 6s22.5 16.5 44.5 15z" fill="#05161c"/><path clip-rule="evenodd" d="m332.006 237.978h52.023l.075.918-.996.082c.996-.082.996-.082.996-.082l.001.001.083 1.019c.054.661.132 1.623.229 2.829.193 2.412.462 5.801.762 9.705.599 7.806 1.324 17.68 1.825 25.939l.053.875-.86.167c-
9.117 1.772-22.483 2.149-33.593.448-5.55-.85-10.619-2.229-14.33-4.268-3.7-2.032-6.268-4.857-6.268-8.633zm50.18 2h-48.18v27c0 2.709 1.807 4.999 5.231 6.88 3.414 1.876 8.219 3.209 13.669 4.044 10.543 1.614 23.19 1.315 32.048-.274-.497-8.056-1.191-17.498-1.769-25.025-.3-3.902-.568-7.287-.762-9.698-.096-1.205-.174-2.166-.228-2.826z" fill="#05161c" fill-rule="evenodd"/><path d="m304.167 202.453c.833-9.004 9.189-6.389 9.189-6.389 2.246 7.499 6.032 18.401 7.644 22.914-5.86-2.604-17.67-7.492-16.833-16.525z" fill="#ae6e40"/><path d="m358.751 145.978c-8.964 23.795-31.698 33.185-48.803 39.327 8.964 20.735 18.538 70.673 48.803 70.673 29.039 0 43.325-53.469 47.309-70.374-25.803-7.565-34.562-18.107-47.309-39.626z" fill="#ae6e40"/><path clip-rule="evenodd" d="m296.016 189.068c-.098-.544.262-1.064.806-1.162 3.005-.545 6.717-1.482 10.833-2.863l-.389-.9 2.006-.72c17.144-6.156 38.999-15.299 47.607-38.15l1.469-3.899 2.124 3.585c6.362 10.741 11.608 18.523 18.371 24.574 6.724 6.017 15.071 10.426 27.78 14
.152l1.819.533-.225.956c3.902 1.059 8.193 1.969 12.941 2.728.545.087.917.6.829 1.145-.087.546-.6.917-1.145.83-4.783-.765-9.123-1.683-13.087-2.756-2.12 8.841-6.668 25.831-14.163 40.9-3.902 7.845-8.656 15.281-14.372 20.78-5.732 5.514-12.541 9.177-20.469 9.177-16.419 0-26.87-13.566-34.19-28.69-3.703-7.65-6.717-15.931-9.352-23.538-.546-1.576-1.074-3.119-1.588-4.621-1.86-5.433-3.533-10.321-5.174-14.242-4.26 1.437-8.121 2.416-11.269 2.986-.543.099-1.063-.262-1.162-.805zm109.813-2.49c.08-.336.158-.661.231-.974-.322-.094-.641-.189-.958-.285-24.196-7.284-33.141-17.364-45.055-37.17-.428-.711-.86-1.435-1.296-2.171-.299.793-.612 1.569-.941 2.33-9.173 21.258-29.707 30.367-45.978 36.315-.316.115-.631.23-.943.343-.316.114-.629.227-.941.339.13.301.26.608.39.921.127.303.254.613.381.927 1.536 3.806 3.106 8.395 4.81 13.373 8.012 23.409 18.979 55.452 43.222 55.452 28.502 0 42.792-51.511 47.078-69.4z" fill="#05161c" fill-rule="evenodd"/><path d="m403.04 197.209c2.29-1.086 9.96-2.76 10.96 5.24s-11.602 13
.477-18.382 16.277z" fill="#ae6e40"/><g mask="url(#f)"><path d="m359 137.478c38 67-.5 118.5-.5 118.5 24 4 134-78.5.5-118.5z" fill="url(#c)"/></g><path d="m402.008 191.978c0 11.046-8.955 20-20.002 20-11.046 0-20.001-8.954-20.001-20s8.955-20 20.001-20c11.047 0 20.002 8.954 20.002 20z" fill="#efb149"/><path clip-rule="evenodd" d="m382.006 209.978c9.943 0 18.002-8.059 18.002-18s-8.059-18-18.002-18c-9.942 0-18.001 8.059-18.001 18s8.059 18 18.001 18zm0 2c11.047 0 20.002-8.954 20.002-20s-8.955-20-20.002-20c-11.046 0-20.001 8.954-20.001 20s8.955 20 20.001 20z" fill="#05161c" fill-rule="evenodd"/><path d="m395.578 191.978c0 7.495-6.077 13.571-13.573 13.571s-13.573-6.076-13.573-13.571 6.077-13.571 13.573-13.571 13.573 6.076 13.573 13.571z" fill="#efb149"/><path clip-rule="evenodd" d="m382.005 203.549c6.392 0 11.573-5.18 11.573-11.571s-5.181-11.571-11.573-11.571c-6.391 0-11.573 5.18-11.573 11.571s5.182 11.571 11.573 11.571zm0 2c7.496 0 13.573-6.076 13.573-13.571s-6.077-13.571-13.573-13.571-13.
573 6.076-13.573 13.571 6.077 13.571 13.573 13.571z" fill="#05161c" fill-rule="evenodd"/><path d="m389.151 191.978c0 3.945-3.198 7.143-7.144 7.143-3.945 0-7.143-3.198-7.143-7.143s3.198-7.143 7.143-7.143c3.946 0 7.144 3.198 7.144 7.143z" fill="#efb149"/><path clip-rule="evenodd" d="m382.007 197.121c2.841 0 5.144-2.303 5.144-5.143s-2.303-5.143-5.144-5.143c-2.84 0-5.143 2.303-5.143 5.143s2.303 5.143 5.143 5.143zm0 2c3.946 0 7.144-3.198 7.144-7.143s-3.198-7.143-7.144-7.143c-3.945 0-7.143 3.198-7.143 7.143s3.198 7.143 7.143 7.143z" fill="#05161c" fill-rule="evenodd"/><path d="m356.004 191.978c0 11.046-8.956 20-20.002 20-11.047 0-20.002-8.954-20.002-20s8.955-20 20.002-20c11.046 0 20.002 8.954 20.002 20z" fill="#efb149"/><path clip-rule="evenodd" d="m336.002 209.978c9.942 0 18.002-8.059 18.002-18s-8.06-18-18.002-18-18.002 8.059-18.002 18 8.06 18 18.002 18zm0 2c11.046 0 20.002-8.954 20.002-20s-8.956-20-20.002-20c-11.047 0-20.002 8.954-20.002 20s8.955 20 20.002 20z" fill="#05161c" fill-rule=
"evenodd"/><path d="m349.573 191.978c0 7.495-6.076 13.571-13.572 13.571s-13.573-6.076-13.573-13.571 6.077-13.571 13.573-13.571 13.572 6.076 13.572 13.571z" fill="#efb149"/><path clip-rule="evenodd" d="m336.001 203.549c6.391 0 11.572-5.18 11.572-11.571s-5.181-11.571-11.572-11.571c-6.392 0-11.573 5.18-11.573 11.571s5.181 11.571 11.573 11.571zm0 2c7.496 0 13.572-6.076 13.572-13.571s-6.076-13.571-13.572-13.571-13.573 6.076-13.573 13.571 6.077 13.571 13.573 13.571z" fill="#05161c" fill-rule="evenodd"/><path d="m343.147 191.978c0 3.945-3.199 7.143-7.144 7.143s-7.143-3.198-7.143-7.143 3.198-7.143 7.143-7.143 7.144 3.198 7.144 7.143z" fill="#efb149"/><g fill="#05161c"><path clip-rule="evenodd" d="m336.003 197.121c2.841 0 5.144-2.303 5.144-5.143s-2.303-5.143-5.144-5.143-5.143 2.303-5.143 5.143 2.302 5.143 5.143 5.143zm0 2c3.945 0 7.144-3.198 7.144-7.143s-3.199-7.143-7.144-7.143-7.143 3.198-7.143 7.143 3.198 7.143 7.143 7.143z" fill-rule="evenodd"/><path clip-rule="evenodd" d="m354.003 196.97
8c0-.552.448-1 1-1h8.001c.552 0 1 .448 1 1s-.448 1-1 1h-8.001c-.552 0-1-.448-1-1z" fill-rule="evenodd"/><path d="m348 425.978c-4.804-18.478-7.082-51-10.88-51s-6.488 30.373-6.079 51z"/><path clip-rule="evenodd" d="m332.024 424.978h14.692c-1.872-7.605-3.358-17.256-4.703-25.998-.278-1.806-.55-3.573-.818-5.276-.823-5.224-1.609-9.826-2.42-13.116-.407-1.653-.808-2.918-1.199-3.751-.187-.396-.348-.643-.47-.783-.119.126-.278.352-.461.717-.386.771-.78 1.953-1.164 3.514-.764 3.105-1.438 7.495-1.984 12.565-1.057 9.81-1.624 22.037-1.473 32.128zm3.691-50.362c.337-.336.809-.638 1.405-.638.622 0 1.099.338 1.426.688.328.351.602.814.839 1.32.479 1.017.917 2.438 1.332 4.123.835 3.385 1.632 8.068 2.453 13.284.272 1.721.546 3.502.825 5.317 1.422 9.233 2.979 19.347 4.973 27.016l.325 1.252h-19.232l-.02-.98c-.205-10.357.367-23.149 1.467-33.362.55-5.102 1.235-9.595 2.031-12.829.396-1.609.832-2.961 1.318-3.932.242-.483.523-.925.858-1.259z" fill-rule="evenodd"/><path clip-rule="evenodd" d="m337.997 374.9c.043
.55-.368 1.032-.919 1.075-58.934 4.64-97.408 14.947-117.673 23.917-.505.224-1.096-.004-1.319-.509-.224-.505.004-1.096.509-1.319 20.543-9.094 59.261-19.433 118.327-24.083.55-.043 1.032.368 1.075.919z" fill-rule="evenodd"/><path d="m237 390.978s-2.25-14.366 0-31c.667 9 3.6 27.4 10 29z"/><path clip-rule="evenodd" d="m235.157 381.765c-.283-5.712-.283-13.526.852-21.921l1.988.06c.331 4.459 1.223 11.242 2.818 17.086.798 2.926 1.759 5.567 2.886 7.554 1.149 2.026 2.353 3.167 3.542 3.464l-.047 1.951-11.023 2.204-.161-1.03.988-.155c-.988.155-.988.155-.988.155l-.001-.004-.001-.009-.005-.034c-.005-.03-.011-.073-.019-.129-.017-.113-.04-.279-.069-.496-.059-.433-.139-1.067-.227-1.879-.178-1.624-.391-3.959-.533-6.817zm2.689 8.024 6.38-1.276c-.863-.794-1.612-1.832-2.265-2.982-1.244-2.194-2.257-5.016-3.076-8.015-.714-2.618-1.29-5.41-1.739-8.102-.227 4.621-.161 8.819.009 12.252.14 2.813.349 5.109.523 6.699.062.568.119 1.045.168 1.424z" fill-rule="evenodd"/><path d="m560.387 23.2305 1.118 3.3873s-47.719
260.8652-67.894 400.3562l-20.973.407c29.543-136.983 87.749-404.1505 87.749-404.1505z"/></g><path d="m550.163 21.4933 10.045 1.7346s-48.713 265.1351-68.781 403.7471l-18.926.368c28.042-135.769 77.662-405.8497 77.662-405.8497z" fill="#d4dfdc"/><path clip-rule="evenodd" d="m550.163 21.4933s-49.135 267.4417-77.249 403.8447c-.138.672-.276 1.34-.413 2.005l18.926-.368c19.058-131.634 63.949-377.3711 68.421-401.781.237-1.2941.36-1.9661.36-1.9661zm7.715 3.3605-6.106-1.0544-.204 1.1075c-.37 2.0115-.917 4.9794-1.623 8.8047-1.412 7.6508-3.46 18.7317-6.005 32.4531-5.09 27.4428-12.169 65.4473-20.125 107.6953-15.721 83.487-34.868 183.56-48.852 251.439l14.728-.287c10.072-69.282 27.113-169.288 41.681-252.221 7.344-41.809 14.061-79.2862 18.941-106.3107 2.441-13.5123 4.422-24.4117 5.794-31.9332.685-3.7607 1.219-6.677 1.58-8.6532.07-.382.134-.729.191-1.0401z" fill="#05161c" fill-rule="evenodd"/><path d="m441.747 214.887 186.981-168.7745 1.695 2.5767-37.705 192.4778-149.277-23.704z" fill="#05161c"/><path
d="m479.399 22.4091 149.267 23.7024-37.702 192.4695-149.268-23.702z" fill="#faf5df"/><path clip-rule="evenodd" d="m626.307 47.7602-145.318-23.0752-36.934 188.545 145.318 23.075zm-146.908-25.3511-37.703 192.4699 149.268 23.702 37.702-192.4695z" fill="#05161c" fill-rule="evenodd"/><path d="m487 355.478c-16.03 5.895-23 14-23 14s9.758-2.211 20.212-3.684z" fill="#05161c"/><path clip-rule="evenodd" d="m487.675 354.74c.276.253.388.638.29.999l-2.788 10.316c-.104.386-.429.673-.825.729-5.204.734-10.238 1.651-13.973 2.386-1.867.367-3.409.688-4.482.918-.537.114-.957.206-1.242.269-.143.031-.252.055-.325.072l-.082.018-.027.006-.221-.975c-.758-.652-.758-.652-.758-.653h.001l.002-.003.006-.006.019-.023c.017-.018.04-.044.07-.078.061-.067.149-.163.266-.286.234-.246.582-.598 1.048-1.037.931-.878 2.334-2.101 4.241-3.508 3.816-2.814 9.648-6.362 17.76-9.345.351-.129.744-.051 1.02.201zm-23.675 14.738-.758-.653c-.281.328-.321.799-.099 1.169.223.369.657.555 1.078.459zm3.228-1.713c.808-.167 1.737-.356 2.765-
.558 3.6-.708 8.409-1.587 13.426-2.31l2.104-7.786c-6.974 2.755-12.052 5.883-15.441 8.382-1.14.841-2.089 1.611-2.854 2.272z" fill="#05161c" fill-rule="evenodd"/><path d="m433.44 376.59c-25.141 3.555-99.085 6.695-99.085 6.695-4.437 32.212-3.195 42.693-3.195 42.693l95.299-.964c12.527-.998 77.44 3.123 81.665-11.714.791-2.78-1.064-6.322-.876-7.118.189-.795 4.573-3.131 5.312-6.791.812-4.02-2.345-5.765-2.218-6.589s4.268-3.734 5.176-7.321-2.293-6.639-2.218-7.321 4.744-2.364 5.749-7.847c3.124-17.044-60.468 2.722-85.609 6.277z" fill="#ae6e40"/><path clip-rule="evenodd" d="m458.078 372.689c-9.435 2.084-18.166 3.996-24.498 4.891-12.62 1.785-37.436 3.46-59.054 4.689-10.818.615-20.849 1.119-28.176 1.469-3.664.175-6.652.311-8.724.404-1.035.046-1.842.082-2.391.106h-.002c-2.129 15.619-2.902 26.006-3.14 32.5-.121 3.303-.105 5.597-.058 7.057.015.474.033.86.05 1.164l94.33-.955c2.671-.209 7.615-.194 13.744-.175 1.208.004 2.461.008 3.753.01 7.91.014 17.308-.028 26.441-.501 9.144-.473 17.968-1.377 24.748-
3.069 3.392-.846 6.218-1.877 8.304-3.116 2.092-1.243 3.327-2.626 3.757-4.136.318-1.117.117-2.473-.219-3.782-.107-.418-.214-.786-.317-1.136-.06-.205-.118-.403-.173-.603-.069-.25-.134-.503-.174-.731-.034-.197-.078-.512-.004-.823.092-.388.363-.684.499-.827.177-.187.4-.386.626-.581.126-.109.257-.22.393-.336.377-.32.789-.67 1.219-1.075 1.178-1.109 2.263-2.428 2.568-3.94.341-1.687-.139-2.865-.713-3.753-.23-.358-.462-.65-.69-.937-.073-.092-.146-.183-.218-.277-.135-.174-.29-.381-.405-.594-.106-.196-.267-.553-.2-.983.059-.381.291-.697.417-.861.16-.208.365-.434.579-.66.166-.176.34-.354.521-.541.317-.326.658-.677 1.027-1.083 1.148-1.26 2.261-2.73 2.651-4.268.364-1.442-.081-2.83-.714-4.042-.27-.517-.556-.969-.813-1.374-.043-.068-.085-.135-.126-.2-.136-.216-.275-.443-.378-.646-.052-.103-.108-.226-.15-.358-.038-.122-.089-.326-.062-.565.033-.3.174-.518.261-.633.095-.126.204-.231.295-.312.179-.161.413-.333.636-.496l.09-.066c.454-.331.997-.727 1.563-1.245 1.194-1.093 2.462-2.701 2.914-5.166.17-.925.
101-1.656-.121-2.242-.222-.583-.622-1.094-1.234-1.539-1.262-.919-3.361-1.512-6.266-1.752-5.776-.476-14.106.485-23.428 2.112-8.964 1.565-18.752 3.727-27.916 5.752zm-126.918 53.289c-.993.118-.993.117-.993.117v-.001l-.001-.003-.001-.009-.003-.029c-.002-.025-.006-.06-.01-.106-.009-.092-.021-.228-.034-.41-.026-.364-.058-.913-.082-1.668-.048-1.511-.065-3.851.058-7.195.246-6.686 1.048-17.394 3.271-33.526.066-.479.465-.842.948-.862l.042.999c-.042-.999-.043-.999-.042-.999l.835-.036c.548-.024 1.354-.06 2.389-.106 2.07-.093 5.056-.229 8.717-.404 7.323-.35 17.349-.853 28.159-1.468 21.639-1.23 46.366-2.902 58.887-4.672 6.239-.882 14.884-2.774 24.346-4.864l1.04-.229c9.15-2.021 18.976-4.192 27.986-5.765 9.328-1.628 17.881-2.635 23.936-2.135 3.011.248 5.563.879 7.279 2.128.877.638 1.547 1.447 1.926 2.446.378.994.441 2.106.219 3.312-.553 3.017-2.121 4.992-3.532 6.282-.65.594-1.273 1.049-1.724 1.378-.033.025-.066.048-.097.071-.076.056-.144.106-.203.15.034.054.071.115.113.181.037.059.076.12.117.185.25
6.404.59.932.902 1.528.721 1.382 1.422 3.313.879 5.458-.518 2.049-1.929 3.828-3.11 5.125-.385.423-.779.829-1.113 1.173-.173.178-.329.339-.46.478-.146.154-.262.281-.351.386.025.034.054.071.086.113.049.063.106.134.168.213.235.295.551.692.841 1.142.771 1.195 1.464 2.9.992 5.233-.433 2.148-1.911 3.827-3.157 5-.471.444-.943.844-1.327 1.171-.127.107-.244.207-.348.297-.203.175-.35.308-.452.412.024.124.065.289.124.503.041.148.093.324.149.517.109.375.239.818.352 1.26.347 1.356.678 3.162.204 4.825-.626 2.199-2.343 3.933-4.659 5.308-2.322 1.38-5.358 2.469-8.841 3.338-6.971 1.74-15.95 2.65-25.129 3.126-9.189.476-18.632.517-26.548.503-1.307-.002-2.571-.006-3.784-.01-6.165-.018-11.014-.033-13.586.172-.023.002-.046.003-.069.003l-95.299.964c-.51.005-.943-.376-1.003-.883zm180.144-33.318c0 .001.002.005.005.013-.004-.009-.006-.013-.005-.013z" fill="#05161c" fill-rule="evenodd"/><path clip-rule="evenodd" d="m497 371.478c-.723-.692-.723-.691-.723-.691l-.001.001-.001.001-.003.003-.006.007-.015.016c-.011.
012-.023.026-.038.043-.028.034-.062.077-.101.13-.076.106-.17.251-.26.437-.183.373-.352.903-.352 1.575 0 .673.17 1.198.359 1.569.094.184.192.327.272.431.041.053.077.095.108.128.015.017.028.031.04.043l.016.017.007.007.003.003.002.001.001.001s.001.001.692-.722l-.691.723c.399.381 1.032.367 1.413-.032.374-.39.369-1.005-.006-1.388-.001-.002-.002-.004-.004-.006-.013-.017-.041-.055-.072-.116-.06-.118-.14-.332-.14-.659 0-.328.081-.559.148-.697.035-.07.066-.117.083-.14.005-.007.008-.011.01-.014.362-.4.343-1.018-.05-1.393-.399-.382-1.032-.368-1.414.03z" fill="#05161c" fill-rule="evenodd"/><path clip-rule="evenodd" d="m496 383.5c-.723-.692-.723-.691-.723-.691l-.001.001-.001.001-.003.003-.006.007-.015.016c-.011.012-.023.026-.038.043-.028.034-.062.077-.101.13-.076.106-.17.251-.26.437-.183.373-.352.903-.352 1.575 0 .673.17 1.198.359 1.569.094.184.192.327.272.431.041.053.077.095.108.128.015.017.028.031.04.043l.016.017.007.007.003.003.002.001.001.001s.001.001.692-.722l-.691.723c.399.381 1.032.367 1.
413-.032.374-.39.369-1.005-.006-1.389-.001-.001-.002-.003-.004-.005-.013-.017-.041-.055-.072-.116-.06-.118-.14-.332-.14-.659 0-.328.081-.559.148-.697.035-.07.066-.117.083-.14.005-.007.008-.011.01-.014.362-.4.343-1.018-.05-1.393-.399-.382-1.032-.368-1.414.03z" fill="#05161c" fill-rule="evenodd"/><path clip-rule="evenodd" d="m495 396.5c-.723-.692-.723-.691-.723-.691l-.001.001-.001.001-.003.003-.006.007-.015.016c-.011.012-.023.026-.038.043-.028.034-.062.077-.101.13-.076.106-.17.251-.26.437-.183.373-.352.903-.352 1.575 0 .673.17 1.198.359 1.569.094.184.192.327.272.431.041.053.077.095.108.128.015.017.028.031.04.043l.016.017.007.007.003.003.002.001.001.001s.001.001.692-.722l-.691.723c.399.381 1.032.367 1.413-.032.374-.39.369-1.005-.006-1.389-.001-.001-.002-.003-.004-.005-.013-.017-.041-.055-.072-.116-.06-.118-.14-.332-.14-.659 0-.328.081-.559.148-.697.035-.07.066-.117.083-.14.005-.007.008-.011.01-.014.362-.4.343-1.018-.05-1.393-.399-.382-1.032-.368-1.414.03z" fill="#05161c" fill-rule="eve
nodd"/><path d="m148 296c0 7.732-6.268 14-14 14s-14-6.268-14-14 6.268-14 14-14 14 6.268 14 14z" fill="#faf5df"/><path clip-rule="evenodd" d="m134 308c6.627 0 12-5.373 12-12s-5.373-12-12-12-12 5.373-12 12 5.373 12 12 12zm0 2c7.732 0 14-6.268 14-14s-6.268-14-14-14-14 6.268-14 14 6.268 14 14 14z" fill="#05161c" fill-rule="evenodd"/><path d="m164 273c0 4.971-4.029 9-9 9s-9-4.029-9-9 4.029-9 9-9 9 4.029 9 9z" fill="#faf5df"/><path clip-rule="evenodd" d="m155 280c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm0 2c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9z" fill="#05161c" fill-rule="evenodd"/><path d="m639.688 280.561v23.439h2.624v-22.83l11.376 19.702 2.273-1.312-11.747-20.346 20.346 11.747 1.312-2.273-19.702-11.376h22.83v-2.624h-23.439l20.311-11.727-1.312-2.273-20.098 11.603 11.499-19.916-2.273-1.312-11.376 19.702v-22.765h-2.624v23.374l-11.727-20.311-2.273 1.312 11.355 19.668-19.668-11.355-1.312 2.273 20.311 11.727h-23.374v2.624h22.765l-19.703 11.376 1.313 2.273
19.916-11.499-11.603 20.098 2.273 1.312z" fill="#faf5df"/><path clip-rule="evenodd" d="m435.2 54c0 6.1856-5.014 11.2-11.2 11.2s-11.2-5.0144-11.2-11.2 5.014-11.2 11.2-11.2 11.2 5.0144 11.2 11.2zm-2.8 0c0 4.6392-3.761 8.4-8.4 8.4s-8.4-3.7608-8.4-8.4 3.761-8.4 8.4-8.4 8.4 3.7608 8.4 8.4z" fill="#faf5df" fill-rule="evenodd"/><path clip-rule="evenodd" d="m424 70.8c9.278 0 16.8-7.5216 16.8-16.8s-7.522-16.8-16.8-16.8-16.8 7.5216-16.8 16.8 7.522 16.8 16.8 16.8zm0-2.8c7.732 0 14-6.268 14-14s-6.268-14-14-14-14 6.268-14 14 6.268 14 14 14z" fill="#faf5df" fill-rule="evenodd"/><path clip-rule="evenodd" d="m446.4 54c0 12.3712-10.029 22.4-22.4 22.4s-22.4-10.0288-22.4-22.4 10.029-22.4 22.4-22.4 22.4 10.0288 22.4 22.4zm-2.8 0c0 10.8248-8.775 19.6-19.6 19.6s-19.6-8.7752-19.6-19.6 8.775-19.6 19.6-19.6 19.6 8.7752 19.6 19.6z" fill="#faf5df" fill-rule="evenodd"/><path clip-rule="evenodd" d="m452 54c0 15.464-12.536 28-28 28s-28-12.536-28-28 12.536-28 28-28 28 12.536 28 28zm-2.8 0c0 13.9176-11.282 25.2-25
.2 25.2s-25.2-11.2824-25.2-25.2 11.282-25.2 25.2-25.2 25.2 11.2824 25.2 25.2z" fill="#faf5df" fill-rule="evenodd"/></g></svg>
\ No newline at end of file
diff --git a/chrome/skin/yec-placard.svg b/chrome/skin/yec-placard.svg
deleted file mode 100644
index dc35b73a..00000000
--- a/chrome/skin/yec-placard.svg
+++ /dev/null
@@ -1,382 +0,0 @@
-<?xml version="1.0"?>
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" height="427" viewBox="0 0 714 427" width="714">
- <style>
- /* disables unused use nodes wit a _text suffix in the href attribute
- we don't want to blank disable all use nodes because the background
- placard path is included via use nodes in each locale group
- */
- use[href$="_text"]:not(:target) {
- display: none;
- }
-
- /* Sniglet font blob */
- @font-face {
- font-family: 'Sniglet';
- src: url('data:application/octet-stream;base64,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
GcAYgByAGUAbgBkAGEAMQA5ADgANwBAAGcAbQBhAGkAbAAuAGMAbwBtACkADQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEAMwAsACAAUABhAGIAbABvACAASQBtAHAAYQBsAGwAYQByAGkAIAAoAHcAdwB3AC4AaQBtAHAAYQBsAGwAYQByAGkALgBjAG8AbQB8AGkAbQBwAGEAbABsAGEAcgBpAEAAZwBtAGEAaQBsAC4AYwBvAG0AKQAsACAADQB3AGkAdABoACAAbgBvACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUALgBTAG4AaQBnAGwAZQB0AFIAZQBnAHUAbABhAHIASABhAGwAZQB5AEYAaQBlAGcAZQAsAFAAYQBiAGwAbwBJAG0AcABhAGwAbABhAHIAaQAsAEIAcgBlAG4AZABhAEcAYQBsAGwAbwA6ACAAUwBuAGkAZwBsAGUAdAAgAFIAZQBnAHUAbABhAHIAOgAgADIAMAAwADgAUwBuAGkAZwBsAGUAdAAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADIALgAwADAAMAA7ACAAdAB0AGYAYQB1AHQAbwBoAGkAbgB0ACAAKAB2ADAALgA5ADUAKQAgAC0AbAAgADgAIAAtAHIAIAA1ADAAIAAtAEcAIAAyADAAMAAgAC0AeAAgADEANAAgAC0AdwAgACIARwAiAFMAbgBpAGcAbABlAHQALQBSAGUAZwB1AGwAYQByAFMAbgBpAGcAbABlAHQAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABIAGEAbABlAHkAIABGAGkAZQBnAGUASABhAGwAZQB5ACAARgBpAGUAZwBlACwAIABQAGEAYgBsAG8AIABJAG0AcABhAGwAbABhAHIAaQAsACAAQgByAGUAbgBkAGEAIABHAGEAbA
BsAG8ASABhAGwAZQB5ACAARgBpAGUAZwBlAEEAIAByAG8AdQBuAGQAZQBkACAAZABpAHMAcABsAGEAeQAgAGYAYQBjAGUAIAB0AGgAYQB0ANUAcwAgAGcAcgBlAGEAdAAgAGYAbwByACAAaABlAGEAZABsAGkAbgBlAHMALgANAA0ATwByAGkAZwBpAG4AYQBsAGwAeQAgAGQAZQBzAGkAZwBuAGUAZAAgAGkAbgAgADIAMAAwADgAIABiAHkAIABIAGEAbABlAHkAIABGAGkAZQBnAGUAIABpAG4AIABFAHgAdAByAGEALQBiAG8AbABkAC4ADQBJAG4AIAAyADAAMQAzACAAQgByAGUAbgBkAGEAIABHAGEAbABsAG8AIABhAG4AZAAgAFAAYQBiAGwAbwAgAEkAbQBwAGEAbABsAGEAcgBpACAAYQBkAGQAZQBkACAAYQAgAFIAZQBnAHUAbABhAHIAIAB3AGUAaQBnAGgAdAANAA0AVABvACAAYwBvAG4AdAByAGkAYgB1AHQAZQAgAHQAbwAgAHQAaABlACAAcAByAG8AagBlAGMAdAAgAGMAbwBuAHQAYQBjAHQAIABIAGEAbABlAHkAIABGAGkAZQBnAGUAIAAoAGgAYQBsAGUAeQBAAGsAaQBuAGcAZABvAG0AbwBmAGEAdwBlAHMAbwBtAGUALgBjAG8AbQApACAAbwByACAAUABhAGIAbABvACAASQBtAHAAYQBsAGwAYQByAGkAIAAoAGkAbQBwAGEAbABsAGEAcgBpAEAAZwBtAGEAaQBsAC4AYwBvAG0AKQBrAGkAbgBnAGQAbwBtAG8AZgBhAHcAZQBzAG8AbQBlAC4AYwBvAG0AVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGU
AbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAgAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAaQBzACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoAIABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAA9AAAAQIAAgADAMcAYgCtAGMArgAlACYAkABkACcAKABlAMgAygDLAOkBAwApACoAKwAsAMwAzQDOAM8ALQAuAC8AMAAxACQAZgAyALAA0ADRAGcA0wCRAK8AMwA0ADUANgDkADcA7QA4ANQA1QBoANYAOQA6ADsAPADrALsAPQDmAEQAaQBrAI0AbABqAAkAbgBBAGEADQBtAEUAPwBfAF4AYAA+AEAAhwBGAOEAbwDeAIQA2AAdAA8ARwCDAI4AuAAHANcASABwAHIAcwBxABsAswCyACAA6gAEAKMASQAYABcAvABKAIkAQwAhAL4AvwBLABAATAB0AHYAdwB1AE0ATgBPAB8AUADvAJcA8ABRABwAeAAGAFIAeQB7AHwAegAUAKEAfQBTAIgACwAMAAgAEQAOAFQAIgCiAAUAxQC0ALUAtgC3AMQACgBVAN0AVgAeABoAGQASAMkAhQBXAO4AFgDZABUAWABCAQQBBQBZAFoAWwBcAJYAXQATAKsBBgEHAIYAggDCAOgApACpAKoAvQDDAQgAiwCKAJMAsQCgAQkApgDGAN8A4ADcAH8AfgCAAIEA5QDsALoA5wDbANoBCgDiAOMBCwEMACMAjACdAJ4A8QDy
APMBDQEOAQ8BEAERAPQA9QD2BE5VTEwERXVybwd1bmkwMEEwB3VuaTAwQUQHdW5pMjIxNQhkb3RsZXNzagd1bmkyMjE5B3VuaTAzQkMHdW5pMDJDOQNmX2kDZl9sDGZvdXJzdXBlcmlvcgtvbmVpbmZlcmlvcgt0d29pbmZlcmlvcg10aHJlZWluZmVyaW9yDGZvdXJpbmZlcmlvcgAAAAABAAH//wAPAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAADAAwDcAkmAAEALAAEAAAAEQBSAIAA3gEQAVYBaAGqAdAB6gJUAqYC9AMiAygDQgNIA1oAAQARAAkAFQAeAB8AIAAsAC0ALgAxADgAOQA6AFwAbgBwAJoAvQALAAv/4gAT/+wAMf/sADj/7AA5/+wAOv/sAKn/7ACu/+wAt//sALj/7AC5/+IAFwAL/2oAE//iAB3/iAAg/9gAKv/YAFr/2ABb/4gAZ//iAHD/sACD/7oAiP/2AJH/sACT/5wAmP+IAKj/2ACq/84Arv/YALf/ugC4/7oAuf+6AL3/4gDh/8QA4v/iAAwAE//YAB3/7AAx/+wAOP/sADn/7ABw/+IAqv/iAK7/7AC3/9gAuP/iAOH/4gDi/+wAEQAT/9gAMf9+ADj/sAA5/9gATP/iAGf/7ABw/9gAiP/OAJD/ugCp/9gAqv/sAK7/zgC3/84AuP/YAL3/4gDh/8QA4v/iAAQAMf/iADj/4gA5/+wAqf/sABAAC/+6AB3/xAAg//YAMf/2ADr/9gBb/7AAZ//sAG//9gBw/+wAg//sAJH/9gCT/+IAmP+wAKn/9gCuAAoA4f/2AAkAMf/OADj/7AA5/+wAWgAKAFsACgBn//YAmAAKAKgACgCp/+wABgAx//YAZ//2AG//9gBw//YAqf/2AKr/9gAaAAv/nAAT/84AHf+cACD/4gAq/84AWv/iAFv/u
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');
- font-weight: 400 400;
- font-style: normal;
- }
-
- /* Don't touch this block */
- text {
- /* set font to 'Sniglet' and fallback to firefox builtin sans-serif'd font */
- font-family: "Sniglet", sans-serif;
- /* set font-size to 0 to prevent hidden whitespace between tspan
- nodes from messing up the layout geometry */
- font-size: 0px;
- /* text color */
- fill: #05161c;
- /* centers the vertical origin of text node */
- dominant-baseline: middle;
- /* centers the horizontal origin of text node */
- text-anchor: middle;
- /* transforms the text onto the placard */
- transform: translate(555px, 36px) rotateZ(9.5deg) skew(-2deg);
- }
-
- tspan {
- /* default text size */
- font-size: 32px;
- }
-
- /* 30px font override */
- text.font30 > tspan { font-size: 30px; }
-
- /* 28px font override */
- text.font28 > tspan { font-size: 28px; }
-
- /* 26px font override */
- text.font26 > tspan { font-size: 26px; }
-
- /* 24px font override */
- text.font24 > tspan { font-size: 24px; }
-
- /* 22px font override */
- text.font22 > tspan { font-size: 22px; }
-
- /* 20px font override */
- text.font20 > tspan { font-size: 20px; }
-
- /* 18px font override */
- text.font18 > tspan { font-size: 18px; }
-
- </style>
-
- <!-- Fallback English (US)-->
- <g id="en_US_text">
- <text>
- <tspan x="0" y="50px">HANDS</tspan>
- <tspan x="0" dy="50px">OFF MY</tspan>
- <tspan x="0" dy="50px">DATA</tspan>
- </text>
- </g>
-
- <defs>
- <!-- We use this to overlay over the fallback en-US text above when a specfic locale is selected -->
- <path id="placard" fill="#faf5df" stroke-width="0px" d="M482,26 L625,48 L588,235 L445,212 L482,26"/>
-
- <!-- Arabic (right-to-left) -->
- <g id="ar_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Catalan -->
- <g id="ca_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Czech -->
- <g id="cs_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Danish -->
- <g id="da_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- German -->
- <g id="de_text">
- <use href="#placard"/>
- <text class="font22">
- <tspan x="0" y="45px">HÄNDE</tspan>
- <tspan x="0" dy="35px">WEG</tspan>
- <tspan x="0" dy="35px">VON MEINEN</tspan>
- <tspan x="0" dy="35px">DATEN</tspan>
- </text>
- </g>
- <!-- Greek -->
- <g id="el_text">
- <use href="#placard"/>
- <text class="font22">
- <tspan x="0" y="35px">ΚΑΤΩ ΤΑ</tspan>
- <tspan x="0" dy="32px">ΧΕΡΙΑ</tspan>
- <tspan x="0" dy="32px">ΑΠΟ ΤΑ</tspan>
- <tspan x="0" dy="32px">ΔΕΔΟΜΕΝΑ</tspan>
- <tspan x="0" dy="32px">ΜΟΥ</tspan>
- </text>
- </g>
- <!-- Spanish-Argentina -->
- <g id="es_AR_text">
- <use href="#placard"/>
- <text class="font30">
- <tspan x="0" y="35px">NO</tspan>
- <tspan x="0" dy="40px">TOQUÉS</tspan>
- <tspan x="0" dy="40px">MIS</tspan>
- <tspan x="0" dy="40px">DATOS</tspan>
- </text>
- </g>
-
- <!-- Spanish-Spain -->
- <g id="es_ES_text">
- <use href="#placard"/>
- <text class="font30">
- <tspan x="0" y="35px">NO</tspan>
- <tspan x="0" dy="40px">TOQUES</tspan>
- <tspan x="0" dy="40px">MIS</tspan>
- <tspan x="0" dy="40px">DATOS</tspan>
- </text>
- </g>
-
- <!-- Farsi (right-to-left) -->
- <g id="fa_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- French -->
- <g id="fr_text">
- <use href="#placard"/>
- <text class="font22">
- <tspan x="0" y="45px">NE TOUCHEZ</tspan>
- <tspan x="0" dy="35px">PAS</tspan>
- <tspan x="0" dy="35px">À MES</tspan>
- <tspan x="0" dy="35px">DONNÉES</tspan>
- </text>
- </g>
- <!-- Irish -->
- <g id="ga_IE_text">
- <use href="#placard"/>
- <text class="font26">
- <tspan x="0" y="45px">NÁ DRANN</tspan>
- <tspan x="0" dy="35px">LE MO</tspan>
- <tspan x="0" dy="35px">CHUID</tspan>
- <tspan x="0" dy="35px">SONRAÍ</tspan>
- </text>
- </g>
- <!-- Hebrew (right-to-left) -->
- <g id="he_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Hungarian -->
- <g id="hu_text">
- <use href="#placard"/>
- <text class="font22">
- <tspan x="0" y="40px">EL A</tspan>
- <tspan x="0" dy="38px">KEZEKKEL</tspan>
- <tspan x="0" dy="38px">AZ</tspan>
- <tspan x="0" dy="38px">ADATAIMTÓL</tspan>
- </text>
- </g>
- <!-- Indonesian -->
- <g id="id_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Icelandic -->
- <g id="is_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Italian -->
- <g id="it_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Japanese -->
- <g id="ja_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Georgian -->
- <g id="ka_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Korean -->
- <g id="ko_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Lithuanian -->
- <g id="lt_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Macedonian -->
- <g id="mk_text">
- <use href="#placard"/>
- <text class="font18">
- <tspan x="0" y="35px">РАЦЕТЕ</tspan>
- <tspan x="0" dy="30px">ПОНАСТРАНА</tspan>
- <tspan x="0" dy="30px">ОД</tspan>
- <tspan x="0" dy="30px">МОИТЕ</tspan>
- <tspan x="0" dy="30px">ПОДАТОЦИ</tspan>
- </text>
- </g>
- <!-- Malay -->
- <g id="ms_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Burmese -->
- <g id="my_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Norwegian -->
- <g id="nb_NO_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Dutch -->
- <g id="nl_text">
- <use href="#placard"/>
- <text class="font24">
- <tspan x="0" y="55px">HANDEN AF</tspan>
- <tspan x="0" dy="40px">VAN MIJN</tspan>
- <tspan x="0" dy="40px">GEGEVENS</tspan>
- </text>
- </g>
- <!-- Polish -->
- <g id="pl_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Portugese-Brazil -->
- <g id="pt_BR_text">
- <use href="#placard"/>
- <text class="font26">
- <tspan x="0" y="40px">TIREM AS</tspan>
- <tspan x="0" dy="40px">MÃOS</tspan>
- <tspan x="0" dy="40px">DOS MEUS</tspan>
- <tspan x="0" dy="40px">DADOS</tspan>
- </text>
- </g>
- <!-- Romanian -->
- <g id="ro_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Russian -->
- <g id="ru_text">
- <use href="#placard"/>
- <text class="font26">
- <tspan x="0" y="35px">РУКИ</tspan>
- <tspan x="0" dy="40px">ПРОЧЬ</tspan>
- <tspan x="0" dy="40px">ОТ МОИХ</tspan>
- <tspan x="0" dy="40px">ДАННЫХ</tspan>
- </text>
- </g>
- <!-- Swedish -->
- <g id="sv_SE_text">
- <use href="#placard"/>
- <text class="font24">
- <tspan x="0" y="45px">HÄNDERNA</tspan>
- <tspan x="0" dy="35px">BORT FRÅN</tspan>
- <tspan x="0" dy="35px">MINA</tspan>
- <tspan x="0" dy="35px">DATA</tspan>
- </text>
- </g>
- <!-- Thai -->
- <g id="th_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Turkish -->
- <g id="tr_text">
- <use href="#placard"/>
- <text class="font24">
- <tspan x="0" y="80px">VERİLERİME</tspan>
- <tspan x="0" dy="40px">DOKUNMA</tspan>
- </text>
- </g>
- <!-- Vietnamese -->
- <g id="vi_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- <!-- Chinese Simplified/PRC -->
- <g id="zh_CN_text">
- <use href="#placard"/>
- <text>
- <tspan x="0" y="50px">别碰</tspan>
- <tspan x="0" dy="50px">我的</tspan>
- <tspan x="0" dy="50px">隐私</tspan>
- </text>
- </g>
- <!-- Chinese Traditional/Taiwan -->
- <g id="zh_TW_text">
- <use href="#placard"/>
- <text>
- </text>
- </g>
- </defs>
-
- <!-- non en-US locales -->
- <!-- <use id="ar" href="#ar_text"/> -->
- <!-- <use id="ca" href="#ca_text"/> -->
- <!-- <use id="cs" href="#cs_text"/> -->
- <!-- <use id="da" href="#da_text"/> -->
- <use id="de" href="#de_text"/>
- <use id="el" href="#el_text"/>
- <use id="es-AR" href="#es_AR_text"/>
- <use id="es-ES" href="#es_ES_text"/>
- <!-- <use id="fa" href="#fa_text"/> -->
- <use id="fr" href="#fr_text"/>
- <use id="ga-IE" href="#ga_IE_text"/>
- <!-- <use id="he" href="#he_text"/> -->
- <use id="hu" href="#hu_text"/>
- <!-- <use id="id" href="#id_text"/> -->
- <!-- <use id="is" href="#is_text"/> -->
- <!-- <use id="it" href="#it_text"/> -->
- <!-- <use id="ja" href="#ja_text"/> -->
- <!-- <use id="ka" href="#ka_text"/> -->
- <!-- <use id="ko" href="#ko_text"/> -->
- <!-- <use id="lt" href="#lt_text"/> -->
- <use id="mk" href="#mk_text"/>
- <!-- <use id="ms" href="#ms_text"/> -->
- <!-- <use id="my" href="#my_text"/> -->
- <!-- <use id="nb-NO" href="#nb_NO_text"/> -->
- <use id="nl" href="#nl_text"/>
- <!-- <use id="pl" href="#pl_text"/> -->
- <use id="pt-BR" href="#pt_BR_text"/>
- <!-- <use id="ro" href="#ro_text"/> -->
- <use id="ru" href="#ru_text"/>
- <use id="sv-SE" href="#sv_SE_text"/>
- <!-- <use id="th" href="#th_text"/> -->
- <use id="tr" href="#tr_text"/>
- <!-- <use id="vi" href="#vi_text"/> -->
- <use id="zh-CN" href="#zh_CN_text"/>
- <!-- <use id="zh-TW" href="#zh_TW_text"/> -->
-</svg>
1
0

[tor-browser/tor-browser-91.4.0esr-11.5-1] Bug 40645: Migrate Moat APIs to Moat.jsm module
by gk@torproject.org 21 Dec '21
by gk@torproject.org 21 Dec '21
21 Dec '21
commit f4e457ffceac50530c102e8b2331910eea5a47dc
Author: Richard Pospesel <richard(a)torproject.org>
Date: Fri Oct 15 16:15:05 2021 +0200
Bug 40645: Migrate Moat APIs to Moat.jsm module
---
browser/modules/Moat.jsm | 667 ++++++++++++++++++++++++++++++++++++++++++++++
browser/modules/moz.build | 1 +
2 files changed, 668 insertions(+)
diff --git a/browser/modules/Moat.jsm b/browser/modules/Moat.jsm
new file mode 100644
index 000000000000..b26eb32bdfb3
--- /dev/null
+++ b/browser/modules/Moat.jsm
@@ -0,0 +1,667 @@
+"use strict";
+
+var EXPORTED_SYMBOLS = ["MoatRPC"];
+
+const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+
+const { Subprocess } = ChromeUtils.import(
+ "resource://gre/modules/Subprocess.jsm"
+);
+
+const { TorLauncherUtil } = ChromeUtils.import(
+ "resource://torlauncher/modules/tl-util.jsm"
+);
+
+const { TorProtocolService } = ChromeUtils.import(
+ "resource:///modules/TorProtocolService.jsm"
+);
+
+const { TorSettings } = ChromeUtils.import(
+ "resource:///modules/TorSettings.jsm"
+);
+
+const TorLauncherPrefs = Object.freeze({
+ bridgedb_front: "extensions.torlauncher.bridgedb_front",
+ bridgedb_reflector: "extensions.torlauncher.bridgedb_reflector",
+ moat_service: "extensions.torlauncher.moat_service",
+});
+
+// Config keys used to query tor daemon properties
+const TorConfigKeys = Object.freeze({
+ clientTransportPlugin: "ClientTransportPlugin",
+});
+
+//
+// Launches and controls the PT process lifetime
+//
+class MeekTransport {
+ constructor() {
+ this._inited = false;
+ this._meekClientProcess = null;
+ this._meekProxyType = null;
+ this._meekProxyAddress = null;
+ this._meekProxyPort = 0;
+ this._meekProxyUsername = null;
+ this._meekProxyPassword = null;
+ }
+
+ // launches the meekprocess
+ async init() {
+ // ensure we haven't already init'd
+ if (this._inited) {
+ throw new Error("MeekTransport: Already initialized");
+ }
+
+ // cleanup function for killing orphaned pt process
+ let onException = () => {};
+ try {
+ // figure out which pluggable transport to use
+ const supportedTransports = ["meek", "meek_lite"];
+ let transportPlugins = await TorProtocolService.readStringArraySetting(
+ TorConfigKeys.clientTransportPlugin
+ );
+
+ let { meekTransport, meekClientPath, meekClientArgs } = (() => {
+ for (const line of transportPlugins) {
+ let tokens = line.split(" ");
+ if (tokens.length > 2 && tokens[1] == "exec") {
+ let transportArray = tokens[0].split(",").map(aStr => aStr.trim());
+ let transport = transportArray.find(aTransport =>
+ supportedTransports.includes(aTransport)
+ );
+
+ if (transport != undefined) {
+ return {
+ meekTransport: transport,
+ meekClientPath: tokens[2],
+ meekClientArgs: tokens.slice(3),
+ };
+ }
+ }
+ }
+
+ return {
+ meekTransport: null,
+ meekClientPath: null,
+ meekClientArgs: null,
+ };
+ })();
+
+ // Convert meek client path to absolute path if necessary
+ let meekWorkDir = await TorLauncherUtil.getTorFile(
+ "pt-startup-dir",
+ false
+ );
+ let re = TorLauncherUtil.isWindows ? /^[A-Za-z]:\\/ : /^\//;
+ if (!re.test(meekClientPath)) {
+ let meekPath = meekWorkDir.clone();
+ meekPath.appendRelativePath(meekClientPath);
+ meekClientPath = meekPath.path;
+ }
+
+ // Construct the per-connection arguments.
+ let meekClientEscapedArgs = "";
+ const meekReflector = Services.prefs.getStringPref(
+ TorLauncherPrefs.bridgedb_reflector
+ );
+
+ // Escape aValue per section 3.5 of the PT specification:
+ // First the "<Key>=<Value>" formatted arguments MUST be escaped,
+ // such that all backslash, equal sign, and semicolon characters
+ // are escaped with a backslash.
+ let escapeArgValue = aValue => {
+ if (!aValue) {
+ return "";
+ }
+
+ let rv = aValue.replace(/\\/g, "\\\\");
+ rv = rv.replace(/=/g, "\\=");
+ rv = rv.replace(/;/g, "\\;");
+ return rv;
+ };
+
+ if (meekReflector) {
+ meekClientEscapedArgs += "url=";
+ meekClientEscapedArgs += escapeArgValue(meekReflector);
+ }
+ const meekFront = Services.prefs.getStringPref(
+ TorLauncherPrefs.bridgedb_front
+ );
+ if (meekFront) {
+ if (meekClientEscapedArgs.length) {
+ meekClientEscapedArgs += ";";
+ }
+ meekClientEscapedArgs += "front=";
+ meekClientEscapedArgs += escapeArgValue(meekFront);
+ }
+
+ // Setup env and start meek process
+ let ptStateDir = TorLauncherUtil.getTorFile("tordatadir", false);
+ let meekHelperProfileDir = TorLauncherUtil.getTorFile(
+ "pt-profiles-dir",
+ true
+ );
+ ptStateDir.append("pt_state"); // Match what tor uses.
+ meekHelperProfileDir.appendRelativePath("profile.moat-http-helper");
+
+ let envAdditions = {
+ TOR_PT_MANAGED_TRANSPORT_VER: "1",
+ TOR_PT_STATE_LOCATION: ptStateDir.path,
+ TOR_PT_EXIT_ON_STDIN_CLOSE: "1",
+ TOR_PT_CLIENT_TRANSPORTS: meekTransport,
+ TOR_BROWSER_MEEK_PROFILE: meekHelperProfileDir.path,
+ };
+ if (TorSettings.proxy.enabled) {
+ envAdditions.TOR_PT_PROXY = TorSettings.proxy.uri;
+ }
+
+ let opts = {
+ command: meekClientPath,
+ arguments: meekClientArgs,
+ workdir: meekWorkDir.path,
+ environmentAppend: true,
+ environment: envAdditions,
+ stderr: "pipe",
+ };
+
+ // Launch meek client
+ let meekClientProcess = await Subprocess.call(opts);
+ // kill our process if exception is thrown
+ onException = () => {
+ meekClientProcess.kill();
+ };
+
+ // Callback chain for reading stderr
+ let stderrLogger = async () => {
+ if (this._meekClientProcess) {
+ let errString = await this._meekClientProcess.stderr.readString();
+ console.log(`MeekTransport: stderr => ${errString}`);
+ await stderrLogger();
+ }
+ };
+ stderrLogger();
+
+ // Read pt's stdout until terminal (CMETHODS DONE) is reached
+ // returns array of lines for parsing
+ let getInitLines = async (stdout = "") => {
+ let string = await meekClientProcess.stdout.readString();
+ stdout += string;
+
+ // look for the final message
+ const CMETHODS_DONE = "CMETHODS DONE";
+ let endIndex = stdout.lastIndexOf(CMETHODS_DONE);
+ if (endIndex != -1) {
+ endIndex += CMETHODS_DONE.length;
+ return stdout.substr(0, endIndex).split("\n");
+ }
+ return getInitLines(stdout);
+ };
+
+ // read our lines from pt's stdout
+ let meekInitLines = await getInitLines();
+ // tokenize our pt lines
+ let meekInitTokens = meekInitLines.map(line => {
+ let tokens = line.split(" ");
+ return {
+ keyword: tokens[0],
+ args: tokens.slice(1),
+ };
+ });
+
+ let meekProxyType = null;
+ let meekProxyAddr = null;
+ let meekProxyPort = 0;
+
+ // parse our pt tokens
+ for (const { keyword, args } of meekInitTokens) {
+ const argsJoined = args.join(" ");
+ let keywordError = false;
+ switch (keyword) {
+ case "VERSION": {
+ if (args.length != 1 || args[0] !== "1") {
+ keywordError = true;
+ }
+ break;
+ }
+ case "PROXY": {
+ if (args.length != 1 || args[0] !== "DONE") {
+ keywordError = true;
+ }
+ break;
+ }
+ case "CMETHOD": {
+ if (args.length != 3) {
+ keywordError = true;
+ break;
+ }
+ const transport = args[0];
+ const proxyType = args[1];
+ const addrPortString = args[2];
+ const addrPort = addrPortString.split(":");
+
+ if (transport !== meekTransport) {
+ throw new Error(
+ `MeekTransport: Expected ${meekTransport} but found ${transport}`
+ );
+ }
+ if (!["socks4", "socks4a", "socks5"].includes(proxyType)) {
+ throw new Error(
+ `MeekTransport: Invalid proxy type => ${proxyType}`
+ );
+ }
+ if (addrPort.length != 2) {
+ throw new Error(
+ `MeekTransport: Invalid proxy address => ${addrPortString}`
+ );
+ }
+ const addr = addrPort[0];
+ const port = parseInt(addrPort[1]);
+ if (port < 1 || port > 65535) {
+ throw new Error(`MeekTransport: Invalid proxy port => ${port}`);
+ }
+
+ // convert proxy type to strings used by protocol-proxy-servce
+ meekProxyType = proxyType === "socks5" ? "socks" : "socks4";
+ meekProxyAddr = addr;
+ meekProxyPort = port;
+
+ break;
+ }
+ // terminal
+ case "CMETHODS": {
+ if (args.length != 1 || args[0] !== "DONE") {
+ keywordError = true;
+ }
+ break;
+ }
+ // errors (all fall through):
+ case "VERSION-ERROR":
+ case "ENV-ERROR":
+ case "PROXY-ERROR":
+ case "CMETHOD-ERROR":
+ throw new Error(`MeekTransport: ${keyword} => '${argsJoined}'`);
+ }
+ if (keywordError) {
+ throw new Error(
+ `MeekTransport: Invalid ${keyword} keyword args => '${argsJoined}'`
+ );
+ }
+ }
+
+ this._meekClientProcess = meekClientProcess;
+ // register callback to cleanup on process exit
+ this._meekClientProcess.wait().then(exitObj => {
+ this._meekClientProcess = null;
+ this.uninit();
+ });
+
+ this._meekProxyType = meekProxyType;
+ this._meekProxyAddress = meekProxyAddr;
+ this._meekProxyPort = meekProxyPort;
+
+ // socks5
+ if (meekProxyType === "socks") {
+ if (meekClientEscapedArgs.length <= 255) {
+ this._meekProxyUsername = meekClientEscapedArgs;
+ this._meekProxyPassword = "\x00";
+ } else {
+ this._meekProxyUsername = meekClientEscapedArgs.substring(0, 255);
+ this._meekProxyPassword = meekClientEscapedArgs.substring(255);
+ }
+ // socks4
+ } else {
+ this._meekProxyUsername = meekClientEscapedArgs;
+ this._meekProxyPassword = undefined;
+ }
+
+ this._inited = true;
+ } catch (ex) {
+ onException();
+ throw ex;
+ }
+ }
+
+ async uninit() {
+ this._inited = false;
+
+ await this._meekClientProcess?.kill();
+ this._meekClientProcess = null;
+ this._meekProxyType = null;
+ this._meekProxyAddress = null;
+ this._meekProxyPort = 0;
+ this._meekProxyUsername = null;
+ this._meekProxyPassword = null;
+ }
+}
+
+//
+// Callback object with a cached promise for the returned Moat data
+//
+class MoatResponseListener {
+ constructor() {
+ this._response = "";
+ // we need this promise here because await nsIHttpChannel::asyncOpen does
+ // not return only once the request is complete, it seems to return
+ // after it begins, so we have to get the result from this listener object.
+ // This promise is only resolved once onStopRequest is called
+ this._responsePromise = new Promise((resolve, reject) => {
+ this._resolve = resolve;
+ this._reject = reject;
+ });
+ }
+
+ // callers wait on this for final response
+ response() {
+ return this._responsePromise;
+ }
+
+ // noop
+ onStartRequest(request) {}
+
+ // resolve or reject our Promise
+ onStopRequest(request, status) {
+ try {
+ if (!Components.isSuccessCode(status)) {
+ const errorMessage = TorLauncherUtil.getLocalizedStringForError(status);
+ this._reject(new Error(errorMessage));
+ }
+ if (request.responseStatus != 200) {
+ this._reject(new Error(request.responseStatusText));
+ }
+ } catch (err) {
+ this._reject(err);
+ }
+ this._resolve(this._response);
+ }
+
+ // read response data
+ onDataAvailable(request, stream, offset, length) {
+ const scriptableStream = Cc[
+ "@mozilla.org/scriptableinputstream;1"
+ ].createInstance(Ci.nsIScriptableInputStream);
+ scriptableStream.init(stream);
+ this._response += scriptableStream.read(length);
+ }
+}
+
+// constructs the json objects and sends the request over moat
+class MoatRPC {
+ constructor() {
+ this._meekTransport = null;
+ this._inited = false;
+ }
+
+ async init() {
+ if (this._inited) {
+ throw new Error("MoatRPC: Already initialized");
+ }
+
+ let meekTransport = new MeekTransport();
+ await meekTransport.init();
+ this._meekTransport = meekTransport;
+ this._inited = true;
+ }
+
+ async uninit() {
+ await this._meekTransport?.uninit();
+ this._meekTransport = null;
+ this._inited = false;
+ }
+
+ async _makeRequest(procedure, args) {
+ if (!this._inited) {
+ throw new Error("MoatRPC: Not initialized");
+ }
+
+ const proxyType = this._meekTransport._meekProxyType;
+ const proxyAddress = this._meekTransport._meekProxyAddress;
+ const proxyPort = this._meekTransport._meekProxyPort;
+ const proxyUsername = this._meekTransport._meekProxyUsername;
+ const proxyPassword = this._meekTransport._meekProxyPassword;
+
+ const proxyPS = Cc[
+ "@mozilla.org/network/protocol-proxy-service;1"
+ ].getService(Ci.nsIProtocolProxyService);
+ const flags = Ci.nsIProxyInfo.TRANSPARENT_PROXY_RESOLVES_HOST;
+ const noTimeout = 0xffffffff; // UINT32_MAX
+ const proxyInfo = proxyPS.newProxyInfoWithAuth(
+ proxyType,
+ proxyAddress,
+ proxyPort,
+ proxyUsername,
+ proxyPassword,
+ undefined,
+ undefined,
+ flags,
+ noTimeout,
+ undefined
+ );
+
+ const procedureURIString = `${Services.prefs.getStringPref(
+ TorLauncherPrefs.moat_service
+ )}/${procedure}`;
+
+ const procedureURI = Services.io.newURI(procedureURIString);
+ // There does not seem to be a way to directly create an nsILoadInfo from
+ // JavaScript, so we create a throw away non-proxied channel to get one.
+ const secFlags = Ci.nsILoadInfo.SEC_ALLOW_CROSS_ORIGIN_SEC_CONTEXT_IS_NULL;
+ const loadInfo = Services.io.newChannelFromURI(
+ procedureURI,
+ undefined,
+ Services.scriptSecurityManager.getSystemPrincipal(),
+ undefined,
+ secFlags,
+ Ci.nsIContentPolicy.TYPE_OTHER
+ ).loadInfo;
+
+ const httpHandler = Services.io
+ .getProtocolHandler("http")
+ .QueryInterface(Ci.nsIHttpProtocolHandler);
+ const ch = httpHandler
+ .newProxiedChannel(procedureURI, proxyInfo, 0, undefined, loadInfo)
+ .QueryInterface(Ci.nsIHttpChannel);
+
+ // remove all headers except for 'Host"
+ const headers = [];
+ ch.visitRequestHeaders({
+ visitHeader: (key, val) => {
+ if (key !== "Host") {
+ headers.push(key);
+ }
+ },
+ });
+ headers.forEach(key => ch.setRequestHeader(key, "", false));
+
+ // Arrange for the POST data to be sent.
+ const argsJson = JSON.stringify(args);
+
+ const inStream = Cc["@mozilla.org/io/string-input-stream;1"].createInstance(
+ Ci.nsIStringInputStream
+ );
+ inStream.setData(argsJson, argsJson.length);
+ const upChannel = ch.QueryInterface(Ci.nsIUploadChannel);
+ const contentType = "application/vnd.api+json";
+ upChannel.setUploadStream(inStream, contentType, argsJson.length);
+ ch.requestMethod = "POST";
+
+ // Make request
+ const listener = new MoatResponseListener();
+ await ch.asyncOpen(listener, ch);
+
+ // wait for response
+ const response = await listener.response();
+
+ // parse that JSON
+ const retval = JSON.parse(response);
+ return retval;
+ }
+
+ //
+ // Moat APIs
+ //
+
+ // Receive a CAPTCHA challenge, takes the following parameters:
+ // - transports: array of transport strings available to us eg: ["obfs4", "meek"]
+ //
+ // returns an object with the following fields:
+ // - transport: a transport string the moat server decides it will send you selected
+ // from the list of provided transports
+ // - image: a base64 encoded jpeg with the captcha to complete
+ // - challenge: a nonce/cookie string associated with this request
+ async fetch(transports) {
+
+ if (
+ // ensure this is an array
+ Array.isArray(transports) &&
+ // ensure array has values
+ !!transports.length &&
+ // ensure each value in the array is a string
+ transports.reduce((acc, cur) => acc && typeof cur === "string", true)
+ ) {
+ const args = {
+ data: [
+ {
+ version: "0.1.0",
+ type: "client-transports",
+ supported: transports,
+ },
+ ],
+ };
+ const retval = await this._makeRequest("fetch", args);
+ if ("errors" in retval) {
+ const code = retval.errors[0].code;
+ const detail = retval.errors[0].detail;
+ throw new Error(`MoatRPC: ${detail} (${code})`);
+ }
+
+ const transport = retval.data[0].transport;
+ const image = retval.data[0].image;
+ const challenge = retval.data[0].challenge;
+
+ return { transport, image, challenge };
+ }
+ throw new Error("MoatRPC: fetch() expects a non-empty array of strings");
+ }
+
+ // Submit an answer for a CAPTCHA challenge and get back bridges, takes the following
+ // parameters:
+ // - transport: the transport string associated with a previous fetch request
+ // - challenge: the nonce string associated with the fetch request
+ // - solution: solution to the CAPTCHA associated with the fetch request
+ // - qrcode: true|false whether we want to get back a qrcode containing the bridge strings
+ //
+ // returns an object with the following fields:
+ // - bridges: an array of bridge line strings
+ // - qrcode: base64 encoded jpeg of bridges if requested, otherwise null
+ // if the provided solution is incorrect, returns an empty object
+ async check(transport, challenge, solution, qrcode) {
+ const args = {
+ data: [
+ {
+ id: "2",
+ version: "0.1.0",
+ type: "moat-solution",
+ transport,
+ challenge,
+ solution,
+ qrcode: qrcode ? "true" : "false",
+ },
+ ],
+ };
+ const retval = await this._makeRequest("check", args);
+ if ("errors" in retval) {
+ const code = retval.errors[0].code;
+ const detail = retval.errors[0].detail;
+ if (code == 419 && detail === "The CAPTCHA solution was incorrect.") {
+ return {};
+ }
+
+ throw new Error(`MoatRPC: ${detail} (${code})`);
+ }
+
+ const bridges = retval.data[0].bridges;
+ const qrcodeImg = qrcode ? retval.data[0].qrcode : null;
+
+ return { bridges, qrcode: qrcodeImg };
+ }
+
+ // Request tor settings for the user optionally based on their location (derived
+ // from their IP), takes the following parameters:
+ // - transports: optional, an array of transports available to the client; if empty (or not
+ // given) returns settings using all working transports known to the server
+ // - country: optional, an ISO 3166-1 alpha-2 country code to request settings for;
+ // if not provided the country is determined by the user's IP address
+ //
+ // returns an array of settings objects in roughly the same format as the _settings
+ // object on the TorSettings module.
+ // - If the server cannot determine the user's country (and no country code is provided),
+ // then null is returned
+ // - If the country has no associated settings, an empty object is returned
+ async circumvention_settings(transports, country) {
+ const args = {
+ transports: transports ? transports : [],
+ country: country,
+ };
+ const retval = await this._makeRequest("circumvention/settings", args);
+ if ("errors" in retval) {
+ const code = retval.errors[0].code;
+ const detail = retval.errors[0].detail;
+ if (code == 406) {
+ console.log("MoatRPC::circumvention_settings(): Cannot automatically determine user's country-code");
+ // cannot determine user's country
+ return null;
+ }
+
+ throw new Error(`MoatRPC: ${detail} (${code})`);
+ }
+
+ return retval;
+ }
+
+ // Request a copy of the censorship circumvention map (as if cirumvention_settings were
+ // queried for all country codes)
+ //
+ // returns a map whose key is an ISO 3166-1 alpha-2 country code and those
+ // values are arrays of settings objects
+ async circumvention_map() {
+ const args = { };
+ const retval = await this._makeRequest("circumvention/map", args);
+ if ("errors" in retval) {
+ const code = retval.errors[0].code;
+ const detail = retval.errors[0].detail;
+ throw new Error(`MoatRPC: ${detail} (${code})`);
+ }
+
+ let map = new Map();
+ for (const [country, config] of Object.entries(retval)) {
+ map.set(country, config);
+ }
+
+ return map;
+ }
+
+ // Request a copy of the builtin bridges, takes the following parameters:
+ // - transports: optional, an array of transports we would like the latest bridge strings
+ // for; if empty (or not given) returns all of them
+ //
+ // returns a map whose keys are pluggable transport types and whose values are arrays of
+ // bridge strings for that type
+ async circumvention_builtin(transports) {
+ const args = {
+ transports: transports ? transports : [],
+ };
+ const retval = await this._makeRequest("circumvention/builtin", args);
+ if ("errors" in retval) {
+ const code = retval.errors[0].code;
+ const detail = retval.errors[0].detail;
+ throw new Error(`MoatRPC: ${detail} (${code})`);
+ }
+
+ let map = new Map();
+ for (const [transport, bridge_strings] of Object.entries(retval)) {
+ map.set(transport, bridge_strings);
+ }
+
+ return map;
+ }
+}
diff --git a/browser/modules/moz.build b/browser/modules/moz.build
index 8c001d4ac6ed..a06914ccf8d9 100644
--- a/browser/modules/moz.build
+++ b/browser/modules/moz.build
@@ -139,6 +139,7 @@ EXTRA_JS_MODULES += [
"FaviconLoader.jsm",
"HomePage.jsm",
"LaterRun.jsm",
+ 'Moat.jsm',
"NewTabPagePreloading.jsm",
"OpenInTabsUtils.jsm",
"PageActions.jsm",
1
0

[tor-browser/tor-browser-91.4.0esr-11.5-1] fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#tor
by gk@torproject.org 21 Dec '21
by gk@torproject.org 21 Dec '21
21 Dec '21
commit 4cfbf6e5718da6e7186e391ebf42a62e08692d19
Author: Richard Pospesel <richard(a)torproject.org>
Date: Fri Oct 15 16:16:32 2021 +0200
fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#tor
---
.../torpreferences/content/requestBridgeDialog.jsm | 27 +++--
.../components/torpreferences/content/torPane.js | 1 -
browser/modules/BridgeDB.jsm | 119 ++++++---------------
3 files changed, 51 insertions(+), 96 deletions(-)
diff --git a/browser/components/torpreferences/content/requestBridgeDialog.jsm b/browser/components/torpreferences/content/requestBridgeDialog.jsm
index 807d46cdfb18..44ae11762def 100644
--- a/browser/components/torpreferences/content/requestBridgeDialog.jsm
+++ b/browser/components/torpreferences/content/requestBridgeDialog.jsm
@@ -16,7 +16,6 @@ class RequestBridgeDialog {
this._incorrectCaptchaHbox = null;
this._incorrectCaptchaLabel = null;
this._bridges = [];
- this._proxyURI = null;
}
static get selectors() {
@@ -77,7 +76,7 @@ class RequestBridgeDialog {
this._captchaImage = this._dialog.querySelector(selectors.captchaImage);
// request captcha from bridge db
- BridgeDB.requestNewCaptchaImage(this._proxyURI).then(uri => {
+ BridgeDB.requestNewCaptchaImage().then(uri => {
this._setcaptchaImage(uri);
});
@@ -160,17 +159,24 @@ class RequestBridgeDialog {
BridgeDB.submitCaptchaGuess(captchaText)
.then(aBridges => {
- this._bridges = aBridges;
-
- this._submitButton.disabled = false;
- // This was successful, but use cancelDialog() to close, since
- // we intercept the `dialogaccept` event.
- this._dialog.cancelDialog();
+ if (aBridges) {
+ this._bridges = aBridges;
+ this._submitButton.disabled = false;
+ // This was successful, but use cancelDialog() to close, since
+ // we intercept the `dialogaccept` event.
+ this._dialog.cancelDialog();
+ } else {
+ this._bridges = [];
+ this._setUIDisabled(false);
+ this._incorrectCaptchaHbox.style.visibility = "visible";
+ }
})
.catch(aError => {
+ // TODO: handle other errors properly here when we do the bridge settings re-design
this._bridges = [];
this._setUIDisabled(false);
this._incorrectCaptchaHbox.style.visibility = "visible";
+ console.log(eError);
});
}
@@ -182,13 +188,12 @@ class RequestBridgeDialog {
this._captchaEntryTextbox.value = "";
this._incorrectCaptchaHbox.style.visibility = "hidden";
- BridgeDB.requestNewCaptchaImage(this._proxyURI).then(uri => {
+ BridgeDB.requestNewCaptchaImage().then(uri => {
this._setcaptchaImage(uri);
});
}
- openDialog(gSubDialog, aProxyURI, aCloseCallback) {
- this._proxyURI = aProxyURI;
+ openDialog(gSubDialog, aCloseCallback) {
gSubDialog.open(
"chrome://browser/content/torpreferences/requestBridgeDialog.xhtml",
{
diff --git a/browser/components/torpreferences/content/torPane.js b/browser/components/torpreferences/content/torPane.js
index 2df71db9327e..58eec7ff74aa 100644
--- a/browser/components/torpreferences/content/torPane.js
+++ b/browser/components/torpreferences/content/torPane.js
@@ -686,7 +686,6 @@ const gTorPane = (function() {
let requestBridgeDialog = new RequestBridgeDialog();
requestBridgeDialog.openDialog(
gSubDialog,
- TorSettings.proxy.uri,
aBridges => {
if (aBridges.length > 0) {
let bridgeStrings = aBridges.join("\n");
diff --git a/browser/modules/BridgeDB.jsm b/browser/modules/BridgeDB.jsm
index 9f76b4f05a69..50665710ebf4 100644
--- a/browser/modules/BridgeDB.jsm
+++ b/browser/modules/BridgeDB.jsm
@@ -2,109 +2,60 @@
var EXPORTED_SYMBOLS = ["BridgeDB"];
-const { TorLauncherBridgeDB } = ChromeUtils.import(
- "resource://torlauncher/modules/tl-bridgedb.jsm"
-);
-const { TorProtocolService } = ChromeUtils.import(
- "resource:///modules/TorProtocolService.jsm"
-);
-const { TorStrings } = ChromeUtils.import("resource:///modules/TorStrings.jsm");
+const { MoatRPC } = ChromeUtils.import("resource:///modules/Moat.jsm");
var BridgeDB = {
- _moatRequestor: null,
- _currentCaptchaInfo: null,
+ _moatRPC: null,
+ _challenge: null,
+ _image: null,
_bridges: null,
get currentCaptchaImage() {
- if (this._currentCaptchaInfo) {
- return this._currentCaptchaInfo.captchaImage;
- }
- return null;
+ return this._image;
},
get currentBridges() {
return this._bridges;
},
- async submitCaptchaGuess(aCaptchaSolution) {
- if (this._moatRequestor && this._currentCaptchaInfo) {
- return this._moatRequestor
- .finishFetch(
- this._currentCaptchaInfo.transport,
- this._currentCaptchaInfo.challenge,
- aCaptchaSolution
- )
- .then(aBridgeInfo => {
- this._moatRequestor.close();
- this._moatRequestor = null;
- this._currentCaptchaInfo = null;
- this._bridges = aBridgeInfo.bridges;
- // array of bridge strings
- return this._bridges;
- });
+ async submitCaptchaGuess(solution) {
+ if (!this._moatRPC) {
+ this._moatRPC = new MoatRPC();
+ await this._moatRPC.init();
}
- return new Promise((aResponse, aReject) => {
- aReject(new Error("Invalid _moatRequestor or _currentCaptchaInfo"));
- });
- },
-
- async requestNewCaptchaImage(aProxyURI) {
- // close and clear out existing state on captcha request
- this.close();
-
- let transportPlugins = await TorProtocolService.readStringArraySetting(
- TorStrings.configKeys.clientTransportPlugin
+ const response = await this._moatRPC.check(
+ "obfs4",
+ this._challenge,
+ solution,
+ false
);
+ this._bridges = response?.bridges;
+ return this._bridges;
+ },
- let meekClientPath;
- let meekTransport; // We support both "meek" and "meek_lite".
- let meekClientArgs;
- // TODO: shouldn't this early out once meek settings are found?
- for (const line of transportPlugins) {
- // Parse each ClientTransportPlugin line and look for the meek or
- // meek_lite transport. This code works a lot like the Tor daemon's
- // parse_transport_line() function.
- let tokens = line.split(" ");
- if (tokens.length > 2 && tokens[1] == "exec") {
- let transportArray = tokens[0].split(",").map(aStr => aStr.trim());
- let transport = transportArray.find(
- aTransport => aTransport === "meek"
- );
- if (!transport) {
- transport = transportArray.find(
- aTransport => aTransport === "meek_lite"
- );
- }
- if (transport) {
- meekTransport = transport;
- meekClientPath = tokens[2];
- meekClientArgs = tokens.slice(3);
- }
+ async requestNewCaptchaImage() {
+ try {
+ if (!this._moatRPC) {
+ this._moatRPC = new MoatRPC();
+ await this._moatRPC.init();
}
- }
-
- this._moatRequestor = TorLauncherBridgeDB.createMoatRequestor();
- return this._moatRequestor
- .init(aProxyURI, meekTransport, meekClientPath, meekClientArgs)
- .then(() => {
- // TODO: get this from TorLauncherUtil
- let bridgeType = "obfs4";
- return this._moatRequestor.fetchBridges([bridgeType]);
- })
- .then(aCaptchaInfo => {
- // cache off the current captcha info as the challenge is needed for response
- this._currentCaptchaInfo = aCaptchaInfo;
- return aCaptchaInfo.captchaImage;
- });
+ const response = await this._moatRPC.fetch(["obfs4"]);
+ this._challenge = response.challenge;
+ this._image =
+ "data:image/jpeg;base64," + encodeURIComponent(response.image);
+ } catch (err) {
+ console.log(`error : ${err}`);
+ }
+ return this._image;
},
close() {
- if (this._moatRequestor) {
- this._moatRequestor.close();
- this._moatRequestor = null;
- }
- this._currentCaptchaInfo = null;
+ this._moatRPC?.uninit();
+ this._moatRPC = null;
+ this._challenge = null;
+ this._image = null;
+ this._bridges = null;
},
};
1
0

[tor-browser/tor-browser-91.4.1esr-11.0-1] fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
by gk@torproject.org 21 Dec '21
by gk@torproject.org 21 Dec '21
21 Dec '21
commit e1d611232382b50b408cba3307e9d3703c3fd514
Author: Richard Pospesel <richard(a)torproject.org>
Date: Fri Dec 17 17:28:30 2021 +0100
fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
Closes: tor-browser#40756.
---
browser/components/torpreferences/content/torPane.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/browser/components/torpreferences/content/torPane.js b/browser/components/torpreferences/content/torPane.js
index 6905cbe473ac..2df71db9327e 100644
--- a/browser/components/torpreferences/content/torPane.js
+++ b/browser/components/torpreferences/content/torPane.js
@@ -577,8 +577,8 @@ const gTorPane = (function() {
uninit() {
// unregister our observer topics
- Services.obs.removeObserver(TorSettingsTopics.SettingChanged, this);
- Services.obs.removeObserver(TorConnectTopics.StateChange, this);
+ Services.obs.removeObserver(this, TorSettingsTopics.SettingChanged);
+ Services.obs.removeObserver(this, TorConnectTopics.StateChange);
},
// whether the page should be present in about:preferences
1
0

[tor-browser/tor-browser-91.4.0esr-11.5-1] fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
by gk@torproject.org 21 Dec '21
by gk@torproject.org 21 Dec '21
21 Dec '21
commit 944c177453619d9919d24fcf811953cca0410a85
Author: Richard Pospesel <richard(a)torproject.org>
Date: Fri Dec 17 17:28:30 2021 +0100
fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser
---
browser/components/torpreferences/content/torPane.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/browser/components/torpreferences/content/torPane.js b/browser/components/torpreferences/content/torPane.js
index 6905cbe473ac..2df71db9327e 100644
--- a/browser/components/torpreferences/content/torPane.js
+++ b/browser/components/torpreferences/content/torPane.js
@@ -577,8 +577,8 @@ const gTorPane = (function() {
uninit() {
// unregister our observer topics
- Services.obs.removeObserver(TorSettingsTopics.SettingChanged, this);
- Services.obs.removeObserver(TorConnectTopics.StateChange, this);
+ Services.obs.removeObserver(this, TorSettingsTopics.SettingChanged);
+ Services.obs.removeObserver(this, TorConnectTopics.StateChange);
},
// whether the page should be present in about:preferences
1
0

[tor-browser/tor-browser-91.4.0esr-11.5-1] Merge remote-tracking branch 'gitlab/merge-requests/238' into tor-browser-91.4.0esr-11.5-1
by gk@torproject.org 21 Dec '21
by gk@torproject.org 21 Dec '21
21 Dec '21
commit b0d3be75b2ce99746433f30761d3f39fab7ba3fa
Merge: 990ee0330a06 944c17745361
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Dec 21 12:51:20 2021 +0000
Merge remote-tracking branch 'gitlab/merge-requests/238' into tor-browser-91.4.0esr-11.5-1
Closes: tor-browser#40756.
browser/components/torpreferences/content/torPane.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
1
0
commit 6aaf06936e472c044c99d204244ef925827f8c15
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Dec 21 12:01:24 2021 +0000
Fold in 11.0.3 changelog
Additionally, we fix wrong/missing entries.
---
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 30 +++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 014bfe3..ad477dd 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,28 @@
+Tor Browser 11.0.3 - December 20 2021
+ * Windows + OS X + Linux
+ * Update Firefox to 91.4.1esr
+ * Update Tor to 0.4.6.9
+ * Update OpenSSL to 1.1.1m
+ * Bug 40393: Point to a forked version of pion/dtls with fingerprinting fix [tor-browser-build]
+ * Bug 40394: Bump version of Snowflake to 221f1c41 [tor-browser-build]
+ * Bug 40646: Revert tor-browser#40475 and inherit upstream fix [tor-browser]
+ * Bug 40705: "visit our website" link on about:tbupdate pointing to different locations [tor-browser]
+ * Bug 40736: Disable third-party cookies in Private Browsing Mode [tor-browser]
+ * Windows
+ * Bug 40389: Remove workaround for HTTPS-Everywhere WASM breakage [tor-browser-build]
+ * Bug 40698: Addon menus missing content in TB11 [tor-browser]
+ * Bug 40706: Fix issue in HTTPS-Everywhere WASM [tor-browser]
+ * Bug 40721: Tabs crashing on certain pages in TB11 on Win 10 [tor-browser]
+ * Bug 40742: Remove workaround for fixing --disable-maintenance-service build bustage [tor-browser]
+ * Linux
+ * Bug 40387: Fonts of the GUI do not render after update [tor-browser-build]
+ * Bug 40685: Monospace font in browser chrome [tor-browser]
+ * Build System
+ * Windows + OS X + Linux
+ * Bug 40403: Update Go to 1.16.12 [tor-browser-build]
+ * OS X
+ * Bug 40390: Remove workaround for macOS OpenSSL build breakage [tor-browser-build]
+
Tor Browser 11.5a1 - December 13 2021
* Windows + OS X + Linux
* Update Firefox to 91.4.0esr
@@ -26,6 +51,7 @@ Tor Browser 11.5a1 - December 13 2021
* Bug 40698: Addon menus missing content in TB11 [tor-browser]
* Bug 40706: Fix issue in HTTPS-Everywhere WASM [tor-browser]
* Bug 40721: Tabs crashing on certain pages in TB11 on Win 10 [tor-browser]
+ * Bug 40668: Document is freezing with file: scheme [tor-browser]
* Linux
* Bug 40318: Remove check for DISPLAY env var in start-tor-browser [tor-browser-build]
* Bug 40387: Remove some fonts on Linux [tor-browser-build]
@@ -43,11 +69,13 @@ Tor Browser 11.0.1 - November 14 2021
* Windows + OS X + Linux
* Tor Launcher 0.2.32
* Bug 40059: YEC activist sign empty in about:tor on RTL locales [torbutton]
- * Bug 40383: Workaround issue in https-e wasm [tor-browser-build]
* Bug 40438: Add Blockchair as a search engine [tor-browser]
* Bug 40689: Change Blockchair Search provider's HTTP method [tor-browser]
* Bug 40690: Browser chrome breaks when private browsing mode is turned off [tor-browser]
* Bug 40700: Switch Firefox recommendations off by default [tor-browser]
+ * Windows
+ * Bug 40383: Workaround issue in https-e wasm [tor-browser-build]
+ * Bug 40668: Document is freezing with file: scheme [tor-browser]
Tor Browser 11.0 - November 8 2021
* Windows + OS X + Linux
1
0

[tor-browser-build/maint-11.0] Revert "Bug 40387: Remove some fonts on Linux"
by gk@torproject.org 21 Dec '21
by gk@torproject.org 21 Dec '21
21 Dec '21
commit bb28297acc4bd685cb12079f99edaee3a08cfca8
Author: Pier Angelo Vendrame <pierov(a)torproject.org>
Date: Fri Dec 10 19:13:12 2021 +0100
Revert "Bug 40387: Remove some fonts on Linux"
This reverts commit 2a89fc9e333646eaea46823cf6fc9533e89f61bf.
We do not need it anymore, because we resolved tor-browser#40685,
instead.
Closes: tor-browser-build#40399.
---
projects/fonts/config | 2 ++
1 file changed, 2 insertions(+)
diff --git a/projects/fonts/config b/projects/fonts/config
index 4e3719d..9d11d2c 100644
--- a/projects/fonts/config
+++ b/projects/fonts/config
@@ -23,6 +23,7 @@ var:
- NotoSansEthiopic-Regular.ttf
- NotoSansGeorgian-Regular.ttf
- NotoSansGujarati-Regular.ttf
+ - NotoSansGurmukhi-Regular.ttf
- NotoSansHebrew-Regular.ttf
- NotoSansKannada-Regular.ttf
- NotoSansKhmer-Regular.ttf
@@ -30,6 +31,7 @@ var:
- NotoSansMalayalam-Regular.ttf
- NotoSansMyanmar-Regular.ttf
- NotoSansOriya-Regular.ttf
+ - NotoSansSinhala-Regular.ttf
- NotoSansTamil-Regular.ttf
- NotoSansTelugu-Regular.ttf
- NotoSansThaana-Regular.ttf
1
0

[tor-browser-build/master] Revert "Bug 40387: Remove some fonts on Linux"
by gk@torproject.org 21 Dec '21
by gk@torproject.org 21 Dec '21
21 Dec '21
commit 267da5e6e201df4c65c1219e5a516c33ae7db94e
Author: Pier Angelo Vendrame <pierov(a)torproject.org>
Date: Fri Dec 10 19:13:12 2021 +0100
Revert "Bug 40387: Remove some fonts on Linux"
This reverts commit 2a89fc9e333646eaea46823cf6fc9533e89f61bf.
We do not need it anymore, because we resolved tor-browser#40685,
instead.
---
projects/fonts/config | 2 ++
1 file changed, 2 insertions(+)
diff --git a/projects/fonts/config b/projects/fonts/config
index 4e3719d..9d11d2c 100644
--- a/projects/fonts/config
+++ b/projects/fonts/config
@@ -23,6 +23,7 @@ var:
- NotoSansEthiopic-Regular.ttf
- NotoSansGeorgian-Regular.ttf
- NotoSansGujarati-Regular.ttf
+ - NotoSansGurmukhi-Regular.ttf
- NotoSansHebrew-Regular.ttf
- NotoSansKannada-Regular.ttf
- NotoSansKhmer-Regular.ttf
@@ -30,6 +31,7 @@ var:
- NotoSansMalayalam-Regular.ttf
- NotoSansMyanmar-Regular.ttf
- NotoSansOriya-Regular.ttf
+ - NotoSansSinhala-Regular.ttf
- NotoSansTamil-Regular.ttf
- NotoSansTelugu-Regular.ttf
- NotoSansThaana-Regular.ttf
1
0

[tor-browser-build/master] Merge remote-tracking branch 'gitlab/merge-requests/386'
by gk@torproject.org 21 Dec '21
by gk@torproject.org 21 Dec '21
21 Dec '21
commit d1985459e02a60f1d2b1e3b07bf7b021a097a30e
Merge: 2d332f3 267da5e
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Dec 21 11:26:14 2021 +0000
Merge remote-tracking branch 'gitlab/merge-requests/386'
projects/fonts/config | 2 ++
1 file changed, 2 insertions(+)
1
0

[tor-browser-build/maint-11.0] Bug 40408: Update keyring/torbrowser.gpg for new subkey
by gk@torproject.org 21 Dec '21
by gk@torproject.org 21 Dec '21
21 Dec '21
commit ed937bb5d4c03a9c9adf821e21ee5372d16f463c
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Dec 21 11:43:35 2021 +0100
Bug 40408: Update keyring/torbrowser.gpg for new subkey
---
keyring/torbrowser.gpg | Bin 14048 -> 15733 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/keyring/torbrowser.gpg b/keyring/torbrowser.gpg
index 31c3596..5cdcdf9 100644
Binary files a/keyring/torbrowser.gpg and b/keyring/torbrowser.gpg differ
1
0

[tor-browser-build/master] Bug 40408: Update keyring/torbrowser.gpg for new subkey
by gk@torproject.org 21 Dec '21
by gk@torproject.org 21 Dec '21
21 Dec '21
commit 2d332f3c9e66428b497780ece311503de83981d7
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Dec 21 11:43:35 2021 +0100
Bug 40408: Update keyring/torbrowser.gpg for new subkey
---
keyring/torbrowser.gpg | Bin 14048 -> 15733 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/keyring/torbrowser.gpg b/keyring/torbrowser.gpg
index 31c3596..5cdcdf9 100644
Binary files a/keyring/torbrowser.gpg and b/keyring/torbrowser.gpg differ
1
0