merge mozilla-inbound to mozilla-central a=merge
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Thu, 23 Feb 2017 14:59:37 +0100
changeset 373499 c02dd6a7e9c193b488271eb53e3ea039042c9ed6
parent 373420 27dade5e0c8350189eeb6495d70a9fb25ce137a9 (current diff)
parent 373498 5f9faa310d3fdc464fd749a3f6d3b473baf1f5f4 (diff)
child 373500 6def2d37075a39fb325f88d7e25b6be3b32c99d0
child 373509 2fcef8b1c4374728d95c3d72cf6e4fba76d69169
child 373525 4ffa890ec8ada2fdd64f9e92ddc33d75c620516e
child 373619 c20304c7dd0bc18f307d578969e8722900604541
push id10863
push userjlorenzo@mozilla.com
push dateMon, 06 Mar 2017 23:02:23 +0000
treeherdermozilla-aurora@0931190cd725 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone54.0a1
merge mozilla-inbound to mozilla-central a=merge
gfx/tests/gtest/TestTiledLayerBuffer.cpp
gfx/tests/gtest/gfxFontSelectionTest.cpp
gfx/tests/gtest/gfxFontSelectionTests.h
gfx/tests/gtest/gfxTextRunPerfTest.cpp
gfx/tests/gtest/per-word-runs.h
gfx/thebes/gfxFontTest.cpp
gfx/thebes/gfxFontTest.h
mobile/android/base/java/org/mozilla/gecko/media/CodecProxy.java
tools/profiler/public/ProfileGatherer.h
--- a/accessible/generic/Accessible.cpp
+++ b/accessible/generic/Accessible.cpp
@@ -2158,22 +2158,23 @@ Accessible::RemoveChild(Accessible* aChi
   }
 
   return true;
 }
 
 void
 Accessible::MoveChild(uint32_t aNewIndex, Accessible* aChild)
 {
-  MOZ_ASSERT(aChild, "No child was given");
-  MOZ_ASSERT(aChild->mParent == this, "A child from different subtree was given");
-  MOZ_ASSERT(aChild->mIndexInParent != -1, "Unbound child was given");
-  MOZ_ASSERT(static_cast<uint32_t>(aChild->mIndexInParent) != aNewIndex,
+  MOZ_DIAGNOSTIC_ASSERT(aChild, "No child was given");
+  MOZ_DIAGNOSTIC_ASSERT(aChild->mParent == this, "A child from different subtree was given");
+  MOZ_DIAGNOSTIC_ASSERT(aChild->mIndexInParent != -1, "Unbound child was given");
+  MOZ_DIAGNOSTIC_ASSERT(aChild->mParent->GetChildAt(aChild->mIndexInParent) == aChild, "Wrong index in parent");
+  MOZ_DIAGNOSTIC_ASSERT(static_cast<uint32_t>(aChild->mIndexInParent) != aNewIndex,
              "No move, same index");
-  MOZ_ASSERT(aNewIndex <= mChildren.Length(), "Wrong new index was given");
+  MOZ_DIAGNOSTIC_ASSERT(aNewIndex <= mChildren.Length(), "Wrong new index was given");
 
   RefPtr<AccHideEvent> hideEvent = new AccHideEvent(aChild, false);
   if (mDoc->Controller()->QueueMutationEvent(hideEvent)) {
     aChild->SetHideEventTarget(true);
   }
 
   mEmbeddedObjCollector = nullptr;
   mChildren.RemoveElementAt(aChild->mIndexInParent);
--- a/browser/app/nsBrowserApp.cpp
+++ b/browser/app/nsBrowserApp.cpp
@@ -212,23 +212,26 @@ static int do_main(int argc, char* argv[
     // no -app flag so we use the compiled-in app data
     config.appData = &sAppData;
     config.appDataPath = kDesktopFolder;
   }
 
 #if defined(XP_WIN) && defined(MOZ_SANDBOX)
   sandbox::BrokerServices* brokerServices =
     sandboxing::GetInitializedBrokerServices();
+  sandboxing::PermissionsService* permissionsService =
+    sandboxing::GetPermissionsService();
 #if defined(MOZ_CONTENT_SANDBOX)
   if (!brokerServices) {
     Output("Couldn't initialize the broker services.\n");
     return 255;
   }
 #endif
   config.sandboxBrokerServices = brokerServices;
+  config.sandboxPermissionsService = permissionsService;
 #endif
 
 #ifdef LIBFUZZER
   if (getenv("LIBFUZZER"))
     gBootstrap->XRE_LibFuzzerSetDriver(fuzzer::FuzzerDriver);
 #endif
 
   return gBootstrap->XRE_main(argc, argv, config);
--- a/browser/base/content/test/referrer/head.js
+++ b/browser/base/content/test/referrer/head.js
@@ -137,17 +137,17 @@ function delayedStartupFinished(aWindow)
  * Waits for some (any) tab to load. The caller triggers the load.
  * @param aWindow The window where to wait for a tab to load.
  * @return {Promise}
  * @resolves With the tab once it's loaded.
  */
 function someTabLoaded(aWindow) {
   return new Promise(function(resolve) {
     aWindow.gBrowser.addEventListener("load", function onLoad(aEvent) {
-      if (aWindow.location === "about:blank") {
+      if (aWindow.location.href === "about:blank") {
         return;
       }
       let tab = aWindow.gBrowser._getTabForContentWindow(
           aEvent.target.defaultView.top);
       if (tab) {
         aWindow.gBrowser.removeEventListener("load", onLoad, true);
         resolve(tab);
       }
--- a/browser/confvars.sh
+++ b/browser/confvars.sh
@@ -50,17 +50,16 @@ MOZ_OFFICIAL_BRANDING_DIRECTORY=browser/
 MOZ_APP_ID={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
 # This should usually be the same as the value MAR_CHANNEL_ID.
 # If more than one ID is needed, then you should use a comma separated list
 # of values.
 ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-central
 # The MAR_CHANNEL_ID must not contain the following 3 characters: ",\t "
 MAR_CHANNEL_ID=firefox-mozilla-central
 MOZ_PROFILE_MIGRATOR=1
-MOZ_WEBGL_CONFORMANT=1
 MOZ_JSDOWNLOADS=1
 MOZ_RUST_MP4PARSE=1
 
 # Enable checking that add-ons are signed by the trusted root
 MOZ_ADDON_SIGNING=1
 
 # Include the DevTools client, not just the server (which is the default)
 MOZ_DEVTOOLS=all
--- a/devtools/client/inspector/inspector.js
+++ b/devtools/client/inspector/inspector.js
@@ -1285,33 +1285,33 @@ Inspector.prototype = {
       label: INSPECTOR_L10N.getStr("inspectorAddAttribute.label"),
       accesskey: INSPECTOR_L10N.getStr("inspectorAddAttribute.accesskey"),
       disabled: !isEditableElement,
       click: () => this.onAddAttribute(),
     }));
     attributesSubmenu.append(new MenuItem({
       id: "node-menu-copy-attribute",
       label: INSPECTOR_L10N.getFormatStr("inspectorCopyAttributeValue.label",
-                                        isAttributeClicked ? `"${nodeInfo.value}"` : ""),
+                                        isAttributeClicked ? `${nodeInfo.value}` : ""),
       accesskey: INSPECTOR_L10N.getStr("inspectorCopyAttributeValue.accesskey"),
       disabled: !isAttributeClicked,
       click: () => this.onCopyAttributeValue(),
     }));
     attributesSubmenu.append(new MenuItem({
       id: "node-menu-edit-attribute",
       label: INSPECTOR_L10N.getFormatStr("inspectorEditAttribute.label",
-                                        isAttributeClicked ? `"${nodeInfo.name}"` : ""),
+                                        isAttributeClicked ? `${nodeInfo.name}` : ""),
       accesskey: INSPECTOR_L10N.getStr("inspectorEditAttribute.accesskey"),
       disabled: !isAttributeClicked,
       click: () => this.onEditAttribute(),
     }));
     attributesSubmenu.append(new MenuItem({
       id: "node-menu-remove-attribute",
       label: INSPECTOR_L10N.getFormatStr("inspectorRemoveAttribute.label",
-                                        isAttributeClicked ? `"${nodeInfo.name}"` : ""),
+                                        isAttributeClicked ? `${nodeInfo.name}` : ""),
       accesskey: INSPECTOR_L10N.getStr("inspectorRemoveAttribute.accesskey"),
       disabled: !isAttributeClicked,
       click: () => this.onRemoveAttribute(),
     }));
 
     return attributesSubmenu;
   },
 
--- a/devtools/client/inspector/layout/components/Accordion.css
+++ b/devtools/client/inspector/layout/components/Accordion.css
@@ -19,17 +19,17 @@
   font-size: 11px;
   padding: 5px;
   transition: all 0.25s ease;
   width: 100%;
   -moz-user-select: none;
 }
 
 .accordion ._header:hover {
-  background-color: var(--theme-selection-color);
+  background-color: var(--theme-toolbar-hover);
 }
 
 .accordion ._header:hover svg {
   fill: var(--theme-comment-alt);
 }
 
 .accordion ._content {
   border-bottom: 1px solid var(--theme-splitter-color);
--- a/devtools/client/inspector/layout/layout.js
+++ b/devtools/client/inspector/layout/layout.js
@@ -62,21 +62,16 @@ function LayoutView(inspector, window) {
   this.updateBoxModel = this.updateBoxModel.bind(this);
 
   this.onGridLayoutChange = this.onGridLayoutChange.bind(this);
   this.onHighlighterChange = this.onHighlighterChange.bind(this);
   this.onNewSelection = this.onNewSelection.bind(this);
   this.onSidebarSelect = this.onSidebarSelect.bind(this);
 
   this.init();
-
-  this.highlighters.on("grid-highlighter-hidden", this.onHighlighterChange);
-  this.highlighters.on("grid-highlighter-shown", this.onHighlighterChange);
-  this.inspector.selection.on("new-node-front", this.onNewSelection);
-  this.inspector.sidebar.on("select", this.onSidebarSelect);
 }
 
 LayoutView.prototype = {
 
   /**
    * Initializes the layout view by fetching the LayoutFront from the walker, creating
    * the redux store and adding the view into the inspector sidebar.
    */
@@ -84,16 +79,21 @@ LayoutView.prototype = {
     if (!this.inspector) {
       return;
     }
 
     this.layoutInspector = yield this.inspector.walker.getLayoutInspector();
 
     this.loadHighlighterSettings();
 
+    this.highlighters.on("grid-highlighter-hidden", this.onHighlighterChange);
+    this.highlighters.on("grid-highlighter-shown", this.onHighlighterChange);
+    this.inspector.selection.on("new-node-front", this.onNewSelection);
+    this.inspector.sidebar.on("select", this.onSidebarSelect);
+
     // Create a shared SwatchColorPicker instance to be reused by all GridItem components.
     this.swatchColorPickerTooltip = new SwatchColorPickerTooltip(
       this.inspector.toolbox.doc,
       this.inspector,
       {
         supportsCssColor4ColorFunction: () => false
       }
     );
--- a/devtools/client/locales/en-US/inspector.properties
+++ b/devtools/client/locales/en-US/inspector.properties
@@ -102,31 +102,31 @@ inspector.menu.copyUrlToClipboard.label=
 # element in the DOM (like with <label for="input-id">), and that allows to
 # select that element in the inspector.
 inspector.menu.selectElement.label=Select Element #%S
 
 # LOCALIZATION NOTE (inspectorEditAttribute.label): This is the label of a
 # sub-menu "Attribute" in the inspector contextual-menu that appears
 # when the user right-clicks on the node in the inspector, and that allows
 # to edit an attribute on this node.
-inspectorEditAttribute.label=Edit Attribute %S
+inspectorEditAttribute.label=Edit Attribute “%S”
 inspectorEditAttribute.accesskey=E
 
 # LOCALIZATION NOTE (inspectorRemoveAttribute.label): This is the label of a
 # sub-menu "Attribute" in the inspector contextual-menu that appears
 # when the user right-clicks on the attribute of a node in the inspector,
 # and that allows to remove this attribute.
-inspectorRemoveAttribute.label=Remove Attribute %S
+inspectorRemoveAttribute.label=Remove Attribute “%S”
 inspectorRemoveAttribute.accesskey=R
 
 # LOCALIZATION NOTE (inspectorCopyAttributeValue.label): This is the label of a
 # sub-menu "Attribute" in the inspector contextual-menu that appears
 # when the user right-clicks on the attribute of a node in the inspector,
 # and that allows to copy the attribute value to clipboard.
-inspectorCopyAttributeValue.label=Copy Attribute Value %S
+inspectorCopyAttributeValue.label=Copy Attribute Value “%S”
 inspectorCopyAttributeValue.accesskey=V
 
 # LOCALIZATION NOTE (inspector.nodePreview.selectNodeLabel):
 # This string is displayed in a tooltip that is shown when hovering over a DOM
 # node preview (e.g. something like "div#foo.bar").
 # DOM node previews can be displayed in places like the animation-inspector, the
 # console or the object inspector.
 # The tooltip invites the user to click on the node in order to select it in the
--- a/devtools/client/responsive.html/index.css
+++ b/devtools/client/responsive.html/index.css
@@ -16,17 +16,17 @@
   --viewport-selection-arrow-hovered:
     url("./images/select-arrow.svg#light-hovered");
   --viewport-selection-arrow-selected:
     url("./images/select-arrow.svg#light-selected");
 }
 
 .theme-dark {
   --rdm-box-shadow: 0 4px 4px 0 rgba(105, 105, 105, 0.26);
-  --submit-button-active-background-color: var(--toolbar-tab-hover-active);
+  --submit-button-active-background-color: var(--theme-toolbar-hover-active);
   --submit-button-active-color: var(--theme-selection-color);
   --viewport-color: #c6ccd0;
   --viewport-hover-color: #dde1e4;
   --viewport-active-color: #fcfcfc;
   --viewport-selection-arrow: url("./images/select-arrow.svg#dark");
   --viewport-selection-arrow-hovered:
     url("./images/select-arrow.svg#dark-hovered");
   --viewport-selection-arrow-selected:
@@ -531,17 +531,17 @@ select > option.divider {
   color: var(--theme-body-color);
   width: 100%;
   height: 20px;
   position: absolute;
   bottom: 0;
 }
 
 #device-submit-button:hover {
-  background-color: var(--toolbar-tab-hover);
+  background-color: var(--theme-toolbar-hover);
 }
 
 #device-submit-button:hover:active {
   background-color: var(--submit-button-active-background-color);
   color: var(--submit-button-active-color);
 }
 
 /**
--- a/devtools/client/shared/components/tabs/tabs.css
+++ b/devtools/client/shared/components/tabs/tabs.css
@@ -90,22 +90,22 @@
 .theme-dark .tabs .tabs-menu-item a,
 .theme-light .tabs .tabs-menu-item a {
   color: inherit;
   padding: 3px 15px;
 }
 
 .theme-dark .tabs .tabs-menu-item:hover:not(.is-active),
 .theme-light .tabs .tabs-menu-item:hover:not(.is-active) {
-  background-color: var(--toolbar-tab-hover);
+  background-color: var(--theme-toolbar-hover);
 }
 
 .theme-dark .tabs .tabs-menu-item:hover:active:not(.is-active),
 .theme-light .tabs .tabs-menu-item:hover:active:not(.is-active) {
-  background-color: var(--toolbar-tab-hover-active);
+  background-color: var(--theme-toolbar-hover-active);
 }
 
 .theme-dark .tabs .tabs-menu-item.is-active,
 .theme-light .tabs .tabs-menu-item.is-active {
   background-color: var(--theme-selection-background);
   color: var(--theme-selection-color);
 }
 
@@ -160,17 +160,17 @@
 .theme-firebug .tabs .tabs-menu-item.is-active a {
   background-color: var(--theme-toolbar-tab-selected-background);
   border: 1px solid var(--theme-splitter-color);
   border-bottom-color: transparent;
   color: var(--theme-body-color);
 }
 
 .theme-firebug .tabs .tabs-menu-item:hover:active a {
-  background-color: var(--toolbar-tab-hover-active);
+  background-color: var(--theme-toolbar-hover-active);
 }
 
 .theme-firebug .tabs .tabs-menu-item.is-active:hover:active a {
   background-color: var(--theme-selection-background);
   color: var(--theme-selection-color);
 }
 
 .theme-firebug .tabs .tabs-menu-item a {
--- a/devtools/client/themes/toolbars.css
+++ b/devtools/client/themes/toolbars.css
@@ -1,31 +1,27 @@
 /* vim:set ts=2 sw=2 sts=2 et: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /* CSS Variables specific to the devtools toolbar that aren't defined by the themes */
 .theme-light {
-  --toolbar-tab-hover: rgba(170, 170, 170, .2);
-  --toolbar-tab-hover-active: rgba(170, 170, 170, .4);
   --searchbox-background-color: #ffee99;
   --searchbox-border-color: #ffbf00;
   --searcbox-no-match-background-color: #ffe5e5;
   --searcbox-no-match-border-color: #e52e2e;
   --magnifying-glass-image: url(chrome://devtools/skin/images/search.svg);
   --filter-image: url(chrome://devtools/skin/images/filter.svg);
   --tool-options-image: url(chrome://devtools/skin/images/tool-options.svg);
   --icon-filter: none;
   --checked-icon-filter: url(chrome://devtools/skin/images/filters.svg#checked-icon-state);
 }
 
 .theme-dark {
-  --toolbar-tab-hover: rgba(110,120,130,0.1);
-  --toolbar-tab-hover-active: rgba(110,120,130,0.2);
   --searchbox-background-color: #4d4222;
   --searchbox-border-color: #d99f2b;
   --searcbox-no-match-background-color: #402325;
   --searcbox-no-match-border-color: #cc3d3d;
   --magnifying-glass-image: url(chrome://devtools/skin/images/search.svg);
   --filter-image: url(chrome://devtools/skin/images/filter.svg);
   --tool-options-image: url(chrome://devtools/skin/images/tool-options.svg);
   --icon-filter: invert(1);
--- a/devtools/client/themes/toolbox.css
+++ b/devtools/client/themes/toolbox.css
@@ -129,25 +129,25 @@
   border-color: var(--theme-splitter-color);
 }
 
 .theme-dark .devtools-tab:hover {
   color: #ced3d9;
 }
 
 .devtools-tab:hover {
-  background-color: var(--toolbar-tab-hover);
+  background-color: var(--theme-toolbar-hover);
 }
 
 .theme-dark .devtools-tab:hover:active {
   color: var(--theme-selection-color);
 }
 
 .devtools-tab:hover:active {
-  background-color: var(--toolbar-tab-hover-active);
+  background-color: var(--theme-toolbar-hover-active);
 }
 
 .theme-dark .devtools-tab:not(.selected).highlighted {
   background-color: hsla(99, 100%, 14%, .3);
 }
 
 .theme-light .devtools-tab:not(.selected).highlighted {
   background-color: rgba(44, 187, 15, .2);
--- a/devtools/client/themes/variables.css
+++ b/devtools/client/themes/variables.css
@@ -16,16 +16,18 @@
 
 :root.theme-light {
   --theme-body-background: white;
   --theme-sidebar-background: white;
   --theme-contrast-background: #e6b064;
 
   --theme-tab-toolbar-background: #fcfcfc;
   --theme-toolbar-background: #fcfcfc;
+  --theme-toolbar-hover: rgba(170, 170, 170, .2);
+  --theme-toolbar-hover-active: rgba(170, 170, 170, .4);
   --theme-selection-background: #4c9ed9;
   --theme-selection-background-semitransparent: rgba(76, 158, 217, 0.15);
   --theme-selection-color: #f5f7fa;
   --theme-splitter-color: #dde1e4;
   --theme-comment: #696969;
 
   --theme-body-color: #393f4c;
   --theme-body-color-alt: #585959;
@@ -76,16 +78,18 @@
 
 :root.theme-dark {
   --theme-body-background: #393f4c;
   --theme-sidebar-background: #393f4c;
   --theme-contrast-background: #ffb35b;
 
   --theme-tab-toolbar-background: #272b35;
   --theme-toolbar-background: #272b35;
+  --theme-toolbar-hover: rgba(110, 120, 130, 0.1);
+  --theme-toolbar-hover-active: rgba(110, 120, 130, 0.2);
   --theme-selection-background: #5675B9;
   --theme-selection-background-semitransparent: rgba(86, 117, 185, 0.5);
   --theme-selection-color: #f5f7fa;
   --theme-splitter-color: #454d5d;
   --theme-comment: #757873;
 
   --theme-body-color: #8fa1b2;
   --theme-body-color-alt: #b6babf;
--- a/dom/bindings/UnionMember.h
+++ b/dom/bindings/UnionMember.h
@@ -16,17 +16,24 @@ namespace dom {
 
 // The union type has an enum to keep track of which of its UnionMembers has
 // been constructed.
 template<class T>
 class UnionMember
 {
   AlignedStorage2<T> mStorage;
 
+  // Copy construction can't be supported because C++ requires that any enclosed
+  // T be initialized in a way C++ knows about -- that is, by |new| or similar.
+  UnionMember(const UnionMember&) = delete;
+
 public:
+  UnionMember() = default;
+  ~UnionMember() = default;
+
   T& SetValue()
   {
     new (mStorage.addr()) T();
     return *mStorage.addr();
   }
   template <typename T1>
   T& SetValue(const T1& aValue)
   {
--- a/dom/canvas/CanvasUtils.cpp
+++ b/dom/canvas/CanvasUtils.cpp
@@ -31,32 +31,23 @@ namespace CanvasUtils {
 bool
 GetCanvasContextType(const nsAString& str, dom::CanvasContextType* const out_type)
 {
   if (str.EqualsLiteral("2d")) {
     *out_type = dom::CanvasContextType::Canvas2D;
     return true;
   }
 
-  if (str.EqualsLiteral("experimental-webgl")) {
+  if (str.EqualsLiteral("webgl") ||
+      str.EqualsLiteral("experimental-webgl"))
+  {
     *out_type = dom::CanvasContextType::WebGL1;
     return true;
   }
 
-#ifdef MOZ_WEBGL_CONFORMANT
-  if (str.EqualsLiteral("webgl")) {
-    /* WebGL 1.0, $2.1 "Context Creation":
-     *   If the user agent supports both the webgl and experimental-webgl
-     *   canvas context types, they shall be treated as aliases.
-     */
-    *out_type = dom::CanvasContextType::WebGL1;
-    return true;
-  }
-#endif
-
   if (WebGL2Context::IsSupported()) {
     if (str.EqualsLiteral("webgl2")) {
       *out_type = dom::CanvasContextType::WebGL2;
       return true;
     }
   }
 
   if (str.EqualsLiteral("bitmaprenderer")) {
--- a/dom/file/File.cpp
+++ b/dom/file/File.cpp
@@ -8,16 +8,17 @@
 #include "FileBlobImpl.h"
 #include "MemoryBlobImpl.h"
 #include "MultipartBlobImpl.h"
 #include "mozilla/dom/BlobBinding.h"
 #include "mozilla/dom/FileBinding.h"
 #include "mozilla/dom/FileCreatorHelper.h"
 #include "mozilla/dom/FileSystemUtils.h"
 #include "mozilla/dom/Promise.h"
+#include "nsXULAppAPI.h"
 
 namespace mozilla {
 namespace dom {
 
 File::File(nsISupports* aParent, BlobImpl* aImpl)
   : Blob(aParent, aImpl)
 {
   MOZ_ASSERT(aImpl->IsFile());
@@ -55,24 +56,26 @@ File::CreateMemoryFile(nsISupports* aPar
     new MemoryBlobImpl(aMemoryBuffer, aLength, aName,
                        aContentType, aLastModifiedDate));
   return file.forget();
 }
 
 /* static */ already_AddRefed<File>
 File::CreateFromFile(nsISupports* aParent, nsIFile* aFile)
 {
+  MOZ_DIAGNOSTIC_ASSERT(XRE_IsParentProcess());
   RefPtr<File> file = new File(aParent, new FileBlobImpl(aFile));
   return file.forget();
 }
 
 /* static */ already_AddRefed<File>
 File::CreateFromFile(nsISupports* aParent, nsIFile* aFile,
                      const nsAString& aName, const nsAString& aContentType)
 {
+  MOZ_DIAGNOSTIC_ASSERT(XRE_IsParentProcess());
   RefPtr<File> file = new File(aParent,
     new FileBlobImpl(aFile, aName, aContentType));
   return file.forget();
 }
 
 JSObject*
 File::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
 {
@@ -161,18 +164,16 @@ File::Constructor(const GlobalObject& aG
 
 /* static */ already_AddRefed<Promise>
 File::CreateFromNsIFile(const GlobalObject& aGlobal,
                         nsIFile* aData,
                         const ChromeFilePropertyBag& aBag,
                         SystemCallerGuarantee aGuarantee,
                         ErrorResult& aRv)
 {
-  MOZ_ASSERT(NS_IsMainThread());
-
   nsCOMPtr<nsIGlobalObject> global = do_QueryInterface(aGlobal.GetAsSupports());
 
   RefPtr<Promise> promise =
     FileCreatorHelper::CreateFile(global, aData, aBag, true, aRv);
   return promise.forget();
 }
 
 /* static */ already_AddRefed<Promise>
--- a/dom/file/FileBlobImpl.cpp
+++ b/dom/file/FileBlobImpl.cpp
@@ -23,62 +23,67 @@ using namespace workers;
 NS_IMPL_ISUPPORTS_INHERITED0(FileBlobImpl, BlobImpl)
 
 FileBlobImpl::FileBlobImpl(nsIFile* aFile)
   : BaseBlobImpl(EmptyString(), EmptyString(), UINT64_MAX, INT64_MAX)
   , mFile(aFile)
   , mWholeFile(true)
 {
   MOZ_ASSERT(mFile, "must have file");
+  MOZ_ASSERT(XRE_IsParentProcess());
   // Lazily get the content type and size
   mContentType.SetIsVoid(true);
   mFile->GetLeafName(mName);
 }
 
 FileBlobImpl::FileBlobImpl(const nsAString& aName,
                            const nsAString& aContentType,
                            uint64_t aLength, nsIFile* aFile)
   : BaseBlobImpl(aName, aContentType, aLength, UINT64_MAX)
   , mFile(aFile)
   , mWholeFile(true)
 {
   MOZ_ASSERT(mFile, "must have file");
+  MOZ_ASSERT(XRE_IsParentProcess());
 }
 
 FileBlobImpl::FileBlobImpl(const nsAString& aName,
                            const nsAString& aContentType,
                            uint64_t aLength, nsIFile* aFile,
                            int64_t aLastModificationDate)
   : BaseBlobImpl(aName, aContentType, aLength, aLastModificationDate)
   , mFile(aFile)
   , mWholeFile(true)
 {
   MOZ_ASSERT(mFile, "must have file");
+  MOZ_ASSERT(XRE_IsParentProcess());
 }
 
 FileBlobImpl::FileBlobImpl(nsIFile* aFile, const nsAString& aName,
                            const nsAString& aContentType)
   : BaseBlobImpl(aName, aContentType, UINT64_MAX, INT64_MAX)
   , mFile(aFile)
   , mWholeFile(true)
 {
   MOZ_ASSERT(mFile, "must have file");
+  MOZ_ASSERT(XRE_IsParentProcess());
   if (aContentType.IsEmpty()) {
     // Lazily get the content type and size
     mContentType.SetIsVoid(true);
   }
 }
 
 FileBlobImpl::FileBlobImpl(const FileBlobImpl* aOther, uint64_t aStart,
                            uint64_t aLength, const nsAString& aContentType)
   : BaseBlobImpl(aContentType, aOther->mStart + aStart, aLength)
   , mFile(aOther->mFile)
   , mWholeFile(false)
 {
   MOZ_ASSERT(mFile, "must have file");
+  MOZ_ASSERT(XRE_IsParentProcess());
   mImmutable = aOther->mImmutable;
 }
 
 already_AddRefed<BlobImpl>
 FileBlobImpl::CreateSlice(uint64_t aStart, uint64_t aLength,
                           const nsAString& aContentType,
                           ErrorResult& aRv)
 {
--- a/dom/file/FileCreatorHelper.cpp
+++ b/dom/file/FileCreatorHelper.cpp
@@ -26,17 +26,17 @@ namespace dom {
 
 /* static */ already_AddRefed<Promise>
 FileCreatorHelper::CreateFile(nsIGlobalObject* aGlobalObject,
                               nsIFile* aFile,
                               const ChromeFilePropertyBag& aBag,
                               bool aIsFromNsIFile,
                               ErrorResult& aRv)
 {
-  MOZ_ASSERT(NS_IsMainThread());
+  MOZ_DIAGNOSTIC_ASSERT(NS_IsMainThread());
 
   RefPtr<Promise> promise = Promise::Create(aGlobalObject, aRv);
   if (NS_WARN_IF(aRv.Failed())) {
     return nullptr;
   }
 
   nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(aGlobalObject);
 
--- a/dom/file/tests/fileutils.js
+++ b/dom/file/tests/fileutils.js
@@ -1,14 +1,13 @@
 // Utility functions
 var testRanCounter = 0;
 var expectedTestCount = 0;
 
 function testHasRun() {
- //alert(testRanCounter);
  ++testRanCounter;
  if (testRanCounter == expectedTestCount) {
     SimpleTest.finish();
   }
 }
 
 
 function testFile(file, contents, test) {
@@ -113,24 +112,16 @@ function getXHRLoadHandler(expectedResul
 function convertXHRBinary(s) {
   var res = "";
   for (var i = 0; i < s.length; ++i) {
     res += String.fromCharCode(s.charCodeAt(i) & 255);
   }
   return res;
 }
 
-function testHasRun() {
- //alert(testRanCounter);
- ++testRanCounter;
- if (testRanCounter == expectedTestCount) {
-    SimpleTest.finish();
-  }
-}
-
 function gc() {
   window.QueryInterface(SpecialPowers.Ci.nsIInterfaceRequestor)
         .getInterface(SpecialPowers.Ci.nsIDOMWindowUtils)
         .garbageCollect();
 }
 
 function checkMPSubmission(sub, expected) {
   function getPropCount(o) {
--- a/dom/ipc/ContentParent.cpp
+++ b/dom/ipc/ContentParent.cpp
@@ -83,19 +83,17 @@
 #include "mozilla/LookAndFeel.h"
 #include "mozilla/media/MediaParent.h"
 #include "mozilla/Move.h"
 #include "mozilla/net/NeckoParent.h"
 #include "mozilla/plugins/PluginBridge.h"
 #include "mozilla/Preferences.h"
 #include "mozilla/ProcessHangMonitor.h"
 #include "mozilla/ProcessHangMonitorIPC.h"
-#ifdef MOZ_GECKO_PROFILER
-#include "mozilla/ProfileGatherer.h"
-#endif
+#include "GeckoProfiler.h"
 #include "mozilla/ScopeExit.h"
 #include "mozilla/Services.h"
 #include "mozilla/StaticPtr.h"
 #include "mozilla/Telemetry.h"
 #include "mozilla/TelemetryIPC.h"
 #include "mozilla/WebBrowserPersistDocumentParent.h"
 #include "mozilla/Unused.h"
 #include "nsAnonymousTemporaryFile.h"
@@ -262,19 +260,16 @@ static NS_DEFINE_CID(kCClipboardCID, NS_
 
 #if defined(XP_WIN)
 // e10s forced enable pref, defined in nsAppRunner.cpp
 extern const char* kForceEnableE10sPref;
 #endif
 
 using base::ChildPrivileges;
 using base::KillProcess;
-#ifdef MOZ_GECKO_PROFILER
-using mozilla::ProfileGatherer;
-#endif
 
 #ifdef MOZ_CRASHREPORTER
 using namespace CrashReporter;
 #endif
 using namespace mozilla::dom::devicestorage;
 using namespace mozilla::dom::power;
 using namespace mozilla::media;
 using namespace mozilla::embedding;
@@ -1196,20 +1191,17 @@ ContentParent::Init()
   DebugOnly<nsresult> rv = profiler->IsActive(&profilerActive);
   MOZ_ASSERT(NS_SUCCEEDED(rv));
 
   if (profilerActive) {
     nsCOMPtr<nsIProfilerStartParams> currentProfilerParams;
     rv = profiler->GetStartParams(getter_AddRefs(currentProfilerParams));
     MOZ_ASSERT(NS_SUCCEEDED(rv));
 
-    nsCOMPtr<nsISupports> gatherer;
-    rv = profiler->GetProfileGatherer(getter_AddRefs(gatherer));
-    MOZ_ASSERT(NS_SUCCEEDED(rv));
-    mGatherer = static_cast<ProfileGatherer*>(gatherer.get());
+    mIsProfilerActive = true;
 
     StartProfiler(currentProfilerParams);
   }
 #endif
 
   RefPtr<GeckoMediaPluginServiceParent> gmps(GeckoMediaPluginServiceParent::GetSingleton());
   gmps->UpdateContentProcessGMPCapabilities();
 }
@@ -1584,18 +1576,18 @@ ContentParent::ActorDestroy(ActorDestroy
     gpu->RemoveListener(this);
   }
 
   RecvRemoveGeolocationListener();
 
   mConsoleService = nullptr;
 
 #ifdef MOZ_GECKO_PROFILER
-  if (mGatherer && !mProfile.IsEmpty()) {
-    mGatherer->OOPExitProfile(mProfile);
+  if (mIsProfilerActive && !mProfile.IsEmpty()) {
+    profiler_OOP_exit_profile(mProfile);
   }
 #endif
 
   if (obs) {
     RefPtr<nsHashPropertyBag> props = new nsHashPropertyBag();
 
     props->SetPropertyAsUint64(NS_LITERAL_STRING("childID"), mChildID);
 
@@ -1823,34 +1815,16 @@ ContentParent::DestroyTestShell(TestShel
 
 TestShellParent*
 ContentParent::GetTestShellSingleton()
 {
   PTestShellParent* p = LoneManagedOrNullAsserts(ManagedPTestShellParent());
   return static_cast<TestShellParent*>(p);
 }
 
-void
-ContentParent::InitializeMembers()
-{
-  mSubprocess = nullptr;
-  mChildID = gContentChildID++;
-  mGeolocationWatchID = -1;
-  mNumDestroyingTabs = 0;
-  mIsAvailable = true;
-  mIsAlive = true;
-  mSendPermissionUpdates = false;
-  mCalledClose = false;
-  mCalledKillHard = false;
-  mCreatedPairedMinidumps = false;
-  mShutdownPending = false;
-  mIPCOpen = true;
-  mHangMonitorActor = nullptr;
-}
-
 bool
 ContentParent::LaunchSubprocess(ProcessPriority aInitialPriority /* = PROCESS_PRIORITY_FOREGROUND */)
 {
   PROFILER_LABEL_FUNC(js::ProfileEntry::Category::OTHER);
 
   std::vector<std::string> extraArgs;
   extraArgs.push_back("-childID");
   char idStr[21];
@@ -1929,23 +1903,37 @@ ContentParent::LaunchSubprocess(ProcessP
   }
 
   return true;
 }
 
 ContentParent::ContentParent(ContentParent* aOpener,
                              const nsAString& aRemoteType)
   : nsIContentParent()
+  , mSubprocess(nullptr)
   , mLaunchTS(TimeStamp::Now())
   , mOpener(aOpener)
   , mRemoteType(aRemoteType)
+  , mChildID(gContentChildID++)
+  , mGeolocationWatchID(-1)
+  , mNumDestroyingTabs(0)
+  , mIsAvailable(true)
+  , mIsAlive(true)
+  , mSendPermissionUpdates(false)
   , mIsForBrowser(!mRemoteType.IsEmpty())
-{
-  InitializeMembers();  // Perform common initialization.
-
+  , mCalledClose(false)
+  , mCalledKillHard(false)
+  , mCreatedPairedMinidumps(false)
+  , mShutdownPending(false)
+  , mIPCOpen(true)
+  , mHangMonitorActor(nullptr)
+#ifdef MOZ_GECKO_PROFILER
+  , mIsProfilerActive(false)
+#endif
+{
   // Insert ourselves into the global linked list of ContentParent objects.
   if (!sContentParents) {
     sContentParents = new LinkedList<ContentParent>();
   }
   sContentParents->insertBack(this);
 
   // From this point on, NS_WARNING, NS_ASSERTION, etc. should print out the
   // PID along with the warning.
@@ -2573,18 +2561,18 @@ ContentParent::Observe(nsISupports* aSub
       NS_ProcessNextEvent(nullptr, true);
     }
     NS_ASSERTION(!mSubprocess, "Close should have nulled mSubprocess");
   }
 
 #ifdef MOZ_GECKO_PROFILER
   // Need to do this before the mIsAlive check to avoid missing profiles.
   if (!strcmp(aTopic, "profiler-subprocess-gather")) {
-    if (mGatherer) {
-      mGatherer->WillGatherOOPProfile();
+    if (mIsProfilerActive) {
+      profiler_will_gather_OOP_profile();
       if (mIsAlive && mSubprocess) {
         Unused << SendGatherProfile();
       }
     }
   }
   else if (!strcmp(aTopic, "profiler-subprocess")) {
     nsCOMPtr<nsIProfileSaveEvent> pse = do_QueryInterface(aSubject);
     if (pse) {
@@ -2686,17 +2674,17 @@ ContentParent::Observe(nsISupports* aSub
   }
 #endif
 #ifdef MOZ_GECKO_PROFILER
   else if (!strcmp(aTopic, "profiler-started")) {
     nsCOMPtr<nsIProfilerStartParams> params(do_QueryInterface(aSubject));
     StartProfiler(params);
   }
   else if (!strcmp(aTopic, "profiler-stopped")) {
-    mGatherer = nullptr;
+    mIsProfilerActive = false;
     Unused << SendStopProfiler();
   }
   else if (!strcmp(aTopic, "profiler-paused")) {
     Unused << SendPauseProfiler(true);
   }
   else if (!strcmp(aTopic, "profiler-resumed")) {
     Unused << SendPauseProfiler(false);
   }
@@ -4538,21 +4526,21 @@ ContentParent::RecvCreateWindowInDiffere
 
   return IPC_OK();
 }
 
 mozilla::ipc::IPCResult
 ContentParent::RecvProfile(const nsCString& aProfile)
 {
 #ifdef MOZ_GECKO_PROFILER
-  if (NS_WARN_IF(!mGatherer)) {
+  if (NS_WARN_IF(!mIsProfilerActive)) {
     return IPC_OK();
   }
   mProfile = aProfile;
-  mGatherer->GatheredOOPProfile();
+  profiler_gathered_OOP_profile();
 #endif
   return IPC_OK();
 }
 
 mozilla::ipc::IPCResult
 ContentParent::RecvGetGraphicsDeviceInitData(ContentDeviceData* aOut)
 {
   gfxPlatform::GetPlatform()->BuildContentDeviceData(aOut);
@@ -4674,19 +4662,17 @@ ContentParent::StartProfiler(nsIProfiler
   ipcParams.threadFilters() = aParams->GetThreadFilterNames();
 
   Unused << SendStartProfiler(ipcParams);
 
   nsCOMPtr<nsIProfiler> profiler(do_GetService("@mozilla.org/tools/profiler;1"));
   if (NS_WARN_IF(!profiler)) {
     return;
   }
-  nsCOMPtr<nsISupports> gatherer;
-  profiler->GetProfileGatherer(getter_AddRefs(gatherer));
-  mGatherer = static_cast<ProfileGatherer*>(gatherer.get());
+  mIsProfilerActive = true;
 #endif
 }
 
 mozilla::ipc::IPCResult
 ContentParent::RecvNotifyPushObservers(const nsCString& aScope,
                                        const IPC::Principal& aPrincipal,
                                        const nsString& aMessageId)
 {
--- a/dom/ipc/ContentParent.h
+++ b/dom/ipc/ContentParent.h
@@ -49,19 +49,16 @@ class nsICycleCollectorLogSink;
 class nsIDumpGCAndCCLogsCallback;
 class nsITabParent;
 class nsITimer;
 class ParentIdleListener;
 class nsIWidget;
 
 namespace mozilla {
 class PRemoteSpellcheckEngineParent;
-#ifdef MOZ_GECKO_PROFILER
-class ProfileGatherer;
-#endif
 
 #if defined(XP_LINUX) && defined(MOZ_CONTENT_SANDBOX)
 class SandboxBroker;
 class SandboxBrokerPolicyFactory;
 #endif
 
 class PreallocatedProcessManagerImpl;
 
@@ -670,19 +667,16 @@ private:
                      nsCOMPtr<nsITabParent>& aNewTabParent,
                      bool* aWindowIsNew);
 
   FORWARD_SHMEM_ALLOCATOR_TO(PContentParent)
 
   ContentParent(ContentParent* aOpener,
                 const nsAString& aRemoteType);
 
-  // The common initialization for the constructors.
-  void InitializeMembers();
-
   // Launch the subprocess and associated initialization.
   // Returns false if the process fails to start.
   bool LaunchSubprocess(hal::ProcessPriority aInitialPriority = hal::PROCESS_PRIORITY_FOREGROUND);
 
   // Common initialization after sub process launch or adoption.
   void InitInternal(ProcessPriority aPriority,
                     bool aSetupOffMainThreadCompositing,
                     bool aSendRegisteredChrome);
@@ -1186,17 +1180,17 @@ private:
   // Dup of child's X socket, used to scope its resources to this
   // object instead of the child process's lifetime.
   ScopedClose mChildXSocketFdDup;
 #endif
 
   PProcessHangMonitorParent* mHangMonitorActor;
 
 #ifdef MOZ_GECKO_PROFILER
-  RefPtr<mozilla::ProfileGatherer> mGatherer;
+  bool mIsProfilerActive;
 #endif
   nsCString mProfile;
 
   UniquePtr<gfx::DriverCrashGuard> mDriverCrashGuard;
   UniquePtr<MemoryReportRequestHost> mMemoryReportRequest;
 
 #if defined(XP_LINUX) && defined(MOZ_CONTENT_SANDBOX)
   mozilla::UniquePtr<SandboxBroker> mSandboxBroker;
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -16,24 +16,26 @@
 #include "gfx2DGlue.h"
 
 #include "mediasink/AudioSinkWrapper.h"
 #include "mediasink/DecodedAudioDataSink.h"
 #include "mediasink/DecodedStream.h"
 #include "mediasink/OutputStreamManager.h"
 #include "mediasink/VideoSink.h"
 #include "mozilla/DebugOnly.h"
+#include "mozilla/IndexSequence.h"
 #include "mozilla/Logging.h"
 #include "mozilla/mozalloc.h"
 #include "mozilla/MathAlgorithms.h"
 #include "mozilla/Preferences.h"
 #include "mozilla/SharedThreadPool.h"
 #include "mozilla/SizePrintfMacros.h"
 #include "mozilla/Sprintf.h"
 #include "mozilla/TaskQueue.h"
+#include "mozilla/Tuple.h"
 
 #include "nsComponentManagerUtils.h"
 #include "nsContentUtils.h"
 #include "nsIEventTarget.h"
 #include "nsITimer.h"
 #include "nsPrintfCString.h"
 #include "nsTArray.h"
 #include "nsDeque.h"
@@ -279,37 +281,56 @@ protected:
     // have a waiting promise pending (such as with non-MSE EME).
     return Resource()->IsExpectingMoreData()
            || mMaster->IsWaitingAudioData()
            || mMaster->IsWaitingVideoData();
   }
   MediaQueue<MediaData>& AudioQueue() const { return mMaster->mAudioQueue; }
   MediaQueue<MediaData>& VideoQueue() const { return mMaster->mVideoQueue; }
 
+  template <class S, typename... Args, size_t... Indexes>
+  auto
+  CallEnterMemberFunction(S* aS,
+                          Tuple<Args...>& aTuple,
+                          IndexSequence<Indexes...>)
+    -> decltype(ReturnTypeHelper(&S::Enter))
+  {
+    return aS->Enter(Move(Get<Indexes>(aTuple))...);
+  }
+
   // Note this function will delete the current state object.
   // Don't access members to avoid UAF after this call.
   template <class S, typename... Ts>
-  auto SetState(Ts... aArgs)
+  auto SetState(Ts&&... aArgs)
     -> decltype(ReturnTypeHelper(&S::Enter))
   {
+    // |aArgs| must be passed by reference to avoid passing MOZ_NON_PARAM class
+    // SeekJob by value.  See bug 1287006 and bug 1338374.  But we still *must*
+    // copy the parameters, because |Exit()| can modify them.  See bug 1312321.
+    // So we 1) pass the parameters by reference, but then 2) immediately copy
+    // them into a Tuple to be safe against modification, and finally 3) move
+    // the elements of the Tuple into the final function call.
+    auto copiedArgs = MakeTuple(Forward<Ts>(aArgs)...);
+
     // keep mMaster in a local object because mMaster will become invalid after
     // the current state object is deleted.
     auto master = mMaster;
 
-    auto s = new S(master);
+    auto* s = new S(master);
 
     MOZ_ASSERT(GetState() != s->GetState()
                || GetState() == DECODER_STATE_SEEKING);
 
     SLOG("change state to: %s", ToStateStr(s->GetState()));
 
     Exit();
 
     master->mStateObj.reset(s);
-    return s->Enter(Move(aArgs)...);
+    return CallEnterMemberFunction(s, copiedArgs,
+                                   typename IndexSequenceFor<Ts...>::Type());
   }
 
   RefPtr<MediaDecoder::SeekPromise>
   SetSeekingState(SeekJob&& aSeekJob, EventVisibility aVisibility);
 
   // Take a raw pointer in order not to change the life cycle of MDSM.
   // It is guaranteed to be valid by MDSM.
   Master* mMaster;
@@ -899,17 +920,17 @@ private:
  *   DECODING otherwise.
  */
 class MediaDecoderStateMachine::SeekingState
   : public MediaDecoderStateMachine::StateObject
 {
 public:
   explicit SeekingState(Master* aPtr) : StateObject(aPtr) { }
 
-  RefPtr<MediaDecoder::SeekPromise> Enter(SeekJob aSeekJob,
+  RefPtr<MediaDecoder::SeekPromise> Enter(SeekJob&& aSeekJob,
                                           EventVisibility aVisibility)
   {
     mSeekJob = Move(aSeekJob);
 
     // Always switch off the blank decoder otherwise we might become visible
     // in the middle of seeking and won't have a valid video frame to show
     // when seek is done.
     if (mMaster->mVideoDecodeSuspended) {
@@ -977,17 +998,17 @@ private:
 class MediaDecoderStateMachine::AccurateSeekingState
   : public MediaDecoderStateMachine::SeekingState
 {
 public:
   explicit AccurateSeekingState(Master* aPtr) : SeekingState(aPtr)
   {
   }
 
-  RefPtr<MediaDecoder::SeekPromise> Enter(SeekJob aSeekJob,
+  RefPtr<MediaDecoder::SeekPromise> Enter(SeekJob&& aSeekJob,
                                           EventVisibility aVisibility)
   {
     MOZ_ASSERT(aSeekJob.mTarget->IsAccurate() || aSeekJob.mTarget->IsFast());
     mCurrentTimeBeforeSeek =
       TimeUnit::FromMicroseconds(mMaster->GetMediaTime());
     return SeekingState::Enter(Move(aSeekJob), aVisibility);
   }
 
@@ -1436,17 +1457,17 @@ DiscardFrames(MediaQueue<MediaData>& aQu
 class MediaDecoderStateMachine::NextFrameSeekingState
   : public MediaDecoderStateMachine::SeekingState
 {
 public:
   explicit NextFrameSeekingState(Master* aPtr) : SeekingState(aPtr)
   {
   }
 
-  RefPtr<MediaDecoder::SeekPromise> Enter(SeekJob aSeekJob,
+  RefPtr<MediaDecoder::SeekPromise> Enter(SeekJob&& aSeekJob,
                                           EventVisibility aVisibility)
   {
     MOZ_ASSERT(aSeekJob.mTarget->IsNextFrame());
     mCurrentTime = mMaster->GetMediaTime();
     mDuration = mMaster->Duration();
     return SeekingState::Enter(Move(aSeekJob), aVisibility);
   }
 
--- a/dom/media/gmp/GMPVideoEncoderParent.cpp
+++ b/dom/media/gmp/GMPVideoEncoderParent.cpp
@@ -252,20 +252,19 @@ GMPVideoEncoderParent::ActorDestroy(Acto
   if (mCallback) {
     // May call Close() (and Shutdown()) immediately or with a delay
     mCallback->Terminated();
     mCallback = nullptr;
   }
   // Must be shut down before VideoEncoderDestroyed(), since this can recurse
   // the GMPThread event loop.  See bug 1049501
   if (mEncodedThread) {
-    // Can't get it to allow me to use WrapRunnable with a nsCOMPtr<nsIThread>()
     NS_DispatchToMainThread(
-      WrapRunnableNM<decltype(&ShutdownEncodedThread),
-                     nsCOMPtr<nsIThread> >(&ShutdownEncodedThread, mEncodedThread));
+      WrapRunnableNM(&ShutdownEncodedThread, nsCOMPtr<nsIThread>(mEncodedThread))
+    );
     mEncodedThread = nullptr;
   }
   if (mPlugin) {
     // Ignore any return code. It is OK for this to fail without killing the process.
     mPlugin->VideoEncoderDestroyed(this);
     mPlugin = nullptr;
   }
   mVideoHost.ActorDestroyed(); // same as DoneWithAPI
--- a/dom/media/gtest/TestMozPromise.cpp
+++ b/dom/media/gtest/TestMozPromise.cpp
@@ -34,17 +34,17 @@ private:
   RefPtr<TaskQueue> mTaskQueue;
 };
 
 class DelayedResolveOrReject : public Runnable
 {
 public:
   DelayedResolveOrReject(TaskQueue* aTaskQueue,
                          TestPromise::Private* aPromise,
-                         TestPromise::ResolveOrRejectValue aValue,
+                         const TestPromise::ResolveOrRejectValue& aValue,
                          int aIterations)
   : mTaskQueue(aTaskQueue)
   , mPromise(aPromise)
   , mValue(aValue)
   , mIterations(aIterations)
   {}
 
   NS_IMETHOD Run() override
--- a/dom/media/mediasource/SourceBuffer.cpp
+++ b/dom/media/mediasource/SourceBuffer.cpp
@@ -420,17 +420,17 @@ SourceBuffer::AppendData(const uint8_t* 
   mTrackBuffersManager->AppendData(data, mCurrentAttributes)
     ->Then(mAbstractMainThread, __func__, this,
            &SourceBuffer::AppendDataCompletedWithSuccess,
            &SourceBuffer::AppendDataErrored)
     ->Track(mPendingAppend);
 }
 
 void
-SourceBuffer::AppendDataCompletedWithSuccess(SourceBufferTask::AppendBufferResult aResult)
+SourceBuffer::AppendDataCompletedWithSuccess(const SourceBufferTask::AppendBufferResult& aResult)
 {
   MOZ_ASSERT(mUpdating);
   mPendingAppend.Complete();
 
   if (aResult.first()) {
     if (!mActive) {
       mActive = true;
       mMediaSource->SourceBufferIsActive(this);
--- a/dom/media/mediasource/SourceBuffer.h
+++ b/dom/media/mediasource/SourceBuffer.h
@@ -159,17 +159,17 @@ private:
   void AppendError(const MediaResult& aDecodeError);
 
   // Implements the "Prepare Append Algorithm". Returns MediaByteBuffer object
   // on success or nullptr (with aRv set) on error.
   already_AddRefed<MediaByteBuffer> PrepareAppend(const uint8_t* aData,
                                                   uint32_t aLength,
                                                   ErrorResult& aRv);
 
-  void AppendDataCompletedWithSuccess(SourceBufferTask::AppendBufferResult aResult);
+  void AppendDataCompletedWithSuccess(const SourceBufferTask::AppendBufferResult& aResult);
   void AppendDataErrored(const MediaResult& aError);
 
   RefPtr<MediaSource> mMediaSource;
   const RefPtr<AbstractThread> mAbstractMainThread;
 
   RefPtr<TrackBuffersManager> mTrackBuffersManager;
   SourceBufferAttributes mCurrentAttributes;
 
--- a/dom/media/webspeech/synth/SpeechSynthesisUtterance.cpp
+++ b/dom/media/webspeech/synth/SpeechSynthesisUtterance.cpp
@@ -153,17 +153,17 @@ void
 SpeechSynthesisUtterance::GetChosenVoiceURI(nsString& aResult) const
 {
   aResult = mChosenVoiceURI;
 }
 
 void
 SpeechSynthesisUtterance::DispatchSpeechSynthesisEvent(const nsAString& aEventType,
                                                        uint32_t aCharIndex,
-                                                       Nullable<uint32_t> aCharLength,
+                                                       const Nullable<uint32_t>& aCharLength,
                                                        float aElapsedTime,
                                                        const nsAString& aName)
 {
   SpeechSynthesisEventInit init;
   init.mBubbles = false;
   init.mCancelable = false;
   init.mUtterance = this;
   init.mCharIndex = aCharIndex;
--- a/dom/media/webspeech/synth/SpeechSynthesisUtterance.h
+++ b/dom/media/webspeech/synth/SpeechSynthesisUtterance.h
@@ -92,17 +92,17 @@ public:
   IMPL_EVENT_HANDLER(mark)
   IMPL_EVENT_HANDLER(boundary)
 
 private:
   virtual ~SpeechSynthesisUtterance();
 
   void DispatchSpeechSynthesisEvent(const nsAString& aEventType,
                                     uint32_t aCharIndex,
-                                    Nullable<uint32_t> aCharLength,
+                                    const Nullable<uint32_t>& aCharLength,
                                     float aElapsedTime, const nsAString& aName);
 
   nsString mText;
 
   nsString mLang;
 
   float mVolume;
 
--- a/dom/plugins/ipc/PPluginModule.ipdl
+++ b/dom/plugins/ipc/PPluginModule.ipdl
@@ -9,16 +9,19 @@ include protocol PContent;
 include ProfilerTypes;
 
 using NPError from "npapi.h";
 using NPNVariable from "npapi.h";
 using mozilla::dom::NativeThreadId from "mozilla/dom/TabMessageUtils.h";
 using class mac_plugin_interposing::NSCursorInfo from "mozilla/plugins/PluginMessageUtils.h";
 using struct nsID from "nsID.h";
 using struct mozilla::plugins::NPAudioDeviceChangeDetailsIPC from "mozilla/plugins/PluginMessageUtils.h";
+using mozilla::plugins::GetFileNameFunc from "mozilla/plugins/PluginMessageUtils.h";
+using mozilla::plugins::OpenFileNameIPC from "mozilla/plugins/PluginMessageUtils.h";
+using mozilla::plugins::OpenFileNameRetIPC from "mozilla/plugins/PluginMessageUtils.h";
 
 namespace mozilla {
 namespace plugins {
 
 struct PluginSettings
 {
   // These settings correspond to NPNVariable. They are fetched from
   // mozilla::plugins::parent::_getvalue.
@@ -158,12 +161,16 @@ parent:
 
   async ReturnSitesWithData(nsCString[] aSites, uint64_t aCallbackId);
 
   intr GetKeyState(int32_t aVirtKey)
     returns (int16_t aState);
 
   intr NPN_SetValue_NPPVpluginRequiresAudioDeviceChanges(bool shouldRegister)
     returns (NPError result);
+
+  // Used to broker the GetOpenFileName/GetSaveFileName file pickers on Windows.
+  intr GetFileName(GetFileNameFunc aFunc, OpenFileNameIPC aOfnIn)
+    returns (OpenFileNameRetIPC aOfnOut, bool aResult);
 };
 
 } // namespace plugins
 } // namespace mozilla
--- a/dom/plugins/ipc/PluginMessageUtils.cpp
+++ b/dom/plugins/ipc/PluginMessageUtils.cpp
@@ -146,10 +146,197 @@ void DeferNPVariantLastRelease(const NPN
   if (!NPVARIANT_IS_OBJECT(*v)) {
     f->releasevariantvalue(v);
     return;
   }
   DeferNPObjectLastRelease(f, v->value.objectValue);
   VOID_TO_NPVARIANT(*v);
 }
 
+#ifdef XP_WIN
+void
+OpenFileNameIPC::CopyFromOfn(LPOPENFILENAMEW aLpofn)
+{
+  mHwndOwner = nullptr;
+
+  // Filter is double-NULL terminated.  mFilter should include the double-NULL.
+  mHasFilter = aLpofn->lpstrFilter != nullptr;
+  if (mHasFilter) {
+    uint32_t dNullIdx = 0;
+    while (aLpofn->lpstrFilter[dNullIdx] != L'\0' ||
+           aLpofn->lpstrFilter[dNullIdx+1] != L'\0') {
+      dNullIdx++;
+    }
+    mFilter.assign(aLpofn->lpstrFilter, dNullIdx+2);
+  }
+  mHasCustomFilter = aLpofn->lpstrCustomFilter != nullptr;
+  if (mHasCustomFilter) {
+    mCustomFilterIn = std::wstring(aLpofn->lpstrCustomFilter);
+    mNMaxCustFilterOut =
+      aLpofn->nMaxCustFilter - (wcslen(aLpofn->lpstrCustomFilter) + 1);
+  }
+  else {
+    mNMaxCustFilterOut = 0;
+  }
+  mFilterIndex = aLpofn->nFilterIndex;
+  mFile = std::wstring(aLpofn->lpstrFile);
+  mNMaxFile = aLpofn->nMaxFile;
+  mNMaxFileTitle =
+    aLpofn->lpstrFileTitle != nullptr ? aLpofn->nMaxFileTitle : 0;
+  mHasInitialDir = aLpofn->lpstrInitialDir != nullptr;
+  if (mHasInitialDir) {
+    mInitialDir = std::wstring(aLpofn->lpstrInitialDir);
+  }
+  mHasTitle = aLpofn->lpstrTitle != nullptr;
+  if (mHasTitle) {
+    mTitle = std::wstring(aLpofn->lpstrTitle);
+  }
+  mHasDefExt = aLpofn->lpstrDefExt != nullptr;
+  if (mHasDefExt) {
+    mDefExt = std::wstring(aLpofn->lpstrDefExt);
+  }
+
+  mFlags = aLpofn->Flags;
+  // If the user sets OFN_ALLOWMULTISELECT then we require OFN_EXPLORER
+  // as well.  Without OFN_EXPLORER, the method has ancient legacy
+  // behavior that we don't support.
+  MOZ_ASSERT((mFlags & OFN_EXPLORER) || !(mFlags & OFN_ALLOWMULTISELECT));
+
+  // We ignore any visual customization and callbacks that the user set.
+  mFlags &= ~(OFN_ENABLEHOOK | OFN_ENABLETEMPLATEHANDLE | OFN_ENABLETEMPLATE);
+
+  mFlagsEx = aLpofn->FlagsEx;
+}
+
+void
+OpenFileNameIPC::AddToOfn(LPOPENFILENAMEW aLpofn) const
+{
+  aLpofn->lStructSize = sizeof(OPENFILENAMEW);
+  aLpofn->hwndOwner = mHwndOwner;
+  if (mHasFilter) {
+    memcpy(const_cast<LPWSTR>(aLpofn->lpstrFilter),
+           mFilter.data(), mFilter.size() * sizeof(wchar_t));
+  }
+  if (mHasCustomFilter) {
+    aLpofn->nMaxCustFilter = mCustomFilterIn.size() + 1 + mNMaxCustFilterOut;
+    wcscpy(aLpofn->lpstrCustomFilter, mCustomFilterIn.c_str());
+    memset(aLpofn->lpstrCustomFilter + mCustomFilterIn.size() + 1, 0,
+           mNMaxCustFilterOut * sizeof(wchar_t));
+  }
+  else {
+    aLpofn->nMaxCustFilter = 0;
+  }
+  aLpofn->nFilterIndex = mFilterIndex;
+  wcscpy(aLpofn->lpstrFile, mFile.c_str());
+  aLpofn->nMaxFile = mNMaxFile;
+  aLpofn->nMaxFileTitle = mNMaxFileTitle;
+  if (mHasInitialDir) {
+    wcscpy(const_cast<LPWSTR>(aLpofn->lpstrInitialDir), mInitialDir.c_str());
+  }
+  if (mHasTitle) {
+    wcscpy(const_cast<LPWSTR>(aLpofn->lpstrTitle), mTitle.c_str());
+  }
+  aLpofn->Flags = mFlags;  /* TODO: Consider adding OFN_NOCHANGEDIR */
+  if (mHasDefExt) {
+    wcscpy(const_cast<LPWSTR>(aLpofn->lpstrDefExt), mDefExt.c_str());
+  }
+  aLpofn->FlagsEx = mFlagsEx;
+}
+
+void
+OpenFileNameIPC::AllocateOfnStrings(LPOPENFILENAMEW aLpofn) const
+{
+  if (mHasFilter) {
+    // mFilter is double-NULL terminated and it includes the double-NULL in its length.
+    aLpofn->lpstrFilter =
+      static_cast<LPCTSTR>(moz_xmalloc(sizeof(wchar_t) * (mFilter.size())));
+  }
+  if (mHasCustomFilter) {
+    aLpofn->lpstrCustomFilter =
+      static_cast<LPTSTR>(moz_xmalloc(sizeof(wchar_t) * (mCustomFilterIn.size() + 1) + mNMaxCustFilterOut));
+  }
+  aLpofn->lpstrFile =
+    static_cast<LPTSTR>(moz_xmalloc(sizeof(wchar_t) * mNMaxFile));
+  if (mNMaxFileTitle > 0) {
+    aLpofn->lpstrFileTitle =
+      static_cast<LPTSTR>(moz_xmalloc(sizeof(wchar_t) * mNMaxFileTitle));
+  }
+  if (mHasInitialDir) {
+    aLpofn->lpstrInitialDir =
+      static_cast<LPCTSTR>(moz_xmalloc(sizeof(wchar_t) * (mInitialDir.size() + 1)));
+  }
+  if (mHasTitle) {
+    aLpofn->lpstrTitle =
+      static_cast<LPCTSTR>(moz_xmalloc(sizeof(wchar_t) * (mTitle.size() + 1)));
+  }
+  if (mHasDefExt) {
+    aLpofn->lpstrDefExt =
+      static_cast<LPCTSTR>(moz_xmalloc(sizeof(wchar_t) * (mDefExt.size() + 1)));
+  }
+}
+
+void
+OpenFileNameIPC::FreeOfnStrings(LPOPENFILENAMEW aLpofn) const
+{
+  if (aLpofn->lpstrFilter) {
+    free(const_cast<LPWSTR>(aLpofn->lpstrFilter));
+  }
+  if (aLpofn->lpstrCustomFilter) {
+    free(aLpofn->lpstrCustomFilter);
+  }
+  if (aLpofn->lpstrFile) {
+    free(aLpofn->lpstrFile);
+  }
+  if (aLpofn->lpstrFileTitle) {
+    free(aLpofn->lpstrFileTitle);
+  }
+  if (aLpofn->lpstrInitialDir) {
+    free(const_cast<LPWSTR>(aLpofn->lpstrInitialDir));
+  }
+  if (aLpofn->lpstrTitle) {
+    free(const_cast<LPWSTR>(aLpofn->lpstrTitle));
+  }
+  if (aLpofn->lpstrDefExt) {
+    free(const_cast<LPWSTR>(aLpofn->lpstrDefExt));
+  }
+}
+
+void
+OpenFileNameRetIPC::CopyFromOfn(LPOPENFILENAMEW aLpofn)
+{
+  if (aLpofn->lpstrCustomFilter != nullptr) {
+    mCustomFilterOut =
+      std::wstring(aLpofn->lpstrCustomFilter + wcslen(aLpofn->lpstrCustomFilter) + 1);
+  }
+  mFile.assign(aLpofn->lpstrFile, aLpofn->nMaxFile);
+  if (aLpofn->lpstrFileTitle != nullptr) {
+    mFileTitle.assign(aLpofn->lpstrFileTitle, wcslen(aLpofn->lpstrFileTitle) + 1);
+  }
+  mFileOffset = aLpofn->nFileOffset;
+  mFileExtension = aLpofn->nFileExtension;
+}
+
+void
+OpenFileNameRetIPC::AddToOfn(LPOPENFILENAMEW aLpofn) const
+{
+  if (aLpofn->lpstrCustomFilter) {
+    LPWSTR secondString =
+      aLpofn->lpstrCustomFilter + wcslen(aLpofn->lpstrCustomFilter) + 1;
+    const wchar_t* customFilterOut = mCustomFilterOut.c_str();
+    MOZ_ASSERT(wcslen(aLpofn->lpstrCustomFilter) + 1 +
+               wcslen(customFilterOut) + 1 + 1 <= aLpofn->nMaxCustFilter);
+    wcscpy(secondString, customFilterOut);
+    secondString[wcslen(customFilterOut) + 1] = L'\0';  // terminated with two NULLs
+  }
+  MOZ_ASSERT(mFile.size() <= aLpofn->nMaxFile);
+  memcpy(aLpofn->lpstrFile,
+         mFile.data(), mFile.size() * sizeof(wchar_t));
+  if (aLpofn->lpstrFileTitle != nullptr) {
+    MOZ_ASSERT(mFileTitle.size() + 1 < aLpofn->nMaxFileTitle);
+    wcscpy(aLpofn->lpstrFileTitle, mFileTitle.c_str());
+  }
+  aLpofn->nFileOffset = mFileOffset;
+  aLpofn->nFileExtension = mFileExtension;
+}
+#endif  // XP_WIN
+
 } // namespace plugins
 } // namespace mozilla
--- a/dom/plugins/ipc/PluginMessageUtils.h
+++ b/dom/plugins/ipc/PluginMessageUtils.h
@@ -27,16 +27,19 @@
 #  include "nsExceptionHandler.h"
 #endif
 #ifdef XP_MACOSX
 #include "PluginInterposeOSX.h"
 #else
 namespace mac_plugin_interposing { class NSCursorInfo { }; }
 #endif
 using mac_plugin_interposing::NSCursorInfo;
+#ifdef XP_WIN
+#include "commdlg.h"
+#endif
 
 namespace mozilla {
 namespace plugins {
 
 using layers::SurfaceDescriptorX11;
 
 enum ScriptableObjectType
 {
@@ -118,19 +121,69 @@ typedef XID NativeWindowHandle;
 typedef intptr_t NativeWindowHandle; // never actually used, will always be 0
 #else
 #error Need NativeWindowHandle for this platform
 #endif
 
 #ifdef XP_WIN
 typedef base::SharedMemoryHandle WindowsSharedMemoryHandle;
 typedef HANDLE DXGISharedSurfaceHandle;
-#else
+
+// Values indicate GetOpenFileNameW and GetSaveFileNameW.
+enum GetFileNameFunc { OPEN_FUNC, SAVE_FUNC };
+
+// IPC-capable version of the Windows OPENFILENAMEW struct.
+typedef struct _OpenFileNameIPC
+{
+  // Allocates memory for the strings in this object.  This should usually
+  // be used with a zeroed out OPENFILENAMEW structure.
+  void AllocateOfnStrings(LPOPENFILENAMEW aLpofn) const;
+  void FreeOfnStrings(LPOPENFILENAMEW aLpofn) const;
+  void AddToOfn(LPOPENFILENAMEW aLpofn) const;
+  void CopyFromOfn(LPOPENFILENAMEW aLpofn);
+
+  NativeWindowHandle mHwndOwner;
+  std::wstring mFilter;    // Double-NULL terminated (i.e. L"\0\0") if mHasFilter is true
+  bool mHasFilter;
+  std::wstring mCustomFilterIn;
+  bool mHasCustomFilter;
+  uint32_t mNMaxCustFilterOut;
+  uint32_t mFilterIndex;
+  std::wstring mFile;
+  uint32_t mNMaxFile;
+  uint32_t mNMaxFileTitle;
+  std::wstring mInitialDir;
+  bool mHasInitialDir;
+  std::wstring mTitle;
+  bool mHasTitle;
+  uint32_t mFlags;
+  std::wstring mDefExt;
+  bool mHasDefExt;
+  uint32_t mFlagsEx;
+} OpenFileNameIPC;
+
+// GetOpenFileNameW and GetSaveFileNameW overwrite fields of their OPENFILENAMEW
+// parameter.  This represents those values so that they can be returned via IPC.
+typedef struct _OpenFileNameRetIPC
+{
+  void CopyFromOfn(LPOPENFILENAMEW aLpofn);
+  void AddToOfn(LPOPENFILENAMEW aLpofn) const;
+
+  std::wstring mCustomFilterOut;
+  std::wstring mFile;    // Double-NULL terminated (i.e. L"\0\0")
+  std::wstring mFileTitle;
+  uint16_t mFileOffset;
+  uint16_t mFileExtension;
+} OpenFileNameRetIPC;
+#else  // XP_WIN
 typedef mozilla::null_t WindowsSharedMemoryHandle;
 typedef mozilla::null_t DXGISharedSurfaceHandle;
+typedef mozilla::null_t GetFileNameFunc;
+typedef mozilla::null_t OpenFileNameIPC;
+typedef mozilla::null_t OpenFileNameRetIPC;
 #endif
 
 // XXX maybe not the best place for these. better one?
 
 #define VARSTR(v_)  case v_: return #v_
 inline const char*
 NPPVariableToString(NPPVariable aVar)
 {
@@ -718,16 +771,139 @@ struct ParamTraits<mozilla::plugins::NPA
 
   static void Log(const paramType& aParam, std::wstring* aLog)
   {
     aLog->append(StringPrintf(L"[%d, %d, %S]", aParam.flow, aParam.role,
                               aParam.defaultDevice.c_str()));
   }
 };
 
+#ifdef XP_WIN
+template <>
+struct ParamTraits<mozilla::plugins::_OpenFileNameIPC>
+{
+  typedef mozilla::plugins::_OpenFileNameIPC paramType;
+
+  static void Write(Message* aMsg, const paramType& aParam)
+  {
+    WriteParam(aMsg, aParam.mHwndOwner);
+    WriteParam(aMsg, aParam.mFilter);
+    WriteParam(aMsg, aParam.mHasFilter);
+    WriteParam(aMsg, aParam.mCustomFilterIn);
+    WriteParam(aMsg, aParam.mHasCustomFilter);
+    WriteParam(aMsg, aParam.mNMaxCustFilterOut);
+    WriteParam(aMsg, aParam.mFilterIndex);
+    WriteParam(aMsg, aParam.mFile);
+    WriteParam(aMsg, aParam.mNMaxFile);
+    WriteParam(aMsg, aParam.mNMaxFileTitle);
+    WriteParam(aMsg, aParam.mInitialDir);
+    WriteParam(aMsg, aParam.mHasInitialDir);
+    WriteParam(aMsg, aParam.mTitle);
+    WriteParam(aMsg, aParam.mHasTitle);
+    WriteParam(aMsg, aParam.mFlags);
+    WriteParam(aMsg, aParam.mDefExt);
+    WriteParam(aMsg, aParam.mHasDefExt);
+    WriteParam(aMsg, aParam.mFlagsEx);
+  }
+
+  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
+  {
+    if (ReadParam(aMsg, aIter, &aResult->mHwndOwner) &&
+        ReadParam(aMsg, aIter, &aResult->mFilter) &&
+        ReadParam(aMsg, aIter, &aResult->mHasFilter) &&
+        ReadParam(aMsg, aIter, &aResult->mCustomFilterIn) &&
+        ReadParam(aMsg, aIter, &aResult->mHasCustomFilter) &&
+        ReadParam(aMsg, aIter, &aResult->mNMaxCustFilterOut) &&
+        ReadParam(aMsg, aIter, &aResult->mFilterIndex) &&
+        ReadParam(aMsg, aIter, &aResult->mFile) &&
+        ReadParam(aMsg, aIter, &aResult->mNMaxFile) &&
+        ReadParam(aMsg, aIter, &aResult->mNMaxFileTitle) &&
+        ReadParam(aMsg, aIter, &aResult->mInitialDir) &&
+        ReadParam(aMsg, aIter, &aResult->mHasInitialDir) &&
+        ReadParam(aMsg, aIter, &aResult->mTitle) &&
+        ReadParam(aMsg, aIter, &aResult->mHasTitle) &&
+        ReadParam(aMsg, aIter, &aResult->mFlags) &&
+        ReadParam(aMsg, aIter, &aResult->mDefExt) &&
+        ReadParam(aMsg, aIter, &aResult->mHasDefExt) &&
+        ReadParam(aMsg, aIter, &aResult->mFlagsEx)) {
+      return true;
+    }
+    return false;
+  }
+
+  static void Log(const paramType& aParam, std::wstring* aLog)
+  {
+    aLog->append(StringPrintf(L"[%S, %S, %S, %S]", aParam.mFilter.c_str(),
+                              aParam.mCustomFilterIn.c_str(), aParam.mFile.c_str(),
+                              aParam.mTitle.c_str()));
+  }
+};
+
+template <>
+struct ParamTraits<mozilla::plugins::_OpenFileNameRetIPC>
+{
+  typedef mozilla::plugins::_OpenFileNameRetIPC paramType;
+
+  static void Write(Message* aMsg, const paramType& aParam)
+  {
+    WriteParam(aMsg, aParam.mCustomFilterOut);
+    WriteParam(aMsg, aParam.mFile);
+    WriteParam(aMsg, aParam.mFileTitle);
+    WriteParam(aMsg, aParam.mFileOffset);
+    WriteParam(aMsg, aParam.mFileExtension);
+  }
+
+  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
+  {
+    if (ReadParam(aMsg, aIter, &aResult->mCustomFilterOut) &&
+        ReadParam(aMsg, aIter, &aResult->mFile) &&
+        ReadParam(aMsg, aIter, &aResult->mFileTitle) &&
+        ReadParam(aMsg, aIter, &aResult->mFileOffset) &&
+        ReadParam(aMsg, aIter, &aResult->mFileExtension)) {
+      return true;
+    }
+    return false;
+  }
+
+  static void Log(const paramType& aParam, std::wstring* aLog)
+  {
+    aLog->append(StringPrintf(L"[%S, %S, %S, %d, %d]", aParam.mCustomFilterOut.c_str(),
+                              aParam.mFile.c_str(), aParam.mFileTitle.c_str(),
+                              aParam.mFileOffset, aParam.mFileExtension));
+  }
+};
+
+template <>
+struct ParamTraits<mozilla::plugins::GetFileNameFunc>
+{
+  typedef mozilla::plugins::GetFileNameFunc paramType;
+
+  static void Write(Message* aMsg, const paramType& aParam)
+  {
+    WriteParam(aMsg, static_cast<uint32_t>(aParam));
+  }
+
+  static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
+  {
+    uint32_t result;
+    if (ReadParam(aMsg, aIter, &result)) {
+      *aResult = static_cast<paramType>(result);
+      return true;
+    }
+    return false;
+  }
+
+  static void Log(const paramType& aParam, std::wstring* aLog)
+  {
+    aLog->append(StringPrintf(L"[%S]",
+                 aParam == mozilla::plugins::OPEN_FUNC ? "GetOpenFileName" : "GetSaveFileName"));
+  }
+};
+#endif  // XP_WIN
+
 } /* namespace IPC */
 
 
 // Serializing NPEvents is completely platform-specific and can be rather
 // intricate depending on the platform.  So for readability we split it
 // into separate files and have the only macro crud live here.
 // 
 // NB: these guards are based on those where struct NPEvent is defined
--- a/dom/plugins/ipc/PluginModuleChild.cpp
+++ b/dom/plugins/ipc/PluginModuleChild.cpp
@@ -91,16 +91,27 @@ static bool gDelayFlashFocusReplyUntilEv
 // Used to fix GetWindowInfo problems with internal flash settings dialogs
 static WindowsDllInterceptor sUser32Intercept;
 typedef BOOL (WINAPI *GetWindowInfoPtr)(HWND hwnd, PWINDOWINFO pwi);
 static GetWindowInfoPtr sGetWindowInfoPtrStub = nullptr;
 static HWND sBrowserHwnd = nullptr;
 // sandbox process doesn't get current key states.  So we need get it on chrome.
 typedef SHORT (WINAPI *GetKeyStatePtr)(int);
 static GetKeyStatePtr sGetKeyStatePtrStub = nullptr;
+
+static WindowsDllInterceptor sComDlg32Intercept;
+
+// proxy GetSaveFileName/GetOpenFileName on chrome so that we can know which
+// files the user has given permission to access
+// We count on GetOpenFileNameA/GetSaveFileNameA calling
+// GetOpenFileNameW/GetSaveFileNameW so we don't proxy them explicitly.
+typedef BOOL (WINAPI *GetOpenFileNameWPtr)(LPOPENFILENAMEW lpofn);
+static GetOpenFileNameWPtr sGetOpenFileNameWPtrStub = nullptr;
+typedef BOOL (WINAPI *GetSaveFileNameWPtr)(LPOPENFILENAMEW lpofn);
+static GetSaveFileNameWPtr sGetSaveFileNameWPtrStub = nullptr;
 #endif
 
 /* static */
 bool
 PluginModuleChild::CreateForContentProcess(Endpoint<PPluginModuleChild>&& aEndpoint)
 {
     auto* child = new PluginModuleChild(false);
     return child->InitForContent(Move(aEndpoint));
@@ -2106,16 +2117,134 @@ PMCGetKeyState(int aVirtKey)
     if (chromeInstance) {
         int16_t ret = 0;
         if (chromeInstance->CallGetKeyState(aVirtKey, &ret)) {
           return ret;
         }
     }
     return sGetKeyStatePtrStub(aVirtKey);
 }
+
+BOOL WINAPI PMCGetSaveFileNameW(LPOPENFILENAMEW lpofn);
+BOOL WINAPI PMCGetOpenFileNameW(LPOPENFILENAMEW lpofn);
+
+// Runnable that performs GetOpenFileNameW and GetSaveFileNameW
+// on the main thread so that the call can be
+// synchronously run on the PluginModuleParent via IPC.
+// The task alerts the given semaphore when it is finished.
+class GetFileNameTask : public Runnable
+{
+    BOOL* mReturnValue;
+    void* mLpOpenFileName;
+    HANDLE mSemaphore;
+    GetFileNameFunc mFunc;
+
+public:
+    explicit GetFileNameTask(GetFileNameFunc func, void* aLpOpenFileName,
+                             HANDLE aSemaphore, BOOL* aReturnValue) :
+        mLpOpenFileName(aLpOpenFileName), mSemaphore(aSemaphore),
+        mReturnValue(aReturnValue), mFunc(func)
+    {}
+
+    NS_IMETHOD Run() override
+    {
+        PLUGIN_LOG_DEBUG_METHOD;
+        AssertPluginThread();
+        switch (mFunc) {
+        case OPEN_FUNC:
+            *mReturnValue =
+                PMCGetOpenFileNameW(static_cast<LPOPENFILENAMEW>(mLpOpenFileName));
+            break;
+        case SAVE_FUNC:
+            *mReturnValue =
+                PMCGetSaveFileNameW(static_cast<LPOPENFILENAMEW>(mLpOpenFileName));
+            break;
+        }
+        if (!ReleaseSemaphore(mSemaphore, 1, nullptr)) {
+            return NS_ERROR_FAILURE;
+        }
+        return NS_OK;
+    }
+};
+
+// static
+BOOL
+PostToPluginThread(GetFileNameFunc aFunc, void* aLpofn)
+{
+    MOZ_ASSERT(!IsPluginThread());
+
+    // Synchronously run GetFileNameTask from the main thread.
+    // Start a semaphore at 0.  We release the semaphore (bringing its
+    // count to 1) when the synchronous call is done.
+    nsAutoHandle semaphore(CreateSemaphore(NULL, 0, 1, NULL));
+    if (semaphore == nullptr) {
+        MOZ_ASSERT(semaphore != nullptr);
+        return FALSE;
+    }
+
+    BOOL returnValue = FALSE;
+    RefPtr<GetFileNameTask> task =
+        new GetFileNameTask(aFunc, aLpofn, semaphore, &returnValue);
+    ProcessChild::message_loop()->PostTask(task.forget());
+    DWORD err = WaitForSingleObject(semaphore, INFINITE);
+    if (err != WAIT_FAILED) {
+        return returnValue;
+    }
+    PLUGIN_LOG_DEBUG(("Error while waiting for semaphore: %d",
+                      GetLastError()));
+    MOZ_ASSERT(err != WAIT_FAILED);
+    return FALSE;
+}
+
+// static
+BOOL WINAPI
+PMCGetFileNameW(GetFileNameFunc aFunc, LPOPENFILENAMEW aLpofn)
+{
+    if (!IsPluginThread()) {
+        return PostToPluginThread(aFunc, aLpofn);
+    }
+
+    PluginModuleChild* chromeInstance = PluginModuleChild::GetChrome();
+    if (chromeInstance) {
+        bool ret = FALSE;
+        OpenFileNameIPC inputOfn;
+        inputOfn.CopyFromOfn(aLpofn);
+        OpenFileNameRetIPC outputOfn;
+        if (chromeInstance->CallGetFileName(aFunc, inputOfn,
+                                            &outputOfn, &ret)) {
+            if (ret) {
+                outputOfn.AddToOfn(aLpofn);
+            }
+        }
+        return ret;
+    }
+
+    switch (aFunc) {
+    case OPEN_FUNC:
+        return sGetOpenFileNameWPtrStub(aLpofn);
+    case SAVE_FUNC:
+        return sGetSaveFileNameWPtrStub(aLpofn);
+    }
+
+    MOZ_ASSERT_UNREACHABLE("Illegal GetFileNameFunc value");
+    return FALSE;
+}
+
+// static
+BOOL WINAPI
+PMCGetSaveFileNameW(LPOPENFILENAMEW aLpofn)
+{
+    return PMCGetFileNameW(SAVE_FUNC, aLpofn);
+}
+// static
+BOOL WINAPI
+PMCGetOpenFileNameW(LPOPENFILENAMEW aLpofn)
+{
+    return PMCGetFileNameW(OPEN_FUNC, aLpofn);
+}
 #endif
 
 PPluginInstanceChild*
 PluginModuleChild::AllocPPluginInstanceChild(const nsCString& aMimeType,
                                              const uint16_t& aMode,
                                              const InfallibleTArray<nsCString>& aNames,
                                              const InfallibleTArray<nsCString>& aValues)
 {
@@ -2138,16 +2267,27 @@ PluginModuleChild::AllocPPluginInstanceC
                                  (void**) &sGetWindowInfoPtrStub);
     }
 
     if ((mQuirks & QUIRK_FLASH_HOOK_GETKEYSTATE) &&
         !sGetKeyStatePtrStub) {
         sUser32Intercept.AddHook("GetKeyState", reinterpret_cast<intptr_t>(PMCGetKeyState),
                                  (void**) &sGetKeyStatePtrStub);
     }
+
+    sComDlg32Intercept.Init("comdlg32.dll");
+    if (!sGetSaveFileNameWPtrStub) {
+        sComDlg32Intercept.AddHook("GetSaveFileNameW", reinterpret_cast<intptr_t>(PMCGetSaveFileNameW),
+                                 (void**) &sGetSaveFileNameWPtrStub);
+    }
+
+    if (!sGetOpenFileNameWPtrStub) {
+        sComDlg32Intercept.AddHook("GetOpenFileNameW", reinterpret_cast<intptr_t>(PMCGetOpenFileNameW),
+                                 (void**) &sGetOpenFileNameWPtrStub);
+    }
 #endif
 
     return new PluginInstanceChild(&mFunctions, aMimeType, aMode, aNames,
                                    aValues);
 }
 
 void
 PluginModuleChild::InitQuirksModes(const nsCString& aMimeType)
--- a/dom/plugins/ipc/PluginModuleParent.cpp
+++ b/dom/plugins/ipc/PluginModuleParent.cpp
@@ -13,19 +13,16 @@
 #include "mozilla/ipc/GeckoChildProcessHost.h"
 #include "mozilla/ipc/MessageChannel.h"
 #include "mozilla/ipc/ProtocolUtils.h"
 #include "mozilla/plugins/BrowserStreamParent.h"
 #include "mozilla/plugins/PluginAsyncSurrogate.h"
 #include "mozilla/plugins/PluginBridge.h"
 #include "mozilla/plugins/PluginInstanceParent.h"
 #include "mozilla/Preferences.h"
-#ifdef MOZ_GECKO_PROFILER
-#include "mozilla/ProfileGatherer.h"
-#endif
 #include "mozilla/ProcessHangMonitor.h"
 #include "mozilla/Services.h"
 #include "mozilla/Telemetry.h"
 #include "mozilla/Unused.h"
 #include "nsAutoPtr.h"
 #include "nsCRT.h"
 #include "nsIFile.h"
 #include "nsIObserverService.h"
@@ -56,19 +53,16 @@
 #elif XP_MACOSX
 #include "PluginInterposeOSX.h"
 #include "PluginUtilsOSX.h"
 #endif
 
 using base::KillProcess;
 
 using mozilla::PluginLibrary;
-#ifdef MOZ_GECKO_PROFILER
-using mozilla::ProfileGatherer;
-#endif
 using mozilla::ipc::MessageChannel;
 using mozilla::ipc::GeckoChildProcessHost;
 
 using namespace mozilla;
 using namespace mozilla::plugins;
 using namespace mozilla::plugins::parent;
 
 #ifdef MOZ_CRASHREPORTER
@@ -644,20 +638,17 @@ PluginModuleChromeParent::OnProcessLaunc
     bool profilerActive = false;
     DebugOnly<nsresult> rv = profiler->IsActive(&profilerActive);
     MOZ_ASSERT(NS_SUCCEEDED(rv));
     if (profilerActive) {
         nsCOMPtr<nsIProfilerStartParams> currentProfilerParams;
         rv = profiler->GetStartParams(getter_AddRefs(currentProfilerParams));
         MOZ_ASSERT(NS_SUCCEEDED(rv));
 
-        nsCOMPtr<nsISupports> gatherer;
-        rv = profiler->GetProfileGatherer(getter_AddRefs(gatherer));
-        MOZ_ASSERT(NS_SUCCEEDED(rv));
-        mGatherer = static_cast<ProfileGatherer*>(gatherer.get());
+        mIsProfilerActive = true;
 
         StartProfiler(currentProfilerParams);
     }
 #endif
 }
 
 bool
 PluginModuleChromeParent::WaitForIPCConnection()
@@ -776,16 +767,19 @@ PluginModuleChromeParent::PluginModuleCh
     , mFlashProcess1(0)
     , mFlashProcess2(0)
     , mFinishInitTask(nullptr)
 #endif
     , mInitOnAsyncConnect(false)
     , mAsyncInitRv(NS_ERROR_NOT_INITIALIZED)
     , mAsyncInitError(NPERR_NO_ERROR)
     , mContentParent(nullptr)
+#ifdef MOZ_GECKO_PROFILER
+    , mIsProfilerActive(false)
+#endif
 {
     NS_ASSERTION(mSubprocess, "Out of memory!");
     sInstantiated = true;
     mSandboxLevel = aSandboxLevel;
     mRunID = GeckoChildProcessHost::GetUniqueID();
 
 #ifdef MOZ_GECKO_PROFILER
     InitPluginProfiling();
@@ -805,16 +799,20 @@ PluginModuleChromeParent::~PluginModuleC
 #endif
 
 #ifdef XP_WIN
     // If we registered for audio notifications, stop.
     mozilla::plugins::PluginUtilsWin::RegisterForAudioDeviceChanges(this,
                                                                     false);
 #endif
 
+#if defined(XP_WIN) && defined(MOZ_SANDBOX)
+    mSandboxPermissions.RemovePermissionsForProcess(OtherPid());
+#endif
+
     if (!mShutdown) {
         NS_WARNING("Plugin host deleted the module without shutting down.");
         NPError err;
         NP_Shutdown(&err);
     }
 
     NS_ASSERTION(mShutdown, "NP_Shutdown didn't");
 
@@ -3365,35 +3363,33 @@ PluginModuleChromeParent::StartProfiler(
     ipcParams.threadFilters() = aParams->GetThreadFilterNames();
 
     Unused << SendStartProfiler(ipcParams);
 
     nsCOMPtr<nsIProfiler> profiler(do_GetService("@mozilla.org/tools/profiler;1"));
     if (NS_WARN_IF(!profiler)) {
         return;
     }
-    nsCOMPtr<nsISupports> gatherer;
-    profiler->GetProfileGatherer(getter_AddRefs(gatherer));
-    mGatherer = static_cast<ProfileGatherer*>(gatherer.get());
+    mIsProfilerActive = true;
 }
 
 void
 PluginModuleChromeParent::StopProfiler()
 {
-    mGatherer = nullptr;
+    mIsProfilerActive = false;
     Unused << SendStopProfiler();
 }
 
 void
 PluginModuleChromeParent::GatherAsyncProfile()
 {
-    if (NS_WARN_IF(!mGatherer)) {
+    if (NS_WARN_IF(!mIsProfilerActive)) {
         return;
     }
-    mGatherer->WillGatherOOPProfile();
+    profiler_will_gather_OOP_profile();
     Unused << SendGatherProfile();
 }
 
 void
 PluginModuleChromeParent::GatheredAsyncProfile(nsIProfileSaveEvent* aSaveEvent)
 {
     if (aSaveEvent && !mProfile.IsEmpty()) {
         aSaveEvent->AddSubProfile(mProfile.get());
@@ -3401,22 +3397,22 @@ PluginModuleChromeParent::GatheredAsyncP
     }
 }
 #endif // MOZ_GECKO_PROFILER
 
 mozilla::ipc::IPCResult
 PluginModuleChromeParent::RecvProfile(const nsCString& aProfile)
 {
 #ifdef MOZ_GECKO_PROFILER
-    if (NS_WARN_IF(!mGatherer)) {
+    if (NS_WARN_IF(!mIsProfilerActive)) {
         return IPC_OK();
     }
 
     mProfile = aProfile;
-    mGatherer->GatheredOOPProfile();
+    profiler_gathered_OOP_profile();
 #endif
     return IPC_OK();
 }
 
 mozilla::ipc::IPCResult
 PluginModuleParent::AnswerGetKeyState(const int32_t& aVirtKey, int16_t* aRet)
 {
     return IPC_FAIL_NO_REASON(this);
@@ -3428,8 +3424,74 @@ PluginModuleChromeParent::AnswerGetKeySt
 {
 #if defined(XP_WIN)
     *aRet = ::GetKeyState(aVirtKey);
     return IPC_OK();
 #else
     return PluginModuleParent::AnswerGetKeyState(aVirtKey, aRet);
 #endif
 }
+
+mozilla::ipc::IPCResult
+PluginModuleChromeParent::AnswerGetFileName(const GetFileNameFunc& aFunc,
+                                            const OpenFileNameIPC& aOfnIn,
+                                            OpenFileNameRetIPC* aOfnOut,
+                                            bool* aResult)
+{
+#if defined(XP_WIN) && defined(MOZ_SANDBOX)
+    OPENFILENAMEW ofn;
+    memset(&ofn, 0, sizeof(ofn));
+    aOfnIn.AllocateOfnStrings(&ofn);
+    aOfnIn.AddToOfn(&ofn);
+    switch (aFunc) {
+    case OPEN_FUNC:
+        *aResult = GetOpenFileName(&ofn);
+        break;
+    case SAVE_FUNC:
+        *aResult = GetSaveFileName(&ofn);
+        break;
+    }
+    if (*aResult) {
+        if (ofn.Flags & OFN_ALLOWMULTISELECT) {
+            // We only support multiselect with the OFN_EXPLORER flag.
+            // This guarantees that ofn.lpstrFile follows the pattern below.
+            MOZ_ASSERT(ofn.Flags & OFN_EXPLORER);
+
+            // lpstrFile is one of two things:
+            // 1. A null terminated full path to a file, or
+            // 2. A path to a folder, followed by a NULL, followed by a
+            // list of file names, each NULL terminated, followed by an
+            // additional NULL (so it is also double-NULL terminated).
+            std::wstring path = std::wstring(ofn.lpstrFile);
+            MOZ_ASSERT(ofn.nFileOffset > 0);
+            // For condition #1, nFileOffset points to the file name in the path.
+            // It will be preceeded by a non-NULL character from the path.
+            if (ofn.lpstrFile[ofn.nFileOffset-1] != L'\0') {
+                mSandboxPermissions.GrantFileAccess(OtherPid(), path.c_str(),
+                                                          aFunc == SAVE_FUNC);
+            }
+            else {
+                // This is condition #2
+                wchar_t* nextFile = ofn.lpstrFile + path.size() + 1;
+                while (*nextFile != L'\0') {
+                    std::wstring nextFileStr(nextFile);
+                    std::wstring fullPath =
+                        path + std::wstring(L"\\") + nextFileStr;
+                    mSandboxPermissions.GrantFileAccess(OtherPid(), fullPath.c_str(),
+                                                              aFunc == SAVE_FUNC);
+                    nextFile += nextFileStr.size() + 1;
+                }
+            }
+        }
+        else {
+            mSandboxPermissions.GrantFileAccess(OtherPid(), ofn.lpstrFile,
+                                                 aFunc == SAVE_FUNC);
+        }
+        aOfnOut->CopyFromOfn(&ofn);
+    }
+    aOfnIn.FreeOfnStrings(&ofn);
+    return IPC_OK();
+#else
+    MOZ_ASSERT_UNREACHABLE("GetFileName IPC message is only available on "
+                           "Windows builds with sandbox.");
+    return IPC_FAIL_NO_REASON(this);
+#endif
+}
--- a/dom/plugins/ipc/PluginModuleParent.h
+++ b/dom/plugins/ipc/PluginModuleParent.h
@@ -19,29 +19,27 @@
 #include "mozilla/TimeStamp.h"
 #include "npapi.h"
 #include "npfunctions.h"
 #include "nsDataHashtable.h"
 #include "nsHashKeys.h"
 #include "nsIObserver.h"
 #ifdef XP_WIN
 #include "nsWindowsHelpers.h"
+#include "sandboxPermissions.h"
 #endif
 
 #ifdef MOZ_CRASHREPORTER
 #include "nsExceptionHandler.h"
 #endif
 
 class nsIProfileSaveEvent;
 class nsPluginTag;
 
 namespace mozilla {
-#ifdef MOZ_GECKO_PROFILER
-class ProfileGatherer;
-#endif
 
 namespace ipc {
 class CrashReporterHost;
 } // namespace ipc
 namespace layers {
 class TextureClientRecycleAllocator;
 } // namespace layers
 
@@ -189,16 +187,24 @@ protected:
     static BrowserStreamParent* StreamCast(NPP instance, NPStream* s,
                                            PluginAsyncSurrogate** aSurrogate = nullptr);
 
     virtual mozilla::ipc::IPCResult
     AnswerNPN_SetValue_NPPVpluginRequiresAudioDeviceChanges(
                                         const bool& shouldRegister,
                                         NPError* result) override;
 
+    virtual mozilla::ipc::IPCResult
+    AnswerGetFileName(const GetFileNameFunc& aFunc,
+                      const OpenFileNameIPC& aOfnIn,
+                      OpenFileNameRetIPC* aOfnOut, bool* aResult) override
+    {
+      return IPC_FAIL_NO_REASON(this);
+    }
+
 protected:
     void SetChildTimeout(const int32_t aChildTimeout);
     static void TimeoutChanged(const char* aPref, void* aModule);
 
     virtual void UpdatePluginTimeout() {}
 
     virtual mozilla::ipc::IPCResult RecvNotifyContentModuleDestroyed() override { return IPC_OK(); }
 
@@ -504,16 +510,22 @@ class PluginModuleChromeParent
 #endif
 
     virtual mozilla::ipc::IPCResult
     RecvProfile(const nsCString& aProfile) override;
 
     virtual mozilla::ipc::IPCResult
     AnswerGetKeyState(const int32_t& aVirtKey, int16_t* aRet) override;
 
+    // Proxy GetOpenFileName/GetSaveFileName on Windows.
+    virtual mozilla::ipc::IPCResult
+    AnswerGetFileName(const GetFileNameFunc& aFunc,
+                      const OpenFileNameIPC& aOfnIn,
+                      OpenFileNameRetIPC* aOfnOut, bool* aResult) override;
+
 private:
     virtual void
     EnteredCxxStack() override;
 
     void
     ExitedCxxStack() override;
 
     mozilla::ipc::IProtocol* GetInvokingProtocol();
@@ -652,19 +664,22 @@ private:
     NPError             mAsyncInitError;
     // mContentParent is to be used ONLY during the IPC dance that occurs
     // when ContentParent::RecvLoadPlugin is called under async plugin init!
     // In other contexts it is *unsafe*, as there might be multiple content
     // processes in existence!
     dom::ContentParent* mContentParent;
     nsCOMPtr<nsIObserver> mPluginOfflineObserver;
 #ifdef MOZ_GECKO_PROFILER
-    RefPtr<mozilla::ProfileGatherer> mGatherer;
+    bool mIsProfilerActive;
 #endif
     nsCString mProfile;
     bool mIsBlocklisted;
     static bool sInstantiated;
+#if defined(XP_WIN) && defined(MOZ_SANDBOX)
+    mozilla::SandboxPermissions mSandboxPermissions;
+#endif
 };
 
 } // namespace plugins
 } // namespace mozilla
 
 #endif // mozilla_plugins_PluginModuleParent_h
--- a/dom/plugins/ipc/PluginProcessParent.cpp
+++ b/dom/plugins/ipc/PluginProcessParent.cpp
@@ -92,23 +92,16 @@ AddSandboxAllowedFiles(int32_t aSandboxL
 
     nsresult rv;
     nsCOMPtr<nsIProperties> dirSvc =
         do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv);
     if (NS_WARN_IF(NS_FAILED(rv))) {
         return;
     }
 
-    // Higher than level 2 currently removes the users own rights.
-    if (aSandboxLevel > 2) {
-        AddSandboxAllowedFile(aAllowedFilesRead, dirSvc, NS_WIN_HOME_DIR);
-        AddSandboxAllowedFile(aAllowedFilesRead, dirSvc, NS_WIN_HOME_DIR,
-                              NS_LITERAL_STRING("\\*"));
-    }
-
     // Level 2 and above is now using low integrity, so we need to give write
     // access to the Flash directories.
     // This should be made Flash specific (Bug 1171396).
     AddSandboxAllowedFile(aAllowedFilesReadWrite, dirSvc, NS_WIN_APPDATA_DIR,
                           NS_LITERAL_STRING("\\Macromedia\\Flash Player\\*"));
     AddSandboxAllowedFile(aAllowedFilesReadWrite, dirSvc, NS_WIN_LOCAL_APPDATA_DIR,
                           NS_LITERAL_STRING("\\Macromedia\\Flash Player\\*"));
     AddSandboxAllowedFile(aAllowedFilesReadWrite, dirSvc, NS_WIN_APPDATA_DIR,
--- a/dom/plugins/ipc/moz.build
+++ b/dom/plugins/ipc/moz.build
@@ -124,16 +124,17 @@ LOCAL_INCLUDES += [
     '../base',
     '/xpcom/base/',
 ]
 
 if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT':
     LOCAL_INCLUDES += [
         '/security/sandbox/chromium',
         '/security/sandbox/chromium-shim',
+        '/security/sandbox/win/src/sandboxpermissions',
     ]
 
 DEFINES['FORCE_PR_LOG'] = True
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gtk3':
     CXXFLAGS += CONFIG['TK_CFLAGS']
 else:
     # Force build against gtk+2 for struct offsets and such.
--- a/dom/tests/mochitest/general/mochitest.ini
+++ b/dom/tests/mochitest/general/mochitest.ini
@@ -76,16 +76,17 @@ subsuite = clipboard
 [test_bug1208217.html]
 [test_bug1313753.html]
 [test_clientRects.html]
 [test_clipboard_disallowed.html]
 [test_clipboard_events.html]
 subsuite = clipboard
 [test_consoleAPI.html]
 [test_contentViewer_overrideDPPX.html]
+[test_CCW_optimization.html]
 [test_DOMMatrix.html]
 [test_domWindowUtils.html]
 [test_domWindowUtils_scrollbarSize.html]
 [test_domWindowUtils_scrollXY.html]
 [test_donottrack.html]
 [test_focus_scrollchildframe.html]
 [test_focus_legend_noparent.html]
 [test_focusrings.xul]
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/general/test_CCW_optimization.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1319087
+-->
+<head>
+  <title>Test for Bug 1319087</title>
+  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1319087">Mozilla Bug 1319087</a>
+<p id="display"></p>
+<div id="content">
+  <iframe></iframe>
+  <iframe></iframe>
+</div>
+<pre id="test">
+<script type="text/javascript">
+
+function WrapperToOwnCompartment() {
+  var iframe = new frames[0].Object();
+  var obj = iframe.obj = new Object();
+  obj.x = 123;
+
+  for (var i = 0; i < 50; i++) {
+    is(iframe.obj, obj);
+    is(iframe.obj.x, 123);
+  }
+}
+
+function WrapperToYetAnotherCompartment() {
+  var iframe = new frames[0].Object();
+  // Obj points to an object in a third compartment.
+  var obj = iframe.obj = new frames[1].Object();
+  obj.x = 42;
+
+  for (var i = 0; i < 50; i++) {
+    is(iframe.obj, obj);
+    is(iframe.obj.x, 42);
+  }
+}
+
+WrapperToOwnCompartment();
+WrapperToYetAnotherCompartment();
+
+</script>
+</body>
+</html>
--- a/dom/webidl/File.webidl
+++ b/dom/webidl/File.webidl
@@ -33,17 +33,21 @@ partial interface File {
   [GetterThrows, Deprecated="FileLastModifiedDate"]
   readonly attribute Date lastModifiedDate;
 
   [BinaryName="relativePath", Func="mozilla::dom::Directory::WebkitBlinkDirectoryPickerEnabled"]
   readonly attribute USVString webkitRelativePath;
 
   [GetterThrows, ChromeOnly, NeedsCallerType]
   readonly attribute DOMString mozFullPath;
+};
 
+// Mozilla extensions - main-thread only
+[Exposed=(Window)]
+partial interface File {
   [ChromeOnly, Throws, NeedsCallerType]
   static Promise<File> createFromNsIFile(nsIFile file,
                                          optional ChromeFilePropertyBag options);
 
   [ChromeOnly, Throws, NeedsCallerType]
   static Promise<File> createFromFileName(USVString fileName,
                                           optional ChromeFilePropertyBag options);
 };
--- a/editor/libeditor/CSSEditUtils.cpp
+++ b/editor/libeditor/CSSEditUtils.cpp
@@ -1238,16 +1238,54 @@ CSSEditUtils::IsCSSEquivalentToHTMLInlin
       // that means that we have to look at ancestors of node to see if they are underlined
       aNode = aNode->GetParentElement(); // set to null if it's not a dom element
     }
   } while ((nsGkAtoms::u == aHTMLProperty ||
             nsGkAtoms::strike == aHTMLProperty) && !isSet && aNode);
   return isSet;
 }
 
+bool
+CSSEditUtils::HaveCSSEquivalentStyles(
+                nsINode& aNode,
+                nsIAtom* aHTMLProperty,
+                nsIAtom* aHTMLAttribute,
+                StyleType aStyleType)
+{
+  nsAutoString valueString;
+  nsCOMPtr<nsINode> node = &aNode;
+  do {
+    // get the value of the CSS equivalent styles
+    nsresult rv =
+      GetCSSEquivalentToHTMLInlineStyleSet(node, aHTMLProperty, aHTMLAttribute,
+                                           valueString, aStyleType);
+    if (NS_WARN_IF(NS_FAILED(rv))) {
+      return false;
+    }
+
+    if (!valueString.IsEmpty()) {
+      return true;
+    }
+
+    if (nsGkAtoms::u != aHTMLProperty && nsGkAtoms::strike != aHTMLProperty) {
+      return false;
+    }
+
+    // unfortunately, the value of the text-decoration property is not
+    // inherited.
+    // that means that we have to look at ancestors of node to see if they
+    // are underlined
+
+    // set to null if it's not a dom element
+    node = node->GetParentElement();
+  } while (node);
+
+  return false;
+}
+
 void
 CSSEditUtils::SetCSSEnabled(bool aIsCSSPrefChecked)
 {
   mIsCSSPrefChecked = aIsCSSPrefChecked;
 }
 
 bool
 CSSEditUtils::IsCSSPrefChecked()
--- a/editor/libeditor/CSSEditUtils.h
+++ b/editor/libeditor/CSSEditUtils.h
@@ -208,17 +208,17 @@ public:
    * @param aNode          [IN] A DOM node.
    * @param aHTMLProperty  [IN] An atom containing an HTML property.
    * @param aAttribute     [IN] A pointer/atom to an attribute name or nullptr
    *                            if irrelevant.
    * @param aValueString   [IN/OUT] The attribute value (in) the list of CSS
    *                                values (out).
    * @param aStyleType     [IN] eSpecified or eComputed.
    * @return               A boolean being true if the css properties are
-   *                       set.
+   *                       not same as initial value.
    */
   bool IsCSSEquivalentToHTMLInlineStyleSet(nsINode* aContent,
                                            nsIAtom* aProperty,
                                            nsIAtom* aAttribute,
                                            nsAString& aValue,
                                            StyleType aStyleType);
 
   bool IsCSSEquivalentToHTMLInlineStyleSet(nsINode* aContent,
@@ -235,16 +235,39 @@ public:
 
   bool IsCSSEquivalentToHTMLInlineStyleSet(nsIDOMNode* aNode,
                                            nsIAtom* aProperty,
                                            const nsAString* aAttribute,
                                            nsAString& aValue,
                                            StyleType aStyleType);
 
   /**
+   * This is a kind of IsCSSEquivalentToHTMLInlineStyleSet.
+   * IsCSSEquivalentToHTMLInlineStyleSet returns whether the properties
+   * aren't same as initial value.  But this method returns whether the
+   * properties aren't set.
+   * If node is <span style="font-weight: normal"/>,
+   *  - IsCSSEquivalentToHTMLInlineStyleSet returns false.
+   *  - HaveCSSEquivalentStyles returns true.
+   *
+   * @param aNode          [IN] A DOM node.
+   * @param aHTMLProperty  [IN] An atom containing an HTML property.
+   * @param aAttribute     [IN] An atom to an attribute name or nullptr
+   *                            if irrelevant.
+   * @param aStyleType     [IN] eSpecified or eComputed.
+   * @return               A boolean being true if the css properties are
+   *                       not set.
+   */
+
+  bool HaveCSSEquivalentStyles(nsINode& aNode,
+                               nsIAtom* aProperty,
+                               nsIAtom* aAttribute,
+                               StyleType aStyleType);
+
+  /**
    * Adds to the node the CSS inline styles equivalent to the HTML style
    * and return the number of CSS properties set by the call.
    *
    * @param aNode          [IN] A DOM node.
    * @param aHTMLProperty  [IN] An atom containing an HTML property.
    * @param aAttribute     [IN] A pointer/atom to an attribute name or nullptr
    *                            if irrelevant.
    * @param aValue         [IN] The attribute value.
--- a/editor/libeditor/HTMLStyleEditor.cpp
+++ b/editor/libeditor/HTMLStyleEditor.cpp
@@ -773,32 +773,35 @@ HTMLEditor::RemoveStyleInside(nsIContent
     }
   }
 
   if (!aChildrenOnly &&
       mCSSEditUtils->IsCSSEditableProperty(&aNode, aProperty, aAttribute)) {
     // the HTML style defined by aProperty/aAttribute has a CSS equivalence in
     // this implementation for the node aNode; let's check if it carries those
     // css styles
-    nsCOMPtr<nsIAtom> attribute =
-      aAttribute ? NS_Atomize(*aAttribute) : nullptr;
-    nsAutoString propertyValue;
-    bool isSet = mCSSEditUtils->IsCSSEquivalentToHTMLInlineStyleSet(&aNode,
-      aProperty, attribute, propertyValue, CSSEditUtils::eSpecified);
-    if (isSet && aNode.IsElement()) {
-      // yes, tmp has the corresponding css declarations in its style attribute
-      // let's remove them
-      mCSSEditUtils->RemoveCSSEquivalentToHTMLStyle(aNode.AsElement(),
-                                                    aProperty,
-                                                    attribute,
-                                                    &propertyValue,
-                                                    false);
-      // remove the node if it is a span or font, if its style attribute is
-      // empty or absent, and if it does not have a class nor an id
-      RemoveElementIfNoStyleOrIdOrClass(*aNode.AsElement());
+    if (aNode.IsElement()) {
+      nsCOMPtr<nsIAtom> attribute =
+        aAttribute ? NS_Atomize(*aAttribute) : nullptr;
+      bool hasAttribute =
+        mCSSEditUtils->HaveCSSEquivalentStyles(
+                         aNode, aProperty, attribute, CSSEditUtils::eSpecified);
+      if (hasAttribute) {
+        // yes, tmp has the corresponding css declarations in its style
+        // attribute
+        // let's remove them
+        mCSSEditUtils->RemoveCSSEquivalentToHTMLStyle(aNode.AsElement(),
+                                                      aProperty,
+                                                      attribute,
+                                                      nullptr,
+                                                      false);
+        // remove the node if it is a span or font, if its style attribute is
+        // empty or absent, and if it does not have a class nor an id
+        RemoveElementIfNoStyleOrIdOrClass(*aNode.AsElement());
+      }
     }
   }
 
   // Or node is big or small and we are setting font size
   if (aChildrenOnly) {
     return NS_OK;
   }
   if (aProperty == nsGkAtoms::font &&
deleted file mode 100644
--- a/gfx/tests/gtest/TestTiledLayerBuffer.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-/* vim:set ts=2 sw=2 sts=2 et: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
-
-#include "TiledLayerBuffer.h"
-
-#include "gtest/gtest.h"
-
-namespace mozilla {
-namespace layers {
-
-TEST(TiledLayerBuffer, TileStart) {
-  ASSERT_EQ(RoundDownToTileEdge(10, 256), 0);
-  ASSERT_EQ(RoundDownToTileEdge(-10, 256), -256);
-}
-
-TEST(TiledLayerBuffer, TilesPlacement) {
-  for (int firstY = -10; firstY < 10; ++firstY) {
-    for (int firstX = -10; firstX < 10; ++firstX) {
-      for (int height = 1; height < 10; ++height) {
-        for (int width = 1; width < 10; ++width) {
-
-          const TilesPlacement p1 = TilesPlacement(firstX, firstY, width, height);
-          // Check that HasTile returns false with some positions that we know
-          // not to be in the rectangle of the TilesPlacement.
-          ASSERT_FALSE(p1.HasTile(TileIntPoint(firstX - 1, 0)));
-          ASSERT_FALSE(p1.HasTile(TileIntPoint(0, firstY - 1)));
-          ASSERT_FALSE(p1.HasTile(TileIntPoint(firstX + width + 1,  0)));
-          ASSERT_FALSE(p1.HasTile(TileIntPoint(0, firstY + height + 1)));
-
-          // Verify that all positions within the rect that defines the
-          // TilesPlacement map to indices between 0 and width*height.
-          for (int y = firstY; y < (firstY+height); ++y) {
-            for (int x = firstX; x < (firstX+width); ++x) {
-              ASSERT_TRUE(p1.HasTile(TileIntPoint(x,y)));
-              ASSERT_TRUE(p1.TileIndex(TileIntPoint(x, y)) >= 0);
-              ASSERT_TRUE(p1.TileIndex(TileIntPoint(x, y)) < width * height);
-            }
-          }
-
-          // XXX - This causes some versions of gcc to warn that it optimizes
-          // away the test, which gets caught in -WError in PGO builds.
-          // The lazy thing to do is to just comment this out since this specific
-          // test isn't critically important, but we should remove the warning instead.
-          // cf. bug 1179287
-          //
-          // Verify that indices map to positions that are within the rect that
-          // defines the TilesPlacement.
-          // for (int i = 0; i < width * height; ++i) {
-          //   ASSERT_TRUE(p1.TilePosition(i).x >= firstX);
-          //   ASSERT_TRUE(p1.TilePosition(i).x < firstX + width);
-          //   ASSERT_TRUE(p1.TilePosition(i).y >= firstY);
-          //   ASSERT_TRUE(p1.TilePosition(i).y < firstY + height);
-          // }
-
-        }
-      }
-    }
-  }
-}
-
-}
-}
deleted file mode 100644
--- a/gfx/tests/gtest/gfxFontSelectionTest.cpp
+++ /dev/null
@@ -1,320 +0,0 @@
-/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "gtest/gtest.h"
-
-#include "mozilla/gfx/2D.h"
-#include "mozilla/RefPtr.h"
-#include "nsCOMPtr.h"
-#include "nsTArray.h"
-#include "nsString.h"
-#include "nsDependentString.h"
-
-#include "mozilla/Preferences.h"
-
-#include "gfxContext.h"
-#include "gfxFont.h"
-#include "gfxPlatform.h"
-
-#include "gfxFontTest.h"
-
-using namespace mozilla;
-using namespace mozilla::gfx;
-
-enum {
-    S_UTF8 = 0,
-    S_ASCII = 1
-};
-
-class FrameTextRunCache;
-
-struct LiteralArray {
-    LiteralArray (unsigned long l1) {
-        data.AppendElement(l1);
-    }
-    LiteralArray (unsigned long l1, unsigned long l2) {
-        data.AppendElement(l1);
-        data.AppendElement(l2);
-    }
-    LiteralArray (unsigned long l1, unsigned long l2, unsigned long l3) {
-        data.AppendElement(l1);
-        data.AppendElement(l2);
-        data.AppendElement(l3);
-    }
-    LiteralArray (unsigned long l1, unsigned long l2, unsigned long l3, unsigned long l4) {
-        data.AppendElement(l1);
-        data.AppendElement(l2);
-        data.AppendElement(l3);
-        data.AppendElement(l4);
-    }
-    LiteralArray (unsigned long l1, unsigned long l2, unsigned long l3, unsigned long l4, unsigned long l5) {
-        data.AppendElement(l1);
-        data.AppendElement(l2);
-        data.AppendElement(l3);
-        data.AppendElement(l4);
-        data.AppendElement(l5);
-    }
-
-    LiteralArray (const LiteralArray& other) {
-        data = other.data;
-    }
-
-    nsTArray<unsigned long> data;
-};
-
-#define GLYPHS LiteralArray
-
-struct TestEntry {
-    TestEntry (const char *aUTF8FamilyString,
-               const gfxFontStyle& aFontStyle,
-               const char *aString)
-        : utf8FamilyString(aUTF8FamilyString),
-          fontStyle(aFontStyle),
-          stringType(S_ASCII),
-          string(aString),
-          isRTL(false)
-    {
-    }
-
-    TestEntry (const char *aUTF8FamilyString,
-               const gfxFontStyle& aFontStyle,
-               int stringType,
-               const char *aString)
-        : utf8FamilyString(aUTF8FamilyString),
-          fontStyle(aFontStyle),
-          stringType(stringType),
-          string(aString),
-          isRTL(false)
-    {
-    }
-
-    struct ExpectItem {
-        ExpectItem(const nsCString& aFontName,
-                   const LiteralArray& aGlyphs)
-            : fontName(aFontName), glyphs(aGlyphs)
-        { }
-
-        bool Compare(const nsCString& aFontName,
-                       cairo_glyph_t *aGlyphs,
-                       int num_glyphs)
-        {
-            // bit that allowed for empty fontname to match all is commented
-            // out
-            if (/*!fontName.IsEmpty() &&*/ !fontName.Equals(aFontName))
-                return false;
-
-            if (num_glyphs != int(glyphs.data.Length()))
-                return false;
-
-            for (int j = 0; j < num_glyphs; j++) {
-                if (glyphs.data[j] != aGlyphs[j].index)
-                return false;
-            }
-
-            return true;
-        }
-
-        nsCString fontName;
-        LiteralArray glyphs;
-    };
-
-    void SetRTL()
-    {
-        isRTL = true;
-    }
-
-    // Empty/nullptr fontName means ignore font name
-    void Expect (const char *platform,
-                 const char *fontName,
-                 const LiteralArray& glyphs)
-    {
-        if (fontName)
-            Expect (platform, nsDependentCString(fontName), glyphs);
-        else
-            Expect (platform, nsCString(), glyphs);
-    }
-
-    void Expect (const char *platform,
-                 const nsCString& fontName,
-                 const LiteralArray& glyphs)
-    {
-#if defined(XP_WIN)
-        if (strcmp(platform, "win32"))
-            return;
-#elif defined(XP_MACOSX)
-        if (strcmp(platform, "macosx"))
-            return;
-#elif defined(XP_UNIX)
-        if (strcmp(platform, "gtk2-pango"))
-            return;
-#else
-        return;
-#endif
-
-        expectItems.AppendElement(ExpectItem(fontName, glyphs));
-    }
-
-    bool Check (gfxFontTestStore *store) {
-        if (expectItems.Length() == 0 ||
-            store->items.Length() != expectItems.Length())
-        {
-            return false;
-        }
-
-        for (uint32_t i = 0; i < expectItems.Length(); i++) {
-            if (!expectItems[i].Compare(store->items[i].platformFont,
-                                        store->items[i].glyphs,
-                                        store->items[i].num_glyphs))
-                return false;
-        }
-
-        return true;
-    }
-
-    const char *utf8FamilyString;
-    gfxFontStyle fontStyle;
-
-    int stringType;
-    const char *string;
-    bool isRTL;
-
-    nsTArray<ExpectItem> expectItems;
-};
-
-static already_AddRefed<gfxContext>
-MakeContext ()
-{
-    const int size = 200;
-
-    RefPtr<DrawTarget> drawTarget = gfxPlatform::GetPlatform()->
-        CreateOffscreenContentDrawTarget(IntSize(size, size),
-                                         SurfaceFormat::B8G8R8X8);
-    RefPtr<gfxContext> ctx = gfxContext::CreateOrNull(drawTarget);
-    if (!ctx) {
-        MOZ_CRASH("gfxContext creation failed");
-    }
-
-    return ctx.forget();
-}
-
-TestEntry*
-AddTest (nsTArray<TestEntry>& testList,
-         const char *utf8FamilyString,
-         const gfxFontStyle& fontStyle,
-         int stringType,
-         const char *string)
-{
-    TestEntry te (utf8FamilyString,
-                  fontStyle,
-                  stringType,
-                  string);
-
-    testList.AppendElement(te);
-
-    return &(testList[testList.Length()-1]);
-}
-
-void
-DumpStore (gfxFontTestStore *store) {
-    if (store->items.Length() == 0) {
-        printf ("(empty)\n");
-    }
-
-    for (uint32_t i = 0;
-         i < store->items.Length();
-         i++)
-    {
-        printf ("Run[% 2d]: '%s' ", i, store->items[i].platformFont.BeginReading());
-
-        for (int j = 0; j < store->items[i].num_glyphs; j++)
-            printf ("%d ", int(store->items[i].glyphs[j].index));
-
-        printf ("\n");
-    }
-}
-
-void
-DumpTestExpect (TestEntry *test) {
-    for (uint32_t i = 0; i < test->expectItems.Length(); i++) {
-        printf ("Run[% 2d]: '%s' ", i, test->expectItems[i].fontName.BeginReading());
-        for (uint32_t j = 0; j < test->expectItems[i].glyphs.data.Length(); j++)
-            printf ("%d ", int(test->expectItems[i].glyphs.data[j]));
-
-        printf ("\n");
-    }
-}
-
-void SetupTests(nsTArray<TestEntry>& testList);
-
-static bool
-RunTest (TestEntry *test, gfxContext *ctx) {
-    RefPtr<gfxFontGroup> fontGroup;
-
-    fontGroup = gfxPlatform::GetPlatform()->CreateFontGroup(NS_ConvertUTF8toUTF16(test->utf8FamilyString), &test->fontStyle, nullptr, nullptr, 1.0);
-
-    RefPtr<gfxTextRun> textRun;
-    gfxTextRunFactory::Parameters params = {
-      ctx, nullptr, nullptr, nullptr, 0, 60
-    };
-    uint32_t flags = gfxTextRunFactory::TEXT_IS_PERSISTENT;
-    if (test->isRTL) {
-        flags |= gfxTextRunFactory::TEXT_IS_RTL;
-    }
-    uint32_t length;
-    if (test->stringType == S_ASCII) {
-        flags |= gfxTextRunFactory::TEXT_IS_ASCII | gfxTextRunFactory::TEXT_IS_8BIT;
-        length = strlen(test->string);
-        textRun = fontGroup->MakeTextRun(
-            reinterpret_cast<const uint8_t*>(test->string), length, &params, flags);
-    } else {
-        NS_ConvertUTF8toUTF16 str(nsDependentCString(test->string));
-        length = str.Length();
-        textRun = fontGroup->MakeTextRun(str.get(), length, &params, flags);
-    }
-
-    gfxFontTestStore::NewStore();
-    textRun->Draw(ctx, gfxPoint(0,0), DrawMode::GLYPH_FILL, 0, length, nullptr, nullptr, nullptr);
-    gfxFontTestStore *s = gfxFontTestStore::CurrentStore();
-
-    if (!test->Check(s)) {
-        DumpStore(s);
-        printf ("  expected:\n");
-        DumpTestExpect(test);
-        gfxFontTestStore::DeleteStore();
-        return false;
-    }
-
-    gfxFontTestStore::DeleteStore();
-
-    return true;
-}
-
-TEST(Gfx, FontSelection) {
-    int passed = 0;
-    int failed = 0;
-
-    // set up the tests
-    nsTArray<TestEntry> testList;
-    SetupTests(testList);
-
-    RefPtr<gfxContext> context = MakeContext();
-
-    for (uint32_t test = 0;
-         test < testList.Length();
-         test++)
-    {
-        bool result = RunTest (&testList[test], context);
-        if (result) {
-            passed++;
-        } else {
-            printf ("Test %d failed\n", test);
-            failed++;
-        }
-    }
-}
-
-// The tests themselves
-
-#include "gfxFontSelectionTests.h"
deleted file mode 100644
--- a/gfx/tests/gtest/gfxFontSelectionTests.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-/*
- *
- * This file is #included directly by gfxFontSelectionTest.cpp, and as
- * such does not need any #include files or similar.  (However, should
- * any extra ones be required, it should be ok to do so, as well as
- * defining new functions, etc.
- *
- * To add a new test, call AddTest with the following arguments: the
- * CSS font-family string, the gfxFontStyle, an enum (either S_ASCII
- * or S_UTF8) indicating the string type, and then the text string
- * itself as a string literal.  Unfortunately there is no good way to
- * embed UTF8 directly into C code, so hex literals will need to be
- * placed in the string.  Because of the way \x is parsed things like
- * "\xabcd" won't work -- you have to do "\xab""cd".  "\xab\x01\x03"
- * will work fine, though.
- *
- * The result of AddTest should be assigned to the variable t; after
- * AddTest, one or more calls to t->Expect() should be added to define
- * the expected result.  Multiple Expect() calls in a row for the same
- * platform mean that the resulting glyph/font selection items needs
- * to have as many items as there are Expect() calls.  (See below for
- * examples.)
- * 
- * The arguments to Expect are:
- *
- *   platform - a string identifying the platform.
- *      Valid strings are "win32", "macosx", and "gtk2-pango".
- *   font - a string (UTF8) giving the unique name of the font.
- *      See below for how the unique name is constructed.
- *   glyphs - a set of glyph IDs that are expected.
- *      This array is constructed using a GLYPHS() macro.
- *
- * GLYPHS() is just a #define for LiteralArray, which is defined
- * in gfxFontSelectionTest.cpp -- if you need more array elements
- * than available, just extend LiteralArray with a new constructor
- * with the required number of unsigned longs.
- *
- * The unique font name is a platform-specific constructed string for
- * (mostly) identifying a font.  On Mac, it's created by taking the
- * Postscript name of the font.  On Windows, it's created by taking
- * the family name, and then appending attributes such as ":Bold",
- * ":Italic", etc.
- *
- * The easiest way to create a test is to add a call to AddTest, and
- * then run the test.  The output will include a list like:
- *
- * ==== Test 1
- *  expected:
- * Run[ 0]: 'Verdana' 73 82 82 
- * Run[ 1]: 'MS UI Gothic' 19401 
- * Run[ 2]: 'Verdana' 69 68 85 
- * Test 1 failed
- *
- * This gives you the information needed for the calls to Expect() --
- * the unique name, and the glyphs.  Appropriate calls to expect for
- * the above would be:
- *
- *   t->Expect ("win32", "Verdana", GLYPHS(73, 82, 82));
- *   t->Expect ("win32", "MS UI Gothic", GLYPHS(19401));
- *   t->Expect ("win32", "Verdana", GLYPHS(69, 68, 85));
- *
- */
-
-
-void
-SetupTests(nsTArray<TestEntry>& testList)
-{
-    TestEntry *t;
-
-    /* some common styles */
-    gfxFontStyle style_western_normal_16 (mozilla::gfx::FontStyle::NORMAL,
-                                          400,
-                                          0,
-                                          16.0,
-                                          NS_Atomize(NS_LITERAL_STRING("en")),
-                                          0.0,
-                                          false, false,
-                                          NS_LITERAL_STRING(""));
-
-    gfxFontStyle style_western_bold_16 (mozilla::gfx::FontStyle::NORMAL,
-                                        700,
-                                        0,
-                                        16.0,
-                                        NS_Atomize(NS_LITERAL_STRING("en")),
-                                        0.0,
-                                        false, false,
-                                        NS_LITERAL_STRING(""));
-
-    /* Test 0 */
-    t = AddTest (testList, "sans-serif",
-                 style_western_normal_16,
-                 S_ASCII,
-                 "ABCD");
-
-    t->Expect ("win32", "Arial", GLYPHS(36, 37, 38, 39));
-    t->Expect ("macosx", "Helvetica", GLYPHS(36, 37, 38, 39));
-    t->Expect ("gtk2-pango", "Albany AMT", GLYPHS(36, 37, 38, 39));
-
-    /* Test 1 */
-    t = AddTest (testList, "verdana,sans-serif",
-                 style_western_normal_16,
-                 S_UTF8,
-                 "foo\xe2\x80\x91""bar");
-
-    t->Expect ("win32", "Verdana", GLYPHS(73, 82, 82));
-    t->Expect ("win32", "Arial Unicode MS", GLYPHS(3236));
-    t->Expect ("win32", "Verdana", GLYPHS(69, 68, 85));
-
-    t->Expect ("macosx", "Verdana", GLYPHS(73, 82, 82));
-    t->Expect ("macosx", "Helvetica", GLYPHS(587));
-    t->Expect ("macosx", "Verdana", GLYPHS(69, 68, 85));
-
-    /* Test 2 */
-    t = AddTest (testList, "sans-serif",
-                 style_western_bold_16,
-                 S_ASCII,
-                 "ABCD");
-
-    t->Expect ("win32", "Arial:700", GLYPHS(36, 37, 38, 39));
-    t->Expect ("macosx", "Helvetica-Bold", GLYPHS(36, 37, 38, 39));
-    t->Expect ("gtk2-pango", "Albany AMT Bold", GLYPHS(36, 37, 38, 39));
-
-    /* Test 3: RTL Arabic with a ligature and leading and trailing whitespace */
-    t = AddTest (testList, "sans-serif",
-                 style_western_normal_16,
-                 S_UTF8,
-                 " \xd8\xaa\xd9\x85 ");
-    t->SetRTL();
-    t->Expect ("macosx", "Helvetica", GLYPHS(3));
-    t->Expect ("macosx", "ArialMT", GLYPHS(919, 993));
-    t->Expect ("macosx", "Helvetica", GLYPHS(3));
-    t->Expect ("win32", "Arial", GLYPHS(3, 919, 994, 3));
-
-    /* Test 4: LTR Arabic with leading and trailing whitespace */
-    t = AddTest (testList, "sans-serif",
-                 style_western_normal_16,
-                 S_UTF8,
-                 " \xd9\x85\xd8\xaa ");
-    t->Expect ("macosx", "Helvetica", GLYPHS(3));
-    t->Expect ("macosx", "ArialMT", GLYPHS(993, 919));
-    t->Expect ("macosx", "Helvetica", GLYPHS(3));
-    t->Expect ("win32", "Arial", GLYPHS(3, 994, 919, 3));
-
-    /* Test 5: RTL ASCII with leading whitespace */
-    t = AddTest (testList, "sans-serif",
-                 style_western_normal_16,
-                 S_ASCII,
-                 " ab");
-    t->SetRTL();
-    t->Expect ("macosx", "Helvetica", GLYPHS(3, 68, 69));
-    t->Expect ("win32", "Arial", GLYPHS(3, 68, 69));
-    t->Expect ("gtk2-pango", "Albany AMT", GLYPHS(3, 68, 69));
-
-    /* Test 6: RTL ASCII with trailing whitespace */
-    t = AddTest (testList, "sans-serif",
-                 style_western_normal_16,
-                 S_ASCII,
-                 "ab ");
-    t->SetRTL();
-    t->Expect ("macosx", "Helvetica", GLYPHS(68, 69, 3));
-    t->Expect ("win32", "Arial", GLYPHS(68, 69, 3));
-    t->Expect ("gtk2-pango", "Albany AMT", GLYPHS(68, 69, 3));
-
-    /* Test 7: Simple ASCII ligature */
-    /* Do we have a Windows font with ligatures? Can we use DejaVu Sans? */
-    t = AddTest (testList, "sans-serif",
-                 style_western_normal_16,
-                 S_ASCII,
-                 "fi");
-    t->Expect ("macosx", "Helvetica", GLYPHS(192));
-    t->Expect ("win32", "Arial", GLYPHS(73, 76));
-
-    /* Test 8: DEVANAGARI VOWEL I reordering */
-    /* The glyph for DEVANAGARI VOWEL I 2367 (101) is displayed before the glyph for 2361 (99) */
-    t = AddTest (testList, "sans-serif",
-                 style_western_normal_16,
-                 S_UTF8,
-                 "\xe0\xa4\x9a\xe0\xa4\xbe\xe0\xa4\xb9\xe0\xa4\xbf\xe0\xa4\x8f"); // 2330 2366 2361 2367 2319
-    t->Expect ("macosx", "DevanagariMT", GLYPHS(71, 100, 101, 99, 60));
-    t->Expect ("win32", "Mangal", GLYPHS(133, 545, 465, 161, 102));
-
-    // Disabled Test 9 & 10 because these appear to vary on mac
-
-    /* Test 9: NWJ test */
-    //t = AddTest (testList, "Kartika",
-    //             style_western_normal_16,
-    //             S_UTF8,
-    //             "\xe0\xb4\xb3\xe0\xb5\x8d\xe2\x80\x8d");
-    //t->Expect ("macosx", "MalayalamMN", GLYPHS(360));
-    //t->Expect ("win32", "Kartika", GLYPHS(332));
-
-    /* Test 10: NWJ fallback test */
-    /* it isn't clear what we should actually do in this case.  Ideally
-       we would have the same results as the previous test, but because
-       we use sans-serif (i.e. Arial) CSS says we should should really
-       use Arial for U+200D.
-    */
-    //t = AddTest (testList, "sans-serif",
-    //             style_western_normal_16,
-    //             S_UTF8,
-    //             "\xe0\xb4\xb3\xe0\xb5\x8d\xe2\x80\x8d");
-    // Disabled because these appear to vary
-    //t->Expect ("macosx", "MalayalamMN", GLYPHS(360));
-    //t->Expect ("win32", "Kartika", GLYPHS(332));
-}
deleted file mode 100644
--- a/gfx/tests/gtest/gfxTextRunPerfTest.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "gtest/gtest.h"
-
-#include "mozilla/ArrayUtils.h"
-#include "mozilla/gfx/2D.h"
-#include "mozilla/RefPtr.h"
-
-#include "nsCOMPtr.h"
-#include "nsTArray.h"
-#include "nsString.h"
-#include "nsDependentString.h"
-
-#include "prinrval.h"
-
-#include "gfxContext.h"
-#include "gfxFont.h"
-#include "gfxPlatform.h"
-
-#include "gfxFontTest.h"
-
-using namespace mozilla;
-using namespace mozilla::gfx;
-
-struct TestEntry {
-  const char* mFamilies;
-  const char* mString;
-};
-
-TestEntry testList[] = {
-#include "per-word-runs.h"
-{ nullptr, nullptr } // terminator
-};
-
-static already_AddRefed<gfxContext>
-MakeContext ()
-{
-    const int size = 200;
-
-    RefPtr<DrawTarget> drawTarget = gfxPlatform::GetPlatform()->
-        CreateOffscreenContentDrawTarget(IntSize(size, size),
-                                         SurfaceFormat::B8G8R8X8);
-    RefPtr<gfxContext> ctx = gfxContext::CreateOrNull(drawTarget);
-    if (!ctx) {
-        MOZ_CRASH("gfxContext creation failed");
-    }
-
-    return ctx.forget();
-}
-
-const char* lastFamilies = nullptr;
-
-static void
-RunTest (TestEntry *test, gfxContext *ctx) {
-    RefPtr<gfxFontGroup> fontGroup;
-    if (!lastFamilies || strcmp(lastFamilies, test->mFamilies)) {
-        gfxFontStyle style_western_normal_16 (mozilla::gfx::FontStyle::NORMAL,
-                                              400,
-                                              0,
-                                              16.0,
-                                              NS_Atomize(NS_LITERAL_STRING("en")),
-                                              0.0,
-                                              false, false,
-                                              NS_LITERAL_STRING(""));
-
-        fontGroup = gfxPlatform::GetPlatform()->CreateFontGroup(NS_ConvertUTF8toUTF16(test->mFamilies), &style_western_normal_16, nullptr, nullptr, 1.0);
-    }
-
-    RefPtr<gfxTextRun> textRun;
-    uint32_t i;
-    bool isASCII = true;
-    for (i = 0; test->mString[i]; ++i) {
-        if (test->mString[i] & 0x80) {
-            isASCII = false;
-        }
-    }
-    gfxTextRunFactory::Parameters params = {
-      ctx, nullptr, nullptr, nullptr, 0, 60
-    };
-    uint32_t flags = gfxTextRunFactory::TEXT_IS_PERSISTENT;
-    uint32_t length;
-    gfxFontTestStore::NewStore();
-    if (isASCII) {
-        flags |= gfxTextRunFactory::TEXT_IS_ASCII |
-                 gfxTextRunFactory::TEXT_IS_8BIT;
-        length = strlen(test->mString);
-        textRun = fontGroup->MakeTextRun(
-            reinterpret_cast<const uint8_t*>(test->mString), length, &params, flags);
-    } else {
-        NS_ConvertUTF8toUTF16 str(nsDependentCString(test->mString));
-        length = str.Length();
-        textRun = fontGroup->MakeTextRun(str.get(), length, &params, flags);
-    }
-
-    // Should we test drawing?
-    // textRun->Draw(ctx, gfxPoint(0,0), 0, length, nullptr, nullptr, nullptr);
-
-    textRun->GetAdvanceWidth(0, length, nullptr);
-    gfxFontTestStore::DeleteStore();
-}
-
-uint32_t iterations = 1;
-
-TEST(Gfx, TextRunPref) {
-    RefPtr<gfxContext> context = MakeContext();
-
-    // Start timing
-    PRIntervalTime start = PR_IntervalNow();
-
-    for (uint32_t i = 0; i < iterations; ++i) {
-        for (uint test = 0;
-             test < ArrayLength(testList) - 1;
-             test++)
-        {
-            RunTest(&testList[test], context);
-        }
-    }
-
-    PRIntervalTime end = PR_IntervalNow();
-
-    printf("Elapsed time (ms): %d\n", PR_IntervalToMilliseconds(end - start));
-
-}
--- a/gfx/tests/gtest/moz.build
+++ b/gfx/tests/gtest/moz.build
@@ -20,25 +20,19 @@ UNIFIED_SOURCES += [
     'TestLayers.cpp',
     'TestMoz2D.cpp',
     'TestPolygon.cpp',
     'TestQcms.cpp',
     'TestRect.cpp',
     'TestRegion.cpp',
     'TestSkipChars.cpp',
     'TestSwizzle.cpp',
-    # Hangs on linux in ApplyGdkScreenFontOptions
-    #'gfxFontSelectionTest.cpp',
     'TestTextureCompatibility.cpp',
     'TestTextures.cpp',
     'TestTreeTraversal.cpp',
-    # Test works but it doesn't assert anything
-    #'gfxTextRunPerfTest.cpp',
-    # Bug 1179287 - PGO bustage on Linux
-    #'TestTiledLayerBuffer.cpp',
     'TestVsync.cpp',
 ]
 
 UNIFIED_SOURCES += [ '/gfx/2d/unittest/%s' % p for p in [
     'TestBase.cpp',
     'TestBugs.cpp',
     'TestCairo.cpp',
     'TestPoint.cpp',
deleted file mode 100644
--- a/gfx/tests/gtest/per-word-runs.h
+++ /dev/null
@@ -1,58528 +0,0 @@
-{ "Lucida Grande",
-  "Tbbtyr" },
-{ "Lucida Grande",
-  "Tbbtyr" },
-{ "Lucida Grande",
-  "Trggvat Fgnegrq" },
-{ "Lucida Grande",
-  "Yngrfg Urnqyvarf" },
-{ "Lucida Grande",
-  "svyr:///Hfref/ebp/Gc2/cres/fgneg.ugzy" },
-{ "Lucida Grande",
-  "svyr:///Hfref/ebp/Gc2/cres/fgneg.ugzy" },
-{ "serif",
-  "Plpyrf:" },
-{ "serif",
-  "Cntrf:" },
-{ "serif",
-  "V18A:" },
-{ "serif",
-  "(ahzore" },
-{ "serif",
-  "bs" },
-{ "serif",
-  "gvzrf" },
-{ "serif",
-  "gb" },
-{ "serif",
-  "ybbc" },
-{ "serif",
-  "bire" },
-{ "serif",
-  "gur" },
-{ "serif",
-  "cntrf)" },
-{ "serif",
-  "(bayl" },
-{ "serif",
-  "svefg" },
-{ "serif",
-  "A" },
-{ "serif",
-  "cntrf;" },
-{ "serif",
-  "yrnir" },
-{ "serif",
-  "oynax" },
-{ "serif",
-  "nyy" },
-{ "serif",
-  "(frg" },
-{ "serif",
-  "\"1\"" },
-{ "serif",
-  "vapyhqr" },
-{ "serif",
-  "v18a" },
-{ "sans-serif",
-  "5" },
-{ "sans-serif",
-  "0" },
-{ "sans-serif",
-  "Ortva Grfg" },
-{ "Lucida Grande",
-  "Qbar" },
-{ "sans-serif",
-  "5" },
-{ "serif",
-  " (ahzore bs gvzrf gb ybbc bire gur cntrf)" },
-{ "serif",
-  " (bayl ybbc bire gur svefg A cntrf; yrnir oynax gb ybbc bire nyy cntrf)" },
-{ "sans-serif",
-  "0" },
-{ "serif",
-  " (frg gb \"1\" gb vapyhqr v18a cntrf)" },
-{ "sans-serif",
-  "Ortva Grfg" },
-{ "sans-serif",
-  "1" },
-{ "sans-serif",
-  "1" },
-{ "Lucida Grande",
-  "1" },
-{ "Lucida Grande",
-  "10" },
-{ "Lucida Grande",
-  "100" },
-{ "Lucida Grande",
-  "svyr:///Hfref/ebp/Gc2/cres/plpyre.ugzy?plpyrf=1&cntrf=&v18a=0" },
-{ "Lucida Grande",
-  "svyr:///Hfref/ebp/Gc2/cres/plpyre.ugzy?plpyrf=1&cntrf=&v18a=0" },
-{ "serif",
-  "Ohtmvyyn" },
-{ "serif",
-  "irefvba" },
-{ "serif",
-  "2.11" },
-{ "serif",
-  "Dhrel" },
-{ "serif",
-  "Guvf" },
-{ "serif",
-  "cntr" },
-{ "serif",
-  "yrgf" },
-{ "serif",
-  "lbh" },
-{ "serif",
-  "frnepu" },
-{ "serif",
-  "qngnonfr" },
-{ "serif",
-  "sbe" },
-{ "serif",
-  "erpbeqrq" },
-{ "serif",
-  "ohtf." },
-{ "serif",
-  "Fgnghf" },
-{ "serif",
-  ":" },
-{ "Lucida Grande",
-  "HAPBASVEZRQ" },
-{ "Lucida Grande",
-  "ARJ" },
-{ "Lucida Grande",
-  "NFFVTARQ" },
-{ "Lucida Grande",
-  "ERBCRARQ" },
-{ "Lucida Grande",
-  "ERFBYIRQ" },
-{ "Lucida Grande",
-  "IREVSVRQ" },
-{ "Lucida Grande",
-  "PYBFRQ" },
-{ "serif",
-  "Erfbyhgvba" },
-{ "Lucida Grande",
-  "SVKRQ" },
-{ "Lucida Grande",
-  "VAINYVQ" },
-{ "Lucida Grande",
-  "JBAGSVK" },
-{ "Lucida Grande",
-  "YNGRE" },
-{ "Lucida Grande",
-  "ERZVAQ" },
-{ "Lucida Grande",
-  "QHCYVPNGR" },
-{ "Lucida Grande",
-  "JBEXFSBEZR" },
-{ "Lucida Grande",
-  "ZBIRQ" },
-{ "Lucida Grande",
-  "---" },
-{ "serif",
-  "Cyngsbez" },
-{ "Lucida Grande",
-  "Nyy" },
-{ "Lucida Grande",
-  "QRP" },
-{ "Lucida Grande",
-  "UC" },
-{ "Lucida Grande",
-  "Znpvagbfu" },
-{ "Lucida Grande",
-  "CP" },
-{ "Lucida Grande",
-  "FTV" },
-{ "Lucida Grande",
-  "Fha" },
-{ "Lucida Grande",
-  "Bgure" },
-{ "serif",
-  "BcFlf" },
-{ "Lucida Grande",
-  "Jvaqbjf" },
-{ "Lucida Grande",
-  "3.1" },
-{ "Lucida Grande",
-  "95" },
-{ "Lucida Grande",
-  "98" },
-{ "Lucida Grande",
-  "ZR" },
-{ "Lucida Grande",
-  "2000" },
-{ "Lucida Grande",
-  "AG" },
-{ "Lucida Grande",
-  "Znp" },
-{ "Lucida Grande",
-  "Flfgrz" },
-{ "Lucida Grande",
-  "7" },
-{ "Lucida Grande",
-  "7.5" },
-{ "Lucida Grande",
-  "7.6.1" },
-{ "Lucida Grande",
-  "8.0" },
-{ "Lucida Grande",
-  "8.5" },
-{ "Lucida Grande",
-  "8.6" },
-{ "Lucida Grande",
-  "9.k" },
-{ "Lucida Grande",
-  "ZnpBF" },
-{ "Lucida Grande",
-  "K" },
-{ "Lucida Grande",
-  "Yvahk" },
-{ "Lucida Grande",
-  "OFQV" },
-{ "Lucida Grande",
-  "SerrOFQ" },
-{ "Lucida Grande",
-  "ArgOFQ" },
-{ "Lucida Grande",
-  "BcraOFQ" },
-{ "Lucida Grande",
-  "NVK" },
-{ "Lucida Grande",
-  "OrBF" },
-{ "Lucida Grande",
-  "UC-HK" },
-{ "Lucida Grande",
-  "VEVK" },
-{ "Lucida Grande",
-  "Arhgevab" },
-{ "Lucida Grande",
-  "BcraIZF" },
-{ "Lucida Grande",
-  "BF/2" },
-{ "Lucida Grande",
-  "BFS/1" },
-{ "Lucida Grande",
-  "Fbynevf" },
-{ "Lucida Grande",
-  "FhaBF" },
-{ "Lucida Grande",
-  "bgure" },
-{ "serif",
-  "Cevbevgl" },
-{ "Lucida Grande",
-  "C1" },
-{ "Lucida Grande",
-  "C2" },
-{ "Lucida Grande",
-  "C3" },
-{ "Lucida Grande",
-  "C4" },
-{ "Lucida Grande",
-  "C5" },
-{ "serif",
-  "Frirevgl" },
-{ "Lucida Grande",
-  "oybpxre" },
-{ "Lucida Grande",
-  "pevgvpny" },
-{ "Lucida Grande",
-  "znwbe" },
-{ "Lucida Grande",
-  "abezny" },
-{ "Lucida Grande",
-  "zvabe" },
-{ "Lucida Grande",
-  "gevivny" },
-{ "Lucida Grande",
-  "raunaprzrag" },
-{ "serif",
-  "Punatrq" },
-{ "serif",
-  "va" },
-{ "serif",
-  "ynfg" },
-{ "serif",
-  "qnlf." },
-{ "serif",
-  "Ng" },
-{ "serif",
-  "yrnfg" },
-{ "serif",
-  "ibgrf." },
-{ "serif",
-  "Rznvy:" },
-{ "serif",
-  " zngpuvat" },
-{ "serif",
-  "nf" },
-{ "Lucida Grande",
-  "ertrkc" },
-{ "Lucida Grande",
-  "abg" },
-{ "Lucida Grande",
-  "fhofgevat" },
-{ "Lucida Grande",
-  "rknpg" },
-{ "serif",
-  "(Jvyy" },
-{ "serif",
-  "zngpu" },
-{ "serif",
-  "nal" },
-{ "serif",
-  "fryrpgrq" },
-{ "serif",
-  "svryqf)" },
-{ "serif",
-  "Nffvtarq" },
-{ "serif",
-  "Gb" },
-{ "serif",
-  "Ercbegre" },
-{ "serif",
-  "DN" },
-{ "serif",
-  "Pbagnpg" },
-{ "serif",
-  "PP" },
-{ "serif",
-  "Nqqrq" },
-{ "serif",
-  "pbzzrag" },
-{ "Lucida Grande",
-  "Bayl" },
-{ "Lucida Grande",
-  "Rkpyhqr" },
-{ "serif",
-  "ohtf" },
-{ "serif",
-  "ahzorerq:" },
-{ "serif",
-  "Jurer" },
-{ "serif",
-  "svryq(f)" },
-{ "Lucida Grande",
-  "[Oht" },
-{ "Lucida Grande",
-  "perngvba]" },
-{ "Lucida Grande",
-  "nffvtarq_gb" },
-{ "Lucida Grande",
-  "oht_svyr_ybp" },
-{ "Lucida Grande",
-  "oht_frirevgl" },
-{ "Lucida Grande",
-  "oht_fgnghf" },
-{ "Lucida Grande",
-  "pbzcbarag" },
-{ "Lucida Grande",
-  "rirepbasvezrq" },
-{ "Lucida Grande",
-  "tebhcfrg" },
-{ "Lucida Grande",
-  "xrljbeqf" },
-{ "Lucida Grande",
-  "bc_flf" },
-{ "Lucida Grande",
-  "cevbevgl" },
-{ "Lucida Grande",
-  "cebqhpg" },
-{ "Lucida Grande",
-  "dn_pbagnpg" },
-{ "Lucida Grande",
-  "erc_cyngsbez" },
-{ "Lucida Grande",
-  "ercbegre" },
-{ "Lucida Grande",
-  "erfbyhgvba" },
-{ "Lucida Grande",
-  "fubeg_qrfp" },
-{ "Lucida Grande",
-  "fgnghf_juvgrobneq" },
-{ "Lucida Grande",
-  "gnetrg_zvyrfgbar" },
-{ "Lucida Grande",
-  "irefvba" },
-{ "Lucida Grande",
-  "ibgrf" },
-{ "serif",
-  "punatrq." },
-{ "serif",
-  "qngrf" },
-{ "serif",
-  "punatrq" },
-{ "serif",
-  "inyhr" },
-{ "serif",
-  "(bcgvbany)" },
-{ "Lucida Grande",
-  "Abj" },
-{ "serif",
-  "Cebtenz:" },
-{ "Lucida Grande",
-  "Oebjfre" },
-{ "Lucida Grande",
-  "Ybpnyvmngvbaf" },
-{ "Lucida Grande",
-  "Pnyraqne" },
-{ "Lucida Grande",
-  "PPX" },
-{ "Lucida Grande",
-  "Qrevingvirf" },
-{ "Lucida Grande",
-  "Qverpgbel" },
-{ "Lucida Grande",
-  "Qbphzragngvba" },
-{ "Lucida Grande",
-  "Teraqry" },
-{ "Lucida Grande",
-  "ZnvyArjf" },
-{ "Lucida Grande",
-  "zbmvyyn.bet" },
-{ "Lucida Grande",
-  "ZbmvyynPynffvp" },
-{ "Lucida Grande",
-  "AFCE" },
-{ "Lucida Grande",
-  "AFF" },
-{ "Lucida Grande",
-  "CFZ" },
-{ "Lucida Grande",
-  "Euvab" },
-{ "Lucida Grande",
-  "Jrogbbyf" },
-{ "serif",
-  "Irefvba:" },
-{ "Lucida Grande",
-  "1.01" },
-{ "Lucida Grande",
-  "1.1" },
-{ "Lucida Grande",
-  "1.2" },
-{ "Lucida Grande",
-  "1.3" },
-{ "Lucida Grande",
-  "1.4" },
-{ "Lucida Grande",
-  "1.5" },
-{ "Lucida Grande",
-  "1998-03-31" },
-{ "Lucida Grande",
-  "1998-04-08" },
-{ "Lucida Grande",
-  "1998-04-29" },
-{ "Lucida Grande",
-  "1998-06-03" },
-{ "Lucida Grande",
-  "1998-07-28" },
-{ "Lucida Grande",
-  "1998-09-04" },
-{ "Lucida Grande",
-  "2.0" },
-{ "Lucida Grande",
-  "2.1" },
-{ "Lucida Grande",
-  "3.0" },
-{ "Lucida Grande",
-  "3.0.1" },
-{ "Lucida Grande",
-  "3.1.1" },
-{ "Lucida Grande",
-  "3.1.2" },
-{ "Lucida Grande",
-  "3.1.3" },
-{ "Lucida Grande",
-  "3.2" },
-{ "Lucida Grande",
-  "3.5" },
-{ "Lucida Grande",
-  "3.5.1" },
-{ "Lucida Grande",
-  "4.0" },
-{ "Lucida Grande",
-  "4.0.1" },
-{ "Lucida Grande",
-  "4.0.2" },
-{ "Lucida Grande",
-  "4.1" },
-{ "Lucida Grande",
-  "hafcrpvsvrq" },
-{ "serif",
-  "Pbzcbarag:" },
-{ "Lucida Grande",
-  "Nppbhag" },
-{ "Lucida Grande",
-  "Znantre" },
-{ "Lucida Grande",
-  "NpgvirK" },
-{ "Lucida Grande",
-  "Jenccre" },
-{ "Lucida Grande",
-  "Nqqerff" },
-{ "Lucida Grande",
-  "Obbx" },
-{ "Lucida Grande",
-  "Nqqerffobbx/YQNC" },
-{ "Lucida Grande",
-  "(aba-HV)" },
-{ "Lucida Grande",
-  "NF-Juvgrobk" },
-{ "Lucida Grande",
-  "Nheben/EQS" },
-{ "Lucida Grande",
-  "OR" },
-{ "Lucida Grande",
-  "SR" },
-{ "Lucida Grande",
-  "Nhgbsvyy" },
-{ "Lucida Grande",
-  "Orexryrl" },
-{ "Lucida Grande",
-  "QO" },
-{ "Lucida Grande",
-  "Obafnv" },
-{ "Lucida Grande",
-  "Obbxznexf" },
-{ "Lucida Grande",
-  "Obfavna/of-ON" },
-{ "Lucida Grande",
-  "Ubbxf" },
-{ "Lucida Grande",
-  "Oebjfre-Trareny" },
-{ "Lucida Grande",
-  "Ohtmvyyn" },
-{ "Lucida Grande",
-  "Ohvyq" },
-{ "Lucida Grande",
-  "Pbasvt" },
-{ "Lucida Grande",
-  "Ohytnevna/ot-OT" },
-{ "Lucida Grande",
-  "PPX-PQYnlbhg" },
-{ "Lucida Grande",
-  "PPX-PhfgbzFuryy" },
-{ "Lucida Grande",
-  "PPX-Vafgnyyngvba" },
-{ "Lucida Grande",
-  "PPX-Furyy" },
-{ "Lucida Grande",
-  "PPX-Juvgrobk" },
-{ "Lucida Grande",
-  "PPX-Jvmneq" },
-{ "Lucida Grande",
-  "pungmvyyn" },
-{ "Lucida Grande",
-  "Pyvrag" },
-{ "Lucida Grande",
-  "Yvoenel" },
-{ "Lucida Grande",
-  "Pbzcvyre" },
-{ "Lucida Grande",
-  "Pbzcbfre" },
-{ "Lucida Grande",
-  "Pbzcbfvgvba" },
-{ "Lucida Grande",
-  "Pbzcbfvgbe" },
-{ "Lucida Grande",
-  "pbasvt" },
-{ "Lucida Grande",
-  "Pbbxvrf" },
-{ "Lucida Grande",
-  "Pber" },
-{ "Lucida Grande",
-  "Qnrzba" },
-{ "Lucida Grande",
-  "Qnavfu/qn-QX" },
-{ "Lucida Grande",
-  "Qrfcbg" },
-{ "Lucida Grande",
-  "Qvnyhc-Nppbhag" },
-{ "Lucida Grande",
-  "Frghc" },
-{ "Lucida Grande",
-  "Qvnyhc-Vafgnyy" },
-{ "Lucida Grande",
-  "Qvnyhc-Zhc/Zhp" },
-{ "Lucida Grande",
-  "Qvnyhc-Hctenqr" },
-{ "Lucida Grande",
-  "QBZ" },
-{ "Lucida Grande",
-  "Yriry" },
-{ "Lucida Grande",
-  "0" },
-{ "Lucida Grande",
-  "1" },
-{ "Lucida Grande",
-  "2" },
-{ "Lucida Grande",
-  "gb" },
-{ "Lucida Grande",
-  "Grkg" },
-{ "Lucida Grande",
-  "Pbairefvba" },
-{ "Lucida Grande",
-  "Ivrjre" },
-{ "Lucida Grande",
-  "Qhgpu/ay" },
-{ "Lucida Grande",
-  "Rqvgbe" },
-{ "Lucida Grande",
-  "Rzorqqvat" },
-{ "Lucida Grande",
-  "NCVf" },
-{ "Lucida Grande",
-  "Rzorqqvat:" },
-{ "Lucida Grande",
-  "Qbpfuryy" },
-{ "Lucida Grande",
-  "Rinatryvfz" },
-{ "Lucida Grande",
-  "Rirag" },
-{ "Lucida Grande",
-  "Unaqyvat" },
-{ "Lucida Grande",
-  "Svygref" },
-{ "Lucida Grande",
-  "SbagYvo" },
-{ "Lucida Grande",
-  "Sbez" },
-{ "Lucida Grande",
-  "Fhozvffvba" },
-{ "Lucida Grande",
-  "Serapu/se-SE" },
-{ "Lucida Grande",
-  "Trezna-Nhfgevn/qr-NG" },
-{ "Lucida Grande",
-  "TGX" },
-{ "Lucida Grande",
-  "Jvqtrg" },
-{ "Lucida Grande",
-  "Uryc" },
-{ "Lucida Grande",
-  "Uvfgbel" },
-{ "Lucida Grande",
-  "UGZY" },
-{ "Lucida Grande",
-  "Ryrzrag" },
-{ "Lucida Grande",
-  "Pbagebyf" },
-{ "Lucida Grande",
-  "Grkg/CbfgFpevcg" },
-{ "Lucida Grande",
-  "Genafyngvba" },
-{ "Lucida Grande",
-  "UGZYSenzrf" },
-{ "Lucida Grande",
-  "UGZYGnoyrf" },
-{ "Lucida Grande",
-  "Vzntr" },
-{ "Lucida Grande",
-  "VzntrYvo" },
-{ "Lucida Grande",
-  "Vafgnyy" },
-{ "Lucida Grande",
-  "Vafgnyyre" },
-{ "Lucida Grande",
-  "Vafgnyyre:" },
-{ "Lucida Grande",
-  "KCV" },
-{ "Lucida Grande",
-  "Cnpxntrf" },
-{ "Lucida Grande",
-  "KCVafgnyy" },
-{ "Lucida Grande",
-  "Ratvar" },
-{ "Lucida Grande",
-  "Vagreangvbanyvmngvba" },
-{ "Lucida Grande",
-  "Vgnyvna/vg-VG" },
-{ "Lucida Grande",
-  "Wnin" },
-{ "Lucida Grande",
-  "sbe" },
-{ "Lucida Grande",
-  "JroFuryy" },
-{ "Lucida Grande",
-  "Fghof" },
-{ "Lucida Grande",
-  "KCPBZ" },
-{ "Lucida Grande",
-  "Oevqtr" },
-{ "Lucida Grande",
-  "Wnin-Vzcyrzragrq" },
-{ "Lucida Grande",
-  "Cyhtvaf" },
-{ "Lucida Grande",
-  "WninFpevcg" },
-{ "Lucida Grande",
-  "Qrohttre" },
-{ "Lucida Grande",
-  "Wninfpevcg" },
-{ "Lucida Grande",
-  "WCRT" },
-{ "Lucida Grande",
-  "Xrlobneq" },
-{ "Lucida Grande",
-  "Anivtngvba" },
-{ "Lucida Grande",
-  "Ynlbhg" },
-{ "Lucida Grande",
-  "YQNC" },
-{ "Lucida Grande",
-  "P" },
-{ "Lucida Grande",
-  "FQX" },
-{ "Lucida Grande",
-  "Gbbyf" },
-{ "Lucida Grande",
-  "YvoZbpun" },
-{ "Lucida Grande",
-  "Yvoenevrf" },
-{ "Lucida Grande",
-  "Yvir" },
-{ "Lucida Grande",
-  "Pbaarpg" },
-{ "Lucida Grande",
-  "Ybpnyvmngvba" },
-{ "Lucida Grande",
-  "YKE" },
-{ "Lucida Grande",
-  "Znvy" },
-{ "Lucida Grande",
-  "Onpx" },
-{ "Lucida Grande",
-  "Raq" },
-{ "Lucida Grande",
-  "Qngnonfr" },
-{ "Lucida Grande",
-  "Jvaqbj" },
-{ "Lucida Grande",
-  "Sebag" },
-{ "Lucida Grande",
-  "ZnguZY" },
-{ "Lucida Grande",
-  "ZVZR" },
-{ "Lucida Grande",
-  "ZVZRYvo" },
-{ "Lucida Grande",
-  "Zvfpryynarbhf" },
-{ "Lucida Grande",
-  "Zbmobg" },
-{ "Lucida Grande",
-  "Zbmvyyn" },
-{ "Lucida Grande",
-  "Qrirybcre" },
-{ "Lucida Grande",
-  "ZbmvyynGenafyngbe" },
-{ "Lucida Grande",
-  "Arpxb" },
-{ "Lucida Grande",
-  "ArgYvo" },
-{ "Lucida Grande",
-  "Argfpncr" },
-{ "Lucida Grande",
-  "6" },
-{ "Lucida Grande",
-  "Argjbexvat" },
-{ "Lucida Grande",
-  "-" },
-{ "Lucida Grande",
-  "Trareny" },
-{ "Lucida Grande",
-  "VZNC" },
-{ "Lucida Grande",
-  "Arjf" },
-{ "Lucida Grande",
-  "CBC" },
-{ "Lucida Grande",
-  "FZGC" },
-{ "Lucida Grande",
-  "Argjbexvat:" },
-{ "Lucida Grande",
-  "Pnpur" },
-{ "Lucida Grande",
-  "AYF" },
-{ "Lucida Grande",
-  "Abejrtvna/aab-ab" },
-{ "Lucida Grande",
-  "BWV" },
-{ "Lucida Grande",
-  "Cnefre" },
-{ "Lucida Grande",
-  "CreYQNC" },
-{ "Lucida Grande",
-  "CVPF" },
-{ "Lucida Grande",
-  "Cyht-vaf" },
-{ "Lucida Grande",
-  "CAT" },
-{ "Lucida Grande",
-  "Cersreraprf" },
-{ "Lucida Grande",
-  "Cersreraprf:" },
-{ "Lucida Grande",
-  "Onpxraq" },
-{ "Lucida Grande",
-  "Cevagvat" },
-{ "Lucida Grande",
-  "Cebsvyr" },
-{ "Lucida Grande",
-  "OnpxRaq" },
-{ "Lucida Grande",
-  "SebagRaq" },
-{ "Lucida Grande",
-  "Zvtengvba" },
-{ "Lucida Grande",
-  "Cebgbpbyf" },
-{ "Lucida Grande",
-  "EQS" },
-{ "Lucida Grande",
-  "Ertvfgel" },
-{ "Lucida Grande",
-  "Frnepu" },
-{ "Lucida Grande",
-  "Frphevgl" },
-{ "Lucida Grande",
-  "Frphevgl:" },
-{ "Lucida Grande",
-  "PNCF" },
-{ "Lucida Grande",
-  "Pelcgb" },
-{ "Lucida Grande",
-  "Fryrpgvba" },
-{ "Lucida Grande",
-  "Freire" },
-{ "Lucida Grande",
-  "Bcrengvbaf" },
-{ "Lucida Grande",
-  "Fvqrone" },
-{ "Lucida Grande",
-  "Fvatyr" },
-{ "Lucida Grande",
-  "Fvtaba" },
-{ "Lucida Grande",
-  "Fxvanovyvgl" },
-{ "Lucida Grande",
-  "FghoSR" },
-{ "Lucida Grande",
-  "Fglyr" },
-{ "Lucida Grande",
-  "Fhofpevor" },
-{ "Lucida Grande",
-  "FIT" },
-{ "Lucida Grande",
-  "Gnyxonpx" },
-{ "Lucida Grande",
-  "Grfg" },
-{ "Lucida Grande",
-  "Grfgmvyyn" },
-{ "Lucida Grande",
-  "Gurzrf" },
-{ "Lucida Grande",
-  "Guernqvat" },
-{ "Lucida Grande",
-  "Gvaqreobk" },
-{ "Lucida Grande",
-  "Genpxvat" },
-{ "Lucida Grande",
-  "HV" },
-{ "Lucida Grande",
-  "Hfre" },
-{ "Lucida Grande",
-  "vagresnpr" },
-{ "Lucida Grande",
-  "Vagresnpr:" },
-{ "Lucida Grande",
-  "Qrfvta" },
-{ "Lucida Grande",
-  "Srrqonpx" },
-{ "Lucida Grande",
-  "Ncc" },
-{ "Lucida Grande",
-  "Ivrjf" },
-{ "Lucida Grande",
-  "Jro" },
-{ "Lucida Grande",
-  "KOY" },
-{ "Lucida Grande",
-  "KSR" },
-{ "Lucida Grande",
-  "KZY" },
-{ "Lucida Grande",
-  "KC" },
-{ "Lucida Grande",
-  "Nccf" },
-{ "Lucida Grande",
-  "Nccf:" },
-{ "Lucida Grande",
-  "Pzq-yvar" },
-{ "Lucida Grande",
-  "Srngherf" },
-{ "Lucida Grande",
-  "THV" },
-{ "Lucida Grande",
-  "Zvfpryynal" },
-{ "Lucida Grande",
-  "Gbbyxvg/Jvqtrgf" },
-{ "Lucida Grande",
-  "Gbbyxvg/Jvqtrgf:" },
-{ "Lucida Grande",
-  "Zrahf" },
-{ "Lucida Grande",
-  "Gerrf" },
-{ "Lucida Grande",
-  "KHY" },
-{ "Lucida Grande",
-  "Hgvyvgvrf" },
-{ "Lucida Grande",
-  "KCPbaarpg" },
-{ "Lucida Grande",
-  "KCSP" },
-{ "Lucida Grande",
-  "kcvqy" },
-{ "Lucida Grande",
-  "KFYG" },
-{ "serif",
-  "Gnetrg" },
-{ "serif",
-  "Zvyrfgbar:" },
-{ "Lucida Grande",
-  "Shgher" },
-{ "Lucida Grande",
-  "Z1" },
-{ "Lucida Grande",
-  "Z2" },
-{ "Lucida Grande",
-  "Z3" },
-{ "Lucida Grande",
-  "Z4" },
-{ "Lucida Grande",
-  "Z5" },
-{ "Lucida Grande",
-  "Z6" },
-{ "Lucida Grande",
-  "Z7" },
-{ "Lucida Grande",
-  "Z8" },
-{ "Lucida Grande",
-  "Z9" },
-{ "Lucida Grande",
-  "Z10" },
-{ "Lucida Grande",
-  "Z11" },
-{ "Lucida Grande",
-  "Z12" },
-{ "Lucida Grande",
-  "Z13" },
-{ "Lucida Grande",
-  "Z14" },
-{ "Lucida Grande",
-  "Z15" },
-{ "Lucida Grande",
-  "Z16" },
-{ "Lucida Grande",
-  "Z17" },
-{ "Lucida Grande",
-  "Z18" },
-{ "Lucida Grande",
-  "zbmvyyn0.6" },
-{ "Lucida Grande",
-  "zbmvyyn0.9" },
-{ "Lucida Grande",
-  "zbmvyyn0.9.1" },
-{ "Lucida Grande",
-  "zbmvyyn1.0" },
-{ "Lucida Grande",
-  "zbmvyyn1.0.1" },
-{ "Lucida Grande",
-  "zbmvyyn1.1" },
-{ "Lucida Grande",
-  "zbmvyyn1.2" },
-{ "Lucida Grande",
-  "Z19" },
-{ "Lucida Grande",
-  "Z20" },
-{ "Lucida Grande",
-  "Z21" },
-{ "Lucida Grande",
-  "Z22" },
-{ "Lucida Grande",
-  "Z23" },
-{ "Lucida Grande",
-  "Z24" },
-{ "Lucida Grande",
-  "Z25" },
-{ "Lucida Grande",
-  "Z26" },
-{ "Lucida Grande",
-  "Z27" },
-{ "Lucida Grande",
-  "Z28" },
-{ "Lucida Grande",
-  "Z29" },
-{ "Lucida Grande",
-  "Z30" },
-{ "Lucida Grande",
-  "3.0.2" },
-{ "Lucida Grande",
-  "3.3" },
-{ "Lucida Grande",
-  "4.1.1" },
-{ "Lucida Grande",
-  "4.2" },
-{ "serif",
-  "Fhzznel:" },
-{ "serif",
-  "N" },
-{ "serif",
-  "qrfpevcgvba" },
-{ "serif",
-  "ragel:" },
-{ "serif",
-  "HEY:" },
-{ "serif",
-  "Fgnghf" },
-{ "serif",
-  "juvgrobneq:" },
-{ "serif",
-  "Xrljbeqf" },
-{ "serif",
-  ":" },
-{ "Lucida Grande",
-  "pnfr-vafrafvgvir" },
-{ "Lucida Grande",
-  "pnfr-frafvgvir" },
-{ "Lucida Grande",
-  "nyy" },
-{ "Lucida Grande",
-  "jbeqf" },
-{ "Lucida Grande",
-  "nal" },
-{ "Lucida Grande",
-  "erthyne" },
-{ "Lucida Grande",
-  "rkcerffvba" },
-{ "Lucida Grande",
-  "(" },
-{ "Lucida Grande",
-  ")" },
-{ "Lucida Grande",
-  "Nal" },
-{ "Lucida Grande",
-  "bs" },
-{ "Lucida Grande",
-  "gur" },
-{ "Lucida Grande",
-  "yvfgrq" },
-{ "Lucida Grande",
-  "frg" },
-{ "Lucida Grande",
-  "Abar" },
-{ "Lucida Grande",
-  "Oht" },
-{ "Lucida Grande",
-  "#" },
-{ "Lucida Grande",
-  "Fhzznel" },
-{ "Lucida Grande",
-  "Cebqhpg" },
-{ "Lucida Grande",
-  "Irefvba" },
-{ "Lucida Grande",
-  "Cyngsbez" },
-{ "Lucida Grande",
-  "HEY" },
-{ "Lucida Grande",
-  "BF/Irefvba" },
-{ "Lucida Grande",
-  "Fgnghf" },
-{ "Lucida Grande",
-  "Juvgrobneq" },
-{ "Lucida Grande",
-  "Xrljbeqf" },
-{ "Lucida Grande",
-  "Erfbyhgvba" },
-{ "Lucida Grande",
-  "Frirevgl" },
-{ "Lucida Grande",
-  "Cevbevgl" },
-{ "Lucida Grande",
-  "Pbzcbarag" },
-{ "Lucida Grande",
-  "NffvtarqGb" },
-{ "Lucida Grande",
-  "ErcbegrqOl" },
-{ "Lucida Grande",
-  "Ibgrf" },
-{ "Lucida Grande",
-  "DNPbagnpg" },
-{ "Lucida Grande",
-  "PP" },
-{ "Lucida Grande",
-  "OhtfGuvfQrcraqfBa" },
-{ "Lucida Grande",
-  "BgureOhtfQrcraqvatBaGuvf" },
-{ "Lucida Grande",
-  "Nggnpuzrag" },
-{ "Lucida Grande",
-  "qrfpevcgvba" },
-{ "Lucida Grande",
-  "qngn" },
-{ "Lucida Grande",
-  "zvzr" },
-{ "Lucida Grande",
-  "glcr" },
-{ "Lucida Grande",
-  "vf" },
-{ "Lucida Grande",
-  "cngpu" },
-{ "Lucida Grande",
-  "Gnetrg" },
-{ "Lucida Grande",
-  "Zvyrfgbar" },
-{ "Lucida Grande",
-  "Ynfg" },
-{ "Lucida Grande",
-  "punatrq" },
-{ "Lucida Grande",
-  "qngr" },
-{ "Lucida Grande",
-  "Qnlf" },
-{ "Lucida Grande",
-  "fvapr" },
-{ "Lucida Grande",
-  "oht" },
-{ "Lucida Grande",
-  "Pbzzrag" },
-{ "Lucida Grande",
-  "rdhny" },
-{ "Lucida Grande",
-  "pbagnvaf" },
-{ "Lucida Grande",
-  "(pnfr-frafvgvir)" },
-{ "Lucida Grande",
-  "(pnfr-vafrafvgvir)" },
-{ "Lucida Grande",
-  "qbrf" },
-{ "Lucida Grande",
-  "pbagnva" },
-{ "Lucida Grande",
-  "yrff" },
-{ "Lucida Grande",
-  "guna" },
-{ "Lucida Grande",
-  "terngre" },
-{ "Lucida Grande",
-  "abar" },
-{ "Lucida Grande",
-  "orsber" },
-{ "Lucida Grande",
-  "nsgre" },
-{ "Lucida Grande",
-  "ol" },
-{ "Lucida Grande",
-  "Naq" },
-{ "serif",
-  "     " },
-{ "Lucida Grande",
-  "Nqq nabgure obbyrna puneg" },
-{ "serif",
-  "Jung" },
-{ "serif",
-  "vf" },
-{ "serif",
-  "guvf" },
-{ "serif",
-  "fghss?" },
-{ "Lucida Grande",
-  "Be" },
-{ "serif",
-  "Eha" },
-{ "serif",
-  "dhrel" },
-{ "serif",
-  "Ybnq" },
-{ "serif",
-  "erzrzorerq" },
-{ "serif",
-  "dhrel:" },
-{ "serif",
-  "Sbetrg" },
-{ "Lucida Grande",
-  "nfqs" },
-{ "Lucida Grande",
-  "nfqs2" },
-{ "serif",
-  "Erzrzore" },
-{ "serif",
-  "qrsnhyg" },
-{ "serif",
-  "dhrel," },
-{ "serif",
-  "naq" },
-{ "serif",
-  "anzr" },
-{ "serif",
-  "vg:" },
-{ "serif",
-  "Fbeg" },
-{ "serif",
-  "Ol:" },
-{ "Lucida Grande",
-  "Ahzore" },
-{ "Lucida Grande",
-  "'Vzcbegnapr'" },
-{ "Lucida Grande",
-  "Nffvtarr" },
-{ "Lucida Grande",
-  "Fhozvg dhrel" },
-{ "Lucida Grande",
-  "Erfrg onpx gb gur qrsnhyg dhrel" },
-{ "serif",
-  "Tvir" },
-{ "serif",
-  "zr" },
-{ "serif",
-  "n" },
-{ "serif",
-  "pyhr" },
-{ "serif",
-  "nobhg" },
-{ "serif",
-  "ubj" },
-{ "serif",
-  "hfr" },
-{ "serif",
-  "sbez." },
-{ "serif",
-  "Ybt" },
-{ "serif",
-  "fbzrbar" },
-{ "serif",
-  "orfvqrf" },
-{ "serif",
-  "sbbonm@zbmvyyn.bet" },
-{ "serif",
-  "Punatr" },
-{ "serif",
-  "lbhe" },
-{ "serif",
-  "cnffjbeq" },
-{ "serif",
-  "be" },
-{ "serif",
-  "cersreraprf." },
-{ "serif",
-  "Ercbeg" },
-{ "serif",
-  "arj" },
-{ "serif",
-  "oht." },
-{ "serif",
-  "Bcra" },
-{ "serif",
-  "Ohtmvyyn" },
-{ "serif",
-  "nppbhag" },
-{ "serif",
-  "Oht" },
-{ "serif",
-  "ercbegf" },
-{ "serif",
-  "Ohtmvyyn" },
-{ "serif",
-  "Zbmvyyn" },
-{ "serif",
-  "oht" },
-{ "serif",
-  "flfgrz." },
-{ "serif",
-  "Sbe" },
-{ "serif",
-  "zber" },
-{ "serif",
-  "vasbezngvba" },
-{ "serif",
-  "jung" },
-{ "serif",
-  "vg" },
-{ "serif",
-  "pna" },
-{ "serif",
-  "qb," },
-{ "serif",
-  "frr" },
-{ "serif",
-  "zbmvyyn.bet" },
-{ "serif",
-  "'f" },
-{ "serif",
-  "oht" },
-{ "serif",
-  "cntrf" },
-{ "serif",
-  "." },
-{ "serif",
-  "Arj" },
-{ "serif",
-  "|" },
-{ "serif",
-  "Dhrel" },
-{ "Lucida Grande",
-  "Svaq" },
-{ "serif",
-  "#" },
-{ "serif",
-  "Ercbegf" },
-{ "serif",
-  "Zl" },
-{ "serif",
-  "ibgrf" },
-{ "serif",
-  "Rqvg" },
-{ "serif",
-  "cersf" },
-{ "serif",
-  "bhg" },
-{ "serif",
-  "sbbonm@zbmvyyn.bet" },
-{ "serif",
-  "Ohtmvyyn irefvba 2.11" },
-{ "serif",
-  " " },
-{ "serif",
-  "Guvf cntr yrgf lbh frnepu gur qngnonfr sbe erpbeqrq ohtf." },
-{ "Lucida Grande",
-  "Jvaqbjf 3.1" },
-{ "Lucida Grande",
-  "Jvaqbjf 95" },
-{ "Lucida Grande",
-  "Jvaqbjf 98" },
-{ "Lucida Grande",
-  "Jvaqbjf ZR" },
-{ "Lucida Grande",
-  "Jvaqbjf 2000" },
-{ "Lucida Grande",
-  "Jvaqbjf AG" },
-{ "Lucida Grande",
-  "Znp Flfgrz 7" },
-{ "serif",
-  " zngpuvat nf " },
-{ "serif",
-  "Nffvtarq Gb" },
-{ "serif",
-  "Ercbegre" },
-{ "serif",
-  "DN Pbagnpg" },
-{ "serif",
-  "(Jvyy zngpu nal bs gur fryrpgrq svryqf)" },
-{ "serif",
-  "PP" },
-{ "serif",
-  "Nqqrq pbzzrag" },
-{ "serif",
-  " ohtf ahzorerq: " },
-{ "serif",
-  "Punatrq va gur " },
-{ "serif",
-  "ynfg " },
-{ "serif",
-  " qnlf." },
-{ "serif",
-  "Ng " },
-{ "serif",
-  "yrnfg " },
-{ "serif",
-  " ibgrf." },
-{ "serif",
-  "Jurer gur svryq(f)" },
-{ "Lucida Grande",
-  "[Oht perngvba]" },
-{ "serif",
-  "punatrq." },
-{ "serif",
-  "qngrf " },
-{ "serif",
-  "gb " },
-{ "Lucida Grande",
-  "Abj" },
-{ "serif",
-  "punatrq gb inyhr " },
-{ "serif",
-  " (bcgvbany)" },
-{ "serif",
-  "1," },
-{ "serif",
-  "ohtmvyyn.zbmvyyn.bet," },
-{ "serif",
-  "558" },
-{ "serif",
-  "1, 1, ohtmvyyn.zbmvyyn.bet, 558" },
-{ "serif",
-  "Gnetrg Zvyrfgbar:" },
-{ "serif",
-  "Pyvpx" },
-{ "serif",
-  "urer" },
-{ "serif",
-  "vs" },
-{ "serif",
-  "lbh'er" },
-{ "serif",
-  "univat" },
-{ "serif",
-  "ceboyrzf" },
-{ "serif",
-  "jvgu" },
-{ "serif",
-  "cntr." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fhes'f" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Gnzcn" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Onl'f" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Jneera" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fncc" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "rnearq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "uvf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "sbhegu" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fgenvtug" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ceb" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Objy" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "vaivgr." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Hc" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "sbe" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Gvgnaf," },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ohpf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Vs" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "gur" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Gvgnaf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "naq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ohppnarref" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "qba'g" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ernpu" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fhcre" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Objy," },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ernfba" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "jba'g" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "or" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ynpx" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "bs" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "gnyrag." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Obgu" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "pyhof" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "jvyy" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fraq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "rvtug" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "cynlref" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "gb" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "2001" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "NSP-ASP" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ceb" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Objy" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "," },
-{ "Arial,Helvetica,sans-serif,serif",
-  "jvgu" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Gnzcn" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Onl" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ynaqvat" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "n" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "yrnthr-uvtu" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fvk" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fgnegref" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "va" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ASP." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Qbabina" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ZpAnoo" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Phegvf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Znegva" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ner" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "nzbat" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "zbfg" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "abgvprnoyr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "bzvffvbaf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "sbe" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Sro." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "4" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "tnzr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ubabyhyh." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "\xe2""\x80""\xa2"" " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "NSP" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ebfgre" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "|" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ASP" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Hfre" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "srrqonpx" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ahzore" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Pehapuvat:" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Arj" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "oybbq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Hc" },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "FcbegfPragre," },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "11" },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "RG" },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "Ceb" },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "Objy" },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "vaivgrrf" },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "naq" },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "fahorrf." },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "Jngpu" },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "FcbegfPragre." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "URNQYVARF" },
-{ "times,serif",
-  "Synzrq" },
-{ "times,serif",
-  "Qhpx:" },
-{ "times,serif",
-  "Fgehttyvat" },
-{ "times,serif",
-  "Nanurvz" },
-{ "times,serif",
-  "sverf" },
-{ "times,serif",
-  "Unegfohet" },
-{ "times,serif",
-  "Pneqvanyf" },
-{ "times,serif",
-  "hctenqr" },
-{ "times,serif",
-  "cvgpuvat," },
-{ "times,serif",
-  "genqr" },
-{ "times,serif",
-  "Gngvf" },
-{ "times,serif",
-  "sbe" },
-{ "times,serif",
-  "Ureznafba" },
-{ "times,serif",
-  "  " },
-{ "times,serif",
-  "Enatref" },
-{ "times,serif",
-  "qrny" },
-{ "times,serif",
-  "Pynlgba" },
-{ "times,serif",
-  "HFP" },
-{ "times,serif",
-  "pnyyf" },
-{ "times,serif",
-  "va" },
-{ "times,serif",
-  "Pneebyy" },
-{ "times,serif",
-  "gb" },
-{ "times,serif",
-  "qvfphff" },
-{ "times,serif",
-  "pbnpuvat" },
-{ "times,serif",
-  "inpnapl" },
-{ "times,serif",
-  "Pbnpuvat" },
-{ "times,serif",
-  "ehzbe" },
-{ "times,serif",
-  "prageny" },
-{ "times,serif",
-  "Onlab" },
-{ "times,serif",
-  "envfrf" },
-{ "times,serif",
-  "HAYI" },
-{ "times,serif",
-  "fgnxrf," },
-{ "times,serif",
-  "zvtug" },
-{ "times,serif",
-  "gnxr" },
-{ "times,serif",
-  "yrtny" },
-{ "times,serif",
-  "npgvba" },
-{ "times,serif",
-  "Zrgf" },
-{ "times,serif",
-  "ercbegrqyl" },
-{ "times,serif",
-  "gelvat" },
-{ "times,serif",
-  "znxr" },
-{ "times,serif",
-  "n" },
-{ "times,serif",
-  "qrny" },
-{ "times,serif",
-  "Jryyf" },
-{ "times,serif",
-  "Ynfg" },
-{ "times,serif",
-  "qnapr?" },
-{ "times,serif",
-  "Rvtug" },
-{ "times,serif",
-  "Enzf" },
-{ "times,serif",
-  "svarq" },
-{ "times,serif",
-  "Obo" },
-{ "times,serif",
-  "'A" },
-{ "times,serif",
-  "Jrnir" },
-{ "times,serif",
-  "Zbhearef" },
-{ "times,serif",
-  "znex" },
-{ "times,serif",
-  "naavirefnel" },
-{ "times,serif",
-  "juvyr" },
-{ "times,serif",
-  "Pneehgu" },
-{ "times,serif",
-  "gevny" },
-{ "times,serif",
-  "zbirf" },
-{ "times,serif",
-  "ba" },
-{ "times,serif",
-  "Nagyrl" },
-{ "times,serif",
-  "unq" },
-{ "times,serif",
-  "phgf," },
-{ "times,serif",
-  "oehvfrf;" },
-{ "times,serif",
-  "qehtf" },
-{ "times,serif",
-  "qvfpbirerq" },
-{ "times,serif",
-  "arneol" },
-{ "times,serif",
-  "Tnyyrel:" },
-{ "times,serif",
-  "Jrqarfqnl'f" },
-{ "times,serif",
-  "orfg" },
-{ "times,serif",
-  "Jver" },
-{ "times,serif",
-  "|" },
-{ "times,serif",
-  "Zber" },
-{ "times,serif",
-  "Arjf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "GUR" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "TNZR" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "JBA'G" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "OERNX" },
-{ "verdana,geneva,sans-serif,serif",
-  "Jung" },
-{ "verdana,geneva,sans-serif,serif",
-  "qbrf" },
-{ "verdana,geneva,sans-serif,serif",
-  "Nyrk" },
-{ "verdana,geneva,sans-serif,serif",
-  "Ebqevthrm'f" },
-{ "verdana,geneva,sans-serif,serif",
-  "zbafgre" },
-{ "verdana,geneva,sans-serif,serif",
-  "pbagenpg" },
-{ "verdana,geneva,sans-serif,serif",
-  "zrna" },
-{ "verdana,geneva,sans-serif,serif",
-  "sbe" },
-{ "verdana,geneva,sans-serif,serif",
-  "gur" },
-{ "verdana,geneva,sans-serif,serif",
-  "shgher" },
-{ "verdana,geneva,sans-serif,serif",
-  "bs" },
-{ "verdana,geneva,sans-serif,serif",
-  "tnzr?" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "  " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Zber..." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fgnex:" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Gur" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "tenaq" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "byq" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "tnzr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "jvyy" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "fheivir" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ORNEPNGF" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ORJNER" },
-{ "verdana,geneva,sans-serif,serif",
-  "Va" },
-{ "verdana,geneva,sans-serif,serif",
-  "Pvapvaangv," },
-{ "verdana,geneva,sans-serif,serif",
-  "vg'f" },
-{ "verdana,geneva,sans-serif,serif",
-  "Tbq," },
-{ "verdana,geneva,sans-serif,serif",
-  "pbhagel" },
-{ "verdana,geneva,sans-serif,serif",
-  "naq" },
-{ "verdana,geneva,sans-serif,serif",
-  "Pebffgbja" },
-{ "verdana,geneva,sans-serif,serif",
-  "Fubbgbhg." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fubbgbhg" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "oevatf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "bhg" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "gur" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "orfg" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "va" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Knivre." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "NFX" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "NJNL" },
-{ "verdana,geneva,sans-serif,serif",
-  "Qvpxvr" },
-{ "verdana,geneva,sans-serif,serif",
-  "I" },
-{ "verdana,geneva,sans-serif,serif",
-  "nafjref" },
-{ "verdana,geneva,sans-serif,serif",
-  "lbhe" },
-{ "verdana,geneva,sans-serif,serif",
-  "dhrevrf" },
-{ "verdana,geneva,sans-serif,serif",
-  "ba" },
-{ "verdana,geneva,sans-serif,serif",
-  "Obo" },
-{ "verdana,geneva,sans-serif,serif",
-  "Xavtug," },
-{ "verdana,geneva,sans-serif,serif",
-  "HAYI" },
-{ "verdana,geneva,sans-serif,serif",
-  "zber." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ivgnyr:" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Lbh'ir" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "tbg" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "dhrfgvbaf...?" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  " GBQNL'F" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ORFG" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "     VA" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ARJF" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Qnyynf'" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Uvpxf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ab" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "qhzzl" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Vf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "bjare" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Enatref" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "penml" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "cnlvat" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Nyrk" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ebqevthrm?" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Abg" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "vs" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "lbh" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ybbx" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ng" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "jung" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ur" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "qvq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fgnef." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Znl:" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Va" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Qraire," },
-{ "Arial,Helvetica,sans-serif,serif",
-  "gur" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "raq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "vf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "arne" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "sbe" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Vffry" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Qna" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Vffry'f" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ahttrgf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fgvax" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "nccneragyl" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "yvxr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "uvz," },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ohg" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Vffry" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "znqr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "guvf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "zrff" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "uvzfrys." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Enggb:" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ZW'f" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "bcgvbaf?" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Cevpryrff" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Zvpunry" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Wbeqna" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "unf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "cneg" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Jvmneqf." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Abj" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Pncvgnyf." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "gung" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "tbbq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "yvivat," },
-{ "Arial,Helvetica,sans-serif,serif",
-  "be" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "jung?" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fgrebvq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fzhttyvat:" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Pevzr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ohg" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "chavfuzrag" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Sbezre" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ASY" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ehaavat" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "onpx" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Trbetr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Wbarf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "vf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "havdhr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "--" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "jnf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "obgu" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "neerfgrq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "cebfrphgrq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fgrebvqf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fzhttyvat." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Zber" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Srngherf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "naq" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pbyhzaf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "|" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Qnvyl" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Yvar" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "     YVIR" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "BA" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "RFCA.pbz" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "RFCA'f" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fcbegf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ercbegref:" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Cnegvat" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fubgf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Qvpx" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fpunnc" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Pb." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "raq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "rnpu" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fcbegf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ercbegref" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Cnegvat" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fubg." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Yvfgra" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "gurz" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "urer." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Cbyy:" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Cvpx" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "FcbegfPragre'f" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fubjpnfr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "uvtuyvtug" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "FcbegfPragre" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "RFCA.pbz" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "grnzvat" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "hc" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "trg" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "lbhe" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "vachg" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ba" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "uvtuyvtugf." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "     RFCA" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "PYNFFVP" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fgratry" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "znqr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "onfronyy" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "sha" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Pnfrl" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fgratry," },
-{ "Arial,Helvetica,sans-serif,serif",
-  "jub" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "jba" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "frira" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Jbeyq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Frevrf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "nf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Lnaxrrf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "znantre," },
-{ "Arial,Helvetica,sans-serif,serif",
-  "cebsvyrq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Guhefqnl" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "8" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "c.z." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "zvqavtug" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "RG." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Znevf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "jnf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "hayvxryl" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ubzr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "eha" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "xvat" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ebtre" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Znevf," },
-{ "Arial,Helvetica,sans-serif,serif",
-  "oebxr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ehgu'f" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "erpbeq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ol" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "uvggvat" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "61" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ubzref" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "1961," },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Sevqnl." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "     FCRPVNY" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "FRPGVBAF" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Nguyrgrf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Punaary:" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Trg" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "hc" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "pybfr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "jvgu" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Naan," },
-{ "Arial,Helvetica,sans-serif,serif",
-  "N-Ebq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Trg" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "npprff" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Naan" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Xbheavxbin," },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ebqevthrm" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "qbmraf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "bgure" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ceb" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "nguyrgrf'" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "crefbany" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Jro" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fvgrf." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Pbagrfgf:" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Zbaqnl" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Avtug" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Pbhagqbja" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Punyyratr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Svaq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "bhg" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "sbbgonyy" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "gevivn" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fxvyyf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "dhvpx" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "rabhtu" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "orng" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "pybpx" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "pbhyq" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "jva" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "gevc" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "RFCA" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fghqvbf." },
-{ "times,serif",
-  "2-Zvahgr" },
-{ "times,serif",
-  "Qevyy" },
-{ "times,serif",
-  "Jvyy" },
-{ "times,serif",
-  "guvf" },
-{ "times,serif",
-  "pbagrfgnag" },
-{ "times,serif",
-  "ernpu" },
-{ "times,serif",
-  "gur" },
-{ "times,serif",
-  "svanyf" },
-{ "times,serif",
-  "bs" },
-{ "times,serif",
-  "RFCA'f" },
-{ "times,serif",
-  "2-Zvahgr" },
-{ "times,serif",
-  "Qevyy?" },
-{ "times,serif",
-  "Jngpu" },
-{ "times,serif",
-  "naq" },
-{ "times,serif",
-  "svaq" },
-{ "times,serif",
-  "bhg." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Erny:" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "28.8" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Uvtuyvtugf:" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Nhqvb" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "|" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ivqrb" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "     NHQVB/IVQRB" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "\xe2""\x80""\xa2"" Sevqnl," },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "1" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "RG" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Obo" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Yrl" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "cerivrjf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "gur" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "yngrfg" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Bhgfvqr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Yvarf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "2" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "RFCA.pbz" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "pbyyrtr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ubbc" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "theh" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Wbr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Yhaneqv" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "3" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Zvaarfbgn" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Jvyq" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "punvezna" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Anrtryr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pbzcyrgr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pung" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fpurqhyr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "  PUNG" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "sebz" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "RFCAZNT.pbz" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Arrq" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "n" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "yvsg?" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Qnivq" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Syrzvat" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "tbrf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "fubccvat" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "sbe" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "n" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "arj" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "wbpxfgenc" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Uhtr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Hcfvqr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ovyy" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Jnygba" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "guvaxf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Lnb" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Zvat" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "unf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "hayvzvgrq" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "cbgragvny" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "  ASY.PBZ" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Jrrx" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "16" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "zngpuhcf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ibgr:" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fgncyrf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pbnpu" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "bs" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Lrne" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "RFCA.pbz:" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "URYC" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "NQIREGVFRE" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "VASB" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "PBAGNPG" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "HF" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "GBBYF" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "FVGR" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ZNC" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pbclevtug" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "\xc2""\xa9""2000" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "RFCA" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Vagrearg" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Iragherf." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Grezf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "bs" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Hfr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "naq" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Cevinpl" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Cbyvpl" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fnsrgl" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Vasbezngvba" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ner" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "nccyvpnoyr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "gb" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "guvf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "fvgr." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Rzcyblzrag" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "bccbeghavgvrf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ng" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "RFCA.pbz." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "BA-NVE:" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Nfx" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ubbcf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "dhrfgvba" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "IBGR:" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "FcbegfPragre" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Tnzr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "bs" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Jrrx" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ONFRONYY:" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Gur" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "arjrfg" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ehzbe" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Prageny" },
-{ "Lucida Grande",
-  "RFCA" },
-{ "Lucida Grande",
-  "Xrljbeq" },
-{ "Lucida Grande",
-  "Frnepu" },
-{ "Lucida Grande",
-  "RFCA.pbz" },
-{ "Lucida Grande",
-  "Gur" },
-{ "Lucida Grande",
-  "Jro" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "  RFCA" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Argjbex:" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ASY.pbz" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "|" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "AON.pbz" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "AUY.pbz" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ANFPNE" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "NOPFcbegf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "RKCA" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "SNAGNFL" },
-{ "Arial,Helvetica,sans-serif,serif",
-  " Fcbeg" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Frpgvbaf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "  " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ASY" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "    " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fpberf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pbyyrtr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "SO" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  " | " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Objyf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "AON" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Z" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "OO" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "AUY" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Tbys" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Bayvar" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "J" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Onfronyy" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fcbegf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Graavf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Zbgbef" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Obkvat" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ubefr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Enpvat" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Rkgerzr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fbppre" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fbpprearg.pbz" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "RFCAqrcbegrf" },
-{ "Lucida Grande",
-  "Zber" },
-{ "Lucida Grande",
-  "Fcbegf" },
-{ "Lucida Grande",
-  "OO-zvabef." },
-{ "Lucida Grande",
-  "Bylzcvpf" },
-{ "Lucida Grande",
-  "Svt." },
-{ "Lucida Grande",
-  "fxngvat" },
-{ "Lucida Grande",
-  "Uvtu" },
-{ "Lucida Grande",
-  "Fpubby" },
-{ "Lucida Grande",
-  "Ubpxrl-zva." },
-{ "Lucida Grande",
-  "Bhgqbbef" },
-{ "Lucida Grande",
-  "JAON" },
-{ "Lucida Grande",
-  "fcbegf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  " FcbegfZnyy" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "  Fubc" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "@" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "AvxrGbja" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "GrnzFgber" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Qvfarl" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fgber" },
-{ "Arial,Helvetica,sans-serif,serif",
-  " Pbzzhavgl" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fvta-Va/Ubzr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Zrffntr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Obneqf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  " RFCA" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Guvf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "vf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "FcbegfPragre" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "RFCA" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Enqvb" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "GI" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Yvfgvatf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Crefbanyvgvrf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Nfx" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Qna" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Cngevpx" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Crgre" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Tnzzbaf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Puevf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Zbegrafra" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Qvpx" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ivgnyr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Zry" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Xvcre" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "We." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fcrpvny" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Frpgvbaf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Nguyrgrf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Punaary" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "FcbegfSvtherf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Genvavat" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ebbz" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ivqrb" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Tnzr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Erivrjf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pbagrfgf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Zba." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Avtug" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Punyyratr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ovt" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Purrfr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "bs" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "gur" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Jrrx" },
-{ "verdana,geneva,sans-serif,serif",
-  "NOPARJF.pbz" },
-{ "verdana,geneva,sans-serif,serif",
-  "TB.pbz" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "  RFCA Argjbex: " },
-{ "Arial,Helvetica,sans-serif,serif",
-  " Fcbeg Frpgvbaf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "  " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "    " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pbyyrtr SO" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  " | " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Z Pbyyrtr OO" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Tbys Bayvar" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "J Pbyyrtr OO" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pbyyrtr Fcbegf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ubefr Enpvat" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Rkgerzr Fcbegf" },
-{ "Lucida Grande",
-  "Zber Fcbegf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  " FcbegfZnyy" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "  Fubc @ RFCA.pbz" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Qvfarl Fgber" },
-{ "Arial,Helvetica,sans-serif,serif",
-  " Pbzzhavgl" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Zrffntr Obneqf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  " RFCA" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Guvf vf FcbegfPragre" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "RFCA Enqvb" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "RFCA GI Yvfgvatf" },
-{ "Verdana, Geneva, Arial,serif",
-  "\xe2""\x80""\xa2""" },
-{ "Verdana, Geneva, Arial,serif",
-  "Ohyyqbmre" },
-{ "Verdana, Geneva, Arial,serif",
-  "Ercbeg" },
-{ "Verdana, Geneva, Arial,serif",
-  "Arire" },
-{ "Verdana, Geneva, Arial,serif",
-  "oevat" },
-{ "Verdana, Geneva, Arial,serif",
-  "n" },
-{ "Verdana, Geneva, Arial,serif",
-  "xavsr" },
-{ "Verdana, Geneva, Arial,serif",
-  "gb" },
-{ "Verdana, Geneva, Arial,serif",
-  "tha" },
-{ "Verdana, Geneva, Arial,serif",
-  "svtug" },
-{ "Verdana, Geneva, Arial,serif",
-  "--" },
-{ "Verdana, Geneva, Arial,serif",
-  "naq" },
-{ "Verdana, Geneva, Arial,serif",
-  "bgure" },
-{ "Verdana, Geneva, Arial,serif",
-  "SSY" },
-{ "Verdana, Geneva, Arial,serif",
-  "yrffbaf." },
-{ "Verdana, Geneva, Arial,serif",
-  "Objy" },
-{ "Verdana, Geneva, Arial,serif",
-  "Cvpx'rz" },
-{ "Verdana, Geneva, Arial,serif",
-  "RFCA'f" },
-{ "Verdana, Geneva, Arial,serif",
-  "serr" },
-{ "Verdana, Geneva, Arial,serif",
-  "Pbyyrtr" },
-{ "Verdana, Geneva, Arial,serif",
-  "unf" },
-{ "Verdana, Geneva, Arial,serif",
-  "nqqrq" },
-{ "Verdana, Geneva, Arial,serif",
-  "gjvfg" },
-{ "Verdana, Geneva, Arial,serif",
-  "guvf" },
-{ "Verdana, Geneva, Arial,serif",
-  "ubyvqnl" },
-{ "Verdana, Geneva, Arial,serif",
-  "frnfba." },
-{ "Verdana, Geneva, Arial,serif",
-  "Purpx" },
-{ "Verdana, Geneva, Arial,serif",
-  "vg" },
-{ "Verdana, Geneva, Arial,serif",
-  "bhg." },
-{ "Verdana, Geneva, Arial,serif",
-  "Cynl" },
-{ "Verdana, Geneva, Arial,serif",
-  "3Cynl" },
-{ "Verdana, Geneva, Arial,serif",
-  "Cerfragrq" },
-{ "Verdana, Geneva, Arial,serif",
-  "ol" },
-{ "Verdana, Geneva, Arial,serif",
-  "Abxvn," },
-{ "Verdana, Geneva, Arial,serif",
-  "FOP" },
-{ "Verdana, Geneva, Arial,serif",
-  "&" },
-{ "Verdana, Geneva, Arial,serif",
-  "OryyFbhgu" },
-{ "Verdana, Geneva, Arial,serif",
-  "  " },
-{ "Verdana, Geneva, Arial,serif",
-  "Gnxr" },
-{ "Verdana, Geneva, Arial,serif",
-  "gur" },
-{ "Verdana, Geneva, Arial,serif",
-  "gbhe" },
-{ "Verdana, Geneva, Arial,serif",
-  "Jveryrff" },
-{ "Verdana, Geneva, Arial,serif",
-  "3Cynl" },
-{ "Verdana, Geneva, Arial,serif",
-  "SNAGNFL" },
-{ "Verdana, Geneva, Arial,serif",
-  "TNZRF" },
-{ "Verdana, Geneva, Arial,serif",
-  "FCBEGFZNYY" },
-{ "Verdana, Geneva, Arial,serif",
-  "Fvzcyl" },
-{ "Verdana, Geneva, Arial,serif",
-  "Eribygvat" },
-{ "Verdana, Geneva, Arial,serif",
-  "Qe." },
-{ "Verdana, Geneva, Arial,serif",
-  "Wnpx" },
-{ "Verdana, Geneva, Arial,serif",
-  "qvfphffrf" },
-{ "Verdana, Geneva, Arial,serif",
-  "Ahttrgf'" },
-{ "Verdana, Geneva, Arial,serif",
-  "arne" },
-{ "Verdana, Geneva, Arial,serif",
-  "zhgval." },
-{ "Verdana, Geneva, Arial,serif",
-  "Chg" },
-{ "Verdana, Geneva, Arial,serif",
-  "Zr" },
-{ "Verdana, Geneva, Arial,serif",
-  "Va," },
-{ "Verdana, Geneva, Arial,serif",
-  "Pbnpu" },
-{ "Verdana, Geneva, Arial,serif",
-  "Ernqref" },
-{ "Verdana, Geneva, Arial,serif",
-  "funer" },
-{ "Verdana, Geneva, Arial,serif",
-  "zrzbevrf" },
-{ "Verdana, Geneva, Arial,serif",
-  "bs" },
-{ "Verdana, Geneva, Arial,serif",
-  "gurve" },
-{ "Verdana, Geneva, Arial,serif",
-  "pbnpurf." },
-{ "Verdana, Geneva, Arial,serif",
-  "Enycu" },
-{ "Verdana, Geneva, Arial,serif",
-  "Jvyrl" },
-{ "Verdana, Geneva, Arial,serif",
-  "Gurer" },
-{ "Verdana, Geneva, Arial,serif",
-  "ner" },
-{ "Verdana, Geneva, Arial,serif",
-  "gjb" },
-{ "Verdana, Geneva, Arial,serif",
-  "glcrf" },
-{ "Verdana, Geneva, Arial,serif",
-  "DOf:" },
-{ "Verdana, Geneva, Arial,serif",
-  "syrrg" },
-{ "Verdana, Geneva, Arial,serif",
-  "qrnq" },
-{ "Verdana, Geneva, Arial,serif",
-  "zrng" },
-{ "Verdana, Geneva, Arial,serif",
-  "." },
-{ "Verdana, Geneva, Arial,serif",
-  "CNTR" },
-{ "Verdana, Geneva, Arial,serif",
-  "2" },
-{ "TimesRoman,serif",
-  "Jub" },
-{ "TimesRoman,serif",
-  "jnf" },
-{ "TimesRoman,serif",
-  "gur" },
-{ "TimesRoman,serif",
-  "ovttrfg" },
-{ "TimesRoman,serif",
-  "bzvffvba" },
-{ "TimesRoman,serif",
-  "sebz" },
-{ "TimesRoman,serif",
-  "2001" },
-{ "TimesRoman,serif",
-  "Ceb" },
-{ "TimesRoman,serif",
-  "Objy?" },
-{ "TimesRoman,serif",
-  "Zvxr" },
-{ "TimesRoman,serif",
-  "Naqrefba" },
-{ "TimesRoman,serif",
-  "Gvz" },
-{ "TimesRoman,serif",
-  "Oebja" },
-{ "TimesRoman,serif",
-  "Phegvf" },
-{ "TimesRoman,serif",
-  "Znegva" },
-{ "TimesRoman,serif",
-  "Rq" },
-{ "TimesRoman,serif",
-  "ZpPnsserl" },
-{ "TimesRoman,serif",
-  "Qbabina" },
-{ "TimesRoman,serif",
-  "ZpAnoo" },
-{ "TimesRoman,serif",
-  "Funaaba" },
-{ "TimesRoman,serif",
-  "Funecr" },
-{ "TimesRoman,serif",
-  "Serq" },
-{ "TimesRoman,serif",
-  "Gnlybe" },
-{ "Lucida Grande",
-  "Fhozvg Ibgr" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Gnzcn Onl'f Jneera Fncc rnearq uvf sbhegu " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fgenvtug Ceb Objy vaivgr." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Fhes'f Hc" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "sbe Gvgnaf, Ohpf" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Vs gur Gvgnaf naq " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ohppnarref qba'g ernpu " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "gur Fhcre Objy, gur " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ernfba jba'g or ynpx bs " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "gnyrag. Obgu pyhof jvyy " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fraq rvtug cynlref gb gur " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "2001 NSP-ASP Ceb " },
-{ "Arial,Helvetica,sans-serif,serif",
-  ", jvgu Gnzcn Onl " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ynaqvat n yrnthr-uvtu fvk " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "fgnegref va gur ASP. " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Qbabina ZpAnoo naq " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Phegvf Znegva ner nzbat " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "gur zbfg abgvprnoyr " },
-{ "Arial,Helvetica,sans-serif,serif",
-  " sbe gur Sro. 4 " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "tnzr va Ubabyhyh." },
-{ "Arial,Helvetica,sans-serif,serif",
-  "NSP ebfgre" },
-{ "Arial,Helvetica,sans-serif,serif",
-  " | " },
-{ "Arial,Helvetica,sans-serif,serif",
-  "ASP ebfgre" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Hfre srrqonpx" },
-{ "Arial,Helvetica,sans-serif,serif",
-  "Ahzore Pehapuvat: Arj Ceb Objy oybbq" },
-{ "serif",
-  " " },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "FcbegfPragre, 11 RG" },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "Ceb Objy vaivgrrf naq " },
-{ "verdana, arial, helvetica, sans sarif,serif",
-  "fahorrf. Jngpu" },
-{ "times,serif",
-  "Synzrq Qhpx: Fgehttyvat " },
-{ "times,serif",
-  "Nanurvz sverf Unegfohet" },
-{ "times,serif",
-  " " },
-{ "times,serif",
-  "Pneqvanyf hctenqr cvgpuvat, " },
-{ "times,serif",
-  "genqr Gngvf sbe Ureznafba" },
-{ "times,serif",
-  "  " },
-{ "times,serif",
-  "Enatref qrny Pynlgba " },
-{ "times,serif",
-  "HFP pnyyf va Pneebyy gb " },
-{ "times,serif",
-  "qvfphff pbnpuvat inpnapl" },
-{ "times,serif",
-  "Pbnpuvat ehzbe prageny" },
-{ "times,serif",
-  "Onlab envfrf HAYI fgnxrf, " },
-{ "times,serif",
-  "zvtug gnxr yrtny npgvba" },
-{ "times,serif",
-  "Zrgf ercbegrqyl gelvat gb " },
-{ "times,serif",
-  "znxr n qrny sbe Jryyf" },
-{ "times,serif",
-  "Ynfg qnapr? Rvtug Enzf " },
-{ "times,serif",
-  "svarq sbe Obo 'A Jrnir" },
-{ "times,serif",
-  "Zbhearef znex naavirefnel " },
-{ "times,serif",
-  "juvyr Pneehgu gevny zbirf ba" },
-{ "times,serif",
-  "Nagyrl unq phgf, oehvfrf; " },
-{ "times,serif",
-  "qehtf qvfpbirerq arneol" },
-{ "times,serif",
-  "Tnyyrel: " },
-{ "times,serif",
-  "Jrqarfqnl'f orfg" },
-{ "times,serif",
-  " | " },
-{ "times,serif",
-  "Zber Arjf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "GUR TNZR JBA'G OERNX" },
-{ "verdana,geneva,sans-serif,serif",
-  "Jung qbrf Nyrk Ebqevthrm'f " },
-{ "verdana,geneva,sans-serif,serif",
-  "zbafgre pbagenpg zrna sbe gur " },
-{ "verdana,geneva,sans-serif,serif",
-  "shgher bs gur tnzr?" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "  " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ORNEPNGF ORJNER" },
-{ "verdana,geneva,sans-serif,serif",
-  "Va Pvapvaangv, vg'f Tbq, pbhagel " },
-{ "verdana,geneva,sans-serif,serif",
-  "naq gur Pebffgbja Fubbgbhg." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fubbgbhg oevatf bhg gur orfg va" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "NFX NJNL" },
-{ "verdana,geneva,sans-serif,serif",
-  "Qvpxvr I nafjref lbhe dhrevrf " },
-{ "verdana,geneva,sans-serif,serif",
-  "ba Obo Xavtug, HAYI naq " },
-{ "Lucida Grande",
-  "RFCA Xrljbeq" },
-{ "Lucida Grande",
-  "Svaq" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  " " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "BA-NVE: " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Nfx n pbyyrtr ubbcf dhrfgvba" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "IBGR: " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "FcbegfPragre Tnzr bs gur Jrrx" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "ONFRONYY: " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Gur arjrfg Ehzbe Prageny" },
-{ "serif",
-  "1," },
-{ "serif",
-  "2," },
-{ "serif",
-  "rfca.tb.pbz," },
-{ "serif",
-  "989" },
-{ "serif",
-  "1, 2, rfca.tb.pbz, 989" },
-{ "Verdana, Geneva, Arial,serif",
-  "CNTR 2" },
-{ "Verdana, Geneva, Arial,serif",
-  "Fvzcyl Eribygvat" },
-{ "Verdana, Geneva, Arial,serif",
-  "Qe. Wnpx qvfphffrf" },
-{ "Verdana, Geneva, Arial,serif",
-  " gur " },
-{ "Verdana, Geneva, Arial,serif",
-  "Ahttrgf' arne zhgval." },
-{ "Verdana, Geneva, Arial,serif",
-  "Chg Zr Va, Pbnpu" },
-{ "Verdana, Geneva, Arial,serif",
-  "Ernqref funer " },
-{ "Verdana, Geneva, Arial,serif",
-  " bs gurve " },
-{ "Verdana, Geneva, Arial,serif",
-  "Enycu Jvyrl" },
-{ "Verdana, Geneva, Arial,serif",
-  "Gurer ner " },
-{ "Verdana, Geneva, Arial,serif",
-  "gjb glcrf bs " },
-{ "Verdana, Geneva, Arial,serif",
-  "DOf: syrrg naq qrnq " },
-{ "Verdana, Geneva, Arial,serif",
-  "SNAGNFL TNZRF" },
-{ "Verdana, Geneva, Arial,serif",
-  "\xe2""\x80""\xa2"" " },
-{ "Verdana, Geneva, Arial,serif",
-  "Ohyyqbmre Ercbeg" },
-{ "Verdana, Geneva, Arial,serif",
-  "Arire oevat n xavsr gb n " },
-{ "Verdana, Geneva, Arial,serif",
-  "tha svtug -- naq bgure " },
-{ "Verdana, Geneva, Arial,serif",
-  "SSY yrffbaf." },
-{ "Verdana, Geneva, Arial,serif",
-  "Objy Cvpx'rz" },
-{ "Verdana, Geneva, Arial,serif",
-  "RFCA'f serr Pbyyrtr " },
-{ "Verdana, Geneva, Arial,serif",
-  "Objy Cvpx'rz unf " },
-{ "Verdana, Geneva, Arial,serif",
-  "nqqrq n gjvfg guvf " },
-{ "Verdana, Geneva, Arial,serif",
-  "ubyvqnl frnfba. Purpx " },
-{ "Verdana,Geneva,Arial,serif",
-  "Ubyvqnl" },
-{ "Verdana,Geneva,Arial,serif",
-  "Tvsg" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fanpxf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Pynffvsvrqf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Qrpvfvba" },
-{ "Verdana,Geneva,Arial,serif",
-  "Thvqrf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Qverpgbel" },
-{ "Verdana,Geneva,Arial,serif",
-  "Tnzrf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Wbo" },
-{ "Verdana,Geneva,Arial,serif",
-  "Frnepu" },
-{ "Verdana,Geneva,Arial,serif",
-  "Zncf/Qverpgvbaf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Zbivr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Yvfgvatf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Juvgr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cntrf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Geniry" },
-{ "Verdana,Geneva,Arial,serif",
-  "Qrnyf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Lryybj" },
-{ "Lucida Grande",
-  "Argfpncr" },
-{ "Lucida Grande",
-  "NygnIvfgn" },
-{ "Lucida Grande",
-  "Nfx" },
-{ "Lucida Grande",
-  "Wrrirf" },
-{ "Lucida Grande",
-  "Rkpvgr" },
-{ "Lucida Grande",
-  "Tbbtyr" },
-{ "Lucida Grande",
-  "TbGb" },
-{ "Lucida Grande",
-  "UbgObg" },
-{ "Lucida Grande",
-  "YbbxFzneg" },
-{ "Lucida Grande",
-  "Ylpbf" },
-{ "serif",
-  "  " },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Gbc" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Cvpxf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Arj:" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Argfpncr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "6" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Obbx" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Lbhe" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Syvtug" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ohvyq" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "n" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Jro" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fvgr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pbafhzre" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Thvqrf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Tvsg" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Vqrnf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Yngrfg" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fbsgjner" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ybir@Argfpncr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Bayvar" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Tnzrf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Jva" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "$5X" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "sbe" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ercnvef" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ubebfpbcr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Qrcnegzragf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Nhgbf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ohf." },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "&" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pnerref" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pbzchgvat" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ragregnvazrag" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Urnygu" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ubhfr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ubzr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Vagreangvbany" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Yvsrfglyrf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ybpny" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Zhfvp" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Enqvb" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Arjf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Erfrnepu" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Yrnea" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fubccvat" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Fcbegf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Geniry" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fnyr!" },
-{ "Verdana,Geneva,Arial,serif",
-  "Puevfgznf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Purff" },
-{ "Verdana,Geneva,Arial,serif",
-  "frg" },
-{ "Verdana,Geneva,Arial,serif",
-  "$47.99." },
-{ "Verdana,Geneva,Arial,serif",
-  "Purpx" },
-{ "Verdana,Geneva,Arial,serif",
-  "Lbhe" },
-{ "Verdana,Geneva,Arial,serif",
-  "Jrngure " },
-{ "Verdana,Geneva,Arial,serif",
-  " Tb" },
-{ "Verdana,Geneva,Arial,serif",
-  "Ragre" },
-{ "Verdana,Geneva,Arial,serif",
-  "Mvc" },
-{ "Verdana,Geneva,Arial,serif",
-  "Pbqr" },
-{ "Verdana,Geneva,Arial,serif",
-  "be" },
-{ "Verdana,Geneva,Arial,serif",
-  "Pvgl" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "NC" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Tber" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Ohfu" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Ohpunana" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Anqre" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "262" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "246" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "0" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "270" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "ibgrf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "arrqrq" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "gb" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "jva." },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Ryrpgbeny" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Ibgrf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Fhaqnl," },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Abirzore" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "12," },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "2000" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Onggyr" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Urnqf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "gb" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Pbheg" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Trbetr" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "J." },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Ohfu'f" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "nggrzcg" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "gb" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "fgbc" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "gur" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "unaq" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "pbhag" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "bs" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "onyybgf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "va" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "sbhe" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Sybevqn" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "pbhagvrf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "zbirf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "n" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "srqreny" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "pbhegebbz" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Zbaqnl" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "zbeavat." },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Qrzbpengf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "yngr" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Fhaqnl" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "svyrq" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "gurve" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "erfcbafr" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "25-cntr" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "oevrs," },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "nfxvat" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "fhvg" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "or" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "erwrpgrq." },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Na" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Nffbpvngrq" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Cerff" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "gnyyl" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "fubjrq" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "yrnqvat" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "ol" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "288" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "ibgrf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Fhaqnl." },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Ernq" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Fgbel" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "|" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Yngrfg" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Cbyvgvpny" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Arjf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Erfhygf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Cbyy" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  ":" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Fubhyq" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "pbaprqr?" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Lrf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Ab" },
-{ "Verdana,Geneva,Arial,serif",
-  "Ibgr" },
-{ "Verdana,serif",
-  "YNGRFG" },
-{ "Verdana,serif",
-  "ARJF" },
-{ "Verdana,Geneva,Arial,serif",
-  "Sybevqn" },
-{ "Verdana,Geneva,Arial,serif",
-  "erpbhag" },
-{ "Verdana,Geneva,Arial,serif",
-  "onggyr" },
-{ "Verdana,Geneva,Arial,serif",
-  "zbirf" },
-{ "Verdana,Geneva,Arial,serif",
-  "gb" },
-{ "Verdana,Geneva,Arial,serif",
-  "pbhegf" },
-{ "Verdana,serif",
-  "Arjf" },
-{ "Verdana,serif",
-  "Erfphref" },
-{ "Verdana,serif",
-  "Frnepu" },
-{ "Verdana,serif",
-  "sbe" },
-{ "Verdana,serif",
-  "155" },
-{ "Verdana,serif",
-  "Ghaary" },
-{ "Verdana,serif",
-  "Ivpgvzf" },
-{ "Verdana,serif",
-  "Fcbegf" },
-{ "Verdana,serif",
-  "Eniraf" },
-{ "Verdana,serif",
-  "Gbc" },
-{ "Verdana,serif",
-  "Gvgnaf," },
-{ "Verdana,serif",
-  "Enzf" },
-{ "Verdana,serif",
-  "Orng" },
-{ "Verdana,serif",
-  "Tvnagf" },
-{ "Verdana,serif",
-  "Zbivrf" },
-{ "Verdana,serif",
-  "'Natryf'" },
-{ "Verdana,serif",
-  "Obk" },
-{ "Verdana,serif",
-  "Bssvpr" },
-{ "Verdana,Geneva,Arial,serif",
-  "ZNEXRG" },
-{ "Verdana,Geneva,Arial,serif",
-  "PRAGRE" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fgbpx" },
-{ "Verdana,Geneva,Arial,serif",
-  "Dhbgrf" },
-{ "Verdana,Geneva,Arial,serif",
-  "ol" },
-{ "Verdana,Geneva,Arial,serif",
-  "FNYBZBA" },
-{ "Verdana,Geneva,Arial,serif",
-  "FZVGU" },
-{ "Verdana,Geneva,Arial,serif",
-  "ONEARL" },
-{ "Verdana,Geneva,Arial,serif",
-  "Dhbgr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Flzoby" },
-{ "Verdana,Geneva,Arial,serif",
-  "Anzr" },
-{ "Verdana,Geneva,Arial,serif",
-  "POF" },
-{ "Verdana,Geneva,Arial,serif",
-  "ZnexrgJngpu" },
-{ "Verdana,Geneva,Arial,serif",
-  ":" },
-{ "Verdana,Geneva,Arial,serif",
-  "N" },
-{ "Verdana,Geneva,Arial,serif",
-  "oehvfrq" },
-{ "Verdana,Geneva,Arial,serif",
-  "znexrg" },
-{ "Verdana,Geneva,Arial,serif",
-  "ybbxf" },
-{ "Verdana,Geneva,Arial,serif",
-  "sbe" },
-{ "Verdana,Geneva,Arial,serif",
-  "eryvrs" },
-{ "Verdana,Geneva,Arial,serif",
-  "Erhgref" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cnpvsvp" },
-{ "Verdana,Geneva,Arial,serif",
-  "Evz" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cenvfr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Serr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Genqr," },
-{ "Verdana,Geneva,Arial,serif",
-  "Nibvq" },
-{ "Verdana,Geneva,Arial,serif",
-  "Qvivfvbaf" },
-{ "Verdana,Geneva,Arial,serif",
-  "MQArg" },
-{ "Verdana,Geneva,Arial,serif",
-  "Rf" },
-{ "Verdana,Geneva,Arial,serif",
-  "fh" },
-{ "Verdana,Geneva,Arial,serif",
-  "pnfn" },
-{ "Verdana,Geneva,Arial,serif",
-  "Zvpebfbsg'f" },
-{ "Verdana,Geneva,Arial,serif",
-  "pnfn?" },
-{ "Verdana,Geneva,Arial,serif",
-  "Qbhoyr" },
-{ "Verdana,Geneva,Arial,serif",
-  "lbhe" },
-{ "Verdana,Geneva,Arial,serif",
-  "fnynel," },
-{ "Verdana,Geneva,Arial,serif",
-  "qbhoyr" },
-{ "Verdana,Geneva,Arial,serif",
-  "sha" },
-{ "Verdana,Geneva,Arial,serif",
-  "jvgu" },
-{ "Verdana,Geneva,Arial,serif",
-  "Zbafgre.pbz" },
-{ "Verdana,Geneva,Arial,serif",
-  "Snfuvba" },
-{ "Verdana,Geneva,Arial,serif",
-  "naq" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cnenabvn" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fcrpvny" },
-{ "Verdana,Geneva,Arial,serif",
-  "srngherf" },
-{ "Verdana,Geneva,Arial,serif",
-  "jvgu" },
-{ "Verdana,Geneva,Arial,serif",
-  "n" },
-{ "Verdana,Geneva,Arial,serif",
-  "qvssrerag" },
-{ "Verdana,Geneva,Arial,serif",
-  "gnxr" },
-{ "Verdana,Geneva,Arial,serif",
-  "ba" },
-{ "Verdana,Geneva,Arial,serif",
-  "gur" },
-{ "Verdana,Geneva,Arial,serif",
-  "jbexcynpr." },
-{ "Verdana,Geneva,Arial,serif",
-  "Bssvpr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Uneqjner" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cbjre-hc" },
-{ "Verdana,Geneva,Arial,serif",
-  "lbhe" },
-{ "Verdana,Geneva,Arial,serif",
-  "ohfvarff" },
-{ "Verdana,Geneva,Arial,serif",
-  "arj" },
-{ "Verdana,Geneva,Arial,serif",
-  "pbzchgref" },
-{ "Verdana,Geneva,Arial,serif",
-  "naq" },
-{ "Verdana,Geneva,Arial,serif",
-  "npprffbevrf." },
-{ "Verdana,Geneva,Arial,serif",
-  "Cresrpg" },
-{ "Verdana,Geneva,Arial,serif",
-  "Wbo" },
-{ "Verdana,Geneva,Arial,serif",
-  "Gnxr" },
-{ "Verdana,Geneva,Arial,serif",
-  "dhvpx" },
-{ "Verdana,Geneva,Arial,serif",
-  "dhvm" },
-{ "Verdana,Geneva,Arial,serif",
-  "svaq" },
-{ "Verdana,Geneva,Arial,serif",
-  "bhg" },
-{ "Verdana,Geneva,Arial,serif",
-  "juvpu" },
-{ "Verdana,Geneva,Arial,serif",
-  "pnerre" },
-{ "Verdana,Geneva,Arial,serif",
-  "vf" },
-{ "Verdana,Geneva,Arial,serif",
-  "evtug" },
-{ "Verdana,Geneva,Arial,serif",
-  "lbh." },
-{ "Verdana,Geneva,Arial,serif",
-  "Trg" },
-{ "Verdana,Geneva,Arial,serif",
-  "gur" },
-{ "Verdana,Geneva,Arial,serif",
-  "Jbeq" },
-{ "Verdana,Geneva,Arial,serif",
-  "Bhg" },
-{ "Verdana,Geneva,Arial,serif",
-  "Qrirybc" },
-{ "Verdana,Geneva,Arial,serif",
-  "choyvpvgl-ohvyqvat" },
-{ "Verdana,Geneva,Arial,serif",
-  "zngrevnyf" },
-{ "Verdana,Geneva,Arial,serif",
-  "va" },
-{ "Verdana,Geneva,Arial,serif",
-  "nf" },
-{ "Verdana,Geneva,Arial,serif",
-  "yvggyr" },
-{ "Verdana,Geneva,Arial,serif",
-  "30" },
-{ "Verdana,Geneva,Arial,serif",
-  "zvahgrf." },
-{ "Verdana,Geneva,Arial,serif",
-  "Znantr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fuvccvat" },
-{ "Verdana,Geneva,Arial,serif",
-  "Arrqf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Xrrc" },
-{ "Verdana,Geneva,Arial,serif",
-  "genpx" },
-{ "Verdana,Geneva,Arial,serif",
-  "bs" },
-{ "Verdana,Geneva,Arial,serif",
-  "fuvczragf" },
-{ "Verdana,Geneva,Arial,serif",
-  "rnfvyl." },
-{ "Verdana,Geneva,Arial,serif",
-  "Erfrnepu," },
-{ "Verdana,Geneva,Arial,serif",
-  "Pbzcner" },
-{ "Verdana,Geneva,Arial,serif",
-  "&" },
-{ "Verdana,Geneva,Arial,serif",
-  "Ohl" },
-{ "Verdana,Geneva,Arial,serif",
-  "Trg" },
-{ "Verdana,Geneva,Arial,serif",
-  "orfg" },
-{ "Verdana,Geneva,Arial,serif",
-  "cebqhpgf" },
-{ "Verdana,Geneva,Arial,serif",
-  "fznyy" },
-{ "Verdana,Geneva,Arial,serif",
-  "ng" },
-{ "Verdana,Geneva,Arial,serif",
-  "cevpr." },
-{ "Verdana,Geneva,Arial,serif",
-  "zber" },
-{ "Verdana,Geneva,Arial,serif",
-  "ohfvarff >" },
-{ "Verdana,serif",
-  "FLZOBY" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "QWVN" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "Anfqnd" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "F&C" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "500" },
-{ "Verdana,serif",
-  "CEVPR" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "10,602.90" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "3,028.99" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "1,365.98" },
-{ "Verdana,serif",
-  "PUNATR" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "-231.30" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "-171.36" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "-34.16" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "Nf" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "bs" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "Abi." },
-{ "sans-serif,Arial,Helvetica,serif",
-  "13," },
-{ "sans-serif,Arial,Helvetica,serif",
-  "2000" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "2:52" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "nz" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "RG" },
-{ "Verdana,Geneva,Arial,serif",
-  "Svanapvny" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cynaavat" },
-{ "Verdana,Geneva,Arial,serif",
-  "Nqivpr" },
-{ "Verdana,Geneva,Arial,serif",
-  "svaqvat" },
-{ "Verdana,Geneva,Arial,serif",
-  "svanapvny" },
-{ "Verdana,Geneva,Arial,serif",
-  "cynaare." },
-{ "Verdana,Geneva,Arial,serif",
-  "Vairfgvat" },
-{ "Verdana,Geneva,Arial,serif",
-  "Onfvpf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Na" },
-{ "Verdana,Geneva,Arial,serif",
-  "8-fgrc" },
-{ "Verdana,Geneva,Arial,serif",
-  "cevzre" },
-{ "Verdana,Geneva,Arial,serif",
-  "dhrfgvbaf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Bayvar" },
-{ "Verdana,Geneva,Arial,serif",
-  "Onaxvat" },
-{ "Verdana,Geneva,Arial,serif",
-  "Svaq" },
-{ "Verdana,Geneva,Arial,serif",
-  "bayvar" },
-{ "Verdana,Geneva,Arial,serif",
-  "onax" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cbegsbyvb" },
-{ "Verdana,Geneva,Arial,serif",
-  "Sberpnfgre" },
-{ "Verdana,Geneva,Arial,serif",
-  "Jvyy" },
-{ "Verdana,Geneva,Arial,serif",
-  "lbh" },
-{ "Verdana,Geneva,Arial,serif",
-  "znxr" },
-{ "Verdana,Geneva,Arial,serif",
-  "tbnyf?" },
-{ "Verdana,Geneva,Arial,serif",
-  "Ergverzrag" },
-{ "Verdana,Geneva,Arial,serif",
-  "Gvcf" },
-{ "Verdana,Geneva,Arial,serif",
-  "401(x)" },
-{ "Verdana,Geneva,Arial,serif",
-  "nppbhagf," },
-{ "Verdana,Geneva,Arial,serif",
-  "ebyybiref." },
-{ "Verdana,Geneva,Arial,serif",
-  "FhcreFgne" },
-{ "Verdana,Geneva,Arial,serif",
-  "Shaqf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Zhghny" },
-{ "Verdana,Geneva,Arial,serif",
-  "shaqf" },
-{ "Verdana,Geneva,Arial,serif",
-  "gung" },
-{ "Verdana,Geneva,Arial,serif",
-  "ner" },
-{ "Verdana,Geneva,Arial,serif",
-  "ubg." },
-{ "Verdana,Geneva,Arial,serif",
-  "VAFHENAPR" },
-{ "Verdana,Geneva,Arial,serif",
-  "dhbgrf" },
-{ "Verdana,Geneva,Arial,serif",
-  "nyy" },
-{ "Verdana,Geneva,Arial,serif",
-  "vafhenapr" },
-{ "Verdana,Geneva,Arial,serif",
-  "arrqf:" },
-{ "Verdana,Geneva,Arial,serif",
-  "nhgb," },
-{ "Verdana,Geneva,Arial,serif",
-  "yvsr," },
-{ "Verdana,Geneva,Arial,serif",
-  "ubzrbjare," },
-{ "Verdana,Geneva,Arial,serif",
-  "eragre." },
-{ "Verdana,Geneva,Arial,serif",
-  "crefbany" },
-{ "Verdana,Geneva,Arial,serif",
-  "svanapr >" },
-{ "Verdana,Geneva,Arial,serif",
-  "OHVYQ" },
-{ "Verdana,Geneva,Arial,serif",
-  "LBHE" },
-{ "Verdana,Geneva,Arial,serif",
-  "OHFVARFF" },
-{ "Verdana,Geneva,Arial,serif",
-  "BAYVAR" },
-{ "Verdana,Geneva,Arial,serif",
-  "Lbhe" },
-{ "Verdana,Geneva,Arial,serif",
-  "arrqf" },
-{ "Verdana,Geneva,Arial,serif",
-  "ernpu" },
-{ "Verdana,Geneva,Arial,serif",
-  "phfgbzref." },
-{ "Verdana,Geneva,Arial,serif",
-  "gbbyf" },
-{ "Verdana,Geneva,Arial,serif",
-  "arrq" },
-{ "Verdana,Geneva,Arial,serif",
-  "trg" },
-{ "Verdana,Geneva,Arial,serif",
-  "fgnegrq." },
-{ "Verdana,Geneva,Arial,serif",
-  "Ohl" },
-{ "Verdana,Geneva,Arial,serif",
-  "Rzcyblzrag" },
-{ "Verdana,Geneva,Arial,serif",
-  "Bayvar" },
-{ "Verdana,Geneva,Arial,serif",
-  "Znantr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Znexrg" },
-{ "Verdana,Geneva,Arial,serif",
-  "&" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fryy" },
-{ "Verdana,Geneva,Arial,serif",
-  "Argjbex" },
-{ "Verdana,Geneva,Arial,serif",
-  "OHL" },
-{ "Verdana,Geneva,Arial,serif",
-  "Znxr" },
-{ "Verdana,Geneva,Arial,serif",
-  "fher" },
-{ "Verdana,Geneva,Arial,serif",
-  "ohl" },
-{ "Verdana,Geneva,Arial,serif",
-  "cebqhpg" },
-{ "Verdana,Geneva,Arial,serif",
-  "PBAARPG" },
-{ "Verdana,Geneva,Arial,serif",
-  "Funer," },
-{ "Verdana,Geneva,Arial,serif",
-  "pbaarpg," },
-{ "Verdana,Geneva,Arial,serif",
-  "vagrenpg" },
-{ "Verdana,Geneva,Arial,serif",
-  "bgure" },
-{ "Verdana,Geneva,Arial,serif",
-  "bjaref." },
-{ "Verdana,Geneva,Arial,serif",
-  "CEBZBGR" },
-{ "Verdana,Geneva,Arial,serif",
-  "Yrirentr" },
-{ "Verdana,Geneva,Arial,serif",
-  "gur" },
-{ "Verdana,Geneva,Arial,serif",
-  "cbjre" },
-{ "Verdana,Geneva,Arial,serif",
-  "bs" },
-{ "Verdana,Geneva,Arial,serif",
-  "Vagrearg" },
-{ "Verdana,Geneva,Arial,serif",
-  "jurgure" },
-{ "Verdana,Geneva,Arial,serif",
-  "lbh\xe2""\x80""\x99""er" },
-{ "Verdana,Geneva,Arial,serif",
-  "bayvar" },
-{ "Verdana,Geneva,Arial,serif",
-  "be" },
-{ "Verdana,Geneva,Arial,serif",
-  "abg." },
-{ "Verdana,Geneva,Arial,serif",
-  "argohfvarff >" },
-{ "Verdana,Geneva,Arial,serif",
-  "BznunFgrnxf.pbz" },
-{ "Verdana,Geneva,Arial,serif",
-  "Jva" },
-{ "Verdana,Geneva,Arial,serif",
-  "$1000" },
-{ "Verdana,Geneva,Arial,serif",
-  "jbegu" },
-{ "Verdana,Geneva,Arial,serif",
-  "fgrnxf." },
-{ "Verdana,Geneva,Arial,serif",
-  "Nagvdhrf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cevagref" },
-{ "Verdana,Geneva,Arial,serif",
-  "Lbhat" },
-{ "Verdana,Geneva,Arial,serif",
-  "Jbzra'f" },
-{ "Verdana,Geneva,Arial,serif",
-  "Pbzchgref" },
-{ "Verdana,Geneva,Arial,serif",
-  "Sbbq" },
-{ "Verdana,Geneva,Arial,serif",
-  "Jvar" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cubgb" },
-{ "Verdana,Geneva,Arial,serif",
-  "SYBJREF" },
-{ "Verdana,Geneva,Arial,serif",
-  "Gunaxftvivat" },
-{ "Verdana,Geneva,Arial,serif",
-  "pbzcyrgr" },
-{ "Verdana,Geneva,Arial,serif",
-  "serfu" },
-{ "Verdana,Geneva,Arial,serif",
-  "sybjref." },
-{ "Verdana,Geneva,Arial,serif",
-  "TVSGF" },
-{ "Verdana,Geneva,Arial,serif",
-  "ERTVFGEVRF" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fubeg" },
-{ "Verdana,Geneva,Arial,serif",
-  "gvzr?" },
-{ "Verdana,Geneva,Arial,serif",
-  "tvsg" },
-{ "Verdana,Geneva,Arial,serif",
-  "gung'f" },
-{ "Verdana,Geneva,Arial,serif",
-  "hajenccvat." },
-{ "Verdana,Geneva,Arial,serif",
-  "LBHAT" },
-{ "Verdana,Geneva,Arial,serif",
-  "ZRA'F" },
-{ "Verdana,Geneva,Arial,serif",
-  "yngrfg" },
-{ "Verdana,Geneva,Arial,serif",
-  "geraqf" },
-{ "Verdana,Geneva,Arial,serif",
-  "gvgnavhz" },
-{ "Verdana,Geneva,Arial,serif",
-  "jngpurf" },
-{ "Verdana,Geneva,Arial,serif",
-  "uvtu" },
-{ "Verdana,Geneva,Arial,serif",
-  "grpu" },
-{ "Verdana,Geneva,Arial,serif",
-  "fubrf." },
-{ "Verdana,Geneva,Arial,serif",
-  "fubccvat >" },
-{ "Verdana,Geneva,Arial,serif",
-  "Frphevgl" },
-{ "Verdana,Geneva,Arial,serif",
-  "Pragre" },
-{ "Verdana,Geneva,Arial,serif",
-  "Yngrfg" },
-{ "Verdana,Geneva,Arial,serif",
-  "frphevgl" },
-{ "Verdana,Geneva,Arial,serif",
-  "gbbyf," },
-{ "Verdana,Geneva,Arial,serif",
-  "arjf" },
-{ "Verdana,Geneva,Arial,serif",
-  "genvavat." },
-{ "Verdana,Geneva,Arial,serif",
-  "Fbsgjner" },
-{ "Verdana,Geneva,Arial,serif",
-  "Uneqjner" },
-{ "Verdana,Geneva,Arial,serif",
-  "Argfpncr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Punaary" },
-{ "Verdana,Geneva,Arial,serif",
-  "PQ" },
-{ "Verdana,Geneva,Arial,serif",
-  "Erivrjf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Grpu" },
-{ "Verdana,Geneva,Arial,serif",
-  "Arjf" },
-{ "Verdana,Geneva,Arial,serif",
-  "QRIRYBCRE" },
-{ "Verdana,Geneva,Arial,serif",
-  "Jnag" },
-{ "Verdana,Geneva,Arial,serif",
-  "or" },
-{ "Verdana,Geneva,Arial,serif",
-  "na" },
-{ "Verdana,Geneva,Arial,serif",
-  "KZY" },
-{ "Verdana,Geneva,Arial,serif",
-  "rkcreg?" },
-{ "Verdana,Geneva,Arial,serif",
-  "QBJAYBNQ" },
-{ "Verdana,Geneva,Arial,serif",
-  "NG" },
-{ "Verdana,Geneva,Arial,serif",
-  "FREIVPR" },
-{ "Verdana,Geneva,Arial,serif",
-  "Sebz" },
-{ "Verdana,Geneva,Arial,serif",
-  "Oebjfre," },
-{ "Verdana,Geneva,Arial,serif",
-  "FznegHcqngr," },
-{ "Verdana,Geneva,Arial,serif",
-  "Cyht-Vaf." },
-{ "Verdana,Geneva,Arial,serif",
-  "CEVAG" },
-{ "Verdana,Geneva,Arial,serif",
-  "PRAGENY" },
-{ "Verdana,Geneva,Arial,serif",
-  "Qbjaybnq" },
-{ "Verdana,Geneva,Arial,serif",
-  "pbby" },
-{ "Verdana,Geneva,Arial,serif",
-  "pneqf" },
-{ "Verdana,Geneva,Arial,serif",
-  "fgngvbarel" },
-{ "Verdana,Geneva,Arial,serif",
-  "grzcyngrf." },
-{ "Verdana,Geneva,Arial,serif",
-  "grpuabybtl >" },
-{ "Verdana,Geneva,Arial,serif",
-  "CERGGL" },
-{ "Verdana,Geneva,Arial,serif",
-  "FGNGHR" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fur'f" },
-{ "Verdana,Geneva,Arial,serif",
-  "ornhgvshy," },
-{ "Verdana,Geneva,Arial,serif",
-  "fur'f" },
-{ "Verdana,Geneva,Arial,serif",
-  "gnyragrq," },
-{ "Verdana,Geneva,Arial,serif",
-  "fur" },
-{ "Verdana,Geneva,Arial,serif",
-  "unf" },
-{ "Verdana,Geneva,Arial,serif",
-  "tbetrbhf" },
-{ "Verdana,Geneva,Arial,serif",
-  "oblsevraq--naq" },
-{ "Verdana,Geneva,Arial,serif",
-  "znxrf" },
-{ "Verdana,Geneva,Arial,serif",
-  "$20" },
-{ "Verdana,Geneva,Arial,serif",
-  "zvyyvba" },
-{ "Verdana,Geneva,Arial,serif",
-  "cvpgher." },
-{ "Verdana,Geneva,Arial,serif",
-  "Ohg" },
-{ "Verdana,Geneva,Arial,serif",
-  "Whyvn" },
-{ "Verdana,Geneva,Arial,serif",
-  "jnagf" },
-{ "Verdana,Geneva,Arial,serif",
-  "fuval" },
-{ "Verdana,Geneva,Arial,serif",
-  "zna." },
-{ "Verdana,Geneva,Arial,serif",
-  "Pryroevgvrf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Ragregnvazrag" },
-{ "Verdana,Geneva,Arial,serif",
-  "Snzvyl" },
-{ "Verdana,Geneva,Arial,serif",
-  "Sha" },
-{ "Verdana,Geneva,Arial,serif",
-  "Zhfvp" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fcbegf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fpberf" },
-{ "Verdana,Geneva,Arial,serif",
-  "OBBXF" },
-{ "Verdana,Geneva,Arial,serif",
-  "fuvccvat" },
-{ "Verdana,Geneva,Arial,serif",
-  "beqref" },
-{ "Verdana,Geneva,Arial,serif",
-  "bire" },
-{ "Verdana,Geneva,Arial,serif",
-  "$100." },
-{ "Verdana,Geneva,Arial,serif",
-  "UBZR" },
-{ "Verdana,Geneva,Arial,serif",
-  "VZCEBIRZRAG" },
-{ "Verdana,Geneva,Arial,serif",
-  "Ubzr" },
-{ "Verdana,Geneva,Arial,serif",
-  "ubyvqnlf?" },
-{ "Verdana,Geneva,Arial,serif",
-  "vg" },
-{ "Verdana,Geneva,Arial,serif",
-  "fcnexyr." },
-{ "Verdana,Geneva,Arial,serif",
-  "FCBEGF" },
-{ "Verdana,Geneva,Arial,serif",
-  "Pngpu" },
-{ "Verdana,Geneva,Arial,serif",
-  "fpberf" },
-{ "Verdana,Geneva,Arial,serif",
-  "sebz" },
-{ "Verdana,Geneva,Arial,serif",
-  "ASY." },
-{ "Verdana,Geneva,Arial,serif",
-  "sha >" },
-{ "Verdana,Geneva,Arial,serif",
-  "Bhe" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cnegaref    " },
-{ "Verdana,Geneva,Arial,serif",
-  "SrqRk" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fuvccvat" },
-{ "Verdana,Geneva,Arial,serif",
-  "|" },
-{ "Verdana,Geneva,Arial,serif",
-  "Baivn" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fznyy" },
-{ "Verdana,Geneva,Arial,serif",
-  "Ohfvarff" },
-{ "Verdana,Geneva,Arial,serif",
-  "Uryc" },
-{ "Verdana,Geneva,Arial,serif",
-  "Djrfg" },
-{ "Verdana,Geneva,Arial,serif",
-  "5\xc2""\xa2""" },
-{ "Verdana,Geneva,Arial,serif",
-  "Pnyyf" },
-{ "Verdana,Geneva,Arial,serif",
-  "|" },
-{ "Verdana,Geneva,Arial,serif",
-  "FbsgjnerOhlf.pbz" },
-{ "Verdana,Geneva,Arial,serif",
-  "Terng" },
-{ "Verdana,Geneva,Arial,serif",
-  "Nhfgenyvn" },
-{ "Verdana,Geneva,Arial,serif",
-  "Oenmvy" },
-{ "Verdana,Geneva,Arial,serif",
-  "Pnanqn" },
-{ "Verdana,Geneva,Arial,serif",
-  "Puvan" },
-{ "Verdana,Geneva,Arial,serif",
-  "Qraznex" },
-{ "Verdana,Geneva,Arial,serif",
-  "Senapr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Treznal" },
-{ "Verdana,Geneva,Arial,serif",
-  "Ubat" },
-{ "Verdana,Geneva,Arial,serif",
-  "Xbat" },
-{ "Verdana,Geneva,Arial,serif",
-  "Vgnyl" },
-{ "Verdana,Geneva,Arial,serif",
-  "Wncna" },
-{ "Verdana,Geneva,Arial,serif",
-  "Xbern" },
-{ "Verdana,Geneva,Arial,serif",
-  "Yngva" },
-{ "Verdana,Geneva,Arial,serif",
-  "Nzrevpn" },
-{ "Verdana,Geneva,Arial,serif",
-  "Argureynaqf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fcnva" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fjrqra" },
-{ "Verdana,Geneva,Arial,serif",
-  "Gnvjna" },
-{ "Verdana,Geneva,Arial,serif",
-  "HX" },
-{ "Verdana,Geneva,Arial,serif",
-  "Zber..." },
-{ "Verdana,Geneva,Arial,serif",
-  "Nqiregvfr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Jvgu" },
-{ "Verdana,Geneva,Arial,serif",
-  "Hf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Nssvyvngr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cebtenz" },
-{ "Verdana,Geneva,Arial,serif",
-  "Oebjfre" },
-{ "Verdana,Geneva,Arial,serif",
-  "Qvfgevohgvba" },
-{ "Verdana,Geneva,Arial,serif",
-  "VCynarg" },
-{ "Verdana,Geneva,Arial,serif",
-  "Wbof" },
-{ "Verdana,Geneva,Arial,serif",
-  "Vasb" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fvgr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Znc" },
-{ "Verdana,Geneva,Arial,serif",
-  "Jung'f" },
-{ "Verdana,Geneva,Arial,serif",
-  "Arj" },
-{ "Verdana,Geneva,Arial,serif",
-  "Pbby" },
-{ "Verdana,Geneva,Arial,serif",
-  "\xc2""\xa9"" 2000" },
-{ "Verdana,Geneva,Arial,serif",
-  "Argfpncr." },
-{ "Verdana,Geneva,Arial,serif",
-  "Nyy" },
-{ "Verdana,Geneva,Arial,serif",
-  "Evtugf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Erfreirq." },
-{ "Verdana,Geneva,Arial,serif",
-  "Grezf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Freivpr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cevinpl" },
-{ "Verdana,Geneva,Arial,serif",
-  "Cbyvpl" },
-{ "Verdana,Geneva,Arial,serif",
-  "Guvf" },
-{ "Verdana,Geneva,Arial,serif",
-  "fvgr" },
-{ "Verdana,Geneva,Arial,serif",
-  "cbjrerq" },
-{ "Verdana,Geneva,Arial,serif",
-  "Freiref" },
-{ "Verdana,Geneva,Arial,serif",
-  "." },
-{ "Verdana,Geneva,Arial,serif",
-  "Pyvpx" },
-{ "Verdana,Geneva,Arial,serif",
-  "urer!" },
-{ "Verdana,Geneva,Arial,serif",
-  "Pyvpx urer!" },
-{ "Verdana,Geneva,Arial,serif",
-  "Ubyvqnl Tvsg Fanpxf" },
-{ "Lucida Grande",
-  "Argfpncr Frnepu" },
-{ "serif",
-  "  " },
-{ "sans-serif",
-  "Fhozvg" },
-{ "sans-serif",
-  "Fhozvg " },
-{ "Verdana,Geneva,Arial,serif",
-  "Qrpvfvba Thvqrf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Wbo Frnepu" },
-{ "Verdana,Geneva,Arial,serif",
-  "Zbivr Yvfgvatf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Juvgr Cntrf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Geniry Qrnyf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Lryybj Cntrf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Onggyr" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Urnqf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Onggyr " },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "gb" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Pbheg" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Urnqf gb " },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "NC" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Ryrpgbeny Ibgrf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "270 ibgrf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "arrqrq gb jva." },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Fhaqnl, Abirzore 12, 2000" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Onggyr Urnqf gb Pbheg" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Trbetr J. Ohfu'f nggrzcg gb fgbc gur unaq pbhag bs" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "onyybgf va sbhe Sybevqn pbhagvrf zbirf gb n srqreny " },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "pbhegebbz Zbaqnl zbeavat. Qrzbpengf yngr Fhaqnl " },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "svyrq gurve erfcbafr va n 25-cntr oevrs, nfxvat gur " },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "fhvg gb or erwrpgrq. Na Nffbpvngrq Cerff gnyyl" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "fubjrq Ohfu yrnqvat Tber ol 288 ibgrf Fhaqnl." },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Ernq gur Fgbel" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  " | " },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Yngrfg Cbyvgvpny Arjf" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  " | " },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  ": Fubhyq Tber pbaprqr?" },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Lrf " },
-{ "Verdana, Arial, Helvetica, sans-serif,serif",
-  "Ab " },
-{ "Verdana,Geneva,Arial,serif",
-  "Ibgr" },
-{ "Verdana,serif",
-  "YNGRFG ARJF" },
-{ "Verdana,Geneva,Arial,serif",
-  "PAA.pbz" },
-{ "Verdana,Geneva,Arial,serif",
-  " " },
-{ "Verdana,Geneva,Arial,serif",
-  "Sybevqn erpbhag onggyr zbirf gb pbhegf" },
-{ "Verdana,serif",
-  " " },
-{ "Verdana,serif",
-  " " },
-{ "Verdana,serif",
-  "Erfphref Frnepu sbe 155 Ghaary Ivpgvzf" },
-{ "Verdana,serif",
-  "Eniraf Gbc Gvgnaf, Enzf Orng Tvnagf" },
-{ "Verdana,serif",
-  "'Natryf' Gbc Obk Bssvpr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fnyr! Puevfgznf Purff frg " },
-{ "Verdana,Geneva,Arial,serif",
-  "Purpx Lbhe Jrngure " },
-{ "Verdana,Geneva,Arial,serif",
-  " Tb" },
-{ "Verdana,Geneva,Arial,serif",
-  "Ragre Mvc Pbqr be Pvgl" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Gbc Cvpxf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Arj: Argfpncr 6" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Obbx Lbhe Syvtug" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ohvyq n Jro Fvgr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Pbafhzre Thvqrf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Tvsg Vqrnf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Yngrfg Fbsgjner" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Bayvar Tnzrf" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Jva $5X sbe Ercnvef" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Lbhe Ubebfpbcr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ubhfr & Ubzr" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Ohf. & Pnerref" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Erfrnepu & Yrnea" },
-{ "Verdana,Geneva,Arial,Helvetica,sans-serif,serif",
-  "Zhfvp & Enqvb" },
-{ "serif",
-  "Ohfvarff" },
-{ "Verdana,Geneva,Arial,serif",
-  "ZNEXRG PRAGRE" },
-{ "Verdana,Geneva,Arial,serif",
-  "Fgbpx Dhbgrf ol" },
-{ "Verdana,Geneva,Arial,serif",
-  "FNYBZBA FZVGU ONEARL" },
-{ "Verdana,Geneva,Arial,serif",
-  "Dhbgr" },
-{ "Verdana,Geneva,Arial,serif",
-  "Flzoby " },
-{ "Verdana,Geneva,Arial,serif",
-  "Anzr" },
-{ "Verdana,Geneva,Arial,serif",
-  "POF ZnexrgJngpu" },
-{ "Verdana,Geneva,Arial,serif",
-  ": N oehvfrq " },
-{ "Verdana,Geneva,Arial,serif",
-  "znexrg ybbxf sbe eryvrs" },
-{ "Verdana,Geneva,Arial,serif",
-  ": Cnpvsvp Evz gb Cenvfr " },
-{ "Verdana,Geneva,Arial,serif",
-  "Serr Genqr, Nibvq Qvivfvbaf" },
-{ "Verdana,Geneva,Arial,serif",
-  ": Rf fh pnfn Zvpebfbsg'f " },
-{ "Verdana,Geneva,Arial,serif",
-  "pnfn?" },
-{ "Verdana,Geneva,Arial,serif",
-  "Qbhoyr lbhe fnynel, qbhoyr " },
-{ "Verdana,Geneva,Arial,serif",
-  "lbhe sha jvgu Zbafgre.pbz" },
-{ "Verdana,Geneva,Arial,serif",
-  "Snfuvba naq Cnenabvn" },
-{ "Verdana,Geneva,Arial,serif",
-  ": Fcrpvny " },
-{ "Verdana,Geneva,Arial,serif",
-  "srngherf jvgu n qvssrerag gnxr ba " },
-{ "Verdana,Geneva,Arial,serif",
-  "gur jbexcynpr." },
-{ "Verdana,Geneva,Arial,serif",
-  "Bssvpr Uneqjner" },
-{ "Verdana,Geneva,Arial,serif",
-  ": Cbjre-hc lbhe " },
-{ "Verdana,Geneva,Arial,serif",
-  "ohfvarff jvgu arj pbzchgref naq " },
-{ "Verdana,Geneva,Arial,serif",
-  "Cresrpg Wbo" },
-{ "Verdana,Geneva,Arial,serif",
-  ": Gnxr n dhvpx dhvm gb " },
-{ "Verdana,Geneva,Arial,serif",
-  "svaq bhg juvpu pnerre vf evtug sbe " },
-{ "Verdana,Geneva,Arial,serif",
-  "Trg gur Jbeq Bhg" },
-{ "Verdana,Geneva,Arial,serif",
-  "choyvpvgl-ohvyqvat zngrevnyf va nf " },
-{ "Verdana,Geneva,Arial,serif",
-  "yvggyr nf 30 zvahgrf." },
-{ "Verdana,Geneva,Arial,serif",
-  "Znantr Lbhe Fuvccvat Arrqf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Xrrc genpx bs lbhe fuvczragf " },
-{ "Verdana,Geneva,Arial,serif",
-  "Erfrnepu, Pbzcner & Ohl" },
-{ "Verdana,Geneva,Arial,serif",
-  "gur orfg cebqhpgf sbe lbhe fznyy " },
-{ "Verdana,Geneva,Arial,serif",
-  "ohfvarff ng gur evtug cevpr." },
-{ "Verdana,Geneva,Arial,serif",
-  "zber ohfvarff >" },
-{ "serif",
-  "Crefbany" },
-{ "serif",
-  "Svanapr" },
-{ "serif",
-  "Crefbany Svanapr" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "F&C 500" },
-{ "sans-serif,Arial,Helvetica,serif",
-  "Nf bs Abi. 13, 2000 2:52 nz RG" },
-{ "Verdana,Geneva,Arial,serif",
-  "Svanapvny Cynaavat" },
-{ "Verdana,Geneva,Arial,serif",
-  ": Nqivpr ba " },
-{ "Verdana,Geneva,Arial,serif",
-  "svaqvat n svanapvny cynaare." },
-{ "Verdana,Geneva,Arial,serif",
-  "Vairfgvat Onfvpf" },
-{ "Verdana,Geneva,Arial,serif",
-  ": Na 8-fgrc " },
-{ "Verdana,Geneva,Arial,serif",
-  "cevzre sbe lbhe dhrfgvbaf" },
-{ "Verdana,Geneva,Arial,serif",
-  "Bayvar Onaxvat" },
-{ "Verdana,Geneva,Arial,serif",
-  ": Svaq gur orfg " },
-{ "Verdana,Geneva,Arial,serif",
-  "bayvar onax sbe lbh." },
-{ "Verdana,Geneva,Arial,serif",
-  "Cbegsbyvb Sberpnfgre" },
-{ "Verdana,Geneva,Arial,serif",
-  ": Jvyy lbh " },
-{ "Verdana,Geneva,Arial,serif",
-  "znxr lbhe svanapvny tbnyf?" },
-{ "Verdana,Geneva,Arial,serif",
-  ": Gvcf sbe 401(x) " },
-{ "Verdana,Geneva,Arial,serif",
-  "nppbhagf, ebyybiref." },
-{ "Verdana,Geneva,Arial,serif",
-  "FhcreFgne Shaqf" },
-{ "Verdana,Geneva,Arial,serif",
-  ": Zhghny shaqf " },
-{ "Verdana,Geneva,Arial,serif",
-  "gung ner ubg." },
-{ "Verdana,Geneva,Arial,serif",
-  "VAFHENAPR PRAGRE" },
-{ "Verdana,Geneva,Arial,serif",
-  "Trg dhbgrf sbe nyy lbhe vafhenapr " },
-{ "Verdana,Geneva,Arial,serif",
-  "arrqf: nhgb, yvsr, ubzrbjare, " },
-{ "Verdana,Geneva,Arial,serif",
-  ": Qrirybc " },
-{ "Verdana,Geneva,Arial,serif",
-  ": " },
-{ "Verdana,Geneva,Arial,serif",
-  ": Trg " },
-{ "serif",
-  "3," },
-{ "serif",
-  "ubzr.argfpncr.pbz," },
-{ "serif",
-  "796" },
-{ "serif",
-  "1, 3, ubzr.argfpncr.pbz, 796" },
-{ "Arial, Helvetica,serif",
-  "Frnepu:  " },
-{ "Lucida Grande",
-  "Jverq" },
-{ "Lucida Grande",
-  "Arjf" },
-{ "Lucida Grande",
-  "Jrozbaxrl" },
-{ "Lucida Grande",
-  "Thvqrf" },
-{ "Lucida Grande",
-  "UbgJverq" },
-{ "Lucida Grande",
-  "Nepuvirf" },
-{ "Lucida Grande",
-  "Zntnmvar" },
-{ "Lucida Grande",
-  "Navzngvba" },
-{ "Lucida Grande",
-  "Rkcerff" },
-{ "Lucida Grande",
-  "Fhpx.pbz" },
-{ "Lucida Grande",
-  "->" },
-{ "Arial, Helvetica,serif",
-  " sbe " },
-{ "Lucida Grande",
-  "tb" },
-{ "Verdana, Arial, Helvetica,serif",
-  "<nqiregvfrzrag>" },
-{ "Verdana, Arial, Helvetica,serif",
-  "</nqiregvfrzrag>" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jrozbaxrl" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Xvqf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Yrffbaf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "naq" },
-{ "Verdana, Arial, Helvetica,serif",
-  "cebwrpgf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "sbe" },
-{ "Verdana, Arial, Helvetica,serif",
-  "gur" },
-{ "Verdana, Arial, Helvetica,serif",
-  "arkg" },
-{ "Verdana, Arial, Helvetica,serif",
-  "trarengvba" },
-{ "Verdana, Arial, Helvetica,serif",
-  "bs" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jro" },
-{ "Verdana, Arial, Helvetica,serif",
-  "ohvyqref" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jverq" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Zntnmvar" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Oebjfr" },
-{ "Verdana, Arial, Helvetica,serif",
-  "ol" },
-{ "Verdana, Arial, Helvetica,serif",
-  "vffhr" },
-{ "Verdana, Arial, Helvetica,serif",
-  "be" },
-{ "Verdana, Arial, Helvetica,serif",
-  "gbcvp" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Nepuvirf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Sbhe" },
-{ "Verdana, Arial, Helvetica,serif",
-  "lrnef" },
-{ "Verdana, Arial, Helvetica,serif",
-  "UbgJverq" },
-{ "Verdana, Arial, Helvetica,serif",
-  "UbgObg" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Gur" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jro'f" },
-{ "Verdana, Arial, Helvetica,serif",
-  "#1" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Frnepu" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ratvar" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Arrq" },
-{ "Verdana, Arial, Helvetica,serif",
-  "uryc?" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Fraq" },
-{ "Verdana, Arial, Helvetica,serif",
-  "hf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "srrqonpx" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jverq" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Qvtvgny" },
-{ "Verdana, Arial, Helvetica,serif",
-  "fgnss" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Pbagvahbhf" },
-{ "Verdana, Arial, Helvetica,serif",
-  " Pheerag" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ubb-Un:" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jveryrff" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jbeyq" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Tnqtrgf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Tvmzbf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "ZC3" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ebpxf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jbzra" },
-{ "Verdana, Arial, Helvetica,serif",
-  "va" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Grpu" },
-{ "Verdana, Arial, Helvetica,serif",
-  "VCB" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Bhgybbx" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Rkrphgvir" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Fhzznel" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jverq" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Arjf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Enqvb" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Vaqrk" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Hcqngrf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "sebz" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Qvtvgny" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Sebag" },
-{ "Verdana, Arial, Helvetica,serif",
-  "02:00" },
-{ "Verdana, Arial, Helvetica,serif",
-  "nz " },
-{ "Verdana, Arial, Helvetica,serif",
-  "Fnsre" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Pnyyf," },
-{ "Verdana, Arial, Helvetica,serif",
-  "be" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Fryyvat" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Srne?" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Va" },
-{ "Verdana, Arial, Helvetica,serif",
-  "jung" },
-{ "Verdana, Arial, Helvetica,serif",
-  "znl" },
-{ "Verdana, Arial, Helvetica,serif",
-  "or" },
-{ "Verdana, Arial, Helvetica,serif",
-  "nabgure" },
-{ "Verdana, Arial, Helvetica,serif",
-  "choyvp" },
-{ "Verdana, Arial, Helvetica,serif",
-  "eryngvbaf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "punyyratr" },
-{ "Verdana, Arial, Helvetica,serif",
-  "pryyhyne" },
-{ "Verdana, Arial, Helvetica,serif",
-  "cubar" },
-{ "Verdana, Arial, Helvetica,serif",
-  "vaqhfgel," },
-{ "Verdana, Arial, Helvetica,serif",
-  "n" },
-{ "Verdana, Arial, Helvetica,serif",
-  "pbzcnal" },
-{ "Verdana, Arial, Helvetica,serif",
-  "vf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "znexrgvat" },
-{ "Verdana, Arial, Helvetica,serif",
-  "qrivpr" },
-{ "Verdana, Arial, Helvetica,serif",
-  "vg" },
-{ "Verdana, Arial, Helvetica,serif",
-  "fnlf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "jvyy" },
-{ "Verdana, Arial, Helvetica,serif",
-  "cerirag" },
-{ "Verdana, Arial, Helvetica,serif",
-  "pryy" },
-{ "Verdana, Arial, Helvetica,serif",
-  "cubarf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "unezvat" },
-{ "Verdana, Arial, Helvetica,serif",
-  "obql." },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ol" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ryvfn" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ongvfgn." },
-{ "Verdana, Arial, Helvetica,serif",
-  "11:00" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ohvyqvat" },
-{ "Verdana, Arial, Helvetica,serif",
-  "n" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Orggre" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Onyybg" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Obk" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Hcqngrf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "sebz" },
-{ "Verdana, Arial, Helvetica,serif",
-  "gur" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Qvtvgny" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Sebag" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Gur" },
-{ "Verdana, Arial, Helvetica,serif",
-  " Penfu" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Pbhefrf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "va:" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Navzngvba" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Vasb." },
-{ "Verdana, Arial, Helvetica,serif",
-  "Nepuvgrpgher" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Qrfvta" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ortvaavat" },
-{ "Verdana, Arial, Helvetica,serif",
-  "WninFpevcg" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Nqinaprq" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Fvgr" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Bcgvzvmngvba" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Qlanzvp" },
-{ "Verdana, Arial, Helvetica,serif",
-  "UGZY" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Qernzjrnire" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Qrirybcre'f" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Erfbhepr" },
-{ "Verdana, Arial, Helvetica,serif",
-  "CUC4" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Vafgnyyngvba" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Bireivrj" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jurgure" },
-{ "Verdana, Arial, Helvetica,serif",
-  "lbh'er" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jvaqbjf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Aba-Jvaqbjf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "glcr," },
-{ "Verdana, Arial, Helvetica,serif",
-  "Whyvr" },
-{ "Verdana, Arial, Helvetica,serif",
-  "fubjf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "lbh" },
-{ "Verdana, Arial, Helvetica,serif",
-  "rirelguvat" },
-{ "Verdana, Arial, Helvetica,serif",
-  "arrq" },
-{ "Verdana, Arial, Helvetica,serif",
-  "gb" },
-{ "Verdana, Arial, Helvetica,serif",
-  "xabj" },
-{ "Verdana, Arial, Helvetica,serif",
-  "trg" },
-{ "Verdana, Arial, Helvetica,serif",
-  "CUC4" },
-{ "Verdana, Arial, Helvetica,serif",
-  "hc" },
-{ "Verdana, Arial, Helvetica,serif",
-  "ehaavat" },
-{ "Verdana, Arial, Helvetica,serif",
-  "hfvat" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ncnpur" },
-{ "Verdana, Arial, Helvetica,serif",
-  "nf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "onfr" },
-{ "Verdana, Arial, Helvetica,serif",
-  "freire" },
-{ "Verdana, Arial, Helvetica,serif",
-  "fbsgjner." },
-{ "Verdana, Arial, Helvetica,serif",
-  "Yrnea" },
-{ "Verdana, Arial, Helvetica,serif",
-  "nobhg:" },
-{ "Lucida Grande",
-  "Nhgubevat" },
-{ "Lucida Grande",
-  "Qrfvta" },
-{ "Lucida Grande",
-  "Zhygvzrqvn" },
-{ "Lucida Grande",
-  "R-Ohfvarff" },
-{ "Lucida Grande",
-  "Cebtenzzvat" },
-{ "Lucida Grande",
-  "Onpxraq" },
-{ "Lucida Grande",
-  "Wbof" },
-{ "sans-serif",
-  "Tb!" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jro" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Qrirybcre'f" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Erfbhepr" },
-{ "Verdana, Arial, Helvetica,serif",
-  " Nqqvgvbany" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Rkuvovgf:" },
-{ "Verdana, Arial, Helvetica,serif",
-  "GRKG.HER" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ubhef" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ybpngvba," },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ybpngvba..." },
-{ "Verdana, Arial, Helvetica,serif",
-  "Eryvfgra:" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Cyrnfr!" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Vzchyfr" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Sernx" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Cebgbglcr" },
-{ "Verdana, Arial, Helvetica,serif",
-  "19" },
-{ "Verdana, Arial, Helvetica,serif",
-  "[qraqevgr]" },
-{ "Verdana, Arial, Helvetica,serif",
-  "49,682,923" },
-{ "Verdana, Arial, Helvetica,serif",
-  "fgbevrf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "..." },
-{ "Verdana, Arial, Helvetica,serif",
-  " Navzngvbaf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Zber:" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Nyy" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Navzngvbaf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Cyht-va" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Grfgre" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Fhozvffvba" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Thvqryvarf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Dhvpxvrf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Arjfyrggre" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Zl" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Obql" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Uhegf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "TVPX" },
-{ "Verdana, Arial, Helvetica,serif",
-  "VV" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Tneqra" },
-{ "Verdana, Arial, Geneva, sans-serif,serif",
-  "Srrqonpx" },
-{ "serif",
-  "|" },
-{ "Verdana, Arial, Geneva, sans-serif,serif",
-  "Uryc" },
-{ "Verdana, Arial, Geneva, sans-serif,serif",
-  "Nobhg" },
-{ "Verdana, Arial, Geneva, sans-serif,serif",
-  "Hf" },
-{ "Verdana, Arial, Geneva, sans-serif,serif",
-  "Wbof" },
-{ "Verdana, Arial, Geneva, sans-serif,serif",
-  "Nqiregvfr" },
-{ "Verdana, Arial, Geneva, sans-serif,serif",
-  "Cevinpl" },
-{ "Verdana, Arial, Geneva, sans-serif,serif",
-  "Fgngrzrag" },
-{ "Verdana, Arial, Geneva, sans-serif,serif",
-  "Grezf" },
-{ "Verdana, Arial, Geneva, sans-serif,serif",
-  "bs" },
-{ "Verdana, Arial, Geneva, sans-serif,serif",
-  "Freivpr" },
-{ "Verdana, Arial, Geneva,serif",
-  "Pbclevtug" },
-{ "Verdana, Arial, Geneva,serif",
-  "\xc2""\xa9""" },
-{ "Verdana, Arial, Geneva,serif",
-  "1994-2000" },
-{ "Verdana, Arial, Geneva,serif",
-  "Jverq" },
-{ "Verdana, Arial, Geneva,serif",
-  "Qvtvgny" },
-{ "Verdana, Arial, Geneva,serif",
-  "Vap.," },
-{ "Verdana, Arial, Geneva,serif",
-  "n" },
-{ "Verdana, Arial, Geneva,serif",
-  "Ylpbf" },
-{ "Verdana, Arial, Geneva,serif",
-  "Argjbex" },
-{ "Verdana, Arial, Geneva,serif",
-  "fvgr." },
-{ "Verdana, Arial, Geneva,serif",
-  "Nyy" },
-{ "Verdana, Arial, Geneva,serif",
-  "evtugf" },
-{ "Verdana, Arial, Geneva,serif",
-  "erfreirq." },
-{ "serif",
-  "4," },
-{ "serif",
-  "ubgjverq.ylpbf.pbz," },
-{ "serif",
-  "430" },
-{ "serif",
-  "1, 4, ubgjverq.ylpbf.pbz, 430" },
-{ "Arial, Helvetica,serif",
-  "Frnepu:  " },
-{ "Lucida Grande",
-  "Jverq Arjf" },
-{ "Arial, Helvetica,serif",
-  " sbe " },
-{ "Lucida Grande",
-  "tb" },
-{ "Verdana, Arial, Helvetica,serif",
-  "<nqiregvfrzrag>" },
-{ "Verdana, Arial, Helvetica,serif",
-  "</nqiregvfrzrag>" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jrozbaxrl Xvqf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Yrffbaf naq cebwrpgf sbe gur " },
-{ "Verdana, Arial, Helvetica,serif",
-  "arkg trarengvba bs Jro " },
-{ "Verdana, Arial, Helvetica,serif",
-  " Zntnmvar" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Oebjfr ol vffhr be gbcvp" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Sbhe lrnef bs UbgJverq" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Gur Jro'f #1 Frnepu Ratvar" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Arrq uryc?" },
-{ "Verdana, Arial, Helvetica,serif",
-  " Pheerag Ubb-Un:" },
-{ "Verdana, Arial, Helvetica,serif",
-  " " },
-{ "Verdana, Arial, Helvetica,serif",
-  "Gur Jveryrff Jbeyq" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Tnqtrgf naq Tvmzbf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "ZC3 Ebpxf gur Jro" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jbzra va Grpu" },
-{ "Verdana, Arial, Helvetica,serif",
-  "VCB Bhgybbx" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Rkrphgvir Fhzznel" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jverq Arjf Enqvb" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Gur Jverq Vaqrk" },
-{ "Verdana, Arial, Helvetica,serif",
-  " Penfu Pbhefrf va:" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Vasb. Nepuvgrpgher" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jro Qrfvta" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ortvaavat WninFpevcg" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Nqinaprq WninFpevcg" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Fvgr Bcgvzvmngvba" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Qlanzvp UGZY" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Pbagvahbhf Hcqngrf sebz gur Qvtvgny Sebag" },
-{ "Verdana, Arial, Helvetica,serif",
-  "02:00 nz " },
-{ "Verdana, Arial, Helvetica,serif",
-  "Fnsre Pnyyf, be Fryyvat Srne?" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Va jung znl or nabgure choyvp eryngvbaf punyyratr " },
-{ "Verdana, Arial, Helvetica,serif",
-  "sbe gur pryyhyne cubar vaqhfgel, n pbzcnal vf " },
-{ "Verdana, Arial, Helvetica,serif",
-  "znexrgvat n qrivpr vg fnlf jvyy cerirag pryy cubarf " },
-{ "Verdana, Arial, Helvetica,serif",
-  "sebz unezvat gur obql. Ol Ryvfn Ongvfgn." },
-{ "Verdana, Arial, Helvetica,serif",
-  "11:00 nz " },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ohvyqvat n Orggre Onyybg Obk" },
-{ "Verdana, Arial, Helvetica,serif",
-  " Navzngvbaf naq Zber:" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Oebjfr Nyy Navzngvbaf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Cyht-va Grfgre" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Fhozvffvba Thvqryvarf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Navzngvba Arjfyrggre" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Zl Obql Uhegf" },
-{ "Verdana, Arial, Helvetica,serif",
-  "TVPX VV" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Gur Tneqra" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Gur Jro Qrirybcre'f Erfbhepr" },
-{ "Verdana, Arial, Helvetica,serif",
-  "CUC4 Vafgnyyngvba Bireivrj" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Jurgure lbh'er n Jvaqbjf be Aba-Jvaqbjf glcr, " },
-{ "Verdana, Arial, Helvetica,serif",
-  "Whyvr fubjf lbh rirelguvat lbh arrq gb xabj gb trg " },
-{ "Verdana, Arial, Helvetica,serif",
-  "CUC4 hc naq ehaavat hfvat Ncnpur nf gur onfr Jro " },
-{ "Verdana, Arial, Helvetica,serif",
-  "freire fbsgjner. " },
-{ "Verdana, Arial, Helvetica,serif",
-  "Yrnea nobhg:" },
-{ "Verdana, Arial, Helvetica,serif",
-  " Nqqvgvbany Rkuvovgf:" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Fvgr bs Ubhef" },
-{ "Verdana, Arial, Helvetica,serif",
-  "Ybpngvba, Ybpngvba..." },
-{ "Verdana, Arial, Helvetica,serif",
-  "Eryvfgra: Cyrnfr!" },
-{ "serif",
-  "Zbmvyyn" },
-{ "serif",
-  "Pebff" },
-{ "serif",
-  "Ersrerapr:" },
-{ "serif",
-  "frnzbaxrl" },
-{ "serif",
-  "zbmvyyn" },
-{ "serif",
-  "/" },
-{ "serif",
-  "kcpbz" },
-{ "serif",
-  "qf" },
-{ "serif",
-  "afIbvqOGerr.pcc" },
-{ "serif",
-  "PIF" },
-{ "serif",
-  "Ybt" },
-{ "serif",
-  "Oynzr" },
-{ "serif",
-  "punatrf" },
-{ "serif",
-  "gb" },
-{ "serif",
-  "guvf" },
-{ "serif",
-  "svyr" },
-{ "serif",
-  "va" },
-{ "serif",
-  "gur" },
-{ "serif",
-  "ynfg:" },
-{ "serif",
-  "qnl" },
-{ "serif",
-  "jrrx" },
-{ "serif",
-  "zbagu" },
-{ "monospace",
-  "  " },
-{ "monospace",
-  "1" },
-{ "monospace",
-  "/* -*- Zbqr: P++; gno-jvqgu: 8; vaqrag-gnof-zbqr: avy; p-onfvp-bssfrg: 4 -*- */" },
-{ "monospace",
-  "2" },
-{ "monospace",
-  "/*" },
-{ "monospace",
-  "3" },
-{ "monospace",
-  " * Gur pbagragf bs guvf svyr ner fhowrpg gb gur Zbmvyyn Choyvp Yvprafr" },
-{ "monospace",
-  "4" },
-{ "monospace",
-  " * Irefvba 1.1 (gur \"ZCY\"); lbh znl abg hfr guvf svyr rkprcg va" },
-{ "monospace",
-  "5" },
-{ "monospace",
-  " * pbzcyvnapr jvgu gur ZCY.  Lbh znl bognva n pbcl bs gur ZCY ng" },
-{ "monospace",
-  "6" },
-{ "monospace",
-  " * " },
-{ "monospace",
-  "uggc://jjj.zbmvyyn.bet/ZCY/" },
-{ "monospace",
-  "7" },
-{ "monospace",
-  " *" },
-{ "monospace",
-  "8" },
-{ "monospace",
-  " * Fbsgjner qvfgevohgrq haqre gur ZCY vf qvfgevohgrq ba na \"NF VF\" onfvf," },
-{ "monospace",
-  "9" },
-{ "monospace",
-  " * JVGUBHG JNEENAGL BS NAL XVAQ, rvgure rkcerff be vzcyvrq. Frr gur ZCY" },
-{ "monospace",
-  "10" },
-{ "monospace",
-  " * sbe gur fcrpvsvp ynathntr tbireavat evtugf naq yvzvgngvbaf haqre gur" },
-{ "monospace",
-  "11" },
-{ "monospace",
-  " * ZCY." },
-{ "monospace",
-  "12" },
-{ "monospace",
-  "13" },
-{ "monospace",
-  " * Gur Vavgvny Qrirybcre bs guvf pbqr haqre gur ZCY vf Argfpncr" },
-{ "monospace",
-  "14" },
-{ "monospace",
-  " * Pbzzhavpngvbaf Pbecbengvba.  Cbegvbaf perngrq ol" },
-{ "monospace",
-  " * Pbzzhavpngvbaf Pbecbengvba.  Cbegvbaf perngrq ol Argfpncr ner" },
-{ "monospace",
-  "15" },
-{ "monospace",
-  " * Pbclevtug (P) 1999 Argfpncr Pbzzhavpngvbaf Pbecbengvba.  Nyy Evtugf" },
-{ "monospace",
-  "16" },
-{ "monospace",
-  " * Erfreirq." },
-{ "monospace",
-  "17" },
-{ "monospace",
-  "18" },
-{ "monospace",
-  " * Bevtvany Nhgube:" },
-{ "monospace",
-  "19" },
-{ "monospace",
-  " *   Puevf Jngrefba <jngrefba@argfpncr.pbz>" },
-{ "monospace",
-  "20" },
-{ "monospace",
-  " */" },
-{ "monospace",
-  "21" },
-{ "monospace",
-  "22" },
-{ "monospace",
-  " #vapyhqr \"" },
-{ "monospace",
-  "afIbvqOGerr.u" },
-{ "monospace",
-  "\"" },
-{ "monospace",
-  "23" },
-{ "monospace",
-  "24" },
-{ "monospace",
-  " #vsqrs " },
-{ "monospace",
-  "QROHT" },
-{ "monospace",
-  "25" },
-{ "monospace",
-  " #vapyhqr <" },
-{ "monospace",
-  "fgqvb.u" },
-{ "monospace",
-  ">" },
-{ "monospace",
-  "26" },
-{ "monospace",
-  " #raqvs" },
-{ "monospace",
-  "27" },
-{ "monospace",
-  "28" },
-{ "monospace",
-  "// Frg guvf gb sbepr gur gerr gb or irevsvrq nsgre rirel vafregvba naq" },
-{ "monospace",
-  "29" },
-{ "monospace",
-  "// erzbiny." },
-{ "monospace",
-  "30" },
-{ "monospace",
-  "//#qrsvar CNENABVQ 1" },
-{ "monospace",
-  "31" },
-{ "monospace",
-  "32" },
-{ "monospace",
-  "33" },
-{ "monospace",
-  "//----------------------------------------------------------------------" },
-{ "monospace",
-  "34" },
-{ "monospace",
-  "// afIbvqOGerr::Abqr" },
-{ "monospace",
-  "35" },
-{ "monospace",
-  "//" },
-{ "monospace",
-  "36" },
-{ "monospace",
-  "//   Vzcyrzragngvba zrgubqf" },
-{ "monospace",
-  "37" },
-{ "monospace",
-  "38" },
-{ "monospace",
-  "39" },
-{ "monospace",
-  "aferfhyg" },
-{ "monospace",
-  "40" },
-{ "monospace",
-  "afIbvqOGerr" },
-{ "monospace",
-  "::" },
-{ "monospace",
-  "Abqr" },
-{ "monospace",
-  "Perngr" },
-{ "monospace",
-  "(" },
-{ "monospace",
-  "Glcr" },
-{ "monospace",
-  "nGlcr" },
-{ "monospace",
-  ", " },
-{ "monospace",
-  "CEVag32" },
-{ "monospace",
-  " nPncnpvgl, " },
-{ "monospace",
-  "** " },
-{ "monospace",
-  "nErfhyg" },
-{ "monospace",
-  ")" },
-{ "monospace",
-  "41" },
-{ "monospace",
-  " {" },
-{ "monospace",
-  "42" },
-{ "monospace",
-  "     " },
-{ "monospace",
-  "// Fb jr bayl rire unir gb qb bar nyybpngvba sbe n Abqr, jr qb n" },
-{ "monospace",
-  "43" },
-{ "monospace",
-  "    " },
-{ "monospace",
-  "// \"anxrq\" urnc nyybpngvba, pbzchgvat gur fvmr bs gur abqr naq" },
-{ "monospace",
-  "44" },
-{ "monospace",
-  "// \"cnqqvat\" vg bhg fb gung vg pna ubyq nPncnpvgl fybgf." },
-{ "monospace",
-  "45" },
-{ "monospace",
-  "    pune* " },
-{ "monospace",
-  "olgrf" },
-{ "monospace",
-  " = " },
-{ "monospace",
-  "arj" },
-{ "monospace",
-  " pune[fvmrbs(" },
-{ "monospace",
-  ") + (nPncnpvgl - 1) * fvmrbs(ibvq*)];" },
-{ "monospace",
-  "46" },
-{ "monospace",
-  "     vs (! " },
-{ "monospace",
-  "47" },
-{ "monospace",
-  "         erghea " },
-{ "monospace",
-  "AF_REEBE_BHG_BS_ZRZBEL" },
-{ "monospace",
-  ";" },
-{ "monospace",
-  "48" },
-{ "monospace",
-  "49" },
-{ "monospace",
-  "* " },
-{ "monospace",
-  "erfhyg" },
-{ "monospace",
-  "AF_ERVAGRECERG_PNFG" },
-{ "monospace",
-  "*, " },
-{ "monospace",
-  ");" },
-{ "monospace",
-  "50" },
-{ "monospace",
-  "->zOvgf = 0;" },
-{ "monospace",
-  "51" },
-{ "monospace",
-  "->" },
-{ "monospace",
-  "FrgGlcr" },
-{ "monospace",
-  "52" },
-{ "monospace",
-  "53" },
-{ "monospace",
-  "     *" },
-{ "monospace",
-  "54" },
-{ "monospace",
-  "     erghea " },
-{ "monospace",
-  "AF_BX" },
-{ "monospace",
-  "55" },
-{ "monospace",
-  " }" },
-{ "monospace",
-  "56" },
-{ "monospace",
-  "57" },
-{ "monospace",
-  "58" },
-{ "monospace",
-  "Qrfgebl" },
-{ "monospace",
-  "nAbqr" },
-{ "monospace",
-  "59" },
-{ "monospace",
-  "60" },
-{ "monospace",
-  "     pune* " },
-{ "monospace",
-  "(pune*, " },
-{ "monospace",
-  "61" },
-{ "monospace",
-  "qryrgr" },
-{ "monospace",
-  "[] " },
-{ "monospace",
-  "62" },
-{ "monospace",
-  "63" },
-{ "monospace",
-  "64" },
-{ "monospace",
-  "65" },
-{ "monospace",
-  " ibvq" },
-{ "monospace",
-  "66" },
-{ "monospace",
-  "VafregRyrzragNg" },
-{ "monospace",
-  "(ibvq* " },
-{ "monospace",
-  "nRyrzrag" },
-{ "monospace",
-  "nVaqrk" },
-{ "monospace",
-  "67" },
-{ "monospace",
-  "68" },
-{ "monospace",
-  "AF_CERPBAQVGVBA" },
-{ "monospace",
-  " >= 0 && " },
-{ "monospace",
-  " <= " },
-{ "monospace",
-  "TrgPbhag" },
-{ "monospace",
-  "(), " },
-{ "monospace",
-  "\"onq vaqrk\"" },
-{ "monospace",
-  "69" },
-{ "monospace",
-  "70" },
-{ "monospace",
-  "pbhag" },
-{ "monospace",
-  "();" },
-{ "monospace",
-  "71" },
-{ "monospace",
-  "     FrgPbhag(" },
-{ "monospace",
-  " + 1);" },
-{ "monospace",
-  "72" },
-{ "monospace",
-  "73" },
-{ "monospace",
-  "     juvyr (" },
-{ "monospace",
-  " > " },
-{ "monospace",
-  ") {" },
-{ "monospace",
-  "74" },
-{ "monospace",
-  "         zQngn[" },
-{ "monospace",
-  "] = zQngn[" },
-{ "monospace",
-  " - 1];" },
-{ "monospace",
-  "75" },
-{ "monospace",
-  "         --" },
-{ "monospace",
-  "76" },
-{ "monospace",
-  "     }" },
-{ "monospace",
-  "77" },
-{ "monospace",
-  "78" },
-{ "monospace",
-  "     zQngn[" },
-{ "monospace",
-  "] = " },
-{ "monospace",
-  "79" },
-{ "monospace",
-  "80" },
-{ "monospace",
-  "81" },
-{ "monospace",
-  "82" },
-{ "monospace",
-  "ErzbirRyrzragNg" },
-{ "monospace",
-  "83" },
-{ "monospace",
-  "84" },
-{ "monospace",
-  " < " },
-{ "monospace",
-  "85" },
-{ "monospace",
-  "86" },
-{ "monospace",
-  "87" },
-{ "monospace",
-  " - 1);" },
-{ "monospace",
-  "88" },
-{ "monospace",
-  "89" },
-{ "monospace",
-  "90" },
-{ "monospace",
-  " + 1];" },
-{ "monospace",
-  "91" },
-{ "monospace",
-  "         ++" },
-{ "monospace",
-  "92" },
-{ "monospace",
-  "93" },
-{ "monospace",
-  "94" },
-{ "monospace",
-  "95" },
-{ "monospace",
-  "96" },
-{ "monospace",
-  "97" },
-{ "monospace",
-  "98" },
-{ "monospace",
-  "// afIbvqOGerr::Cngu" },
-{ "monospace",
-  "99" },
-{ "monospace",
-  "100" },
-{ "monospace",
-  "101" },
-{ "monospace",
-  "102" },
-{ "monospace",
-  "103" },
-{ "monospace",
-  "Cngu" },
-{ "monospace",
-  "(pbafg " },
-{ "monospace",
-  "& " },
-{ "monospace",
-  "nBgure" },
-{ "monospace",
-  "104" },
-{ "monospace",
-  "     : zGbc(" },
-{ "monospace",
-  ".zGbc)" },
-{ "monospace",
-  "105" },
-{ "monospace",
-  "106" },
-{ "monospace",
-  "     sbe (" },
-{ "monospace",
-  "v" },
-{ "monospace",
-  " = 0; " },
-{ "monospace",
-  " < zGbc; ++" },
-{ "monospace",
-  "107" },
-{ "monospace",
-  "         zYvax[" },
-{ "monospace",
-  ".zYvax[" },
-{ "monospace",
-  "];" },
-{ "monospace",
-  "108" },
-{ "monospace",
-  "109" },
-{ "monospace",
-  "110" },
-{ "monospace",
-  "&" },
-{ "monospace",
-  "111" },
-{ "monospace",
-  "::bcrengbe=(pbafg " },
-{ "monospace",
-  "112" },
-{ "monospace",
-  "113" },
-{ "monospace",
-  "     zGbc = " },
-{ "monospace",
-  ".zGbc;" },
-{ "monospace",
-  "114" },
-{ "monospace",
-  "115" },
-{ "monospace",
-  "116" },
-{ "monospace",
-  "     erghea *" },
-{ "monospace",
-  "guvf" },
-{ "monospace",
-  "117" },
-{ "monospace",
-  "118" },
-{ "monospace",
-  "119" },
-{ "monospace",
-  " vayvar " },
-{ "monospace",
-  "120" },
-{ "monospace",
-  "Chfu" },
-{ "monospace",
-  "121" },
-{ "monospace",
-  "122" },
-{ "monospace",
-  "// KKK Vs lbh biresybj guvf guvat, guvax nobhg znxvat ynetre vaqrk" },
-{ "monospace",
-  "123" },
-{ "monospace",
-  "// be qngn abqrf. Lbh pna cnpx n _ybg_ bs qngn vagb n cerggl syng" },
-{ "monospace",
-  "124" },
-{ "monospace",
-  "// gerr." },
-{ "monospace",
-  "125" },
-{ "monospace",
-  "(zGbc <= xZnkQrcgu, " },
-{ "monospace",
-  "\"biresybj\"" },
-{ "monospace",
-  "126" },
-{ "monospace",
-  "     vs (zGbc > xZnkQrcgu)" },
-{ "monospace",
-  "127" },
-{ "monospace",
-  "128" },
-{ "monospace",
-  "129" },
-{ "monospace",
-  "     zYvax[zGbc].zAbqr  = " },
-{ "monospace",
-  "130" },
-{ "monospace",
-  "     zYvax[zGbc]." },
-{ "monospace",
-  "zVaqrk" },
-{ "monospace",
-  "131" },
-{ "monospace",
-  "     ++zGbc;" },
-{ "monospace",
-  "132" },
-{ "monospace",
-  "133" },
-{ "monospace",
-  "134" },
-{ "monospace",
-  "135" },
-{ "monospace",
-  "136" },
-{ "monospace",
-  "137" },
-{ "monospace",
-  " vayvar ibvq" },
-{ "monospace",
-  "138" },
-{ "monospace",
-  "Cbc" },
-{ "monospace",
-  "139" },
-{ "monospace",
-  "140" },
-{ "monospace",
-  "     --zGbc;" },
-{ "monospace",
-  "141" },
-{ "monospace",
-  "  = zYvax[zGbc].zAbqr;" },
-{ "monospace",
-  "142" },
-{ "monospace",
-  " = zYvax[zGbc]." },
-{ "monospace",
-  "143" },
-{ "monospace",
-  "144" },
-{ "monospace",
-  "145" },
-{ "monospace",
-  "146" },
-{ "monospace",
-  "147" },
-{ "monospace",
-  "//    afIbvqOGerr zrgubqf" },
-{ "monospace",
-  "148" },
-{ "monospace",
-  "149" },
-{ "monospace",
-  "150" },
-{ "monospace",
-  "151" },
-{ "monospace",
-  "152" },
-{ "monospace",
-  "     PbafgVgrengbe " },
-{ "monospace",
-  "ynfg" },
-{ "monospace",
-  "." },
-{ "monospace",
-  "Ynfg" },
-{ "monospace",
-  "153" },
-{ "monospace",
-  "     sbe (PbafgVgrengbe ryrzrag = " },
-{ "monospace",
-  "Svefg" },
-{ "monospace",
-  "(); ryrzrag != " },
-{ "monospace",
-  "; ++ryrzrag)" },
-{ "monospace",
-  "154" },
-{ "monospace",
-  "         " },
-{ "monospace",
-  "NccraqRyrzrag" },
-{ "monospace",
-  "(*ryrzrag);" },
-{ "monospace",
-  "155" },
-{ "monospace",
-  "156" },
-{ "monospace",
-  "157" },
-{ "monospace",
-  "158" },
-{ "monospace",
-  "159" },
-{ "monospace",
-  "160" },
-{ "monospace",
-  "Pyrne" },
-{ "monospace",
-  "161" },
-{ "monospace",
-  "162" },
-{ "monospace",
-  "163" },
-{ "monospace",
-  "164" },
-{ "monospace",
-  "165" },
-{ "monospace",
-  "166" },
-{ "monospace",
-  "167" },
-{ "monospace",
-  "168" },
-{ "monospace",
-  "Pbhag" },
-{ "monospace",
-  "() pbafg" },
-{ "monospace",
-  "169" },
-{ "monospace",
-  "170" },
-{ "monospace",
-  "     vs (" },
-{ "monospace",
-  "VfRzcgl" },
-{ "monospace",
-  "())" },
-{ "monospace",
-  "171" },
-{ "monospace",
-  "         erghea 0;" },
-{ "monospace",
-  "172" },
-{ "monospace",
-  "173" },
-{ "monospace",
-  "     vs (VfFvatyrRyrzrag())" },
-{ "monospace",
-  "174" },
-{ "monospace",
-  "         erghea 1;" },
-{ "monospace",
-  "175" },
-{ "monospace",
-  "176" },
-{ "monospace",
-  "* ebbg = " },
-{ "monospace",
-  "*, zEbbg & xEbbg_CbvagreZnfx);" },
-{ "monospace",
-  "177" },
-{ "monospace",
-  "     erghea ebbg->TrgFhoGerrFvmr();" },
-{ "monospace",
-  "178" },
-{ "monospace",
-  "179" },
-{ "monospace",
-  "180" },
-{ "monospace",
-  " ibvq*" },
-{ "monospace",
-  "181" },
-{ "monospace",
-  "RyrzragNg" },
-{ "monospace",
-  ") pbafg" },
-{ "monospace",
-  "182" },
-{ "monospace",
-  "183" },
-{ "monospace",
-  " < 0 || " },
-{ "monospace",
-  " >= " },
-{ "monospace",
-  "184" },
-{ "monospace",
-  "afahyy" },
-{ "monospace",
-  "185" },
-{ "monospace",
-  "186" },
-{ "monospace",
-  "187" },
-{ "monospace",
-  "(ibvq*, zEbbg & xEbbg_CbvagreZnfx);" },
-{ "monospace",
-  "188" },
-{ "monospace",
-  "189" },
-{ "monospace",
-  "pheerag" },
-{ "monospace",
-  "190" },
-{ "monospace",
-  "TrgGlcr" },
-{ "monospace",
-  "() != " },
-{ "monospace",
-  "::rGlcr_Qngn) {" },
-{ "monospace",
-  "191" },
-{ "monospace",
-  "// Jr'er fgvyy va gur vaqrk. Svaq gur evtug yrns." },
-{ "monospace",
-  "192" },
-{ "monospace",
-  "        " },
-{ "monospace",
-  "arkg" },
-{ "monospace",
-  "193" },
-{ "monospace",
-  "194" },
-{ "monospace",
-  "195" },
-{ "monospace",
-  "         sbe (" },
-{ "monospace",
-  "; ++" },
-{ "monospace",
-  "196" },
-{ "monospace",
-  "             " },
-{ "monospace",
-  "* puvyq = " },
-{ "monospace",
-  "TrgRyrzragNg" },
-{ "monospace",
-  "));" },
-{ "monospace",
-  "197" },
-{ "monospace",
-  "198" },
-{ "monospace",
-  " puvyqpbhag = puvyq->TrgFhoGerrFvmr();" },
-{ "monospace",
-  "199" },
-{ "monospace",
-  "             vs (" },
-{ "monospace",
-  ") < puvyqpbhag) {" },
-{ "monospace",
-  "200" },
-{ "monospace",
-  "                 " },
-{ "monospace",
-  " = puvyq;" },
-{ "monospace",
-  "201" },
-{ "monospace",
-  "                 oernx;" },
-{ "monospace",
-  "202" },
-{ "monospace",
-  "             }" },
-{ "monospace",
-  "203" },
-{ "monospace",
-  "204" },
-{ "monospace",
-  " -= puvyqpbhag;" },
-{ "monospace",
-  "205" },
-{ "monospace",
-  "         }" },
-{ "monospace",
-  "206" },
-{ "monospace",
-  "207" },
-{ "monospace",
-  "         vs (! " },
-{ "monospace",
-  "208" },
-{ "monospace",
-  "AF_REEBE" },
-{ "monospace",
-  "\"pbeehcgrq\"" },
-{ "monospace",
-  "209" },
-{ "monospace",
-  "             erghea " },
-{ "monospace",
-  "210" },
-{ "monospace",
-  "211" },
-{ "monospace",
-  "212" },
-{ "monospace",
-  "213" },
-{ "monospace",
-  "214" },
-{ "monospace",
-  "215" },
-{ "monospace",
-  "216" },
-{ "monospace",
-  "217" },
-{ "monospace",
-  "218" },
-{ "monospace",
-  "219" },
-{ "monospace",
-  "220" },
-{ "monospace",
-  "VaqrkBs" },
-{ "monospace",
-  "(ibvq* nCbffvoyrRyrzrag) pbafg" },
-{ "monospace",
-  "221" },
-{ "monospace",
-  "222" },
-{ "monospace",
-  "((" },
-{ "monospace",
-  "CEJbeq" },
-{ "monospace",
-  "(nCbffvoyrRyrzrag) & ~xEbbg_CbvagreZnfx) == 0," },
-{ "monospace",
-  "223" },
-{ "monospace",
-  "                     " },
-{ "monospace",
-  "\"hu bu, fbzrbar jnagf gb hfr gur cbvagre ovgf\"" },
-{ "monospace",
-  "224" },
-{ "monospace",
-  "225" },
-{ "monospace",
-  "(nCbffvoyrRyrzrag != " },
-{ "monospace",
-  "\"afIbvqOGerr pna'g unaqyr ahyy ryrzragf\"" },
-{ "monospace",
-  "226" },
-{ "monospace",
-  "     vs (nCbffvoyrRyrzrag == " },
-{ "monospace",
-  "227" },
-{ "monospace",
-  "         erghea -1;" },
-{ "monospace",
-  "228" },
-{ "monospace",
-  "229" },
-{ "monospace",
-  " = 0;" },
-{ "monospace",
-  "230" },
-{ "monospace",
-  "231" },
-{ "monospace",
-  "; ++ryrzrag, ++" },
-{ "monospace",
-  "232" },
-{ "monospace",
-  "         vs (nCbffvoyrRyrzrag == *ryrzrag)" },
-{ "monospace",
-  "233" },
-{ "monospace",
-  "234" },
-{ "monospace",
-  "235" },
-{ "monospace",
-  "236" },
-{ "monospace",
-  "     erghea -1;" },
-{ "monospace",
-  "237" },
-{ "monospace",
-  "238" },
-{ "monospace",
-  "239" },
-{ "monospace",
-  "   " },
-{ "monospace",
-  "240" },
-{ "monospace",
-  "CEObby" },
-{ "monospace",
-  "241" },
-{ "monospace",
-  "242" },
-{ "monospace",
-  "243" },
-{ "monospace",
-  ") & ~xEbbg_CbvagreZnfx) == 0," },
-{ "monospace",
-  "244" },
-{ "monospace",
-  "245" },
-{ "monospace",
-  "246" },
-{ "monospace",
-  "     vs ((" },
-{ "monospace",
-  ") & ~xEbbg_CbvagreZnfx) != 0)" },
-{ "monospace",
-  "247" },
-{ "monospace",
-  "CE_SNYFR" },
-{ "monospace",
-  "248" },
-{ "monospace",
-  "249" },
-{ "monospace",
-  " != " },
-{ "monospace",
-  "250" },
-{ "monospace",
-  " == " },
-{ "monospace",
-  "251" },
-{ "monospace",
-  "252" },
-{ "monospace",
-  "253" },
-{ "monospace",
-  "254" },
-{ "monospace",
-  "255" },
-{ "monospace",
-  "256" },
-{ "monospace",
-  "257" },
-{ "monospace",
-  "258" },
-{ "monospace",
-  "ei" },
-{ "monospace",
-  "259" },
-{ "monospace",
-  "260" },
-{ "monospace",
-  "     vs (VfFvatyrRyrzrag()) {" },
-{ "monospace",
-  "261" },
-{ "monospace",
-  "// Jr'er bayl n fvatyr ryrzrag ubyqre, naq unira'g lrg" },
-{ "monospace",
-  "262" },
-{ "monospace",
-  "// \"snhygrq\" gb perngr gur ogerr." },
-{ "monospace",
-  "263" },
-{ "monospace",
-  "264" },
-{ "monospace",
-  "         vs (" },
-{ "monospace",
-  " == 0) {" },
-{ "monospace",
-  "265" },
-{ "monospace",
-  "// Vs jr unir *ab* ryrzragf, gura whfg frg gur ebbg" },
-{ "monospace",
-  "266" },
-{ "monospace",
-  "            " },
-{ "monospace",
-  "// cbvagre naq jr'er qbar." },
-{ "monospace",
-  "267" },
-{ "monospace",
-  "            zEbbg = " },
-{ "monospace",
-  "268" },
-{ "monospace",
-  "CE_GEHR" },
-{ "monospace",
-  "269" },
-{ "monospace",
-  "270" },
-{ "monospace",
-  "271" },
-{ "monospace",
-  "// Vs jr nyernql unq na ryrzrag, naq abj jr'er nqqvat" },
-{ "monospace",
-  "272" },
-{ "monospace",
-  "// nabgure. Snhyg naq fgneg perngvat gur ogerr." },
-{ "monospace",
-  "273" },
-{ "monospace",
-  "        ibvq* ryrzrag = " },
-{ "monospace",
-  "274" },
-{ "monospace",
-  "275" },
-{ "monospace",
-  "* arjebbg;" },
-{ "monospace",
-  "276" },
-{ "monospace",
-  "::rGlcr_Qngn, xQngnPncnpvgl, &arjebbg);" },
-{ "monospace",
-  "277" },
-{ "monospace",
-  "AF_SNVYRQ" },
-{ "monospace",
-  ")) erghea " },
-{ "monospace",
-  "278" },
-{ "monospace",
-  "279" },
-{ "monospace",
-  "         arjebbg->" },
-{ "monospace",
-  "(ryrzrag, 0);" },
-{ "monospace",
-  "280" },
-{ "monospace",
-  "         arjebbg->FrgFhoGerrFvmr(1);" },
-{ "monospace",
-  "281" },
-{ "monospace",
-  "         FrgEbbg(arjebbg);" },
-{ "monospace",
-  "282" },
-{ "monospace",
-  "283" },
-{ "monospace",
-  "284" },
-{ "monospace",
-  "cngu" },
-{ "monospace",
-  "285" },
-{ "monospace",
-  "286" },
-{ "monospace",
-  "287" },
-{ "monospace",
-  "288" },
-{ "monospace",
-  "289" },
-{ "monospace",
-  "290" },
-{ "monospace",
-  "291" },
-{ "monospace",
-  "292" },
-{ "monospace",
-  "293" },
-{ "monospace",
-  "294" },
-{ "monospace",
-  "295" },
-{ "monospace",
-  "296" },
-{ "monospace",
-  ") <= puvyqpbhag) {" },
-{ "monospace",
-  "297" },
-{ "monospace",
-  "298" },
-{ "monospace",
-  "                 vs (" },
-{ "monospace",
-  "299" },
-{ "monospace",
-  "300" },
-{ "monospace",
-  "301" },
-{ "monospace",
-  "302" },
-{ "monospace",
-  "303" },
-{ "monospace",
-  "304" },
-{ "monospace",
-  "305" },
-{ "monospace",
-  "306" },
-{ "monospace",
-  "307" },
-{ "monospace",
-  "308" },
-{ "monospace",
-  "309" },
-{ "monospace",
-  "310" },
-{ "monospace",
-  "311" },
-{ "monospace",
-  "312" },
-{ "monospace",
-  "313" },
-{ "monospace",
-  "314" },
-{ "monospace",
-  "315" },
-{ "monospace",
-  "() >= xQngnPncnpvgl) {" },
-{ "monospace",
-  "316" },
-{ "monospace",
-  "// Jr whfg oyrj gur qngn abqr'f ohssre. Perngr nabgure" },
-{ "monospace",
-  "317" },
-{ "monospace",
-  "// qngnabqr naq fcyvg." },
-{ "monospace",
-  "318" },
-{ "monospace",
-  "Fcyvg" },
-{ "monospace",
-  "319" },
-{ "monospace",
-  "320" },
-{ "monospace",
-  "321" },
-{ "monospace",
-  "     ryfr {" },
-{ "monospace",
-  "322" },
-{ "monospace",
-  "323" },
-{ "monospace",
-  "->FrgFhoGerrFvmr(" },
-{ "monospace",
-  "->TrgFhoGerrFvmr() + 1);" },
-{ "monospace",
-  "324" },
-{ "monospace",
-  "325" },
-{ "monospace",
-  "326" },
-{ "monospace",
-  "Yratgu" },
-{ "monospace",
-  "() > 0) {" },
-{ "monospace",
-  "327" },
-{ "monospace",
-  "vaqrk" },
-{ "monospace",
-  "328" },
-{ "monospace",
-  "(&" },
-{ "monospace",
-  ", &" },
-{ "monospace",
-  "329" },
-{ "monospace",
-  "330" },
-{ "monospace",
-  "331" },
-{ "monospace",
-  "332" },
-{ "monospace",
-  "CNENABVQ" },
-{ "monospace",
-  "333" },
-{ "monospace",
-  "Irevsl" },
-{ "monospace",
-  "*, zEbbg & xEbbg_CbvagreZnfx));" },
-{ "monospace",
-  "334" },
-{ "monospace",
-  "335" },
-{ "monospace",
-  "336" },
-{ "monospace",
-  "337" },
-{ "monospace",
-  "338" },
-{ "monospace",
-  "339" },
-{ "monospace",
-  "340" },
-{ "monospace",
-  "ErcynprRyrzragNg" },
-{ "monospace",
-  "341" },
-{ "monospace",
-  "342" },
-{ "monospace",
-  "343" },
-{ "monospace",
-  "344" },
-{ "monospace",
-  "345" },
-{ "monospace",
-  "346" },
-{ "monospace",
-  "347" },
-{ "monospace",
-  "348" },
-{ "monospace",
-  "349" },
-{ "monospace",
-  "350" },
-{ "monospace",
-  "351" },
-{ "monospace",
-  "352" },
-{ "monospace",
-  "353" },
-{ "monospace",
-  "354" },
-{ "monospace",
-  "355" },
-{ "monospace",
-  "356" },
-{ "monospace",
-  "         zEbbg = " },
-{ "monospace",
-  "357" },
-{ "monospace",
-  "358" },
-{ "monospace",
-  "359" },
-{ "monospace",
-  "360" },
-{ "monospace",
-  "361" },
-{ "monospace",
-  "362" },
-{ "monospace",
-  "363" },
-{ "monospace",
-  "364" },
-{ "monospace",
-  "365" },
-{ "monospace",
-  "366" },
-{ "monospace",
-  "367" },
-{ "monospace",
-  "368" },
-{ "monospace",
-  "369" },
-{ "monospace",
-  "370" },
-{ "monospace",
-  "371" },
-{ "monospace",
-  "372" },
-{ "monospace",
-  "373" },
-{ "monospace",
-  "374" },
-{ "monospace",
-  "375" },
-{ "monospace",
-  "376" },
-{ "monospace",
-  "377" },
-{ "monospace",
-  "378" },
-{ "monospace",
-  "379" },
-{ "monospace",
-  "380" },
-{ "monospace",
-  "381" },
-{ "monospace",
-  "382" },
-{ "monospace",
-  "383" },
-{ "monospace",
-  "384" },
-{ "monospace",
-  "385" },
-{ "monospace",
-  "386" },
-{ "monospace",
-  "FrgRyrzragNg" },
-{ "monospace",
-  "387" },
-{ "monospace",
-  "388" },
-{ "monospace",
-  "389" },
-{ "monospace",
-  "390" },
-{ "monospace",
-  "391" },
-{ "monospace",
-  "ErzbirRyrzrag" },
-{ "monospace",
-  "392" },
-{ "monospace",
-  "393" },
-{ "monospace",
-  "394" },
-{ "monospace",
-  "     erghea (" },
-{ "monospace",
-  " >= 0) ? " },
-{ "monospace",
-  ") : " },
-{ "monospace",
-  "395" },
-{ "monospace",
-  "396" },
-{ "monospace",
-  "397" },
-{ "monospace",
-  "398" },
-{ "monospace",
-  "399" },
-{ "monospace",
-  "400" },
-{ "monospace",
-  "401" },
-{ "monospace",
-  "402" },
-{ "monospace",
-  "403" },
-{ "monospace",
-  "404" },
-{ "monospace",
-  "405" },
-{ "monospace",
-  "406" },
-{ "monospace",
-  "// Jr'er erzbivat gur bar naq bayl ryrzrag" },
-{ "monospace",
-  "407" },
-{ "monospace",
-  "        zEbbg = 0;" },
-{ "monospace",
-  "408" },
-{ "monospace",
-  "409" },
-{ "monospace",
-  "410" },
-{ "monospace",
-  "411" },
-{ "monospace",
-  "// Jr'ir tbg zber guna bar ryrzrag, naq jr'er erzbivat vg." },
-{ "monospace",
-  "412" },
-{ "monospace",
-  "413" },
-{ "monospace",
-  "414" },
-{ "monospace",
-  "415" },
-{ "monospace",
-  "416" },
-{ "monospace",
-  "417" },
-{ "monospace",
-  " = ebbg;" },
-{ "monospace",
-  "418" },
-{ "monospace",
-  "419" },
-{ "monospace",
-  "420" },
-{ "monospace",
-  "421" },
-{ "monospace",
-  "422" },
-{ "monospace",
-  "423" },
-{ "monospace",
-  "424" },
-{ "monospace",
-  "425" },
-{ "monospace",
-  "426" },
-{ "monospace",
-  "427" },
-{ "monospace",
-  "428" },
-{ "monospace",
-  "429" },
-{ "monospace",
-  "430" },
-{ "monospace",
-  "431" },
-{ "monospace",
-  "432" },
-{ "monospace",
-  "433" },
-{ "monospace",
-  "434" },
-{ "monospace",
-  "435" },
-{ "monospace",
-  "436" },
-{ "monospace",
-  "437" },
-{ "monospace",
-  "438" },
-{ "monospace",
-  "439" },
-{ "monospace",
-  "440" },
-{ "monospace",
-  "441" },
-{ "monospace",
-  "442" },
-{ "monospace",
-  "443" },
-{ "monospace",
-  "444" },
-{ "monospace",
-  "445" },
-{ "monospace",
-  "446" },
-{ "monospace",
-  "