Remove bundled DevTools frontend

We now use the external version pulled via DEPS.

TBR=agrieve@chromium.org

Bug: 1011259
Change-Id: If34101d2f9a1fe82e3e96fb3b616a082cd2abaca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1893272
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Rick Byers <rbyers@chromium.org>
Reviewed-by: Ben Mason <benmason@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#712057}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f5b160acfe5dfdaacc020bd0922d5eeb65ef0a7c
diff --git a/.clang-format b/.clang-format
deleted file mode 100644
index ea647be..0000000
--- a/.clang-format
+++ /dev/null
@@ -1,8 +0,0 @@
----
-BasedOnStyle: Chromium
-Language: JavaScript
-ColumnLimit: 120
-CommentPragmas: .*\@.*
-AllowShortBlocksOnASingleLine: false
-AllowShortFunctionsOnASingleLine: None
-ReflowComments: false
diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index 9e04d37..0000000
--- a/.eslintignore
+++ /dev/null
@@ -1,17 +0,0 @@
-// Do not use glob pattern, this file is used by PRESUBMIT.py
-// to ignore these same files/folders for clang-format
-front_end/.eslintrc.js
-front_end/InspectorBackendCommands.js
-front_end/SupportedCSSProperties.js
-front_end/accessibility/ARIAProperties.js
-front_end/audits_worker/lighthouse/
-front_end/audits/lighthouse/
-front_end/cm/
-front_end/cm_headless/
-front_end/cm_modes/
-front_end/cm_web_modes/
-front_end/diff/diff_match_patch.js
-front_end/formatter_worker/acorn/
-front_end/protocol_externs.js
-front_end/javascript_metadata/NativeFunctions.js
-scripts/
\ No newline at end of file
diff --git a/.eslintrc.js b/.eslintrc.js
deleted file mode 100644
index 3dc9c01..0000000
--- a/.eslintrc.js
+++ /dev/null
@@ -1,108 +0,0 @@
-module.exports = {
-  'root': true,
-
-  'env': {'browser': true, 'es6': true},
-
-  'parserOptions': {'ecmaVersion': 9, 'sourceType': 'module'},
-
-  /**
-     * ESLint rules
-     *
-     * All available rules: http://eslint.org/docs/rules/
-     *
-     * Rules take the following form:
-     *   "rule-name", [severity, { opts }]
-     * Severity: 2 == error, 1 == warning, 0 == off.
-     */
-  'rules': {
-    /**
-         * Enforced rules
-         */
-
-
-    // syntax preferences
-    'quotes': [2, 'single', {'avoidEscape': true, 'allowTemplateLiterals': true}],
-    'semi': 2,
-    'no-extra-semi': 2,
-    'comma-style': [2, 'last'],
-    'wrap-iife': [2, 'inside'],
-    'spaced-comment': [2, 'always', {'markers': ['*']}],
-    'eqeqeq': [2],
-    'accessor-pairs': [2, {'getWithoutSet': false, 'setWithoutGet': false}],
-    'curly': 2,
-    'new-parens': 2,
-    'func-call-spacing': 2,
-    'arrow-parens': [2, 'as-needed'],
-
-    // anti-patterns
-    'no-with': 2,
-    'no-multi-str': 2,
-    'no-caller': 2,
-    'no-implied-eval': 2,
-    'no-labels': 2,
-    'no-new-object': 2,
-    'no-octal-escape': 2,
-    'no-self-compare': 2,
-    'no-shadow-restricted-names': 2,
-    'no-cond-assign': 2,
-    'no-debugger': 2,
-    'no-console': [2, {'allow': ['assert', 'context', 'error', 'timeStamp', 'time', 'timeEnd', 'warn']}],
-    'no-dupe-keys': 2,
-    'no-duplicate-case': 2,
-    'no-empty-character-class': 2,
-    'no-unreachable': 2,
-    'no-unsafe-negation': 2,
-    'radix': 2,
-    'valid-typeof': 2,
-    'no-var': 2,
-    'prefer-const': 2,
-    'no-unused-vars': [2, {'args': 'none', 'vars': 'local'}],
-
-    // es2015 features
-    'require-yield': 2,
-    'template-curly-spacing': [2, 'never'],
-
-    // spacing details
-    'space-infix-ops': 2,
-    'space-in-parens': [2, 'never'],
-    'space-before-function-paren': [2, {'anonymous': 'never', 'named': 'never', 'asyncArrow': 'always'}],
-    'no-whitespace-before-property': 2,
-    'keyword-spacing': [
-      2, {
-        'overrides': {
-          'if': {'after': true},
-          'else': {'after': true},
-          'for': {'after': true},
-          'while': {'after': true},
-          'do': {'after': true},
-          'switch': {'after': true},
-          'return': {'after': true}
-        }
-      }
-    ],
-    'arrow-spacing': [2, {'after': true, 'before': true}],
-
-    // file whitespace
-    'no-multiple-empty-lines': [2, {'max': 2}],
-    'no-mixed-spaces-and-tabs': 2,
-    'no-trailing-spaces': 2,
-    'linebreak-style': [2, 'unix'],
-
-    /**
-         * Disabled, aspirational rules
-         */
-
-    'indent': [0, 2, {'SwitchCase': 1, 'CallExpression': {'arguments': 2}, 'MemberExpression': 2}],
-
-    // brace-style is disabled, as eslint cannot enforce 1tbs as default, but allman for functions
-    'brace-style': [0, 'allman', {'allowSingleLine': true}],
-
-    // key-spacing is disabled, as some objects use value-aligned spacing, some not.
-    'key-spacing': [0, {'beforeColon': false, 'afterColon': true, 'align': 'value'}],
-    // quote-props is diabled, as property quoting styles are too varied to enforce.
-    'quote-props': [0, 'as-needed'],
-
-    // no-implicit-globals will prevent accidental globals
-    'no-implicit-globals': [0]
-  }
-};
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index c401c86..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,26 +0,0 @@
-*.Makefile
-*.mk
-*.pyc
-*.rules
-*.sln
-*.tmp
-*.vcproj*
-*.vcxproj*
-*.xcodeproj*
-node_modules
-config.gypi
-npm-debug.log
-/.dev_profile
-/.test_cache
-/release
-/scripts/visualize_deps/out
-/front_end/protocol_externs.js
-package-lock.json
-.vscode
-/front_end/*/jsconfig.json
-karma-coverage
-
-# These are generated for build and would be put in the symlinked folder (thus this folder)
-front_end/InspectorBackendCommands.js
-front_end/SupportedCSSProperties.js
-front_end/accessibility/ARIAProperties.js
diff --git a/.npmignore b/.npmignore
deleted file mode 100644
index df4d355..0000000
--- a/.npmignore
+++ /dev/null
@@ -1,5 +0,0 @@
-devtools.gyp
-devtools.gypi
-BUILD.gn
-PRESUBMIT.py
-OWNERS
\ No newline at end of file
diff --git a/.style.yapf b/.style.yapf
deleted file mode 100644
index e78094a..0000000
--- a/.style.yapf
+++ /dev/null
@@ -1,5 +0,0 @@
-[style]
-based_on_style = chromium
-indent_width = 4
-column_limit = 132
-
diff --git a/BUILD.gn b/BUILD.gn
deleted file mode 100644
index 0127da1..0000000
--- a/BUILD.gn
+++ /dev/null
@@ -1,1849 +0,0 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import("//build/config/features.gni")
-import("//third_party/blink/public/public_features.gni")
-import("//third_party/blink/renderer/core/core.gni")
-
-if (!external_devtools_frontend) {
-  all_devtools_files = [
-    "front_end/accessibility/AccessibilityModel.js",
-    "front_end/accessibility/accessibilityNode.css",
-    "front_end/accessibility/AccessibilityNodeView.js",
-    "front_end/accessibility/accessibilityProperties.css",
-    "front_end/accessibility/AccessibilitySidebarView.js",
-    "front_end/accessibility/AccessibilityStrings.js",
-    "front_end/accessibility/ARIAAttributesView.js",
-    "front_end/accessibility/ARIAMetadata.js",
-    "front_end/accessibility/axBreadcrumbs.css",
-    "front_end/accessibility/AXBreadcrumbsPane.js",
-    "front_end/accessibility/module.json",
-    "front_end/accessibility_test_runner/AccessibilityPaneTestRunner.js",
-    "front_end/accessibility_test_runner/module.json",
-    "front_end/animation/AnimationGroupPreviewUI.js",
-    "front_end/animation/AnimationModel.js",
-    "front_end/animation/animationScreenshotPopover.css",
-    "front_end/animation/AnimationScreenshotPopover.js",
-    "front_end/animation/animationTimeline.css",
-    "front_end/animation/AnimationTimeline.js",
-    "front_end/animation/AnimationUI.js",
-    "front_end/animation/module.json",
-    "front_end/application_test_runner/AppcacheTestRunner.js",
-    "front_end/application_test_runner/CacheStorageTestRunner.js",
-    "front_end/application_test_runner/IndexedDBTestRunner.js",
-    "front_end/application_test_runner/module.json",
-    "front_end/application_test_runner/ResourcesTestRunner.js",
-    "front_end/application_test_runner/ResourceTreeTestRunner.js",
-    "front_end/application_test_runner/ServiceWorkersTestRunner.js",
-    "front_end/audits_worker.js",
-    "front_end/audits_worker.json",
-    "front_end/audits_worker/AuditsService.js",
-    "front_end/audits_worker/lighthouse/lighthouse-dt-bundle.js",
-    "front_end/audits_worker/module.json",
-    "front_end/audits/AuditsPanel.js",
-    "front_end/audits/AuditsController.js",
-    "front_end/audits/AuditsReportSelector.js",
-    "front_end/audits/AuditsReportRenderer.js",
-    "front_end/audits/AuditsStartView.js",
-    "front_end/audits/AuditsProtocolService.js",
-    "front_end/audits/AuditsStatusView.js",
-    "front_end/audits/auditsDialog.css",
-    "front_end/audits/auditsStartView.css",
-    "front_end/audits/auditsPanel.css",
-    "front_end/audits/RadioSetting.js",
-    "front_end/audits/lighthouse/report.css",
-    "front_end/audits/lighthouse/report.js",
-    "front_end/audits/lighthouse/report-generator.js",
-    "front_end/audits/lighthouse/template.html",
-    "front_end/audits/lighthouse/templates.html",
-    "front_end/audits/module.json",
-    "front_end/audits_test_runner/AuditsTestRunner.js",
-    "front_end/audits_test_runner/module.json",
-    "front_end/axe_core_test_runner/AxeCoreTestRunner.js",
-    "front_end/axe_core_test_runner/module.json",
-    "front_end/bindings/module.json",
-    "front_end/bindings_test_runner/AutomappingTestRunner.js",
-    "front_end/bindings_test_runner/BindingsTestRunner.js",
-    "front_end/bindings_test_runner/IsolatedFilesystemTestRunner.js",
-    "front_end/bindings_test_runner/module.json",
-    "front_end/bindings_test_runner/PersistenceTestRunner.js",
-    "front_end/bindings_test_runner/OverridesTestRunner.js",
-    "front_end/browser_debugger/DOMBreakpointsSidebarPane.js",
-    "front_end/browser_debugger/EventListenerBreakpointsSidebarPane.js",
-    "front_end/browser_debugger/ObjectEventListenersSidebarPane.js",
-    "front_end/browser_debugger/XHRBreakpointsSidebarPane.js",
-    "front_end/browser_debugger/domBreakpointsSidebarPane.css",
-    "front_end/browser_debugger/eventListenerBreakpoints.css",
-    "front_end/browser_debugger/module.json",
-    "front_end/browser_debugger/xhrBreakpointsSidebarPane.css",
-    "front_end/browser_sdk/module.json",
-    "front_end/css_overview/cssOverview.css",
-    "front_end/css_overview/cssOverviewStartView.css",
-    "front_end/css_overview/cssOverviewProcessingView.css",
-    "front_end/css_overview/cssOverviewCompletedView.css",
-    "front_end/css_overview/CSSOverviewController.js",
-    "front_end/css_overview/CSSOverviewStartView.js",
-    "front_end/css_overview/CSSOverviewProcessingView.js",
-    "front_end/css_overview/CSSOverviewCompletedView.js",
-    "front_end/css_overview/CSSOverviewModel.js",
-    "front_end/css_overview/CSSOverviewSidebarPanel.js",
-    "front_end/css_overview/cssOverviewSidebarPanel.css",
-    "front_end/css_overview/CSSOverviewPanel.js",
-    "front_end/css_overview/module.json",
-    "front_end/changes/ChangesHighlighter.js",
-    "front_end/changes/changesView.css",
-    "front_end/changes/ChangesView.js",
-    "front_end/changes/changesSidebar.css",
-    "front_end/changes/ChangesSidebar.js",
-    "front_end/changes/module.json",
-    "front_end/cm/active-line.js",
-    "front_end/cm/brace-fold.js",
-    "front_end/cm/closebrackets.js",
-    "front_end/cm/codemirror.css",
-    "front_end/cm/codemirror.js",
-    "front_end/cm/comment.js",
-    "front_end/cm/foldcode.js",
-    "front_end/cm/foldgutter.js",
-    "front_end/cm/mark-selection.js",
-    "front_end/cm/matchbrackets.js",
-    "front_end/cm/module.json",
-    "front_end/cm/multiplex.js",
-    "front_end/cm/overlay.js",
-    "front_end/cm_headless/headlesscodemirror.js",
-    "front_end/cm_headless/module.json",
-    "front_end/cm_modes/clike.js",
-    "front_end/cm_modes/clojure.js",
-    "front_end/cm_modes/coffeescript.js",
-    "front_end/cm_modes/DefaultCodeMirrorMimeMode.js",
-    "front_end/cm_modes/jsx.js",
-    "front_end/cm_modes/livescript.js",
-    "front_end/cm_modes/markdown.js",
-    "front_end/cm_modes/module.json",
-    "front_end/cm_modes/php.js",
-    "front_end/cm_modes/python.js",
-    "front_end/cm_modes/shell.js",
-    "front_end/cm_modes/stylus.js",
-    "front_end/cm_web_modes/css.js",
-    "front_end/cm_web_modes/htmlembedded.js",
-    "front_end/cm_web_modes/htmlmixed.js",
-    "front_end/cm_web_modes/javascript.js",
-    "front_end/cm_web_modes/xml.js",
-    "front_end/color_picker/ContrastDetails.js",
-    "front_end/color_picker/ContrastInfo.js",
-    "front_end/color_picker/ContrastOverlay.js",
-    "front_end/color_picker/module.json",
-    "front_end/color_picker/spectrum.css",
-    "front_end/color_picker/Spectrum.js",
-    "front_end/common/module.json",
-    "front_end/components/imagePreview.css",
-    "front_end/components/jsUtils.css",
-    "front_end/components/module.json",
-    "front_end/console/ConsoleContextSelector.js",
-    "front_end/console/ConsoleFilter.js",
-    "front_end/console/ConsoleSidebar.js",
-    "front_end/console/ConsolePanel.js",
-    "front_end/console/ConsolePinPane.js",
-    "front_end/console/ConsolePrompt.js",
-    "front_end/console/consoleView.css",
-    "front_end/console/consoleContextSelector.css",
-    "front_end/console/consolePinPane.css",
-    "front_end/console/consolePrompt.css",
-    "front_end/console/consoleSidebar.css",
-    "front_end/console/ConsoleView.js",
-    "front_end/console/ConsoleViewMessage.js",
-    "front_end/console/ConsoleViewport.js",
-    "front_end/console/module.json",
-    "front_end/console_counters/errorWarningCounter.css",
-    "front_end/console_counters/module.json",
-    "front_end/console_test_runner/ConsoleTestRunner.js",
-    "front_end/console_test_runner/module.json",
-    "front_end/cookie_table/CookiesTable.js",
-    "front_end/cookie_table/module.json",
-    "front_end/coverage/coverageListView.css",
-    "front_end/coverage/CoverageDecorationManager.js",
-    "front_end/coverage/CoverageListView.js",
-    "front_end/coverage/CoverageModel.js",
-    "front_end/coverage/coverageView.css",
-    "front_end/coverage/CoverageView.js",
-    "front_end/coverage/module.json",
-    "front_end/coverage_test_runner/CoverageTestRunner.js",
-    "front_end/coverage_test_runner/module.json",
-    "front_end/cpu_profiler_test_runner/module.json",
-    "front_end/cpu_profiler_test_runner/ProfilerTestRunner.js",
-    "front_end/dagre_layout/dagre.js",
-    "front_end/dagre_layout/module.json",
-    "front_end/data_grid/dataGrid.css",
-    "front_end/data_grid/DataGrid.js",
-    "front_end/data_grid/module.json",
-    "front_end/data_grid/ShowMoreDataGridNode.js",
-    "front_end/data_grid/SortableDataGrid.js",
-    "front_end/data_grid/ViewportDataGrid.js",
-    "front_end/data_grid_test_runner/DataGridTestRunner.js",
-    "front_end/data_grid_test_runner/module.json",
-    "front_end/device_mode_test_runner/DeviceModeTestRunner.js",
-    "front_end/device_mode_test_runner/module.json",
-    "front_end/devices/DevicesView.js",
-    "front_end/devices/devicesView.css",
-    "front_end/devices/module.json",
-    "front_end/diff/diff_match_patch.js",
-    "front_end/diff/Diff.js",
-    "front_end/diff/module.json",
-    "front_end/dom_extension/module.json",
-    "front_end/elements/breadcrumbs.css",
-    "front_end/elements/classesPaneWidget.css",
-    "front_end/elements/ClassesPaneWidget.js",
-    "front_end/elements/ColorSwatchPopoverIcon.js",
-    "front_end/elements/ComputedStyleModel.js",
-    "front_end/elements/computedStyleSidebarPane.css",
-    "front_end/elements/computedStyleWidgetTree.css",
-    "front_end/elements/ComputedStyleWidget.js",
-    "front_end/elements/DOMLinkifier.js",
-    "front_end/elements/domLinkifier.css",
-    "front_end/elements/DOMPath.js",
-    "front_end/elements/ElementsBreadcrumbs.js",
-    "front_end/elements/elementsPanel.css",
-    "front_end/elements/ElementsPanel.js",
-    "front_end/elements/ElementsSidebarPane.js",
-    "front_end/elements/elementStatePaneWidget.css",
-    "front_end/elements/ElementStatePaneWidget.js",
-    "front_end/elements/ElementsTreeElement.js",
-    "front_end/elements/ElementsTreeElementHighlighter.js",
-    "front_end/elements/elementsTreeOutline.css",
-    "front_end/elements/ElementsTreeOutline.js",
-    "front_end/elements/EventListenersWidget.js",
-    "front_end/elements/InspectElementModeController.js",
-    "front_end/elements/MarkerDecorator.js",
-    "front_end/elements/metricsSidebarPane.css",
-    "front_end/elements/MetricsSidebarPane.js",
-    "front_end/elements/nodeStackTraceWidget.css",
-    "front_end/elements/NodeStackTraceWidget.js",
-    "front_end/elements/module.json",
-    "front_end/elements/platformFontsWidget.css",
-    "front_end/elements/PlatformFontsWidget.js",
-    "front_end/elements/propertiesWidget.css",
-    "front_end/elements/PropertiesWidget.js",
-    "front_end/elements/StylePropertyHighlighter.js",
-    "front_end/elements/stylesSectionTree.css",
-    "front_end/elements/stylesSidebarPane.css",
-    "front_end/elements/StylesSidebarPane.js",
-    "front_end/elements/StylePropertyTreeElement.js",
-    "front_end/elements_test_runner/EditDOMTestRunner.js",
-    "front_end/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js",
-    "front_end/elements_test_runner/ElementsTestRunner.js",
-    "front_end/elements_test_runner/module.json",
-    "front_end/elements_test_runner/SetOuterHTMLTestRunner.js",
-    "front_end/elements_test_runner/StylesUpdateLinksTestRunner.js",
-    "front_end/emulated_devices/module.json",
-    "front_end/emulation/AdvancedApp.js",
-    "front_end/emulation/DeviceModeModel.js",
-    "front_end/emulation/deviceModeToolbar.css",
-    "front_end/emulation/DeviceModeToolbar.js",
-    "front_end/emulation/deviceModeView.css",
-    "front_end/emulation/DeviceModeView.js",
-    "front_end/emulation/DeviceModeWrapper.js",
-    "front_end/emulation/devicesSettingsTab.css",
-    "front_end/emulation/DevicesSettingsTab.js",
-    "front_end/emulation/EmulatedDevices.js",
-    "front_end/emulation/geolocationsSettingsTab.css",
-    "front_end/emulation/GeolocationsSettingsTab.js",
-    "front_end/emulation/inspectedPagePlaceholder.css",
-    "front_end/emulation/InspectedPagePlaceholder.js",
-    "front_end/emulation/mediaQueryInspector.css",
-    "front_end/emulation/MediaQueryInspector.js",
-    "front_end/emulation/module.json",
-    "front_end/emulation/sensors.css",
-    "front_end/emulation/SensorsView.js",
-    "front_end/event_listeners/EventListenersUtils.js",
-    "front_end/event_listeners/eventListenersView.css",
-    "front_end/event_listeners/EventListenersView.js",
-    "front_end/event_listeners/module.json",
-    "front_end/extensions/module.json",
-    "front_end/extensions_test_runner/ExtensionsNetworkTestRunner.js",
-    "front_end/extensions_test_runner/ExtensionsTestRunner.js",
-    "front_end/extensions_test_runner/module.json",
-    "front_end/formatter/FormatterWorkerPool.js",
-    "front_end/formatter/module.json",
-    "front_end/formatter/ScriptFormatter.js",
-    "front_end/formatter_worker.js",
-    "front_end/formatter_worker.json",
-    "front_end/formatter_worker/AcornTokenizer.js",
-    "front_end/formatter_worker/CSSFormatter.js",
-    "front_end/formatter_worker/CSSRuleParser.js",
-    "front_end/formatter_worker/ESTreeWalker.js",
-    "front_end/formatter_worker/FormattedContentBuilder.js",
-    "front_end/formatter_worker/FormatterWorker.js",
-    "front_end/formatter_worker/HTMLFormatter.js",
-    "front_end/formatter_worker/IdentityFormatter.js",
-    "front_end/formatter_worker/JavaScriptFormatter.js",
-    "front_end/formatter_worker/JavaScriptOutline.js",
-    "front_end/formatter_worker/RelaxedJSONParser.js",
-    "front_end/formatter_worker/acorn/acorn.js",
-    "front_end/formatter_worker/acorn/acorn_loose.js",
-    "front_end/formatter_worker/module.json",
-    "front_end/har_importer/HARFormat.js",
-    "front_end/har_importer/HARImporter.js",
-    "front_end/har_importer/module.json",
-    "front_end/heap_profiler_test_runner/HeapProfilerTestRunner.js",
-    "front_end/heap_profiler_test_runner/module.json",
-    "front_end/heap_snapshot_model/HeapSnapshotModel.js",
-    "front_end/heap_snapshot_model/module.json",
-    "front_end/heap_snapshot_worker.js",
-    "front_end/heap_snapshot_worker.json",
-    "front_end/heap_snapshot_worker/AllocationProfile.js",
-    "front_end/heap_snapshot_worker/HeapSnapshot.js",
-    "front_end/heap_snapshot_worker/HeapSnapshotLoader.js",
-    "front_end/heap_snapshot_worker/HeapSnapshotWorker.js",
-    "front_end/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.js",
-    "front_end/heap_snapshot_worker/module.json",
-    "front_end/help/Help.js",
-    "front_end/help/module.json",
-    "front_end/help/releaseNote.css",
-    "front_end/help/ReleaseNoteText.js",
-    "front_end/help/ReleaseNoteView.js",
-    "front_end/host/module.json",
-    "front_end/inline_editor/bezierEditor.css",
-    "front_end/inline_editor/BezierEditor.js",
-    "front_end/inline_editor/bezierSwatch.css",
-    "front_end/inline_editor/BezierUI.js",
-    "front_end/inline_editor/colorSwatch.css",
-    "front_end/inline_editor/ColorSwatch.js",
-    "front_end/inline_editor/cssShadowEditor.css",
-    "front_end/inline_editor/CSSShadowEditor.js",
-    "front_end/inline_editor/CSSShadowModel.js",
-    "front_end/inline_editor/cssShadowSwatch.css",
-    "front_end/inline_editor/module.json",
-    "front_end/inline_editor/swatchPopover.css",
-    "front_end/inline_editor/SwatchPopoverHelper.js",
-    "front_end/inspector.js",
-    "front_end/inspector.json",
-    "front_end/inspector_main/InspectorMain.js",
-    "front_end/inspector_main/module.json",
-    "front_end/inspector_main/nodeIcon.css",
-    "front_end/inspector_main/renderingOptions.css",
-    "front_end/inspector_main/RenderingOptions.js",
-    "front_end/integration_test_runner.js",
-    "front_end/integration_test_runner.json",
-    "front_end/javascript_metadata/module.json",
-    "front_end/javascript_metadata/NativeFunctions.js",
-    "front_end/javascript_metadata/JavaScriptMetadata.js",
-    "front_end/js_main/JsMain.js",
-    "front_end/js_main/module.json",
-    "front_end/js_profiler/module.json",
-    "front_end/layer_viewer/layerDetailsView.css",
-    "front_end/layer_viewer/LayerDetailsView.js",
-    "front_end/layer_viewer/layers3DView.css",
-    "front_end/layer_viewer/Layers3DView.js",
-    "front_end/layer_viewer/LayerTreeOutline.js",
-    "front_end/layer_viewer/LayerViewHost.js",
-    "front_end/layer_viewer/module.json",
-    "front_end/layer_viewer/paintProfiler.css",
-    "front_end/layer_viewer/PaintProfilerView.js",
-    "front_end/layer_viewer/TransformController.js",
-    "front_end/layers/LayerPaintProfilerView.js",
-    "front_end/layers/LayersPanel.js",
-    "front_end/layers/LayerTreeModel.js",
-    "front_end/layers/module.json",
-    "front_end/layers_test_runner/LayersTestRunner.js",
-    "front_end/layers_test_runner/module.json",
-    "front_end/main/ExecutionContextSelector.js",
-    "front_end/main/Main.js",
-    "front_end/main/module.json",
-    "front_end/main/SimpleApp.js",
-    "front_end/protocol_monitor/ProtocolMonitor.js",
-    "front_end/protocol_monitor/protocolMonitor.css",
-    "front_end/protocol_monitor/module.json",
-    "front_end/mobile_throttling/MobileThrottlingSelector.js",
-    "front_end/mobile_throttling/module.json",
-    "front_end/mobile_throttling/NetworkPanelIndicator.js",
-    "front_end/mobile_throttling/NetworkThrottlingSelector.js",
-    "front_end/mobile_throttling/ThrottlingManager.js",
-    "front_end/mobile_throttling/ThrottlingPresets.js",
-    "front_end/mobile_throttling/throttlingSettingsTab.css",
-    "front_end/mobile_throttling/ThrottlingSettingsTab.js",
-    "front_end/media/eventDisplayTable.css",
-    "front_end/media/EventDisplayTable.js",
-    "front_end/media/MainView.js",
-    "front_end/media/MediaTable.js",
-    "front_end/media/PlayerDetailView.js",
-    "front_end/media/playerListView.css",
-    "front_end/media/PlayerListView.js",
-    "front_end/media/module.json",
-    "front_end/media/MediaModel.js",
-    "front_end/media/mediaView.css",
-    "front_end/ndb_app.json",
-    "front_end/network/binaryResourceView.css",
-    "front_end/network/blockedURLsPane.css",
-    "front_end/network/BinaryResourceView.js",
-    "front_end/network/BlockedURLsPane.js",
-    "front_end/network/eventSourceMessagesView.css",
-    "front_end/network/EventSourceMessagesView.js",
-    "front_end/network/HARWriter.js",
-    "front_end/network/module.json",
-    "front_end/network/networkConfigView.css",
-    "front_end/network/NetworkConfigView.js",
-    "front_end/network/NetworkDataGridNode.js",
-    "front_end/network/NetworkItemView.js",
-    "front_end/network/networkLogView.css",
-    "front_end/network/NetworkLogView.js",
-    "front_end/network/NetworkLogViewColumns.js",
-    "front_end/network/NetworkFrameGrouper.js",
-    "front_end/network/networkManageCustomHeadersView.css",
-    "front_end/network/NetworkManageCustomHeadersView.js",
-    "front_end/network/NetworkOverview.js",
-    "front_end/network/networkPanel.css",
-    "front_end/network/NetworkPanel.js",
-    "front_end/network/NetworkSearchScope.js",
-    "front_end/network/NetworkTimeCalculator.js",
-    "front_end/network/networkTimingTable.css",
-    "front_end/network/networkWaterfallColumn.css",
-    "front_end/network/NetworkWaterfallColumn.js",
-    "front_end/network/requestCookiesView.css",
-    "front_end/network/RequestCookiesView.js",
-    "front_end/network/requestHeadersTree.css",
-    "front_end/network/requestHeadersView.css",
-    "front_end/network/RequestHeadersView.js",
-    "front_end/network/requestHTMLView.css",
-    "front_end/network/RequestHTMLView.js",
-    "front_end/network/requestInitiatorView.css",
-    "front_end/network/RequestInitiatorView.js",
-    "front_end/network/RequestPreviewView.js",
-    "front_end/network/RequestResponseView.js",
-    "front_end/network/RequestTimingView.js",
-    "front_end/network/ResourceWebSocketFrameView.js",
-    "front_end/network/signedExchangeInfoTree.css",
-    "front_end/network/signedExchangeInfoView.css",
-    "front_end/network/SignedExchangeInfoView.js",
-    "front_end/network/webSocketFrameView.css",
-    "front_end/network_test_runner/module.json",
-    "front_end/network_test_runner/NetworkTestRunner.js",
-    "front_end/network_test_runner/ProductRegistryTestRunner.js",
-    "front_end/node_debugger/module.json",
-    "front_end/node_main/NodeConnectionsPanel.js",
-    "front_end/node_main/nodeConnectionsPanel.css",
-    "front_end/node_main/NodeMain.js",
-    "front_end/node_main/module.json",
-    "front_end/object_ui/customPreviewComponent.css",
-    "front_end/object_ui/CustomPreviewComponent.js",
-    "front_end/object_ui/JavaScriptAutocomplete.js",
-    "front_end/object_ui/JavaScriptREPL.js",
-    "front_end/object_ui/module.json",
-    "front_end/object_ui/objectPopover.css",
-    "front_end/object_ui/ObjectPopoverHelper.js",
-    "front_end/object_ui/objectPropertiesSection.css",
-    "front_end/object_ui/ObjectPropertiesSection.js",
-    "front_end/object_ui/objectValue.css",
-    "front_end/object_ui/RemoteObjectPreviewFormatter.js",
-    "front_end/perf_ui/ChartViewport.js",
-    "front_end/perf_ui/FilmStripView.js",
-    "front_end/perf_ui/FlameChart.js",
-    "front_end/perf_ui/GCActionDelegate.js",
-    "front_end/perf_ui/LineLevelProfile.js",
-    "front_end/perf_ui/LiveHeapProfile.js",
-    "front_end/perf_ui/NetworkPriorities.js",
-    "front_end/perf_ui/OverviewGrid.js",
-    "front_end/perf_ui/PieChart.js",
-    "front_end/perf_ui/TimelineGrid.js",
-    "front_end/perf_ui/TimelineOverviewPane.js",
-    "front_end/perf_ui/chartViewport.css",
-    "front_end/perf_ui/filmStripView.css",
-    "front_end/perf_ui/flameChart.css",
-    "front_end/perf_ui/module.json",
-    "front_end/perf_ui/overviewGrid.css",
-    "front_end/perf_ui/pieChart.css",
-    "front_end/perf_ui/timelineGrid.css",
-    "front_end/perf_ui/timelineOverviewInfo.css",
-    "front_end/performance_monitor/PerformanceMonitor.js",
-    "front_end/performance_monitor/performanceMonitor.css",
-    "front_end/performance_monitor/module.json",
-    "front_end/performance_test_runner/module.json",
-    "front_end/performance_test_runner/TimelineDataTestRunner.js",
-    "front_end/performance_test_runner/TimelineTestRunner.js",
-    "front_end/persistence/editFileSystemView.css",
-    "front_end/persistence/module.json",
-    "front_end/persistence/workspaceSettingsTab.css",
-    "front_end/platform/module.json",
-    "front_end/product_registry/BadgePool.js",
-    "front_end/product_registry/ProductRegistry.js",
-    "front_end/product_registry/badge.css",
-    "front_end/product_registry/module.json",
-    "front_end/product_registry/popup.css",
-    "front_end/product_registry_impl/module.json",
-    "front_end/product_registry_impl/ProductRegistryImpl.js",
-    "front_end/product_registry_impl/ProductRegistryData.js",
-    "front_end/product_registry_impl/sha1/sha1.js",
-    "front_end/profiler/BottomUpProfileDataGrid.js",
-    "front_end/profiler/CPUProfileFlameChart.js",
-    "front_end/profiler/CPUProfileView.js",
-    "front_end/profiler/heapProfiler.css",
-    "front_end/profiler/HeapProfileView.js",
-    "front_end/profiler/HeapProfilerPanel.js",
-    "front_end/profiler/HeapSnapshotDataGrids.js",
-    "front_end/profiler/HeapSnapshotGridNodes.js",
-    "front_end/profiler/HeapSnapshotProxy.js",
-    "front_end/profiler/HeapSnapshotView.js",
-    "front_end/profiler/HeapTimelineOverview.js",
-    "front_end/profiler/IsolateSelector.js",
-    "front_end/profiler/LiveHeapProfileView.js",
-    "front_end/profiler/liveHeapProfile.css",
-    "front_end/profiler/module.json",
-    "front_end/profiler/ProfileDataGrid.js",
-    "front_end/profiler/ProfileHeader.js",
-    "front_end/profiler/profileLauncherView.css",
-    "front_end/profiler/ProfileLauncherView.js",
-    "front_end/profiler/ProfileType.js",
-    "front_end/profiler/profilesPanel.css",
-    "front_end/profiler/ProfilesPanel.js",
-    "front_end/profiler/profilesSidebarTree.css",
-    "front_end/profiler/ProfileTypeRegistry.js",
-    "front_end/profiler/ProfileView.js",
-    "front_end/profiler/TopDownProfileDataGrid.js",
-    "front_end/protocol/module.json",
-    "front_end/quick_open/CommandMenu.js",
-    "front_end/quick_open/filteredListWidget.css",
-    "front_end/quick_open/FilteredListWidget.js",
-    "front_end/quick_open/HelpQuickOpen.js",
-    "front_end/quick_open/QuickOpen.js",
-    "front_end/quick_open/module.json",
-    "front_end/resources/ApplicationCacheModel.js",
-    "front_end/resources/ApplicationCacheItemsView.js",
-    "front_end/resources/ApplicationPanelSidebar.js",
-    "front_end/resources/appManifestView.css",
-    "front_end/resources/AppManifestView.js",
-    "front_end/resources/BackgroundServiceModel.js",
-    "front_end/resources/backgroundServiceView.css",
-    "front_end/resources/BackgroundServiceView.js",
-    "front_end/resources/clearStorageView.css",
-    "front_end/resources/ClearStorageView.js",
-    "front_end/resources/CookieItemsView.js",
-    "front_end/resources/cookieItemsView.css",
-    "front_end/resources/DatabaseModel.js",
-    "front_end/resources/DatabaseQueryView.js",
-    "front_end/resources/DatabaseTableView.js",
-    "front_end/resources/DOMStorageItemsView.js",
-    "front_end/resources/DOMStorageModel.js",
-    "front_end/resources/IndexedDBModel.js",
-    "front_end/resources/indexedDBViews.css",
-    "front_end/resources/IndexedDBViews.js",
-    "front_end/resources/module.json",
-    "front_end/resources/resourcesPanel.css",
-    "front_end/resources/ResourcesPanel.js",
-    "front_end/resources/ResourcesSection.js",
-    "front_end/resources/resourcesSidebar.css",
-    "front_end/resources/serviceWorkerCacheViews.css",
-    "front_end/resources/ServiceWorkerCacheViews.js",
-    "front_end/resources/serviceWorkersView.css",
-    "front_end/resources/ServiceWorkersView.js",
-    "front_end/resources/StorageItemsView.js",
-    "front_end/shell.json",
-    "front_end/screencast/InputModel.js",
-    "front_end/screencast/module.json",
-    "front_end/screencast/ScreencastApp.js",
-    "front_end/screencast/screencastView.css",
-    "front_end/screencast/ScreencastView.js",
-    "front_end/sdk/module.json",
-    "front_end/sdk_test_runner/module.json",
-    "front_end/sdk_test_runner/PageMockTestRunner.js",
-    "front_end/search/module.json",
-    "front_end/search/SearchConfig.js",
-    "front_end/search/searchResultsPane.css",
-    "front_end/search/SearchResultsPane.js",
-    "front_end/search/searchView.css",
-    "front_end/search/SearchView.js",
-    "front_end/security/lockIcon.css",
-    "front_end/security/mainView.css",
-    "front_end/security/module.json",
-    "front_end/security/originView.css",
-    "front_end/security/SecurityModel.js",
-    "front_end/security/SecurityPanel.js",
-    "front_end/security/sidebar.css",
-    "front_end/security_test_runner/module.json",
-    "front_end/security_test_runner/SecurityTestRunner.js",
-    "front_end/services/module.json",
-    "front_end/settings/frameworkBlackboxSettingsTab.css",
-    "front_end/settings/FrameworkBlackboxSettingsTab.js",
-    "front_end/settings/module.json",
-    "front_end/settings/settingsScreen.css",
-    "front_end/settings/SettingsScreen.js",
-    "front_end/snippets/module.json",
-    "front_end/snippets/ScriptSnippetFileSystem.js",
-    "front_end/snippets/SnippetsQuickOpen.js",
-    "front_end/source_frame/BinaryResourceViewFactory.js",
-    "front_end/source_frame/fontView.css",
-    "front_end/source_frame/FontView.js",
-    "front_end/source_frame/imageView.css",
-    "front_end/source_frame/jsonView.css",
-    "front_end/source_frame/JSONView.js",
-    "front_end/source_frame/ImageView.js",
-    "front_end/source_frame/messagesPopover.css",
-    "front_end/source_frame/module.json",
-    "front_end/source_frame/PreviewFactory.js",
-    "front_end/source_frame/resourceSourceFrame.css",
-    "front_end/source_frame/ResourceSourceFrame.js",
-    "front_end/source_frame/SourceCodeDiff.js",
-    "front_end/source_frame/SourceFrame.js",
-    "front_end/source_frame/SourcesTextEditor.js",
-    "front_end/source_frame/xmlTree.css",
-    "front_end/source_frame/xmlView.css",
-    "front_end/source_frame/XMLView.js",
-    "front_end/sources/AddSourceMapURLDialog.js",
-    "front_end/sources/breakpointEditDialog.css",
-    "front_end/sources/BreakpointEditDialog.js",
-    "front_end/sources/callStackSidebarPane.css",
-    "front_end/sources/CallStackSidebarPane.js",
-    "front_end/sources/CSSPlugin.js",
-    "front_end/sources/DebuggerPlugin.js",
-    "front_end/sources/dialog.css",
-    "front_end/sources/debuggerPausedMessage.css",
-    "front_end/sources/DebuggerPausedMessage.js",
-    "front_end/sources/EditingLocationHistoryManager.js",
-    "front_end/sources/FilePathScoreFunction.js",
-    "front_end/sources/FilteredUISourceCodeListProvider.js",
-    "front_end/sources/GoToLineQuickOpen.js",
-    "front_end/sources/GutterDiffPlugin.js",
-    "front_end/sources/InplaceFormatterEditorAction.js",
-    "front_end/sources/javaScriptBreakpointsSidebarPane.css",
-    "front_end/sources/JavaScriptBreakpointsSidebarPane.js",
-    "front_end/sources/JavaScriptCompilerPlugin.js",
-    "front_end/sources/module.json",
-    "front_end/sources/navigatorTree.css",
-    "front_end/sources/navigatorView.css",
-    "front_end/sources/NavigatorView.js",
-    "front_end/sources/OpenFileQuickOpen.js",
-    "front_end/sources/OutlineQuickOpen.js",
-    "front_end/sources/scopeChainSidebarPane.css",
-    "front_end/sources/ScopeChainSidebarPane.js",
-    "front_end/sources/ScriptFormatterEditorAction.js",
-    "front_end/sources/ScriptOriginPlugin.js",
-    "front_end/sources/SearchSourcesView.js",
-    "front_end/sources/SimpleHistoryManager.js",
-    "front_end/sources/SnippetsPlugin.js",
-    "front_end/sources/SourceFormatter.js",
-    "front_end/sources/SourceMapNamesResolver.js",
-    "front_end/sources/SourcesNavigator.js",
-    "front_end/sources/sourcesPanel.css",
-    "front_end/sources/SourcesPanel.js",
-    "front_end/sources/SourcesSearchScope.js",
-    "front_end/sources/sourcesView.css",
-    "front_end/sources/SourcesView.js",
-    "front_end/sources/UISourceCodeFrame.js",
-    "front_end/sources/TabbedEditorContainer.js",
-    "front_end/sources/threadsSidebarPane.css",
-    "front_end/sources/ThreadsSidebarPane.js",
-    "front_end/sources/watchExpressionsSidebarPane.css",
-    "front_end/sources/WatchExpressionsSidebarPane.js",
-    "front_end/sources_test_runner/AutocompleteTestRunner.js",
-    "front_end/sources_test_runner/DebuggerTestRunner.js",
-    "front_end/sources_test_runner/EditorTestRunner.js",
-    "front_end/sources_test_runner/LiveEditTestRunner.js",
-    "front_end/sources_test_runner/SearchTestRunner.js",
-    "front_end/sources_test_runner/SourcesTestRunner.js",
-    "front_end/sources_test_runner/module.json",
-    "front_end/test_runner/module.json",
-    "front_end/test_runner/TestRunner.js",
-    "front_end/text_editor/autocompleteTooltip.css",
-    "front_end/text_editor/cmdevtools.css",
-    "front_end/text_editor/CodeMirrorTextEditor.js",
-    "front_end/text_editor/CodeMirrorUtils.js",
-    "front_end/text_editor/module.json",
-    "front_end/text_editor/TextEditorAutocompleteController.js",
-    "front_end/text_utils/module.json",
-    "front_end/text_utils/Text.js",
-    "front_end/text_utils/TextRange.js",
-    "front_end/text_utils/TextUtils.js",
-    "front_end/timeline_model/module.json",
-    "front_end/timeline_model/TimelineFrameModel.js",
-    "front_end/timeline_model/TimelineIRModel.js",
-    "front_end/timeline_model/TimelineJSProfile.js",
-    "front_end/timeline_model/TimelineModel.js",
-    "front_end/timeline_model/TimelineModelFilter.js",
-    "front_end/timeline_model/TimelineProfileTree.js",
-    "front_end/timeline_model/TracingLayerTree.js",
-    "front_end/timeline/CountersGraph.js",
-    "front_end/timeline/EventsTimelineTreeView.js",
-    "front_end/timeline/ExtensionTracingSession.js",
-    "front_end/timeline/historyToolbarButton.css",
-    "front_end/timeline/invalidationsTree.css",
-    "front_end/timeline/module.json",
-    "front_end/timeline/PerformanceModel.js",
-    "front_end/timeline/TimelineController.js",
-    "front_end/timeline/TimelineDetailsView.js",
-    "front_end/timeline/TimelineEventOverview.js",
-    "front_end/timeline/TimelineFilters.js",
-    "front_end/timeline/TimelineFlameChartDataProvider.js",
-    "front_end/timeline/TimelineFlameChartNetworkDataProvider.js",
-    "front_end/timeline/timelineFlamechartPopover.css",
-    "front_end/timeline/TimelineFlameChartView.js",
-    "front_end/timeline/timelineHistoryManager.css",
-    "front_end/timeline/TimelineHistoryManager.js",
-    "front_end/timeline/TimelineLayersView.js",
-    "front_end/timeline/TimelineLoader.js",
-    "front_end/timeline/timelinePaintProfiler.css",
-    "front_end/timeline/TimelinePaintProfilerView.js",
-    "front_end/timeline/timelinePanel.css",
-    "front_end/timeline/TimelinePanel.js",
-    "front_end/timeline/timelineStatusDialog.css",
-    "front_end/timeline/TimelineTreeView.js",
-    "front_end/timeline/TimelineUIUtils.js",
-    "front_end/timeline/UIDevtoolsController.js",
-    "front_end/timeline/UIDevtoolsUtils.js",
-    "front_end/toolbox_bootstrap/module.json",
-    "front_end/toolbox_bootstrap/Toolbox.js",
-    "front_end/toolbox.js",
-    "front_end/toolbox.json",
-    "front_end/ui/checkboxTextLabel.css",
-    "front_end/ui/closeButton.css",
-    "front_end/ui/confirmDialog.css",
-    "front_end/ui/dialog.css",
-    "front_end/ui/dropTarget.css",
-    "front_end/ui/emptyWidget.css",
-    "front_end/ui/filter.css",
-    "front_end/ui/glassPane.css",
-    "front_end/ui/infobar.css",
-    "front_end/ui/inlineButton.css",
-    "front_end/ui/inspectorCommon.css",
-    "front_end/ui/inspectorStyle.css",
-    "front_end/ui/inspectorSyntaxHighlight.css",
-    "front_end/ui/inspectorSyntaxHighlightDark.css",
-    "front_end/ui/inspectorViewTabbedPane.css",
-    "front_end/ui/listWidget.css",
-    "front_end/ui/module.json",
-    "front_end/ui/popover.css",
-    "front_end/ui/progressIndicator.css",
-    "front_end/ui/radioButton.css",
-    "front_end/ui/reportView.css",
-    "front_end/ui/remoteDebuggingTerminatedScreen.css",
-    "front_end/ui/rootView.css",
-    "front_end/ui/searchableView.css",
-    "front_end/ui/segmentedButton.css",
-    "front_end/ui/slider.css",
-    "front_end/ui/smallBubble.css",
-    "front_end/ui/softContextMenu.css",
-    "front_end/ui/softDropDown.css",
-    "front_end/ui/softDropDownButton.css",
-    "front_end/ui/splitWidget.css",
-    "front_end/ui/suggestBox.css",
-    "front_end/ui/tabbedPane.css",
-    "front_end/ui/targetCrashedScreen.css",
-    "front_end/ui/textButton.css",
-    "front_end/ui/textPrompt.css",
-    "front_end/ui/toolbar.css",
-    "front_end/ui/tooltip.css",
-    "front_end/ui/treeoutline.css",
-    "front_end/ui/viewContainers.css",
-    "front_end/web_audio/AudioContextContentBuilder.js",
-    "front_end/web_audio/audioContextSelector.css",
-    "front_end/web_audio/AudioContextSelector.js",
-    "front_end/web_audio/module.json",
-    "front_end/web_audio/webAudio.css",
-    "front_end/web_audio/WebAudioModel.js",
-    "front_end/web_audio/WebAudioView.js",
-    "front_end/web_audio/graph_visualizer/Types.js",
-    "front_end/web_audio/graph_visualizer/GraphStyle.js",
-    "front_end/web_audio/graph_visualizer/GraphManager.js",
-    "front_end/web_audio/graph_visualizer/NodeRendererUtility.js",
-    "front_end/web_audio/graph_visualizer/NodeView.js",
-    "front_end/web_audio/graph_visualizer/EdgeView.js",
-    "front_end/web_audio/graph_visualizer/GraphView.js",
-    "front_end/worker_main/WorkerMain.js",
-    "front_end/worker_main/module.json",
-    "front_end/worker_service/module.json",
-    "front_end/worker_service/ServiceDispatcher.js",
-    "front_end/workspace/module.json",
-    "front_end/workspace_diff/WorkspaceDiff.js",
-    "front_end/workspace_diff/module.json",
-  ]
-
-  lighthouse_locale_files = [
-    "front_end/audits_worker/lighthouse/locales/ar-XB.json",
-    "front_end/audits_worker/lighthouse/locales/ar.json",
-    "front_end/audits_worker/lighthouse/locales/bg.json",
-    "front_end/audits_worker/lighthouse/locales/ca.json",
-    "front_end/audits_worker/lighthouse/locales/cs.json",
-    "front_end/audits_worker/lighthouse/locales/da.json",
-    "front_end/audits_worker/lighthouse/locales/de.json",
-    "front_end/audits_worker/lighthouse/locales/el.json",
-    "front_end/audits_worker/lighthouse/locales/en-GB.json",
-    "front_end/audits_worker/lighthouse/locales/en-US.json",
-    "front_end/audits_worker/lighthouse/locales/en-XA.json",
-    "front_end/audits_worker/lighthouse/locales/en-XL.json",
-    "front_end/audits_worker/lighthouse/locales/es-419.json",
-    "front_end/audits_worker/lighthouse/locales/es.json",
-    "front_end/audits_worker/lighthouse/locales/fi.json",
-    "front_end/audits_worker/lighthouse/locales/fil.json",
-    "front_end/audits_worker/lighthouse/locales/fr.json",
-    "front_end/audits_worker/lighthouse/locales/he.json",
-    "front_end/audits_worker/lighthouse/locales/hi.json",
-    "front_end/audits_worker/lighthouse/locales/hr.json",
-    "front_end/audits_worker/lighthouse/locales/hu.json",
-    "front_end/audits_worker/lighthouse/locales/id.json",
-    "front_end/audits_worker/lighthouse/locales/it.json",
-    "front_end/audits_worker/lighthouse/locales/ja.json",
-    "front_end/audits_worker/lighthouse/locales/ko.json",
-    "front_end/audits_worker/lighthouse/locales/lt.json",
-    "front_end/audits_worker/lighthouse/locales/lv.json",
-    "front_end/audits_worker/lighthouse/locales/nl.json",
-    "front_end/audits_worker/lighthouse/locales/no.json",
-    "front_end/audits_worker/lighthouse/locales/pl.json",
-    "front_end/audits_worker/lighthouse/locales/pt-PT.json",
-    "front_end/audits_worker/lighthouse/locales/pt.json",
-    "front_end/audits_worker/lighthouse/locales/ro.json",
-    "front_end/audits_worker/lighthouse/locales/ru.json",
-    "front_end/audits_worker/lighthouse/locales/sk.json",
-    "front_end/audits_worker/lighthouse/locales/sl.json",
-    "front_end/audits_worker/lighthouse/locales/sr-Latn.json",
-    "front_end/audits_worker/lighthouse/locales/sr.json",
-    "front_end/audits_worker/lighthouse/locales/sv.json",
-    "front_end/audits_worker/lighthouse/locales/ta.json",
-    "front_end/audits_worker/lighthouse/locales/te.json",
-    "front_end/audits_worker/lighthouse/locales/th.json",
-    "front_end/audits_worker/lighthouse/locales/tr.json",
-    "front_end/audits_worker/lighthouse/locales/uk.json",
-    "front_end/audits_worker/lighthouse/locales/vi.json",
-    "front_end/audits_worker/lighthouse/locales/zh-HK.json",
-    "front_end/audits_worker/lighthouse/locales/zh-TW.json",
-    "front_end/audits_worker/lighthouse/locales/zh.json",
-  ]
-
-  all_devtools_files += lighthouse_locale_files
-
-  all_devtools_modules = [
-    "front_end/console_counters/console_counters.js",
-    "front_end/console_counters/WarningErrorCounter.js",
-    "front_end/extensions/extensions.js",
-    "front_end/extensions/ExtensionAPI.js",
-    "front_end/extensions/ExtensionPanel.js",
-    "front_end/extensions/ExtensionServer.js",
-    "front_end/extensions/ExtensionTraceProvider.js",
-    "front_end/extensions/ExtensionView.js",
-    "front_end/browser_sdk/browser_sdk.js",
-    "front_end/browser_sdk/LogManager.js",
-    "front_end/persistence/persistence.js",
-    "front_end/persistence/WorkspaceSettingsTab.js",
-    "front_end/persistence/PlatformFileSystem.js",
-    "front_end/persistence/PersistenceUtils.js",
-    "front_end/persistence/PersistenceImpl.js",
-    "front_end/persistence/PersistenceActions.js",
-    "front_end/persistence/NetworkPersistenceManager.js",
-    "front_end/persistence/IsolatedFileSystemManager.js",
-    "front_end/persistence/IsolatedFileSystem.js",
-    "front_end/persistence/FileSystemWorkspaceBinding.js",
-    "front_end/persistence/EditFileSystemView.js",
-    "front_end/persistence/Automapping.js",
-    "front_end/components/components.js",
-    "front_end/components/TargetDetachedDialog.js",
-    "front_end/components/Reload.js",
-    "front_end/components/Linkifier.js",
-    "front_end/components/JSPresentationUtils.js",
-    "front_end/components/ImagePreview.js",
-    "front_end/components/DockController.js",
-    "front_end/bindings/bindings.js",
-    "front_end/bindings/TempFile.js",
-    "front_end/bindings/StylesSourceMapping.js",
-    "front_end/bindings/SASSSourceMapping.js",
-    "front_end/bindings/ResourceUtils.js",
-    "front_end/bindings/ResourceScriptMapping.js",
-    "front_end/bindings/ResourceMapping.js",
-    "front_end/bindings/PresentationConsoleMessageHelper.js",
-    "front_end/bindings/NetworkProject.js",
-    "front_end/bindings/LiveLocation.js",
-    "front_end/bindings/FileUtils.js",
-    "front_end/bindings/DefaultScriptMapping.js",
-    "front_end/bindings/DebuggerWorkspaceBinding.js",
-    "front_end/bindings/CSSWorkspaceBinding.js",
-    "front_end/bindings/ContentProviderBasedProject.js",
-    "front_end/bindings/CompilerScriptMapping.js",
-    "front_end/bindings/BreakpointManager.js",
-    "front_end/bindings/BlackboxManager.js",
-    "front_end/workspace/workspace.js",
-    "front_end/workspace/WorkspaceImpl.js",
-    "front_end/workspace/UISourceCode.js",
-    "front_end/workspace/FileManager.js",
-    "front_end/services/services.js",
-    "front_end/services/ServiceManager.js",
-    "front_end/sdk/sdk.js",
-    "front_end/sdk/TracingModel.js",
-    "front_end/sdk/TracingManager.js",
-    "front_end/sdk/TargetManager.js",
-    "front_end/sdk/Target.js",
-    "front_end/sdk/SourceMapManager.js",
-    "front_end/sdk/SourceMap.js",
-    "front_end/sdk/ServiceWorkerManager.js",
-    "front_end/sdk/ServiceWorkerCacheModel.js",
-    "front_end/sdk/ServerTiming.js",
-    "front_end/sdk/SecurityOriginManager.js",
-    "front_end/sdk/SDKModel.js",
-    "front_end/sdk/Script.js",
-    "front_end/sdk/ScreenCaptureModel.js",
-    "front_end/sdk/RuntimeModel.js",
-    "front_end/sdk/ResourceTreeModel.js",
-    "front_end/sdk/Resource.js",
-    "front_end/sdk/RemoteObject.js",
-    "front_end/sdk/ProfileTreeModel.js",
-    "front_end/sdk/PerformanceMetricsModel.js",
-    "front_end/sdk/PaintProfiler.js",
-    "front_end/sdk/OverlayModel.js",
-    "front_end/sdk/NetworkRequest.js",
-    "front_end/sdk/NetworkManager.js",
-    "front_end/sdk/NetworkLog.js",
-    "front_end/sdk/LogModel.js",
-    "front_end/sdk/LayerTreeBase.js",
-    "front_end/sdk/IsolateManager.js",
-    "front_end/sdk/HeapProfilerModel.js",
-    "front_end/sdk/HARLog.js",
-    "front_end/sdk/FilmStripModel.js",
-    "front_end/sdk/EmulationModel.js",
-    "front_end/sdk/DOMModel.js",
-    "front_end/sdk/DOMDebuggerModel.js",
-    "front_end/sdk/DebuggerModel.js",
-    "front_end/sdk/CSSStyleSheetHeader.js",
-    "front_end/sdk/CSSStyleDeclaration.js",
-    "front_end/sdk/CSSRule.js",
-    "front_end/sdk/CSSProperty.js",
-    "front_end/sdk/CSSModel.js",
-    "front_end/sdk/CSSMetadata.js",
-    "front_end/sdk/CSSMedia.js",
-    "front_end/sdk/CSSMatchedStyles.js",
-    "front_end/sdk/CPUProfilerModel.js",
-    "front_end/sdk/CPUProfileDataModel.js",
-    "front_end/sdk/CookieParser.js",
-    "front_end/sdk/CookieModel.js",
-    "front_end/sdk/CompilerSourceMappingContentProvider.js",
-    "front_end/sdk/ConsoleModel.js",
-    "front_end/sdk/Connections.js",
-    "front_end/sdk/ChildTargetManager.js",
-    "front_end/protocol/protocol.js",
-    "front_end/protocol/NodeURL.js",
-    "front_end/protocol/InspectorBackend.js",
-    "front_end/host/host.js",
-    "front_end/host/UserMetrics.js",
-    "front_end/host/ResourceLoader.js",
-    "front_end/host/Platform.js",
-    "front_end/host/InspectorFrontendHost.js",
-    "front_end/host/InspectorFrontendHostAPI.js",
-    "front_end/dom_extension/DOMExtension.js",
-    "front_end/root.js",
-    "front_end/Runtime.js",
-    "front_end/platform/utilities.js",
-    "front_end/ui/ARIAUtils.js",
-    "front_end/ui/ZoomManager.js",
-    "front_end/ui/XWidget.js",
-    "front_end/ui/XLink.js",
-    "front_end/ui/XElement.js",
-    "front_end/ui/Widget.js",
-    "front_end/ui/View.js",
-    "front_end/ui/ViewManager.js",
-    "front_end/ui/UIUtils.js",
-    "front_end/ui/ui.js",
-    "front_end/ui/Treeoutline.js",
-    "front_end/ui/Tooltip.js",
-    "front_end/ui/Toolbar.js",
-    "front_end/ui/ThrottledWidget.js",
-    "front_end/ui/TextPrompt.js",
-    "front_end/ui/TextEditor.js",
-    "front_end/ui/TargetCrashedScreen.js",
-    "front_end/ui/TabbedPane.js",
-    "front_end/ui/SyntaxHighlighter.js",
-    "front_end/ui/SuggestBox.js",
-    "front_end/ui/SplitWidget.js",
-    "front_end/ui/SoftDropDown.js",
-    "front_end/ui/SoftContextMenu.js",
-    "front_end/ui/ShortcutsScreen.js",
-    "front_end/ui/ShortcutRegistry.js",
-    "front_end/ui/SettingsUI.js",
-    "front_end/ui/SegmentedButton.js",
-    "front_end/ui/SearchableView.js",
-    "front_end/ui/RootView.js",
-    "front_end/ui/ResizerWidget.js",
-    "front_end/ui/ReportView.js",
-    "front_end/ui/RemoteDebuggingTerminatedScreen.js",
-    "front_end/ui/ProgressIndicator.js",
-    "front_end/ui/PopoverHelper.js",
-    "front_end/ui/Panel.js",
-    "front_end/ui/ListWidget.js",
-    "front_end/ui/ListModel.js",
-    "front_end/ui/ListControl.js",
-    "front_end/ui/KeyboardShortcut.js",
-    "front_end/ui/InspectorView.js",
-    "front_end/ui/InplaceEditor.js",
-    "front_end/ui/Infobar.js",
-    "front_end/ui/Icon.js",
-    "front_end/ui/HistoryInput.js",
-    "front_end/ui/GlassPane.js",
-    "front_end/ui/Geometry.js",
-    "front_end/ui/Fragment.js",
-    "front_end/ui/ForwardedInputEventHandler.js",
-    "front_end/ui/FilterSuggestionBuilder.js",
-    "front_end/ui/FilterBar.js",
-    "front_end/ui/EmptyWidget.js",
-    "front_end/ui/DropTarget.js",
-    "front_end/ui/Dialog.js",
-    "front_end/ui/ContextMenu.js",
-    "front_end/ui/Context.js",
-    "front_end/ui/ARIAUtils.js",
-    "front_end/ui/ActionRegistry.js",
-    "front_end/ui/Action.js",
-    "front_end/ui/ActionDelegate.js",
-    "front_end/ui/ContextFlavorListener.js",
-    "front_end/root.js",
-    "front_end/common/common.js",
-    "front_end/common/App.js",
-    "front_end/common/AppProvider.js",
-    "front_end/common/CharacterIdMap.js",
-    "front_end/common/Color.js",
-    "front_end/common/ContentProvider.js",
-    "front_end/common/EventTarget.js",
-    "front_end/common/JavaScriptMetaData.js",
-    "front_end/common/Linkifier.js",
-    "front_end/common/Object.js",
-    "front_end/common/Console.js",
-    "front_end/common/ParsedURL.js",
-    "front_end/common/Progress.js",
-    "front_end/common/QueryParamHandler.js",
-    "front_end/common/ResourceType.js",
-    "front_end/common/Revealer.js",
-    "front_end/common/Runnable.js",
-    "front_end/common/SegmentedRange.js",
-    "front_end/common/Settings.js",
-    "front_end/common/StaticContentProvider.js",
-    "front_end/common/StringOutputStream.js",
-    "front_end/common/TextDictionary.js",
-    "front_end/common/Throttler.js",
-    "front_end/common/Trie.js",
-    "front_end/common/UIString.js",
-    "front_end/common/Worker.js",
-  ]
-
-  devtools_test_files = [
-    "//third_party/axe-core/axe.js",
-    "front_end/accessibility_test_runner/AccessibilityPaneTestRunner.js",
-    "front_end/accessibility_test_runner/module.json",
-    "front_end/application_test_runner/AppcacheTestRunner.js",
-    "front_end/application_test_runner/CacheStorageTestRunner.js",
-    "front_end/application_test_runner/IndexedDBTestRunner.js",
-    "front_end/application_test_runner/module.json",
-    "front_end/application_test_runner/ResourcesTestRunner.js",
-    "front_end/application_test_runner/ResourceTreeTestRunner.js",
-    "front_end/application_test_runner/ServiceWorkersTestRunner.js",
-    "front_end/audits_test_runner/AuditsTestRunner.js",
-    "front_end/audits_test_runner/module.json",
-    "front_end/axe_core_test_runner/AxeCoreTestRunner.js",
-    "front_end/axe_core_test_runner/module.json",
-    "front_end/bindings_test_runner/AutomappingTestRunner.js",
-    "front_end/bindings_test_runner/BindingsTestRunner.js",
-    "front_end/bindings_test_runner/IsolatedFilesystemTestRunner.js",
-    "front_end/bindings_test_runner/module.json",
-    "front_end/bindings_test_runner/OverridesTestRunner.js",
-    "front_end/bindings_test_runner/PersistenceTestRunner.js",
-    "front_end/console_test_runner/ConsoleTestRunner.js",
-    "front_end/console_test_runner/module.json",
-    "front_end/coverage_test_runner/CoverageTestRunner.js",
-    "front_end/coverage_test_runner/module.json",
-    "front_end/cpu_profiler_test_runner/module.json",
-    "front_end/cpu_profiler_test_runner/ProfilerTestRunner.js",
-    "front_end/data_grid_test_runner/DataGridTestRunner.js",
-    "front_end/data_grid_test_runner/module.json",
-    "front_end/device_mode_test_runner/DeviceModeTestRunner.js",
-    "front_end/device_mode_test_runner/module.json",
-    "front_end/elements_test_runner/EditDOMTestRunner.js",
-    "front_end/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js",
-    "front_end/elements_test_runner/ElementsTestRunner.js",
-    "front_end/elements_test_runner/module.json",
-    "front_end/elements_test_runner/SetOuterHTMLTestRunner.js",
-    "front_end/elements_test_runner/StylesUpdateLinksTestRunner.js",
-    "front_end/extensions_test_runner/ExtensionsNetworkTestRunner.js",
-    "front_end/extensions_test_runner/ExtensionsTestRunner.js",
-    "front_end/extensions_test_runner/module.json",
-    "front_end/heap_profiler_test_runner/HeapProfilerTestRunner.js",
-    "front_end/heap_profiler_test_runner/module.json",
-    "front_end/integration_test_runner.html",
-    "front_end/integration_test_runner.js",
-    "front_end/integration_test_runner.json",
-    "front_end/layers_test_runner/LayersTestRunner.js",
-    "front_end/layers_test_runner/module.json",
-    "front_end/network_test_runner/module.json",
-    "front_end/network_test_runner/NetworkTestRunner.js",
-    "front_end/network_test_runner/ProductRegistryTestRunner.js",
-    "front_end/performance_test_runner/module.json",
-    "front_end/performance_test_runner/TimelineDataTestRunner.js",
-    "front_end/performance_test_runner/TimelineTestRunner.js",
-    "front_end/sdk_test_runner/module.json",
-    "front_end/sdk_test_runner/PageMockTestRunner.js",
-    "front_end/security_test_runner/module.json",
-    "front_end/security_test_runner/SecurityTestRunner.js",
-    "front_end/sources_test_runner/AutocompleteTestRunner.js",
-    "front_end/sources_test_runner/DebuggerTestRunner.js",
-    "front_end/sources_test_runner/EditorTestRunner.js",
-    "front_end/sources_test_runner/LiveEditTestRunner.js",
-    "front_end/sources_test_runner/module.json",
-    "front_end/sources_test_runner/SearchTestRunner.js",
-    "front_end/sources_test_runner/SourcesTestRunner.js",
-    "front_end/test_runner/module.json",
-    "front_end/test_runner/TestRunner.js",
-  ]
-
-  devtools_embedder_scripts = [
-    "front_end/devtools_compatibility.js",
-    "front_end/Tests.js",
-  ]
-
-  devtools_emulated_devices_images = [
-    "front_end/emulated_devices/google-nexus-5-horizontal-default-1x.png",
-    "front_end/emulated_devices/google-nexus-5-horizontal-default-2x.png",
-    "front_end/emulated_devices/google-nexus-5-horizontal-keyboard-1x.png",
-    "front_end/emulated_devices/google-nexus-5-horizontal-keyboard-2x.png",
-    "front_end/emulated_devices/google-nexus-5-horizontal-navigation-1x.png",
-    "front_end/emulated_devices/google-nexus-5-horizontal-navigation-2x.png",
-    "front_end/emulated_devices/google-nexus-5-vertical-default-1x.png",
-    "front_end/emulated_devices/google-nexus-5-vertical-default-2x.png",
-    "front_end/emulated_devices/google-nexus-5-vertical-keyboard-1x.png",
-    "front_end/emulated_devices/google-nexus-5-vertical-keyboard-2x.png",
-    "front_end/emulated_devices/google-nexus-5-vertical-navigation-1x.png",
-    "front_end/emulated_devices/google-nexus-5-vertical-navigation-2x.png",
-    "front_end/emulated_devices/google-nexus-5x-horizontal-default-1x.png",
-    "front_end/emulated_devices/google-nexus-5x-horizontal-default-2x.png",
-    "front_end/emulated_devices/google-nexus-5x-horizontal-keyboard-1x.png",
-    "front_end/emulated_devices/google-nexus-5x-horizontal-keyboard-2x.png",
-    "front_end/emulated_devices/google-nexus-5x-horizontal-navigation-1x.png",
-    "front_end/emulated_devices/google-nexus-5x-horizontal-navigation-2x.png",
-    "front_end/emulated_devices/google-nexus-5x-vertical-default-1x.png",
-    "front_end/emulated_devices/google-nexus-5x-vertical-default-2x.png",
-    "front_end/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png",
-    "front_end/emulated_devices/google-nexus-5x-vertical-keyboard-2x.png",
-    "front_end/emulated_devices/google-nexus-5x-vertical-navigation-1x.png",
-    "front_end/emulated_devices/google-nexus-5x-vertical-navigation-2x.png",
-    "front_end/emulated_devices/iPad-landscape.svg",
-    "front_end/emulated_devices/iPad-portrait.svg",
-    "front_end/emulated_devices/iPhone5-landscape.svg",
-    "front_end/emulated_devices/iPhone5-portrait.svg",
-    "front_end/emulated_devices/iPhone6-landscape.svg",
-    "front_end/emulated_devices/iPhone6-portrait.svg",
-    "front_end/emulated_devices/iPhone6Plus-landscape.svg",
-    "front_end/emulated_devices/iPhone6Plus-portrait.svg",
-    "front_end/emulated_devices/Nexus5X-landscape.svg",
-    "front_end/emulated_devices/Nexus5X-portrait.svg",
-    "front_end/emulated_devices/Nexus6P-landscape.svg",
-    "front_end/emulated_devices/Nexus6P-portrait.svg",
-  ]
-
-  devtools_image_files = [
-    "front_end/Images/accelerometer-back.svg",
-    "front_end/Images/accelerometer-bottom.png",
-    "front_end/Images/accelerometer-front.svg",
-    "front_end/Images/accelerometer-left.png",
-    "front_end/Images/accelerometer-right.png",
-    "front_end/Images/accelerometer-top.png",
-    "front_end/Images/audits_logo.svg",
-    "front_end/Images/breakpoint.svg",
-    "front_end/Images/breakpointConditional.svg",
-    "front_end/Images/checkboxCheckmark.svg",
-    "front_end/Images/checker.png",
-    "front_end/Images/chevrons.svg",
-    "front_end/Images/chromeDisabledSelect.png",
-    "front_end/Images/chromeDisabledSelect_2x.png",
-    "front_end/Images/chromeLeft.png",
-    "front_end/Images/chromeMiddle.png",
-    "front_end/Images/chromeRight.png",
-    "front_end/Images/chromeSelect.png",
-    "front_end/Images/chromeSelect_2x.png",
-    "front_end/Images/errorWave.svg",
-    "front_end/Images/ic_info_black_18dp.svg",
-    "front_end/Images/ic_warning_black_18dp.svg",
-    "front_end/Images/largeIcons.svg",
-    "front_end/Images/mediumIcons.svg",
-    "front_end/Images/navigationControls.png",
-    "front_end/Images/navigationControls_2x.png",
-    "front_end/Images/nodeIcon.png",
-    "front_end/Images/popoverArrows.png",
-    "front_end/Images/profileGroupIcon.png",
-    "front_end/Images/profileIcon.png",
-    "front_end/Images/profileSmallIcon.png",
-    "front_end/Images/radioDot.png",
-    "front_end/Images/resizeDiagonal.png",
-    "front_end/Images/resizeDiagonal_2x.png",
-    "front_end/Images/resizeHorizontal.png",
-    "front_end/Images/resizeHorizontal_2x.png",
-    "front_end/Images/resizeVertical.png",
-    "front_end/Images/resizeVertical_2x.png",
-    "front_end/Images/resourceCSSIcon.png",
-    "front_end/Images/resourceDocumentIcon.png",
-    "front_end/Images/resourceDocumentIconSmall.png",
-    "front_end/Images/resourceJSIcon.png",
-    "front_end/Images/resourcePlainIcon.png",
-    "front_end/Images/resourcePlainIconSmall.png",
-    "front_end/Images/resourcesTimeGraphIcon.png",
-    "front_end/Images/searchNext.png",
-    "front_end/Images/searchPrev.png",
-    "front_end/Images/securityIcons.svg",
-    "front_end/Images/speech.png",
-    "front_end/Images/smallIcons.svg",
-    "front_end/Images/toolbarResizerVertical.png",
-    "front_end/Images/touchCursor.png",
-    "front_end/Images/touchCursor_2x.png",
-    "front_end/Images/treeoutlineTriangles.svg",
-    "front_end/Images/whatsnew.png",
-  ]
-
-  resources_out_dir = "$root_out_dir/resources/inspector"
-
-  generated_scripts = [
-    "$resources_out_dir/InspectorBackendCommands.js",
-    "$resources_out_dir/SupportedCSSProperties.js",
-  ]
-
-  generated_aria_properties =
-      [ "$resources_out_dir/accessibility/ARIAProperties.js" ]
-
-  application_templates = [
-    "front_end/devtools_app.html",
-    "front_end/inspector.html",
-    "front_end/integration_test_runner.html",
-    "front_end/js_app.html",
-    "front_end/ndb_app.html",
-    "front_end/node_app.html",
-    "front_end/toolbox.html",
-    "front_end/worker_app.html",
-  ]
-
-  copied_devtools_modules = [
-    "$resources_out_dir/console_counters/console_counters.js",
-    "$resources_out_dir/console_counters/WarningErrorCounter.js",
-    "$resources_out_dir/extensions/extensions.js",
-    "$resources_out_dir/extensions/ExtensionAPI.js",
-    "$resources_out_dir/extensions/ExtensionPanel.js",
-    "$resources_out_dir/extensions/ExtensionServer.js",
-    "$resources_out_dir/extensions/ExtensionTraceProvider.js",
-    "$resources_out_dir/extensions/ExtensionView.js",
-    "$resources_out_dir/browser_sdk/browser_sdk.js",
-    "$resources_out_dir/browser_sdk/LogManager.js",
-    "$resources_out_dir/persistence/persistence.js",
-    "$resources_out_dir/persistence/WorkspaceSettingsTab.js",
-    "$resources_out_dir/persistence/PlatformFileSystem.js",
-    "$resources_out_dir/persistence/PersistenceUtils.js",
-    "$resources_out_dir/persistence/PersistenceImpl.js",
-    "$resources_out_dir/persistence/PersistenceActions.js",
-    "$resources_out_dir/persistence/NetworkPersistenceManager.js",
-    "$resources_out_dir/persistence/IsolatedFileSystemManager.js",
-    "$resources_out_dir/persistence/IsolatedFileSystem.js",
-    "$resources_out_dir/persistence/FileSystemWorkspaceBinding.js",
-    "$resources_out_dir/persistence/EditFileSystemView.js",
-    "$resources_out_dir/persistence/Automapping.js",
-    "$resources_out_dir/components/components.js",
-    "$resources_out_dir/components/TargetDetachedDialog.js",
-    "$resources_out_dir/components/Reload.js",
-    "$resources_out_dir/components/Linkifier.js",
-    "$resources_out_dir/components/JSPresentationUtils.js",
-    "$resources_out_dir/components/ImagePreview.js",
-    "$resources_out_dir/components/DockController.js",
-    "$resources_out_dir/bindings/bindings.js",
-    "$resources_out_dir/bindings/TempFile.js",
-    "$resources_out_dir/bindings/StylesSourceMapping.js",
-    "$resources_out_dir/bindings/SASSSourceMapping.js",
-    "$resources_out_dir/bindings/ResourceUtils.js",
-    "$resources_out_dir/bindings/ResourceScriptMapping.js",
-    "$resources_out_dir/bindings/ResourceMapping.js",
-    "$resources_out_dir/bindings/PresentationConsoleMessageHelper.js",
-    "$resources_out_dir/bindings/NetworkProject.js",
-    "$resources_out_dir/bindings/LiveLocation.js",
-    "$resources_out_dir/bindings/FileUtils.js",
-    "$resources_out_dir/bindings/DefaultScriptMapping.js",
-    "$resources_out_dir/bindings/DebuggerWorkspaceBinding.js",
-    "$resources_out_dir/bindings/CSSWorkspaceBinding.js",
-    "$resources_out_dir/bindings/ContentProviderBasedProject.js",
-    "$resources_out_dir/bindings/CompilerScriptMapping.js",
-    "$resources_out_dir/bindings/BreakpointManager.js",
-    "$resources_out_dir/bindings/BlackboxManager.js",
-    "$resources_out_dir/workspace/workspace.js",
-    "$resources_out_dir/workspace/WorkspaceImpl.js",
-    "$resources_out_dir/workspace/UISourceCode.js",
-    "$resources_out_dir/workspace/FileManager.js",
-    "$resources_out_dir/services/services.js",
-    "$resources_out_dir/services/ServiceManager.js",
-    "$resources_out_dir/sdk/sdk.js",
-    "$resources_out_dir/sdk/TracingModel.js",
-    "$resources_out_dir/sdk/TracingManager.js",
-    "$resources_out_dir/sdk/TargetManager.js",
-    "$resources_out_dir/sdk/Target.js",
-    "$resources_out_dir/sdk/SourceMapManager.js",
-    "$resources_out_dir/sdk/SourceMap.js",
-    "$resources_out_dir/sdk/ServiceWorkerManager.js",
-    "$resources_out_dir/sdk/ServiceWorkerCacheModel.js",
-    "$resources_out_dir/sdk/ServerTiming.js",
-    "$resources_out_dir/sdk/SecurityOriginManager.js",
-    "$resources_out_dir/sdk/SDKModel.js",
-    "$resources_out_dir/sdk/Script.js",
-    "$resources_out_dir/sdk/ScreenCaptureModel.js",
-    "$resources_out_dir/sdk/RuntimeModel.js",
-    "$resources_out_dir/sdk/ResourceTreeModel.js",
-    "$resources_out_dir/sdk/Resource.js",
-    "$resources_out_dir/sdk/RemoteObject.js",
-    "$resources_out_dir/sdk/ProfileTreeModel.js",
-    "$resources_out_dir/sdk/PerformanceMetricsModel.js",
-    "$resources_out_dir/sdk/PaintProfiler.js",
-    "$resources_out_dir/sdk/OverlayModel.js",
-    "$resources_out_dir/sdk/NetworkRequest.js",
-    "$resources_out_dir/sdk/NetworkManager.js",
-    "$resources_out_dir/sdk/NetworkLog.js",
-    "$resources_out_dir/sdk/LogModel.js",
-    "$resources_out_dir/sdk/LayerTreeBase.js",
-    "$resources_out_dir/sdk/IsolateManager.js",
-    "$resources_out_dir/sdk/HeapProfilerModel.js",
-    "$resources_out_dir/sdk/HARLog.js",
-    "$resources_out_dir/sdk/FilmStripModel.js",
-    "$resources_out_dir/sdk/EmulationModel.js",
-    "$resources_out_dir/sdk/DOMModel.js",
-    "$resources_out_dir/sdk/DOMDebuggerModel.js",
-    "$resources_out_dir/sdk/DebuggerModel.js",
-    "$resources_out_dir/sdk/CSSStyleSheetHeader.js",
-    "$resources_out_dir/sdk/CSSStyleDeclaration.js",
-    "$resources_out_dir/sdk/CSSRule.js",
-    "$resources_out_dir/sdk/CSSProperty.js",
-    "$resources_out_dir/sdk/CSSModel.js",
-    "$resources_out_dir/sdk/CSSMetadata.js",
-    "$resources_out_dir/sdk/CSSMedia.js",
-    "$resources_out_dir/sdk/CSSMatchedStyles.js",
-    "$resources_out_dir/sdk/CPUProfilerModel.js",
-    "$resources_out_dir/sdk/CPUProfileDataModel.js",
-    "$resources_out_dir/sdk/CookieParser.js",
-    "$resources_out_dir/sdk/CookieModel.js",
-    "$resources_out_dir/sdk/CompilerSourceMappingContentProvider.js",
-    "$resources_out_dir/sdk/ConsoleModel.js",
-    "$resources_out_dir/sdk/Connections.js",
-    "$resources_out_dir/sdk/ChildTargetManager.js",
-    "$resources_out_dir/protocol/protocol.js",
-    "$resources_out_dir/protocol/NodeURL.js",
-    "$resources_out_dir/protocol/InspectorBackend.js",
-    "$resources_out_dir/host/host.js",
-    "$resources_out_dir/host/UserMetrics.js",
-    "$resources_out_dir/host/ResourceLoader.js",
-    "$resources_out_dir/host/Platform.js",
-    "$resources_out_dir/host/InspectorFrontendHost.js",
-    "$resources_out_dir/host/InspectorFrontendHostAPI.js",
-    "$resources_out_dir/dom_extension/DOMExtension.js",
-    "$resources_out_dir/root.js",
-    "$resources_out_dir/Runtime.js",
-    "$resources_out_dir/platform/utilities.js",
-    "$resources_out_dir/ui/ui.js",
-    "$resources_out_dir/common/common.js",
-    "$resources_out_dir/ui/ZoomManager.js",
-    "$resources_out_dir/ui/XWidget.js",
-    "$resources_out_dir/ui/XLink.js",
-    "$resources_out_dir/ui/XElement.js",
-    "$resources_out_dir/ui/Widget.js",
-    "$resources_out_dir/ui/View.js",
-    "$resources_out_dir/ui/ViewManager.js",
-    "$resources_out_dir/ui/UIUtils.js",
-    "$resources_out_dir/ui/Treeoutline.js",
-    "$resources_out_dir/ui/Tooltip.js",
-    "$resources_out_dir/ui/Toolbar.js",
-    "$resources_out_dir/ui/ThrottledWidget.js",
-    "$resources_out_dir/ui/TextPrompt.js",
-    "$resources_out_dir/ui/TextEditor.js",
-    "$resources_out_dir/ui/TargetCrashedScreen.js",
-    "$resources_out_dir/ui/TabbedPane.js",
-    "$resources_out_dir/ui/SyntaxHighlighter.js",
-    "$resources_out_dir/ui/SuggestBox.js",
-    "$resources_out_dir/ui/SplitWidget.js",
-    "$resources_out_dir/ui/SoftDropDown.js",
-    "$resources_out_dir/ui/SoftContextMenu.js",
-    "$resources_out_dir/ui/ShortcutsScreen.js",
-    "$resources_out_dir/ui/ShortcutRegistry.js",
-    "$resources_out_dir/ui/SettingsUI.js",
-    "$resources_out_dir/ui/SegmentedButton.js",
-    "$resources_out_dir/ui/SearchableView.js",
-    "$resources_out_dir/ui/RootView.js",
-    "$resources_out_dir/ui/ResizerWidget.js",
-    "$resources_out_dir/ui/ReportView.js",
-    "$resources_out_dir/ui/RemoteDebuggingTerminatedScreen.js",
-    "$resources_out_dir/ui/ProgressIndicator.js",
-    "$resources_out_dir/ui/PopoverHelper.js",
-    "$resources_out_dir/ui/Panel.js",
-    "$resources_out_dir/ui/ListWidget.js",
-    "$resources_out_dir/ui/ListModel.js",
-    "$resources_out_dir/ui/ListControl.js",
-    "$resources_out_dir/ui/KeyboardShortcut.js",
-    "$resources_out_dir/ui/InspectorView.js",
-    "$resources_out_dir/ui/InplaceEditor.js",
-    "$resources_out_dir/ui/Infobar.js",
-    "$resources_out_dir/ui/Icon.js",
-    "$resources_out_dir/ui/HistoryInput.js",
-    "$resources_out_dir/ui/GlassPane.js",
-    "$resources_out_dir/ui/Geometry.js",
-    "$resources_out_dir/ui/Fragment.js",
-    "$resources_out_dir/ui/ForwardedInputEventHandler.js",
-    "$resources_out_dir/ui/FilterSuggestionBuilder.js",
-    "$resources_out_dir/ui/FilterBar.js",
-    "$resources_out_dir/ui/EmptyWidget.js",
-    "$resources_out_dir/ui/DropTarget.js",
-    "$resources_out_dir/ui/Dialog.js",
-    "$resources_out_dir/ui/ContextMenu.js",
-    "$resources_out_dir/ui/Context.js",
-    "$resources_out_dir/ui/ARIAUtils.js",
-    "$resources_out_dir/ui/ActionRegistry.js",
-    "$resources_out_dir/ui/Action.js",
-    "$resources_out_dir/ui/ActionDelegate.js",
-    "$resources_out_dir/ui/ContextFlavorListener.js",
-    "$resources_out_dir/common/App.js",
-    "$resources_out_dir/common/AppProvider.js",
-    "$resources_out_dir/common/CharacterIdMap.js",
-    "$resources_out_dir/common/Color.js",
-    "$resources_out_dir/common/ContentProvider.js",
-    "$resources_out_dir/common/EventTarget.js",
-    "$resources_out_dir/common/JavaScriptMetaData.js",
-    "$resources_out_dir/common/Linkifier.js",
-    "$resources_out_dir/common/Object.js",
-    "$resources_out_dir/common/Console.js",
-    "$resources_out_dir/common/ParsedURL.js",
-    "$resources_out_dir/common/Progress.js",
-    "$resources_out_dir/common/QueryParamHandler.js",
-    "$resources_out_dir/common/ResourceType.js",
-    "$resources_out_dir/common/Revealer.js",
-    "$resources_out_dir/common/Runnable.js",
-    "$resources_out_dir/common/SegmentedRange.js",
-    "$resources_out_dir/common/Settings.js",
-    "$resources_out_dir/common/StaticContentProvider.js",
-    "$resources_out_dir/common/StringOutputStream.js",
-    "$resources_out_dir/common/TextDictionary.js",
-    "$resources_out_dir/common/Throttler.js",
-    "$resources_out_dir/common/Trie.js",
-    "$resources_out_dir/common/UIString.js",
-    "$resources_out_dir/common/Worker.js",
-  ]
-
-  generated_applications = [
-    "$resources_out_dir/audits_worker.js",
-    "$resources_out_dir/devtools_app.html",
-    "$resources_out_dir/devtools_app.js",
-    "$resources_out_dir/formatter_worker.js",
-    "$resources_out_dir/heap_snapshot_worker.js",
-    "$resources_out_dir/inspector.html",
-    "$resources_out_dir/inspector.js",
-    "$resources_out_dir/js_app.html",
-    "$resources_out_dir/js_app.js",
-    "$resources_out_dir/node_app.html",
-    "$resources_out_dir/node_app.js",
-    "$resources_out_dir/shell.js",
-    "$resources_out_dir/toolbox.html",
-    "$resources_out_dir/toolbox.js",
-    "$resources_out_dir/worker_app.html",
-    "$resources_out_dir/worker_app.js",
-  ]
-
-  generated_non_autostart_non_remote_modules = [
-    "$resources_out_dir/animation/animation_module.js",
-    "$resources_out_dir/audits/audits_module.js",
-    "$resources_out_dir/browser_debugger/browser_debugger_module.js",
-    "$resources_out_dir/changes/changes_module.js",
-    "$resources_out_dir/protocol_monitor/protocol_monitor_module.js",
-    "$resources_out_dir/css_overview/css_overview_module.js",
-    "$resources_out_dir/cm/cm_module.js",
-    "$resources_out_dir/color_picker/color_picker_module.js",
-    "$resources_out_dir/console/console_module.js",
-    "$resources_out_dir/cookie_table/cookie_table_module.js",
-    "$resources_out_dir/coverage/coverage_module.js",
-    "$resources_out_dir/data_grid/data_grid_module.js",
-    "$resources_out_dir/devices/devices_module.js",
-    "$resources_out_dir/diff/diff_module.js",
-    "$resources_out_dir/elements/elements_module.js",
-    "$resources_out_dir/event_listeners/event_listeners_module.js",
-    "$resources_out_dir/formatter/formatter_module.js",
-    "$resources_out_dir/har_importer/har_importer_module.js",
-    "$resources_out_dir/heap_snapshot_model/heap_snapshot_model_module.js",
-    "$resources_out_dir/help/help_module.js",
-    "$resources_out_dir/inline_editor/inline_editor_module.js",
-    "$resources_out_dir/javascript_metadata/javascript_metadata_module.js",
-    "$resources_out_dir/js_profiler/js_profiler_module.js",
-    "$resources_out_dir/layer_viewer/layer_viewer_module.js",
-    "$resources_out_dir/layers/layers_module.js",
-    "$resources_out_dir/media/media_module.js",
-    "$resources_out_dir/network/network_module.js",
-    "$resources_out_dir/node_debugger/node_debugger_module.js",
-    "$resources_out_dir/object_ui/object_ui_module.js",
-    "$resources_out_dir/perf_ui/perf_ui_module.js",
-    "$resources_out_dir/performance_monitor/performance_monitor_module.js",
-    "$resources_out_dir/profiler/profiler_module.js",
-    "$resources_out_dir/quick_open/quick_open_module.js",
-    "$resources_out_dir/resources/resources_module.js",
-    "$resources_out_dir/search/search_module.js",
-    "$resources_out_dir/security/security_module.js",
-    "$resources_out_dir/settings/settings_module.js",
-    "$resources_out_dir/snippets/snippets_module.js",
-    "$resources_out_dir/source_frame/source_frame_module.js",
-    "$resources_out_dir/sources/sources_module.js",
-    "$resources_out_dir/text_editor/text_editor_module.js",
-    "$resources_out_dir/timeline_model/timeline_model_module.js",
-    "$resources_out_dir/timeline/timeline_module.js",
-    "$resources_out_dir/web_audio/web_audio_module.js",
-    "$resources_out_dir/workspace_diff/workspace_diff_module.js",
-  ]
-
-  generated_remote_modules = [
-    "$resources_out_dir/accessibility/accessibility_module.js",
-    "$resources_out_dir/audits_worker/audits_worker_module.js",
-    "$resources_out_dir/cm_modes/cm_modes_module.js",
-    "$resources_out_dir/dagre_layout/dagre_layout_module.js",
-    "$resources_out_dir/emulated_devices/emulated_devices_module.js",
-    "$resources_out_dir/product_registry_impl/product_registry_impl_module.js",
-  ]
-
-  generated_test_modules = [
-    "$resources_out_dir/accessibility_test_runner/accessibility_test_runner_module.js",
-    "$resources_out_dir/application_test_runner/application_test_runner_module.js",
-    "$resources_out_dir/audits_test_runner/audits_test_runner_module.js",
-    "$resources_out_dir/axe_core_test_runner/axe_core_test_runner_module.js",
-    "$resources_out_dir/bindings_test_runner/bindings_test_runner_module.js",
-    "$resources_out_dir/console_test_runner/console_test_runner_module.js",
-    "$resources_out_dir/coverage_test_runner/coverage_test_runner_module.js",
-    "$resources_out_dir/cpu_profiler_test_runner/cpu_profiler_test_runner_module.js",
-    "$resources_out_dir/data_grid_test_runner/data_grid_test_runner_module.js",
-    "$resources_out_dir/device_mode_test_runner/device_mode_test_runner_module.js",
-    "$resources_out_dir/elements_test_runner/elements_test_runner_module.js",
-    "$resources_out_dir/extensions_test_runner/extensions_test_runner_module.js",
-    "$resources_out_dir/heap_profiler_test_runner/heap_profiler_test_runner_module.js",
-    "$resources_out_dir/heap_snapshot_worker/heap_snapshot_worker_module.js",
-    "$resources_out_dir/integration_test_runner.html",
-    "$resources_out_dir/integration_test_runner.js",
-    "$resources_out_dir/layers_test_runner/layers_test_runner_module.js",
-    "$resources_out_dir/network_test_runner/network_test_runner_module.js",
-    "$resources_out_dir/performance_test_runner/performance_test_runner_module.js",
-    "$resources_out_dir/sdk_test_runner/sdk_test_runner_module.js",
-    "$resources_out_dir/security_test_runner/security_test_runner_module.js",
-    "$resources_out_dir/sources_test_runner/sources_test_runner_module.js",
-  ]
-
-  devtools_applications = [
-    "audits_worker",
-    "devtools_app",
-    "formatter_worker",
-    "heap_snapshot_worker",
-    "inspector",
-    "integration_test_runner",
-    "js_app",
-    "ndb_app",
-    "node_app",
-    "shell",
-    "toolbox",
-    "worker_app",
-  ]
-
-  #-------------------------------------------------------------------------------
-
-  visibility = [ "//third_party/blink/*" ]
-
-  group("devtools_all_files") {
-    data = all_devtools_files + all_devtools_modules
-    deps = [
-      ":devtools_frontend_resources_data",
-    ]
-  }
-
-  devtools_frontend_resources_deps = [
-    ":aria_properties",
-    ":build_release_devtools",
-    ":copy_embedder_scripts",
-    ":copy_emulated_devices_images",
-    ":copy_htaccess",
-    ":copy_inspector_images",
-    ":copy_lighthouse_locale_files",
-    ":devtools_extension_api",
-    ":frontend_protocol_sources",
-    ":supported_css_properties",
-    ":copy_devtools_modules",
-  ]
-
-  if (debug_devtools) {
-    devtools_frontend_resources_deps += [
-      ":build_debug_devtools",
-      ":copy_aria_properties",
-      ":copy_generated_scripts",
-    ]
-  }
-
-  group("devtools_frontend_resources") {
-    public_deps = devtools_frontend_resources_deps
-  }
-
-  # Do not use this unless you need unpacked devtools at runtime.
-  group("devtools_frontend_resources_data") {
-    data_deps = devtools_frontend_resources_deps
-  }
-
-  copy("copy_embedder_scripts") {
-    sources = devtools_embedder_scripts
-    outputs = [
-      "$resources_out_dir/{{source_file_part}}",
-    ]
-  }
-
-  copy("copy_htaccess") {
-    sources = [
-      "htaccess",
-    ]
-    outputs = [
-      "$resources_out_dir/.htaccess",
-    ]
-  }
-
-  copy("copy_inspector_images") {
-    sources = devtools_image_files
-    outputs = [
-      "$resources_out_dir/Images/{{source_file_part}}",
-    ]
-  }
-
-  copy("copy_emulated_devices_images") {
-    sources = devtools_emulated_devices_images
-    outputs = [
-      "$resources_out_dir/emulated_devices/{{source_file_part}}",
-    ]
-  }
-
-  copy("copy_lighthouse_locale_files") {
-    sources = lighthouse_locale_files
-    outputs = [
-      "$resources_out_dir/audits_worker/lighthouse/locales/{{source_file_part}}",
-    ]
-  }
-
-  action("generate_devtools_grd") {
-    script = "scripts/build/generate_devtools_grd.py"
-
-    deps = [
-      ":devtools_frontend_resources",
-    ]
-
-    grd_files =
-        copied_devtools_modules + generated_applications +
-        generated_non_autostart_non_remote_modules + devtools_embedder_scripts +
-        [
-          "$resources_out_dir/devtools_extension_api.js",
-          "$resources_out_dir/SupportedCSSProperties.js",
-          "$resources_out_dir/InspectorBackendCommands.js",
-        ]
-
-    # Bundle remote modules in ChromeOS.
-    if (is_chromeos) {
-      grd_files += generated_remote_modules + devtools_emulated_devices_images +
-                   lighthouse_locale_files
-    }
-
-    inputs = grd_files + devtools_image_files
-    outfile = "$root_gen_dir/devtools/devtools_resources.grd"
-    outputs = [
-      outfile,
-    ]
-
-    relative_path_dirs = [
-      resources_out_dir,
-      "front_end",
-    ]
-
-    args = rebase_path(grd_files, root_build_dir) + [ "--relative_path_dirs" ] +
-           rebase_path(relative_path_dirs, root_build_dir) +
-           [
-             "--images",
-             rebase_path("front_end/Images", root_build_dir),
-             "--output",
-             rebase_path(outfile, root_build_dir),
-           ]
-  }
-
-  action("devtools_extension_api") {
-    script = "scripts/build/generate_devtools_extension_api.py"
-
-    devtools_extension_api_files = [ "front_end/extensions/ExtensionAPI.js" ]
-    inputs = devtools_extension_api_files
-    outputs = [
-      "$resources_out_dir/devtools_extension_api.js",
-    ]
-
-    args = rebase_path(outputs, root_build_dir) +
-           rebase_path(devtools_extension_api_files, root_build_dir)
-  }
-
-  action("supported_css_properties") {
-    script = "scripts/build/generate_supported_css.py"
-
-    inputs = [
-      "//third_party/blink/renderer/core/css/css_properties.json5",
-    ]
-
-    outputs = [
-      "$resources_out_dir/SupportedCSSProperties.js",
-    ]
-
-    args = rebase_path(inputs, root_build_dir) +
-           rebase_path(outputs, root_build_dir)
-  }
-
-  action("aria_properties") {
-    script = "scripts/build/generate_aria.py"
-
-    inputs = [
-      "//third_party/blink/renderer/core/html/aria_properties.json5",
-    ]
-
-    outputs = [
-      "$resources_out_dir/accessibility/ARIAProperties.js",
-    ]
-
-    args = rebase_path(inputs, root_build_dir) +
-           rebase_path(outputs, root_build_dir)
-  }
-
-  action("frontend_protocol_sources") {
-    script = "scripts/build/code_generator_frontend.py"
-    deps = [
-      "//third_party/blink/renderer/core/inspector:protocol_version",
-    ]
-    inputs = [
-      "$blink_core_output_dir/inspector/protocol.json",
-    ]
-    outputs = [
-      "$resources_out_dir/InspectorBackendCommands.js",
-    ]
-
-    args = rebase_path(inputs, root_build_dir) + [
-             "--output_js_dir",
-             rebase_path(resources_out_dir, root_build_dir),
-           ]
-  }
-
-  action("build_release_devtools") {
-    script = "scripts/build/build_release_applications.py"
-
-    deps = [
-      ":aria_properties",
-      ":frontend_protocol_sources",
-      ":supported_css_properties",
-    ]
-
-    helper_scripts = [
-      "scripts/build/modular_build.py",
-      "scripts/build/rjsmin.py",
-    ]
-
-    inputs =
-        helper_scripts + all_devtools_files + devtools_test_files +
-        generated_scripts + generated_aria_properties + application_templates
-    outputs =
-        generated_applications + generated_non_autostart_non_remote_modules +
-        generated_remote_modules + generated_test_modules
-
-    args = devtools_applications + [
-             "--input_path",
-             rebase_path("front_end", root_build_dir),
-             "--output_path",
-             rebase_path(resources_out_dir, root_build_dir),
-           ]
-  }
-
-  action("copy_devtools_modules") {
-    script = "scripts/build/copy_devtools_modules.py"
-
-    deps = [
-      ":build_release_devtools",
-    ]
-
-    inputs = all_devtools_modules
-    outputs = copied_devtools_modules
-
-    args = all_devtools_modules + [
-             "--input_path",
-             rebase_path(".", root_build_dir),
-             "--output_path",
-             rebase_path(resources_out_dir, root_build_dir),
-           ]
-  }
-
-  if (debug_devtools) {
-    resources_out_debug_dir = "$root_out_dir/resources/inspector/debug"
-
-    action("build_debug_devtools") {
-      script = "scripts/build/build_debug_applications.py"
-
-      inputs = all_devtools_files + application_templates
-      outputs = [
-        "$resources_out_debug_dir/devtools_app.html",
-        "$resources_out_debug_dir/inspector.html",
-        "$resources_out_debug_dir/integration_test_runner.html",
-        "$resources_out_debug_dir/js_app.html",
-        "$resources_out_debug_dir/ndb_app.html",
-        "$resources_out_debug_dir/node_app.html",
-        "$resources_out_debug_dir/toolbox.html",
-        "$resources_out_debug_dir/worker_app.html",
-      ]
-
-      args = [
-        "--input_path",
-        rebase_path("front_end", root_build_dir),
-        "--output_path",
-        rebase_path(resources_out_debug_dir, root_build_dir),
-      ]
-    }
-
-    copy("copy_generated_scripts") {
-      deps = [
-        ":build_debug_devtools",
-        ":frontend_protocol_sources",
-        ":supported_css_properties",
-      ]
-      sources = generated_scripts
-      outputs = [
-        "$resources_out_debug_dir/{{source_file_part}}",
-      ]
-    }
-
-    copy("copy_aria_properties") {
-      deps = [
-        ":aria_properties",
-        ":build_debug_devtools",
-      ]
-
-      sources = generated_aria_properties
-
-      outputs = [
-        "$resources_out_debug_dir/accessibility/{{source_file_part}}",
-      ]
-    }
-  }
-
-  group("devtools_closure_compile") {
-    data = [
-      # Needed for isolate script to execute.
-      "front_end/",
-      "scripts/build/",
-      "scripts/closure/",
-      "scripts/compile_frontend.py",
-      "scripts/dependency_preprocessor.py",
-      "scripts/jsdoc_validator/",
-      "scripts/special_case_namespaces.json",
-      "scripts/utils.py",
-      "//testing/scripts/common.py",
-      "//testing/scripts/run_devtools_check.py",
-      "//testing/xvfb.py",
-      "//third_party/blink/renderer/core/inspector/browser_protocol.pdl",
-      "//third_party/inspector_protocol/pdl.py",
-      "//v8/include/js_protocol.pdl",
-    ]
-  }
-
-  if (is_linux && !is_chromeos) {
-    group("devtools_eslint") {
-      data = [
-        # Needed for isolate script to execute.
-        ".eslintignore",
-        ".eslintrc.js",
-        "front_end/",
-        "scripts/lint_javascript.py",
-        "scripts/devtools_paths.py",
-        "//testing/scripts/common.py",
-        "//testing/scripts/run_devtools_check.py",
-        "//testing/xvfb.py",
-        "//third_party/devtools-node-modules/",
-        "//third_party/node/node.py",
-        "//third_party/node/linux/node-linux-x64/",
-      ]
-    }
-  }
-}
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 972bb2e..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//    * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//    * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//    * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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.
diff --git a/OWNERS b/OWNERS
deleted file mode 100644
index f49aea9..0000000
--- a/OWNERS
+++ /dev/null
@@ -1,11 +0,0 @@
-aerotwist@chromium.org
-bmeurer@chromium.org
-dgozman@chromium.org
-einbinder@chromium.org
-lomitch@microsoft.com
-luoe@chromium.org
-lushnikov@chromium.org
-pfeldman@chromium.org
-yangguo@chromium.org
-
-per-file BUILD.gn=*
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
deleted file mode 100644
index 5c3c6ae..0000000
--- a/PRESUBMIT.py
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright (C) 2014 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-#     * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-#     * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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.
-"""DevTools presubmit script
-
-See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
-for more details about the presubmit API built into gcl.
-"""
-
-import sys
-
-
-def _CheckBuildGN(input_api, output_api):
-    script_path = input_api.os_path.join(input_api.PresubmitLocalPath(), "scripts", "check_gn.js")
-    return _checkWithNodeScript(input_api, output_api, script_path)
-
-
-def _CheckFormat(input_api, output_api):
-
-    def popen(args):
-        return input_api.subprocess.Popen(args=args, stdout=input_api.subprocess.PIPE, stderr=input_api.subprocess.STDOUT)
-
-    affected_files = _getAffectedJSFiles(input_api)
-    if len(affected_files) == 0:
-        return []
-    original_sys_path = sys.path
-    try:
-        sys.path = sys.path + [input_api.os_path.join(input_api.PresubmitLocalPath(), "scripts")]
-        import devtools_paths
-    finally:
-        sys.path = original_sys_path
-
-    ignore_files = []
-    eslint_ignore_path = input_api.os_path.join(input_api.PresubmitLocalPath(), '.eslintignore')
-    with open(eslint_ignore_path, 'r') as ignore_manifest:
-        for line in ignore_manifest:
-            ignore_files.append(line.strip())
-    formattable_files = [affected_file for affected_file in affected_files
-                         if all(ignore_file not in affected_file for ignore_file in ignore_files)]
-    if len(formattable_files) == 0:
-        return []
-
-    check_formatting_process = popen(['git', 'cl', 'format', '--js', '--dry-run'] + formattable_files)
-    check_formatting_process.communicate()
-    if check_formatting_process.returncode == 0:
-        return []
-
-    format_args = ['git', 'cl', 'format', '--js'] + formattable_files
-    format_process = popen(format_args)
-    format_out, _ = format_process.communicate()
-    if format_process.returncode != 0:
-        return [output_api.PresubmitError(format_out)]
-
-    # Use eslint to autofix the braces.
-    # Also fix semicolon to avoid confusing clang-format.
-    eslint_process = popen([devtools_paths.node_path(), devtools_paths.eslint_path(), '--config', '.eslintrc.js', '--fix'] + affected_files)
-    eslint_process.communicate()
-
-    # Need to run clang-format again to align the braces
-    popen(format_args).communicate()
-
-    return [
-        output_api.PresubmitError("ERROR: Found formatting violations in third_party/blink/renderer/devtools.\n"
-                                  "Ran clang-format on diff\n"
-                                  "Use git status to check the formatting changes"),
-        output_api.PresubmitError(format_out),
-    ]
-
-
-def _CheckDevtoolsLocalizableResources(input_api, output_api):  # pylint: disable=invalid-name
-    devtools_root = input_api.PresubmitLocalPath()
-    devtools_front_end = input_api.os_path.join(devtools_root, "front_end")
-    affected_front_end_files = _getAffectedFiles(input_api, [devtools_front_end], [], [".js", "module.json", ".grd", ".grdp"])
-    if len(affected_front_end_files) == 0:
-        return []
-    script_path = input_api.os_path.join(input_api.PresubmitLocalPath(), "scripts", "check_localizable_resources.js")
-    args = ['--autofix']
-    return _checkWithNodeScript(input_api, output_api, script_path, args)
-
-
-def _CheckDevtoolsLocalization(input_api, output_api):  # pylint: disable=invalid-name
-    devtools_root = input_api.PresubmitLocalPath()
-    devtools_front_end = input_api.os_path.join(devtools_root, "front_end")
-    affected_front_end_files = _getAffectedFiles(input_api, [devtools_front_end], ["D"], [".js", ".grdp"])
-    if len(affected_front_end_files) == 0:
-        return []
-    script_path = input_api.os_path.join(input_api.PresubmitLocalPath(), "scripts", "check_localizability.js")
-    return _checkWithNodeScript(input_api, output_api, script_path, affected_front_end_files)
-
-
-def _CheckDevtoolsStyle(input_api, output_api):
-    lint_path = input_api.os_path.join(input_api.PresubmitLocalPath(), "scripts", "lint_javascript.py")
-    process = input_api.subprocess.Popen([input_api.python_executable, lint_path],
-                                         stdout=input_api.subprocess.PIPE,
-                                         stderr=input_api.subprocess.STDOUT)
-    out, _ = process.communicate()
-    if process.returncode != 0:
-        return [output_api.PresubmitError(out)]
-    return [output_api.PresubmitNotifyResult(out)]
-
-
-def _CompileDevtoolsFrontend(input_api, output_api):
-    compile_path = input_api.os_path.join(input_api.PresubmitLocalPath(), "scripts", "compile_frontend.py")
-    out, _ = input_api.subprocess.Popen([input_api.python_executable, compile_path],
-                                        stdout=input_api.subprocess.PIPE,
-                                        stderr=input_api.subprocess.STDOUT).communicate()
-    if "ERROR" in out or "WARNING" in out:
-        return [output_api.PresubmitError(out)]
-    if "NOTE" in out:
-        return [output_api.PresubmitPromptWarning(out)]
-    return []
-
-
-def _CheckOptimizeSVGHashes(input_api, output_api):
-    if not input_api.platform.startswith('linux'):
-        return []
-
-    original_sys_path = sys.path
-    try:
-        sys.path = sys.path + [input_api.os_path.join(input_api.PresubmitLocalPath(), 'scripts', 'build')]
-        import devtools_file_hashes
-    finally:
-        sys.path = original_sys_path
-
-    absolute_local_paths = [af.AbsoluteLocalPath() for af in input_api.AffectedFiles(include_deletes=False)]
-    images_src_path = input_api.os_path.join("devtools", "front_end", "Images", "src")
-    image_source_file_paths = [path for path in absolute_local_paths if images_src_path in path and path.endswith(".svg")]
-    image_sources_path = input_api.os_path.join(input_api.PresubmitLocalPath(), "front_end", "Images", "src")
-    hashes_file_name = "optimize_svg.hashes"
-    hashes_file_path = input_api.os_path.join(image_sources_path, hashes_file_name)
-    invalid_hash_file_paths = devtools_file_hashes.files_with_invalid_hashes(hashes_file_path, image_source_file_paths)
-    if len(invalid_hash_file_paths) == 0:
-        return []
-    invalid_hash_file_names = [input_api.os_path.basename(file_path) for file_path in invalid_hash_file_paths]
-    file_paths_str = ", ".join(invalid_hash_file_names)
-    error_message = "The following SVG files should be optimized using optimize_svg_images script before uploading: \n  - %s" % file_paths_str
-    return [output_api.PresubmitError(error_message)]
-
-
-def _CheckCSSViolations(input_api, output_api):
-    results = []
-    for f in input_api.AffectedFiles(include_deletes=False):
-        if not f.LocalPath().endswith(".css"):
-            continue
-        for line_number, line in f.ChangedContents():
-            if "/deep/" in line:
-                results.append(output_api.PresubmitError(("%s:%d uses /deep/ selector") % (f.LocalPath(), line_number)))
-            if "::shadow" in line:
-                results.append(output_api.PresubmitError(("%s:%d uses ::shadow selector") % (f.LocalPath(), line_number)))
-    return results
-
-
-def CheckChangeOnUpload(input_api, output_api):
-    results = []
-    results.extend(_CheckBuildGN(input_api, output_api))
-    results.extend(_CheckFormat(input_api, output_api))
-    results.extend(_CheckDevtoolsLocalizableResources(input_api, output_api))
-    results.extend(_CheckDevtoolsLocalization(input_api, output_api))
-    results.extend(_CheckDevtoolsStyle(input_api, output_api))
-    results.extend(_CompileDevtoolsFrontend(input_api, output_api))
-    results.extend(_CheckOptimizeSVGHashes(input_api, output_api))
-    results.extend(_CheckCSSViolations(input_api, output_api))
-    return results
-
-
-def CheckChangeOnCommit(input_api, output_api):
-    results = []
-    results.extend(_CheckDevtoolsLocalizableResources(input_api, output_api))
-    results.extend(_CheckDevtoolsLocalization(input_api, output_api))
-    return results
-
-
-def _getAffectedFiles(input_api, parent_directories, excluded_actions, accepted_endings):  # pylint: disable=invalid-name
-    '''Return absolute file paths of affected files (not due to an excluded action)
-       under a parent directory with an accepted file ending.
-    '''
-    local_paths = [
-        f.AbsoluteLocalPath() for f in input_api.AffectedFiles() if all(f.Action() != action for action in excluded_actions)
-    ]
-    affected_files = [
-        file_name for file_name in local_paths
-        if any(parent_directory in file_name for parent_directory in parent_directories) and any(
-            file_name.endswith(accepted_ending) for accepted_ending in accepted_endings)
-    ]
-    return affected_files
-
-
-def _getAffectedFrontEndFiles(input_api):
-    devtools_root = input_api.PresubmitLocalPath()
-    devtools_front_end = input_api.os_path.join(devtools_root, "front_end")
-    affected_front_end_files = _getAffectedFiles(input_api, [devtools_front_end], ["D"], [".js"])
-    return [input_api.os_path.relpath(file_name, devtools_root) for file_name in affected_front_end_files]
-
-
-def _getAffectedJSFiles(input_api):
-    devtools_root = input_api.PresubmitLocalPath()
-    devtools_front_end = input_api.os_path.join(devtools_root, "front_end")
-    devtools_scripts = input_api.os_path.join(devtools_root, "scripts")
-    affected_js_files = _getAffectedFiles(input_api, [devtools_front_end, devtools_scripts], ["D"], [".js"])
-    return [input_api.os_path.relpath(file_name, devtools_root) for file_name in affected_js_files]
-
-
-def _checkWithNodeScript(input_api, output_api, script_path, script_arguments=None):  # pylint: disable=invalid-name
-    original_sys_path = sys.path
-    try:
-        sys.path = sys.path + [input_api.os_path.join(input_api.PresubmitLocalPath(), "scripts")]
-        import devtools_paths
-    finally:
-        sys.path = original_sys_path
-
-    node_path = devtools_paths.node_path()
-
-    if script_arguments is None:
-        script_arguments = []
-
-    process = input_api.subprocess.Popen(
-        [node_path, script_path] + script_arguments, stdout=input_api.subprocess.PIPE, stderr=input_api.subprocess.STDOUT)
-    out, _ = process.communicate()
-
-    if process.returncode != 0:
-        return [output_api.PresubmitError(out)]
-    return [output_api.PresubmitNotifyResult(out)]
diff --git a/docs/langpacks/README.md b/docs/langpacks/README.md
deleted file mode 100644
index 065125b..0000000
--- a/docs/langpacks/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Localization FAQs
-
-- [How to add a localizable string?](adding_strings.md)
-- [What are the localization APIs?](localization_apis.md)
-- [How to add descriptive information to GRDP messages?](grdp_files.md)
-- [How to prevent specific terms being localized?](locked_terms.md)
\ No newline at end of file
diff --git a/docs/langpacks/adding_strings.md b/docs/langpacks/adding_strings.md
deleted file mode 100644
index 471581e..0000000
--- a/docs/langpacks/adding_strings.md
+++ /dev/null
@@ -1,116 +0,0 @@
-When you introduce a new UI string or modify an existing one that will be displayed to the users, or remove a string that is localized, follow these steps so that it can be localized.
-
-**Table of Contents**
-- [Adding a string](#adding-a-string)
-  - [Frontend source code](#frontend-source-code)
-  - [Frontend GRDP file](#frontend-grdp-file)
-- [Modifying a string](#modifying-a-string)
-- [Removing a string](#removing-a-string)
-- [Adding a GRD file](#adding-a-grd-file)
-
-## Adding a string
-Before proceeding, make sure you know the different [[localization APIs|]] and know which one you should use.
-
-### Frontend source code
-
-1. Wrap your string with the appropriate localization API for your use case, for example, `` ls`Add breakpoint` ``.
-
-2. If your string contains variables, consider the following cases:
-   1. Directly substitute variables, as how you would normally inject variables into a template literal with `${}`, **only if** your variable satisfies one of the following
-
-      1. If the variable is a number, e.g. `` ls`${renderedWidth} \xd7 ${renderedHeight} pixels` ``
-      2. or if your variable is a string that likely doesn't need to be localized (for example, DOM, or a url),
-
-      3. or if it's a string that is already localized somewhere (for example, Console and other tool titles)
-
-   2. Localize your variable with `ls`, then do variable substitution in your template literal, for example
-
-      ```javascript
-      const title = ls`New Tool`
-      const message = ls`Click ${title} for more details`
-      ```
-
-3. Make sure your string is localizable:
-
-   1. Do not assume word order by using concatenation. Use the whole string.
-      - ❌ `` ls`Add`  + ls`breakpoint` `` --> ✅ `` ls`Add breakpoint` ``
-   2. Variable substitution over concatenation. This is so that the translators can adjust variable order based on what works in another language. For example:
-      ```javascript
-      // ❌
-      ls`Check ` + title + ls` for more information.`
-      // ✅
-      ls`Check ${title} for more information.`
-      ```
-   3. Only inject variables when necessary, i.e., do not extract common substrings from similar messages.
-      - Example: <https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_content_best_practices#Idiom>
-   4. Prefer simple strings whenever possible. Try to move conditionals out of the string. For example:
-
-      ```javascript
-      // ❌
-      ls`Reveal${destination ? ls` in ${destination}` : ``}`
-      // ✅
-      destination ? ls`Reveal in ${destination}` : ls`Reveal`
-      ```
-   5. When your string contains plurals, make sure you pluralize by pulling conditionals outside of the string. This is because in other languages, plurals can be different from English ones. For example:
-
-      ```javascript
-      // ❌
-      ls`${count} insertion${count !== 1 ? `s` : ``}`
-      // ✅
-      if (count === 0)
-        ls`No insertion`
-      else if (count === 1)
-        ls`1 insertion`
-      else
-        ls`${count} insertions`
-      ```
-   6. In general, a complete sentence is preferred. This usually increases the localizability of a string, as the translators have the context of the string. For example:
-      ```javascript
-      // ❌
-      let description = ls`first part`
-      if (condition)
-        description += ls` second part`
-      // ✅
-      let description
-      if (condition)
-        description = ls`first part second part`
-      else
-        description = ls`first part`
-      ```
-   7. If your string contains leading or trailing white space, it's usually an indication that it's half of a sentence. This decreases localizability as it's essentially concatenating. Modify it so that it doesn't contain leading or trailing white space anymore if you can.
-   8. Do not use nested template literals. This is due to a limitation of the release minifier. For more info see https://crbug.com/973285.
-      ```javascript
-      // ❌
-      UI.Fragment.build`<a>${ls`Learn more`}</a>`
-      // ✅
-      const link = ls`Learn more`
-      UI.Fragment.build`<a>${link}</a>`
-      ```
-   9. What kinds of terms should be localized?
-      ```
-      // ❌
-      Numbers: 1, 1.23, 1.2e3, etc.
-      Application data: error codes, enums, database names, rgba, urls, etc.
-      // ✅
-      Words and sentences
-      Punctuation
-      Units of measurement: kb/s, mph, etc.
-      ```
-
-### Frontend GRDP file
-1. Run any of the following commands to have new strings automatically added to the corresponding grdp file:
-  - `git cl presubmit --upload`, or
-  - `node scripts/check_localizable_resources.js --autofix` under the devtools folder
-2. Manually add information to the new grdp message. See [[Adding Descriptive Information to GRDP Messages|]].
-
-## Modifying a string
-Follow the above steps.
-
-## Removing a string
-Just remove the string from the frontend and it will be automatically removed by the presubmit script.
-
-## Adding a new GRD file
-This is a rare case, but if a new GRD file is introduced, please read the guidance here:
-* https://www.chromium.org/developers/tools-we-use-in-chromium/grit/grit-users-guide
-* https://cs.chromium.org/chromium/src/tools/gritsettings/README.md.
-  * Note that you need to add the grd file to translation_expecations.pyl. If you don't an error will occur when Google's translation pipeline runs.
\ No newline at end of file
diff --git a/docs/langpacks/grdp_files.md b/docs/langpacks/grdp_files.md
deleted file mode 100644
index 89d66ba..0000000
--- a/docs/langpacks/grdp_files.md
+++ /dev/null
@@ -1,41 +0,0 @@
-Descriptive information in .grdp messages can improve localizability as it will provide more context to the translators.
-
-Types of descriptive information:
-- [Description](#Description)
-- [Placeholder name and example](#Placeholder)
-
-## Description
-**Good description**:
-```html
-  <message name="IDS_DEVTOOLS_04efed137e5da6d8b456e83d87915f16" desc="Tooltip text that appears when hovering over the 'Focusable' attribute name under the Computed Properties section in the Accessibility pane of the Elements pane">
-    If true, this element can receive focus.
-  </message>
-```
-
-**Bad description**:
-```html
-  <message name="IDS_DEVTOOLS_04efed137e5da6d8b456e83d87915f16" desc="Elements pane 'Focusable' tooltip">
-    If true, this element can receive focus.
-  </message>
-```
-
-### Process to add descriptions
-1. Locate the string in the source code
-2. Figure out where/how the string shows up in which tool from the content of source code
-3. Write a description. See below for guidelines on what to add.
-
-### What information should I provide in the message description?
-- Where is the text located? (e.g. button, title, link, pull-down menu in the Sources pane)
-- What triggers the string and/or what is the result? What page or text comes before and after?
-- What do the placeholders stand for? Will this message replace a placeholder in another message? Do they need to be arranged in a certain way?
-- Is this a verb or a noun? If it's an adjective, what does it refer to?
-- Who is the message intended for (e.g. accessible label)?
-
-## Placeholder
-- If the auto-generated `<ph>` tag name is not descriptive, change it to something that explains what the placeholder is used for. Use all uppercase letters connected by underscores.
-- Placeholder tag names under the same message tag cannot be the same.
-- Use `<ex></ex>` to add an example to a placeholder. Text between `<ex>` will be used as an example for the placeholder content.
-- Example:
-```xml
-Hey <ph name="USER_NAME">$1<ex>Joe</ex></ph>, you have <ph name="COUNT"><ex>10</ex>$2</ph> messages.
-```
\ No newline at end of file
diff --git a/docs/langpacks/localization_apis.md b/docs/langpacks/localization_apis.md
deleted file mode 100644
index fb579c3..0000000
--- a/docs/langpacks/localization_apis.md
+++ /dev/null
@@ -1,44 +0,0 @@
-Localizable strings in the DevTools frontend need to be wrapped in localization calls. This guide walks you through a few choices.
-
-## ls tagged template literal [preferred]
-Template literal prefixed with `ls` that returns a translation string. Use on string with or without substitution and return a translation string. To substitute variable, wrap it with `${}`, e.g. ``` ls`Hi ${name}` ```.
-
-`ls` is generally preferred as it's more readable. The only thing to pay attention to is that all the variables will be converted to string, so if you want to format the variable in a specific way, you have to manually do it. Example:
-
-```javascript
-const progress = 0.734156;
-ls`${Number.parseFloat(progress).toPrecision(2)}% done`;
-```
-
-## Common.UIString(string, variable1, variable2, ...) [deprecated]
-Functionally equivalent to `ls` as it also returns a translation string. To substitute variables, use formatters (%s, %d, %.1f, %.2f, and so on) inside the string as the first argument, and use variables as the rest of the call arguments. Example: `Common.UIString('Hi %s, you have %d unread messages', name, count)`.
-
-If you want to format a float with a specific precision, use a float formatter with precision (e.g. %.1f, %.2f), e.g. `Common.UIString('Default: %.1f', defaultValue)`. This is the only case where `Common.UIString` may be more preferable, but of course you can write/use a precision conversion function and call it in `ls`.
-
-## UI.formatLocalized(string, [...])
-This call returns a **span element**, not a string. It is used when you want to construct a DOM element with a localizable string, or localizable content that contains some other DOM element. Use the %s formatter inside the localizable string, which is the first argument, and use a list of strings or DOM elements as the second argument. When %s is replaced by a string, it's added as text to the DOM element. For example:
-
-```javascript
-// Create a span element with localizable string
-reasonElement = UI.formatLocalized('Element has empty alt text.', []);
-
-// Element with localizable content containing two DOM elements that are buttons
-const recordButton = UI.createInlineButton(UI.Toolbar.createActionButton(this._toggleRecordAction));
-const reloadButton = UI.createInlineButton(UI.Toolbar.createActionButtonForId('coverage.start-with-reload'));
-message = UI.formatLocalized(
-  'Click the record button %s to start capturing coverage.\nClick the reload button %s to reload and start capturing coverage.',
-  [recordButton, reloadButton]);
-
-// Element with error message text and a link
-UI.formatLocalized('%s. Read % for more.', [errorMessage, link])
-```
-
-## Common.UIStringFormat(string)
-This call creates a **formatter** that takes a set number of variables and substitute them in. Call `format(var1, var2, ...)` on the formatter. If you need to use the same format for different variables repeatedly, use this function to save redundant code.
-
-```javascript
-// Format minute to 1 decimal place
-const minutesFormat = new Common.UIStringFormat('%.1f min');
-
-minutesFormat.format(1.256); // --> '1.2 min'
-```
\ No newline at end of file
diff --git a/docs/langpacks/locked_terms.md b/docs/langpacks/locked_terms.md
deleted file mode 100644
index c25f80d..0000000
--- a/docs/langpacks/locked_terms.md
+++ /dev/null
@@ -1,25 +0,0 @@
-##How to prevent a term being localized?
-If a string contains some terms that should not be localized, they should be wrapped inside placeholder tags `<ph name="LOCKED_[1-9]"></ph>` in the .grdp file. The number after `LOCKED_` starts from 1, and increments when a single string has more then 1 terms that should not be localized.
-
-**example:**
-Frontend javascript file
-```javascript
-ls`You can log your messages using console.log() in the DevTools console.`
-```
-
-Frontend .grdp file
-(`console.log()` and `DevTools` should not be translated)
-```html
-  <message name="IDS_DEVTOOLS_d59048f21fd887ad520398ce677be586" desc="Text show up in the information bar in the DevTools">
-    You can log your messages using <ph name="LOCKED_1">console.log()</ph> in the <ph name="LOCKED_2">DevTools</ph> console.
-  </message>
-```
-
-##What should not be localized?
-In general, branding related terms and code snippets are the ones to look for.
-
-Some examples:
-- **Brandings:**
-Lighthouse, GitHub, DevTools, Chrome Data Saver, Safari, BlackBerry Z30, Kindle Fire HDX, Pixel 2, Microsoft Lumia 550
-- **Code snippets:**
-localhost:9229, console.clear(), --memlog=all, url:a.com
diff --git a/front_end/.editorconfig b/front_end/.editorconfig
deleted file mode 100644
index c6c8b36..0000000
--- a/front_end/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-indent_style = space
-indent_size = 2
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
diff --git a/front_end/Images/accelerometer-back.svg b/front_end/Images/accelerometer-back.svg
deleted file mode 100644
index 899608a..0000000
--- a/front_end/Images/accelerometer-back.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="770" height="1580"><path d="M4.5 366v100" fill="none" stroke="#f80" stroke-width="9"/><path d="M4.5 768V568" fill="none" stroke="#888" stroke-width="9"/><rect width="767" height="1580" ry="80" rx="80" fill="#222" fill-rule="evenodd" transform="matrix(-1 0 0 1 770.5 0)"/><g fill="#fff" fill-rule="evenodd" transform="matrix(-1 0 0 1 770.5 0)"><rect x="273.5" y="1526" width="220" height="15" ry="5" rx="5" fill-opacity=".133"/><path d="M70.363 6.95C28.333 5.754 4.808 47.982 4.838 83.222l1.194 1424.49c.026 30.952 32.038 68.279 64.634 68.216l622.086-1.194c30.873-.06 68.216-37.263 68.216-64.634V76.057c0-31.282-24.689-66.72-63.137-70.302C456.898 4.61 269.722 6.95 70.363 6.95z" fill-opacity=".867"/></g></svg>
\ No newline at end of file
diff --git a/front_end/Images/accelerometer-bottom.png b/front_end/Images/accelerometer-bottom.png
deleted file mode 100644
index 0978673..0000000
--- a/front_end/Images/accelerometer-bottom.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/accelerometer-front.svg b/front_end/Images/accelerometer-front.svg
deleted file mode 100644
index e4c195d..0000000
--- a/front_end/Images/accelerometer-front.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="1580" width="770"><path d="M766 366v100" stroke="#f80" stroke-width="9" fill="none"/><path d="M766 768V568" stroke="#888" stroke-width="9" fill="none"/><g fill-rule="evenodd"><rect rx="80" ry="80" height="1580" width="767" fill="#222"/><rect fill-opacity=".133" rx="5" ry="5" height="18" width="80" y="80" x="343.5" fill="#fff"/><circle cx="459" fill-opacity=".267" cy="76.25" r="15" fill="#00f"/><circle cx="297.25" fill-opacity=".267" cy="74" r="17.5" fill="#00f"/></g><g fill-rule="evenodd" fill="#fff"><rect fill-opacity=".133" rx="10" ry="10" height="25" width="50" y="34" x="358.5"/><rect fill-opacity=".133" rx="5" ry="5" height="15" width="220" y="1526" x="273.5"/><path d="M83.5 38c-27.7 0-50 22.3-50 50v1360c0 16.62 13.38 30 30 30h640c16.62 0 30-13.38 30-30V88c0-27.7-22.3-50-50-50h-140c-19.39 0-35 15.61-35 35v4c0 24.93-20.07 45-45 45h-160c-24.93 0-45-20.07-45-45v-4c0-19.39-15.61-35-35-35h-70z" fill-opacity=".867"/></g></svg>
\ No newline at end of file
diff --git a/front_end/Images/accelerometer-left.png b/front_end/Images/accelerometer-left.png
deleted file mode 100644
index acb9823..0000000
--- a/front_end/Images/accelerometer-left.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/accelerometer-right.png b/front_end/Images/accelerometer-right.png
deleted file mode 100644
index 5504e7c..0000000
--- a/front_end/Images/accelerometer-right.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/accelerometer-top.png b/front_end/Images/accelerometer-top.png
deleted file mode 100644
index f3c047f..0000000
--- a/front_end/Images/accelerometer-top.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/audits_logo.svg b/front_end/Images/audits_logo.svg
deleted file mode 100644
index c71783c..0000000
--- a/front_end/Images/audits_logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" version="1.1" width="750" height="750"><defs id="defs3"><style id="style5">.cls-2{fill:#ffe082;opacity:.5}.cls-3{fill:#2979ff}.cls-5{fill:#fff176}.cls-6{fill:#f4511e}.cls-7{fill:#e64a19}.cls-9{fill:#ff7043}.cls-11{fill:#fdd835}.cls-12{fill:#fff9c4}</style></defs><path d="M92.428 571.024c52.32 0 52.32-33.94 104.64-33.94s52.31 33.94 104.63 33.94c52.32 0 52.32-33.94 104.63-33.94 52.31 0 52.32 33.94 104.64 33.94s52.32-33.94 104.64-33.94c49.48 0 52.17 30.34 96.56 33.64a326.73 326.73 0 0 0 8.09-72.39c0-179.87-145.82-325.69-325.69-325.69s-325.7 145.82-325.7 325.69a326.75 326.75 0 0 0 7.9 71.51 98.88 98.88 0 0 0 15.66 1.18z" id="path9" fill="#304ffe"/><path id="rect15" fill="#ffd54f" d="M362.978 213.564h84.84v78.49h-84.84z"/><path class="cls-5" id="rect17" fill="#fff176" d="M362.978 213.564h29.95v78.49h-29.95z"/><ellipse class="cls-5" cx="392.298" cy="233.214" rx="19.84" ry="24.89" id="ellipse19" fill="#fff176"/><path class="cls-6" d="M360.898 204.704a43.835 43.835 0 1 1 87.67 0" id="path21" fill="#f4511e"/><path class="cls-7" d="M405.108 160.874a43.51 43.51 0 0 1 43.46 43.83h-43.46v-43.83z" id="path23" fill="#e64a19"/><rect class="cls-6" x="352.418" y="203.294" width="104.64" height="11.31" rx="5.66" ry="5.66" id="rect25" fill="#f4511e"/><path id="polygon27" transform="translate(-42.202 118.024)" fill="#c5cae9" d="M393 416l12.23-242.5h84.84L501 404z"/><path class="cls-9" id="line29" fill="#ff7043" d="M449.038 310.254l3.26 64.17"/><path class="cls-9" id="polygon31" transform="translate(-42.202 118.024)" fill="#ff7043" d="M402.05 233.8l-3.42 67.29 95.87-44.69-3.26-64.17z"/><path class="cls-9" id="line33" fill="#ff7043" d="M455.518 437.664l3.27 64.18"/><path class="cls-9" id="polygon35" transform="translate(-42.202 118.024)" fill="#ff7043" d="M395.25 367.4l-3.42 67.3 109.16-50.88-3.27-64.18z"/><path class="cls-7" id="rect39" fill="#e64a19" d="M349.988 255.904h109.49v35.82h-109.49z"/><path class="cls-6" id="rect41" fill="#f4511e" d="M349.988 255.904h71.78v35.82h-71.78z"/><path class="cls-2" d="M403.978 255.904c0 13-12.1 23.5-27 23.5s-27-10.52-27-23.5" id="path43" opacity=".5" fill="#ffe082"/><g id="layer1" transform="translate(-111.07 296.27)" display="inline"><path class="cls-3" d="M653.728-50.456a19.59 19.59 0 0 1 8.32 1.84 34.49 34.49 0 0 1 66.7-9h.12a23.25 23.25 0 0 1 0 46.5h-75.14a19.67 19.67 0 1 1 0-39.34z" id="path71" fill="#2979ff"/><path d="M430.728 137.024a16.6 16.6 0 0 1 7 1.56 29.23 29.23 0 0 1 56.53-7.63h.1a19.71 19.71 0 1 1 0 39.41h-63.63a16.67 16.67 0 1 1 0-33.34z" id="path77" fill="#448aff"/></g><g id="layer2" transform="translate(-111.07 296.27)" display="inline"><circle class="cls-11" cx="593.868" cy="-88.776" r="3.53" id="circle45" fill="#fdd835"/><circle class="cls-12" cx="624.868" cy="109.624" r="6.13" id="circle47" fill="#fff9c4"/><circle class="cls-12" cx="253.468" cy="53.594" r="6.13" id="circle49" fill="#fff9c4"/><circle class="cls-12" cx="353.418" cy="160.214" r="6.13" id="circle51" fill="#fff9c4"/><circle class="cls-12" cx="598.478" cy="11.644" r="6.13" id="circle53" fill="#fff9c4"/><circle class="cls-12" cx="727.628" cy="169.544" r="6.13" id="circle55" fill="#fff9c4"/><circle class="cls-11" cx="240.268" cy="192.404" r="3.53" id="circle57" fill="#fdd835"/><circle class="cls-11" cx="272.828" cy="121.094" r="3.53" id="circle59" fill="#fdd835"/><circle class="cls-11" cx="294.738" cy="102.714" r="3.53" id="circle61" fill="#fdd835"/><circle class="cls-11" cx="387.348" cy="20.004" r="3.53" id="circle63" fill="#fdd835"/><circle class="cls-11" cx="679.868" cy="30.224" r="3.53" id="circle65" fill="#fdd835"/><circle class="cls-11" cx="818.598" cy="177.654" r="3.53" id="circle67" fill="#fdd835"/><circle class="cls-11" cx="328.678" cy="9.394" r="3.53" id="circle69" fill="#fdd835"/><circle class="cls-11" cx="640.898" cy="179.204" r="3.53" id="circle73" fill="#fdd835"/><circle class="cls-11" cx="747.868" cy="90.754" r="3.53" id="circle75" fill="#fdd835"/></g><g id="layer3" transform="translate(-111.07 296.27)" display="inline"><path class="cls-2" d="M475.488-83.896l-334.62-47.79a3.65 3.65 0 0 0-1-.14c-8.67 0-16 31.89-16 71.15 0 39.26 7.33 71.07 16 71.07a3.66 3.66 0 0 0 .93-.13l334.64-47.88v-46.28z" id="path11" opacity=".5" fill="#ffe082"/></g><g id="layer6" display="inline"><path id="polygon37" transform="translate(-42.202 118.024)" opacity=".5" fill="#304ffe" d="M493.27 173.5h-42.9V393L502 416l-8.73-242.5z"/></g><g id="layer5" transform="translate(-111.07 296.27)" display="inline"><path d="M413.768 275.484c52.32 0 52.32-33.94 104.63-33.94 52.31 0 52.32 33.94 104.63 33.94 44.42 0 51.13-24.46 84.16-31.84-45.13-24.66-112.53-40.33-187.84-40.33-75.63 0-143.28 15.79-188.41 40.64 31.93 7.73 39.02 31.53 82.83 31.53z" id="path79" fill="#00c853"/><path d="M413.868 275.014c52.32 0 52.32-33.94 104.63-33.94h1.1l-.58-37.32c-74.89 0-142 15.49-187.08 39.91 31.16 7.98 38.55 31.35 81.93 31.35z" id="path81" fill="#64dd17"/></g></svg>
\ No newline at end of file
diff --git a/front_end/Images/breakpoint.svg b/front_end/Images/breakpoint.svg
deleted file mode 100644
index 6edf41e..0000000
--- a/front_end/Images/breakpoint.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg height="11" width="26" xmlns="http://www.w3.org/2000/svg"><path d="M22.8.5l2.7 5-2.7 5H.5V.5z" fill="#698cfe" stroke="#4073f4"/></svg>
\ No newline at end of file
diff --git a/front_end/Images/breakpointConditional.svg b/front_end/Images/breakpointConditional.svg
deleted file mode 100644
index dc2667b..0000000
--- a/front_end/Images/breakpointConditional.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg height="11" width="26" xmlns="http://www.w3.org/2000/svg"><path d="M22.8.5l2.7 5-2.7 5H.5V.5z" fill="#ef9d0d" stroke="#a36c01"/></svg>
\ No newline at end of file
diff --git a/front_end/Images/checkboxCheckmark.svg b/front_end/Images/checkboxCheckmark.svg
deleted file mode 100644
index 6b2c28b..0000000
--- a/front_end/Images/checkboxCheckmark.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11"><path d="M3.65 7.21L2.21 5.18 1 6.39 3.55 10 10 2.33 8.88 1z"/></svg>
\ No newline at end of file
diff --git a/front_end/Images/checker.png b/front_end/Images/checker.png
deleted file mode 100644
index 816a4ec..0000000
--- a/front_end/Images/checker.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/chevrons.svg b/front_end/Images/chevrons.svg
deleted file mode 100644
index aa2b005..0000000
--- a/front_end/Images/chevrons.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="30" height="10"><path d="M0 2.75l.965-.965 4.108 4.107L.965 10 0 9.035l3.135-3.143zM27.25 2.927l.965.965L24.108 8 20 3.892l.965-.965 3.143 3.136z"/></svg>
\ No newline at end of file
diff --git a/front_end/Images/chromeDisabledSelect.png b/front_end/Images/chromeDisabledSelect.png
deleted file mode 100644
index 0aa2000..0000000
--- a/front_end/Images/chromeDisabledSelect.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/chromeDisabledSelect_2x.png b/front_end/Images/chromeDisabledSelect_2x.png
deleted file mode 100644
index 36404ed..0000000
--- a/front_end/Images/chromeDisabledSelect_2x.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/chromeLeft.png b/front_end/Images/chromeLeft.png
deleted file mode 100644
index 63f1feb..0000000
--- a/front_end/Images/chromeLeft.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/chromeMiddle.png b/front_end/Images/chromeMiddle.png
deleted file mode 100644
index 6d645ec..0000000
--- a/front_end/Images/chromeMiddle.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/chromeRight.png b/front_end/Images/chromeRight.png
deleted file mode 100644
index 30e1833..0000000
--- a/front_end/Images/chromeRight.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/chromeSelect.png b/front_end/Images/chromeSelect.png
deleted file mode 100644
index 2af6f67..0000000
--- a/front_end/Images/chromeSelect.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/chromeSelect_2x.png b/front_end/Images/chromeSelect_2x.png
deleted file mode 100644
index 642bf46..0000000
--- a/front_end/Images/chromeSelect_2x.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/errorWave.svg b/front_end/Images/errorWave.svg
deleted file mode 100644
index 846374d..0000000
--- a/front_end/Images/errorWave.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="6" height="4"><path d="M-.246.532l3.257 2.791L6.268.532" fill="none" stroke="red" stroke-width=".656" stroke-linecap="square"/></svg>
\ No newline at end of file
diff --git a/front_end/Images/ic_info_black_18dp.svg b/front_end/Images/ic_info_black_18dp.svg
deleted file mode 100644
index b953ab6..0000000
--- a/front_end/Images/ic_info_black_18dp.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="18px" height="18px" viewBox="0 0 48 48" fill="#000000">
-    <path d="M0 0h48v48H0z" fill="none"/>
-    <path d="M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm2 30h-4V22h4v12zm0-16h-4v-4h4v4z"/>
-</svg>
diff --git a/front_end/Images/ic_warning_black_18dp.svg b/front_end/Images/ic_warning_black_18dp.svg
deleted file mode 100644
index d9b6ad4..0000000
--- a/front_end/Images/ic_warning_black_18dp.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="18px" height="18px" viewBox="0 0 18 18" fill="#000000">
-    <path d="M0 0h18v18H0z" fill="none"/>
-    <path d="M.5 16h17L9 1 .5 16zm9.5-2H8v-2h2v2zm0-3H8V7h2v4z"/>
-</svg>
diff --git a/front_end/Images/largeIcons.svg b/front_end/Images/largeIcons.svg
deleted file mode 100644
index 9847649..0000000
--- a/front_end/Images/largeIcons.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="224" height="216"><g transform="translate(-322 -72)"><circle transform="translate(326 74)" cx="15" cy="17" r="3" fill="#009802"/><path d="M329 77h18v18h-18z" fill="none"/><path d="M327.25 75.25h20v20h-20z" fill="none"/><path d="M325.12 73.125h20v20h-20z" fill="none"/></g><path d="M51 12l-3.5-4H33v8h14.5M14.767 31h-1.534v4.233H9v1.534h4.233V41h1.534v-4.233H19v-1.534h-4.233V31z"/><path d="M33 27h18v18H33z" fill="none"/><path d="M45.42 33.7l-6.705-6.705-1.058 1.057 1.786 1.785L35.58 33.7a1.118 1.118 0 0 0 0 1.59l4.125 4.125c.218.217.51.33.795.33.285 0 .578-.113.795-.33l4.125-4.125a1.118 1.118 0 0 0 0-1.59zm-8.512.795l3.592-3.593 3.592 3.593h-7.184zm10.341 1.125s-1.5 1.627-1.5 2.625c0 .825.675 1.5 1.5 1.5s1.5-.675 1.5-1.5c0-.998-1.5-2.625-1.5-2.625z"/><path d="M33 42h18v3H33z" fill-opacity=".36"/><path d="M7 51h18v18H7z" fill="none"/><path d="M20 56h1.494c.832 0 1.506.672 1.506 1.506v7.987c0 .832-.672 1.507-1.506 1.507h-7.987A1.505 1.505 0 0 1 12 65.493V64h6.494c.835 0 1.506-.675 1.506-1.507V56z" fill-opacity=".36"/><path d="M10.5 53c-.831 0-1.5.669-1.5 1.5v8c0 .831.669 1.5 1.5 1.5h8c.831 0 1.5-.669 1.5-1.5v-8c0-.831-.669-1.5-1.5-1.5h-8zm0 1.5h8v8h-8v-8z" fill="#212121"/><path d="M37 57h8v6h-8z" stroke-miterlimit="4.2" stroke="#000" stroke-width="2"/><path d="M45 60l4-4v8"/><g stroke="#000"><path d="M70.58 12.5a1.08 1.08 0 1 1-2.16 0 1.08 1.08 0 1 1 2.16 0z" fill-rule="evenodd" stroke-width="1.00008"/><path d="M69.48 9.5l2.54-2h-1.524v-2h-2l-.016 2h-1.54zM72.5 12.5l2 2.5v-1.5h2v-2h-2V10zM69.5 15.5l-2.5 2h1.5v2h2v-2H72zM66.5 12.5l-2-2.5v1.5h-2v2h2V15z"/></g><g fill-rule="evenodd"><path d="M60.308 28.525H76.54v16.232H60.308z" fill="none"/><path d="M64.072 36.049l-1.275 1.275 3.826 3.825 7.652-7.651L73 32.222 66.623 38.6z"/></g><path d="M65.94 56l-.94.94L68.053 60 65 63.06l.94.94 4-4z"/><path d="M69.94 56l-.94.94L72.053 60 69 63.06l.94.94 4-4zM14.44 88.94c-2.48 0-4.5-2.02-4.5-4.5 0-.88.26-1.7.69-2.39l6.2 6.2c-.69.44-1.51.69-2.39.69m4.5-4.5c0 .88-.26 1.7-.69 2.39l-6.2-6.2c.69-.44 1.51-.69 2.39-.69 2.48 0 4.5 2.02 4.5 4.5M14.5 78a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13"/><g fill-rule="evenodd"><path d="M32.071 76.568h15.688v15.688H32.07z" fill="none"/><path d="M42.53 79.618a1.312 1.312 0 0 0-1.313-1.307h-5.219c-.723 0-1.312.587-1.312 1.313v6.961c0 .725.584 1.31 1.307 1.313v-8.28h6.536zm-5.23 2.62c0-.725.59-1.312 1.313-1.312h5.218c.726 0 1.313.585 1.313 1.312V89.2c0 .725-.59 1.312-1.313 1.312h-5.218A1.312 1.312 0 0 1 37.3 89.2v-6.962zm1.307-.005h5.23v6.972h-5.23v-6.972z"/></g><path d="M79 84l-3.64-4h-1.79L68 88h7.36L79 84zM61 80v8h2.05L68 80h-7zM63.67 92.55l-1.59-1.32 10.76-15.78 1.59 1.32-10.76 15.78z"/><path d="M54 72h24v24H54z" fill="none"/><path d="M54 72h24v24H54zm0 0h24v24H54zm0 0h24v24H54zm0 0h24v24H54z" fill="none"/><path d="M54 72h24v24H54z" fill="none"/><path d="M54 72h24v24H54z" fill="none"/><path d="M54 72h24v24H54z" fill="none"/><path d="M103 8.33L101.67 7 98 10.67 94.33 7 93 8.33 96.67 12 93 15.67 94.33 17 98 13.33l3.67 3.67 1.33-1.33L99.33 12 103 8.33zM103 37H93v-5h10v5zm-12 5h14V30H91v12zM96 64h7v-8h-7zm9 2H91V54h14zM100 88h-7v-8h7v8zm-9 2h14V78H91v12zM7 112.089v2.91h2.91l8.284-8.283-2.91-2.91L7 112.088zm13.769-7.939a.771.771 0 0 0 0-1.1l-1.82-1.82a.771.771 0 0 0-1.1 0l-1.52 1.53 2.91 2.91 1.53-1.52zM48.77 103.04l-1.816-1.816a.78.78 0 0 0-1.1 0l-2.43 2.43-1.49-1.493-1.1 1.1 1.104 1.105L35 111.301v3.695h3.694l6.938-6.939 1.1 1.105 1.1-1.1-1.492-1.494 2.43-2.431a.768.768 0 0 0 0-1.097zm-10.721 10.4l-1.493-1.493 6.272-6.274 1.493 1.493-6.272 6.274z"/><path d="M66 107l2 3v4h4v-4l2-3z" opacity=".5" fill="#424242"/><path d="M68.5 113.23c.32.13.84.24 1.47.24.59 0 1.14-.1 1.53-.26v-3.93l4-4.57v-.19h-11v.22l4 4.57v3.93zm1.47 1.77c-1.16-.09-2.15-.29-2.97-.99v-4.12l-4-4.57V103h14v2.35l-4 4.57v4.13c-.92.67-2.1.94-3.03.95"/><path d="M89 99h18v18H89z" fill="none"/><path d="M89 114h18v3H89z" fill-opacity=".36"/><path d="M97.25 101.25l-4.125 10.5h1.688l.84-2.25h4.687l.84 2.25h1.688l-4.118-10.5h-1.5zM96.215 108L98 103.252 99.785 108h-3.57z"/><path d="M120.5 19.5v-14h12v14z" fill="none" stroke="#000"/><path d="M126.5 13l-3.25-5h6.5M120 16v-1h13v1z"/><path d="M119.5 30.5h14v12h-14z" fill="none" stroke="#000"/><path d="M126 36.5l5-3.25v6.5M123 30h1v13h-1z"/><path d="M133.5 54.5h-14v12h14z" fill="none" stroke="#000"/><path d="M127 60.5l-5-3.25v6.5M130 54h-1v13h1z"/><path d="M120.5 77.5v14h12v-14z" fill="none" stroke="#000"/><path d="M126.5 84l-3.25 5h6.5M120 81v1h13v-1zM123 107h-4v-4h4v4zM133 105h-9v-2h9v2zM133 107h-9v-1h9v1zM133 111h-9v-2h9v2zM123 113h-4v-4h4v4zM133 113h-9v-1h9v1zM21 133h-2v2h2zM21 137h-2v2c1 0 2-1 2-2zM21 129h-2v2h2zM19 125v2h2c0-1-1-2-2-2zM9 139h4v-6H7v4c0 1.1.9 2 2 2zM9 129H7v2h2zM17 125h-2v2h2zM17 137h-2v2h2zM9 125c-1 0-2 1-2 2h2zM13 125h-2v2h2zM53 143v-5l-5 5h5z"/><g fill-rule="evenodd"><path d="M71.989 127.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zM71.989 132.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0zM71.989 137.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 1 1 3 0z"/></g><path d="M88 123h18v18H88z" fill="none"/><path d="M103.52 130.53a5.625 5.625 0 0 0-5.516-4.526 5.63 5.63 0 0 0-4.988 3.026 4.499 4.499 0 0 0 .487 8.974h9.75c2.07 0 3.75-1.68 3.75-3.75 0-1.98-1.54-3.585-3.483-3.724zm-.266 5.974h-9.75a3 3 0 1 1 0-6h.532a4.127 4.127 0 0 1 3.968-3 4.123 4.123 0 0 1 4.125 4.125v.375h1.125a2.252 2.252 0 0 1 2.25 2.25 2.252 2.252 0 0 1-2.25 2.25zM121 124c-.55 0-.99.45-.99 1l-.01 14c0 .55.44 1 1 1h10c.55 0 1-.45 1-1v-10l-5-5h-6zm6 5v-4l4 4h-4z"/><path d="M117 123h18v18h-18zM147 5h18v18h-18z" fill="none"/><path d="M145.25 3.25h20v20h-20z" fill="none"/><path d="M143.12 1.125h20v20h-20z" fill="none"/><path d="M149 4c-.55 0-1 .45-1 1v14c0 .55.44 1 1 1h5.094a5.022 5.022 0 0 1-.094-1 5 5 0 0 1 5-5c.343 0 .677.028 1 .094V9l-5-5h-6zm6 1l4 4h-4V5z"/><path d="M145 28h18v18h-18z" fill="none"/><path d="M156 33l-2-2h-5c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-8c0-.55-.45-1-1-1h-5z"/><path d="M160 54h-10.5a1.5 1.5 0 0 0-1.5 1.5v9a1.5 1.5 0 0 0 1.5 1.5H160c.825 0 1.5-.675 1.5-1.5v-9A1.5 1.5 0 0 0 160 54zm0 10.5h-10.5V57H160v7.5z" fill="#010101"/><path d="M144.97 51.07h18v18h-18z" fill="none"/><path d="M155 76.9h-5.005c-.54 0-.995.45-.995 1.007v11.986a1 1 0 0 0 .995 1.007h8.01c.54 0 .995-.451.995-1.007V80.9l-4-4zm3 4h-3v-3l3 3zm-6 2l5 2.5-5 2.5v-5z"/><g stroke="#000"><path d="M151.343 105.675l-.712.23-.015.975.024.065.37.724-.882.641-.575-.577-.053-.041-.932-.287-.44.605.56.797.057.039.727.367-.338 1.039-.805-.129-.067-.003-.923.315v.75l.923.316.067-.003.805-.13.338 1.038-.727.369-.056.037-.562.798.44.605.933-.287.053-.043.575-.576.883.64-.372.727-.023.062.015.976.712.23.586-.778.018-.066.125-.805h1.092l.126.805.018.066.585.778.713-.23.014-.976-.022-.062-.372-.727.883-.64.575.576.052.043.933.287.44-.605-.562-.798-.055-.037-.726-.369.336-1.038.805.13.067.003.923-.317v-.749l-.923-.315-.067.003-.805.129-.336-1.039.726-.367.055-.039.562-.797-.44-.605-.933.288-.052.041-.575.577-.883-.641.372-.725.022-.064-.014-.975-.713-.23-.585.78-.018.064-.126.805h-1.092l-.125-.806-.02-.067-.584-.777m1.275 2.477a2.64 2.657 0 0 1 2.64 2.657 2.64 2.657 0 0 1-2.64 2.659 2.64 2.657 0 0 1-2.639-2.659 2.64 2.657 0 0 1 2.639-2.657z" stroke-width=".72907"/><path d="M156.08 100.757l-.516.287.136.935.023.029.542.554-.428.722-.746-.214-.037-.005-.887.323-.009.589.879.35.037-.005.751-.193.411.73-.56.541-.023.028-.16.931.503.302.74-.585.015-.035.214-.747.833.012.19.752.012.035.725.607.514-.288-.138-.933-.022-.03-.54-.558.427-.717.747.212.037.007.89-.325.007-.59-.88-.348-.037.004-.752.193-.408-.731.56-.54.022-.028.162-.932-.507-.302-.742.586-.014.036-.209.745-.833-.01-.193-.753-.012-.035-.725-.606zm1.322 1.558a1.413 1.413 0 0 1 1.413 1.413 1.413 1.413 0 0 1-1.413 1.412 1.413 1.413 0 0 1-1.412-1.412 1.413 1.413 0 0 1 1.412-1.413z" stroke-width=".65543393"/></g><g fill="none"><path d="M146 124h16v16h-16v-16z" opacity=".5"/><path d="M152 138h-2.5c-1 0-1.5-.5-1.5-1.5v-9c0-1 .5-1.5 1.5-1.5h9c1.5 0 1.5 1.468 1.5 1.5v2.5h-1v-3h-10v10h3v1zm9-5l-3 2 3 3-1 1-3-3-2 3-2-8 8 2z" fill="#000"/></g><path d="M12.5 151.5h-1l2-2 2 2h-1s-.035 4.638-.035 4.035l4.035-.034v-1l2 2-2 2v-1l-4.035-.034.035 4.034h1l-2 2-2-2h1l.034-4.034-4.034.034v1l-2-2 2-2v1l4.034.034z" stroke="#000"/><path d="M39.6 159.2h1.6v-6.4h-1.6v6.4zM42 148c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm0 14.4a6.408 6.408 0 0 1-6.4-6.4c0-3.528 2.872-6.4 6.4-6.4 3.528 0 6.4 2.872 6.4 6.4 0 3.528-2.872 6.4-6.4 6.4zm.8-3.2h1.6v-6.4h-1.6v6.4zM69 160h-3v-8h3v8zM75 160h-3v-8h3v8zM101 159h-2v-6h2zm-4 0h-2v-6h2zm4-10h-6l-4 4v6l4 4h6l4-4.12V153z"/><g font-weight="400" font-family="Sans"><path d="M121 149v5l3.343.531-.015 8.047L123 163c.006.593.44 1.011 1 1h8c.579.002.982-.427 1-1v-14c-.01-.535-.482-.997-1-1h-10a1.026 1.026 0 0 0-1 1zm1 0h10v14h-8l.718-.422.094-8.422L122 154v-1z" overflow="visible" style="text-indent:0;line-height:normal;text-transform:none;block-progression:tb"/><path d="M118 154v9c.006.593.44 1.011 1 1h5c.579.002.982-.427 1-1v-9c-.01-.535-.482-.997-1-1h-5a1.026 1.026 0 0 0-1 1zm1 1h5v7h-5z" overflow="visible" style="text-indent:0;line-height:normal;text-transform:none;block-progression:tb"/></g><path d="M146 156c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8-8 3.58-8 8zm8 6.4a6.408 6.408 0 0 1-6.4-6.4c0-3.528 2.872-6.4 6.4-6.4 3.528 0 6.4 2.872 6.4 6.4 0 3.528-2.872 6.4-6.4 6.4zm-1.493-2.971l4.571-3.429-4.571-3.429v6.857zM10 180l10-5v10M48 180l-10-5v10M66.01 179.99c.61.28 1.07.9 1.07 1.58.11.85-.05 1.72.12 2.57.27.54 1 .28 1.43.55.49.24.48 1.01-.06 1.18-.56.22-1.18.08-1.74-.05-.71-.2-1.41-.72-1.5-1.5-.18-.89.01-1.8-.16-2.68-.22-.64-.94-.9-1.57-.93-.58-.1-.83-.94-.35-1.3.51-.35 1.26-.14 1.69-.66.44-.48.29-1.18.32-1.78 0-.81-.02-1.77.65-2.34.66-.54 1.58-.71 2.41-.63.63 0 .98.87.4 1.22-.44.37-1.2.06-1.51.65-.14.56-.05 1.15-.07 1.73-.01.75-.05 1.64-.72 2.13-.12.1-.26.19-.4.26M74.98 179.99c-.67-.3-1.08-1.02-1.08-1.75-.07-.76.03-1.52-.06-2.28-.24-.58-.98-.4-1.46-.59-.59-.24-.48-1.18.14-1.31.73-.15 1.52-.01 2.18.32.56.28.95.86.99 1.48.13.83-.03 1.68.13 2.5.2.68.94.83 1.54.9.56.07.86.8.46 1.21-.44.46-1.2.2-1.65.66-.51.46-.4 1.21-.4 1.83-.03.78.06 1.69-.52 2.3-.74.65-1.8.86-2.75.68-.52-.16-.69-1.01-.15-1.25.44-.23 1.02-.08 1.41-.45.26-.45.09-.98.14-1.47.01-.76-.07-1.63.43-2.26.18-.21.42-.37.66-.51"/><g><path d="M82 168h24v24H82z" fill="none"/><path d="M98 174c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6h-2a4 4 0 1 1-4-4c1.276 0 2.393.601 3.125 1.531h2.344A6.004 6.004 0 0 0 98 174z"/><path d="M103.091 174.88v3.092h-3.092z" stroke="#000" stroke-width="1.068"/></g><g><path d="M120.586 185.891a7.978 7.978 0 0 1-2.586-5.89c0-4.42 3.58-8 8-8s8 3.58 8 8-3.58 8-8 8v-1.6c3.528 0 6.4-2.873 6.4-6.4 0-3.529-2.872-6.4-6.4-6.4a6.408 6.408 0 0 0-6.4 6.4c0 1.935.865 3.673 2.228 4.848l1.692-1.42.015 4.463-4.392-.79 1.443-1.21zm3.92-2.462l4.572-3.429-4.571-3.428v6.857z"/></g><g><path d="M161 180l-8-5v10M151 185h-3v-10h3v10z"/></g><g><path d="M175.2 10.15c.055-.113.153-.22.231-.306.546-.608 1.39-1.198 3.006-1.57V6.101c-1.294.252-2.315.669-3.304 1.56-.333.383-.506.624-.514 1.166-.007.443.177.886.581 1.322zm6.63 3.13c-1.616-.025-3.108-.257-4.622-.765-2.694-.903-3.029-2.17-3.17-2.593-.096 1.69.028 2.957.034 3.065.092 1.5 1.292 2.674 2.158 3.115a12.806 12.806 0 0 0 5.6 1.415v2.484l3.252-4.648-3.251-4.649v2.575zm-.322-5.297c1.616.01 3.453.339 5.245 1.113.735.318 1.328.79 1.808 1.305.332-.152.807-.73.741-1.292-.161-1.388-1.626-2.191-1.88-2.305-1.77-.79-3.975-1.035-5.914-1.058V4l-2.014 2.879 2.014 2.878V7.983zm8.423 1.866c-.082.648-.827 2.035-3.898 2.914v4.525c1.132-.368 2.465-1.296 3.18-2.2.29-.367.468-.874.576-1.241.333-1.123.187-3.314.142-3.998z"/></g><g><path d="M184.624 30.47a6.127 6.127 0 0 1 3.497 4.947H189C188.7 31.823 185.684 29 182 29l-.387.018 2.232 2.222.779-.77zm-3.661-.45a.876.876 0 0 0-1.242 0l-3.725 3.71a.867.867 0 0 0 0 1.238l7.04 7.011a.876.876 0 0 0 1.242 0l3.726-3.71a.867.867 0 0 0 0-1.236l-7.041-7.012zm2.694 11.34l-7.04-7.01 3.725-3.71 7.041 7.01-3.725 3.71zm-4.282.17a6.119 6.119 0 0 1-3.497-4.947H175c.298 3.594 3.315 6.417 7 6.417l.386-.018-2.231-2.222-.78.77z"/></g><g><path d="M171.96 50.013h20v20h-20z" fill="none"/><path d="M175 53h18v18h-18z" fill="none"/><path d="M173.25 51.25h20v20h-20z" fill="none"/><path d="M171.12 49.125h20v20h-20z" fill="none"/><path d="M166 48h24v24h-24z" fill="none"/><path d="M187.35 60.686c.029-.224.05-.448.05-.686 0-.238-.021-.462-.05-.686l1.518-1.155a.347.347 0 0 0 .087-.448l-1.44-2.422a.367.367 0 0 0-.439-.154l-1.791.7a5.295 5.295 0 0 0-1.217-.686l-.273-1.855a.348.348 0 0 0-.353-.294h-2.878a.348.348 0 0 0-.353.294l-.273 1.855a5.568 5.568 0 0 0-1.216.686l-1.792-.7a.356.356 0 0 0-.44.154l-1.439 2.422a.339.339 0 0 0 .087.448l1.518 1.155c-.029.224-.05.455-.05.686 0 .231.021.462.05.686l-1.518 1.155a.347.347 0 0 0-.087.448l1.44 2.422c.086.154.28.21.439.154l1.792-.7c.374.28.777.511 1.216.686l.273 1.855a.348.348 0 0 0 .353.294h2.878c.18 0 .331-.126.353-.294l.273-1.855a5.568 5.568 0 0 0 1.217-.686l1.792.7c.165.063.352 0 .438-.154l1.44-2.422a.347.347 0 0 0-.087-.448l-1.518-1.155zm-5.347 1.764c-1.389 0-2.519-1.099-2.519-2.45 0-1.351 1.13-2.45 2.52-2.45 1.388 0 2.518 1.099 2.518 2.45 0 1.351-1.13 2.45-2.519 2.45z"/></g><g><path d="M176.5 91.5v-14h12v14z" fill="none" stroke="#000"/><path d="M182.5 80l-3.25 5h6.5M176 88v-1h13v1z"/></g><g><path d="M174.5 102.5h14v12h-14z" fill="none" stroke="#000"/><path d="M186 108.5l-5-3.25v6.5M178 102h1v13h-1z"/></g><g><path d="M188.5 126.5h-14v12h14z" fill="none" stroke="#000"/><path d="M177 132.5l5-3.25v6.5M185 126h-1v13h1z"/></g><g><path d="M176.5 149.5v14h12v-14z" fill="none" stroke="#000"/><path d="M182.5 161l-3.25-5h6.5M176 153v1h13v-1z"/></g><g><path d="M176 180c0 3.31 2.69 6 6 6s6-2.69 6-6-2.69-6-6-6-6 2.69-6 6"/></g><g><path d="M12.5 209c0 1.1.9 2 2 2s2-.9 2-2-.9-2-2-2-2 .9-2 2M13 198v4h-3l4.5 4 4.5-4h-3v-4h-3z"/></g><g><path d="M40.5 209c0 1.1.9 2 2 2s2-.9 2-2-.9-2-2-2-2 .9-2 2M42.5 198l-4.5 4h3v4h3v-4h3l-4.5-4z"/></g><g><path d="M68 206.5c0 1.1.9 2 2 2s2-.9 2-2-.9-2-2-2-2 .9-2 2"/><path d="M63.25 207.03c2.55-8.43 11.4-8.73 13.94 0" fill="none" stroke="#000" stroke-width="2.5"/><path d="M77.68 209l-4.54-2.76 6.68-2.1"/></g><g transform="translate(82 192)"><path transform="translate(-288 -24)" d="M295 36a9 9 0 1 0 18.001-.001A9 9 0 0 0 295 36" fill="url(#a)"/><path d="M10 12c0 3.31 2.69 6 6 6s6-2.69 6-6-2.69-6-6-6-6 2.69-6 6"/><defs><radialGradient id="b" cx="0" cy="0" r="1" gradientTransform="matrix(18 0 0 -18 680 341)" gradientUnits="userSpaceOnUse"><stop offset="0"/><stop stop-opacity="0" offset="1"/></radialGradient><radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="matrix(9 0 0 9 304 36)" gradientUnits="userSpaceOnUse" xlink:href="#b"/></defs></g><g><path d="M117 195h18v18h-18z" fill="none"/><path d="M132.25 203h.75v-3h-11v3h.75a1.5 1.5 0 0 1 1.5-1.5h2.5v7.25a1.5 1.5 0 0 1-1.5 1.5v.75h4.5v-.75a1.5 1.5 0 0 1-1.5-1.5v-7.25h2.5a1.5 1.5 0 0 1 1.5 1.5z" fill-opacity=".36"/><path d="M129.25 200h.75v-3h-11v3h.75a1.5 1.5 0 0 1 1.5-1.5h2.5v7.25a1.5 1.5 0 0 1-1.5 1.5v.75h4.5v-.75a1.5 1.5 0 0 1-1.5-1.5v-7.25h2.5a1.5 1.5 0 0 1 1.5 1.5z"/></g><g><path d="M149.5 201h9l-1.5 10h-6M157.5 198h-2v-1h-3v1h-2c-.55 0-1 .48-1 1v1h9v-1c0-.52-.45-1-1-1"/></g><g><path d="M178 201h-2v9h11v-2h-9z"/><path d="M181 200h7v5h-7zm-2-2v9h11v-9z"/></g><g><path d="M210 6.69c-3.636 0-6.742 2.263-8 5.455 1.258 3.193 4.364 5.455 8 5.455s6.742-2.262 8-5.455c-1.258-3.192-4.364-5.454-8-5.454zm0 9.092a3.638 3.638 0 0 1-3.636-3.637A3.638 3.638 0 0 1 210 8.51a3.638 3.638 0 0 1 3.636 3.636A3.638 3.638 0 0 1 210 15.782zm0-5.818a2.179 2.179 0 0 0-2.182 2.181c0 1.208.975 2.182 2.182 2.182a2.179 2.179 0 0 0 2.182-2.182A2.179 2.179 0 0 0 210 9.964z"/></g><g><path d="M219 33h-11v-2h11v2z" opacity=".2"/><path d="M208 33h-6v-2h6v2zM211 36h-6v-2h6v2zM216 39h-6v-2h6v2zM218 42h-6v-2h6v2z"/></g><text style="line-height:0%" x="12.356" y="231.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="12.356" y="231.559" style="line-height:1.25" font-size="12">a</tspan></text><text style="line-height:0%" x="40.356" y="231.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="40.356" y="231.559" style="line-height:1.25" font-size="12">b</tspan></text><text style="line-height:0%" x="68.356" y="231.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="68.356" y="231.559" style="line-height:1.25" font-size="12">c</tspan></text><text style="line-height:0%" x="96.356" y="231.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="96.356" y="231.559" style="line-height:1.25" font-size="12">d</tspan></text><text style="line-height:0%" x="124.356" y="231.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="124.356" y="231.559" style="line-height:1.25" font-size="12">e</tspan></text><text style="line-height:0%" x="152.356" y="231.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="152.356" y="231.559" style="line-height:1.25" font-size="12">f</tspan></text><text style="line-height:0%" x="180.356" y="231.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="180.356" y="231.559" style="line-height:1.25" font-size="12">g</tspan></text><text style="line-height:0%" x="208.356" y="231.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="208.356" y="231.559" style="line-height:1.25" font-size="12">h</tspan></text><text style="line-height:0%" x="-15.644" y="207.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-15.644" y="207.559" style="line-height:1.25" font-size="12">1</tspan></text><text style="line-height:0%" x="-15.644" y="183.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-15.644" y="183.559" style="line-height:1.25" font-size="12">2</tspan></text><text style="line-height:0%" x="-15.644" y="159.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-15.644" y="159.559" style="line-height:1.25" font-size="12">3</tspan></text><text style="line-height:0%" x="-15.644" y="135.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-15.644" y="135.559" style="line-height:1.25" font-size="12">4</tspan></text><text style="line-height:0%" x="-15.644" y="111.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-15.644" y="111.559" style="line-height:1.25" font-size="12">5</tspan></text><text style="line-height:0%" x="-15.644" y="87.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-15.644" y="87.559" style="line-height:1.25" font-size="12">6</tspan></text><text style="line-height:0%" x="-15.644" y="63.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-15.644" y="63.559" style="line-height:1.25" font-size="12">7</tspan></text><text style="line-height:0%" x="-15.644" y="39.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-15.644" y="39.559" style="line-height:1.25" font-size="12">8</tspan></text><text style="line-height:0%" x="-15.644" y="15.559" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-15.644" y="15.559" style="line-height:1.25" font-size="12">9</tspan></text><g fill="none"><path fill="none" d="M200 50h20v20h-20z"/><path d="M204.343 59.343a8.004 8.004 0 0 1 13.267 3.184l-1.455.473h-.496a6.002 6.002 0 0 0-9.902-2.243L208 63h-6v-6l2.343 2.343z" fill="#000"/></g><path d="M215 82h-3v-4h-4v4h-3l5 6zm-10 7v1h10v-1z"/><path d="M196 72h24v24h-24z" fill="none"/><path d="M210 102l-5 6h3v4h4v-4h3zm-5 11v1h10v-1zM206 176h8v8h-8z"/><g><path d="M212.857 134.628h-.62l-.22-.212a5.083 5.083 0 0 0 1.233-3.322 5.106 5.106 0 1 0-5.106 5.105 5.083 5.083 0 0 0 3.323-1.233l.212.22v.62l3.927 3.92 1.17-1.17zm-4.713 0a3.53 3.53 0 0 1-3.534-3.534 3.53 3.53 0 0 1 3.534-3.535 3.53 3.53 0 0 1 3.535 3.535 3.53 3.53 0 0 1-3.535 3.534z"/><path d="M200.682 123.632h18.852v18.851h-18.852z" fill="none"/></g><path d="M211.72 203.423c0 1.1.9 2 2 2s2-.9 2-2-.9-2-2-2-2 .9-2 2"/><g><path d="M211 203.5l-4-4.5v3h-4v3h4v3z"/></g></svg>
\ No newline at end of file
diff --git a/front_end/Images/mediumIcons.svg b/front_end/Images/mediumIcons.svg
deleted file mode 100644
index 308443b..0000000
--- a/front_end/Images/mediumIcons.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="96" height="96"><defs><linearGradient id="a"><stop offset="0" stop-color="#d7687d"/><stop offset="1" stop-color="#b21402"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#606eda"/><stop offset="1" stop-color="#021db2"/></linearGradient><linearGradient xlink:href="#a" id="m" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0 -.41667 -.41667 0 25 10)" x2="24"/><linearGradient xlink:href="#b" id="k" gradientUnits="userSpaceOnUse" gradientTransform="translate(-.714 -69.286) scale(.71429)" x1="113" y1="104" x2="127" y2="104"/></defs><path d="M3 36h10v9.008A1.99 1.99 0 0111 47H5c-1.105 0-2-.9-2-1.992zm-1-2h12v1H2zm3-1h6v1H5zM29.526 38.25h-1.474v-.75c0-.414-.33-.75-.737-.75h-1.473V36c0-.414-.33-.75-.737-.75h-.737v-1.5a.743.743 0 00-.494-.7.494.494 0 00-.243-.05C19.968 33 17 36.022 17 39.75s2.968 6.75 6.631 6.75c3.663 0 6.632-3.022 6.632-6.75V39c0-.414-.33-.75-.737-.75zm-9.947 2.25c-.611 0-1.106-.503-1.106-1.125s.495-1.125 1.106-1.125c.61 0 1.105.503 1.105 1.125s-.495 1.125-1.105 1.125zm1.105-4.125c0-.622.495-1.125 1.105-1.125.611 0 1.105.503 1.105 1.125 0 .621-.494 1.125-1.105 1.125-.61 0-1.105-.504-1.105-1.125zM22.894 45c-.61 0-1.105-.503-1.105-1.125 0-.62.495-1.125 1.105-1.125.611 0 1.106.504 1.106 1.125 0 .622-.495 1.125-1.106 1.125zm.369-3.75c-.61 0-1.105-.504-1.105-1.125S22.653 39 23.263 39s1.105.504 1.105 1.125-.495 1.125-1.105 1.125zm3.684 1.5c-.61 0-1.105-.504-1.105-1.125s.495-1.125 1.105-1.125 1.105.504 1.105 1.125-.495 1.125-1.105 1.125z" fill="#212121"/><path d="M40 38c3.314 0 6-.895 6-2s-2.686-2-6-2-6 .895-6 2 2.686 2 6 2zm-6 7c0 1.105 2.686 2 6 2s6-.895 6-2v-2c0 1.105-2.686 2-6 2s-6-.895-6-2zm0-3c0 1.105 2.686 2 6 2s6-.895 6-2v-2c0 1.105-2.686 2-6 2s-6-.895-6-2zm0-3c0 1.105 2.686 2 6 2s6-.895 6-2v-2c0 1.105-2.686 2-6 2s-6-.895-6-2z"/><g fill="none"><path d="M48 32h16v16H48z"/><path d="M57 33h-5.005c-.54 0-.995.45-.995 1.007v11.986A1 1 0 0051.995 47h8.01c.54 0 .995-.451.995-1.007V37l-4-4zm3.29 4H57v-3.29z" fill="#000"/></g><path d="M6.5 51.229V49h3v2.229a4.994 4.994 0 011.88 1.087l1.932-1.115 1.5 2.598-1.93 1.115a5.018 5.018 0 010 2.173l1.93 1.114-1.5 2.598-1.931-1.115A4.995 4.995 0 019.5 60.771v2.23h-3v-2.23a4.994 4.994 0 01-1.88-1.087L2.687 60.8l-1.5-2.598 1.93-1.114a5.018 5.018 0 010-2.173l-1.93-1.115 1.5-2.598 1.931 1.115A4.995 4.995 0 016.5 51.23zM8 58.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM18 51.999a1 1 0 01.99-.999H24v3h-6v-2.001zM18 59h6v3h-5.01a.992.992 0 01-.99-.999V59zm0-4h6v3h-6zm7-4h5.01c.546 0 .99.443.99.999V54h-6v-3zm0 8h6v2.001a1 1 0 01-.99.999H25v-3zm0-4h6v3h-6z" fill="#212121"/><path d="M39.5 61a5.5 5.5 0 100-11 5.5 5.5 0 000 11zm0-2.2v-2.2h-3.3v-2.2h3.3v-2.2l3.3 3.3z"/><g transform="translate(-26 25)"><circle transform="matrix(1.2 0 0 1.2 72.4 21.2)" cx="10.5" cy="11.5" r="2.5" fill="#009802"/><path d="M78 25c-.544 0-1 .45-1 1v8c0 .54.45 1 1 1h3.031a3.533 3.533 0 01-.031-.5c0-.17.008-.337.031-.5H78v-8h3v3h3v1.5c.163-.023.33 0 .5 0 .17 0 .337-.023.5 0V28l-3-3zm4 1l2 2h-2z"/></g><path d="M8 66H3.997a1 1 0 00-.997.995v8.01c0 .54.446.995.997.995h6.006a1 1 0 00.997-.995V69l-3-3zm0 1l2 2H8zm-4 0h3v3h3v5H4z"/><path d="M17 71.5a6.5 6.5 0 1013 0 6.5 6.5 0 00-13 0" fill="#9f9f9f"/><path d="M27 69.43l-.93-.93-2.57 2.57-2.57-2.57-.93.93L22.57 72 20 74.57l.93.93 2.57-2.57 2.57 2.57.93-.93L24.43 72z" fill-opacity=".36"/><path d="M27 68.93l-.93-.93-2.57 2.57L20.93 68l-.93.93 2.57 2.57L20 74.07l.93.93 2.57-2.57L26.07 75l.93-.93-2.57-2.57z" fill="#fff"/><path d="M33 71.5a6.5 6.5 0 1013 0 6.5 6.5 0 00-13 0" fill="#bebebe"/><path d="M43 69.43l-.93-.93-2.57 2.57-2.57-2.57-.93.93L38.57 72 36 74.57l.93.93 2.57-2.57 2.57 2.57.93-.93L40.43 72z" fill-opacity=".37"/><path d="M43 68.93l-.93-.93-2.57 2.57L36.93 68l-.93.93 2.57 2.57L36 74.07l.93.93 2.57-2.57L42.07 75l.93-.93-2.57-2.57z" fill="#fff"/><g transform="translate(49 65)"><path transform="translate(-111 -96)" d="M118 96c-3.87 0-7 3.13-7 7s3.13 7 7 7 7-3.13 7-7-3.13-7-7-7" fill="url(#c)"/><path d="M.5 7a6.5 6.5 0 1013 0 6.5 6.5 0 00-13 0" fill="#f27d82"/><path d="M10.5 4.93L9.57 4 7 6.57 4.43 4l-.93.93L6.07 7.5 3.5 10.07l.93.93L7 8.43 9.57 11l.93-.93L7.93 7.5z" fill-opacity=".36"/><path d="M10.5 4.43l-.93-.93L7 6.07 4.43 3.5l-.93.93L6.07 7 3.5 9.57l.93.93L7 7.93l2.57 2.57.93-.93L7.93 7z" fill="#fff"/><defs><linearGradient id="d"><stop stop-color="#d7687d" offset="0"/><stop stop-color="#b21402" offset="1"/></linearGradient><linearGradient id="c" x2="24" gradientTransform="matrix(0 -.58333 -.58333 0 118 110)" gradientUnits="userSpaceOnUse" xlink:href="#d"/></defs></g><g transform="translate(1 81)"><path transform="translate(-96 -96)" d="M103 110c3.87 0 7-3.13 7-7s-3.13-7-7-7-7 3.13-7 7 3.13 7 7 7" fill="url(#e)"/><path transform="translate(-96 -96)" d="M103 96.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13" fill="url(#f)"/><path d="M10.5 4.93L9.57 4 7 6.57 4.43 4l-.93.93L6.07 7.5 3.5 10.07l.93.93L7 8.43 9.57 11l.93-.93L7.93 7.5z" fill="#993c35"/><path d="M10.5 4.43l-.93-.93L7 6.07 4.43 3.5l-.93.93L6.07 7 3.5 9.57l.93.93L7 7.93l2.57 2.57.93-.93L7.93 7z" fill="#fff"/><defs><linearGradient id="f" x1="96.5" x2="109.5" y1="103" y2="103" gradientTransform="rotate(90 103 103)" gradientUnits="userSpaceOnUse" xlink:href="#g"/><linearGradient id="g"><stop stop-color="#e59290" offset="0"/><stop stop-color="#e99890" offset="1"/></linearGradient><linearGradient id="e" x1="113" x2="127" y1="104" y2="104" gradientTransform="rotate(90 112 95)" gradientUnits="userSpaceOnUse" xlink:href="#h"/><linearGradient id="h"><stop stop-color="#c0544f" offset="0"/><stop stop-color="#d08481" offset="1"/></linearGradient></defs></g><path d="M26.27 90.92a4.5 4.5 0 11.73-.684l2.346 2.346-.707.707zm-2.692-.106a3.5 3.5 0 100-7 3.5 3.5 0 000 7z" fill="#5b5b5b"/><text style="line-height:0%" x="-11.403" y="91.208" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-11.403" y="91.208" style="line-height:1.25" font-size="10">1</tspan></text><text style="line-height:0%" x="-11.144" y="75.675" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-11.144" y="75.675" style="line-height:1.25" font-size="10">2</tspan></text><text style="line-height:0%" x="-11.066" y="60.143" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-11.066" y="60.143" style="line-height:1.25" font-size="10">3</tspan></text><text style="line-height:0%" x="-11.266" y="44.611" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="-11.266" y="44.611" style="line-height:1.25" font-size="10">4</tspan></text><text style="line-height:0%" x="5.935" y="108.082" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="5.935" y="108.082" style="line-height:1.25" font-size="10">a</tspan></text><text style="line-height:0%" x="21.659" y="108.082" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="21.659" y="108.082" style="line-height:1.25" font-size="10">b</tspan></text><text style="line-height:0%" x="37.384" y="108.082" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="37.384" y="108.082" style="line-height:1.25" font-size="10">c</tspan></text><text style="line-height:0%" x="53.108" y="108.082" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#b3b3b3"><tspan x="53.108" y="108.082" style="line-height:1.25" font-size="10">d</tspan></text><g fill="none"><path d="M48 96H32V80h16z"/><path d="M40 81c-3.864 0-7 3.136-7 7s3.136 7 7 7 7-3.136 7-7-3.136-7-7-7zm-5.5 7c0-3.032 2.468-5.5 5.5-5.5s5.5 2.468 5.5 5.5-2.468 5.5-5.5 5.5a5.507 5.507 0 01-5.5-5.5zm6.5 4v-5h-2v5zm-2-6h2v-2h-2z" fill="#000"/></g><g transform="matrix(1.39974 0 0 1.39343 65.054 81.02)" mask="url(#i)"><path d="M1 9l4-8 4 8z" stroke="#c19600" stroke-width="2" stroke-linejoin="round"/><path d="M1 9l4-8 4 8z" fill="#f4bd00" stroke="#f5bd00" stroke-width="1.5" stroke-linejoin="round"/><path d="M3.75 2.75h2.5v2.5L5.75 7h-1.5l-.5-1.75v-2.5m0 5.25h2.5v1.25h-2.5" fill="#ad8601"/><mask id="i"><path fill="#fff" d="M0 0h10v10H0z"/><path transform="translate(-60)" d="M64 3h2v2.25L65.5 7h-1L64 5.25V3m0 5h2v1h-2"/></mask></g><g transform="matrix(1.36 0 0 1.34 65.3 65.5)" mask="url(#j)"><path transform="translate(-80)" d="M85 0c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5" fill="url(#k)"/><path d="M.36 5C.36 7.56 2.44 9.64 5 9.64c2.56 0 4.64-2.08 4.64-4.64C9.64 2.44 7.56.36 5 .36 2.44.36.36 2.44.36 5" fill="#2a53cd"/><mask id="j"><path fill="#fff" d="M0 0h10v10H0z"/><path transform="translate(-80)" d="M83.93 2.14c-.03-.53.55-.97 1.06-.83.5.12.79.73.56 1.18-.2.44-.79.61-1.2.36a.812.812 0 01-.42-.71zm1.7 5.46h.67v.53h-2.89V7.6h.66V3.99h-.66v-.53h2.22z"/></mask></g><g transform="matrix(1.37 0 0 1.36 65.2 49.3)" mask="url(#l)"><path transform="translate(-20)" d="M25 0c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5" fill="url(#m)"/><path d="M.36 5C.36 7.56 2.44 9.64 5 9.64c2.56 0 4.64-2.08 4.64-4.64C9.64 2.44 7.56.36 5 .36 2.44.36.36 2.44.36 5" fill="#eb3941"/><mask id="l"><path fill="#fff" d="M0 0h10v10H0z"/><path transform="translate(-20)" d="M23 3l4 4M27 3l-4 4" stroke="#000"/></mask></g><path d="M72 33.333A6.67 6.67 0 0065.333 40 6.67 6.67 0 0072 46.667 6.67 6.67 0 0078.667 40 6.67 6.67 0 0072 33.333zm0 2c1.107 0 2 .894 2 2 0 1.107-.893 2-2 2s-2-.893-2-2c0-1.106.893-2 2-2zm0 9.467a4.8 4.8 0 01-4-2.147c.02-1.326 2.667-2.053 4-2.053 1.327 0 3.98.727 4 2.053a4.8 4.8 0 01-4 2.147z"/><path d="M64 32h16v16H64z" fill="none"/><text style="line-height:0%;-inkscape-font-specification:Sans;text-align:start" x="-10.738" y="28.118" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill-opacity=".373"><tspan x="-10.738" y="28.118" style="line-height:1.25" font-size="10">5</tspan></text><text style="line-height:0%;-inkscape-font-specification:Sans;text-align:start" x="68.649" y="107.697" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill-opacity=".351"><tspan x="68.649" y="107.697" style="line-height:1.25" font-size="10">e</tspan></text><path d="M65.25 24.75h1.5v-1.5h-1.5zm0 3h1.5v-1.5h-1.5zm0-6h1.5v-1.5h-1.5zm3 3h10.5v-1.5h-10.5zm0 3h10.5v-1.5h-10.5zm0-7.5v1.5h10.5v-1.5z"/><path d="M63 15h18v18H63zM47 79h18v18H47z" fill="none"/><path d="M62 85h-2.107a4.489 4.489 0 00-1.366-1.47l1.223-1.222-1.058-1.058-1.627 1.627a4.439 4.439 0 00-2.122 0l-1.635-1.627-1.058 1.058 1.215 1.222A4.547 4.547 0 0052.108 85H50v1.5h1.568a4.978 4.978 0 00-.068.75V88H50v1.5h1.5v.75c0 .255.03.503.068.75H50v1.5h2.108A4.498 4.498 0 0056 94.75a4.498 4.498 0 003.893-2.25H62V91h-1.567c.037-.248.067-.495.067-.75v-.75H62V88h-1.5v-.75c0-.255-.03-.503-.067-.75H62zm-4.5 6h-3v-1.5h3zm0-3h-3v-1.5h3z"/><g fill="none"><path opacity=".2" d="M48 16h16v16H48z"/><path d="M48.5 30h15L56 17zm8.5-2h-2v-2h2zm0-3h-2v-3h2z" fill="#000"/></g><text style="line-height:0%" x="32.47" y="23.902" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0"><tspan x="32.47" y="23.902" style="line-height:1.25" font-weight="700" font-size="10">A</tspan></text><text style="line-height:0%" x="40.363" y="31.525" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0"><tspan x="40.363" y="31.525" style="line-height:1.25" font-weight="700" font-size="10">B</tspan></text><path d="M37.955 29.089c-1.915-.292-2.12-.9-2.237-4.13h-1.22c.047 3.856.062 5.297 5.736 5.258l.316-.014-2.595-2.996a39.95 39.95 0 000 1.882z"/><g fill="none" fill-rule="evenodd"><path d="M0 16h16v16H0z"/><g fill="#000" fill-rule="nonzero"><path d="M9.58 27.313l1.417 1.294c-.86.577-1.89.913-2.997.913-3.004 0-5.44-2.471-5.44-5.52 0-.917.22-1.782.61-2.543l1.417 1.294c-.138.39-.214.81-.214 1.249 0 2.032 1.624 3.68 3.627 3.68.567 0 1.103-.132 1.58-.367zm1.826-2.046c.143-.395.22-.822.22-1.267 0-2.032-1.623-3.68-3.626-3.68-.573 0-1.116.135-1.598.375l-1.414-1.292A5.36 5.36 0 018 18.48c3.004 0 5.44 2.471 5.44 5.52 0 .924-.224 1.795-.619 2.56z"/><path d="M8 25.84v5.52l3.022-2.76zM8 22.16v-5.52L4.978 19.4z"/></g></g><g fill="none" fill-rule="evenodd"><path fill="#000" d="M20 20h2v6h-2zM26 22h2v6h-2z"/><path fill="#000" fill-rule="nonzero" d="M24.667 20.667l-3.667-4-3.667 4h4.584zM23.333 27.333l3.667 4 3.667-4h-4.584z"/><path d="M16 16h16v16H16z"/></g><text style="line-height:0%;-inkscape-font-specification:Sans;text-align:start" x="-10.547" y="11.352" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill-opacity=".373"><tspan x="-10.547" y="11.352" style="line-height:1.25" font-size="10">6</tspan></text><text style="line-height:0%;-inkscape-font-specification:Sans;text-align:start" x="85.725" y="108.235" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill-opacity=".351"><tspan x="85.725" y="108.235" style="line-height:1.25" font-size="10">f</tspan></text><g><path d="M1 1h14v14H1z" fill="none"/><path d="M12.287 6.857A4.37 4.37 0 004.121 5.69 3.497 3.497 0 001 9.167c0 1.93 1.57 3.5 3.5 3.5h7.583A2.918 2.918 0 0015 9.75a2.903 2.903 0 00-2.713-2.893z"/></g><g><path d="M24.044 15a1.44 1.44 0 001.435-1.436h-2.871c0 .79.639 1.436 1.436 1.436zm4.307-4.308v-3.59c0-2.204-1.177-4.049-3.23-4.537v-.488C25.12 1.48 24.639 1 24.044 1c-.596 0-1.077.481-1.077 1.077v.488c-2.06.488-3.231 2.326-3.231 4.538v3.59L18.3 12.127v.718h11.487v-.718z"/></g><g><path d="M32 0h16v16H32z" fill="none"/><path d="M45.333 2.667H34.667c-.74 0-1.327.593-1.327 1.333l-.007 8c0 .74.594 1.333 1.334 1.333h10.666c.74 0 1.334-.593 1.334-1.333V4c0-.74-.594-1.333-1.334-1.333zm0 9.333H34.667V8h10.666zm0-6.667H34.667V4h10.666z"/></g><g><path d="M55.993 1.333A6.663 6.663 0 0049.333 8c0 3.68 2.98 6.667 6.66 6.667A6.67 6.67 0 0062.667 8a6.67 6.67 0 00-6.674-6.667zm.007 12A5.332 5.332 0 0150.667 8 5.332 5.332 0 0156 2.667 5.332 5.332 0 0161.333 8 5.332 5.332 0 0156 13.333z"/><path d="M48 0h16v16H48z" fill="none"/><path d="M56.333 4.667h-1v4l3.5 2.1.5-.82-3-1.78z"/></g></svg>
\ No newline at end of file
diff --git a/front_end/Images/navigationControls.png b/front_end/Images/navigationControls.png
deleted file mode 100644
index c314171..0000000
--- a/front_end/Images/navigationControls.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/navigationControls_2x.png b/front_end/Images/navigationControls_2x.png
deleted file mode 100644
index ae3f51f..0000000
--- a/front_end/Images/navigationControls_2x.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/nodeIcon.png b/front_end/Images/nodeIcon.png
deleted file mode 100644
index a7929a9..0000000
--- a/front_end/Images/nodeIcon.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/popoverArrows.png b/front_end/Images/popoverArrows.png
deleted file mode 100644
index b897b6e..0000000
--- a/front_end/Images/popoverArrows.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/profileGroupIcon.png b/front_end/Images/profileGroupIcon.png
deleted file mode 100644
index ff78cb4..0000000
--- a/front_end/Images/profileGroupIcon.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/profileIcon.png b/front_end/Images/profileIcon.png
deleted file mode 100644
index c0c4600..0000000
--- a/front_end/Images/profileIcon.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/profileSmallIcon.png b/front_end/Images/profileSmallIcon.png
deleted file mode 100644
index e5c4ad5..0000000
--- a/front_end/Images/profileSmallIcon.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/radioDot.png b/front_end/Images/radioDot.png
deleted file mode 100644
index 5d50890..0000000
--- a/front_end/Images/radioDot.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/readme.md b/front_end/Images/readme.md
deleted file mode 100644
index 5042778..0000000
--- a/front_end/Images/readme.md
+++ /dev/null
@@ -1,17 +0,0 @@
-## Adding new icons
-
-1. Use Inkscape 0.92 or newer.
-1. Choose an existing spritesheet, like `largeIcons.svg` to add the icon to.
-  - Make sure to edit the `src/` version of the svg!
-1. Open that file with Inkscape and import the new SVG into the document
-1. Place in an open spot, and use guides to scale the icon to a good size, relative to other icons
-1. Any straight lines should be snapped to the closest pixel value.
-   - Use the `Edit paths by nodes` tool (F2) to edit the path directly.
-   - Tweak the X, Y values at the top to be integers.
- 1. Optimize SVGs:
-   - `./scripts/optimize_svg_images.py`
-1. In `ui/Icon.js` add an entry in `UI.Icon.Descriptors`.
-   - Look at the spritesheet's axes to identify the correct grid position.
-1. You may want to regenerate devtools resources:
-   - `ninja -C ~/chromium/src/out/Release/ devtools_frontend_resources`
-
diff --git a/front_end/Images/resizeDiagonal.png b/front_end/Images/resizeDiagonal.png
deleted file mode 100644
index cd28ff3..0000000
--- a/front_end/Images/resizeDiagonal.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/resizeDiagonal_2x.png b/front_end/Images/resizeDiagonal_2x.png
deleted file mode 100644
index dade5f3..0000000
--- a/front_end/Images/resizeDiagonal_2x.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/resizeHorizontal.png b/front_end/Images/resizeHorizontal.png
deleted file mode 100644
index a3dda7b..0000000
--- a/front_end/Images/resizeHorizontal.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/resizeHorizontal_2x.png b/front_end/Images/resizeHorizontal_2x.png
deleted file mode 100644
index 3fdb98f..0000000
--- a/front_end/Images/resizeHorizontal_2x.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/resizeVertical.png b/front_end/Images/resizeVertical.png
deleted file mode 100644
index d4de02c..0000000
--- a/front_end/Images/resizeVertical.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/resizeVertical_2x.png b/front_end/Images/resizeVertical_2x.png
deleted file mode 100644
index f8db81b..0000000
--- a/front_end/Images/resizeVertical_2x.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/resourceCSSIcon.png b/front_end/Images/resourceCSSIcon.png
deleted file mode 100644
index 18828d0..0000000
--- a/front_end/Images/resourceCSSIcon.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/resourceDocumentIcon.png b/front_end/Images/resourceDocumentIcon.png
deleted file mode 100644
index fdc10e4..0000000
--- a/front_end/Images/resourceDocumentIcon.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/resourceDocumentIconSmall.png b/front_end/Images/resourceDocumentIconSmall.png
deleted file mode 100644
index 64d9735..0000000
--- a/front_end/Images/resourceDocumentIconSmall.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/resourceJSIcon.png b/front_end/Images/resourceJSIcon.png
deleted file mode 100644
index c1b7218..0000000
--- a/front_end/Images/resourceJSIcon.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/resourcePlainIcon.png b/front_end/Images/resourcePlainIcon.png
deleted file mode 100644
index 8c82a4c..0000000
--- a/front_end/Images/resourcePlainIcon.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/resourcePlainIconSmall.png b/front_end/Images/resourcePlainIconSmall.png
deleted file mode 100644
index 0349c0d..0000000
--- a/front_end/Images/resourcePlainIconSmall.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/resourcesTimeGraphIcon.png b/front_end/Images/resourcesTimeGraphIcon.png
deleted file mode 100644
index 87de550..0000000
--- a/front_end/Images/resourcesTimeGraphIcon.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/searchNext.png b/front_end/Images/searchNext.png
deleted file mode 100644
index 69e519e..0000000
--- a/front_end/Images/searchNext.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/searchPrev.png b/front_end/Images/searchPrev.png
deleted file mode 100644
index 733d40b..0000000
--- a/front_end/Images/searchPrev.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/securityIcons.svg b/front_end/Images/securityIcons.svg
deleted file mode 100644
index 7676d39..0000000
--- a/front_end/Images/securityIcons.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="80" height="32"><g fill="none"><path d="M50 19.732A1.73 1.73 0 0 1 51.726 18h9.548c.953 0 1.726.769 1.726 1.732v8.536A1.73 1.73 0 0 1 61.274 30h-9.548A1.725 1.725 0 0 1 50 28.268v-8.536zM56 22h1v-1h-1v1zm0 5h1v-4h-1v4z" fill="#000"/><path d="M64 32V16h16v16z"/><path d="M67.719 18c-.952 0-1.719.762-1.719 1.719v8.562c0 .963.765 1.719 1.719 1.719h9.562c.952 0 1.719-.762 1.719-1.719V19.72c0-.963-.765-1.719-1.719-1.719H67.72zm4.781 2a2 2 0 0 1 2 2c0 .44-.184.84-.469 1.125l-.437.469c-.36.365-.594.656-.594 1.406h-1v-.25a2 2 0 0 1 .594-1.406l.625-.625A.998.998 0 0 0 73.5 22c0-.55-.45-1-1-1s-1 .45-1 1h-1a2 2 0 0 1 2-2zm-.5 6h1v1h-1v-1z" fill="#000"/><g transform="translate(0 16)"><path opacity=".2" d="M0 0h16v16H0z"/><rect rx="1" height="8" width="8" y="4" x="4" fill="#000"/></g><g transform="translate(16 16)"><path opacity=".2" d="M0 0h16v16H0z"/><rect rx="4" height="8" width="8" y="4" x="4" fill="#000"/></g><path opacity=".2" d="M32 16h16v16H32z"/><path fill="#000" d="M35 28l5-9 5 9z"/><path opacity=".2" d="M32 0h16v16H32z"/><path d="M32.5 14h15L40 1l-7.5 13zm8.5-2h-2v-2h2v2zm0-3h-2V6h2v3z" fill="#000"/><path d="M32 0v16H16V0z"/><path d="M24 1c-3.864 0-7 3.136-7 7s3.136 7 7 7 7-3.136 7-7-3.136-7-7-7zm-5.5 7c0-3.032 2.468-5.5 5.5-5.5s5.5 2.468 5.5 5.5-2.468 5.5-5.5 5.5A5.507 5.507 0 0 1 18.5 8zm6.5 4V7h-2v5h2zm-2-6h2V4h-2v2z" fill="#000"/><path d="M16 0v16H0V0z"/><path d="M10.5 6.5v-1A2.5 2.5 0 0 0 8 3c-1.38.01-2.5 1.12-2.5 2.5v1H5c-.55 0-1 .45-1 .996V12.5c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-5c0-.528-.45-1-1-1h-.5zm-4 .01V5.5C6.5 4.67 7.17 4 8 4s1.5.67 1.5 1.5v1.01h-3z" fill="#000"/><path d="M160-32V0h-32v-32z"/><path opacity=".2" d="M0-32h32V0H0z"/><g><path opacity=".2" d="M32-32h32V0H32z"/></g><g><path opacity=".2" d="M64-32h32V0H64z"/></g><g><path opacity=".2" d="M64-64h32v32H64z"/></g><g><path d="M64-64v32H32v-32z"/></g><g><path d="M32-64v32H0v-32z"/></g></g></svg>
\ No newline at end of file
diff --git a/front_end/Images/smallIcons.svg b/front_end/Images/smallIcons.svg
deleted file mode 100644
index 45cb0a9..0000000
--- a/front_end/Images/smallIcons.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="130" height="110"><defs><linearGradient id="y" x1="113" x2="127" y1="104" y2="104" gradientTransform="translate(-.714 -69.286) scale(.71429)" gradientUnits="userSpaceOnUse" xlink:href="#a"/><linearGradient id="a"><stop stop-color="#606eda" offset="0"/><stop stop-color="#021db2" offset="1"/></linearGradient><linearGradient id="A" x2="24" gradientTransform="matrix(0 -.41667 -.41667 0 25 10)" gradientUnits="userSpaceOnUse" xlink:href="#b"/><linearGradient id="b"><stop stop-color="#d7687d" offset="0"/><stop stop-color="#b21402" offset="1"/></linearGradient></defs><path d="M0 20.995c0-.55.456-.995.995-.995h8.01c.55 0 .995.455.995.995v8.01c0 .549-.456.995-.995.995H.995C.445 30 0 29.544 0 29.004zm5.123 4.744C7.691 25.312 8.75 24.546 8.75 22h-1.5c0 1.62-.44 1.939-2.373 2.26-2.568.429-3.627 1.194-3.627 3.74h1.5c0-1.62.44-1.937 2.373-2.26zM23.65 27.21l-1.44-2.03L21 26.39 23.55 30 30 22.33 28.88 21z"/><path d="M6.5 46c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1" fill="#bababa"/><path d="M5.75 42.75L2.25 46l3.5 3.25" fill="none" stroke="#bababa" stroke-width="1.5"/><path d="M27.5 42.43l-.93-.93L24 44.07l-2.57-2.57-.93.93L23.07 45l-2.57 2.57.93.93L24 45.93l2.57 2.57.93-.93L24.93 45l2.57-2.57z" fill-opacity=".24"/><path d="M27.5 41.93l-.93-.93L24 43.57 21.43 41l-.93.93 2.57 2.57-2.57 2.57.93.93L24 45.43 26.57 48l.93-.93-2.57-2.57 2.57-2.57z" fill="#676767"/><path d="M43.25 20c-.7 0-1.25.5-1.25 1.25v7.5c0 .7.5 1.25 1.25 1.25h3.5c.7 0 1.25-.5 1.25-1.25v-7.5c0-.7-.5-1.25-1.25-1.25zM43 21h4v7h-4zm2 7.25c.4 0 .75.3.75.75 0 .4-.3.75-.75.75-.4 0-.75-.3-.75-.75 0-.4.3-.75.75-.75z"/><g transform="translate(40 40)"><path transform="translate(-20)" d="M25 0c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5" fill="url(#c)"/><path d="M.36 5C.36 7.56 2.44 9.64 5 9.64c2.56 0 4.64-2.08 4.64-4.64C9.64 2.44 7.56.36 5 .36 2.44.36.36 2.44.36 5" fill="#eb3941"/><path d="M3 3l4 4M7 3L3 7" stroke="#fff"/><defs><linearGradient id="d"><stop stop-color="#d7687d" offset="0"/><stop stop-color="#b21402" offset="1"/></linearGradient><linearGradient id="c" x2="24" gradientTransform="matrix(0 -.41667 -.41667 0 25 10)" gradientUnits="userSpaceOnUse" xlink:href="#d"/></defs></g><path d="M4.5 61.3l4 3.7-4 3.7v-1.2H1.425l.075-5h3z" fill="#adf2ad" stroke="#007200"/><g transform="translate(20 60)"><path transform="translate(-140)" d="M144.95 10A5.002 5.002 0 01140 4.95 5.002 5.002 0 01145.05 0c2.76.03 4.98 2.29 4.95 5.05a5.002 5.002 0 01-5.05 4.95z" fill="url(#e)"/><path d="M9.5 5.05A4.494 4.494 0 014.95 9.5 4.494 4.494 0 01.5 4.95 4.494 4.494 0 015.05.5C7.54.53 9.53 2.56 9.5 5.05z" fill="#00be00"/><path transform="translate(-140)" d="M145.08.53c1.97.02 3.55 1.06 3.54 2.32-.01 1.26-1.62 2.26-3.59 2.24-1.97-.02-3.55-1.06-3.54-2.32.01-1.26 1.62-2.26 3.59-2.24z" fill="url(#f)"/><path transform="translate(-140)" d="M144.98 9.41c1.66.02 3.01-.68 3.02-1.56.01-.88-1.33-1.61-2.98-1.63-1.66-.02-3.01.68-3.02 1.56-.01.88 1.33 1.61 2.98 1.63z" fill="url(#g)"/><defs><linearGradient id="h"><stop stop-color="#00d600" stop-opacity="0" offset="0"/><stop stop-color="#d8fc7b" stop-opacity=".81" offset="1"/></linearGradient><linearGradient id="i"><stop stop-color="#00ba00" offset="0"/><stop stop-color="#fff" stop-opacity=".91" offset="1"/></linearGradient><linearGradient id="j"><stop stop-color="#00a104" offset="0"/><stop stop-color="#00c605" offset="1"/></linearGradient><linearGradient id="g" x1="227.88" x2="235.12" y1="103.16" y2="103.16" gradientTransform="matrix(-.0048 .4396 .78038 .00853 65.608 -94.834)" gradientUnits="userSpaceOnUse" xlink:href="#h"/><linearGradient id="f" x1="227.88" x2="235.12" y1="103.16" y2="103.16" gradientTransform="matrix(.00687 -.62923 .9267 .01012 47.871 147.44)" gradientUnits="userSpaceOnUse" xlink:href="#i"/><linearGradient id="e" x1="227.88" x2="235.12" y1="103.16" y2="103.16" gradientTransform="matrix(-.01507 1.3791 -1.3006 -.0142 282.66 -312.8)" gradientUnits="userSpaceOnUse" xlink:href="#j"/></defs></g><g transform="translate(40 60)"><path transform="translate(-80)" d="M85 0c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5" fill="url(#k)"/><path d="M.36 5C.36 7.56 2.44 9.64 5 9.64c2.56 0 4.64-2.08 4.64-4.64C9.64 2.44 7.56.36 5 .36 2.44.36.36 2.44.36 5" fill="#2a53cd"/><path d="M3.93 2.14c-.03-.53.55-.97 1.06-.83.5.12.79.73.56 1.18-.2.44-.79.61-1.2.36a.812.812 0 01-.42-.71zm1.7 5.46h.67v.53H3.41V7.6h.66V3.99h-.66v-.53h2.22V7.6z" fill="#fff"/><defs><linearGradient id="l"><stop stop-color="#606eda" offset="0"/><stop stop-color="#021db2" offset="1"/></linearGradient><linearGradient id="k" x1="113" x2="127" y1="104" y2="104" gradientTransform="translate(-.714 -69.286) scale(.71429)" gradientUnits="userSpaceOnUse" xlink:href="#l"/></defs></g><path d="M60.45 20.467v9.079h5.373l3.582-4.54-3.582-4.539z" fill="#698cfe" stroke="#4073f4" stroke-width=".908"/><path d="M60.45 40.467v9.08h5.372l3.581-4.54-3.581-4.54z" fill="#ef9d0d" stroke="#a36c01" stroke-width=".908"/><g transform="translate(60 60)"><path d="M5 10c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z" fill="#e5a600"/><path d="M9.5 5c0 2.49-2.01 4.5-4.5 4.5S.5 7.49.5 5 2.51.5 5 .5 9.5 2.51 9.5 5z" fill="#ffbd00"/><path transform="translate(-160)" d="M165.03.53c1.97 0 3.56 1.02 3.56 2.28 0 1.26-1.59 2.28-3.56 2.28s-3.56-1.02-3.56-2.28c0-1.26 1.59-2.28 3.56-2.28z" fill="url(#m)"/><path transform="translate(-160)" d="M164.99 9.42c1.66 0 3-.71 3-1.59 0-.88-1.34-1.59-3-1.59s-3 .71-3 1.59c0 .88 1.34 1.59 3 1.59z" fill="url(#n)"/><defs><linearGradient id="o"><stop stop-color="#ffa801" stop-opacity="0" offset="0"/><stop stop-color="#f0fb3d" offset="1"/></linearGradient><linearGradient id="p"><stop stop-color="#ffbd00" stop-opacity=".65" offset="0"/><stop stop-color="#fff" stop-opacity=".91" offset="1"/></linearGradient><linearGradient id="n" x1="227.88" x2="235.12" y1="103.16" y2="103.16" gradientTransform="matrix(0 .43966 .78049 0 84.444 -93.924)" gradientUnits="userSpaceOnUse" xlink:href="#o"/><linearGradient id="m" x1="227.88" x2="235.12" y1="103.16" y2="103.16" gradientTransform="matrix(0 -.62931 .92683 0 69.47 148.53)" gradientUnits="userSpaceOnUse" xlink:href="#p"/></defs></g><g transform="translate(0 80)"><path transform="translate(-120)" d="M125 10c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z" fill="url(#q)"/><path d="M9.5 5c0 2.49-2.01 4.5-4.5 4.5S.5 7.49.5 5 2.51.5 5 .5 9.5 2.51 9.5 5z" fill="#d00"/><path transform="translate(-120)" d="M125.03.53c1.97 0 3.56 1.02 3.56 2.28 0 1.26-1.59 2.28-3.56 2.28s-3.56-1.02-3.56-2.28c0-1.26 1.59-2.28 3.56-2.28z" fill="url(#r)"/><path transform="translate(-120)" d="M125.03 9.47c1.66 0 3-.71 3-1.59 0-.88-1.34-1.59-3-1.59s-3 .71-3 1.59c0 .88 1.34 1.59 3 1.59z" fill="url(#s)"/><defs><linearGradient id="t"><stop stop-color="red" stop-opacity="0" offset="0"/><stop stop-color="#f0cb68" stop-opacity=".71" offset="1"/></linearGradient><linearGradient id="u"><stop stop-color="#e60000" stop-opacity=".65" offset="0"/><stop stop-color="#fff" stop-opacity=".91" offset="1"/></linearGradient><linearGradient id="v"><stop stop-color="#a10000" offset="0"/><stop stop-color="#c60000" offset="1"/></linearGradient><linearGradient id="s" x1="227.88" x2="235.12" y1="103.16" y2="103.16" gradientTransform="matrix(0 .43966 .78049 0 44.488 -93.88)" gradientUnits="userSpaceOnUse" xlink:href="#t"/><linearGradient id="r" x1="227.88" x2="235.12" y1="103.16" y2="103.16" gradientTransform="matrix(0 -.62931 .92683 0 29.47 148.53)" gradientUnits="userSpaceOnUse" xlink:href="#u"/><linearGradient id="q" x1="227.88" x2="235.12" y1="103.16" y2="103.16" gradientTransform="matrix(0 1.3793 -1.3008 0 259.08 -314.35)" gradientUnits="userSpaceOnUse" xlink:href="#v"/></defs></g><path d="M20 80h10v10H20z" fill="none"/><path d="M27.5 82.5V80H20v7.5h2.5V90H30v-7.5zM21 81h5.5v5.5H21zm2.5 6.5h4v-4H29V89h-5.5z"/><path d="M23.5 87.5h4v-4H29V89h-5.5z" fill-opacity=".25"/><g fill="#acf2ae" stroke="#007200" stroke-width="2.577"><path transform="matrix(.29356 0 0 .2909 2.65 86.864)" d="M144.95 10A5.002 5.002 0 01140 4.95 5.002 5.002 0 01145.05 0c2.76.03 4.98 2.29 4.95 5.05a5.002 5.002 0 01-5.05 4.95z"/><path transform="matrix(.29356 0 0 .2909 2.65 86.864)" d="M149.5 5.05a4.494 4.494 0 01-4.55 4.45 4.494 4.494 0 01-4.45-4.55A4.494 4.494 0 01145.05.5c2.49.03 4.48 2.06 4.45 4.55z"/></g><path d="M48.313 82.5L45.21 86l-3.102-3.5h1.24v-1.92h3.723v1.92z" fill="#adf2ad" stroke="#007200"/><path d="M66.537 88.514a1.314 1.314 0 01-1.335 1.295 1.313 1.313 0 01-1.306-1.324 1.314 1.314 0 011.335-1.294c.731.009 1.315.6 1.307 1.323z" fill="#acf2ae" stroke="#007200" stroke-width=".753"/><path d="M62.108 83.5l3.102-2.982 3.102 2.982h-1.24v2h-3.723v-2z" fill="#adf2ad" stroke="#007200"/><path d="M83.25 21.75l3.5 3.25-3.5 3.25" fill="none" stroke="#367cf1" stroke-width="1.5"/><path d="M86 40l-5 5 5 5v-2h3v-6h-3zM84 60l5 5-5 5.022v-2.045L81 68v-6h3z" fill="#4688f1"/><path d="M84.5 88l3.5-6h-7M7 104.5L2 101v7M24 100l4 7h-8"/><path d="M43.25 102.75l3.5 3.25-3.5 3.25" fill="none" stroke="#939393" stroke-width="1.5"/><path d="M61 109l4-8 4 8z" stroke="#c19600" stroke-width="2" stroke-linejoin="round"/><path d="M61 109l4-8 4 8z" fill="#f4bd00" stroke="#f5bd00" stroke-width="1.5" stroke-linejoin="round"/><path d="M63.75 102.75h2.5v2.5l-.5 1.75h-1.5l-.5-1.75v-2.5m0 5.25h2.5v1.25h-2.5" fill="#ad8601"/><path d="M64 103h2v2.25l-.5 1.75h-1l-.5-1.75V103m0 5h2v1h-2" fill="#fff"/><text style="line-height:0%" x="3.051" y="118.387" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="3.051" y="118.387" style="line-height:1.25" font-size="8">a</tspan></text><text style="line-height:0%" x="23.051" y="118.387" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="23.051" y="118.387" style="line-height:1.25" font-size="8">b</tspan></text><text style="line-height:0%" x="43.051" y="118.387" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="43.051" y="118.387" style="line-height:1.25" font-size="8">c</tspan></text><text style="line-height:0%" x="63.051" y="118.387" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="63.051" y="118.387" style="line-height:1.25" font-size="8">d</tspan></text><text style="line-height:0%" x="83.051" y="118.387" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="83.051" y="118.387" style="line-height:1.25" font-size="8">e</tspan></text><text style="line-height:0%" x="-7.026" y="107.818" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="-7.026" y="107.818" style="line-height:1.25" font-size="8">1</tspan></text><text style="line-height:0%" x="-6.819" y="87.88" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="-6.819" y="87.88" style="line-height:1.25" font-size="8">2</tspan></text><text style="line-height:0%" x="-6.756" y="67.992" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="-6.756" y="67.992" style="line-height:1.25" font-size="8">3</tspan></text><text style="line-height:0%" x="-6.917" y="47.994" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="-6.917" y="47.994" style="line-height:1.25" font-size="8">4</tspan></text><text style="line-height:0%" x="-7.108" y="28.056" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="-7.108" y="28.056" style="line-height:1.25" font-size="8">5</tspan></text><circle cx="3" cy="3" r="2.5" transform="matrix(1.13208 0 0 1.13208 81.604 102.604)" fill="#00bcd4" stroke="#000" stroke-width=".3"/><path d="M5 0a5 5 0 100 10A5 5 0 005 0zm.048.721c1.083 0 2.179.4 3.005 1.226a4.234 4.234 0 010 5.986L5.048 4.952l-2.98-3.005A4.18 4.18 0 015.047.721z"/><text style="line-height:0%" x="-6.68" y="8" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="-6.68" y="8" style="line-height:1.25" font-size="8">6</tspan></text><path d="M17.601-2.913h16.232v16.232H17.601z" fill="none"/><path d="M21.11 5.556L20 6.667 23.334 10 30 3.334l-1.11-1.111-5.556 5.555z" fill-rule="evenodd"/><path d="M44.954 8.42a3.467 3.467 0 01-3.462-3.46c0-.678.2-1.309.531-1.84l4.77 4.77c-.531.338-1.162.53-1.84.53m3.462-3.46c0 .676-.2 1.307-.53 1.838l-4.77-4.77a3.405 3.405 0 011.839-.53 3.467 3.467 0 013.461 3.461M45 .005a5 5 0 100 10 5 5 0 000-10"/><path d="M68.875 2.219L63.344 7.78l-.407-.406L61.844 8.5l1.5 1.5L70 3.344l-1.125-1.125z" fill-rule="evenodd"/><text style="line-height:0%" x="103.739" y="118.482" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="103.739" y="118.482" style="line-height:1.25" font-size="8">f</tspan></text><g transform="translate(100 100)" mask="url(#w)"><path d="M1 9l4-8 4 8z" stroke="#c19600" stroke-width="2" stroke-linejoin="round"/><path d="M1 9l4-8 4 8z" fill="#f4bd00" stroke="#f5bd00" stroke-width="1.5" stroke-linejoin="round"/><path d="M3.75 2.75h2.5v2.5L5.75 7h-1.5l-.5-1.75v-2.5m0 5.25h2.5v1.25h-2.5" fill="#ad8601"/><mask id="w"><path fill="#fff" d="M0 0h10v10H0z"/><path transform="translate(-60)" d="M64 3h2v2.25L65.5 7h-1L64 5.25V3m0 5h2v1h-2"/></mask></g><g transform="translate(100 80)" mask="url(#x)"><path transform="translate(-80)" d="M85 0c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5" fill="url(#y)"/><path d="M.36 5C.36 7.56 2.44 9.64 5 9.64c2.56 0 4.64-2.08 4.64-4.64C9.64 2.44 7.56.36 5 .36 2.44.36.36 2.44.36 5" fill="#2a53cd"/><mask id="x"><path fill="#fff" d="M0 0h10v10H0z"/><path transform="translate(-80)" d="M83.93 2.14c-.03-.53.55-.97 1.06-.83.5.12.79.73.56 1.18-.2.44-.79.61-1.2.36a.812.812 0 01-.42-.71zm1.7 5.46h.67v.53h-2.89V7.6h.66V3.99h-.66v-.53h2.22V7.6z"/></mask></g><g transform="translate(100 60)" mask="url(#z)"><path transform="translate(-20)" d="M25 0c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5" fill="url(#A)"/><path d="M.36 5C.36 7.56 2.44 9.64 5 9.64c2.56 0 4.64-2.08 4.64-4.64C9.64 2.44 7.56.36 5 .36 2.44.36.36 2.44.36 5" fill="#eb3941"/><mask id="z"><path fill="#fff" d="M0 0h10v10H0z"/><path transform="translate(-20)" d="M23 3l4 4M27 3l-4 4" stroke="#000"/></mask></g><g><path d="M105.1 40.267a4.835 4.835 0 00-4.833 4.833 4.835 4.835 0 004.833 4.833 4.835 4.835 0 004.833-4.833 4.835 4.835 0 00-4.833-4.833zm0 1.45c.802 0 1.45.647 1.45 1.45 0 .802-.648 1.45-1.45 1.45-.802 0-1.45-.648-1.45-1.45 0-.803.648-1.45 1.45-1.45zm0 6.863a3.48 3.48 0 01-2.9-1.556c.014-.962 1.933-1.489 2.9-1.489.962 0 2.885.527 2.9 1.489a3.48 3.48 0 01-2.9 1.556z"/><path d="M99.3 39.3h11.6v11.6H99.3z" fill="none"/></g><path d="M105 22.528l-4 4.43.94 1.042 3.06-3.382L108.06 28l.94-1.041z"/><path d="M76.448 14.99h17.528v19.416H76.448z" fill="none"/><path d="M88.06 3.06L85 6.113 81.94 3.06 81 4l4 4 4-4zM102 2h2v6h-2z"/><a><path d="M106 2h2v6h-2z"/></a><text style="line-height:0%" x="122.66" y="117.219" font-weight="400" font-family="sans-serif" letter-spacing="0" word-spacing="0" fill="#ccc"><tspan x="122.66" y="117.219" style="line-height:1.25" font-size="8">g</tspan></text><path d="M128 5l-6 3V2zM128 26.5l-1.5 1.5-1.5-1.5-1.5 1.5-1.5-1.5 1.5-1.5-1.5-1.5 1.5-1.5 1.5 1.5 1.5-1.5 1.5 1.5-1.5 1.5z"/></svg>
\ No newline at end of file
diff --git a/front_end/Images/speech.png b/front_end/Images/speech.png
deleted file mode 100644
index 5de84ab..0000000
--- a/front_end/Images/speech.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/src/accelerometer-back.svg b/front_end/Images/src/accelerometer-back.svg
deleted file mode 100644
index 603a094..0000000
--- a/front_end/Images/src/accelerometer-back.svg
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   viewBox="0 0 770.00001 1580"
-   version="1.1"
-   width="770"
-   height="1580"
-   id="svg11071">
-  <defs
-     id="defs3775" />
-  <metadata
-     id="metadata11076">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     transform="matrix(-1,0,0,1,770.5,0)"
-     id="layer3">
-    <path
-       style="fill:none;stroke:#ff8800;stroke-width:9"
-       d="M 766,366 V 466"
-       id="path11635" />
-    <path
-       style="fill:none;stroke:#888888;stroke-width:9"
-       d="M 766,768 V 568"
-       id="path11637" />
-    <g
-       style="fill-rule:evenodd"
-       id="g3764">
-      <rect
-         style="fill:#222222"
-         x="0"
-         y="0"
-         width="767"
-         height="1580"
-         ry="80"
-         rx="80"
-         id="rect11633" />
-    </g>
-    <g
-       style="fill:#ffffff;fill-rule:evenodd"
-       id="g3769">
-      <rect
-         style="fill-opacity:0.13332998"
-         x="273.5"
-         y="1526"
-         width="220"
-         height="15"
-         ry="5"
-         rx="5"
-         id="rect11707" />
-      <path
-         style="fill-opacity:0.86667002"
-         d="M 70.36319,6.9493575 C 28.332124,5.755102 4.8083241,47.982906 4.8378685,83.222978 L 6.032124,1507.7128 c 0.025949,30.952 32.037776,68.2787 64.633409,68.2161 l 622.086167,-1.1942 c 30.87325,-0.059 68.21618,-37.2632 68.21618,-64.6334 V 76.057445 c 0,-31.282766 -24.68851,-66.7195765 -63.13681,-70.302343 C 456.89848,4.61017 269.72229,6.9493575 70.36319,6.9493575 Z"
-         id="path11722" />
-    </g>
-  </g>
-</svg>
diff --git a/front_end/Images/src/accelerometer-front.svg b/front_end/Images/src/accelerometer-front.svg
deleted file mode 100644
index 6e90a4b..0000000
--- a/front_end/Images/src/accelerometer-front.svg
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>

-<!-- Created with Inkscape (http://www.inkscape.org/) -->

-<svg id="svg11071" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="1580" width="770" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 770.00001 1580">

- <metadata id="metadata11076">

-  <rdf:RDF>

-   <cc:Work rdf:about="">

-    <dc:format>image/svg+xml</dc:format>

-    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>

-    <dc:title/>

-   </cc:Work>

-  </rdf:RDF>

- </metadata>

- <g id="layer3">

-  <path id="path11635" d="m766 366v100" stroke="#f80" stroke-width="9" fill="none"/>

-  <path id="path11637" d="m766 768v-200" stroke="#888" stroke-width="9" fill="none"/>

-  <g fill-rule="evenodd">

-   <rect id="rect11633" rx="80" ry="80" height="1580" width="767" y="0" x="0" fill="#222"/>

-   <rect id="rect11061" fill-opacity=".13333" rx="5" ry="5" height="18" width="80" y="80" x="343.5" fill="#fff"/>

-   <circle id="path11063" cx="459" fill-opacity=".26667" cy="76.25" r="15" fill="#00f"/>

-   <circle id="path11069" cx="297.25" fill-opacity=".26667" cy="74" r="17.5" fill="#00f"/>

-  </g>

-  <g fill-rule="evenodd" fill="#fff">

-   <rect id="rect11705" fill-opacity=".13333" rx="10" ry="10" height="25" width="50" y="34" x="358.5"/>

-   <rect id="rect11707" fill-opacity=".13333" rx="5" ry="5" height="15" width="220" y="1526" x="273.5"/>

-   <path id="path11722" d="m83.5 38c-27.7 0-50 22.3-50 50v1360c0 16.62 13.38 30 30 30h640c16.62 0 30-13.38 30-30v-1360c0-27.7-22.3-50-50-50h-90-50c-19.39 0-35 15.61-35 35v4c0 24.93-20.07 45-45 45h-160c-24.93 0-45-20.07-45-45v-4c0-19.39-15.61-35-35-35h-70z" fill-opacity=".86667"/>

-  </g>

- </g>

-</svg>

diff --git a/front_end/Images/src/audits_logo.svg b/front_end/Images/src/audits_logo.svg
deleted file mode 100644
index bd2e7d0..0000000
--- a/front_end/Images/src/audits_logo.svg
+++ /dev/null
@@ -1,354 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="Layer_1"
-   data-name="Layer 1"
-   viewBox="0 0 750 750"
-   version="1.1"
-   inkscape:version="0.91 r13725"
-   sodipodi:docname="PWA_Illustration_Lighthouse_05_Lighthouse.svg"
-   inkscape:export-filename="/Users/ericbidelman/Desktop/lh_logo_icon.png"
-   inkscape:export-xdpi="180"
-   inkscape:export-ydpi="180"
-   width="750"
-   height="750">
-  <metadata
-     id="metadata85">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title>PWA_Illustration_Lighthouse</dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1143"
-     inkscape:window-height="714"
-     id="namedview83"
-     showgrid="false"
-     borderlayer="false"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="50"
-     fit-margin-bottom="0"
-     inkscape:zoom="0.49370068"
-     inkscape:cx="330.80744"
-     inkscape:cy="423.36785"
-     inkscape:window-x="44"
-     inkscape:window-y="42"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="layer6" />
-  <defs
-     id="defs3">
-    <style
-       id="style5">.cls-1,.cls-10{fill:#304ffe;}.cls-2{fill:#ffe082;}.cls-10,.cls-2{opacity:0.5;}.cls-3{fill:#2979ff;}.cls-4{fill:#ffd54f;}.cls-5{fill:#fff176;}.cls-6{fill:#f4511e;}.cls-7{fill:#e64a19;}.cls-8{fill:#c5cae9;}.cls-9{fill:#ff7043;}.cls-11{fill:#fdd835;}.cls-12{fill:#fff9c4;}.cls-13{fill:#448aff;}.cls-14{fill:#00c853;}.cls-15{fill:#64dd17;}</style>
-  </defs>
-  <title
-     id="title7">PWA_Illustration_Lighthouse</title>
-  <path
-     class="cls-1"
-     d="m 92.427653,571.02434 c 52.319997,0 52.319997,-33.94 104.639997,-33.94 52.32,0 52.31,33.94 104.63,33.94 52.32,0 52.32,-33.94 104.63,-33.94 52.31,0 52.32,33.94 104.64,33.94 52.32,0 52.32,-33.94 104.64,-33.94 49.48,0 52.17,30.34 96.56,33.64 a 326.73,326.73 0 0 0 8.09,-72.39 c 0,-179.87 -145.82,-325.69 -325.69,-325.69 -179.87,0 -325.699998,145.82 -325.699998,325.69 a 326.75,326.75 0 0 0 7.9,71.51 98.88,98.88 0 0 0 15.660001,1.18 z"
-     id="path9"
-     inkscape:connector-curvature="0"
-     style="fill:#304ffe" />
-  <path
-     class="cls-3"
-     d="M 345.99765,377.16434"
-     id="path13"
-     inkscape:connector-curvature="0"
-     style="fill:#2979ff" />
-  <rect
-     class="cls-4"
-     x="362.97766"
-     y="213.56435"
-     width="84.839996"
-     height="78.489998"
-     id="rect15"
-     style="fill:#ffd54f" />
-  <rect
-     class="cls-5"
-     x="362.97766"
-     y="213.56435"
-     width="29.950001"
-     height="78.489998"
-     id="rect17"
-     style="fill:#fff176" />
-  <ellipse
-     class="cls-5"
-     cx="392.29767"
-     cy="233.21434"
-     rx="19.84"
-     ry="24.889999"
-     id="ellipse19"
-     style="fill:#fff176" />
-  <path
-     class="cls-6"
-     d="m 360.89765,204.70434 a 43.835,43.835 0 1 1 87.67,0"
-     id="path21"
-     inkscape:connector-curvature="0"
-     style="fill:#f4511e" />
-  <path
-     class="cls-7"
-     d="m 405.10765,160.87434 a 43.51,43.51 0 0 1 43.46,43.83 l -43.46,0 0,-43.83 z"
-     id="path23"
-     inkscape:connector-curvature="0"
-     style="fill:#e64a19" />
-  <rect
-     class="cls-6"
-     x="352.41766"
-     y="203.29433"
-     width="104.64"
-     height="11.31"
-     rx="5.6599998"
-     ry="5.6599998"
-     id="rect25"
-     style="fill:#f4511e" />
-  <polygon
-     class="cls-8"
-     points="393,416 405.23,173.5 490.07,173.5 501,404 501,404 "
-     id="polygon27"
-     style="fill:#c5cae9"
-     transform="translate(-42.202351,118.02434)" />
-  <line
-     class="cls-9"
-     x1="449.03766"
-     y1="310.25433"
-     x2="452.29767"
-     y2="374.42432"
-     id="line29"
-     style="fill:#ff7043" />
-  <polygon
-     class="cls-9"
-     points="402.05,233.8 398.63,301.09 494.5,256.4 491.24,192.23 491.24,192.23 "
-     id="polygon31"
-     style="fill:#ff7043"
-     transform="translate(-42.202351,118.02434)" />
-  <line
-     class="cls-9"
-     x1="455.51767"
-     y1="437.66437"
-     x2="458.78766"
-     y2="501.8443"
-     id="line33"
-     style="fill:#ff7043" />
-  <polygon
-     class="cls-9"
-     points="395.25,367.4 391.83,434.7 500.99,383.82 497.72,319.64 497.72,319.64 "
-     id="polygon35"
-     style="fill:#ff7043"
-     transform="translate(-42.202351,118.02434)" />
-  <rect
-     class="cls-7"
-     x="349.98767"
-     y="255.90434"
-     width="109.49"
-     height="35.82"
-     id="rect39"
-     style="fill:#e64a19" />
-  <rect
-     class="cls-6"
-     x="349.98767"
-     y="255.90434"
-     width="71.779999"
-     height="35.82"
-     id="rect41"
-     style="fill:#f4511e" />
-  <path
-     class="cls-2"
-     d="m 403.97765,255.90434 c 0,13 -12.1,23.5 -27,23.5 -14.9,0 -27,-10.52 -27,-23.5"
-     id="path43"
-     inkscape:connector-curvature="0"
-     style="opacity:0.5;fill:#ffe082" />
-  <g
-     inkscape:groupmode="layer"
-     id="layer1"
-     inkscape:label="clouds"
-     style="display:inline"
-     transform="translate(-111.06999,296.26999)">
-    <path
-       style="fill:#2979ff"
-       class="cls-3"
-       d="m 653.72764,-50.455653 a 19.59,19.59 0 0 1 8.32,1.84 34.49,34.49 0 0 1 66.7,-9 l 0.12,0 a 23.25,23.25 0 0 1 0,46.5 l -75.14,0 a 19.67,19.67 0 1 1 0,-39.34 z"
-       id="path71"
-       inkscape:connector-curvature="0" />
-    <path
-       style="fill:#448aff"
-       class="cls-13"
-       d="m 430.72764,137.02435 a 16.6,16.6 0 0 1 7,1.56 29.23,29.23 0 0 1 56.53,-7.63 l 0.1,0 a 19.71,19.71 0 1 1 0,39.41 l -63.63,0 a 16.67,16.67 0 1 1 0,-33.34 z"
-       id="path77"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer2"
-     inkscape:label="stars"
-     style="display:inline"
-     transform="translate(-111.06999,296.26999)">
-    <circle
-       style="fill:#fdd835"
-       class="cls-11"
-       cx="593.86761"
-       cy="-88.77565"
-       r="3.53"
-       id="circle45" />
-    <circle
-       style="fill:#fff9c4"
-       class="cls-12"
-       cx="624.86761"
-       cy="109.62434"
-       r="6.1300001"
-       id="circle47" />
-    <circle
-       style="fill:#fff9c4"
-       class="cls-12"
-       cx="253.46765"
-       cy="53.594345"
-       r="6.1300001"
-       id="circle49" />
-    <circle
-       style="fill:#fff9c4"
-       class="cls-12"
-       cx="353.41763"
-       cy="160.21434"
-       r="6.1300001"
-       id="circle51" />
-    <circle
-       style="fill:#fff9c4"
-       class="cls-12"
-       cx="598.4776"
-       cy="11.644347"
-       r="6.1300001"
-       id="circle53" />
-    <circle
-       style="fill:#fff9c4"
-       class="cls-12"
-       cx="727.62762"
-       cy="169.54436"
-       r="6.1300001"
-       id="circle55" />
-    <circle
-       style="fill:#fdd835"
-       class="cls-11"
-       cx="240.26764"
-       cy="192.40434"
-       r="3.53"
-       id="circle57" />
-    <circle
-       style="fill:#fdd835"
-       class="cls-11"
-       cx="272.82764"
-       cy="121.09435"
-       r="3.53"
-       id="circle59" />
-    <circle
-       style="fill:#fdd835"
-       class="cls-11"
-       cx="294.73764"
-       cy="102.71434"
-       r="3.53"
-       id="circle61" />
-    <circle
-       style="fill:#fdd835"
-       class="cls-11"
-       cx="387.34766"
-       cy="20.004347"
-       r="3.53"
-       id="circle63" />
-    <circle
-       style="fill:#fdd835"
-       class="cls-11"
-       cx="679.86761"
-       cy="30.224348"
-       r="3.53"
-       id="circle65" />
-    <circle
-       style="fill:#fdd835"
-       class="cls-11"
-       cx="818.5976"
-       cy="177.65434"
-       r="3.53"
-       id="circle67" />
-    <circle
-       style="fill:#fdd835"
-       class="cls-11"
-       cx="328.67764"
-       cy="9.3943472"
-       r="3.53"
-       id="circle69" />
-    <circle
-       style="fill:#fdd835"
-       class="cls-11"
-       cx="640.89764"
-       cy="179.20436"
-       r="3.53"
-       id="circle73" />
-    <circle
-       style="fill:#fdd835"
-       class="cls-11"
-       cx="747.86761"
-       cy="90.754349"
-       r="3.53"
-       id="circle75" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer3"
-     inkscape:label="light"
-     style="display:inline"
-     transform="translate(-111.06999,296.26999)">
-    <path
-       style="opacity:0.5;fill:#ffe082"
-       class="cls-2"
-       d="m 475.48764,-83.895653 -334.62,-47.789997 a 3.65,3.65 0 0 0 -1,-0.14 c -8.67,0 -16,31.889997 -16,71.149997 0,39.26 7.33,71.07 16,71.07 a 3.66,3.66 0 0 0 0.93,-0.13 l 334.64,-47.88 0,-46.28 z"
-       id="path11"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer6"
-     inkscape:label="shade"
-     style="display:inline">
-    <polygon
-       class="cls-10"
-       points="493.27,173.5 450.37,173.5 450.37,393 502,416 493.27,173.5 "
-       id="polygon37"
-       style="opacity:0.5;fill:#304ffe"
-       transform="translate(-42.202351,118.02434)" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer5"
-     inkscape:label="GRASS"
-     transform="translate(-111.06999,296.26999)"
-     style="display:inline">
-    <path
-       style="fill:#00c853"
-       class="cls-14"
-       d="m 413.76764,275.48435 c 52.32,0 52.32,-33.94 104.63,-33.94 52.31,0 52.32,33.94 104.63,33.94 44.42,0 51.13,-24.46 84.16,-31.84 -45.13,-24.66 -112.53,-40.33 -187.84,-40.33 -75.63,0 -143.28,15.79 -188.41,40.64 31.93,7.73 39.02,31.53 82.83,31.53 z"
-       id="path79"
-       inkscape:connector-curvature="0" />
-    <path
-       style="fill:#64dd17"
-       class="cls-15"
-       d="m 413.86764,275.01435 c 52.32,0 52.32,-33.94 104.63,-33.94 l 1.1,0 -0.58,-37.32 c -74.89,0 -142,15.49 -187.08,39.91 31.16,7.98 38.55,31.35 81.93,31.35 z"
-       id="path81"
-       inkscape:connector-curvature="0" />
-  </g>
-</svg>
diff --git a/front_end/Images/src/breakpoint.svg b/front_end/Images/src/breakpoint.svg
deleted file mode 100644
index 4b5f707..0000000
--- a/front_end/Images/src/breakpoint.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><svg height="11" version="1.1" width="26" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-><defs
-/><sodipodi:namedview showgrid="true"
-><inkscape:grid empspacing="5" enabled="true" id="grid2985" snapvisiblegridlinesonly="true" type="xygrid" visible="true"/></sodipodi:namedview
-><path d="m22.8 0.5 2.7 5-2.7 5-22.3 0 0-10z" fill="#698cfe" stroke="#4073f4"/></svg
->
\ No newline at end of file
diff --git a/front_end/Images/src/breakpointConditional.svg b/front_end/Images/src/breakpointConditional.svg
deleted file mode 100644
index 97b9913..0000000
--- a/front_end/Images/src/breakpointConditional.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><svg height="11" version="1.1" width="26" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-><defs
-/><sodipodi:namedview showgrid="true"
-><inkscape:grid empspacing="5" enabled="true" id="grid2985" snapvisiblegridlinesonly="true" type="xygrid" visible="true"/></sodipodi:namedview
-><path d="m22.8 0.5 2.7 5-2.7 5-22.3 0 0-10z" fill="#ef9d0d" stroke="#a36c01"/></svg
->
\ No newline at end of file
diff --git a/front_end/Images/src/checkboxCheckmark.svg b/front_end/Images/src/checkboxCheckmark.svg
deleted file mode 100644
index b54a738..0000000
--- a/front_end/Images/src/checkboxCheckmark.svg
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="11"
-   height="11"
-   id="svg3283"
-   version="1.1"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="New document 4">
-  <defs
-     id="defs3285" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="15.839192"
-     inkscape:cx="1.4668053"
-     inkscape:cy="9.4825906"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:window-width="1280"
-     inkscape:window-height="747"
-     inkscape:window-x="0"
-     inkscape:window-y="0"
-     inkscape:window-maximized="1" />
-  <metadata
-     id="metadata3288">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(0,-1041.3622)">
-    <path
-       d="m 3.65,1048.5722 -1.44,-2.03 -1.21,1.21 2.55,3.61 6.45,-7.67 -1.12,-1.33 z"
-       id="path3689"
-       inkscape:connector-curvature="0" />
-  </g>
-</svg>
diff --git a/front_end/Images/src/chevrons.svg b/front_end/Images/src/chevrons.svg
deleted file mode 100644
index 59e5ae1..0000000
--- a/front_end/Images/src/chevrons.svg
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="30"
-   height="10"
-   id="svg3232"
-   version="1.1"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="chevrons.svg">
-  <defs
-     id="defs3234" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="2"
-     inkscape:cx="375"
-     inkscape:cy="-51.428571"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:window-width="1640"
-     inkscape:window-height="844"
-     inkscape:window-x="516"
-     inkscape:window-y="280"
-     inkscape:window-maximized="0" />
-  <metadata
-     id="metadata3237">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:groupmode="layer"
-     id="layer1">
-    <path
-       inkscape:connector-curvature="0"
-       d="M 0,2.75005 0.96529,1.78476 5.07291,5.89238 0.96529,10 0,9.03471 3.13549,5.89238 z"
-       id="path4-7" />
-    <path
-       inkscape:connector-curvature="0"
-       d="M 27.24995,2.92708 28.21524,3.89238 24.10762,8 20,3.89238 l 0.96529,-0.9653 3.14233,3.13549 z"
-       id="path4-7-5" />
-  </g>
-</svg>
diff --git a/front_end/Images/src/errorWave.svg b/front_end/Images/src/errorWave.svg
deleted file mode 100644
index 6733960..0000000
--- a/front_end/Images/src/errorWave.svg
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="6"
-   height="4"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.48.3.1 r9886"
-   inkscape:export-xdpi="97.627121"
-   inkscape:export-ydpi="97.627121"
-   sodipodi:docname="errorWave.svg">
-  <defs
-     id="defs4" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="90.509668"
-     inkscape:cx="3.4293179"
-     inkscape:cy="3.1283329"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="true"
-     showguides="true"
-     inkscape:guide-bbox="true"
-     inkscape:window-width="2154"
-     inkscape:window-height="1195"
-     inkscape:window-x="399"
-     inkscape:window-y="129"
-     inkscape:window-maximized="0">
-    <inkscape:grid
-       type="xygrid"
-       id="grid2985"
-       empspacing="5"
-       visible="true"
-       enabled="true"
-       snapvisiblegridlinesonly="true" />
-  </sodipodi:namedview>
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(0,-1048.3622)">
-    <path
-       style="fill:none;stroke:#ff0000;stroke-width:0.656;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-       d="m -0.24596307,1048.8938 3.25701167,2.7917 3.2570116,-2.7917"
-       id="path3850"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="ccc" />
-  </g>
-</svg>
diff --git a/front_end/Images/src/largeIcons.svg b/front_end/Images/src/largeIcons.svg
deleted file mode 100644
index 8330336..0000000
--- a/front_end/Images/src/largeIcons.svg
+++ /dev/null
@@ -1,1472 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="224"
-   height="216"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.92.2pre0 (973e216, 2017-07-25)"
-   sodipodi:docname="largeIcons.svg">
-  <metadata
-     id="metadata606">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs604" />
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1946"
-     inkscape:window-height="1546"
-     id="namedview602"
-     showgrid="true"
-     inkscape:zoom="4.3703705"
-     inkscape:cx="92.781028"
-     inkscape:cy="118.13064"
-     inkscape:window-x="1047"
-     inkscape:window-y="228"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg2"
-     inkscape:snap-grids="true"
-     showguides="true"
-     inkscape:guide-bbox="true">
-    <inkscape:grid
-       type="xygrid"
-       id="grid3583"
-       empspacing="5"
-       visible="true"
-       enabled="true"
-       snapvisiblegridlinesonly="true"
-       spacingx="28"
-       spacingy="24"
-       originx="0"
-       originy="0" />
-  </sodipodi:namedview>
-  <g
-     id="g4">
-    <g
-       transform="translate(-322,-72)"
-       id="g8">
-      <circle
-         transform="translate(326,74)"
-         cx="15"
-         cy="17"
-         r="3"
-         id="circle10"
-         sodipodi:cx="15"
-         sodipodi:cy="17"
-         sodipodi:rx="3"
-         sodipodi:ry="3"
-         style="fill:#009802" />
-      <path
-         d="m 329,77 h 18 v 18 h -18 z"
-         id="path12"
-         inkscape:connector-curvature="0"
-         style="fill:none" />
-      <path
-         d="m 327.25,75.25 h 20 v 20 h -20 z"
-         id="path14"
-         inkscape:connector-curvature="0"
-         style="fill:none" />
-      <path
-         d="m 325.12,73.125 h 20 v 20 h -20 z"
-         id="path16"
-         inkscape:connector-curvature="0"
-         style="fill:none" />
-    </g>
-  </g>
-  <g
-     transform="translate(26,0)"
-     id="g18">
-    <path
-       transform="translate(-32,0)"
-       d="M 57,12 53.5,8 H 39 v 8 h 14.5"
-       id="path22"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(-2.003,24)"
-     id="g24">
-    <path
-       transform="translate(-224,-120)"
-       d="m 240.77,127 h -1.534 v 4.233 h -4.233 v 1.534 h 4.233 V 137 h 1.534 v -4.233 h 4.233 v -1.534 H 240.77 V 127 z"
-       id="path28"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(26,24)"
-     id="g30">
-    <path
-       transform="translate(-96,-145)"
-       d="m 103,148 h 18 v 18 h -18 z"
-       id="path34"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(-96,-145)"
-       d="m 115.42,154.7 -6.705,-6.705 -1.0575,1.0575 1.785,1.785 -3.8625,3.8625 c -0.4425,0.4425 -0.4425,1.155 0,1.59 l 4.125,4.125 c 0.2175,0.2175 0.51,0.33 0.795,0.33 0.285,0 0.5775,-0.1125 0.795,-0.33 l 4.125,-4.125 c 0.4425,-0.435 0.4425,-1.1475 0,-1.59 z m -8.5125,0.795 3.5925,-3.5925 3.5925,3.5925 h -7.185 z m 10.342,1.125 c 0,0 -1.5,1.6275 -1.5,2.625 0,0.825 0.675,1.5 1.5,1.5 0.825,0 1.5,-0.675 1.5,-1.5 0,-0.9975 -1.5,-2.625 -1.5,-2.625 z"
-       id="path36"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-96,-145)"
-       d="m 103,163 h 18 v 3 h -18 z"
-       id="path38"
-       inkscape:connector-curvature="0"
-       style="fill-opacity:0.36000001" />
-  </g>
-  <g
-     transform="translate(0,48)"
-     id="g40">
-    <path
-       transform="translate(7,3)"
-       d="M 0,0 H 18 V 18 H 0 z"
-       id="path44"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(7,3)"
-       d="m 13,5 h 1.4936 C 15.32558,5 16,5.67154 16,6.5064 v 7.9871 c 0,0.83198 -0.67154,1.5064 -1.5064,1.5064 H 6.5065 c -0.83198,0 -1.5064,-0.67154 -1.5064,-1.5064 v -1.4936 h 6.4936 c 0.8349,0 1.5064,-0.67446 1.5064,-1.5064 V 4.9999 z"
-       id="path46"
-       inkscape:connector-curvature="0"
-       style="fill-opacity:0.36000001" />
-    <path
-       transform="translate(7,3)"
-       d="M 3.5,2 C 2.669,2 2,2.669 2,3.5 v 8 C 2,12.331 2.669,13 3.5,13 h 8 c 0.831,0 1.5,-0.669 1.5,-1.5 v -8 C 13,2.669 12.331,2 11.5,2 h -8 z m 0,1.5 h 8 v 8 h -8 v -8 z"
-       id="path48"
-       inkscape:connector-curvature="0"
-       style="fill:#212121" />
-  </g>
-  <g
-     transform="translate(26,48)"
-     id="g50">
-    <path
-       transform="translate(-96,-24)"
-       d="m 107,33 h 8 v 6 h -8 z"
-       stroke-miterlimit="4.2"
-       id="path54"
-       inkscape:connector-curvature="0"
-       style="stroke:#000000;stroke-width:2;stroke-miterlimit:4.19999981" />
-    <path
-       transform="translate(-96,-24)"
-       d="m 115,36 4,-4 v 8"
-       id="path56"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(54,0)"
-     id="g58">
-    <g
-       id="g62"
-       style="stroke:#000000">
-      <path
-         transform="matrix(0.36,0,0,0.36,-2.5,7.46)"
-         d="m 53,14 a 3,3 0 1 1 -6,0 3,3 0 1 1 6,0 z"
-         id="path64"
-         inkscape:connector-curvature="0"
-         style="fill-rule:evenodd;stroke-width:2.77800012" />
-      <path
-         transform="translate(-128,-120)"
-         d="m 143.48,129.5 2.5403,-2 h -1.5242 v -2 h -2 l -0.0161,2 h -1.5403 z"
-         id="path66"
-         inkscape:connector-curvature="0" />
-      <path
-         transform="translate(-128,-120)"
-         d="m 146.5,132.5 2,2.5 v -1.4998 l 2,-1e-4 v -2.0002 l -2,1e-4 V 130 z"
-         id="path68"
-         inkscape:connector-curvature="0" />
-      <path
-         transform="translate(-128,-120)"
-         d="m 143.5,135.5 -2.5,2 h 1.5 v 2 h 2 v -2 h 1.5 z"
-         id="path70"
-         inkscape:connector-curvature="0" />
-      <path
-         transform="translate(-128,-120)"
-         d="m 140.5,132.5 -2,-2.5 v 1.4999 h -2 v 2.0002 l 2,-3e-4 V 135 z"
-         id="path72"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-  <g
-     transform="translate(56,24)"
-     id="g74">
-    <g
-       id="g78"
-       style="fill-rule:evenodd">
-      <path
-         transform="matrix(0.9018,0,0,0.9018,4.308,4.525)"
-         d="M 0,0 H 18 V 18 H 0 z"
-         id="path80"
-         inkscape:connector-curvature="0"
-         style="fill:none" />
-      <path
-         transform="matrix(0.9018,0,0,0.9018,4.308,4.525)"
-         d="M 4.174,8.343 2.76,9.757 7.003,13.999 15.488,5.514 14.074,4.1 7.003,11.171 z"
-         id="path82"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-  <g
-     transform="translate(57,47)"
-     id="g84">
-    <path
-       transform="translate(-68,-143)"
-       d="M 76.94,152 76,152.94 79.0533,156 76,159.06 l 0.94,0.94 4,-4 z"
-       id="path88"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-68,-143)"
-       d="M 80.94,152 80,152.94 83.0533,156 80,159.06 l 0.94,0.94 4,-4 z"
-       id="path90"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(-2,72)"
-     id="g92">
-    <path
-       transform="translate(-64,0)"
-       d="m 80.44,16.94 c -2.48,0 -4.5,-2.02 -4.5,-4.5 0,-0.88 0.26,-1.7 0.69,-2.39 l 6.2,6.2 c -0.69,0.44 -1.51,0.69 -2.39,0.69 m 4.5,-4.5 c 0,0.88 -0.26,1.7 -0.69,2.39 l -6.2,-6.2 c 0.69,-0.44 1.51,-0.69 2.39,-0.69 2.48,0 4.5,2.02 4.5,4.5 M 80.5,6 C 76.91,6 74,8.91 74,12.5 74,16.09 76.91,19 80.5,19 84.09,19 87,16.09 87,12.5 87,8.91 84.09,6 80.5,6"
-       id="path96"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(28,72)"
-     id="g98">
-    <g
-       id="g102"
-       style="fill-rule:evenodd">
-      <path
-         transform="matrix(0.87153,0,0,0.87153,4.071,4.568)"
-         d="M 0,0 H 18 V 18 H 0 z"
-         id="path104"
-         inkscape:connector-curvature="0"
-         style="fill:none" />
-      <path
-         transform="matrix(0.87153,0,0,0.87153,4.071,4.568)"
-         d="M 12,3.5 A 1.505,1.505 0 0 0 10.494,2 H 4.506 C 3.676,2 3,2.674 3,3.506 v 7.988 C 3,12.326 3.671,12.997 4.5,13 V 3.5 H 12 z M 6,6.506 C 6,5.674 6.676,5 7.506,5 h 5.988 C 14.326,5 15,5.672 15,6.506 v 7.988 C 15,15.326 14.324,16 13.494,16 H 7.506 A 1.505,1.505 0 0 1 6,14.494 V 6.506 z M 7.5,6.5 h 6 v 8 h -6 v -8 z"
-         id="path106"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-  <g
-     transform="translate(54,72)"
-     id="g108">
-    <path
-       transform="translate(0,-24)"
-       d="M 25,36 21.36,32 H 19.57 L 14,40 h 7.36 L 25,36 z"
-       id="path112"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-24)"
-       d="m 7,32 v 8 H 9.05 L 14,32 H 7 z"
-       id="path114"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-24)"
-       d="M 9.67,44.55 8.08,43.23 18.84,27.45 20.43,28.77 9.67,44.55 z"
-       id="path116"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-24)"
-       d="M 0,24 H 24 V 48 H 0 z"
-       id="path118"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(0,-24)"
-       d="M 0,24 H 24 V 48 H 0 z m 0,0 H 24 V 48 H 0 z m 0,0 H 24 V 48 H 0 z m 0,0 H 24 V 48 H 0 z"
-       id="path120"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(0,-24)"
-       d="M 0,24 H 24 V 48 H 0 z"
-       id="path122"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(0,-24)"
-       d="M 0,24 H 24 V 48 H 0 z"
-       id="path124"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(0,-24)"
-       d="M 0,24 H 24 V 48 H 0 z"
-       id="path126"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-  </g>
-  <g
-     transform="translate(82,0)"
-     id="g128">
-    <path
-       transform="translate(-128,0)"
-       d="M 149,8.33 147.67,7 144,10.67 140.33,7 139,8.33 142.67,12 139,15.67 140.33,17 144,13.33 147.67,17 149,15.67 145.33,12 149,8.33 z"
-       id="path132"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(82,24)"
-     id="g134">
-    <path
-       transform="translate(-32,-24)"
-       d="M 53,37 H 43 v -5 h 10 v 5 z M 41,42 H 55 V 30 H 41 v 12 z"
-       id="path138"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(82,48)"
-     id="g140">
-    <path
-       transform="translate(-224,-48)"
-       d="m 238,64 h 7 v -8 h -7 z m 9,2 H 233 V 54 h 14 z"
-       id="path144"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(82,72)"
-     id="g146">
-    <path
-       transform="translate(-256,-48)"
-       d="m 274,64 h -7 v -8 h 7 v 8 z m -9,2 h 14 V 54 h -14 v 12 z"
-       id="path150"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(-2,96)"
-     id="g152">
-    <path
-       transform="translate(-160,0)"
-       d="m 169,16.089 v 2.9105 h 2.9105 L 180.1944,10.7156 177.2838,7.8051 169,16.089 z m 13.769,-7.9387 c 0.30785,-0.30785 0.30785,-0.79294 0,-1.1008 l -1.8191,-1.8191 c -0.30785,-0.30784 -0.79295,-0.30784 -1.1008,0 l -1.5206,1.5299 2.9105,2.9105 1.5299,-1.5206 z"
-       id="path156"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(26,96)"
-     id="g158">
-    <path
-       transform="translate(-288,-120)"
-       d="m 310.77,127.04 -1.816,-1.8164 c -0.30331,-0.30338 -0.79716,-0.30338 -1.1005,0 l -2.4304,2.4309 -1.4894,-1.4935 -1.1005,1.1007 1.1044,1.1046 -6.9373,6.9348 v 3.695 h 3.6942 l 6.9373,-6.9387 1.1005,1.1046 1.1005,-1.1007 -1.4932,-1.4935 2.4304,-2.4309 c 0.3072,-0.30338 0.3072,-0.79345 0,-1.0968 z m -10.721,10.4 -1.4932,-1.4935 6.2724,-6.2736 1.4932,1.4935 -6.2723,6.2736 z"
-       id="path162"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(54,96)"
-     id="g164">
-    <path
-       transform="translate(-32,-48)"
-       d="m 44,59 2,3 v 4 h 4 v -4 l 2,-3 z"
-       id="path168"
-       inkscape:connector-curvature="0"
-       style="opacity:0.5;fill:#424242" />
-    <path
-       transform="translate(-32,-48)"
-       d="m 46.5,65.23 c 0.32,0.13 0.84,0.24 1.47,0.24 0.59,0 1.14,-0.1 1.53,-0.26 v -3.93 l 4,-4.57 v -0.19 h -11 v 0.22 l 4,4.57 v 3.93 z M 47.97,67 C 46.81,66.91 45.82,66.71 45,66.01 V 61.89 L 41,57.32 V 55 h 14 v 2.35 l -4,4.57 v 4.13 c -0.92,0.67 -2.1,0.94 -3.03,0.95"
-       id="path170"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(82.001,96)"
-     id="g172">
-    <path
-       transform="matrix(0.75,0,0,0.75,-74.421,-143.43)"
-       d="m 108.56,195.24 h 24 v 24 h -24 z"
-       id="path176"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="matrix(0.75,0,0,0.75,-74.421,-143.43)"
-       d="m 108.56,215.24 h 24 v 4 h -24 z"
-       id="path178"
-       inkscape:connector-curvature="0"
-       style="fill-opacity:0.36000001" />
-    <path
-       transform="matrix(0.75,0,0,0.75,-74.421,-143.43)"
-       d="m 119.56,198.24 -5.5,14 h 2.25 l 1.12,-3 h 6.25 l 1.12,3 h 2.25 l -5.49,-14 h -2 z m -1.38,9 2.38,-6.33 2.38,6.33 h -4.76 z"
-       id="path180"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(106,1)"
-     id="g182">
-    <path
-       transform="matrix(0,-1,1,0,-112,-260)"
-       d="m -278.5,126.5 h 14 v 12 h -14 z"
-       id="path186"
-       inkscape:connector-curvature="0"
-       style="fill:none;stroke:#000000" />
-    <path
-       transform="matrix(0,1,1,0,-112,-260)"
-       d="m 272,132.5 -5,-3.25 v 6.5"
-       id="path188"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="matrix(0,-1,1,0,-112,-260)"
-       d="m -275,126 h 1 v 13 h -1 z"
-       id="path190"
-       inkscape:connector-curvature="0" />
-  </g>
-  <path
-     style="fill:none;stroke:#000000"
-     inkscape:connector-curvature="0"
-     id="path196"
-     d="m 119.5,30.5 h 14 v 12 h -14 z" />
-  <path
-     inkscape:connector-curvature="0"
-     id="path198"
-     d="m 126,36.5 5,-3.25 v 6.5" />
-  <path
-     inkscape:connector-curvature="0"
-     id="path200"
-     d="m 123,30 h 1 v 13 h -1 z" />
-  <g
-     transform="translate(111,48)"
-     id="g202">
-    <path
-       transform="matrix(-1,0,0,1,-192,-120)"
-       d="m -214.5,126.5 h 14 v 12 h -14 z"
-       id="path206"
-       inkscape:connector-curvature="0"
-       style="fill:none;stroke:#000000" />
-    <path
-       transform="translate(-192,-120)"
-       d="m 208,132.5 -5,-3.25 v 6.5"
-       id="path208"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="matrix(-1,0,0,1,-192,-120)"
-       d="m -211,126 h 1 v 13 h -1 z"
-       id="path210"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(106,73)"
-     id="g212">
-    <path
-       transform="matrix(0,1,1,0,-88,283)"
-       d="m -278.5,102.5 h 14 v 12 h -14 z"
-       id="path216"
-       inkscape:connector-curvature="0"
-       style="fill:none;stroke:#000000" />
-    <path
-       transform="matrix(0,-1,1,0,-88,283)"
-       d="m 272,108.5 -5,-3.25 v 6.5"
-       id="path218"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="matrix(0,1,1,0,-88,283)"
-       d="m -275,102 h 1 v 13 h -1 z"
-       id="path220"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(110,96)"
-     id="g222">
-    <path
-       transform="translate(-224,0)"
-       d="m 237,11 h -4 V 7 h 4 v 4 z"
-       id="path226"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-224,0)"
-       d="m 247,9 h -9 V 7 h 9 v 2 z"
-       id="path228"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-224,0)"
-       d="m 247,11 h -9 v -1 h 9 v 1 z"
-       id="path230"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-224,0)"
-       d="m 247,15 h -9 v -2 h 9 v 2 z"
-       id="path232"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-224,0)"
-       d="m 237,17 h -4 v -4 h 4 v 4 z"
-       id="path234"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-224,0)"
-       d="m 247,17 h -9 v -1 h 9 v 1 z"
-       id="path236"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(-2,120)"
-     id="g238">
-    <path
-       transform="translate(0,-144)"
-       d="m 23,157 h -2 v 2 h 2 z"
-       id="path242"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-144)"
-       d="m 23,161 h -2 v 2 c 1,0 2,-1 2,-2 z"
-       id="path244"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-144)"
-       d="m 23,153 h -2 v 2 h 2 z"
-       id="path246"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-144)"
-       d="m 21,149 v 2 h 2 c 0,-1 -1,-2 -2,-2 z"
-       id="path248"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-144)"
-       d="m 11,163 h 4 v -6 H 9 v 4 c 0,1.1 0.9,2 2,2 z"
-       id="path250"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-144)"
-       d="M 11,153 H 9 v 2 h 2 z"
-       id="path252"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-144)"
-       d="m 19,149 h -2 v 2 h 2 z"
-       id="path254"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-144)"
-       d="m 19,161 h -2 v 2 h 2 z"
-       id="path256"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-144)"
-       d="m 11,149 c -1,0 -2,1 -2,2 h 2 z"
-       id="path258"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-144)"
-       d="m 15,149 h -2 v 2 h 2 z"
-       id="path260"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(26,120)"
-     id="g262">
-    <path
-       transform="translate(-290,-46)"
-       d="m 317,69 v -5 l -5,5 h 5 z"
-       id="path266"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(54,120)"
-     id="g268">
-    <g
-       id="g272"
-       style="fill-rule:evenodd">
-      <path
-         transform="matrix(1.4142,0,0,1.4142,-278.88,-36.772)"
-         d="m 209.92,31.305 a 1.0607,1.0607 0 1 1 -2.1213,0 1.0607,1.0607 0 1 1 2.1213,0 z"
-         id="path274"
-         inkscape:connector-curvature="0" />
-      <path
-         transform="matrix(1.4142,0,0,1.4142,-278.88,-31.772)"
-         d="m 209.92,31.305 a 1.0607,1.0607 0 1 1 -2.1213,0 1.0607,1.0607 0 1 1 2.1213,0 z"
-         id="path276"
-         inkscape:connector-curvature="0" />
-      <path
-         transform="matrix(1.4142,0,0,1.4142,-278.88,-26.772)"
-         d="m 209.92,31.305 a 1.0607,1.0607 0 1 1 -2.1213,0 1.0607,1.0607 0 1 1 2.1213,0 z"
-         id="path278"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-  <g
-     transform="translate(84,120)"
-     id="g280">
-    <path
-       transform="translate(-162,-144)"
-       d="m 166,147 h 18 v 18 h -18 z"
-       id="path284"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(-162,-144)"
-       d="m 181.52,154.53 c -0.51,-2.58 -2.7862,-4.5262 -5.5162,-4.5262 -2.1675,0 -4.0462,1.23 -4.9875,3.0262 -2.2538,0.24375 -4.0125,2.1525 -4.0125,4.4738 0,2.4862 2.0138,4.5 4.5,4.5 h 9.75 c 2.07,0 3.75,-1.68 3.75,-3.75 0,-1.98 -1.5412,-3.585 -3.4838,-3.7238 z m -0.26625,5.9738 h -9.75 c -1.6575,0 -3,-1.3425 -3,-3 0,-1.6575 1.3425,-3 3,-3 h 0.5325 c 0.49125,-1.7288 2.0775,-3 3.9675,-3 2.28,0 4.125,1.845 4.125,4.125 v 0.375 h 1.125 c 1.2412,0 2.25,1.0088 2.25,2.25 0,1.2412 -1.0088,2.25 -2.25,2.25 z"
-       id="path286"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(112,120)"
-     id="g288">
-    <path
-       transform="translate(-226,-72)"
-       d="m 235,76 c -0.55,0 -0.99,0.45 -0.99,1 L 234,91 c 0,0.55 0.44,1 1,1 h 10 c 0.55,0 1,-0.45 1,-1 V 81 l -5,-5 h -6 z m 6,5 v -4 l 4,4 h -4 z"
-       id="path292"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-226,-72)"
-       d="m 231,75 h 18 v 18 h -18 z"
-       id="path294"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-  </g>
-  <g
-     transform="translate(140,0)"
-     id="g296">
-    <path
-       transform="translate(-162,-24)"
-       d="m 169,29 h 18 v 18 h -18 z"
-       id="path300"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(-162,-24)"
-       d="m 167.25,27.25 h 20 v 20 h -20 z"
-       id="path302"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(-162,-24)"
-       d="m 165.12,25.125 h 20 v 20 h -20 z"
-       id="path304"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(-162,-24)"
-       d="m 171,28 c -0.55,0 -1,0.45 -1,1 v 14 c 0,0.55 0.44,1 1,1 h 5.0938 c -0.0656,-0.32311 -0.0937,-0.65753 -0.0937,-1 0,-2.7614 2.2386,-5 5,-5 0.34247,0 0.67689,0.02816 1,0.09375 v -5.0938 l -5,-5 h -6 z m 6,1 4,4 h -4 v -4 z"
-       id="path306"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(140,24)"
-     id="g308">
-    <path
-       transform="translate(-66,-120)"
-       d="m 71,124 h 18 v 18 H 71 z"
-       id="path312"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(-66,-120)"
-       d="m 82,129 -2,-2 h -5 c -0.55,0 -1,0.45 -1,1 v 10 c 0,0.55 0.45,1 1,1 h 12 c 0.55,0 1,-0.45 1,-1 v -8 c 0,-0.55 -0.45,-1 -1,-1 h -5 z"
-       id="path314"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(140,48)"
-     id="g316">
-    <path
-       transform="translate(-258,-144)"
-       d="m 278,150 h -10.5 c -0.8325,0 -1.5,0.675 -1.5,1.5 v 9 c 0,0.825 0.6675,1.5 1.5,1.5 H 278 c 0.825,0 1.5,-0.675 1.5,-1.5 v -9 c 0,-0.825 -0.6675,-1.5 -1.5,-1.5 z m 0,10.5 H 267.5 V 153 H 278 v 7.5 z"
-       id="path320"
-       inkscape:connector-curvature="0"
-       style="fill:#010101" />
-    <path
-       transform="translate(-258,-144)"
-       d="m 262.97,147.07 h 18 v 18 h -18 z"
-       id="path322"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-  </g>
-  <g
-     transform="translate(140,72)"
-     id="g324">
-    <path
-       transform="translate(6,3.9)"
-       d="M 9,1 H 3.9954 C 3.45567,1 3,1.45078 3,2.0068 v 11.986 c 0,0.5569 0.44565,1.0068 0.9954,1.0068 h 8.0092 C 12.54433,14.9996 13,14.54882 13,13.9928 V 4.9996 l -4,-4 z m 3,4 H 9 V 2 l 3,3 z M 6,7 11,9.5 6,12 V 7 z"
-       id="path328"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(140,96)"
-     id="g330">
-    <g
-       id="g334"
-       style="stroke:#000000">
-      <path
-         transform="matrix(0.72907,0,0,0.72907,5.617,4.598)"
-         d="M 7.854,6.963 6.877,7.279 6.857,8.617 6.889,8.705 7.398,9.699 6.188,10.578 5.398,9.787 5.326,9.73 4.047,9.336 3.443,10.166 4.213,11.26 4.291,11.313 5.287,11.817 4.824,13.241 3.72,13.065 3.628,13.061 2.362,13.493 v 1.027 l 1.266,0.434 0.092,-0.004 1.104,-0.178 0.463,1.424 -0.996,0.506 -0.078,0.051 -0.77,1.094 0.604,0.83 1.279,-0.393 0.072,-0.059 0.789,-0.791 1.211,0.879 -0.51,0.996 -0.031,0.086 0.02,1.338 0.977,0.316 0.803,-1.068 0.025,-0.09 0.172,-1.104 h 1.498 l 0.172,1.104 0.025,0.09 0.803,1.068 0.977,-0.316 0.02,-1.338 -0.031,-0.086 -0.51,-0.996 1.211,-0.879 0.789,0.791 0.072,0.059 1.279,0.393 0.604,-0.83 -0.771,-1.094 -0.076,-0.051 -0.996,-0.506 0.461,-1.424 1.105,0.178 0.092,0.004 1.266,-0.434 v -1.027 l -1.266,-0.432 -0.092,0.004 -1.105,0.176 -0.461,-1.424 0.996,-0.504 0.076,-0.053 0.771,-1.094 L 15.159,9.336 13.88,9.731 13.808,9.788 13.019,10.579 11.808,9.7 12.318,8.706 12.349,8.618 12.329,7.28 11.352,6.964 10.549,8.034 10.524,8.122 10.352,9.227 H 8.854 L 8.682,8.121 8.656,8.03 7.854,6.963 m 1.748,3.398 a 3.621,3.645 0 0 1 3.621,3.645 3.621,3.645 0 0 1 -3.621,3.646 3.621,3.645 0 0 1 -3.619,-3.646 3.621,3.645 0 0 1 3.619,-3.645 z"
-         id="path336"
-         inkscape:connector-curvature="0" />
-      <path
-         transform="matrix(0.72907,0,0,0.72907,5.227,3.617)"
-         d="M 14.885,1.563 14.178,1.957 14.365,3.24 14.396,3.279 15.14,4.04 14.553,5.03 13.529,4.736 13.479,4.729 12.262,5.172 12.25,5.98 13.455,6.459 13.506,6.453 14.537,6.189 15.1,7.191 14.332,7.932 14.301,7.971 14.08,9.248 14.771,9.662 15.787,8.859 15.807,8.811 16.1,7.787 17.242,7.803 17.502,8.834 17.52,8.883 18.514,9.715 19.219,9.32 19.03,8.04 19,7.998 18.258,7.234 18.844,6.25 19.869,6.541 19.92,6.551 21.14,6.105 21.15,5.297 19.943,4.818 19.893,4.824 18.861,5.088 18.301,4.086 19.07,3.346 19.1,3.307 19.322,2.029 18.627,1.615 17.609,2.418 17.59,2.467 17.303,3.49 16.16,3.475 15.896,2.443 15.879,2.395 14.885,1.563 z m 1.814,2.138 a 1.938,1.938 0 0 1 1.938,1.938 1.938,1.938 0 0 1 -1.938,1.937 1.938,1.938 0 0 1 -1.937,-1.937 1.938,1.938 0 0 1 1.937,-1.938 z"
-         id="path338"
-         inkscape:connector-curvature="0"
-         style="stroke-width:0.89899999" />
-    </g>
-  </g>
-  <g
-     transform="translate(138,120)"
-     id="g340">
-    <g
-       id="g344"
-       style="fill:none">
-      <path
-         transform="translate(8,4)"
-         d="M 0,0 H 16 V 16 H 0 V 0 z"
-         id="path346"
-         inkscape:connector-curvature="0"
-         style="opacity:0.5" />
-      <path
-         transform="translate(8,4)"
-         d="M 6,14 H 3.5 C 2.5,14 2,13.5 2,12.5 v -9 C 2,2.5 2.5,2 3.5,2 h 9 C 14,2 14,3.4678 14,3.5 V 6 H 13 V 3 H 3 v 10 h 3 v 1 z m 9,-5 -3,2 3,3 -1,1 -3,-3 -2,3 -2,-8 8,2 z"
-         id="path348"
-         inkscape:connector-curvature="0"
-         style="fill:#000000" />
-    </g>
-  </g>
-  <g
-     transform="translate(0,144)"
-     id="g350">
-    <path
-       transform="translate(-98,-120)"
-       d="m 110.5,127.5 h -1 l 2,-2 2,2 h -1 c 0,0 -0.0345,4.6379 -0.0345,4.0345 l 4.0345,-0.034 v -1 l 2,2 -2,2 v -1 l -4.0345,-0.034 0.0345,4.0346 h 1 l -2,2 -2,-2 h 1 l 0.0345,-4.0346 -4.0345,0.034 v 1 l -2,-2 2,-2 v 1 l 4.0345,0.034 z"
-       id="path354"
-       inkscape:connector-curvature="0"
-       style="stroke:#000000" />
-  </g>
-  <g
-     transform="translate(26,144)"
-     id="g356">
-    <path
-       transform="translate(-320,0)"
-       d="m 333.6,15.2 h 1.6 V 8.8 h -1.6 v 6.4 z M 336,4 c -4.42,0 -8,3.58 -8,8 0,4.42 3.58,8 8,8 4.42,0 8,-3.58 8,-8 0,-4.42 -3.58,-8 -8,-8 z m 0,14.4 c -3.528,0 -6.4,-2.872 -6.4,-6.4 0,-3.528 2.872,-6.4 6.4,-6.4 3.528,0 6.4,2.872 6.4,6.4 0,3.528 -2.872,6.4 -6.4,6.4 z m 0.8,-3.2 h 1.6 V 8.8 h -1.6 v 6.4 z"
-       id="path360"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(54,144)"
-     id="g362">
-    <path
-       transform="translate(-32,-72)"
-       d="m 47,88 h -3 v -8 h 3 v 8 z"
-       id="path366"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-32,-72)"
-       d="m 53,88 h -3 v -8 h 3 v 8 z"
-       id="path368"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(82,144)"
-     id="g370">
-    <path
-       transform="translate(-256,0)"
-       d="m 275,15 h -2 V 9 h 2 z m -4,0 h -2 V 9 h 2 z m 4,-10 h -6 l -4,4 v 6 l 4,4 h 6 l 4,-4.12 V 9 z"
-       id="path374"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(110,144)"
-     id="g376">
-    <g
-       font-weight="400"
-       id="g380"
-       style="font-weight:400;font-family:Sans">
-      <path
-         transform="translate(-289,-96)"
-         d="m 300,101 v 4.0001 1.0001 l 3.3434,0.53115 -0.0156,8.0468 -1.3278,0.42183 c 0.006,0.59278 0.43931,1.0114 1,1 h 8 c 0.57896,0.002 0.98177,-0.42708 1,-1 v -14 c -0.0102,-0.53477 -0.48177,-0.99739 -1,-1 h -10 c -0.53297,0.008 -0.99716,0.45677 -1,1 z m 1,0 h 10 v 14 h -8 l 0.71845,-0.42179 0.0937,-8.4218 -2.8122,-0.1561 v -0.99993 z"
-         overflow="visible"
-         style="text-indent:0;line-height:normal;text-transform:none;block-progression:tb;overflow:visible"
-         id="path382"
-         inkscape:connector-curvature="0" />
-      <path
-         transform="translate(-289,-96)"
-         d="m 297,106 v 9 c 0.006,0.59278 0.43931,1.0114 1,1 h 5 c 0.57896,0.002 0.98177,-0.42708 1,-1 v -9 c -0.0102,-0.53477 -0.48177,-0.99739 -1,-1 h -5 c -0.53297,0.008 -0.99716,0.45677 -1,1 z m 1,1.0002 h 5 v 7 h -5 z"
-         overflow="visible"
-         style="text-indent:0;line-height:normal;text-transform:none;block-progression:tb;overflow:visible"
-         id="path384"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-  <g
-     transform="translate(138,144)"
-     id="g386">
-    <path
-       transform="translate(-320,-48)"
-       d="m 328,60 c 0,4.42 3.58,8 8,8 4.42,0 8,-3.58 8,-8 0,-4.42 -3.58,-8 -8,-8 -4.42,0 -8,3.58 -8,8 z m 8,6.4 c -3.528,0 -6.4,-2.872 -6.4,-6.4 0,-3.528 2.872,-6.4 6.4,-6.4 3.528,0 6.4,2.872 6.4,6.4 0,3.528 -2.872,6.4 -6.4,6.4 z M 334.5067,63.4286 339.0781,60 334.5067,56.5714 v 6.8571 z"
-       id="path390"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(-2,168)"
-     id="g392">
-    <path
-       transform="translate(-96,-48)"
-       d="m 108,60 10,-5 v 10"
-       id="path396"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(26,168)"
-     id="g398">
-    <path
-       transform="translate(-64,-48)"
-       d="M 86,60 76,55 v 10"
-       id="path402"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(54,168)"
-     id="g404">
-    <path
-       transform="translate(-256,-24)"
-       d="m 268.01,35.99 c 0.61,0.28 1.07,0.9 1.07,1.58 0.11,0.85 -0.05,1.72 0.12,2.57 0.27,0.54 1,0.28 1.43,0.55 0.49,0.24 0.48,1.01 -0.06,1.18 -0.56,0.22 -1.18,0.08 -1.74,-0.05 -0.71,-0.2 -1.41,-0.72 -1.5,-1.5 -0.18,-0.89 0.01,-1.8 -0.16,-2.68 -0.22,-0.64 -0.94,-0.9 -1.57,-0.93 -0.58,-0.1 -0.83,-0.94 -0.35,-1.3 0.51,-0.35 1.26,-0.14 1.69,-0.66 0.44,-0.48 0.29,-1.18 0.32,-1.78 0,-0.81 -0.02,-1.77 0.65,-2.34 0.66,-0.54 1.58,-0.71 2.41,-0.63 0.63,0 0.98,0.87 0.4,1.22 -0.44,0.37 -1.2,0.06 -1.51,0.65 -0.14,0.56 -0.05,1.15 -0.07,1.73 -0.01,0.75 -0.05,1.64 -0.72,2.13 -0.12,0.1 -0.26,0.19 -0.4,0.26"
-       id="path408"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-256,-24)"
-       d="m 276.98,35.99 c -0.67,-0.3 -1.08,-1.02 -1.08,-1.75 -0.07,-0.76 0.03,-1.52 -0.06,-2.28 -0.24,-0.58 -0.98,-0.4 -1.46,-0.59 -0.59,-0.24 -0.48,-1.18 0.14,-1.31 0.73,-0.15 1.52,-0.01 2.18,0.32 0.56,0.28 0.95,0.86 0.99,1.48 0.13,0.83 -0.03,1.68 0.13,2.5 0.2,0.68 0.94,0.83 1.54,0.9 0.56,0.07 0.86,0.8 0.46,1.21 -0.44,0.46 -1.2,0.2 -1.65,0.66 -0.51,0.46 -0.4,1.21 -0.4,1.83 -0.03,0.78 0.06,1.69 -0.52,2.3 -0.74,0.65 -1.8,0.86 -2.75,0.68 -0.52,-0.16 -0.69,-1.01 -0.15,-1.25 0.44,-0.23 1.02,-0.08 1.41,-0.45 0.26,-0.45 0.09,-0.98 0.14,-1.47 0.01,-0.76 -0.07,-1.63 0.43,-2.26 0.18,-0.21 0.42,-0.37 0.66,-0.51"
-       id="path410"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(82,168)"
-     id="g412">
-    <g
-       id="g416">
-      <path
-         d="M 0,0 H 24 V 24 H 0 z"
-         id="path418"
-         inkscape:connector-curvature="0"
-         style="fill:none" />
-      <path
-         d="m 16,6 c -3.31,0 -6,2.69 -6,6 0,3.31 2.69,6 6,6 3.31,0 6,-2.69 6,-6 h -2 c 0,2.2091 -1.7909,4 -4,4 -2.2091,0 -4,-1.7909 -4,-4 0,-2.2091 1.7909,-4 4,-4 1.2756,0 2.3926,0.60127 3.125,1.5312 h 2.3438 C 20.52659,7.4496 18.4308,6 16,6 z"
-         id="path420"
-         inkscape:connector-curvature="0" />
-      <path
-         d="M 21.091,6.88 V 9.9718 H 17.9992 z"
-         id="path422"
-         inkscape:connector-curvature="0"
-         style="stroke:#000000;stroke-width:1.06799996" />
-    </g>
-  </g>
-  <g
-     transform="translate(110,168)"
-     id="g424">
-    <path
-       transform="translate(8,4)"
-       d="M 2.5858,13.891 C 0.9959,12.4291 0,10.3315 0,8.0002 c 0,-4.42 3.58,-8 8,-8 4.42,0 8,3.58 8,8 0,4.42 -3.58,8 -8,8 v -1.6 c 3.528,0 6.4,-2.872 6.4,-6.4 0,-3.528 -2.872,-6.4 -6.4,-6.4 -3.528,0 -6.4,2.872 -6.4,6.4 0,1.9357 0.86461,3.674 2.2278,4.8487 l 1.6925,-1.4201 0.015145,4.463 -4.3925,-0.7899 1.443,-1.2108 z M 6.5066,11.4287 11.078,8.0001 6.5066,4.5715 v 6.8571 z"
-       id="path428"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(138,168)"
-     id="g430">
-    <path
-       transform="translate(0,-72)"
-       d="M 23,84 15,79 V 89"
-       id="path434"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-72)"
-       d="M 13,89 H 10 V 79 h 3 v 10 z"
-       id="path436"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(166,0)"
-     id="g438">
-    <path
-       transform="translate(-160,-120)"
-       d="m 169.2,130.15 c 0.0551,-0.1128 0.15339,-0.22 0.2313,-0.3064 0.54584,-0.6074 1.3889,-1.1974 3.0053,-1.5702 v -2.1715 c -1.2931,0.2523 -2.3146,0.6686 -3.304,1.5597 -0.33248,0.3832 -0.50543,0.6247 -0.514,1.1665 -0.007,0.443 0.17732,0.8863 0.58141,1.3219 z m 6.6309,3.1292 c -1.6164,-0.024 -3.1091,-0.2558 -4.6228,-0.764 -2.6938,-0.9037 -3.0286,-2.1697 -3.1703,-2.5931 -0.0958,1.6897 0.028,2.9573 0.0346,3.0648 0.092,1.5004 1.2918,2.6742 2.1575,3.1151 1.7796,0.9067 3.6614,1.3756 5.601,1.4151 v 2.4842 l 3.251,-4.6483 -3.251,-4.6486 v 2.5748 z m -0.32327,-5.2959 c 1.6164,0.01 3.4529,0.3384 5.2454,1.1131 0.73528,0.3177 1.3275,0.7904 1.8082,1.3048 0.33152,-0.1523 0.80672,-0.7308 0.74126,-1.2923 -0.16163,-1.3879 -1.6264,-2.1912 -1.8801,-2.3045 -1.7704,-0.7908 -3.9751,-1.0356 -5.9147,-1.0589 v -1.7442 l -2.0132,2.8787 2.0132,2.8783 v -1.775 z m 8.4236,1.8658 c -0.0824,0.6478 -0.82676,2.0349 -3.8978,2.9138 v 4.5247 c 1.1314,-0.3677 2.465,-1.2956 3.1787,-2.1988 0.2911,-0.3677 0.46906,-0.875 0.57736,-1.242 0.33216,-1.1229 0.18604,-3.3136 0.14175,-3.9977 z"
-       id="path442"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(166,24)"
-     id="g444">
-    <path
-       transform="translate(8,4)"
-       d="m 10.624,2.47 c 1.9155,0.90417 3.2862,2.7533 3.4971,4.9467 h 0.87866 C 14.70102,3.8234 11.68426,1 7.99976,1 L 7.61315,1.0175 9.84495,3.24 10.62403,2.47 z M 6.9629,2.02083 c -0.34561,-0.34417 -0.90209,-0.34417 -1.2418,0 l -3.7255,3.71 c -0.34561,0.34417 -0.34561,0.89833 0,1.2367 l 7.041,7.0117 c 0.34561,0.34417 0.90209,0.34417 1.2418,0 l 3.7255,-3.71 c 0.34561,-0.34417 0.34561,-0.89833 0,-1.2367 l -7.041,-7.0117 z m 2.6946,11.34 -7.041,-7.0117 3.7255,-3.71 7.041,7.0117 -3.7255,3.71 z M 5.3755,13.53 C 3.46,12.63167 2.0893,10.7767 1.8784,8.5833 H 0.99974 C 1.29848,12.1766 4.31524,15 7.99974,15 L 8.38635,14.9825 6.15455,12.76 5.37547,13.53 z"
-       id="path448"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(166,48)"
-     id="g450">
-    <path
-       transform="translate(-288,-72)"
-       d="m 293.96,74.013 h 20 v 20 h -20 z"
-       id="path454"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(-288,-72)"
-       d="m 297,77 h 18 v 18 h -18 z"
-       id="path456"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(-288,-72)"
-       d="m 295.25,75.25 h 20 v 20 h -20 z"
-       id="path458"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(-288,-72)"
-       d="m 293.12,73.125 h 20 v 20 h -20 z"
-       id="path460"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(-288,-72)"
-       d="m 288,72 h 24 v 24 h -24 z"
-       id="path462"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(-288,-72)"
-       d="m 309.35,84.686 c 0.0288,-0.224 0.0504,-0.448 0.0504,-0.686 0,-0.238 -0.0216,-0.462 -0.0504,-0.686 l 1.5184,-1.155 c 0.13673,-0.105 0.17272,-0.294 0.0863,-0.448 l -1.4393,-2.422 c -0.0863,-0.154 -0.28065,-0.21 -0.43897,-0.154 l -1.7919,0.7 c -0.37422,-0.28 -0.77722,-0.511 -1.2162,-0.686 l -0.27341,-1.855 C 305.77334,77.126 305.62223,77 305.44232,77 h -2.8785 c -0.17992,0 -0.33104,0.126 -0.35263,0.294 l -0.27346,1.855 c -0.43898,0.175 -0.84198,0.413 -1.2162,0.686 l -1.7919,-0.7 c -0.16551,-0.063 -0.35262,0 -0.43898,0.154 l -1.4393,2.422 c -0.0935,0.154 -0.0504,0.343 0.0863,0.448 l 1.5184,1.155 c -0.0287,0.224 -0.0504,0.455 -0.0504,0.686 0,0.231 0.0216,0.462 0.0504,0.686 l -1.5184,1.155 c -0.13673,0.105 -0.17271,0.294 -0.0863,0.448 l 1.4393,2.422 c 0.0863,0.154 0.28067,0.21 0.43898,0.154 l 1.7919,-0.7 c 0.37421,0.28 0.77721,0.511 1.2162,0.686 l 0.27346,1.855 c 0.0216,0.168 0.17271,0.294 0.35263,0.294 h 2.8785 c 0.17991,0 0.33103,-0.126 0.35263,-0.294 l 0.27345,-1.855 c 0.43898,-0.175 0.84198,-0.413 1.2162,-0.686 l 1.7919,0.7 c 0.16552,0.063 0.35263,0 0.43898,-0.154 l 1.4393,-2.422 c 0.0863,-0.154 0.0504,-0.343 -0.0863,-0.448 l -1.5184,-1.155 z m -5.3469,1.764 c -1.3889,0 -2.5187,-1.099 -2.5187,-2.45 0,-1.351 1.1298,-2.45 2.5187,-2.45 1.3889,0 2.5187,1.099 2.5187,2.45 0,1.351 -1.1298,2.45 -2.5187,2.45 z"
-       id="path464"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(162,73)"
-     id="g466">
-    <path
-       transform="matrix(0,-1,1,0,-136,251)"
-       d="m 232.5,150.5 h 14 v 12 h -14 z"
-       id="path470"
-       inkscape:connector-curvature="0"
-       style="fill:none;stroke:#000000" />
-    <path
-       transform="matrix(0,-1,1,0,-136,251)"
-       d="m 244,156.5 -5,-3.25 v 6.5"
-       id="path472"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="matrix(0,-1,1,0,-136,251)"
-       d="m 236,150 h 1 v 13 h -1 z"
-       id="path474"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(166,96)"
-     id="g476">
-    <path
-       transform="translate(-160,-72)"
-       d="m 168.5,78.5 h 14 v 12 h -14 z"
-       id="path480"
-       inkscape:connector-curvature="0"
-       style="fill:none;stroke:#000000" />
-    <path
-       transform="translate(-160,-72)"
-       d="m 180,84.5 -5,-3.25 v 6.5"
-       id="path482"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-160,-72)"
-       d="m 172,78 h 1 v 13 h -1 z"
-       id="path484"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(166,120)"
-     id="g486">
-    <path
-       transform="matrix(-1,0,0,1,-192,-96)"
-       d="m -214.5,102.5 h 14 v 12 h -14 z"
-       id="path490"
-       inkscape:connector-curvature="0"
-       style="fill:none;stroke:#000000" />
-    <path
-       transform="translate(-192,-96)"
-       d="m 203,108.5 5,-3.25 v 6.5"
-       id="path492"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="matrix(-1,0,0,1,-192,-96)"
-       d="m -211,102 h 1 v 13 h -1 z"
-       id="path494"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(162,145)"
-     id="g496">
-    <path
-       transform="matrix(0,1,1,0,-88,219)"
-       d="m -214.5,102.5 h 14 v 12 h -14 z"
-       id="path500"
-       inkscape:connector-curvature="0"
-       style="fill:none;stroke:#000000" />
-    <path
-       transform="matrix(0,-1,1,0,-88,219)"
-       d="m 203,108.5 5,-3.25 v 6.5"
-       id="path502"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="matrix(0,1,1,0,-88,219)"
-       d="m -211,102 h 1 v 13 h -1 z"
-       id="path504"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(166,168)"
-     id="g506">
-    <path
-       transform="translate(-288,0)"
-       d="m 298,12 c 0,3.31 2.69,6 6,6 3.31,0 6,-2.69 6,-6 0,-3.31 -2.69,-6 -6,-6 -3.31,0 -6,2.69 -6,6"
-       id="path510"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(-2,192)"
-     id="g512">
-    <path
-       transform="translate(-64,-72)"
-       d="m 78.5,89 c 0,1.1 0.9,2 2,2 1.1,0 2,-0.9 2,-2 0,-1.1 -0.9,-2 -2,-2 -1.1,0 -2,0.9 -2,2"
-       id="path516"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-64,-72)"
-       d="m 79,78 v 4 h -3 l 4.5,4 4.5,-4 h -3 v -4 h -3 z"
-       id="path518"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(26,192)"
-     id="g520">
-    <path
-       transform="translate(-96,-72)"
-       d="m 110.5,89 c 0,1.1 0.9,2 2,2 1.1,0 2,-0.9 2,-2 0,-1.1 -0.9,-2 -2,-2 -1.1,0 -2,0.9 -2,2"
-       id="path524"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-96,-72)"
-       d="m 112.5,78 -4.5,4 h 3 v 4 h 3 v -4 h 3 l -4.5,-4 z"
-       id="path526"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(54,192)"
-     id="g528">
-    <path
-       transform="translate(-128,-72)"
-       d="m 142,86.5 c 0,1.1 0.9,2 2,2 1.1,0 2,-0.9 2,-2 0,-1.1 -0.9,-2 -2,-2 -1.1,0 -2,0.9 -2,2"
-       id="path532"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-128,-72)"
-       d="m 137.25,87.03 c 2.55,-8.43 11.4,-8.73 13.94,0"
-       id="path534"
-       inkscape:connector-curvature="0"
-       style="fill:none;stroke:#000000;stroke-width:2.5" />
-    <path
-       transform="translate(-128,-72)"
-       d="m 151.68,89 -4.54,-2.76 6.68,-2.1"
-       id="path536"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(82,192)"
-     id="g538">
-    <path
-       transform="translate(-288,-24)"
-       d="m 295,36 c 0,4.97 4.03,9 9,9 4.97,0 9,-4.03 9,-9 0,-4.97 -4.03,-9 -9,-9 -4.97,0 -9,4.03 -9,9"
-       id="path542"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite60_a)" />
-    <path
-       transform="translate(-288,-24)"
-       d="m 298,36 c 0,3.31 2.69,6 6,6 3.31,0 6,-2.69 6,-6 0,-3.31 -2.69,-6 -6,-6 -3.31,0 -6,2.69 -6,6"
-       id="path544"
-       inkscape:connector-curvature="0" />
-    <defs
-       id="defs546">
-      <radialGradient
-         id="sprite60_b"
-         cx="0"
-         cy="0"
-         r="1"
-         gradientTransform="matrix(18,0,0,-18,680,341)"
-         gradientUnits="userSpaceOnUse">
-        <stop
-           offset="0"
-           id="stop549" />
-        <stop
-           stop-opacity="0"
-           offset="1"
-           id="stop551" />
-      </radialGradient>
-      <radialGradient
-         id="sprite60_a"
-         cx="0"
-         cy="0"
-         r="1"
-         gradientTransform="matrix(9,0,0,9,304,36)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite60_b" />
-    </defs>
-  </g>
-  <g
-     transform="translate(110,192)"
-     id="g554">
-    <g
-       id="g558">
-      <path
-         transform="translate(7,3)"
-         d="M 0,0 H 18 V 18 H 0 z"
-         id="path560"
-         inkscape:connector-curvature="0"
-         style="fill:none" />
-      <path
-         transform="translate(7,3)"
-         d="M 15.25,8 H 16 V 6.125 5 H 5 V 6.125 8 h 0.75 c 0,-0.82843 0.67157,-1.5 1.5,-1.5 h 2.5 v 7.25 c 0,0.82843 -0.67157,1.5 -1.5,1.5 V 16 h 1.875 0.75 1.875 v -0.75 c -0.82843,0 -1.5,-0.67157 -1.5,-1.5 V 6.5 h 2.5 c 0.82843,0 1.5,0.67157 1.5,1.5 z"
-         id="path562"
-         inkscape:connector-curvature="0"
-         style="fill-opacity:0.36000001" />
-      <path
-         transform="translate(7,3)"
-         d="M 12.25,5 H 13 V 3.125 2 H 2 V 3.125 5 h 0.75 c 0,-0.82843 0.67157,-1.5 1.5,-1.5 h 2.5 v 7.25 c 0,0.82843 -0.67157,1.5 -1.5,1.5 V 13 h 1.875 0.75 1.875 v -0.75 c -0.82843,0 -1.5,-0.67157 -1.5,-1.5 V 3.5 h 2.5 c 0.82843,0 1.5,0.67157 1.5,1.5 z"
-         id="path564"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-  <g
-     transform="translate(138,192)"
-     id="g566">
-    <path
-       transform="translate(-128,-24)"
-       d="m 139.5,33 h 9 L 147,43 h -6"
-       id="path570"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-128,-24)"
-       d="m 147.5,30 h -2 v -1 h -3 v 1 h -2 c -0.55,0 -1,0.48 -1,1 v 1 h 1 7 1 v -1 c 0,-0.52 -0.45,-1 -1,-1"
-       id="path572"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(168,192)"
-     id="g574">
-    <path
-       transform="translate(0,-48)"
-       d="M 10,57 H 8 v 9 h 11 v -2 h -9 z"
-       id="path578"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(0,-48)"
-       d="m 13,56 h 7 v 5 h -7 z m -2,-2 v 9 h 11 v -9 z"
-       id="path580"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(194,0)"
-     id="g582">
-    <path
-       transform="translate(-96,0)"
-       d="m 112,6.6909 c -3.6364,0 -6.7418,2.2618 -8,5.4545 1.2582,3.1927 4.3636,5.4545 8,5.4545 3.6364,0 6.7418,-2.2618 8,-5.4545 -1.2582,-3.1927 -4.3636,-5.4545 -8,-5.4545 z m 0,9.0909 c -2.0073,0 -3.6364,-1.6291 -3.6364,-3.6364 0,-2.0073 1.6291,-3.6364 3.6364,-3.6364 2.0073,0 3.6364,1.6291 3.6364,3.6364 0,2.0073 -1.6291,3.6364 -3.6364,3.6364 z m 0,-5.8182 c -1.2073,0 -2.1818,0.97455 -2.1818,2.1818 0,1.2073 0.97455,2.1818 2.1818,2.1818 1.2073,0 2.1818,-0.97455 2.1818,-2.1818 0,-1.2073 -0.97455,-2.1818 -2.1818,-2.1818 z"
-       id="path586"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(194,24)"
-     id="g588">
-    <path
-       transform="translate(-128,-48)"
-       d="m 153,57 h -11 v -2 h 11 v 2 z"
-       id="path592"
-       inkscape:connector-curvature="0"
-       style="opacity:0.2" />
-    <path
-       transform="translate(-128,-48)"
-       d="m 142,57 h -6 v -2 h 6 v 2 z"
-       id="path594"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-128,-48)"
-       d="m 145,60 h -6 v -2 h 6 v 2 z"
-       id="path596"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-128,-48)"
-       d="m 150,63 h -6 v -2 h 6 v 2 z"
-       id="path598"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="translate(-128,-48)"
-       d="m 152,66 h -6 v -2 h 6 v 2 z"
-       id="path600"
-       inkscape:connector-curvature="0" />
-  </g>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="12.355932"
-     y="231.55931"
-     id="text4355"><tspan
-       sodipodi:role="line"
-       id="tspan4357"
-       x="12.355932"
-       y="231.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">a</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="40.355934"
-     y="231.55931"
-     id="text4355-3"><tspan
-       sodipodi:role="line"
-       id="tspan4357-6"
-       x="40.355934"
-       y="231.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">b</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="68.355934"
-     y="231.55931"
-     id="text4355-7"><tspan
-       sodipodi:role="line"
-       id="tspan4357-5"
-       x="68.355934"
-       y="231.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">c</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="96.355934"
-     y="231.55931"
-     id="text4355-35"><tspan
-       sodipodi:role="line"
-       id="tspan4357-62"
-       x="96.355934"
-       y="231.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">d</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="124.35593"
-     y="231.55931"
-     id="text4355-9"><tspan
-       sodipodi:role="line"
-       id="tspan4357-1"
-       x="124.35593"
-       y="231.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">e</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="152.35593"
-     y="231.55931"
-     id="text4355-2"><tspan
-       sodipodi:role="line"
-       id="tspan4357-7"
-       x="152.35593"
-       y="231.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">f</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="180.35593"
-     y="231.55931"
-     id="text4355-0"><tspan
-       sodipodi:role="line"
-       id="tspan4357-9"
-       x="180.35593"
-       y="231.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">g</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="208.35593"
-     y="231.55931"
-     id="text4355-36"><tspan
-       sodipodi:role="line"
-       id="tspan4357-0"
-       x="208.35593"
-       y="231.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">h</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-15.644068"
-     y="207.55931"
-     id="text4355-6"><tspan
-       sodipodi:role="line"
-       id="tspan4357-2"
-       x="-15.644068"
-       y="207.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">1</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-15.644068"
-     y="183.55931"
-     id="text4355-61"><tspan
-       sodipodi:role="line"
-       id="tspan4357-8"
-       x="-15.644068"
-       y="183.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">2</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-15.644068"
-     y="159.55931"
-     id="text4355-79"><tspan
-       sodipodi:role="line"
-       id="tspan4357-20"
-       x="-15.644068"
-       y="159.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">3</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-15.644068"
-     y="135.55931"
-     id="text4355-23"><tspan
-       sodipodi:role="line"
-       id="tspan4357-75"
-       x="-15.644068"
-       y="135.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">4</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-15.644068"
-     y="111.55931"
-     id="text4355-92"><tspan
-       sodipodi:role="line"
-       id="tspan4357-28"
-       x="-15.644068"
-       y="111.55931"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">5</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-15.644068"
-     y="87.559311"
-     id="text4355-97"><tspan
-       sodipodi:role="line"
-       id="tspan4357-3"
-       x="-15.644068"
-       y="87.559311"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">6</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-15.644068"
-     y="63.559311"
-     id="text4355-612"><tspan
-       sodipodi:role="line"
-       id="tspan4357-93"
-       x="-15.644068"
-       y="63.559311"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">7</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-15.644068"
-     y="39.559311"
-     id="text4355-1"><tspan
-       sodipodi:role="line"
-       id="tspan4357-94"
-       x="-15.644068"
-       y="39.559311"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">8</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-15.644068"
-     y="15.559311"
-     id="text4355-78"><tspan
-       sodipodi:role="line"
-       id="tspan4357-4"
-       x="-15.644068"
-       y="15.559311"
-       style="font-size:12px;line-height:1.25;font-family:sans-serif">9</tspan></text>
-  <g
-     id="Page-1-6"
-     style="fill:none;stroke:none"
-     transform="translate(200,50)">
-    <g
-       id="undo">
-      <rect
-         height="20"
-         width="20"
-         y="0"
-         x="0"
-         id="bounds"
-         style="fill:#ffffff;fill-opacity:0" />
-      <path
-         id="shape"
-         d="M 4.3431457,9.3431458 C 5.790861,7.8954305 7.790861,7 10,7 c 3.555275,0 6.568879,2.3191676 7.610506,5.527197 L 16.155367,13 15.658589,13 C 14.834916,10.669615 12.612438,9 10,9 8.3431458,9 6.8431457,9.6715729 5.7573593,10.757359 L 8,13 2,13 2,7 l 2.3431457,2.3431458 0,0 z"
-         inkscape:connector-curvature="0"
-         style="fill:#000000" />
-    </g>
-  </g>
-  <path
-     style="fill:#000000"
-     sodipodi:nodetypes="ccccccccccccc"
-     inkscape:connector-curvature="0"
-     d="m 215,82 -3,0 0,-4 -4,0 0,4 -3,0 5,6 z m -10,7 0,1 10,0 0,-1 z"
-     id="path4295" />
-  <path
-     style="fill:none"
-     inkscape:connector-curvature="0"
-     d="m 196,72 h 24 v 24 h -24 z"
-     id="path4297" />
-  <path
-     style="fill:#000000"
-     d="m 210,102 -5,6 3,0 0,4 4,0 0,-4 3,0 z m -5,11 0,1 10,0 0,-1 z"
-     id="path4295-3"
-     inkscape:connector-curvature="0"
-     sodipodi:nodetypes="ccccccccccccc" />
-  <rect
-     style="fill:#000000;"
-     id="square-icon"
-     width="8"
-     height="8"
-     x="206"
-     y="176" />
-  <g
-     style="fill:#000000"
-     id="g4456"
-     transform="matrix(0.78548728,0,0,0.78548728,200.6822,123.63151)">
-    <path
-       id="path4442"
-       d="M 15.5,14 H 14.71 L 14.43,13.73 C 15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3 5.91,3 3,5.91 3,9.5 3,13.09 5.91,16 9.5,16 c 1.61,0 3.09,-0.59 4.23,-1.57 L 14,14.71 v 0.79 l 5,4.99 1.49,-1.49 z m -6,0 C 7.01,14 5,11.99 5,9.5 5,7.01 7.01,5 9.5,5 11.99,5 14,7.01 14,9.5 14,11.99 11.99,14 9.5,14 Z"
-       inkscape:connector-curvature="0" />
-    <path
-       id="path4444"
-       d="M 0,0 H 24 V 24 H 0 Z"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-  </g>
-  <path
-     inkscape:connector-curvature="0"
-     id="path524-5"
-     d="m 211.71941,203.4233 c 0,1.1 0.9,2 2,2 1.1,0 2,-0.9 2,-2 0,-1.1 -0.9,-2 -2,-2 -1.1,0 -2,0.9 -2,2" />
-  <g
-     transform="translate(190.16772,189.5042)"
-     id="g520-3">
-    <path
-       d="m 20.83228,13.9958 -4,-4.5 v 3 h -4 v 3 h 4 v 3 z"
-       id="path526-7"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cccccccc" />
-  </g>
-</svg>
diff --git a/front_end/Images/src/mediumIcons.svg b/front_end/Images/src/mediumIcons.svg
deleted file mode 100644
index f14cc0c..0000000
--- a/front_end/Images/src/mediumIcons.svg
+++ /dev/null
@@ -1,906 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="96"
-   height="96"
-   id="svg4775"
-   version="1.1"
-   inkscape:version="0.92.3 (2405546, 2018-03-11)"
-   sodipodi:docname="mediumIcons.svg"
-   inkscape:export-filename="/Users/pfeldman/code/chromium/src/third_party/WebKit/Source/devtools/front_end/Images/mediumIcons.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <metadata
-     id="metadata4917">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs4915">
-    <linearGradient
-       id="sprite6_b-6">
-      <stop
-         id="stop4236-2"
-         offset="0"
-         stop-color="#d7687d" />
-      <stop
-         id="stop4238-6"
-         offset="1"
-         stop-color="#b21402" />
-    </linearGradient>
-    <linearGradient
-       xlink:href="#sprite6_b-6"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0,-0.41667,-0.41667,0,25,10)"
-       x2="24"
-       id="sprite6_a-0" />
-    <linearGradient
-       id="sprite9_d-9">
-      <stop
-         id="stop4292-1"
-         offset="0"
-         stop-color="#606eda" />
-      <stop
-         id="stop4294-2"
-         offset="1"
-         stop-color="#021db2" />
-    </linearGradient>
-    <linearGradient
-       xlink:href="#sprite9_d-9"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.71429,0,0,0.71429,-0.714,-69.286)"
-       y2="104"
-       y1="104"
-       x2="127"
-       x1="113"
-       id="sprite9_a-2" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#sprite6_b-6"
-       id="linearGradient5055"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0,-0.41667,-0.41667,0,25,10)"
-       x2="24" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#sprite9_d-9"
-       id="linearGradient5057"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.71429,0,0,0.71429,-0.714,-69.286)"
-       x1="113"
-       y1="104"
-       x2="127"
-       y2="104" />
-  </defs>
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="2558"
-     inkscape:window-height="1378"
-     id="namedview4913"
-     showgrid="true"
-     inkscape:zoom="5.2149126"
-     inkscape:cx="-59.586191"
-     inkscape:cy="76.536441"
-     inkscape:window-x="39"
-     inkscape:window-y="26"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg4775">
-    <inkscape:grid
-       type="xygrid"
-       id="grid4919"
-       empspacing="5"
-       visible="true"
-       enabled="true"
-       snapvisiblegridlinesonly="true"
-       spacingx="16"
-       spacingy="16"
-       originx="0"
-       originy="0" />
-  </sodipodi:namedview>
-  <g
-     id="g4777"
-     transform="translate(0,32)">
-    <path
-       d="m 3,4 h 10 v 9.008 C 13,14.1082 12.11257,15 11.0004,15 H 4.9996 C 3.8952,15 3,14.09982 3,13.008 Z M 2,2 H 14 V 3 H 2 Z M 5,1 h 6 V 2 H 5 Z"
-       id="path4781"
-       inkscape:connector-curvature="0"
-       style="fill:#212121" />
-  </g>
-  <g
-     transform="translate(16,32)"
-     id="g4783">
-    <path
-       d="M 13.526,6.25 H 12.0523 V 5.5 c 0,-0.414 -0.33011,-0.75 -0.73684,-0.75 H 9.84176 V 4 c 0,-0.414 -0.33011,-0.75 -0.73684,-0.75 H 8.36808 V 1.75 C 8.36808,1.423 8.16029,1.153 7.87366,1.0495 7.81987,1.021 7.74913,1 7.63124,1 c -3.6628,0 -6.6316,3.0218 -6.6316,6.75 0,3.7275 2.9687,6.75 6.6316,6.75 3.6629,0 6.6316,-3.0225 6.6316,-6.75 V 7 c 0,-0.414 -0.3301,-0.75 -0.73684,-0.75 z M 3.5786,8.5 C 2.96784,8.5 2.4733,7.99667 2.4733,7.375 2.4733,6.75333 2.9678,6.25 3.5786,6.25 4.1894,6.25 4.6839,6.75333 4.6839,7.375 4.6839,7.99667 4.1894,8.5 3.5786,8.5 Z M 4.6839,4.375 c 0,-0.62175 0.49516,-1.125 1.1053,-1.125 0.61084,0 1.1053,0.50325 1.1053,1.125 C 6.8945,4.996 6.40008,5.5 5.7892,5.5 5.17909,5.5 4.6839,4.996 4.6839,4.375 Z M 6.8944,13 c -0.61059,0 -1.1053,-0.50334 -1.1053,-1.1246 0,-0.62129 0.49467,-1.1254 1.1053,-1.1254 0.61063,0 1.1053,0.50409 1.1053,1.1254 C 7.9997,12.49668 7.50503,13 6.8944,13 Z M 7.26282,9.25 C 6.65271,9.25 6.15752,8.746 6.15752,8.125 6.15752,7.504 6.65268,7 7.26282,7 c 0.61014,0 1.1053,0.504 1.1053,1.125 0,0.621 -0.49516,1.125 -1.1053,1.125 z m 3.6842,1.5 c -0.6101,0 -1.1053,-0.504 -1.1053,-1.125 0,-0.621 0.49516,-1.125 1.1053,-1.125 0.61011,0 1.1053,0.504 1.1053,1.125 0,0.621 -0.49516,1.125 -1.1053,1.125 z"
-       id="path4787"
-       inkscape:connector-curvature="0"
-       style="fill:#212121" />
-  </g>
-  <g
-     transform="translate(32,32)"
-     id="g4789">
-    <path
-       d="M 8,6 C 11.3137,6 14,5.10457 14,4 14,2.89543 11.3137,2 8,2 4.6863,2 2,2.89543 2,4 2,5.10457 4.6863,6 8,6 Z m -6,7 c 0,1.1046 2.6863,2 6,2 3.3137,0 6,-0.89543 6,-2 v -2 c 0,1.1046 -2.6863,2 -6,2 -3.3137,0 -6,-0.89543 -6,-2 z m 0,-3 c 0,1.1046 2.6863,2 6,2 3.3137,0 6,-0.89543 6,-2 V 8 C 14,9.1046 11.3137,10 8,10 4.6863,10 2,9.10457 2,8 Z M 2,7 c 0,1.1046 2.6863,2 6,2 3.3137,0 6,-0.89543 6,-2 V 5 C 14,6.1046 11.3137,7 8,7 4.6863,7 2,6.10457 2,5 Z"
-       id="path4793"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(48,32)"
-     id="g4795">
-    <g
-       id="g4799">
-      <g
-         id="g4801"
-         style="fill:none">
-        <path
-           d="M 0,0 H 16 V 16 H 0 Z"
-           id="path4803"
-           inkscape:connector-curvature="0" />
-        <path
-           transform="translate(3,1)"
-           d="M 6,0 H 0.9954 C 0.45567,0 0,0.45078 0,1.0068 v 11.986 c 0,0.5569 0.44565,1.0068 0.9954,1.0068 H 9.0046 C 9.54433,13.9996 10,13.54882 10,12.9928 V 3.9996 l -4,-4 z M 9.29,4 H 6 V 0.71 Z"
-           id="path4805"
-           inkscape:connector-curvature="0"
-           style="fill:#000000" />
-      </g>
-    </g>
-  </g>
-  <g
-     transform="translate(0,48)"
-     id="g4807">
-    <path
-       d="M 6.5,3.2289 V 1 h 3 v 2.2289 c 0.70763,0.22225 1.3475,0.59759 1.8807,1.0872 l 1.9315,-1.1151 1.5,2.5981 -1.9305,1.1146 c 0.07749,0.34976 0.11835,0.71329 0.11835,1.0864 0,0.37311 -0.04086,0.73661 -0.11835,1.0864 l 1.9305,1.1146 -1.5,2.5981 -1.9315,-1.1151 C 10.84746,12.17371 10.2076,12.54904 9.5,12.7713 v 2.2289 h -3 V 12.7713 C 5.79237,12.54905 5.1525,12.17371 4.6193,11.6841 l -1.9315,1.1151 -1.5,-2.5981 1.9305,-1.1146 C 3.04081,8.73674 2.99995,8.37321 2.99995,8.0001 2.99995,7.62699 3.04081,7.26349 3.1183,6.9137 L 1.1878,5.7991 2.6878,3.201 4.6193,4.3161 C 5.15253,3.82649 5.7924,3.45116 6.5,3.2289 Z M 8,10.5 C 9.3807,10.5 10.5,9.3807 10.5,8 10.5,6.6193 9.3807,5.5 8,5.5 6.6193,5.5 5.5,6.6193 5.5,8 c 0,1.3807 1.1193,2.5 2.5,2.5 z"
-       id="path4811"
-       inkscape:connector-curvature="0"
-       style="fill:#212121" />
-  </g>
-  <g
-     transform="translate(16,48)"
-     id="g4813">
-    <path
-       d="M 2,3.999 C 2,3.44729 2.45098,3.00004 2.99078,3.00004 h 5.0092 v 3 h -6 v -2.001 z M 2,11 h 6 v 3 H 2.9908 C 2.44361,14 2.00002,13.55734 2.00002,13.00104 v -2.001 z M 2,7 h 6 v 3 H 2 Z M 9,3 h 5.0092 c 0.54719,0 0.99078,0.44266 0.99078,0.99896 v 2.001 h -6 v -3 z m 0,8 h 6 v 2.001 c 0,0.55171 -0.45098,0.99896 -0.99078,0.99896 h -5.0092 v -3 z M 9,7 h 6 v 3 H 9 Z"
-       id="path4817"
-       inkscape:connector-curvature="0"
-       style="fill:#212121" />
-  </g>
-  <g
-     transform="translate(34,50)"
-     id="g4819">
-    <path
-       transform="matrix(1.1,0,0,1.1,-3.3,-3.3)"
-       d="m 8,13 c 2.7614,0 5,-2.2386 5,-5 C 13,5.2386 10.7614,3 8,3 5.2386,3 3,5.2386 3,8 c 0,2.7614 2.2386,5 5,5 z M 8,11 V 9 H 5 V 7 H 8 V 5 l 3,3 z"
-       id="path4823"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(50,49)"
-     id="g4825">
-    <g
-       transform="translate(-76,-24)"
-       id="g4829">
-      <circle
-         transform="matrix(1.2,0,0,1.2,72.4,21.2)"
-         cx="10.5"
-         cy="11.5"
-         r="2.5"
-         id="circle4831"
-         style="fill:#009802" />
-      <path
-         d="m 78,25 c -0.54399,0 -1,0.45026 -1,1 v 8 c 0,0.53973 0.44936,1 1,1 h 3.0312 c -0.02335,-0.1633 -0.03125,-0.33024 -0.03125,-0.5 0,-0.16976 0.0079,-0.3367 0.03125,-0.5 H 78 v -8 h 3 v 3 h 3 v 1.5 c 0.1633,-0.02335 0.33024,0 0.5,0 0.16976,0 0.3367,-0.02335 0.5,0 V 28 l -3,-3 z m 4,1 2,2 h -2 z"
-         id="path4833"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-  <g
-     transform="translate(2,65)"
-     id="g4835">
-    <path
-       transform="translate(-65.625,-24.5)"
-       d="m 71.625,25.5 h -4.003 c -0.54399,0 -0.99703,0.44566 -0.99703,0.9954 v 8.0092 c 0,0.53973 0.44639,0.9954 0.99703,0.9954 h 6.0059 c 0.54399,0 0.99703,-0.44566 0.99703,-0.9954 V 28.5 l -3,-3 z m 0,1 2,2 h -2 z m -4,0 h 3 v 3 h 3 v 5 h -6 z"
-       id="path4839"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(17,65)"
-     id="g4841">
-    <path
-       transform="translate(-160,-96)"
-       d="m 160,102.5 c 0,3.59 2.91,6.5 6.5,6.5 3.59,0 6.5,-2.91 6.5,-6.5 0,-3.59 -2.91,-6.5 -6.5,-6.5 -3.59,0 -6.5,2.91 -6.5,6.5"
-       id="path4845"
-       inkscape:connector-curvature="0"
-       style="fill:#9f9f9f" />
-    <path
-       transform="translate(-160,-96)"
-       d="m 170,100.43 -0.93,-0.93 -2.57,2.57 -2.57,-2.57 -0.93,0.93 2.57,2.57 -2.57,2.57 0.93,0.93 2.57,-2.57 2.57,2.57 0.93,-0.93 -2.57,-2.57 z"
-       id="path4847"
-       inkscape:connector-curvature="0"
-       style="fill-opacity:0.36000001" />
-    <path
-       transform="translate(-160,-96)"
-       d="M 170,99.93 169.07,99 166.5,101.57 163.93,99 163,99.93 l 2.57,2.57 -2.57,2.57 0.93,0.93 2.57,-2.57 2.57,2.57 0.93,-0.93 -2.57,-2.57 z"
-       id="path4849"
-       inkscape:connector-curvature="0"
-       style="fill:#ffffff" />
-  </g>
-  <g
-     transform="translate(33,65)"
-     id="g4851">
-    <path
-       transform="translate(-143,-96)"
-       d="m 143,102.5 c 0,3.59 2.91,6.5 6.5,6.5 3.59,0 6.5,-2.91 6.5,-6.5 0,-3.59 -2.91,-6.5 -6.5,-6.5 -3.59,0 -6.5,2.91 -6.5,6.5"
-       id="path4855"
-       inkscape:connector-curvature="0"
-       style="fill:#bebebe" />
-    <path
-       transform="translate(-143,-96)"
-       d="m 153,100.43 -0.93,-0.93 -2.57,2.57 -2.57,-2.57 -0.93,0.93 2.57,2.57 -2.57,2.57 0.93,0.93 2.57,-2.57 2.57,2.57 0.93,-0.93 -2.57,-2.57 z"
-       id="path4857"
-       inkscape:connector-curvature="0"
-       style="fill-opacity:0.37000002" />
-    <path
-       transform="translate(-143,-96)"
-       d="M 153,99.93 152.07,99 149.5,101.57 146.93,99 146,99.93 l 2.57,2.57 -2.57,2.57 0.93,0.93 2.57,-2.57 2.57,2.57 0.93,-0.93 -2.57,-2.57 z"
-       id="path4859"
-       inkscape:connector-curvature="0"
-       style="fill:#ffffff" />
-  </g>
-  <g
-     transform="translate(49,65)"
-     id="g4861">
-    <path
-       transform="translate(-111,-96)"
-       d="m 118,96 c -3.87,0 -7,3.13 -7,7 0,3.87 3.13,7 7,7 3.87,0 7,-3.13 7,-7 0,-3.87 -3.13,-7 -7,-7"
-       id="path4865"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite12_a)" />
-    <path
-       transform="translate(-111,-96)"
-       d="m 111.5,103 c 0,3.59 2.91,6.5 6.5,6.5 3.59,0 6.5,-2.91 6.5,-6.5 0,-3.59 -2.91,-6.5 -6.5,-6.5 -3.59,0 -6.5,2.91 -6.5,6.5"
-       id="path4867"
-       inkscape:connector-curvature="0"
-       style="fill:#f27d82" />
-    <path
-       transform="translate(-111,-96)"
-       d="m 121.5,100.93 -0.93,-0.93 -2.57,2.57 -2.57,-2.57 -0.93,0.93 2.57,2.57 -2.57,2.57 0.93,0.93 2.57,-2.57 2.57,2.57 0.93,-0.93 -2.57,-2.57 z"
-       id="path4869"
-       inkscape:connector-curvature="0"
-       style="fill-opacity:0.36000001" />
-    <path
-       transform="translate(-111,-96)"
-       d="m 121.5,100.43 -0.93,-0.93 -2.57,2.57 -2.57,-2.57 -0.93,0.93 2.57,2.57 -2.57,2.57 0.93,0.93 2.57,-2.57 2.57,2.57 0.93,-0.93 -2.57,-2.57 z"
-       id="path4871"
-       inkscape:connector-curvature="0"
-       style="fill:#ffffff" />
-    <defs
-       id="defs4873">
-      <linearGradient
-         id="sprite12_r">
-        <stop
-           stop-color="#d7687d"
-           offset="0"
-           id="stop4876" />
-        <stop
-           stop-color="#b21402"
-           offset="1"
-           id="stop4878" />
-      </linearGradient>
-      <linearGradient
-         id="sprite12_a"
-         x2="24"
-         gradientTransform="matrix(0,-0.58333,-0.58333,0,118,110)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite12_r" />
-    </defs>
-  </g>
-  <g
-     transform="translate(1,81)"
-     id="g4881">
-    <path
-       transform="translate(-96,-96)"
-       d="m 103,110 c 3.87,0 7,-3.13 7,-7 0,-3.87 -3.13,-7 -7,-7 -3.87,0 -7,3.13 -7,7 0,3.87 3.13,7 7,7"
-       id="path4885"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite13_a)" />
-    <path
-       transform="translate(-96,-96)"
-       d="m 103,96.5 c -3.59,0 -6.5,2.91 -6.5,6.5 0,3.59 2.91,6.5 6.5,6.5 3.59,0 6.5,-2.91 6.5,-6.5 0,-3.59 -2.91,-6.5 -6.5,-6.5"
-       id="path4887"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite13_b)" />
-    <path
-       transform="translate(-96,-96)"
-       d="m 106.5,100.93 -0.93,-0.93 -2.57,2.57 -2.57,-2.57 -0.93,0.93 2.57,2.57 -2.57,2.57 0.93,0.93 2.57,-2.57 2.57,2.57 0.93,-0.93 -2.57,-2.57 z"
-       id="path4889"
-       inkscape:connector-curvature="0"
-       style="fill:#993c35" />
-    <path
-       transform="translate(-96,-96)"
-       d="m 106.5,100.43 -0.93,-0.93 -2.57,2.57 -2.57,-2.57 -0.93,0.93 2.57,2.57 -2.57,2.57 0.93,0.93 2.57,-2.57 2.57,2.57 0.93,-0.93 -2.57,-2.57 z"
-       id="path4891"
-       inkscape:connector-curvature="0"
-       style="fill:#ffffff" />
-    <defs
-       id="defs4893">
-      <linearGradient
-         id="sprite13_b"
-         x1="96.5"
-         x2="109.5"
-         y1="103"
-         y2="103"
-         gradientTransform="rotate(90,103,103)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite13_q" />
-      <linearGradient
-         id="sprite13_q">
-        <stop
-           stop-color="#e59290"
-           offset="0"
-           id="stop4897" />
-        <stop
-           stop-color="#e99890"
-           offset="1"
-           id="stop4899" />
-      </linearGradient>
-      <linearGradient
-         id="sprite13_a"
-         x1="113"
-         x2="127"
-         y1="104"
-         y2="104"
-         gradientTransform="rotate(90,112,95)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite13_r" />
-      <linearGradient
-         id="sprite13_r">
-        <stop
-           stop-color="#c0544f"
-           offset="0"
-           id="stop4903" />
-        <stop
-           stop-color="#d08481"
-           offset="1"
-           id="stop4905" />
-      </linearGradient>
-    </defs>
-  </g>
-  <g
-     transform="translate(18,82)"
-     id="g4907">
-    <path
-       transform="translate(-234,-30)"
-       d="m 242.27,38.92 c -0.75073,0.56132 -1.6826,0.89372 -2.6921,0.89372 -2.4853,0 -4.5,-2.0147 -4.5,-4.5 0,-2.4853 2.0147,-4.5 4.5,-4.5 2.4853,0 4.5,2.0147 4.5,4.5 0,1.1154 -0.40579,2.136 -1.0778,2.9222 l 2.3456,2.3456 -0.70711,0.70711 z m -2.6921,-0.10628 c 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 z"
-       id="path4911"
-       inkscape:connector-curvature="0"
-       style="fill:#5b5b5b" />
-  </g>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-11.403088"
-     y="91.207672"
-     id="text4355"><tspan
-       sodipodi:role="line"
-       id="tspan4357"
-       x="-11.403088"
-       y="91.207672"
-       style="font-size:10px;line-height:1.25;font-family:sans-serif">1</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-11.144299"
-     y="75.675293"
-     id="text4355-8"><tspan
-       sodipodi:role="line"
-       id="tspan4357-8"
-       x="-11.144299"
-       y="75.675293"
-       style="font-size:10px;line-height:1.25;font-family:sans-serif">2</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-11.066174"
-     y="60.142918"
-     id="text4355-4"><tspan
-       sodipodi:role="line"
-       id="tspan4357-3"
-       x="-11.066174"
-       y="60.142918"
-       style="font-size:10px;line-height:1.25;font-family:sans-serif">3</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="-11.266369"
-     y="44.610538"
-     id="text4355-1"><tspan
-       sodipodi:role="line"
-       id="tspan4357-4"
-       x="-11.266369"
-       y="44.610538"
-       style="font-size:10px;line-height:1.25;font-family:sans-serif">4</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="5.9353299"
-     y="108.08236"
-     id="text4355-9"><tspan
-       sodipodi:role="line"
-       id="tspan4357-2"
-       x="5.9353299"
-       y="108.08236"
-       style="font-size:10px;line-height:1.25;font-family:sans-serif">a</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="21.659466"
-     y="108.08236"
-     id="text4355-0"><tspan
-       sodipodi:role="line"
-       id="tspan4357-6"
-       x="21.659466"
-       y="108.08236"
-       style="font-size:10px;line-height:1.25;font-family:sans-serif">b</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="37.383606"
-     y="108.08236"
-     id="text4355-89"><tspan
-       sodipodi:role="line"
-       id="tspan4357-26"
-       x="37.383606"
-       y="108.08236"
-       style="font-size:10px;line-height:1.25;font-family:sans-serif">c</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#b3b3b3;fill-opacity:1;stroke:none"
-     x="53.107742"
-     y="108.08236"
-     id="text4355-6"><tspan
-       sodipodi:role="line"
-       id="tspan4357-49"
-       x="53.107742"
-       y="108.08236"
-       style="font-size:10px;line-height:1.25;font-family:sans-serif">d</tspan></text>
-  <g
-     style="fill:none;stroke:none"
-     id="g6346"
-     transform="translate(32,80)">
-    <polygon
-       points="16,16 0,16 0,0 16,0 "
-       id="polygon6348" />
-    <path
-       style="fill:#000000"
-       inkscape:connector-curvature="0"
-       id="path6350"
-       d="M 8,1 C 4.136,1 1,4.136 1,8 c 0,3.864 3.136,7 7,7 3.864,0 7,-3.136 7,-7 C 15,4.136 11.864,1 8,1 Z M 2.5,8 C 2.5,4.968125 4.968125,2.5 8,2.5 c 3.031875,0 5.5,2.468125 5.5,5.5 0,3.031875 -2.468125,5.5 -5.5,5.5 C 4.968125,13.5 2.5,11.031875 2.5,8 Z M 9,12 V 7 H 7 v 5 z M 7,6 H 9 V 4 H 7 Z" />
-  </g>
-  <g
-     id="g4443-7"
-     transform="matrix(1.3997356,0,0,1.3934295,65.053843,81.020556)"
-     mask="url(#path4453-6-mask)">
-    <path
-       transform="translate(-60)"
-       d="m 61,9 4,-8 4,8 z"
-       id="path4447-5"
-       inkscape:connector-curvature="0"
-       style="stroke:#c19600;stroke-width:2;stroke-linejoin:round" />
-    <path
-       transform="translate(-60)"
-       d="m 61,9 4,-8 4,8 z"
-       id="path4449-3"
-       inkscape:connector-curvature="0"
-       style="fill:#f4bd00;stroke:#f5bd00;stroke-width:1.5;stroke-linejoin:round" />
-    <path
-       transform="translate(-60)"
-       d="m 63.75,2.75 h 2.5 v 2.5 L 65.75,7 h -1.5 l -0.5,-1.75 v -2.5 m 0,5.25 h 2.5 v 1.25 h -2.5"
-       id="path4451-5"
-       inkscape:connector-curvature="0"
-       style="fill:#ad8601" />
-    <mask
-       id="path4453-6-mask">
-      <rect
-         width="10"
-         height="10"
-         style="fill:#ffffff"
-         id="rect8990"
-         x="0"
-         y="0" />
-      <path
-         transform="translate(-60)"
-         d="m 64,3 h 2 V 5.25 L 65.5,7 h -1 L 64,5.25 V 3 m 0,5 h 2 v 1 h -2"
-         id="path4453-6"
-         inkscape:connector-curvature="0"
-         style="fill:#000000" />
-    </mask>
-  </g>
-  <g
-     id="g4279-7"
-     transform="matrix(1.36,0,0,1.34,65.3,65.5)"
-     mask="url(#path4287-3-mask)">
-    <path
-       transform="translate(-80)"
-       d="m 85,-4.7795e-7 c -2.76,0 -5,2.23999997795 -5,4.99999997795 0,2.76 2.24,5 5,5 2.76,0 5,-2.24 5,-5 C 90,2.2399995 87.76,-4.7795e-7 85,-4.7795e-7"
-       id="path4283-0"
-       inkscape:connector-curvature="0"
-       style="fill:url(#linearGradient5057)" />
-    <path
-       transform="translate(-80)"
-       d="m 80.36,5 c 0,2.56 2.08,4.64 4.64,4.64 2.56,0 4.64,-2.08 4.64,-4.64 0,-2.56 -2.08,-4.64 -4.64,-4.64 -2.56,0 -4.64,2.08 -4.64,4.64"
-       id="path4285-9"
-       inkscape:connector-curvature="0"
-       style="fill:#2a53cd" />
-    <mask
-       id="path4287-3-mask">
-      <rect
-         width="10"
-         height="10"
-         style="fill:#ffffff"
-         id="rect8997"
-         x="0"
-         y="0" />
-      <path
-         transform="translate(-80)"
-         d="m 83.93,2.14 c -0.03,-0.53 0.55,-0.97 1.06,-0.83 0.5,0.12 0.79,0.73 0.56,1.18 -0.2,0.44 -0.79,0.61 -1.2,0.36 C 84.09,2.71 83.93,2.43 83.93,2.14 Z m 1.7,5.46 H 86.3 V 8.13 H 83.41 V 7.6 h 0.66 V 3.99 H 83.41 V 3.46 h 2.22 z"
-         id="path4287-3"
-         inkscape:connector-curvature="0"
-         style="fill:#000000" />
-    </mask>
-    <defs
-       id="defs4289-6">
-      <linearGradient
-         id="linearGradient3198">
-        <stop
-           stop-color="#606eda"
-           offset="0"
-           id="stop3200" />
-        <stop
-           stop-color="#021db2"
-           offset="1"
-           id="stop3202" />
-      </linearGradient>
-      <linearGradient
-         id="linearGradient3204"
-         x1="113"
-         x2="127"
-         y1="104"
-         y2="104"
-         gradientTransform="matrix(0.71429,0,0,0.71429,-0.714,-69.286)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite9_d-9" />
-    </defs>
-  </g>
-  <g
-     id="g4221-1"
-     transform="matrix(1.37,0,0,1.36,65.2,49.3)"
-     mask="url(#path4229-9-path4231-2-mask)">
-    <path
-       transform="translate(-20)"
-       d="m 25,-4.7795e-7 c -2.76,0 -5,2.23999997795 -5,4.99999997795 0,2.76 2.24,5 5,5 2.76,0 5,-2.24 5,-5 C 30,2.2399995 27.76,-4.7795e-7 25,-4.7795e-7"
-       id="path4225-8"
-       inkscape:connector-curvature="0"
-       style="fill:url(#linearGradient5055)" />
-    <path
-       transform="translate(-20)"
-       d="m 20.36,5 c 0,2.56 2.08,4.64 4.64,4.64 2.56,0 4.64,-2.08 4.64,-4.64 0,-2.56 -2.08,-4.64 -4.64,-4.64 -2.56,0 -4.64,2.08 -4.64,4.64"
-       id="path4227-7"
-       inkscape:connector-curvature="0"
-       style="fill:#eb3941" />
-    <mask
-       id="path4229-9-path4231-2-mask">
-      <rect
-         width="10"
-         height="10"
-         style="fill:#ffffff"
-         id="rect9010"
-         x="0"
-         y="0" />
-      <path
-         transform="translate(-20)"
-         d="m 23,3 4,4"
-         id="path4229-9"
-         inkscape:connector-curvature="0"
-         style="stroke:#000000" />
-      <path
-         transform="translate(-20)"
-         d="M 27,3 23,7"
-         id="path4231-2"
-         inkscape:connector-curvature="0"
-         style="stroke:#000000" />
-    </mask>
-    <defs
-       id="defs4233-0">
-      <linearGradient
-         id="linearGradient3257">
-        <stop
-           stop-color="#d7687d"
-           offset="0"
-           id="stop3259" />
-        <stop
-           stop-color="#b21402"
-           offset="1"
-           id="stop3261" />
-      </linearGradient>
-      <linearGradient
-         id="linearGradient3263"
-         x2="24"
-         gradientTransform="matrix(0,-0.41667,-0.41667,0,25,10)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite6_b-6" />
-    </defs>
-  </g>
-  <g
-     style="fill:#000000"
-     id="g9271"
-     transform="matrix(0.66666667,0,0,0.66666667,64,32)">
-    <path
-       id="path9261"
-       d="M 12,2 C 6.48,2 2,6.48 2,12 2,17.52 6.48,22 12,22 17.52,22 22,17.52 22,12 22,6.48 17.52,2 12,2 Z m 0,3 c 1.66,0 3,1.34 3,3 0,1.66 -1.34,3 -3,3 C 10.34,11 9,9.66 9,8 9,6.34 10.34,5 12,5 Z m 0,14.2 c -2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22 z"
-       inkscape:connector-curvature="0" />
-    <path
-       id="path9263"
-       d="M 0,0 H 24 V 24 H 0 Z"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-  </g>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:0.37333332;stroke:none"
-     x="-10.738436"
-     y="28.11775"
-     id="text5090"><tspan
-       sodipodi:role="line"
-       id="tspan5092"
-       x="-10.738436"
-       y="28.11775"
-       style="font-size:10px;line-height:1.25;font-family:sans-serif">5</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:0.35111114;stroke:none"
-     x="68.649277"
-     y="107.69722"
-     id="text5862"><tspan
-       sodipodi:role="line"
-       id="tspan5864"
-       x="68.649277"
-       y="107.69722"
-       style="font-size:10px;line-height:1.25;font-family:sans-serif">e</tspan></text>
-  <g
-     style="fill:#000000"
-     id="g5994"
-     transform="matrix(0.75,0,0,0.75,63,15)">
-    <path
-       id="path5984"
-       d="M 3,13 H 5 V 11 H 3 Z m 0,4 H 5 V 15 H 3 Z M 3,9 H 5 V 7 H 3 Z m 4,4 H 21 V 11 H 7 Z m 0,4 H 21 V 15 H 7 Z M 7,7 V 9 H 21 V 7 Z"
-       inkscape:connector-curvature="0" />
-    <path
-       id="path5986"
-       d="M 0,0 H 24 V 24 H 0 Z"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-  </g>
-  <g
-     style="fill:#000000"
-     id="g6079"
-     transform="matrix(0.75,0,0,0.75,47,79)">
-    <path
-       id="path6069"
-       d="M 0,0 H 24 V 24 H 0 Z"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       id="path6071"
-       d="M 20,8 H 17.19 C 16.74,7.22 16.12,6.55 15.37,6.04 L 17,4.41 15.59,3 13.42,5.17 C 12.96,5.06 12.49,5 12,5 11.51,5 11.04,5.06 10.59,5.17 L 8.41,3 7,4.41 8.62,6.04 C 7.88,6.55 7.26,7.22 6.81,8 H 4 v 2 H 6.09 C 6.04,10.33 6,10.66 6,11 v 1 H 4 v 2 h 2 v 1 c 0,0.34 0.04,0.67 0.09,1 H 4 v 2 h 2.81 c 1.04,1.79 2.97,3 5.19,3 2.22,0 4.15,-1.21 5.19,-3 H 20 V 16 H 17.91 C 17.96,15.67 18,15.34 18,15 v -1 h 2 v -2 h -2 v -1 c 0,-0.34 -0.04,-0.67 -0.09,-1 H 20 Z m -6,8 h -4 v -2 h 4 z m 0,-4 h -4 v -2 h 4 z"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     style="fill:none;stroke:none"
-     id="g6340"
-     transform="translate(48,16)">
-    <rect
-       style="opacity:0.2"
-       height="16"
-       width="16"
-       y="0"
-       x="0"
-       id="rect6342" />
-    <path
-       style="fill:#000000"
-       inkscape:connector-curvature="0"
-       id="path6344"
-       d="m 0.5,14 h 15 L 8,1 Z M 9,12 H 7 V 10 H 9 Z M 9,9 H 7 V 6 h 2 z" />
-  </g>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-     x="32.469646"
-     y="23.902472"
-     id="text3111"><tspan
-       sodipodi:role="line"
-       id="tspan3113"
-       x="32.469646"
-       y="23.902472"
-       style="font-weight:bold;font-size:10px;line-height:1.25;font-family:sans-serif">A</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-     x="40.362782"
-     y="31.525425"
-     id="text3115"><tspan
-       sodipodi:role="line"
-       id="tspan3117"
-       x="40.362782"
-       y="31.525425"
-       style="font-weight:bold;font-size:10px;line-height:1.25;font-family:sans-serif">B</tspan></text>
-  <path
-     d="m 37.955041,29.088794 c -1.914609,-0.291809 -2.119489,-0.899233 -2.237,-4.129445 h -1.219783 c 0.04662,3.855641 0.06137,5.297137 5.735435,5.257508 l 0.316769,-0.01434 -2.595652,-2.995518 c -0.01446,0.611794 -0.01486,1.270551 2.31e-4,1.881795 z"
-     id="path448"
-     inkscape:connector-curvature="0"
-     sodipodi:nodetypes="ccccccc" />
-  <g
-     id="BackgroundSyncIcon"
-     style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1"
-     transform="matrix(0.32,0,0,0.32,0,16)">
-    <g
-       id="Sync-Icon">
-      <rect
-         height="50"
-         width="50"
-         y="0"
-         x="0"
-         id="Mask" />
-      <g
-         transform="translate(8,2)"
-         id="Group"
-         style="fill:#000000;fill-rule:nonzero">
-        <path
-           id="Combined-Shape"
-           d="m 21.939098,33.353403 4.42699,4.044699 C 23.680429,39.200531 20.460997,40.25 17,40.25 7.6111592,40.25 0,32.526912 0,23 c 0,-2.865443 0.68854129,-5.567703 1.9068985,-7.945722 3.722e-4,-7.26e-4 7.445e-4,-0.0015 0.00112,-0.0022 L 6.335865,19.097583 C 5.9027264,20.316125 5.6666667,21.63009 5.6666667,23 c 0,6.351275 5.0741063,11.5 11.3333333,11.5 1.770533,0 3.446239,-0.411971 4.939098,-1.146597 z m 5.704636,-6.394068 C 28.08984,25.724919 28.333333,24.391313 28.333333,23 28.333333,16.648725 23.259227,11.5 17,11.5 c -1.791763,0 -3.486411,0.42191 -4.992721,1.173162 L 7.5863091,8.6339629 C 10.281491,6.811921 13.518531,5.75 17,5.75 c 9.388841,0 17,7.723088 17,17.25 0,2.886982 -0.698932,5.60832 -1.934464,7.999293 z"
-           inkscape:connector-curvature="0" />
-        <polygon
-           points="26.444444,46 26.444444,28.75 17,37.375 "
-           transform="rotate(180,21.722222,37.375)"
-           id="Shape" />
-        <polygon
-           points="17,17.25 17,0 7.5555556,8.625 "
-           id="polygon4215" />
-      </g>
-    </g>
-  </g>
-  <g
-     id="Page-1"
-     style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1"
-     transform="matrix(0.66666667,0,0,0.66666667,17.333333,16.666667)">
-    <g
-       transform="translate(-2,-1)"
-       id="3px-Fetch">
-      <g
-         id="Fetch">
-        <rect
-           height="9"
-           width="3"
-           y="6"
-           x="6"
-           id="Rectangle"
-           style="fill:#000000" />
-        <rect
-           height="9"
-           width="3"
-           y="9"
-           x="15"
-           id="rect4301"
-           style="fill:#000000" />
-        <polygon
-           points="13,7 7.5,1 2,7 6.125,7 8.875,7 "
-           id="Path"
-           style="fill:#000000;fill-rule:nonzero" />
-        <polygon
-           points="22,23 16.5,17 11,23 15.125,23 17.875,23 "
-           transform="rotate(-180,16.5,20)"
-           id="polygon4304"
-           style="fill:#000000;fill-rule:nonzero" />
-        <rect
-           height="24"
-           width="24"
-           y="0"
-           x="0"
-           id="rect4306" />
-      </g>
-    </g>
-  </g>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:0.37333332;stroke:none"
-     x="-10.546678"
-     y="11.352402"
-     id="text5090-3"><tspan
-       sodipodi:role="line"
-       id="tspan5092-6"
-       x="-10.546678"
-       y="11.352402"
-       style="font-size:10px;line-height:1.25;font-family:sans-serif">6</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:0.35111114;stroke:none"
-     x="85.724823"
-     y="108.23496"
-     id="text5862-7"><tspan
-       sodipodi:role="line"
-       id="tspan5864-5"
-       x="85.724823"
-       y="108.23496"
-       style="font-size:10px;line-height:1.25;font-family:sans-serif">f</tspan></text>
-  <g
-     style="fill:#000000"
-     id="g259"
-     transform="matrix(0.58333333,0,0,0.58333333,1,1.0000001)">
-    <path
-       id="path245"
-       d="M 0,0 H 24 V 24 H 0 Z"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       id="path247"
-       d="M 19.35,10.04 C 18.67,6.59 15.64,4 12,4 9.11,4 6.6,5.64 5.35,8.04 2.34,8.36 0,10.91 0,14 c 0,3.31 2.69,6 6,6 h 13 c 2.76,0 5,-2.24 5,-5 0,-2.64 -2.05,-4.78 -4.65,-4.96 z"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     style="fill:#000000"
-     id="g320"
-     transform="matrix(0.71794872,0,0,0.71794872,15.428205,-0.79487184)">
-    <path
-       id="path309"
-       d="m 12,22 c 1.1,0 2,-0.9 2,-2 h -4 c 0,1.1 0.89,2 2,2 z m 6,-6 V 11 C 18,7.93 16.36,5.36 13.5,4.68 V 4 C 13.5,3.17 12.83,2.5 12,2.5 11.17,2.5 10.5,3.17 10.5,4 V 4.68 C 7.63,5.36 6,7.92 6,11 v 5 l -2,2 v 1 h 16 v -1 z"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     style="fill:#000000"
-     id="g232"
-     transform="matrix(0.66666667,0,0,0.66666667,32,0)">
-    <path
-       id="path218"
-       d="M 0,0 H 24 V 24 H 0 Z"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       id="path220"
-       d="M 20,4 H 4 C 2.89,4 2.01,4.89 2.01,6 L 2,18 c 0,1.11 0.89,2 2,2 h 16 c 1.11,0 2,-0.89 2,-2 V 6 C 22,4.89 21.11,4 20,4 Z m 0,14 H 4 V 12 H 20 Z M 20,8 H 4 V 6 h 16 z"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     id="g306"
-     transform="matrix(0.66666667,0,0,0.66666667,48,0)">
-    <path
-       id="path289"
-       d="M 11.99,2 C 6.47,2 2,6.48 2,12 2,17.52 6.47,22 11.99,22 17.52,22 22,17.52 22,12 22,6.48 17.52,2 11.99,2 Z M 12,20 C 7.58,20 4,16.42 4,12 4,7.58 7.58,4 12,4 c 4.42,0 8,3.58 8,8 0,4.42 -3.58,8 -8,8 z"
-       inkscape:connector-curvature="0" />
-    <path
-       id="path291"
-       d="M 0,0 H 24 V 24 H 0 Z"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       id="path293"
-       d="M 12.5,7 H 11 v 6 l 5.25,3.15 0.75,-1.23 -4.5,-2.67 z"
-       inkscape:connector-curvature="0" />
-  </g>
-</svg>
diff --git a/front_end/Images/src/optimize_svg.hashes b/front_end/Images/src/optimize_svg.hashes
deleted file mode 100644
index 2fc263c..0000000
--- a/front_end/Images/src/optimize_svg.hashes
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-    "securityIcons.svg": "27676f7c1f1542659c7c49a8052259dc",
-    "accelerometer-back.svg": "342973eb940ef43b409b28c2c6b0d520",
-    "largeIcons.svg": "faf26930e93e7525a3cbcc595527662c",
-    "breakpointConditional.svg": "4cf90210b2af2ed84db2f60b07bcde28",
-    "checkboxCheckmark.svg": "f039bf85cee42ad5c30ca3bfdce7912a",
-    "errorWave.svg": "e183fa242a22ed4784a92f6becbc2c45",
-    "smallIcons.svg": "ed10eae550f101ce8d1cc9e26dd8a33d",
-    "mediumIcons.svg": "9cb32f670ba43a7ab424eab281043e6b",
-    "breakpoint.svg": "69cd92d807259c022791112809b97799",
-    "treeoutlineTriangles.svg": "2d26ab85d919f83d5021f2f385dffd0b",
-    "chevrons.svg": "79b4b527771e30b6388ce664077b3409",
-    "audits_logo.svg": "3a4893bd2ef5bb233e924f15e51af69a",
-    "accelerometer-front.svg": "536ad784f667f32b2f3a94b6cce9e217"
-}
\ No newline at end of file
diff --git a/front_end/Images/src/securityIcons.svg b/front_end/Images/src/securityIcons.svg
deleted file mode 100644
index 0b8f777..0000000
--- a/front_end/Images/src/securityIcons.svg
+++ /dev/null
@@ -1,278 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="80"
-   height="32"
-   viewBox="0 0 80 32"
-   version="1.1"
-   id="svg6301"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="securityIcons.svg">
-  <metadata
-     id="metadata6418">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1525"
-     inkscape:window-height="1092"
-     id="namedview6416"
-     showgrid="false"
-     inkscape:zoom="17.55"
-     inkscape:cx="77.609293"
-     inkscape:cy="-1.8798347"
-     inkscape:window-x="615"
-     inkscape:window-y="171"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="Page"
-     showborder="true" />
-  <!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
-  <title
-     id="title6303">Non-Touch-Summary-Icons</title>
-  <desc
-     id="desc6305">Created with Sketch.</desc>
-  <defs
-     id="defs6307" />
-  <g
-     id="Page"
-     style="fill:none;stroke:none"
-     transform="translate(0,-64)">
-    <g
-       style="fill:#000000"
-       transform="translate(48,80)"
-       id="Info-Grey">
-      <path
-         inkscape:connector-curvature="0"
-         id="Icon"
-         d="M 2,3.7320873 C 2,2.7754819 2.7742777,2 3.7262996,2 L 13.2737,2 C 14.227109,2 15,2.7689087 15,3.7320873 l 0,8.5358257 C 15,13.224518 14.225722,14 13.2737,14 L 3.7262996,14 C 2.7728907,14 2,13.231091 2,12.267913 L 2,3.7320873 z M 8,6 9,6 9,5 8,5 8,6 8,6 z m 0,5 1,0 0,-4 -1,0 0,4 0,0 z" />
-    </g>
-    <g
-       id="Icon-HTTP"
-       transform="translate(64,80)">
-      <polygon
-         id="Layout"
-         points="0,16 0,0 16,0 16,16 " />
-    </g>
-    <g
-       id="ic_help_black_24dp"
-       transform="translate(66,82)"
-       style="fill:#000000">
-      <g
-         id="Group">
-        <path
-           d="M 67.71875 18 C 66.766728 18 66 18.762145 66 19.71875 L 66 28.28125 C 66 29.244428 66.765341 30 67.71875 30 L 77.28125 30 C 78.233272 30 79 29.237855 79 28.28125 L 79 19.71875 C 79 18.755571 78.234659 18 77.28125 18 L 67.71875 18 z M 72.5 20 C 73.605 20 74.5 20.895 74.5 22 C 74.5 22.44 74.31625 22.84 74.03125 23.125 L 73.59375 23.59375 C 73.23375 23.95875 73 24.25 73 25 L 72.6875 25 L 72.3125 25 L 72 25 L 72 24.75 C 72 24.2 72.23375 23.70875 72.59375 23.34375 L 73.21875 22.71875 C 73.40375 22.53875 73.5 22.275 73.5 22 C 73.5 21.45 73.05 21 72.5 21 C 71.95 21 71.5 21.45 71.5 22 L 70.5 22 C 70.5 20.895 71.395 20 72.5 20 z M 72 26 L 73 26 L 73 27 L 72 27 L 72 26 z "
-           transform="translate(-66,-18)"
-           id="path3614" />
-      </g>
-    </g>
-    <g
-       transform="translate(0,80)"
-       id="g6319">
-      <g
-         id="Security-Icon-Green-Simple">
-        <rect
-           style="opacity:0.2"
-           height="16"
-           width="16"
-           y="0"
-           x="0"
-           id="rect6322" />
-        <rect
-           style="fill:#000000"
-           rx="1"
-           height="8"
-           width="8"
-           y="4"
-           x="4"
-           id="Green" />
-      </g>
-    </g>
-    <g
-       transform="translate(16,80)"
-       id="g6325">
-      <g
-         id="g6327">
-        <rect
-           style="opacity:0.2"
-           height="16"
-           width="16"
-           y="0"
-           x="0"
-           id="rect6329" />
-        <rect
-           style="fill:#000000"
-           rx="4"
-           height="8"
-           width="8"
-           y="4"
-           x="4"
-           id="rect6331" />
-      </g>
-    </g>
-    <g
-       transform="translate(32,80)"
-       id="g6333">
-      <g
-         id="g6335">
-        <rect
-           style="opacity:0.2"
-           height="16"
-           width="16"
-           y="0"
-           x="0"
-           id="rect6337" />
-        <polygon
-           style="fill:#000000"
-           points="3,12 8,3 13,12 "
-           id="Red" />
-      </g>
-    </g>
-    <g
-       transform="translate(32,64)"
-       id="g6340">
-      <rect
-         style="opacity:0.2"
-         height="16"
-         width="16"
-         y="0"
-         x="0"
-         id="rect6342" />
-      <path
-         style="fill:#000000"
-         inkscape:connector-curvature="0"
-         id="path6344"
-         d="m 0.5,14 15,0 L 8,1 0.5,14 l 0,0 z m 8.5,-2 -2,0 0,-2 2,0 0,2 0,0 z M 9,9 7,9 7,6 9,6 9,9 9,9 z" />
-    </g>
-    <g
-       transform="translate(16,64)"
-       id="g6346">
-      <polygon
-         points="16,0 16,16 0,16 0,0 "
-         id="polygon6348" />
-      <path
-         style="fill:#000000"
-         inkscape:connector-curvature="0"
-         id="path6350"
-         d="M 8,1 C 4.136,1 1,4.136 1,8 c 0,3.864 3.136,7 7,7 3.864,0 7,-3.136 7,-7 C 15,4.136 11.864,1 8,1 L 8,1 z M 2.5,8 C 2.5,4.968125 4.968125,2.5 8,2.5 c 3.031875,0 5.5,2.468125 5.5,5.5 0,3.031875 -2.468125,5.5 -5.5,5.5 C 4.968125,13.5 2.5,11.031875 2.5,8 z M 9,12 9,7 7,7 7,12 9,12 z M 7,6 9,6 9,4 7,4 7,6 7,6 z" />
-    </g>
-    <g
-       transform="translate(0,64)"
-       id="g6352">
-      <polygon
-         points="16,0 16,16 0,16 0,0 "
-         id="polygon6354" />
-      <path
-         style="fill:#000000"
-         inkscape:connector-curvature="0"
-         id="path6356"
-         d="m 10.5,6.4999999 0,-1 C 10.5,4.1199951 9.3800049,3 8,3 6.6199951,3.0101721 5.5,4.1199951 5.5,5.4999999 l 0,1 c 0,0 0.050003,1e-7 -0.5,0 -0.5500031,-10e-8 -1,0.4501534 -1,0.9963379 L 4,12.5 c 0,0.550003 0.4500122,1 1,1 0.5499878,0 5.450012,0 6,0 0.549988,0 1,-0.449997 1,-1 0,-0.550003 0,-4.4499969 0,-5 0,-0.5277289 -0.449997,-1 -1,-1.0000001 -0.550003,1e-7 -0.5,0 -0.5,0 z M 6.5,6.5101141 6.5,5.5 C 6.5,4.6699982 7.1699982,4 8,4 8.8300018,4 9.5,4.6699982 9.5,5.5 l 0,1.0101141 -3,0 z" />
-    </g>
-    <g
-       style="fill:#000000"
-       transform="translate(99,35)"
-       id="g6358" />
-    <g
-       transform="translate(128,32)"
-       id="g6362">
-      <g
-         id="g6364">
-        <polygon
-           points="32,0 32,32 0,32 0,0 "
-           id="polygon6366" />
-      </g>
-      <g
-         style="fill:#000000"
-         transform="translate(3,3)"
-         id="g6368">
-        <g
-           id="g6370" />
-      </g>
-    </g>
-    <g
-       transform="translate(0,32)"
-       id="g6374">
-      <g
-         id="g6376">
-        <rect
-           style="opacity:0.2"
-           height="32"
-           width="32"
-           y="0"
-           x="0"
-           id="rect6378" />
-      </g>
-    </g>
-    <g
-       transform="translate(32,32)"
-       id="g6382">
-      <g
-         id="g6384">
-        <rect
-           style="opacity:0.2"
-           height="32"
-           width="32"
-           y="0"
-           x="0"
-           id="rect6386" />
-      </g>
-    </g>
-    <g
-       transform="translate(64,32)"
-       id="g6390">
-      <g
-         id="g6392">
-        <rect
-           style="opacity:0.2"
-           height="32"
-           width="32"
-           y="0"
-           x="0"
-           id="rect6394" />
-      </g>
-    </g>
-    <g
-       transform="translate(64,0)"
-       id="g6398">
-      <rect
-         style="opacity:0.2"
-         height="32"
-         width="32"
-         y="0"
-         x="0"
-         id="rect6400" />
-    </g>
-    <g
-       transform="translate(32,0)"
-       id="g6404">
-      <polygon
-         points="32,0 32,32 0,32 0,0 "
-         id="polygon6406" />
-    </g>
-    <g
-       id="g6410">
-      <polygon
-         points="32,0 32,32 0,32 0,0 "
-         id="polygon6412" />
-    </g>
-  </g>
-</svg>
diff --git a/front_end/Images/src/smallIcons.svg b/front_end/Images/src/smallIcons.svg
deleted file mode 100644
index 3a8a9ef..0000000
--- a/front_end/Images/src/smallIcons.svg
+++ /dev/null
@@ -1,1106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="130"
-   height="110"
-   id="svg4185"
-   version="1.1"
-   inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
-   sodipodi:docname="smallIcons.svg"
-   inkscape:export-filename="/Users/pfeldman/code/chromium/src/third_party/WebKit/Source/devtools/front_end/Images/smallIcons_2x.png"
-   inkscape:export-xdpi="180"
-   inkscape:export-ydpi="180">
-  <metadata
-     id="metadata4459">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs4457">
-    <linearGradient
-       id="sprite9_a-2"
-       x1="113"
-       x2="127"
-       y1="104"
-       y2="104"
-       gradientTransform="matrix(0.71429,0,0,0.71429,-0.714,-69.286)"
-       gradientUnits="userSpaceOnUse"
-       xlink:href="#sprite9_d-9" />
-    <linearGradient
-       id="sprite9_d-9">
-      <stop
-         stop-color="#606eda"
-         offset="0"
-         id="stop4292-1" />
-      <stop
-         stop-color="#021db2"
-         offset="1"
-         id="stop4294-2" />
-    </linearGradient>
-    <linearGradient
-       id="sprite6_a-0"
-       x2="24"
-       gradientTransform="matrix(0,-0.41667,-0.41667,0,25,10)"
-       gradientUnits="userSpaceOnUse"
-       xlink:href="#sprite6_b-6" />
-    <linearGradient
-       id="sprite6_b-6">
-      <stop
-         stop-color="#d7687d"
-         offset="0"
-         id="stop4236-2" />
-      <stop
-         stop-color="#b21402"
-         offset="1"
-         id="stop4238-6" />
-    </linearGradient>
-  </defs>
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1432"
-     inkscape:window-height="1419"
-     id="namedview4455"
-     showgrid="true"
-     inkscape:zoom="5.2444445"
-     inkscape:cx="94.607116"
-     inkscape:cy="82.226632"
-     inkscape:window-x="4002"
-     inkscape:window-y="1063"
-     inkscape:window-maximized="1"
-     inkscape:current-layer="svg4185">
-    <inkscape:grid
-       type="xygrid"
-       id="grid4461"
-       empspacing="5"
-       visible="true"
-       enabled="true"
-       snapvisiblegridlinesonly="true"
-       spacingx="10"
-       spacingy="10"
-       originx="0"
-       originy="0" />
-  </sodipodi:namedview>
-  <g
-     id="g4187"
-     transform="translate(0,20)">
-    <path
-       transform="translate(-80,-20)"
-       d="m 80,20.995 c 0,-0.54974 0.45566,-0.9954 0.9954,-0.9954 h 8.0092 c 0.54974,0 0.9954,0.45566 0.9954,0.9954 v 8.0092 c 0,0.54974 -0.45566,0.9954 -0.9954,0.9954 H 80.9954 C 80.44566,29.9996 80,29.54394 80,29.0042 z m 5.1233,4.7444 c 2.5673,-0.42788 3.6267,-1.193 3.6267,-3.7398 h -1.5 c 0,1.6199 -0.44058,1.9381 -2.3733,2.2602 -2.5673,0.42788 -3.6267,1.193 -3.6267,3.7398 h 1.5 c 0,-1.6199 0.44058,-1.9381 2.3733,-2.2602 z"
-       id="path4191"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(20,20)"
-     id="g4193">
-    <path
-       transform="translate(-128,-109)"
-       d="m 131.65,116.21 -1.44,-2.03 -1.21,1.21 2.55,3.61 6.45,-7.67 -1.12,-1.33 z"
-       id="path4197"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(0,40)"
-     id="g4199">
-    <path
-       transform="translate(-40,-19)"
-       d="m 46.5,25 c 0,0.55 0.45,1 1,1 0.55,0 1,-0.45 1,-1 0,-0.55 -0.45,-1 -1,-1 -0.55,0 -1,0.45 -1,1"
-       id="path4203"
-       inkscape:connector-curvature="0"
-       style="fill:#bababa" />
-    <path
-       transform="translate(-40,-19)"
-       d="m 45.75,21.75 -3.5,3.25 3.5,3.25"
-       id="path4205"
-       inkscape:connector-curvature="0"
-       style="fill:none;stroke:#bababa;stroke-width:1.5" />
-  </g>
-  <g
-     transform="translate(20,40)"
-     id="g4207">
-    <path
-       transform="translate(-177,-98)"
-       d="m 184.5,100.43 -0.93,-0.93 -2.57,2.57 -2.57,-2.57 -0.93,0.93 2.57,2.57 -2.57,2.57 0.93,0.93 2.57,-2.57 2.57,2.57 0.93,-0.93 -2.57,-2.57 2.57,-2.57 z"
-       id="path4211"
-       inkscape:connector-curvature="0"
-       style="fill-opacity:0.23999999" />
-    <path
-       transform="translate(-177,-98)"
-       d="M 184.5,99.93 183.57,99 181,101.57 178.43,99 l -0.93,0.93 2.57,2.57 -2.57,2.57 0.93,0.93 2.57,-2.57 2.57,2.57 0.93,-0.93 -2.57,-2.57 2.57,-2.57 z"
-       id="path4213"
-       inkscape:connector-curvature="0"
-       style="fill:#676767" />
-  </g>
-  <g
-     transform="translate(40,20)"
-     id="g4215">
-    <path
-       transform="translate(-100,0)"
-       d="m 103.25,-4.7795e-7 c -0.7,0 -1.25,0.49999999795 -1.25,1.24999997795 v 7.5 c 0,0.7 0.5,1.25 1.25,1.25 h 3.5 c 0.7,0 1.25,-0.5 1.25,-1.25 v -7.5 C 108,0.54999952 107.5,-4.7795e-7 106.75,-4.7795e-7 z M 103,0.99999952 h 4 V 7.9999995 h -4 z m 2,7.24999998 c 0.4,0 0.75,0.3 0.75,0.75 0,0.4 -0.3,0.75 -0.75,0.75 -0.4,0 -0.75,-0.3 -0.75,-0.75 0,-0.4 0.3,-0.75 0.75,-0.75 z"
-       id="path4219"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(40,40)"
-     id="g4221">
-    <path
-       transform="translate(-20,0)"
-       d="m 25,-4.7795e-7 c -2.76,0 -5,2.23999997795 -5,4.99999997795 0,2.76 2.24,5 5,5 2.76,0 5,-2.24 5,-5 C 30,2.2399995 27.76,-4.7795e-7 25,-4.7795e-7"
-       id="path4225"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite6_a)" />
-    <path
-       transform="translate(-20,0)"
-       d="m 20.36,5 c 0,2.56 2.08,4.64 4.64,4.64 2.56,0 4.64,-2.08 4.64,-4.64 0,-2.56 -2.08,-4.64 -4.64,-4.64 -2.56,0 -4.64,2.08 -4.64,4.64"
-       id="path4227"
-       inkscape:connector-curvature="0"
-       style="fill:#eb3941" />
-    <path
-       transform="translate(-20,0)"
-       d="m 23,3 4,4"
-       id="path4229"
-       inkscape:connector-curvature="0"
-       style="stroke:#ffffff" />
-    <path
-       transform="translate(-20,0)"
-       d="M 27,3 23,7"
-       id="path4231"
-       inkscape:connector-curvature="0"
-       style="stroke:#ffffff" />
-    <defs
-       id="defs4233">
-      <linearGradient
-         id="sprite6_b">
-        <stop
-           stop-color="#d7687d"
-           offset="0"
-           id="stop4236" />
-        <stop
-           stop-color="#b21402"
-           offset="1"
-           id="stop4238" />
-      </linearGradient>
-      <linearGradient
-         id="sprite6_a"
-         x2="24"
-         gradientTransform="matrix(0,-0.41667,-0.41667,0,25,10)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite6_b" />
-    </defs>
-  </g>
-  <path
-     style="fill:#adf2ad;stroke:#007200;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
-     inkscape:connector-curvature="0"
-     id="path4245"
-     d="M 4.4998214,61.3 8.5,65.00025 4.4998214,68.7 l 0,-1.2 -3.0748614,0 0.07504,-5 3.0001787,0 z"
-     sodipodi:nodetypes="cccccccc" />
-  <g
-     transform="translate(20,60)"
-     id="g4247">
-    <path
-       transform="translate(-140,0)"
-       d="m 144.95,9.9997 c -2.7598,-0.03 -4.9797,-2.2899 -4.9497,-5.0497 0.03,-2.7598 2.2899,-4.9797 5.0497,-4.9497 2.7598,0.03 4.9797,2.2899 4.9497,5.0497 -0.03,2.7598 -2.2899,4.9797 -5.0497,4.9497 z"
-       id="path4251"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite8_a)" />
-    <path
-       transform="translate(-140,0)"
-       d="m 149.5,5.05 c -0.03,2.4898 -2.0599,4.4797 -4.5497,4.4497 -2.4898,-0.03 -4.4797,-2.0598 -4.4497,-4.5497 0.03,-2.4898 2.0599,-4.4797 4.5497,-4.4497 2.4898,0.03 4.4797,2.0598 4.4497,4.5497 z"
-       id="path4253"
-       inkscape:connector-curvature="0"
-       style="fill:#00be00" />
-    <path
-       transform="translate(-140,0)"
-       d="m 145.08,0.5303 c 1.9699,0.02 3.5498,1.0599 3.5398,2.3198 -0.01,1.26 -1.6199,2.2599 -3.5898,2.2399 -1.9699,-0.02 -3.5498,-1.0599 -3.5398,-2.3199 0.01,-1.2599 1.6199,-2.2598 3.5898,-2.2398 z"
-       id="path4255"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite8_b)" />
-    <path
-       transform="translate(-140,0)"
-       d="m 144.98,9.4097 c 1.6599,0.02 3.0098,-0.6799 3.0198,-1.5599 0.01,-0.8799 -1.3299,-1.6099 -2.9798,-1.6299 -1.6599,-0.02 -3.0098,0.68 -3.0198,1.5599 -0.01,0.88 1.3299,1.6099 2.9798,1.6299 z"
-       id="path4257"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite8_c)" />
-    <defs
-       id="defs4259">
-      <linearGradient
-         id="sprite8_j">
-        <stop
-           stop-color="#00d600"
-           stop-opacity="0"
-           offset="0"
-           id="stop4262" />
-        <stop
-           stop-color="#d8fc7b"
-           stop-opacity=".81"
-           offset="1"
-           id="stop4264" />
-      </linearGradient>
-      <linearGradient
-         id="sprite8_k">
-        <stop
-           stop-color="#00ba00"
-           offset="0"
-           id="stop4267" />
-        <stop
-           stop-color="#fff"
-           stop-opacity=".91"
-           offset="1"
-           id="stop4269" />
-      </linearGradient>
-      <linearGradient
-         id="sprite8_l">
-        <stop
-           stop-color="#00a104"
-           offset="0"
-           id="stop4272" />
-        <stop
-           stop-color="#00c605"
-           offset="1"
-           id="stop4274" />
-      </linearGradient>
-      <linearGradient
-         id="sprite8_c"
-         x1="227.88"
-         x2="235.12"
-         y1="103.16"
-         y2="103.16"
-         gradientTransform="matrix(-0.0048,0.4396,0.78038,0.00853,65.608,-94.834)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite8_j" />
-      <linearGradient
-         id="sprite8_b"
-         x1="227.88"
-         x2="235.12"
-         y1="103.16"
-         y2="103.16"
-         gradientTransform="matrix(0.00687,-0.62923,0.9267,0.01012,47.871,147.44)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite8_k" />
-      <linearGradient
-         id="sprite8_a"
-         x1="227.88"
-         x2="235.12"
-         y1="103.16"
-         y2="103.16"
-         gradientTransform="matrix(-0.01507,1.3791,-1.3006,-0.0142,282.66,-312.8)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite8_l" />
-    </defs>
-  </g>
-  <g
-     transform="translate(40,60)"
-     id="g4279">
-    <path
-       transform="translate(-80,0)"
-       d="m 85,-4.7795e-7 c -2.76,0 -5,2.23999997795 -5,4.99999997795 0,2.76 2.24,5 5,5 2.76,0 5,-2.24 5,-5 C 90,2.2399995 87.76,-4.7795e-7 85,-4.7795e-7"
-       id="path4283"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite9_a)" />
-    <path
-       transform="translate(-80,0)"
-       d="m 80.36,5 c 0,2.56 2.08,4.64 4.64,4.64 2.56,0 4.64,-2.08 4.64,-4.64 0,-2.56 -2.08,-4.64 -4.64,-4.64 -2.56,0 -4.64,2.08 -4.64,4.64"
-       id="path4285"
-       inkscape:connector-curvature="0"
-       style="fill:#2a53cd" />
-    <path
-       transform="translate(-80,0)"
-       d="m 83.93,2.14 c -0.03,-0.53 0.55,-0.97 1.06,-0.83 0.5,0.12 0.79,0.73 0.56,1.18 -0.2,0.44 -0.79,0.61 -1.2,0.36 C 84.09,2.71 83.93,2.43 83.93,2.14 z m 1.7,5.46 H 86.3 V 8.13 H 83.41 V 7.6 h 0.66 V 3.99 H 83.41 V 3.46 h 2.22 V 7.6 z"
-       id="path4287"
-       inkscape:connector-curvature="0"
-       style="fill:#ffffff" />
-    <defs
-       id="defs4289">
-      <linearGradient
-         id="sprite9_d">
-        <stop
-           stop-color="#606eda"
-           offset="0"
-           id="stop4292" />
-        <stop
-           stop-color="#021db2"
-           offset="1"
-           id="stop4294" />
-      </linearGradient>
-      <linearGradient
-         id="sprite9_a"
-         x1="113"
-         x2="127"
-         y1="104"
-         y2="104"
-         gradientTransform="matrix(0.71429,0,0,0.71429,-0.714,-69.286)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite9_d" />
-    </defs>
-  </g>
-  <g
-     transform="translate(60,20)"
-     id="g4297">
-    <path
-       transform="translate(-160,-20)"
-       d="m 160.45,20.467 v 9.079 h 5.373 l 3.5821,-4.5398 -3.5821,-4.5392 z"
-       id="path4301"
-       inkscape:connector-curvature="0"
-       style="fill:#698cfe;stroke:#4073f4;stroke-width:0.90799999" />
-  </g>
-  <g
-     transform="translate(60,40)"
-     id="g4303">
-    <path
-       transform="translate(-140,-20)"
-       d="m 140.45,20.467 v 9.0791 h 5.3718 l 3.5813,-4.54 -3.5813,-4.5391 z"
-       id="path4307"
-       inkscape:connector-curvature="0"
-       style="fill:#ef9d0d;stroke:#a36c01;stroke-width:0.90799999" />
-  </g>
-  <g
-     transform="translate(60,60)"
-     id="g4309">
-    <path
-       transform="translate(-160,0)"
-       d="m 165,10 c -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 0,2.76 -2.24,5 -5,5 z"
-       id="path4313"
-       inkscape:connector-curvature="0"
-       style="fill:#e5a600" />
-    <path
-       transform="translate(-160,0)"
-       d="m 169.5,5 c 0,2.49 -2.01,4.5 -4.5,4.5 -2.49,0 -4.5,-2.01 -4.5,-4.5 0,-2.49 2.01,-4.5 4.5,-4.5 2.49,0 4.5,2.01 4.5,4.5 z"
-       id="path4315"
-       inkscape:connector-curvature="0"
-       style="fill:#ffbd00" />
-    <path
-       transform="translate(-160,0)"
-       d="m 165.03,0.53 c 1.97,0 3.56,1.02 3.56,2.28 0,1.26 -1.59,2.28 -3.56,2.28 -1.97,0 -3.56,-1.02 -3.56,-2.28 0,-1.26 1.59,-2.28 3.56,-2.28 z"
-       id="path4317"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite12_a)" />
-    <path
-       transform="translate(-160,0)"
-       d="m 164.99,9.42 c 1.66,0 3,-0.71 3,-1.59 0,-0.88 -1.34,-1.59 -3,-1.59 -1.66,0 -3,0.71 -3,1.59 0,0.88 1.34,1.59 3,1.59 z"
-       id="path4319"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite12_b)" />
-    <defs
-       id="defs4321">
-      <linearGradient
-         id="sprite12_l">
-        <stop
-           stop-color="#ffa801"
-           stop-opacity="0"
-           offset="0"
-           id="stop4324" />
-        <stop
-           stop-color="#f0fb3d"
-           offset="1"
-           id="stop4326" />
-      </linearGradient>
-      <linearGradient
-         id="sprite12_m">
-        <stop
-           stop-color="#ffbd00"
-           stop-opacity=".65"
-           offset="0"
-           id="stop4329" />
-        <stop
-           stop-color="#fff"
-           stop-opacity=".91"
-           offset="1"
-           id="stop4331" />
-      </linearGradient>
-      <linearGradient
-         id="sprite12_b"
-         x1="227.88"
-         x2="235.12"
-         y1="103.16"
-         y2="103.16"
-         gradientTransform="matrix(0,0.43966,0.78049,0,84.444,-93.924)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite12_l" />
-      <linearGradient
-         id="sprite12_a"
-         x1="227.88"
-         x2="235.12"
-         y1="103.16"
-         y2="103.16"
-         gradientTransform="matrix(0,-0.62931,0.92683,0,69.47,148.53)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite12_m" />
-    </defs>
-  </g>
-  <g
-     transform="translate(0,80)"
-     id="g4335">
-    <path
-       transform="translate(-120,0)"
-       d="m 125,10 c -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 0,2.76 -2.24,5 -5,5 z"
-       id="path4339"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite13_a)" />
-    <path
-       transform="translate(-120,0)"
-       d="m 129.5,5 c 0,2.49 -2.01,4.5 -4.5,4.5 -2.49,0 -4.5,-2.01 -4.5,-4.5 0,-2.49 2.01,-4.5 4.5,-4.5 2.49,0 4.5,2.01 4.5,4.5 z"
-       id="path4341"
-       inkscape:connector-curvature="0"
-       style="fill:#dd0000" />
-    <path
-       transform="translate(-120,0)"
-       d="m 125.03,0.53 c 1.97,0 3.56,1.02 3.56,2.28 0,1.26 -1.59,2.28 -3.56,2.28 -1.97,0 -3.56,-1.02 -3.56,-2.28 0,-1.26 1.59,-2.28 3.56,-2.28 z"
-       id="path4343"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite13_b)" />
-    <path
-       transform="translate(-120,0)"
-       d="m 125.03,9.47 c 1.66,0 3,-0.71 3,-1.59 0,-0.88 -1.34,-1.59 -3,-1.59 -1.66,0 -3,0.71 -3,1.59 0,0.88 1.34,1.59 3,1.59 z"
-       id="path4345"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite13_c)" />
-    <defs
-       id="defs4347">
-      <linearGradient
-         id="sprite13_g">
-        <stop
-           stop-color="red"
-           stop-opacity="0"
-           offset="0"
-           id="stop4350" />
-        <stop
-           stop-color="#f0cb68"
-           stop-opacity=".71"
-           offset="1"
-           id="stop4352" />
-      </linearGradient>
-      <linearGradient
-         id="sprite13_h">
-        <stop
-           stop-color="#e60000"
-           stop-opacity=".65"
-           offset="0"
-           id="stop4355" />
-        <stop
-           stop-color="#fff"
-           stop-opacity=".91"
-           offset="1"
-           id="stop4357" />
-      </linearGradient>
-      <linearGradient
-         id="sprite13_i">
-        <stop
-           stop-color="#a10000"
-           offset="0"
-           id="stop4360" />
-        <stop
-           stop-color="#c60000"
-           offset="1"
-           id="stop4362" />
-      </linearGradient>
-      <linearGradient
-         id="sprite13_c"
-         x1="227.88"
-         x2="235.12"
-         y1="103.16"
-         y2="103.16"
-         gradientTransform="matrix(0,0.43966,0.78049,0,44.488,-93.88)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite13_g" />
-      <linearGradient
-         id="sprite13_b"
-         x1="227.88"
-         x2="235.12"
-         y1="103.16"
-         y2="103.16"
-         gradientTransform="matrix(0,-0.62931,0.92683,0,29.47,148.53)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite13_h" />
-      <linearGradient
-         id="sprite13_a"
-         x1="227.88"
-         x2="235.12"
-         y1="103.16"
-         y2="103.16"
-         gradientTransform="matrix(0,1.3793,-1.3008,0,259.08,-314.35)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite13_i" />
-    </defs>
-  </g>
-  <g
-     transform="translate(20,80)"
-     id="g4367">
-    <path
-       transform="translate(-60,-20)"
-       d="M 60,20 H 70 V 30 H 60 z"
-       id="path4371"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-    <path
-       transform="translate(-60,-20)"
-       d="M 67.5,22.5 V 20 H 60 v 7.5 h 2.5 V 30 H 70 V 22.5 z M 61,21 h 5.5 v 5.5 H 61 z m 2.5,6.5 h 4 v -4 H 69 V 29 h -5.5 z"
-       id="path4373"
-       inkscape:connector-curvature="0" />
-    <path
-       d="m 3.5,7.5 h 4 v -4 H 9 V 9 H 3.5 z"
-       id="path4375"
-       inkscape:connector-curvature="0"
-       style="fill-opacity:0.25" />
-  </g>
-  <g
-     id="g4383"
-     style="fill:#acf2ae;stroke:#007200;stroke-width:2.5769999"
-     transform="translate(40,80)">
-    <path
-       transform="matrix(0.29356,0,0,0.2909,-37.35,6.864)"
-       d="m 144.95,9.9997 c -2.7598,-0.03 -4.9797,-2.2899 -4.9497,-5.0497 0.03,-2.7598 2.2899,-4.9797 5.0497,-4.9497 2.7598,0.03 4.9797,2.2899 4.9497,5.0497 -0.03,2.7598 -2.2899,4.9797 -5.0497,4.9497 z"
-       id="path4385"
-       inkscape:connector-curvature="0" />
-    <path
-       transform="matrix(0.29356,0,0,0.2909,-37.35,6.864)"
-       d="m 149.5,5.05 c -0.03,2.4898 -2.0599,4.4797 -4.5497,4.4497 -2.4898,-0.03 -4.4797,-2.0598 -4.4497,-4.5497 0.03,-2.4898 2.0599,-4.4797 4.5497,-4.4497 2.4898,0.03 4.4797,2.0598 4.4497,4.5497 z"
-       id="path4387"
-       inkscape:connector-curvature="0" />
-  </g>
-  <path
-     d="M 48.3126,82.499864 45.21075,86 42.1089,82.499864 l 1.24074,0 0,-1.919464 3.72222,0 0,1.919735 z"
-     id="path4389"
-     inkscape:connector-curvature="0"
-     style="fill:#adf2ad;stroke:#007200;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
-     sodipodi:nodetypes="cccccccc" />
-  <path
-     d="m 66.5375,88.5145 c -0.0088,0.72431 -0.6047,1.3032 -1.3356,1.2945 -0.73092,-0.0087 -1.3151,-0.59922 -1.3063,-1.3236 0.0088,-0.7243 0.6047,-1.3032 1.3356,-1.2945 0.73092,0.0087 1.3151,0.59922 1.3063,1.3235 z"
-     id="path4397"
-     inkscape:connector-curvature="0"
-     style="fill:#acf2ae;stroke:#007200;stroke-width:0.75300002" />
-  <path
-     d="m 62.1084,83.500135 3.10185,-2.981685 3.10185,2.981685 -1.24074,0 0,1.999865 -3.72222,0 0,-2.000136 z"
-     id="path4399"
-     inkscape:connector-curvature="0"
-     style="fill:#adf2ad;stroke:#007200;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
-     sodipodi:nodetypes="cccccccc" />
-  <g
-     transform="translate(80,20)"
-     id="g4401">
-    <path
-       transform="translate(-20,-20)"
-       d="m 23.25,21.75 3.5,3.25 -3.5,3.25"
-       id="path4405"
-       inkscape:connector-curvature="0"
-       style="fill:none;stroke:#367cf1;stroke-width:1.5" />
-  </g>
-  <g
-     transform="translate(80,40)"
-     id="g4407">
-    <path
-       transform="translate(-180,-20)"
-       d="m 186,20 -5,5 5,5 v -2 h 3 v -6 h -3 z"
-       id="path4411"
-       inkscape:connector-curvature="0"
-       style="fill:#4688f1" />
-  </g>
-  <g
-     transform="translate(80,60)"
-     id="g4413">
-    <path
-       transform="matrix(-1,0,0,1,190,-19.955)"
-       d="m 186,19.955 -5,5 5,5.0225 0,-2.045 3,0.0225 0,-6 -3,0 z"
-       id="path4417"
-       inkscape:connector-curvature="0"
-       style="fill:#4688f1"
-       sodipodi:nodetypes="cccccccc" />
-  </g>
-  <g
-     transform="matrix(0.85714286,0,0,0.85714286,80.142857,80.142857)"
-     id="g4419">
-    <path
-       transform="translate(-20,-98)"
-       d="m 25.083333,107.16667 4.083334,-7 H 21"
-       id="path4423"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="ccc" />
-  </g>
-  <g
-     transform="matrix(0.71428571,0,0,0.875,1.2857143,101)"
-     id="g4425">
-    <path
-       transform="translate(-4,-98)"
-       d="M 12,102 5,98 v 8"
-       id="path4429"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(20,100)"
-     id="g4431">
-    <path
-       transform="translate(-4,-111)"
-       d="m 8,111 4,7 H 4"
-       id="path4435"
-       inkscape:connector-curvature="0" />
-  </g>
-  <g
-     transform="translate(40,100)"
-     id="g4437">
-    <path
-       transform="translate(0,-19)"
-       d="m 3.2503,21.75 3.5,3.25 -3.5,3.25"
-       id="path4441"
-       inkscape:connector-curvature="0"
-       style="fill:none;stroke:#939393;stroke-width:1.5" />
-  </g>
-  <g
-     transform="translate(60,100)"
-     id="g4443">
-    <path
-       transform="translate(-60,0)"
-       d="m 61,9 4,-8 4,8 z"
-       id="path4447"
-       inkscape:connector-curvature="0"
-       style="stroke:#c19600;stroke-width:2;stroke-linejoin:round" />
-    <path
-       transform="translate(-60,0)"
-       d="m 61,9 4,-8 4,8 z"
-       id="path4449"
-       inkscape:connector-curvature="0"
-       style="fill:#f4bd00;stroke:#f5bd00;stroke-width:1.5;stroke-linejoin:round" />
-    <path
-       transform="translate(-60,0)"
-       d="m 63.75,2.75 h 2.5 v 2.5 L 65.75,7 h -1.5 l -0.5,-1.75 v -2.5 m 0,5.25 h 2.5 v 1.25 h -2.5"
-       id="path4451"
-       inkscape:connector-curvature="0"
-       style="fill:#ad8601" />
-    <path
-       transform="translate(-60,0)"
-       d="m 64,3 h 2 V 5.25 L 65.5,7 h -1 L 64,5.25 V 3 m 0,5 h 2 v 1 h -2"
-       id="path4453"
-       inkscape:connector-curvature="0"
-       style="fill:#ffffff" />
-  </g>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="3.0508475"
-     y="118.38672"
-     id="text5191"><tspan
-       sodipodi:role="line"
-       id="tspan5193"
-       x="3.0508475"
-       y="118.38672"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">a</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="23.050848"
-     y="118.38672"
-     id="text5191-1"><tspan
-       sodipodi:role="line"
-       id="tspan5193-7"
-       x="23.050848"
-       y="118.38672"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">b</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="43.050846"
-     y="118.38672"
-     id="text5191-7"><tspan
-       sodipodi:role="line"
-       id="tspan5193-1"
-       x="43.050846"
-       y="118.38672"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">c</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="63.050854"
-     y="118.38672"
-     id="text5191-15"><tspan
-       sodipodi:role="line"
-       id="tspan5193-9"
-       x="63.050854"
-       y="118.38672"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">d</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="83.05085"
-     y="118.38672"
-     id="text5191-77"><tspan
-       sodipodi:role="line"
-       id="tspan5193-6"
-       x="83.05085"
-       y="118.38672"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">e</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="-7.0260201"
-     y="107.81779"
-     id="text5191-73"><tspan
-       sodipodi:role="line"
-       id="tspan5193-65"
-       x="-7.0260201"
-       y="107.81779"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">1</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="-6.8189888"
-     y="87.880318"
-     id="text5191-6"><tspan
-       sodipodi:role="line"
-       id="tspan5193-3"
-       x="-6.8189888"
-       y="87.880318"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">2</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="-6.7564888"
-     y="67.991669"
-     id="text5191-9"><tspan
-       sodipodi:role="line"
-       id="tspan5193-4"
-       x="-6.7564888"
-       y="67.991669"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">3</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="-6.9166451"
-     y="47.993652"
-     id="text5191-8"><tspan
-       sodipodi:role="line"
-       id="tspan5193-12"
-       x="-6.9166451"
-       y="47.993652"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">4</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="-7.1080513"
-     y="28.056175"
-     id="text5191-93"><tspan
-       sodipodi:role="line"
-       id="tspan5193-90"
-       x="-7.1080513"
-       y="28.056175"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">5</tspan></text>
-  <g
-     transform="matrix(1.1320755,0,0,1.1320754,81.603774,102.60377)"
-     style="fill:#00bcd4;stroke:#000000;stroke-width:0.30000001"
-     id="g3669">
-    <circle
-       sodipodi:ry="2.5"
-       sodipodi:rx="2.5"
-       sodipodi:cy="3"
-       sodipodi:cx="3"
-       cx="3"
-       cy="3"
-       r="2.5"
-       id="circle3671" />
-  </g>
-  <path
-     inkscape:connector-curvature="0"
-     style="fill:#000000;fill-opacity:1;stroke-width:0;stroke-miterlimit:4"
-     d="m 5,-3e-7 c -2.761423,0 -5,2.238577 -5,5 C 0,7.7614237 2.238577,10 5,10 7.761423,10 9.9999997,7.7614237 9.9999997,4.9999997 c 0,-2.761423 -2.2385767,-5 -4.9999997,-5 z m 0.04808,0.721154 c 1.082746,1e-6 2.1787,0.399853 3.004808,1.225961 1.6522148,1.652217 1.6522148,4.333359 0,5.985577 L 5.04808,4.9519227 2.067311,1.9471147 C 2.893418,1.1210057 3.965334,0.7211527 5.04808,0.7211537 z"
-     id="path3255" />
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="-6.6795936"
-     y="8"
-     id="text5191-93-3"><tspan
-       sodipodi:role="line"
-       id="tspan5193-90-6"
-       x="-6.6795936"
-       y="8"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">6</tspan></text>
-  <g
-     transform="translate(13.293,-7.4383945)"
-     id="g74">
-    <path
-       style="fill:none"
-       inkscape:connector-curvature="0"
-       id="path80"
-       d="M 4.308,4.525 H 20.5404 V 20.7574 H 4.308 z" />
-    <path
-       style="fill-rule:evenodd"
-       inkscape:connector-curvature="0"
-       id="path82"
-       d="M 7.8179366,12.994649 6.707,14.105586 10.040596,17.438394 16.707,10.77199 15.596064,9.6610525 10.040596,15.216521 z" />
-    <g
-       transform="matrix(0.76923077,0,0,0.76923077,19.014692,2.8283064)"
-       id="g92">
-      <path
-         transform="translate(-64,0)"
-         d="m 80.44,16.94 c -2.48,0 -4.5,-2.02 -4.5,-4.5 0,-0.88 0.26,-1.7 0.69,-2.39 l 6.2,6.2 c -0.69,0.44 -1.51,0.69 -2.39,0.69 m 4.5,-4.5 c 0,0.88 -0.26,1.7 -0.69,2.39 l -6.2,-6.2 c 0.69,-0.44 1.51,-0.69 2.39,-0.69 2.48,0 4.5,2.02 4.5,4.5 M 80.5,6 C 76.91,6 74,8.91 74,12.5 74,16.09 76.91,19 80.5,19 84.09,19 87,16.09 87,12.5 87,8.91 84.09,6 80.5,6"
-         id="path96"
-         inkscape:connector-curvature="0" />
-    </g>
-    <path
-       style="fill-rule:evenodd"
-       d="m 55.582,9.6571445 -5.53125,5.5625005 -0.40625,-0.40625 -1.09375,1.125 1.5,1.499999 6.65625,-6.656249 -1.125,-1.1250005 z"
-       id="path3185" />
-  </g>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="103.73887"
-     y="118.48206"
-     id="text5191-77-3"><tspan
-       sodipodi:role="line"
-       id="tspan5193-6-6"
-       x="103.73887"
-       y="118.48206"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">f</tspan></text>
-  <g
-     id="g4443-7"
-     transform="translate(100,100)"
-     mask="url(#path4453-6-mask)">
-    <path
-       transform="translate(-60,0)"
-       d="m 61,9 4,-8 4,8 z"
-       id="path4447-5"
-       inkscape:connector-curvature="0"
-       style="stroke:#c19600;stroke-width:2;stroke-linejoin:round" />
-    <path
-       transform="translate(-60,0)"
-       d="m 61,9 4,-8 4,8 z"
-       id="path4449-3"
-       inkscape:connector-curvature="0"
-       style="fill:#f4bd00;stroke:#f5bd00;stroke-width:1.5;stroke-linejoin:round" />
-    <path
-       transform="translate(-60,0)"
-       d="m 63.75,2.75 h 2.5 v 2.5 L 65.75,7 h -1.5 l -0.5,-1.75 v -2.5 m 0,5.25 h 2.5 v 1.25 h -2.5"
-       id="path4451-5"
-       inkscape:connector-curvature="0"
-       style="fill:#ad8601" />
-    <mask
-       id="path4453-6-mask">
-      <rect
-         width="10"
-         height="10"
-         style="fill:#ffffff"
-         id="rect8990" />
-      <path
-         transform="translate(-60,0)"
-         d="m 64,3 h 2 V 5.25 L 65.5,7 h -1 L 64,5.25 V 3 m 0,5 h 2 v 1 h -2"
-         id="path4453-6"
-         inkscape:connector-curvature="0"
-         style="fill:#000000" />
-    </mask>
-  </g>
-  <g
-     id="g4279-7"
-     transform="translate(100,80)"
-     mask="url(#path4287-3-mask)">
-    <path
-       transform="translate(-80,0)"
-       d="m 85,-4.7795e-7 c -2.76,0 -5,2.23999997795 -5,4.99999997795 0,2.76 2.24,5 5,5 2.76,0 5,-2.24 5,-5 C 90,2.2399995 87.76,-4.7795e-7 85,-4.7795e-7"
-       id="path4283-0"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite9_a-2)" />
-    <path
-       transform="translate(-80,0)"
-       d="m 80.36,5 c 0,2.56 2.08,4.64 4.64,4.64 2.56,0 4.64,-2.08 4.64,-4.64 0,-2.56 -2.08,-4.64 -4.64,-4.64 -2.56,0 -4.64,2.08 -4.64,4.64"
-       id="path4285-9"
-       inkscape:connector-curvature="0"
-       style="fill:#2a53cd" />
-    <mask
-       id="path4287-3-mask">
-      <rect
-         width="10"
-         height="10"
-         style="fill:#ffffff"
-         id="rect8997" />
-      <path
-         transform="translate(-80,0)"
-         d="m 83.93,2.14 c -0.03,-0.53 0.55,-0.97 1.06,-0.83 0.5,0.12 0.79,0.73 0.56,1.18 -0.2,0.44 -0.79,0.61 -1.2,0.36 C 84.09,2.71 83.93,2.43 83.93,2.14 z m 1.7,5.46 H 86.3 V 8.13 H 83.41 V 7.6 h 0.66 V 3.99 H 83.41 V 3.46 h 2.22 V 7.6 z"
-         id="path4287-3"
-         inkscape:connector-curvature="0"
-         style="fill:#000000" />
-    </mask>
-    <defs
-       id="defs4289-6">
-      <linearGradient
-         id="linearGradient3198">
-        <stop
-           stop-color="#606eda"
-           offset="0"
-           id="stop3200" />
-        <stop
-           stop-color="#021db2"
-           offset="1"
-           id="stop3202" />
-      </linearGradient>
-      <linearGradient
-         id="linearGradient3204"
-         x1="113"
-         x2="127"
-         y1="104"
-         y2="104"
-         gradientTransform="matrix(0.71429,0,0,0.71429,-0.714,-69.286)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite9_d-9" />
-    </defs>
-  </g>
-  <g
-     id="g4221-1"
-     transform="translate(100,60)"
-     mask="url(#path4229-9-path4231-2-mask)">
-    <path
-       transform="translate(-20,0)"
-       d="m 25,-4.7795e-7 c -2.76,0 -5,2.23999997795 -5,4.99999997795 0,2.76 2.24,5 5,5 2.76,0 5,-2.24 5,-5 C 30,2.2399995 27.76,-4.7795e-7 25,-4.7795e-7"
-       id="path4225-8"
-       inkscape:connector-curvature="0"
-       style="fill:url(#sprite6_a-0)" />
-    <path
-       transform="translate(-20,0)"
-       d="m 20.36,5 c 0,2.56 2.08,4.64 4.64,4.64 2.56,0 4.64,-2.08 4.64,-4.64 0,-2.56 -2.08,-4.64 -4.64,-4.64 -2.56,0 -4.64,2.08 -4.64,4.64"
-       id="path4227-7"
-       inkscape:connector-curvature="0"
-       style="fill:#eb3941" />
-    <mask
-       id="path4229-9-path4231-2-mask">
-      <rect
-         width="10"
-         height="10"
-         style="fill:#ffffff"
-         id="rect9010" />
-      <path
-         transform="translate(-20,0)"
-         d="m 23,3 4,4"
-         id="path4229-9"
-         inkscape:connector-curvature="0"
-         style="stroke:#000000" />
-      <path
-         transform="translate(-20,0)"
-         d="M 27,3 23,7"
-         id="path4231-2"
-         inkscape:connector-curvature="0"
-         style="stroke:#000000" />
-    </mask>
-    <defs
-       id="defs4233-0">
-      <linearGradient
-         id="linearGradient3257">
-        <stop
-           stop-color="#d7687d"
-           offset="0"
-           id="stop3259" />
-        <stop
-           stop-color="#b21402"
-           offset="1"
-           id="stop3261" />
-      </linearGradient>
-      <linearGradient
-         id="linearGradient3263"
-         x2="24"
-         gradientTransform="matrix(0,-0.41667,-0.41667,0,25,10)"
-         gradientUnits="userSpaceOnUse"
-         xlink:href="#sprite6_b-6" />
-    </defs>
-  </g>
-  <g
-     style="fill:#000000"
-     id="g9271"
-     transform="matrix(0.48333333,0,0,0.48333333,99.3,39.3)">
-    <path
-       id="path9261"
-       d="M 12,2 C 6.48,2 2,6.48 2,12 2,17.52 6.48,22 12,22 17.52,22 22,17.52 22,12 22,6.48 17.52,2 12,2 z m 0,3 c 1.66,0 3,1.34 3,3 0,1.66 -1.34,3 -3,3 C 10.34,11 9,9.66 9,8 9,6.34 10.34,5 12,5 z m 0,14.2 c -2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22 z"
-       inkscape:connector-curvature="0" />
-    <path
-       id="path9263"
-       d="M 0,0 H 24 V 24 H 0 z"
-       inkscape:connector-curvature="0"
-       style="fill:none" />
-  </g>
-  <path
-     style="fill:#000000"
-     inkscape:connector-curvature="0"
-     d="M 105,22.528009 101,26.958771 101.94,28 105,24.617852 108.06,28 109,26.958771 z"
-     id="path3942" />
-  <path
-     style="fill:none"
-     inkscape:connector-curvature="0"
-     d="M 76.448271,14.990123 H 93.976446 V 34.405914 H 76.448271 z"
-     id="path3944" />
-  <path
-     style="fill:#000000"
-     inkscape:connector-curvature="0"
-     d="M 88.06,3.059999 85,6.113332 81.94,3.059999 l -0.94,0.94 4,4 4,-4 z"
-     id="path3974" />
-  <path
-     style="stroke-width:0.02383474"
-     d=""
-     id="path5923"
-     inkscape:connector-curvature="0" />
-  <path
-     style="stroke-width:0.02383474"
-     d=""
-     id="path5925"
-     inkscape:connector-curvature="0" />
-  <path
-     style="stroke-width:0.02383474"
-     d=""
-     id="path5927"
-     inkscape:connector-curvature="0" />
-  <rect
-     id="rect5943"
-     width="2"
-     height="6"
-     x="102"
-     y="1.9999998"
-     style="stroke-width:1.13202608" />
-  <a
-     id="a6015">
-    <rect
-       style="stroke-width:1.13202608"
-       y="2"
-       x="106"
-       height="6"
-       width="2"
-       id="rect5943-5" />
-  </a>
-  <text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#cccccc;fill-opacity:1;stroke:none"
-     x="122.66023"
-     y="117.2188"
-     id="text5191-77-3-3"><tspan
-       sodipodi:role="line"
-       id="tspan5193-6-6-5"
-       x="122.66023"
-       y="117.2188"
-       style="font-size:8px;line-height:1.25;font-family:sans-serif">g</tspan></text>
-  <path
-     inkscape:transform-center-x="0.029808665"
-     inkscape:transform-center-y="-0.33844643"
-     d="m 128,5 -6,3 V 2 Z"
-     id="path6489"
-     inkscape:connector-curvature="0"
-     sodipodi:nodetypes="cccc" />
-  <path
-     inkscape:transform-center-x="0.34573841"
-     inkscape:transform-center-y="-0.78316773"
-     d="M 128,26.5 126.5,28 125,26.5 123.5,28 122,26.5 123.5,25 122,23.5 l 1.5,-1.5 1.5,1.5 1.5,-1.5 1.5,1.5 -1.5,1.5 z"
-     id="path6495"
-     inkscape:connector-curvature="0"
-     sodipodi:nodetypes="ccccccccccccc" />
-</svg>
diff --git a/front_end/Images/src/treeoutlineTriangles.svg b/front_end/Images/src/treeoutlineTriangles.svg
deleted file mode 100644
index 600f244..0000000
--- a/front_end/Images/src/treeoutlineTriangles.svg
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="32"
-   height="24"
-   id="svg3620"
-   version="1.1"
-   inkscape:version="0.92.2 5c3e80d, 2017-08-06"
-   sodipodi:docname="treeoutlineTriangles.svg"
-   inkscape:export-filename="/Users/pfeldman/code/chromium/src/third_party/WebKit/Source/devtools/front_end/Images/treeoutlineTriangles_2x.png"
-   inkscape:export-xdpi="192"
-   inkscape:export-ydpi="192">
-  <defs
-     id="defs3622" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="15.999999"
-     inkscape:cx="5.8968306"
-     inkscape:cy="33.634397"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     showguides="true"
-     inkscape:guide-bbox="true"
-     inkscape:window-width="1680"
-     inkscape:window-height="1005"
-     inkscape:window-x="0"
-     inkscape:window-y="1"
-     inkscape:window-maximized="1" />
-  <metadata
-     id="metadata3625">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(0,-1028.3622)">
-    <path
-       d="m 7.5,1034.3622 -5.5,-3.75 v 7.5"
-       id="path3619"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="ccc" />
-    <path
-       d="m 20.5,1037.8622 3.75,-5.5 h -7.5"
-       id="path3621"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="ccc" />
-  </g>
-</svg>
diff --git a/front_end/Images/toolbarResizerVertical.png b/front_end/Images/toolbarResizerVertical.png
deleted file mode 100644
index bf84d1e..0000000
--- a/front_end/Images/toolbarResizerVertical.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/touchCursor.png b/front_end/Images/touchCursor.png
deleted file mode 100644
index a6e0e80..0000000
--- a/front_end/Images/touchCursor.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/touchCursor_2x.png b/front_end/Images/touchCursor_2x.png
deleted file mode 100644
index f769f12..0000000
--- a/front_end/Images/touchCursor_2x.png
+++ /dev/null
Binary files differ
diff --git a/front_end/Images/treeoutlineTriangles.svg b/front_end/Images/treeoutlineTriangles.svg
deleted file mode 100644
index 3fb963a..0000000
--- a/front_end/Images/treeoutlineTriangles.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="32" height="24"><path d="M7.5 6L2 2.25v7.5M20.5 9.5L24.25 4h-7.5"/></svg>
\ No newline at end of file
diff --git a/front_end/Images/whatsnew.png b/front_end/Images/whatsnew.png
deleted file mode 100644
index 1d81b8f..0000000
--- a/front_end/Images/whatsnew.png
+++ /dev/null
Binary files differ
diff --git a/front_end/OWNERS b/front_end/OWNERS
deleted file mode 100644
index 24dc95f..0000000
--- a/front_end/OWNERS
+++ /dev/null
@@ -1,10 +0,0 @@
-alph@chromium.org
-caseq@chromium.org
-dgozman@chromium.org
-einbinder@chromium.org
-luoe@chromium.org
-lushnikov@chromium.org
-pfeldman@chromium.org
-
-per-file audits*=cjamcl@google.com
-per-file audits*=paulirish@chromium.org
diff --git a/front_end/Runtime.js b/front_end/Runtime.js
deleted file mode 100644
index e958c07..0000000
--- a/front_end/Runtime.js
+++ /dev/null
@@ -1,1218 +0,0 @@
-/*
- * Copyright (C) 2014 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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.
- */
-const _loadedScripts = {};
-
-(function() {
-const baseUrl = self.location ? self.location.origin + self.location.pathname : '';
-self._importScriptPathPrefix = baseUrl.substring(0, baseUrl.lastIndexOf('/') + 1);
-})();
-
-const REMOTE_MODULE_FALLBACK_REVISION = '@010ddcfda246975d194964ccf20038ebbdec6084';
-
-/**
- * @unrestricted
- */
-class Runtime {
-  /**
-   * @param {!Array.<!ModuleDescriptor>} descriptors
-   */
-  constructor(descriptors) {
-    /** @type {!Array<!Runtime.Module>} */
-    this._modules = [];
-    /** @type {!Object<string, !Runtime.Module>} */
-    this._modulesMap = {};
-    /** @type {!Array<!Extension>} */
-    this._extensions = [];
-    /** @type {!Object<string, !function(new:Object)>} */
-    this._cachedTypeClasses = {};
-    /** @type {!Object<string, !ModuleDescriptor>} */
-    this._descriptorsMap = {};
-
-    for (let i = 0; i < descriptors.length; ++i) {
-      this._registerModule(descriptors[i]);
-    }
-  }
-
-  /**
-   * @param {string} url
-   * @return {!Promise.<string>}
-   */
-  static loadResourcePromise(url) {
-    return new Promise(load);
-
-    /**
-     * @param {function(?)} fulfill
-     * @param {function(*)} reject
-     */
-    function load(fulfill, reject) {
-      const xhr = new XMLHttpRequest();
-      xhr.open('GET', url, true);
-      xhr.onreadystatechange = onreadystatechange;
-
-      /**
-       * @param {Event} e
-       */
-      function onreadystatechange(e) {
-        if (xhr.readyState !== XMLHttpRequest.DONE) {
-          return;
-        }
-
-        // DevTools Proxy server can mask 404s as 200s, check the body to be sure
-        const status = /^HTTP\/1.1 404/.test(e.target.response) ? 404 : xhr.status;
-
-        if ([0, 200, 304].indexOf(status) === -1)  // Testing harness file:/// results in 0.
-        {
-          reject(new Error('While loading from url ' + url + ' server responded with a status of ' + status));
-        } else {
-          fulfill(e.target.response);
-        }
-      }
-      xhr.send(null);
-    }
-  }
-
-  /**
-   * @param {string} url
-   * @return {!Promise.<string>}
-   */
-  static loadResourcePromiseWithFallback(url) {
-    return Runtime.loadResourcePromise(url).catch(err => {
-      const urlWithFallbackVersion = url.replace(/@[0-9a-f]{40}/, REMOTE_MODULE_FALLBACK_REVISION);
-      // TODO(phulce): mark fallbacks in module.json and modify build script instead
-      if (urlWithFallbackVersion === url || !url.includes('audits_worker_module')) {
-        throw err;
-      }
-      return Runtime.loadResourcePromise(urlWithFallbackVersion);
-    });
-  }
-
-  /**
-   * http://tools.ietf.org/html/rfc3986#section-5.2.4
-   * @param {string} path
-   * @return {string}
-   */
-  static normalizePath(path) {
-    if (path.indexOf('..') === -1 && path.indexOf('.') === -1) {
-      return path;
-    }
-
-    const normalizedSegments = [];
-    const segments = path.split('/');
-    for (let i = 0; i < segments.length; i++) {
-      const segment = segments[i];
-      if (segment === '.') {
-        continue;
-      } else if (segment === '..') {
-        normalizedSegments.pop();
-      } else if (segment) {
-        normalizedSegments.push(segment);
-      }
-    }
-    let normalizedPath = normalizedSegments.join('/');
-    if (normalizedPath[normalizedPath.length - 1] === '/') {
-      return normalizedPath;
-    }
-    if (path[0] === '/' && normalizedPath) {
-      normalizedPath = '/' + normalizedPath;
-    }
-    if ((path[path.length - 1] === '/') || (segments[segments.length - 1] === '.') ||
-        (segments[segments.length - 1] === '..')) {
-      normalizedPath = normalizedPath + '/';
-    }
-
-    return normalizedPath;
-  }
-
-  /**
-   * @param {string} scriptName
-   * @param {string=} base
-   * @return {string}
-   */
-  static getResourceURL(scriptName, base) {
-    const sourceURL = (base || self._importScriptPathPrefix) + scriptName;
-    const schemaIndex = sourceURL.indexOf('://') + 3;
-    let pathIndex = sourceURL.indexOf('/', schemaIndex);
-    if (pathIndex === -1) {
-      pathIndex = sourceURL.length;
-    }
-    return sourceURL.substring(0, pathIndex) + Runtime.normalizePath(sourceURL.substring(pathIndex));
-  }
-
-  /**
-   * @param {!Array.<string>} scriptNames
-   * @param {string=} base
-   * @return {!Promise.<undefined>}
-   */
-  static _loadScriptsPromise(scriptNames, base) {
-    /** @type {!Array<!Promise<undefined>>} */
-    const promises = [];
-    /** @type {!Array<string>} */
-    const urls = [];
-    const sources = new Array(scriptNames.length);
-    let scriptToEval = 0;
-    for (let i = 0; i < scriptNames.length; ++i) {
-      const scriptName = scriptNames[i];
-      const sourceURL = Runtime.getResourceURL(scriptName, base);
-
-      if (_loadedScripts[sourceURL]) {
-        continue;
-      }
-      urls.push(sourceURL);
-      const loadResourcePromise =
-          base ? Runtime.loadResourcePromiseWithFallback(sourceURL) : Runtime.loadResourcePromise(sourceURL);
-      promises.push(
-          loadResourcePromise.then(scriptSourceLoaded.bind(null, i), scriptSourceLoaded.bind(null, i, undefined)));
-    }
-    return Promise.all(promises).then(undefined);
-
-    /**
-     * @param {number} scriptNumber
-     * @param {string=} scriptSource
-     */
-    function scriptSourceLoaded(scriptNumber, scriptSource) {
-      sources[scriptNumber] = scriptSource || '';
-      // Eval scripts as fast as possible.
-      while (typeof sources[scriptToEval] !== 'undefined') {
-        evaluateScript(urls[scriptToEval], sources[scriptToEval]);
-        ++scriptToEval;
-      }
-    }
-
-    /**
-     * @param {string} sourceURL
-     * @param {string=} scriptSource
-     */
-    function evaluateScript(sourceURL, scriptSource) {
-      _loadedScripts[sourceURL] = true;
-      if (!scriptSource) {
-        // Do not reject, as this is normal in the hosted mode.
-        console.error('Empty response arrived for script \'' + sourceURL + '\'');
-        return;
-      }
-      self.eval(scriptSource + '\n//# sourceURL=' + sourceURL);
-    }
-  }
-
-  /**
-   * @param {string} url
-   * @param {boolean} appendSourceURL
-   * @return {!Promise<undefined>}
-   */
-  static _loadResourceIntoCache(url, appendSourceURL) {
-    return Runtime.loadResourcePromise(url).then(
-        cacheResource.bind(this, url), cacheResource.bind(this, url, undefined));
-
-    /**
-     * @param {string} path
-     * @param {string=} content
-     */
-    function cacheResource(path, content) {
-      if (!content) {
-        console.error('Failed to load resource: ' + path);
-        return;
-      }
-      const sourceURL = appendSourceURL ? Runtime.resolveSourceURL(path) : '';
-      Runtime.cachedResources[path] = content + sourceURL;
-    }
-  }
-
-  /**
-   * @return {!Promise}
-   */
-  static async appStarted() {
-    return Runtime._appStartedPromise;
-  }
-
-  /**
-   * @param {string} appName
-   * @return {!Promise.<undefined>}
-   */
-  static async startApplication(appName) {
-    console.timeStamp('Root.Runtime.startApplication');
-
-    const allDescriptorsByName = {};
-    for (let i = 0; i < Root.allDescriptors.length; ++i) {
-      const d = Root.allDescriptors[i];
-      allDescriptorsByName[d['name']] = d;
-    }
-
-    if (!Root.applicationDescriptor) {
-      let data = await Runtime.loadResourcePromise(appName + '.json');
-      Root.applicationDescriptor = JSON.parse(data);
-      let descriptor = Root.applicationDescriptor;
-      while (descriptor.extends) {
-        data = await Runtime.loadResourcePromise(descriptor.extends + '.json');
-        descriptor = JSON.parse(data);
-        Root.applicationDescriptor.modules = descriptor.modules.concat(Root.applicationDescriptor.modules);
-      }
-    }
-
-    const configuration = Root.applicationDescriptor.modules;
-    const moduleJSONPromises = [];
-    const coreModuleNames = [];
-    for (let i = 0; i < configuration.length; ++i) {
-      const descriptor = configuration[i];
-      const name = descriptor['name'];
-      const moduleJSON = allDescriptorsByName[name];
-      if (moduleJSON) {
-        moduleJSONPromises.push(Promise.resolve(moduleJSON));
-      } else {
-        moduleJSONPromises.push(Runtime.loadResourcePromise(name + '/module.json').then(JSON.parse.bind(JSON)));
-      }
-      if (descriptor['type'] === 'autostart') {
-        coreModuleNames.push(name);
-      }
-    }
-
-    const moduleDescriptors = await Promise.all(moduleJSONPromises);
-
-    for (let i = 0; i < moduleDescriptors.length; ++i) {
-      moduleDescriptors[i].name = configuration[i]['name'];
-      moduleDescriptors[i].condition = configuration[i]['condition'];
-      moduleDescriptors[i].remote = configuration[i]['type'] === 'remote';
-    }
-    self.runtime = new Runtime(moduleDescriptors);
-    if (coreModuleNames) {
-      await self.runtime._loadAutoStartModules(coreModuleNames);
-    }
-    Runtime._appStartedPromiseCallback();
-  }
-
-  /**
-   * @param {string} appName
-   * @return {!Promise.<undefined>}
-   */
-  static startWorker(appName) {
-    return Root.Runtime.startApplication(appName).then(sendWorkerReady);
-
-    function sendWorkerReady() {
-      self.postMessage('workerReady');
-    }
-  }
-
-  /**
-   * @param {string} name
-   * @return {?string}
-   */
-  static queryParam(name) {
-    return Runtime._queryParamsObject.get(name);
-  }
-
-  /**
-   * @return {string}
-   */
-  static queryParamsString() {
-    return location.search;
-  }
-
-  /**
-   * @return {!Object}
-   */
-  static _experimentsSetting() {
-    try {
-      return /** @type {!Object} */ (
-          JSON.parse(self.localStorage && self.localStorage['experiments'] ? self.localStorage['experiments'] : '{}'));
-    } catch (e) {
-      console.error('Failed to parse localStorage[\'experiments\']');
-      return {};
-    }
-  }
-
-  static _assert(value, message) {
-    if (value) {
-      return;
-    }
-    Runtime._originalAssert.call(Runtime._console, value, message + ' ' + new Error().stack);
-  }
-
-  /**
-   * @param {string} platform
-   */
-  static setPlatform(platform) {
-    Runtime._platform = platform;
-  }
-
-  /**
-   * @param {!Object} descriptor
-   * @return {boolean}
-   */
-  static _isDescriptorEnabled(descriptor) {
-    const activatorExperiment = descriptor['experiment'];
-    if (activatorExperiment === '*') {
-      return Runtime.experiments.supportEnabled();
-    }
-    if (activatorExperiment && activatorExperiment.startsWith('!') &&
-        Runtime.experiments.isEnabled(activatorExperiment.substring(1))) {
-      return false;
-    }
-    if (activatorExperiment && !activatorExperiment.startsWith('!') &&
-        !Runtime.experiments.isEnabled(activatorExperiment)) {
-      return false;
-    }
-    const condition = descriptor['condition'];
-    if (condition && !condition.startsWith('!') && !Runtime.queryParam(condition)) {
-      return false;
-    }
-    if (condition && condition.startsWith('!') && Runtime.queryParam(condition.substring(1))) {
-      return false;
-    }
-    return true;
-  }
-
-  /**
-   * @param {string} path
-   * @return {string}
-   */
-  static resolveSourceURL(path) {
-    let sourceURL = self.location.href;
-    if (self.location.search) {
-      sourceURL = sourceURL.replace(self.location.search, '');
-    }
-    sourceURL = sourceURL.substring(0, sourceURL.lastIndexOf('/') + 1) + path;
-    return '\n/*# sourceURL=' + sourceURL + ' */';
-  }
-
-  /**
-   * @param {function(string):string} localizationFunction
-   */
-  static setL10nCallback(localizationFunction) {
-    Runtime._l10nCallback = localizationFunction;
-  }
-
-  useTestBase() {
-    Runtime._remoteBase = 'http://localhost:8000/inspector-sources/';
-    if (Runtime.queryParam('debugFrontend')) {
-      Runtime._remoteBase += 'debug/';
-    }
-  }
-
-  /**
-   * @param {string} moduleName
-   * @return {!Runtime.Module}
-   */
-  module(moduleName) {
-    return this._modulesMap[moduleName];
-  }
-
-  /**
-   * @param {!ModuleDescriptor} descriptor
-   */
-  _registerModule(descriptor) {
-    const module = new Runtime.Module(this, descriptor);
-    this._modules.push(module);
-    this._modulesMap[descriptor['name']] = module;
-  }
-
-  /**
-   * @param {string} moduleName
-   * @return {!Promise.<undefined>}
-   */
-  loadModulePromise(moduleName) {
-    return this._modulesMap[moduleName]._loadPromise();
-  }
-
-  /**
-   * @param {!Array.<string>} moduleNames
-   * @return {!Promise.<!Array.<*>>}
-   */
-  _loadAutoStartModules(moduleNames) {
-    const promises = [];
-    for (let i = 0; i < moduleNames.length; ++i) {
-      promises.push(this.loadModulePromise(moduleNames[i]));
-    }
-    return Promise.all(promises);
-  }
-
-  /**
-   * @param {!Extension} extension
-   * @param {?function(function(new:Object)):boolean} predicate
-   * @return {boolean}
-   */
-  _checkExtensionApplicability(extension, predicate) {
-    if (!predicate) {
-      return false;
-    }
-    const contextTypes = extension.descriptor().contextTypes;
-    if (!contextTypes) {
-      return true;
-    }
-    for (let i = 0; i < contextTypes.length; ++i) {
-      const contextType = this._resolve(contextTypes[i]);
-      const isMatching = !!contextType && predicate(contextType);
-      if (isMatching) {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  /**
-   * @param {!Extension} extension
-   * @param {?Object} context
-   * @return {boolean}
-   */
-  isExtensionApplicableToContext(extension, context) {
-    if (!context) {
-      return true;
-    }
-    return this._checkExtensionApplicability(extension, isInstanceOf);
-
-    /**
-     * @param {!Function} targetType
-     * @return {boolean}
-     */
-    function isInstanceOf(targetType) {
-      return context instanceof targetType;
-    }
-  }
-
-  /**
-   * @param {!Extension} extension
-   * @param {!Set.<!Function>=} currentContextTypes
-   * @return {boolean}
-   */
-  isExtensionApplicableToContextTypes(extension, currentContextTypes) {
-    if (!extension.descriptor().contextTypes) {
-      return true;
-    }
-
-    return this._checkExtensionApplicability(extension, currentContextTypes ? isContextTypeKnown : null);
-
-    /**
-     * @param {!Function} targetType
-     * @return {boolean}
-     */
-    function isContextTypeKnown(targetType) {
-      return currentContextTypes.has(targetType);
-    }
-  }
-
-  /**
-   * @param {*} type
-   * @param {?Object=} context
-   * @param {boolean=} sortByTitle
-   * @return {!Array.<!Extension>}
-   */
-  extensions(type, context, sortByTitle) {
-    return this._extensions.filter(filter).sort(sortByTitle ? titleComparator : orderComparator);
-
-    /**
-     * @param {!Extension} extension
-     * @return {boolean}
-     */
-    function filter(extension) {
-      if (extension._type !== type && extension._typeClass() !== type) {
-        return false;
-      }
-      if (!extension.enabled()) {
-        return false;
-      }
-      return !context || extension.isApplicable(context);
-    }
-
-    /**
-     * @param {!Extension} extension1
-     * @param {!Extension} extension2
-     * @return {number}
-     */
-    function orderComparator(extension1, extension2) {
-      const order1 = extension1.descriptor()['order'] || 0;
-      const order2 = extension2.descriptor()['order'] || 0;
-      return order1 - order2;
-    }
-
-    /**
-     * @param {!Extension} extension1
-     * @param {!Extension} extension2
-     * @return {number}
-     */
-    function titleComparator(extension1, extension2) {
-      const title1 = extension1.title() || '';
-      const title2 = extension2.title() || '';
-      return title1.localeCompare(title2);
-    }
-  }
-
-  /**
-   * @param {*} type
-   * @param {?Object=} context
-   * @return {?Extension}
-   */
-  extension(type, context) {
-    return this.extensions(type, context)[0] || null;
-  }
-
-  /**
-   * @param {*} type
-   * @param {?Object=} context
-   * @return {!Promise.<!Array.<!Object>>}
-   */
-  allInstances(type, context) {
-    return Promise.all(this.extensions(type, context).map(extension => extension.instance()));
-  }
-
-  /**
-   * @return {?function(new:Object)}
-   */
-  _resolve(typeName) {
-    if (!this._cachedTypeClasses[typeName]) {
-      const path = typeName.split('.');
-      let object = self;
-      for (let i = 0; object && (i < path.length); ++i) {
-        object = object[path[i]];
-      }
-      if (object) {
-        this._cachedTypeClasses[typeName] = /** @type function(new:Object) */ (object);
-      }
-    }
-    return this._cachedTypeClasses[typeName] || null;
-  }
-
-  /**
-   * @param {function(new:T)} constructorFunction
-   * @return {!T}
-   * @template T
-   */
-  sharedInstance(constructorFunction) {
-    if (Runtime._instanceSymbol in constructorFunction &&
-        Object.getOwnPropertySymbols(constructorFunction).includes(Runtime._instanceSymbol)) {
-      return constructorFunction[Runtime._instanceSymbol];
-    }
-
-    const instance = new constructorFunction();
-    constructorFunction[Runtime._instanceSymbol] = instance;
-    return instance;
-  }
-}
-
-/** @type {!URLSearchParams} */
-Runtime._queryParamsObject = new URLSearchParams(Runtime.queryParamsString());
-
-Runtime._instanceSymbol = Symbol('instance');
-
-/**
- * @type {!Object.<string, string>}
- */
-Runtime.cachedResources = {
-  __proto__: null
-};
-
-
-Runtime._console = console;
-Runtime._originalAssert = console.assert;
-
-
-Runtime._platform = '';
-
-
-/**
- * @unrestricted
- */
-class ModuleDescriptor {
-  constructor() {
-    /**
-     * @type {string}
-     */
-    this.name;
-
-    /**
-     * @type {!Array.<!RuntimeExtensionDescriptor>}
-     */
-    this.extensions;
-
-    /**
-     * @type {!Array.<string>|undefined}
-     */
-    this.dependencies;
-
-    /**
-     * @type {!Array.<string>}
-     */
-    this.scripts;
-
-    /**
-     * @type {string|undefined}
-     */
-    this.condition;
-
-    /**
-     * @type {boolean|undefined}
-     */
-    this.remote;
-  }
-}
-
-// This class is named like this, because we already have an "ExtensionDescriptor" in the externs
-// These two do not share the same structure
-/**
- * @unrestricted
- */
-class RuntimeExtensionDescriptor {
-  constructor() {
-    /**
-     * @type {string}
-     */
-    this.type;
-
-    /**
-     * @type {string|undefined}
-     */
-    this.className;
-
-    /**
-     * @type {string|undefined}
-     */
-    this.factoryName;
-
-    /**
-     * @type {!Array.<string>|undefined}
-     */
-    this.contextTypes;
-  }
-}
-
-/**
- * @unrestricted
- */
-class Module {
-  /**
-   * @param {!Runtime} manager
-   * @param {!ModuleDescriptor} descriptor
-   */
-  constructor(manager, descriptor) {
-    this._manager = manager;
-    this._descriptor = descriptor;
-    this._name = descriptor.name;
-    /** @type {!Array<!Extension>} */
-    this._extensions = [];
-
-    /** @type {!Map<string, !Array<!Extension>>} */
-    this._extensionsByClassName = new Map();
-    const extensions = /** @type {?Array.<!RuntimeExtensionDescriptor>} */ (descriptor.extensions);
-    for (let i = 0; extensions && i < extensions.length; ++i) {
-      const extension = new Extension(this, extensions[i]);
-      this._manager._extensions.push(extension);
-      this._extensions.push(extension);
-    }
-    this._loadedForTest = false;
-  }
-
-  /**
-   * @return {string}
-   */
-  name() {
-    return this._name;
-  }
-
-  /**
-   * @return {boolean}
-   */
-  enabled() {
-    return Runtime._isDescriptorEnabled(this._descriptor);
-  }
-
-  /**
-   * @param {string} name
-   * @return {string}
-   */
-  resource(name) {
-    const fullName = this._name + '/' + name;
-    const content = Runtime.cachedResources[fullName];
-    if (!content) {
-      throw new Error(fullName + ' not preloaded. Check module.json');
-    }
-    return content;
-  }
-
-  /**
-   * @return {!Promise.<undefined>}
-   */
-  _loadPromise() {
-    if (!this.enabled()) {
-      return Promise.reject(new Error('Module ' + this._name + ' is not enabled'));
-    }
-
-    if (this._pendingLoadPromise) {
-      return this._pendingLoadPromise;
-    }
-
-    const dependencies = this._descriptor.dependencies;
-    const dependencyPromises = [];
-    for (let i = 0; dependencies && i < dependencies.length; ++i) {
-      dependencyPromises.push(this._manager._modulesMap[dependencies[i]]._loadPromise());
-    }
-
-    this._pendingLoadPromise = Promise.all(dependencyPromises)
-                                   .then(this._loadResources.bind(this))
-                                   .then(this._loadScripts.bind(this))
-                                   .then(() => this._loadedForTest = true);
-
-    return this._pendingLoadPromise;
-  }
-
-  /**
-   * @return {!Promise.<undefined>}
-   * @this {Runtime.Module}
-   */
-  _loadResources() {
-    const resources = this._descriptor['resources'];
-    if (!resources || !resources.length) {
-      return Promise.resolve();
-    }
-    const promises = [];
-    for (let i = 0; i < resources.length; ++i) {
-      const url = this._modularizeURL(resources[i]);
-      const isHtml = url.endsWith('.html');
-      promises.push(Runtime._loadResourceIntoCache(url, !isHtml /* appendSourceURL */));
-    }
-    return Promise.all(promises).then(undefined);
-  }
-
-  /**
-   * @return {!Promise.<undefined>}
-   */
-  _loadScripts() {
-    if (!this._descriptor.scripts || !this._descriptor.scripts.length) {
-      return Promise.resolve();
-    }
-
-    // Module namespaces.
-    // NOTE: Update scripts/special_case_namespaces.json if you add a special cased namespace.
-    // The namespace keyword confuses clang-format.
-    // clang-format off
-    const specialCases = {
-      'sdk': 'SDK',
-      'js_sdk': 'JSSDK',
-      'browser_sdk': 'BrowserSDK',
-      'ui': 'UI',
-      'object_ui': 'ObjectUI',
-      'javascript_metadata': 'JavaScriptMetadata',
-      'perf_ui': 'PerfUI',
-      'har_importer': 'HARImporter',
-      'sdk_test_runner': 'SDKTestRunner',
-      'cpu_profiler_test_runner': 'CPUProfilerTestRunner'
-    };
-    const namespace = specialCases[this._name] || this._name.split('_').map(a => a.substring(0, 1).toUpperCase() + a.substring(1)).join('');
-    self[namespace] = self[namespace] || {};
-    // clang-format on
-    return Runtime._loadScriptsPromise(this._descriptor.scripts.map(this._modularizeURL, this), this._remoteBase());
-  }
-
-  /**
-   * @param {string} resourceName
-   */
-  _modularizeURL(resourceName) {
-    return Runtime.normalizePath(this._name + '/' + resourceName);
-  }
-
-  /**
-   * @return {string|undefined}
-   */
-  _remoteBase() {
-    return !Runtime.queryParam('debugFrontend') && this._descriptor.remote && Runtime._remoteBase || undefined;
-  }
-
-  /**
-   * @param {string} resourceName
-   * @return {!Promise.<string>}
-   */
-  fetchResource(resourceName) {
-    const base = this._remoteBase();
-    const sourceURL = Runtime.getResourceURL(this._modularizeURL(resourceName), base);
-    return base ? Runtime.loadResourcePromiseWithFallback(sourceURL) : Runtime.loadResourcePromise(sourceURL);
-  }
-
-  /**
-   * @param {string} value
-   * @return {string}
-   */
-  substituteURL(value) {
-    const base = this._remoteBase() || '';
-    return value.replace(/@url\(([^\)]*?)\)/g, convertURL.bind(this));
-
-    function convertURL(match, url) {
-      return base + this._modularizeURL(url);
-    }
-  }
-}
-
-
-/**
- * @unrestricted
- */
-class Extension { /**
-   * @param {!Runtime.Module} module
-   * @param {!RuntimeExtensionDescriptor} descriptor
-   */
-  constructor(module, descriptor) {
-    this._module = module;
-    this._descriptor = descriptor;
-
-    this._type = descriptor.type;
-    this._hasTypeClass = this._type.charAt(0) === '@';
-
-    /**
-     * @type {?string}
-     */
-    this._className = descriptor.className || null;
-    this._factoryName = descriptor.factoryName || null;
-  }
-
-  /**
-   * @return {!Object}
-   */
-  descriptor() {
-    return this._descriptor;
-  }
-
-  /**
-   * @return {!Runtime.Module}
-   */
-  module() {
-    return this._module;
-  }
-
-  /**
-   * @return {boolean}
-   */
-  enabled() {
-    return this._module.enabled() && Runtime._isDescriptorEnabled(this.descriptor());
-  }
-
-  /**
-   * @return {?function(new:Object)}
-   */
-  _typeClass() {
-    if (!this._hasTypeClass) {
-      return null;
-    }
-    return this._module._manager._resolve(this._type.substring(1));
-  }
-
-  /**
-   * @param {?Object} context
-   * @return {boolean}
-   */
-  isApplicable(context) {
-    return this._module._manager.isExtensionApplicableToContext(this, context);
-  }
-
-  /**
-   * @return {!Promise.<!Object>}
-   */
-  instance() {
-    return this._module._loadPromise().then(this._createInstance.bind(this));
-  }
-
-  /**
-   * @return {boolean}
-   */
-  canInstantiate() {
-    return !!(this._className || this._factoryName);
-  }
-
-  /**
-   * @return {!Object}
-   */
-  _createInstance() {
-    const className = this._className || this._factoryName;
-    if (!className) {
-      throw new Error('Could not instantiate extension with no class');
-    }
-    const constructorFunction = self.eval(/** @type {string} */ (className));
-    if (!(constructorFunction instanceof Function)) {
-      throw new Error('Could not instantiate: ' + className);
-    }
-    if (this._className) {
-      return this._module._manager.sharedInstance(constructorFunction);
-    }
-    return new constructorFunction(this);
-  }
-
-  /**
-   * @return {string}
-   */
-  title() {
-    const title = this._descriptor['title-' + Runtime._platform] || this._descriptor['title'];
-    if (title && Runtime._l10nCallback) {
-      return Runtime._l10nCallback(title);
-    }
-    return title;
-  }
-
-  /**
-   * @param {function(new:Object)} contextType
-   * @return {boolean}
-   */
-  hasContextType(contextType) {
-    const contextTypes = this.descriptor().contextTypes;
-    if (!contextTypes) {
-      return false;
-    }
-    for (let i = 0; i < contextTypes.length; ++i) {
-      if (contextType === this._module._manager._resolve(contextTypes[i])) {
-        return true;
-      }
-    }
-    return false;
-  }
-}
-
-/**
- * @unrestricted
- */
-class ExperimentsSupport {
-  constructor() {
-    this._supportEnabled = Runtime.queryParam('experiments') !== null;
-    this._experiments = [];
-    this._experimentNames = {};
-    this._enabledTransiently = {};
-    /** @type {!Set<string>} */
-    this._serverEnabled = new Set();
-  }
-
-  /**
-   * @return {!Array.<!Runtime.Experiment>}
-   */
-  allConfigurableExperiments() {
-    const result = [];
-    for (let i = 0; i < this._experiments.length; i++) {
-      const experiment = this._experiments[i];
-      if (!this._enabledTransiently[experiment.name]) {
-        result.push(experiment);
-      }
-    }
-    return result;
-  }
-
-  /**
-   * @return {boolean}
-   */
-  supportEnabled() {
-    return this._supportEnabled;
-  }
-
-  /**
-   * @param {!Object} value
-   */
-  _setExperimentsSetting(value) {
-    if (!self.localStorage) {
-      return;
-    }
-    self.localStorage['experiments'] = JSON.stringify(value);
-  }
-
-  /**
-   * @param {string} experimentName
-   * @param {string} experimentTitle
-   * @param {boolean=} hidden
-   */
-  register(experimentName, experimentTitle, hidden) {
-    Runtime._assert(!this._experimentNames[experimentName], 'Duplicate registration of experiment ' + experimentName);
-    this._experimentNames[experimentName] = true;
-    this._experiments.push(new Runtime.Experiment(this, experimentName, experimentTitle, !!hidden));
-  }
-
-  /**
-   * @param {string} experimentName
-   * @return {boolean}
-   */
-  isEnabled(experimentName) {
-    this._checkExperiment(experimentName);
-    // Check for explicitly disabled experiments first - the code could call setEnable(false) on the experiment enabled
-    // by default and we should respect that.
-    if (Runtime._experimentsSetting()[experimentName] === false) {
-      return false;
-    }
-    if (this._enabledTransiently[experimentName]) {
-      return true;
-    }
-    if (this._serverEnabled.has(experimentName)) {
-      return true;
-    }
-    if (!this.supportEnabled()) {
-      return false;
-    }
-
-    return !!Runtime._experimentsSetting()[experimentName];
-  }
-
-  /**
-   * @param {string} experimentName
-   * @param {boolean} enabled
-   */
-  setEnabled(experimentName, enabled) {
-    this._checkExperiment(experimentName);
-    const experimentsSetting = Runtime._experimentsSetting();
-    experimentsSetting[experimentName] = enabled;
-    this._setExperimentsSetting(experimentsSetting);
-  }
-
-  /**
-   * @param {!Array.<string>} experimentNames
-   */
-  setDefaultExperiments(experimentNames) {
-    for (let i = 0; i < experimentNames.length; ++i) {
-      this._checkExperiment(experimentNames[i]);
-      this._enabledTransiently[experimentNames[i]] = true;
-    }
-  }
-
-  /**
-   * @param {!Array.<string>} experimentNames
-   */
-  setServerEnabledExperiments(experimentNames) {
-    for (const experiment of experimentNames) {
-      this._checkExperiment(experiment);
-      this._serverEnabled.add(experiment);
-    }
-  }
-
-  /**
-   * @param {string} experimentName
-   */
-  enableForTest(experimentName) {
-    this._checkExperiment(experimentName);
-    this._enabledTransiently[experimentName] = true;
-  }
-
-  clearForTest() {
-    this._experiments = [];
-    this._experimentNames = {};
-    this._enabledTransiently = {};
-    this._serverEnabled.clear();
-  }
-
-  cleanUpStaleExperiments() {
-    const experimentsSetting = Runtime._experimentsSetting();
-    const cleanedUpExperimentSetting = {};
-    for (let i = 0; i < this._experiments.length; ++i) {
-      const experimentName = this._experiments[i].name;
-      if (experimentsSetting[experimentName]) {
-        cleanedUpExperimentSetting[experimentName] = true;
-      }
-    }
-    this._setExperimentsSetting(cleanedUpExperimentSetting);
-  }
-
-  /**
-   * @param {string} experimentName
-   */
-  _checkExperiment(experimentName) {
-    Runtime._assert(this._experimentNames[experimentName], 'Unknown experiment ' + experimentName);
-  }
-}
-
-/**
- * @unrestricted
- */
-class Experiment {
-  /**
-   * @param {!Runtime.ExperimentsSupport} experiments
-   * @param {string} name
-   * @param {string} title
-   * @param {boolean} hidden
-   */
-  constructor(experiments, name, title, hidden) {
-    this.name = name;
-    this.title = title;
-    this.hidden = hidden;
-    this._experiments = experiments;
-  }
-
-  /**
-   * @return {boolean}
-   */
-  isEnabled() {
-    return this._experiments.isEnabled(this.name);
-  }
-
-  /**
-   * @param {boolean} enabled
-   */
-  setEnabled(enabled) {
-    this._experiments.setEnabled(this.name, enabled);
-  }
-}
-
-// This must be constructed after the query parameters have been parsed.
-Runtime.experiments = new ExperimentsSupport();
-
-/** @type {Function} */
-Runtime._appStartedPromiseCallback;
-Runtime._appStartedPromise = new Promise(fulfil => Runtime._appStartedPromiseCallback = fulfil);
-
-/** @type {function(string):string} */
-Runtime._l10nCallback;
-
-/**
- * @type {?string}
- */
-Runtime._remoteBase;
-(function validateRemoteBase() {
-  if (location.href.startsWith('devtools://devtools/bundled/') && Runtime.queryParam('remoteBase')) {
-    const versionMatch = /\/serve_file\/(@[0-9a-zA-Z]+)\/?$/.exec(Runtime.queryParam('remoteBase'));
-    if (versionMatch) {
-      Runtime._remoteBase = `${location.origin}/remote/serve_file/${versionMatch[1]}/`;
-    }
-  }
-})();
-
-self.Root = self.Root || {};
-Root = Root || {};
-
-// This gets all concatenated module descriptors in the release mode.
-Root.allDescriptors = [];
-
-Root.applicationDescriptor = undefined;
-
-/** @constructor */
-Root.Runtime = Runtime;
-
-/** @type {!Runtime} */
-Root.runtime;
-
-/** @constructor */
-Root.Runtime.ModuleDescriptor = ModuleDescriptor;
-
-/** @constructor */
-Root.Runtime.ExtensionDescriptor = RuntimeExtensionDescriptor;
-
-/** @constructor */
-Root.Runtime.Extension = Extension;
-
-/** @constructor */
-Root.Runtime.Module = Module;
-
-/** @constructor */
-Root.Runtime.ExperimentsSupport = ExperimentsSupport;
-
-/** @constructor */
-Root.Runtime.Experiment = Experiment;
\ No newline at end of file
diff --git a/front_end/Tests.js b/front_end/Tests.js
deleted file mode 100644
index c9e7139..0000000
--- a/front_end/Tests.js
+++ /dev/null
@@ -1,1607 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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.
- */
-/* eslint-disable indent */
-
-/**
- * @fileoverview This file contains small testing framework along with the
- * test suite for the frontend. These tests are a part of the continues build
- * and are executed by the devtools_sanity_unittest.cc as a part of the
- * Interactive UI Test suite.
- * FIXME: change field naming style to use trailing underscore.
- */
-
-(function createTestSuite(window) {
-
-  /**
-   * @unrestricted
-   */
-  const TestSuite = class {
-    /**
-     * Test suite for interactive UI tests.
-     * @param {Object} domAutomationController DomAutomationController instance.
-     */
-    constructor(domAutomationController) {
-      this.domAutomationController_ = domAutomationController;
-      this.controlTaken_ = false;
-      this.timerId_ = -1;
-      this._asyncInvocationId = 0;
-    }
-
-    /**
-     * Key event with given key identifier.
-     */
-    static createKeyEvent(key) {
-      return new KeyboardEvent('keydown', {bubbles: true, cancelable: true, key: key});
-    }
-  };
-
-  /**
-   * Reports test failure.
-   * @param {string} message Failure description.
-   */
-  TestSuite.prototype.fail = function(message) {
-    if (this.controlTaken_) {
-      this.reportFailure_(message);
-    } else {
-      throw message;
-    }
-  };
-
-  /**
-   * Equals assertion tests that expected === actual.
-   * @param {!Object|boolean} expected Expected object.
-   * @param {!Object|boolean} actual Actual object.
-   * @param {string} opt_message User message to print if the test fails.
-   */
-  TestSuite.prototype.assertEquals = function(expected, actual, opt_message) {
-    if (expected !== actual) {
-      let message = 'Expected: \'' + expected + '\', but was \'' + actual + '\'';
-      if (opt_message) {
-        message = opt_message + '(' + message + ')';
-      }
-      this.fail(message);
-    }
-  };
-
-  /**
-   * True assertion tests that value == true.
-   * @param {!Object} value Actual object.
-   * @param {string} opt_message User message to print if the test fails.
-   */
-  TestSuite.prototype.assertTrue = function(value, opt_message) {
-    this.assertEquals(true, !!value, opt_message);
-  };
-
-  /**
-   * Takes control over execution.
-   */
-  TestSuite.prototype.takeControl = function() {
-    this.controlTaken_ = true;
-    // Set up guard timer.
-    const self = this;
-    this.timerId_ = setTimeout(function() {
-      self.reportFailure_('Timeout exceeded: 20 sec');
-    }, 20000);
-  };
-
-  /**
-   * Releases control over execution.
-   */
-  TestSuite.prototype.releaseControl = function() {
-    if (this.timerId_ !== -1) {
-      clearTimeout(this.timerId_);
-      this.timerId_ = -1;
-    }
-    this.controlTaken_ = false;
-    this.reportOk_();
-  };
-
-  /**
-   * Async tests use this one to report that they are completed.
-   */
-  TestSuite.prototype.reportOk_ = function() {
-    this.domAutomationController_.send('[OK]');
-  };
-
-  /**
-   * Async tests use this one to report failures.
-   */
-  TestSuite.prototype.reportFailure_ = function(error) {
-    if (this.timerId_ !== -1) {
-      clearTimeout(this.timerId_);
-      this.timerId_ = -1;
-    }
-    this.domAutomationController_.send('[FAILED] ' + error);
-  };
-
-  /**
-   * Run specified test on a fresh instance of the test suite.
-   * @param {Array<string>} args method name followed by its parameters.
-   */
-  TestSuite.prototype.dispatchOnTestSuite = function(args) {
-    const methodName = args.shift();
-    try {
-      this[methodName].apply(this, args);
-      if (!this.controlTaken_) {
-        this.reportOk_();
-      }
-    } catch (e) {
-      this.reportFailure_(e);
-    }
-  };
-
-  /**
-   * Wrap an async method with TestSuite.{takeControl(), releaseControl()}
-   * and invoke TestSuite.reportOk_ upon completion.
-   * @param {Array<string>} args method name followed by its parameters.
-   */
-  TestSuite.prototype.waitForAsync = function(var_args) {
-    const args = Array.prototype.slice.call(arguments);
-    this.takeControl();
-    args.push(this.releaseControl.bind(this));
-    this.dispatchOnTestSuite(args);
-  };
-
-  /**
-   * Overrides the method with specified name until it's called first time.
-   * @param {!Object} receiver An object whose method to override.
-   * @param {string} methodName Name of the method to override.
-   * @param {!Function} override A function that should be called right after the
-   *     overridden method returns.
-   * @param {?boolean} opt_sticky Whether restore original method after first run
-   *     or not.
-   */
-  TestSuite.prototype.addSniffer = function(receiver, methodName, override, opt_sticky) {
-    const orig = receiver[methodName];
-    if (typeof orig !== 'function') {
-      this.fail('Cannot find method to override: ' + methodName);
-    }
-    const test = this;
-    receiver[methodName] = function(var_args) {
-      let result;
-      try {
-        result = orig.apply(this, arguments);
-      } finally {
-        if (!opt_sticky) {
-          receiver[methodName] = orig;
-        }
-      }
-      // In case of exception the override won't be called.
-      try {
-        override.apply(this, arguments);
-      } catch (e) {
-        test.fail('Exception in overriden method \'' + methodName + '\': ' + e);
-      }
-      return result;
-    };
-  };
-
-  /**
-   * Waits for current throttler invocations, if any.
-   * @param {!Common.Throttler} throttler
-   * @param {function()} callback
-   */
-  TestSuite.prototype.waitForThrottler = function(throttler, callback) {
-    const test = this;
-    let scheduleShouldFail = true;
-    test.addSniffer(throttler, 'schedule', onSchedule);
-
-    function hasSomethingScheduled() {
-      return throttler._isRunningProcess || throttler._process;
-    }
-
-    function checkState() {
-      if (!hasSomethingScheduled()) {
-        scheduleShouldFail = false;
-        callback();
-        return;
-      }
-
-      test.addSniffer(throttler, '_processCompletedForTests', checkState);
-    }
-
-    function onSchedule() {
-      if (scheduleShouldFail) {
-        test.fail('Unexpected Throttler.schedule');
-      }
-    }
-
-    checkState();
-  };
-
-  /**
-   * @param {string} panelName Name of the panel to show.
-   */
-  TestSuite.prototype.showPanel = function(panelName) {
-    return UI.inspectorView.showPanel(panelName);
-  };
-
-  // UI Tests
-
-  /**
-   * Tests that scripts tab can be open and populated with inspected scripts.
-   */
-  TestSuite.prototype.testShowScriptsTab = function() {
-    const test = this;
-    this.showPanel('sources').then(function() {
-      // There should be at least main page script.
-      this._waitUntilScriptsAreParsed(['debugger_test_page.html'], function() {
-        test.releaseControl();
-      });
-    }.bind(this));
-    // Wait until all scripts are added to the debugger.
-    this.takeControl();
-  };
-
-  /**
-   * Tests that scripts tab is populated with inspected scripts even if it
-   * hadn't been shown by the moment inspected paged refreshed.
-   * @see http://crbug.com/26312
-   */
-  TestSuite.prototype.testScriptsTabIsPopulatedOnInspectedPageRefresh = function() {
-    const test = this;
-    const debuggerModel = SDK.targetManager.mainTarget().model(SDK.DebuggerModel);
-    debuggerModel.addEventListener(SDK.DebuggerModel.Events.GlobalObjectCleared, waitUntilScriptIsParsed);
-
-    this.showPanel('elements').then(function() {
-      // Reload inspected page. It will reset the debugger agent.
-      test.evaluateInConsole_('window.location.reload(true);', function(resultText) {});
-    });
-
-    function waitUntilScriptIsParsed() {
-      debuggerModel.removeEventListener(SDK.DebuggerModel.Events.GlobalObjectCleared, waitUntilScriptIsParsed);
-      test.showPanel('sources').then(function() {
-        test._waitUntilScriptsAreParsed(['debugger_test_page.html'], function() {
-          test.releaseControl();
-        });
-      });
-    }
-
-    // Wait until all scripts are added to the debugger.
-    this.takeControl();
-  };
-
-  /**
-   * Tests that scripts list contains content scripts.
-   */
-  TestSuite.prototype.testContentScriptIsPresent = function() {
-    const test = this;
-    this.showPanel('sources').then(function() {
-      test._waitUntilScriptsAreParsed(['page_with_content_script.html', 'simple_content_script.js'], function() {
-        test.releaseControl();
-      });
-    });
-
-    // Wait until all scripts are added to the debugger.
-    this.takeControl();
-  };
-
-  /**
-   * Tests that scripts are not duplicaed on Scripts tab switch.
-   */
-  TestSuite.prototype.testNoScriptDuplicatesOnPanelSwitch = function() {
-    const test = this;
-
-    function switchToElementsTab() {
-      test.showPanel('elements').then(function() {
-        setTimeout(switchToScriptsTab, 0);
-      });
-    }
-
-    function switchToScriptsTab() {
-      test.showPanel('sources').then(function() {
-        setTimeout(checkScriptsPanel, 0);
-      });
-    }
-
-    function checkScriptsPanel() {
-      test.assertTrue(test._scriptsAreParsed(['debugger_test_page.html']), 'Some scripts are missing.');
-      checkNoDuplicates();
-      test.releaseControl();
-    }
-
-    function checkNoDuplicates() {
-      const uiSourceCodes = test.nonAnonymousUISourceCodes_();
-      for (let i = 0; i < uiSourceCodes.length; i++) {
-        for (let j = i + 1; j < uiSourceCodes.length; j++) {
-          test.assertTrue(
-              uiSourceCodes[i].url() !== uiSourceCodes[j].url(),
-              'Found script duplicates: ' + test.uiSourceCodesToString_(uiSourceCodes));
-        }
-      }
-    }
-
-    this.showPanel('sources').then(function() {
-      test._waitUntilScriptsAreParsed(['debugger_test_page.html'], function() {
-        checkNoDuplicates();
-        setTimeout(switchToElementsTab, 0);
-      });
-    });
-
-    // Wait until all scripts are added to the debugger.
-    this.takeControl();
-  };
-
-  // Tests that debugger works correctly if pause event occurs when DevTools
-  // frontend is being loaded.
-  TestSuite.prototype.testPauseWhenLoadingDevTools = function() {
-    const debuggerModel = SDK.targetManager.mainTarget().model(SDK.DebuggerModel);
-    if (debuggerModel.debuggerPausedDetails) {
-      return;
-    }
-
-    this.showPanel('sources').then(function() {
-      // Script execution can already be paused.
-
-      this._waitForScriptPause(this.releaseControl.bind(this));
-    }.bind(this));
-
-    this.takeControl();
-  };
-
-  // Tests that pressing "Pause" will pause script execution if the script
-  // is already running.
-  TestSuite.prototype.testPauseWhenScriptIsRunning = function() {
-    this.showPanel('sources').then(function() {
-      this.evaluateInConsole_('setTimeout("handleClick()", 0)', didEvaluateInConsole.bind(this));
-    }.bind(this));
-
-    function didEvaluateInConsole(resultText) {
-      this.assertTrue(!isNaN(resultText), 'Failed to get timer id: ' + resultText);
-      // Wait for some time to make sure that inspected page is running the
-      // infinite loop.
-      setTimeout(testScriptPause.bind(this), 300);
-    }
-
-    function testScriptPause() {
-      // The script should be in infinite loop. Click "Pause" button to
-      // pause it and wait for the result.
-      UI.panels.sources._togglePause();
-
-      this._waitForScriptPause(this.releaseControl.bind(this));
-    }
-
-    this.takeControl();
-  };
-
-  /**
-   * Tests network size.
-   */
-  TestSuite.prototype.testNetworkSize = function() {
-    const test = this;
-
-    function finishRequest(request, finishTime) {
-      test.assertEquals(25, request.resourceSize, 'Incorrect total data length');
-      test.releaseControl();
-    }
-
-    this.addSniffer(SDK.NetworkDispatcher.prototype, '_finishNetworkRequest', finishRequest);
-
-    // Reload inspected page to sniff network events
-    test.evaluateInConsole_('window.location.reload(true);', function(resultText) {});
-
-    this.takeControl();
-  };
-
-  /**
-   * Tests network sync size.
-   */
-  TestSuite.prototype.testNetworkSyncSize = function() {
-    const test = this;
-
-    function finishRequest(request, finishTime) {
-      test.assertEquals(25, request.resourceSize, 'Incorrect total data length');
-      test.releaseControl();
-    }
-
-    this.addSniffer(SDK.NetworkDispatcher.prototype, '_finishNetworkRequest', finishRequest);
-
-    // Send synchronous XHR to sniff network events
-    test.evaluateInConsole_(
-        'let xhr = new XMLHttpRequest(); xhr.open("GET", "chunked", false); xhr.send(null);', function() {});
-
-    this.takeControl();
-  };
-
-  /**
-   * Tests network raw headers text.
-   */
-  TestSuite.prototype.testNetworkRawHeadersText = function() {
-    const test = this;
-
-    function finishRequest(request, finishTime) {
-      if (!request.responseHeadersText) {
-        test.fail('Failure: resource does not have response headers text');
-      }
-      const index = request.responseHeadersText.indexOf('Date:');
-      test.assertEquals(
-          112, request.responseHeadersText.substring(index).length, 'Incorrect response headers text length');
-      test.releaseControl();
-    }
-
-    this.addSniffer(SDK.NetworkDispatcher.prototype, '_finishNetworkRequest', finishRequest);
-
-    // Reload inspected page to sniff network events
-    test.evaluateInConsole_('window.location.reload(true);', function(resultText) {});
-
-    this.takeControl();
-  };
-
-  /**
-   * Tests network timing.
-   */
-  TestSuite.prototype.testNetworkTiming = function() {
-    const test = this;
-
-    function finishRequest(request, finishTime) {
-      // Setting relaxed expectations to reduce flakiness.
-      // Server sends headers after 100ms, then sends data during another 100ms.
-      // We expect these times to be measured at least as 70ms.
-      test.assertTrue(
-          request.timing.receiveHeadersEnd - request.timing.connectStart >= 70,
-          'Time between receiveHeadersEnd and connectStart should be >=70ms, but was ' +
-              'receiveHeadersEnd=' + request.timing.receiveHeadersEnd + ', connectStart=' +
-              request.timing.connectStart + '.');
-      test.assertTrue(
-          request.responseReceivedTime - request.startTime >= 0.07,
-          'Time between responseReceivedTime and startTime should be >=0.07s, but was ' +
-              'responseReceivedTime=' + request.responseReceivedTime + ', startTime=' + request.startTime + '.');
-      test.assertTrue(
-          request.endTime - request.startTime >= 0.14,
-          'Time between endTime and startTime should be >=0.14s, but was ' +
-              'endtime=' + request.endTime + ', startTime=' + request.startTime + '.');
-
-      test.releaseControl();
-    }
-
-    this.addSniffer(SDK.NetworkDispatcher.prototype, '_finishNetworkRequest', finishRequest);
-
-    // Reload inspected page to sniff network events
-    test.evaluateInConsole_('window.location.reload(true);', function(resultText) {});
-
-    this.takeControl();
-  };
-
-  TestSuite.prototype.testPushTimes = function(url) {
-    const test = this;
-    let pendingRequestCount = 2;
-
-    function finishRequest(request, finishTime) {
-      test.assertTrue(
-          typeof request.timing.pushStart === 'number' && request.timing.pushStart > 0,
-          `pushStart is invalid: ${request.timing.pushStart}`);
-      test.assertTrue(typeof request.timing.pushEnd === 'number', `pushEnd is invalid: ${request.timing.pushEnd}`);
-      test.assertTrue(request.timing.pushStart < request.startTime, 'pushStart should be before startTime');
-      if (request.url().endsWith('?pushUseNullEndTime')) {
-        test.assertTrue(request.timing.pushEnd === 0, `pushEnd should be 0 but is ${request.timing.pushEnd}`);
-      } else {
-        test.assertTrue(
-            request.timing.pushStart < request.timing.pushEnd,
-            `pushStart should be before pushEnd (${request.timing.pushStart} >= ${request.timing.pushEnd})`);
-        // The below assertion is just due to the way we generate times in the moch URLRequestJob and is not generally an invariant.
-        test.assertTrue(request.timing.pushEnd < request.endTime, 'pushEnd should be before endTime');
-        test.assertTrue(request.startTime < request.timing.pushEnd, 'pushEnd should be after startTime');
-      }
-      if (!--pendingRequestCount) {
-        test.releaseControl();
-      }
-    }
-
-    this.addSniffer(SDK.NetworkDispatcher.prototype, '_finishNetworkRequest', finishRequest, true);
-
-    test.evaluateInConsole_('addImage(\'' + url + '\')', function(resultText) {});
-    test.evaluateInConsole_('addImage(\'' + url + '?pushUseNullEndTime\')', function(resultText) {});
-    this.takeControl();
-  };
-
-  TestSuite.prototype.testConsoleOnNavigateBack = function() {
-
-    function filteredMessages() {
-      return SDK.consoleModel.messages().filter(a => a.source !== SDK.ConsoleMessage.MessageSource.Violation);
-    }
-
-    if (filteredMessages().length === 1) {
-      firstConsoleMessageReceived.call(this, null);
-    } else {
-      SDK.consoleModel.addEventListener(SDK.ConsoleModel.Events.MessageAdded, firstConsoleMessageReceived, this);
-    }
-
-
-    function firstConsoleMessageReceived(event) {
-      if (event && event.data.source === SDK.ConsoleMessage.MessageSource.Violation) {
-        return;
-      }
-      SDK.consoleModel.removeEventListener(SDK.ConsoleModel.Events.MessageAdded, firstConsoleMessageReceived, this);
-      this.evaluateInConsole_('clickLink();', didClickLink.bind(this));
-    }
-
-    function didClickLink() {
-      // Check that there are no new messages(command is not a message).
-      this.assertEquals(3, filteredMessages().length);
-      this.evaluateInConsole_('history.back();', didNavigateBack.bind(this));
-    }
-
-    function didNavigateBack() {
-      // Make sure navigation completed and possible console messages were pushed.
-      this.evaluateInConsole_('void 0;', didCompleteNavigation.bind(this));
-    }
-
-    function didCompleteNavigation() {
-      this.assertEquals(7, filteredMessages().length);
-      this.releaseControl();
-    }
-
-    this.takeControl();
-  };
-
-  TestSuite.prototype.testSharedWorker = function() {
-    function didEvaluateInConsole(resultText) {
-      this.assertEquals('2011', resultText);
-      this.releaseControl();
-    }
-    this.evaluateInConsole_('globalVar', didEvaluateInConsole.bind(this));
-    this.takeControl();
-  };
-
-  TestSuite.prototype.testPauseInSharedWorkerInitialization1 = function() {
-    // Make sure the worker is loaded.
-    this.takeControl();
-    this._waitForTargets(1, callback.bind(this));
-
-    function callback() {
-      Protocol.test.deprecatedRunAfterPendingDispatches(this.releaseControl.bind(this));
-    }
-  };
-
-  TestSuite.prototype.testPauseInSharedWorkerInitialization2 = function() {
-    this.takeControl();
-    this._waitForTargets(1, callback.bind(this));
-
-    function callback() {
-      const debuggerModel = SDK.targetManager.models(SDK.DebuggerModel)[0];
-      if (debuggerModel.isPaused()) {
-        SDK.consoleModel.addEventListener(SDK.ConsoleModel.Events.MessageAdded, onConsoleMessage, this);
-        debuggerModel.resume();
-        return;
-      }
-      this._waitForScriptPause(callback.bind(this));
-    }
-
-    function onConsoleMessage(event) {
-      const message = event.data.messageText;
-      if (message !== 'connected') {
-        this.fail('Unexpected message: ' + message);
-      }
-      this.releaseControl();
-    }
-  };
-
-  TestSuite.prototype.testSharedWorkerNetworkPanel = function() {
-    this.takeControl();
-    this.showPanel('network').then(() => {
-      if (!document.querySelector('#network-container')) {
-        this.fail('unable to find #network-container');
-      }
-      this.releaseControl();
-    });
-  };
-
-  TestSuite.prototype.enableTouchEmulation = function() {
-    const deviceModeModel = new Emulation.DeviceModeModel(function() {});
-    deviceModeModel._target = SDK.targetManager.mainTarget();
-    deviceModeModel._applyTouch(true, true);
-  };
-
-  TestSuite.prototype.waitForDebuggerPaused = function() {
-    const debuggerModel = SDK.targetManager.mainTarget().model(SDK.DebuggerModel);
-    if (debuggerModel.debuggerPausedDetails) {
-      return;
-    }
-
-    this.takeControl();
-    this._waitForScriptPause(this.releaseControl.bind(this));
-  };
-
-  TestSuite.prototype.switchToPanel = function(panelName) {
-    this.showPanel(panelName).then(this.releaseControl.bind(this));
-    this.takeControl();
-  };
-
-  // Regression test for crbug.com/370035.
-  TestSuite.prototype.testDeviceMetricsOverrides = function() {
-    function dumpPageMetrics() {
-      return JSON.stringify(
-          {width: window.innerWidth, height: window.innerHeight, deviceScaleFactor: window.devicePixelRatio});
-    }
-
-    const test = this;
-
-    async function testOverrides(params, metrics, callback) {
-      await SDK.targetManager.mainTarget().emulationAgent().invoke_setDeviceMetricsOverride(params);
-      test.evaluateInConsole_('(' + dumpPageMetrics.toString() + ')()', checkMetrics);
-
-      function checkMetrics(consoleResult) {
-        test.assertEquals(
-            '"' + JSON.stringify(metrics) + '"', consoleResult, 'Wrong metrics for params: ' + JSON.stringify(params));
-        callback();
-      }
-    }
-
-    function step1() {
-      testOverrides(
-          {width: 1200, height: 1000, deviceScaleFactor: 1, mobile: false, fitWindow: true},
-          {width: 1200, height: 1000, deviceScaleFactor: 1}, step2);
-    }
-
-    function step2() {
-      testOverrides(
-          {width: 1200, height: 1000, deviceScaleFactor: 1, mobile: false, fitWindow: false},
-          {width: 1200, height: 1000, deviceScaleFactor: 1}, step3);
-    }
-
-    function step3() {
-      testOverrides(
-          {width: 1200, height: 1000, deviceScaleFactor: 3, mobile: false, fitWindow: true},
-          {width: 1200, height: 1000, deviceScaleFactor: 3}, step4);
-    }
-
-    function step4() {
-      testOverrides(
-          {width: 1200, height: 1000, deviceScaleFactor: 3, mobile: false, fitWindow: false},
-          {width: 1200, height: 1000, deviceScaleFactor: 3}, finish);
-    }
-
-    function finish() {
-      test.releaseControl();
-    }
-
-    test.takeControl();
-    step1();
-  };
-
-  TestSuite.prototype.testDispatchKeyEventShowsAutoFill = function() {
-    const test = this;
-    let receivedReady = false;
-
-    function signalToShowAutofill() {
-      SDK.targetManager.mainTarget().inputAgent().invoke_dispatchKeyEvent(
-          {type: 'rawKeyDown', key: 'Down', windowsVirtualKeyCode: 40, nativeVirtualKeyCode: 40});
-      SDK.targetManager.mainTarget().inputAgent().invoke_dispatchKeyEvent(
-          {type: 'keyUp', key: 'Down', windowsVirtualKeyCode: 40, nativeVirtualKeyCode: 40});
-    }
-
-    function selectTopAutoFill() {
-      SDK.targetManager.mainTarget().inputAgent().invoke_dispatchKeyEvent(
-          {type: 'rawKeyDown', key: 'Down', windowsVirtualKeyCode: 40, nativeVirtualKeyCode: 40});
-      SDK.targetManager.mainTarget().inputAgent().invoke_dispatchKeyEvent(
-          {type: 'keyUp', key: 'Down', windowsVirtualKeyCode: 40, nativeVirtualKeyCode: 40});
-      SDK.targetManager.mainTarget().inputAgent().invoke_dispatchKeyEvent(
-          {type: 'rawKeyDown', key: 'Enter', windowsVirtualKeyCode: 13, nativeVirtualKeyCode: 13});
-      SDK.targetManager.mainTarget().inputAgent().invoke_dispatchKeyEvent(
-          {type: 'keyUp', key: 'Enter', windowsVirtualKeyCode: 13, nativeVirtualKeyCode: 13});
-
-      test.evaluateInConsole_('document.getElementById("name").value', onResultOfInput);
-    }
-
-    function onResultOfInput(value) {
-      // Console adds "" around the response.
-      test.assertEquals('"Abbf"', value);
-      test.releaseControl();
-    }
-
-    function onConsoleMessage(event) {
-      const message = event.data.messageText;
-      if (message === 'ready' && !receivedReady) {
-        receivedReady = true;
-        signalToShowAutofill();
-      }
-      // This log comes from the browser unittest code.
-      if (message === 'didShowSuggestions') {
-        selectTopAutoFill();
-      }
-    }
-
-    this.takeControl();
-
-    // It is possible for the ready console messagage to be already received but not handled
-    // or received later. This ensures we can catch both cases.
-    SDK.consoleModel.addEventListener(SDK.ConsoleModel.Events.MessageAdded, onConsoleMessage, this);
-
-    const messages = SDK.consoleModel.messages();
-    if (messages.length) {
-      const text = messages[0].messageText;
-      this.assertEquals('ready', text);
-      signalToShowAutofill();
-    }
-  };
-
-  TestSuite.prototype.testKeyEventUnhandled = function() {
-    function onKeyEventUnhandledKeyDown(event) {
-      this.assertEquals('keydown', event.data.type);
-      this.assertEquals('F8', event.data.key);
-      this.assertEquals(119, event.data.keyCode);
-      this.assertEquals(0, event.data.modifiers);
-      this.assertEquals('', event.data.code);
-      Host.InspectorFrontendHost.events.removeEventListener(
-          Host.InspectorFrontendHostAPI.Events.KeyEventUnhandled, onKeyEventUnhandledKeyDown, this);
-      Host.InspectorFrontendHost.events.addEventListener(
-          Host.InspectorFrontendHostAPI.Events.KeyEventUnhandled, onKeyEventUnhandledKeyUp, this);
-      SDK.targetManager.mainTarget().inputAgent().invoke_dispatchKeyEvent(
-          {type: 'keyUp', key: 'F8', code: 'F8', windowsVirtualKeyCode: 119, nativeVirtualKeyCode: 119});
-    }
-    function onKeyEventUnhandledKeyUp(event) {
-      this.assertEquals('keyup', event.data.type);
-      this.assertEquals('F8', event.data.key);
-      this.assertEquals(119, event.data.keyCode);
-      this.assertEquals(0, event.data.modifiers);
-      this.assertEquals('F8', event.data.code);
-      this.releaseControl();
-    }
-    this.takeControl();
-    Host.InspectorFrontendHost.events.addEventListener(
-        Host.InspectorFrontendHostAPI.Events.KeyEventUnhandled, onKeyEventUnhandledKeyDown, this);
-    SDK.targetManager.mainTarget().inputAgent().invoke_dispatchKeyEvent(
-        {type: 'rawKeyDown', key: 'F8', windowsVirtualKeyCode: 119, nativeVirtualKeyCode: 119});
-  };
-
-  TestSuite.prototype.testDispatchKeyEventDoesNotCrash = function() {
-    SDK.targetManager.mainTarget().inputAgent().invoke_dispatchKeyEvent(
-        {type: 'rawKeyDown', windowsVirtualKeyCode: 0x23, key: 'End'});
-    SDK.targetManager.mainTarget().inputAgent().invoke_dispatchKeyEvent(
-        {type: 'keyUp', windowsVirtualKeyCode: 0x23, key: 'End'});
-  };
-
-  // Check that showing the certificate viewer does not crash, crbug.com/954874
-  TestSuite.prototype.testShowCertificate = function() {
-    Host.InspectorFrontendHost.showCertificateViewer([
-      'MIIFIDCCBAigAwIBAgIQE0TsEu6R8FUHQv+9fE7j8TANBgkqhkiG9w0BAQsF' +
-          'ADBUMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZp' +
-          'Y2VzMSUwIwYDVQQDExxHb29nbGUgSW50ZXJuZXQgQXV0aG9yaXR5IEczMB4X' +
-          'DTE5MDMyNjEzNDEwMVoXDTE5MDYxODEzMjQwMFowZzELMAkGA1UEBhMCVVMx' +
-          'EzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcx' +
-          'EzARBgNVBAoMCkdvb2dsZSBMTEMxFjAUBgNVBAMMDSouYXBwc3BvdC5jb20w' +
-          'ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwca7hj0kyoJVxcvyA' +
-          'a8zNKMIXcoPM3aU1KVe7mxZITtwC6/D/D/q4Oe8fBQLeZ3c6qR5Sr3M+611k' +
-          'Ab15AcGUgh1Xi0jZqERvd/5+P0aVCFJYeoLrPBzwSMZBStkoiO2CwtV8x06e' +
-          'X7qUz7Hvr3oeG+Ma9OUMmIebl//zHtC82mE0mCRBQAW0MWEgT5nOWey74tJR' +
-          'GRqUEI8ftV9grAshD5gY8kxxUoMfqrreaXVqcRF58ZPiwUJ0+SbtC5q9cJ+K' +
-          'MuYM4TCetEuk/WQsa+1EnSa40dhGRtZjxbwEwQAJ1vLOcIA7AVR/Ck22Uj8X' +
-          'UOECercjUrKdDyaAPcLp2TThAgMBAAGjggHZMIIB1TATBgNVHSUEDDAKBggr' +
-          'BgEFBQcDATCBrwYDVR0RBIGnMIGkgg0qLmFwcHNwb3QuY29tggsqLmEucnVu' +
-          'LmFwcIIVKi50aGlua3dpdGhnb29nbGUuY29tghAqLndpdGhnb29nbGUuY29t' +
-          'ghEqLndpdGh5b3V0dWJlLmNvbYILYXBwc3BvdC5jb22CB3J1bi5hcHCCE3Ro' +
-          'aW5rd2l0aGdvb2dsZS5jb22CDndpdGhnb29nbGUuY29tgg93aXRoeW91dHVi' +
-          'ZS5jb20waAYIKwYBBQUHAQEEXDBaMC0GCCsGAQUFBzAChiFodHRwOi8vcGtp' +
-          'Lmdvb2cvZ3NyMi9HVFNHSUFHMy5jcnQwKQYIKwYBBQUHMAGGHWh0dHA6Ly9v' +
-          'Y3NwLnBraS5nb29nL0dUU0dJQUczMB0GA1UdDgQWBBTGkpE5o0H9+Wjc05rF' +
-          'hNQiYDjBFjAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFHfCuFCaZ3Z2sS3C' +
-          'htCDoH6mfrpLMCEGA1UdIAQaMBgwDAYKKwYBBAHWeQIFAzAIBgZngQwBAgIw' +
-          'MQYDVR0fBCowKDAmoCSgIoYgaHR0cDovL2NybC5wa2kuZ29vZy9HVFNHSUFH' +
-          'My5jcmwwDQYJKoZIhvcNAQELBQADggEBALqoYGqWtJW/6obEzY+ehsgfyXb+' +
-          'qNIuV09wt95cRF93HlLbBlSZ/Iz8HXX44ZT1/tGAkwKnW0gDKSSab3I8U+e9' +
-          'LHbC9VXrgAFENzu89MNKNmK5prwv+MPA2HUQPu4Pad3qXmd4+nKc/EUjtg1d' +
-          '/xKGK1Vn6JX3i5ly/rduowez3LxpSAJuIwseum331aQaKC2z2ri++96B8MPU' +
-          'KFXzvV2gVGOe3ZYqmwPaG8y38Tba+OzEh59ygl8ydJJhoI6+R3itPSy0aXUU' +
-          'lMvvAbfCobXD5kBRQ28ysgbDSDOPs3fraXpAKL92QUjsABs58XBz5vka4swu' +
-          'gg/u+ZxaKOqfIm8=',
-      'MIIEXDCCA0SgAwIBAgINAeOpMBz8cgY4P5pTHTANBgkqhkiG9w0BAQsFADBM' +
-          'MSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMK' +
-          'R2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0xNzA2MTUwMDAw' +
-          'NDJaFw0yMTEyMTUwMDAwNDJaMFQxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVH' +
-          'b29nbGUgVHJ1c3QgU2VydmljZXMxJTAjBgNVBAMTHEdvb2dsZSBJbnRlcm5l' +
-          'dCBBdXRob3JpdHkgRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB' +
-          'AQDKUkvqHv/OJGuo2nIYaNVWXQ5IWi01CXZaz6TIHLGp/lOJ+600/4hbn7vn' +
-          '6AAB3DVzdQOts7G5pH0rJnnOFUAK71G4nzKMfHCGUksW/mona+Y2emJQ2N+a' +
-          'icwJKetPKRSIgAuPOB6Aahh8Hb2XO3h9RUk2T0HNouB2VzxoMXlkyW7XUR5m' +
-          'w6JkLHnA52XDVoRTWkNty5oCINLvGmnRsJ1zouAqYGVQMc/7sy+/EYhALrVJ' +
-          'EA8KbtyX+r8snwU5C1hUrwaW6MWOARa8qBpNQcWTkaIeoYvy/sGIJEmjR0vF' +
-          'EwHdp1cSaWIr6/4g72n7OqXwfinu7ZYW97EfoOSQJeAzAgMBAAGjggEzMIIB' +
-          'LzAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF' +
-          'BwMCMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFHfCuFCaZ3Z2sS3C' +
-          'htCDoH6mfrpLMB8GA1UdIwQYMBaAFJviB1dnHB7AagbeWbSaLd/cGYYuMDUG' +
-          'CCsGAQUFBwEBBCkwJzAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AucGtpLmdv' +
-          'b2cvZ3NyMjAyBgNVHR8EKzApMCegJaAjhiFodHRwOi8vY3JsLnBraS5nb29n' +
-          'L2dzcjIvZ3NyMi5jcmwwPwYDVR0gBDgwNjA0BgZngQwBAgIwKjAoBggrBgEF' +
-          'BQcCARYcaHR0cHM6Ly9wa2kuZ29vZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0B' +
-          'AQsFAAOCAQEAHLeJluRT7bvs26gyAZ8so81trUISd7O45skDUmAge1cnxhG1' +
-          'P2cNmSxbWsoiCt2eux9LSD+PAj2LIYRFHW31/6xoic1k4tbWXkDCjir37xTT' +
-          'NqRAMPUyFRWSdvt+nlPqwnb8Oa2I/maSJukcxDjNSfpDh/Bd1lZNgdd/8cLd' +
-          'sE3+wypufJ9uXO1iQpnh9zbuFIwsIONGl1p3A8CgxkqI/UAih3JaGOqcpcda' +
-          'CIzkBaR9uYQ1X4k2Vg5APRLouzVy7a8IVk6wuy6pm+T7HT4LY8ibS5FEZlfA' +
-          'FLSW8NwsVz9SBK2Vqn1N0PIMn5xA6NZVc7o835DLAFshEWfC7TIe3g==',
-      'MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEg' +
-          'MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkds' +
-          'b2JhbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAw' +
-          'WhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3Qg' +
-          'Q0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFs' +
-          'U2lnbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8o' +
-          'mUVCxKs+IVSbC9N/hHD6ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe' +
-          '+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1' +
-          'AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjNS7SgfQx5' +
-          'TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo' +
-          '4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99y' +
-          'qWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8E' +
-          'BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IHV2ccHsBqBt5Z' +
-          'tJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9iYWxz' +
-          'aWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0' +
-          'mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs' +
-          'J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4' +
-          'h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRD' +
-          'LenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7' +
-          '9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmg' +
-          'QWpzU/qlULRuJQ/7TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq' +
-          '/H5COEBkEveegeGTLg=='
-    ]);
-  };
-
-  // Simple sanity check to make sure network throttling is wired up
-  // See crbug.com/747724
-  TestSuite.prototype.testOfflineNetworkConditions = async function() {
-    const test = this;
-    SDK.multitargetNetworkManager.setNetworkConditions(SDK.NetworkManager.OfflineConditions);
-
-    function finishRequest(request) {
-      test.assertEquals(
-          'net::ERR_INTERNET_DISCONNECTED', request.localizedFailDescription, 'Request should have failed');
-      test.releaseControl();
-    }
-
-    this.addSniffer(SDK.NetworkDispatcher.prototype, '_finishNetworkRequest', finishRequest);
-
-    test.takeControl();
-    test.evaluateInConsole_('window.location.reload(true);', function(resultText) {});
-  };
-
-  TestSuite.prototype.testEmulateNetworkConditions = function() {
-    const test = this;
-
-    function testPreset(preset, messages, next) {
-      function onConsoleMessage(event) {
-        const index = messages.indexOf(event.data.messageText);
-        if (index === -1) {
-          test.fail('Unexpected message: ' + event.data.messageText);
-          return;
-        }
-
-        messages.splice(index, 1);
-        if (!messages.length) {
-          SDK.consoleModel.removeEventListener(SDK.ConsoleModel.Events.MessageAdded, onConsoleMessage, this);
-          next();
-        }
-      }
-
-      SDK.consoleModel.addEventListener(SDK.ConsoleModel.Events.MessageAdded, onConsoleMessage, this);
-      SDK.multitargetNetworkManager.setNetworkConditions(preset);
-    }
-
-    test.takeControl();
-    step1();
-
-    function step1() {
-      testPreset(
-          MobileThrottling.networkPresets[2],
-          [
-            'offline event: online = false', 'connection change event: type = none; downlinkMax = 0; effectiveType = 4g'
-          ],
-          step2);
-    }
-
-    function step2() {
-      testPreset(
-          MobileThrottling.networkPresets[1],
-          [
-            'online event: online = true',
-            'connection change event: type = cellular; downlinkMax = 0.390625; effectiveType = 2g'
-          ],
-          step3);
-    }
-
-    function step3() {
-      testPreset(
-          MobileThrottling.networkPresets[0],
-          ['connection change event: type = cellular; downlinkMax = 1.4400000000000002; effectiveType = 3g'],
-          test.releaseControl.bind(test));
-    }
-  };
-
-  TestSuite.prototype.testScreenshotRecording = function() {
-    const test = this;
-
-    function performActionsInPage(callback) {
-      let count = 0;
-      const div = document.createElement('div');
-      div.setAttribute('style', 'left: 0px; top: 0px; width: 100px; height: 100px; position: absolute;');
-      document.body.appendChild(div);
-      requestAnimationFrame(frame);
-      function frame() {
-        const color = [0, 0, 0];
-        color[count % 3] = 255;
-        div.style.backgroundColor = 'rgb(' + color.join(',') + ')';
-        if (++count > 10) {
-          requestAnimationFrame(callback);
-        } else {
-          requestAnimationFrame(frame);
-        }
-      }
-    }
-
-    const captureFilmStripSetting = Common.settings.createSetting('timelineCaptureFilmStrip', false);
-    captureFilmStripSetting.set(true);
-    test.evaluateInConsole_(performActionsInPage.toString(), function() {});
-    test.invokeAsyncWithTimeline_('performActionsInPage', onTimelineDone);
-
-    function onTimelineDone() {
-      captureFilmStripSetting.set(false);
-      const filmStripModel = UI.panels.timeline._performanceModel.filmStripModel();
-      const frames = filmStripModel.frames();
-      test.assertTrue(frames.length > 4 && typeof frames.length === 'number');
-      loadFrameImages(frames);
-    }
-
-    function loadFrameImages(frames) {
-      const readyImages = [];
-      for (const frame of frames) {
-        frame.imageDataPromise().then(onGotImageData);
-      }
-
-      function onGotImageData(data) {
-        const image = new Image();
-        test.assertTrue(!!data, 'No image data for frame');
-        image.addEventListener('load', onLoad);
-        image.src = 'data:image/jpg;base64,' + data;
-      }
-
-      function onLoad(event) {
-        readyImages.push(event.target);
-        if (readyImages.length === frames.length) {
-          validateImagesAndCompleteTest(readyImages);
-        }
-      }
-    }
-
-    function validateImagesAndCompleteTest(images) {
-      let redCount = 0;
-      let greenCount = 0;
-      let blueCount = 0;
-
-      const canvas = document.createElement('canvas');
-      const ctx = canvas.getContext('2d');
-      for (const image of images) {
-        test.assertTrue(image.naturalWidth > 10);
-        test.assertTrue(image.naturalHeight > 10);
-        canvas.width = image.naturalWidth;
-        canvas.height = image.naturalHeight;
-        ctx.drawImage(image, 0, 0);
-        const data = ctx.getImageData(0, 0, 1, 1);
-        const color = Array.prototype.join.call(data.data, ',');
-        if (data.data[0] > 200) {
-          redCount++;
-        } else if (data.data[1] > 200) {
-          greenCount++;
-        } else if (data.data[2] > 200) {
-          blueCount++;
-        } else {
-          test.fail('Unexpected color: ' + color);
-        }
-      }
-      test.assertTrue(redCount && greenCount && blueCount, 'Color sanity check failed');
-      test.releaseControl();
-    }
-
-    test.takeControl();
-  };
-
-  TestSuite.prototype.testSettings = function() {
-    const test = this;
-
-    createSettings();
-    test.takeControl();
-    setTimeout(reset, 0);
-
-    function createSettings() {
-      const localSetting = Common.settings.createLocalSetting('local', undefined);
-      localSetting.set({s: 'local', n: 1});
-      const globalSetting = Common.settings.createSetting('global', undefined);
-      globalSetting.set({s: 'global', n: 2});
-    }
-
-    function reset() {
-      Root.Runtime.experiments.clearForTest();
-      Host.InspectorFrontendHost.getPreferences(gotPreferences);
-    }
-
-    function gotPreferences(prefs) {
-      Main.Main._instanceForTest._createSettings(prefs);
-
-      const localSetting = Common.settings.createLocalSetting('local', undefined);
-      test.assertEquals('object', typeof localSetting.get());
-      test.assertEquals('local', localSetting.get().s);
-      test.assertEquals(1, localSetting.get().n);
-      const globalSetting = Common.settings.createSetting('global', undefined);
-      test.assertEquals('object', typeof globalSetting.get());
-      test.assertEquals('global', globalSetting.get().s);
-      test.assertEquals(2, globalSetting.get().n);
-      test.releaseControl();
-    }
-  };
-
-  TestSuite.prototype.testWindowInitializedOnNavigateBack = function() {
-    const test = this;
-    test.takeControl();
-    const messages = SDK.consoleModel.messages();
-    if (messages.length === 1) {
-      checkMessages();
-    } else {
-      SDK.consoleModel.addEventListener(SDK.ConsoleModel.Events.MessageAdded, checkMessages.bind(this), this);
-    }
-
-    function checkMessages() {
-      const messages = SDK.consoleModel.messages();
-      test.assertEquals(1, messages.length);
-      test.assertTrue(messages[0].messageText.indexOf('Uncaught') === -1);
-      test.releaseControl();
-    }
-  };
-
-  TestSuite.prototype.testConsoleContextNames = function() {
-    const test = this;
-    test.takeControl();
-    this.showPanel('console').then(() => this._waitForExecutionContexts(2, onExecutionContexts.bind(this)));
-
-    function onExecutionContexts() {
-      const consoleView = Console.ConsoleView.instance();
-      const selector = consoleView._consoleContextSelector;
-      const values = [];
-      for (const item of selector._items) {
-        values.push(selector.titleFor(item));
-      }
-      test.assertEquals('top', values[0]);
-      test.assertEquals('Simple content script', values[1]);
-      test.releaseControl();
-    }
-  };
-
-  TestSuite.prototype.testRawHeadersWithHSTS = function(url) {
-    const test = this;
-    test.takeControl();
-    SDK.targetManager.addModelListener(
-        SDK.NetworkManager, SDK.NetworkManager.Events.ResponseReceived, onResponseReceived);
-
-    this.evaluateInConsole_(`
-      let img = document.createElement('img');
-      img.src = "${url}";
-      document.body.appendChild(img);
-    `, () => {});
-
-    let count = 0;
-    function onResponseReceived(event) {
-      const networkRequest = event.data;
-      if (!networkRequest.url().startsWith('http')) {
-        return;
-      }
-      switch (++count) {
-        case 1:  // Original redirect
-          test.assertEquals(301, networkRequest.statusCode);
-          test.assertEquals('Moved Permanently', networkRequest.statusText);
-          test.assertTrue(url.endsWith(networkRequest.responseHeaderValue('Location')));
-          break;
-
-        case 2:  // HSTS internal redirect
-          test.assertTrue(networkRequest.url().startsWith('http://'));
-          test.assertEquals(307, networkRequest.statusCode);
-          test.assertEquals('Internal Redirect', networkRequest.statusText);
-          test.assertEquals('HSTS', networkRequest.responseHeaderValue('Non-Authoritative-Reason'));
-          test.assertTrue(networkRequest.responseHeaderValue('Location').startsWith('https://'));
-          break;
-
-        case 3:  // Final response
-          test.assertTrue(networkRequest.url().startsWith('https://'));
-          test.assertTrue(networkRequest.requestHeaderValue('Referer').startsWith('http://127.0.0.1'));
-          test.assertEquals(200, networkRequest.statusCode);
-          test.assertEquals('OK', networkRequest.statusText);
-          test.assertEquals('132', networkRequest.responseHeaderValue('Content-Length'));
-          test.releaseControl();
-      }
-    }
-  };
-
-  TestSuite.prototype.testDOMWarnings = function() {
-    const messages = SDK.consoleModel.messages();
-    this.assertEquals(1, messages.length);
-    const expectedPrefix = '[DOM] Found 2 elements with non-unique id #dup:';
-    this.assertTrue(messages[0].messageText.startsWith(expectedPrefix));
-  };
-
-  TestSuite.prototype.waitForTestResultsInConsole = function() {
-    const messages = SDK.consoleModel.messages();
-    for (let i = 0; i < messages.length; ++i) {
-      const text = messages[i].messageText;
-      if (text === 'PASS') {
-        return;
-      } else if (/^FAIL/.test(text)) {
-        this.fail(text);
-      }  // This will throw.
-    }
-    // Neither PASS nor FAIL, so wait for more messages.
-    function onConsoleMessage(event) {
-      const text = event.data.messageText;
-      if (text === 'PASS') {
-        this.releaseControl();
-      } else if (/^FAIL/.test(text)) {
-        this.fail(text);
-      }
-    }
-
-    SDK.consoleModel.addEventListener(SDK.ConsoleModel.Events.MessageAdded, onConsoleMessage, this);
-    this.takeControl();
-  };
-
-  TestSuite.prototype._overrideMethod = function(receiver, methodName, override) {
-    const original = receiver[methodName];
-    if (typeof original !== 'function') {
-      this.fail(`TestSuite._overrideMethod: $[methodName] is not a function`);
-      return;
-    }
-    receiver[methodName] = function() {
-      let value;
-      try {
-        value = original.apply(receiver, arguments);
-      } finally {
-        receiver[methodName] = original;
-      }
-      override.apply(original, arguments);
-      return value;
-    };
-  };
-
-  TestSuite.prototype.startTimeline = function(callback) {
-    const test = this;
-    this.showPanel('timeline').then(function() {
-      const timeline = UI.panels.timeline;
-      test._overrideMethod(timeline, '_recordingStarted', callback);
-      timeline._toggleRecording();
-    });
-  };
-
-  TestSuite.prototype.stopTimeline = function(callback) {
-    const timeline = UI.panels.timeline;
-    this._overrideMethod(timeline, 'loadingComplete', callback);
-    timeline._toggleRecording();
-  };
-
-  TestSuite.prototype.invokePageFunctionAsync = function(functionName, opt_args, callback_is_always_last) {
-    const callback = arguments[arguments.length - 1];
-    const doneMessage = `DONE: ${functionName}.${++this._asyncInvocationId}`;
-    const argsString = arguments.length < 3 ?
-        '' :
-        Array.prototype.slice.call(arguments, 1, -1).map(arg => JSON.stringify(arg)).join(',') + ',';
-    this.evaluateInConsole_(
-        `${functionName}(${argsString} function() { console.log('${doneMessage}'); });`, function() {});
-    SDK.consoleModel.addEventListener(SDK.ConsoleModel.Events.MessageAdded, onConsoleMessage);
-
-    function onConsoleMessage(event) {
-      const text = event.data.messageText;
-      if (text === doneMessage) {
-        SDK.consoleModel.removeEventListener(SDK.ConsoleModel.Events.MessageAdded, onConsoleMessage);
-        callback();
-      }
-    }
-  };
-
-  TestSuite.prototype.invokeAsyncWithTimeline_ = function(functionName, callback) {
-    const test = this;
-
-    this.startTimeline(onRecordingStarted);
-
-    function onRecordingStarted() {
-      test.invokePageFunctionAsync(functionName, pageActionsDone);
-    }
-
-    function pageActionsDone() {
-      test.stopTimeline(callback);
-    }
-  };
-
-  TestSuite.prototype.enableExperiment = function(name) {
-    Root.Runtime.experiments.enableForTest(name);
-  };
-
-  TestSuite.prototype.checkInputEventsPresent = function() {
-    const expectedEvents = new Set(arguments);
-    const model = UI.panels.timeline._performanceModel.timelineModel();
-    const asyncEvents = model.virtualThreads().find(thread => thread.isMainFrame).asyncEventsByGroup;
-    const input = asyncEvents.get(TimelineModel.TimelineModel.AsyncEventGroup.input) || [];
-    const prefix = 'InputLatency::';
-    for (const e of input) {
-      if (!e.name.startsWith(prefix)) {
-        continue;
-      }
-      if (e.steps.length < 2) {
-        continue;
-      }
-      if (e.name.startsWith(prefix + 'Mouse') &&
-          typeof TimelineModel.TimelineData.forEvent(e.steps[0]).timeWaitingForMainThread !== 'number') {
-        throw `Missing timeWaitingForMainThread on ${e.name}`;
-      }
-      expectedEvents.delete(e.name.substr(prefix.length));
-    }
-    if (expectedEvents.size) {
-      throw 'Some expected events are not found: ' + Array.from(expectedEvents.keys()).join(',');
-    }
-  };
-
-  TestSuite.prototype.testInspectedElementIs = async function(nodeName) {
-    this.takeControl();
-    await self.runtime.loadModulePromise('elements');
-    if (!Elements.ElementsPanel._firstInspectElementNodeNameForTest) {
-      await new Promise(f => this.addSniffer(Elements.ElementsPanel, '_firstInspectElementCompletedForTest', f));
-    }
-    this.assertEquals(nodeName, Elements.ElementsPanel._firstInspectElementNodeNameForTest);
-    this.releaseControl();
-  };
-
-  TestSuite.prototype.testDisposeEmptyBrowserContext = async function(url) {
-    this.takeControl();
-    const targetAgent = SDK.targetManager.mainTarget().targetAgent();
-    const {browserContextId} = await targetAgent.invoke_createBrowserContext();
-    const response1 = await targetAgent.invoke_getBrowserContexts();
-    this.assertEquals(response1.browserContextIds.length, 1);
-    await targetAgent.invoke_disposeBrowserContext({browserContextId});
-    const response2 = await targetAgent.invoke_getBrowserContexts();
-    this.assertEquals(response2.browserContextIds.length, 0);
-    this.releaseControl();
-  };
-
-  TestSuite.prototype.testCreateBrowserContext = async function(url) {
-    this.takeControl();
-    const browserContextIds = [];
-    const targetAgent = SDK.targetManager.mainTarget().targetAgent();
-
-    const target1 = await createIsolatedTarget(url);
-    const target2 = await createIsolatedTarget(url);
-
-    const response = await targetAgent.invoke_getBrowserContexts();
-    this.assertEquals(response.browserContextIds.length, 2);
-    this.assertTrue(response.browserContextIds.includes(browserContextIds[0]));
-    this.assertTrue(response.browserContextIds.includes(browserContextIds[1]));
-
-    await evalCode(target1, 'localStorage.setItem("page1", "page1")');
-    await evalCode(target2, 'localStorage.setItem("page2", "page2")');
-
-    this.assertEquals(await evalCode(target1, 'localStorage.getItem("page1")'), 'page1');
-    this.assertEquals(await evalCode(target1, 'localStorage.getItem("page2")'), null);
-    this.assertEquals(await evalCode(target2, 'localStorage.getItem("page1")'), null);
-    this.assertEquals(await evalCode(target2, 'localStorage.getItem("page2")'), 'page2');
-
-    const removedTargets = [];
-    SDK.targetManager.observeTargets({targetAdded: () => {}, targetRemoved: target => removedTargets.push(target)});
-    await Promise.all([disposeBrowserContext(browserContextIds[0]), disposeBrowserContext(browserContextIds[1])]);
-    this.assertEquals(removedTargets.length, 2);
-    this.assertEquals(removedTargets.indexOf(target1) !== -1, true);
-    this.assertEquals(removedTargets.indexOf(target2) !== -1, true);
-
-    this.releaseControl();
-
-    /**
-     * @param {string} url
-     * @return {!Promise<!SDK.Target>}
-     */
-    async function createIsolatedTarget(url) {
-      const {browserContextId} = await targetAgent.invoke_createBrowserContext();
-      browserContextIds.push(browserContextId);
-
-      const {targetId} = await targetAgent.invoke_createTarget({url: 'about:blank', browserContextId});
-      await targetAgent.invoke_attachToTarget({targetId, flatten: true});
-
-      const target = SDK.targetManager.targets().find(target => target.id() === targetId);
-      const pageAgent = target.pageAgent();
-      await pageAgent.invoke_enable();
-      await pageAgent.invoke_navigate({url});
-      return target;
-    }
-
-    async function disposeBrowserContext(browserContextId) {
-      const targetAgent = SDK.targetManager.mainTarget().targetAgent();
-      await targetAgent.invoke_disposeBrowserContext({browserContextId});
-    }
-
-    async function evalCode(target, code) {
-      return (await target.runtimeAgent().invoke_evaluate({expression: code})).result.value;
-    }
-  };
-
-  TestSuite.prototype.testInputDispatchEventsToOOPIF = async function() {
-    this.takeControl();
-
-    await new Promise(callback => this._waitForTargets(2, callback));
-
-    async function takeLogs(target) {
-      const code = `
-        (function() {
-          var result = window.logs.join(' ');
-          window.logs = [];
-          return result;
-        })()
-      `;
-      return (await target.runtimeAgent().invoke_evaluate({expression: code})).result.value;
-    }
-
-    let parentFrameOutput;
-    let childFrameOutput;
-
-    const inputAgent = SDK.targetManager.mainTarget().inputAgent();
-    const runtimeAgent = SDK.targetManager.mainTarget().runtimeAgent();
-    await inputAgent.invoke_dispatchMouseEvent({type: 'mousePressed', button: 'left', clickCount: 1, x: 10, y: 10});
-    await inputAgent.invoke_dispatchMouseEvent({type: 'mouseMoved', button: 'left', clickCount: 1, x: 10, y: 20});
-    await inputAgent.invoke_dispatchMouseEvent({type: 'mouseReleased', button: 'left', clickCount: 1, x: 10, y: 20});
-    await inputAgent.invoke_dispatchMouseEvent({type: 'mousePressed', button: 'left', clickCount: 1, x: 230, y: 140});
-    await inputAgent.invoke_dispatchMouseEvent({type: 'mouseMoved', button: 'left', clickCount: 1, x: 230, y: 150});
-    await inputAgent.invoke_dispatchMouseEvent({type: 'mouseReleased', button: 'left', clickCount: 1, x: 230, y: 150});
-    parentFrameOutput = 'Event type: mousedown button: 0 x: 10 y: 10 Event type: mouseup button: 0 x: 10 y: 20';
-    this.assertEquals(parentFrameOutput, await takeLogs(SDK.targetManager.targets()[0]));
-    childFrameOutput = 'Event type: mousedown button: 0 x: 30 y: 40 Event type: mouseup button: 0 x: 30 y: 50';
-    this.assertEquals(childFrameOutput, await takeLogs(SDK.targetManager.targets()[1]));
-
-
-    await inputAgent.invoke_dispatchKeyEvent({type: 'keyDown', key: 'a'});
-    await runtimeAgent.invoke_evaluate({expression: `document.querySelector('iframe').focus()`});
-    await inputAgent.invoke_dispatchKeyEvent({type: 'keyDown', key: 'a'});
-    parentFrameOutput = 'Event type: keydown';
-    this.assertEquals(parentFrameOutput, await takeLogs(SDK.targetManager.targets()[0]));
-    childFrameOutput = 'Event type: keydown';
-    this.assertEquals(childFrameOutput, await takeLogs(SDK.targetManager.targets()[1]));
-
-    await inputAgent.invoke_dispatchTouchEvent({type: 'touchStart', touchPoints: [{x: 10, y: 10}]});
-    await inputAgent.invoke_dispatchTouchEvent({type: 'touchEnd', touchPoints: []});
-    await inputAgent.invoke_dispatchTouchEvent({type: 'touchStart', touchPoints: [{x: 230, y: 140}]});
-    await inputAgent.invoke_dispatchTouchEvent({type: 'touchEnd', touchPoints: []});
-    parentFrameOutput = 'Event type: touchstart touch x: 10 touch y: 10';
-    this.assertEquals(parentFrameOutput, await takeLogs(SDK.targetManager.targets()[0]));
-    childFrameOutput = 'Event type: touchstart touch x: 30 touch y: 40';
-    this.assertEquals(childFrameOutput, await takeLogs(SDK.targetManager.targets()[1]));
-
-    this.releaseControl();
-  };
-
-  TestSuite.prototype.testLoadResourceForFrontend = async function(baseURL, fileURL) {
-    const test = this;
-    const loggedHeaders = new Set(['cache-control', 'pragma']);
-    function testCase(url, headers, expectedStatus, expectedHeaders, expectedContent) {
-      return new Promise(fulfill => {
-        Host.ResourceLoader.load(url, headers, callback);
-
-        function callback(statusCode, headers, content) {
-          test.assertEquals(expectedStatus, statusCode);
-
-          const headersArray = [];
-          for (const name in headers) {
-            const nameLower = name.toLowerCase();
-            if (loggedHeaders.has(nameLower)) {
-              headersArray.push(nameLower);
-            }
-          }
-          headersArray.sort();
-          test.assertEquals(expectedHeaders.join(', '), headersArray.join(', '));
-          test.assertEquals(expectedContent, content);
-          fulfill();
-        }
-      });
-    }
-
-    this.takeControl();
-    await testCase(baseURL + 'non-existent.html', undefined, 404, [], '');
-    await testCase(baseURL + 'hello.html', undefined, 200, [], '<!doctype html>\n<p>hello</p>\n');
-    await testCase(baseURL + 'echoheader?x-devtools-test', {'x-devtools-test': 'Foo'}, 200, ['cache-control'], 'Foo');
-    await testCase(baseURL + 'set-header?pragma:%20no-cache', undefined, 200, ['pragma'], 'pragma: no-cache');
-
-    await SDK.targetManager.mainTarget().runtimeAgent().invoke_evaluate({
-      expression: `fetch("/set-cookie?devtools-test-cookie=Bar",
-                         {credentials: 'include'})`,
-      awaitPromise: true
-    });
-    await testCase(baseURL + 'echoheader?Cookie', undefined, 200, ['cache-control'], 'devtools-test-cookie=Bar');
-
-    await SDK.targetManager.mainTarget().runtimeAgent().invoke_evaluate({
-      expression: `fetch("/set-cookie?devtools-test-cookie=same-site-cookie;SameSite=Lax",
-                         {credentials: 'include'})`,
-      awaitPromise: true
-    });
-    await testCase(
-        baseURL + 'echoheader?Cookie', undefined, 200, ['cache-control'], 'devtools-test-cookie=same-site-cookie');
-    await testCase('data:text/html,<body>hello</body>', undefined, 200, [], '<body>hello</body>');
-    await testCase(fileURL, undefined, 200, [], '<html>\n<body>\nDummy page.\n</body>\n</html>\n');
-    await testCase(fileURL + 'thisfileshouldnotbefound', undefined, 404, [], '');
-
-    this.releaseControl();
-  };
-
-  TestSuite.prototype.testExtensionWebSocketUserAgentOverride = async function(websocketPort) {
-    this.takeControl();
-
-    const testUserAgent = 'test user agent';
-    SDK.multitargetNetworkManager.setUserAgentOverride(testUserAgent);
-
-    function onRequestUpdated(event) {
-      const request = event.data;
-      if (request.resourceType() !== Common.resourceTypes.WebSocket) {
-        return;
-      }
-      if (!request.requestHeadersText()) {
-        return;
-      }
-
-      let actualUserAgent = 'no user-agent header';
-      for (const {name, value} of request.requestHeaders()) {
-        if (name.toLowerCase() === 'user-agent') {
-          actualUserAgent = value;
-        }
-      }
-      this.assertEquals(testUserAgent, actualUserAgent);
-      this.releaseControl();
-    }
-    SDK.targetManager.addModelListener(
-        SDK.NetworkManager, SDK.NetworkManager.Events.RequestUpdated, onRequestUpdated.bind(this));
-
-    this.evaluateInConsole_(`new WebSocket('ws://127.0.0.1:${websocketPort}')`, () => {});
-  };
-
-  /**
-   * Serializes array of uiSourceCodes to string.
-   * @param {!Array.<!Workspace.UISourceCode>} uiSourceCodes
-   * @return {string}
-   */
-  TestSuite.prototype.uiSourceCodesToString_ = function(uiSourceCodes) {
-    const names = [];
-    for (let i = 0; i < uiSourceCodes.length; i++) {
-      names.push('"' + uiSourceCodes[i].url() + '"');
-    }
-    return names.join(',');
-  };
-
-  /**
-   * Returns all loaded non anonymous uiSourceCodes.
-   * @return {!Array.<!Workspace.UISourceCode>}
-   */
-  TestSuite.prototype.nonAnonymousUISourceCodes_ = function() {
-    /**
-     * @param {!Workspace.UISourceCode} uiSourceCode
-     */
-    function filterOutService(uiSourceCode) {
-      return !uiSourceCode.project().isServiceProject();
-    }
-
-    const uiSourceCodes = Workspace.workspace.uiSourceCodes();
-    return uiSourceCodes.filter(filterOutService);
-  };
-
-  /*
- * Evaluates the code in the console as if user typed it manually and invokes
- * the callback when the result message is received and added to the console.
- * @param {string} code
- * @param {function(string)} callback
- */
-  TestSuite.prototype.evaluateInConsole_ = function(code, callback) {
-    function innerEvaluate() {
-      UI.context.removeFlavorChangeListener(SDK.ExecutionContext, showConsoleAndEvaluate, this);
-      const consoleView = Console.ConsoleView.instance();
-      consoleView._prompt._appendCommand(code);
-
-      this.addSniffer(Console.ConsoleView.prototype, '_consoleMessageAddedForTest', function(viewMessage) {
-        callback(viewMessage.toMessageElement().deepTextContent());
-      }.bind(this));
-    }
-
-    function showConsoleAndEvaluate() {
-      Common.console.showPromise().then(innerEvaluate.bind(this));
-    }
-
-    if (!UI.context.flavor(SDK.ExecutionContext)) {
-      UI.context.addFlavorChangeListener(SDK.ExecutionContext, showConsoleAndEvaluate, this);
-      return;
-    }
-    showConsoleAndEvaluate.call(this);
-  };
-
-  /**
-   * Checks that all expected scripts are present in the scripts list
-   * in the Scripts panel.
-   * @param {!Array.<string>} expected Regular expressions describing
-   *     expected script names.
-   * @return {boolean} Whether all the scripts are in "scripts-files" select
-   *     box
-   */
-  TestSuite.prototype._scriptsAreParsed = function(expected) {
-    const uiSourceCodes = this.nonAnonymousUISourceCodes_();
-    // Check that at least all the expected scripts are present.
-    const missing = expected.slice(0);
-    for (let i = 0; i < uiSourceCodes.length; ++i) {
-      for (let j = 0; j < missing.length; ++j) {
-        if (uiSourceCodes[i].name().search(missing[j]) !== -1) {
-          missing.splice(j, 1);
-          break;
-        }
-      }
-    }
-    return missing.length === 0;
-  };
-
-  /**
-   * Waits for script pause, checks expectations, and invokes the callback.
-   * @param {function():void} callback
-   */
-  TestSuite.prototype._waitForScriptPause = function(callback) {
-    this.addSniffer(SDK.DebuggerModel.prototype, '_pausedScript', callback);
-  };
-
-  /**
-   * Waits until all the scripts are parsed and invokes the callback.
-   */
-  TestSuite.prototype._waitUntilScriptsAreParsed = function(expectedScripts, callback) {
-    const test = this;
-
-    function waitForAllScripts() {
-      if (test._scriptsAreParsed(expectedScripts)) {
-        callback();
-      } else {
-        test.addSniffer(UI.panels.sources.sourcesView(), '_addUISourceCode', waitForAllScripts);
-      }
-    }
-
-    waitForAllScripts();
-  };
-
-  TestSuite.prototype._waitForTargets = function(n, callback) {
-    checkTargets.call(this);
-
-    function checkTargets() {
-      if (SDK.targetManager.targets().length >= n) {
-        callback.call(null);
-      } else {
-        this.addSniffer(SDK.TargetManager.prototype, 'createTarget', checkTargets.bind(this));
-      }
-    }
-  };
-
-  TestSuite.prototype._waitForExecutionContexts = function(n, callback) {
-    const runtimeModel = SDK.targetManager.mainTarget().model(SDK.RuntimeModel);
-    checkForExecutionContexts.call(this);
-
-    function checkForExecutionContexts() {
-      if (runtimeModel.executionContexts().length >= n) {
-        callback.call(null);
-      } else {
-        this.addSniffer(SDK.RuntimeModel.prototype, '_executionContextCreated', checkForExecutionContexts.bind(this));
-      }
-    }
-  };
-
-
-  window.uiTests = new TestSuite(window.domAutomationController);
-})(window);
diff --git a/front_end/accessibility/ARIAAttributesView.js b/front_end/accessibility/ARIAAttributesView.js
deleted file mode 100644
index f5a000b..0000000
--- a/front_end/accessibility/ARIAAttributesView.js
+++ /dev/null
@@ -1,264 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-/**
- * @unrestricted
- */
-Accessibility.ARIAAttributesPane = class extends Accessibility.AccessibilitySubPane {
-  constructor() {
-    super(ls`ARIA Attributes`);
-
-    this._noPropertiesInfo = this.createInfo(ls`No ARIA attributes`);
-    this._treeOutline = this.createTreeOutline();
-  }
-
-  /**
-   * @override
-   * @param {?SDK.DOMNode} node
-   */
-  setNode(node) {
-    super.setNode(node);
-    this._treeOutline.removeChildren();
-    if (!this.node()) {
-      return;
-    }
-    const target = this.node().domModel().target();
-    const attributes = node.attributes();
-    for (let i = 0; i < attributes.length; ++i) {
-      const attribute = attributes[i];
-      if (Accessibility.ARIAAttributesPane._attributes.indexOf(attribute.name) < 0) {
-        continue;
-      }
-      this._treeOutline.appendChild(new Accessibility.ARIAAttributesTreeElement(this, attribute, target));
-    }
-
-    const foundAttributes = (this._treeOutline.rootElement().childCount() !== 0);
-    this._noPropertiesInfo.classList.toggle('hidden', foundAttributes);
-    this._treeOutline.element.classList.toggle('hidden', !foundAttributes);
-  }
-};
-
-/**
- * @unrestricted
- */
-Accessibility.ARIAAttributesTreeElement = class extends UI.TreeElement {
-  /**
-   * @param {!Accessibility.ARIAAttributesPane} parentPane
-   * @param {!SDK.DOMNode.Attribute} attribute
-   * @param {!SDK.Target} target
-   */
-  constructor(parentPane, attribute, target) {
-    super('');
-
-    this._parentPane = parentPane;
-    this._attribute = attribute;
-
-    this.selectable = false;
-  }
-
-  /**
-   * @param {string} value
-   * @return {!Element}
-   */
-  static createARIAValueElement(value) {
-    const valueElement = createElementWithClass('span', 'monospace');
-    // TODO(aboxhall): quotation marks?
-    valueElement.setTextContentTruncatedIfNeeded(value || '');
-    return valueElement;
-  }
-
-  /**
-   * @override
-   */
-  onattach() {
-    this._populateListItem();
-    this.listItemElement.addEventListener('click', this._mouseClick.bind(this));
-  }
-
-  _populateListItem() {
-    this.listItemElement.removeChildren();
-    this.appendNameElement(this._attribute.name);
-    this.listItemElement.createChild('span', 'separator').textContent = ':\xA0';
-    this.appendAttributeValueElement(this._attribute.value);
-  }
-
-  /**
-   * @param {string} name
-   */
-  appendNameElement(name) {
-    this._nameElement = createElement('span');
-    this._nameElement.textContent = name;
-    this._nameElement.classList.add('ax-name');
-    this._nameElement.classList.add('monospace');
-    this.listItemElement.appendChild(this._nameElement);
-  }
-
-  /**
-   * @param {string} value
-   */
-  appendAttributeValueElement(value) {
-    this._valueElement = Accessibility.ARIAAttributesTreeElement.createARIAValueElement(value);
-    this.listItemElement.appendChild(this._valueElement);
-  }
-
-  /**
-   * @param {!Event} event
-   */
-  _mouseClick(event) {
-    if (event.target === this.listItemElement) {
-      return;
-    }
-
-    event.consume(true);
-
-    this._startEditing();
-  }
-
-  _startEditing() {
-    const valueElement = this._valueElement;
-
-    if (UI.isBeingEdited(valueElement)) {
-      return;
-    }
-
-    const previousContent = valueElement.textContent;
-
-    /**
-     * @param {string} previousContent
-     * @param {!Event} event
-     * @this {Accessibility.ARIAAttributesTreeElement}
-     */
-    function blurListener(previousContent, event) {
-      const text = event.target.textContent;
-      this._editingCommitted(text, previousContent);
-    }
-
-    this._prompt = new Accessibility.ARIAAttributesPane.ARIAAttributePrompt(
-        Accessibility.ariaMetadata().valuesForProperty(this._nameElement.textContent), this);
-    this._prompt.setAutocompletionTimeout(0);
-    const proxyElement = this._prompt.attachAndStartEditing(valueElement, blurListener.bind(this, previousContent));
-
-    proxyElement.addEventListener('keydown', this._editingValueKeyDown.bind(this, previousContent), false);
-
-    valueElement.getComponentSelection().selectAllChildren(valueElement);
-  }
-
-  _removePrompt() {
-    if (!this._prompt) {
-      return;
-    }
-    this._prompt.detach();
-    delete this._prompt;
-  }
-
-  /**
-   * @param {string} userInput
-   * @param {string} previousContent
-   */
-  _editingCommitted(userInput, previousContent) {
-    this._removePrompt();
-
-    // Make the changes to the attribute
-    if (userInput !== previousContent) {
-      this._parentPane.node().setAttributeValue(this._attribute.name, userInput);
-    }
-  }
-
-  _editingCancelled() {
-    this._removePrompt();
-    this._populateListItem();
-  }
-
-  /**
-   * @param {string} previousContent
-   * @param {!Event} event
-   */
-  _editingValueKeyDown(previousContent, event) {
-    if (event.handled) {
-      return;
-    }
-
-    if (isEnterKey(event)) {
-      this._editingCommitted(event.target.textContent, previousContent);
-      event.consume();
-      return;
-    }
-
-    if (isEscKey(event)) {
-      this._editingCancelled();
-      event.consume();
-      return;
-    }
-  }
-};
-
-
-/**
- * @unrestricted
- */
-Accessibility.ARIAAttributesPane.ARIAAttributePrompt = class extends UI.TextPrompt {
-  /**
-   * @param {!Array<string>} ariaCompletions
-   * @param {!Accessibility.ARIAAttributesTreeElement} treeElement
-   */
-  constructor(ariaCompletions, treeElement) {
-    super();
-    this.initialize(this._buildPropertyCompletions.bind(this));
-
-    this._ariaCompletions = ariaCompletions;
-    this._treeElement = treeElement;
-  }
-
-  /**
-   * @param {string} expression
-   * @param {string} prefix
-   * @param {boolean=} force
-   * @return {!Promise<!UI.SuggestBox.Suggestions>}
-   */
-  _buildPropertyCompletions(expression, prefix, force) {
-    prefix = prefix.toLowerCase();
-    if (!prefix && !force && (this._isEditingName || expression)) {
-      return Promise.resolve([]);
-    }
-    return Promise.resolve(this._ariaCompletions.filter(value => value.startsWith(prefix)).map(c => ({text: c})));
-  }
-};
-
-Accessibility.ARIAAttributesPane._attributes = [
-  'role',
-  'aria-busy',
-  'aria-checked',
-  'aria-disabled',
-  'aria-expanded',
-  'aria-grabbed',
-  'aria-hidden',
-  'aria-invalid',
-  'aria-pressed',
-  'aria-selected',
-  'aria-activedescendant',
-  'aria-atomic',
-  'aria-autocomplete',
-  'aria-controls',
-  'aria-describedby',
-  'aria-dropeffect',
-  'aria-flowto',
-  'aria-haspopup',
-  'aria-label',
-  'aria-labelledby',
-  'aria-level',
-  'aria-live',
-  'aria-multiline',
-  'aria-multiselectable',
-  'aria-orientation',
-  'aria-owns',
-  'aria-posinset',
-  'aria-readonly',
-  'aria-relevant',
-  'aria-required',
-  'aria-setsize',
-  'aria-sort',
-  'aria-valuemax',
-  'aria-valuemin',
-  'aria-valuenow',
-  'aria-valuetext',
-];
diff --git a/front_end/accessibility/ARIAMetadata.js b/front_end/accessibility/ARIAMetadata.js
deleted file mode 100644
index 46a19ab..0000000
--- a/front_end/accessibility/ARIAMetadata.js
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright (c) 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-/**
- * @unrestricted
- */
-Accessibility.ARIAMetadata = class {
-  /**
-   * @param {?Object} config
-   */
-  constructor(config) {
-    /** @type {!Map<string, !Accessibility.ARIAMetadata.Attribute>} */
-    this._attributes = new Map();
-
-    if (config) {
-      this._initialize(config);
-    }
-  }
-
-  /**
-   * @param {!Object} config
-   */
-  _initialize(config) {
-    const attributes = config['attributes'];
-
-    const booleanEnum = ['true', 'false'];
-    for (const attributeConfig of attributes) {
-      if (attributeConfig.type === 'boolean') {
-        attributeConfig.enum = booleanEnum;
-      }
-      this._attributes.set(attributeConfig.name, new Accessibility.ARIAMetadata.Attribute(attributeConfig));
-    }
-
-    /** @type {!Array<string>} */
-    this._roleNames = config['roles'].map(roleConfig => roleConfig.name);
-  }
-
-  /**
-   * @param {string} property
-   * @return {!Array<string>}
-   */
-  valuesForProperty(property) {
-    if (this._attributes.has(property)) {
-      return this._attributes.get(property).getEnum();
-    }
-
-    if (property === 'role') {
-      return this._roleNames;
-    }
-
-    return [];
-  }
-};
-
-/**
- * @return {!Accessibility.ARIAMetadata}
- */
-Accessibility.ariaMetadata = function() {
-  if (!Accessibility.ARIAMetadata._instance) {
-    Accessibility.ARIAMetadata._instance = new Accessibility.ARIAMetadata(Accessibility.ARIAMetadata._config || null);
-  }
-  return Accessibility.ARIAMetadata._instance;
-};
-
-/**
- * @unrestricted
- */
-Accessibility.ARIAMetadata.Attribute = class {
-  /**
-   * @param {!Object} config
-   */
-  constructor(config) {
-    /** @type {!Array<string>} */
-    this._enum = [];
-
-    if ('enum' in config) {
-      this._enum = config.enum;
-    }
-  }
-
-  /**
-   * @return {!Array<string>}
-   */
-  getEnum() {
-    return this._enum;
-  }
-};
diff --git a/front_end/accessibility/AXBreadcrumbsPane.js b/front_end/accessibility/AXBreadcrumbsPane.js
deleted file mode 100644
index fada19f..0000000
--- a/front_end/accessibility/AXBreadcrumbsPane.js
+++ /dev/null
@@ -1,534 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-Accessibility.AXBreadcrumbsPane = class extends Accessibility.AccessibilitySubPane {
-  /**
-   * @param {!Accessibility.AccessibilitySidebarView} axSidebarView
-   */
-  constructor(axSidebarView) {
-    super(ls`Accessibility Tree`);
-
-    this.element.classList.add('ax-subpane');
-    UI.ARIAUtils.markAsTree(this.element);
-    this.element.tabIndex = -1;
-
-    this._axSidebarView = axSidebarView;
-
-    /** @type {?Accessibility.AXBreadcrumb} */
-    this._preselectedBreadcrumb = null;
-    /** @type {?Accessibility.AXBreadcrumb} */
-    this._inspectedNodeBreadcrumb = null;
-
-    this._hoveredBreadcrumb = null;
-    this._rootElement = this.element.createChild('div', 'ax-breadcrumbs');
-
-    this._rootElement.addEventListener('keydown', this._onKeyDown.bind(this), true);
-    this._rootElement.addEventListener('mousemove', this._onMouseMove.bind(this), false);
-    this._rootElement.addEventListener('mouseleave', this._onMouseLeave.bind(this), false);
-    this._rootElement.addEventListener('click', this._onClick.bind(this), false);
-    this._rootElement.addEventListener('contextmenu', this._contextMenuEventFired.bind(this), false);
-    this._rootElement.addEventListener('focusout', this._onFocusOut.bind(this), false);
-    this.registerRequiredCSS('accessibility/axBreadcrumbs.css');
-  }
-
-  /**
-   * @override
-   */
-  focus() {
-    if (this._inspectedNodeBreadcrumb) {
-      this._inspectedNodeBreadcrumb.nodeElement().focus();
-    } else {
-      this.element.focus();
-    }
-  }
-
-  /**
-   * @param {?Accessibility.AccessibilityNode} axNode
-   * @override
-   */
-  setAXNode(axNode) {
-    const hadFocus = this.element.hasFocus();
-    super.setAXNode(axNode);
-
-    this._rootElement.removeChildren();
-
-    if (!axNode) {
-      return;
-    }
-
-    const ancestorChain = [];
-    let ancestor = axNode;
-    while (ancestor) {
-      ancestorChain.push(ancestor);
-      ancestor = ancestor.parentNode();
-    }
-    ancestorChain.reverse();
-
-    let depth = 0;
-    let breadcrumb = null;
-    let parent = null;
-    for (ancestor of ancestorChain) {
-      breadcrumb = new Accessibility.AXBreadcrumb(ancestor, depth, (ancestor === axNode));
-      if (parent) {
-        parent.appendChild(breadcrumb);
-      } else {
-        this._rootElement.appendChild(breadcrumb.element());
-      }
-      parent = breadcrumb;
-      depth++;
-    }
-
-    this._inspectedNodeBreadcrumb = breadcrumb;
-    this._inspectedNodeBreadcrumb.setPreselected(true, hadFocus);
-
-    this._setPreselectedBreadcrumb(this._inspectedNodeBreadcrumb);
-
-    /**
-     * @param {!Accessibility.AXBreadcrumb} parentBreadcrumb
-     * @param {!Accessibility.AccessibilityNode} axNode
-     * @param {number} localDepth
-     */
-    function append(parentBreadcrumb, axNode, localDepth) {
-      const childBreadcrumb = new Accessibility.AXBreadcrumb(axNode, localDepth, false);
-      parentBreadcrumb.appendChild(childBreadcrumb);
-
-      // In most cases there will be no children here, but there are some special cases.
-      for (const child of axNode.children()) {
-        append(childBreadcrumb, child, localDepth + 1);
-      }
-    }
-
-    for (const child of axNode.children()) {
-      append(this._inspectedNodeBreadcrumb, child, depth);
-    }
-  }
-
-  /**
-   * @override
-   */
-  willHide() {
-    this._setPreselectedBreadcrumb(null);
-  }
-
-  /**
-   * @param {!Event} event
-   */
-  _onKeyDown(event) {
-    if (!this._preselectedBreadcrumb) {
-      return;
-    }
-    if (!event.composedPath().some(element => element === this._preselectedBreadcrumb.element())) {
-      return;
-    }
-    if (event.shiftKey || event.metaKey || event.ctrlKey) {
-      return;
-    }
-
-    let handled = false;
-    if ((event.key === 'ArrowUp' || event.key === 'ArrowLeft') && !event.altKey) {
-      handled = this._preselectPrevious();
-    } else if ((event.key === 'ArrowDown' || event.key === 'ArrowRight') && !event.altKey) {
-      handled = this._preselectNext();
-    } else if (isEnterKey(event)) {
-      handled = this._inspectDOMNode(this._preselectedBreadcrumb.axNode());
-    }
-
-    if (handled) {
-      event.consume(true);
-    }
-  }
-
-  /**
-   * @return {boolean}
-   */
-  _preselectPrevious() {
-    const previousBreadcrumb = this._preselectedBreadcrumb.previousBreadcrumb();
-    if (!previousBreadcrumb) {
-      return false;
-    }
-    this._setPreselectedBreadcrumb(previousBreadcrumb);
-    return true;
-  }
-
-  /**
-   * @return {boolean}
-   */
-  _preselectNext() {
-    const nextBreadcrumb = this._preselectedBreadcrumb.nextBreadcrumb();
-    if (!nextBreadcrumb) {
-      return false;
-    }
-    this._setPreselectedBreadcrumb(nextBreadcrumb);
-    return true;
-  }
-
-  /**
-   * @param {?Accessibility.AXBreadcrumb} breadcrumb
-   */
-  _setPreselectedBreadcrumb(breadcrumb) {
-    if (breadcrumb === this._preselectedBreadcrumb) {
-      return;
-    }
-    const hadFocus = this.element.hasFocus();
-    if (this._preselectedBreadcrumb) {
-      this._preselectedBreadcrumb.setPreselected(false, hadFocus);
-    }
-
-    if (breadcrumb) {
-      this._preselectedBreadcrumb = breadcrumb;
-    } else {
-      this._preselectedBreadcrumb = this._inspectedNodeBreadcrumb;
-    }
-    this._preselectedBreadcrumb.setPreselected(true, hadFocus);
-    if (!breadcrumb && hadFocus) {
-      SDK.OverlayModel.hideDOMNodeHighlight();
-    }
-  }
-
-  /**
-   * @param {!Event} event
-   */
-  _onMouseLeave(event) {
-    this._setHoveredBreadcrumb(null);
-  }
-
-  /**
-   * @param {!Event} event
-   */
-  _onMouseMove(event) {
-    const breadcrumbElement = event.target.enclosingNodeOrSelfWithClass('ax-breadcrumb');
-    if (!breadcrumbElement) {
-      this._setHoveredBreadcrumb(null);
-      return;
-    }
-    const breadcrumb = breadcrumbElement.breadcrumb;
-    if (!breadcrumb.isDOMNode()) {
-      return;
-    }
-    this._setHoveredBreadcrumb(breadcrumb);
-  }
-
-  /**
-   * @param {!Event} event
-   */
-  _onFocusOut(event) {
-    if (!this._preselectedBreadcrumb || event.target !== this._preselectedBreadcrumb.nodeElement()) {
-      return;
-    }
-    this._setPreselectedBreadcrumb(null);
-  }
-
-  /**
-   * @param {!Event} event
-   */
-  _onClick(event) {
-    const breadcrumbElement = event.target.enclosingNodeOrSelfWithClass('ax-breadcrumb');
-    if (!breadcrumbElement) {
-      this._setHoveredBreadcrumb(null);
-      return;
-    }
-    const breadcrumb = breadcrumbElement.breadcrumb;
-    if (breadcrumb.inspected()) {
-      // If the user is clicking the inspected breadcrumb, they probably want to
-      // focus it.
-      breadcrumb.nodeElement().focus();
-      return;
-    }
-    if (!breadcrumb.isDOMNode()) {
-      return;
-    }
-    this._inspectDOMNode(breadcrumb.axNode());
-  }
-
-  /**
-   * @param {?Accessibility.AXBreadcrumb} breadcrumb
-   */
-  _setHoveredBreadcrumb(breadcrumb) {
-    if (breadcrumb === this._hoveredBreadcrumb) {
-      return;
-    }
-
-    if (this._hoveredBreadcrumb) {
-      this._hoveredBreadcrumb.setHovered(false);
-    }
-
-    if (breadcrumb) {
-      breadcrumb.setHovered(true);
-    } else if (this.node()) {
-      // Highlight and scroll into view the currently inspected node.
-      this.node().domModel().overlayModel().nodeHighlightRequested(this.node().id);
-    }
-
-    this._hoveredBreadcrumb = breadcrumb;
-  }
-
-  /**
-   * @param {!Accessibility.AccessibilityNode} axNode
-   * @return {boolean}
-   */
-  _inspectDOMNode(axNode) {
-    if (!axNode.isDOMNode()) {
-      return false;
-    }
-
-    axNode.deferredDOMNode().resolve(domNode => {
-      this._axSidebarView.setNode(domNode, true /* fromAXTree */);
-      Common.Revealer.reveal(domNode, true /* omitFocus */);
-    });
-
-    return true;
-  }
-
-  /**
-   * @param {!Event} event
-   */
-  _contextMenuEventFired(event) {
-    const breadcrumbElement = event.target.enclosingNodeOrSelfWithClass('ax-breadcrumb');
-    if (!breadcrumbElement) {
-      return;
-    }
-
-    const axNode = breadcrumbElement.breadcrumb.axNode();
-    if (!axNode.isDOMNode() || !axNode.deferredDOMNode()) {
-      return;
-    }
-
-    const contextMenu = new UI.ContextMenu(event);
-    contextMenu.viewSection().appendItem(ls`Scroll into view`, () => {
-      axNode.deferredDOMNode().resolvePromise().then(domNode => {
-        if (!domNode) {
-          return;
-        }
-        domNode.scrollIntoView();
-      });
-    });
-
-    contextMenu.appendApplicableItems(axNode.deferredDOMNode());
-    contextMenu.show();
-  }
-};
-
-Accessibility.AXBreadcrumb = class {
-  /**
-   * @param {!Accessibility.AccessibilityNode} axNode
-   * @param {number} depth
-   * @param {boolean} inspected
-   */
-  constructor(axNode, depth, inspected) {
-    /** @type {!Accessibility.AccessibilityNode} */
-    this._axNode = axNode;
-
-    this._element = createElementWithClass('div', 'ax-breadcrumb');
-    this._element.breadcrumb = this;
-
-    this._nodeElement = createElementWithClass('div', 'ax-node');
-    UI.ARIAUtils.markAsTreeitem(this._nodeElement);
-    this._nodeElement.tabIndex = -1;
-    this._element.appendChild(this._nodeElement);
-    this._nodeWrapper = createElementWithClass('div', 'wrapper');
-    this._nodeElement.appendChild(this._nodeWrapper);
-
-    this._selectionElement = createElementWithClass('div', 'selection fill');
-    this._nodeElement.appendChild(this._selectionElement);
-
-    this._childrenGroupElement = createElementWithClass('div', 'children');
-    UI.ARIAUtils.markAsGroup(this._childrenGroupElement);
-    this._element.appendChild(this._childrenGroupElement);
-
-    /** @type !Array<!Accessibility.AXBreadcrumb> */
-    this._children = [];
-    this._hovered = false;
-    this._preselected = false;
-    this._parent = null;
-
-    this._inspected = inspected;
-    this._nodeElement.classList.toggle('inspected', inspected);
-
-    this._nodeElement.style.paddingLeft = (16 * depth + 4) + 'px';
-
-    if (this._axNode.ignored()) {
-      this._appendIgnoredNodeElement();
-    } else {
-      this._appendRoleElement(this._axNode.role());
-      if (this._axNode.name() && this._axNode.name().value) {
-        this._nodeWrapper.createChild('span', 'separator').textContent = '\xA0';
-        this._appendNameElement(/** @type {string} */ (this._axNode.name().value));
-      }
-    }
-
-    if (this._axNode.hasOnlyUnloadedChildren()) {
-      this._nodeElement.classList.add('children-unloaded');
-    }
-
-    if (!this._axNode.isDOMNode()) {
-      this._nodeElement.classList.add('no-dom-node');
-    }
-  }
-
-  /**
-   * @return {!Element}
-   */
-  element() {
-    return this._element;
-  }
-
-  /**
-   * @return {!Element}
-   */
-  nodeElement() {
-    return this._nodeElement;
-  }
-
-  /**
-   * @param {!Accessibility.AXBreadcrumb} breadcrumb
-   */
-  appendChild(breadcrumb) {
-    this._children.push(breadcrumb);
-    breadcrumb.setParent(this);
-    this._nodeElement.classList.add('parent');
-    UI.ARIAUtils.setExpanded(this._nodeElement, true);
-    this._childrenGroupElement.appendChild(breadcrumb.element());
-  }
-
-  /**
-   * @param {!Accessibility.AXBreadcrumb} breadcrumb
-   */
-  setParent(breadcrumb) {
-    this._parent = breadcrumb;
-  }
-
-  /**
-   * @return {boolean}
-   */
-  preselected() {
-    return this._preselected;
-  }
-
-  /**
-   * @param {boolean} preselected
-   * @param {boolean} selectedByUser
-   */
-  setPreselected(preselected, selectedByUser) {
-    if (this._preselected === preselected) {
-      return;
-    }
-    this._preselected = preselected;
-    this._nodeElement.classList.toggle('preselected', preselected);
-    if (preselected) {
-      this._nodeElement.setAttribute('tabIndex', 0);
-    } else {
-      this._nodeElement.setAttribute('tabIndex', -1);
-    }
-    if (this._preselected) {
-      if (selectedByUser) {
-        this._nodeElement.focus();
-      }
-      if (!this._inspected) {
-        this._axNode.highlightDOMNode();
-      } else {
-        SDK.OverlayModel.hideDOMNodeHighlight();
-      }
-    }
-  }
-
-  /**
-   * @param {boolean} hovered
-   */
-  setHovered(hovered) {
-    if (this._hovered === hovered) {
-      return;
-    }
-    this._hovered = hovered;
-    this._nodeElement.classList.toggle('hovered', hovered);
-    if (this._hovered) {
-      this._nodeElement.classList.toggle('hovered', true);
-      this._axNode.highlightDOMNode();
-    }
-  }
-
-  /**
-   * @return {!Accessibility.AccessibilityNode}
-   */
-  axNode() {
-    return this._axNode;
-  }
-
-  /**
-   * @return {boolean}
-   */
-  inspected() {
-    return this._inspected;
-  }
-
-  /**
-   * @return {boolean}
-   */
-  isDOMNode() {
-    return this._axNode.isDOMNode();
-  }
-
-  /**
-   * @return {?Accessibility.AXBreadcrumb}
-   */
-  nextBreadcrumb() {
-    if (this._children.length) {
-      return this._children[0];
-    }
-    const nextSibling = this.element().nextSibling;
-    if (nextSibling) {
-      return nextSibling.breadcrumb;
-    }
-    return null;
-  }
-
-  /**
-   * @return {?Accessibility.AXBreadcrumb}
-   */
-  previousBreadcrumb() {
-    const previousSibling = this.element().previousSibling;
-    if (previousSibling) {
-      return previousSibling.breadcrumb;
-    }
-
-    return this._parent;
-  }
-
-  /**
-   * @param {string} name
-   */
-  _appendNameElement(name) {
-    const nameElement = createElement('span');
-    nameElement.textContent = '"' + name + '"';
-    nameElement.classList.add('ax-readable-string');
-    this._nodeWrapper.appendChild(nameElement);
-  }
-
-  /**
-   * @param {?Protocol.Accessibility.AXValue} role
-   */
-  _appendRoleElement(role) {
-    if (!role) {
-      return;
-    }
-
-    const roleElement = createElementWithClass('span', 'monospace');
-    roleElement.classList.add(Accessibility.AXBreadcrumb.RoleStyles[role.type]);
-    roleElement.setTextContentTruncatedIfNeeded(role.value || '');
-
-    this._nodeWrapper.appendChild(roleElement);
-  }
-
-  _appendIgnoredNodeElement() {
-    const ignoredNodeElement = createElementWithClass('span', 'monospace');
-    ignoredNodeElement.textContent = ls`Ignored`;
-    ignoredNodeElement.classList.add('ax-breadcrumbs-ignored-node');
-    this._nodeWrapper.appendChild(ignoredNodeElement);
-  }
-};
-
-/** @type {!Object<string, string>} */
-Accessibility.AXBreadcrumb.RoleStyles = {
-  internalRole: 'ax-internal-role',
-  role: 'ax-role',
-};
diff --git a/front_end/accessibility/AccessibilityModel.js b/front_end/accessibility/AccessibilityModel.js
deleted file mode 100644
index 7e84997..0000000
--- a/front_end/accessibility/AccessibilityModel.js
+++ /dev/null
@@ -1,317 +0,0 @@
-// Copyright (c) 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-/**
- * @unrestricted
- */
-Accessibility.AccessibilityNode = class {
-  /**
-   * @param {!Accessibility.AccessibilityModel} accessibilityModel
-   * @param {!Protocol.Accessibility.AXNode} payload
-   */
-  constructor(accessibilityModel, payload) {
-    this._accessibilityModel = accessibilityModel;
-    this._agent = accessibilityModel._agent;
-
-    this._id = payload.nodeId;
-    accessibilityModel._setAXNodeForAXId(this._id, this);
-    if (payload.backendDOMNodeId) {
-      accessibilityModel._setAXNodeForBackendDOMNodeId(payload.backendDOMNodeId, this);
-      this._backendDOMNodeId = payload.backendDOMNodeId;
-      this._deferredDOMNode = new SDK.DeferredDOMNode(accessibilityModel.target(), payload.backendDOMNodeId);
-    } else {
-      this._backendDOMNodeId = null;
-      this._deferredDOMNode = null;
-    }
-    this._ignored = payload.ignored;
-    if (this._ignored && 'ignoredReasons' in payload) {
-      this._ignoredReasons = payload.ignoredReasons;
-    }
-
-    this._role = payload.role || null;
-    this._name = payload.name || null;
-    this._description = payload.description || null;
-    this._value = payload.value || null;
-    this._properties = payload.properties || null;
-    this._childIds = payload.childIds || null;
-    this._parentNode = null;
-  }
-
-  /**
-   * @return {!Accessibility.AccessibilityModel}
-   */
-  accessibilityModel() {
-    return this._accessibilityModel;
-  }
-
-  /**
-   * @return {boolean}
-   */
-  ignored() {
-    return this._ignored;
-  }
-
-  /**
-   * @return {?Array<!Protocol.Accessibility.AXProperty>}
-   */
-  ignoredReasons() {
-    return this._ignoredReasons || null;
-  }
-
-  /**
-   * @return {?Protocol.Accessibility.AXValue}
-   */
-  role() {
-    return this._role || null;
-  }
-
-  /**
-   * @return {!Array<!Protocol.Accessibility.AXProperty>}
-   */
-  coreProperties() {
-    const properties = [];
-
-    if (this._name) {
-      properties.push(/** @type {!Protocol.Accessibility.AXProperty} */ ({name: 'name', value: this._name}));
-    }
-    if (this._description) {
-      properties.push(
-          /** @type {!Protocol.Accessibility.AXProperty} */ ({name: 'description', value: this._description}));
-    }
-    if (this._value) {
-      properties.push(/** @type {!Protocol.Accessibility.AXProperty} */ ({name: 'value', value: this._value}));
-    }
-
-    return properties;
-  }
-
-  /**
-   * @return {?Protocol.Accessibility.AXValue}
-   */
-  name() {
-    return this._name || null;
-  }
-
-  /**
-   * @return {?Protocol.Accessibility.AXValue}
-   */
-  description() {
-    return this._description || null;
-  }
-
-  /**
-   * @return {?Protocol.Accessibility.AXValue}
-   */
-  value() {
-    return this._value || null;
-  }
-
-  /**
-   * @return {?Array<!Protocol.Accessibility.AXProperty>}
-   */
-  properties() {
-    return this._properties || null;
-  }
-
-  /**
-   * @return {?Accessibility.AccessibilityNode}
-   */
-  parentNode() {
-    return this._parentNode;
-  }
-
-  /**
-   * @param {?Accessibility.AccessibilityNode} parentNode
-   */
-  _setParentNode(parentNode) {
-    this._parentNode = parentNode;
-  }
-
-  /**
-   * @return {boolean}
-   */
-  isDOMNode() {
-    return !!this._backendDOMNodeId;
-  }
-
-  /**
-   * @return {?number}
-   */
-  backendDOMNodeId() {
-    return this._backendDOMNodeId;
-  }
-
-  /**
-   * @return {?SDK.DeferredDOMNode}
-   */
-  deferredDOMNode() {
-    return this._deferredDOMNode;
-  }
-
-  highlightDOMNode() {
-    if (!this.deferredDOMNode()) {
-      return;
-    }
-
-    // Highlight node in page.
-    this.deferredDOMNode().highlight();
-  }
-
-  /**
-   * @return {!Array<!Accessibility.AccessibilityNode>}
-   */
-  children() {
-    const children = [];
-    if (!this._childIds) {
-      return children;
-    }
-
-    for (const childId of this._childIds) {
-      const child = this._accessibilityModel.axNodeForId(childId);
-      if (child) {
-        children.push(child);
-      }
-    }
-
-    return children;
-  }
-
-  /**
-   * @return {number}
-   */
-  numChildren() {
-    if (!this._childIds) {
-      return 0;
-    }
-    return this._childIds.length;
-  }
-
-  /**
-   * @return {boolean}
-   */
-  hasOnlyUnloadedChildren() {
-    if (!this._childIds || !this._childIds.length) {
-      return false;
-    }
-
-    return !this._childIds.some(id => this._accessibilityModel.axNodeForId(id) !== undefined);
-  }
-
-  /**
-   * TODO(aboxhall): Remove once protocol is stable.
-   * @param {!Accessibility.AccessibilityNode} inspectedNode
-   * @param {string=} leadingSpace
-   * @return {string}
-   */
-  printSelfAndChildren(inspectedNode, leadingSpace) {
-    let string = leadingSpace || '';
-    if (this._role) {
-      string += this._role.value;
-    } else {
-      string += '<no role>';
-    }
-    string += (this._name ? ' ' + this._name.value : '');
-    string += ' ' + this._id;
-    if (this._domNode) {
-      string += ' (' + this._domNode.nodeName() + ')';
-    }
-    if (this === inspectedNode) {
-      string += ' *';
-    }
-    for (const child of this.children()) {
-      string += '\n' + child.printSelfAndChildren(inspectedNode, (leadingSpace || '') + '  ');
-    }
-    return string;
-  }
-};
-
-/**
- * @unrestricted
- */
-Accessibility.AccessibilityModel = class extends SDK.SDKModel {
-  /**
-   * @param {!SDK.Target} target
-   */
-  constructor(target) {
-    super(target);
-    this._agent = target.accessibilityAgent();
-
-    /** @type {!Map<string, !Accessibility.AccessibilityNode>} */
-    this._axIdToAXNode = new Map();
-    this._backendDOMNodeIdToAXNode = new Map();
-  }
-
-  clear() {
-    this._axIdToAXNode.clear();
-  }
-
-  /**
-   * @param {!SDK.DOMNode} node
-   * @return {!Promise}
-   */
-  async requestPartialAXTree(node) {
-    const payloads = await this._agent.getPartialAXTree(node.id, undefined, undefined, true);
-    if (!payloads) {
-      return;
-    }
-
-    for (const payload of payloads) {
-      new Accessibility.AccessibilityNode(this, payload);
-    }
-
-    for (const axNode of this._axIdToAXNode.values()) {
-      for (const axChild of axNode.children()) {
-        axChild._setParentNode(axNode);
-      }
-    }
-  }
-
-  /**
-   * @param {string} axId
-   * @return {?Accessibility.AccessibilityNode}
-   */
-  axNodeForId(axId) {
-    return this._axIdToAXNode.get(axId);
-  }
-
-  /**
-   * @param {string} axId
-   * @param {!Accessibility.AccessibilityNode} axNode
-   */
-  _setAXNodeForAXId(axId, axNode) {
-    this._axIdToAXNode.set(axId, axNode);
-  }
-
-  /**
-   * @param {?SDK.DOMNode} domNode
-   * @return {?Accessibility.AccessibilityNode}
-   */
-  axNodeForDOMNode(domNode) {
-    if (!domNode) {
-      return null;
-    }
-    return this._backendDOMNodeIdToAXNode.get(domNode.backendNodeId());
-  }
-
-  /**
-   * @param {number} backendDOMNodeId
-   * @param {!Accessibility.AccessibilityNode} axNode
-   */
-  _setAXNodeForBackendDOMNodeId(backendDOMNodeId, axNode) {
-    this._backendDOMNodeIdToAXNode.set(backendDOMNodeId, axNode);
-  }
-
-  // TODO(aboxhall): Remove once protocol is stable.
-  /**
-   * @param {!SDK.DOMNode} inspectedNode
-   */
-  logTree(inspectedNode) {
-    let rootNode = inspectedNode;
-    while (rootNode.parentNode()) {
-      rootNode = rootNode.parentNode();
-    }
-    console.log(rootNode.printSelfAndChildren(inspectedNode));  // eslint-disable-line no-console
-  }
-};
-
-SDK.SDKModel.register(Accessibility.AccessibilityModel, SDK.Target.Capability.DOM, false);
diff --git a/front_end/accessibility/AccessibilityNodeView.js b/front_end/accessibility/AccessibilityNodeView.js
deleted file mode 100644
index 26862da..0000000
--- a/front_end/accessibility/AccessibilityNodeView.js
+++ /dev/null
@@ -1,663 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-/**
- * @unrestricted
- */
-Accessibility.AXNodeSubPane = class extends Accessibility.AccessibilitySubPane {
-  constructor() {
-    super(ls`Computed Properties`);
-
-    this.contentElement.classList.add('ax-subpane');
-
-    this._noNodeInfo = this.createInfo(ls`No accessibility node`);
-    this._ignoredInfo = this.createInfo(ls`Accessibility node not exposed`, 'ax-ignored-info hidden');
-
-    this._treeOutline = this.createTreeOutline();
-    this._ignoredReasonsTree = this.createTreeOutline();
-
-    this.element.classList.add('accessibility-computed');
-    this.registerRequiredCSS('accessibility/accessibilityNode.css');
-    this._treeOutline.setFocusable(true);
-  }
-
-  /**
-   * @param {?Accessibility.AccessibilityNode} axNode
-   * @override
-   */
-  setAXNode(axNode) {
-    if (this._axNode === axNode) {
-      return;
-    }
-    this._axNode = axNode;
-
-    const treeOutline = this._treeOutline;
-    treeOutline.removeChildren();
-    const ignoredReasons = this._ignoredReasonsTree;
-    ignoredReasons.removeChildren();
-
-    if (!axNode) {
-      treeOutline.element.classList.add('hidden');
-      this._ignoredInfo.classList.add('hidden');
-      ignoredReasons.element.classList.add('hidden');
-
-      this._noNodeInfo.classList.remove('hidden');
-      this.element.classList.add('ax-ignored-node-pane');
-
-      return;
-    }
-
-    if (axNode.ignored()) {
-      this._noNodeInfo.classList.add('hidden');
-      treeOutline.element.classList.add('hidden');
-      this.element.classList.add('ax-ignored-node-pane');
-
-      this._ignoredInfo.classList.remove('hidden');
-      ignoredReasons.element.classList.remove('hidden');
-      /**
-       * @param {!Protocol.Accessibility.AXProperty} property
-       */
-      function addIgnoredReason(property) {
-        ignoredReasons.appendChild(new Accessibility.AXNodeIgnoredReasonTreeElement(
-            property, /** @type {!Accessibility.AccessibilityNode} */ (axNode)));
-      }
-      const ignoredReasonsArray = /** @type {!Array<!Protocol.Accessibility.AXProperty>} */ (axNode.ignoredReasons());
-      for (const reason of ignoredReasonsArray) {
-        addIgnoredReason(reason);
-      }
-      if (!ignoredReasons.firstChild()) {
-        ignoredReasons.element.classList.add('hidden');
-      }
-      return;
-    }
-    this.element.classList.remove('ax-ignored-node-pane');
-
-    this._ignoredInfo.classList.add('hidden');
-    ignoredReasons.element.classList.add('hidden');
-    this._noNodeInfo.classList.add('hidden');
-
-    treeOutline.element.classList.remove('hidden');
-
-    /**
-     * @param {!Protocol.Accessibility.AXProperty} property
-     */
-    function addProperty(property) {
-      treeOutline.appendChild(new Accessibility.AXNodePropertyTreePropertyElement(
-          property, /** @type {!Accessibility.AccessibilityNode} */ (axNode)));
-    }
-
-    for (const property of axNode.coreProperties()) {
-      addProperty(property);
-    }
-
-    const roleProperty = /** @type {!Protocol.Accessibility.AXProperty} */ ({name: 'role', value: axNode.role()});
-    addProperty(roleProperty);
-    for (const property of /** @type {!Array.<!Protocol.Accessibility.AXProperty>} */ (axNode.properties())) {
-      addProperty(property);
-    }
-
-    const firstNode = treeOutline.firstChild();
-    if (firstNode) {
-      firstNode.select(/* omitFocus= */ true, /* selectedByUser= */ false);
-    }
-  }
-
-  /**
-   * @override
-   * @param {?SDK.DOMNode} node
-   */
-  setNode(node) {
-    super.setNode(node);
-    this._axNode = null;
-  }
-};
-
-/**
- * @unrestricted
- */
-Accessibility.AXNodePropertyTreeElement = class extends UI.TreeElement {
-  /**
-   * @param {!Accessibility.AccessibilityNode} axNode
-   */
-  constructor(axNode) {
-    // Pass an empty title, the title gets made later in onattach.
-    super('');
-    this._axNode = axNode;
-  }
-
-  /**
-   * @param {?Protocol.Accessibility.AXValueType} type
-   * @param {string} value
-   * @return {!Element}
-   */
-  static createSimpleValueElement(type, value) {
-    let valueElement;
-    const AXValueType = Protocol.Accessibility.AXValueType;
-    if (!type || type === AXValueType.ValueUndefined || type === AXValueType.ComputedString) {
-      valueElement = createElement('span');
-    } else {
-      valueElement = createElementWithClass('span', 'monospace');
-    }
-    let valueText;
-    const isStringProperty = type && Accessibility.AXNodePropertyTreeElement.StringProperties.has(type);
-    if (isStringProperty) {
-      // Render \n as a nice unicode cr symbol.
-      valueText = '"' + value.replace(/\n/g, '\u21B5') + '"';
-      valueElement._originalTextContent = value;
-    } else {
-      valueText = String(value);
-    }
-
-    if (type && type in Accessibility.AXNodePropertyTreeElement.TypeStyles) {
-      valueElement.classList.add(Accessibility.AXNodePropertyTreeElement.TypeStyles[type]);
-    }
-
-    valueElement.setTextContentTruncatedIfNeeded(valueText || '');
-
-    valueElement.title = String(value) || '';
-
-    return valueElement;
-  }
-
-  /**
-   * @param {string} tooltip
-   * @return {!Element}
-   */
-  static createExclamationMark(tooltip) {
-    const exclamationElement = createElement('span', 'dt-icon-label');
-    exclamationElement.type = 'smallicon-warning';
-    exclamationElement.title = tooltip;
-    return exclamationElement;
-  }
-
-  /**
-   * @param {string} name
-   */
-  appendNameElement(name) {
-    const nameElement = createElement('span');
-    const AXAttributes = Accessibility.AccessibilityStrings.AXAttributes;
-    if (name in AXAttributes) {
-      nameElement.textContent = AXAttributes[name].name;
-      nameElement.title = AXAttributes[name].description;
-      nameElement.classList.add('ax-readable-name');
-    } else {
-      nameElement.textContent = name;
-      nameElement.classList.add('ax-name');
-      nameElement.classList.add('monospace');
-    }
-    this.listItemElement.appendChild(nameElement);
-  }
-
-  /**
-   * @param {!Protocol.Accessibility.AXValue} value
-   */
-  appendValueElement(value) {
-    const AXValueType = Protocol.Accessibility.AXValueType;
-    if (value.type === AXValueType.Idref || value.type === AXValueType.Node || value.type === AXValueType.IdrefList ||
-        value.type === AXValueType.NodeList) {
-      this.appendRelatedNodeListValueElement(value);
-      return;
-    } else if (value.sources) {
-      const sources = value.sources;
-      for (let i = 0; i < sources.length; i++) {
-        const source = sources[i];
-        const child = new Accessibility.AXValueSourceTreeElement(source, this._axNode);
-        this.appendChild(child);
-      }
-      this.expand();
-    }
-    const element = Accessibility.AXNodePropertyTreeElement.createSimpleValueElement(value.type, String(value.value));
-    this.listItemElement.appendChild(element);
-  }
-
-  /**
-   * @param {!Protocol.Accessibility.AXRelatedNode} relatedNode
-   * @param {number} index
-   */
-  appendRelatedNode(relatedNode, index) {
-    const deferredNode =
-        new SDK.DeferredDOMNode(this._axNode.accessibilityModel().target(), relatedNode.backendDOMNodeId);
-    const nodeTreeElement = new Accessibility.AXRelatedNodeSourceTreeElement({deferredNode: deferredNode}, relatedNode);
-    this.appendChild(nodeTreeElement);
-  }
-
-  /**
-   * @param {!Protocol.Accessibility.AXRelatedNode} relatedNode
-   */
-  appendRelatedNodeInline(relatedNode) {
-    const deferredNode =
-        new SDK.DeferredDOMNode(this._axNode.accessibilityModel().target(), relatedNode.backendDOMNodeId);
-    const linkedNode = new Accessibility.AXRelatedNodeElement({deferredNode: deferredNode}, relatedNode);
-    this.listItemElement.appendChild(linkedNode.render());
-  }
-
-  /**
-   * @param {!Protocol.Accessibility.AXValue} value
-   */
-  appendRelatedNodeListValueElement(value) {
-    if (value.relatedNodes.length === 1 && !value.value) {
-      this.appendRelatedNodeInline(value.relatedNodes[0]);
-      return;
-    }
-
-    value.relatedNodes.forEach(this.appendRelatedNode, this);
-    if (value.relatedNodes.length <= 3) {
-      this.expand();
-    } else {
-      this.collapse();
-    }
-  }
-};
-
-
-/** @type {!Object<string, string>} */
-Accessibility.AXNodePropertyTreeElement.TypeStyles = {
-  attribute: 'ax-value-string',
-  boolean: 'object-value-boolean',
-  booleanOrUndefined: 'object-value-boolean',
-  computedString: 'ax-readable-string',
-  idref: 'ax-value-string',
-  idrefList: 'ax-value-string',
-  integer: 'object-value-number',
-  internalRole: 'ax-internal-role',
-  number: 'ax-value-number',
-  role: 'ax-role',
-  string: 'ax-value-string',
-  tristate: 'object-value-boolean',
-  valueUndefined: 'ax-value-undefined'
-};
-
-/** @type {!Set.<!Protocol.Accessibility.AXValueType>} */
-Accessibility.AXNodePropertyTreeElement.StringProperties = new Set([
-  Protocol.Accessibility.AXValueType.String, Protocol.Accessibility.AXValueType.ComputedString,
-  Protocol.Accessibility.AXValueType.IdrefList, Protocol.Accessibility.AXValueType.Idref
-]);
-
-/**
- * @unrestricted
- */
-Accessibility.AXNodePropertyTreePropertyElement = class extends Accessibility.AXNodePropertyTreeElement {
-  /**
-   * @param {!Protocol.Accessibility.AXProperty} property
-   * @param {!Accessibility.AccessibilityNode} axNode
-   */
-  constructor(property, axNode) {
-    super(axNode);
-
-    this._property = property;
-    this.toggleOnClick = true;
-
-    this.listItemElement.classList.add('property');
-  }
-
-  /**
-   * @override
-   */
-  onattach() {
-    this._update();
-  }
-
-  _update() {
-    this.listItemElement.removeChildren();
-
-    this.appendNameElement(this._property.name);
-
-    this.listItemElement.createChild('span', 'separator').textContent = ':\xA0';
-
-    this.appendValueElement(this._property.value);
-  }
-};
-
-/**
- * @unrestricted
- */
-Accessibility.AXValueSourceTreeElement = class extends Accessibility.AXNodePropertyTreeElement {
-  /**
-   * @param {!Protocol.Accessibility.AXValueSource} source
-   * @param {!Accessibility.AccessibilityNode} axNode
-   */
-  constructor(source, axNode) {
-    super(axNode);
-    this._source = source;
-  }
-
-  /**
-   * @override
-   */
-  onattach() {
-    this._update();
-  }
-
-  /**
-   * @param {!Protocol.Accessibility.AXRelatedNode} relatedNode
-   * @param {number} index
-   * @param {string} idref
-   */
-  appendRelatedNodeWithIdref(relatedNode, index, idref) {
-    const deferredNode =
-        new SDK.DeferredDOMNode(this._axNode.accessibilityModel().target(), relatedNode.backendDOMNodeId);
-    const nodeTreeElement =
-        new Accessibility.AXRelatedNodeSourceTreeElement({deferredNode: deferredNode, idref: idref}, relatedNode);
-    this.appendChild(nodeTreeElement);
-  }
-
-  /**
-   * @param {!Protocol.Accessibility.AXValue} value
-   */
-  appendIDRefValueElement(value) {
-    const relatedNodes = value.relatedNodes;
-
-    const idrefs = value.value.trim().split(/\s+/);
-    if (idrefs.length === 1) {
-      const idref = idrefs[0];
-      const matchingNode = relatedNodes.find(node => node.idref === idref);
-      if (matchingNode) {
-        this.appendRelatedNodeWithIdref(matchingNode, 0, idref);
-      } else {
-        this.listItemElement.appendChild(new Accessibility.AXRelatedNodeElement({idref: idref}).render());
-      }
-
-    } else {
-      // TODO(aboxhall): exclamation mark if not idreflist type
-      for (let i = 0; i < idrefs.length; ++i) {
-        const idref = idrefs[i];
-        const matchingNode = relatedNodes.find(node => node.idref === idref);
-        if (matchingNode) {
-          this.appendRelatedNodeWithIdref(matchingNode, i, idref);
-        } else {
-          this.appendChild(new Accessibility.AXRelatedNodeSourceTreeElement({idref: idref}));
-        }
-      }
-    }
-  }
-
-  /**
-   * @param {!Protocol.Accessibility.AXValue} value
-   * @override
-   */
-  appendRelatedNodeListValueElement(value) {
-    const relatedNodes = value.relatedNodes;
-    const numNodes = relatedNodes.length;
-
-    if (value.type === Protocol.Accessibility.AXValueType.IdrefList ||
-        value.type === Protocol.Accessibility.AXValueType.Idref) {
-      this.appendIDRefValueElement(value);
-    } else {
-      super.appendRelatedNodeListValueElement(value);
-    }
-
-
-    if (numNodes <= 3) {
-      this.expand();
-    } else {
-      this.collapse();
-    }
-  }
-
-  /**
-   * @param {!Protocol.Accessibility.AXValueSource} source
-   */
-  appendSourceNameElement(source) {
-    const nameElement = createElement('span');
-    const AXValueSourceType = Protocol.Accessibility.AXValueSourceType;
-    const type = source.type;
-    switch (type) {
-      case AXValueSourceType.Attribute:
-      case AXValueSourceType.Placeholder:
-      case AXValueSourceType.RelatedElement:
-        if (source.nativeSource) {
-          const AXNativeSourceTypes = Accessibility.AccessibilityStrings.AXNativeSourceTypes;
-          const nativeSource = source.nativeSource;
-          nameElement.textContent = AXNativeSourceTypes[nativeSource].name;
-          nameElement.title = AXNativeSourceTypes[nativeSource].description;
-          nameElement.classList.add('ax-readable-name');
-          break;
-        }
-        nameElement.textContent = source.attribute;
-        nameElement.classList.add('ax-name');
-        nameElement.classList.add('monospace');
-        break;
-      default:
-        const AXSourceTypes = Accessibility.AccessibilityStrings.AXSourceTypes;
-        if (type in AXSourceTypes) {
-          nameElement.textContent = AXSourceTypes[type].name;
-          nameElement.title = AXSourceTypes[type].description;
-          nameElement.classList.add('ax-readable-name');
-        } else {
-          console.warn(type, 'not in AXSourceTypes');
-          nameElement.textContent = type;
-        }
-    }
-    this.listItemElement.appendChild(nameElement);
-  }
-
-  _update() {
-    this.listItemElement.removeChildren();
-
-    if (this._source.invalid) {
-      const exclamationMark = Accessibility.AXNodePropertyTreeElement.createExclamationMark(ls`Invalid source.`);
-      this.listItemElement.appendChild(exclamationMark);
-      this.listItemElement.classList.add('ax-value-source-invalid');
-    } else if (this._source.superseded) {
-      this.listItemElement.classList.add('ax-value-source-unused');
-    }
-
-    this.appendSourceNameElement(this._source);
-
-    this.listItemElement.createChild('span', 'separator').textContent = ':\xA0';
-
-    if (this._source.attributeValue) {
-      this.appendValueElement(this._source.attributeValue);
-      this.listItemElement.createTextChild('\xA0');
-    } else if (this._source.nativeSourceValue) {
-      this.appendValueElement(this._source.nativeSourceValue);
-      this.listItemElement.createTextChild('\xA0');
-      if (this._source.value) {
-        this.appendValueElement(this._source.value);
-      }
-    } else if (this._source.value) {
-      this.appendValueElement(this._source.value);
-    } else {
-      const valueElement = Accessibility.AXNodePropertyTreeElement.createSimpleValueElement(
-          Protocol.Accessibility.AXValueType.ValueUndefined, ls`Not specified`);
-      this.listItemElement.appendChild(valueElement);
-      this.listItemElement.classList.add('ax-value-source-unused');
-    }
-
-    if (this._source.value && this._source.superseded) {
-      this.listItemElement.classList.add('ax-value-source-superseded');
-    }
-  }
-};
-
-/**
- * @unrestricted
- */
-Accessibility.AXRelatedNodeSourceTreeElement = class extends UI.TreeElement {
-  /**
-   * @param {{deferredNode: (!SDK.DeferredDOMNode|undefined), idref: (string|undefined)}} node
-   * @param {!Protocol.Accessibility.AXRelatedNode=} value
-   */
-  constructor(node, value) {
-    super('');
-
-    this._value = value;
-    this._axRelatedNodeElement = new Accessibility.AXRelatedNodeElement(node, value);
-    this.selectable = true;
-  }
-
-  /**
-   * @override
-   */
-  onattach() {
-    this.listItemElement.appendChild(this._axRelatedNodeElement.render());
-    if (!this._value) {
-      return;
-    }
-
-    if (this._value.text) {
-      this.listItemElement.appendChild(Accessibility.AXNodePropertyTreeElement.createSimpleValueElement(
-          Protocol.Accessibility.AXValueType.ComputedString, this._value.text));
-    }
-  }
-
-  /**
-   * @override
-   */
-  onenter() {
-    this._axRelatedNodeElement.revealNode();
-    return true;
-  }
-};
-
-/**
- * @unrestricted
- */
-Accessibility.AXRelatedNodeElement = class {
-  /**
-   * @param {{deferredNode: (!SDK.DeferredDOMNode|undefined), idref: (string|undefined)}} node
-   * @param {!Protocol.Accessibility.AXRelatedNode=} value
-   */
-  constructor(node, value) {
-    this._deferredNode = node.deferredNode;
-    this._idref = node.idref;
-    this._value = value;
-  }
-
-  /**
-   * @return {!Element}
-   */
-  render() {
-    const element = createElement('span');
-    let valueElement;
-
-    if (this._deferredNode) {
-      valueElement = createElement('span');
-      element.appendChild(valueElement);
-      this._deferredNode.resolvePromise().then(node => {
-        Common.Linkifier.linkify(node, {preventKeyboardFocus: true})
-            .then(linkfied => valueElement.appendChild(linkfied));
-      });
-    } else if (this._idref) {
-      element.classList.add('invalid');
-      valueElement = Accessibility.AXNodePropertyTreeElement.createExclamationMark(ls`No node with this ID.`);
-      valueElement.createTextChild(this._idref);
-      element.appendChild(valueElement);
-    }
-
-    return element;
-  }
-
-  /**
-   * Attempts to cause the node referred to by the related node to be selected in the tree.
-   */
-  revealNode() {
-    this._deferredNode.resolvePromise().then(node => Common.Revealer.reveal(node));
-  }
-};
-
-/**
- * @unrestricted
- */
-Accessibility.AXNodeIgnoredReasonTreeElement = class extends Accessibility.AXNodePropertyTreeElement {
-  /**
-   * @param {!Protocol.Accessibility.AXProperty} property
-   * @param {!Accessibility.AccessibilityNode} axNode
-   */
-  constructor(property, axNode) {
-    super(axNode);
-    this._property = property;
-    this._axNode = axNode;
-    this.toggleOnClick = true;
-    this.selectable = false;
-  }
-
-  /**
-   * @param {?string} reason
-   * @param {?Accessibility.AccessibilityNode} axNode
-   * @return {?Element}
-   */
-  static createReasonElement(reason, axNode) {
-    let reasonElement = null;
-    switch (reason) {
-      case 'activeModalDialog':
-        reasonElement = UI.formatLocalized('Element is hidden by active modal dialog:\xA0', []);
-        break;
-      case 'ancestorIsLeafNode':
-        reasonElement = UI.formatLocalized('Ancestor\'s children are all presentational:\xA0', []);
-        break;
-      case 'ariaHiddenElement': {
-        const ariaHiddenSpan = createElement('span', 'source-code').textContent = 'aria-hidden';
-        reasonElement = UI.formatLocalized('Element is %s.', [ariaHiddenSpan]);
-        break;
-      }
-      case 'ariaHiddenSubtree': {
-        const ariaHiddenSpan = createElement('span', 'source-code').textContent = 'aria-hidden';
-        const trueSpan = createElement('span', 'source-code').textContent = 'true';
-        reasonElement = UI.formatLocalized('%s is %s on ancestor:\xA0', [ariaHiddenSpan, trueSpan]);
-        break;
-      }
-      case 'emptyAlt':
-        reasonElement = UI.formatLocalized('Element has empty alt text.', []);
-        break;
-      case 'emptyText':
-        reasonElement = UI.formatLocalized('No text content.', []);
-        break;
-      case 'inertElement':
-        reasonElement = UI.formatLocalized('Element is inert.', []);
-        break;
-      case 'inertSubtree':
-        reasonElement = UI.formatLocalized('Element is in an inert subtree from\xA0', []);
-        break;
-      case 'inheritsPresentation':
-        reasonElement = UI.formatLocalized('Element inherits presentational role from\xA0', []);
-        break;
-      case 'labelContainer':
-        reasonElement = UI.formatLocalized('Part of label element:\xA0', []);
-        break;
-      case 'labelFor':
-        reasonElement = UI.formatLocalized('Label for\xA0', []);
-        break;
-      case 'notRendered':
-        reasonElement = UI.formatLocalized('Element is not rendered.', []);
-        break;
-      case 'notVisible':
-        reasonElement = UI.formatLocalized('Element is not visible.', []);
-        break;
-      case 'presentationalRole': {
-        const rolePresentationSpan = createElement('span', 'source-code').textContent = 'role=' + axNode.role().value;
-        reasonElement = UI.formatLocalized('Element has %s.', [rolePresentationSpan]);
-        break;
-      }
-      case 'probablyPresentational':
-        reasonElement = UI.formatLocalized('Element is presentational.', []);
-        break;
-      case 'staticTextUsedAsNameFor':
-        reasonElement = UI.formatLocalized('Static text node is used as name for\xA0', []);
-        break;
-      case 'uninteresting':
-        reasonElement = UI.formatLocalized('Element not interesting for accessibility.', []);
-        break;
-    }
-    if (reasonElement) {
-      reasonElement.classList.add('ax-reason');
-    }
-    return reasonElement;
-  }
-
-  /**
-   * @override
-   */
-  onattach() {
-    this.listItemElement.removeChildren();
-
-    this._reasonElement =
-        Accessibility.AXNodeIgnoredReasonTreeElement.createReasonElement(this._property.name, this._axNode);
-    this.listItemElement.appendChild(this._reasonElement);
-
-    const value = this._property.value;
-    if (value.type === Protocol.Accessibility.AXValueType.Idref) {
-      this.appendRelatedNodeListValueElement(value);
-    }
-  }
-};
diff --git a/front_end/accessibility/AccessibilitySidebarView.js b/front_end/accessibility/AccessibilitySidebarView.js
deleted file mode 100644
index 510cd54..0000000
--- a/front_end/accessibility/AccessibilitySidebarView.js
+++ /dev/null
@@ -1,223 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-/**
- * @unrestricted
- */
-Accessibility.AccessibilitySidebarView = class extends UI.ThrottledWidget {
-  constructor() {
-    super();
-    this._node = null;
-    this._axNode = null;
-    this._skipNextPullNode = false;
-    this._sidebarPaneStack = UI.viewManager.createStackLocation();
-    this._breadcrumbsSubPane = new Accessibility.AXBreadcrumbsPane(this);
-    this._sidebarPaneStack.showView(this._breadcrumbsSubPane);
-    this._ariaSubPane = new Accessibility.ARIAAttributesPane();
-    this._sidebarPaneStack.showView(this._ariaSubPane);
-    this._axNodeSubPane = new Accessibility.AXNodeSubPane();
-    this._sidebarPaneStack.showView(this._axNodeSubPane);
-    this._sidebarPaneStack.widget().show(this.element);
-    UI.context.addFlavorChangeListener(SDK.DOMNode, this._pullNode, this);
-    this._pullNode();
-  }
-
-  /**
-   * @return {?SDK.DOMNode}
-   */
-  node() {
-    return this._node;
-  }
-
-  /**
-   * @return {?Accessibility.AccessibilityNode}
-   */
-  axNode() {
-    return this._axNode;
-  }
-
-  /**
-   * @param {?SDK.DOMNode} node
-   * @param {boolean=} fromAXTree
-   */
-  setNode(node, fromAXTree) {
-    this._skipNextPullNode = !!fromAXTree;
-    this._node = node;
-    this.update();
-  }
-
-  /**
-   * @param {?Accessibility.AccessibilityNode} axNode
-   */
-  accessibilityNodeCallback(axNode) {
-    if (!axNode) {
-      return;
-    }
-
-    this._axNode = axNode;
-
-    if (axNode.isDOMNode()) {
-      this._sidebarPaneStack.showView(this._ariaSubPane, this._axNodeSubPane);
-    } else {
-      this._sidebarPaneStack.removeView(this._ariaSubPane);
-    }
-
-    if (this._axNodeSubPane) {
-      this._axNodeSubPane.setAXNode(axNode);
-    }
-    if (this._breadcrumbsSubPane) {
-      this._breadcrumbsSubPane.setAXNode(axNode);
-    }
-  }
-
-  /**
-   * @override
-   * @protected
-   * @return {!Promise.<?>}
-   */
-  doUpdate() {
-    const node = this.node();
-    this._axNodeSubPane.setNode(node);
-    this._ariaSubPane.setNode(node);
-    this._breadcrumbsSubPane.setNode(node);
-    if (!node) {
-      return Promise.resolve();
-    }
-    const accessibilityModel = node.domModel().target().model(Accessibility.AccessibilityModel);
-    accessibilityModel.clear();
-    return accessibilityModel.requestPartialAXTree(node).then(() => {
-      this.accessibilityNodeCallback(accessibilityModel.axNodeForDOMNode(node));
-    });
-  }
-
-  /**
-   * @override
-   */
-  wasShown() {
-    super.wasShown();
-
-    this._breadcrumbsSubPane.setNode(this.node());
-    this._breadcrumbsSubPane.setAXNode(this.axNode());
-    this._axNodeSubPane.setNode(this.node());
-    this._axNodeSubPane.setAXNode(this.axNode());
-    this._ariaSubPane.setNode(this.node());
-
-    SDK.targetManager.addModelListener(SDK.DOMModel, SDK.DOMModel.Events.AttrModified, this._onAttrChange, this);
-    SDK.targetManager.addModelListener(SDK.DOMModel, SDK.DOMModel.Events.AttrRemoved, this._onAttrChange, this);
-    SDK.targetManager.addModelListener(
-        SDK.DOMModel, SDK.DOMModel.Events.CharacterDataModified, this._onNodeChange, this);
-    SDK.targetManager.addModelListener(
-        SDK.DOMModel, SDK.DOMModel.Events.ChildNodeCountUpdated, this._onNodeChange, this);
-  }
-
-  /**
-   * @override
-   */
-  willHide() {
-    SDK.targetManager.removeModelListener(SDK.DOMModel, SDK.DOMModel.Events.AttrModified, this._onAttrChange, this);
-    SDK.targetManager.removeModelListener(SDK.DOMModel, SDK.DOMModel.Events.AttrRemoved, this._onAttrChange, this);
-    SDK.targetManager.removeModelListener(
-        SDK.DOMModel, SDK.DOMModel.Events.CharacterDataModified, this._onNodeChange, this);
-    SDK.targetManager.removeModelListener(
-        SDK.DOMModel, SDK.DOMModel.Events.ChildNodeCountUpdated, this._onNodeChange, this);
-  }
-
-  _pullNode() {
-    if (this._skipNextPullNode) {
-      this._skipNextPullNode = false;
-      return;
-    }
-    this.setNode(UI.context.flavor(SDK.DOMNode));
-  }
-
-  /**
-   * @param {!Common.Event} event
-   */
-  _onAttrChange(event) {
-    if (!this.node()) {
-      return;
-    }
-    const node = event.data.node;
-    if (this.node() !== node) {
-      return;
-    }
-    this.update();
-  }
-
-  /**
-   * @param {!Common.Event} event
-   */
-  _onNodeChange(event) {
-    if (!this.node()) {
-      return;
-    }
-    const node = event.data;
-    if (this.node() !== node) {
-      return;
-    }
-    this.update();
-  }
-};
-
-/**
- * @unrestricted
- */
-Accessibility.AccessibilitySubPane = class extends UI.SimpleView {
-  /**
-   * @param {string} name
-   */
-  constructor(name) {
-    super(name);
-
-    this._axNode = null;
-    this.registerRequiredCSS('accessibility/accessibilityProperties.css');
-  }
-
-  /**
-   * @param {?Accessibility.AccessibilityNode} axNode
-   * @protected
-   */
-  setAXNode(axNode) {
-  }
-
-  /**
-   * @return {?SDK.DOMNode}
-   */
-  node() {
-    return this._node;
-  }
-
-  /**
-   * @param {?SDK.DOMNode} node
-   */
-  setNode(node) {
-    this._node = node;
-  }
-
-  /**
-   * @param {string} textContent
-   * @param {string=} className
-   * @return {!Element}
-   */
-  createInfo(textContent, className) {
-    const classNameOrDefault = className || 'gray-info-message';
-    const info = this.element.createChild('div', classNameOrDefault);
-    info.textContent = textContent;
-    return info;
-  }
-
-  /**
-   * @return {!UI.TreeOutline}
-   */
-  createTreeOutline() {
-    const treeOutline = new UI.TreeOutlineInShadow();
-    treeOutline.registerRequiredCSS('accessibility/accessibilityNode.css');
-    treeOutline.registerRequiredCSS('accessibility/accessibilityProperties.css');
-    treeOutline.registerRequiredCSS('object_ui/objectValue.css');
-
-    treeOutline.element.classList.add('hidden');
-    treeOutline.hideOverflow();
-    this.element.appendChild(treeOutline.element);
-    return treeOutline;
-  }
-};
diff --git a/front_end/accessibility/AccessibilityStrings.js b/front_end/accessibility/AccessibilityStrings.js
deleted file mode 100644
index f42870e..0000000
--- a/front_end/accessibility/AccessibilityStrings.js
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-Accessibility.AccessibilityStrings = {};
-
-Accessibility.AccessibilityStrings.AXAttributes = {
-  'disabled': {
-    name: ls`Disabled`,
-    description: ls`If true, this element currently cannot be interacted with.`,
-    group: 'AXGlobalStates'
-  },
-  'invalid': {
-    name: ls`Invalid user entry`,
-    description: ls`If true, this element's user-entered value does not conform to validation requirement.`,
-    group: 'AXGlobalStates'
-  },
-  'editable': {name: ls`Editable`, description: ls`If and how this element can be edited.`},
-  'focusable': {name: ls`Focusable`, description: ls`If true, this element can receive focus.`},
-  'focused': {name: ls`Focused`, description: ls`If true, this element currently has focus.`},
-  'settable': {name: ls`Can set value`, description: ls`Whether the value of this element can be set.`},
-  'live': {
-    name: ls`Live region`,
-    description: ls`Whether and what priority of live updates may be expected for this element.`,
-    group: 'AXLiveRegionAttributes'
-  },
-  'atomic': {name: ls`Atomic (live regions)`, description: ls
-    `If this element may receive live updates, whether the entire live region should be presented to the user on changes, or only changed nodes.`,
-    group: 'AXLiveRegionAttributes'
-  },
-  'relevant': {
-    name: ls`Relevant (live regions)`,
-    description: ls`If this element may receive live updates, what type of updates should trigger a notification.`,
-    group: 'AXLiveRegionAttributes'
-  },
-  'busy': {
-    name: ls`Busy (live regions)`,
-    description: ls
-    `Whether this element or its subtree are currently being updated (and thus may be in an inconsistent state).`,
-    group: 'AXLiveRegionAttributes'
-  },
-  'root': {
-    name: ls`Live region root`,
-    description: ls`If this element may receive live updates, the root element of the containing live region.`,
-    group: 'AXLiveRegionAttributes'
-  },
-  'autocomplete': {
-    name: ls`Has autocomplete`,
-    description: ls`Whether and what type of autocomplete suggestions are currently provided by this element.`,
-    group: 'AXWidgetAttributes'
-  },
-  'haspopup': {
-    name: ls`Has popup`,
-    description: ls`Whether this element has caused some kind of pop-up (such as a menu) to appear.`,
-    group: 'AXWidgetAttributes'
-  },
-  'level': {name: ls`Level`, description: ls`The hierarchical level of this element.`, group: 'AXWidgetAttributes'},
-  'multiselectable': {
-    name: ls`Multi-selectable`,
-    description: ls`Whether a user may select more than one option from this widget.`,
-    group: 'AXWidgetAttributes'
-  },
-  'orientation': {
-    name: ls`Orientation`,
-    description: ls`Whether this linear element's orientation is horizontal or vertical.`,
-    group: 'AXWidgetAttributes'
-  },
-  'multiline': {
-    name: ls`Multi-line`,
-    description: ls`Whether this text box may have more than one line.`,
-    group: 'AXWidgetAttributes'
-  },
-  'readonly': {
-    name: ls`Read-only`,
-    description: ls`If true, this element may be interacted with, but its value cannot be changed.`,
-    group: 'AXWidgetAttributes'
-  },
-  'required': {
-    name: ls`Required`,
-    description: ls`Whether this element is a required field in a form.`,
-    group: 'AXWidgetAttributes'
-  },
-  'valuemin': {
-    name: ls`Minimum value`,
-    description: ls`For a range widget, the minimum allowed value.`,
-    group: 'AXWidgetAttributes'
-  },
-  'valuemax': {
-    name: ls`Maximum value`,
-    description: ls`For a range widget, the maximum allowed value.`,
-    group: 'AXWidgetAttributes'
-  },
-  'valuetext': {
-    name: ls`Value description`,
-    description: ls`A human-readable version of the value of a range widget (where necessary).`,
-    group: 'AXWidgetAttributes'
-  },
-  'checked': {
-    name: ls`Checked`,
-    description: ls
-    `Whether this checkbox, radio button or tree item is checked, unchecked, or mixed (e.g. has both checked and un-checked children).`,
-    group: 'AXWidgetStates'
-  },
-  'expanded': {
-    name: ls`Expanded`,
-    description: ls`Whether this element, or another grouping element it controls, is expanded.`,
-    group: 'AXWidgetStates'
-  },
-  'pressed': {
-    name: ls`Pressed`,
-    description: ls`Whether this toggle button is currently in a pressed state.`,
-    group: 'AXWidgetStates'
-  },
-  'selected': {
-    name: ls`Selected`,
-    description: ls`Whether the option represented by this element is currently selected.`,
-    group: 'AXWidgetStates'
-  },
-  'activedescendant': {
-    name: ls`Active descendant`,
-    description: ls
-    `The descendant of this element which is active; i.e. the element to which focus should be delegated.`,
-    group: 'AXRelationshipAttributes'
-  },
-  'flowto': {
-    name: ls`Flows to`,
-    description: ls
-    `Element to which the user may choose to navigate after this one, instead of the next element in the DOM order.`,
-    group: 'AXRelationshipAttributes'
-  },
-  'controls': {
-    name: ls`Controls`,
-    description: ls`Element or elements whose content or presence is/are controlled by this widget.`,
-    group: 'AXRelationshipAttributes'
-  },
-  'describedby': {
-    name: ls`Described by`,
-    description: ls`Element or elements which form the description of this element.`,
-    group: 'AXRelationshipAttributes'
-  },
-  'labelledby': {
-    name: ls`Labeled by`,
-    description: ls`Element or elements which may form the name of this element.`,
-    group: 'AXRelationshipAttributes'
-  },
-  'owns': {
-    name: ls`Owns`,
-    description: ls
-    `Element or elements which should be considered descendants of this element, despite not being descendants in the DOM.`,
-    group: 'AXRelationshipAttributes'
-  },
-  'name': {name: ls`Name`, description: ls`The computed name of this element.`, group: 'Default'},
-  'role': {
-    name: ls`Role`,
-    description: ls
-    `Indicates the purpose of this element, such as a user interface idiom for a widget, or structural role within a document.`,
-    group: 'Default'
-  },
-  'value': {
-    name: ls`Value`,
-    description: ls
-    `The value of this element; this may be user-provided or developer-provided, depending on the element.`,
-    group: 'Default'
-  },
-  'help': {name: ls`Help`, description: ls`The computed help text for this element.`, group: 'Default'},
-  'description':
-      {name: ls`Description`, description: ls`The accessible description for this element.`, group: 'Default'}
-};
-
-Accessibility.AccessibilityStrings.AXSourceTypes = {
-  'attribute': {name: ls`From attribute`, description: ls`Value from attribute.`},
-  'implicit': {
-    name: ls`Implicit`,
-    description: ls`Implicit value.`,
-  },
-  'style': {name: ls`From style`, description: ls`Value from style.`},
-  'contents': {name: ls`Contents`, description: ls`Value from element contents.`},
-  'placeholder': {name: ls`From placeholder attribute`, description: ls`Value from placeholder attribute.`},
-  'relatedElement': {name: ls`Related element`, description: ls`Value from related element.`}
-};
-
-Accessibility.AccessibilityStrings.AXNativeSourceTypes = {
-  'figcaption': {name: ls`From caption`, description: ls`Value from figcaption element.`},
-  'label': {name: ls`From label`, description: ls`Value from label element.`},
-  'labelfor': {name: ls`From label (for)`, description: ls`Value from label element with for= attribute.`},
-  'labelwrapped': {name: ls`From label (wrapped)`, description: ls`Value from label element wrapped.`},
-  'tablecaption': {name: ls`From caption`, description: ls`Value from table caption.`},
-  'title': {name: ls`From title`, description: ls`Value from title attribute.`},
-  'other': {name: ls`From native HTML`, description: ls`Value from native HTML (unknown source).`},
-
-};
diff --git a/front_end/accessibility/accessibilityNode.css b/front_end/accessibility/accessibilityNode.css
deleted file mode 100644
index bcb8f75..0000000
--- a/front_end/accessibility/accessibilityNode.css
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2017 The Chromium Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-.widget.ax-subpane {
-    overflow-x: hidden;
-    -webkit-user-select: text;
-}
-
-.ax-ignored-info {
-    padding: 6px;
-}
-
-.ax-ignored-node-pane {
-    flex: none;
-}
-
-.invalid {
-    text-decoration: line-through;
-}
-
-span.ax-value-undefined {
-    font-style: italic;
-}
-
-.ax-value-source-unused {
-    opacity: 0.7;
-}
-
-.ax-value-source-superseded,
-.ax-value-source-invalid {
-    text-decoration: line-through;
-}
-
-.tree-outline span[is=dt-icon-label] {
-    position: relative;
-    left: -11px;
-}
-
-.tree-outline li {
-    display: block;
-    overflow-x: hidden;
-    padding-left: 1px;
-    align-items: baseline;
-}
-
-.tree-outline li::before {
-    content: "";
-    width: 14px;
-    display: inline-block;
-}
-
-.tree-outline li.property {
-    color: rgb(33, 33, 33);
-}
-
-.tree-outline li.invalid {
-    position: relative;
-    left: -2px;
-}
-
-.tree-outline span[is=dt-icon-label] + .ax-name {
-    margin-left: -11px;
-}
-
-.tree-outline li span {
-    flex-shrink: 0;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-}
diff --git a/front_end/accessibility/accessibilityProperties.css b/front_end/accessibility/accessibilityProperties.css
deleted file mode 100644
index c193898..0000000
--- a/front_end/accessibility/accessibilityProperties.css
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2015 The Chromium Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-.ax-name {
-    color: rgb(153, 69, 0);
-    flex-shrink: 0;
-}
-
-.ax-readable-name {
-    flex-shrink: 0;
-    padding-left: 2px;
-}
-
-.ax-readable-string {
-    font-style: italic;
-}
-
-.ax-value-string {
-    color: rgb(200, 0, 0);
-}
-
-span.ax-internal-role {
-    font-style: italic;
-}
diff --git a/front_end/accessibility/accessibility_strings.grdp b/front_end/accessibility/accessibility_strings.grdp
deleted file mode 100644
index d0b6aca..0000000
--- a/front_end/accessibility/accessibility_strings.grdp
+++ /dev/null
@@ -1,363 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<grit-part>
-  <message name="IDS_DEVTOOLS_04efed137e5da6d8b456e83d87915f16" desc="Tooltip text that appears when hovering over the 'Focusable' attribute name under the Computed Properties section in the Accessibility pane of the Elements pane">
-    If true, this element can receive focus.
-  </message>
-  <message name="IDS_DEVTOOLS_05a2ce9620a5